carbon-components-angular 3.0.2 → 3.2.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 (64) hide show
  1. package/bundle/carbon-angular.umd.js +2 -2
  2. package/bundle/carbon-angular.umd.js.map +1 -1
  3. package/content-switcher/content-switcher-option.directive.js +1 -1
  4. package/content-switcher/content-switcher-option.directive.js.map +1 -1
  5. package/docs/documentation/classes/NumberChange.html +2 -0
  6. package/docs/documentation/classes/ToggleChange.html +7 -2
  7. package/docs/documentation/components/Number.html +30 -26
  8. package/docs/documentation/components/Pagination.html +32 -44
  9. package/docs/documentation/components/TabHeaders.html +74 -25
  10. package/docs/documentation/components/Tabs.html +28 -12
  11. package/docs/documentation/components/TagFilter.html +52 -3
  12. package/docs/documentation/components/Toggle.html +52 -19
  13. package/docs/documentation/coverage.html +9 -9
  14. package/docs/documentation/directives/ContentSwitcherOption.html +1 -1
  15. package/docs/documentation/js/search/search_index.js +2 -2
  16. package/docs/storybook/iframe.html +3 -3
  17. package/docs/storybook/{main.30b13c55e055554fdaac.bundle.js → main.cc3329d0f31a1601a8eb.bundle.js} +48 -17
  18. package/docs/storybook/main.cc3329d0f31a1601a8eb.bundle.js.map +1 -0
  19. package/docs/storybook/{runtime~main.30b13c55e055554fdaac.bundle.js → runtime~main.cc3329d0f31a1601a8eb.bundle.js} +1 -1
  20. package/docs/storybook/{runtime~main.30b13c55e055554fdaac.bundle.js.map → runtime~main.cc3329d0f31a1601a8eb.bundle.js.map} +1 -1
  21. package/docs/storybook/{vendors~main.30b13c55e055554fdaac.bundle.js → vendors~main.cc3329d0f31a1601a8eb.bundle.js} +1 -1
  22. package/docs/storybook/{vendors~main.30b13c55e055554fdaac.bundle.js.map → vendors~main.cc3329d0f31a1601a8eb.bundle.js.map} +1 -1
  23. package/number-input/number.component.js +1 -1
  24. package/number-input/number.component.js.map +1 -1
  25. package/number-input/number.component.metadata.json +1 -1
  26. package/number-input/number.component.ngfactory.js +2 -2
  27. package/number-input/number.component.ngfactory.js.map +1 -1
  28. package/package.json +1 -1
  29. package/pagination/pagination.component.js +1 -1
  30. package/pagination/pagination.component.js.map +1 -1
  31. package/pagination/pagination.component.metadata.json +1 -1
  32. package/pagination/pagination.component.ngfactory.js +5 -5
  33. package/pagination/pagination.component.ngfactory.js.map +1 -1
  34. package/tabs/tab-headers.component.d.ts +2 -0
  35. package/tabs/tab-headers.component.js +3 -1
  36. package/tabs/tab-headers.component.js.map +1 -1
  37. package/tabs/tab-headers.component.metadata.json +1 -1
  38. package/tabs/tab-headers.component.ngfactory.js +10 -8
  39. package/tabs/tab-headers.component.ngfactory.js.map +1 -1
  40. package/tabs/tab-headers.component.ngsummary.json +1 -1
  41. package/tabs/tabs.component.js +1 -1
  42. package/tabs/tabs.component.js.map +1 -1
  43. package/tabs/tabs.component.metadata.json +1 -1
  44. package/tabs/tabs.component.ngfactory.js +6 -4
  45. package/tabs/tabs.component.ngfactory.js.map +1 -1
  46. package/tabs/tabs.component.ngsummary.json +1 -1
  47. package/tabs/tabs.module.ngfactory.js.map +1 -1
  48. package/tag/tag-filter.component.d.ts +5 -0
  49. package/tag/tag-filter.component.js +9 -3
  50. package/tag/tag-filter.component.js.map +1 -1
  51. package/tag/tag-filter.component.metadata.json +1 -1
  52. package/tag/tag-filter.component.ngfactory.js +5 -2
  53. package/tag/tag-filter.component.ngfactory.js.map +1 -1
  54. package/tag/tag-filter.component.ngsummary.json +1 -1
  55. package/tag/tag.module.ngfactory.js.map +1 -1
  56. package/toggle/toggle.component.d.ts +5 -0
  57. package/toggle/toggle.component.js +2 -1
  58. package/toggle/toggle.component.js.map +1 -1
  59. package/toggle/toggle.component.metadata.json +1 -1
  60. package/toggle/toggle.component.ngfactory.js +5 -4
  61. package/toggle/toggle.component.ngfactory.js.map +1 -1
  62. package/toggle/toggle.component.ngsummary.json +1 -1
  63. package/toggle/toggle.module.ngfactory.js.map +1 -1
  64. package/docs/storybook/main.30b13c55e055554fdaac.bundle.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["webpack:///./.storybook/config.js","webpack:///./node_modules/@storybook/angular/dist lazy namespace object","webpack:///./.storybook/preview.scss","webpack:///./.storybook/preview.scss?623b","webpack:///./src sync .stories.ts$","webpack:///./src/accordion/accordion-item.component.ts","webpack:///./src/accordion/accordion.component.ts","webpack:///./src/accordion/accordion.module.ts","webpack:///./src/accordion/accordion.stories.ts","webpack:///./src/breadcrumb/breadcrumb-item.component.ts","webpack:///./src/breadcrumb/breadcrumb.component.ts","webpack:///./src/breadcrumb/breadcrumb.module.ts","webpack:///./src/breadcrumb/breadcrumb.stories.ts","webpack:///./src/button/button.directive.ts","webpack:///./src/button/button.module.ts","webpack:///./src/button/button.stories.ts","webpack:///./src/checkbox/checkbox.component.ts","webpack:///./src/checkbox/checkbox.module.ts","webpack:///./src/checkbox/checkbox.stories.ts","webpack:///./src/code-snippet/code-snippet.component.ts","webpack:///./src/code-snippet/code-snippet.module.ts","webpack:///./src/code-snippet/code-snippet.stories.ts","webpack:///./src/combobox/combobox.component.ts","webpack:///./src/combobox/combobox.module.ts","webpack:///./src/combobox/combobox.stories.ts","webpack:///./src/common/tab.service.ts","webpack:///./src/common/utils.ts","webpack:///./src/content-switcher/content-switcher-option.directive.ts","webpack:///./src/content-switcher/content-switcher.component.ts","webpack:///./src/content-switcher/content-switcher.module.ts","webpack:///./src/content-switcher/content-switcher.stories.ts","webpack:///./src/datepicker-input/datepicker-input.component.ts","webpack:///./src/datepicker-input/datepicker-input.module.ts","webpack:///./src/datepicker/datepicker.component.ts","webpack:///./src/datepicker/datepicker.module.ts","webpack:///./src/datepicker/datepicker.stories.ts","webpack:///./src/dialog/dialog-placeholder.component.ts","webpack:///./src/dialog/dialog.component.ts","webpack:///./src/dialog/dialog.directive.ts","webpack:///./src/dialog/dialog.module.ts","webpack:///./src/dialog/dialog.service.ts","webpack:///./src/dialog/overflow-menu/overflow-menu-option.component.ts","webpack:///./src/dialog/overflow-menu/overflow-menu-pane.component.ts","webpack:///./src/dialog/overflow-menu/overflow-menu.component.ts","webpack:///./src/dialog/overflow-menu/overflow-menu.directive.ts","webpack:///./src/dialog/overflow-menu/overflow-menu.stories.ts","webpack:///./src/dialog/tooltip/ellipsis-tooltip.directive.ts","webpack:///./src/dialog/tooltip/tooltip-definition.component.ts","webpack:///./src/dialog/tooltip/tooltip-icon.component.ts","webpack:///./src/dialog/tooltip/tooltip.component.ts","webpack:///./src/dialog/tooltip/tooltip.directive.ts","webpack:///./src/dialog/tooltip/tooltip.stories.ts","webpack:///./src/dropdown/abstract-dropdown-view.class.ts","webpack:///./src/dropdown/dropdown.component.ts","webpack:///./src/dropdown/dropdown.module.ts","webpack:///./src/dropdown/dropdown.service.ts","webpack:///./src/dropdown/dropdown.stories.ts","webpack:///./src/dropdown/dropdowntools.ts","webpack:///./src/dropdown/list/dropdown-list.component.ts","webpack:///./src/dropdown/scrollable-list.directive.ts","webpack:///./src/experimental.module.ts","webpack:///./src/experimental.service.ts","webpack:///./src/file-uploader/file-uploader.component.ts","webpack:///./src/file-uploader/file-uploader.module.ts","webpack:///./src/file-uploader/file-uploader.stories.ts","webpack:///./src/file-uploader/file.component.ts","webpack:///./src/forms/forms.module.ts","webpack:///./src/grid/grid.directive.ts","webpack:///./src/grid/grid.module.ts","webpack:///./src/grid/grid.stories.ts","webpack:///./src/i18n/i18n.module.ts","webpack:///./src/i18n/i18n.service.ts","webpack:///./src/i18n/replace.pipe.ts","webpack:///./src/index.stories.ts","webpack:///./src/index.ts","webpack:///./src/inline-loading/inline-loading.component.ts","webpack:///./src/inline-loading/inline-loading.module.ts","webpack:///./src/inline-loading/inline-loading.stories.ts","webpack:///./src/input/input.directive.ts","webpack:///./src/input/input.module.ts","webpack:///./src/input/input.stories.ts","webpack:///./src/input/label.component.ts","webpack:///./src/input/text-area.directive.ts","webpack:///./src/link/link.directive.ts","webpack:///./src/link/link.module.ts","webpack:///./src/link/link.stories.ts","webpack:///./src/list/list-item.directive.ts","webpack:///./src/list/list.directive.ts","webpack:///./src/list/list.module.ts","webpack:///./src/list/list.stories.ts","webpack:///./src/loading/loading.component.ts","webpack:///./src/loading/loading.module.ts","webpack:///./src/loading/loading.stories.ts","webpack:///./src/modal/alert-modal.component.ts","webpack:///./src/modal/alert-modal.interface.ts","webpack:///./src/modal/base-modal.class.ts","webpack:///./src/modal/modal-footer.component.ts","webpack:///./src/modal/modal-header.component.ts","webpack:///./src/modal/modal-placeholder.component.ts","webpack:///./src/modal/modal.component.ts","webpack:///./src/modal/modal.decorator.ts","webpack:///./src/modal/modal.module.ts","webpack:///./src/modal/modal.service.ts","webpack:///./src/modal/modal.stories.ts","webpack:///./src/modal/overlay.component.ts","webpack:///./src/notification/notification-display.service.ts","webpack:///./src/notification/notification.component.ts","webpack:///./src/notification/notification.module.ts","webpack:///./src/notification/notification.service.ts","webpack:///./src/notification/notification.stories.ts","webpack:///./src/notification/toast.component.ts","webpack:///./src/number-input/number.component.ts","webpack:///./src/number-input/number.module.ts","webpack:///./src/number-input/number.stories.ts","webpack:///./src/pagination/pagination-model.class.ts","webpack:///./src/pagination/pagination.component.ts","webpack:///./src/pagination/pagination.module.ts","webpack:///./src/pagination/pagination.stories.ts","webpack:///./src/placeholder/placeholder.component.ts","webpack:///./src/placeholder/placeholder.module.ts","webpack:///./src/placeholder/placeholder.service.ts","webpack:///./src/progress-indicator/progress-indicator.component.ts","webpack:///./src/progress-indicator/progress-indicator.module.ts","webpack:///./src/progress-indicator/progress-indicator.stories.ts","webpack:///./src/radio/radio-group.component.ts","webpack:///./src/radio/radio.component.ts","webpack:///./src/radio/radio.module.ts","webpack:///./src/radio/radio.stories.ts","webpack:///./src/search/search.component.ts","webpack:///./src/search/search.module.ts","webpack:///./src/search/search.stories.ts","webpack:///./src/select/optgroup.directive.ts","webpack:///./src/select/option.directive.ts","webpack:///./src/select/select.component.ts","webpack:///./src/select/select.module.ts","webpack:///./src/select/select.stories.ts","webpack:///./src/slider/slider.component.ts","webpack:///./src/slider/slider.module.ts","webpack:///./src/slider/slider.stories.ts","webpack:///./src/structured-list/list-column.component.ts","webpack:///./src/structured-list/list-header.component.ts","webpack:///./src/structured-list/list-row.component.ts","webpack:///./src/structured-list/structured-list.component.ts","webpack:///./src/structured-list/structured-list.module.ts","webpack:///./src/structured-list/structured-list.stories.ts","webpack:///./src/table/data-grid-focus.directive.ts","webpack:///./src/table/expanded-row-hover.directive.ts","webpack:///./src/table/table-header-item.class.ts","webpack:///./src/table/table-item.class.ts","webpack:///./src/table/table-model.class.ts","webpack:///./src/table/table.component.ts","webpack:///./src/table/table.module.ts","webpack:///./src/table/table.stories.ts","webpack:///./src/table/toolbar/table-toolbar-actions.component.ts","webpack:///./src/table/toolbar/table-toolbar-content.component.ts","webpack:///./src/table/toolbar/table-toolbar-search.component.ts","webpack:///./src/table/toolbar/table-toolbar.component.ts","webpack:///./src/tabs/tab-headers.component.ts","webpack:///./src/tabs/tab.component.ts","webpack:///./src/tabs/tabs.component.ts","webpack:///./src/tabs/tabs.module.ts","webpack:///./src/tabs/tabs.stories.ts","webpack:///./src/tag/tag-filter.component.ts","webpack:///./src/tag/tag.component.ts","webpack:///./src/tag/tag.module.ts","webpack:///./src/tag/tag.stories.ts","webpack:///./src/tiles/clickable-tile.component.ts","webpack:///./src/tiles/expandable-tile.component.ts","webpack:///./src/tiles/selection-tile.component.ts","webpack:///./src/tiles/tile-group.component.ts","webpack:///./src/tiles/tile.component.ts","webpack:///./src/tiles/tiles.module.ts","webpack:///./src/tiles/tiles.stories.ts","webpack:///./src/timepicker-select/timepicker-select.component.ts","webpack:///./src/timepicker-select/timepicker-select.module.ts","webpack:///./src/timepicker-select/timepicker-select.stories.ts","webpack:///./src/timepicker/timepicker.component.ts","webpack:///./src/timepicker/timepicker.module.ts","webpack:///./src/timepicker/timepicker.stories.ts","webpack:///./src/toggle/toggle.component.ts","webpack:///./src/toggle/toggle.module.ts","webpack:///./src/toggle/toggle.stories.ts","webpack:///./src/ui-shell/hamburger.component.ts","webpack:///./src/ui-shell/header-action.component.ts","webpack:///./src/ui-shell/header-global.component.ts","webpack:///./src/ui-shell/header-item.component.ts","webpack:///./src/ui-shell/header-menu.component.ts","webpack:///./src/ui-shell/header-navigation.component.ts","webpack:///./src/ui-shell/header.component.ts","webpack:///./src/ui-shell/sidenav-header.component.ts","webpack:///./src/ui-shell/sidenav-item.component.ts","webpack:///./src/ui-shell/sidenav-menu.component.ts","webpack:///./src/ui-shell/sidenav.component.ts","webpack:///./src/ui-shell/ui-shell.module.ts","webpack:///./src/ui-shell/ui-shell.stories.ts","webpack:///./src/utils/object.ts","webpack:///./src/utils/utils.ts","webpack:///./src/utils/window-tools.ts"],"names":["addDecorator","withOptions","name","url","require","req","loadStories","keys","sort","path1","path2","split","slice","forEach","filename","includes","configure","module"],"mappings":"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","file":"main.cc3329d0f31a1601a8eb.bundle.js","sourcesContent":["import \"core-js/es6/symbol\";\nimport \"core-js/es6/object\";\nimport \"core-js/es6/function\";\nimport \"core-js/es6/parse-int\";\nimport \"core-js/es6/parse-float\";\nimport \"core-js/es6/number\";\nimport \"core-js/es6/math\";\nimport \"core-js/es6/string\";\nimport \"core-js/es6/date\";\nimport \"core-js/es6/array\";\nimport \"core-js/es6/regexp\";\nimport \"core-js/es6/map\";\nimport \"core-js/es6/set\";\nimport \"core-js/es6/reflect\";\n\nimport \"core-js/es7/reflect\";\nimport \"zone.js/dist/zone\";\n\nimport { configure, addDecorator } from \"@storybook/angular\";\nimport { withOptions } from '@storybook/addon-options';\n\naddDecorator(\n\twithOptions({\n\t\tname: \"carbon components angular\",\n\t\turl: \"https://github.com/IBM/carbon-components-angular\",\n\t})\n);\n\n// load global styles\nrequire(\"!style-loader!css-loader!postcss-loader!sass-loader!./preview.scss\");\n\nrequire(\"../src/index.stories\");\n// automatically import all files ending in *.stories.ts\nconst req = require.context(\"../src\", true, /.stories.ts$/);\n\nfunction loadStories() {\n\treq.keys()\n\t.sort((path1, path2) => path1.split(\"/\").slice(-1)[0] > path2.split(\"/\").slice(-1)[0] ? 1 : -1)\n\t.forEach(filename => {\n\t\tif (!filename.includes(\"index\")) {\n\t\t\treq(filename);\n\t\t}\n\t});\n}\n\nconfigure(loadStories, module);\n","function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"./node_modules/@storybook/angular/dist lazy recursive\";","exports = module.exports = require(\"../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \"html {\\n font-size: 16px; }\\n\\nbody {\\n font-family: 'IBM Plex Sans', 'Helvetica Neue', Arial, sans-serif;\\n font-weight: 400;\\n text-rendering: optimizeLegibility;\\n -webkit-font-smoothing: antialiased;\\n -moz-osx-font-smoothing: grayscale; }\\n\\nstrong {\\n font-weight: 600; }\\n\\nhtml,\\nbody,\\ndiv,\\nspan,\\napplet,\\nobject,\\niframe,\\nh1,\\nh2,\\nh3,\\nh4,\\nh5,\\nh6,\\np,\\nblockquote,\\npre,\\na,\\nabbr,\\nacronym,\\naddress,\\nbig,\\ncite,\\ncode,\\ndel,\\ndfn,\\nem,\\nimg,\\nins,\\nkbd,\\nq,\\ns,\\nsamp,\\nsmall,\\nstrike,\\nstrong,\\nsub,\\nsup,\\ntt,\\nvar,\\nb,\\nu,\\ni,\\ncenter,\\ndl,\\ndt,\\ndd,\\nol,\\nul,\\nli,\\nfieldset,\\nform,\\nlabel,\\nlegend,\\ntable,\\ncaption,\\ntbody,\\ntfoot,\\nthead,\\ntr,\\nth,\\ntd,\\narticle,\\naside,\\ncanvas,\\ndetails,\\nembed,\\nfigure,\\nfigcaption,\\nfooter,\\nheader,\\nhgroup,\\nmenu,\\nnav,\\noutput,\\nruby,\\nsection,\\nsummary,\\ntime,\\nmark,\\naudio,\\nvideo {\\n margin: 0;\\n padding: 0;\\n border: 0;\\n font-size: 100%;\\n font: inherit;\\n vertical-align: baseline; }\\n\\nbutton,\\ninput[type='button'],\\ninput[type='submit'],\\ninput[type='reset'],\\ninput[type='file'],\\ninput[type='text'],\\ninput[type='password'],\\ntextarea {\\n border-radius: 0; }\\n\\ninput[type='text']::-ms-clear {\\n display: none; }\\n\\n/* HTML5 display-role reset for older browsers */\\narticle,\\naside,\\ndetails,\\nfigcaption,\\nfigure,\\nfooter,\\nheader,\\nhgroup,\\nmenu,\\nnav,\\nsection {\\n display: block; }\\n\\nbody {\\n line-height: 1; }\\n\\nsup {\\n vertical-align: super; }\\n\\nsub {\\n vertical-align: sub; }\\n\\nol,\\nul {\\n list-style: none; }\\n\\nblockquote,\\nq {\\n quotes: none; }\\n\\nblockquote:before,\\nblockquote:after,\\nq:before,\\nq:after {\\n content: '';\\n content: none; }\\n\\ntable {\\n border-collapse: collapse;\\n border-spacing: 0; }\\n\\n* {\\n -webkit-box-sizing: border-box;\\n box-sizing: border-box; }\\n\\n@-webkit-keyframes skeleton {\\n 0% {\\n width: 0%;\\n left: 0;\\n right: auto;\\n opacity: 0.3; }\\n 20% {\\n width: 100%;\\n left: 0;\\n right: auto;\\n opacity: 1; }\\n 28% {\\n width: 100%;\\n left: auto;\\n right: 0; }\\n 51% {\\n width: 0%;\\n left: auto;\\n right: 0; }\\n 58% {\\n width: 0%;\\n left: auto;\\n right: 0; }\\n 82% {\\n width: 100%;\\n left: auto;\\n right: 0; }\\n 83% {\\n width: 100%;\\n left: 0;\\n right: auto; }\\n 96% {\\n width: 0%;\\n left: 0;\\n right: auto; }\\n 100% {\\n width: 0%;\\n left: 0;\\n right: auto;\\n opacity: 0.3; } }\\n\\n@keyframes skeleton {\\n 0% {\\n width: 0%;\\n left: 0;\\n right: auto;\\n opacity: 0.3; }\\n 20% {\\n width: 100%;\\n left: 0;\\n right: auto;\\n opacity: 1; }\\n 28% {\\n width: 100%;\\n left: auto;\\n right: 0; }\\n 51% {\\n width: 0%;\\n left: auto;\\n right: 0; }\\n 58% {\\n width: 0%;\\n left: auto;\\n right: 0; }\\n 82% {\\n width: 100%;\\n left: auto;\\n right: 0; }\\n 83% {\\n width: 100%;\\n left: 0;\\n right: auto; }\\n 96% {\\n width: 0%;\\n left: 0;\\n right: auto; }\\n 100% {\\n width: 0%;\\n left: 0;\\n right: auto;\\n opacity: 0.3; } }\\n\\n.bx--text-truncate--end {\\n width: 100%;\\n display: inline-block;\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n overflow: hidden; }\\n\\n.bx--text-truncate--front {\\n width: 100%;\\n display: inline-block;\\n direction: rtl;\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n overflow: hidden; }\\n\\n@font-face {\\n font-family: 'IBM Plex Mono';\\n font-style: italic;\\n font-weight: 300;\\n src: local(\\\"IBM Plex Mono Light Italic\\\"), local(\\\"IBMPlexMono-LightItalic\\\"), url(https://fonts.gstatic.com/s/ibmplexmono/v4/-F6sfjptAgt5VM-kVkqdyU8n1ioSflV1gMoW.woff) format(\\\"woff\\\"); }\\n\\n@font-face {\\n font-family: 'IBM Plex Mono';\\n font-style: italic;\\n font-weight: 400;\\n src: local(\\\"IBM Plex Mono Italic\\\"), local(\\\"IBMPlexMono-Italic\\\"), url(https://fonts.gstatic.com/s/ibmplexmono/v4/-F6pfjptAgt5VM-kVkqdyU8n1ioa1Xdm.woff) format(\\\"woff\\\"); }\\n\\n@font-face {\\n font-family: 'IBM Plex Mono';\\n font-style: italic;\\n font-weight: 600;\\n src: local(\\\"IBM Plex Mono SemiBold Italic\\\"), local(\\\"IBMPlexMono-SemiBoldItalic\\\"), url(https://fonts.gstatic.com/s/ibmplexmono/v4/-F6sfjptAgt5VM-kVkqdyU8n1ioSClN1gMoW.woff) format(\\\"woff\\\"); }\\n\\n@font-face {\\n font-family: 'IBM Plex Mono';\\n font-style: normal;\\n font-weight: 300;\\n src: local(\\\"IBM Plex Mono Light\\\"), local(\\\"IBMPlexMono-Light\\\"), url(https://fonts.gstatic.com/s/ibmplexmono/v4/-F6qfjptAgt5VM-kVkqdyU8n3oQIwlBFhA.woff) format(\\\"woff\\\"); }\\n\\n@font-face {\\n font-family: 'IBM Plex Mono';\\n font-style: normal;\\n font-weight: 400;\\n src: local(\\\"IBM Plex Mono\\\"), local(\\\"IBMPlexMono\\\"), url(https://fonts.gstatic.com/s/ibmplexmono/v4/-F63fjptAgt5VM-kVkqdyU8n1i8q0Q.woff) format(\\\"woff\\\"); }\\n\\n@font-face {\\n font-family: 'IBM Plex Mono';\\n font-style: normal;\\n font-weight: 600;\\n src: local(\\\"IBM Plex Mono SemiBold\\\"), local(\\\"IBMPlexMono-SemiBold\\\"), url(https://fonts.gstatic.com/s/ibmplexmono/v4/-F6qfjptAgt5VM-kVkqdyU8n3vAOwlBFhA.woff) format(\\\"woff\\\"); }\\n\\n/* cyrillic-ext */\\n@font-face {\\n font-family: 'IBM Plex Mono';\\n font-style: italic;\\n font-weight: 300;\\n src: local(\\\"IBM Plex Mono Light Italic\\\"), local(\\\"IBMPlexMono-LightItalic\\\"), url(https://fonts.gstatic.com/s/ibmplexmono/v4/-F6sfjptAgt5VM-kVkqdyU8n1ioSflV1jcoQPttoz6Pz.woff2) format(\\\"woff2\\\");\\n unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; }\\n\\n/* cyrillic */\\n@font-face {\\n font-family: 'IBM Plex Mono';\\n font-style: italic;\\n font-weight: 300;\\n src: local(\\\"IBM Plex Mono Light Italic\\\"), local(\\\"IBMPlexMono-LightItalic\\\"), url(https://fonts.gstatic.com/s/ibmplexmono/v4/-F6sfjptAgt5VM-kVkqdyU8n1ioSflV1hMoQPttoz6Pz.woff2) format(\\\"woff2\\\");\\n unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }\\n\\n/* vietnamese */\\n@font-face {\\n font-family: 'IBM Plex Mono';\\n font-style: italic;\\n font-weight: 300;\\n src: local(\\\"IBM Plex Mono Light Italic\\\"), local(\\\"IBMPlexMono-LightItalic\\\"), url(https://fonts.gstatic.com/s/ibmplexmono/v4/-F6sfjptAgt5VM-kVkqdyU8n1ioSflV1j8oQPttoz6Pz.woff2) format(\\\"woff2\\\");\\n unicode-range: U+0102-0103, U+0110-0111, U+1EA0-1EF9, U+20AB; }\\n\\n/* latin-ext */\\n@font-face {\\n font-family: 'IBM Plex Mono';\\n font-style: italic;\\n font-weight: 300;\\n src: local(\\\"IBM Plex Mono Light Italic\\\"), local(\\\"IBMPlexMono-LightItalic\\\"), url(https://fonts.gstatic.com/s/ibmplexmono/v4/-F6sfjptAgt5VM-kVkqdyU8n1ioSflV1jsoQPttoz6Pz.woff2) format(\\\"woff2\\\");\\n unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; }\\n\\n/* latin */\\n@font-face {\\n font-family: 'IBM Plex Mono';\\n font-style: italic;\\n font-weight: 300;\\n src: local(\\\"IBM Plex Mono Light Italic\\\"), local(\\\"IBMPlexMono-LightItalic\\\"), url(https://fonts.gstatic.com/s/ibmplexmono/v4/-F6sfjptAgt5VM-kVkqdyU8n1ioSflV1gMoQPttozw.woff2) format(\\\"woff2\\\");\\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }\\n\\n/* cyrillic-ext */\\n@font-face {\\n font-family: 'IBM Plex Mono';\\n font-style: italic;\\n font-weight: 400;\\n src: local(\\\"IBM Plex Mono Italic\\\"), local(\\\"IBMPlexMono-Italic\\\"), url(https://fonts.gstatic.com/s/ibmplexmono/v4/-F6pfjptAgt5VM-kVkqdyU8n1ioa2HdgregdFOFh.woff2) format(\\\"woff2\\\");\\n unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; }\\n\\n/* cyrillic */\\n@font-face {\\n font-family: 'IBM Plex Mono';\\n font-style: italic;\\n font-weight: 400;\\n src: local(\\\"IBM Plex Mono Italic\\\"), local(\\\"IBMPlexMono-Italic\\\"), url(https://fonts.gstatic.com/s/ibmplexmono/v4/-F6pfjptAgt5VM-kVkqdyU8n1ioa0XdgregdFOFh.woff2) format(\\\"woff2\\\");\\n unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }\\n\\n/* vietnamese */\\n@font-face {\\n font-family: 'IBM Plex Mono';\\n font-style: italic;\\n font-weight: 400;\\n src: local(\\\"IBM Plex Mono Italic\\\"), local(\\\"IBMPlexMono-Italic\\\"), url(https://fonts.gstatic.com/s/ibmplexmono/v4/-F6pfjptAgt5VM-kVkqdyU8n1ioa2ndgregdFOFh.woff2) format(\\\"woff2\\\");\\n unicode-range: U+0102-0103, U+0110-0111, U+1EA0-1EF9, U+20AB; }\\n\\n/* latin-ext */\\n@font-face {\\n font-family: 'IBM Plex Mono';\\n font-style: italic;\\n font-weight: 400;\\n src: local(\\\"IBM Plex Mono Italic\\\"), local(\\\"IBMPlexMono-Italic\\\"), url(https://fonts.gstatic.com/s/ibmplexmono/v4/-F6pfjptAgt5VM-kVkqdyU8n1ioa23dgregdFOFh.woff2) format(\\\"woff2\\\");\\n unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; }\\n\\n/* latin */\\n@font-face {\\n font-family: 'IBM Plex Mono';\\n font-style: italic;\\n font-weight: 400;\\n src: local(\\\"IBM Plex Mono Italic\\\"), local(\\\"IBMPlexMono-Italic\\\"), url(https://fonts.gstatic.com/s/ibmplexmono/v4/-F6pfjptAgt5VM-kVkqdyU8n1ioa1XdgregdFA.woff2) format(\\\"woff2\\\");\\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }\\n\\n/* cyrillic-ext */\\n@font-face {\\n font-family: 'IBM Plex Mono';\\n font-style: italic;\\n font-weight: 600;\\n src: local(\\\"IBM Plex Mono SemiBold Italic\\\"), local(\\\"IBMPlexMono-SemiBoldItalic\\\"), url(https://fonts.gstatic.com/s/ibmplexmono/v4/-F6sfjptAgt5VM-kVkqdyU8n1ioSClN1jcoQPttoz6Pz.woff2) format(\\\"woff2\\\");\\n unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; }\\n\\n/* cyrillic */\\n@font-face {\\n font-family: 'IBM Plex Mono';\\n font-style: italic;\\n font-weight: 600;\\n src: local(\\\"IBM Plex Mono SemiBold Italic\\\"), local(\\\"IBMPlexMono-SemiBoldItalic\\\"), url(https://fonts.gstatic.com/s/ibmplexmono/v4/-F6sfjptAgt5VM-kVkqdyU8n1ioSClN1hMoQPttoz6Pz.woff2) format(\\\"woff2\\\");\\n unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }\\n\\n/* vietnamese */\\n@font-face {\\n font-family: 'IBM Plex Mono';\\n font-style: italic;\\n font-weight: 600;\\n src: local(\\\"IBM Plex Mono SemiBold Italic\\\"), local(\\\"IBMPlexMono-SemiBoldItalic\\\"), url(https://fonts.gstatic.com/s/ibmplexmono/v4/-F6sfjptAgt5VM-kVkqdyU8n1ioSClN1j8oQPttoz6Pz.woff2) format(\\\"woff2\\\");\\n unicode-range: U+0102-0103, U+0110-0111, U+1EA0-1EF9, U+20AB; }\\n\\n/* latin-ext */\\n@font-face {\\n font-family: 'IBM Plex Mono';\\n font-style: italic;\\n font-weight: 600;\\n src: local(\\\"IBM Plex Mono SemiBold Italic\\\"), local(\\\"IBMPlexMono-SemiBoldItalic\\\"), url(https://fonts.gstatic.com/s/ibmplexmono/v4/-F6sfjptAgt5VM-kVkqdyU8n1ioSClN1jsoQPttoz6Pz.woff2) format(\\\"woff2\\\");\\n unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; }\\n\\n/* latin */\\n@font-face {\\n font-family: 'IBM Plex Mono';\\n font-style: italic;\\n font-weight: 600;\\n src: local(\\\"IBM Plex Mono SemiBold Italic\\\"), local(\\\"IBMPlexMono-SemiBoldItalic\\\"), url(https://fonts.gstatic.com/s/ibmplexmono/v4/-F6sfjptAgt5VM-kVkqdyU8n1ioSClN1gMoQPttozw.woff2) format(\\\"woff2\\\");\\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }\\n\\n/* cyrillic-ext */\\n@font-face {\\n font-family: 'IBM Plex Mono';\\n font-style: normal;\\n font-weight: 300;\\n src: local(\\\"IBM Plex Mono Light\\\"), local(\\\"IBMPlexMono-Light\\\"), url(https://fonts.gstatic.com/s/ibmplexmono/v4/-F6qfjptAgt5VM-kVkqdyU8n3oQIwl1FgsAXHNlYzg.woff2) format(\\\"woff2\\\");\\n unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; }\\n\\n/* cyrillic */\\n@font-face {\\n font-family: 'IBM Plex Mono';\\n font-style: normal;\\n font-weight: 300;\\n src: local(\\\"IBM Plex Mono Light\\\"), local(\\\"IBMPlexMono-Light\\\"), url(https://fonts.gstatic.com/s/ibmplexmono/v4/-F6qfjptAgt5VM-kVkqdyU8n3oQIwlRFgsAXHNlYzg.woff2) format(\\\"woff2\\\");\\n unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }\\n\\n/* vietnamese */\\n@font-face {\\n font-family: 'IBM Plex Mono';\\n font-style: normal;\\n font-weight: 300;\\n src: local(\\\"IBM Plex Mono Light\\\"), local(\\\"IBMPlexMono-Light\\\"), url(https://fonts.gstatic.com/s/ibmplexmono/v4/-F6qfjptAgt5VM-kVkqdyU8n3oQIwl9FgsAXHNlYzg.woff2) format(\\\"woff2\\\");\\n unicode-range: U+0102-0103, U+0110-0111, U+1EA0-1EF9, U+20AB; }\\n\\n/* latin-ext */\\n@font-face {\\n font-family: 'IBM Plex Mono';\\n font-style: normal;\\n font-weight: 300;\\n src: local(\\\"IBM Plex Mono Light\\\"), local(\\\"IBMPlexMono-Light\\\"), url(https://fonts.gstatic.com/s/ibmplexmono/v4/-F6qfjptAgt5VM-kVkqdyU8n3oQIwl5FgsAXHNlYzg.woff2) format(\\\"woff2\\\");\\n unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; }\\n\\n/* latin */\\n@font-face {\\n font-family: 'IBM Plex Mono';\\n font-style: normal;\\n font-weight: 300;\\n src: local(\\\"IBM Plex Mono Light\\\"), local(\\\"IBMPlexMono-Light\\\"), url(https://fonts.gstatic.com/s/ibmplexmono/v4/-F6qfjptAgt5VM-kVkqdyU8n3oQIwlBFgsAXHNk.woff2) format(\\\"woff2\\\");\\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }\\n\\n/* cyrillic-ext */\\n@font-face {\\n font-family: 'IBM Plex Mono';\\n font-style: normal;\\n font-weight: 400;\\n src: local(\\\"IBM Plex Mono\\\"), local(\\\"IBMPlexMono\\\"), url(https://fonts.gstatic.com/s/ibmplexmono/v4/-F63fjptAgt5VM-kVkqdyU8n1iIq131nj-otFQ.woff2) format(\\\"woff2\\\");\\n unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; }\\n\\n/* cyrillic */\\n@font-face {\\n font-family: 'IBM Plex Mono';\\n font-style: normal;\\n font-weight: 400;\\n src: local(\\\"IBM Plex Mono\\\"), local(\\\"IBMPlexMono\\\"), url(https://fonts.gstatic.com/s/ibmplexmono/v4/-F63fjptAgt5VM-kVkqdyU8n1isq131nj-otFQ.woff2) format(\\\"woff2\\\");\\n unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }\\n\\n/* vietnamese */\\n@font-face {\\n font-family: 'IBM Plex Mono';\\n font-style: normal;\\n font-weight: 400;\\n src: local(\\\"IBM Plex Mono\\\"), local(\\\"IBMPlexMono\\\"), url(https://fonts.gstatic.com/s/ibmplexmono/v4/-F63fjptAgt5VM-kVkqdyU8n1iAq131nj-otFQ.woff2) format(\\\"woff2\\\");\\n unicode-range: U+0102-0103, U+0110-0111, U+1EA0-1EF9, U+20AB; }\\n\\n/* latin-ext */\\n@font-face {\\n font-family: 'IBM Plex Mono';\\n font-style: normal;\\n font-weight: 400;\\n src: local(\\\"IBM Plex Mono\\\"), local(\\\"IBMPlexMono\\\"), url(https://fonts.gstatic.com/s/ibmplexmono/v4/-F63fjptAgt5VM-kVkqdyU8n1iEq131nj-otFQ.woff2) format(\\\"woff2\\\");\\n unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; }\\n\\n/* latin */\\n@font-face {\\n font-family: 'IBM Plex Mono';\\n font-style: normal;\\n font-weight: 400;\\n src: local(\\\"IBM Plex Mono\\\"), local(\\\"IBMPlexMono\\\"), url(https://fonts.gstatic.com/s/ibmplexmono/v4/-F63fjptAgt5VM-kVkqdyU8n1i8q131nj-o.woff2) format(\\\"woff2\\\");\\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }\\n\\n/* cyrillic-ext */\\n@font-face {\\n font-family: 'IBM Plex Mono';\\n font-style: normal;\\n font-weight: 600;\\n src: local(\\\"IBM Plex Mono SemiBold\\\"), local(\\\"IBMPlexMono-SemiBold\\\"), url(https://fonts.gstatic.com/s/ibmplexmono/v4/-F6qfjptAgt5VM-kVkqdyU8n3vAOwl1FgsAXHNlYzg.woff2) format(\\\"woff2\\\");\\n unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; }\\n\\n/* cyrillic */\\n@font-face {\\n font-family: 'IBM Plex Mono';\\n font-style: normal;\\n font-weight: 600;\\n src: local(\\\"IBM Plex Mono SemiBold\\\"), local(\\\"IBMPlexMono-SemiBold\\\"), url(https://fonts.gstatic.com/s/ibmplexmono/v4/-F6qfjptAgt5VM-kVkqdyU8n3vAOwlRFgsAXHNlYzg.woff2) format(\\\"woff2\\\");\\n unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }\\n\\n/* vietnamese */\\n@font-face {\\n font-family: 'IBM Plex Mono';\\n font-style: normal;\\n font-weight: 600;\\n src: local(\\\"IBM Plex Mono SemiBold\\\"), local(\\\"IBMPlexMono-SemiBold\\\"), url(https://fonts.gstatic.com/s/ibmplexmono/v4/-F6qfjptAgt5VM-kVkqdyU8n3vAOwl9FgsAXHNlYzg.woff2) format(\\\"woff2\\\");\\n unicode-range: U+0102-0103, U+0110-0111, U+1EA0-1EF9, U+20AB; }\\n\\n/* latin-ext */\\n@font-face {\\n font-family: 'IBM Plex Mono';\\n font-style: normal;\\n font-weight: 600;\\n src: local(\\\"IBM Plex Mono SemiBold\\\"), local(\\\"IBMPlexMono-SemiBold\\\"), url(https://fonts.gstatic.com/s/ibmplexmono/v4/-F6qfjptAgt5VM-kVkqdyU8n3vAOwl5FgsAXHNlYzg.woff2) format(\\\"woff2\\\");\\n unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; }\\n\\n/* latin */\\n@font-face {\\n font-family: 'IBM Plex Mono';\\n font-style: normal;\\n font-weight: 600;\\n src: local(\\\"IBM Plex Mono SemiBold\\\"), local(\\\"IBMPlexMono-SemiBold\\\"), url(https://fonts.gstatic.com/s/ibmplexmono/v4/-F6qfjptAgt5VM-kVkqdyU8n3vAOwlBFgsAXHNk.woff2) format(\\\"woff2\\\");\\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }\\n\\n@font-face {\\n font-family: 'IBM Plex Sans';\\n font-style: italic;\\n font-weight: 300;\\n src: local(\\\"IBM Plex Sans Light Italic\\\"), local(\\\"IBMPlexSans-LightItalic\\\"), url(https://fonts.gstatic.com/s/ibmplexsans/v4/zYX7KVElMYYaJe8bpLHnCwDKhdTmvIRcdvfo.woff) format(\\\"woff\\\"); }\\n\\n@font-face {\\n font-family: 'IBM Plex Sans';\\n font-style: italic;\\n font-weight: 400;\\n src: local(\\\"IBM Plex Sans Italic\\\"), local(\\\"IBMPlexSans-Italic\\\"), url(https://fonts.gstatic.com/s/ibmplexsans/v4/zYX-KVElMYYaJe8bpLHnCwDKhdTuF6ZP.woff) format(\\\"woff\\\"); }\\n\\n@font-face {\\n font-family: 'IBM Plex Sans';\\n font-style: italic;\\n font-weight: 600;\\n src: local(\\\"IBM Plex Sans SemiBold Italic\\\"), local(\\\"IBMPlexSans-SemiBoldItalic\\\"), url(https://fonts.gstatic.com/s/ibmplexsans/v4/zYX7KVElMYYaJe8bpLHnCwDKhdTmyIJcdvfo.woff) format(\\\"woff\\\"); }\\n\\n@font-face {\\n font-family: 'IBM Plex Sans';\\n font-style: normal;\\n font-weight: 300;\\n src: local(\\\"IBM Plex Sans Light\\\"), local(\\\"IBMPlexSans-Light\\\"), url(https://fonts.gstatic.com/s/ibmplexsans/v4/zYX9KVElMYYaJe8bpLHnCwDKjXr8AIFscg.woff) format(\\\"woff\\\"); }\\n\\n@font-face {\\n font-family: 'IBM Plex Sans';\\n font-style: normal;\\n font-weight: 400;\\n src: local(\\\"IBM Plex Sans\\\"), local(\\\"IBMPlexSans\\\"), url(https://fonts.gstatic.com/s/ibmplexsans/v4/zYXgKVElMYYaJe8bpLHnCwDKhdHeEw.woff) format(\\\"woff\\\"); }\\n\\n@font-face {\\n font-family: 'IBM Plex Sans';\\n font-style: normal;\\n font-weight: 600;\\n src: local(\\\"IBM Plex Sans SemiBold\\\"), local(\\\"IBMPlexSans-SemiBold\\\"), url(https://fonts.gstatic.com/s/ibmplexsans/v4/zYX9KVElMYYaJe8bpLHnCwDKjQ76AIFscg.woff) format(\\\"woff\\\"); }\\n\\n/* cyrillic-ext */\\n@font-face {\\n font-family: 'IBM Plex Sans';\\n font-style: italic;\\n font-weight: 300;\\n src: local(\\\"IBM Plex Sans Light Italic\\\"), local(\\\"IBMPlexSans-LightItalic\\\"), url(https://fonts.gstatic.com/s/ibmplexsans/v4/zYX7KVElMYYaJe8bpLHnCwDKhdTmvIRce_fuJGl18QRY.woff2) format(\\\"woff2\\\");\\n unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; }\\n\\n/* cyrillic */\\n@font-face {\\n font-family: 'IBM Plex Sans';\\n font-style: italic;\\n font-weight: 300;\\n src: local(\\\"IBM Plex Sans Light Italic\\\"), local(\\\"IBMPlexSans-LightItalic\\\"), url(https://fonts.gstatic.com/s/ibmplexsans/v4/zYX7KVElMYYaJe8bpLHnCwDKhdTmvIRccvfuJGl18QRY.woff2) format(\\\"woff2\\\");\\n unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }\\n\\n/* vietnamese */\\n@font-face {\\n font-family: 'IBM Plex Sans';\\n font-style: italic;\\n font-weight: 300;\\n src: local(\\\"IBM Plex Sans Light Italic\\\"), local(\\\"IBMPlexSans-LightItalic\\\"), url(https://fonts.gstatic.com/s/ibmplexsans/v4/zYX7KVElMYYaJe8bpLHnCwDKhdTmvIRceffuJGl18QRY.woff2) format(\\\"woff2\\\");\\n unicode-range: U+0102-0103, U+0110-0111, U+1EA0-1EF9, U+20AB; }\\n\\n/* latin-ext */\\n@font-face {\\n font-family: 'IBM Plex Sans';\\n font-style: italic;\\n font-weight: 300;\\n src: local(\\\"IBM Plex Sans Light Italic\\\"), local(\\\"IBMPlexSans-LightItalic\\\"), url(https://fonts.gstatic.com/s/ibmplexsans/v4/zYX7KVElMYYaJe8bpLHnCwDKhdTmvIRcePfuJGl18QRY.woff2) format(\\\"woff2\\\");\\n unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; }\\n\\n/* latin */\\n@font-face {\\n font-family: 'IBM Plex Sans';\\n font-style: italic;\\n font-weight: 300;\\n src: local(\\\"IBM Plex Sans Light Italic\\\"), local(\\\"IBMPlexSans-LightItalic\\\"), url(https://fonts.gstatic.com/s/ibmplexsans/v4/zYX7KVElMYYaJe8bpLHnCwDKhdTmvIRcdvfuJGl18Q.woff2) format(\\\"woff2\\\");\\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }\\n\\n/* cyrillic-ext */\\n@font-face {\\n font-family: 'IBM Plex Sans';\\n font-style: italic;\\n font-weight: 400;\\n src: local(\\\"IBM Plex Sans Italic\\\"), local(\\\"IBMPlexSans-Italic\\\"), url(https://fonts.gstatic.com/s/ibmplexsans/v4/zYX-KVElMYYaJe8bpLHnCwDKhdTuGqZJW9XjDlN8.woff2) format(\\\"woff2\\\");\\n unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; }\\n\\n/* cyrillic */\\n@font-face {\\n font-family: 'IBM Plex Sans';\\n font-style: italic;\\n font-weight: 400;\\n src: local(\\\"IBM Plex Sans Italic\\\"), local(\\\"IBMPlexSans-Italic\\\"), url(https://fonts.gstatic.com/s/ibmplexsans/v4/zYX-KVElMYYaJe8bpLHnCwDKhdTuE6ZJW9XjDlN8.woff2) format(\\\"woff2\\\");\\n unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }\\n\\n/* vietnamese */\\n@font-face {\\n font-family: 'IBM Plex Sans';\\n font-style: italic;\\n font-weight: 400;\\n src: local(\\\"IBM Plex Sans Italic\\\"), local(\\\"IBMPlexSans-Italic\\\"), url(https://fonts.gstatic.com/s/ibmplexsans/v4/zYX-KVElMYYaJe8bpLHnCwDKhdTuGKZJW9XjDlN8.woff2) format(\\\"woff2\\\");\\n unicode-range: U+0102-0103, U+0110-0111, U+1EA0-1EF9, U+20AB; }\\n\\n/* latin-ext */\\n@font-face {\\n font-family: 'IBM Plex Sans';\\n font-style: italic;\\n font-weight: 400;\\n src: local(\\\"IBM Plex Sans Italic\\\"), local(\\\"IBMPlexSans-Italic\\\"), url(https://fonts.gstatic.com/s/ibmplexsans/v4/zYX-KVElMYYaJe8bpLHnCwDKhdTuGaZJW9XjDlN8.woff2) format(\\\"woff2\\\");\\n unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; }\\n\\n/* latin */\\n@font-face {\\n font-family: 'IBM Plex Sans';\\n font-style: italic;\\n font-weight: 400;\\n src: local(\\\"IBM Plex Sans Italic\\\"), local(\\\"IBMPlexSans-Italic\\\"), url(https://fonts.gstatic.com/s/ibmplexsans/v4/zYX-KVElMYYaJe8bpLHnCwDKhdTuF6ZJW9XjDg.woff2) format(\\\"woff2\\\");\\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }\\n\\n/* cyrillic-ext */\\n@font-face {\\n font-family: 'IBM Plex Sans';\\n font-style: italic;\\n font-weight: 600;\\n src: local(\\\"IBM Plex Sans SemiBold Italic\\\"), local(\\\"IBMPlexSans-SemiBoldItalic\\\"), url(https://fonts.gstatic.com/s/ibmplexsans/v4/zYX7KVElMYYaJe8bpLHnCwDKhdTmyIJce_fuJGl18QRY.woff2) format(\\\"woff2\\\");\\n unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; }\\n\\n/* cyrillic */\\n@font-face {\\n font-family: 'IBM Plex Sans';\\n font-style: italic;\\n font-weight: 600;\\n src: local(\\\"IBM Plex Sans SemiBold Italic\\\"), local(\\\"IBMPlexSans-SemiBoldItalic\\\"), url(https://fonts.gstatic.com/s/ibmplexsans/v4/zYX7KVElMYYaJe8bpLHnCwDKhdTmyIJccvfuJGl18QRY.woff2) format(\\\"woff2\\\");\\n unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }\\n\\n/* vietnamese */\\n@font-face {\\n font-family: 'IBM Plex Sans';\\n font-style: italic;\\n font-weight: 600;\\n src: local(\\\"IBM Plex Sans SemiBold Italic\\\"), local(\\\"IBMPlexSans-SemiBoldItalic\\\"), url(https://fonts.gstatic.com/s/ibmplexsans/v4/zYX7KVElMYYaJe8bpLHnCwDKhdTmyIJceffuJGl18QRY.woff2) format(\\\"woff2\\\");\\n unicode-range: U+0102-0103, U+0110-0111, U+1EA0-1EF9, U+20AB; }\\n\\n/* latin-ext */\\n@font-face {\\n font-family: 'IBM Plex Sans';\\n font-style: italic;\\n font-weight: 600;\\n src: local(\\\"IBM Plex Sans SemiBold Italic\\\"), local(\\\"IBMPlexSans-SemiBoldItalic\\\"), url(https://fonts.gstatic.com/s/ibmplexsans/v4/zYX7KVElMYYaJe8bpLHnCwDKhdTmyIJcePfuJGl18QRY.woff2) format(\\\"woff2\\\");\\n unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; }\\n\\n/* latin */\\n@font-face {\\n font-family: 'IBM Plex Sans';\\n font-style: italic;\\n font-weight: 600;\\n src: local(\\\"IBM Plex Sans SemiBold Italic\\\"), local(\\\"IBMPlexSans-SemiBoldItalic\\\"), url(https://fonts.gstatic.com/s/ibmplexsans/v4/zYX7KVElMYYaJe8bpLHnCwDKhdTmyIJcdvfuJGl18Q.woff2) format(\\\"woff2\\\");\\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }\\n\\n/* cyrillic-ext */\\n@font-face {\\n font-family: 'IBM Plex Sans';\\n font-style: normal;\\n font-weight: 300;\\n src: local(\\\"IBM Plex Sans Light\\\"), local(\\\"IBMPlexSans-Light\\\"), url(https://fonts.gstatic.com/s/ibmplexsans/v4/zYX9KVElMYYaJe8bpLHnCwDKjXr8AIxsdP3pBmtF8A.woff2) format(\\\"woff2\\\");\\n unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; }\\n\\n/* cyrillic */\\n@font-face {\\n font-family: 'IBM Plex Sans';\\n font-style: normal;\\n font-weight: 300;\\n src: local(\\\"IBM Plex Sans Light\\\"), local(\\\"IBMPlexSans-Light\\\"), url(https://fonts.gstatic.com/s/ibmplexsans/v4/zYX9KVElMYYaJe8bpLHnCwDKjXr8AIVsdP3pBmtF8A.woff2) format(\\\"woff2\\\");\\n unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }\\n\\n/* vietnamese */\\n@font-face {\\n font-family: 'IBM Plex Sans';\\n font-style: normal;\\n font-weight: 300;\\n src: local(\\\"IBM Plex Sans Light\\\"), local(\\\"IBMPlexSans-Light\\\"), url(https://fonts.gstatic.com/s/ibmplexsans/v4/zYX9KVElMYYaJe8bpLHnCwDKjXr8AI5sdP3pBmtF8A.woff2) format(\\\"woff2\\\");\\n unicode-range: U+0102-0103, U+0110-0111, U+1EA0-1EF9, U+20AB; }\\n\\n/* latin-ext */\\n@font-face {\\n font-family: 'IBM Plex Sans';\\n font-style: normal;\\n font-weight: 300;\\n src: local(\\\"IBM Plex Sans Light\\\"), local(\\\"IBMPlexSans-Light\\\"), url(https://fonts.gstatic.com/s/ibmplexsans/v4/zYX9KVElMYYaJe8bpLHnCwDKjXr8AI9sdP3pBmtF8A.woff2) format(\\\"woff2\\\");\\n unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; }\\n\\n/* latin */\\n@font-face {\\n font-family: 'IBM Plex Sans';\\n font-style: normal;\\n font-weight: 300;\\n src: local(\\\"IBM Plex Sans Light\\\"), local(\\\"IBMPlexSans-Light\\\"), url(https://fonts.gstatic.com/s/ibmplexsans/v4/zYX9KVElMYYaJe8bpLHnCwDKjXr8AIFsdP3pBms.woff2) format(\\\"woff2\\\");\\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }\\n\\n/* cyrillic-ext */\\n@font-face {\\n font-family: 'IBM Plex Sans';\\n font-style: normal;\\n font-weight: 400;\\n src: local(\\\"IBM Plex Sans\\\"), local(\\\"IBMPlexSans\\\"), url(https://fonts.gstatic.com/s/ibmplexsans/v4/zYXgKVElMYYaJe8bpLHnCwDKhdzeFaxOedfTDw.woff2) format(\\\"woff2\\\");\\n unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; }\\n\\n/* cyrillic */\\n@font-face {\\n font-family: 'IBM Plex Sans';\\n font-style: normal;\\n font-weight: 400;\\n src: local(\\\"IBM Plex Sans\\\"), local(\\\"IBMPlexSans\\\"), url(https://fonts.gstatic.com/s/ibmplexsans/v4/zYXgKVElMYYaJe8bpLHnCwDKhdXeFaxOedfTDw.woff2) format(\\\"woff2\\\");\\n unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }\\n\\n/* vietnamese */\\n@font-face {\\n font-family: 'IBM Plex Sans';\\n font-style: normal;\\n font-weight: 400;\\n src: local(\\\"IBM Plex Sans\\\"), local(\\\"IBMPlexSans\\\"), url(https://fonts.gstatic.com/s/ibmplexsans/v4/zYXgKVElMYYaJe8bpLHnCwDKhd7eFaxOedfTDw.woff2) format(\\\"woff2\\\");\\n unicode-range: U+0102-0103, U+0110-0111, U+1EA0-1EF9, U+20AB; }\\n\\n/* latin-ext */\\n@font-face {\\n font-family: 'IBM Plex Sans';\\n font-style: normal;\\n font-weight: 400;\\n src: local(\\\"IBM Plex Sans\\\"), local(\\\"IBMPlexSans\\\"), url(https://fonts.gstatic.com/s/ibmplexsans/v4/zYXgKVElMYYaJe8bpLHnCwDKhd_eFaxOedfTDw.woff2) format(\\\"woff2\\\");\\n unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; }\\n\\n/* latin */\\n@font-face {\\n font-family: 'IBM Plex Sans';\\n font-style: normal;\\n font-weight: 400;\\n src: local(\\\"IBM Plex Sans\\\"), local(\\\"IBMPlexSans\\\"), url(https://fonts.gstatic.com/s/ibmplexsans/v4/zYXgKVElMYYaJe8bpLHnCwDKhdHeFaxOedc.woff2) format(\\\"woff2\\\");\\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }\\n\\n/* cyrillic-ext */\\n@font-face {\\n font-family: 'IBM Plex Sans';\\n font-style: normal;\\n font-weight: 600;\\n src: local(\\\"IBM Plex Sans SemiBold\\\"), local(\\\"IBMPlexSans-SemiBold\\\"), url(https://fonts.gstatic.com/s/ibmplexsans/v4/zYX9KVElMYYaJe8bpLHnCwDKjQ76AIxsdP3pBmtF8A.woff2) format(\\\"woff2\\\");\\n unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; }\\n\\n/* cyrillic */\\n@font-face {\\n font-family: 'IBM Plex Sans';\\n font-style: normal;\\n font-weight: 600;\\n src: local(\\\"IBM Plex Sans SemiBold\\\"), local(\\\"IBMPlexSans-SemiBold\\\"), url(https://fonts.gstatic.com/s/ibmplexsans/v4/zYX9KVElMYYaJe8bpLHnCwDKjQ76AIVsdP3pBmtF8A.woff2) format(\\\"woff2\\\");\\n unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }\\n\\n/* vietnamese */\\n@font-face {\\n font-family: 'IBM Plex Sans';\\n font-style: normal;\\n font-weight: 600;\\n src: local(\\\"IBM Plex Sans SemiBold\\\"), local(\\\"IBMPlexSans-SemiBold\\\"), url(https://fonts.gstatic.com/s/ibmplexsans/v4/zYX9KVElMYYaJe8bpLHnCwDKjQ76AI5sdP3pBmtF8A.woff2) format(\\\"woff2\\\");\\n unicode-range: U+0102-0103, U+0110-0111, U+1EA0-1EF9, U+20AB; }\\n\\n/* latin-ext */\\n@font-face {\\n font-family: 'IBM Plex Sans';\\n font-style: normal;\\n font-weight: 600;\\n src: local(\\\"IBM Plex Sans SemiBold\\\"), local(\\\"IBMPlexSans-SemiBold\\\"), url(https://fonts.gstatic.com/s/ibmplexsans/v4/zYX9KVElMYYaJe8bpLHnCwDKjQ76AI9sdP3pBmtF8A.woff2) format(\\\"woff2\\\");\\n unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; }\\n\\n/* latin */\\n@font-face {\\n font-family: 'IBM Plex Sans';\\n font-style: normal;\\n font-weight: 600;\\n src: local(\\\"IBM Plex Sans SemiBold\\\"), local(\\\"IBMPlexSans-SemiBold\\\"), url(https://fonts.gstatic.com/s/ibmplexsans/v4/zYX9KVElMYYaJe8bpLHnCwDKjQ76AIFsdP3pBms.woff2) format(\\\"woff2\\\");\\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }\\n\\n.bx--assistive-text,\\n.bx--visually-hidden {\\n position: absolute;\\n width: 1px;\\n height: 1px;\\n padding: 0;\\n margin: -1px;\\n overflow: hidden;\\n clip: rect(0, 0, 0, 0);\\n border: 0;\\n visibility: visible;\\n white-space: nowrap; }\\n\\n.bx--body {\\n font-family: 'IBM Plex Sans', 'Helvetica Neue', Arial, sans-serif;\\n font-size: 0.875rem;\\n font-weight: 400;\\n line-height: 1.125rem;\\n letter-spacing: 0.16px;\\n color: #171717;\\n background-color: #ffffff;\\n line-height: 1; }\\n\\nbody {\\n font-family: 'IBM Plex Sans', 'Helvetica Neue', Arial, sans-serif;\\n font-size: 0.875rem;\\n font-weight: 400;\\n line-height: 1.125rem;\\n letter-spacing: 0.16px;\\n color: #171717;\\n background-color: #ffffff;\\n line-height: 1; }\\n\\n.bx--grid {\\n margin-right: auto;\\n margin-left: auto;\\n max-width: 99rem;\\n padding-left: 1rem;\\n padding-right: 1rem; }\\n @media (min-width: 42rem) {\\n .bx--grid {\\n padding-left: 2rem;\\n padding-right: 2rem; } }\\n\\n@media (min-width: 99rem) {\\n .bx--grid--full-width {\\n max-width: 100%; } }\\n\\n.bx--row {\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -ms-flex-wrap: wrap;\\n flex-wrap: wrap;\\n margin-right: -1rem;\\n margin-left: -1rem; }\\n\\n.bx--grid--condensed .bx--row:not(:last-of-type) {\\n margin-bottom: 0.125rem; }\\n\\n.bx--row--condensed + .bx--row--condensed {\\n margin-top: 0.125rem; }\\n\\n.bx--col {\\n width: 100%;\\n padding-right: 1rem;\\n padding-left: 1rem; }\\n .bx--row--condensed .bx--col,\\n .bx--grid--condensed .bx--col {\\n padding-right: 0.0625rem;\\n padding-left: 0.0625rem; }\\n\\n.bx--col-sm-1 {\\n width: 100%;\\n padding-right: 1rem;\\n padding-left: 1rem; }\\n .bx--row--condensed .bx--col-sm-1,\\n .bx--grid--condensed .bx--col-sm-1 {\\n padding-right: 0.0625rem;\\n padding-left: 0.0625rem; }\\n\\n.bx--col-sm-2 {\\n width: 100%;\\n padding-right: 1rem;\\n padding-left: 1rem; }\\n .bx--row--condensed .bx--col-sm-2,\\n .bx--grid--condensed .bx--col-sm-2 {\\n padding-right: 0.0625rem;\\n padding-left: 0.0625rem; }\\n\\n.bx--col-sm-3 {\\n width: 100%;\\n padding-right: 1rem;\\n padding-left: 1rem; }\\n .bx--row--condensed .bx--col-sm-3,\\n .bx--grid--condensed .bx--col-sm-3 {\\n padding-right: 0.0625rem;\\n padding-left: 0.0625rem; }\\n\\n.bx--col-sm-4 {\\n width: 100%;\\n padding-right: 1rem;\\n padding-left: 1rem; }\\n .bx--row--condensed .bx--col-sm-4,\\n .bx--grid--condensed .bx--col-sm-4 {\\n padding-right: 0.0625rem;\\n padding-left: 0.0625rem; }\\n\\n.bx--col-sm,\\n.bx--col-sm--auto {\\n width: 100%;\\n padding-right: 1rem;\\n padding-left: 1rem; }\\n .bx--row--condensed .bx--col-sm,\\n .bx--grid--condensed .bx--col-sm, .bx--row--condensed\\n .bx--col-sm--auto,\\n .bx--grid--condensed\\n .bx--col-sm--auto {\\n padding-right: 0.0625rem;\\n padding-left: 0.0625rem; }\\n\\n.bx--col,\\n.bx--col-sm {\\n -ms-flex-preferred-size: 0;\\n flex-basis: 0;\\n -webkit-box-flex: 1;\\n -ms-flex-positive: 1;\\n flex-grow: 1;\\n max-width: 100%; }\\n\\n.bx--col--auto,\\n.bx--col-sm--auto {\\n -webkit-box-flex: 1;\\n -ms-flex: 1 0 0%;\\n flex: 1 0 0%;\\n width: auto;\\n max-width: 100%; }\\n\\n.bx--col-sm-1 {\\n -webkit-box-flex: 0;\\n -ms-flex: 0 0 25%;\\n flex: 0 0 25%;\\n max-width: 25%; }\\n\\n.bx--col-sm-2 {\\n -webkit-box-flex: 0;\\n -ms-flex: 0 0 50%;\\n flex: 0 0 50%;\\n max-width: 50%; }\\n\\n.bx--col-sm-3 {\\n -webkit-box-flex: 0;\\n -ms-flex: 0 0 75%;\\n flex: 0 0 75%;\\n max-width: 75%; }\\n\\n.bx--col-sm-4 {\\n -webkit-box-flex: 0;\\n -ms-flex: 0 0 100%;\\n flex: 0 0 100%;\\n max-width: 100%; }\\n\\n.bx--offset-sm-0 {\\n margin-left: 0; }\\n\\n.bx--offset-sm-1 {\\n margin-left: 25%; }\\n\\n.bx--offset-sm-2 {\\n margin-left: 50%; }\\n\\n.bx--offset-sm-3 {\\n margin-left: 75%; }\\n\\n.bx--col-md-1 {\\n width: 100%;\\n padding-right: 1rem;\\n padding-left: 1rem; }\\n .bx--row--condensed .bx--col-md-1,\\n .bx--grid--condensed .bx--col-md-1 {\\n padding-right: 0.0625rem;\\n padding-left: 0.0625rem; }\\n\\n.bx--col-md-2 {\\n width: 100%;\\n padding-right: 1rem;\\n padding-left: 1rem; }\\n .bx--row--condensed .bx--col-md-2,\\n .bx--grid--condensed .bx--col-md-2 {\\n padding-right: 0.0625rem;\\n padding-left: 0.0625rem; }\\n\\n.bx--col-md-3 {\\n width: 100%;\\n padding-right: 1rem;\\n padding-left: 1rem; }\\n .bx--row--condensed .bx--col-md-3,\\n .bx--grid--condensed .bx--col-md-3 {\\n padding-right: 0.0625rem;\\n padding-left: 0.0625rem; }\\n\\n.bx--col-md-4 {\\n width: 100%;\\n padding-right: 1rem;\\n padding-left: 1rem; }\\n .bx--row--condensed .bx--col-md-4,\\n .bx--grid--condensed .bx--col-md-4 {\\n padding-right: 0.0625rem;\\n padding-left: 0.0625rem; }\\n\\n.bx--col-md-5 {\\n width: 100%;\\n padding-right: 1rem;\\n padding-left: 1rem; }\\n .bx--row--condensed .bx--col-md-5,\\n .bx--grid--condensed .bx--col-md-5 {\\n padding-right: 0.0625rem;\\n padding-left: 0.0625rem; }\\n\\n.bx--col-md-6 {\\n width: 100%;\\n padding-right: 1rem;\\n padding-left: 1rem; }\\n .bx--row--condensed .bx--col-md-6,\\n .bx--grid--condensed .bx--col-md-6 {\\n padding-right: 0.0625rem;\\n padding-left: 0.0625rem; }\\n\\n.bx--col-md-7 {\\n width: 100%;\\n padding-right: 1rem;\\n padding-left: 1rem; }\\n .bx--row--condensed .bx--col-md-7,\\n .bx--grid--condensed .bx--col-md-7 {\\n padding-right: 0.0625rem;\\n padding-left: 0.0625rem; }\\n\\n.bx--col-md-8 {\\n width: 100%;\\n padding-right: 1rem;\\n padding-left: 1rem; }\\n .bx--row--condensed .bx--col-md-8,\\n .bx--grid--condensed .bx--col-md-8 {\\n padding-right: 0.0625rem;\\n padding-left: 0.0625rem; }\\n\\n.bx--col-md,\\n.bx--col-md--auto {\\n width: 100%;\\n padding-right: 1rem;\\n padding-left: 1rem; }\\n .bx--row--condensed .bx--col-md,\\n .bx--grid--condensed .bx--col-md, .bx--row--condensed\\n .bx--col-md--auto,\\n .bx--grid--condensed\\n .bx--col-md--auto {\\n padding-right: 0.0625rem;\\n padding-left: 0.0625rem; }\\n\\n@media (min-width: 42rem) {\\n .bx--col,\\n .bx--col-md {\\n -ms-flex-preferred-size: 0;\\n flex-basis: 0;\\n -webkit-box-flex: 1;\\n -ms-flex-positive: 1;\\n flex-grow: 1;\\n max-width: 100%; }\\n .bx--col--auto,\\n .bx--col-md--auto {\\n -webkit-box-flex: 1;\\n -ms-flex: 1 0 0%;\\n flex: 1 0 0%;\\n width: auto;\\n max-width: 100%; }\\n .bx--col-md-1 {\\n -webkit-box-flex: 0;\\n -ms-flex: 0 0 12.5%;\\n flex: 0 0 12.5%;\\n max-width: 12.5%; }\\n .bx--col-md-2 {\\n -webkit-box-flex: 0;\\n -ms-flex: 0 0 25%;\\n flex: 0 0 25%;\\n max-width: 25%; }\\n .bx--col-md-3 {\\n -webkit-box-flex: 0;\\n -ms-flex: 0 0 37.5%;\\n flex: 0 0 37.5%;\\n max-width: 37.5%; }\\n .bx--col-md-4 {\\n -webkit-box-flex: 0;\\n -ms-flex: 0 0 50%;\\n flex: 0 0 50%;\\n max-width: 50%; }\\n .bx--col-md-5 {\\n -webkit-box-flex: 0;\\n -ms-flex: 0 0 62.5%;\\n flex: 0 0 62.5%;\\n max-width: 62.5%; }\\n .bx--col-md-6 {\\n -webkit-box-flex: 0;\\n -ms-flex: 0 0 75%;\\n flex: 0 0 75%;\\n max-width: 75%; }\\n .bx--col-md-7 {\\n -webkit-box-flex: 0;\\n -ms-flex: 0 0 87.5%;\\n flex: 0 0 87.5%;\\n max-width: 87.5%; }\\n .bx--col-md-8 {\\n -webkit-box-flex: 0;\\n -ms-flex: 0 0 100%;\\n flex: 0 0 100%;\\n max-width: 100%; }\\n .bx--offset-md-0 {\\n margin-left: 0; }\\n .bx--offset-md-1 {\\n margin-left: 12.5%; }\\n .bx--offset-md-2 {\\n margin-left: 25%; }\\n .bx--offset-md-3 {\\n margin-left: 37.5%; }\\n .bx--offset-md-4 {\\n margin-left: 50%; }\\n .bx--offset-md-5 {\\n margin-left: 62.5%; }\\n .bx--offset-md-6 {\\n margin-left: 75%; }\\n .bx--offset-md-7 {\\n margin-left: 87.5%; } }\\n\\n.bx--col-lg-1 {\\n width: 100%;\\n padding-right: 1rem;\\n padding-left: 1rem; }\\n .bx--row--condensed .bx--col-lg-1,\\n .bx--grid--condensed .bx--col-lg-1 {\\n padding-right: 0.0625rem;\\n padding-left: 0.0625rem; }\\n\\n.bx--col-lg-2 {\\n width: 100%;\\n padding-right: 1rem;\\n padding-left: 1rem; }\\n .bx--row--condensed .bx--col-lg-2,\\n .bx--grid--condensed .bx--col-lg-2 {\\n padding-right: 0.0625rem;\\n padding-left: 0.0625rem; }\\n\\n.bx--col-lg-3 {\\n width: 100%;\\n padding-right: 1rem;\\n padding-left: 1rem; }\\n .bx--row--condensed .bx--col-lg-3,\\n .bx--grid--condensed .bx--col-lg-3 {\\n padding-right: 0.0625rem;\\n padding-left: 0.0625rem; }\\n\\n.bx--col-lg-4 {\\n width: 100%;\\n padding-right: 1rem;\\n padding-left: 1rem; }\\n .bx--row--condensed .bx--col-lg-4,\\n .bx--grid--condensed .bx--col-lg-4 {\\n padding-right: 0.0625rem;\\n padding-left: 0.0625rem; }\\n\\n.bx--col-lg-5 {\\n width: 100%;\\n padding-right: 1rem;\\n padding-left: 1rem; }\\n .bx--row--condensed .bx--col-lg-5,\\n .bx--grid--condensed .bx--col-lg-5 {\\n padding-right: 0.0625rem;\\n padding-left: 0.0625rem; }\\n\\n.bx--col-lg-6 {\\n width: 100%;\\n padding-right: 1rem;\\n padding-left: 1rem; }\\n .bx--row--condensed .bx--col-lg-6,\\n .bx--grid--condensed .bx--col-lg-6 {\\n padding-right: 0.0625rem;\\n padding-left: 0.0625rem; }\\n\\n.bx--col-lg-7 {\\n width: 100%;\\n padding-right: 1rem;\\n padding-left: 1rem; }\\n .bx--row--condensed .bx--col-lg-7,\\n .bx--grid--condensed .bx--col-lg-7 {\\n padding-right: 0.0625rem;\\n padding-left: 0.0625rem; }\\n\\n.bx--col-lg-8 {\\n width: 100%;\\n padding-right: 1rem;\\n padding-left: 1rem; }\\n .bx--row--condensed .bx--col-lg-8,\\n .bx--grid--condensed .bx--col-lg-8 {\\n padding-right: 0.0625rem;\\n padding-left: 0.0625rem; }\\n\\n.bx--col-lg-9 {\\n width: 100%;\\n padding-right: 1rem;\\n padding-left: 1rem; }\\n .bx--row--condensed .bx--col-lg-9,\\n .bx--grid--condensed .bx--col-lg-9 {\\n padding-right: 0.0625rem;\\n padding-left: 0.0625rem; }\\n\\n.bx--col-lg-10 {\\n width: 100%;\\n padding-right: 1rem;\\n padding-left: 1rem; }\\n .bx--row--condensed .bx--col-lg-10,\\n .bx--grid--condensed .bx--col-lg-10 {\\n padding-right: 0.0625rem;\\n padding-left: 0.0625rem; }\\n\\n.bx--col-lg-11 {\\n width: 100%;\\n padding-right: 1rem;\\n padding-left: 1rem; }\\n .bx--row--condensed .bx--col-lg-11,\\n .bx--grid--condensed .bx--col-lg-11 {\\n padding-right: 0.0625rem;\\n padding-left: 0.0625rem; }\\n\\n.bx--col-lg-12 {\\n width: 100%;\\n padding-right: 1rem;\\n padding-left: 1rem; }\\n .bx--row--condensed .bx--col-lg-12,\\n .bx--grid--condensed .bx--col-lg-12 {\\n padding-right: 0.0625rem;\\n padding-left: 0.0625rem; }\\n\\n.bx--col-lg,\\n.bx--col-lg--auto {\\n width: 100%;\\n padding-right: 1rem;\\n padding-left: 1rem; }\\n .bx--row--condensed .bx--col-lg,\\n .bx--grid--condensed .bx--col-lg, .bx--row--condensed\\n .bx--col-lg--auto,\\n .bx--grid--condensed\\n .bx--col-lg--auto {\\n padding-right: 0.0625rem;\\n padding-left: 0.0625rem; }\\n\\n@media (min-width: 66rem) {\\n .bx--col,\\n .bx--col-lg {\\n -ms-flex-preferred-size: 0;\\n flex-basis: 0;\\n -webkit-box-flex: 1;\\n -ms-flex-positive: 1;\\n flex-grow: 1;\\n max-width: 100%; }\\n .bx--col--auto,\\n .bx--col-lg--auto {\\n -webkit-box-flex: 1;\\n -ms-flex: 1 0 0%;\\n flex: 1 0 0%;\\n width: auto;\\n max-width: 100%; }\\n .bx--col-lg-1 {\\n -webkit-box-flex: 0;\\n -ms-flex: 0 0 8.33333%;\\n flex: 0 0 8.33333%;\\n max-width: 8.33333%; }\\n .bx--col-lg-2 {\\n -webkit-box-flex: 0;\\n -ms-flex: 0 0 16.66667%;\\n flex: 0 0 16.66667%;\\n max-width: 16.66667%; }\\n .bx--col-lg-3 {\\n -webkit-box-flex: 0;\\n -ms-flex: 0 0 25%;\\n flex: 0 0 25%;\\n max-width: 25%; }\\n .bx--col-lg-4 {\\n -webkit-box-flex: 0;\\n -ms-flex: 0 0 33.33333%;\\n flex: 0 0 33.33333%;\\n max-width: 33.33333%; }\\n .bx--col-lg-5 {\\n -webkit-box-flex: 0;\\n -ms-flex: 0 0 41.66667%;\\n flex: 0 0 41.66667%;\\n max-width: 41.66667%; }\\n .bx--col-lg-6 {\\n -webkit-box-flex: 0;\\n -ms-flex: 0 0 50%;\\n flex: 0 0 50%;\\n max-width: 50%; }\\n .bx--col-lg-7 {\\n -webkit-box-flex: 0;\\n -ms-flex: 0 0 58.33333%;\\n flex: 0 0 58.33333%;\\n max-width: 58.33333%; }\\n .bx--col-lg-8 {\\n -webkit-box-flex: 0;\\n -ms-flex: 0 0 66.66667%;\\n flex: 0 0 66.66667%;\\n max-width: 66.66667%; }\\n .bx--col-lg-9 {\\n -webkit-box-flex: 0;\\n -ms-flex: 0 0 75%;\\n flex: 0 0 75%;\\n max-width: 75%; }\\n .bx--col-lg-10 {\\n -webkit-box-flex: 0;\\n -ms-flex: 0 0 83.33333%;\\n flex: 0 0 83.33333%;\\n max-width: 83.33333%; }\\n .bx--col-lg-11 {\\n -webkit-box-flex: 0;\\n -ms-flex: 0 0 91.66667%;\\n flex: 0 0 91.66667%;\\n max-width: 91.66667%; }\\n .bx--col-lg-12 {\\n -webkit-box-flex: 0;\\n -ms-flex: 0 0 100%;\\n flex: 0 0 100%;\\n max-width: 100%; }\\n .bx--offset-lg-0 {\\n margin-left: 0; }\\n .bx--offset-lg-1 {\\n margin-left: 8.33333%; }\\n .bx--offset-lg-2 {\\n margin-left: 16.66667%; }\\n .bx--offset-lg-3 {\\n margin-left: 25%; }\\n .bx--offset-lg-4 {\\n margin-left: 33.33333%; }\\n .bx--offset-lg-5 {\\n margin-left: 41.66667%; }\\n .bx--offset-lg-6 {\\n margin-left: 50%; }\\n .bx--offset-lg-7 {\\n margin-left: 58.33333%; }\\n .bx--offset-lg-8 {\\n margin-left: 66.66667%; }\\n .bx--offset-lg-9 {\\n margin-left: 75%; }\\n .bx--offset-lg-10 {\\n margin-left: 83.33333%; }\\n .bx--offset-lg-11 {\\n margin-left: 91.66667%; } }\\n\\n.bx--col-xlg-1 {\\n width: 100%;\\n padding-right: 1rem;\\n padding-left: 1rem; }\\n .bx--row--condensed .bx--col-xlg-1,\\n .bx--grid--condensed .bx--col-xlg-1 {\\n padding-right: 0.0625rem;\\n padding-left: 0.0625rem; }\\n\\n.bx--col-xlg-2 {\\n width: 100%;\\n padding-right: 1rem;\\n padding-left: 1rem; }\\n .bx--row--condensed .bx--col-xlg-2,\\n .bx--grid--condensed .bx--col-xlg-2 {\\n padding-right: 0.0625rem;\\n padding-left: 0.0625rem; }\\n\\n.bx--col-xlg-3 {\\n width: 100%;\\n padding-right: 1rem;\\n padding-left: 1rem; }\\n .bx--row--condensed .bx--col-xlg-3,\\n .bx--grid--condensed .bx--col-xlg-3 {\\n padding-right: 0.0625rem;\\n padding-left: 0.0625rem; }\\n\\n.bx--col-xlg-4 {\\n width: 100%;\\n padding-right: 1rem;\\n padding-left: 1rem; }\\n .bx--row--condensed .bx--col-xlg-4,\\n .bx--grid--condensed .bx--col-xlg-4 {\\n padding-right: 0.0625rem;\\n padding-left: 0.0625rem; }\\n\\n.bx--col-xlg-5 {\\n width: 100%;\\n padding-right: 1rem;\\n padding-left: 1rem; }\\n .bx--row--condensed .bx--col-xlg-5,\\n .bx--grid--condensed .bx--col-xlg-5 {\\n padding-right: 0.0625rem;\\n padding-left: 0.0625rem; }\\n\\n.bx--col-xlg-6 {\\n width: 100%;\\n padding-right: 1rem;\\n padding-left: 1rem; }\\n .bx--row--condensed .bx--col-xlg-6,\\n .bx--grid--condensed .bx--col-xlg-6 {\\n padding-right: 0.0625rem;\\n padding-left: 0.0625rem; }\\n\\n.bx--col-xlg-7 {\\n width: 100%;\\n padding-right: 1rem;\\n padding-left: 1rem; }\\n .bx--row--condensed .bx--col-xlg-7,\\n .bx--grid--condensed .bx--col-xlg-7 {\\n padding-right: 0.0625rem;\\n padding-left: 0.0625rem; }\\n\\n.bx--col-xlg-8 {\\n width: 100%;\\n padding-right: 1rem;\\n padding-left: 1rem; }\\n .bx--row--condensed .bx--col-xlg-8,\\n .bx--grid--condensed .bx--col-xlg-8 {\\n padding-right: 0.0625rem;\\n padding-left: 0.0625rem; }\\n\\n.bx--col-xlg-9 {\\n width: 100%;\\n padding-right: 1rem;\\n padding-left: 1rem; }\\n .bx--row--condensed .bx--col-xlg-9,\\n .bx--grid--condensed .bx--col-xlg-9 {\\n padding-right: 0.0625rem;\\n padding-left: 0.0625rem; }\\n\\n.bx--col-xlg-10 {\\n width: 100%;\\n padding-right: 1rem;\\n padding-left: 1rem; }\\n .bx--row--condensed .bx--col-xlg-10,\\n .bx--grid--condensed .bx--col-xlg-10 {\\n padding-right: 0.0625rem;\\n padding-left: 0.0625rem; }\\n\\n.bx--col-xlg-11 {\\n width: 100%;\\n padding-right: 1rem;\\n padding-left: 1rem; }\\n .bx--row--condensed .bx--col-xlg-11,\\n .bx--grid--condensed .bx--col-xlg-11 {\\n padding-right: 0.0625rem;\\n padding-left: 0.0625rem; }\\n\\n.bx--col-xlg-12 {\\n width: 100%;\\n padding-right: 1rem;\\n padding-left: 1rem; }\\n .bx--row--condensed .bx--col-xlg-12,\\n .bx--grid--condensed .bx--col-xlg-12 {\\n padding-right: 0.0625rem;\\n padding-left: 0.0625rem; }\\n\\n.bx--col-xlg,\\n.bx--col-xlg--auto {\\n width: 100%;\\n padding-right: 1rem;\\n padding-left: 1rem; }\\n .bx--row--condensed .bx--col-xlg,\\n .bx--grid--condensed .bx--col-xlg, .bx--row--condensed\\n .bx--col-xlg--auto,\\n .bx--grid--condensed\\n .bx--col-xlg--auto {\\n padding-right: 0.0625rem;\\n padding-left: 0.0625rem; }\\n\\n@media (min-width: 82rem) {\\n .bx--col,\\n .bx--col-xlg {\\n -ms-flex-preferred-size: 0;\\n flex-basis: 0;\\n -webkit-box-flex: 1;\\n -ms-flex-positive: 1;\\n flex-grow: 1;\\n max-width: 100%; }\\n .bx--col--auto,\\n .bx--col-xlg--auto {\\n -webkit-box-flex: 1;\\n -ms-flex: 1 0 0%;\\n flex: 1 0 0%;\\n width: auto;\\n max-width: 100%; }\\n .bx--col-xlg-1 {\\n -webkit-box-flex: 0;\\n -ms-flex: 0 0 8.33333%;\\n flex: 0 0 8.33333%;\\n max-width: 8.33333%; }\\n .bx--col-xlg-2 {\\n -webkit-box-flex: 0;\\n -ms-flex: 0 0 16.66667%;\\n flex: 0 0 16.66667%;\\n max-width: 16.66667%; }\\n .bx--col-xlg-3 {\\n -webkit-box-flex: 0;\\n -ms-flex: 0 0 25%;\\n flex: 0 0 25%;\\n max-width: 25%; }\\n .bx--col-xlg-4 {\\n -webkit-box-flex: 0;\\n -ms-flex: 0 0 33.33333%;\\n flex: 0 0 33.33333%;\\n max-width: 33.33333%; }\\n .bx--col-xlg-5 {\\n -webkit-box-flex: 0;\\n -ms-flex: 0 0 41.66667%;\\n flex: 0 0 41.66667%;\\n max-width: 41.66667%; }\\n .bx--col-xlg-6 {\\n -webkit-box-flex: 0;\\n -ms-flex: 0 0 50%;\\n flex: 0 0 50%;\\n max-width: 50%; }\\n .bx--col-xlg-7 {\\n -webkit-box-flex: 0;\\n -ms-flex: 0 0 58.33333%;\\n flex: 0 0 58.33333%;\\n max-width: 58.33333%; }\\n .bx--col-xlg-8 {\\n -webkit-box-flex: 0;\\n -ms-flex: 0 0 66.66667%;\\n flex: 0 0 66.66667%;\\n max-width: 66.66667%; }\\n .bx--col-xlg-9 {\\n -webkit-box-flex: 0;\\n -ms-flex: 0 0 75%;\\n flex: 0 0 75%;\\n max-width: 75%; }\\n .bx--col-xlg-10 {\\n -webkit-box-flex: 0;\\n -ms-flex: 0 0 83.33333%;\\n flex: 0 0 83.33333%;\\n max-width: 83.33333%; }\\n .bx--col-xlg-11 {\\n -webkit-box-flex: 0;\\n -ms-flex: 0 0 91.66667%;\\n flex: 0 0 91.66667%;\\n max-width: 91.66667%; }\\n .bx--col-xlg-12 {\\n -webkit-box-flex: 0;\\n -ms-flex: 0 0 100%;\\n flex: 0 0 100%;\\n max-width: 100%; }\\n .bx--offset-xlg-0 {\\n margin-left: 0; }\\n .bx--offset-xlg-1 {\\n margin-left: 8.33333%; }\\n .bx--offset-xlg-2 {\\n margin-left: 16.66667%; }\\n .bx--offset-xlg-3 {\\n margin-left: 25%; }\\n .bx--offset-xlg-4 {\\n margin-left: 33.33333%; }\\n .bx--offset-xlg-5 {\\n margin-left: 41.66667%; }\\n .bx--offset-xlg-6 {\\n margin-left: 50%; }\\n .bx--offset-xlg-7 {\\n margin-left: 58.33333%; }\\n .bx--offset-xlg-8 {\\n margin-left: 66.66667%; }\\n .bx--offset-xlg-9 {\\n margin-left: 75%; }\\n .bx--offset-xlg-10 {\\n margin-left: 83.33333%; }\\n .bx--offset-xlg-11 {\\n margin-left: 91.66667%; } }\\n\\n.bx--col-max-1 {\\n width: 100%;\\n padding-right: 1rem;\\n padding-left: 1rem; }\\n .bx--row--condensed .bx--col-max-1,\\n .bx--grid--condensed .bx--col-max-1 {\\n padding-right: 0.0625rem;\\n padding-left: 0.0625rem; }\\n\\n.bx--col-max-2 {\\n width: 100%;\\n padding-right: 1rem;\\n padding-left: 1rem; }\\n .bx--row--condensed .bx--col-max-2,\\n .bx--grid--condensed .bx--col-max-2 {\\n padding-right: 0.0625rem;\\n padding-left: 0.0625rem; }\\n\\n.bx--col-max-3 {\\n width: 100%;\\n padding-right: 1rem;\\n padding-left: 1rem; }\\n .bx--row--condensed .bx--col-max-3,\\n .bx--grid--condensed .bx--col-max-3 {\\n padding-right: 0.0625rem;\\n padding-left: 0.0625rem; }\\n\\n.bx--col-max-4 {\\n width: 100%;\\n padding-right: 1rem;\\n padding-left: 1rem; }\\n .bx--row--condensed .bx--col-max-4,\\n .bx--grid--condensed .bx--col-max-4 {\\n padding-right: 0.0625rem;\\n padding-left: 0.0625rem; }\\n\\n.bx--col-max-5 {\\n width: 100%;\\n padding-right: 1rem;\\n padding-left: 1rem; }\\n .bx--row--condensed .bx--col-max-5,\\n .bx--grid--condensed .bx--col-max-5 {\\n padding-right: 0.0625rem;\\n padding-left: 0.0625rem; }\\n\\n.bx--col-max-6 {\\n width: 100%;\\n padding-right: 1rem;\\n padding-left: 1rem; }\\n .bx--row--condensed .bx--col-max-6,\\n .bx--grid--condensed .bx--col-max-6 {\\n padding-right: 0.0625rem;\\n padding-left: 0.0625rem; }\\n\\n.bx--col-max-7 {\\n width: 100%;\\n padding-right: 1rem;\\n padding-left: 1rem; }\\n .bx--row--condensed .bx--col-max-7,\\n .bx--grid--condensed .bx--col-max-7 {\\n padding-right: 0.0625rem;\\n padding-left: 0.0625rem; }\\n\\n.bx--col-max-8 {\\n width: 100%;\\n padding-right: 1rem;\\n padding-left: 1rem; }\\n .bx--row--condensed .bx--col-max-8,\\n .bx--grid--condensed .bx--col-max-8 {\\n padding-right: 0.0625rem;\\n padding-left: 0.0625rem; }\\n\\n.bx--col-max-9 {\\n width: 100%;\\n padding-right: 1rem;\\n padding-left: 1rem; }\\n .bx--row--condensed .bx--col-max-9,\\n .bx--grid--condensed .bx--col-max-9 {\\n padding-right: 0.0625rem;\\n padding-left: 0.0625rem; }\\n\\n.bx--col-max-10 {\\n width: 100%;\\n padding-right: 1rem;\\n padding-left: 1rem; }\\n .bx--row--condensed .bx--col-max-10,\\n .bx--grid--condensed .bx--col-max-10 {\\n padding-right: 0.0625rem;\\n padding-left: 0.0625rem; }\\n\\n.bx--col-max-11 {\\n width: 100%;\\n padding-right: 1rem;\\n padding-left: 1rem; }\\n .bx--row--condensed .bx--col-max-11,\\n .bx--grid--condensed .bx--col-max-11 {\\n padding-right: 0.0625rem;\\n padding-left: 0.0625rem; }\\n\\n.bx--col-max-12 {\\n width: 100%;\\n padding-right: 1rem;\\n padding-left: 1rem; }\\n .bx--row--condensed .bx--col-max-12,\\n .bx--grid--condensed .bx--col-max-12 {\\n padding-right: 0.0625rem;\\n padding-left: 0.0625rem; }\\n\\n.bx--col-max,\\n.bx--col-max--auto {\\n width: 100%;\\n padding-right: 1rem;\\n padding-left: 1rem; }\\n .bx--row--condensed .bx--col-max,\\n .bx--grid--condensed .bx--col-max, .bx--row--condensed\\n .bx--col-max--auto,\\n .bx--grid--condensed\\n .bx--col-max--auto {\\n padding-right: 0.0625rem;\\n padding-left: 0.0625rem; }\\n\\n@media (min-width: 99rem) {\\n .bx--col,\\n .bx--col-max {\\n -ms-flex-preferred-size: 0;\\n flex-basis: 0;\\n -webkit-box-flex: 1;\\n -ms-flex-positive: 1;\\n flex-grow: 1;\\n max-width: 100%; }\\n .bx--col--auto,\\n .bx--col-max--auto {\\n -webkit-box-flex: 1;\\n -ms-flex: 1 0 0%;\\n flex: 1 0 0%;\\n width: auto;\\n max-width: 100%; }\\n .bx--col-max-1 {\\n -webkit-box-flex: 0;\\n -ms-flex: 0 0 8.33333%;\\n flex: 0 0 8.33333%;\\n max-width: 8.33333%; }\\n .bx--col-max-2 {\\n -webkit-box-flex: 0;\\n -ms-flex: 0 0 16.66667%;\\n flex: 0 0 16.66667%;\\n max-width: 16.66667%; }\\n .bx--col-max-3 {\\n -webkit-box-flex: 0;\\n -ms-flex: 0 0 25%;\\n flex: 0 0 25%;\\n max-width: 25%; }\\n .bx--col-max-4 {\\n -webkit-box-flex: 0;\\n -ms-flex: 0 0 33.33333%;\\n flex: 0 0 33.33333%;\\n max-width: 33.33333%; }\\n .bx--col-max-5 {\\n -webkit-box-flex: 0;\\n -ms-flex: 0 0 41.66667%;\\n flex: 0 0 41.66667%;\\n max-width: 41.66667%; }\\n .bx--col-max-6 {\\n -webkit-box-flex: 0;\\n -ms-flex: 0 0 50%;\\n flex: 0 0 50%;\\n max-width: 50%; }\\n .bx--col-max-7 {\\n -webkit-box-flex: 0;\\n -ms-flex: 0 0 58.33333%;\\n flex: 0 0 58.33333%;\\n max-width: 58.33333%; }\\n .bx--col-max-8 {\\n -webkit-box-flex: 0;\\n -ms-flex: 0 0 66.66667%;\\n flex: 0 0 66.66667%;\\n max-width: 66.66667%; }\\n .bx--col-max-9 {\\n -webkit-box-flex: 0;\\n -ms-flex: 0 0 75%;\\n flex: 0 0 75%;\\n max-width: 75%; }\\n .bx--col-max-10 {\\n -webkit-box-flex: 0;\\n -ms-flex: 0 0 83.33333%;\\n flex: 0 0 83.33333%;\\n max-width: 83.33333%; }\\n .bx--col-max-11 {\\n -webkit-box-flex: 0;\\n -ms-flex: 0 0 91.66667%;\\n flex: 0 0 91.66667%;\\n max-width: 91.66667%; }\\n .bx--col-max-12 {\\n -webkit-box-flex: 0;\\n -ms-flex: 0 0 100%;\\n flex: 0 0 100%;\\n max-width: 100%; }\\n .bx--offset-max-0 {\\n margin-left: 0; }\\n .bx--offset-max-1 {\\n margin-left: 8.33333%; }\\n .bx--offset-max-2 {\\n margin-left: 16.66667%; }\\n .bx--offset-max-3 {\\n margin-left: 25%; }\\n .bx--offset-max-4 {\\n margin-left: 33.33333%; }\\n .bx--offset-max-5 {\\n margin-left: 41.66667%; }\\n .bx--offset-max-6 {\\n margin-left: 50%; }\\n .bx--offset-max-7 {\\n margin-left: 58.33333%; }\\n .bx--offset-max-8 {\\n margin-left: 66.66667%; }\\n .bx--offset-max-9 {\\n margin-left: 75%; }\\n .bx--offset-max-10 {\\n margin-left: 83.33333%; }\\n .bx--offset-max-11 {\\n margin-left: 91.66667%; } }\\n\\n.bx--no-gutter,\\n.bx--row.bx--no-gutter [class*='bx--col'] {\\n padding-left: 0;\\n padding-right: 0; }\\n\\n.bx--no-gutter--left,\\n.bx--row.bx--no-gutter--left [class*='bx--col'] {\\n padding-left: 0; }\\n\\n.bx--no-gutter--right,\\n.bx--row.bx--no-gutter--right [class*='bx--col'] {\\n padding-right: 0; }\\n\\n.bx--hang--left {\\n padding-left: 1rem; }\\n\\n.bx--hang--right {\\n padding-right: 1rem; }\\n\\n.bx--aspect-ratio {\\n height: 0;\\n position: relative; }\\n\\n.bx--aspect-ratio--object {\\n position: absolute;\\n top: 0;\\n right: 0;\\n bottom: 0;\\n left: 0;\\n width: 100%;\\n height: 100%;\\n z-index: 100; }\\n\\n.bx--aspect-ratio--16x9 {\\n padding-bottom: 56.25%; }\\n\\n.bx--aspect-ratio--2x1 {\\n padding-bottom: 50%; }\\n\\n.bx--aspect-ratio--4x3 {\\n padding-bottom: 75%; }\\n\\n.bx--aspect-ratio--1x1 {\\n padding-bottom: 100%; }\\n\\n/**\\n * We flag this variable as true if someone uses the globals/scss/styles.scss\\n * entry-point. This allows us to collect all the messages and display them at\\n * the end of the file instead of bringing it up per-component.\\n *\\n * If a consumer instead gets the components by importing the partial directly,\\n * this variable _will not_ be set to true, so the deprecation message will be\\n * displayed after the @import.\\n */\\n.bx--btn-set {\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex; }\\n\\n.bx--btn-set > .bx--btn {\\n max-width: 12.25rem;\\n width: 100%; }\\n\\n.bx--btn--secondary.bx--btn--disabled + .bx--btn--primary.bx--btn--disabled,\\n.bx--btn--tertiary.bx--btn--disabled + .bx--btn--danger.bx--btn--disabled {\\n border-left: 0.0625rem solid #8c8c8c; }\\n\\n.bx--btn {\\n font-family: 'IBM Plex Sans', 'Helvetica Neue', Arial, sans-serif;\\n font-size: 0.875rem;\\n font-weight: 400;\\n line-height: 1.125rem;\\n letter-spacing: 0.16px;\\n cursor: pointer;\\n display: -webkit-inline-box;\\n display: -ms-inline-flexbox;\\n display: inline-flex;\\n -webkit-box-align: center;\\n -ms-flex-align: center;\\n align-items: center;\\n -webkit-box-pack: justify;\\n -ms-flex-pack: justify;\\n justify-content: space-between;\\n -ms-flex-negative: 0;\\n flex-shrink: 0;\\n min-height: 3rem;\\n padding: 0.875rem 15px;\\n border-radius: 0;\\n text-align: left;\\n text-decoration: none;\\n -webkit-transition: 70ms cubic-bezier(0, 0, 0.38, 0.9);\\n transition: 70ms cubic-bezier(0, 0, 0.38, 0.9);\\n outline: 3px solid transparent;\\n position: relative;\\n max-width: 20rem;\\n min-width: 7.8125rem; }\\n .bx--btn:disabled, .bx--btn.bx--btn--disabled {\\n cursor: not-allowed;\\n color: #8c8c8c;\\n background: #bebebe;\\n border-color: #bebebe; }\\n .bx--btn .bx--btn__icon {\\n -ms-flex-negative: 0;\\n flex-shrink: 0;\\n width: 1rem;\\n height: 1rem;\\n margin-left: 1rem;\\n -webkit-transition: 70ms cubic-bezier(0, 0, 0.38, 0.9);\\n transition: 70ms cubic-bezier(0, 0, 0.38, 0.9); }\\n .bx--btn.bx--btn--disabled > .bx--btn__icon,\\n .bx--btn:disabled > .bx--btn__icon {\\n fill: #8c8c8c; }\\n\\n.bx--btn::-moz-focus-inner {\\n padding: 0;\\n border: 0; }\\n\\n.bx--btn--primary {\\n background-color: #0062ff;\\n border-width: 1px;\\n border-style: solid;\\n border-color: transparent;\\n color: #ffffff; }\\n .bx--btn--primary:hover {\\n background-color: #0353e9; }\\n .bx--btn--primary::before, .bx--btn--primary::after {\\n -webkit-box-sizing: border-box;\\n box-sizing: border-box;\\n position: absolute;\\n content: '';\\n -webkit-transition: 70ms cubic-bezier(0, 0, 0.38, 0.9);\\n transition: 70ms cubic-bezier(0, 0, 0.38, 0.9); }\\n .bx--btn--primary:not(.bx--btn--disabled)::before {\\n top: calc(-1px + 3px);\\n left: 2px;\\n width: calc(100% + (2 * 1px) - (2 * 3px));\\n height: calc(100% + (2 * 1px) - (2 * 3px));\\n border: 1px solid transparent; }\\n .bx--btn--primary:focus::before {\\n border-color: #ffffff; }\\n .bx--btn--primary:not(.bx--btn--disabled)::after {\\n top: -1px;\\n left: -1px;\\n height: calc(100% + 2 * 1px);\\n width: calc(100% + 2 * 1px);\\n border: 3px solid transparent; }\\n .bx--btn--primary:focus::after {\\n border-color: #0062ff; }\\n .bx--btn--primary:disabled:hover, .bx--btn--primary:disabled:focus, .bx--btn--primary:hover.bx--btn--disabled, .bx--btn--primary:focus.bx--btn--disabled {\\n color: #8c8c8c;\\n background: #bebebe;\\n border-color: #bebebe;\\n text-decoration: none; }\\n .bx--btn--primary:active {\\n background-color: #0530ad; }\\n .bx--btn--primary .bx--btn__icon {\\n fill: #ffffff; }\\n .bx--btn--primary:hover {\\n color: #ffffff; }\\n\\n.bx--btn--secondary {\\n background-color: #171717;\\n border-width: 1px;\\n border-style: solid;\\n border-color: transparent;\\n color: #ffffff; }\\n .bx--btn--secondary:hover {\\n background-color: #4c4c4c; }\\n .bx--btn--secondary::before, .bx--btn--secondary::after {\\n -webkit-box-sizing: border-box;\\n box-sizing: border-box;\\n position: absolute;\\n content: '';\\n -webkit-transition: 70ms cubic-bezier(0, 0, 0.38, 0.9);\\n transition: 70ms cubic-bezier(0, 0, 0.38, 0.9); }\\n .bx--btn--secondary:not(.bx--btn--disabled)::before {\\n top: calc(-1px + 3px);\\n left: 2px;\\n width: calc(100% + (2 * 1px) - (2 * 3px));\\n height: calc(100% + (2 * 1px) - (2 * 3px));\\n border: 1px solid transparent; }\\n .bx--btn--secondary:focus::before {\\n border-color: #ffffff; }\\n .bx--btn--secondary:not(.bx--btn--disabled)::after {\\n top: -1px;\\n left: -1px;\\n height: calc(100% + 2 * 1px);\\n width: calc(100% + 2 * 1px);\\n border: 3px solid transparent; }\\n .bx--btn--secondary:focus::after {\\n border-color: #0062ff; }\\n .bx--btn--secondary:disabled:hover, .bx--btn--secondary:disabled:focus, .bx--btn--secondary:hover.bx--btn--disabled, .bx--btn--secondary:focus.bx--btn--disabled {\\n color: #8c8c8c;\\n background: #bebebe;\\n border-color: #bebebe;\\n text-decoration: none; }\\n .bx--btn--secondary:active {\\n background-color: #6f6f6f; }\\n .bx--btn--secondary .bx--btn__icon {\\n fill: #ffffff; }\\n .bx--btn--secondary:hover, .bx--btn--secondary:focus {\\n color: #ffffff; }\\n\\n.bx--btn--tertiary {\\n background-color: transparent;\\n border-width: 1px;\\n border-style: solid;\\n border-color: #0062ff;\\n color: #0062ff; }\\n .bx--btn--tertiary:hover {\\n background-color: #0353e9; }\\n .bx--btn--tertiary::before, .bx--btn--tertiary::after {\\n -webkit-box-sizing: border-box;\\n box-sizing: border-box;\\n position: absolute;\\n content: '';\\n -webkit-transition: 70ms cubic-bezier(0, 0, 0.38, 0.9);\\n transition: 70ms cubic-bezier(0, 0, 0.38, 0.9); }\\n .bx--btn--tertiary:not(.bx--btn--disabled)::before {\\n top: calc(-1px + 3px);\\n left: 2px;\\n width: calc(100% + (2 * 1px) - (2 * 3px));\\n height: calc(100% + (2 * 1px) - (2 * 3px));\\n border: 1px solid transparent; }\\n .bx--btn--tertiary:focus::before {\\n border-color: #ffffff; }\\n .bx--btn--tertiary:not(.bx--btn--disabled)::after {\\n top: -1px;\\n left: -1px;\\n height: calc(100% + 2 * 1px);\\n width: calc(100% + 2 * 1px);\\n border: 3px solid transparent; }\\n .bx--btn--tertiary:focus::after {\\n border-color: #0062ff; }\\n .bx--btn--tertiary:disabled:hover, .bx--btn--tertiary:disabled:focus, .bx--btn--tertiary:hover.bx--btn--disabled, .bx--btn--tertiary:focus.bx--btn--disabled {\\n color: #8c8c8c;\\n background: #bebebe;\\n border-color: #bebebe;\\n text-decoration: none; }\\n .bx--btn--tertiary:active {\\n background-color: #0530ad; }\\n .bx--btn--tertiary .bx--btn__icon {\\n fill: #0062ff; }\\n .bx--btn--tertiary:hover {\\n color: #ffffff; }\\n .bx--btn--tertiary:disabled, .bx--btn--tertiary:hover:disabled, .bx--btn--tertiary:focus:disabled, .bx--btn--tertiary.bx--btn--disabled, .bx--btn--tertiary.bx--btn--disabled:hover, .bx--btn--tertiary.bx--btn--disabled:focus {\\n background: transparent;\\n color: #bebebe; }\\n .bx--btn--tertiary:disabled > .bx--btn__icon, .bx--btn--tertiary:hover:disabled > .bx--btn__icon, .bx--btn--tertiary:focus:disabled > .bx--btn__icon, .bx--btn--tertiary.bx--btn--disabled > .bx--btn__icon, .bx--btn--tertiary.bx--btn--disabled:hover > .bx--btn__icon, .bx--btn--tertiary.bx--btn--disabled:focus > .bx--btn__icon {\\n fill: #bebebe; }\\n .bx--btn--tertiary:hover > .bx--btn__icon {\\n fill: #ffffff; }\\n\\n.bx--btn--ghost {\\n background-color: transparent;\\n border-width: 1px;\\n border-style: solid;\\n border-color: transparent;\\n color: #0062ff;\\n min-width: auto;\\n padding: 0.875rem 1rem; }\\n .bx--btn--ghost:hover {\\n background-color: #e5e5e5; }\\n .bx--btn--ghost::before, .bx--btn--ghost::after {\\n -webkit-box-sizing: border-box;\\n box-sizing: border-box;\\n position: absolute;\\n content: '';\\n -webkit-transition: 70ms cubic-bezier(0, 0, 0.38, 0.9);\\n transition: 70ms cubic-bezier(0, 0, 0.38, 0.9); }\\n .bx--btn--ghost:not(.bx--btn--disabled)::before {\\n top: calc(-1px + 3px);\\n left: 2px;\\n width: calc(100% + (2 * 1px) - (2 * 3px));\\n height: calc(100% + (2 * 1px) - (2 * 3px));\\n border: 1px solid transparent; }\\n .bx--btn--ghost:focus::before {\\n border-color: #ffffff; }\\n .bx--btn--ghost:not(.bx--btn--disabled)::after {\\n top: -1px;\\n left: -1px;\\n height: calc(100% + 2 * 1px);\\n width: calc(100% + 2 * 1px);\\n border: 3px solid transparent; }\\n .bx--btn--ghost:focus::after {\\n border-color: #0062ff; }\\n .bx--btn--ghost:disabled:hover, .bx--btn--ghost:disabled:focus, .bx--btn--ghost:hover.bx--btn--disabled, .bx--btn--ghost:focus.bx--btn--disabled {\\n color: #8c8c8c;\\n background: #bebebe;\\n border-color: #bebebe;\\n text-decoration: none; }\\n .bx--btn--ghost:active {\\n background-color: #bebebe; }\\n .bx--btn--ghost .bx--btn__icon {\\n fill: #0062ff; }\\n .bx--btn--ghost .bx--btn__icon {\\n margin-left: 0.5rem; }\\n .bx--btn--ghost:hover, .bx--btn--ghost:active {\\n color: #054ada; }\\n .bx--btn--ghost:hover .bx--btn__icon, .bx--btn--ghost:active .bx--btn__icon {\\n fill: #054ada; }\\n .bx--btn--ghost:active {\\n background-color: #bebebe; }\\n .bx--btn--ghost:disabled, .bx--btn--ghost:hover:disabled, .bx--btn--ghost:focus:disabled, .bx--btn--ghost.bx--btn--disabled, .bx--btn--ghost.bx--btn--disabled:hover, .bx--btn--ghost.bx--btn--disabled:focus {\\n color: #bebebe;\\n background: transparent;\\n border-color: transparent; }\\n .bx--btn--ghost:disabled .bx--btn__icon, .bx--btn--ghost:hover:disabled .bx--btn__icon, .bx--btn--ghost:focus:disabled .bx--btn__icon, .bx--btn--ghost.bx--btn--disabled .bx--btn__icon, .bx--btn--ghost.bx--btn--disabled:hover .bx--btn__icon, .bx--btn--ghost.bx--btn--disabled:focus .bx--btn__icon {\\n fill: #bebebe; }\\n .bx--btn--ghost.bx--btn--sm {\\n padding: 0.375rem 1rem; }\\n\\n.bx--btn--danger {\\n background-color: #da1e28;\\n border-width: 1px;\\n border-style: solid;\\n border-color: #da1e28;\\n color: #ffffff; }\\n .bx--btn--danger:hover {\\n background-color: #ba1b23; }\\n .bx--btn--danger::before, .bx--btn--danger::after {\\n -webkit-box-sizing: border-box;\\n box-sizing: border-box;\\n position: absolute;\\n content: '';\\n -webkit-transition: 70ms cubic-bezier(0, 0, 0.38, 0.9);\\n transition: 70ms cubic-bezier(0, 0, 0.38, 0.9); }\\n .bx--btn--danger:not(.bx--btn--disabled)::before {\\n top: calc(-1px + 3px);\\n left: 2px;\\n width: calc(100% + (2 * 1px) - (2 * 3px));\\n height: calc(100% + (2 * 1px) - (2 * 3px));\\n border: 1px solid transparent; }\\n .bx--btn--danger:focus::before {\\n border-color: #ffffff; }\\n .bx--btn--danger:not(.bx--btn--disabled)::after {\\n top: -1px;\\n left: -1px;\\n height: calc(100% + 2 * 1px);\\n width: calc(100% + 2 * 1px);\\n border: 3px solid transparent; }\\n .bx--btn--danger:focus::after {\\n border-color: #0062ff; }\\n .bx--btn--danger:disabled:hover, .bx--btn--danger:disabled:focus, .bx--btn--danger:hover.bx--btn--disabled, .bx--btn--danger:focus.bx--btn--disabled {\\n color: #8c8c8c;\\n background: #bebebe;\\n border-color: #bebebe;\\n text-decoration: none; }\\n .bx--btn--danger:active {\\n background-color: #750e13; }\\n .bx--btn--danger .bx--btn__icon {\\n fill: #ffffff; }\\n .bx--btn--danger:hover {\\n color: #ffffff;\\n border: 1px solid transparent; }\\n\\n.bx--btn--sm {\\n min-height: 2rem;\\n padding: 0.375rem 15px; }\\n\\n.bx--btn.bx--skeleton {\\n position: relative;\\n border: none;\\n padding: 0;\\n -webkit-box-shadow: none;\\n box-shadow: none;\\n pointer-events: none;\\n background: rgba(61, 112, 178, 0.1);\\n width: 9.375rem; }\\n .bx--btn.bx--skeleton:hover, .bx--btn.bx--skeleton:focus, .bx--btn.bx--skeleton:active {\\n border: none;\\n outline: none;\\n cursor: default; }\\n .bx--btn.bx--skeleton:before {\\n content: '';\\n width: 0%;\\n height: 100%;\\n position: absolute;\\n top: 0;\\n left: 0;\\n opacity: 0.3;\\n background: rgba(61, 112, 178, 0.1);\\n -webkit-animation: 3000ms ease-in-out skeleton infinite;\\n animation: 3000ms ease-in-out skeleton infinite; }\\n\\n.bx--btn--copy {\\n position: relative;\\n overflow: visible; }\\n .bx--btn--copy .bx--btn__icon {\\n margin-left: 0.3125rem; }\\n\\n.bx--btn--copy__feedback {\\n position: absolute;\\n display: none;\\n top: 1.2rem;\\n left: 50%; }\\n .bx--btn--copy__feedback:focus {\\n border: 2px solid red; }\\n .bx--btn--copy__feedback:before {\\n -webkit-box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.1);\\n box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.1);\\n font-family: 'IBM Plex Sans', 'Helvetica Neue', Arial, sans-serif;\\n font-size: 0.75rem;\\n font-weight: 400;\\n line-height: 1rem;\\n letter-spacing: 0.32px;\\n top: 1.1rem;\\n padding: 0.25rem;\\n color: #ffffff;\\n content: attr(data-feedback);\\n -webkit-transform: translateX(-50%);\\n transform: translateX(-50%);\\n white-space: nowrap;\\n pointer-events: none;\\n border-radius: 4px;\\n font-weight: 400;\\n z-index: 2; }\\n .bx--btn--copy__feedback:after {\\n top: 0.85rem;\\n width: 0.6rem;\\n height: 0.6rem;\\n left: -0.3rem;\\n border-right: 1px solid #3d3d3d;\\n border-bottom: 1px solid #3d3d3d;\\n content: '';\\n -webkit-transform: rotate(-135deg);\\n transform: rotate(-135deg);\\n z-index: 1; }\\n .bx--btn--copy__feedback:before, .bx--btn--copy__feedback:after {\\n position: absolute;\\n display: block;\\n background: #3d3d3d; }\\n .bx--btn--copy__feedback--displayed {\\n display: -webkit-inline-box;\\n display: -ms-inline-flexbox;\\n display: inline-flex; }\\n\\n.bx--fieldset {\\n margin-bottom: 2rem; }\\n\\n.bx--form-item {\\n font-family: 'IBM Plex Sans', 'Helvetica Neue', Arial, sans-serif;\\n font-size: 0.875rem;\\n font-weight: 400;\\n line-height: 1.125rem;\\n letter-spacing: 0.16px;\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -webkit-box-orient: vertical;\\n -webkit-box-direction: normal;\\n -ms-flex-direction: column;\\n flex-direction: column;\\n -webkit-box-flex: 1;\\n -ms-flex: 1;\\n flex: 1;\\n -webkit-box-align: start;\\n -ms-flex-align: start;\\n align-items: flex-start; }\\n\\n.bx--label {\\n font-family: 'IBM Plex Sans', 'Helvetica Neue', Arial, sans-serif;\\n font-size: 0.75rem;\\n font-weight: 400;\\n line-height: 1rem;\\n letter-spacing: 0.32px;\\n color: #565656;\\n font-weight: 400;\\n display: inline-block;\\n vertical-align: baseline;\\n margin-bottom: 0.5rem;\\n line-height: 1rem; }\\n\\n.bx--label .bx--tooltip__trigger {\\n font-family: 'IBM Plex Sans', 'Helvetica Neue', Arial, sans-serif;\\n font-size: 0.75rem;\\n font-weight: 400;\\n line-height: 1rem;\\n letter-spacing: 0.32px; }\\n\\n.bx--label.bx--skeleton {\\n position: relative;\\n border: none;\\n padding: 0;\\n -webkit-box-shadow: none;\\n box-shadow: none;\\n pointer-events: none;\\n background: rgba(61, 112, 178, 0.1);\\n width: 4.6875rem;\\n height: 0.875rem; }\\n .bx--label.bx--skeleton:hover, .bx--label.bx--skeleton:focus, .bx--label.bx--skeleton:active {\\n border: none;\\n outline: none;\\n cursor: default; }\\n .bx--label.bx--skeleton:before {\\n content: '';\\n width: 0%;\\n height: 100%;\\n position: absolute;\\n top: 0;\\n left: 0;\\n opacity: 0.3;\\n background: rgba(61, 112, 178, 0.1);\\n -webkit-animation: 3000ms ease-in-out skeleton infinite;\\n animation: 3000ms ease-in-out skeleton infinite; }\\n\\ninput[type='number'] {\\n font-family: 'IBM Plex Mono', 'Menlo', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', Courier, monospace; }\\n\\ninput[data-invalid],\\n.bx--text-input__field-wrapper[data-invalid],\\n.bx--text-area__wrapper[data-invalid] > .bx--text-area--invalid,\\n.bx--select-input__wrapper[data-invalid],\\n.bx--list-box[data-invalid] {\\n outline: 2px solid #da1e28;\\n outline-offset: -2px; }\\n\\ninput[data-invalid] ~ .bx--form-requirement,\\n.bx--text-input__field-wrapper[data-invalid] ~ .bx--form-requirement,\\n.bx--text-area__wrapper[data-invalid] ~ .bx--form-requirement,\\n.bx--select-input__wrapper[data-invalid] ~ .bx--form-requirement,\\n.bx--time-picker[data-invalid] ~ .bx--form-requirement,\\n.bx--list-box[data-invalid] ~ .bx--form-requirement {\\n max-height: 12.5rem;\\n display: block;\\n color: #da1e28; }\\n\\ninput:not(output):not([data-invalid]):-moz-ui-invalid {\\n box-shadow: none; }\\n\\n.bx--form-requirement {\\n font-family: 'IBM Plex Sans', 'Helvetica Neue', Arial, sans-serif;\\n font-size: 0.75rem;\\n font-weight: 400;\\n line-height: 1rem;\\n letter-spacing: 0.32px;\\n margin: 0.25rem 0 0;\\n max-height: 0;\\n overflow: hidden;\\n line-height: 1.5;\\n display: none; }\\n\\n.bx--label + .bx--form__helper-text {\\n margin-top: -0.375rem; }\\n\\n.bx--form__helper-text {\\n font-family: 'IBM Plex Sans', 'Helvetica Neue', Arial, sans-serif;\\n font-size: 0.75rem;\\n font-style: italic;\\n line-height: 1rem;\\n letter-spacing: 0.32px;\\n font-style: italic;\\n color: #565656;\\n z-index: 0;\\n opacity: 1;\\n margin-bottom: 0.5rem; }\\n\\n.bx--label--disabled,\\n.bx--form__helper-text--disabled {\\n color: #bebebe; }\\n\\n@media (min-width: 576px) {\\n .bx--form__helper-text {\\n max-width: 75%; } }\\n\\n@-webkit-keyframes rotate {\\n 0% {\\n -webkit-transform: rotate(0deg);\\n transform: rotate(0deg); }\\n 100% {\\n -webkit-transform: rotate(360deg);\\n transform: rotate(360deg); } }\\n\\n@keyframes rotate {\\n 0% {\\n -webkit-transform: rotate(0deg);\\n transform: rotate(0deg); }\\n 100% {\\n -webkit-transform: rotate(360deg);\\n transform: rotate(360deg); } }\\n\\n@-webkit-keyframes rotate-end-p1 {\\n 100% {\\n -webkit-transform: rotate(360deg);\\n transform: rotate(360deg); } }\\n\\n@keyframes rotate-end-p1 {\\n 100% {\\n -webkit-transform: rotate(360deg);\\n transform: rotate(360deg); } }\\n\\n@-webkit-keyframes rotate-end-p2 {\\n 100% {\\n -webkit-transform: rotate(-360deg);\\n transform: rotate(-360deg); } }\\n\\n@keyframes rotate-end-p2 {\\n 100% {\\n -webkit-transform: rotate(-360deg);\\n transform: rotate(-360deg); } }\\n\\n/* Stroke animations */\\n@-webkit-keyframes init-stroke {\\n 0% {\\n stroke-dashoffset: 240; }\\n 100% {\\n stroke-dashoffset: 40; } }\\n@keyframes init-stroke {\\n 0% {\\n stroke-dashoffset: 240; }\\n 100% {\\n stroke-dashoffset: 40; } }\\n\\n@-webkit-keyframes stroke-end {\\n 0% {\\n stroke-dashoffset: 40; }\\n 100% {\\n stroke-dashoffset: 240; } }\\n\\n@keyframes stroke-end {\\n 0% {\\n stroke-dashoffset: 40; }\\n 100% {\\n stroke-dashoffset: 240; } }\\n\\n.bx--loading {\\n -webkit-animation-name: rotate;\\n animation-name: rotate;\\n -webkit-animation-duration: 690ms;\\n animation-duration: 690ms;\\n -webkit-animation-timing-function: linear;\\n animation-timing-function: linear;\\n -webkit-animation-fill-mode: forwards;\\n animation-fill-mode: forwards;\\n -webkit-animation-iteration-count: infinite;\\n animation-iteration-count: infinite;\\n width: 10.5rem;\\n height: 10.5rem; }\\n .bx--loading svg circle {\\n -webkit-animation-name: init-stroke;\\n animation-name: init-stroke;\\n -webkit-animation-duration: 10ms;\\n animation-duration: 10ms;\\n -webkit-animation-timing-function: cubic-bezier(0.2, 0, 0.38, 0.9);\\n animation-timing-function: cubic-bezier(0.2, 0, 0.38, 0.9); }\\n\\n.bx--loading__svg {\\n fill: transparent; }\\n\\n.bx--loading__svg circle {\\n stroke-width: 8;\\n stroke-linecap: butt;\\n stroke-dasharray: 240; }\\n\\n.bx--loading__stroke {\\n stroke: #0062ff;\\n stroke-dashoffset: 40; }\\n\\n.bx--loading--stop {\\n -webkit-animation: rotate-end-p1 700ms cubic-bezier(0.2, 0, 1, 0.9) forwards, rotate-end-p2 700ms cubic-bezier(0.2, 0, 1, 0.9) 700ms forwards;\\n animation: rotate-end-p1 700ms cubic-bezier(0.2, 0, 1, 0.9) forwards, rotate-end-p2 700ms cubic-bezier(0.2, 0, 1, 0.9) 700ms forwards; }\\n .bx--loading--stop svg circle {\\n -webkit-animation-name: stroke-end;\\n animation-name: stroke-end;\\n -webkit-animation-duration: 700ms;\\n animation-duration: 700ms;\\n -webkit-animation-timing-function: cubic-bezier(0.2, 0, 1, 0.9);\\n animation-timing-function: cubic-bezier(0.2, 0, 1, 0.9);\\n -webkit-animation-delay: 700ms;\\n animation-delay: 700ms;\\n -webkit-animation-fill-mode: forwards;\\n animation-fill-mode: forwards; }\\n\\n.bx--loading--small {\\n width: 2rem;\\n height: 2rem; }\\n .bx--loading--small circle {\\n stroke-width: 12; }\\n\\n.bx--loading--small .bx--loading__svg {\\n stroke: #0062ff; }\\n\\n.bx--loading__background {\\n stroke: #dcdcdc;\\n stroke-dashoffset: 0; }\\n\\n.bx--loading-overlay {\\n position: fixed;\\n top: 0;\\n left: 0;\\n height: 100%;\\n width: 100%;\\n background-color: rgba(255, 255, 255, 0.6);\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -webkit-box-pack: center;\\n -ms-flex-pack: center;\\n justify-content: center;\\n -webkit-box-align: center;\\n -ms-flex-align: center;\\n align-items: center;\\n -webkit-transition: background-color 720ms cubic-bezier(0.4, 0.14, 0.3, 1);\\n transition: background-color 720ms cubic-bezier(0.4, 0.14, 0.3, 1);\\n z-index: 8000; }\\n\\n.bx--loading-overlay--stop {\\n display: none; }\\n\\n.bx--file {\\n width: 100%; }\\n\\n.bx--file--invalid {\\n margin-right: 0.5rem;\\n fill: #da1e28; }\\n\\n.bx--file--label {\\n font-family: 'IBM Plex Sans', 'Helvetica Neue', Arial, sans-serif;\\n font-size: 0.875rem;\\n font-weight: 600;\\n line-height: 1.125rem;\\n letter-spacing: 0.16px;\\n color: #171717;\\n margin-bottom: 0.5rem; }\\n\\n.bx--file-input {\\n position: absolute;\\n width: 1px;\\n height: 1px;\\n padding: 0;\\n margin: -1px;\\n overflow: hidden;\\n clip: rect(0, 0, 0, 0);\\n border: 0;\\n visibility: visible;\\n white-space: nowrap; }\\n\\n.bx--file-btn {\\n display: -webkit-inline-box;\\n display: -ms-inline-flexbox;\\n display: inline-flex;\\n margin: 0;\\n padding-right: 4rem; }\\n\\n.bx--label-description {\\n font-family: 'IBM Plex Sans', 'Helvetica Neue', Arial, sans-serif;\\n font-size: 0.875rem;\\n font-weight: 400;\\n line-height: 1.125rem;\\n letter-spacing: 0.16px;\\n color: #565656;\\n margin-bottom: 1rem; }\\n\\n.bx--file-container {\\n display: block;\\n width: 100%;\\n margin-top: 1.5rem; }\\n\\n.bx--file__selected-file {\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -webkit-box-align: center;\\n -ms-flex-align: center;\\n align-items: center;\\n -webkit-box-pack: justify;\\n -ms-flex-pack: justify;\\n justify-content: space-between;\\n min-height: 2.5rem;\\n max-width: 18.75rem;\\n margin-bottom: 0.5rem;\\n padding: 0 0.5rem 0 1rem;\\n background-color: #f3f3f3;\\n overflow: hidden; }\\n .bx--file__selected-file:last-child {\\n margin-bottom: 0; }\\n .bx--file__selected-file .bx--inline-loading__animation,\\n .bx--file__selected-file .bx--loading {\\n right: -0.25rem;\\n width: 1.5rem;\\n height: 1.5rem; }\\n\\n.bx--file__selected-file--invalid {\\n outline: 2px solid #da1e28;\\n outline-offset: -2px;\\n margin-bottom: 0.25rem; }\\n\\n.bx--file__selected-file--invalid + .bx--form-requirement {\\n display: block;\\n max-height: 12.5rem;\\n color: #da1e28;\\n font-weight: 400;\\n margin: 0 0 0.5rem 0;\\n overflow: visible; }\\n\\n.bx--file-filename {\\n font-family: 'IBM Plex Sans', 'Helvetica Neue', Arial, sans-serif;\\n font-size: 0.875rem;\\n font-weight: 400;\\n line-height: 1.125rem;\\n letter-spacing: 0.16px;\\n display: block;\\n overflow-x: hidden;\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n width: 300px;\\n display: inline-block;\\n -webkit-box-align: center;\\n -ms-flex-align: center;\\n align-items: center;\\n color: #171717;\\n margin-right: 1rem;\\n /*rtl:ignore*/\\n direction: ltr;\\n -webkit-box-pack: start;\\n -ms-flex-pack: start;\\n justify-content: flex-start;\\n /*rtl:{flex-end}*/ }\\n\\n.bx--file__state-container {\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -webkit-box-align: center;\\n -ms-flex-align: center;\\n align-items: center; }\\n .bx--file__state-container .bx--loading__svg {\\n stroke: #171717; }\\n\\n.bx--file__state-container .bx--file-complete {\\n fill: #24a148;\\n cursor: pointer; }\\n .bx--file__state-container .bx--file-complete:focus {\\n outline: 1px solid #0062ff; }\\n\\n.bx--file__state-container .bx--file-close {\\n background: transparent;\\n border: none;\\n cursor: pointer;\\n padding: 0; }\\n\\n.bx--form-item.bx--checkbox-wrapper {\\n margin-bottom: 0.5rem; }\\n\\n.bx--form-item.bx--checkbox-wrapper:first-of-type {\\n margin-top: 0.1875rem; }\\n\\n.bx--label + .bx--form-item.bx--checkbox-wrapper {\\n margin-top: 0; }\\n\\n.bx--form-item.bx--checkbox-wrapper:last-of-type {\\n margin-bottom: 0.1875rem; }\\n\\n.bx--checkbox {\\n position: absolute;\\n width: 1px;\\n height: 1px;\\n padding: 0;\\n margin: -1px;\\n overflow: hidden;\\n clip: rect(0, 0, 0, 0);\\n border: 0;\\n visibility: visible;\\n white-space: nowrap; }\\n\\n.bx--checkbox-label {\\n font-family: 'IBM Plex Sans', 'Helvetica Neue', Arial, sans-serif;\\n font-size: 0.875rem;\\n font-weight: 400;\\n line-height: 1.125rem;\\n letter-spacing: 0.16px;\\n line-height: 1.5rem;\\n position: relative;\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n cursor: pointer;\\n padding-left: 1.625rem;\\n min-height: 1.5rem;\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n -ms-user-select: none;\\n user-select: none; }\\n\\n.bx--checkbox-label::before {\\n -webkit-box-sizing: border-box;\\n box-sizing: border-box;\\n content: '';\\n width: 1rem;\\n height: 1rem;\\n margin: 0.125rem;\\n position: absolute;\\n left: 0;\\n top: 0.125rem;\\n background-color: transparent;\\n border: 1px solid #171717;\\n border-radius: 1px; }\\n\\n.bx--checkbox-label::after {\\n content: '';\\n position: absolute;\\n left: 0.375rem;\\n top: 0.5rem;\\n width: 0.4375rem;\\n height: 0.1875rem;\\n background: none;\\n border-left: 2px solid #ffffff;\\n border-bottom: 2px solid #ffffff;\\n -webkit-transform: scale(0) rotate(-45deg);\\n transform: scale(0) rotate(-45deg);\\n -webkit-transform-origin: bottom right;\\n transform-origin: bottom right;\\n margin-top: -0.1875rem; }\\n\\n.bx--checkbox:checked + .bx--checkbox-label::before,\\n.bx--checkbox:indeterminate + .bx--checkbox-label::before,\\n.bx--checkbox-label[data-contained-checkbox-state='true']::before,\\n.bx--checkbox-label[data-contained-checkbox-state='mixed']::before {\\n background-color: #171717;\\n border-color: #171717;\\n border-width: 1px; }\\n\\n.bx--checkbox:checked + .bx--checkbox-label::after,\\n.bx--checkbox-label[data-contained-checkbox-state='true']::after {\\n -webkit-transform: scale(1) rotate(-45deg);\\n transform: scale(1) rotate(-45deg); }\\n\\n.bx--checkbox:indeterminate + .bx--checkbox-label::after,\\n.bx--checkbox-label[data-contained-checkbox-state='mixed']::after {\\n -webkit-transform: scale(1) rotate(0deg);\\n transform: scale(1) rotate(0deg);\\n border-left: 0 solid #ffffff;\\n border-bottom: 2px solid #ffffff;\\n width: 0.5rem;\\n top: 0.6875rem; }\\n\\n.bx--checkbox:focus + .bx--checkbox-label::before,\\n.bx--checkbox-label__focus::before,\\n.bx--checkbox:checked:focus + .bx--checkbox-label::before,\\n.bx--checkbox-label[data-contained-checkbox-state='true'].bx--checkbox-label__focus::before,\\n.bx--checkbox:indeterminate:focus + .bx--checkbox-label::before,\\n.bx--checkbox-label[data-contained-checkbox-state='mixed'].bx--checkbox-label__focus::before {\\n border-color: #0062ff;\\n border-width: 3px;\\n width: 1.25rem;\\n height: 1.25rem;\\n left: -2px;\\n top: 0; }\\n\\n[disabled] ~ _ {\\n font-size: inherit; }\\n\\n.bx--checkbox:disabled + .bx--checkbox-label,\\n.bx--checkbox-label[data-contained-checkbox-disabled='true'] {\\n cursor: not-allowed;\\n color: #bebebe; }\\n\\n.bx--checkbox:disabled + .bx--checkbox-label::before,\\n.bx--checkbox-label[data-contained-checkbox-disabled='true']::before {\\n border-color: #bebebe; }\\n\\n.bx--checkbox:checked:disabled + .bx--checkbox-label::before,\\n.bx--checkbox:indeterminate:disabled + .bx--checkbox-label::before,\\n.bx--checkbox-label[data-contained-checkbox-state='true'][data-contained-checkbox-disabled='true']::before,\\n.bx--checkbox-label[data-contained-checkbox-state='mixed'][data-contained-checkbox-disabled='true']::before {\\n background-color: #bebebe; }\\n\\n.bx--list-box__wrapper--inline {\\n display: inline-grid;\\n -webkit-box-align: center;\\n -ms-flex-align: center;\\n align-items: center;\\n grid-template: auto auto / auto auto;\\n grid-gap: 0.25rem; }\\n .bx--list-box__wrapper--inline .bx--label {\\n font-family: 'IBM Plex Sans', 'Helvetica Neue', Arial, sans-serif;\\n font-size: 0.875rem;\\n font-weight: 400;\\n line-height: 1.125rem;\\n letter-spacing: 0.16px; }\\n .bx--list-box__wrapper--inline .bx--label,\\n .bx--list-box__wrapper--inline .bx--form__helper-text,\\n .bx--list-box__wrapper--inline .bx--form-requirement {\\n margin: 0; }\\n .bx--list-box__wrapper--inline .bx--form__helper-text {\\n max-width: none; }\\n .bx--list-box__wrapper--inline .bx--form-requirement {\\n grid-column: 2; }\\n\\n.bx--list-box {\\n position: relative;\\n width: 100%;\\n height: 2.5rem;\\n max-height: 2.5rem;\\n background-color: #f3f3f3;\\n border: none;\\n border-bottom: 1px solid #8c8c8c;\\n cursor: pointer;\\n color: #171717;\\n -webkit-transition: all 110ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: all 110ms cubic-bezier(0.2, 0, 0.38, 0.9); }\\n .bx--list-box:hover {\\n background-color: #e5e5e5; }\\n\\n.bx--list-box--expanded {\\n border-bottom-color: #dcdcdc; }\\n\\n.bx--list-box--expanded:hover {\\n background-color: #f3f3f3; }\\n\\n.bx--list-box--expanded:hover.bx--list-box--light:hover {\\n background-color: #ffffff; }\\n\\n.bx--list-box .bx--text-input {\\n height: 100%; }\\n\\n.bx--list-box__invalid-icon {\\n position: absolute;\\n top: 0.75rem;\\n right: 2.5rem;\\n fill: #da1e28; }\\n\\n.bx--list-box--inline .bx--list-box__invalid-icon {\\n top: 0.5rem; }\\n\\n.bx--list-box[data-invalid] .bx--list-box__field {\\n border-bottom: 0;\\n padding-right: 4rem; }\\n\\n.bx--list-box[data-invalid].bx--list-box--inline .bx--list-box__field {\\n padding-right: 3.5rem; }\\n\\n.bx--list-box--light {\\n background-color: #ffffff; }\\n\\n.bx--list-box--light.bx--list-box--expanded {\\n border-bottom-width: 0; }\\n\\n.bx--list-box--disabled:hover {\\n background-color: #f3f3f3; }\\n\\n.bx--list-box--light.bx--list-box--disabled {\\n background-color: #ffffff; }\\n\\n.bx--list-box--disabled,\\n.bx--list-box--disabled .bx--list-box__field,\\n.bx--list-box--disabled .bx--list-box__field:focus {\\n border-bottom-width: 0;\\n outline: none; }\\n\\n.bx--list-box--disabled .bx--list-box__label,\\n.bx--list-box--disabled.bx--list-box--inline .bx--list-box__label {\\n color: #bebebe; }\\n\\n.bx--list-box--disabled .bx--list-box__menu-icon > svg {\\n fill: #bebebe; }\\n\\n.bx--list-box--disabled,\\n.bx--list-box--disabled .bx--list-box__field,\\n.bx--list-box--disabled .bx--list-box__menu-icon {\\n cursor: not-allowed; }\\n\\n.bx--list-box--disabled .bx--list-box__menu-item,\\n.bx--list-box--disabled .bx--list-box__menu-item:hover,\\n.bx--list-box--disabled .bx--list-box__menu-item--highlighted {\\n color: #bebebe;\\n text-decoration: none; }\\n\\n.bx--list-box--disabled .bx--list-box__selection:hover {\\n cursor: not-allowed; }\\n\\n.bx--list-box--disabled.bx--list-box[data-invalid] .bx--list-box__field {\\n padding-right: 3rem; }\\n\\n.bx--list-box--disabled.bx--list-box[data-invalid].bx--list-box--inline .bx--list-box__field {\\n padding-right: 2rem; }\\n\\n.bx--list-box.bx--list-box--inline {\\n background-color: #ffffff;\\n border-width: 0; }\\n .bx--list-box.bx--list-box--inline:hover {\\n background-color: #e5e5e5; }\\n\\n.bx--list-box.bx--list-box--inline.bx--list-box--expanded {\\n border-bottom-width: 0; }\\n\\n.bx--list-box.bx--list-box--inline.bx--list-box--expanded\\n.bx--list-box__field[aria-expanded='true'] {\\n border-width: 0; }\\n\\n.bx--list-box.bx--list-box--inline.bx--list-box--disabled:hover,\\n.bx--list-box.bx--list-box--inline.bx--list-box--expanded:hover {\\n background-color: #ffffff; }\\n\\n.bx--list-box.bx--list-box--inline,\\n.bx--list-box.bx--list-box--inline .bx--list-box__field {\\n height: 2rem; }\\n\\n.bx--list-box.bx--list-box--inline .bx--list-box__field {\\n padding: 0 2rem 0 0.5rem; }\\n\\n.bx--list-box.bx--list-box--inline .bx--list-box__menu-icon {\\n padding: 0 0.5rem; }\\n\\n.bx--list-box.bx--list-box--inline .bx--list-box__invalid-icon {\\n right: 2rem; }\\n\\n.bx--list-box--inline .bx--list-box__label {\\n color: #171717; }\\n\\n.bx--list-box__field {\\n display: inline-block;\\n background: none;\\n -webkit-appearance: none;\\n -moz-appearance: none;\\n appearance: none;\\n border: 0;\\n padding: 0;\\n cursor: pointer;\\n width: 100%;\\n position: relative;\\n display: -webkit-inline-box;\\n display: -ms-inline-flexbox;\\n display: inline-flex;\\n -webkit-box-align: center;\\n -ms-flex-align: center;\\n align-items: center;\\n vertical-align: top;\\n height: 2.5rem;\\n padding: 0 3rem 0 1rem;\\n cursor: pointer;\\n outline: none;\\n white-space: nowrap;\\n overflow: hidden;\\n text-overflow: ellipsis; }\\n .bx--list-box__field::-moz-focus-inner {\\n border: 0; }\\n\\n.bx--list-box__field:focus {\\n outline: 2px solid #0062ff;\\n outline-offset: -2px; }\\n\\n.bx--list-box__field[disabled] {\\n outline: none;\\n color: #bebebe; }\\n\\n.bx--list-box__field .bx--text-input {\\n border-bottom: none; }\\n\\n.bx--list-box__label {\\n font-family: 'IBM Plex Sans', 'Helvetica Neue', Arial, sans-serif;\\n font-size: 0.875rem;\\n font-weight: 400;\\n line-height: 1.125rem;\\n letter-spacing: 0.16px;\\n color: #171717;\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n -ms-user-select: none;\\n user-select: none;\\n text-overflow: ellipsis;\\n overflow: hidden;\\n white-space: nowrap; }\\n\\n.bx--list-box__menu-icon {\\n display: inline-block;\\n position: absolute;\\n top: 0;\\n right: 0;\\n bottom: 0;\\n height: 100%;\\n padding: 0 1rem;\\n -webkit-transition: -webkit-transform 110ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: -webkit-transform 110ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: transform 110ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: transform 110ms cubic-bezier(0.2, 0, 0.38, 0.9), -webkit-transform 110ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n cursor: pointer; }\\n\\n.bx--list-box__menu-icon > svg {\\n fill: #171717;\\n height: 100%; }\\n\\n.bx--list-box__menu-icon--open {\\n -webkit-transform: rotate(180deg);\\n transform: rotate(180deg); }\\n\\n.bx--list-box__selection {\\n display: inline-block;\\n position: absolute;\\n top: 0;\\n right: 1.625rem;\\n bottom: 0;\\n height: 2.5rem;\\n padding: 0 1rem;\\n cursor: pointer;\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n -ms-user-select: none;\\n user-select: none;\\n -webkit-transition: background-color 110ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: background-color 110ms cubic-bezier(0.2, 0, 0.38, 0.9); }\\n\\n.bx--list-box__selection > svg {\\n fill: #171717;\\n height: 100%; }\\n\\n.bx--list-box__selection--multi {\\n font-family: 'IBM Plex Sans', 'Helvetica Neue', Arial, sans-serif;\\n font-size: 0.75rem;\\n font-weight: 400;\\n line-height: 1rem;\\n letter-spacing: 0.32px;\\n position: static;\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -webkit-box-align: center;\\n -ms-flex-align: center;\\n align-items: center;\\n -webkit-box-pack: justify;\\n -ms-flex-pack: justify;\\n justify-content: space-between;\\n padding: 0;\\n background-color: #3d3d3d;\\n height: 1.5rem;\\n color: #ffffff;\\n line-height: 0;\\n padding: 0.5rem;\\n padding-right: 0.125rem;\\n margin-right: 0.625rem;\\n border-radius: 0.75rem; }\\n\\n.bx--list-box__selection--multi > svg {\\n fill: white;\\n margin-left: 0.25rem;\\n width: 1.25rem;\\n height: 1.25rem;\\n padding: 0.125rem; }\\n\\n.bx--list-box__selection--multi > svg:hover {\\n border-radius: 50%;\\n background-color: #4c4c4c; }\\n\\n.bx--list-box__selection--multi:focus,\\n.bx--list-box__selection--multi:hover {\\n outline: none; }\\n\\n.bx--list-box__menu {\\n -webkit-box-shadow: 0px 3px 3px 0 rgba(0, 0, 0, 0.1);\\n box-shadow: 0px 3px 3px 0 rgba(0, 0, 0, 0.1);\\n position: absolute;\\n left: 0;\\n right: 0;\\n width: 100%;\\n background-color: #f3f3f3;\\n max-height: 8.75rem;\\n overflow-y: auto;\\n z-index: 7000; }\\n\\n.bx--list-box__menu-item {\\n font-family: 'IBM Plex Sans', 'Helvetica Neue', Arial, sans-serif;\\n font-size: 0.875rem;\\n font-weight: 400;\\n line-height: 1.125rem;\\n letter-spacing: 0.16px;\\n height: 2.5rem;\\n color: #565656;\\n cursor: pointer;\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n -ms-user-select: none;\\n user-select: none;\\n position: relative; }\\n .bx--list-box__menu-item:hover {\\n background-color: #e5e5e5; }\\n .bx--list-box__menu-item:hover + .bx--list-box__menu-item .bx--list-box__menu-item__option {\\n border-color: transparent; }\\n .bx--list-box__menu-item:active {\\n background-color: #dcdcdc; }\\n\\n.bx--list-box__menu-item:first-of-type .bx--list-box__menu-item__option {\\n border-top-color: transparent; }\\n\\n.bx--list-box__menu-item:hover .bx--list-box__menu-item__option {\\n color: #171717; }\\n\\n.bx--list-box__menu-item__option {\\n outline: 2px solid transparent;\\n outline-offset: -2px;\\n display: block;\\n height: 2.5rem;\\n color: #565656;\\n text-decoration: none;\\n font-weight: normal;\\n line-height: 1rem;\\n padding: 0.6875rem 0;\\n margin: 0 1rem;\\n border: 1px solid transparent;\\n border-top-color: #dcdcdc;\\n text-overflow: ellipsis;\\n overflow: hidden;\\n white-space: nowrap; }\\n .bx--list-box__menu-item__option:focus {\\n outline: 2px solid #0062ff;\\n outline-offset: -2px;\\n margin: 0;\\n padding: 0.6875rem 1rem;\\n border-color: transparent; }\\n .bx--list-box__menu-item__option:hover {\\n color: #171717;\\n border-color: transparent; }\\n\\n.bx--list-box.bx--list-box--inline .bx--list-box__menu-item__option {\\n margin: 0 0.5rem; }\\n .bx--list-box.bx--list-box--inline .bx--list-box__menu-item__option:focus {\\n margin: 0;\\n padding-left: 0.5rem;\\n padding-right: 0.5rem; }\\n\\n.bx--list-box__menu-item--highlighted {\\n background-color: #e5e5e5;\\n color: #171717;\\n border-color: transparent; }\\n .bx--list-box__menu-item--highlighted > .bx--list-box__menu-item__option,\\n .bx--list-box__menu-item--highlighted + .bx--list-box__menu-item .bx--list-box__menu-item__option {\\n border-color: transparent; }\\n\\n.bx--list-box__menu-item--highlighted .bx--list-box__menu-item__option {\\n color: #171717; }\\n\\n.bx--list-box__menu-item--active,\\n.bx--list-box__menu-item--active:hover {\\n color: #171717;\\n background-color: #dcdcdc;\\n border-bottom-color: #dcdcdc; }\\n\\n.bx--list-box__menu-item .bx--checkbox-label {\\n width: 100%; }\\n\\n.bx--list-box__menu-item .bx--checkbox-label-text {\\n white-space: nowrap;\\n text-overflow: ellipsis;\\n overflow: hidden; }\\n\\n.bx--list-box input[role='combobox'] {\\n background-color: inherit;\\n min-width: 0; }\\n\\n.bx--combo-box .bx--text-input {\\n padding-right: 3rem; }\\n .bx--combo-box .bx--text-input::-webkit-input-placeholder {\\n color: #565656;\\n opacity: 1; }\\n .bx--combo-box .bx--text-input::-moz-placeholder {\\n color: #565656;\\n opacity: 1; }\\n .bx--combo-box .bx--text-input::-ms-input-placeholder {\\n color: #565656;\\n opacity: 1; }\\n .bx--combo-box .bx--text-input::placeholder {\\n color: #565656;\\n opacity: 1; }\\n .bx--combo-box .bx--text-input[disabled]::-webkit-input-placeholder {\\n color: #bebebe; }\\n .bx--combo-box .bx--text-input[disabled]::-moz-placeholder {\\n color: #bebebe; }\\n .bx--combo-box .bx--text-input[disabled]::-ms-input-placeholder {\\n color: #bebebe; }\\n .bx--combo-box .bx--text-input[disabled]::placeholder {\\n color: #bebebe; }\\n\\n.bx--combo-box.bx--list-box[data-invalid] .bx--text-input {\\n padding-right: 4rem; }\\n\\n.bx--combo-box .bx--list-box__field,\\n.bx--combo-box.bx--list-box[data-invalid] .bx--list-box__field {\\n padding: 0; }\\n\\n.bx--radio-button-group {\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -webkit-box-align: center;\\n -ms-flex-align: center;\\n align-items: center;\\n margin-top: 0.375rem; }\\n\\n.bx--radio-button-group--vertical {\\n -webkit-box-orient: vertical;\\n -webkit-box-direction: normal;\\n -ms-flex-direction: column;\\n flex-direction: column; }\\n .bx--radio-button-group--vertical .bx--radio-button__label {\\n margin-right: 0; }\\n .bx--radio-button-group--vertical .bx--radio-button__label:not(:last-of-type) {\\n margin-bottom: 0.5rem; }\\n\\n.bx--radio-button {\\n position: absolute;\\n width: 1px;\\n height: 1px;\\n padding: 0;\\n margin: -1px;\\n overflow: hidden;\\n clip: rect(0, 0, 0, 0);\\n border: 0;\\n visibility: visible;\\n white-space: nowrap;\\n visibility: unset; }\\n\\n.bx--radio-button__label {\\n font-family: 'IBM Plex Sans', 'Helvetica Neue', Arial, sans-serif;\\n font-size: 0.875rem;\\n font-weight: 400;\\n line-height: 1.125rem;\\n letter-spacing: 0.16px;\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -webkit-box-align: center;\\n -ms-flex-align: center;\\n align-items: center;\\n cursor: pointer;\\n margin-right: 1rem; }\\n\\n.bx--radio-button__appearance {\\n background-color: #ffffff;\\n border-radius: 50%;\\n border: 1px solid #171717;\\n -ms-flex-negative: 0;\\n flex-shrink: 0;\\n height: 1.125rem;\\n width: 1.125rem;\\n margin-right: 0.5rem; }\\n\\n.bx--radio-button:checked + .bx--radio-button__label .bx--radio-button__appearance {\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -webkit-box-align: center;\\n -ms-flex-align: center;\\n align-items: center;\\n -webkit-box-pack: center;\\n -ms-flex-pack: center;\\n justify-content: center;\\n border-color: #171717; }\\n .bx--radio-button:checked + .bx--radio-button__label .bx--radio-button__appearance:before {\\n content: '';\\n display: inline-block;\\n position: relative;\\n width: 0.5rem;\\n height: 0.5rem;\\n border-radius: 50%;\\n background-color: #171717; }\\n\\n[disabled] ~ _ {\\n font-size: inherit; }\\n\\n.bx--radio-button:disabled + .bx--radio-button__label {\\n color: #bebebe;\\n cursor: not-allowed; }\\n\\n.bx--radio-button:disabled + .bx--radio-button__label .bx--radio-button__appearance,\\n.bx--radio-button:disabled:checked + .bx--radio-button__label .bx--radio-button__appearance {\\n border-color: #bebebe; }\\n .bx--radio-button:disabled + .bx--radio-button__label .bx--radio-button__appearance::before,\\n .bx--radio-button:disabled:checked + .bx--radio-button__label .bx--radio-button__appearance::before {\\n background-color: #bebebe; }\\n\\n.bx--radio-button:focus + .bx--radio-button__label .bx--radio-button__appearance {\\n -webkit-box-shadow: 0 0 0 2px #0062ff;\\n box-shadow: 0 0 0 2px #0062ff;\\n outline: 1px solid transparent; }\\n\\n.bx--radio-button__label.bx--skeleton {\\n position: relative;\\n border: none;\\n padding: 0;\\n -webkit-box-shadow: none;\\n box-shadow: none;\\n pointer-events: none;\\n background: rgba(61, 112, 178, 0.1);\\n width: 6.25rem;\\n height: 1.125rem; }\\n .bx--radio-button__label.bx--skeleton:hover, .bx--radio-button__label.bx--skeleton:focus, .bx--radio-button__label.bx--skeleton:active {\\n border: none;\\n outline: none;\\n cursor: default; }\\n .bx--radio-button__label.bx--skeleton:before {\\n content: '';\\n width: 0%;\\n height: 100%;\\n position: absolute;\\n top: 0;\\n left: 0;\\n opacity: 0.3;\\n background: rgba(61, 112, 178, 0.1);\\n -webkit-animation: 3000ms ease-in-out skeleton infinite;\\n animation: 3000ms ease-in-out skeleton infinite; }\\n\\n.bx--radio-button__label.bx--skeleton .bx--radio-button__appearance {\\n display: none; }\\n\\n.bx--radio-button-wrapper .bx--radio-button__label {\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -webkit-box-align: center;\\n -ms-flex-align: center;\\n align-items: center;\\n -webkit-box-pack: center;\\n -ms-flex-pack: center;\\n justify-content: center;\\n margin: 0; }\\n\\n.bx--radio-button-wrapper:not(:last-of-type) {\\n margin-right: 1rem; }\\n\\n.bx--radio-button-group--vertical .bx--radio-button-wrapper:not(:last-of-type) {\\n margin-right: 0;\\n margin-bottom: 0.5rem; }\\n\\n.bx--radio-button-wrapper.bx--radio-button-wrapper--label-right .bx--radio-button__label {\\n -webkit-box-orient: horizontal;\\n -webkit-box-direction: normal;\\n -ms-flex-direction: row;\\n flex-direction: row; }\\n\\n.bx--radio-button-wrapper.bx--radio-button-wrapper--label-left .bx--radio-button__label {\\n -webkit-box-orient: horizontal;\\n -webkit-box-direction: reverse;\\n -ms-flex-direction: row-reverse;\\n flex-direction: row-reverse; }\\n\\n.bx--radio-button-wrapper.bx--radio-button-wrapper--label-left .bx--radio-button__appearance {\\n margin-right: 0;\\n margin-left: 0.5rem; }\\n\\n.bx--toggle {\\n position: absolute;\\n width: 1px;\\n height: 1px;\\n padding: 0;\\n margin: -1px;\\n overflow: hidden;\\n clip: rect(0, 0, 0, 0);\\n border: 0;\\n visibility: visible;\\n white-space: nowrap; }\\n .bx--toggle:focus {\\n outline: none; }\\n\\n.bx--toggle__label {\\n font-family: 'IBM Plex Sans', 'Helvetica Neue', Arial, sans-serif;\\n font-size: 0.75rem;\\n font-weight: 400;\\n line-height: 1rem;\\n letter-spacing: 0.32px;\\n position: relative;\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -webkit-box-align: center;\\n -ms-flex-align: center;\\n align-items: center;\\n cursor: pointer;\\n margin: 0.5rem 0; }\\n\\n.bx--toggle__appearance {\\n position: relative;\\n width: 3rem;\\n height: 1.5rem; }\\n .bx--toggle__appearance:before {\\n position: absolute;\\n display: block;\\n content: '';\\n background-color: #8c8c8c;\\n cursor: pointer;\\n -webkit-box-sizing: border-box;\\n box-sizing: border-box;\\n height: 1.5rem;\\n width: 3rem;\\n border-radius: 0.9375rem;\\n top: 0; }\\n .bx--toggle__appearance:after {\\n -webkit-box-sizing: border-box;\\n box-sizing: border-box;\\n position: absolute;\\n display: block;\\n cursor: pointer;\\n left: 3px;\\n top: 3px;\\n width: 1.125rem;\\n height: 1.125rem;\\n background-color: #dcdcdc;\\n border-radius: 50%;\\n content: '';\\n -webkit-transition: 70ms cubic-bezier(0.2, 0, 1, 0.9);\\n transition: 70ms cubic-bezier(0.2, 0, 1, 0.9); }\\n\\n.bx--toggle--small + .bx--toggle__label .bx--toggle__appearance {\\n width: 2rem;\\n height: 1rem; }\\n .bx--toggle--small + .bx--toggle__label .bx--toggle__appearance:before {\\n -webkit-box-sizing: border-box;\\n box-sizing: border-box;\\n height: 1rem;\\n width: 2rem;\\n border-radius: 0.9375rem;\\n top: 0; }\\n .bx--toggle--small + .bx--toggle__label .bx--toggle__appearance:after {\\n width: 0.625rem;\\n height: 0.625rem;\\n top: 3px;\\n left: 3px; }\\n\\n.bx--toggle__check {\\n fill: #dcdcdc;\\n position: absolute;\\n left: 6px;\\n top: 6px;\\n z-index: 1;\\n -webkit-transition: 70ms cubic-bezier(0.2, 0, 1, 0.9);\\n transition: 70ms cubic-bezier(0.2, 0, 1, 0.9);\\n -webkit-transform: scale(0.2);\\n transform: scale(0.2); }\\n\\n.bx--toggle--small:checked + .bx--toggle__label .bx--toggle__check {\\n fill: #24a148;\\n -webkit-transform: scale(1) translateX(16px);\\n transform: scale(1) translateX(16px); }\\n\\n.bx--toggle__text--left,\\n.bx--toggle__text--right {\\n font-family: 'IBM Plex Sans', 'Helvetica Neue', Arial, sans-serif;\\n font-size: 0.875rem;\\n font-weight: 400;\\n line-height: 1.125rem;\\n letter-spacing: 0.16px;\\n position: relative;\\n margin-left: 0.5rem; }\\n\\n.bx--toggle__text--left {\\n position: absolute;\\n left: 3rem; }\\n\\n.bx--toggle--small + .bx--toggle__label .bx--toggle__text--left {\\n left: 2rem; }\\n\\n.bx--toggle:checked + .bx--toggle__label .bx--toggle__text--left,\\n.bx--toggle:not(:checked) + .bx--toggle__label .bx--toggle__text--right {\\n visibility: hidden; }\\n\\n.bx--toggle:checked + .bx--toggle__label .bx--toggle__text--right,\\n.bx--toggle:not(:checked) + .bx--toggle__label .bx--toggle__text--left {\\n display: inline; }\\n\\n.bx--toggle:checked + .bx--toggle__label .bx--toggle__appearance:before {\\n background-color: #24a148; }\\n\\n.bx--toggle:checked + .bx--toggle__label .bx--toggle__appearance:after {\\n background-color: #ffffff;\\n -webkit-transform: translateX(24px);\\n transform: translateX(24px); }\\n\\n.bx--toggle--small:checked + .bx--toggle__label .bx--toggle__appearance:after {\\n margin-left: 0px;\\n -webkit-transform: translateX(17px);\\n transform: translateX(17px); }\\n\\n.bx--toggle + .bx--toggle__label .bx--toggle__appearance:before,\\n.bx--toggle + .bx--toggle__label .bx--toggle__appearance:before {\\n -webkit-box-shadow: 0 0 0 2px transparent;\\n box-shadow: 0 0 0 2px transparent; }\\n\\n.bx--toggle:focus + .bx--toggle__label .bx--toggle__appearance:before,\\n.bx--toggle:active + .bx--toggle__label .bx--toggle__appearance:before {\\n -webkit-box-shadow: 0 0 0 2px #0062ff;\\n box-shadow: 0 0 0 2px #0062ff; }\\n\\n.bx--toggle:disabled + .bx--toggle__label {\\n cursor: not-allowed; }\\n\\n.bx--toggle:disabled + .bx--toggle__label .bx--toggle__appearance:before {\\n background-color: #f3f3f3; }\\n\\n.bx--toggle:disabled + .bx--toggle__label .bx--toggle__appearance:after {\\n background-color: #bebebe; }\\n\\n.bx--toggle:disabled + .bx--toggle__label .bx--toggle__appearance:before, .bx--toggle:disabled + .bx--toggle__label .bx--toggle__appearance:after {\\n cursor: not-allowed;\\n -webkit-transition: 70ms cubic-bezier(0.2, 0, 1, 0.9);\\n transition: 70ms cubic-bezier(0.2, 0, 1, 0.9); }\\n\\n.bx--toggle:disabled + .bx--toggle__label .bx--toggle__text--left,\\n.bx--toggle:disabled + .bx--toggle__label .bx--toggle__text--right {\\n color: #bebebe; }\\n\\n.bx--toggle:disabled:active + .bx--toggle__label .bx--toggle__appearance:before {\\n -webkit-box-shadow: none;\\n box-shadow: none; }\\n\\n.bx--toggle:disabled + .bx--toggle__label .bx--toggle__check {\\n fill: #bebebe; }\\n\\n.bx--search {\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -webkit-box-align: center;\\n -ms-flex-align: center;\\n align-items: center;\\n position: relative;\\n width: 100%; }\\n\\n.bx--search .bx--label {\\n position: absolute;\\n width: 1px;\\n height: 1px;\\n padding: 0;\\n margin: -1px;\\n overflow: hidden;\\n clip: rect(0, 0, 0, 0);\\n border: 0;\\n visibility: visible;\\n white-space: nowrap; }\\n\\n.bx--search-input {\\n font-family: 'IBM Plex Sans', 'Helvetica Neue', Arial, sans-serif;\\n font-size: 1rem;\\n font-weight: 400;\\n line-height: 1.375rem;\\n letter-spacing: 0;\\n outline: 2px solid transparent;\\n outline-offset: -2px;\\n -webkit-appearance: none;\\n -moz-appearance: none;\\n appearance: none;\\n border: none;\\n background-color: #f3f3f3;\\n color: #171717;\\n padding: 0 2.5rem;\\n text-overflow: ellipsis;\\n width: 100%;\\n -webkit-box-ordinal-group: 2;\\n -ms-flex-order: 1;\\n order: 1;\\n -webkit-transition: background-color 70ms, outline 70ms;\\n transition: background-color 70ms, outline 70ms;\\n border-bottom: 1px solid #8c8c8c; }\\n .bx--search-input:focus {\\n outline: 2px solid #0062ff;\\n outline-offset: -2px; }\\n .bx--search-input::-webkit-input-placeholder {\\n color: #8c8c8c;\\n font-weight: 400; }\\n .bx--search-input::-moz-placeholder {\\n color: #8c8c8c;\\n font-weight: 400; }\\n .bx--search-input::-ms-input-placeholder {\\n color: #8c8c8c;\\n font-weight: 400; }\\n .bx--search-input::placeholder {\\n color: #8c8c8c;\\n font-weight: 400; }\\n .bx--search-input::-ms-clear {\\n display: none; }\\n\\n.bx--search-input[disabled] {\\n color: #bebebe;\\n background-color: #f3f3f3;\\n border-bottom: 1px solid transparent;\\n cursor: not-allowed; }\\n .bx--search-input[disabled]::-webkit-input-placeholder {\\n color: #bebebe;\\n font-weight: 400; }\\n .bx--search-input[disabled]::-moz-placeholder {\\n color: #bebebe;\\n font-weight: 400; }\\n .bx--search-input[disabled]::-ms-input-placeholder {\\n color: #bebebe;\\n font-weight: 400; }\\n .bx--search-input[disabled]::placeholder {\\n color: #bebebe;\\n font-weight: 400; }\\n\\n.bx--search-input[disabled] ~ .bx--search-magnifier {\\n fill: #bebebe; }\\n\\n.bx--search--light .bx--search-input {\\n background: #ffffff; }\\n\\n.bx--search--sm .bx--search-input {\\n font-family: 'IBM Plex Sans', 'Helvetica Neue', Arial, sans-serif;\\n font-size: 0.875rem;\\n font-weight: 400;\\n line-height: 1.125rem;\\n letter-spacing: 0.16px;\\n height: 2rem; }\\n\\n.bx--search--xl .bx--search-input {\\n font-family: 'IBM Plex Sans', 'Helvetica Neue', Arial, sans-serif;\\n font-size: 1rem;\\n font-weight: 400;\\n line-height: 1.375rem;\\n letter-spacing: 0;\\n font-size: 1.125rem;\\n height: 3rem;\\n padding: 0 4rem 0 3rem; }\\n\\n.bx--search-magnifier {\\n left: 0.75rem;\\n z-index: 2;\\n position: absolute;\\n height: 1rem;\\n width: 1rem;\\n top: 50%;\\n -webkit-transform: translateY(-50%);\\n transform: translateY(-50%);\\n fill: #565656; }\\n\\n.bx--search--xl .bx--search-magnifier {\\n height: 1.25rem;\\n width: 1.25rem;\\n left: 1.5rem;\\n -webkit-transform: translate(-50%, -50%);\\n transform: translate(-50%, -50%); }\\n\\n.bx--search-close {\\n display: inline-block;\\n background: none;\\n -webkit-appearance: none;\\n -moz-appearance: none;\\n appearance: none;\\n border: 0;\\n padding: 0;\\n cursor: pointer;\\n outline: 2px solid transparent;\\n outline-offset: -2px;\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -webkit-box-align: center;\\n -ms-flex-align: center;\\n align-items: center;\\n -webkit-box-pack: center;\\n -ms-flex-pack: center;\\n justify-content: center;\\n -webkit-transition: opacity 110ms, outline 110ms, background-color 110ms, border-color 110ms;\\n transition: opacity 110ms, outline 110ms, background-color 110ms, border-color 110ms;\\n border-bottom: 1px solid transparent;\\n cursor: pointer;\\n visibility: visible;\\n opacity: 1;\\n position: absolute;\\n height: 2.5rem;\\n width: 2.5rem;\\n right: 0;\\n fill: #171717;\\n border: 2px solid transparent;\\n border-left: 0; }\\n .bx--search-close::-moz-focus-inner {\\n border: 0; }\\n .bx--search-close:hover {\\n background-color: #e5e5e5;\\n border-bottom: 1px solid #8c8c8c; }\\n .bx--search-close:active {\\n outline: 2px solid #0062ff;\\n outline-offset: -2px;\\n background-color: #dcdcdc; }\\n\\n.bx--search-input:focus ~ .bx--search-close:hover {\\n border: 2px solid #0062ff;\\n border-left: 0; }\\n\\n.bx--search--sm .bx--search-close {\\n height: 2rem;\\n width: 2rem; }\\n\\n.bx--search--xl .bx--search-close {\\n height: 3rem;\\n width: 3rem; }\\n\\n.bx--search-close:focus {\\n outline: 2px solid #0062ff;\\n outline-offset: -2px; }\\n\\n.bx--search-close--hidden {\\n visibility: hidden;\\n opacity: 0; }\\n\\n.bx--search--lg.bx--skeleton .bx--search-input,\\n.bx--search--sm.bx--skeleton .bx--search-input {\\n position: relative;\\n border: none;\\n padding: 0;\\n -webkit-box-shadow: none;\\n box-shadow: none;\\n pointer-events: none;\\n background: rgba(61, 112, 178, 0.1);\\n width: 100%; }\\n .bx--search--lg.bx--skeleton .bx--search-input:hover, .bx--search--lg.bx--skeleton .bx--search-input:focus, .bx--search--lg.bx--skeleton .bx--search-input:active,\\n .bx--search--sm.bx--skeleton .bx--search-input:hover,\\n .bx--search--sm.bx--skeleton .bx--search-input:focus,\\n .bx--search--sm.bx--skeleton .bx--search-input:active {\\n border: none;\\n outline: none;\\n cursor: default; }\\n .bx--search--lg.bx--skeleton .bx--search-input:before,\\n .bx--search--sm.bx--skeleton .bx--search-input:before {\\n content: '';\\n width: 0%;\\n height: 100%;\\n position: absolute;\\n top: 0;\\n left: 0;\\n opacity: 0.3;\\n background: rgba(61, 112, 178, 0.1);\\n -webkit-animation: 3000ms ease-in-out skeleton infinite;\\n animation: 3000ms ease-in-out skeleton infinite; }\\n .bx--search--lg.bx--skeleton .bx--search-input::-webkit-input-placeholder,\\n .bx--search--sm.bx--skeleton .bx--search-input::-webkit-input-placeholder {\\n color: transparent; }\\n .bx--search--lg.bx--skeleton .bx--search-input::-moz-placeholder,\\n .bx--search--sm.bx--skeleton .bx--search-input::-moz-placeholder {\\n color: transparent; }\\n .bx--search--lg.bx--skeleton .bx--search-input::-ms-input-placeholder,\\n .bx--search--sm.bx--skeleton .bx--search-input::-ms-input-placeholder {\\n color: transparent; }\\n .bx--search--lg.bx--skeleton .bx--search-input::placeholder,\\n .bx--search--sm.bx--skeleton .bx--search-input::placeholder {\\n color: transparent; }\\n\\n.bx--select {\\n position: relative;\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -webkit-box-orient: vertical;\\n -webkit-box-direction: normal;\\n -ms-flex-direction: column;\\n flex-direction: column; }\\n\\n.bx--select-input__wrapper {\\n position: relative;\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -webkit-box-align: center;\\n -ms-flex-align: center;\\n align-items: center; }\\n .bx--select-input__wrapper:hover .bx--select-input {\\n background-color: #e5e5e5; }\\n\\n.bx--select-input {\\n font-family: 'IBM Plex Sans', 'Helvetica Neue', Arial, sans-serif;\\n font-size: 0.875rem;\\n font-weight: 400;\\n line-height: 1.125rem;\\n letter-spacing: 0.16px;\\n outline: 2px solid transparent;\\n outline-offset: -2px;\\n height: 2.5rem;\\n -webkit-appearance: none;\\n -moz-appearance: none;\\n appearance: none;\\n display: block;\\n width: 14rem;\\n min-width: 8rem;\\n max-width: 28rem;\\n padding: 0 2.625rem 0 1rem;\\n color: #171717;\\n background-color: #f3f3f3;\\n border: none;\\n border-bottom: 1px solid #8c8c8c;\\n border-radius: 0;\\n cursor: pointer;\\n -webkit-transition: outline 70ms, background-color 70ms;\\n transition: outline 70ms, background-color 70ms; }\\n .bx--select-input:hover {\\n background-color: #e5e5e5; }\\n .bx--select-input::-ms-expand {\\n display: none; }\\n\\n@-moz-document url-prefix() {\\n .bx--select-input {\\n padding-top: 0.25rem; } }\\n .bx--select-input:focus {\\n outline: 2px solid #0062ff;\\n outline-offset: -2px; }\\n .bx--select-input:disabled, .bx--select-input:hover:disabled {\\n cursor: not-allowed;\\n background-color: #f3f3f3;\\n color: #bebebe;\\n border-bottom-color: #f3f3f3; }\\n\\n.bx--select--disabled .bx--label,\\n.bx--select--disabled .bx--form__helper-text {\\n color: #bebebe; }\\n\\n.bx--select-input__wrapper[data-invalid] .bx--select-input {\\n padding-right: 4rem; }\\n\\n.bx--select-input__wrapper[data-invalid] .bx--select-input,\\n.bx--select-input__wrapper[data-invalid] .bx--select-input:focus {\\n outline: 2px solid #da1e28;\\n outline-offset: -2px; }\\n\\n.bx--form-requirement {\\n display: block;\\n color: #da1e28;\\n font-weight: 400;\\n overflow: visible; }\\n\\n.bx--select-input:disabled ~ .bx--select__arrow {\\n fill: #bebebe; }\\n\\n.bx--select--light .bx--select-input {\\n background-color: #ffffff; }\\n .bx--select--light .bx--select-input:hover {\\n background-color: #f3f3f3; }\\n .bx--select--light .bx--select-input:disabled, .bx--select--light .bx--select-input:hover:disabled {\\n cursor: not-allowed;\\n background-color: #f3f3f3;\\n color: #bebebe; }\\n\\n.bx--select__arrow {\\n fill: #171717;\\n position: absolute;\\n right: 1rem;\\n pointer-events: none; }\\n\\n.bx--select-input__wrapper[data-invalid] .bx--select-input ~ .bx--select__invalid-icon {\\n position: absolute;\\n right: 2.125rem; }\\n\\n.bx--select-input__wrapper[data-invalid] .bx--select-input ~ .bx--select__invalid-icon {\\n fill: #da1e28; }\\n\\n.bx--select-optgroup,\\n.bx--select-option {\\n color: #171717; }\\n\\n.bx--select-option[disabled] {\\n opacity: 0.5;\\n cursor: not-allowed; }\\n\\n@-moz-document url-prefix() {\\n .bx--select-option {\\n background-color: #f3f3f3;\\n color: #171717; }\\n .bx--select-optgroup {\\n color: #171717; } }\\n\\n.bx--select--inline {\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -webkit-box-orient: horizontal;\\n -webkit-box-direction: normal;\\n -ms-flex-direction: row;\\n flex-direction: row;\\n -webkit-box-align: center;\\n -ms-flex-align: center;\\n align-items: center; }\\n\\n.bx--select--inline.bx--select--invalid .bx--label,\\n.bx--select--inline.bx--select--invalid .bx--form__helper-text {\\n margin-top: 0.8125rem;\\n -ms-flex-item-align: start;\\n align-self: flex-start; }\\n\\n.bx--select--inline .bx--form__helper-text {\\n margin-bottom: 0;\\n margin-left: 0.5rem; }\\n\\n.bx--select--inline .bx--label {\\n white-space: nowrap;\\n margin: 0 0.5rem 0 0; }\\n\\n.bx--select--inline .bx--select-input {\\n background-color: transparent;\\n color: #171717;\\n border-bottom: none;\\n padding-left: 0.5rem;\\n padding-right: 1.625rem; }\\n\\n@-moz-document url-prefix() {\\n .bx--select--inline .bx--select-input {\\n padding-top: 0; } }\\n .bx--select--inline .bx--select-input:hover {\\n background-color: #e5e5e5; }\\n\\n.bx--select--inline .bx--select__arrow {\\n bottom: auto;\\n top: 1.125rem;\\n right: 0.5rem; }\\n\\n.bx--select--inline.bx--select--invalid .bx--select-input {\\n padding-right: 3.125rem; }\\n\\n.bx--select--inline.bx--select--invalid .bx--select-input ~ .bx--select__invalid-icon {\\n right: 1.5rem; }\\n\\n.bx--select--inline .bx--select-input:disabled {\\n color: #bebebe;\\n cursor: not-allowed; }\\n .bx--select--inline .bx--select-input:disabled:hover {\\n background-color: transparent; }\\n .bx--select--inline .bx--select-input:disabled ~ * {\\n cursor: not-allowed; }\\n\\n.bx--select--inline .bx--select-input:disabled {\\n cursor: not-allowed; }\\n\\n.bx--select.bx--skeleton {\\n position: relative;\\n border: none;\\n padding: 0;\\n -webkit-box-shadow: none;\\n box-shadow: none;\\n pointer-events: none;\\n background: rgba(61, 112, 178, 0.1);\\n width: 100%;\\n height: 2.5rem; }\\n .bx--select.bx--skeleton:hover, .bx--select.bx--skeleton:focus, .bx--select.bx--skeleton:active {\\n border: none;\\n outline: none;\\n cursor: default; }\\n .bx--select.bx--skeleton:before {\\n content: '';\\n width: 0%;\\n height: 100%;\\n position: absolute;\\n top: 0;\\n left: 0;\\n opacity: 0.3;\\n background: rgba(61, 112, 178, 0.1);\\n -webkit-animation: 3000ms ease-in-out skeleton infinite;\\n animation: 3000ms ease-in-out skeleton infinite; }\\n\\n.bx--select.bx--skeleton .bx--select-input {\\n display: none; }\\n\\n.bx--text-input {\\n font-family: 'IBM Plex Sans', 'Helvetica Neue', Arial, sans-serif;\\n font-size: 0.875rem;\\n font-weight: 400;\\n line-height: 1.125rem;\\n letter-spacing: 0.16px;\\n outline: 2px solid transparent;\\n outline-offset: -2px;\\n background-color: #f3f3f3;\\n width: 100%;\\n height: 2.5rem;\\n padding: 0 1rem;\\n color: #171717;\\n border: none;\\n border-bottom: 1px solid #8c8c8c;\\n -webkit-transition: 110ms all;\\n transition: 110ms all; }\\n .bx--text-input:focus, .bx--text-input:active {\\n outline: 2px solid #0062ff;\\n outline-offset: -2px; }\\n .bx--text-input-wrapper svg[hidden] {\\n display: none; }\\n\\n.bx--password-input {\\n padding-right: 2.5rem; }\\n\\n.bx--text-input::-webkit-input-placeholder {\\n color: #8c8c8c; }\\n\\n.bx--text-input--light {\\n background-color: #ffffff; }\\n\\n.bx--text-input__field-wrapper {\\n position: relative;\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -webkit-box-align: center;\\n -ms-flex-align: center;\\n align-items: center; }\\n .bx--text-input__field-wrapper .bx--text-input__invalid-icon {\\n position: absolute;\\n right: 1rem;\\n fill: #da1e28; }\\n .bx--text-input__field-wrapper .bx--text-input--password__visibility {\\n position: absolute;\\n height: 1rem;\\n width: 1rem;\\n right: 1rem;\\n padding: 0;\\n border: 0;\\n background: none;\\n cursor: pointer;\\n outline: inherit; }\\n .bx--text-input__field-wrapper .bx--text-input--password__visibility svg {\\n fill: #0062ff; }\\n .bx--text-input__field-wrapper .bx--text-input--password__visibility svg:hover {\\n fill: #0353e9; }\\n .bx--text-input__field-wrapper .bx--text-input--invalid {\\n padding-right: 2.5rem; }\\n .bx--text-input__field-wrapper .bx--text-input--invalid.bx--password-input {\\n padding-right: 4rem; }\\n .bx--text-input__field-wrapper .bx--text-input--invalid + .bx--text-input--password__visibility {\\n right: 2.5rem; }\\n\\n.bx--text-input:disabled + .bx--text-input--password__visibility svg {\\n opacity: 0.5;\\n cursor: not-allowed; }\\n\\n.bx--text-input:disabled {\\n cursor: not-allowed;\\n outline: none;\\n background-color: #f3f3f3;\\n border-bottom: 1px solid transparent;\\n color: #bebebe; }\\n\\n.bx--text-input--light:disabled {\\n background-color: #ffffff; }\\n\\n.bx--text-input:disabled::-webkit-input-placeholder {\\n opacity: 1;\\n color: #bebebe; }\\n\\n.bx--text-input:disabled::-moz-placeholder {\\n opacity: 1;\\n color: #bebebe; }\\n\\n.bx--text-input:disabled::-ms-input-placeholder {\\n opacity: 1;\\n color: #bebebe; }\\n\\n.bx--text-input:disabled::placeholder {\\n opacity: 1;\\n color: #bebebe; }\\n\\n.bx--text-input--invalid {\\n outline: 2px solid #da1e28;\\n outline-offset: -2px;\\n -webkit-box-shadow: none;\\n box-shadow: none; }\\n .bx--text-input--invalid .bx--text-input--password__visibility {\\n right: 2.5rem; }\\n\\n.bx--text-area {\\n font-family: 'IBM Plex Sans', 'Helvetica Neue', Arial, sans-serif;\\n font-size: 0.875rem;\\n font-weight: 400;\\n line-height: 1.25rem;\\n letter-spacing: 0.16px;\\n outline: 2px solid transparent;\\n outline-offset: -2px;\\n background-color: #f3f3f3;\\n width: 100%;\\n min-width: 10rem;\\n min-height: 2.5rem;\\n padding: 0.6875rem 1rem;\\n color: #171717;\\n -webkit-box-ordinal-group: 4;\\n -ms-flex-order: 3;\\n order: 3;\\n resize: vertical;\\n border: none;\\n border-bottom: 1px solid #8c8c8c;\\n -webkit-transition: 110ms all;\\n transition: 110ms all; }\\n .bx--text-area ~ .bx--form__helper-text {\\n margin-top: 0;\\n -webkit-box-ordinal-group: 3;\\n -ms-flex-order: 2;\\n order: 2;\\n font-style: italic; }\\n .bx--text-area ~ .bx--form-requirement {\\n -webkit-box-ordinal-group: 5;\\n -ms-flex-order: 4;\\n order: 4;\\n color: #da1e28;\\n font-weight: 400;\\n margin-top: 0.25rem; }\\n .bx--text-area ~ .bx--form-requirement::before {\\n display: none; }\\n\\n.bx--text-area:focus,\\n.bx--text-area:active {\\n outline: 2px solid #0062ff;\\n outline-offset: -2px; }\\n\\n.bx--text-area::-webkit-input-placeholder {\\n color: #8c8c8c;\\n font-family: 'IBM Plex Sans', 'Helvetica Neue', Arial, sans-serif;\\n font-size: 0.875rem;\\n font-weight: 400;\\n line-height: 1.25rem;\\n letter-spacing: 0.16px;\\n opacity: 1; }\\n\\n.bx--text-area::-moz-placeholder {\\n color: #8c8c8c;\\n font-family: 'IBM Plex Sans', 'Helvetica Neue', Arial, sans-serif;\\n font-size: 0.875rem;\\n font-weight: 400;\\n line-height: 1.25rem;\\n letter-spacing: 0.16px;\\n opacity: 1; }\\n\\n.bx--text-area::-ms-input-placeholder {\\n color: #8c8c8c;\\n font-family: 'IBM Plex Sans', 'Helvetica Neue', Arial, sans-serif;\\n font-size: 0.875rem;\\n font-weight: 400;\\n line-height: 1.25rem;\\n letter-spacing: 0.16px;\\n opacity: 1; }\\n\\n.bx--text-area::placeholder {\\n color: #8c8c8c;\\n font-family: 'IBM Plex Sans', 'Helvetica Neue', Arial, sans-serif;\\n font-size: 0.875rem;\\n font-weight: 400;\\n line-height: 1.25rem;\\n letter-spacing: 0.16px;\\n opacity: 1; }\\n\\n.bx--text-area--light {\\n background-color: #ffffff; }\\n\\n.bx--text-area--invalid {\\n padding-right: 2.5rem; }\\n\\n.bx--text-area__wrapper {\\n position: relative;\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex; }\\n\\n.bx--text-area__invalid-icon {\\n position: absolute;\\n right: 1rem;\\n top: 0.75rem;\\n fill: #da1e28; }\\n\\n.bx--text-area:disabled {\\n cursor: not-allowed;\\n outline: none;\\n background-color: #f3f3f3;\\n border-bottom: 1px solid transparent; }\\n\\n.bx--text-area:disabled::-webkit-input-placeholder {\\n color: #bebebe; }\\n\\n.bx--text-area:disabled::-moz-placeholder {\\n color: #bebebe; }\\n\\n.bx--text-area:disabled::-ms-input-placeholder {\\n color: #bebebe; }\\n\\n.bx--text-area:disabled::placeholder {\\n color: #bebebe; }\\n\\nbx--text-area.bx--skeleton {\\n position: relative;\\n border: none;\\n padding: 0;\\n -webkit-box-shadow: none;\\n box-shadow: none;\\n pointer-events: none;\\n background: rgba(61, 112, 178, 0.1);\\n height: 6.25rem; }\\n bx--text-area.bx--skeleton:hover, bx--text-area.bx--skeleton:focus, bx--text-area.bx--skeleton:active {\\n border: none;\\n outline: none;\\n cursor: default; }\\n bx--text-area.bx--skeleton:before {\\n content: '';\\n width: 0%;\\n height: 100%;\\n position: absolute;\\n top: 0;\\n left: 0;\\n opacity: 0.3;\\n background: rgba(61, 112, 178, 0.1);\\n -webkit-animation: 3000ms ease-in-out skeleton infinite;\\n animation: 3000ms ease-in-out skeleton infinite; }\\n bx--text-area.bx--skeleton::-webkit-input-placeholder {\\n color: transparent; }\\n bx--text-area.bx--skeleton::-moz-placeholder {\\n color: transparent; }\\n bx--text-area.bx--skeleton::-ms-input-placeholder {\\n color: transparent; }\\n bx--text-area.bx--skeleton::placeholder {\\n color: transparent; }\\n\\n.bx--number {\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -webkit-box-orient: vertical;\\n -webkit-box-direction: normal;\\n -ms-flex-direction: column;\\n flex-direction: column;\\n position: relative; }\\n\\n.bx--number input[type='number'] {\\n font-family: 'IBM Plex Sans', 'Helvetica Neue', Arial, sans-serif;\\n font-size: 0.875rem;\\n font-weight: 400;\\n line-height: 1.125rem;\\n letter-spacing: 0.16px;\\n outline: 2px solid transparent;\\n outline-offset: -2px;\\n font-family: 'IBM Plex Mono', 'Menlo', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', Courier, monospace;\\n -webkit-box-sizing: border-box;\\n box-sizing: border-box;\\n display: -webkit-inline-box;\\n display: -ms-inline-flexbox;\\n display: inline-flex;\\n width: 100%;\\n min-width: 9.375rem;\\n padding-left: 1rem;\\n padding-right: 2rem;\\n font-weight: 300;\\n height: 2.5rem;\\n color: #171717;\\n background-color: #f3f3f3;\\n border: none;\\n border-radius: 0;\\n border-bottom: 1px solid #8c8c8c;\\n -webkit-transition: all 110ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: all 110ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n -webkit-appearance: textfield;\\n -moz-appearance: textfield;\\n appearance: textfield; }\\n .bx--number input[type='number']:focus {\\n outline: 2px solid #0062ff;\\n outline-offset: -2px; }\\n .bx--number input[type='number']:disabled {\\n cursor: not-allowed;\\n background-color: #f3f3f3;\\n color: #bebebe; }\\n .bx--number input[type='number']:disabled ~ .bx--number__controls {\\n cursor: not-allowed;\\n pointer-events: none; }\\n .bx--number input[type='number']:disabled ~ .bx--number__controls svg {\\n fill: #bebebe; }\\n .bx--number input[type='number']::-ms-clear {\\n display: none; }\\n .bx--number input[type='number']::-webkit-inner-spin-button {\\n -webkit-appearance: none;\\n appearance: none; }\\n\\n.bx--number__input-wrapper {\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -webkit-box-align: center;\\n -ms-flex-align: center;\\n align-items: center; }\\n .bx--number__input-wrapper ~ .bx--form-requirement {\\n color: #da1e28;\\n font-weight: 400;\\n margin-top: 0.25rem;\\n overflow: visible; }\\n .bx--number__input-wrapper ~ .bx--form-requirement::before {\\n display: none; }\\n\\n.bx--number__controls {\\n position: absolute;\\n right: 0;\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -webkit-box-orient: vertical;\\n -webkit-box-direction: normal;\\n -ms-flex-direction: column;\\n flex-direction: column;\\n -webkit-box-pack: center;\\n -ms-flex-pack: center;\\n justify-content: center;\\n -webkit-box-align: center;\\n -ms-flex-align: center;\\n align-items: center; }\\n\\n.bx--number__control-btn {\\n display: inline-block;\\n background: none;\\n -webkit-appearance: none;\\n -moz-appearance: none;\\n appearance: none;\\n border: 0;\\n padding: 0;\\n cursor: pointer;\\n width: 100%;\\n display: -webkit-inline-box;\\n display: -ms-inline-flexbox;\\n display: inline-flex;\\n -webkit-box-pack: center;\\n -ms-flex-pack: center;\\n justify-content: center;\\n -webkit-box-align: center;\\n -ms-flex-align: center;\\n align-items: center;\\n width: 2rem;\\n height: 1.25rem;\\n color: #171717; }\\n .bx--number__control-btn::-moz-focus-inner {\\n border: 0; }\\n .bx--number__control-btn svg {\\n fill: currentColor;\\n position: relative; }\\n .bx--number__control-btn.up-icon svg {\\n top: 0.3125rem; }\\n .bx--number__control-btn.down-icon svg {\\n top: -0.3125rem; }\\n .bx--number__control-btn:focus {\\n outline: 1px solid #0062ff;\\n color: #171717;\\n outline-width: 2px;\\n outline-offset: -2px; }\\n .bx--number__control-btn:hover {\\n cursor: pointer; }\\n .bx--number__control-btn:hover {\\n color: #171717; }\\n .bx--number__control-btn:disabled {\\n cursor: not-allowed;\\n color: #bebebe; }\\n\\n.bx--number[data-invalid] .bx--form-requirement {\\n display: inline-block;\\n max-height: 12.5rem; }\\n\\n.bx--number[data-invalid] input[type='number'] {\\n outline: 2px solid #da1e28;\\n outline-offset: -2px; }\\n\\n.bx--number__invalid {\\n position: absolute;\\n right: 2rem;\\n fill: #da1e28; }\\n\\n.bx--number--light input[type='number'] {\\n background-color: #ffffff; }\\n\\n.bx--number--mobile {\\n min-width: 9rem;\\n width: auto; }\\n .bx--number--mobile .bx--number__control-btn,\\n .bx--number--mobile.bx--number--light .bx--number__control-btn {\\n position: static;\\n width: 2.5rem;\\n height: 2.5rem;\\n background-color: #f3f3f3; }\\n .bx--number--mobile .bx--number__control-btn:hover, .bx--number--mobile .bx--number__control-btn:focus,\\n .bx--number--mobile.bx--number--light .bx--number__control-btn:hover,\\n .bx--number--mobile.bx--number--light .bx--number__control-btn:focus {\\n background-color: #e5e5e5; }\\n .bx--number--mobile .bx--number__control-btn:focus,\\n .bx--number--mobile.bx--number--light .bx--number__control-btn:focus {\\n outline-width: 2px;\\n outline-offset: -2px; }\\n .bx--number--mobile .bx--number__control-btn svg,\\n .bx--number--mobile.bx--number--light .bx--number__control-btn svg {\\n position: static; }\\n .bx--number--mobile input[type='number'] {\\n min-width: 4rem;\\n width: auto;\\n margin: 0;\\n border-right: 1px solid #dcdcdc;\\n border-left: 1px solid #dcdcdc;\\n padding: 0;\\n text-align: center;\\n background-color: #f3f3f3; }\\n .bx--number--mobile.bx--number--light input[type='number'] {\\n background-color: #ffffff; }\\n .bx--number--mobile.bx--number--light .bx--number__control-btn {\\n background-color: #ffffff; }\\n\\n.bx--number.bx--skeleton {\\n position: relative;\\n border: none;\\n padding: 0;\\n -webkit-box-shadow: none;\\n box-shadow: none;\\n pointer-events: none;\\n background: rgba(61, 112, 178, 0.1);\\n width: 100%;\\n height: 2.5rem; }\\n .bx--number.bx--skeleton:hover, .bx--number.bx--skeleton:focus, .bx--number.bx--skeleton:active {\\n border: none;\\n outline: none;\\n cursor: default; }\\n .bx--number.bx--skeleton:before {\\n content: '';\\n width: 0%;\\n height: 100%;\\n position: absolute;\\n top: 0;\\n left: 0;\\n opacity: 0.3;\\n background: rgba(61, 112, 178, 0.1);\\n -webkit-animation: 3000ms ease-in-out skeleton infinite;\\n animation: 3000ms ease-in-out skeleton infinite; }\\n .bx--number.bx--skeleton input[type='number'] {\\n display: none; }\\n\\n.bx--link {\\n font-family: 'IBM Plex Sans', 'Helvetica Neue', Arial, sans-serif;\\n font-size: 0.875rem;\\n font-weight: 400;\\n line-height: 1.25rem;\\n letter-spacing: 0.16px;\\n color: #0062ff;\\n text-decoration: none;\\n outline: none;\\n -webkit-transition: 70ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: 70ms cubic-bezier(0.2, 0, 0.38, 0.9); }\\n .bx--link:hover {\\n color: #0062ff;\\n -webkit-box-shadow: 0 1px currentColor;\\n box-shadow: 0 1px currentColor; }\\n .bx--link:active, .bx--link:active:visited {\\n color: #171717;\\n -webkit-box-shadow: 0 1px currentColor;\\n box-shadow: 0 1px currentColor; }\\n .bx--link:focus {\\n -webkit-box-shadow: 0 3px currentColor;\\n box-shadow: 0 3px currentColor; }\\n .bx--link:not([href]) {\\n color: #bebebe;\\n cursor: not-allowed;\\n pointer-events: none;\\n -ms-touch-action: none;\\n touch-action: none; }\\n .bx--link:not([href]):hover {\\n -webkit-box-shadow: none;\\n box-shadow: none; }\\n .bx--link:visited {\\n color: #0062ff; }\\n\\n.bx--link--visited {\\n color: #8a3ffc; }\\n\\n.bx--link--disabled {\\n font-family: 'IBM Plex Sans', 'Helvetica Neue', Arial, sans-serif;\\n font-size: 0.875rem;\\n font-weight: 400;\\n line-height: 1.25rem;\\n letter-spacing: 0.16px;\\n display: inline;\\n color: #bebebe;\\n font-weight: 400;\\n cursor: not-allowed; }\\n\\n.bx--list--nested,\\n.bx--list--unordered,\\n.bx--list--ordered {\\n font-family: 'IBM Plex Sans', 'Helvetica Neue', Arial, sans-serif;\\n font-size: 0.875rem;\\n font-weight: 400;\\n line-height: 1.125rem;\\n letter-spacing: 0.16px;\\n counter-reset: listitem; }\\n\\n.bx--list__item {\\n font-weight: 400;\\n color: #171717;\\n list-style-type: none;\\n counter-increment: listitem; }\\n\\n.bx--list--nested {\\n margin-bottom: 0.25rem;\\n margin-left: 2rem; }\\n\\n.bx--list--unordered > .bx--list__item:before,\\n.bx--list--ordered > .bx--list__item:before {\\n display: inline-block;\\n margin-right: 0.5rem;\\n margin-bottom: 0.25rem; }\\n\\n.bx--list--unordered .bx--list--nested > .bx--list__item:before,\\n.bx--list--ordered .bx--list--nested > .bx--list__item:before {\\n margin-right: 0.5rem;\\n display: inline-block; }\\n\\n.bx--list--unordered > .bx--list__item:before {\\n content: '\\\\002013'; }\\n\\n.bx--list--unordered .bx--list--nested > .bx--list__item:before {\\n content: '\\\\0025AA'; }\\n\\n.bx--list--ordered > .bx--list__item:before {\\n content: counter(listitem) \\\".\\\"; }\\n\\n.bx--list--ordered .bx--list--nested > .bx--list__item {\\n counter-increment: sub-list-item; }\\n\\n.bx--list--ordered .bx--list--nested > .bx--list__item:before {\\n content: counter(sub-list-item, lower-alpha) \\\".\\\";\\n width: 0.6rem; }\\n\\n.bx--table-toolbar {\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n padding-top: 0.5rem;\\n padding-bottom: 0.5rem;\\n width: 100%;\\n position: relative; }\\n .bx--table-toolbar .bx--search-input {\\n position: relative; }\\n .bx--table-toolbar .bx--search-input:focus {\\n -webkit-box-shadow: inset 0px 0px 0px 1px #0062ff;\\n box-shadow: inset 0px 0px 0px 1px #0062ff;\\n outline: 0; }\\n\\n.bx--toolbar-content {\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n margin-left: auto; }\\n\\n.bx--toolbar-action {\\n display: inline-block;\\n background: none;\\n -webkit-appearance: none;\\n -moz-appearance: none;\\n appearance: none;\\n border: 0;\\n padding: 0;\\n cursor: pointer;\\n width: 100%;\\n cursor: pointer;\\n padding-left: 0.75rem;\\n padding-right: 0.75rem; }\\n .bx--toolbar-action::-moz-focus-inner {\\n border: 0; }\\n .bx--toolbar-action:hover > .bx--toolbar-action__icon {\\n fill: #4c4c4c; }\\n .bx--toolbar-action:focus {\\n outline: 1px solid #0062ff; }\\n .bx--toolbar-action:focus > .bx--toolbar-action__icon {\\n fill: #4c4c4c; }\\n .bx--toolbar-action:active > .bx--toolbar-action__icon {\\n fill: #4c4c4c; }\\n .bx--toolbar-action:last-of-type {\\n padding-right: 0; }\\n .bx--toolbar-action ~ .bx--btn {\\n margin-left: 0.75rem;\\n margin-right: 0.75rem; }\\n\\n.bx--toolbar-action__icon {\\n height: 1rem;\\n width: auto;\\n max-width: 16px;\\n fill: #171717;\\n -webkit-transition: 110ms;\\n transition: 110ms; }\\n\\n.bx--batch-actions {\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -webkit-box-align: center;\\n -ms-flex-align: center;\\n align-items: center;\\n position: absolute;\\n opacity: 0;\\n left: 0;\\n top: 0;\\n padding-left: 1.5rem;\\n padding-right: 1.5rem;\\n width: 100%;\\n height: 100%;\\n z-index: 6000;\\n background-color: transparent;\\n -webkit-transition: opacity 200ms cubic-bezier(0.2, 0, 0.38, 0.9), background-color 200ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: opacity 200ms cubic-bezier(0.2, 0, 0.38, 0.9), background-color 200ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n pointer-events: none;\\n visibility: hidden; }\\n .bx--batch-actions:focus {\\n outline: 1px solid #0062ff; }\\n .bx--batch-actions .bx--btn {\\n color: #f3f3f3; }\\n .bx--batch-actions .bx--btn__icon {\\n fill: #f3f3f3; }\\n .bx--batch-actions .bx--btn--ghost:hover, .bx--batch-actions .bx--btn--ghost:focus {\\n background-color: #f3f3f3;\\n color: #0062ff; }\\n .bx--batch-actions .bx--btn--ghost:hover .bx--btn__icon, .bx--batch-actions .bx--btn--ghost:focus .bx--btn__icon {\\n fill: #0062ff; }\\n .bx--batch-actions .bx--btn--ghost:focus {\\n border: 2px solid #0062ff;\\n outline: 2px solid #ffffff; }\\n\\n.bx--batch-actions--active {\\n visibility: visible;\\n background-color: #0062ff;\\n pointer-events: all;\\n -webkit-transition: opacity 200ms cubic-bezier(0.5, 0, 0.1, 1), background-color 200ms cubic-bezier(0.5, 0, 0.1, 1);\\n transition: opacity 200ms cubic-bezier(0.5, 0, 0.1, 1), background-color 200ms cubic-bezier(0.5, 0, 0.1, 1);\\n opacity: 1; }\\n\\n.bx--action-list {\\n margin-left: -0.5rem; }\\n\\n.bx--action-icons {\\n margin-left: auto; }\\n .bx--action-icons svg {\\n padding: 0 0.75rem;\\n fill: #f3f3f3;\\n height: 1rem;\\n width: auto; }\\n\\n.bx--batch-summary {\\n margin-left: auto;\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -webkit-box-align: center;\\n -ms-flex-align: center;\\n align-items: center;\\n color: #f3f3f3; }\\n\\n.bx--batch-summary__para {\\n margin-right: 1.5rem; }\\n\\n.bx--batch-summary__cancel {\\n display: inline-block;\\n background: none;\\n -webkit-appearance: none;\\n -moz-appearance: none;\\n appearance: none;\\n border: 0;\\n padding: 0;\\n cursor: pointer;\\n color: #f3f3f3;\\n border-bottom: 1px solid transparent;\\n font-weight: 600;\\n cursor: pointer;\\n -webkit-transition: border 110ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: border 110ms cubic-bezier(0.2, 0, 0.38, 0.9); }\\n .bx--batch-summary__cancel::-moz-focus-inner {\\n border: 0; }\\n .bx--batch-summary__cancel:hover, .bx--batch-summary__cancel:focus {\\n border-bottom: 1px solid #f3f3f3; }\\n\\n.bx--batch-actions ~ .bx--toolbar-search-container,\\n.bx--batch-actions ~ .bx--toolbar-content {\\n opacity: 1;\\n -webkit-transition: opacity 110ms;\\n transition: opacity 110ms; }\\n\\n.bx--batch-actions--active ~ .bx--toolbar-search-container,\\n.bx--batch-actions--active ~ .bx--toolbar-content {\\n opacity: 0; }\\n\\n.bx--data-table-container {\\n min-width: 31.25rem;\\n overflow-x: auto;\\n padding-top: 0.125rem; }\\n\\n.bx--data-table-header {\\n background: #f3f3f3;\\n height: 5.5rem;\\n padding: 1.375rem 0 0 1rem; }\\n\\n.bx--data-table-header__title {\\n font-family: 'IBM Plex Sans', 'Helvetica Neue', Arial, sans-serif;\\n font-size: 1.25rem;\\n font-weight: 400;\\n line-height: 1.625rem;\\n letter-spacing: 0;\\n color: #171717; }\\n\\n.bx--data-table-header__description {\\n font-family: 'IBM Plex Sans', 'Helvetica Neue', Arial, sans-serif;\\n font-size: 0.875rem;\\n font-weight: 400;\\n line-height: 1.125rem;\\n letter-spacing: 0.16px;\\n color: #565656; }\\n\\n.bx--data-table {\\n border-collapse: collapse;\\n border-spacing: 0;\\n width: 100%; }\\n\\n.bx--data-table thead {\\n font-family: 'IBM Plex Sans', 'Helvetica Neue', Arial, sans-serif;\\n font-size: 0.875rem;\\n font-weight: 600;\\n line-height: 1.125rem;\\n letter-spacing: 0.16px;\\n background-color: #dcdcdc; }\\n\\n.bx--data-table tbody {\\n font-family: 'IBM Plex Sans', 'Helvetica Neue', Arial, sans-serif;\\n font-size: 0.875rem;\\n font-weight: 400;\\n line-height: 1.125rem;\\n letter-spacing: 0.16px;\\n background-color: #f3f3f3;\\n width: 100%; }\\n\\n.bx--data-table tr {\\n border: none;\\n height: 3rem;\\n width: 100%; }\\n\\n.bx--data-table tbody tr:hover {\\n background: #e5e5e5; }\\n\\n.bx--data-table tbody tr:hover td {\\n color: #171717;\\n background: #e5e5e5;\\n border-bottom: 1px solid #e5e5e5;\\n border-top: 1px solid #e5e5e5; }\\n\\n.bx--data-table th,\\n.bx--data-table td {\\n padding-left: 0.75rem;\\n padding-right: 0.75rem;\\n vertical-align: top;\\n text-align: left; }\\n\\n.bx--data-table th {\\n color: #171717;\\n background-color: #dcdcdc;\\n border-top: 1px solid #dcdcdc;\\n border-bottom: 1px solid #dcdcdc; }\\n\\n.bx--data-table th:first-of-type {\\n padding-left: 1rem; }\\n\\n.bx--data-table .bx--table-header-label {\\n display: block;\\n padding: 0.875rem 0; }\\n\\n.bx--data-table td {\\n background: #f3f3f3;\\n color: #565656;\\n border-top: 1px solid #f3f3f3;\\n border-bottom: 1px solid #dcdcdc;\\n padding: 0.875rem 0.75rem;\\n padding-bottom: 0.8125rem; }\\n\\n@supports (-moz-appearance: none) {\\n .bx--data-table td {\\n background-clip: padding-box; } }\\n\\n.bx--data-table td:first-of-type {\\n padding-left: 1rem; }\\n\\n.bx--data-table td:last-of-type {\\n padding-right: 1rem; }\\n\\n.bx--data-table .bx--table-column-menu,\\n.bx--data-table .bx--table-column-menu:last-of-type {\\n padding-top: 0.5rem;\\n padding-right: 0.5rem; }\\n\\n.bx--data-table td.bx--table-column-menu .bx--overflow-menu[aria-expanded='false']:hover {\\n background: #dcdcdc; }\\n\\n.bx--data-table td.bx--table-column-menu .bx--overflow-menu[aria-expanded='false']:focus {\\n outline: 2px solid #0062ff;\\n outline-offset: -2px; }\\n\\n.bx--data-table td.bx--table-column-menu .bx--overflow-menu[aria-expanded='true']:focus {\\n outline: none; }\\n\\n.bx--data-table td.bx--table-column-menu .bx--overflow-menu .bx--overflow-menu__icon {\\n opacity: 0; }\\n\\n.bx--data-table td.bx--table-column-menu .bx--overflow-menu:hover .bx--overflow-menu__icon,\\n.bx--data-table td.bx--table-column-menu .bx--overflow-menu:focus .bx--overflow-menu__icon,\\n.bx--data-table\\ntr:hover\\ntd.bx--table-column-menu\\n.bx--overflow-menu\\n.bx--overflow-menu__icon {\\n opacity: 1; }\\n\\n.bx--table-column-checkbox .bx--checkbox-label {\\n padding-left: 1rem; }\\n\\n.bx--data-table th.bx--table-column-checkbox {\\n padding: 0.75rem 0.5rem 0 1rem;\\n width: 2.75rem; }\\n\\n.bx--data-table td.bx--table-column-checkbox {\\n padding-top: 0.6875rem;\\n padding-bottom: 0; }\\n\\nth.bx--table-column-checkbox:hover {\\n background: #cacaca; }\\n\\ntr.bx--data-table--selected td {\\n background-color: #dcdcdc;\\n border-top: 1px solid #dcdcdc;\\n border-bottom: 1px solid #bebebe; }\\n\\ntr.bx--data-table--selected:first-of-type td {\\n border-top: 1px solid #bebebe; }\\n\\ntr.bx--data-table--selected:last-of-type td {\\n border-top: 1px solid #dcdcdc;\\n border-bottom: 1px solid #dcdcdc; }\\n\\n.bx--data-table tbody .bx--data-table--selected:hover td {\\n color: #171717;\\n background: #cacaca;\\n border-top: 1px solid #cacaca;\\n border-bottom: 1px solid #cacaca; }\\n\\n.bx--data-table--selected .bx--overflow-menu .bx--overflow-menu__icon {\\n opacity: 1; }\\n\\n.bx--data-table tr.bx--parent-row:first-of-type td {\\n border-top: 1px solid #dcdcdc; }\\n\\n.bx--expandable-row--hidden td {\\n border-top: 0;\\n width: auto;\\n padding: 1rem; }\\n\\ntr.bx--parent-row:not(.bx--expandable-row) + tr[data-child-row] {\\n height: 0;\\n -webkit-transition: height 240ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: height 240ms cubic-bezier(0.2, 0, 0.38, 0.9); }\\n\\ntr.bx--parent-row:not(.bx--expandable-row) + tr[data-child-row] td {\\n padding-top: 0;\\n padding-bottom: 0;\\n border: 0;\\n background-color: #e5e5e5;\\n -webkit-transition: padding 240ms cubic-bezier(0.2, 0, 0.38, 0.9), background-color 240ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: padding 240ms cubic-bezier(0.2, 0, 0.38, 0.9), background-color 240ms cubic-bezier(0.2, 0, 0.38, 0.9); }\\n\\ntr.bx--parent-row:not(.bx--expandable-row)\\n+ tr[data-child-row]\\ntd\\n.bx--child-row-inner-container {\\n overflow: hidden;\\n max-height: 0; }\\n\\ntr.bx--parent-row.bx--expandable-row + tr[data-child-row] {\\n -webkit-transition: height 240ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: height 240ms cubic-bezier(0.2, 0, 0.38, 0.9); }\\n\\ntr.bx--parent-row.bx--expandable-row + tr[data-child-row] td {\\n padding-bottom: 1.4375rem;\\n -webkit-transition: padding 240ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: padding 240ms cubic-bezier(0.2, 0, 0.38, 0.9); }\\n\\ntr.bx--parent-row.bx--expandable-row + tr[data-child-row] td .bx--child-row-inner-container {\\n max-height: 100%; }\\n\\n.bx--parent-row.bx--expandable-row > td,\\n.bx--parent-row.bx--expandable-row + tr[data-child-row] > td {\\n border-bottom: 1px solid transparent;\\n -webkit-box-shadow: 0 1px #dcdcdc;\\n box-shadow: 0 1px #dcdcdc; }\\n\\n.bx--parent-row:not(.bx--expandable-row) + tr[data-child-row] > td {\\n -webkit-box-shadow: none;\\n box-shadow: none; }\\n\\n.bx--parent-row.bx--expandable-row > td:first-of-type {\\n -webkit-box-shadow: none;\\n box-shadow: none; }\\n\\ntr.bx--parent-row:not(.bx--expandable-row):first-of-type:hover td {\\n border-top: 1px solid #e5e5e5;\\n border-bottom: 1px solid #e5e5e5; }\\n\\ntr.bx--parent-row.bx--expandable-row:hover td {\\n background-color: #e5e5e5;\\n border-top: 1px solid #e5e5e5;\\n border-bottom: 1px solid #dcdcdc;\\n color: #171717; }\\n\\ntr.bx--parent-row.bx--expandable-row:hover td:first-of-type {\\n border-bottom: 1px solid #e5e5e5; }\\n\\ntr.bx--parent-row.bx--expandable-row:hover + tr[data-child-row] td {\\n background-color: #e5e5e5;\\n color: #171717;\\n border-bottom: 1px solid #dcdcdc; }\\n\\ntr.bx--expandable-row--hover + tr[data-child-row] td {\\n border-bottom: 1px solid #dcdcdc; }\\n\\ntr.bx--expandable-row--hover {\\n background-color: #e5e5e5; }\\n\\ntr.bx--expandable-row--hover td {\\n background-color: #e5e5e5;\\n border-bottom: 1px solid #dcdcdc;\\n border-top: 1px solid #e5e5e5;\\n color: #171717; }\\n\\ntr.bx--parent-row.bx--expandable-row.bx--expandable-row--hover td:first-of-type {\\n border-bottom: 1px solid #e5e5e5; }\\n\\n.bx--data-table td.bx--table-expand {\\n width: 2.5rem;\\n min-width: 2.5rem;\\n vertical-align: top;\\n padding-top: 0.4375rem;\\n padding-bottom: 0; }\\n\\n@supports (-moz-appearance: none) {\\n .bx--data-table td.bx--table-expand {\\n padding-top: 0.875rem; } }\\n\\n.bx--table-expand[data-previous-value='collapsed'] .bx--table-expand__svg {\\n -webkit-transform: rotate(270deg);\\n transform: rotate(270deg);\\n -webkit-transition: -webkit-transform 240ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: -webkit-transform 240ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: transform 240ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: transform 240ms cubic-bezier(0.2, 0, 0.38, 0.9), -webkit-transform 240ms cubic-bezier(0.2, 0, 0.38, 0.9); }\\n\\n.bx--table-expand__button {\\n display: inline-block;\\n background: none;\\n -webkit-appearance: none;\\n -moz-appearance: none;\\n appearance: none;\\n border: 0;\\n padding: 0;\\n cursor: pointer;\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -ms-flex-pack: distribute;\\n justify-content: space-around;\\n height: 2rem;\\n width: 1rem; }\\n .bx--table-expand__button::-moz-focus-inner {\\n border: 0; }\\n\\n.bx--table-expand__button:focus {\\n outline: 1px solid transparent; }\\n\\n.bx--table-expand__button:focus .bx--table-expand__svg {\\n -webkit-box-shadow: inset 0px 0px 0px 1px #0062ff;\\n box-shadow: inset 0px 0px 0px 1px #0062ff; }\\n\\n.bx--table-expand__svg {\\n fill: #171717;\\n -webkit-transform: rotate(90deg);\\n transform: rotate(90deg);\\n -webkit-transition: -webkit-transform 240ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: -webkit-transform 240ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: transform 240ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: transform 240ms cubic-bezier(0.2, 0, 0.38, 0.9), -webkit-transform 240ms cubic-bezier(0.2, 0, 0.38, 0.9); }\\n\\nth.bx--table-expand + th.bx--table-column-checkbox {\\n padding-left: 0.5rem; }\\n\\ntr.bx--parent-row.bx--expandable-row td.bx--table-expand + td::after {\\n position: absolute;\\n content: '';\\n left: 0;\\n bottom: -0.0625rem;\\n height: 0.0625rem;\\n width: 0.5rem;\\n background: #f3f3f3; }\\n\\ntr.bx--parent-row.bx--expandable-row:hover td.bx--table-expand + td::after,\\ntr.bx--parent-row.bx--expandable-row.bx--expandable-row--hover\\ntd.bx--table-expand\\n+ td::after {\\n background: #e5e5e5; }\\n\\ntr.bx--parent-row.bx--data-table--selected td.bx--table-expand + td::after {\\n display: none; }\\n\\ntr.bx--parent-row.bx--data-table--selected:first-of-type td {\\n background: #dcdcdc;\\n border-top: 1px solid #bebebe;\\n border-bottom: 1px solid transparent;\\n -webkit-box-shadow: 0 1px #bebebe;\\n box-shadow: 0 1px #bebebe; }\\n\\ntr.bx--parent-row.bx--data-table--selected td {\\n background: #dcdcdc;\\n color: #171717;\\n border-bottom: 1px solid transparent;\\n -webkit-box-shadow: 0 1px #bebebe;\\n box-shadow: 0 1px #bebebe; }\\n\\ntr.bx--parent-row.bx--data-table--selected:last-of-type td {\\n background: #dcdcdc;\\n border-bottom: 1px solid transparent;\\n -webkit-box-shadow: 0 1px #dcdcdc;\\n box-shadow: 0 1px #dcdcdc; }\\n\\ntr.bx--parent-row.bx--data-table--selected:not(.bx--expandable-row):hover td {\\n background: #cacaca;\\n border-top: 1px solid #cacaca;\\n border-bottom: 1px solid transparent;\\n -webkit-box-shadow: 0 1px #cacaca;\\n box-shadow: 0 1px #cacaca; }\\n\\ntr.bx--parent-row.bx--data-table--selected.bx--expandable-row td,\\ntr.bx--parent-row.bx--data-table--selected.bx--expandable-row td:first-of-type {\\n border-bottom: 1px solid transparent;\\n -webkit-box-shadow: 0 1px #dcdcdc;\\n box-shadow: 0 1px #dcdcdc; }\\n\\ntr.bx--parent-row.bx--data-table--selected.bx--expandable-row:hover td,\\ntr.bx--parent-row.bx--data-table--selected.bx--expandable-row:hover td:first-of-type,\\ntr.bx--parent-row.bx--data-table--selected.bx--expandable-row--hover td,\\ntr.bx--parent-row.bx--data-table--selected.bx--expandable-row--hover td:first-of-type {\\n background: #cacaca;\\n border-top: 1px solid #cacaca;\\n border-bottom: 1px solid transparent;\\n -webkit-box-shadow: 0 1px #cacaca;\\n box-shadow: 0 1px #cacaca; }\\n\\ntr.bx--parent-row.bx--data-table--selected.bx--expandable-row + tr[data-child-row] td {\\n color: #171717;\\n background-color: #e5e5e5;\\n border-bottom: 1px solid transparent;\\n -webkit-box-shadow: 0 1px #bebebe;\\n box-shadow: 0 1px #bebebe;\\n border-top: 1px solid #bebebe; }\\n\\ntr.bx--parent-row.bx--data-table--selected.bx--expandable-row\\n+ tr[data-child-row]:last-of-type\\ntd {\\n -webkit-box-shadow: inset 0 -1px #bebebe;\\n box-shadow: inset 0 -1px #bebebe;\\n padding-bottom: 1.5rem; }\\n\\ntr.bx--parent-row.bx--data-table--selected.bx--expandable-row:hover + tr[data-child-row] td,\\ntr.bx--parent-row.bx--data-table--selected.bx--expandable-row--hover + tr[data-child-row] td {\\n background: #dcdcdc; }\\n\\n.bx--data-table--sort th {\\n padding: 0;\\n height: 3rem;\\n border-top: none;\\n border-bottom: none; }\\n\\n.bx--data-table--sort td {\\n padding-left: 0.5rem;\\n padding-right: 0.5rem; }\\n\\n.bx--data-table--sort th:first-of-type .bx--table-sort {\\n padding-left: 0.75rem; }\\n\\n.bx--table-sort {\\n display: inline-block;\\n background: none;\\n -webkit-appearance: none;\\n -moz-appearance: none;\\n appearance: none;\\n border: 0;\\n padding: 0;\\n cursor: pointer;\\n position: relative;\\n font: inherit;\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -webkit-box-align: center;\\n -ms-flex-align: center;\\n align-items: center;\\n -webkit-box-pack: justify;\\n -ms-flex-pack: justify;\\n justify-content: space-between;\\n width: 100%;\\n color: #171717;\\n padding: 0 0.5rem;\\n height: 100%; }\\n .bx--table-sort::-moz-focus-inner {\\n border: 0; }\\n\\n.bx--table-sort:focus {\\n outline: 2px solid #0062ff;\\n outline-offset: -2px; }\\n\\n.bx--table-sort:hover {\\n background: #cacaca; }\\n\\n.bx--table-sort:focus svg,\\n.bx--table-sort:hover svg {\\n opacity: 1; }\\n\\n.bx--table-sort .bx--table-sort__icon-inactive {\\n display: block; }\\n\\n.bx--table-sort .bx--table-sort__icon {\\n display: none; }\\n\\n.bx--table-sort__icon-unsorted {\\n position: relative;\\n left: 0.125rem;\\n margin-left: 0.5rem;\\n margin-right: 0;\\n opacity: 0;\\n fill: #171717;\\n width: auto;\\n min-width: 1rem; }\\n\\n.bx--table-sort.bx--table-sort--active .bx--table-sort__icon-unsorted {\\n display: none; }\\n\\n.bx--table-sort.bx--table-sort--active .bx--table-sort__icon {\\n display: block;\\n opacity: 1; }\\n\\n.bx--table-sort--ascending .bx--table-sort__icon {\\n -webkit-transform: rotate(180deg);\\n transform: rotate(180deg); }\\n\\n.bx--table-sort__icon {\\n position: relative;\\n left: 0.125rem;\\n margin-left: 0.5rem;\\n margin-right: 0;\\n -webkit-transition: -webkit-transform 110ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: -webkit-transform 110ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: transform 110ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: transform 110ms cubic-bezier(0.2, 0, 0.38, 0.9), -webkit-transform 110ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n -webkit-transform: rotate(0);\\n transform: rotate(0);\\n opacity: 0;\\n fill: #171717;\\n width: auto;\\n min-width: 1rem; }\\n\\n.bx--inline-edit-label {\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -webkit-box-pack: justify;\\n -ms-flex-pack: justify;\\n justify-content: space-between;\\n -webkit-box-align: center;\\n -ms-flex-align: center;\\n align-items: center; }\\n .bx--inline-edit-label:hover .bx--inline-edit-label__icon {\\n opacity: 1; }\\n\\n.bx--inline-edit-label--inactive {\\n display: none; }\\n\\n.bx--inline-edit-label__action {\\n display: inline-block;\\n background: none;\\n -webkit-appearance: none;\\n -moz-appearance: none;\\n appearance: none;\\n border: 0;\\n padding: 0;\\n cursor: pointer; }\\n .bx--inline-edit-label__action::-moz-focus-inner {\\n border: 0; }\\n .bx--inline-edit-label__action:hover {\\n cursor: pointer; }\\n .bx--inline-edit-label__action:focus {\\n outline: 1px solid #0062ff;\\n padding: 0.125rem; }\\n .bx--inline-edit-label__action:focus .bx--inline-edit-label__icon {\\n width: auto;\\n opacity: 1; }\\n\\n.bx--inline-edit-label__icon {\\n fill: #171717;\\n opacity: 0; }\\n\\n.bx--inline-edit-input {\\n display: none; }\\n\\n.bx--inline-edit-input--active {\\n display: block;\\n margin-left: -0.75rem; }\\n .bx--inline-edit-input--active input {\\n padding-left: 0.75rem; }\\n\\n.bx--data-table-v2--short input {\\n height: 2rem; }\\n\\n.bx--data-table-v2--short select {\\n padding: 0.45rem 2.75rem 0.45rem 1rem; }\\n\\n.bx--data-table-v2--short .bx--select__arrow {\\n top: 0.875rem; }\\n\\n.bx--data-table-v2.bx--skeleton th {\\n border-bottom: 1px solid #0062ff; }\\n .bx--data-table-v2.bx--skeleton th:nth-child(3n + 1) {\\n width: 10%; }\\n .bx--data-table-v2.bx--skeleton th:nth-child(3n + 2) {\\n width: 30%; }\\n .bx--data-table-v2.bx--skeleton th:nth-child(3n + 3) {\\n width: 15%; }\\n\\n.bx--data-table-v2.bx--skeleton th span,\\n.bx--data-table-v2.bx--skeleton td span {\\n position: relative;\\n border: none;\\n padding: 0;\\n -webkit-box-shadow: none;\\n box-shadow: none;\\n pointer-events: none;\\n background: rgba(61, 112, 178, 0.1);\\n width: 75%;\\n height: 1rem;\\n display: block; }\\n .bx--data-table-v2.bx--skeleton th span:hover, .bx--data-table-v2.bx--skeleton th span:focus, .bx--data-table-v2.bx--skeleton th span:active,\\n .bx--data-table-v2.bx--skeleton td span:hover,\\n .bx--data-table-v2.bx--skeleton td span:focus,\\n .bx--data-table-v2.bx--skeleton td span:active {\\n border: none;\\n outline: none;\\n cursor: default; }\\n .bx--data-table-v2.bx--skeleton th span:before,\\n .bx--data-table-v2.bx--skeleton td span:before {\\n content: '';\\n width: 0%;\\n height: 100%;\\n position: absolute;\\n top: 0;\\n left: 0;\\n opacity: 0.3;\\n background: rgba(61, 112, 178, 0.1);\\n -webkit-animation: 3000ms ease-in-out skeleton infinite;\\n animation: 3000ms ease-in-out skeleton infinite; }\\n\\n.bx--data-table-v2.bx--skeleton tr:hover td {\\n border-color: #dcdcdc;\\n background: transparent; }\\n .bx--data-table-v2.bx--skeleton tr:hover td:first-of-type, .bx--data-table-v2.bx--skeleton tr:hover td:last-of-type {\\n border-color: #dcdcdc; }\\n\\n.bx--data-table-v2.bx--skeleton .bx--table-sort-v2 {\\n pointer-events: none; }\\n\\n.bx--structured-list--selection .bx--structured-list-td,\\n.bx--structured-list--selection .bx--structured-list-th {\\n padding-left: 1rem;\\n padding-right: 1rem; }\\n .bx--structured-list--selection .bx--structured-list-td:first-child,\\n .bx--structured-list--selection .bx--structured-list-th:first-child {\\n padding-left: 1rem;\\n padding-right: 1rem; }\\n\\n.bx--structured-list-input {\\n display: none; }\\n\\n.bx--structured-list {\\n display: table;\\n overflow-x: auto;\\n overflow-y: hidden;\\n width: 100%;\\n min-width: 500px;\\n border-collapse: collapse;\\n border-spacing: 0;\\n margin-bottom: 5rem;\\n background-color: transparent; }\\n .bx--structured-list.bx--structured-list--condensed .bx--structured-list-td,\\n .bx--structured-list.bx--structured-list--condensed .bx--structured-list-th {\\n padding: 0.5rem;\\n padding-left: 0; }\\n\\n.bx--structured-list-row {\\n display: table-row;\\n border-bottom: 1px solid #dcdcdc; }\\n\\n.bx--structured-list--selection\\n.bx--structured-list-row:hover:not(.bx--structured-list-row--header-row):not(.bx--structured-list-row--selected) {\\n background-color: #f3f3f3;\\n cursor: pointer;\\n border-bottom: 1px solid #f3f3f3; }\\n\\n.bx--structured-list-row.bx--structured-list-row--selected {\\n background-color: #dcdcdc; }\\n\\n.bx--structured-list-row.bx--structured-list-row--header-row {\\n border-bottom: 1px solid #dcdcdc;\\n cursor: inherit; }\\n\\n.bx--structured-list-row:focus:not(.bx--structured-list-row--header-row) {\\n outline: 2px solid #0062ff;\\n outline-offset: -2px; }\\n\\n.bx--structured-list--selection\\n.bx--structured-list-row:hover:not(.bx--structured-list-row--header-row)\\n> .bx--structured-list-td,\\n.bx--structured-list-row.bx--structured-list-row--selected > .bx--structured-list-td {\\n color: #171717; }\\n\\n.bx--structured-list--selection\\n.bx--structured-list-row:hover:not(.bx--structured-list-row--header-row)\\n> .bx--structured-list-td {\\n border-top: 1px solid #f3f3f3; }\\n\\n.bx--structured-list-thead {\\n display: table-header-group;\\n vertical-align: middle; }\\n\\n.bx--structured-list-th {\\n padding-left: 1rem;\\n padding-right: 1rem;\\n padding-top: 1rem;\\n padding-bottom: 0.5rem;\\n font-family: 'IBM Plex Sans', 'Helvetica Neue', Arial, sans-serif;\\n font-size: 0.875rem;\\n font-weight: 600;\\n line-height: 1.125rem;\\n letter-spacing: 0.16px;\\n display: table-cell;\\n font-weight: 600;\\n height: 2.5rem;\\n text-align: left;\\n text-transform: none;\\n vertical-align: bottom; }\\n\\n.bx--structured-list-tbody {\\n display: table-row-group;\\n vertical-align: middle; }\\n\\n.bx--structured-list-td {\\n font-family: 'IBM Plex Sans', 'Helvetica Neue', Arial, sans-serif;\\n font-size: 0.875rem;\\n font-weight: 400;\\n line-height: 1.25rem;\\n letter-spacing: 0.16px;\\n padding-top: 1rem;\\n padding-right: 1rem;\\n padding-bottom: 1.5rem;\\n padding-left: 1rem;\\n line-height: 1.3125rem;\\n position: relative;\\n display: table-cell;\\n max-width: 36rem; }\\n\\n.bx--structured-list-th {\\n color: #171717; }\\n\\n.bx--structured-list-td {\\n color: #565656; }\\n\\n.bx--structured-list-content--nowrap {\\n white-space: nowrap; }\\n\\n.bx--structured-list-svg {\\n display: inline-block;\\n fill: transparent;\\n vertical-align: middle;\\n -webkit-transition: 110ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: 110ms cubic-bezier(0.2, 0, 0.38, 0.9); }\\n\\n.bx--structured-list-row:hover .bx--structured-list-svg {\\n fill: #a4a4a4; }\\n\\n.bx--structured-list-input:checked + .bx--structured-list-row .bx--structured-list-svg,\\n.bx--structured-list-input:checked + .bx--structured-list-td .bx--structured-list-svg {\\n fill: #171717; }\\n\\n.bx--structured-list.bx--skeleton .bx--structured-list-th:first-child {\\n width: 8%; }\\n\\n.bx--structured-list.bx--skeleton .bx--structured-list-th:nth-child(3n + 2) {\\n width: 30%; }\\n\\n.bx--structured-list.bx--skeleton .bx--structured-list-th:nth-child(3n + 3) {\\n width: 15%; }\\n\\n.bx--structured-list.bx--skeleton .bx--structured-list-th span {\\n position: relative;\\n border: none;\\n padding: 0;\\n -webkit-box-shadow: none;\\n box-shadow: none;\\n pointer-events: none;\\n background: rgba(61, 112, 178, 0.1);\\n width: 75%;\\n height: 1rem;\\n display: block; }\\n .bx--structured-list.bx--skeleton .bx--structured-list-th span:hover, .bx--structured-list.bx--skeleton .bx--structured-list-th span:focus, .bx--structured-list.bx--skeleton .bx--structured-list-th span:active {\\n border: none;\\n outline: none;\\n cursor: default; }\\n .bx--structured-list.bx--skeleton .bx--structured-list-th span:before {\\n content: '';\\n width: 0%;\\n height: 100%;\\n position: absolute;\\n top: 0;\\n left: 0;\\n opacity: 0.3;\\n background: rgba(61, 112, 178, 0.1);\\n -webkit-animation: 3000ms ease-in-out skeleton infinite;\\n animation: 3000ms ease-in-out skeleton infinite; }\\n\\n.bx--structured-list.bx--skeleton .bx--structured-list-th span {\\n position: relative;\\n border: none;\\n padding: 0;\\n -webkit-box-shadow: none;\\n box-shadow: none;\\n pointer-events: none;\\n background: rgba(61, 112, 178, 0.1);\\n width: 75%;\\n height: 1rem;\\n display: block; }\\n .bx--structured-list.bx--skeleton .bx--structured-list-th span:hover, .bx--structured-list.bx--skeleton .bx--structured-list-th span:focus, .bx--structured-list.bx--skeleton .bx--structured-list-th span:active {\\n border: none;\\n outline: none;\\n cursor: default; }\\n .bx--structured-list.bx--skeleton .bx--structured-list-th span:before {\\n content: '';\\n width: 0%;\\n height: 100%;\\n position: absolute;\\n top: 0;\\n left: 0;\\n opacity: 0.3;\\n background: rgba(61, 112, 178, 0.1);\\n -webkit-animation: 3000ms ease-in-out skeleton infinite;\\n animation: 3000ms ease-in-out skeleton infinite; }\\n\\n.bx--structured-list.bx--structured-list--border.bx--skeleton\\n.bx--structured-list-th:first-child {\\n width: 5%; }\\n .bx--structured-list.bx--structured-list--border.bx--skeleton\\n.bx--structured-list-th:first-child span {\\n display: none; }\\n\\n.bx--snippet code {\\n font-family: 'IBM Plex Mono', 'Menlo', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', Courier, monospace;\\n font-size: 0.75rem;\\n font-weight: 400;\\n line-height: 1rem;\\n letter-spacing: 0.32px; }\\n\\n.bx--snippet--inline {\\n font-family: 'IBM Plex Mono', 'Menlo', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', Courier, monospace;\\n font-size: 0.75rem;\\n font-weight: 400;\\n line-height: 1rem;\\n letter-spacing: 0.32px;\\n position: relative;\\n display: inline;\\n padding: 0;\\n border: 2px solid transparent;\\n border-radius: 4px;\\n background-color: #f3f3f3;\\n color: #171717;\\n cursor: pointer; }\\n .bx--snippet--inline:hover {\\n background-color: #dcdcdc; }\\n .bx--snippet--inline:active {\\n background-color: #bebebe; }\\n .bx--snippet--inline:focus {\\n outline: none;\\n border: 2px solid #0062ff; }\\n\\n.bx--snippet--inline code {\\n padding: 0 0.5rem; }\\n\\n.bx--snippet--inline.bx--snippet--light {\\n background-color: #ffffff; }\\n .bx--snippet--inline.bx--snippet--light:hover {\\n background-color: rgba(23, 23, 23, 0.1); }\\n\\n.bx--snippet--single {\\n font-family: 'IBM Plex Mono', 'Menlo', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', Courier, monospace;\\n font-size: 0.75rem;\\n font-weight: 400;\\n line-height: 1rem;\\n letter-spacing: 0.32px;\\n background: #f3f3f3;\\n border: 1px solid #dcdcdc;\\n position: relative;\\n max-width: 37.5rem;\\n width: 100%;\\n border: none;\\n max-width: 47.5rem;\\n min-width: 20rem;\\n height: 2.5rem;\\n padding: 0 56px 0 1rem; }\\n\\n.bx--snippet--single .bx--snippet-container {\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -webkit-box-align: center;\\n -ms-flex-align: center;\\n align-items: center;\\n overflow-x: scroll;\\n position: relative;\\n padding: 0 0 1rem 0;\\n height: 3.5rem; }\\n\\n.bx--snippet--single pre {\\n white-space: nowrap;\\n font-family: 'IBM Plex Mono', 'Menlo', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', Courier, monospace;\\n font-size: 0.75rem;\\n font-weight: 400;\\n line-height: 1rem;\\n letter-spacing: 0.32px;\\n padding-right: 0.5rem; }\\n\\n.bx--snippet--single::after {\\n width: 1rem;\\n height: 100%;\\n content: '';\\n position: absolute;\\n top: 0;\\n right: 3.5rem;\\n background-image: -webkit-gradient(linear, left top, right top, from(rgba(243, 243, 243, 0)), to(#f3f3f3));\\n background-image: linear-gradient(to right, rgba(243, 243, 243, 0), #f3f3f3); }\\n\\n.bx--snippet--multi {\\n font-family: 'IBM Plex Mono', 'Menlo', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', Courier, monospace;\\n font-size: 0.75rem;\\n font-weight: 400;\\n line-height: 1rem;\\n letter-spacing: 0.32px;\\n background: #f3f3f3;\\n border: 1px solid #dcdcdc;\\n position: relative;\\n max-width: 37.5rem;\\n width: 100%;\\n border: none;\\n padding: 1rem;\\n min-width: 20rem;\\n max-width: 100%; }\\n\\n.bx--snippet--multi .bx--snippet-container {\\n overflow: hidden;\\n position: relative;\\n max-height: 14.875rem;\\n min-height: 3.5rem;\\n -webkit-transition: max-height 150ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: max-height 150ms cubic-bezier(0.2, 0, 0.38, 0.9); }\\n\\n.bx--snippet--multi.bx--snippet--expand .bx--snippet-container {\\n max-height: 93.75rem;\\n -webkit-transition: max-height 150ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: max-height 150ms cubic-bezier(0.2, 0, 0.38, 0.9); }\\n\\n.bx--snippet--multi .bx--snippet-container pre {\\n overflow: hidden;\\n padding-bottom: 1.5rem; }\\n\\n.bx--snippet--multi.bx--snippet--expand .bx--snippet-container pre {\\n overflow-x: scroll; }\\n\\n.bx--snippet--multi .bx--snippet-container pre::after {\\n width: 1rem;\\n height: 100%;\\n content: '';\\n position: absolute;\\n top: 0;\\n right: 0;\\n background-image: -webkit-gradient(linear, left top, right top, from(rgba(243, 243, 243, 0)), to(#f3f3f3));\\n background-image: linear-gradient(to right, rgba(243, 243, 243, 0), #f3f3f3); }\\n\\n.bx--snippet--multi .bx--snippet-container pre code {\\n overflow: hidden; }\\n\\n.bx--snippet__icon {\\n fill: #171717;\\n height: 1rem;\\n width: 1rem;\\n -webkit-transition: all 70ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: all 70ms cubic-bezier(0.2, 0, 0.38, 0.9); }\\n\\n.bx--snippet-button {\\n cursor: pointer;\\n position: absolute;\\n top: 0;\\n right: 0;\\n border: none;\\n background-color: #f3f3f3;\\n outline: none;\\n padding: 0;\\n height: 2.5rem;\\n width: 2.5rem;\\n overflow: visible; }\\n .bx--snippet-button:focus {\\n outline: 2px solid #0062ff;\\n outline-offset: -2px;\\n outline-color: #0062ff; }\\n\\n.bx--snippet--multi .bx--snippet-button {\\n height: 2rem;\\n width: 2rem;\\n top: 0.5rem;\\n right: 0.5rem; }\\n\\n.bx--snippet-button:hover {\\n background: #e5e5e5; }\\n\\n.bx--snippet-button:active {\\n background-color: #bebebe; }\\n\\n.bx--btn--copy__feedback {\\n font-family: 'IBM Plex Sans', 'Helvetica Neue', Arial, sans-serif;\\n font-size: 0.875rem;\\n font-weight: 400;\\n line-height: 1.125rem;\\n letter-spacing: 0.16px;\\n z-index: 8000;\\n font-weight: 400;\\n left: inherit;\\n top: 0.75rem;\\n right: 1.25rem; }\\n\\n.bx--btn--copy__feedback:before,\\n.bx--btn--copy__feedback:after {\\n background: #3d3d3d; }\\n\\n.bx--btn--copy__feedback:after {\\n border: none; }\\n\\nbutton.bx--btn.bx--snippet-btn--expand {\\n display: -webkit-inline-box;\\n display: -ms-inline-flexbox;\\n display: inline-flex;\\n -webkit-box-align: center;\\n -ms-flex-align: center;\\n align-items: center;\\n position: absolute;\\n right: 0.5rem;\\n bottom: 0.5rem;\\n padding: 0.5rem;\\n padding-left: 1rem;\\n color: #171717;\\n background-color: #f3f3f3; }\\n\\nbutton.bx--btn.bx--snippet-btn--expand .bx--snippet-btn--text {\\n position: relative;\\n top: -0.0625rem; }\\n\\n.bx--snippet-btn--expand--hide.bx--snippet-btn--expand {\\n display: none; }\\n\\n.bx--snippet-btn--expand .bx--icon-chevron--down {\\n fill: #171717;\\n margin-left: 0.5rem;\\n margin-bottom: 0.0625rem;\\n -webkit-transform: rotate(0deg);\\n transform: rotate(0deg);\\n -webkit-transition: 150ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: 150ms cubic-bezier(0.2, 0, 0.38, 0.9); }\\n\\nbutton.bx--btn.bx--snippet-btn--expand:hover {\\n background: #e5e5e5;\\n color: #171717; }\\n\\n.bx--snippet-btn--expand:active {\\n background-color: #bebebe; }\\n\\n.bx--snippet-btn--expand:focus {\\n outline: 2px solid #0062ff;\\n outline-offset: -2px; }\\n\\n.bx--snippet--expand .bx--snippet-btn--expand .bx--icon-chevron--down {\\n -webkit-transform: rotate(180deg);\\n transform: rotate(180deg);\\n -webkit-transition: -webkit-transform 240ms;\\n transition: -webkit-transform 240ms;\\n transition: transform 240ms;\\n transition: transform 240ms, -webkit-transform 240ms; }\\n\\n.bx--snippet--code.bx--skeleton {\\n height: 6.125rem; }\\n\\n.bx--snippet--terminal.bx--skeleton {\\n height: 3.5rem; }\\n\\n.bx--snippet.bx--skeleton .bx--snippet-container {\\n height: 100%; }\\n\\n.bx--snippet.bx--skeleton code {\\n position: relative;\\n border: none;\\n padding: 0;\\n -webkit-box-shadow: none;\\n box-shadow: none;\\n pointer-events: none;\\n background: rgba(61, 112, 178, 0.1);\\n width: 100%;\\n height: 1rem;\\n display: block; }\\n .bx--snippet.bx--skeleton code:hover, .bx--snippet.bx--skeleton code:focus, .bx--snippet.bx--skeleton code:active {\\n border: none;\\n outline: none;\\n cursor: default; }\\n .bx--snippet.bx--skeleton code:before {\\n content: '';\\n width: 0%;\\n height: 100%;\\n position: absolute;\\n top: 0;\\n left: 0;\\n opacity: 0.3;\\n background: rgba(61, 112, 178, 0.1);\\n -webkit-animation: 3000ms ease-in-out skeleton infinite;\\n animation: 3000ms ease-in-out skeleton infinite; }\\n\\n.bx--snippet-button .bx--btn--copy__feedback {\\n top: 1.5625rem;\\n left: 1rem;\\n right: auto; }\\n\\n.bx--snippet--inline .bx--btn--copy__feedback {\\n right: auto;\\n left: 50%; }\\n\\nbx--snippet--multi.bx--skeleton {\\n height: 6.125rem; }\\n\\n.bx--snippet--single.bx--skeleton {\\n height: 3.5rem; }\\n\\n.bx--snippet.bx--skeleton .bx--snippet-container {\\n height: 100%; }\\n\\n.bx--snippet.bx--skeleton span {\\n position: relative;\\n border: none;\\n padding: 0;\\n -webkit-box-shadow: none;\\n box-shadow: none;\\n pointer-events: none;\\n background: rgba(61, 112, 178, 0.1);\\n width: 100%;\\n height: 1rem;\\n display: block;\\n margin-top: 0.5rem; }\\n .bx--snippet.bx--skeleton span:hover, .bx--snippet.bx--skeleton span:focus, .bx--snippet.bx--skeleton span:active {\\n border: none;\\n outline: none;\\n cursor: default; }\\n .bx--snippet.bx--skeleton span:before {\\n content: '';\\n width: 0%;\\n height: 100%;\\n position: absolute;\\n top: 0;\\n left: 0;\\n opacity: 0.3;\\n background: rgba(61, 112, 178, 0.1);\\n -webkit-animation: 3000ms ease-in-out skeleton infinite;\\n animation: 3000ms ease-in-out skeleton infinite; }\\n .bx--snippet.bx--skeleton span:first-child {\\n margin: 0; }\\n .bx--snippet.bx--skeleton span:nth-child(2) {\\n width: 85%; }\\n .bx--snippet.bx--skeleton span:nth-child(3) {\\n width: 95%; }\\n\\n.bx--snippet--single.bx--skeleton .bx--snippet-container {\\n padding-bottom: 0; }\\n\\n.bx--snippet--inline .bx--btn--copy__feedback {\\n right: auto; }\\n\\n.bx--snippet--code.bx--skeleton {\\n height: 6.125rem; }\\n\\n.bx--snippet--terminal.bx--skeleton {\\n height: 3.5rem; }\\n\\n.bx--snippet.bx--skeleton .bx--snippet-container {\\n height: 100%; }\\n\\n.bx--snippet.bx--skeleton code {\\n position: relative;\\n border: none;\\n padding: 0;\\n -webkit-box-shadow: none;\\n box-shadow: none;\\n pointer-events: none;\\n background: rgba(61, 112, 178, 0.1);\\n width: 100%;\\n height: 1rem;\\n display: block; }\\n .bx--snippet.bx--skeleton code:hover, .bx--snippet.bx--skeleton code:focus, .bx--snippet.bx--skeleton code:active {\\n border: none;\\n outline: none;\\n cursor: default; }\\n .bx--snippet.bx--skeleton code:before {\\n content: '';\\n width: 0%;\\n height: 100%;\\n position: absolute;\\n top: 0;\\n left: 0;\\n opacity: 0.3;\\n background: rgba(61, 112, 178, 0.1);\\n -webkit-animation: 3000ms ease-in-out skeleton infinite;\\n animation: 3000ms ease-in-out skeleton infinite; }\\n\\n.bx--overflow-menu {\\n outline: 2px solid transparent;\\n outline-offset: -2px;\\n position: relative;\\n width: 2rem;\\n height: 2rem;\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -webkit-box-align: center;\\n -ms-flex-align: center;\\n align-items: center;\\n -webkit-box-pack: center;\\n -ms-flex-pack: center;\\n justify-content: center;\\n cursor: pointer;\\n -webkit-transition: outline 110ms cubic-bezier(0, 0, 0.38, 0.9), background-color 110ms cubic-bezier(0, 0, 0.38, 0.9);\\n transition: outline 110ms cubic-bezier(0, 0, 0.38, 0.9), background-color 110ms cubic-bezier(0, 0, 0.38, 0.9); }\\n .bx--overflow-menu:focus {\\n outline: 2px solid #0062ff;\\n outline-offset: -2px; }\\n .bx--overflow-menu:hover {\\n background-color: #e5e5e5; }\\n\\n.bx--overflow-menu.bx--overflow-menu--open {\\n background-color: #f3f3f3;\\n -webkit-transition: none;\\n transition: none;\\n -webkit-box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.3);\\n box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.3); }\\n\\n.bx--overflow-menu__icon {\\n height: 1rem;\\n width: 1rem;\\n fill: #171717; }\\n\\n.bx--overflow-menu-options {\\n -webkit-box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.3);\\n box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.3);\\n display: none;\\n -webkit-box-orient: vertical;\\n -webkit-box-direction: normal;\\n -ms-flex-direction: column;\\n flex-direction: column;\\n -webkit-box-align: start;\\n -ms-flex-align: start;\\n align-items: flex-start;\\n position: absolute;\\n z-index: 10000;\\n background-color: #f3f3f3;\\n width: 10rem;\\n list-style: none;\\n top: 32px;\\n left: 0; }\\n .bx--overflow-menu-options::after {\\n content: '';\\n position: absolute;\\n display: block;\\n background-color: #f3f3f3;\\n -webkit-transition: background-color 110ms cubic-bezier(0, 0, 0.38, 0.9);\\n transition: background-color 110ms cubic-bezier(0, 0, 0.38, 0.9); }\\n\\n.bx--overflow-menu-options[data-floating-menu-direction='bottom']::after {\\n top: -0.1875rem;\\n left: 0;\\n width: 2rem;\\n height: 0.1875rem; }\\n\\n.bx--overflow-menu-options[data-floating-menu-direction='top']::after {\\n bottom: -0.375rem;\\n left: 0;\\n width: 2rem;\\n height: 0.375rem; }\\n\\n.bx--overflow-menu-options[data-floating-menu-direction='left']::after {\\n right: -0.375rem;\\n top: 0;\\n height: 2rem;\\n width: 0.375rem; }\\n\\n.bx--overflow-menu-options[data-floating-menu-direction='right']::after {\\n top: 0;\\n left: -0.375rem;\\n height: 2rem;\\n width: 0.375rem; }\\n\\n.bx--overflow-menu--flip.bx--overflow-menu-options[data-floating-menu-direction='top']::after,\\n.bx--overflow-menu--flip.bx--overflow-menu-options[data-floating-menu-direction='bottom']::after {\\n left: auto;\\n right: 0; }\\n\\n.bx--overflow-menu--flip.bx--overflow-menu-options[data-floating-menu-direction='left']::after,\\n.bx--overflow-menu--flip.bx--overflow-menu-options[data-floating-menu-direction='right']::after {\\n top: auto;\\n bottom: 0; }\\n\\n.bx--overflow-menu-options--open {\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex; }\\n\\n.bx--overflow-menu-options__option {\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n background-color: transparent;\\n -webkit-box-align: center;\\n -ms-flex-align: center;\\n align-items: center;\\n width: 100%;\\n height: 2.5rem;\\n padding: 0;\\n -webkit-transition: background-color 110ms cubic-bezier(0, 0, 0.38, 0.9);\\n transition: background-color 110ms cubic-bezier(0, 0, 0.38, 0.9); }\\n\\n.bx--overflow-menu--divider {\\n border-top: 1px solid #dcdcdc; }\\n\\na.bx--overflow-menu-options__btn::before {\\n content: '';\\n height: 100%;\\n vertical-align: middle;\\n display: inline-block; }\\n\\n.bx--overflow-menu-options__btn {\\n font-family: 'IBM Plex Sans', 'Helvetica Neue', Arial, sans-serif;\\n font-size: 0.875rem;\\n font-weight: 400;\\n line-height: 1.125rem;\\n letter-spacing: 0.16px;\\n outline: 2px solid transparent;\\n outline-offset: -2px;\\n font-weight: 400;\\n width: 100%;\\n height: 100%;\\n border: none;\\n display: -webkit-inline-box;\\n display: -ms-inline-flexbox;\\n display: inline-flex;\\n -webkit-box-align: center;\\n -ms-flex-align: center;\\n align-items: center;\\n background-color: transparent;\\n text-align: left;\\n padding: 0 1rem;\\n cursor: pointer;\\n color: #565656;\\n max-width: 11.25rem;\\n -webkit-transition: outline 110ms cubic-bezier(0, 0, 0.38, 0.9), background-color 110ms cubic-bezier(0, 0, 0.38, 0.9), color 110ms cubic-bezier(0, 0, 0.38, 0.9);\\n transition: outline 110ms cubic-bezier(0, 0, 0.38, 0.9), background-color 110ms cubic-bezier(0, 0, 0.38, 0.9), color 110ms cubic-bezier(0, 0, 0.38, 0.9); }\\n .bx--overflow-menu-options__btn:hover {\\n color: #171717; }\\n .bx--overflow-menu-options__btn:focus {\\n outline: 2px solid #0062ff;\\n outline-offset: -2px; }\\n .bx--overflow-menu-options__btn::-moz-focus-inner {\\n border: none; }\\n\\n.bx--overflow-menu-options__btn svg {\\n fill: #565656; }\\n\\n.bx--overflow-menu-options__btn:hover svg {\\n fill: #171717; }\\n\\n.bx--overflow-menu-options__option-content {\\n white-space: nowrap;\\n overflow: hidden;\\n text-overflow: ellipsis; }\\n\\n.bx--overflow-menu-options__option:hover {\\n background-color: #e5e5e5; }\\n\\n.bx--overflow-menu-options__option--danger {\\n border-top: 1px solid #dcdcdc; }\\n\\n.bx--overflow-menu-options__option--danger .bx--overflow-menu-options__btn:hover,\\n.bx--overflow-menu-options__option--danger .bx--overflow-menu-options__btn:focus {\\n color: #ffffff;\\n background-color: #da1e28; }\\n\\n.bx--overflow-menu-options__option--disabled:hover {\\n background-color: #f3f3f3;\\n cursor: not-allowed; }\\n\\n.bx--overflow-menu-options__option--disabled .bx--overflow-menu-options__btn {\\n color: #bebebe;\\n pointer-events: none; }\\n .bx--overflow-menu-options__option--disabled .bx--overflow-menu-options__btn:hover, .bx--overflow-menu-options__option--disabled .bx--overflow-menu-options__btn:active, .bx--overflow-menu-options__option--disabled .bx--overflow-menu-options__btn:focus {\\n outline: 2px solid transparent;\\n outline-offset: -2px;\\n background-color: #f3f3f3; }\\n\\n.bx--overflow-menu-options__option--disabled .bx--overflow-menu-options__btn svg {\\n fill: #bebebe; }\\n\\n.bx--overflow-menu--flip {\\n left: -140px; }\\n .bx--overflow-menu--flip:before {\\n left: 145px; }\\n\\n.bx--content-switcher {\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -webkit-box-pack: space-evenly;\\n -ms-flex-pack: space-evenly;\\n justify-content: space-evenly;\\n width: 100%;\\n height: 2rem; }\\n\\n.bx--content-switcher--disabled {\\n cursor: not-allowed; }\\n\\n.bx--content-switcher-btn {\\n font-family: 'IBM Plex Sans', 'Helvetica Neue', Arial, sans-serif;\\n font-size: 0.875rem;\\n font-weight: 400;\\n line-height: 1.125rem;\\n letter-spacing: 0.16px;\\n outline: 2px solid transparent;\\n outline-offset: -2px;\\n background-color: #f3f3f3;\\n display: inline-block;\\n width: 100%;\\n height: 2.5rem;\\n padding: 0.5rem 1rem;\\n margin: 0;\\n white-space: nowrap;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n text-align: left;\\n text-decoration: none;\\n border: none;\\n color: #565656;\\n -webkit-transition: all 70ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: all 70ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n position: relative; }\\n .bx--content-switcher-btn:focus {\\n -webkit-box-shadow: inset 0 0 0 2px #0062ff;\\n box-shadow: inset 0 0 0 2px #0062ff;\\n z-index: 3; }\\n .bx--content-switcher-btn:hover {\\n cursor: pointer; }\\n .bx--content-switcher-btn:hover, .bx--content-switcher-btn:active {\\n background-color: #e5e5e5;\\n color: #171717;\\n z-index: 3; }\\n .bx--content-switcher-btn:disabled {\\n color: #dcdcdc;\\n pointer-events: none; }\\n .bx--content-switcher-btn:disabled:hover {\\n cursor: not-allowed; }\\n\\n.bx--content-switcher-btn:first-child {\\n border-top-left-radius: 0.25rem;\\n border-bottom-left-radius: 0.25rem; }\\n\\n.bx--content-switcher-btn:last-child {\\n border-top-right-radius: 0.25rem;\\n border-bottom-right-radius: 0.25rem; }\\n\\n.bx--content-switcher-btn:not(:first-of-type)::before {\\n content: '';\\n display: block;\\n height: 1rem;\\n width: 0.0625rem;\\n background-color: #dcdcdc;\\n position: absolute;\\n z-index: 2;\\n left: 0; }\\n\\n.bx--content-switcher-btn.bx--content-switcher--selected::before,\\n.bx--content-switcher-btn.bx--content-switcher--selected + .bx--content-switcher-btn::before,\\n.bx--content-switcher-btn:focus::before,\\n.bx--content-switcher-btn:focus + .bx--content-switcher-btn::before,\\n.bx--content-switcher-btn:hover::before,\\n.bx--content-switcher-btn:hover + .bx--content-switcher-btn::before {\\n background-color: transparent; }\\n\\n.bx--content-switcher__icon {\\n fill: #565656;\\n -webkit-transition: fill 70ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: fill 70ms cubic-bezier(0.2, 0, 0.38, 0.9); }\\n\\n.bx--content-switcher__icon + span {\\n margin-left: 0.5rem; }\\n\\n.bx--content-switcher-btn:hover .bx--content-switcher__icon,\\n.bx--content-switcher-btn:focus .bx--content-switcher__icon {\\n fill: #171717; }\\n\\n.bx--content-switcher-btn.bx--content-switcher--selected {\\n background-color: #171717;\\n color: #ffffff;\\n z-index: 3; }\\n .bx--content-switcher-btn.bx--content-switcher--selected:disabled {\\n background-color: #bebebe; }\\n\\n.bx--content-switcher-btn.bx--content-switcher--selected .bx--content-switcher__icon {\\n fill: #ffffff; }\\n\\n.flatpickr-calendar {\\n background: transparent;\\n overflow: hidden;\\n max-height: 0;\\n opacity: 0;\\n visibility: hidden;\\n text-align: center;\\n padding: 0;\\n -webkit-animation: none;\\n animation: none;\\n direction: ltr;\\n border: 0;\\n font-size: 14px;\\n line-height: 24px;\\n border-radius: 5px;\\n position: absolute;\\n width: 315px;\\n -webkit-box-sizing: border-box;\\n box-sizing: border-box;\\n -ms-touch-action: manipulation;\\n touch-action: manipulation;\\n background: #fff;\\n -webkit-box-shadow: 1px 0 0 #e6e6e6, -1px 0 0 #e6e6e6, 0 1px 0 #e6e6e6, 0 -1px 0 #e6e6e6, 0 3px 13px rgba(0, 0, 0, 0.08);\\n box-shadow: 1px 0 0 #e6e6e6, -1px 0 0 #e6e6e6, 0 1px 0 #e6e6e6, 0 -1px 0 #e6e6e6, 0 3px 13px rgba(0, 0, 0, 0.08); }\\n\\n.flatpickr-calendar.open,\\n.flatpickr-calendar.inline {\\n opacity: 1;\\n visibility: visible;\\n overflow: visible;\\n max-height: 640px; }\\n\\n.flatpickr-calendar.open {\\n display: inline-block;\\n z-index: 99999; }\\n\\n.flatpickr-calendar.animate.open {\\n -webkit-animation: fpFadeInDown 110ms cubic-bezier(0, 0, 0.38, 0.9);\\n animation: fpFadeInDown 110ms cubic-bezier(0, 0, 0.38, 0.9); }\\n\\n.flatpickr-calendar.inline {\\n display: block;\\n position: relative;\\n top: 2px; }\\n\\n.flatpickr-calendar.static {\\n position: absolute;\\n top: calc(100% + 2px); }\\n\\n.flatpickr-calendar.static.open {\\n z-index: 999;\\n display: block; }\\n\\n.flatpickr-calendar.hasWeeks {\\n width: auto; }\\n\\n.flatpickr-calendar .hasWeeks .dayContainer,\\n.flatpickr-calendar .hasTime .dayContainer {\\n border-bottom: 0;\\n border-bottom-right-radius: 0;\\n border-bottom-left-radius: 0; }\\n\\n.flatpickr-calendar .hasWeeks .dayContainer {\\n border-left: 0; }\\n\\n.flatpickr-calendar.showTimeInput.hasTime .flatpickr-time {\\n height: 40px;\\n border-top: 1px solid #e6e6e6; }\\n\\n.flatpickr-calendar.noCalendar.hasTime .flatpickr-time {\\n height: auto; }\\n\\n.flatpickr-calendar:before,\\n.flatpickr-calendar:after {\\n position: absolute;\\n display: block;\\n pointer-events: none;\\n border: solid transparent;\\n content: '';\\n height: 0;\\n width: 0;\\n left: 22px; }\\n\\n.flatpickr-calendar.rightMost:before,\\n.flatpickr-calendar.rightMost:after {\\n left: auto;\\n right: 22px; }\\n\\n.flatpickr-calendar:before {\\n border-width: 5px;\\n margin: 0 -5px; }\\n\\n.flatpickr-calendar:after {\\n border-width: 4px;\\n margin: 0 -4px; }\\n\\n.flatpickr-calendar.arrowTop:before,\\n.flatpickr-calendar.arrowTop:after {\\n bottom: 100%; }\\n\\n.flatpickr-calendar.arrowTop:before {\\n border-bottom-color: #e6e6e6; }\\n\\n.flatpickr-calendar.arrowTop:after {\\n border-bottom-color: #fff; }\\n\\n.flatpickr-calendar.arrowBottom:before,\\n.flatpickr-calendar.arrowBottom:after {\\n top: 100%; }\\n\\n.flatpickr-calendar.arrowBottom:before {\\n border-top-color: #e6e6e6; }\\n\\n.flatpickr-calendar.arrowBottom:after {\\n border-top-color: #fff; }\\n\\n.flatpickr-calendar:focus {\\n outline: 0; }\\n\\n.flatpickr-wrapper {\\n position: relative;\\n display: inline-block; }\\n\\n.flatpickr-month {\\n background: transparent;\\n color: rgba(0, 0, 0, 0.9);\\n fill: rgba(0, 0, 0, 0.9);\\n height: 28px;\\n line-height: 1;\\n text-align: center;\\n position: relative;\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n -ms-user-select: none;\\n user-select: none;\\n overflow: hidden; }\\n\\n.flatpickr-prev-month,\\n.flatpickr-next-month {\\n text-decoration: none;\\n cursor: pointer;\\n position: absolute;\\n top: 0px;\\n line-height: 16px;\\n height: 28px;\\n padding: 10px calc(3.57% - 1.5px);\\n z-index: 3; }\\n\\n.flatpickr-prev-month i,\\n.flatpickr-next-month i {\\n position: relative; }\\n\\n.flatpickr-prev-month.flatpickr-prev-month,\\n.flatpickr-next-month.flatpickr-prev-month {\\n /*\\n /*rtl:begin:ignore*/\\n /*\\n */\\n left: 0;\\n /*\\n /*rtl:end:ignore*/\\n /*\\n */ }\\n\\n/*\\n /*rtl:begin:ignore*/\\n/*\\n /*rtl:end:ignore*/\\n.flatpickr-prev-month.flatpickr-next-month,\\n.flatpickr-next-month.flatpickr-next-month {\\n /*\\n /*rtl:begin:ignore*/\\n /*\\n */\\n right: 0;\\n /*\\n /*rtl:end:ignore*/\\n /*\\n */ }\\n\\n/*\\n /*rtl:begin:ignore*/\\n/*\\n /*rtl:end:ignore*/\\n.flatpickr-prev-month:hover,\\n.flatpickr-next-month:hover {\\n color: #959ea9; }\\n\\n.flatpickr-prev-month:hover svg,\\n.flatpickr-next-month:hover svg {\\n fill: #f64747; }\\n\\n.flatpickr-prev-month svg,\\n.flatpickr-next-month svg {\\n width: 14px; }\\n\\n.flatpickr-prev-month svg path,\\n.flatpickr-next-month svg path {\\n -webkit-transition: fill 0.1s;\\n transition: fill 0.1s;\\n fill: inherit; }\\n\\n.numInputWrapper {\\n position: relative;\\n height: auto; }\\n\\n.numInputWrapper input,\\n.numInputWrapper span {\\n display: inline-block; }\\n\\n.numInputWrapper input {\\n width: 100%; }\\n\\n.numInputWrapper span {\\n position: absolute;\\n right: 0;\\n width: 14px;\\n padding: 0 4px 0 2px;\\n height: 50%;\\n line-height: 50%;\\n opacity: 0;\\n cursor: pointer;\\n border: 1px solid rgba(57, 57, 57, 0.05);\\n -webkit-box-sizing: border-box;\\n box-sizing: border-box; }\\n\\n.numInputWrapper span:hover {\\n background: rgba(0, 0, 0, 0.1); }\\n\\n.numInputWrapper span:active {\\n background: rgba(0, 0, 0, 0.2); }\\n\\n.numInputWrapper span:after {\\n display: block;\\n content: '';\\n position: absolute;\\n top: 33%; }\\n\\n.numInputWrapper span.arrowUp {\\n top: 0;\\n border-bottom: 0; }\\n\\n.numInputWrapper span.arrowUp:after {\\n border-left: 4px solid transparent;\\n border-right: 4px solid transparent;\\n border-bottom: 4px solid rgba(57, 57, 57, 0.6); }\\n\\n.numInputWrapper span.arrowDown {\\n top: 50%; }\\n\\n.numInputWrapper span.arrowDown:after {\\n border-left: 4px solid transparent;\\n border-right: 4px solid transparent;\\n border-top: 4px solid rgba(57, 57, 57, 0.6); }\\n\\n.numInputWrapper span svg {\\n width: inherit;\\n height: auto; }\\n\\n.numInputWrapper span svg path {\\n fill: rgba(0, 0, 0, 0.5); }\\n\\n.numInputWrapper:hover {\\n background: rgba(0, 0, 0, 0.05); }\\n\\n.numInputWrapper:hover span {\\n opacity: 1; }\\n\\n.flatpickr-current-month {\\n font-family: 'IBM Plex Sans', 'Helvetica Neue', Arial, sans-serif;\\n font-size: 0.875rem;\\n font-weight: 600;\\n line-height: 1.125rem;\\n letter-spacing: 0.16px;\\n color: inherit;\\n position: absolute;\\n width: 75%;\\n left: 12.5%;\\n padding: 6.16px 0 0 0;\\n height: 28px;\\n display: inline-block;\\n text-align: center;\\n -webkit-transform: translate3d(0px, 0px, 0px);\\n transform: translate3d(0px, 0px, 0px); }\\n\\n.flatpickr-current-month.slideLeft {\\n -webkit-transform: translate3d(-100%, 0px, 0px);\\n transform: translate3d(-100%, 0px, 0px);\\n -webkit-animation: fpFadeOut 400ms ease, fpSlideLeft 400ms cubic-bezier(0.23, 1, 0.32, 1);\\n animation: fpFadeOut 400ms ease, fpSlideLeft 400ms cubic-bezier(0.23, 1, 0.32, 1); }\\n\\n.flatpickr-current-month.slideLeftNew {\\n -webkit-transform: translate3d(100%, 0px, 0px);\\n transform: translate3d(100%, 0px, 0px);\\n -webkit-animation: fpFadeIn 400ms ease, fpSlideLeftNew 400ms cubic-bezier(0.23, 1, 0.32, 1);\\n animation: fpFadeIn 400ms ease, fpSlideLeftNew 400ms cubic-bezier(0.23, 1, 0.32, 1); }\\n\\n.flatpickr-current-month.slideRight {\\n -webkit-transform: translate3d(100%, 0px, 0px);\\n transform: translate3d(100%, 0px, 0px);\\n -webkit-animation: fpFadeOut 400ms ease, fpSlideRight 400ms cubic-bezier(0.23, 1, 0.32, 1);\\n animation: fpFadeOut 400ms ease, fpSlideRight 400ms cubic-bezier(0.23, 1, 0.32, 1); }\\n\\n.flatpickr-current-month.slideRightNew {\\n -webkit-transform: translate3d(0, 0, 0px);\\n transform: translate3d(0, 0, 0px);\\n -webkit-animation: fpFadeIn 400ms ease, fpSlideRightNew 400ms cubic-bezier(0.23, 1, 0.32, 1);\\n animation: fpFadeIn 400ms ease, fpSlideRightNew 400ms cubic-bezier(0.23, 1, 0.32, 1); }\\n\\n.flatpickr-current-month span.cur-month {\\n font-family: inherit;\\n font-weight: 600;\\n color: inherit;\\n display: inline-block;\\n margin-left: 0.5ch;\\n padding: 0; }\\n\\n.flatpickr-current-month span.cur-month:hover {\\n background: rgba(0, 0, 0, 0.05); }\\n\\n.flatpickr-current-month .numInputWrapper {\\n width: 6ch;\\n width: 7ch\\\\0;\\n display: inline-block; }\\n\\n.flatpickr-current-month .numInputWrapper span.arrowUp:after {\\n border-bottom-color: rgba(0, 0, 0, 0.9); }\\n\\n.flatpickr-current-month .numInputWrapper span.arrowDown:after {\\n border-top-color: rgba(0, 0, 0, 0.9); }\\n\\n.flatpickr-current-month input.cur-year {\\n background: transparent;\\n -webkit-box-sizing: border-box;\\n box-sizing: border-box;\\n color: inherit;\\n cursor: default;\\n padding: 0 0 0 0.5ch;\\n margin: 0;\\n display: inline-block;\\n font-size: inherit;\\n font-family: inherit;\\n font-weight: 300;\\n line-height: inherit;\\n height: auto;\\n border: 0;\\n border-radius: 0;\\n vertical-align: baseline; }\\n\\n.flatpickr-current-month input.cur-year:focus {\\n outline: 0; }\\n\\n.flatpickr-current-month input.cur-year[disabled],\\n.flatpickr-current-month input.cur-year[disabled]:hover {\\n font-size: 100%;\\n color: rgba(0, 0, 0, 0.5);\\n background: transparent;\\n pointer-events: none; }\\n\\n.flatpickr-weekdays {\\n background: transparent;\\n text-align: center;\\n overflow: hidden;\\n width: 315px;\\n display: -ms-flexbox;\\n display: -webkit-box;\\n display: flex;\\n -ms-flex-align: center;\\n -webkit-box-align: center;\\n align-items: center;\\n height: 28px; }\\n\\nspan.flatpickr-weekday {\\n font-family: 'IBM Plex Sans', 'Helvetica Neue', Arial, sans-serif;\\n font-size: 0.875rem;\\n font-weight: 400;\\n line-height: 1.125rem;\\n letter-spacing: 0.16px;\\n cursor: default;\\n background: transparent;\\n color: rgba(0, 0, 0, 0.54);\\n margin: 0;\\n text-align: center;\\n display: block;\\n -ms-flex: 1;\\n -webkit-box-flex: 1;\\n flex: 1; }\\n\\n.dayContainer,\\n.flatpickr-weeks {\\n padding: 1px 0 0 0; }\\n\\n.flatpickr-days {\\n position: relative;\\n overflow: hidden;\\n display: -ms-flexbox;\\n display: -webkit-box;\\n display: flex;\\n width: 315px; }\\n\\n.flatpickr-days:focus {\\n outline: 0; }\\n\\n.dayContainer {\\n padding: 0;\\n outline: 0;\\n text-align: left;\\n width: 315px;\\n min-width: 315px;\\n max-width: 315px;\\n -webkit-box-sizing: border-box;\\n box-sizing: border-box;\\n display: inline-block;\\n display: -ms-flexbox;\\n display: -webkit-box;\\n display: flex;\\n flex-wrap: wrap;\\n -ms-flex-wrap: wrap;\\n -ms-flex-pack: justify;\\n justify-content: space-around;\\n -webkit-transform: translate3d(0px, 0px, 0px);\\n transform: translate3d(0px, 0px, 0px);\\n opacity: 1; }\\n\\n.flatpickr-calendar.animate .dayContainer.slideLeft {\\n -webkit-animation: fpFadeOut 400ms cubic-bezier(0.23, 1, 0.32, 1), fpSlideLeft 400ms cubic-bezier(0.23, 1, 0.32, 1);\\n animation: fpFadeOut 400ms cubic-bezier(0.23, 1, 0.32, 1), fpSlideLeft 400ms cubic-bezier(0.23, 1, 0.32, 1); }\\n\\n.flatpickr-calendar.animate .dayContainer.slideLeft,\\n.flatpickr-calendar.animate .dayContainer.slideLeftNew {\\n -webkit-transform: translate3d(-100%, 0px, 0px);\\n transform: translate3d(-100%, 0px, 0px); }\\n\\n.flatpickr-calendar.animate .dayContainer.slideLeftNew {\\n -webkit-animation: fpFadeIn 400ms cubic-bezier(0.23, 1, 0.32, 1), fpSlideLeft 400ms cubic-bezier(0.23, 1, 0.32, 1);\\n animation: fpFadeIn 400ms cubic-bezier(0.23, 1, 0.32, 1), fpSlideLeft 400ms cubic-bezier(0.23, 1, 0.32, 1); }\\n\\n.flatpickr-calendar.animate .dayContainer.slideRight {\\n -webkit-animation: fpFadeOut 400ms cubic-bezier(0.23, 1, 0.32, 1), fpSlideRight 400ms cubic-bezier(0.23, 1, 0.32, 1);\\n animation: fpFadeOut 400ms cubic-bezier(0.23, 1, 0.32, 1), fpSlideRight 400ms cubic-bezier(0.23, 1, 0.32, 1);\\n -webkit-transform: translate3d(100%, 0px, 0px);\\n transform: translate3d(100%, 0px, 0px); }\\n\\n.flatpickr-calendar.animate .dayContainer.slideRightNew {\\n -webkit-animation: fpFadeIn 400ms cubic-bezier(0.23, 1, 0.32, 1), fpSlideRightNew 400ms cubic-bezier(0.23, 1, 0.32, 1);\\n animation: fpFadeIn 400ms cubic-bezier(0.23, 1, 0.32, 1), fpSlideRightNew 400ms cubic-bezier(0.23, 1, 0.32, 1); }\\n\\n.flatpickr-day {\\n background: none;\\n border: 1px solid transparent;\\n border-radius: 150px;\\n -webkit-box-sizing: border-box;\\n box-sizing: border-box;\\n color: #393939;\\n cursor: pointer;\\n font-weight: 400;\\n width: 14.2857143%;\\n -ms-flex-preferred-size: 14.2857143%;\\n flex-basis: 14.2857143%;\\n max-width: 40px;\\n height: 40px;\\n line-height: 40px;\\n margin: 0;\\n display: inline-block;\\n position: relative;\\n -ms-flex-pack: center;\\n -webkit-box-pack: center;\\n justify-content: center;\\n text-align: center; }\\n\\n.flatpickr-day.week.selected {\\n border-radius: 0;\\n -webkit-box-shadow: -5px 0 0 #569ff7, 5px 0 0 #569ff7;\\n box-shadow: -5px 0 0 #569ff7, 5px 0 0 #569ff7; }\\n\\n.flatpickr-weekwrapper {\\n display: inline-block;\\n float: left; }\\n\\n.flatpickr-weekwrapper .flatpickr-weeks {\\n padding: 0 12px;\\n -webkit-box-shadow: 1px 0 0 #e6e6e6;\\n box-shadow: 1px 0 0 #e6e6e6; }\\n\\n.flatpickr-weekwrapper .flatpickr-weekday {\\n float: none;\\n width: 100%;\\n line-height: 28px; }\\n\\n.flatpickr-weekwrapper span.flatpickr-day {\\n display: block;\\n width: 100%;\\n max-width: none; }\\n\\n.flatpickr-innerContainer {\\n display: block;\\n display: -ms-flexbox;\\n display: -webkit-box;\\n display: flex;\\n -webkit-box-sizing: border-box;\\n box-sizing: border-box;\\n overflow: hidden; }\\n\\n.flatpickr-rContainer {\\n display: inline-block;\\n padding: 0;\\n -webkit-box-sizing: border-box;\\n box-sizing: border-box; }\\n\\n.flatpickr-time {\\n text-align: center;\\n outline: 0;\\n display: block;\\n height: 0;\\n line-height: 40px;\\n max-height: 40px;\\n -webkit-box-sizing: border-box;\\n box-sizing: border-box;\\n overflow: hidden;\\n display: -ms-flexbox;\\n display: -webkit-box;\\n display: flex; }\\n\\n.flatpickr-time:after {\\n content: '';\\n display: table;\\n clear: both; }\\n\\n.flatpickr-time .numInputWrapper {\\n -ms-flex: 1;\\n -webkit-box-flex: 1;\\n flex: 1;\\n width: 40%;\\n height: 40px;\\n float: left; }\\n\\n.flatpickr-time .numInputWrapper span.arrowUp:after {\\n border-bottom-color: #393939; }\\n\\n.flatpickr-time .numInputWrapper span.arrowDown:after {\\n border-top-color: #393939; }\\n\\n.flatpickr-time.hasSeconds .numInputWrapper {\\n width: 26%; }\\n\\n.flatpickr-time.time24hr .numInputWrapper {\\n width: 49%; }\\n\\n.flatpickr-time input {\\n background: transparent;\\n -webkit-box-shadow: none;\\n box-shadow: none;\\n border: 0;\\n border-radius: 0;\\n text-align: center;\\n margin: 0;\\n padding: 0;\\n height: inherit;\\n line-height: inherit;\\n cursor: pointer;\\n color: #393939;\\n font-size: 14px;\\n position: relative;\\n -webkit-box-sizing: border-box;\\n box-sizing: border-box; }\\n\\n.flatpickr-time input.flatpickr-hour {\\n font-weight: bold; }\\n\\n.flatpickr-time input.flatpickr-minute,\\n.flatpickr-time input.flatpickr-second {\\n font-weight: 400; }\\n\\n.flatpickr-time input:focus {\\n outline: 0;\\n border: 0; }\\n\\n.flatpickr-time .flatpickr-time-separator,\\n.flatpickr-time .flatpickr-am-pm {\\n height: inherit;\\n display: inline-block;\\n float: left;\\n line-height: inherit;\\n color: #393939;\\n font-weight: bold;\\n width: 2%;\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n -ms-user-select: none;\\n user-select: none;\\n -webkit-align-self: center;\\n -ms-flex-item-align: center;\\n -ms-grid-row-align: center;\\n align-self: center; }\\n\\n.flatpickr-time .flatpickr-am-pm {\\n outline: 0;\\n width: 18%;\\n cursor: pointer;\\n text-align: center;\\n font-weight: 400; }\\n\\n.flatpickr-time .flatpickr-am-pm:hover,\\n.flatpickr-time .flatpickr-am-pm:focus {\\n background: #f0f0f0; }\\n\\n.flatpickr-input[readonly] {\\n cursor: pointer; }\\n\\n@-webkit-keyframes fpFadeInDown {\\n from {\\n opacity: 0;\\n -webkit-transform: translate3d(0, -20px, 0);\\n transform: translate3d(0, -20px, 0); }\\n to {\\n opacity: 1;\\n -webkit-transform: translate3d(0, 0, 0);\\n transform: translate3d(0, 0, 0); } }\\n\\n@keyframes fpFadeInDown {\\n from {\\n opacity: 0;\\n -webkit-transform: translate3d(0, -20px, 0);\\n transform: translate3d(0, -20px, 0); }\\n to {\\n opacity: 1;\\n -webkit-transform: translate3d(0, 0, 0);\\n transform: translate3d(0, 0, 0); } }\\n\\n@-webkit-keyframes fpSlideLeft {\\n from {\\n -webkit-transform: translate3d(0px, 0px, 0px);\\n transform: translate3d(0px, 0px, 0px); }\\n to {\\n -webkit-transform: translate3d(-100%, 0px, 0px);\\n transform: translate3d(-100%, 0px, 0px); } }\\n\\n@keyframes fpSlideLeft {\\n from {\\n -webkit-transform: translate3d(0px, 0px, 0px);\\n transform: translate3d(0px, 0px, 0px); }\\n to {\\n -webkit-transform: translate3d(-100%, 0px, 0px);\\n transform: translate3d(-100%, 0px, 0px); } }\\n\\n@-webkit-keyframes fpSlideLeftNew {\\n from {\\n -webkit-transform: translate3d(100%, 0px, 0px);\\n transform: translate3d(100%, 0px, 0px); }\\n to {\\n -webkit-transform: translate3d(0px, 0px, 0px);\\n transform: translate3d(0px, 0px, 0px); } }\\n\\n@keyframes fpSlideLeftNew {\\n from {\\n -webkit-transform: translate3d(100%, 0px, 0px);\\n transform: translate3d(100%, 0px, 0px); }\\n to {\\n -webkit-transform: translate3d(0px, 0px, 0px);\\n transform: translate3d(0px, 0px, 0px); } }\\n\\n@-webkit-keyframes fpSlideRight {\\n from {\\n -webkit-transform: translate3d(0, 0, 0px);\\n transform: translate3d(0, 0, 0px); }\\n to {\\n -webkit-transform: translate3d(100%, 0px, 0px);\\n transform: translate3d(100%, 0px, 0px); } }\\n\\n@keyframes fpSlideRight {\\n from {\\n -webkit-transform: translate3d(0, 0, 0px);\\n transform: translate3d(0, 0, 0px); }\\n to {\\n -webkit-transform: translate3d(100%, 0px, 0px);\\n transform: translate3d(100%, 0px, 0px); } }\\n\\n@-webkit-keyframes fpSlideRightNew {\\n from {\\n -webkit-transform: translate3d(-100%, 0, 0px);\\n transform: translate3d(-100%, 0, 0px); }\\n to {\\n -webkit-transform: translate3d(0, 0, 0px);\\n transform: translate3d(0, 0, 0px); } }\\n\\n@keyframes fpSlideRightNew {\\n from {\\n -webkit-transform: translate3d(-100%, 0, 0px);\\n transform: translate3d(-100%, 0, 0px); }\\n to {\\n -webkit-transform: translate3d(0, 0, 0px);\\n transform: translate3d(0, 0, 0px); } }\\n\\n@-webkit-keyframes fpFadeOut {\\n from {\\n opacity: 1; }\\n to {\\n opacity: 0; } }\\n\\n@keyframes fpFadeOut {\\n from {\\n opacity: 1; }\\n to {\\n opacity: 0; } }\\n\\n@-webkit-keyframes fpFadeIn {\\n from {\\n opacity: 0; }\\n to {\\n opacity: 1; } }\\n\\n@keyframes fpFadeIn {\\n from {\\n opacity: 0; }\\n to {\\n opacity: 1; } }\\n\\n.bx--date-picker {\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex; }\\n\\n.bx--date-picker--light .bx--date-picker__input {\\n background: #ffffff; }\\n\\n.bx--date-picker ~ .bx--label {\\n -webkit-box-ordinal-group: 2;\\n -ms-flex-order: 1;\\n order: 1; }\\n\\n.bx--date-picker-container {\\n position: relative;\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -webkit-box-orient: vertical;\\n -webkit-box-direction: normal;\\n -ms-flex-direction: column;\\n flex-direction: column;\\n -webkit-box-pack: justify;\\n -ms-flex-pack: justify;\\n justify-content: space-between; }\\n\\n.bx--date-picker-input__wrapper {\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -webkit-box-align: center;\\n -ms-flex-align: center;\\n align-items: center; }\\n .bx--date-picker-input__wrapper ~ .bx--form-requirement {\\n max-height: 12.5rem;\\n display: block;\\n color: #da1e28;\\n font-weight: 400;\\n margin-top: 0.25rem;\\n overflow: visible; }\\n .bx--date-picker-input__wrapper ~ .bx--form-requirement::before {\\n display: none; }\\n\\n.bx--date-picker.bx--date-picker--simple .bx--date-picker__input {\\n width: 7.5rem; }\\n\\n.bx--date-picker.bx--date-picker--simple.bx--date-picker--short .bx--date-picker__input {\\n width: 5.7rem; }\\n\\n.bx--date-picker.bx--date-picker--single .bx--date-picker-container {\\n max-width: 18rem; }\\n\\n.bx--date-picker.bx--date-picker--single .bx--date-picker__input {\\n width: 18rem; }\\n\\n.bx--date-picker__input {\\n font-family: 'IBM Plex Mono', 'Menlo', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', Courier, monospace;\\n font-size: 0.875rem;\\n font-weight: 400;\\n line-height: 1.25rem;\\n letter-spacing: 0.32px;\\n outline: 2px solid transparent;\\n outline-offset: -2px;\\n display: block;\\n position: relative;\\n height: 2.5rem;\\n max-width: 18rem;\\n padding: 0 1rem;\\n background-color: #f3f3f3;\\n border: none;\\n color: #171717;\\n border-bottom: 1px solid #8c8c8c;\\n -webkit-transition: 70ms cubic-bezier(0.2, 0, 0.38, 0.9) all;\\n transition: 70ms cubic-bezier(0.2, 0, 0.38, 0.9) all; }\\n .bx--date-picker__input:focus, .bx--date-picker__input.bx--focused {\\n outline: 2px solid #0062ff;\\n outline-offset: -2px; }\\n .bx--date-picker__input[data-invalid], .bx--date-picker__input[data-invalid]:focus {\\n outline: 2px solid #da1e28;\\n outline-offset: -2px; }\\n .bx--date-picker__input:disabled {\\n color: #bebebe;\\n background-color: #f3f3f3;\\n border-bottom: 1px solid transparent;\\n cursor: not-allowed; }\\n .bx--date-picker__input:disabled:hover {\\n border-bottom: 1px solid transparent; }\\n .bx--date-picker__input::-webkit-input-placeholder {\\n color: #8c8c8c; }\\n .bx--date-picker__input::-moz-placeholder {\\n color: #8c8c8c; }\\n .bx--date-picker__input::-ms-input-placeholder {\\n color: #8c8c8c; }\\n .bx--date-picker__input::placeholder {\\n color: #8c8c8c; }\\n\\n.bx--date-picker__icon {\\n position: absolute;\\n right: 1rem;\\n fill: #171717;\\n cursor: pointer;\\n z-index: 1; }\\n\\n.bx--date-picker__icon ~ .bx--date-picker__input {\\n padding-right: 3rem; }\\n\\n.bx--date-picker--range > .bx--date-picker-container:first-child {\\n margin-right: 0.0625rem; }\\n\\n.bx--date-picker--range .bx--date-picker-container,\\n.bx--date-picker--range .bx--date-picker__input {\\n width: 8.96875rem; }\\n\\n.bx--date-picker__calendar,\\n.flatpickr-calendar.open {\\n -webkit-box-shadow: 0 12px 24px 0 rgba(0, 0, 0, 0.1);\\n box-shadow: 0 12px 24px 0 rgba(0, 0, 0, 0.1);\\n background-color: #f3f3f3;\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -webkit-box-orient: vertical;\\n -webkit-box-direction: normal;\\n -ms-flex-direction: column;\\n flex-direction: column;\\n -webkit-box-align: center;\\n -ms-flex-align: center;\\n align-items: center;\\n -webkit-box-pack: center;\\n -ms-flex-pack: center;\\n justify-content: center;\\n padding: 0.25rem 0.25rem 0.5rem 0.25rem;\\n width: 18rem !important;\\n height: 21rem;\\n border-radius: 0;\\n border: none;\\n overflow: hidden;\\n margin-top: -2px; }\\n .bx--date-picker__calendar:before, .bx--date-picker__calendar:after,\\n .flatpickr-calendar.open:before,\\n .flatpickr-calendar.open:after {\\n display: none; }\\n .bx--date-picker__calendar:focus,\\n .flatpickr-calendar.open:focus {\\n outline: 1px solid #0062ff; }\\n\\n.bx--date-picker__month,\\n.flatpickr-month {\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -webkit-box-align: center;\\n -ms-flex-align: center;\\n align-items: center;\\n width: 100%;\\n height: 2.5rem;\\n margin-bottom: 0.25rem; }\\n\\n.bx--date-picker__month .flatpickr-prev-month,\\n.bx--date-picker__month .flatpickr-next-month,\\n.flatpickr-months .flatpickr-prev-month,\\n.flatpickr-months .flatpickr-next-month {\\n display: -webkit-box !important;\\n display: -ms-flexbox !important;\\n display: flex !important;\\n -webkit-box-align: center;\\n -ms-flex-align: center;\\n align-items: center;\\n -webkit-box-pack: center;\\n -ms-flex-pack: center;\\n justify-content: center;\\n height: 2.5rem;\\n width: 2.5rem;\\n padding: 0;\\n fill: #171717;\\n -webkit-transition: background-color 70ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: background-color 70ms cubic-bezier(0.2, 0, 0.38, 0.9); }\\n .bx--date-picker__month .flatpickr-prev-month:hover,\\n .bx--date-picker__month .flatpickr-next-month:hover,\\n .flatpickr-months .flatpickr-prev-month:hover,\\n .flatpickr-months .flatpickr-next-month:hover {\\n background-color: #e5e5e5; }\\n\\n.flatpickr-current-month .numInputWrapper {\\n width: 7ch; }\\n\\n.bx--date-picker__month .flatpickr-current-month,\\n.flatpickr-month .flatpickr-current-month {\\n font-family: 'IBM Plex Sans', 'Helvetica Neue', Arial, sans-serif;\\n font-size: 0.875rem;\\n font-weight: 600;\\n line-height: 1.125rem;\\n letter-spacing: 0.16px;\\n padding: 0; }\\n\\n.bx--date-picker__month .flatpickr-current-month svg,\\n.flatpickr-month .flatpickr-current-month svg {\\n fill: #171717; }\\n\\n.bx--date-picker__month .flatpickr-current-month .cur-month,\\n.flatpickr-month .flatpickr-current-month .cur-month {\\n margin-right: 0.25rem;\\n color: #171717; }\\n\\n.bx--date-picker__month .numInputWrapper .numInput,\\n.flatpickr-month .numInputWrapper .numInput {\\n font-weight: 600;\\n color: #171717;\\n background-color: #f3f3f3;\\n border: none;\\n border-radius: 0;\\n padding: 0.25rem;\\n -moz-appearance: textfield;\\n /* Firefox */ }\\n .bx--date-picker__month .numInputWrapper .numInput:focus,\\n .flatpickr-month .numInputWrapper .numInput:focus {\\n outline: 1px solid #0062ff; }\\n .bx--date-picker__month .numInputWrapper .numInput::-webkit-outer-spin-button, .bx--date-picker__month .numInputWrapper .numInput::-webkit-inner-spin-button,\\n .flatpickr-month .numInputWrapper .numInput::-webkit-outer-spin-button,\\n .flatpickr-month .numInputWrapper .numInput::-webkit-inner-spin-button {\\n -webkit-appearance: none;\\n margin: 0;\\n /* <-- Apparently some margin are still there even though it's hidden */ }\\n\\n.bx--date-picker__month .numInputWrapper span.arrowUp,\\n.bx--date-picker__month .numInputWrapper span.arrowDown,\\n.flatpickr-month .numInputWrapper span.arrowUp,\\n.flatpickr-month .numInputWrapper span.arrowDown {\\n left: 2.6rem;\\n border: none;\\n width: 0.75rem; }\\n .bx--date-picker__month .numInputWrapper span.arrowUp:hover,\\n .bx--date-picker__month .numInputWrapper span.arrowDown:hover,\\n .flatpickr-month .numInputWrapper span.arrowUp:hover,\\n .flatpickr-month .numInputWrapper span.arrowDown:hover {\\n background: none; }\\n .bx--date-picker__month .numInputWrapper span.arrowUp:hover:after,\\n .bx--date-picker__month .numInputWrapper span.arrowDown:hover:after,\\n .flatpickr-month .numInputWrapper span.arrowUp:hover:after,\\n .flatpickr-month .numInputWrapper span.arrowDown:hover:after {\\n border-bottom-color: #0062ff;\\n border-top-color: #0062ff; }\\n .bx--date-picker__month .numInputWrapper span.arrowUp:after,\\n .bx--date-picker__month .numInputWrapper span.arrowDown:after,\\n .flatpickr-month .numInputWrapper span.arrowUp:after,\\n .flatpickr-month .numInputWrapper span.arrowDown:after {\\n border-bottom-color: #171717;\\n border-top-color: #171717; }\\n\\n.bx--date-picker__month .numInputWrapper span.arrowUp,\\n.flatpickr-month .numInputWrapper span.arrowUp {\\n top: 4px; }\\n\\n.bx--date-picker__month .numInputWrapper span.arrowDown,\\n.flatpickr-month .numInputWrapper span.arrowDown {\\n top: 11px; }\\n\\nspan.bx--date-picker__weekday,\\nspan.flatpickr-weekday {\\n font-family: 'IBM Plex Sans', 'Helvetica Neue', Arial, sans-serif;\\n font-size: 0.875rem;\\n font-weight: 400;\\n line-height: 1.125rem;\\n letter-spacing: 0.16px;\\n color: #171717;\\n font-weight: 400; }\\n\\n.bx--date-picker__day,\\n.flatpickr-day {\\n font-family: 'IBM Plex Sans', 'Helvetica Neue', Arial, sans-serif;\\n font-size: 0.875rem;\\n font-weight: 400;\\n line-height: 1.125rem;\\n letter-spacing: 0.16px;\\n height: 2.5rem;\\n width: 2.5rem;\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -webkit-box-align: center;\\n -ms-flex-align: center;\\n align-items: center;\\n -webkit-box-pack: center;\\n -ms-flex-pack: center;\\n justify-content: center;\\n color: #171717;\\n border-radius: 0;\\n border: none;\\n -webkit-transition: all 70ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: all 70ms cubic-bezier(0.2, 0, 0.38, 0.9); }\\n .bx--date-picker__day:hover,\\n .flatpickr-day:hover {\\n background: #e5e5e5; }\\n .bx--date-picker__day:focus,\\n .flatpickr-day:focus {\\n outline: 2px solid #0062ff;\\n outline-offset: -2px; }\\n\\n.bx--date-picker__days .nextMonthDay,\\n.bx--date-picker__days .prevMonthDay {\\n color: #565656; }\\n\\n.bx--date-picker__day.today,\\n.flatpickr-day.today {\\n position: relative;\\n color: #0062ff;\\n font-weight: 600; }\\n .bx--date-picker__day.today::after,\\n .flatpickr-day.today::after {\\n content: '';\\n position: absolute;\\n display: block;\\n bottom: 0.4375rem;\\n left: 50%;\\n -webkit-transform: translateX(-50%);\\n transform: translateX(-50%);\\n height: 0.25rem;\\n width: 0.25rem;\\n background: #0062ff; }\\n\\n.bx--date-picker__day.today.no-border,\\n.flatpickr-day.today.no-border {\\n border: none; }\\n\\n.bx--date-picker__day.today.selected {\\n border: 2px solid #0062ff; }\\n .bx--date-picker__day.today.selected::after {\\n display: none; }\\n\\n.bx--date-picker__day.disabled,\\n.flatpickr-day.disabled {\\n cursor: not-allowed;\\n opacity: 0.5;\\n color: #171717; }\\n .bx--date-picker__day.disabled:hover,\\n .flatpickr-day.disabled:hover {\\n background: transparent; }\\n\\n.bx--date-picker__day.inRange,\\n.flatpickr-day.inRange {\\n background: #c9deff;\\n color: #171717; }\\n\\n.bx--date-picker__day.selected,\\n.flatpickr-day.selected {\\n color: #ffffff;\\n background: #0062ff; }\\n .bx--date-picker__day.selected:hover,\\n .flatpickr-day.selected:hover {\\n color: #171717; }\\n\\n.bx--date-picker__day.startRange.selected,\\n.flatpickr-day.startRange.selected {\\n -webkit-box-shadow: none;\\n box-shadow: none;\\n z-index: 2; }\\n\\n.bx--date-picker__day.endRange:hover,\\n.flatpickr-day.endRange:hover {\\n background: #f3f3f3;\\n outline: 2px solid #0062ff;\\n outline-offset: -2px; }\\n\\n.bx--date-picker__day.endRange.inRange,\\n.flatpickr-day.endRange.inRange {\\n outline: 2px solid #0062ff;\\n outline-offset: -2px;\\n background: #f3f3f3;\\n z-index: 3; }\\n\\n.bx--date-picker__day.endRange.inRange.selected,\\n.flatpickr-day.endRange.inRange.selected {\\n color: #ffffff;\\n background: #0062ff; }\\n\\n.bx--date-picker__day.startRange.inRange:not(.selected),\\n.flatpickr-day.startRange.inRange:not(.selected) {\\n outline: 2px solid #0062ff;\\n outline-offset: -2px;\\n background: #f3f3f3;\\n z-index: 3; }\\n\\n.bx--date-picker__days,\\n.dayContainer {\\n width: 100%;\\n min-width: 100%;\\n height: 15.375rem; }\\n\\n.flatpickr-innerContainer,\\n.flatpickr-rContainer {\\n width: 100%;\\n height: 21rem; }\\n\\n.bx--date-picker__weekdays,\\n.flatpickr-weekdays,\\n.flatpickr-weekdaycontainer {\\n width: 100%; }\\n\\n.flatpickr-weekdays {\\n height: 2.5rem;\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -webkit-box-align: center;\\n -ms-flex-align: center;\\n align-items: center;\\n -webkit-box-pack: center;\\n -ms-flex-pack: center;\\n justify-content: center; }\\n\\n.flatpickr-weekdaycontainer {\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex; }\\n\\n.flatpickr-months {\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n width: 100%;\\n position: relative; }\\n\\n.flatpickr-prev-month,\\n.flatpickr-next-month {\\n padding-top: 12px; }\\n\\n.flatpickr-prev-month:hover svg,\\n.flatpickr-next-month:hover svg {\\n fill: #171717; }\\n\\n.flatpickr-next-month.disabled svg,\\n.flatpickr-prev-month.disabled svg {\\n fill: #171717;\\n opacity: 0.5;\\n cursor: not-allowed; }\\n\\n.flatpickr-next-month.disabled:hover svg,\\n.flatpickr-prev-month.disabled:hover svg {\\n fill: #171717; }\\n\\n.bx--date-picker.bx--skeleton input,\\n.bx--date-picker__input.bx--skeleton {\\n position: relative;\\n border: none;\\n padding: 0;\\n -webkit-box-shadow: none;\\n box-shadow: none;\\n pointer-events: none;\\n background: rgba(61, 112, 178, 0.1);\\n width: 100%; }\\n .bx--date-picker.bx--skeleton input:hover, .bx--date-picker.bx--skeleton input:focus, .bx--date-picker.bx--skeleton input:active,\\n .bx--date-picker__input.bx--skeleton:hover,\\n .bx--date-picker__input.bx--skeleton:focus,\\n .bx--date-picker__input.bx--skeleton:active {\\n border: none;\\n outline: none;\\n cursor: default; }\\n .bx--date-picker.bx--skeleton input:before,\\n .bx--date-picker__input.bx--skeleton:before {\\n content: '';\\n width: 0%;\\n height: 100%;\\n position: absolute;\\n top: 0;\\n left: 0;\\n opacity: 0.3;\\n background: rgba(61, 112, 178, 0.1);\\n -webkit-animation: 3000ms ease-in-out skeleton infinite;\\n animation: 3000ms ease-in-out skeleton infinite; }\\n .bx--date-picker.bx--skeleton input::-webkit-input-placeholder,\\n .bx--date-picker__input.bx--skeleton::-webkit-input-placeholder {\\n color: transparent; }\\n\\n.bx--date-picker.bx--skeleton .bx--label {\\n position: relative;\\n border: none;\\n padding: 0;\\n -webkit-box-shadow: none;\\n box-shadow: none;\\n pointer-events: none;\\n background: rgba(61, 112, 178, 0.1);\\n width: 4.6875rem;\\n height: 0.875rem; }\\n .bx--date-picker.bx--skeleton .bx--label:hover, .bx--date-picker.bx--skeleton .bx--label:focus, .bx--date-picker.bx--skeleton .bx--label:active {\\n border: none;\\n outline: none;\\n cursor: default; }\\n .bx--date-picker.bx--skeleton .bx--label:before {\\n content: '';\\n width: 0%;\\n height: 100%;\\n position: absolute;\\n top: 0;\\n left: 0;\\n opacity: 0.3;\\n background: rgba(61, 112, 178, 0.1);\\n -webkit-animation: 3000ms ease-in-out skeleton infinite;\\n animation: 3000ms ease-in-out skeleton infinite; }\\n\\n.bx--dropdown__wrapper--inline {\\n display: inline-grid;\\n -webkit-box-align: center;\\n -ms-flex-align: center;\\n align-items: center;\\n grid-template: auto auto / auto -webkit-min-content;\\n grid-template: auto auto / auto min-content;\\n grid-gap: 0.25rem; }\\n .bx--dropdown__wrapper--inline .bx--label {\\n font-family: 'IBM Plex Sans', 'Helvetica Neue', Arial, sans-serif;\\n font-size: 0.875rem;\\n font-weight: 400;\\n line-height: 1.125rem;\\n letter-spacing: 0.16px; }\\n .bx--dropdown__wrapper--inline .bx--label,\\n .bx--dropdown__wrapper--inline .bx--form__helper-text,\\n .bx--dropdown__wrapper--inline .bx--form-requirement {\\n margin: 0; }\\n .bx--dropdown__wrapper--inline .bx--form-requirement {\\n grid-column: 2; }\\n\\n.bx--dropdown {\\n outline: 2px solid transparent;\\n outline-offset: -2px;\\n position: relative;\\n list-style: none;\\n display: block;\\n background-color: #f3f3f3;\\n border: none;\\n border-bottom: 1px solid #8c8c8c;\\n width: 100%;\\n height: 2.5rem;\\n cursor: pointer;\\n color: #171717;\\n outline: 2px solid transparent;\\n -webkit-transition: 110ms cubic-bezier(0.2, 0, 0.38, 0.9) all;\\n transition: 110ms cubic-bezier(0.2, 0, 0.38, 0.9) all; }\\n .bx--dropdown:focus {\\n outline: 2px solid #0062ff;\\n outline-offset: -2px; }\\n .bx--dropdown:hover {\\n background-color: #e5e5e5; }\\n\\n.bx--dropdown--open {\\n border-bottom-color: #dcdcdc; }\\n\\n.bx--dropdown--invalid {\\n outline: 2px solid #da1e28;\\n outline-offset: -2px; }\\n .bx--dropdown--invalid .bx--dropdown-text {\\n padding-right: 3.5rem; }\\n .bx--dropdown--invalid + .bx--form-requirement {\\n display: inline-block;\\n max-height: 12.5rem;\\n color: #da1e28; }\\n\\n.bx--dropdown__invalid-icon {\\n position: absolute;\\n top: 50%;\\n right: 2.5rem;\\n fill: #da1e28;\\n -webkit-transform: translateY(-50%);\\n transform: translateY(-50%); }\\n\\n.bx--dropdown--open:hover {\\n background-color: #f3f3f3; }\\n\\n.bx--dropdown--open:focus {\\n outline: 1px solid transparent; }\\n\\n.bx--dropdown--open .bx--dropdown-list {\\n -webkit-box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.1);\\n box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.1); }\\n\\n.bx--dropdown--light {\\n background-color: #ffffff; }\\n\\n.bx--dropdown--up .bx--dropdown-list {\\n bottom: 2rem; }\\n\\n.bx--dropdown__arrow {\\n fill: #171717;\\n position: absolute;\\n right: 1rem;\\n top: 0.8125rem;\\n pointer-events: none;\\n -webkit-transition: -webkit-transform 110ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: -webkit-transform 110ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: transform 110ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: transform 110ms cubic-bezier(0.2, 0, 0.38, 0.9), -webkit-transform 110ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n -webkit-transform-origin: 50% 45%;\\n transform-origin: 50% 45%; }\\n\\n.bx--dropdown-text {\\n font-family: 'IBM Plex Sans', 'Helvetica Neue', Arial, sans-serif;\\n font-size: 0.875rem;\\n font-weight: 400;\\n line-height: 1.125rem;\\n letter-spacing: 0.16px;\\n display: block;\\n height: 2.5rem;\\n padding-top: 0.75rem;\\n padding-bottom: 0.75rem;\\n padding-left: 1rem;\\n padding-right: 2.625rem;\\n white-space: nowrap;\\n overflow: hidden;\\n text-overflow: ellipsis; }\\n\\n.bx--dropdown-list {\\n -webkit-box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.1);\\n box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.1);\\n font-family: 'IBM Plex Sans', 'Helvetica Neue', Arial, sans-serif;\\n font-size: 0.875rem;\\n font-weight: 400;\\n line-height: 1.125rem;\\n letter-spacing: 0.16px;\\n background-color: #f3f3f3;\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -webkit-box-orient: vertical;\\n -webkit-box-direction: normal;\\n -ms-flex-direction: column;\\n flex-direction: column;\\n width: 100%;\\n list-style: none;\\n position: absolute;\\n z-index: 7000;\\n max-height: 0;\\n -webkit-transition: max-height 110ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: max-height 110ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n overflow: hidden; }\\n\\n.bx--dropdown-item {\\n -webkit-transition: opacity 110ms cubic-bezier(0.2, 0, 0.38, 0.9), background-color 110ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: opacity 110ms cubic-bezier(0.2, 0, 0.38, 0.9), background-color 110ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n opacity: 0; }\\n .bx--dropdown-item:hover {\\n background-color: #e5e5e5; }\\n .bx--dropdown-item:hover + .bx--dropdown-item .bx--dropdown-link {\\n border-color: transparent; }\\n .bx--dropdown-item:active {\\n background-color: #dcdcdc; }\\n .bx--dropdown-item:first-of-type .bx--dropdown-link {\\n border-top-color: transparent; }\\n\\n.bx--dropdown-item:last-of-type .bx--dropdown-link {\\n border-bottom: none; }\\n\\n.bx--dropdown-link {\\n outline: 2px solid transparent;\\n outline-offset: -2px;\\n display: block;\\n height: 2.5rem;\\n color: #565656;\\n text-decoration: none;\\n font-weight: normal;\\n line-height: 1rem;\\n padding: 0.6875rem 0;\\n margin: 0 1rem;\\n border: 1px solid transparent;\\n border-top-color: #dcdcdc;\\n text-overflow: ellipsis;\\n overflow: hidden;\\n white-space: nowrap; }\\n .bx--dropdown-link:focus {\\n outline: 2px solid #0062ff;\\n outline-offset: -2px;\\n margin: 0;\\n padding: 0.6875rem 1rem; }\\n .bx--dropdown-link:hover {\\n color: #171717;\\n border-color: transparent; }\\n\\n.bx--dropdown-item:hover .bx--dropdown-link {\\n border-bottom-color: #e5e5e5; }\\n\\n.bx--dropdown--selected {\\n display: none; }\\n\\n.bx--dropdown--open .bx--dropdown__arrow {\\n -webkit-transform: rotate(-180deg);\\n transform: rotate(-180deg); }\\n\\n.bx--dropdown--open .bx--dropdown-list {\\n max-height: 15rem; }\\n .bx--dropdown--open .bx--dropdown-list:hover {\\n overflow: auto; }\\n\\n.bx--dropdown--open .bx--dropdown-item {\\n opacity: 1; }\\n\\n.bx--dropdown--disabled {\\n border-bottom-color: transparent;\\n cursor: not-allowed; }\\n .bx--dropdown--disabled:hover {\\n background-color: #f3f3f3; }\\n .bx--dropdown--disabled:focus {\\n outline: none; }\\n .bx--dropdown--disabled .bx--dropdown-text {\\n color: #bebebe; }\\n .bx--dropdown--disabled .bx--dropdown__arrow {\\n fill: #bebebe; }\\n .bx--dropdown--disabled.bx--dropdown--light:hover {\\n background-color: #ffffff; }\\n\\n.bx--dropdown--auto-width {\\n width: auto;\\n max-width: 25rem; }\\n\\n.bx--dropdown--inline {\\n justify-self: start;\\n display: inline-block;\\n border-bottom-color: transparent;\\n -webkit-transition-property: none;\\n transition-property: none;\\n width: auto;\\n height: 2rem;\\n background-color: #ffffff; }\\n .bx--dropdown--inline:hover {\\n background-color: #e5e5e5; }\\n .bx--dropdown--inline.bx--dropdown--disabled {\\n background-color: #ffffff; }\\n .bx--dropdown--inline .bx--dropdown__arrow {\\n top: 0.5rem;\\n right: 0.5rem; }\\n\\n.bx--dropdown--inline.bx--dropdown--open {\\n background-color: transparent; }\\n\\n.bx--dropdown--inline .bx--dropdown-text {\\n display: inline-block;\\n padding: 0.4375rem 2rem 0.4375rem 0.75rem;\\n height: 2rem;\\n overflow: visible;\\n color: #171717; }\\n\\n.bx--dropdown--inline.bx--dropdown--disabled .bx--dropdown-text {\\n color: #bebebe; }\\n\\n.bx--dropdown--inline.bx--dropdown--disabled:focus .bx--dropdown-text {\\n outline: 0; }\\n\\n.bx--dropdown--inline.bx--dropdown--invalid .bx--dropdown__invalid-icon {\\n right: 2rem; }\\n\\n.bx--dropdown--inline.bx--dropdown--invalid .bx--dropdown-text {\\n padding-right: 3.5rem; }\\n\\n.bx--dropdown--inline.bx--dropdown--open:focus .bx--dropdown-list {\\n -webkit-box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.1);\\n box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.1); }\\n\\n.bx--dropdown--inline .bx--dropdown-link {\\n font-weight: normal;\\n margin-right: 0.75rem;\\n margin-left: 0.625rem; }\\n .bx--dropdown--inline .bx--dropdown-link:focus {\\n margin: 0;\\n padding-left: 0.625rem; }\\n\\n.bx--dropdown-v2.bx--skeleton,\\n.bx--dropdown.bx--skeleton {\\n position: relative;\\n border: none;\\n padding: 0;\\n -webkit-box-shadow: none;\\n box-shadow: none;\\n pointer-events: none;\\n background: rgba(61, 112, 178, 0.1); }\\n .bx--dropdown-v2.bx--skeleton:hover, .bx--dropdown-v2.bx--skeleton:focus, .bx--dropdown-v2.bx--skeleton:active,\\n .bx--dropdown.bx--skeleton:hover,\\n .bx--dropdown.bx--skeleton:focus,\\n .bx--dropdown.bx--skeleton:active {\\n border: none;\\n outline: none;\\n cursor: default; }\\n .bx--dropdown-v2.bx--skeleton:before,\\n .bx--dropdown.bx--skeleton:before {\\n content: '';\\n width: 0%;\\n height: 100%;\\n position: absolute;\\n top: 0;\\n left: 0;\\n opacity: 0.3;\\n background: rgba(61, 112, 178, 0.1);\\n -webkit-animation: 3000ms ease-in-out skeleton infinite;\\n animation: 3000ms ease-in-out skeleton infinite; }\\n\\n@keyframes rotate {\\n 0% {\\n -webkit-transform: rotate(0deg);\\n transform: rotate(0deg); }\\n 100% {\\n -webkit-transform: rotate(360deg);\\n transform: rotate(360deg); } }\\n\\n@keyframes rotate-end-p1 {\\n 100% {\\n -webkit-transform: rotate(360deg);\\n transform: rotate(360deg); } }\\n\\n@keyframes rotate-end-p2 {\\n 100% {\\n -webkit-transform: rotate(-360deg);\\n transform: rotate(-360deg); } }\\n\\n/* Stroke animations */\\n@keyframes init-stroke {\\n 0% {\\n stroke-dashoffset: 240; }\\n 100% {\\n stroke-dashoffset: 40; } }\\n\\n@keyframes stroke-end {\\n 0% {\\n stroke-dashoffset: 40; }\\n 100% {\\n stroke-dashoffset: 240; } }\\n\\n.bx--modal {\\n position: fixed;\\n top: 0;\\n right: 0;\\n bottom: 0;\\n left: 0;\\n z-index: -1;\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -webkit-box-align: center;\\n -ms-flex-align: center;\\n align-items: center;\\n -webkit-box-pack: center;\\n -ms-flex-pack: center;\\n justify-content: center;\\n content: '';\\n opacity: 0;\\n background-color: rgba(23, 23, 23, 0.5);\\n -webkit-transition: opacity 150ms cubic-bezier(0.4, 0.14, 1, 1), z-index 0s 150ms cubic-bezier(0.4, 0.14, 1, 1), visibility 0s 150ms cubic-bezier(0.4, 0.14, 1, 1);\\n transition: opacity 150ms cubic-bezier(0.4, 0.14, 1, 1), z-index 0s 150ms cubic-bezier(0.4, 0.14, 1, 1), visibility 0s 150ms cubic-bezier(0.4, 0.14, 1, 1);\\n visibility: hidden; }\\n .bx--modal.is-visible {\\n z-index: 9000;\\n opacity: 1;\\n -webkit-transition: opacity 400ms cubic-bezier(0, 0, 0.3, 1);\\n transition: opacity 400ms cubic-bezier(0, 0, 0.3, 1);\\n visibility: visible; }\\n .bx--modal .bx--text-input,\\n .bx--modal .bx--select-input {\\n background-color: #ffffff; }\\n\\n.bx--modal--danger .bx--modal-container {\\n border-top-color: #da1e28; }\\n\\n.bx--modal-container {\\n position: relative;\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -webkit-box-orient: vertical;\\n -webkit-box-direction: normal;\\n -ms-flex-direction: column;\\n flex-direction: column;\\n background-color: #f3f3f3;\\n width: 100%;\\n max-height: 100%;\\n height: 100%; }\\n @media (min-width: 42rem) {\\n .bx--modal-container {\\n height: auto;\\n width: 50%;\\n max-width: 768px;\\n max-height: 90%; } }\\n @media (min-width: 66rem) {\\n .bx--modal-container {\\n max-height: 80%; } }\\n\\n.bx--modal-header,\\n.bx--modal-content {\\n width: 75%;\\n padding-left: 1rem; }\\n\\n.bx--modal-header,\\n.bx--modal-footer {\\n -ms-flex-negative: 0;\\n flex-shrink: 0; }\\n\\n.bx--modal-header {\\n padding-top: 1rem;\\n margin-bottom: 1rem; }\\n\\n.bx--modal-header__label {\\n font-family: 'IBM Plex Sans', 'Helvetica Neue', Arial, sans-serif;\\n font-size: 0.75rem;\\n font-weight: 400;\\n line-height: 1rem;\\n letter-spacing: 0.32px;\\n color: #565656;\\n margin-bottom: 0.25rem; }\\n\\n.bx--modal-header__heading {\\n font-family: 'IBM Plex Sans', 'Helvetica Neue', Arial, sans-serif;\\n font-size: 1.25rem;\\n font-weight: 400;\\n line-height: 1.625rem;\\n letter-spacing: 0;\\n color: #171717; }\\n\\n.bx--modal-content {\\n font-family: 'IBM Plex Sans', 'Helvetica Neue', Arial, sans-serif;\\n font-size: 0.875rem;\\n font-weight: 400;\\n line-height: 1.25rem;\\n letter-spacing: 0.16px;\\n overflow-y: auto;\\n margin-bottom: 3rem;\\n color: #171717;\\n font-weight: 400; }\\n\\n.bx--modal-content > * {\\n font-family: 'IBM Plex Sans', 'Helvetica Neue', Arial, sans-serif;\\n font-size: 0.875rem;\\n font-weight: 400;\\n line-height: 1.25rem;\\n letter-spacing: 0.16px; }\\n\\n.bx--modal-footer {\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n margin-top: auto;\\n height: 4rem;\\n background-color: #dcdcdc; }\\n .bx--modal-footer button.bx--btn {\\n max-width: none;\\n width: 50%;\\n height: 4rem;\\n margin: 0;\\n padding-top: 1rem;\\n padding-bottom: 2rem; }\\n\\n.bx--modal-close {\\n position: absolute;\\n top: 0;\\n right: 0;\\n height: 3rem;\\n width: 3rem;\\n padding: 0.75rem;\\n border: 2px solid transparent;\\n overflow: hidden;\\n cursor: pointer;\\n background-color: transparent; }\\n .bx--modal-close:hover {\\n background-color: #e5e5e5; }\\n .bx--modal-close:focus {\\n outline: none;\\n border-color: #0062ff; }\\n\\n.bx--modal-close__icon {\\n fill: #171717;\\n height: 1.25rem;\\n width: 1.25rem; }\\n\\n.bx--multi-select .bx--list-box__menu {\\n min-width: auto; }\\n\\n.bx--multi-select .bx--list-box__menu-item__option .bx--checkbox-wrapper {\\n width: 100%;\\n height: 100%;\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -webkit-box-align: center;\\n -ms-flex-align: center;\\n align-items: center; }\\n\\n.bx--multi-select .bx--list-box__menu-item__option > .bx--form-item {\\n margin: 0;\\n -webkit-box-orient: horizontal;\\n -webkit-box-direction: normal;\\n -ms-flex-direction: row;\\n flex-direction: row; }\\n\\n.bx--multi-select .bx--list-box__menu-item .bx--checkbox:checked ~ .bx--checkbox-label-text {\\n color: #171717; }\\n\\n.bx--inline-notification {\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -webkit-box-pack: justify;\\n -ms-flex-pack: justify;\\n justify-content: space-between;\\n height: auto;\\n min-height: 3rem;\\n min-width: 18rem;\\n max-width: 18rem;\\n color: #171717;\\n margin-top: 1rem;\\n margin-bottom: 1rem; }\\n @media (min-width: 42rem) {\\n .bx--inline-notification {\\n max-width: 38rem; } }\\n @media (min-width: 66rem) {\\n .bx--inline-notification {\\n max-width: 46rem; } }\\n @media (min-width: 99rem) {\\n .bx--inline-notification {\\n max-width: 52rem; } }\\n\\n.bx--inline-notification--error {\\n border-left: 3px solid #da1e28;\\n background: #fff0f1; }\\n .bx--inline-notification--error .bx--inline-notification__icon,\\n .bx--inline-notification--error .bx--toast-notification__icon {\\n fill: #da1e28; }\\n\\n.bx--inline-notification--success {\\n border-left: 3px solid #24a148;\\n background: #dafbe4; }\\n .bx--inline-notification--success .bx--inline-notification__icon,\\n .bx--inline-notification--success .bx--toast-notification__icon {\\n fill: #24a148; }\\n\\n.bx--inline-notification--info {\\n border-left: 3px solid #054ada;\\n background: #edf4ff; }\\n .bx--inline-notification--info .bx--inline-notification__icon,\\n .bx--inline-notification--info .bx--toast-notification__icon {\\n fill: #054ada; }\\n\\n.bx--inline-notification--info .bx--inline-notification__icon {\\n display: none; }\\n\\n.bx--inline-notification--warning {\\n border-left: 3px solid #fdd13a;\\n background: rgba(253, 209, 58, 0.15); }\\n .bx--inline-notification--warning .bx--inline-notification__icon,\\n .bx--inline-notification--warning .bx--toast-notification__icon {\\n fill: #fdd13a; }\\n\\n.bx--inline-notification--warning .bx--inline-notification__icon path[opacity='0'] {\\n fill: #171717;\\n opacity: 1; }\\n\\n.bx--inline-notification__details {\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n margin: 0 1rem; }\\n\\n.bx--inline-notification__icon {\\n -ms-flex-negative: 0;\\n flex-shrink: 0;\\n margin-right: 1rem;\\n margin-top: 0.875rem; }\\n\\n.bx--inline-notification__text-wrapper {\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -ms-flex-wrap: wrap;\\n flex-wrap: wrap;\\n -webkit-box-align: center;\\n -ms-flex-align: center;\\n align-items: center;\\n padding: 0.75rem 0; }\\n\\n.bx--inline-notification__title {\\n font-family: 'IBM Plex Sans', 'Helvetica Neue', Arial, sans-serif;\\n font-size: 0.875rem;\\n font-weight: 600;\\n line-height: 1.125rem;\\n letter-spacing: 0.16px;\\n margin: 0 0.25rem 0 0;\\n white-space: nowrap; }\\n\\n.bx--inline-notification__subtitle {\\n font-family: 'IBM Plex Sans', 'Helvetica Neue', Arial, sans-serif;\\n font-size: 0.875rem;\\n font-weight: 400;\\n line-height: 1.125rem;\\n letter-spacing: 0.16px;\\n word-break: break-word; }\\n\\n.bx--inline-notification__close-button {\\n outline: 2px solid transparent;\\n outline-offset: -2px;\\n background: transparent;\\n border: none;\\n cursor: pointer;\\n padding: 0;\\n height: 3rem;\\n width: 3rem;\\n min-width: 3rem;\\n max-width: 3rem;\\n -webkit-transition: outline 110ms cubic-bezier(0.2, 0, 0.38, 0.9), background-color 110ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: outline 110ms cubic-bezier(0.2, 0, 0.38, 0.9), background-color 110ms cubic-bezier(0.2, 0, 0.38, 0.9); }\\n .bx--inline-notification__close-button:focus {\\n outline: 2px solid #0062ff;\\n outline-offset: -2px; }\\n .bx--inline-notification__close-button .bx--inline-notification__close-icon {\\n height: 1rem;\\n width: 1rem;\\n fill: #171717; }\\n\\n.bx--toast-notification {\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n width: 18rem;\\n height: auto;\\n padding-left: 1rem;\\n color: #171717;\\n margin-top: 0.5rem;\\n margin-bottom: 0.5rem;\\n margin-right: 1rem; }\\n .bx--toast-notification:first-child {\\n margin-top: 1rem; }\\n @media (min-width: 99rem) {\\n .bx--toast-notification {\\n width: 22rem; } }\\n\\n.bx--toast-notification--error {\\n border-left: 3px solid #da1e28;\\n background: #fff0f1; }\\n .bx--toast-notification--error .bx--inline-notification__icon,\\n .bx--toast-notification--error .bx--toast-notification__icon {\\n fill: #da1e28; }\\n\\n.bx--toast-notification--success {\\n border-left: 3px solid #24a148;\\n background: #dafbe4; }\\n .bx--toast-notification--success .bx--inline-notification__icon,\\n .bx--toast-notification--success .bx--toast-notification__icon {\\n fill: #24a148; }\\n\\n.bx--toast-notification--info {\\n border-left: 3px solid #054ada;\\n background: #edf4ff; }\\n .bx--toast-notification--info .bx--inline-notification__icon,\\n .bx--toast-notification--info .bx--toast-notification__icon {\\n fill: #054ada; }\\n\\n.bx--toast-notification--warning {\\n border-left: 3px solid #fdd13a;\\n background: rgba(253, 209, 58, 0.15); }\\n .bx--toast-notification--warning .bx--inline-notification__icon,\\n .bx--toast-notification--warning .bx--toast-notification__icon {\\n fill: #fdd13a; }\\n\\n.bx--toast-notification--warning .bx--toast-notification__icon path[opacity='0'] {\\n fill: #171717;\\n opacity: 1; }\\n\\n.bx--toast-notification__icon {\\n -ms-flex-negative: 0;\\n flex-shrink: 0;\\n margin-right: 1rem;\\n margin-top: 1rem; }\\n\\n.bx--toast-notification__details {\\n margin-right: 1rem; }\\n\\n.bx--toast-notification__close-button {\\n outline: 2px solid transparent;\\n outline-offset: -2px;\\n background-color: transparent;\\n border: none;\\n cursor: pointer;\\n margin-left: auto;\\n padding: 0;\\n height: 3rem;\\n width: 3rem;\\n min-height: 3rem;\\n min-width: 3rem;\\n -webkit-transition: outline 110ms, background-color 110ms;\\n transition: outline 110ms, background-color 110ms; }\\n .bx--toast-notification__close-button:focus {\\n outline: 2px solid #0062ff;\\n outline-offset: -2px; }\\n .bx--toast-notification__close-button .bx--toast-notification__close-icon {\\n height: 1rem;\\n width: 1rem;\\n fill: #171717; }\\n\\n.bx--toast-notification__title {\\n font-family: 'IBM Plex Sans', 'Helvetica Neue', Arial, sans-serif;\\n font-size: 0.875rem;\\n font-weight: 600;\\n line-height: 1.125rem;\\n letter-spacing: 0.16px;\\n font-weight: 600;\\n margin-top: 1rem; }\\n\\n.bx--toast-notification__subtitle {\\n font-family: 'IBM Plex Sans', 'Helvetica Neue', Arial, sans-serif;\\n font-size: 0.875rem;\\n font-weight: 400;\\n line-height: 1.125rem;\\n letter-spacing: 0.16px;\\n color: #171717;\\n margin-top: 0;\\n margin-bottom: 1.5rem; }\\n\\n.bx--toast-notification__caption {\\n font-family: 'IBM Plex Sans', 'Helvetica Neue', Arial, sans-serif;\\n font-size: 0.875rem;\\n font-weight: 400;\\n line-height: 1.125rem;\\n letter-spacing: 0.16px;\\n color: #171717;\\n margin-bottom: 1rem; }\\n\\n.bx--tooltip--icon {\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -webkit-box-align: center;\\n -ms-flex-align: center;\\n align-items: center; }\\n\\n.bx--tooltip__label {\\n font-family: 'IBM Plex Sans', 'Helvetica Neue', Arial, sans-serif;\\n font-size: 0.75rem;\\n font-weight: 400;\\n line-height: 1rem;\\n letter-spacing: 0.32px;\\n display: -webkit-inline-box;\\n display: -ms-inline-flexbox;\\n display: inline-flex;\\n -webkit-box-align: center;\\n -ms-flex-align: center;\\n align-items: center;\\n color: #565656; }\\n .bx--tooltip__label .bx--tooltip__trigger {\\n margin-left: 0.5rem; }\\n\\n.bx--tooltip__label:focus {\\n outline: 1px solid #0062ff; }\\n\\n.bx--tooltip__trigger {\\n display: inline-block;\\n background: none;\\n -webkit-appearance: none;\\n -moz-appearance: none;\\n appearance: none;\\n border: 0;\\n padding: 0;\\n cursor: pointer;\\n display: -webkit-inline-box;\\n display: -ms-inline-flexbox;\\n display: inline-flex;\\n -webkit-box-align: center;\\n -ms-flex-align: center;\\n align-items: center;\\n cursor: pointer;\\n font-size: 1rem; }\\n .bx--tooltip__trigger::-moz-focus-inner {\\n border: 0; }\\n .bx--tooltip__trigger:focus {\\n outline: 1px solid #0062ff;\\n fill: #0353e9; }\\n .bx--tooltip__trigger path,\\n .bx--tooltip__trigger polygon,\\n .bx--tooltip__trigger circle {\\n fill: #565656; }\\n\\n.bx--tooltip__label--bold {\\n font-weight: 600; }\\n\\n.bx--tooltip {\\n -webkit-box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.1);\\n box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.1);\\n position: absolute;\\n display: none;\\n min-width: 13rem;\\n max-width: 18rem;\\n background: #3d3d3d;\\n margin-top: 0.25rem;\\n padding: 1rem;\\n border-radius: 0.125rem;\\n z-index: 10000;\\n word-wrap: break-word;\\n color: #ffffff; }\\n .bx--tooltip p {\\n font-family: 'IBM Plex Sans', 'Helvetica Neue', Arial, sans-serif;\\n font-size: 0.875rem;\\n font-weight: 400;\\n line-height: 1.125rem;\\n letter-spacing: 0.16px; }\\n .bx--tooltip button {\\n padding-right: 2rem; }\\n .bx--tooltip .bx--link {\\n color: #6ea6ff;\\n font-size: 0.875rem; }\\n .bx--tooltip .bx--link:active {\\n color: #ffffff; }\\n .bx--tooltip .bx--link:visited {\\n color: #6ea6ff; }\\n .bx--tooltip .bx--tooltip__caret {\\n position: absolute;\\n background: #3d3d3d;\\n left: 0;\\n top: -0.25rem;\\n right: 0;\\n -webkit-transform: rotate(-135deg);\\n transform: rotate(-135deg);\\n width: 0.6rem;\\n height: 0.6rem;\\n margin: 0 auto;\\n content: ''; }\\n .bx--tooltip .bx--tooltip__footer {\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -webkit-box-align: center;\\n -ms-flex-align: center;\\n align-items: center;\\n -webkit-box-pack: justify;\\n -ms-flex-pack: justify;\\n justify-content: space-between;\\n margin-top: 1rem; }\\n .bx--tooltip[data-floating-menu-direction='left'] .bx--tooltip__caret {\\n left: auto;\\n top: 50%;\\n right: -0.25rem;\\n -webkit-transform: rotate(-45deg) translate(50%, -50%);\\n transform: rotate(-45deg) translate(50%, -50%); }\\n .bx--tooltip[data-floating-menu-direction='top'] .bx--tooltip__caret {\\n top: auto;\\n bottom: -0.25rem;\\n -webkit-transform: rotate(45deg);\\n transform: rotate(45deg); }\\n .bx--tooltip[data-floating-menu-direction='right'] .bx--tooltip__caret {\\n left: -0.25rem;\\n top: 50%;\\n right: auto;\\n -webkit-transform: rotate(135deg) translate(-50%, 50%);\\n transform: rotate(135deg) translate(-50%, 50%); }\\n\\n.bx--tooltip--shown {\\n display: block; }\\n\\n.bx--tooltip--definition {\\n position: relative; }\\n .bx--tooltip--definition .bx--tooltip__trigger {\\n font-family: 'IBM Plex Sans', 'Helvetica Neue', Arial, sans-serif;\\n font-size: 0.75rem;\\n font-weight: 400;\\n line-height: 1rem;\\n letter-spacing: 0.32px;\\n display: -webkit-inline-box;\\n display: -ms-inline-flexbox;\\n display: inline-flex;\\n position: relative;\\n border-bottom: 1px dotted #0062ff;\\n color: #171717; }\\n .bx--tooltip--definition .bx--tooltip__trigger:hover {\\n cursor: pointer; }\\n .bx--tooltip--definition .bx--tooltip__trigger:hover + .bx--tooltip--definition__top,\\n .bx--tooltip--definition .bx--tooltip__trigger:hover + .bx--tooltip--definition__bottom {\\n display: block; }\\n .bx--tooltip--definition .bx--tooltip__trigger:focus {\\n outline: 1px solid #0062ff; }\\n .bx--tooltip--definition .bx--tooltip__trigger:focus + .bx--tooltip--definition__top,\\n .bx--tooltip--definition .bx--tooltip__trigger:focus + .bx--tooltip--definition__bottom {\\n display: block; }\\n\\n.bx--tooltip--definition__bottom,\\n.bx--tooltip--definition__top {\\n -webkit-box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.1);\\n box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.1);\\n position: absolute;\\n z-index: 1;\\n display: none;\\n background: #3d3d3d;\\n width: 13rem;\\n margin-top: 0.75rem;\\n padding: 0.5rem 1rem;\\n border-radius: 0.125rem;\\n pointer-events: none;\\n cursor: pointer; }\\n .bx--tooltip--definition__bottom p,\\n .bx--tooltip--definition__top p {\\n font-family: 'IBM Plex Sans', 'Helvetica Neue', Arial, sans-serif;\\n font-size: 0.875rem;\\n font-weight: 400;\\n line-height: 1.125rem;\\n letter-spacing: 0.16px;\\n color: #ffffff; }\\n .bx--tooltip--definition__bottom .bx--tooltip__caret,\\n .bx--tooltip--definition__top .bx--tooltip__caret {\\n position: absolute;\\n right: 0;\\n left: 0;\\n width: 0.6rem;\\n height: 0.6rem;\\n background: #3d3d3d;\\n margin-left: 1rem; }\\n\\n.bx--tooltip--definition__bottom .bx--tooltip__caret {\\n top: -0.2rem;\\n -webkit-transform: rotate(-135deg);\\n transform: rotate(-135deg); }\\n\\n.bx--tooltip--definition__top {\\n -webkit-transform: translateY(-100%);\\n transform: translateY(-100%);\\n margin-top: -2rem; }\\n .bx--tooltip--definition__top .bx--tooltip__caret {\\n bottom: -0.2rem;\\n -webkit-transform: rotate(45deg);\\n transform: rotate(45deg); }\\n\\n.bx--tooltip--icon__top,\\n.bx--tooltip--icon__bottom {\\n position: relative;\\n display: -webkit-inline-box;\\n display: -ms-inline-flexbox;\\n display: inline-flex;\\n -webkit-box-align: center;\\n -ms-flex-align: center;\\n align-items: center;\\n cursor: pointer;\\n overflow: visible; }\\n .bx--tooltip--icon__top path,\\n .bx--tooltip--icon__bottom path {\\n fill: #565656; }\\n .bx--tooltip--icon__top::before, .bx--tooltip--icon__top::after,\\n .bx--tooltip--icon__bottom::before,\\n .bx--tooltip--icon__bottom::after {\\n font-family: 'IBM Plex Sans', 'Helvetica Neue', Arial, sans-serif;\\n font-size: 0.875rem;\\n font-weight: 400;\\n line-height: 1.125rem;\\n letter-spacing: 0.16px;\\n position: absolute;\\n display: none;\\n background-color: #3d3d3d; }\\n .bx--tooltip--icon__top::before,\\n .bx--tooltip--icon__bottom::before {\\n right: 0;\\n left: 0;\\n width: 1.125rem;\\n height: 1.125rem;\\n margin: 0 auto;\\n content: '';\\n margin-top: 1px;\\n margin-left: 50%; }\\n .bx--tooltip--icon__top::after,\\n .bx--tooltip--icon__bottom::after {\\n -webkit-box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.1);\\n box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.1);\\n min-width: 1.5rem;\\n max-width: 13rem;\\n height: 1.5rem;\\n margin-left: 50%;\\n padding: 0 1rem;\\n border-radius: 0.125rem;\\n color: #ffffff;\\n font-weight: 400;\\n content: attr(aria-label);\\n -webkit-transform: translateX(-50%);\\n transform: translateX(-50%);\\n white-space: nowrap;\\n pointer-events: none;\\n margin-left: 50%; }\\n .bx--tooltip--icon__top:hover path, .bx--tooltip--icon__top:focus path,\\n .bx--tooltip--icon__bottom:hover path,\\n .bx--tooltip--icon__bottom:focus path {\\n fill: #565656; }\\n .bx--tooltip--icon__top:hover::before, .bx--tooltip--icon__top:hover::after, .bx--tooltip--icon__top:focus::before, .bx--tooltip--icon__top:focus::after,\\n .bx--tooltip--icon__bottom:hover::before,\\n .bx--tooltip--icon__bottom:hover::after,\\n .bx--tooltip--icon__bottom:focus::before,\\n .bx--tooltip--icon__bottom:focus::after {\\n position: absolute;\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -webkit-box-align: center;\\n -ms-flex-align: center;\\n align-items: center; }\\n .bx--tooltip--icon__top:focus,\\n .bx--tooltip--icon__bottom:focus {\\n outline: 1px solid transparent; }\\n .bx--tooltip--icon__top:focus svg,\\n .bx--tooltip--icon__bottom:focus svg {\\n outline: 1px solid #0062ff; }\\n\\n.bx--tooltip--icon__top::before {\\n top: 1px;\\n -webkit-transform: translate(-50%, calc(-100% - 12px)) rotate(45deg);\\n transform: translate(-50%, calc(-100% - 12px)) rotate(45deg); }\\n\\n.bx--tooltip--icon__top::after {\\n top: 0;\\n -webkit-transform: translate(-50%, calc(-100% - 12px));\\n transform: translate(-50%, calc(-100% - 12px)); }\\n\\n.bx--tooltip--icon__bottom::before {\\n bottom: 0;\\n -webkit-transform: translate(-50%, calc(100% + 9px)) rotate(135deg);\\n transform: translate(-50%, calc(100% + 9px)) rotate(135deg); }\\n\\n.bx--tooltip--icon__bottom::after {\\n bottom: 0;\\n -webkit-transform: translate(-50%, calc(100% + 10px));\\n transform: translate(-50%, calc(100% + 10px)); }\\n\\n.bx--tooltip--icon .bx--tooltip__trigger svg {\\n margin-left: 0; }\\n\\n.bx--tabs {\\n font-family: 'IBM Plex Sans', 'Helvetica Neue', Arial, sans-serif;\\n font-size: 0.875rem;\\n font-weight: 400;\\n line-height: 1.125rem;\\n letter-spacing: 0.16px;\\n color: #171717;\\n height: auto;\\n width: 100%;\\n position: relative; }\\n @media (min-width: 42rem) {\\n .bx--tabs {\\n background: none;\\n min-height: 3rem; } }\\n\\n.bx--tabs-trigger {\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -webkit-box-align: center;\\n -ms-flex-align: center;\\n align-items: center;\\n -webkit-box-pack: justify;\\n -ms-flex-pack: justify;\\n justify-content: space-between;\\n padding: 0 1rem;\\n height: 2.5rem;\\n cursor: pointer;\\n color: #171717;\\n outline: 2px solid transparent;\\n border-bottom: 1px solid #8c8c8c;\\n background-color: #f3f3f3; }\\n @media (min-width: 42rem) {\\n .bx--tabs-trigger {\\n display: none; } }\\n\\n.bx--tabs-trigger:focus,\\n.bx--tabs-trigger:active {\\n outline: 2px solid #0062ff;\\n outline-offset: -2px; }\\n\\n.bx--tabs-trigger svg {\\n width: 0.75rem;\\n height: 0.4375rem;\\n fill: #171717;\\n -webkit-transition: -webkit-transform 150ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: -webkit-transform 150ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: transform 150ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: transform 150ms cubic-bezier(0.2, 0, 0.38, 0.9), -webkit-transform 150ms cubic-bezier(0.2, 0, 0.38, 0.9); }\\n\\n.bx--tabs-trigger--open:focus,\\n.bx--tabs-trigger--open:active {\\n outline: 2px solid transparent;\\n outline-offset: -2px;\\n -webkit-transition: outline 150ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: outline 150ms cubic-bezier(0.2, 0, 0.38, 0.9); }\\n\\n.bx--tabs-trigger--open {\\n background: #dcdcdc; }\\n\\n.bx--tabs-trigger--open svg {\\n -webkit-transform: rotate(-180deg);\\n transform: rotate(-180deg);\\n -webkit-transition: -webkit-transform 150ms;\\n transition: -webkit-transform 150ms;\\n transition: transform 150ms;\\n transition: transform 150ms, -webkit-transform 150ms;\\n -webkit-transform-origin: 50% 45%;\\n transform-origin: 50% 45%; }\\n\\n.bx--tabs--light.bx--tabs-trigger {\\n background-color: #ffffff; }\\n\\n.bx--tabs-trigger-text {\\n text-decoration: none;\\n padding-top: 2px;\\n color: #171717;\\n font-weight: 400; }\\n\\n.bx--tabs-trigger-text:hover {\\n color: #171717; }\\n\\n.bx--tabs-trigger-text:focus {\\n outline: none; }\\n\\n.bx--tabs__nav {\\n -webkit-box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.1);\\n box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.1);\\n margin: 0;\\n padding: 0;\\n position: absolute;\\n list-style: none;\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -webkit-box-orient: vertical;\\n -webkit-box-direction: normal;\\n -ms-flex-direction: column;\\n flex-direction: column;\\n z-index: 7000;\\n background: #f3f3f3;\\n -webkit-transition: max-height 150ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: max-height 150ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n max-height: 600px;\\n width: 100%; }\\n @media (min-width: 42rem) {\\n .bx--tabs__nav {\\n -webkit-box-orient: horizontal;\\n -webkit-box-direction: normal;\\n -ms-flex-direction: row;\\n flex-direction: row;\\n background: none;\\n -webkit-box-shadow: none;\\n box-shadow: none;\\n z-index: auto;\\n -webkit-transition: inherit;\\n transition: inherit;\\n max-height: auto;\\n width: auto; } }\\n\\n.bx--tabs__nav--hidden {\\n -webkit-transition: max-height 150ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: max-height 150ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n overflow: hidden;\\n max-height: 0; }\\n @media (min-width: 42rem) {\\n .bx--tabs__nav--hidden {\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -webkit-transition: inherit;\\n transition: inherit;\\n overflow: visible;\\n max-height: none; } }\\n\\n.bx--tabs__nav-item {\\n background-color: #f3f3f3;\\n padding: 0;\\n cursor: pointer;\\n width: 100%;\\n height: 2.5rem; }\\n @media (min-width: 42rem) {\\n .bx--tabs__nav-item {\\n background: transparent;\\n height: auto; }\\n .bx--tabs__nav-item + .bx--tabs__nav-item {\\n margin-left: 0.125rem; } }\\n\\n@media (min-width: 42rem) {\\n .bx--tabs__nav-item:hover:not(.bx--tabs__nav-item--selected) {\\n background: transparent; } }\\n\\n.bx--tabs__nav-item:hover:not(.bx--tabs__nav-item--disabled) {\\n background-color: #e5e5e5;\\n -webkit-box-shadow: 0 -1px 0 #e5e5e5;\\n box-shadow: 0 -1px 0 #e5e5e5; }\\n @media (min-width: 42rem) {\\n .bx--tabs__nav-item:hover:not(.bx--tabs__nav-item--disabled) {\\n background-color: transparent;\\n -webkit-box-shadow: none;\\n box-shadow: none; } }\\n\\n.bx--tabs__nav-item--disabled,\\n.bx--tabs__nav-item--disabled:hover {\\n cursor: not-allowed; }\\n\\n.bx--tabs__nav-item--selected:not(.bx--tabs__nav-item--disabled) {\\n border: none;\\n display: none; }\\n @media (min-width: 42rem) {\\n .bx--tabs__nav-item--selected:not(.bx--tabs__nav-item--disabled) {\\n display: list-item; }\\n .bx--tabs__nav-item--selected:not(.bx--tabs__nav-item--disabled) .bx--tabs__nav-link {\\n color: #171717;\\n font-family: 'IBM Plex Sans', 'Helvetica Neue', Arial, sans-serif;\\n font-size: 0.875rem;\\n font-weight: 600;\\n line-height: 1.125rem;\\n letter-spacing: 0.16px;\\n border-bottom: 3px solid #0062ff; }\\n .bx--tabs__nav-item--selected:not(.bx--tabs__nav-item--disabled) .bx--tabs__nav-link:focus,\\n .bx--tabs__nav-item--selected:not(.bx--tabs__nav-item--disabled) .bx--tabs__nav-link:active {\\n color: #171717;\\n border-bottom: 2px; } }\\n\\na.bx--tabs__nav-link {\\n display: inline-block;\\n color: #565656;\\n text-decoration: none;\\n font-weight: 400;\\n padding: 0.75rem 0;\\n width: calc(100% - 32px);\\n height: 2.5rem;\\n white-space: nowrap;\\n text-overflow: ellipsis;\\n margin: 0 1rem;\\n line-height: 1rem;\\n border-bottom: 1px solid #dcdcdc;\\n overflow: hidden; }\\n a.bx--tabs__nav-link:focus, a.bx--tabs__nav-link:active {\\n width: 100%;\\n margin: 0;\\n padding-left: 16px;\\n outline: 2px solid #0062ff;\\n outline-offset: -2px; }\\n @media (min-width: 42rem) {\\n a.bx--tabs__nav-link {\\n border-bottom: 3px solid #bebebe;\\n padding: 0.5rem 1rem;\\n width: 10rem;\\n margin: 0;\\n line-height: inherit; }\\n a.bx--tabs__nav-link:focus, a.bx--tabs__nav-link:active {\\n width: 10rem;\\n padding: 0.5rem 1rem;\\n border-bottom: 2px; } }\\n\\n.bx--tabs__nav-item:hover:not(.bx--tabs__nav-item--selected):not(.bx--tabs__nav-item--disabled)\\n.bx--tabs__nav-link {\\n color: #171717; }\\n @media (min-width: 42rem) {\\n .bx--tabs__nav-item:hover:not(.bx--tabs__nav-item--selected):not(.bx--tabs__nav-item--disabled)\\n.bx--tabs__nav-link {\\n color: #171717;\\n border-bottom: 3px solid #6f6f6f; } }\\n\\n.bx--tabs__nav-item--disabled .bx--tabs__nav-link {\\n color: #bebebe;\\n border-bottom: 3px solid #f3f3f3; }\\n\\n.bx--tabs__nav-item--disabled:hover .bx--tabs__nav-link {\\n cursor: no-drop;\\n border-bottom: 3px solid #f3f3f3; }\\n\\n.bx--tabs__nav-item--disabled .bx--tabs__nav-link:focus,\\n.bx--tabs__nav-item--disabled a.bx--tabs__nav-link:active {\\n outline: none;\\n border-bottom: 3px solid #f3f3f3; }\\n\\n.bx--tabs__nav-item:not(.bx--tabs__nav-item--selected):not(.bx--tabs__nav-item--disabled):not(.bx--tabs__nav-item--selected)\\n.bx--tabs__nav-link:focus,\\n.bx--tabs__nav-item:not(.bx--tabs__nav-item--selected):not(.bx--tabs__nav-item--disabled):not(.bx--tabs__nav-item--selected)\\na.bx--tabs__nav-link:active {\\n color: #565656; }\\n\\n.bx--tabs.bx--skeleton {\\n pointer-events: none;\\n cursor: default; }\\n\\n.bx--tabs.bx--skeleton .bx--tabs__nav-link {\\n position: relative;\\n border: none;\\n padding: 0;\\n -webkit-box-shadow: none;\\n box-shadow: none;\\n pointer-events: none;\\n background: rgba(61, 112, 178, 0.1);\\n width: 4.6875rem;\\n height: 0.75rem; }\\n .bx--tabs.bx--skeleton .bx--tabs__nav-link:hover, .bx--tabs.bx--skeleton .bx--tabs__nav-link:focus, .bx--tabs.bx--skeleton .bx--tabs__nav-link:active {\\n border: none;\\n outline: none;\\n cursor: default; }\\n .bx--tabs.bx--skeleton .bx--tabs__nav-link:before {\\n content: '';\\n width: 0%;\\n height: 100%;\\n position: absolute;\\n top: 0;\\n left: 0;\\n opacity: 0.3;\\n background: rgba(61, 112, 178, 0.1);\\n -webkit-animation: 3000ms ease-in-out skeleton infinite;\\n animation: 3000ms ease-in-out skeleton infinite; }\\n\\n.bx--tabs.bx--skeleton .bx--tabs-trigger {\\n position: relative;\\n border: none;\\n padding: 0;\\n -webkit-box-shadow: none;\\n box-shadow: none;\\n pointer-events: none;\\n background: rgba(61, 112, 178, 0.1);\\n width: 6.25rem; }\\n .bx--tabs.bx--skeleton .bx--tabs-trigger:hover, .bx--tabs.bx--skeleton .bx--tabs-trigger:focus, .bx--tabs.bx--skeleton .bx--tabs-trigger:active {\\n border: none;\\n outline: none;\\n cursor: default; }\\n .bx--tabs.bx--skeleton .bx--tabs-trigger:before {\\n content: '';\\n width: 0%;\\n height: 100%;\\n position: absolute;\\n top: 0;\\n left: 0;\\n opacity: 0.3;\\n background: rgba(61, 112, 178, 0.1);\\n -webkit-animation: 3000ms ease-in-out skeleton infinite;\\n animation: 3000ms ease-in-out skeleton infinite; }\\n\\n.bx--tabs.bx--skeleton .bx--tabs-trigger svg {\\n position: absolute;\\n width: 1px;\\n height: 1px;\\n padding: 0;\\n margin: -1px;\\n overflow: hidden;\\n clip: rect(0, 0, 0, 0);\\n border: 0;\\n visibility: visible;\\n white-space: nowrap; }\\n\\n.bx--tag {\\n font-family: 'IBM Plex Sans', 'Helvetica Neue', Arial, sans-serif;\\n font-size: 0.75rem;\\n font-weight: 400;\\n line-height: 1rem;\\n letter-spacing: 0.32px;\\n display: -webkit-inline-box;\\n display: -ms-inline-flexbox;\\n display: inline-flex;\\n -webkit-box-align: center;\\n -ms-flex-align: center;\\n align-items: center;\\n padding: 0 0.5rem;\\n height: 1.5rem;\\n margin: 0.25rem;\\n border-radius: 0.9375rem; }\\n .bx--tag:not(:first-child) {\\n margin-left: 0; }\\n .bx--tag.bx--skeleton {\\n background-color: #dcdcdc;\\n color: #171717; }\\n\\n.bx--tag--red {\\n background-color: #fcd0d3;\\n color: #a51920; }\\n\\n.bx--tag--magenta {\\n background-color: #ffcfe1;\\n color: #a11950; }\\n\\n.bx--tag--purple {\\n background-color: #e6d6ff;\\n color: #6e32c9; }\\n\\n.bx--tag--blue {\\n background-color: #c9deff;\\n color: #054ada; }\\n\\n.bx--tag--cyan {\\n background-color: #b3e6ff;\\n color: #0058a1; }\\n\\n.bx--tag--teal {\\n background-color: #92eeee;\\n color: #006161; }\\n\\n.bx--tag--green {\\n background-color: #9deeb2;\\n color: #10642a; }\\n\\n.bx--tag--gray {\\n background-color: #dcdcdc;\\n color: #171717; }\\n\\n.bx--tag--cool-gray {\\n background-color: #d5d9e0;\\n color: #13171a; }\\n\\n.bx--tag--warm-gray {\\n background-color: #e0dbda;\\n color: #1a1717; }\\n\\n.bx--tag--disabled {\\n background-color: #f3f3f3;\\n color: #bebebe; }\\n .bx--tag--disabled:hover {\\n cursor: not-allowed; }\\n\\n.bx--tag--filter {\\n background-color: #171717;\\n color: #ffffff;\\n cursor: pointer;\\n padding-right: 0.125rem; }\\n\\n.bx--tag--filter > svg {\\n fill: #ffffff;\\n margin-left: 0.25rem;\\n padding: 0.125rem;\\n width: 1.25rem;\\n height: 1.25rem; }\\n\\n.bx--tag--filter > svg:hover {\\n border-radius: 50%;\\n background-color: #565656; }\\n\\n.bx--tag--filter:focus,\\n.bx--tag--filter:hover {\\n outline: none; }\\n\\n.bx--tag.bx--skeleton {\\n width: 3.75rem; }\\n .bx--tag.bx--skeleton:after {\\n position: relative;\\n border: none;\\n padding: 0;\\n -webkit-box-shadow: none;\\n box-shadow: none;\\n pointer-events: none;\\n background: rgba(61, 112, 178, 0.1);\\n content: '';\\n height: 0.375rem;\\n width: 100%; }\\n .bx--tag.bx--skeleton:after:hover, .bx--tag.bx--skeleton:after:focus, .bx--tag.bx--skeleton:after:active {\\n border: none;\\n outline: none;\\n cursor: default; }\\n .bx--tag.bx--skeleton:after:before {\\n content: '';\\n width: 0%;\\n height: 100%;\\n position: absolute;\\n top: 0;\\n left: 0;\\n opacity: 0.3;\\n background: rgba(61, 112, 178, 0.1);\\n -webkit-animation: 3000ms ease-in-out skeleton infinite;\\n animation: 3000ms ease-in-out skeleton infinite; }\\n\\n.bx--data-table-container + .bx--pagination {\\n border-top: 0; }\\n\\n.bx--pagination {\\n font-family: 'IBM Plex Sans', 'Helvetica Neue', Arial, sans-serif;\\n font-size: 0.875rem;\\n font-weight: 400;\\n line-height: 1.125rem;\\n letter-spacing: 0.16px;\\n width: 100%;\\n background-color: #f3f3f3;\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -webkit-box-align: center;\\n -ms-flex-align: center;\\n align-items: center;\\n -webkit-box-pack: justify;\\n -ms-flex-pack: justify;\\n justify-content: space-between;\\n border-top: 1px solid #dcdcdc;\\n height: 3rem; }\\n\\n.bx--pagination .bx--select {\\n height: 100%;\\n -webkit-box-align: center;\\n -ms-flex-align: center;\\n align-items: center;\\n grid-template-columns: auto 0; }\\n\\n.bx--select-input__wrapper,\\n.bx--select-input--inline__wrapper {\\n height: 100%; }\\n\\n.bx--pagination .bx--select-input {\\n font-family: 'IBM Plex Sans', 'Helvetica Neue', Arial, sans-serif;\\n font-size: 0.875rem;\\n font-weight: 400;\\n line-height: 1.125rem;\\n letter-spacing: 0.16px;\\n width: auto;\\n min-width: auto;\\n height: 100%;\\n padding: 0 2.5rem 0 1rem;\\n margin-right: -0.65rem; }\\n @media (min-width: 42rem) {\\n .bx--pagination .bx--select-input {\\n padding: 0 1.5rem 0 0.5rem;\\n margin-right: 0; } }\\n\\n.bx--pagination .bx--select-input:hover {\\n background: #e5e5e5; }\\n\\n.bx--pagination .bx--select__arrow {\\n position: relative;\\n top: auto;\\n right: 1.1rem;\\n bottom: auto; }\\n\\n.bx--pagination .bx--select__item-count .bx--select-input {\\n border-right: 0.0625rem solid #dcdcdc; }\\n @media (min-width: 42rem) {\\n .bx--pagination .bx--select__item-count .bx--select-input {\\n padding-right: 2rem;\\n margin-right: -0.65rem; } }\\n\\n.bx--pagination .bx--select__page-number .bx--select-input {\\n border-left: 1px solid #dcdcdc; }\\n @media (min-width: 42rem) {\\n .bx--pagination .bx--select__page-number .bx--select-input {\\n padding-left: 1rem;\\n padding-right: 2rem; } }\\n\\n@media (min-width: 42rem) {\\n .bx--pagination .bx--select__page-number .bx--select__arrow {\\n right: 1.8rem; } }\\n\\n.bx--pagination__left,\\n.bx--pagination__right {\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n height: 100%;\\n -webkit-box-align: center;\\n -ms-flex-align: center;\\n align-items: center; }\\n\\n.bx--pagination__left > .bx--form-item,\\n.bx--pagination__right > .bx--form-item {\\n height: 100%; }\\n\\n.bx--pagination__left .bx--pagination__text {\\n margin-right: 0.0625rem; }\\n\\n.bx--pagination__right .bx--pagination__text {\\n margin-right: 1rem;\\n margin-left: 0.0625rem; }\\n\\n@media (min-width: 42rem) {\\n .bx--pagination__left {\\n padding: 0 1rem; } }\\n\\n.bx--pagination__text {\\n display: none; }\\n @media (min-width: 42rem) {\\n .bx--pagination__text {\\n display: inline-block; } }\\n\\nspan.bx--pagination__text {\\n margin-left: 1rem;\\n color: #171717; }\\n\\n.bx--pagination__right span.bx--pagination__text {\\n margin-left: -0.5rem; }\\n\\n.bx--pagination__button {\\n border: none;\\n background: none;\\n cursor: pointer;\\n height: 100%;\\n margin: 0;\\n padding: 0 0.875rem;\\n border-left: 1px solid #dcdcdc;\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -webkit-box-pack: center;\\n -ms-flex-pack: center;\\n justify-content: center;\\n -webkit-box-align: center;\\n -ms-flex-align: center;\\n align-items: center;\\n fill: #171717;\\n -webkit-transition: outline 110ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: outline 110ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n -webkit-transition: background-color 110ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: background-color 110ms cubic-bezier(0.2, 0, 0.38, 0.9); }\\n\\n.bx--pagination__button:focus {\\n outline: 2px solid #0062ff;\\n outline-offset: -2px; }\\n\\n.bx--pagination__button:hover {\\n background: #e5e5e5; }\\n\\n.bx--pagination__button--no-index {\\n fill: #bebebe;\\n cursor: not-allowed; }\\n\\n.bx--pagination__button:disabled:hover,\\n.bx--pagination__button--no-index:hover {\\n cursor: not-allowed;\\n fill: #bebebe;\\n background: #f3f3f3; }\\n\\n.bx--pagination--inline {\\n height: 2.625rem;\\n margin-top: -0.5rem;\\n margin-bottom: -0.5rem;\\n margin-right: -1rem; }\\n\\n.bx--pagination--inline .bx--pagination__button {\\n height: 2.5rem;\\n border-left: 1px solid #dcdcdc;\\n border-right: 1px solid #dcdcdc;\\n margin: 0; }\\n\\n.bx--pagination--inline .bx--pagination__button--forward {\\n border-right: 0;\\n padding: 0 1rem;\\n margin-left: 1rem; }\\n\\n.bx--pagination--inline .bx--pagination__button--backward {\\n margin: 0 1rem;\\n padding: 0 1rem; }\\n\\n.bx--pagination.bx--skeleton .bx--skeleton__text {\\n margin-right: 1rem;\\n margin-bottom: 0; }\\n\\n.bx--accordion {\\n list-style: none;\\n width: 100%; }\\n\\n.bx--accordion__item {\\n -webkit-transition: all 110ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: all 110ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n border-top: 1px solid #dcdcdc;\\n overflow: visible; }\\n .bx--accordion__item:last-child {\\n border-bottom: 1px solid #dcdcdc; }\\n\\n.bx--accordion__heading {\\n display: inline-block;\\n background: none;\\n -webkit-appearance: none;\\n -moz-appearance: none;\\n appearance: none;\\n border: 0;\\n padding: 0;\\n cursor: pointer;\\n width: 100%;\\n color: #171717;\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -webkit-box-align: center;\\n -ms-flex-align: center;\\n align-items: center;\\n -webkit-box-pack: start;\\n -ms-flex-pack: start;\\n justify-content: flex-start;\\n cursor: pointer;\\n padding: 0.375rem 0;\\n -webkit-box-orient: horizontal;\\n -webkit-box-direction: reverse;\\n -ms-flex-direction: row-reverse;\\n flex-direction: row-reverse;\\n position: relative;\\n width: 100%;\\n margin: 0;\\n -webkit-transition: background-color cubic-bezier(0.2, 0, 0.38, 0.9) 110ms;\\n transition: background-color cubic-bezier(0.2, 0, 0.38, 0.9) 110ms; }\\n .bx--accordion__heading::-moz-focus-inner {\\n border: 0; }\\n .bx--accordion__heading:hover:before, .bx--accordion__heading:focus:before {\\n content: '';\\n position: absolute;\\n top: -1px;\\n left: 0;\\n width: 100%;\\n height: calc(100% + 2px); }\\n .bx--accordion__heading:hover:before {\\n background-color: #e5e5e5; }\\n .bx--accordion__heading:focus {\\n outline: none; }\\n .bx--accordion__heading:focus:before {\\n outline: 2px solid #0062ff;\\n outline-offset: -2px; }\\n\\n.bx--accordion__arrow {\\n outline: 2px solid transparent;\\n outline-offset: -2px;\\n -webkit-box-flex: 0;\\n -ms-flex: 0 0 1rem;\\n flex: 0 0 1rem;\\n width: 1rem;\\n height: 1rem;\\n margin: 0 1rem 0 0;\\n fill: #171717;\\n -webkit-transform: rotate(90deg);\\n transform: rotate(90deg);\\n -webkit-transition: all 110ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: all 110ms cubic-bezier(0.2, 0, 0.38, 0.9); }\\n\\n.bx--accordion__title {\\n font-family: 'IBM Plex Sans', 'Helvetica Neue', Arial, sans-serif;\\n font-size: 0.875rem;\\n font-weight: 400;\\n line-height: 1.25rem;\\n letter-spacing: 0.16px;\\n margin: 0 0 0 1rem;\\n width: 100%;\\n text-align: left;\\n z-index: 0; }\\n\\n.bx--accordion__content {\\n -webkit-transition: height cubic-bezier(0.2, 0, 0.38, 0.9) 110ms, padding cubic-bezier(0.2, 0, 0.38, 0.9) 110ms;\\n transition: height cubic-bezier(0.2, 0, 0.38, 0.9) 110ms, padding cubic-bezier(0.2, 0, 0.38, 0.9) 110ms;\\n padding-left: 1rem;\\n padding-right: 25%;\\n height: 0;\\n visibility: hidden;\\n opacity: 0; }\\n @media (max-width: 42rem) {\\n .bx--accordion__content {\\n padding-right: 3rem; } }\\n .bx--accordion__content p {\\n font-family: 'IBM Plex Sans', 'Helvetica Neue', Arial, sans-serif;\\n font-size: 0.875rem;\\n font-weight: 400;\\n line-height: 1.25rem;\\n letter-spacing: 0.16px; }\\n\\n.bx--accordion__item--active {\\n overflow: visible; }\\n .bx--accordion__item--active .bx--accordion__content {\\n padding-bottom: 1.5rem;\\n padding-top: 0.5rem;\\n height: auto;\\n visibility: visible;\\n opacity: 1;\\n -webkit-transition: height cubic-bezier(0, 0, 0.38, 0.9) 110ms, padding-top cubic-bezier(0, 0, 0.38, 0.9) 110ms, padding-bottom cubic-bezier(0, 0, 0.38, 0.9) 110ms;\\n transition: height cubic-bezier(0, 0, 0.38, 0.9) 110ms, padding-top cubic-bezier(0, 0, 0.38, 0.9) 110ms, padding-bottom cubic-bezier(0, 0, 0.38, 0.9) 110ms; }\\n .bx--accordion__item--active .bx--accordion__arrow {\\n /*rtl:ignore*/\\n -webkit-transform: rotate(-90deg);\\n transform: rotate(-90deg);\\n fill: #171717; }\\n\\n.bx--accordion.bx--skeleton .bx--accordion__heading,\\n.bx--accordion.bx--skeleton .bx--accordion__button {\\n cursor: default; }\\n\\n.bx--accordion.bx--skeleton .bx--accordion__arrow {\\n pointer-events: none;\\n fill: #171717;\\n cursor: default; }\\n .bx--accordion.bx--skeleton .bx--accordion__arrow:hover, .bx--accordion.bx--skeleton .bx--accordion__arrow:focus, .bx--accordion.bx--skeleton .bx--accordion__arrow:active {\\n border: none;\\n outline: none;\\n cursor: default; }\\n\\n.bx--skeleton .bx--accordion__heading:focus .bx--accordion__arrow {\\n border: none;\\n outline: none;\\n cursor: default; }\\n\\n.bx--accordion__title.bx--skeleton__text {\\n margin-bottom: 0; }\\n\\n.bx--progress {\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n list-style: none; }\\n\\n.bx--progress-step {\\n position: relative;\\n display: -webkit-inline-box;\\n display: -ms-inline-flexbox;\\n display: inline-flex;\\n -webkit-box-orient: horizontal;\\n -webkit-box-direction: normal;\\n -ms-flex-direction: row;\\n flex-direction: row;\\n -webkit-box-flex: 1;\\n -ms-flex: 1;\\n flex: 1;\\n min-width: 7rem;\\n width: 8rem;\\n -webkit-transition: 110ms all cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: 110ms all cubic-bezier(0.2, 0, 0.38, 0.9);\\n overflow: visible; }\\n .bx--progress-step .bx--tooltip__label {\\n display: block; }\\n\\n.bx--progress-line {\\n position: absolute;\\n height: 1px;\\n width: 8rem;\\n border: 1px inset transparent; }\\n\\n.bx--progress-step svg {\\n position: relative;\\n z-index: 1;\\n width: 1rem;\\n height: 1rem;\\n border-radius: 50%;\\n margin: 9px 0.5rem 0 0;\\n fill: #0062ff; }\\n\\n.bx--progress-label {\\n line-height: 1.45;\\n max-width: 5.5rem;\\n margin: 0.5rem 0 0 0;\\n white-space: nowrap;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n font-family: 'IBM Plex Sans', 'Helvetica Neue', Arial, sans-serif;\\n font-size: 0.875rem;\\n font-weight: 400;\\n line-height: 1.125rem;\\n letter-spacing: 0.16px;\\n -webkit-transition: -webkit-box-shadow 110ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: -webkit-box-shadow 110ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: box-shadow 110ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: box-shadow 110ms cubic-bezier(0.2, 0, 0.38, 0.9), -webkit-box-shadow 110ms cubic-bezier(0.2, 0, 0.38, 0.9); }\\n .bx--progress-label::before {\\n content: '';\\n display: block; }\\n\\n.bx--progress-label:hover {\\n color: #0062ff;\\n cursor: pointer;\\n -webkit-box-shadow: 0 0.0625rem #0062ff;\\n box-shadow: 0 0.0625rem #0062ff; }\\n\\n.bx--progress-label:focus {\\n outline: none;\\n color: #0062ff;\\n -webkit-box-shadow: 0 0.1875rem 0 0 #0062ff;\\n box-shadow: 0 0.1875rem 0 0 #0062ff;\\n -webkit-transition: -webkit-box-shadow 0.05s cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: -webkit-box-shadow 0.05s cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: box-shadow 0.05s cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: box-shadow 0.05s cubic-bezier(0.2, 0, 0.38, 0.9), -webkit-box-shadow 0.05s cubic-bezier(0.2, 0, 0.38, 0.9); }\\n\\n.bx--progress-label:active {\\n color: #0062ff;\\n -webkit-box-shadow: 0 0.1875rem 0 0 #0062ff;\\n box-shadow: 0 0.1875rem 0 0 #0062ff; }\\n\\n.bx--progress-label-overflow:hover ~ .bx--tooltip,\\n.bx--progress-label-overflow:focus ~ .bx--tooltip {\\n visibility: visible; }\\n\\n.bx--progress-step .bx--tooltip .bx--tooltip__caret {\\n margin-left: 0.625rem; }\\n\\n.bx--tooltip__text {\\n padding: 0;\\n margin: 0;\\n font-weight: normal; }\\n\\n.bx--progress-step .bx--tooltip {\\n min-width: 7.1875rem;\\n width: 7.8125rem;\\n min-height: 1.5rem;\\n margin-left: 1.375rem;\\n margin-top: 2.5rem;\\n padding: 0.5rem 1rem;\\n display: block;\\n visibility: hidden;\\n font-family: 'IBM Plex Sans', 'Helvetica Neue', Arial, sans-serif;\\n font-size: 0.875rem;\\n font-weight: 400;\\n line-height: 1.25rem;\\n letter-spacing: 0.16px;\\n color: #ffffff; }\\n\\n.bx--progress-step .bx--tooltip_multi {\\n width: 9.375rem;\\n height: auto;\\n font-family: 'IBM Plex Sans', 'Helvetica Neue', Arial, sans-serif;\\n font-size: 0.875rem;\\n font-weight: 400;\\n line-height: 1.25rem;\\n letter-spacing: 0.16px;\\n color: #ffffff; }\\n\\n.bx--progress-optional {\\n position: absolute;\\n margin-left: 1.5rem;\\n margin-top: 1.75rem;\\n font-family: 'IBM Plex Sans', 'Helvetica Neue', Arial, sans-serif;\\n font-size: 0.75rem;\\n font-weight: 400;\\n line-height: 1rem;\\n letter-spacing: 0.32px;\\n color: #171717; }\\n\\n.bx--progress-step--current .bx--progress-line {\\n background-color: #0062ff; }\\n\\n.bx--progress-step--current svg {\\n width: 14px;\\n height: 14px;\\n fill: #0062ff;\\n margin-top: 0.59375rem; }\\n\\n.bx--progress-step--incomplete svg {\\n fill: #171717; }\\n\\n.bx--progress-step--incomplete .bx--progress-line {\\n background-color: #dcdcdc; }\\n\\n.bx--progress-step--complete .bx--progress-line {\\n background-color: #0062ff; }\\n\\n.bx--progress-step-button {\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex; }\\n\\n.bx--progress-step-button--unclickable {\\n outline: none; }\\n\\n.bx--progress-step--disabled {\\n cursor: not-allowed; }\\n .bx--progress-step--disabled svg {\\n fill: #bebebe;\\n cursor: not-allowed; }\\n .bx--progress-step--disabled .bx--progress-label,\\n .bx--progress-step--disabled .bx--progress-label:hover {\\n color: #bebebe;\\n cursor: not-allowed;\\n -webkit-box-shadow: none;\\n box-shadow: none; }\\n .bx--progress-step--disabled .bx--progress-label:focus,\\n .bx--progress-step--disabled .bx--progress-label:active {\\n outline: none;\\n -webkit-box-shadow: none;\\n box-shadow: none; }\\n .bx--progress-step--disabled .bx--progress-line {\\n cursor: not-allowed; }\\n .bx--progress-step--disabled .bx--progress-label-overflow:hover ~ .bx--tooltip--definition .bx--tooltip--definition__bottom {\\n display: none; }\\n\\n.bx--progress__warning > path {\\n fill: #da1e28; }\\n\\n.bx--progress.bx--skeleton .bx--progress-label {\\n position: relative;\\n border: none;\\n padding: 0;\\n -webkit-box-shadow: none;\\n box-shadow: none;\\n pointer-events: none;\\n background: rgba(61, 112, 178, 0.1);\\n height: 0.75rem;\\n width: 2.5rem; }\\n .bx--progress.bx--skeleton .bx--progress-label:hover, .bx--progress.bx--skeleton .bx--progress-label:focus, .bx--progress.bx--skeleton .bx--progress-label:active {\\n border: none;\\n outline: none;\\n cursor: default; }\\n .bx--progress.bx--skeleton .bx--progress-label:before {\\n content: '';\\n width: 0%;\\n height: 100%;\\n position: absolute;\\n top: 0;\\n left: 0;\\n opacity: 0.3;\\n background: rgba(61, 112, 178, 0.1);\\n -webkit-animation: 3000ms ease-in-out skeleton infinite;\\n animation: 3000ms ease-in-out skeleton infinite; }\\n\\n.bx--progress--vertical {\\n display: block; }\\n\\n.bx--progress--vertical .bx--progress-step {\\n display: list-item;\\n min-height: 6rem;\\n width: initial;\\n min-width: initial; }\\n .bx--progress--vertical .bx--progress-step svg {\\n display: inline-block;\\n margin: 0.1rem 0.5rem; }\\n\\n.bx--progress--vertical .bx--progress-step--current svg {\\n margin-left: 0.563rem; }\\n\\n.bx--progress--vertical .bx--progress-label {\\n display: inline-block;\\n width: initial;\\n max-width: none;\\n vertical-align: top;\\n margin: 0; }\\n\\n.bx--progress--vertical .bx--progress-step .bx--tooltip {\\n margin-top: 0.5rem; }\\n\\n.bx--progress--vertical .bx--progress-optional {\\n margin-top: initial;\\n position: initial;\\n margin-left: 2.25rem; }\\n\\n.bx--progress--vertical .bx--progress-line {\\n top: 0;\\n left: 0;\\n height: 100%;\\n width: 1px; }\\n\\n.bx--breadcrumb {\\n font-family: 'IBM Plex Sans', 'Helvetica Neue', Arial, sans-serif;\\n font-size: 0.875rem;\\n font-weight: 400;\\n line-height: 1.125rem;\\n letter-spacing: 0.16px;\\n display: inline; }\\n @media (min-width: 42rem) {\\n .bx--breadcrumb {\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -ms-flex-wrap: wrap;\\n flex-wrap: wrap; } }\\n\\n.bx--breadcrumb-item {\\n position: relative;\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -webkit-box-align: center;\\n -ms-flex-align: center;\\n align-items: center;\\n margin-right: 0.5rem; }\\n\\n.bx--breadcrumb-item::after {\\n content: '/';\\n color: #171717;\\n margin-left: 0.5rem; }\\n\\n.bx--breadcrumb--no-trailing-slash .bx--breadcrumb-item:last-child::after {\\n content: ''; }\\n\\n.bx--breadcrumb-item:last-child,\\n.bx--breadcrumb-item:last-child::after {\\n margin-right: 0; }\\n\\n.bx--breadcrumb .bx--link {\\n white-space: nowrap; }\\n\\n.bx--breadcrumb-item [aria-current='page'],\\n.bx--breadcrumb-item.bx--breadcrumb-item--current .bx--link {\\n color: #171717; }\\n\\n.bx--breadcrumb.bx--skeleton .bx--link {\\n position: relative;\\n border: none;\\n padding: 0;\\n -webkit-box-shadow: none;\\n box-shadow: none;\\n pointer-events: none;\\n background: rgba(61, 112, 178, 0.1);\\n width: 6.25rem;\\n height: 1rem; }\\n .bx--breadcrumb.bx--skeleton .bx--link:hover, .bx--breadcrumb.bx--skeleton .bx--link:focus, .bx--breadcrumb.bx--skeleton .bx--link:active {\\n border: none;\\n outline: none;\\n cursor: default; }\\n .bx--breadcrumb.bx--skeleton .bx--link:before {\\n content: '';\\n width: 0%;\\n height: 100%;\\n position: absolute;\\n top: 0;\\n left: 0;\\n opacity: 0.3;\\n background: rgba(61, 112, 178, 0.1);\\n -webkit-animation: 3000ms ease-in-out skeleton infinite;\\n animation: 3000ms ease-in-out skeleton infinite; }\\n\\n.bx--toolbar {\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -webkit-box-orient: horizontal;\\n -webkit-box-direction: normal;\\n -ms-flex-flow: row nowrap;\\n flex-flow: row nowrap;\\n -webkit-box-align: center;\\n -ms-flex-align: center;\\n align-items: center;\\n margin: 1rem 0; }\\n .bx--toolbar > div {\\n margin: 0 0.25rem; }\\n .bx--toolbar .bx--search-input {\\n height: 2rem;\\n background-color: transparent;\\n outline: none; }\\n .bx--toolbar .bx--search-close {\\n display: none; }\\n .bx--toolbar .bx--overflow-menu__icon {\\n fill: #565656;\\n -webkit-transition: fill 50ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: fill 50ms cubic-bezier(0.2, 0, 0.38, 0.9); }\\n .bx--toolbar .bx--search-magnifier {\\n fill: #565656;\\n -webkit-transform: scale(1.15);\\n transform: scale(1.15);\\n -webkit-transition: all 175ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: all 175ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n top: 0.5rem;\\n left: 0.375rem;\\n cursor: pointer; }\\n .bx--toolbar fieldset {\\n border: 0;\\n padding: 0; }\\n .bx--toolbar .bx--toolbar-search--active {\\n width: 15.625rem; }\\n .bx--toolbar .bx--toolbar-search--active .bx--search-magnifier {\\n -webkit-transform: scale(1);\\n transform: scale(1);\\n top: 0.5625rem; }\\n .bx--toolbar .bx--toolbar-search--active .bx--search-input {\\n background-color: #ffffff; }\\n .bx--toolbar .bx--toolbar-search--active .bx--search-close {\\n display: block; }\\n .bx--toolbar .bx--checkbox-label {\\n margin-bottom: 0; }\\n .bx--toolbar .bx--overflow-menu--open > .bx--overflow-menu__icon {\\n fill: #0062ff; }\\n\\n.bx--toolbar-search {\\n width: 1.8rem;\\n -webkit-transition: all 175ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: all 175ms cubic-bezier(0.2, 0, 0.38, 0.9); }\\n\\n.bx--toolbar-search__btn {\\n position: absolute;\\n left: 0;\\n top: 0;\\n background: transparent;\\n border: 0;\\n height: 2rem;\\n width: 2rem; }\\n .bx--toolbar-search__btn:focus {\\n outline: 1px solid #0062ff; }\\n\\n.bx--toolbar-filter-icon {\\n padding-left: 0;\\n padding-right: 0; }\\n\\n.bx--toolbar-menu__title {\\n font-family: 'IBM Plex Sans', 'Helvetica Neue', Arial, sans-serif;\\n font-size: 0.75rem;\\n font-weight: 400;\\n line-height: 1rem;\\n letter-spacing: 0.32px;\\n font-weight: 600;\\n padding: 0.5rem 1.25rem; }\\n\\n.bx--toolbar-menu__option {\\n padding: 0.5rem 1.25rem; }\\n\\n.bx--toolbar-menu__divider {\\n width: 100%;\\n border: 0;\\n border-top: 1px solid #dcdcdc; }\\n\\n.bx--radio-button-group {\\n border: none; }\\n\\n.bx--toolbar-search:not(.bx--toolbar-search--active) .bx--search-input {\\n border-bottom: none; }\\n\\n.bx--time-picker {\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -webkit-box-align: end;\\n -ms-flex-align: end;\\n align-items: flex-end; }\\n\\n.bx--time-picker[data-invalid] .bx--time-picker__input-field {\\n outline: 2px solid #da1e28;\\n outline-offset: -2px; }\\n\\n.bx--time-picker__select {\\n -webkit-box-pack: center;\\n -ms-flex-pack: center;\\n justify-content: center; }\\n .bx--time-picker__select:not(:last-of-type) {\\n margin: 0 0.125rem; }\\n\\n.bx--time-picker__input {\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -webkit-box-orient: vertical;\\n -webkit-box-direction: normal;\\n -ms-flex-direction: column;\\n flex-direction: column; }\\n\\n.bx--time-picker .bx--select-input {\\n min-width: auto;\\n width: auto;\\n padding-right: 3rem;\\n line-height: 1; }\\n\\n.bx--time-picker__input-field {\\n outline: 2px solid transparent;\\n outline-offset: -2px;\\n font-family: 'IBM Plex Mono', 'Menlo', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', Courier, monospace;\\n font-size: 0.875rem;\\n font-weight: 400;\\n line-height: 1.25rem;\\n letter-spacing: 0.32px;\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -webkit-box-align: center;\\n -ms-flex-align: center;\\n align-items: center;\\n width: 4.875rem;\\n height: 2.5rem;\\n -webkit-transition: outline 70ms;\\n transition: outline 70ms; }\\n\\n.bx--slider-container {\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -webkit-box-align: center;\\n -ms-flex-align: center;\\n align-items: center;\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n -ms-user-select: none;\\n user-select: none; }\\n\\n.bx--slider {\\n position: relative;\\n width: 100%;\\n margin: 0 1rem;\\n max-width: 40rem;\\n min-width: 12.5rem; }\\n\\n.bx--slider__range-label {\\n font-family: 'IBM Plex Mono', 'Menlo', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', Courier, monospace;\\n font-size: 0.875rem;\\n font-weight: 400;\\n line-height: 1.25rem;\\n letter-spacing: 0.32px;\\n color: #171717; }\\n .bx--slider__range-label:last-of-type {\\n margin-right: 1rem; }\\n\\n.bx--slider__track {\\n position: absolute;\\n width: 100%;\\n height: 0.125rem;\\n background: #dcdcdc;\\n cursor: pointer;\\n -webkit-transform: translate(0%, -50%);\\n transform: translate(0%, -50%); }\\n\\n.bx--slider__track:before {\\n content: '';\\n position: absolute;\\n display: inline-block;\\n height: 0.25rem;\\n width: 0.125rem;\\n left: 50%;\\n -webkit-transform: translate(-50%, 0);\\n transform: translate(-50%, 0);\\n top: -0.3125rem;\\n background: #dcdcdc; }\\n\\n.bx--slider__filled-track {\\n position: absolute;\\n width: 100%;\\n height: 0.125rem;\\n background: #171717;\\n -webkit-transform-origin: left;\\n transform-origin: left;\\n pointer-events: none;\\n -webkit-transform: translate(0%, -50%);\\n transform: translate(0%, -50%);\\n -webkit-transition: background 70ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: background 70ms cubic-bezier(0.2, 0, 0.38, 0.9); }\\n\\n.bx--slider__thumb {\\n position: absolute;\\n height: 0.875rem;\\n width: 0.875rem;\\n background: #171717;\\n border-radius: 50%;\\n -webkit-box-shadow: inset 0 0 0 1px transparent, inset 0 0 0 2px transparent;\\n box-shadow: inset 0 0 0 1px transparent, inset 0 0 0 2px transparent;\\n top: 0;\\n -webkit-transform: translate(-50%, -50%);\\n transform: translate(-50%, -50%);\\n -webkit-transition: background 70ms cubic-bezier(0.2, 0, 0.38, 0.9), -webkit-transform 70ms cubic-bezier(0.2, 0, 0.38, 0.9), -webkit-box-shadow 70ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: background 70ms cubic-bezier(0.2, 0, 0.38, 0.9), -webkit-transform 70ms cubic-bezier(0.2, 0, 0.38, 0.9), -webkit-box-shadow 70ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: transform 70ms cubic-bezier(0.2, 0, 0.38, 0.9), background 70ms cubic-bezier(0.2, 0, 0.38, 0.9), box-shadow 70ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: transform 70ms cubic-bezier(0.2, 0, 0.38, 0.9), background 70ms cubic-bezier(0.2, 0, 0.38, 0.9), box-shadow 70ms cubic-bezier(0.2, 0, 0.38, 0.9), -webkit-transform 70ms cubic-bezier(0.2, 0, 0.38, 0.9), -webkit-box-shadow 70ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n cursor: pointer;\\n outline: none;\\n z-index: 3; }\\n .bx--slider__thumb:hover {\\n -webkit-transform: translate(-50%, -50%) scale(1.42857);\\n transform: translate(-50%, -50%) scale(1.42857); }\\n .bx--slider__thumb:focus {\\n -webkit-transform: translate(-50%, -50%) scale(1.42857);\\n transform: translate(-50%, -50%) scale(1.42857);\\n -webkit-box-shadow: inset 0 0 0 2px #0062ff, inset 0 0 0 3px #f3f3f3;\\n box-shadow: inset 0 0 0 2px #0062ff, inset 0 0 0 3px #f3f3f3;\\n background-color: #0062ff; }\\n .bx--slider__thumb:active {\\n -webkit-transform: translate(-50%, -50%) scale(1.42857);\\n transform: translate(-50%, -50%) scale(1.42857);\\n -webkit-box-shadow: inset 0 0 0 2px #0062ff;\\n box-shadow: inset 0 0 0 2px #0062ff; }\\n\\n.bx--slider__input {\\n display: none; }\\n\\n.bx--slider-text-input,\\n.bx-slider-text-input {\\n width: 4rem;\\n height: 2.5rem;\\n padding: 0;\\n text-align: center;\\n -moz-appearance: textfield; }\\n .bx--slider-text-input::-webkit-outer-spin-button, .bx--slider-text-input::-webkit-inner-spin-button,\\n .bx-slider-text-input::-webkit-outer-spin-button,\\n .bx-slider-text-input::-webkit-inner-spin-button {\\n display: none; }\\n\\n.bx--slider__thumb:focus ~ .bx--slider__filled-track {\\n background-color: #0062ff; }\\n\\n.bx--label--disabled ~ .bx--slider-container > .bx--slider__range-label {\\n color: #bebebe; }\\n\\n.bx--slider--disabled .bx--slider__thumb {\\n background-color: #dcdcdc; }\\n .bx--slider--disabled .bx--slider__thumb:hover {\\n -webkit-transform: translate(-50%, -50%);\\n transform: translate(-50%, -50%);\\n cursor: not-allowed; }\\n .bx--slider--disabled .bx--slider__thumb:focus {\\n -webkit-box-shadow: none;\\n box-shadow: none;\\n outline: none;\\n background-color: #dcdcdc;\\n -webkit-transform: translate(-50%, -50%);\\n transform: translate(-50%, -50%); }\\n .bx--slider--disabled .bx--slider__thumb:active {\\n background: #dcdcdc;\\n -webkit-transform: translate(-50%, -50%);\\n transform: translate(-50%, -50%); }\\n\\n.bx--slider--disabled .bx--slider__track,\\n.bx--slider--disabled .bx--slider__filled-track,\\n.bx--slider--disabled .bx--slider__thumb:focus ~ .bx--slider__filled-track {\\n background-color: #dcdcdc;\\n cursor: not-allowed; }\\n\\n.bx--slider--disabled ~ .bx--form-item .bx--slider-text-input,\\n.bx--slider--disabled ~ .bx--slider-text-input {\\n background-color: #f3f3f3;\\n color: #bebebe;\\n -webkit-transition: none;\\n transition: none; }\\n .bx--slider--disabled ~ .bx--form-item .bx--slider-text-input:active, .bx--slider--disabled ~ .bx--form-item .bx--slider-text-input:focus, .bx--slider--disabled ~ .bx--form-item .bx--slider-text-input:hover,\\n .bx--slider--disabled ~ .bx--slider-text-input:active,\\n .bx--slider--disabled ~ .bx--slider-text-input:focus,\\n .bx--slider--disabled ~ .bx--slider-text-input:hover {\\n outline: none;\\n color: #bebebe; }\\n\\n.bx--slider-container.bx--skeleton .bx--slider__range-label {\\n position: relative;\\n border: none;\\n padding: 0;\\n -webkit-box-shadow: none;\\n box-shadow: none;\\n pointer-events: none;\\n background: rgba(61, 112, 178, 0.1);\\n width: 1.25rem;\\n height: 0.75rem; }\\n .bx--slider-container.bx--skeleton .bx--slider__range-label:hover, .bx--slider-container.bx--skeleton .bx--slider__range-label:focus, .bx--slider-container.bx--skeleton .bx--slider__range-label:active {\\n border: none;\\n outline: none;\\n cursor: default; }\\n .bx--slider-container.bx--skeleton .bx--slider__range-label:before {\\n content: '';\\n width: 0%;\\n height: 100%;\\n position: absolute;\\n top: 0;\\n left: 0;\\n opacity: 0.3;\\n background: rgba(61, 112, 178, 0.1);\\n -webkit-animation: 3000ms ease-in-out skeleton infinite;\\n animation: 3000ms ease-in-out skeleton infinite; }\\n\\n.bx--slider-container.bx--skeleton .bx--slider__track {\\n cursor: default;\\n pointer-events: none; }\\n\\n.bx--slider-container.bx--skeleton .bx--slider__thumb {\\n left: 50%;\\n cursor: default;\\n pointer-events: none; }\\n\\n.bx--tile {\\n display: block;\\n min-width: 8rem;\\n min-height: 4rem;\\n background-color: #f3f3f3;\\n position: relative;\\n padding: 1rem;\\n outline: 2px solid transparent;\\n outline-offset: -2px; }\\n .bx--tile:focus {\\n outline: 2px solid #0062ff;\\n outline-offset: -2px; }\\n\\n.bx--tile--clickable,\\n.bx--tile--selectable,\\n.bx--tile--expandable {\\n -webkit-transition: 150ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: 150ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n cursor: pointer; }\\n .bx--tile--clickable:hover,\\n .bx--tile--selectable:hover,\\n .bx--tile--expandable:hover {\\n background: #e5e5e5; }\\n .bx--tile--clickable:hover .bx--tile__checkmark, .bx--tile--clickable:focus .bx--tile__checkmark,\\n .bx--tile--selectable:hover .bx--tile__checkmark,\\n .bx--tile--selectable:focus .bx--tile__checkmark,\\n .bx--tile--expandable:hover .bx--tile__checkmark,\\n .bx--tile--expandable:focus .bx--tile__checkmark {\\n opacity: 1; }\\n\\n.bx--tile--clickable:focus,\\n.bx--tile--expandable:focus {\\n outline: 2px solid #0062ff;\\n outline-offset: -2px; }\\n\\n.bx--tile--selectable {\\n padding-right: 3rem; }\\n\\n.bx--tile__checkmark,\\n.bx--tile__chevron {\\n position: absolute;\\n -webkit-transition: 110ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: 110ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n border: none;\\n background: transparent; }\\n\\n.bx--tile__checkmark {\\n height: 1rem;\\n top: 1rem;\\n right: 1rem;\\n opacity: 0; }\\n .bx--tile__checkmark svg {\\n border-radius: 50%;\\n fill: #565656; }\\n .bx--tile__checkmark:focus {\\n outline: 2px solid #0062ff;\\n outline-offset: -2px; }\\n\\n.bx--tile__chevron {\\n position: absolute;\\n bottom: 0.5rem;\\n right: 0.5rem;\\n height: 1rem; }\\n .bx--tile__chevron svg {\\n -webkit-transform-origin: center;\\n transform-origin: center;\\n -webkit-transition: 110ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: 110ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n fill: #171717; }\\n .bx--tile__chevron:hover {\\n cursor: pointer; }\\n .bx--tile__chevron:focus {\\n outline: none; }\\n\\n.bx--tile--expandable {\\n overflow: hidden;\\n -webkit-transition: 150ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: 150ms cubic-bezier(0.2, 0, 0.38, 0.9); }\\n\\n.bx--tile-content__above-the-fold {\\n display: block; }\\n\\n.bx--tile-content__below-the-fold {\\n display: block;\\n opacity: 0;\\n -webkit-transition: 110ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: 110ms cubic-bezier(0.2, 0, 0.38, 0.9); }\\n\\n.bx--tile--is-expanded {\\n overflow: visible;\\n -webkit-transition: 110ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: 110ms cubic-bezier(0.2, 0, 0.38, 0.9); }\\n .bx--tile--is-expanded .bx--tile__chevron svg {\\n -webkit-transform: rotate(-180deg);\\n transform: rotate(-180deg); }\\n .bx--tile--is-expanded .bx--tile-content__below-the-fold {\\n opacity: 1;\\n -webkit-transition: 110ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: 110ms cubic-bezier(0.2, 0, 0.38, 0.9); }\\n\\n.bx--tile--is-selected {\\n outline: 1px solid #171717;\\n outline-offset: -1px; }\\n\\n.bx--tile--is-selected .bx--tile__checkmark {\\n opacity: 1; }\\n\\n.bx--tile-input:checked + .bx--tile > .bx--tile__checkmark svg {\\n fill: #171717; }\\n\\n.bx--tile-content {\\n width: 100%;\\n height: 100%; }\\n\\n.bx--tile-input {\\n position: absolute;\\n width: 1px;\\n height: 1px;\\n padding: 0;\\n margin: -1px;\\n overflow: hidden;\\n clip: rect(0, 0, 0, 0);\\n border: 0;\\n visibility: visible;\\n white-space: nowrap; }\\n\\n.bx--skeleton__text {\\n position: relative;\\n border: none;\\n padding: 0;\\n -webkit-box-shadow: none;\\n box-shadow: none;\\n pointer-events: none;\\n background: rgba(61, 112, 178, 0.1);\\n width: 100%;\\n height: 1rem;\\n margin-bottom: 0.5rem; }\\n .bx--skeleton__text:hover, .bx--skeleton__text:focus, .bx--skeleton__text:active {\\n border: none;\\n outline: none;\\n cursor: default; }\\n .bx--skeleton__text:before {\\n content: '';\\n width: 0%;\\n height: 100%;\\n position: absolute;\\n top: 0;\\n left: 0;\\n opacity: 0.3;\\n background: rgba(61, 112, 178, 0.1);\\n -webkit-animation: 3000ms ease-in-out skeleton infinite;\\n animation: 3000ms ease-in-out skeleton infinite; }\\n\\n.bx--skeleton__heading {\\n height: 1.5rem; }\\n\\n.bx--icon--skeleton {\\n position: relative;\\n border: none;\\n padding: 0;\\n -webkit-box-shadow: none;\\n box-shadow: none;\\n pointer-events: none;\\n background: rgba(61, 112, 178, 0.1);\\n display: inline-block;\\n width: 1rem;\\n height: 1rem; }\\n .bx--icon--skeleton:hover, .bx--icon--skeleton:focus, .bx--icon--skeleton:active {\\n border: none;\\n outline: none;\\n cursor: default; }\\n .bx--icon--skeleton:before {\\n content: '';\\n width: 0%;\\n height: 100%;\\n position: absolute;\\n top: 0;\\n left: 0;\\n opacity: 0.3;\\n background: rgba(61, 112, 178, 0.1);\\n -webkit-animation: 3000ms ease-in-out skeleton infinite;\\n animation: 3000ms ease-in-out skeleton infinite; }\\n\\n.bx--skeleton__placeholder {\\n position: relative;\\n border: none;\\n padding: 0;\\n -webkit-box-shadow: none;\\n box-shadow: none;\\n pointer-events: none;\\n background: rgba(61, 112, 178, 0.1);\\n height: 6.25rem;\\n width: 6.25rem; }\\n .bx--skeleton__placeholder:hover, .bx--skeleton__placeholder:focus, .bx--skeleton__placeholder:active {\\n border: none;\\n outline: none;\\n cursor: default; }\\n .bx--skeleton__placeholder:before {\\n content: '';\\n width: 0%;\\n height: 100%;\\n position: absolute;\\n top: 0;\\n left: 0;\\n opacity: 0.3;\\n background: rgba(61, 112, 178, 0.1);\\n -webkit-animation: 3000ms ease-in-out skeleton infinite;\\n animation: 3000ms ease-in-out skeleton infinite; }\\n\\n@-webkit-keyframes stroke {\\n 100% {\\n stroke-dashoffset: 0; } }\\n\\n@keyframes stroke {\\n 100% {\\n stroke-dashoffset: 0; } }\\n\\n.bx--inline-loading {\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n width: 100%;\\n -webkit-box-align: center;\\n -ms-flex-align: center;\\n align-items: center; }\\n .bx--inline-loading .bx--loading__svg circle {\\n stroke-width: 12; }\\n .bx--inline-loading .bx--loading__stroke {\\n stroke-dashoffset: 99; }\\n\\n.bx--inline-loading__text {\\n font-family: 'IBM Plex Sans', 'Helvetica Neue', Arial, sans-serif;\\n font-size: 0.875rem;\\n font-weight: 400;\\n line-height: 1.125rem;\\n letter-spacing: 0.16px;\\n color: #565656; }\\n\\n.bx--inline-loading__animation {\\n position: relative;\\n width: 2rem;\\n height: 2rem;\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -webkit-box-pack: center;\\n -ms-flex-pack: center;\\n justify-content: center;\\n -webkit-box-align: center;\\n -ms-flex-align: center;\\n align-items: center; }\\n\\n.bx--inline-loading__checkmark-container {\\n width: 0.75rem;\\n position: absolute;\\n top: 0.75rem; }\\n .bx--inline-loading__checkmark-container[hidden] {\\n display: none; }\\n\\n.bx--inline-loading__checkmark {\\n fill: none;\\n stroke: #0062ff;\\n -webkit-transform-origin: 50% 50%;\\n transform-origin: 50% 50%;\\n stroke-width: 1.8;\\n stroke-dasharray: 12;\\n stroke-dashoffset: 12;\\n -webkit-animation-name: stroke;\\n animation-name: stroke;\\n -webkit-animation-duration: 0.25s;\\n animation-duration: 0.25s;\\n -webkit-animation-fill-mode: forwards;\\n animation-fill-mode: forwards; }\\n\\n.bx--loading--small .bx--inline-loading__svg {\\n stroke: #0062ff; }\\n\\n/* If IE11 Don't show check animation */\\n@media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {\\n .bx--inline-loading__checkmark-container {\\n top: 1px;\\n right: 0.5rem; }\\n .bx--inline-loading__checkmark {\\n -webkit-animation: none;\\n animation: none;\\n stroke-dashoffset: 0;\\n stroke-dasharray: 0; } }\\n\\n.bx--pagination-nav {\\n font-family: 'IBM Plex Sans', 'Helvetica Neue', Arial, sans-serif;\\n font-size: 0.875rem;\\n font-weight: 400;\\n line-height: 1.125rem;\\n letter-spacing: 0.16px;\\n line-height: 0; }\\n\\n.bx--pagination-nav__list {\\n -webkit-box-align: center;\\n -ms-flex-align: center;\\n align-items: center;\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n list-style: none; }\\n\\n.bx--pagination-nav__list-item {\\n padding: 0; }\\n .bx--pagination-nav__list-item:first-child {\\n padding-left: 0; }\\n .bx--pagination-nav__list-item:last-child {\\n padding-right: 0; }\\n\\n.bx--pagination-nav__page {\\n font-family: 'IBM Plex Sans', 'Helvetica Neue', Arial, sans-serif;\\n font-size: 0.875rem;\\n font-weight: 400;\\n line-height: 1.125rem;\\n letter-spacing: 0.16px;\\n display: inline-block;\\n background: none;\\n -webkit-appearance: none;\\n -moz-appearance: none;\\n appearance: none;\\n border: 0;\\n padding: 0;\\n cursor: pointer;\\n border-radius: 0;\\n color: #565656;\\n display: block;\\n font-weight: 400;\\n line-height: 1;\\n min-width: 3rem;\\n outline: 0;\\n padding: 1.0625rem 0.25rem;\\n position: relative;\\n text-align: center;\\n text-decoration: none;\\n -webkit-transition: background-color, color;\\n transition: background-color, color;\\n -webkit-transition: 110ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: 110ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n -ms-user-select: none;\\n user-select: none; }\\n .bx--pagination-nav__page::-moz-focus-inner {\\n border: 0; }\\n .bx--pagination-nav__page:hover {\\n background-color: #e5e5e5;\\n color: #565656; }\\n .bx--pagination-nav__page:focus {\\n outline: 2px solid #0062ff;\\n outline-offset: -2px; }\\n .bx--pagination-nav__page:disabled, .bx--pagination-nav__page.bx--pagination-nav__page--disabled {\\n background: none;\\n color: rgba(86, 86, 86, 0.5);\\n outline: none;\\n pointer-events: none; }\\n .bx--pagination-nav__page:not(.bx--pagination-nav__page--direction)::after {\\n background-color: #0062ff;\\n bottom: 0;\\n content: '';\\n display: block;\\n height: 0.25rem;\\n left: 50%;\\n position: absolute;\\n opacity: 0;\\n -webkit-transition: width 110ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: width 110ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n width: 0; }\\n .bx--pagination-nav__page--active + .bx--pagination-nav__page::after, .bx--pagination-nav__page.bx--pagination-nav__page--active::after {\\n left: calc(50% - 0.5rem);\\n opacity: 1;\\n width: 1rem; }\\n .bx--pagination-nav__page.bx--pagination-nav__page--active {\\n background-color: initial;\\n color: #565656;\\n font-weight: 600;\\n outline: none; }\\n .bx--pagination-nav__page .bx--pagination-nav__icon {\\n fill: currentColor;\\n pointer-events: none; }\\n\\n.bx--pagination-nav__page--direction {\\n -webkit-box-align: center;\\n -ms-flex-align: center;\\n align-items: center;\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n height: 3rem;\\n -webkit-box-pack: center;\\n -ms-flex-pack: center;\\n justify-content: center;\\n line-height: 0;\\n width: 3rem; }\\n\\n.bx--pagination-nav__select {\\n position: relative; }\\n\\n.bx--pagination-nav__page--select {\\n -webkit-appearance: none;\\n -moz-appearance: none;\\n appearance: none;\\n max-height: 3rem;\\n text-indent: calc(50% - 4.5px); }\\n\\n@-moz-document url-prefix() {\\n .bx--pagination-nav__page--select {\\n text-indent: 0; } }\\n\\n.bx--pagination-nav__select-icon-wrapper {\\n height: 100%;\\n pointer-events: none;\\n position: absolute;\\n top: 0;\\n width: 100%; }\\n .bx--pagination-nav__select-icon-wrapper:not(.bx--pagination-nav__page--direction)::after {\\n background-color: #0062ff;\\n bottom: 0;\\n content: '';\\n display: block;\\n height: 0.25rem;\\n left: 50%;\\n position: absolute;\\n opacity: 0;\\n -webkit-transition: width 110ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: width 110ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n width: 0; }\\n .bx--pagination-nav__page--active + .bx--pagination-nav__select-icon-wrapper::after, .bx--pagination-nav__select-icon-wrapper.bx--pagination-nav__page--active::after {\\n left: calc(50% - 0.5rem);\\n opacity: 1;\\n width: 1rem; }\\n .bx--pagination-nav__page--active + .bx--pagination-nav__select-icon-wrapper .bx--pagination-nav__select-icon {\\n display: none; }\\n\\n.bx--pagination-nav__select-icon {\\n left: calc(50% - 0.5rem);\\n pointer-events: none;\\n position: absolute;\\n top: calc(50% - 0.5rem); }\\n\\n.bx--pagination-nav__accessibility-label {\\n position: absolute;\\n width: 1px;\\n height: 1px;\\n padding: 0;\\n margin: -1px;\\n overflow: hidden;\\n clip: rect(0, 0, 0, 0);\\n border: 0;\\n visibility: visible;\\n white-space: nowrap; }\\n\\n.bx--header {\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -webkit-box-align: center;\\n -ms-flex-align: center;\\n align-items: center;\\n position: fixed;\\n top: 0;\\n left: 0;\\n right: 0;\\n height: 3rem;\\n background-color: #252525;\\n color: #f3f3f3;\\n z-index: 6000; }\\n\\n.bx--header__action {\\n display: inline-block;\\n background: none;\\n -webkit-appearance: none;\\n -moz-appearance: none;\\n appearance: none;\\n border: 0;\\n padding: 0;\\n cursor: pointer;\\n width: 100%;\\n width: 3rem;\\n height: 3rem;\\n border: 0.1875rem solid transparent; }\\n .bx--header__action::-moz-focus-inner {\\n border: 0; }\\n\\n.bx--header__action > svg.bx--navigation-menu-panel-collapse-icon,\\n.bx--header__action--active > svg.bx--navigation-menu-panel-expand-icon {\\n display: none; }\\n\\n.bx--header__action--active > svg.bx--navigation-menu-panel-collapse-icon {\\n display: inline; }\\n\\n.bx--header__action > svg.bx--navigation-menu-panel-collapse-icon,\\n.bx--header__action--active > svg.bx--navigation-menu-panel-expand-icon {\\n display: none; }\\n\\n.bx--header__action--active > svg.bx--navigation-menu-panel-collapse-icon {\\n display: inline; }\\n\\n.bx--header__action:hover {\\n background-color: #333333; }\\n\\n.bx--header__action--active,\\n.bx--header__action--active:hover {\\n background-color: #0062ff; }\\n\\n.bx--header__action--active,\\n.bx--header__action:focus {\\n border-color: #0062ff;\\n outline: none; }\\n\\n.bx--header__action > svg {\\n fill: #f3f3f3; }\\n\\na.bx--header__name {\\n font-family: 'IBM Plex Sans', 'Helvetica Neue', Arial, sans-serif;\\n font-size: 0.875rem;\\n font-weight: 400;\\n line-height: 1.125rem;\\n letter-spacing: 0.16px;\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -webkit-box-align: center;\\n -ms-flex-align: center;\\n align-items: center;\\n height: 100%;\\n padding: 0 1rem;\\n text-decoration: none;\\n font-weight: 600;\\n letter-spacing: 0.1px;\\n line-height: 20px;\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n -ms-user-select: none;\\n user-select: none; }\\n\\n.bx--header__name--prefix {\\n font-weight: 400; }\\n\\na.bx--header__name,\\na.bx--header__name:hover {\\n color: #f3f3f3; }\\n\\na.bx--header__name:focus {\\n outline: none;\\n -webkit-box-shadow: inset 0 0 0 4px #0062ff;\\n box-shadow: inset 0 0 0 4px #0062ff; }\\n\\n.bx--header__nav {\\n height: 100%; }\\n\\n.bx--header__menu-bar[role='menubar'] {\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n margin-left: 0.5rem;\\n height: 100%; }\\n\\na.bx--header__menu-item[role='menuitem'] {\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -webkit-box-align: center;\\n -ms-flex-align: center;\\n align-items: center;\\n color: #f3f3f3;\\n padding: 0 1rem;\\n height: 100%;\\n font-size: 0.875rem;\\n font-weight: 400;\\n letter-spacing: 0;\\n line-height: 1.125rem;\\n text-decoration: none;\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n -ms-user-select: none;\\n user-select: none;\\n border: 4px solid transparent; }\\n\\na.bx--header__menu-item[role='menuitem']:hover {\\n background-color: #333333; }\\n\\n.bx--header__action:active,\\na.bx--header__menu-item[role='menuitem']:active {\\n background-color: #3d3d3d; }\\n\\na.bx--header__menu-item[role='menuitem']:focus {\\n border-color: #0062ff;\\n outline: none; }\\n\\n.bx--header__submenu {\\n position: relative; }\\n\\n.bx--header__menu-title[role='menuitem'][aria-haspopup='true'] {\\n position: relative; }\\n\\n.bx--header__menu-title[role='menuitem'][aria-expanded='true'] {\\n background-color: #3d3d3d;\\n z-index: 6001; }\\n\\n.bx--header__menu-title[role='menuitem'][aria-expanded='true'] > .bx--header__menu-arrow {\\n -webkit-transform: rotate(180deg);\\n transform: rotate(180deg); }\\n\\n.bx--header__menu[role='menu'] {\\n display: none; }\\n\\n.bx--header__menu-title[role='menuitem'][aria-expanded='true'] + .bx--header__menu {\\n position: absolute;\\n bottom: 0;\\n left: 0;\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n width: 12.5rem;\\n -webkit-box-orient: vertical;\\n -webkit-box-direction: normal;\\n -ms-flex-direction: column;\\n flex-direction: column;\\n -webkit-transform: translateY(100%);\\n transform: translateY(100%);\\n background-color: #3d3d3d;\\n -webkit-box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.5);\\n box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.5);\\n z-index: 6000; }\\n\\n.bx--header__menu .bx--header__menu-item[role='menuitem'] {\\n height: 3rem; }\\n\\n.bx--header__menu .bx--header__menu-item[role='menuitem']:hover {\\n background-color: #4c4c4c;\\n color: #fff; }\\n\\n.bx--header__menu-arrow {\\n fill: #f3f3f3;\\n margin-left: 0.5rem; }\\n\\n.bx--header__global {\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -webkit-box-pack: end;\\n -ms-flex-pack: end;\\n justify-content: flex-end;\\n -webkit-box-flex: 1;\\n -ms-flex: 1 1 0%;\\n flex: 1 1 0%;\\n height: 100%; }\\n\\n.bx--skip-to-content {\\n position: absolute;\\n width: 1px;\\n height: 1px;\\n padding: 0;\\n margin: -1px;\\n overflow: hidden;\\n clip: rect(0, 0, 0, 0);\\n border: 0;\\n visibility: visible;\\n white-space: nowrap; }\\n\\n.bx--skip-to-content:focus {\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -webkit-box-align: center;\\n -ms-flex-align: center;\\n align-items: center;\\n top: 0;\\n left: 0;\\n width: auto;\\n height: 3rem;\\n clip: auto;\\n border: 4px solid #0062ff;\\n z-index: 9999;\\n background-color: #252525;\\n color: #f3f3f3;\\n outline: none;\\n padding: 0 1rem; }\\n\\n.bx--panel--overlay {\\n position: fixed;\\n top: 3rem;\\n right: 0;\\n bottom: 0;\\n width: 16rem;\\n will-change: transform;\\n -webkit-transform: translate3d(100%, 0, 0);\\n transform: translate3d(100%, 0, 0);\\n padding: 1rem 0;\\n overflow-y: auto;\\n z-index: 1000;\\n background-color: #f3f3f3;\\n height: 100%;\\n overflow-x: hidden;\\n -webkit-transition: -webkit-transform 0.11s cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: -webkit-transform 0.11s cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: transform 0.11s cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: transform 0.11s cubic-bezier(0.2, 0, 0.38, 0.9), -webkit-transform 0.11s cubic-bezier(0.2, 0, 0.38, 0.9); }\\n\\n.bx--panel--expanded {\\n -webkit-box-shadow: 0 8px 16px 0 rgba(0, 0, 0, 0.25);\\n box-shadow: 0 8px 16px 0 rgba(0, 0, 0, 0.25);\\n -webkit-transform: translate3d(0, 0, 0);\\n transform: translate3d(0, 0, 0); }\\n\\n.bx--product-switcher__search {\\n padding: 0 1rem;\\n margin-bottom: 1.5rem; }\\n\\n.bx--search--shell input {\\n background-color: #fff; }\\n\\n.bx--product-switcher__subheader,\\n.bx--product-switcher__all-btn {\\n font-family: 'IBM Plex Sans', 'Helvetica Neue', Arial, sans-serif;\\n font-size: 0.875rem;\\n font-weight: 400;\\n line-height: 1.125rem;\\n letter-spacing: 0.16px;\\n padding: 0.5rem;\\n color: #8c8c8c; }\\n\\n.bx--product-switcher__subheader {\\n padding-left: 3.5rem; }\\n\\n.bx--product-switcher__all-btn {\\n padding-left: 3.5rem; }\\n\\n.bx--product-switcher__all-btn,\\n.bx--product-switcher__back-btn {\\n display: inline-block;\\n background: transparent;\\n width: 100%;\\n border: none;\\n color: #0062ff;\\n cursor: pointer;\\n text-align: left; }\\n\\n.bx--product-switcher__all-btn:hover,\\n.bx--product-switcher__back-btn:hover {\\n text-decoration: underline; }\\n\\n.bx--product-switcher__all-btn:focus,\\n.bx--product-switcher__back-btn:focus {\\n outline: none;\\n -webkit-box-shadow: inset 0 0 0 3px #0062ff;\\n box-shadow: inset 0 0 0 3px #0062ff; }\\n\\n.bx--product-switcher__back-btn {\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -webkit-box-align: center;\\n -ms-flex-align: center;\\n align-items: center;\\n font-family: 'IBM Plex Sans', 'Helvetica Neue', Arial, sans-serif;\\n font-size: 0.875rem;\\n font-weight: 400;\\n line-height: 1.125rem;\\n letter-spacing: 0.16px;\\n padding: 0.5rem 1rem; }\\n\\n.bx--product-switcher__back-arrow {\\n fill: #0062ff;\\n margin-right: 1rem; }\\n\\n.bx--product-list__item {\\n cursor: pointer;\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -webkit-box-pack: justify;\\n -ms-flex-pack: justify;\\n justify-content: space-between;\\n -webkit-box-align: center;\\n -ms-flex-align: center;\\n align-items: center; }\\n\\n.bx--product-list__item:hover {\\n background: #dcdcdc; }\\n\\n.bx--product-link {\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -webkit-box-orient: horizontal;\\n -webkit-box-direction: normal;\\n -ms-flex-direction: row;\\n flex-direction: row;\\n -webkit-box-align: center;\\n -ms-flex-align: center;\\n align-items: center;\\n width: 100%;\\n padding: 0.5rem 1rem;\\n text-decoration: none; }\\n\\n.bx--product-link:focus {\\n outline: none;\\n -webkit-box-shadow: inset 0 0 0 3px #0062ff;\\n box-shadow: inset 0 0 0 3px #0062ff; }\\n\\n.bx--product-switcher__icon {\\n margin-right: 1rem; }\\n\\n.bx--product-link__name {\\n font-family: 'IBM Plex Sans', 'Helvetica Neue', Arial, sans-serif;\\n font-size: 0.875rem;\\n font-weight: 400;\\n line-height: 1.125rem;\\n letter-spacing: 0.16px;\\n margin-left: 0.25rem;\\n font-weight: 400;\\n color: #171717; }\\n\\n.bx--product-switcher__product-list .bx--overflow-menu {\\n display: none;\\n -webkit-box-pack: center;\\n -ms-flex-pack: center;\\n justify-content: center;\\n -webkit-box-align: center;\\n -ms-flex-align: center;\\n align-items: center;\\n width: 2.5rem; }\\n .bx--product-switcher__product-list .bx--overflow-menu.bx--overflow-menu--open {\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex; }\\n\\n.bx--product-switcher__product-list .bx--overflow-menu > svg {\\n fill: #171717; }\\n\\n.bx--product-switcher__product-list .bx--overflow-menu:hover {\\n background: #bebebe; }\\n\\n.bx--product-switcher__product-list .bx--overflow-menu:hover > svg {\\n fill: #171717; }\\n\\n.bx--product-switcher__product-list .bx--overflow-menu:focus {\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n outline: none;\\n -webkit-box-shadow: inset 0 0 0 3px #0062ff;\\n box-shadow: inset 0 0 0 3px #0062ff; }\\n\\n.bx--product-switcher__product-list .bx--overflow-menu-options__option:hover {\\n background: #dcdcdc; }\\n\\n.bx--product-list__item:hover .bx--overflow-menu {\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex; }\\n\\n.bx--side-nav {\\n position: fixed;\\n top: 0;\\n bottom: 0;\\n left: 0;\\n width: 3rem;\\n max-width: 16rem;\\n color: #f3f3f3;\\n background-color: #282828;\\n will-change: width;\\n -webkit-transition: width 0.11s cubic-bezier(0.2, 0, 1, 0.9);\\n transition: width 0.11s cubic-bezier(0.2, 0, 1, 0.9);\\n overflow: hidden;\\n border-top: 1px solid #3d3d3d;\\n z-index: 6000; }\\n\\n.bx--side-nav:not(.bx--side-nav--fixed):hover,\\n.bx--side-nav--expanded {\\n width: 16rem; }\\n\\n.bx--header ~ .bx--side-nav {\\n top: 3rem; }\\n\\n.bx--side-nav--fixed {\\n width: 13rem; }\\n\\n.bx--side-nav__navigation {\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -webkit-box-orient: vertical;\\n -webkit-box-direction: normal;\\n -ms-flex-direction: column;\\n flex-direction: column;\\n height: 100%; }\\n\\n.bx--side-nav__header {\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n border-bottom: 1px solid #3d3d3d;\\n width: 100%;\\n height: 3rem;\\n max-width: 100%; }\\n .bx--side-nav:hover .bx--side-nav__header,\\n .bx--side-nav--fixed .bx--side-nav__header,\\n .bx--side-nav--expanded .bx--side-nav__header {\\n height: auto; }\\n\\n.bx--side-nav__details {\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -webkit-box-orient: vertical;\\n -webkit-box-direction: normal;\\n -ms-flex-direction: column;\\n flex-direction: column;\\n padding-right: 1rem;\\n -webkit-box-flex: 1;\\n -ms-flex: 1;\\n flex: 1;\\n min-width: 0;\\n opacity: 0;\\n visibility: hidden; }\\n .bx--side-nav:hover .bx--side-nav__details,\\n .bx--side-nav--fixed .bx--side-nav__details,\\n .bx--side-nav--expanded .bx--side-nav__details {\\n visibility: visible;\\n opacity: 1; }\\n\\n.bx--side-nav__title {\\n white-space: nowrap;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n font-size: 0.875rem;\\n font-weight: 600;\\n letter-spacing: 0.1px;\\n margin-top: 1rem;\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n -ms-user-select: none;\\n user-select: none; }\\n\\n.bx--side-nav__title,\\n.bx--side-nav__select {\\n padding-left: 0.5rem; }\\n\\n.bx--side-nav__switcher {\\n position: relative;\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -webkit-box-align: center;\\n -ms-flex-align: center;\\n align-items: center;\\n -webkit-box-pack: justify;\\n -ms-flex-pack: justify;\\n justify-content: space-between; }\\n\\n.bx--side-nav__switcher-chevron {\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -webkit-box-align: center;\\n -ms-flex-align: center;\\n align-items: center;\\n position: absolute;\\n top: 0;\\n right: 0.5rem;\\n bottom: 0;\\n fill: #f3f3f3; }\\n\\n.bx--side-nav__select {\\n -webkit-appearance: none;\\n -moz-appearance: none;\\n appearance: none;\\n -webkit-box-flex: 1;\\n -ms-flex: 1 1 0%;\\n flex: 1 1 0%;\\n background-color: #252525;\\n color: #f3f3f3;\\n height: 100%;\\n border: none;\\n border-radius: 0;\\n cursor: pointer;\\n font-size: 0.75rem;\\n height: 2rem;\\n min-width: 0;\\n padding-right: 2rem; }\\n\\n.bx--side-nav__select:focus {\\n outline: 4px solid #0062ff;\\n outline-offset: -4px; }\\n\\n.bx--side-nav__footer {\\n -webkit-box-flex: 0;\\n -ms-flex: 0 0 3rem;\\n flex: 0 0 3rem;\\n width: 100%;\\n background-color: #3d3d3d; }\\n\\n.bx--side-nav__toggle {\\n display: inline-block;\\n background: none;\\n -webkit-appearance: none;\\n -moz-appearance: none;\\n appearance: none;\\n border: 0;\\n padding: 0;\\n cursor: pointer;\\n width: 100%;\\n height: 100%;\\n text-align: left; }\\n .bx--side-nav__toggle::-moz-focus-inner {\\n border: 0; }\\n\\n.bx--side-nav__toggle:hover {\\n background-color: #565656; }\\n\\n.bx--side-nav__toggle:focus {\\n outline: 4px solid #0062ff;\\n outline-offset: -4px; }\\n\\n.bx--side-nav__toggle:active {\\n background-color: #0062ff; }\\n\\n.bx--side-nav__items {\\n -webkit-box-flex: 1;\\n -ms-flex: 1 1 0%;\\n flex: 1 1 0%;\\n overflow: hidden; }\\n .bx--side-nav:hover .bx--side-nav__items,\\n .bx--side-nav--fixed .bx--side-nav__items,\\n .bx--side-nav--expanded .bx--side-nav__items {\\n overflow-y: auto; }\\n\\n.bx--side-nav__item {\\n width: 3rem;\\n height: 3rem;\\n overflow: hidden; }\\n .bx--side-nav:hover .bx--side-nav__item,\\n .bx--side-nav--fixed .bx--side-nav__item,\\n .bx--side-nav--expanded .bx--side-nav__item {\\n width: auto;\\n height: auto; }\\n\\n.bx--side-nav__item:not(.bx--side-nav__item--active):hover {\\n background-color: #333333; }\\n\\n.bx--side-nav__item--active {\\n background-color: #3d3d3d; }\\n\\n.bx--side-nav__submenu[aria-haspopup='true'] {\\n display: inline-block;\\n background: none;\\n -webkit-appearance: none;\\n -moz-appearance: none;\\n appearance: none;\\n border: 0;\\n padding: 0;\\n cursor: pointer;\\n width: 100%;\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -webkit-box-align: center;\\n -ms-flex-align: center;\\n align-items: center;\\n color: #f3f3f3;\\n font-size: 0.875rem;\\n line-height: 1.25rem;\\n height: 3rem;\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n -ms-user-select: none;\\n user-select: none; }\\n .bx--side-nav__submenu[aria-haspopup='true']::-moz-focus-inner {\\n border: 0; }\\n\\n.bx--side-nav__submenu:focus {\\n outline: 4px solid #0062ff;\\n outline-offset: -4px; }\\n\\n.bx--side-nav__submenu-title {\\n white-space: nowrap;\\n overflow: hidden;\\n text-overflow: ellipsis; }\\n\\n.bx--side-nav__icon.bx--side-nav__submenu-chevron {\\n -webkit-box-flex: 1;\\n -ms-flex: 1;\\n flex: 1;\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -webkit-box-pack: end;\\n -ms-flex-pack: end;\\n justify-content: flex-end;\\n padding-right: 1rem; }\\n\\n.bx--side-nav__submenu[aria-expanded='true'] .bx--side-nav__submenu-chevron > svg {\\n -webkit-transform: rotate(180deg);\\n transform: rotate(180deg); }\\n\\n.bx--side-nav__menu[role='menu'] {\\n display: block;\\n visibility: hidden;\\n max-height: 0;\\n -webkit-transition: 240ms max-height cubic-bezier(0.2, 0, 1, 0.9), 240ms visibility cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: 240ms max-height cubic-bezier(0.2, 0, 1, 0.9), 240ms visibility cubic-bezier(0.2, 0, 0.38, 0.9); }\\n\\n.bx--side-nav__submenu[aria-expanded='true'] + .bx--side-nav__menu[role='menu'] {\\n max-height: 1500px;\\n visibility: inherit;\\n -webkit-transition: 240ms max-height cubic-bezier(0, 0, 0.38, 0.9), 240ms visibility cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: 240ms max-height cubic-bezier(0, 0, 0.38, 0.9), 240ms visibility cubic-bezier(0.2, 0, 0.38, 0.9); }\\n\\n.bx--side-nav__menu[role='menu'] a.bx--side-nav__link[role='menuitem'] {\\n height: 2rem;\\n min-height: 2rem;\\n padding-left: 3.5rem; }\\n\\n.bx--side-nav__menu[role='menu']\\na.bx--side-nav__link[role='menuitem']:not(.bx--side-nav__link--current):not([aria-current='page']):hover {\\n background-color: #4c4c4c; }\\n\\n.bx--side-nav__menu[role='menu'] a.bx--side-nav__link--current,\\n.bx--side-nav__menu[role='menu'] a.bx--side-nav__link[aria-current='page'] {\\n background-color: #565656; }\\n\\na.bx--side-nav__link {\\n position: relative;\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -webkit-box-align: center;\\n -ms-flex-align: center;\\n align-items: center;\\n text-decoration: none;\\n min-height: 3rem;\\n padding-right: 1rem;\\n font-weight: 400; }\\n\\n.bx--side-nav__submenu > .bx--side-nav__icon,\\na.bx--side-nav__link > .bx--side-nav__icon {\\n margin-right: 0.5rem; }\\n\\na.bx--side-nav__link > .bx--side-nav__link-text {\\n white-space: nowrap;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n color: #f3f3f3;\\n font-size: 0.875rem;\\n letter-spacing: 0.1px;\\n line-height: 1.25rem;\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n -ms-user-select: none;\\n user-select: none; }\\n\\na.bx--side-nav__link:focus {\\n outline: 4px solid #0062ff;\\n outline-offset: -4px; }\\n\\na.bx--side-nav__link[aria-current='page'],\\na.bx--side-nav__link--current {\\n font-weight: 600; }\\n\\na.bx--side-nav__link[aria-current='page']::before,\\na.bx--side-nav__link--current::before {\\n content: '';\\n position: absolute;\\n top: 0;\\n bottom: 0;\\n left: 0;\\n width: 4px;\\n background-color: #0062ff; }\\n\\n.bx--side-nav__icon {\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -webkit-box-pack: center;\\n -ms-flex-pack: center;\\n justify-content: center;\\n -webkit-box-align: center;\\n -ms-flex-align: center;\\n align-items: center;\\n width: 3rem;\\n height: 3rem;\\n -webkit-box-flex: 0;\\n -ms-flex: 0 0 3rem;\\n flex: 0 0 3rem; }\\n\\n.bx--side-nav__icon > svg {\\n fill: #f3f3f3; }\\n\\n.bx--side-nav__icon > svg.bx--side-nav-collapse-icon {\\n display: none; }\\n\\n.bx--side-nav--expanded .bx--side-nav__icon > svg.bx--side-nav-expand-icon {\\n display: none; }\\n\\n.bx--side-nav--expanded .bx--side-nav__icon > svg.bx--side-nav-collapse-icon {\\n display: block; }\\n\\n.bx--side-nav--fixed a.bx--side-nav__link,\\n.bx--side-nav--fixed .bx--side-nav__submenu[aria-haspopup='true'] {\\n padding-left: 1rem; }\\n\\n.bx--side-nav--fixed .bx--side-nav__menu[role='menu'] a.bx--side-nav__link {\\n padding-left: 2rem; }\\n\\n.bx--navigation {\\n position: fixed;\\n top: 3rem;\\n bottom: 0;\\n left: 0;\\n background-color: #282828;\\n width: 16rem;\\n z-index: 7000;\\n -webkit-box-shadow: 0 0.5rem 1rem 0 rgba(0, 0, 0, 0.25);\\n box-shadow: 0 0.5rem 1rem 0 rgba(0, 0, 0, 0.25);\\n color: #f3f3f3; }\\n\\n.bx--navigation--right {\\n left: auto;\\n right: 0; }\\n\\n.bx--navigation svg {\\n fill: #f3f3f3; }\\n\\n.bx--navigation-section:not(:last-child)::after {\\n display: block;\\n content: '';\\n height: 1px;\\n background-color: #3d3d3d;\\n margin: 0 1rem; }\\n\\n.bx--navigation-item {\\n position: relative;\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -webkit-box-align: center;\\n -ms-flex-align: center;\\n align-items: center; }\\n\\n.bx--navigation-item--active > a.bx--navigation-link {\\n color: #ffffff;\\n font-weight: 600; }\\n\\n.bx--navigation-item--active::after {\\n content: '';\\n display: block;\\n position: absolute;\\n top: 0;\\n bottom: 0;\\n left: 0;\\n width: 4px;\\n background-color: #0062ff; }\\n\\na.bx--navigation-link {\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -webkit-box-align: center;\\n -ms-flex-align: center;\\n align-items: center;\\n color: #f3f3f3;\\n text-decoration: none;\\n font-size: 0.875rem;\\n font-weight: 400;\\n width: 100%;\\n min-height: 2.5rem;\\n padding-left: 1rem; }\\n\\na.bx--navigation-link:hover {\\n background-color: #333333;\\n color: #ffffff; }\\n\\na.bx--navigation-link:focus {\\n outline: 0.1875rem solid #0062ff;\\n outline-offset: -0.1875rem; }\\n\\n.bx--navigation-item--icon > a.bx--navigation-link {\\n padding-left: 0; }\\n\\n.bx--navigation__category {\\n width: 100%; }\\n\\n.bx--navigation__category-toggle {\\n display: inline-block;\\n background: none;\\n -webkit-appearance: none;\\n -moz-appearance: none;\\n appearance: none;\\n border: 0;\\n padding: 0;\\n cursor: pointer;\\n width: 100%;\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -webkit-box-align: center;\\n -ms-flex-align: center;\\n align-items: center; }\\n .bx--navigation__category-toggle::-moz-focus-inner {\\n border: 0; }\\n\\n.bx--navigation__category-toggle:hover {\\n background-color: #333333; }\\n\\n.bx--navigation__category-toggle:focus {\\n outline: 0.1875rem solid #0062ff;\\n outline-offset: -0.1875rem; }\\n\\n.bx--navigation__category-title {\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -webkit-box-align: center;\\n -ms-flex-align: center;\\n align-items: center;\\n -webkit-box-pack: justify;\\n -ms-flex-pack: justify;\\n justify-content: space-between;\\n padding-right: 1rem;\\n width: 100%;\\n color: #f3f3f3;\\n font-size: 0.875rem;\\n font-weight: 400;\\n min-height: 2.5rem;\\n padding-left: 1rem; }\\n\\n.bx--navigation-item--icon .bx--navigation__category-title {\\n padding-left: 0; }\\n\\n.bx--navigation__category-items {\\n display: none;\\n visibility: hidden; }\\n\\n.bx--navigation__category-item > a.bx--navigation-link {\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -webkit-box-align: center;\\n -ms-flex-align: center;\\n align-items: center;\\n min-height: 2rem;\\n padding-left: 2rem; }\\n\\n.bx--navigation__category-item {\\n position: relative; }\\n\\n.bx--navigation-item--icon .bx--navigation__category-item > a.bx--navigation-link {\\n padding-left: 3.5rem; }\\n\\n.bx--navigation__category-item--active::after {\\n content: '';\\n position: absolute;\\n display: block;\\n top: 0;\\n bottom: 0;\\n left: 0;\\n width: 4px;\\n background-color: #0062ff; }\\n\\n.bx--navigation__category-item--active > a.bx--navigation-link {\\n font-weight: 600;\\n color: #ffffff; }\\n\\n.bx--navigation__category--expanded .bx--navigation__category-title {\\n font-weight: 600; }\\n\\n.bx--navigation__category--expanded .bx--navigation__category-title > svg {\\n -webkit-transform: rotate(180deg);\\n transform: rotate(180deg); }\\n\\n.bx--navigation__category--expanded .bx--navigation__category-items {\\n display: block;\\n visibility: inherit; }\\n\\n.bx--navigation-icon {\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -webkit-box-align: center;\\n -ms-flex-align: center;\\n align-items: center;\\n -webkit-box-pack: center;\\n -ms-flex-pack: center;\\n justify-content: center;\\n width: 3rem;\\n min-width: 3rem;\\n height: 2.5rem;\\n margin-right: 0.5rem; }\\n\\n.bx--content {\\n -webkit-transform: translate3d(0, 0, 0);\\n transform: translate3d(0, 0, 0);\\n will-change: margin-left; }\\n\\n.bx--header ~ .bx--content {\\n margin-top: 3rem; }\\n\\n.bx--side-nav ~ .bx--content {\\n margin-left: 3rem; }\\n\\n.bx--side-nav.bx--side-nav--expanded ~ .bx--content {\\n margin-left: 16rem; }\\n\\n.sb-show-main:not(.welcome) {\\n padding: 3em;\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -webkit-box-orient: vertical;\\n -webkit-box-direction: normal;\\n -ms-flex-direction: column;\\n flex-direction: column;\\n -webkit-box-align: center;\\n -ms-flex-align: center;\\n align-items: center; }\\n\", \"\"]);\n\n","\nvar content = require(\"!!../node_modules/css-loader/dist/cjs.js!../node_modules/postcss-loader/src/index.js!../node_modules/sass-loader/lib/loader.js!./preview.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../node_modules/css-loader/dist/cjs.js!../node_modules/postcss-loader/src/index.js!../node_modules/sass-loader/lib/loader.js!./preview.scss\", function() {\n\t\tvar newContent = require(\"!!../node_modules/css-loader/dist/cjs.js!../node_modules/postcss-loader/src/index.js!../node_modules/sass-loader/lib/loader.js!./preview.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","var map = {\n\t\"./accordion/accordion.stories.ts\": \"./src/accordion/accordion.stories.ts\",\n\t\"./breadcrumb/breadcrumb.stories.ts\": \"./src/breadcrumb/breadcrumb.stories.ts\",\n\t\"./button/button.stories.ts\": \"./src/button/button.stories.ts\",\n\t\"./checkbox/checkbox.stories.ts\": \"./src/checkbox/checkbox.stories.ts\",\n\t\"./code-snippet/code-snippet.stories.ts\": \"./src/code-snippet/code-snippet.stories.ts\",\n\t\"./combobox/combobox.stories.ts\": \"./src/combobox/combobox.stories.ts\",\n\t\"./content-switcher/content-switcher.stories.ts\": \"./src/content-switcher/content-switcher.stories.ts\",\n\t\"./datepicker/datepicker.stories.ts\": \"./src/datepicker/datepicker.stories.ts\",\n\t\"./dialog/overflow-menu/overflow-menu.stories.ts\": \"./src/dialog/overflow-menu/overflow-menu.stories.ts\",\n\t\"./dialog/tooltip/tooltip.stories.ts\": \"./src/dialog/tooltip/tooltip.stories.ts\",\n\t\"./dropdown/dropdown.stories.ts\": \"./src/dropdown/dropdown.stories.ts\",\n\t\"./file-uploader/file-uploader.stories.ts\": \"./src/file-uploader/file-uploader.stories.ts\",\n\t\"./grid/grid.stories.ts\": \"./src/grid/grid.stories.ts\",\n\t\"./index.stories.ts\": \"./src/index.stories.ts\",\n\t\"./inline-loading/inline-loading.stories.ts\": \"./src/inline-loading/inline-loading.stories.ts\",\n\t\"./input/input.stories.ts\": \"./src/input/input.stories.ts\",\n\t\"./link/link.stories.ts\": \"./src/link/link.stories.ts\",\n\t\"./list/list.stories.ts\": \"./src/list/list.stories.ts\",\n\t\"./loading/loading.stories.ts\": \"./src/loading/loading.stories.ts\",\n\t\"./modal/modal.stories.ts\": \"./src/modal/modal.stories.ts\",\n\t\"./notification/notification.stories.ts\": \"./src/notification/notification.stories.ts\",\n\t\"./number-input/number.stories.ts\": \"./src/number-input/number.stories.ts\",\n\t\"./pagination/pagination.stories.ts\": \"./src/pagination/pagination.stories.ts\",\n\t\"./progress-indicator/progress-indicator.stories.ts\": \"./src/progress-indicator/progress-indicator.stories.ts\",\n\t\"./radio/radio.stories.ts\": \"./src/radio/radio.stories.ts\",\n\t\"./search/search.stories.ts\": \"./src/search/search.stories.ts\",\n\t\"./select/select.stories.ts\": \"./src/select/select.stories.ts\",\n\t\"./slider/slider.stories.ts\": \"./src/slider/slider.stories.ts\",\n\t\"./structured-list/structured-list.stories.ts\": \"./src/structured-list/structured-list.stories.ts\",\n\t\"./table/table.stories.ts\": \"./src/table/table.stories.ts\",\n\t\"./tabs/tabs.stories.ts\": \"./src/tabs/tabs.stories.ts\",\n\t\"./tag/tag.stories.ts\": \"./src/tag/tag.stories.ts\",\n\t\"./tiles/tiles.stories.ts\": \"./src/tiles/tiles.stories.ts\",\n\t\"./timepicker-select/timepicker-select.stories.ts\": \"./src/timepicker-select/timepicker-select.stories.ts\",\n\t\"./timepicker/timepicker.stories.ts\": \"./src/timepicker/timepicker.stories.ts\",\n\t\"./toggle/toggle.stories.ts\": \"./src/toggle/toggle.stories.ts\",\n\t\"./ui-shell/ui-shell.stories.ts\": \"./src/ui-shell/ui-shell.stories.ts\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"./src sync recursive .stories.ts$\";","import {\n\tComponent,\n\tInput,\n\tHostBinding,\n\tOutput,\n\tEventEmitter\n} from \"@angular/core\";\n\n@Component({\n\tselector: \"ibm-accordion-item\",\n\ttemplate: `\n\t\t<button\n\t\t\t[attr.aria-expanded]=\"expanded\"\n\t\t\t[attr.aria-controls]=\"id\"\n\t\t\t(click)=\"toggleExpanded()\"\n\t\t\tclass=\"bx--accordion__heading\">\n\t\t\t<ibm-icon-chevron-right16 class=\"bx--accordion__arrow\"></ibm-icon-chevron-right16>\n\t\t\t<p\n\t\t\t\tclass=\"bx--accordion__title\"\n\t\t\t\t[ngClass]=\"{\n\t\t\t\t\t'bx--skeleton__text': skeleton\n\t\t\t\t}\">\n\t\t\t\t{{!skeleton ? title : null}}\n\t\t\t</p>\n\t\t</button>\n\t\t<div [id]=\"id\" class=\"bx--accordion__content\">\n\t\t\t<ng-content *ngIf=\"!skeleton; else skeletonTemplate\"></ng-content>\n\t\t\t<ng-template #skeletonTemplate>\n\t\t\t\t<p class=\"bx--skeleton__text\" style=\"width: 90%\"></p>\n\t\t\t\t<p class=\"bx--skeleton__text\" style=\"width: 80%\"></p>\n\t\t\t\t<p class=\"bx--skeleton__text\" style=\"width: 95%\"></p>\n\t\t\t</ng-template>\n\t\t</div>\n\t`\n})\nexport class AccordionItem {\n\tstatic accordionItemCount = 0;\n\t@Input() title = `Title ${AccordionItem.accordionItemCount}`;\n\t@Input() id = `accordion-item-${AccordionItem.accordionItemCount}`;\n\t@Input() skeleton = false;\n\t@Output() selected = new EventEmitter();\n\n\t@HostBinding(\"class.bx--accordion__item\") itemClass = true;\n\t@HostBinding(\"class.bx--accordion__item--active\") @Input() expanded = false;\n\t@HostBinding(\"style.display\") itemType = \"list-item\";\n\t@HostBinding(\"attr.role\") role = \"heading\";\n\t@HostBinding(\"attr.aria-level\") @Input() ariaLevel = 3;\n\n\tconstructor() {\n\t\tAccordionItem.accordionItemCount++;\n\t}\n\n\tpublic toggleExpanded() {\n\t\tif (!this.skeleton) {\n\t\t\tthis.expanded = !this.expanded;\n\t\t\tthis.selected.emit({id: this.id, expanded: this.expanded});\n\t\t}\n\t}\n}\n","import {\n\tComponent,\n\tInput,\n\tContentChildren,\n\tQueryList,\n\tAfterContentInit\n} from \"@angular/core\";\nimport { AccordionItem } from \"./accordion-item.component\";\n\n@Component({\n\tselector: \"ibm-accordion\",\n\ttemplate: `\n\t\t<ul class=\"bx--accordion\">\n\t\t\t<ng-content></ng-content>\n\t\t</ul>\n\t`\n})\nexport class Accordion implements AfterContentInit {\n\t@ContentChildren(AccordionItem) children: QueryList<AccordionItem>;\n\n\tprotected _skeleton = false;\n\n\t@Input()\n\tset skeleton(value: any) {\n\t\tthis._skeleton = value;\n\t\tthis.updateChildren();\n\t}\n\n\tget skeleton(): any {\n\t\treturn this._skeleton;\n\t}\n\n\tngAfterContentInit() {\n\t\tthis.updateChildren();\n\t}\n\n\tprotected updateChildren() {\n\t\tif (this.children) {\n\t\t\tthis.children.toArray().forEach(child => child.skeleton = this.skeleton);\n\t\t}\n\t}\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { ChevronRight16Module } from \"@carbon/icons-angular/lib/chevron--right/16\";\n\nimport { Accordion } from \"./accordion.component\";\nimport { AccordionItem } from \"./accordion-item.component\";\n\nexport { Accordion } from \"./accordion.component\";\nexport { AccordionItem } from \"./accordion-item.component\";\n\n@NgModule({\n\tdeclarations: [\n\t\tAccordion,\n\t\tAccordionItem\n\t],\n\texports: [\n\t\tAccordion,\n\t\tAccordionItem\n\t],\n\timports: [\n\t\tCommonModule,\n\t\tChevronRight16Module\n\t]\n})\nexport class AccordionModule { }\n","\n export var withStorySource = require('@storybook/addon-storysource').withStorySource;\n export var __STORY__ = \"import { storiesOf, moduleMetadata } from '@storybook/angular';\\nimport { action } from '@storybook/addon-actions';\\nimport { withKnobs, boolean, object } from '@storybook/addon-knobs/angular';\\n\\nimport { AccordionModule } from '../';\\n\\nstoriesOf('Accordion', module)\\n .addDecorator(\\n moduleMetadata({\\n imports: [AccordionModule],\\n })\\n )\\n .addDecorator(withKnobs)\\n .add('Basic', () => ({\\n template: `\\n\\t\\t\\t<ibm-accordion>\\n\\t\\t\\t\\t<ibm-accordion-item title=\\\"Section 1 title\\\" (selected)=\\\"selected($event)\\\">Lorem ipsum dolor sit amet, \\\\\\n\\t\\t\\t\\tconsectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore \\\\\\n\\t\\t\\t\\tet dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation \\\\\\n\\t\\t\\t\\tullamco laboris nisi ut aliquip ex ea commodo consequat.</ibm-accordion-item>\\n\\t\\t\\t\\t<ibm-accordion-item title=\\\"Section 2 title\\\" (selected)=\\\"selected($event)\\\">Lorem ipsum dolor sit amet, \\\\\\n\\t\\t\\t\\tconsectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore \\\\\\n\\t\\t\\t\\tet dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation \\\\\\n\\t\\t\\t\\tullamco laboris nisi ut aliquip ex ea commodo consequat.</ibm-accordion-item>\\n\\t\\t\\t\\t<ibm-accordion-item title=\\\"Section 3 title\\\" (selected)=\\\"selected($event)\\\">Lorem ipsum dolor sit amet, \\\\\\n\\t\\t\\t\\tconsectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore \\\\\\n\\t\\t\\t\\tet dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation \\\\\\n\\t\\t\\t\\tullamco laboris nisi ut aliquip ex ea commodo consequat.</ibm-accordion-item>\\n\\t\\t\\t\\t<ibm-accordion-item title=\\\"Section 4 title\\\" (selected)=\\\"selected($event)\\\">Lorem ipsum dolor sit amet, \\\\\\n\\t\\t\\t\\tconsectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore \\\\\\n\\t\\t\\t\\tet dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation \\\\\\n\\t\\t\\t\\tullamco laboris nisi ut aliquip ex ea commodo consequat.</ibm-accordion-item>\\n\\t\\t\\t</ibm-accordion>\\n\\t\\t`,\\n props: {\\n items: [\\n {\\n content: 'one',\\n },\\n {\\n content: 'two',\\n },\\n {\\n content: 'three',\\n },\\n {\\n content: 'four',\\n },\\n ],\\n selected: action('item expanded'),\\n },\\n }))\\n .add('Skeleton', () => ({\\n template: `\\n\\t\\t\\t<div style=\\\"width: 500px\\\">\\n\\t\\t\\t\\t<ibm-accordion skeleton=\\\"true\\\">\\n\\t\\t\\t\\t\\t<ibm-accordion-item expanded=\\\"true\\\"></ibm-accordion-item>\\n\\t\\t\\t\\t\\t<ibm-accordion-item></ibm-accordion-item>\\n\\t\\t\\t\\t\\t<ibm-accordion-item></ibm-accordion-item>\\n\\t\\t\\t\\t\\t<ibm-accordion-item></ibm-accordion-item>\\n\\t\\t\\t\\t</ibm-accordion>\\n\\t\\t\\t</div>\\n\\t\\t`,\\n }));\\n\";\n export var __ADDS_MAP__ = {\"accordion--skeleton\":{\"startLoc\":{\"col\":7,\"line\":53},\"endLoc\":{\"col\":4,\"line\":64}},\"accordion--basic\":{\"startLoc\":{\"col\":7,\"line\":14},\"endLoc\":{\"col\":4,\"line\":52}}};\n \n import { storiesOf, moduleMetadata } from \"@storybook/angular\";\nimport { action } from \"@storybook/addon-actions\";\nimport { withKnobs, boolean, object } from \"@storybook/addon-knobs/angular\";\n\nimport { AccordionModule } from \"../\";\n\nstoriesOf(\"Accordion\", module).addDecorator(withStorySource(__STORY__, __ADDS_MAP__))\n\t.addDecorator(\n\t\tmoduleMetadata({\n\t\t\timports: [\n\t\t\t\tAccordionModule\n\t\t\t]\n\t\t})\n\t)\n\t.addDecorator(withKnobs)\n\t.add(\"Basic\", () => ({\n\t\ttemplate: `\n\t\t\t<ibm-accordion>\n\t\t\t\t<ibm-accordion-item title=\"Section 1 title\" (selected)=\"selected($event)\">Lorem ipsum dolor sit amet, \\\n\t\t\t\tconsectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore \\\n\t\t\t\tet dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation \\\n\t\t\t\tullamco laboris nisi ut aliquip ex ea commodo consequat.</ibm-accordion-item>\n\t\t\t\t<ibm-accordion-item title=\"Section 2 title\" (selected)=\"selected($event)\">Lorem ipsum dolor sit amet, \\\n\t\t\t\tconsectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore \\\n\t\t\t\tet dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation \\\n\t\t\t\tullamco laboris nisi ut aliquip ex ea commodo consequat.</ibm-accordion-item>\n\t\t\t\t<ibm-accordion-item title=\"Section 3 title\" (selected)=\"selected($event)\">Lorem ipsum dolor sit amet, \\\n\t\t\t\tconsectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore \\\n\t\t\t\tet dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation \\\n\t\t\t\tullamco laboris nisi ut aliquip ex ea commodo consequat.</ibm-accordion-item>\n\t\t\t\t<ibm-accordion-item title=\"Section 4 title\" (selected)=\"selected($event)\">Lorem ipsum dolor sit amet, \\\n\t\t\t\tconsectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore \\\n\t\t\t\tet dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation \\\n\t\t\t\tullamco laboris nisi ut aliquip ex ea commodo consequat.</ibm-accordion-item>\n\t\t\t</ibm-accordion>\n\t\t`,\n\t\tprops: {\n\t\t\titems: [\n\t\t\t\t{\n\t\t\t\t\tcontent: \"one\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: \"two\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: \"three\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: \"four\"\n\t\t\t\t}\n\t\t\t],\n\t\t\tselected: action(\"item expanded\")\n\t\t}\n\t}))\n\t.add(\"Skeleton\", () => ({\n\t\ttemplate: `\n\t\t\t<div style=\"width: 500px\">\n\t\t\t\t<ibm-accordion skeleton=\"true\">\n\t\t\t\t\t<ibm-accordion-item expanded=\"true\"></ibm-accordion-item>\n\t\t\t\t\t<ibm-accordion-item></ibm-accordion-item>\n\t\t\t\t\t<ibm-accordion-item></ibm-accordion-item>\n\t\t\t\t\t<ibm-accordion-item></ibm-accordion-item>\n\t\t\t\t</ibm-accordion>\n\t\t\t</div>\n\t\t`\n\t}));\n\n ","import {\n\tComponent,\n\tHostBinding,\n\tInput\n} from \"@angular/core\";\n\n@Component({\n\tselector: \"ibm-breadcrumb-item\",\n\ttemplate: `\n\t<a class=\"bx--link\"\n\t\thref=\"{{skeleton ? '/#' : href}}\"\n\t\t*ngIf=\"skeleton || href; else content\">\n\t\t<ng-container *ngTemplateOutlet=\"content\"></ng-container>\n\t</a>\n\t<ng-template #content>\n\t\t<ng-content></ng-content>\n\t</ng-template>`\n})\nexport class BreadcrumbItemComponent {\n\t@Input() href: string;\n\n\t@Input() skeleton = false;\n\n\t@HostBinding(\"class.bx--breadcrumb-item\") itemClass = true;\n}\n","import {\n\tComponent,\n\tInput,\n\tContentChildren,\n\tQueryList,\n\tAfterContentInit\n} from \"@angular/core\";\n\nimport { BreadcrumbItem } from \"./breadcrumb-item.interface\";\nimport { BreadcrumbItemComponent } from \"./breadcrumb-item.component\";\n\nconst MINIMUM_OVERFLOW_THRESHOLD = 4;\n\n@Component({\n\tselector: \"ibm-breadcrumb\",\n\ttemplate: `\n\t<nav #nav class=\"bx--breadcrumb\"\n\t\t[ngClass]=\"{\n\t\t\t'bx--skeleton' : skeleton,\n\t\t\t'bx--breadcrumb--no-trailing-slash' : noTrailingSlash\n\t\t}\"\n\t\t[attr.aria-label]=\"ariaLabel\">\n\t\t<ng-template [ngIf]=\"shouldShowContent\">\n\t\t\t<ng-content></ng-content>\n\t\t</ng-template>\n\t\t<ng-template [ngIf]=\"!shouldShowOverflow\">\n\t\t\t<ibm-breadcrumb-item\n\t\t\t\t*ngFor=\"let item of items\"\n\t\t\t\t[href]=\"item.href\">\n\t\t\t\t{{item.content}}\n\t\t\t</ibm-breadcrumb-item>\n\t\t</ng-template>\n\t\t<ng-template [ngIf]=\"shouldShowOverflow\">\n\t\t\t<ibm-breadcrumb-item [href]=\"first?.href\">\n\t\t\t\t{{first?.content}}\n\t\t\t</ibm-breadcrumb-item>\n\t\t\t<ibm-breadcrumb-item>\n\t\t\t\t<ibm-overflow-menu>\n\t\t\t\t\t<li class=\"bx--overflow-menu-options__option\"\n\t\t\t\t\t\t*ngFor=\"let item of overflowItems\">\n\t\t\t\t\t\t<a class=\"bx--overflow-menu-options__btn\"\n\t\t\t\t\t\t\thref=\"{{item?.href}}\"\n\t\t\t\t\t\t\tstyle=\"text-decoration: none;\">\n\t\t\t\t\t\t\t{{item?.content}}\n\t\t\t\t\t\t</a>\n\t\t\t\t\t</li>\n\t\t\t\t</ibm-overflow-menu>\n\t\t\t</ibm-breadcrumb-item>\n\t\t\t<ibm-breadcrumb-item [href]=\"secondLast?.href\">\n\t\t\t\t{{secondLast?.content}}\n\t\t\t</ibm-breadcrumb-item>\n\t\t\t<ibm-breadcrumb-item [href]=\"last?.href\">\n\t\t\t\t{{last?.content}}\n\t\t\t</ibm-breadcrumb-item>\n\t\t</ng-template>\n\t</nav>`\n})\nexport class Breadcrumb implements AfterContentInit {\n\t@ContentChildren(BreadcrumbItemComponent) children: QueryList<BreadcrumbItemComponent>;\n\n\t@Input() items: Array<BreadcrumbItem>;\n\n\t@Input() noTrailingSlash = false;\n\n\t@Input() ariaLabel: string;\n\n\tprotected _threshold: number;\n\tprotected _skeleton = false;\n\n\t@Input()\n\tset skeleton(value: any) {\n\t\tthis._skeleton = value;\n\t\tthis.updateChildren();\n\t}\n\n\tget skeleton(): any {\n\t\treturn this._skeleton;\n\t}\n\n\t@Input()\n\tset threshold(threshold: number) {\n\t\tthis._threshold = threshold;\n\t\tif (isNaN(threshold) || threshold < MINIMUM_OVERFLOW_THRESHOLD) {\n\t\t\tthis._threshold = MINIMUM_OVERFLOW_THRESHOLD;\n\t\t}\n\t}\n\n\tget threshold(): number {\n\t\treturn this._threshold;\n\t}\n\n\tngAfterContentInit() {\n\t\tthis.updateChildren();\n\t}\n\n\tget shouldShowContent(): boolean {\n\t\treturn !this.items;\n\t}\n\n\tget shouldShowOverflow(): boolean {\n\t\tif (!this.items) {\n\t\t\treturn false;\n\t\t}\n\t\treturn this.items.length > this.threshold;\n\t}\n\n\tget first(): BreadcrumbItem {\n\t\treturn this.shouldShowOverflow ? this.items[0] : null;\n\t}\n\n\tget overflowItems(): Array<BreadcrumbItem> {\n\t\treturn this.shouldShowOverflow ? this.items.slice(1, this.items.length - 2) : [];\n\t}\n\n\tget secondLast(): BreadcrumbItem {\n\t\treturn this.shouldShowOverflow ? this.items[this.items.length - 2] : null;\n\t}\n\n\tget last(): BreadcrumbItem {\n\t\treturn this.shouldShowOverflow ? this.items[this.items.length - 1] : null;\n\t}\n\n\tprotected updateChildren() {\n\t\tif (this.children) {\n\t\t\tthis.children.toArray().forEach(child => child.skeleton = this.skeleton);\n\t\t}\n\t}\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nimport { DialogModule } from \"../dialog/dialog.module\";\n\nimport { Breadcrumb } from \"./breadcrumb.component\";\nimport { BreadcrumbItemComponent } from \"./breadcrumb-item.component\";\n\nexport { Breadcrumb } from \"./breadcrumb.component\";\nexport { BreadcrumbItemComponent } from \"./breadcrumb-item.component\";\nexport { BreadcrumbItem } from \"./breadcrumb-item.interface\";\n\n@NgModule({\n\tdeclarations: [\n\t\tBreadcrumb,\n\t\tBreadcrumbItemComponent\n\t],\n\texports: [\n\t\tBreadcrumb,\n\t\tBreadcrumbItemComponent\n\t],\n\timports: [\n\t\tCommonModule,\n\t\tDialogModule\n\t]\n})\nexport class BreadcrumbModule { }\n","\n export var withStorySource = require('@storybook/addon-storysource').withStorySource;\n export var __STORY__ = \"import { storiesOf, moduleMetadata } from '@storybook/angular';\\nimport { withKnobs, boolean, number } from '@storybook/addon-knobs/angular';\\n\\nimport { BreadcrumbModule, DialogModule } from '../';\\nimport { BreadcrumbItem } from '../breadcrumb/breadcrumb-item.interface';\\n\\nlet breadcrumbItems;\\n\\nconst createBreadcrumbItems = (count: number): Array<BreadcrumbItem> => {\\n if (breadcrumbItems && count === breadcrumbItems.length) {\\n return breadcrumbItems;\\n }\\n breadcrumbItems = Array(count)\\n .fill(0)\\n .map((x, i) => ({ content: ' Breadcrumb ' + (i + 1), href: '#' + (i + 1) }));\\n return breadcrumbItems;\\n};\\n\\nstoriesOf('Breadcrumb', module)\\n .addDecorator(\\n moduleMetadata({\\n imports: [BreadcrumbModule, DialogModule],\\n })\\n )\\n .addDecorator(withKnobs)\\n .add('Basic', () => ({\\n template: `\\n\\t<ibm-breadcrumb [noTrailingSlash]=\\\"noTrailingSlash\\\">\\n\\t\\t<ibm-breadcrumb-item href=\\\"#1\\\">\\n\\t\\t\\tBreadcrumb 1\\n\\t\\t</ibm-breadcrumb-item>\\n\\t\\t<ibm-breadcrumb-item href=\\\"#2\\\">\\n\\t\\t\\tBreadcrumb 2\\n\\t\\t</ibm-breadcrumb-item>\\n\\t\\t<ibm-breadcrumb-item href=\\\"#3\\\">\\n\\t\\t\\tBreadcrumb 3\\n\\t\\t</ibm-breadcrumb-item>\\n\\t\\t<ibm-breadcrumb-item href=\\\"#4\\\">\\n\\t\\t\\tBreadcrumb 4\\n\\t\\t</ibm-breadcrumb-item>\\n\\t</ibm-breadcrumb>`,\\n props: {\\n noTrailingSlash: boolean('noTrailingSlash', true),\\n },\\n }))\\n .add('Model', () => ({\\n template: `\\n\\t<ibm-breadcrumb\\n\\t\\t[noTrailingSlash]=\\\"noTrailingSlash\\\"\\n\\t\\t[threshold]=\\\"threshold\\\"\\n\\t\\t[items]=\\\"items(itemCount)\\\">\\n\\t</ibm-breadcrumb>`,\\n props: {\\n noTrailingSlash: boolean('noTrailingSlash', true),\\n itemCount: number('itemCount', 10),\\n threshold: number('threshold', 4),\\n items: createBreadcrumbItems,\\n },\\n }))\\n .add('Skeleton', () => ({\\n template: `\\n\\t<ibm-breadcrumb skeleton=\\\"true\\\" [noTrailingSlash]=\\\"noTrailingSlash\\\">\\n\\t\\t<ibm-breadcrumb-item></ibm-breadcrumb-item>\\n\\t\\t<ibm-breadcrumb-item></ibm-breadcrumb-item>\\n\\t\\t<ibm-breadcrumb-item></ibm-breadcrumb-item>\\n\\t\\t<ibm-breadcrumb-item></ibm-breadcrumb-item>\\n\\t</ibm-breadcrumb>`,\\n props: {\\n noTrailingSlash: boolean('noTrailingSlash', true),\\n },\\n }));\\n\";\n export var __ADDS_MAP__ = {\"breadcrumb--skeleton\":{\"startLoc\":{\"col\":7,\"line\":60},\"endLoc\":{\"col\":4,\"line\":71}},\"breadcrumb--model\":{\"startLoc\":{\"col\":7,\"line\":46},\"endLoc\":{\"col\":4,\"line\":59}},\"breadcrumb--basic\":{\"startLoc\":{\"col\":7,\"line\":26},\"endLoc\":{\"col\":4,\"line\":45}}};\n \n import { storiesOf, moduleMetadata } from \"@storybook/angular\";\nimport { withKnobs, boolean, number } from \"@storybook/addon-knobs/angular\";\n\nimport { BreadcrumbModule, DialogModule } from \"../\";\nimport { BreadcrumbItem } from \"../breadcrumb/breadcrumb-item.interface\";\n\nlet breadcrumbItems;\n\nconst createBreadcrumbItems = (count: number): Array<BreadcrumbItem> => {\n\tif (breadcrumbItems && count === breadcrumbItems.length) {\n\t\treturn breadcrumbItems;\n\t}\n\tbreadcrumbItems = Array(count).fill(0).map((x, i) => ({ content: \" Breadcrumb \" + (i + 1), href: \"#\" + (i + 1) }));\n\treturn breadcrumbItems;\n};\n\nstoriesOf(\"Breadcrumb\", module).addDecorator(withStorySource(__STORY__, __ADDS_MAP__))\n.addDecorator(\n\tmoduleMetadata({\n\t\timports: [\n\t\t\tBreadcrumbModule,\n\t\t\tDialogModule\n\t\t]\n\t})\n)\n.addDecorator(withKnobs)\n.add(\"Basic\", () => ({\n\ttemplate: `\n\t<ibm-breadcrumb [noTrailingSlash]=\"noTrailingSlash\">\n\t\t<ibm-breadcrumb-item href=\"#1\">\n\t\t\tBreadcrumb 1\n\t\t</ibm-breadcrumb-item>\n\t\t<ibm-breadcrumb-item href=\"#2\">\n\t\t\tBreadcrumb 2\n\t\t</ibm-breadcrumb-item>\n\t\t<ibm-breadcrumb-item href=\"#3\">\n\t\t\tBreadcrumb 3\n\t\t</ibm-breadcrumb-item>\n\t\t<ibm-breadcrumb-item href=\"#4\">\n\t\t\tBreadcrumb 4\n\t\t</ibm-breadcrumb-item>\n\t</ibm-breadcrumb>`,\n\tprops: {\n\t\tnoTrailingSlash: boolean(\"noTrailingSlash\", true)\n\t}\n}))\n.add(\"Model\", () => ({\n\ttemplate: `\n\t<ibm-breadcrumb\n\t\t[noTrailingSlash]=\"noTrailingSlash\"\n\t\t[threshold]=\"threshold\"\n\t\t[items]=\"items(itemCount)\">\n\t</ibm-breadcrumb>`,\n\tprops: {\n\t\tnoTrailingSlash: boolean(\"noTrailingSlash\", true),\n\t\titemCount: number(\"itemCount\", 10),\n\t\tthreshold: number(\"threshold\", 4),\n\t\titems: createBreadcrumbItems\n\t}\n}))\n.add(\"Skeleton\", () => ({\n\ttemplate: `\n\t<ibm-breadcrumb skeleton=\"true\" [noTrailingSlash]=\"noTrailingSlash\">\n\t\t<ibm-breadcrumb-item></ibm-breadcrumb-item>\n\t\t<ibm-breadcrumb-item></ibm-breadcrumb-item>\n\t\t<ibm-breadcrumb-item></ibm-breadcrumb-item>\n\t\t<ibm-breadcrumb-item></ibm-breadcrumb-item>\n\t</ibm-breadcrumb>`,\n\tprops: {\n\t\tnoTrailingSlash: boolean(\"noTrailingSlash\", true)\n\t}\n}));\n\n ","import {\n\tDirective,\n\tHostBinding,\n\tInput,\n\tOnInit\n} from \"@angular/core\";\n\n/**\n * A convinence directive for applying styling to a button.\n *\n * Example:\n *\n * ```html\n * <button ibmButton>A button</button>\n * <button ibmButton=\"secondary\">A secondary button</button>\n * ```\n *\n * See the [vanilla carbon docs](http://www.carbondesignsystem.com/components/button/code) for more detail.\n */\n@Directive({\n\tselector: \"[ibmButton]\"\n})\nexport class Button implements OnInit {\n\t/**\n\t * sets the button type\n\t */\n\t@Input() ibmButton: \"primary\" | \"secondary\" | \"tertiary\" | \"ghost\" | \"danger\" | \"danger--primary\" | \"toolbar-action\" = \"primary\";\n\t/**\n\t * Specify the size of the button\n\t */\n\t@Input() size: \"normal\" | \"sm\" = \"normal\";\n\t// a whole lot of HostBindings ... this way we don't have to touch the elementRef directly\n\t@HostBinding(\"class.bx--btn\") get baseClass() {\n\t\treturn !this.toolbarAction;\n\t}\n\t@HostBinding(\"class.bx--btn--primary\") primary = true;\n\t@HostBinding(\"class.bx--btn--secondary\") secondary = false;\n\t@HostBinding(\"class.bx--btn--tertiary\") tertiary = false;\n\t@HostBinding(\"class.bx--btn--ghost\") ghost = false;\n\t@HostBinding(\"class.bx--btn--danger\") danger = false;\n\t@HostBinding(\"class.bx--btn--danger--primary\") dangerPrimary = false;\n\t@HostBinding(\"class.bx--skeleton\") @Input() skeleton = false;\n\t@HostBinding(\"class.bx--btn--sm\") smallSize = false;\n\t@HostBinding(\"class.bx--toolbar-action\") toolbarAction = false;\n\n\tngOnInit() {\n\t\tif (this.size === \"sm\") {\n\t\t\tthis.smallSize = true;\n\t\t}\n\t\tthis.primary = false;\n\t\tswitch (this.ibmButton) {\n\t\t\tcase \"primary\": this.primary = true; break;\n\t\t\tcase \"secondary\": this.secondary = true; break;\n\t\t\tcase \"tertiary\": this.tertiary = true; break;\n\t\t\tcase \"ghost\": this.ghost = true; break;\n\t\t\tcase \"danger\": this.danger = true; break;\n\t\t\tcase \"danger--primary\": this.dangerPrimary = true; break;\n\t\t\tcase \"toolbar-action\": this.toolbarAction = true; break;\n\t\t\tdefault: this.primary = true; break;\n\t\t}\n\t}\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nimport { Button } from \"./button.directive\";\n\nexport { Button } from \"./button.directive\";\n\n@NgModule({\n\tdeclarations: [Button],\n\texports: [Button],\n\timports: [CommonModule]\n})\nexport class ButtonModule { }\n","\n export var withStorySource = require('@storybook/addon-storysource').withStorySource;\n export var __STORY__ = \"import { storiesOf, moduleMetadata } from '@storybook/angular';\\nimport { action } from '@storybook/addon-actions';\\nimport { withKnobs, select } from '@storybook/addon-knobs/angular';\\n\\nimport { ButtonModule } from '../';\\n\\nstoriesOf('Button', module)\\n .addDecorator(\\n moduleMetadata({\\n imports: [ButtonModule],\\n })\\n )\\n .addDecorator(withKnobs)\\n .add('Basic', () => ({\\n template: `\\n\\t\\t\\t<button [ibmButton]=\\\"ibmButton\\\" [size]=\\\"size\\\">Button</button>\\n\\t\\t\\t&nbsp;\\n\\t\\t\\t<button [ibmButton]=\\\"ibmButton\\\" [size]=\\\"size\\\" disabled=\\\"true\\\">Button</button>\\n\\t\\t\\t&nbsp;\\n\\t\\t\\t<button [ibmButton]=\\\"ibmButton\\\" [size]=\\\"size\\\">\\n\\t\\t\\t\\tWith icon\\n\\t\\t\\t\\t<svg class=\\\"bx--btn__icon\\\" width=\\\"16\\\" height=\\\"16\\\" viewBox=\\\"0 0 16 16\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\">\\n\\t\\t\\t\\t\\t<path d=\\\"M7 7H4v2h3v3h2V9h3V7H9V4H7v3zm1 9A8 8 0 1 1 8 0a8 8 0 0 1 0 16z\\\" fill-rule=\\\"evenodd\\\" />\\n\\t\\t\\t\\t</svg>\\n\\t\\t\\t</button>\\n\\t\\t`,\\n props: {\\n ibmButton: select(\\n 'Button kind',\\n ['primary', 'secondary', 'tertiary', 'ghost', 'danger', 'danger--primary'],\\n 'primary'\\n ),\\n size: select('Size of the buttons', ['normal', 'sm'], 'normal'),\\n },\\n }))\\n .add('Skeleton', () => ({\\n template: `\\n\\t\\t\\t<button ibmButton skeleton=\\\"true\\\"></button>\\n\\t\\t\\t&nbsp;\\n\\t\\t\\t<button ibmButton skeleton=\\\"true\\\" size=\\\"sm\\\"></button>\\n\\t\\t`,\\n }));\\n\";\n export var __ADDS_MAP__ = {\"button--skeleton\":{\"startLoc\":{\"col\":7,\"line\":36},\"endLoc\":{\"col\":4,\"line\":42}},\"button--basic\":{\"startLoc\":{\"col\":7,\"line\":14},\"endLoc\":{\"col\":4,\"line\":35}}};\n \n import { storiesOf, moduleMetadata } from \"@storybook/angular\";\nimport { action } from \"@storybook/addon-actions\";\nimport { withKnobs, select } from \"@storybook/addon-knobs/angular\";\n\nimport { ButtonModule } from \"../\";\n\nstoriesOf(\"Button\", module).addDecorator(withStorySource(__STORY__, __ADDS_MAP__))\n\t.addDecorator(\n\t\tmoduleMetadata({\n\t\t\timports: [ButtonModule]\n\t\t})\n\t)\n\t.addDecorator(withKnobs)\n\t.add(\"Basic\", () => ({\n\t\ttemplate: `\n\t\t\t<button [ibmButton]=\"ibmButton\" [size]=\"size\">Button</button>\n\t\t\t&nbsp;\n\t\t\t<button [ibmButton]=\"ibmButton\" [size]=\"size\" disabled=\"true\">Button</button>\n\t\t\t&nbsp;\n\t\t\t<button [ibmButton]=\"ibmButton\" [size]=\"size\">\n\t\t\t\tWith icon\n\t\t\t\t<svg class=\"bx--btn__icon\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\">\n\t\t\t\t\t<path d=\"M7 7H4v2h3v3h2V9h3V7H9V4H7v3zm1 9A8 8 0 1 1 8 0a8 8 0 0 1 0 16z\" fill-rule=\"evenodd\" />\n\t\t\t\t</svg>\n\t\t\t</button>\n\t\t`,\n\t\tprops: {\n\t\t\tibmButton: select(\"Button kind\", [\"primary\", \"secondary\", \"tertiary\", \"ghost\", \"danger\", \"danger--primary\"], \"primary\"),\n\t\t\tsize: select(\"Size of the buttons\", [\"normal\", \"sm\"], \"normal\")\n\t\t}\n\t}))\n\t.add(\"Skeleton\", () => ({\n\t\ttemplate: `\n\t\t\t<button ibmButton skeleton=\"true\"></button>\n\t\t\t&nbsp;\n\t\t\t<button ibmButton skeleton=\"true\" size=\"sm\"></button>\n\t\t`\n\t}));\n\n ","import {\n\tAfterViewInit,\n\tChangeDetectionStrategy,\n\tChangeDetectorRef,\n\tComponent,\n\tElementRef,\n\tEventEmitter,\n\tInput,\n\tOutput,\n\tViewChild,\n\tHostBinding\n} from \"@angular/core\";\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor } from \"@angular/forms\";\n\n\n/**\n * Defines the set of states for a checkbox component.\n * @export\n * @enum {number}\n */\nexport enum CheckboxState {\n\tInit,\n\tIndeterminate,\n\tChecked,\n\tUnchecked\n}\n\n/**\n * Used to emit changes performed on checkbox components.\n * @export\n * @class CheckboxChange\n */\nexport class CheckboxChange {\n\t/**\n\t * Contains the `Checkbox` that has been changed.\n\t * @type {Checkbox}\n\t * @memberof CheckboxChange\n\t */\n\tsource: Checkbox;\n\t/**\n\t * The state of the `Checkbox` encompassed in the `CheckboxChange` class.\n\t * @type {boolean}\n\t * @memberof CheckboxChange\n\t */\n\tchecked: boolean;\n}\n\n/**\n * @export\n * @class Checkbox\n * @implements {ControlValueAccessor}\n * @implements {AfterViewInit}\n */\n@Component({\n\tselector: \"ibm-checkbox\",\n\ttemplate: `\n\t\t<input\n\t\t\t#inputCheckbox\n\t\t\tclass=\"bx--checkbox\"\n\t\t\ttype=\"checkbox\"\n\t\t\t[id]=\"id\"\n\t\t\t[value]=\"value\"\n\t\t\t[name]=\"name\"\n\t\t\t[required]=\"required\"\n\t\t\t[checked]=\"checked\"\n\t\t\t[disabled]=\"disabled\"\n\t\t\t[indeterminate]=\"indeterminate\"\n\t\t\t[attr.aria-label]=\"ariaLabel\"\n\t\t\t[attr.aria-labelledby]=\"ariaLabelledby\"\n\t\t\t[attr.aria-checked]=\"(indeterminate ? 'mixed' : checked)\"\n\t\t\t(change)=\"onChange($event)\"\n\t\t\t(click)=\"onClick($event)\">\n\t\t<label\n\t\t\t[for]=\"id\"\n\t\t\tclass=\"bx--checkbox-label\"\n\t\t\t[ngClass]=\"{\n\t\t\t\t'bx--skeleton' : skeleton\n\t\t\t}\">\n\t\t\t<ng-content></ng-content>\n\t\t</label>\n\t`,\n\tproviders: [\n\t\t{\n\t\t\tprovide: NG_VALUE_ACCESSOR,\n\t\t\tuseExisting: Checkbox,\n\t\t\tmulti: true\n\t\t}\n\t],\n\tchangeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class Checkbox implements ControlValueAccessor, AfterViewInit {\n\t/**\n\t * Variable used for creating unique ids for checkbox components.\n\t */\n\tstatic checkboxCount = 0;\n\n\t/**\n\t * Size of the checkbox.\n\t */\n\t@Input() size: \"sm\" | \"md\" = \"md\";\n\t/**\n\t * Set to `true` for checkbox to be rendered with nested styles.\n\t */\n\t@Input() nested: boolean;\n\t/**\n\t * Set to `true` for checkbox to be rendered without any classes on the host element.\n\t */\n\t@Input() inline = false;\n\t/**\n\t * Set to `true` for a disabled checkbox.\n\t */\n\t@Input() disabled = false;\n\t/**\n\t * Set to `true` for a loading checkbox.\n\t */\n\t@Input() skeleton = false;\n\t/**\n\t * Sets the name attribute on the `input` element.\n\t */\n\t@Input() name: string;\n\t/**\n\t * The unique id for the checkbox component.\n\t */\n\t@Input() id = `checkbox-${Checkbox.checkboxCount}`;\n\t/**\n\t * Reflects the required attribute of the `input` element.\n\t */\n\t@Input() required: boolean;\n\t/**\n\t * Sets the value attribute on the `input` element.\n\t */\n\t@Input() value: string;\n\t/**\n\t * Used to set the `aria-label` attribute on the input element.\n\t */\n\t// tslint:disable-next-line:no-input-rename\n\t@Input(\"aria-label\") ariaLabel = \"\";\n\t/**\n\t * Used to set the `aria-labelledby` attribute on the input element.\n\t */\n\t// tslint:disable-next-line:no-input-rename\n\t@Input(\"aria-labelledby\") ariaLabelledby: string;\n\t/**\n\t * Reflects whether the checkbox state is indeterminate.\n\t * @readonly\n\t */\n\tget indeterminate() {\n\t\treturn this._indeterminate;\n\t}\n\n\t/**\n\t * Set the checkbox's indeterminate state to match the parameter and transition the view to reflect the change.\n\t */\n\t@Input() set indeterminate(indeterminate: boolean) {\n\t\tlet changed = this._indeterminate !== indeterminate;\n\t\tthis._indeterminate = indeterminate;\n\n\t\tif (changed) {\n\t\t\tthis.transitionCheckboxState(CheckboxState.Indeterminate);\n\t\t} else {\n\t\t\tthis.transitionCheckboxState(this.checked ? CheckboxState.Checked : CheckboxState.Unchecked);\n\t\t}\n\n\t\tthis.indeterminateChange.emit(this._indeterminate);\n\t}\n\n\t/**\n\t * Returns value `true` if state is selected for the checkbox.\n\t * @readonly\n\t */\n\tget checked() {\n\t\treturn this._checked;\n\t}\n\n\t/**\n\t * Updating the state of a checkbox to match the state of the parameter passed in.\n\t */\n\t@Input() set checked (checked: boolean) {\n\t\tif (checked !== this.checked) {\n\t\t\tif (this._indeterminate) {\n\t\t\t\tPromise.resolve().then(() => {\n\t\t\t\t\tthis._indeterminate = false;\n\t\t\t\t\tthis.indeterminateChange.emit(this._indeterminate);\n\t\t\t\t});\n\t\t\t}\n\t\t\tthis._checked = checked;\n\t\t\tthis.changeDetectorRef.markForCheck();\n\t\t}\n\t}\n\n\t@HostBinding(\"class.bx--checkbox-wrapper\") get checkboxWrapperClass() {\n\t\treturn !this.inline;\n\t}\n\t@HostBinding(\"class.bx--form-item\") get formItemClass() {\n\t\treturn !this.inline;\n\t}\n\n\t/**\n\t * Emits event notifying other classes when a change in state occurs on a checkbox after a\n\t * click.\n\t */\n\t@Output() change = new EventEmitter<CheckboxChange>();\n\t/**\n\t * Emits event notifying other classes when a change in state occurs specifically\n\t * on an indeterminate checkbox.\n\t */\n\t@Output() indeterminateChange = new EventEmitter<boolean>();\n\n\t/**\n\t * Set to `true` if the input checkbox is selected (or checked).\n\t */\n\t_checked = false;\n\t/**\n\t * Set to `true` if the input checkbox is in state indeterminate.\n\t */\n\t_indeterminate = false;\n\n\tcurrentCheckboxState: CheckboxState = CheckboxState.Init;\n\n\t/**\n\t * Maintains a reference to the view DOM element of the `Checkbox`.\n\t */\n\t@ViewChild(\"inputCheckbox\") inputCheckbox: ElementRef;\n\n\t/**\n\t * Creates an instance of `Checkbox`.\n\t * @param {ChangeDetectorRef} changeDetectorRef\n\t * @memberof Checkbox\n\t */\n\tconstructor(protected changeDetectorRef: ChangeDetectorRef) {\n\t\tCheckbox.checkboxCount++;\n\t}\n\n\t/**\n\t * Toggle the selected state of the checkbox.\n\t * @memberof Checkbox\n\t */\n\tpublic toggle() {\n\t\tthis.checked = !this.checked;\n\t}\n\n\t// this is the initial value set to the component\n\tpublic writeValue(value: any) {\n\t\tthis.checked = !!value;\n\t}\n\n\t/**\n\t * Sets a method in order to propagate changes back to the form.\n\t * @param {any} fn\n\t * @memberof Checkbox\n\t */\n\tpublic registerOnChange(fn: any) {\n\t\tthis.propagateChange = fn;\n\t}\n\n\t/**\n\t * Registers a callback to be triggered when the control has been touched.\n\t * @param fn Callback to be triggered when the checkbox is touched.\n\t */\n\tpublic registerOnTouched(fn: any) {\n\t\tthis.onTouched = fn;\n\t}\n\n\t/**\n\t * Executes on the event of a change within `Checkbox` to block propagation.\n\t * @param {any} event\n\t * @memberof Checkbox\n\t */\n\tonChange(event) {\n\t\tevent.stopPropagation();\n\t}\n\n\t/**\n\t * Handles click events on the `Checkbox` and emits changes to other classes.\n\t * @param {any} event\n\t * @memberof Checkbox\n\t */\n\tonClick(event) {\n\t\tif (!this.disabled) {\n\t\t\tthis.toggle();\n\t\t\tthis.transitionCheckboxState(this._checked ? CheckboxState.Checked : CheckboxState.Unchecked);\n\t\t\tthis.emitChangeEvent();\n\t\t}\n\t}\n\n\n\t/**\n\t * Called when checkbox is blurred. Needed to properly implement `ControlValueAccessor`.\n\t * @memberof Checkbox\n\t */\n\tonTouched: () => any = () => {};\n\n\t/**\n\t * Handles changes between checkbox states.\n\t * @param {CheckboxState} newState\n\t * @returns {null}\n\t * @memberof Checkbox\n\t */\n\ttransitionCheckboxState(newState: CheckboxState) {\n\t\tlet oldState = this.currentCheckboxState;\n\n\t\t// Indeterminate has to be set always if it's transitioned to\n\t\t// checked has to be set before indeterminate or it overrides\n\t\t// indeterminate's dash\n\t\tif (newState === CheckboxState.Indeterminate) {\n\t\t\tthis.checked = false;\n\t\t\tthis.inputCheckbox.nativeElement.indeterminate = true;\n\t\t}\n\n\t\tif (oldState === newState) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.currentCheckboxState = newState;\n\t}\n\n\t/**\n\t * Creates instance of `CheckboxChange` used to propagate the change event.\n\t * @memberof Checkbox\n\t */\n\temitChangeEvent() {\n\t\tlet event = new CheckboxChange();\n\t\tevent.source = this;\n\t\tevent.checked = this.checked;\n\n\t\tthis.propagateChange(this.checked);\n\t\tthis.change.emit(event);\n\t}\n\n\t/**\n\t * Updates the checkbox if it is in the indeterminate state.\n\t * @memberof Checkbox\n\t */\n\tngAfterViewInit() {\n\t\tif (this.indeterminate) {\n\t\t\tthis.inputCheckbox.nativeElement.indeterminate = true;\n\t\t\tthis.checked = false;\n\t\t}\n\t}\n\n\t/**\n\t * Method set in `registerOnChange` to propagate changes back to the form.\n\t * @memberof Checkbox\n\t */\n\tpropagateChange = (_: any) => {};\n}\n","// modules\nimport { NgModule } from \"@angular/core\";\nimport { FormsModule } from \"@angular/forms\";\nimport { CommonModule } from \"@angular/common\";\n\n// imports\nimport { Checkbox } from \"./checkbox.component\";\n\n// exports\nexport { Checkbox } from \"./checkbox.component\";\n\n@NgModule({\n\tdeclarations: [\n\t\tCheckbox\n\t],\n\texports: [\n\t\tCheckbox\n\t],\n\timports: [\n\t\tCommonModule,\n\t\tFormsModule\n\t]\n})\nexport class CheckboxModule { }\n","\n export var withStorySource = require('@storybook/addon-storysource').withStorySource;\n export var __STORY__ = \"import { storiesOf, moduleMetadata } from '@storybook/angular';\\nimport { action } from '@storybook/addon-actions';\\nimport { withKnobs, boolean } from '@storybook/addon-knobs/angular';\\n\\nimport { CheckboxModule } from '../';\\n\\nstoriesOf('Checkbox', module)\\n .addDecorator(\\n moduleMetadata({\\n imports: [CheckboxModule],\\n })\\n )\\n .addDecorator(withKnobs)\\n .add('Basic', () => ({\\n template: `\\n\\t\\t<fieldset class=\\\"bx--fieldset\\\">\\n\\t\\t\\t<legend class=\\\"bx--label\\\">Checkbox</legend>\\n\\t\\t\\t<ibm-checkbox\\n\\t\\t\\t\\tchecked=\\\"true\\\"\\n\\t\\t\\t\\t(change)=\\\"onChange($event)\\\">\\n\\t\\t\\t\\tCheckbox\\n\\t\\t\\t</ibm-checkbox>\\n\\t\\t\\t<ibm-checkbox\\n\\t\\t\\t\\tindeterminate=\\\"true\\\"\\n\\t\\t\\t\\t(change)=\\\"onChange($event)\\\"\\n\\t\\t\\t\\t(indeterminateChange)=\\\"onIndeterminateChange($event)\\\">\\n\\t\\t\\t\\tIndeterminate checkbox\\n\\t\\t\\t</ibm-checkbox>\\n\\t\\t\\t<ibm-checkbox\\n\\t\\t\\t\\tdisabled=\\\"true\\\"\\n\\t\\t\\t\\t(change)=\\\"onChange($event)\\\"\\n\\t\\t\\t\\t(indeterminateChange)=\\\"onIndeterminateChange($event)\\\">\\n\\t\\t\\t\\tDisabled checkbox\\n\\t\\t\\t</ibm-checkbox>\\n\\t\\t</fieldset>\\n\\t`,\\n props: {\\n onChange: action('Change fired!'),\\n onIndeterminateChange: action('Indeterminate change fired!'),\\n },\\n }))\\n .add('Skeleton', () => ({\\n template: `<ibm-checkbox skeleton=\\\"true\\\"></ibm-checkbox>`,\\n }));\\n\";\n export var __ADDS_MAP__ = {\"checkbox--skeleton\":{\"startLoc\":{\"col\":7,\"line\":42},\"endLoc\":{\"col\":4,\"line\":44}},\"checkbox--basic\":{\"startLoc\":{\"col\":7,\"line\":14},\"endLoc\":{\"col\":4,\"line\":41}}};\n \n import { storiesOf, moduleMetadata } from \"@storybook/angular\";\nimport { action } from \"@storybook/addon-actions\";\nimport { withKnobs, boolean } from \"@storybook/addon-knobs/angular\";\n\nimport { CheckboxModule } from \"../\";\n\nstoriesOf(\"Checkbox\", module).addDecorator(withStorySource(__STORY__, __ADDS_MAP__)).addDecorator(\n\tmoduleMetadata({\n\t\timports: [CheckboxModule]\n\t})\n)\n\t.addDecorator(withKnobs)\n\t.add(\"Basic\", () => ({\n\t\ttemplate: `\n\t\t<fieldset class=\"bx--fieldset\">\n\t\t\t<legend class=\"bx--label\">Checkbox</legend>\n\t\t\t<ibm-checkbox\n\t\t\t\tchecked=\"true\"\n\t\t\t\t(change)=\"onChange($event)\">\n\t\t\t\tCheckbox\n\t\t\t</ibm-checkbox>\n\t\t\t<ibm-checkbox\n\t\t\t\tindeterminate=\"true\"\n\t\t\t\t(change)=\"onChange($event)\"\n\t\t\t\t(indeterminateChange)=\"onIndeterminateChange($event)\">\n\t\t\t\tIndeterminate checkbox\n\t\t\t</ibm-checkbox>\n\t\t\t<ibm-checkbox\n\t\t\t\tdisabled=\"true\"\n\t\t\t\t(change)=\"onChange($event)\"\n\t\t\t\t(indeterminateChange)=\"onIndeterminateChange($event)\">\n\t\t\t\tDisabled checkbox\n\t\t\t</ibm-checkbox>\n\t\t</fieldset>\n\t`,\n\t\tprops: {\n\t\t\tonChange: action(\"Change fired!\"),\n\t\t\tonIndeterminateChange: action(\"Indeterminate change fired!\")\n\t\t}\n\t}))\n\t.add(\"Skeleton\", () => ({\n\t\ttemplate: `<ibm-checkbox skeleton=\"true\"></ibm-checkbox>`\n}));\n\n ","import {\n\tComponent,\n\tInput,\n\tHostBinding,\n\tViewChild,\n\tHostListener\n} from \"@angular/core\";\n\nimport { I18n } from \"../i18n/i18n.module\";\n\nexport enum SnippetType {\n\tsingle = \"single\",\n\tmulti = \"multi\",\n\tinline = \"inline\"\n}\n\n/**\n * ```html\n * <ibm-code-snippet>Code</ibm-code-snippet>\n * ```\n * @export\n * @class CodeSnippet\n */\n@Component({\n\tselector: \"ibm-code-snippet\",\n\ttemplate: `\n\t\t<ng-container *ngIf=\"display === 'inline'; else notInline\">\n\t\t\t<ng-container *ngTemplateOutlet=\"codeTemplate\"></ng-container>\n\t\t\t<ng-container *ngTemplateOutlet=\"feedbackTemplate\"></ng-container>\n\t\t</ng-container>\n\n\t\t<ng-template #notInline>\n\t\t\t<div class=\"bx--snippet-container\" [attr.aria-label]=\"translations.CODE_SNIPPET_TEXT\">\n\t\t\t\t<ng-container *ngIf=\"skeleton\">\n\t\t\t\t\t<span *ngIf=\"display === 'single'; else multiSkeleton\"></span>\n\t\t\t\t\t<ng-template #multiSkeleton>\n\t\t\t\t\t\t<span></span>\n\t\t\t\t\t\t<span></span>\n\t\t\t\t\t\t<span></span>\n\t\t\t\t\t</ng-template>\n\t\t\t\t</ng-container>\n\t\t\t\t<pre *ngIf=\"!skeleton\"><ng-container *ngTemplateOutlet=\"codeTemplate\"></ng-container></pre>\n\t\t\t</div>\n\t\t\t<button\n\t\t\t\t*ngIf=\"!skeleton\"\n\t\t\t\tclass=\"bx--snippet-button\"\n\t\t\t\t[attr.aria-label]=\"translations.COPY_CODE\"\n\t\t\t\t(click)=\"onCopyButtonClicked()\"\n\t\t\t\ttabindex=\"0\">\n\t\t\t\t<ibm-icon-copy16 class=\"bx--snippet__icon\"></ibm-icon-copy16>\n\t\t\t\t<ng-container *ngTemplateOutlet=\"feedbackTemplate\"></ng-container>\n\t\t\t</button>\n\t\t\t<button\n\t\t\t\t*ngIf=\"display === 'multi' && shouldShowExpandButton\"\n\t\t\t\tclass=\"bx--btn bx--btn--ghost bx--btn--sm bx--snippet-btn--expand\"\n\t\t\t\t(click)=\"toggleSnippetExpansion()\"\n\t\t\t\ttype=\"button\">\n\t\t\t\t<span class=\"bx--snippet-btn--text\">{{expanded ? translations.SHOW_LESS : translations.SHOW_MORE}}</span>\n\t\t\t\t<ibm-icon-chevron-down16 class=\"bx--icon-chevron--down\" [ariaLabel]=\"translations.SHOW_MORE_ICON\"></ibm-icon-chevron-down16>\n\t\t\t</button>\n\t\t</ng-template>\n\n\t\t<ng-template #codeTemplate>\n\t\t\t<code #code><ng-content></ng-content></code>\n\t\t</ng-template>\n\n\t\t<ng-template #feedbackTemplate>\n\t\t\t<div\n\t\t\tclass=\"bx--btn--copy__feedback\"\n\t\t\t[ngClass]=\"{\n\t\t\t\t'bx--btn--copy__feedback--displayed': showFeedback\n\t\t\t}\"\n\t\t\t[attr.data-feedback]=\"feedbackText\">\n\t\t\t</div>\n\t\t</ng-template>\n\t`\n})\nexport class CodeSnippet {\n\t/**\n\t * Variable used for creating unique ids for code-snippet components.\n\t * @type {number}\n\t * @static\n\t * @memberof CodeSnippet\n\t */\n\tstatic codeSnippetCount = 0;\n\n\t/**\n\t * It can be `\"single\"`, `\"multi\"` or `\"inline\"`\n\t *\n\t * @type {SnippetType}\n\t * @memberof CodeSnippet\n\t */\n\t@Input() display: SnippetType = SnippetType.single;\n\t@Input() translations = this.i18n.get().CODE_SNIPPET;\n\n\t/**\n\t * Set to `\"light\"` to apply the light style on the code snippet.\n\t * @type {\"light\" | \"dark\"}\n\t * @memberof CodeSnippet\n\t */\n\t@Input() theme: \"light\" | \"dark\" = \"dark\";\n\n\t/**\n\t * Text displayed in the tooltip when user clicks button to copy code.\n\t *\n\t * @memberof CodeSnippet\n\t */\n\t@Input() feedbackText = this.translations.COPIED;\n\n\t/**\n\t * Time in miliseconds to keep the feedback tooltip displayed.\n\t *\n\t * @memberof CodeSnippet\n\t */\n\t@Input() feedbackTimeout = 2000;\n\n\t@HostBinding(\"class.bx--snippet--expand\") @Input() expanded = false;\n\t@HostBinding(\"class.bx--skeleton\") @Input() skeleton = false;\n\n\t@HostBinding(\"class.bx--snippet\") snippetClass = true;\n\t@HostBinding(\"class.bx--snippet--single\") get snippetSingleClass() {\n\t\treturn this.display === SnippetType.single;\n\t}\n\t@HostBinding(\"class.bx--snippet--multi\") get snippetMultiClass() {\n\t\treturn this.display === SnippetType.multi;\n\t}\n\t@HostBinding(\"class.bx--snippet--inline\") get snippetInlineClass() {\n\t\treturn this.display === SnippetType.inline;\n\t}\n\t@HostBinding(\"class.bx--snippet--light\") get snippetInlineLightClass() {\n\t\treturn this.display === SnippetType.inline && this.theme === \"light\";\n\t}\n\t@HostBinding(\"class.bx--btn--copy\") get btnCopyClass() {\n\t\treturn this.display === SnippetType.inline;\n\t}\n\n\t@HostBinding(\"style.display\") get displayStyle() {\n\t\treturn this.display !== SnippetType.inline ? \"block\" : null;\n\t}\n\t@HostBinding(\"attr.type\") get attrType() {\n\t\treturn this.display === SnippetType.inline ? \"button\" : null;\n\t}\n\n\t@ViewChild(\"code\") code;\n\n\tget shouldShowExpandButton() {\n\t\treturn this.code ? this.code.nativeElement.getBoundingClientRect().height > 255 : false;\n\t}\n\n\tshowFeedback = false;\n\n\t/**\n\t * Creates an instance of CodeSnippet.\n\t * @param {ChangeDetectorRef} changeDetectorRef\n\t * @param {ElementRef} elementRef\n\t * @param {Renderer2} renderer\n\t * @memberof CodeSnippet\n\t */\n\tconstructor(protected i18n: I18n) {\n\t\tCodeSnippet.codeSnippetCount++;\n\t}\n\n\ttoggleSnippetExpansion() {\n\t\tthis.expanded = !this.expanded;\n\t}\n\n\t/**\n\t * Copies the code from the `<code>` block to clipboard.\n\t *\n\t * @memberof CodeSnippet\n\t */\n\tcopyCode() {\n\t\t// create invisible, uneditable textarea with our code in it\n\t\tconst textarea = document.createElement(\"textarea\");\n\t\ttextarea.value = this.code.nativeElement.innerText || this.code.nativeElement.textContent;\n\t\ttextarea.setAttribute(\"readonly\", \"\");\n\t\ttextarea.style.position = \"absolute\";\n\t\ttextarea.style.right = \"-99999px\";\n\t\tdocument.body.appendChild(textarea);\n\n\t\t// save user selection\n\t\tconst selected = document.getSelection().rangeCount ? document.getSelection().getRangeAt(0) : null;\n\n\t\t// copy to clipboard\n\t\ttextarea.select();\n\t\tdocument.execCommand(\"copy\");\n\n\t\t// remove textarea\n\t\tdocument.body.removeChild(textarea);\n\n\t\t// restore user selection\n\t\tif (selected) {\n\t\t\tdocument.getSelection().removeAllRanges();\n\t\t\tdocument.getSelection().addRange(selected);\n\t\t}\n\t}\n\n\tonCopyButtonClicked() {\n\t\tthis.copyCode();\n\n\t\tthis.showFeedback = true;\n\n\t\tsetTimeout(() => {\n\t\t\tthis.showFeedback = false;\n\t\t}, this.feedbackTimeout);\n\t}\n\n\t/**\n\t * Inline code snippet acts as button and makes the whole component clickable.\n\t *\n\t * This handles clicks in that case.\n\t *\n\t * @returns\n\t * @memberof CodeSnippet\n\t */\n\t@HostListener(\"click\")\n\thostClick() {\n\t\tif (this.display !== SnippetType.inline) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.onCopyButtonClicked();\n\t}\n}\n","// modules\nimport { NgModule } from \"@angular/core\";\nimport { FormsModule } from \"@angular/forms\";\nimport { CommonModule } from \"@angular/common\";\nimport { Copy16Module } from \"@carbon/icons-angular/lib/copy/16\";\nimport { ChevronDown16Module } from \"@carbon/icons-angular/lib/chevron--down/16\";\n\nimport { I18nModule } from \"../i18n/i18n.module\";\n\n// imports\nimport { CodeSnippet } from \"./code-snippet.component\";\n\n// exports\nexport { CodeSnippet } from \"./code-snippet.component\";\n\n@NgModule({\n\tdeclarations: [\n\t\tCodeSnippet\n\t],\n\texports: [\n\t\tCodeSnippet\n\t],\n\timports: [\n\t\tCommonModule,\n\t\tFormsModule,\n\t\tI18nModule,\n\t\tCopy16Module,\n\t\tChevronDown16Module\n\t]\n})\nexport class CodeSnippetModule { }\n","\n export var withStorySource = require('@storybook/addon-storysource').withStorySource;\n export var __STORY__ = \"import { storiesOf, moduleMetadata } from '@storybook/angular';\\nimport { withKnobs, select } from '@storybook/addon-knobs/angular';\\n\\nimport { CodeSnippetModule } from '..';\\n\\nconst code = `import { storiesOf, moduleMetadata } from \\\"@storybook/angular\\\";\\nimport { withKnobs, boolean } from \\\"@storybook/addon-knobs/angular\\\";\\n\\nimport { CodeSnippetModule } from \\\"..\\\";\\n\\nstoriesOf(\\\"CodeSnippet\\\", module).addDecorator(\\n\\tmoduleMetadata({\\n\\t\\timports: [CodeSnippetModule]\\n\\t})\\n)\\n\\t.addDecorator(withKnobs)\\n\\t.add(\\\"Basic\\\", () => ({\\n\\t\\ttemplate: \\\\`<ibm-code-snippet>code</ibm-code-snippet>\\\\`,\\n\\t\\tprops: { // there's more\\n\\t\\t\\t// disabled: boolean(\\\"disabled\\\", false)\\n\\t\\t}\\n\\t}));`;\\n\\nconst lessCode = `import { storiesOf, moduleMetadata } from \\\"@storybook/angular\\\";\\nimport { withKnobs, boolean } from \\\"@storybook/addon-knobs/angular\\\";\\n\\nimport { CodeSnippetModule } from \\\"..\\\";\\n\\nstoriesOf(\\\"Code Snippet\\\", module).addDecorator(\\n\\tmoduleMetadata({\\n\\t\\timports: [CodeSnippetModule]\\n\\t})\\n) // that's it, no more after this line\\n`;\\n\\nconst inlineCode = '<inline code>';\\n\\nstoriesOf('CodeSnippet', module)\\n .addDecorator(\\n moduleMetadata({\\n imports: [CodeSnippetModule],\\n })\\n )\\n .addDecorator(withKnobs)\\n .add('Basic', () => ({\\n template: `<ibm-code-snippet display=\\\"single\\\">{{code}}</ibm-code-snippet>`,\\n props: {\\n code,\\n },\\n }))\\n .add('Multi', () => ({\\n template: `\\n\\t\\t\\t<h2>With a lot of code</h2>\\n\\t\\t\\t<ibm-code-snippet display=\\\"multi\\\">{{code}}</ibm-code-snippet>\\n\\n\\t\\t\\t<h2 style=\\\"margin-top: 60px\\\">With less code</h2>\\n\\t\\t\\t<ibm-code-snippet display=\\\"multi\\\">{{lessCode}}</ibm-code-snippet>\\n\\t\\t`,\\n props: {\\n code,\\n lessCode,\\n },\\n }))\\n .add('Inline', () => ({\\n template: `Here is some <ibm-code-snippet display=\\\"inline\\\" [theme]=\\\"theme\\\">{{inlineCode}}</ibm-code-snippet> for you.`,\\n props: {\\n inlineCode,\\n theme: select('Theme', ['dark', 'light'], 'dark'),\\n },\\n }))\\n .add('Skeleton', () => ({\\n template: `\\n\\t\\t\\t<div style=\\\"width: 800px\\\">\\n\\t\\t\\t\\t<ibm-code-snippet display=\\\"single\\\" skeleton=\\\"true\\\"></ibm-code-snippet>\\n\\t\\t\\t\\t<br>\\n\\t\\t\\t\\t<ibm-code-snippet display=\\\"multi\\\" skeleton=\\\"true\\\"></ibm-code-snippet>\\n\\t\\t\\t</div>\\n\\t\\t`,\\n }));\\n\";\n export var __ADDS_MAP__ = {\"codesnippet--skeleton\":{\"startLoc\":{\"col\":7,\"line\":71},\"endLoc\":{\"col\":4,\"line\":79}},\"codesnippet--inline\":{\"startLoc\":{\"col\":7,\"line\":64},\"endLoc\":{\"col\":4,\"line\":70}},\"codesnippet--multi\":{\"startLoc\":{\"col\":7,\"line\":51},\"endLoc\":{\"col\":4,\"line\":63}},\"codesnippet--basic\":{\"startLoc\":{\"col\":7,\"line\":45},\"endLoc\":{\"col\":4,\"line\":50}}};\n \n import { storiesOf, moduleMetadata } from \"@storybook/angular\";\nimport { withKnobs, select } from \"@storybook/addon-knobs/angular\";\n\nimport { CodeSnippetModule } from \"..\";\n\nconst code = `import { storiesOf, moduleMetadata } from \"@storybook/angular\";\nimport { withKnobs, boolean } from \"@storybook/addon-knobs/angular\";\n\nimport { CodeSnippetModule } from \"..\";\n\nstoriesOf(\"CodeSnippet\", module).addDecorator(\n\tmoduleMetadata({\n\t\timports: [CodeSnippetModule]\n\t})\n)\n\t.addDecorator(withKnobs)\n\t.add(\"Basic\", () => ({\n\t\ttemplate: \\`<ibm-code-snippet>code</ibm-code-snippet>\\`,\n\t\tprops: { // there's more\n\t\t\t// disabled: boolean(\"disabled\", false)\n\t\t}\n\t}));`;\n\nconst lessCode = `import { storiesOf, moduleMetadata } from \"@storybook/angular\";\nimport { withKnobs, boolean } from \"@storybook/addon-knobs/angular\";\n\nimport { CodeSnippetModule } from \"..\";\n\nstoriesOf(\"Code Snippet\", module).addDecorator(\n\tmoduleMetadata({\n\t\timports: [CodeSnippetModule]\n\t})\n) // that's it, no more after this line\n`;\n\nconst inlineCode = \"<inline code>\";\n\nstoriesOf(\"CodeSnippet\", module).addDecorator(withStorySource(__STORY__, __ADDS_MAP__)).addDecorator(\n\tmoduleMetadata({\n\t\timports: [CodeSnippetModule]\n\t})\n)\n\t.addDecorator(withKnobs)\n\t.add(\"Basic\", () => ({\n\t\ttemplate: `<ibm-code-snippet display=\"single\">{{code}}</ibm-code-snippet>`,\n\t\tprops: {\n\t\t\tcode\n\t\t}\n\t}))\n\t.add(\"Multi\", () => ({\n\t\ttemplate: `\n\t\t\t<h2>With a lot of code</h2>\n\t\t\t<ibm-code-snippet display=\"multi\">{{code}}</ibm-code-snippet>\n\n\t\t\t<h2 style=\"margin-top: 60px\">With less code</h2>\n\t\t\t<ibm-code-snippet display=\"multi\">{{lessCode}}</ibm-code-snippet>\n\t\t`,\n\t\tprops: {\n\t\t\tcode,\n\t\t\tlessCode\n\t\t}\n\t}))\n\t.add(\"Inline\", () => ({\n\t\ttemplate: `Here is some <ibm-code-snippet display=\"inline\" [theme]=\"theme\">{{inlineCode}}</ibm-code-snippet> for you.`,\n\t\tprops: {\n\t\t\tinlineCode,\n\t\t\ttheme: select(\"Theme\", [\"dark\", \"light\"], \"dark\")\n\t\t}\n\t}))\n\t.add(\"Skeleton\", () => ({\n\t\ttemplate: `\n\t\t\t<div style=\"width: 800px\">\n\t\t\t\t<ibm-code-snippet display=\"single\" skeleton=\"true\"></ibm-code-snippet>\n\t\t\t\t<br>\n\t\t\t\t<ibm-code-snippet display=\"multi\" skeleton=\"true\"></ibm-code-snippet>\n\t\t\t</div>\n\t\t`\n\t}));\n\n ","import {\n\tComponent,\n\tOnChanges,\n\tContentChild,\n\tInput,\n\tOutput,\n\tHostListener,\n\tElementRef,\n\tViewChild,\n\tEventEmitter,\n\tAfterViewInit,\n\tAfterContentInit,\n\tHostBinding,\n\tOnInit\n} from \"@angular/core\";\nimport { AbstractDropdownView } from \"./../dropdown/abstract-dropdown-view.class\";\nimport { ListItem } from \"./../dropdown/list-item.interface\";\nimport { NG_VALUE_ACCESSOR } from \"@angular/forms\";\nimport { filter } from \"rxjs/operators\";\n\n/**\n * ComboBoxes are similar to dropdowns, except a combobox provides an input field for users to search items and (optionally) add their own.\n * Multi-select comboboxes also provide \"pills\" of selected items.\n *\n * @export\n * @class ComboBox\n * @implements {OnChanges}\n * @implements {AfterViewInit}\n * @implements {AfterContentInit}\n */\n@Component({\n\tselector: \"ibm-combo-box\",\n\ttemplate: `\n\t\t<div\n\t\t\t[attr.aria-expanded]=\"open\"\n\t\t\trole=\"button\"\n\t\t\tclass=\"bx--list-box__field\"\n\t\t\ttabindex=\"0\"\n\t\t\ttype=\"button\"\n\t\t\taria-label=\"close menu\"\n\t\t\taria-haspopup=\"true\"\n\t\t\t(click)=\"toggleDropdown()\">\n\t\t\t<div\n\t\t\t\t*ngIf=\"type === 'multi' && pills.length > 0\"\n\t\t\t\t(click)=\"clearSelected()\"\n\t\t\t\trole=\"button\"\n\t\t\t\tclass=\"bx--list-box__selection bx--list-box__selection--multi\"\n\t\t\t\ttabindex=\"0\"\n\t\t\t\ttitle=\"Clear all selected items\">\n\t\t\t\t{{ pills.length }}\n\t\t\t\t<svg\n\t\t\t\t\tfocusable=\"false\"\n\t\t\t\t\tpreserveAspectRatio=\"xMidYMid meet\"\n\t\t\t\t\tstyle=\"will-change: transform;\"\n\t\t\t\t\trole=\"img\"\n\t\t\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\t\t\twidth=\"16\"\n\t\t\t\t\theight=\"16\"\n\t\t\t\t\tviewBox=\"0 0 16 16\"\n\t\t\t\t\taria-hidden=\"true\">\n\t\t\t\t\t<path d=\"M12 4.7l-.7-.7L8 7.3 4.7 4l-.7.7L7.3 8 4 11.3l.7.7L8 8.7l3.3 3.3.7-.7L8.7 8z\"></path>\n\t\t\t\t</svg>\n\t\t\t</div>\n\t\t\t<input\n\t\t\t\t[disabled]=\"disabled\"\n\t\t\t\t(keyup)=\"onSearch($event.target.value)\"\n\t\t\t\t[value]=\"selectedValue\"\n\t\t\t\tclass=\"bx--text-input\"\n\t\t\t\trole=\"combobox\"\n\t\t\t\taria-label=\"ListBox input field\"\n\t\t\t\tautocomplete=\"off\"\n\t\t\t\t[placeholder]=\"placeholder\"/>\n\t\t\t\t<ibm-icon-chevron-down16\n\t\t\t\t\t[ngClass]=\"{'bx--list-box__menu-icon--open': open}\"\n\t\t\t\t\tclass=\"bx--list-box__menu-icon\"\n\t\t\t\t\tariaLabel=\"Close menu\">\n\t\t\t\t</ibm-icon-chevron-down16>\n\t\t</div>\n\t\t<div\n\t\t\t#dropdownMenu\n\t\t\t*ngIf=\"open\">\n\t\t\t<ng-content></ng-content>\n\t\t</div>\n\t`,\n\tproviders: [\n\t\t{\n\t\t\tprovide: NG_VALUE_ACCESSOR,\n\t\t\tuseExisting: ComboBox,\n\t\t\tmulti: true\n\t\t}\n\t]\n})\nexport class ComboBox implements OnChanges, OnInit, AfterViewInit, AfterContentInit {\n\t/**\n\t * List of items to fill the content with.\n\t *\n\t * **Example:**\n\t * ```javascript\n\t * items = [\n\t *\t\t{\n\t *\t\t\tcontent: \"Abacus\",\n\t *\t\t\tselected: false\n\t *\t\t},\n\t *\t\t{\n\t *\t\t\tcontent: \"Byte\",\n\t *\t\t\tselected: false,\n\t *\t\t},\n\t *\t\t{\n\t *\t\t\tcontent: \"Computer\",\n\t *\t\t\tselected: false\n\t *\t\t},\n\t *\t\t{\n\t *\t\t\tcontent: \"Digital\",\n\t *\t\t\tselected: false\n\t *\t\t}\n\t * ];\n\t * ```\n\t *\n\t */\n\t@Input() items: Array<ListItem> = [];\n\t/**\n\t * Text to show when nothing is selected.\n\t */\n\t@Input() placeholder = \"Filter...\";\n\t/**\n\t * Combo box type (supporting single or multi selection of items).\n\t */\n\t@Input() type: \"single\" | \"multi\" = \"single\";\n\t/**\n\t * Combo box render size.\n\t */\n\t@Input() size: \"sm\" | \"md\" | \"lg\" = \"md\";\n\t/**\n\t * Set to `true` to disable combobox.\n\t */\n\t@HostBinding(\"attr.aria-disabled\") @Input() disabled = false;\n\t/**\n\t * Emits a ListItem\n\t *\n\t * Example:\n\t * ```javascript\n\t * {\n\t * \t\tcontent: \"one\",\n\t * \t\tselected: true\n\t * }\n\t * ```\n\t */\n\t@Output() selected = new EventEmitter<ListItem | ListItem[]>();\n\t/**\n\t * Intended to be used to add items to the list.\n\t *\n\t * Emits an event that includes the current item list, the suggested index for the new item, and a simple ListItem\n\t *\n\t * Example:\n\t * ```javascript\n\t *\t{\n\t *\t\titems: [{content: \"one\", selected: true}, {content: \"two\", selected: true}],\n\t *\t\tindex: 1,\n\t *\t\tvalue: {\n\t *\t\t\tcontent: \"some user string\",\n\t *\t\t\tselected: false\n\t *\t\t}\n\t *\t}\n\t * ```\n\t *\n\t *\n\t * Example:\n\t * ```javascript\n\t * {\n\t *\tafter: 1,\n\t *\tvalue: \"some user string\"\n\t * }\n\t * ```\n\t */\n\t@Output() submit: EventEmitter<any> = new EventEmitter<any>();\n\t/** emits an empty event when the menu is closed */\n\t@Output() close: EventEmitter<any> = new EventEmitter<any>();\n\t/** ContentChild reference to the instantiated dropdown list */\n\t@ContentChild(AbstractDropdownView) view: AbstractDropdownView;\n\t@ViewChild(\"dropdownMenu\") dropdownMenu;\n\t@HostBinding(\"class\") class = \"bx--combo-box bx--list-box\";\n\t@HostBinding(\"attr.role\") role = \"combobox\";\n\t@HostBinding(\"style.display\") display = \"block\";\n\n\tpublic open = false;\n\n\t/** Selected items for multi-select combo-boxes. */\n\tpublic pills = [];\n\t/** used to update the displayValue */\n\tpublic selectedValue = \"\";\n\n\tprotected noop = this._noop.bind(this);\n\tprotected onTouchedCallback: () => void = this._noop;\n\tprotected propagateChangeCallback: (_: any) => void = this._noop;\n\n\t/**\n\t * Creates an instance of ComboBox.\n\t */\n\tconstructor(protected elementRef: ElementRef) {}\n\n\t/**\n\t * Lifecycle hook.\n\t * Updates pills if necessary.\n\t *\n\t */\n\tngOnChanges(changes) {\n\t\tif (changes.items) {\n\t\t\tthis.view.items = changes.items.currentValue;\n\t\t\tthis.updateSelected();\n\t\t}\n\t}\n\n\tngOnInit() {\n\t\tif (this.type === \"multi\") {\n\t\t\tthis.class = \"bx--multi-select bx--combo-box bx--list-box\";\n\t\t}\n\t}\n\n\t/**\n\t * Sets initial state that depends on child components\n\t * Subscribes to select events and handles focus/filtering/initial list updates\n\t */\n\tngAfterContentInit() {\n\t\tif (this.view) {\n\t\t\tthis.view.type = this.type;\n\t\t\tthis.view.select.subscribe(event => {\n\t\t\t\tif (this.type === \"multi\") {\n\t\t\t\t\tthis.updatePills();\n\t\t\t\t\tthis.propagateChangeCallback(this.view.getSelected());\n\t\t\t\t} else {\n\t\t\t\t\tif (event.item && event.item.selected) {\n\t\t\t\t\t\tthis.selectedValue = event.item.content;\n\t\t\t\t\t\tthis.propagateChangeCallback(event.item);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.selectedValue = \"\";\n\t\t\t\t\t\tthis.propagateChangeCallback(null);\n\t\t\t\t\t}\n\t\t\t\t\t// not guarding these since the nativeElement has to be loaded\n\t\t\t\t\t// for select to even fire\n\t\t\t\t\tthis.elementRef.nativeElement.querySelector(\"input\").focus();\n\t\t\t\t\tthis.closeDropdown();\n\t\t\t\t}\n\t\t\t\tthis.selected.emit(event);\n\t\t\t\tthis.view.filterBy(\"\");\n\t\t\t});\n\t\t\tthis.view.items = this.items;\n\t\t\t// update the rest of combobox with any pre-selected items\n\t\t\t// setTimeout just defers the call to the next check cycle\n\t\t\tsetTimeout(() => {\n\t\t\t\tthis.updateSelected();\n\t\t\t});\n\n\t\t\tthis.view.blurIntent.pipe(filter(v => v === \"top\")).subscribe(() => {\n\t\t\t\tthis.elementRef.nativeElement.querySelector(\".bx--text-input\").focus();\n\t\t\t});\n\t\t}\n\t}\n\n\t/**\n\t * Binds event handlers against the rendered view\n\t */\n\tngAfterViewInit() {\n\t\tdocument.addEventListener(\"click\", ev => {\n\t\t\tif (!this.elementRef.nativeElement.contains(ev.target)) {\n\t\t\t\tif (this.open) {\n\t\t\t\t\tthis.closeDropdown();\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\t/**\n\t * Handles `Escape` key closing the dropdown, and arrow up/down focus to/from the dropdown list.\n\t */\n\t@HostListener(\"keydown\", [\"$event\"])\n\thostkeys(ev: KeyboardEvent) {\n\t\tif (ev.key === \"Escape\") {\n\t\t\tthis.closeDropdown();\n\t\t} else if ((ev.key === \"ArrowDown\" || ev.key === \"Down\") // `\"Down\"` is IE specific value\n\t\t\t&& (!this.dropdownMenu || !this.dropdownMenu.nativeElement.contains(ev.target))) {\n\t\t\tev.stopPropagation();\n\t\t\tthis.openDropdown();\n\t\t\tsetTimeout(() => this.view.getCurrentElement().focus(), 0);\n\t\t}\n\t}\n\n\t/*\n\t * no-op method for null event listeners, and other no op calls\n\t */\n\t_noop() {}\n\n\t/*\n\t * propagates the value provided from ngModel\n\t */\n\twriteValue(value: any) {\n\t\tif (value) {\n\t\t\tif (this.type === \"single\") {\n\t\t\t\tthis.view.propagateSelected([value]);\n\t\t\t} else {\n\t\t\t\tthis.view.propagateSelected(value);\n\t\t\t}\n\t\t}\n\t}\n\n\tonBlur() {\n\t\tthis.onTouchedCallback();\n\t}\n\n\tregisterOnChange(fn: any) {\n\t\tthis.propagateChangeCallback = fn;\n\t}\n\n\tregisterOnTouched(fn: any) {\n\t\tthis.onTouchedCallback = fn;\n\t}\n\n\t/**\n\t * Called by `n-pill-input` when the selected pills have changed.\n\t */\n\tpublic updatePills() {\n\t\tthis.pills = this.view.getSelected() || [];\n\t\tthis.propagateChangeCallback(this.view.getSelected());\n\t}\n\n\tpublic clearSelected() {\n\t\tthis.items = this.items.map(item => {\n\t\t\tif (!item.disabled) {\n\t\t\t\titem.selected = false;\n\t\t\t}\n\t\t\treturn item;\n\t\t});\n\t\tthis.view.items = this.items;\n\t\tthis.updatePills();\n\t\t// clearSelected can only fire on type=multi\n\t\t// so we just emit getSelected() (just in case there's any disabled but selected items)\n\t\tthis.selected.emit(this.view.getSelected() as any);\n\t}\n\n\t/**\n\t * Closes the dropdown and emits the close event.\n\t */\n\tpublic closeDropdown() {\n\t\tthis.open = false;\n\t\tthis.close.emit();\n\t}\n\n\t/**\n\t * Opens the dropdown.\n\t */\n\tpublic openDropdown() {\n\t\tthis.open = true;\n\t}\n\n\t/**\n\t * Toggles the dropdown.\n\t */\n\tpublic toggleDropdown() {\n\t\tif (this.open) {\n\t\t\tthis.closeDropdown();\n\t\t} else {\n\t\t\tthis.openDropdown();\n\t\t}\n\t}\n\n\t/**\n\t * Sets the list group filter, and manages single select item selection.\n\t */\n\tpublic onSearch(searchString) {\n\t\tthis.view.filterBy(searchString);\n\t\tif (searchString !== \"\") {\n\t\t\tthis.openDropdown();\n\t\t} else {\n\t\t\tthis.selectedValue = \"\";\n\t\t}\n\t\tif (this.type === \"single\") {\n\t\t\t// deselect if the input doesn't match the content\n\t\t\t// of any given item\n\t\t\tconst matches = this.view.getListItems().some(item => item.content.toLowerCase().includes(searchString.toLowerCase()));\n\t\t\tif (!matches) {\n\t\t\t\tconst selected = this.view.getSelected();\n\t\t\t\tif (selected) {\n\t\t\t\t\tselected[0].selected = false;\n\t\t\t\t\t// notify that the selection has changed\n\t\t\t\t\tthis.view.select.emit({ item: selected[0] });\n\t\t\t\t\tthis.propagateChangeCallback(null);\n\t\t\t\t} else {\n\t\t\t\t\tthis.view.filterBy(\"\");\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Bubbles from `n-pill-input` when the user types a value and presses enter. Intended to be used to add items to the list.\n\t *\n\t * @param {any} ev event from `n-pill-input`, includes the typed value and the index of the pill the user typed after\n\t *\n\t * Example:\n\t * ```javascript\n\t *\t{\n\t *\tafter: 1,\n\t *\tvalue: \"some user string\"\n\t *\t}\n\t * ```\n\t */\n\tpublic onSubmit(ev) {\n\t\tlet index = 0;\n\t\tif (ev.after) {\n\t\t\tindex = this.view.getListItems().indexOf(ev.after) + 1;\n\t\t}\n\t\tthis.submit.emit({\n\t\t\titems: this.view.getListItems(),\n\t\t\tindex,\n\t\t\tvalue: {\n\t\t\t\tcontent: ev.value,\n\t\t\t\tselected: false\n\t\t\t}\n\t\t});\n\t}\n\n\tprotected updateSelected() {\n\t\tconst selected = this.view.getSelected();\n\t\tif (selected) {\n\t\t\tif (this.type === \"multi\") {\n\t\t\t\tthis.updatePills();\n\t\t\t} else {\n\t\t\t\tthis.selectedValue = selected[0].content;\n\t\t\t\tthis.propagateChangeCallback(selected[0]);\n\t\t\t}\n\t\t}\n\t}\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { ChevronDown16Module } from \"@carbon/icons-angular/lib/chevron--down/16\";\nimport { Close16Module } from \"@carbon/icons-angular/lib/close/16\";\n\nimport { ComboBox } from \"./combobox.component\";\nimport { DropdownModule } from \"../dropdown/dropdown.module\";\n\nexport { ComboBox } from \"./combobox.component\";\n\n\n@NgModule({\n\tdeclarations: [\n\t\tComboBox\n\t],\n\texports: [\n\t\tComboBox,\n\t\tDropdownModule\n\t],\n\timports: [\n\t\tCommonModule,\n\t\tDropdownModule,\n\t\tChevronDown16Module,\n\t\tClose16Module\n\t]\n})\nexport class ComboBoxModule {}\n","\n export var withStorySource = require('@storybook/addon-storysource').withStorySource;\n export var __STORY__ = \"import { storiesOf, moduleMetadata } from '@storybook/angular';\\nimport { action } from '@storybook/addon-actions';\\nimport { withKnobs, boolean, object } from '@storybook/addon-knobs/angular';\\n\\nimport { ComboBoxModule } from '../';\\n\\nstoriesOf('Combobox', module)\\n .addDecorator(\\n moduleMetadata({\\n imports: [ComboBoxModule],\\n })\\n )\\n .addDecorator(withKnobs)\\n .add('Basic', () => ({\\n template: `\\n\\t\\t\\t<ibm-combo-box [items]=\\\"items\\\" (selected)=\\\"selected($event)\\\">\\n\\t\\t\\t\\t<ibm-dropdown-list></ibm-dropdown-list>\\n\\t\\t\\t</ibm-combo-box>\\n\\t\\t`,\\n props: {\\n items: [\\n {\\n content: 'one',\\n },\\n {\\n content: 'two',\\n },\\n {\\n content: 'three',\\n },\\n {\\n content: 'four',\\n },\\n ],\\n selected: action('selection changed'),\\n },\\n }))\\n .add('Multi-select', () => ({\\n template: `\\n\\t\\t\\t<ibm-combo-box [items]=\\\"items\\\" type=\\\"multi\\\" (selected)=\\\"selected($event)\\\">\\n\\t\\t\\t\\t<ibm-dropdown-list></ibm-dropdown-list>\\n\\t\\t\\t</ibm-combo-box>\\n\\t\\t`,\\n props: {\\n items: [\\n {\\n content: 'one',\\n },\\n {\\n content: 'two',\\n },\\n {\\n content: 'three',\\n },\\n {\\n content: 'four',\\n },\\n ],\\n selected: action('selection changed'),\\n },\\n }));\\n\";\n export var __ADDS_MAP__ = {\"combobox--multi-select\":{\"startLoc\":{\"col\":7,\"line\":38},\"endLoc\":{\"col\":4,\"line\":61}},\"combobox--basic\":{\"startLoc\":{\"col\":7,\"line\":14},\"endLoc\":{\"col\":4,\"line\":37}}};\n \n import { storiesOf, moduleMetadata } from \"@storybook/angular\";\nimport { action } from \"@storybook/addon-actions\";\nimport { withKnobs, boolean, object } from \"@storybook/addon-knobs/angular\";\n\nimport { ComboBoxModule } from \"../\";\n\nstoriesOf(\"Combobox\", module).addDecorator(withStorySource(__STORY__, __ADDS_MAP__))\n\t.addDecorator(\n\t\tmoduleMetadata({\n\t\t\timports: [\n\t\t\t\tComboBoxModule\n\t\t\t]\n\t\t})\n\t)\n\t.addDecorator(withKnobs)\n\t.add(\"Basic\", () => ({\n\t\ttemplate: `\n\t\t\t<ibm-combo-box [items]=\"items\" (selected)=\"selected($event)\">\n\t\t\t\t<ibm-dropdown-list></ibm-dropdown-list>\n\t\t\t</ibm-combo-box>\n\t\t`,\n\t\tprops: {\n\t\t\titems: [\n\t\t\t\t{\n\t\t\t\t\tcontent: \"one\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: \"two\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: \"three\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: \"four\"\n\t\t\t\t}\n\t\t\t],\n\t\t\tselected: action(\"selection changed\")\n\t\t}\n\t}))\n\t.add(\"Multi-select\", () => ({\n\t\ttemplate: `\n\t\t\t<ibm-combo-box [items]=\"items\" type=\"multi\" (selected)=\"selected($event)\">\n\t\t\t\t<ibm-dropdown-list></ibm-dropdown-list>\n\t\t\t</ibm-combo-box>\n\t\t`,\n\t\tprops: {\n\t\t\titems: [\n\t\t\t\t{\n\t\t\t\t\tcontent: \"one\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: \"two\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: \"three\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: \"four\"\n\t\t\t\t}\n\t\t\t],\n\t\t\tselected: action(\"selection changed\")\n\t\t}\n\t}));\n\n ","export let tabbableSelector = \"a[href], area[href], input:not([disabled]):not([tabindex=\\'-1\\']), \" +\n\t\t\"button:not([disabled]):not([tabindex=\\'-1\\']),select:not([disabled]):not([tabindex=\\'-1\\']), \" +\n\t\t\"textarea:not([disabled]):not([tabindex=\\'-1\\']), \" +\n\t\t\"iframe, object, embed, *[tabindex]:not([tabindex=\\'-1\\']), *[contenteditable=true]\";\n\nexport let tabbableSelectorIgnoreTabIndex = \"a[href], area[href], input:not([disabled]), \" +\n\t\t\"button:not([disabled]),select:not([disabled]), \" +\n\t\t\"textarea:not([disabled]), \" +\n\t\t\"iframe, object, embed, *[tabindex], *[contenteditable=true]\";\n\nexport function getFocusElementList(element, selector = tabbableSelector) {\n\tlet elements = element.querySelectorAll(selector);\n\treturn elements ? Array.prototype.filter.call(elements, el => isVisible(el)) : elements;\n}\n\nexport function isFocusInFirstItem(event, list) {\n\tif (list.length > 0) {\n\t\treturn (event.target || event.srcElement) === list[0];\n\t}\n\treturn false;\n}\n\nexport function isFocusInLastItem(event, list) {\n\tif (list.length > 0) {\n\t\treturn (event.target || event.srcElement) === list[list.length - 1];\n\t}\n\treturn false;\n}\n\nexport function isElementFocused(event, element) {\n\treturn (event.target || event.srcElement) === element;\n}\n\nexport function focusFirstFocusableElement(list) {\n\tif (list.length > 0) {\n\t\tlist[0].focus();\n\t\treturn true;\n\t}\n\treturn false;\n}\n\nexport function focusLastFocusableElement(list) {\n\tif (list.length > 0) {\n\t\tlist[list.length - 1].focus();\n\t\treturn true;\n\t}\n\treturn false;\n}\n\nexport function isVisible(element) {\n\treturn !!(element.offsetWidth || element.offsetHeight || element.getClientRects().length);\n}\n\nexport function cycleTabs(event, element) {\n\tif (event.key === \"Tab\") {\n\t\tlet list = getFocusElementList(element);\n\t\tlet focusChanged = false;\n\n\t\tif (event.shiftKey) {\n\t\t\tif (isFocusInFirstItem(event, list) || isElementFocused(event, element)) {\n\t\t\t\tfocusChanged = focusLastFocusableElement(list);\n\t\t\t}\n\t\t} else {\n\t\t\tif (isFocusInLastItem(event, list)) {\n\t\t\t\tfocusChanged = focusFirstFocusableElement(list);\n\t\t\t}\n\t\t}\n\n\t\tif (focusChanged) {\n\t\t\tevent.preventDefault();\n\t\t\tevent.stopPropagation();\n\t\t}\n\t}\n}\n","export * from \"./../utils/window-tools\";\n\n/**\n * Does what python's `range` function does, with a slightly different\n * signature because of Typescript limitations.\n *\n * Useful for numbered loops in angular templates, since we can do\n * a normal for loop.\n *\n * @export\n * @param {number} stop Generate numbers up to, but not including this number\n * @param {number} [start=0] Starting number of the sequence\n * @param {number} [step=1] Difference between each number in the sequence\n * @returns and array with resulting numbers\n */\nexport function range(stop: number, start = 0, step = 1) {\n\treturn Array(Math.ceil((stop - start) / step)).fill(0).map((x, i) => i * step + start);\n}\n","import {\n\tDirective,\n\tHostBinding,\n\tInput,\n\tHostListener,\n\tOutput,\n\tEventEmitter\n} from \"@angular/core\";\n\n@Directive({\n\tselector: \"[ibmContentOption]\"\n})\nexport class ContentSwitcherOption {\n\t/**\n\t * Used to activate the option. Only one option may be `active` at a time\n\t */\n\t@Input() set active (value: boolean) {\n\t\tthis._active = value;\n\t\tthis.selectedClass = value;\n\t\tthis.ariaSelected = value;\n\t\tthis.tabindex = value ? \"0\" : \"-1\";\n\t}\n\n\tget active() {\n\t\treturn this._active;\n\t}\n\n\t/**\n\t * Internal name for the option.\n\t * Should be something that identifies the option to the application.\n\t * Accessible from the `ContentSwitcher` `selected` emitter\n\t */\n\t@Input() name = \"option\";\n\n\t/**\n\t * Emits when the option is selected.\n\t */\n\t@Output() selected = new EventEmitter();\n\n\t@HostBinding(\"class\") switcherClass = \"bx--content-switcher-btn\";\n\t@HostBinding(\"class.bx--content-switcher--selected\") selectedClass = false;\n\t@HostBinding(\"attr.role\") role = \"tab\";\n\t@HostBinding(\"attr.aria-selected\") ariaSelected = false;\n\t@HostBinding(\"attr.tabIndex\") tabindex = \"-1\";\n\n\tprotected _active = false;\n\n\t@HostListener(\"click\")\n\thostClick() {\n\t\tthis.active = true;\n\t\tthis.selected.emit(true);\n\t}\n\n\t@HostListener(\"focus\")\n\tonFocus() {\n\t\tthis.active = true;\n\t}\n\n\t@HostListener(\"blur\", [\"$event\"])\n\tonBlur(event) {\n\t\tif (event.relatedTarget && event.relatedTarget.classList.contains(\"bx--content-switcher-btn\")) {\n\t\t\tthis.active = false;\n\t\t}\n\t}\n}\n","import {\n\tComponent,\n\tInput,\n\tContentChildren,\n\tQueryList,\n\tOutput,\n\tEventEmitter,\n\tAfterViewInit,\n\tHostListener,\n\tElementRef\n} from \"@angular/core\";\nimport { ContentSwitcherOption } from \"./content-switcher-option.directive\";\nimport { isFocusInLastItem, isFocusInFirstItem } from \"./../common/tab.service\";\n\n/**\n * The content switcher can be used for toggling between distinct options.\n * Similar to tabs, but without an associated content panel\n *\n * ```html\n * <ibm-content-switcher (selected)=\"selected($event)\">\n *\t\t<button ibmContentOption>First section</button>\n *\t\t<button ibmContentOption>Second section</button>\n *\t\t<button ibmContentOption>Third section</button>\n *\t</ibm-content-switcher>\n *\t```\n */\n@Component({\n\tselector: \"ibm-content-switcher\",\n\ttemplate: `\n\t\t<div\n\t\t\t[attr.aria-label]=\"label\"\n\t\t\tclass=\"bx--content-switcher\"\n\t\t\trole=\"tablist\">\n\t\t\t<ng-content></ng-content>\n\t\t</div>\n\t`\n})\nexport class ContentSwitcher implements AfterViewInit {\n\t/**\n\t * aria-label for the content switcher. Should be set to something descriptive\n\t */\n\t@Input() label = \"content switcher\";\n\n\t/**\n\t * Emits the activated `ContentSwitcherOption`\n\t */\n\t@Output() selected = new EventEmitter();\n\n\t@ContentChildren(ContentSwitcherOption) options: QueryList<ContentSwitcherOption>;\n\n\tconstructor(protected elementRef: ElementRef) {}\n\n\tngAfterViewInit() {\n\t\tconst firstActive = this.options.find(option => option.active);\n\t\t// delay setting active until the DOM has settled\n\t\tif (!firstActive) {\n\t\t\tsetTimeout(() => this.options.first.active = true);\n\t\t}\n\t\t// subscribe to each item, emit when one is selected, and reset the active states\n\t\tthis.options.forEach(option => {\n\t\t\toption.selected.subscribe(_ => {\n\t\t\t\tconst active = option;\n\t\t\t\tthis.options.forEach(option => {\n\t\t\t\t\tif (option !== active) {\n\t\t\t\t\t\toption.active = false;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tthis.selected.emit(active);\n\t\t\t});\n\t\t});\n\t}\n\n\t@HostListener(\"keydown\", [\"$event\"])\n\thostkeys(event: KeyboardEvent) {\n\t\tconst buttonList = Array.from<any>(this.elementRef.nativeElement.querySelectorAll(\"[ibmContentOption]\"));\n\n\t\tswitch (event.key) {\n\t\t\tcase \"Right\": // IE specific value\n\t\t\tcase \"ArrowRight\":\n\t\t\t\tevent.preventDefault();\n\t\t\t\tif (!isFocusInLastItem(event, buttonList)) {\n\t\t\t\t\tconst index = buttonList.findIndex(item => item === event.target);\n\t\t\t\t\tbuttonList[index + 1].focus();\n\t\t\t\t} else {\n\t\t\t\t\tbuttonList[0].focus();\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase \"Left\": // IE specific value\n\t\t\tcase \"ArrowLeft\":\n\t\t\t\tevent.preventDefault();\n\t\t\t\tif (!isFocusInFirstItem(event, buttonList)) {\n\t\t\t\t\tconst index = buttonList.findIndex(item => item === event.target);\n\t\t\t\t\tbuttonList[index - 1].focus();\n\t\t\t\t} else {\n\t\t\t\t\tbuttonList[buttonList.length - 1].focus();\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase \"Home\":\n\t\t\t\tevent.preventDefault();\n\t\t\t\tbuttonList[0].focus();\n\t\t\t\tbreak;\n\n\t\t\tcase \"End\":\n\t\t\t\tevent.preventDefault();\n\t\t\t\tbuttonList[buttonList.length - 1].focus();\n\t\t\t\tbreak;\n\t\t}\n\t}\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nimport { ContentSwitcher } from \"./content-switcher.component\";\nimport { ContentSwitcherOption } from \"./content-switcher-option.directive\";\n\nexport { ContentSwitcher } from \"./content-switcher.component\";\nexport { ContentSwitcherOption } from \"./content-switcher-option.directive\";\n\n@NgModule({\n\tdeclarations: [\n\t\tContentSwitcher,\n\t\tContentSwitcherOption\n\t],\n\texports: [\n\t\tContentSwitcher,\n\t\tContentSwitcherOption\n\t],\n\timports: [CommonModule]\n})\nexport class ContentSwitcherModule { }\n","\n export var withStorySource = require('@storybook/addon-storysource').withStorySource;\n export var __STORY__ = \"import { storiesOf, moduleMetadata } from '@storybook/angular';\\nimport { action } from '@storybook/addon-actions';\\nimport { withKnobs } from '@storybook/addon-knobs/angular';\\n\\nimport { ContentSwitcherModule } from '../';\\n\\nstoriesOf('Content Switcher', module)\\n .addDecorator(\\n moduleMetadata({\\n imports: [ContentSwitcherModule],\\n })\\n )\\n .addDecorator(withKnobs)\\n .add('Basic', () => ({\\n template: `\\n\\t\\t\\t<ibm-content-switcher (selected)=\\\"selected($event)\\\">\\n\\t\\t\\t\\t<button ibmContentOption>First section</button>\\n\\t\\t\\t\\t<button ibmContentOption>Second section</button>\\n\\t\\t\\t\\t<button ibmContentOption>Third section</button>\\n\\t\\t\\t</ibm-content-switcher>\\n\\t\\t`,\\n props: {\\n selected: action('selection changed'),\\n },\\n }));\\n\";\n export var __ADDS_MAP__ = {\"content-switcher--basic\":{\"startLoc\":{\"col\":7,\"line\":14},\"endLoc\":{\"col\":4,\"line\":25}}};\n \n import { storiesOf, moduleMetadata } from \"@storybook/angular\";\nimport { action } from \"@storybook/addon-actions\";\nimport { withKnobs } from \"@storybook/addon-knobs/angular\";\n\nimport { ContentSwitcherModule } from \"../\";\n\n\nstoriesOf(\"Content Switcher\", module).addDecorator(withStorySource(__STORY__, __ADDS_MAP__))\n\t.addDecorator(\n\t\tmoduleMetadata({\n\t\t\timports: [\n\t\t\t\tContentSwitcherModule\n\t\t\t]\n\t\t})\n\t)\n\t.addDecorator(withKnobs)\n\t.add(\"Basic\", () => ({\n\t\ttemplate: `\n\t\t\t<ibm-content-switcher (selected)=\"selected($event)\">\n\t\t\t\t<button ibmContentOption>First section</button>\n\t\t\t\t<button ibmContentOption>Second section</button>\n\t\t\t\t<button ibmContentOption>Third section</button>\n\t\t\t</ibm-content-switcher>\n\t\t`,\n\t\tprops: {\n\t\t\tselected: action(\"selection changed\")\n\t\t}\n\t}));\n\n ","import {\n\tComponent,\n\tInput,\n\tOutput,\n\tEventEmitter\n} from \"@angular/core\";\n\n@Component({\n\tselector: \"ibm-date-picker-input\",\n\ttemplate: `\n\t<div class=\"bx--form-item\">\n\t\t<div class=\"bx--date-picker\"\n\t\t\t[ngClass]=\"{\n\t\t\t\t'bx--date-picker--single' : type === 'single',\n\t\t\t\t'bx--date-picker--range' : type === 'range',\n\t\t\t\t'bx--date-picker--light' : theme === 'light',\n\t\t\t\t'bx--skeleton' : skeleton\n\t\t\t}\">\n\t\t\t<div class=\"bx--date-picker-container\">\n\t\t\t\t<label [for]=\"id\" class=\"bx--label\">\n\t\t\t\t\t{{label}}\n\t\t\t\t</label>\n\t\t\t\t<ibm-icon-calendar16\n\t\t\t\t\t*ngIf=\"type == 'single'\"\n\t\t\t\t\tdata-date-picker-icon\n\t\t\t\t\tclass=\"bx--date-picker__icon\"\n\t\t\t\t\tdata-open>\n\t\t\t\t</ibm-icon-calendar16>\n\t\t\t\t<input\n\t\t\t\t #dateInput\n\t\t\t\t\t*ngIf=\"!skeleton\"\n\t\t\t\t\tautocomplete=\"off\"\n\t\t\t\t\ttype=\"text\"\n\t\t\t\t\tclass=\"bx--date-picker__input\"\n\t\t\t\t\t[pattern]=\"pattern\"\n\t\t\t\t\t[placeholder]=\"placeholder\"\n\t\t\t\t\tdata-date-picker-input\n\t\t\t\t\t[attr.data-input] = \"type == 'single' || type == 'range' ? '' : null\"\n\t\t\t\t\t[id]= \"id\"\n\t\t\t\t\t[attr.disabled]=\"(disabled ? '' : null)\"\n\t\t\t\t\t[attr.data-invalid]=\"(invalid ? '' : null)\"\n\t\t\t\t\t(change) = \"valueChange.emit(dateInput.value)\"/>\n\t\t\t\t\t<div *ngIf=\"invalid\" class=\"bx--form-requirement\">\n\t\t\t\t\t\t{{invalidText}}\n\t\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<ibm-icon-calendar16\n\t\t\t\t*ngIf= \"type == 'range' && hasIcon\"\n\t\t\t\tdata-date-picker-icon\n\t\t\t\tclass=\"bx--date-picker__icon\"\n\t\t\t\tdata-open>\n\t\t\t</ibm-icon-calendar16>\n\t\t</div>\n\t</div>\n\t`\n})\nexport class DatePickerInput {\n\tprivate static datePickerCount = 0;\n\n\t/**\n\t * Select a calendar type for the `model`.\n\t * Internal purposes only.\n\t */\n\t@Input() type: \"simple\" | \"single\" | \"range\" = \"simple\";\n\n\t@Input() id = `datepicker-${DatePickerInput.datePickerCount++}`;\n\n\t@Input() hasIcon = false;\n\n\t@Input() label: string;\n\n\t@Input() placeholder = \"mm/dd/yyyy\";\n\n\t@Input() pattern = \"\\\\d{1,2}/\\\\d{1,2}/\\\\d{4}\";\n\n\t@Output() valueChange: EventEmitter<string> = new EventEmitter();\n\n\t@Input() theme: \"light\" | \"dark\" = \"dark\";\n\n\t@Input() disabled = false;\n\n\t@Input() invalid = false;\n\n\t@Input() invalidText: string;\n\n\t@Input() skeleton = false;\n}\n","import { Ng2FlatpickrModule } from \"ng2-flatpickr\";\nimport { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { DatePickerInput } from \"./datepicker-input.component\";\nimport { Calendar16Module } from \"@carbon/icons-angular/lib/calendar/16\";\n\n@NgModule({\n\tdeclarations: [\n\t\tDatePickerInput\n\t],\n\texports: [\n\t\tDatePickerInput\n\t],\n\timports: [\n\t\tCommonModule,\n\t\tNg2FlatpickrModule,\n\t\tCalendar16Module\n\t]\n})\nexport class DatePickerInputModule { }\n","import {\n\tComponent,\n\tInput,\n\tOutput,\n\tEventEmitter,\n\tViewEncapsulation,\n\tElementRef,\n\tOnDestroy\n} from \"@angular/core\";\nimport { FlatpickrOptions } from \"ng2-flatpickr\";\nimport flatpickr from \"flatpickr\";\nimport rangePlugin from \"flatpickr/dist/plugins/rangePlugin\";\n\n@Component({\n\tselector: \"ibm-date-picker\",\n\ttemplate: `\n\t<div class=\"bx--form-item\">\n\t\t<ng2-flatpickr\n\t\t\t[setDate]= \"value\"\n\t\t\t[config]= \"range ? flatpickrOptionsRange : flatpickrOptions\"\n\t\t\t[hideButton]=\"true\">\n\t\t\t<div class=\"bx--form-item\">\n\t\t\t\t<div\n\t\t\t\t\tdata-date-picker\n\t\t\t\t\t[attr.data-date-picker-type]= \"range ? 'range' : 'single'\"\n\t\t\t\t\tclass=\"bx--date-picker\"\n\t\t\t\t\t[ngClass]=\"{\n\t\t\t\t\t\t'bx--date-picker--range' : range,\n\t\t\t\t\t\t'bx--date-picker--single' : !range,\n\t\t\t\t\t\t'bx--date-picker--light' : theme === 'light',\n\t\t\t\t\t\t'bx--skeleton' : skeleton\n\t\t\t\t\t}\">\n\t\t\t\t\t<div class=\"bx--date-picker-container\">\n\t\t\t\t\t\t<ibm-date-picker-input\n\t\t\t\t\t\t\t[label]= \"label\"\n\t\t\t\t\t\t\t[placeholder]= \"placeholder\"\n\t\t\t\t\t\t\t[pattern]= \"pattern\"\n\t\t\t\t\t\t\t[id]= \"id\"\n\t\t\t\t\t\t\t[type]= \"range ? 'range' : 'single'\"\n\t\t\t\t\t\t\t[hasIcon]= \"range ? false : true\"\n\t\t\t\t\t\t\t[disabled]=\"disabled\"\n\t\t\t\t\t\t\t[invalid]=\"invalid\"\n\t\t\t\t\t\t\t[invalidText]=\"invalidText\"\n\t\t\t\t\t\t\t[skeleton]=\"skeleton\"\n\t\t\t\t\t\t\t(valueChange)=\"onInputValueChange($event, 0)\">\n\t\t\t\t\t\t</ibm-date-picker-input>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div *ngIf=\"range\" class=\"bx--date-picker-container\">\n\t\t\t\t\t\t<ibm-date-picker-input\n\t\t\t\t\t\t\t[label]= \"rangeLabel\"\n\t\t\t\t\t\t\t[placeholder]= \"placeholder\"\n\t\t\t\t\t\t\t[pattern]= \"pattern\"\n\t\t\t\t\t\t\t[id]= \"id + '-rangeInput'\"\n\t\t\t\t\t\t\t[type]= \"range ? 'range' : 'single'\"\n\t\t\t\t\t\t\t[hasIcon]= \"range ? true : null\"\n\t\t\t\t\t\t\t[disabled]=\"disabled\"\n\t\t\t\t\t\t\t[invalid]=\"invalid\"\n\t\t\t\t\t\t\t[invalidText]=\"invalidText\"\n\t\t\t\t\t\t\t[skeleton]=\"skeleton\"\n\t\t\t\t\t\t\t(valueChange)=\"onInputValueChange($event, 1)\">\n\t\t\t\t\t\t</ibm-date-picker-input>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</ng2-flatpickr>\n\t</div>\n\t`,\n\tstyles: [\n\t\t`.dayContainer {\n\t\t\tjustify-content: initial;\n\t\t}`\n\t],\n\tencapsulation: ViewEncapsulation.None\n})\nexport class DatePicker implements OnDestroy {\n\tprivate static datePickerCount = 0;\n\n\t/**\n\t * Select calendar range mode\n\t */\n\t@Input() range: boolean;\n\n\t/**\n\t * Format of date\n\t *\n\t * For reference: https://flatpickr.js.org/formatting/\n\t */\n\t@Input() dateFormat = \"m/d/Y\";\n\n\t@Input() label: string;\n\n\t@Input() rangeLabel: string;\n\n\t@Input() placeholder = \"mm/dd/yyyy\";\n\n\t@Input() pattern = \"\\\\d{1,2}/\\\\d{1,2}/\\\\d{4}\";\n\n\t@Input() id = `datepicker-${DatePicker.datePickerCount++}`;\n\n\t@Input() value: Array<any> = [];\n\n\t@Input() theme: \"light\" | \"dark\" = \"dark\";\n\n\t@Input() disabled = false;\n\n\t@Input() invalid = false;\n\n\t@Input() invalidText: string;\n\n\t@Input() skeleton = false;\n\n\t@Output() valueChange: EventEmitter<any> = new EventEmitter();\n\n\tflatpickrOptions: FlatpickrOptions = {\n\t\tdateFormat: this.dateFormat,\n\t\tallowInput: true,\n\t\tonChange: (selectedValue: any) => { this.doSelect(selectedValue); },\n\t\tonOpen: () => { this.updateClassNames(); },\n\t\tvalue: this.value\n\t};\n\n\tflatpickrOptionsRange: FlatpickrOptions = {\n\t\tdateFormat: this.dateFormat,\n\t\t\"plugins\": [rangePlugin({ input: \"#\" + this.id + \"-rangeInput\"})],\n\t\tallowInput: true,\n\t\tonChange: (selectedValue: any) => { this.doSelect(selectedValue); },\n\t\tonOpen: () => { this.updateClassNames(); },\n\t\tvalue: this.value\n\t};\n\n\tconstructor(protected elementRef: ElementRef) { }\n\n\tdoSelect(selectedValue) {\n\t\tthis.valueChange.emit(selectedValue);\n\t}\n\n\tupdateClassNames() {\n\t\tconst ng2FlatPickrElement = this.elementRef.nativeElement.querySelector(\".ng2-flatpickr-input-container\");\n\t\tng2FlatPickrElement._flatpickr._positionCalendar();\n\n\t\t// get all the possible flatpickrs in the document - we need to add classes to (potentially) all of them\n\t\tconst calendarContainer = document.querySelectorAll(\".flatpickr-calendar\");\n\t\tconst monthContainer = document.querySelectorAll(\".flatpickr-month\");\n\t\tconst weekdaysContainer = document.querySelectorAll(\".flatpickr-weekdays\");\n\t\tconst weekdayContainer = document.querySelectorAll(\".flatpickr-weekday\");\n\t\tconst daysContainer = document.querySelectorAll(\".flatpickr-days\");\n\t\tconst dayContainer = document.querySelectorAll(\".flatpickr-day\");\n\n\t\t// add classes to lists of elements\n\t\tconst addClassIfNotExists = (classname: string, elementList: NodeListOf<Element>) => {\n\t\t\tArray.from(elementList).forEach(element => {\n\t\t\t\tif (!element.classList.contains(classname)) {\n\t\t\t\t\telement.classList.add(classname);\n\t\t\t\t}\n\t\t\t});\n\t\t};\n\n\t\t// add classes (but only if they don't exist, small perf win)\n\t\taddClassIfNotExists(\"bx--date-picker__calendar\", calendarContainer);\n\t\taddClassIfNotExists(\"bx--date-picker__month\", monthContainer);\n\t\taddClassIfNotExists(\"bx--date-picker__weekdays\", weekdaysContainer);\n\t\taddClassIfNotExists(\"bx--date-picker__days\", daysContainer);\n\n\t\t// add weekday classes and format the text\n\t\tArray.from(weekdayContainer).forEach(element => {\n\t\t\telement.innerHTML = element.innerHTML.replace(/\\s+/g, \"\");\n\t\t\telement.classList.add(\"bx--date-picker__weekday\");\n\t\t});\n\n\t\t// add day classes and special case the \"today\" element based on `this.value`\n\t\tArray.from(dayContainer).forEach(element => {\n\t\t\telement.classList.add(\"bx--date-picker__day\");\n\t\t\tif (!this.value) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (element.classList.contains(\"today\") && this.value.length > 0) {\n\t\t\t\telement.classList.add(\"no-border\");\n\t\t\t} else if (element.classList.contains(\"today\") && this.value.length === 0) {\n\t\t\t\telement.classList.remove(\"no-border\");\n\t\t\t}\n\t\t});\n\t}\n\n\tonInputValueChange(event: string, index: number): void {\n\t\tconst eventDate = flatpickr.parseDate(event, this.dateFormat, true);\n\t\tconst previousDate = flatpickr.parseDate(this.value[index], this.dateFormat, true);\n\t\tif (eventDate) {\n\t\t\tif (!previousDate || previousDate.getTime() !== eventDate.getTime()) {\n\t\t\t\tthis.value = [...this.value];\n\t\t\t\tthis.value[index] = eventDate;\n\t\t\t}\n\t\t} else {\n\t\t\tif (previousDate || event) {\n\t\t\t\tthis.value = [...this.value];\n\t\t\t\tthis.value[index] = undefined;\n\t\t\t}\n\t\t}\n\t}\n\n\tngOnDestroy() {\n\t\t// clean up our flatpickr element - needed because the wrapper doesn't handle this\n\t\tconst ng2FlatPickrElement = this.elementRef.nativeElement.querySelector(\".ng2-flatpickr-input-container\");\n\t\tng2FlatPickrElement._flatpickr.destroy();\n\t}\n}\n","import { DatePickerInputModule } from \"./../datepicker-input/datepicker-input.module\";\nimport { Ng2FlatpickrModule } from \"ng2-flatpickr\";\nimport { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { DatePicker } from \"./datepicker.component\";\n\n@NgModule({\n\tdeclarations: [\n\t\tDatePicker\n\t],\n\texports: [\n\t\tDatePicker,\n\t\tDatePickerInputModule\n\t],\n\timports: [\n\t\tCommonModule,\n\t\tNg2FlatpickrModule,\n\t\tDatePickerInputModule\n\t]\n})\nexport class DatePickerModule { }\n","\n export var withStorySource = require('@storybook/addon-storysource').withStorySource;\n export var __STORY__ = \"import { storiesOf, moduleMetadata } from '@storybook/angular';\\nimport { action } from '@storybook/addon-actions';\\nimport { withKnobs, array, select, text, boolean } from '@storybook/addon-knobs/angular';\\nimport { DatePickerModule } from '../';\\n\\nstoriesOf('Date Picker', module)\\n .addDecorator(\\n moduleMetadata({\\n imports: [DatePickerModule],\\n })\\n )\\n .addDecorator(withKnobs)\\n .add('Simple', () => ({\\n template: `\\n\\t\\t<ibm-date-picker-input\\n\\t\\t\\t[theme]=\\\"theme\\\"\\n\\t\\t\\t[label]=\\\"label\\\"\\n\\t\\t\\t[placeholder]=\\\"placeholder\\\"\\n\\t\\t\\t[disabled]=\\\"disabled\\\"\\n\\t\\t\\t[invalid]=\\\"invalid\\\"\\n\\t\\t\\t[invalidText]=\\\"invalidText\\\">\\n\\t\\t</ibm-date-picker-input>\\n\\t\\t`,\\n props: {\\n theme: select('Theme', ['dark', 'light'], 'dark'),\\n label: text('Label text', 'Date Picker Label'),\\n placeholder: text('Placeholder text', 'mm/dd/yyyy'),\\n invalidText: text('Form validation content', 'Invalid date format'),\\n invalid: boolean('Show form validation', false),\\n disabled: boolean('Disabled', false),\\n },\\n }))\\n .add('Single', () => ({\\n template: `\\n\\t\\t<ibm-date-picker\\n\\t\\t\\t[label]=\\\"label\\\"\\n\\t\\t\\t[placeholder]=\\\"placeholder\\\"\\n\\t\\t\\t[theme]=\\\"theme\\\"\\n\\t\\t\\t[disabled]=\\\"disabled\\\"\\n\\t\\t\\t[invalid]=\\\"invalid\\\"\\n\\t\\t\\t[invalidText]=\\\"invalidText\\\"\\n\\t\\t\\t(valueChange)=\\\"valueChange($event)\\\">\\n\\t\\t</ibm-date-picker>\\n\\t\\t`,\\n props: {\\n value: array('value', [new Date().getMonth() + 1 + '/' + new Date().getDate() + '/' + new Date().getFullYear()]),\\n valueChange: action('Date change fired!'),\\n theme: select('Theme', ['dark', 'light'], 'dark'),\\n label: text('Label text', 'Date Picker Label'),\\n placeholder: text('Placeholder text', 'mm/dd/yyyy'),\\n invalidText: text('Form validation content', 'Invalid date format'),\\n invalid: boolean('Show form validation', false),\\n disabled: boolean('Disabled', false),\\n },\\n }))\\n .add('Range', () => ({\\n template: `\\n\\t\\t<ibm-date-picker\\n\\t\\t\\t[label]=\\\"label\\\"\\n\\t\\t\\t[rangeLabel]=\\\"label\\\"\\n\\t\\t\\trange=\\\"true\\\"\\n\\t\\t\\t[placeholder]=\\\"placeholder\\\"\\n\\t\\t\\t[theme]=\\\"theme\\\"\\n\\t\\t\\t[disabled]=\\\"disabled\\\"\\n\\t\\t\\t[invalid]=\\\"invalid\\\"\\n\\t\\t\\t[invalidText]=\\\"invalidText\\\"\\n\\t\\t\\t(valueChange)=\\\"valueChange($event)\\\">\\n\\t\\t</ibm-date-picker>\\n\\t\\t`,\\n props: {\\n value: array('value', [\\n new Date().getMonth() + 1 + '/' + new Date().getDate() + '/' + new Date().getFullYear(),\\n new Date().getMonth() + 2 + '/' + new Date().getDate() + '/' + new Date().getFullYear(),\\n ]),\\n valueChange: action('Date change fired!'),\\n theme: select('Theme', ['dark', 'light'], 'dark'),\\n label: text('Label text', 'Date Picker Label'),\\n placeholder: text('Placeholder text', 'mm/dd/yyyy'),\\n invalidText: text('Form validation content', 'Invalid date format'),\\n invalid: boolean('Show form validation', false),\\n disabled: boolean('Disabled', false),\\n },\\n }))\\n .add('Skeleton', () => ({\\n template: `\\n\\t\\t<ibm-date-picker\\n\\t\\t\\trange=\\\"true\\\"\\n\\t\\t\\tskeleton=\\\"true\\\">\\n\\t\\t</ibm-date-picker>\\n\\t\\t`,\\n }));\\n\";\n export var __ADDS_MAP__ = {\"date-picker--skeleton\":{\"startLoc\":{\"col\":7,\"line\":84},\"endLoc\":{\"col\":4,\"line\":91}},\"date-picker--range\":{\"startLoc\":{\"col\":7,\"line\":56},\"endLoc\":{\"col\":4,\"line\":83}},\"date-picker--single\":{\"startLoc\":{\"col\":7,\"line\":33},\"endLoc\":{\"col\":4,\"line\":55}},\"date-picker--simple\":{\"startLoc\":{\"col\":7,\"line\":13},\"endLoc\":{\"col\":4,\"line\":32}}};\n \n import { storiesOf, moduleMetadata } from \"@storybook/angular\";\nimport { action } from \"@storybook/addon-actions\";\nimport {\n\twithKnobs,\n\tarray,\n\tselect,\n\ttext,\n\tboolean\n} from \"@storybook/addon-knobs/angular\";\nimport { DatePickerModule } from \"../\";\n\nstoriesOf(\"Date Picker\", module).addDecorator(withStorySource(__STORY__, __ADDS_MAP__))\n\t.addDecorator(\n\t\tmoduleMetadata({\n\t\t\timports: [\n\t\t\t\tDatePickerModule\n\t\t\t]\n\t\t})\n\t)\n\t.addDecorator(withKnobs)\n\t.add(\"Simple\", () => ({\n\t\ttemplate: `\n\t\t<ibm-date-picker-input\n\t\t\t[theme]=\"theme\"\n\t\t\t[label]=\"label\"\n\t\t\t[placeholder]=\"placeholder\"\n\t\t\t[disabled]=\"disabled\"\n\t\t\t[invalid]=\"invalid\"\n\t\t\t[invalidText]=\"invalidText\">\n\t\t</ibm-date-picker-input>\n\t\t`,\n\t\tprops: {\n\t\t\ttheme: select(\"Theme\", [\"dark\", \"light\"], \"dark\"),\n\t\t\tlabel: text(\"Label text\", \"Date Picker Label\"),\n\t\t\tplaceholder: text(\"Placeholder text\", \"mm/dd/yyyy\"),\n\t\t\tinvalidText: text(\"Form validation content\", \"Invalid date format\"),\n\t\t\tinvalid: boolean(\"Show form validation\", false),\n\t\t\tdisabled: boolean(\"Disabled\", false)\n\t\t}\n\t}))\n\t.add(\"Single\", () => ({\n\t\ttemplate: `\n\t\t<ibm-date-picker\n\t\t\t[label]=\"label\"\n\t\t\t[placeholder]=\"placeholder\"\n\t\t\t[theme]=\"theme\"\n\t\t\t[disabled]=\"disabled\"\n\t\t\t[invalid]=\"invalid\"\n\t\t\t[invalidText]=\"invalidText\"\n\t\t\t(valueChange)=\"valueChange($event)\">\n\t\t</ibm-date-picker>\n\t\t`,\n\t\tprops: {\n\t\t\tvalue: array(\"value\", [(new Date().getMonth() + 1) + \"/\" + new Date().getDate() + \"/\" + new Date().getFullYear()]),\n\t\t\tvalueChange: action(\"Date change fired!\"),\n\t\t\ttheme: select(\"Theme\", [\"dark\", \"light\"], \"dark\"),\n\t\t\tlabel: text(\"Label text\", \"Date Picker Label\"),\n\t\t\tplaceholder: text(\"Placeholder text\", \"mm/dd/yyyy\"),\n\t\t\tinvalidText: text(\"Form validation content\", \"Invalid date format\"),\n\t\t\tinvalid: boolean(\"Show form validation\", false),\n\t\t\tdisabled: boolean(\"Disabled\", false)\n\t\t}\n\t}))\n\t.add(\"Range\", () => ({\n\t\ttemplate: `\n\t\t<ibm-date-picker\n\t\t\t[label]=\"label\"\n\t\t\t[rangeLabel]=\"label\"\n\t\t\trange=\"true\"\n\t\t\t[placeholder]=\"placeholder\"\n\t\t\t[theme]=\"theme\"\n\t\t\t[disabled]=\"disabled\"\n\t\t\t[invalid]=\"invalid\"\n\t\t\t[invalidText]=\"invalidText\"\n\t\t\t(valueChange)=\"valueChange($event)\">\n\t\t</ibm-date-picker>\n\t\t`,\n\t\tprops: {\n\t\t\tvalue: array(\"value\", [\n\t\t\t\t(new Date().getMonth() + 1) + \"/\" + new Date().getDate() + \"/\" + new Date().getFullYear(),\n\t\t\t\t(new Date().getMonth() + 2) + \"/\" + new Date().getDate() + \"/\" + new Date().getFullYear()\n\t\t\t]),\n\t\t\tvalueChange: action(\"Date change fired!\"),\n\t\t\ttheme: select(\"Theme\", [\"dark\", \"light\"], \"dark\"),\n\t\t\tlabel: text(\"Label text\", \"Date Picker Label\"),\n\t\t\tplaceholder: text(\"Placeholder text\", \"mm/dd/yyyy\"),\n\t\t\tinvalidText: text(\"Form validation content\", \"Invalid date format\"),\n\t\t\tinvalid: boolean(\"Show form validation\", false),\n\t\t\tdisabled: boolean(\"Disabled\", false)\n\t\t}\n\t}))\n\t.add(\"Skeleton\", () => ({\n\t\ttemplate: `\n\t\t<ibm-date-picker\n\t\t\trange=\"true\"\n\t\t\tskeleton=\"true\">\n\t\t</ibm-date-picker>\n\t\t`\n\t}));\n\n ","import {\n\tComponent,\n\tOnInit,\n\tViewContainerRef,\n\tViewChild\n} from \"@angular/core\";\nimport { PlaceholderService } from \"./../placeholder/placeholder.module\";\n\n/**\n * Deprecated as of v2.0, will be removed with v3.0\n * Using a dialog (popover, tooltip, etc) with appendToBody=\"true\" in your application\n * requires *this* component (`n-dialog-placeholder`).\n * It would generally be placed near the end of your app component template\n * (app.component.ts or app.component.html) as:\n *\n * ```html\n * ...\n * <ibm-dialog-placeholder></ibm-dialog-placeholder>\n * ```\n *\n * A more complete example for `Popover` is given as follows:\n *\n * ```html\n * <button [ibmPopover]=\"Hello\" appendToBody=\"true\"></button>\n * ...\n * <ibm-dialog-placeholder></ibm-dialog-placeholder>\n * ```\n *\n * @deprecated\n */\n@Component({\n\tselector: \"ibm-dialog-placeholder\",\n\ttemplate: `<div #dialogPlaceholder></div>`\n})\nexport class DialogPlaceholder implements OnInit {\n\t/**\n\t * Maintains a reference to the view DOM element of the `DialogPlaceholder`.\n\t */\n\t@ViewChild(\"dialogPlaceholder\", { read: ViewContainerRef }) viewContainerRef: ViewContainerRef;\n\n\t/**\n\t * Creates an instance of `DialogPlaceholder`.\n\t */\n\tconstructor(public placeholderService: PlaceholderService) { }\n\n\t/**\n\t * Initializes the component using `PlaceholderService`.\n\t */\n\tngOnInit() {\n\t\tconsole.warn(\"`ibm-dialog-placeholder` has been deprecated in favour of `ibm-placeholder`\");\n\t\tthis.placeholderService.registerViewContainerRef(this.viewContainerRef);\n\t}\n}\n","import {\n\tComponent,\n\tInput,\n\tOutput,\n\tEventEmitter,\n\tElementRef,\n\tViewChild,\n\tOnInit,\n\tAfterViewInit,\n\tOnDestroy,\n\tHostListener\n} from \"@angular/core\";\nimport {\n\tObservable,\n\tSubscription,\n\tfromEvent,\n\tmerge\n} from \"rxjs\";\nimport { throttleTime } from \"rxjs/operators\";\n// the AbsolutePosition is required to import the declaration correctly\nimport { position, AbsolutePosition } from \"@carbon/utils-position\";\nimport { cycleTabs, getFocusElementList } from \"./../common/tab.service\";\nimport { DialogConfig } from \"./dialog-config.interface\";\n\n\n/**\n * Implements a `Dialog` that can be positioned anywhere on the page.\n * Used to implement a popover or tooltip.\n *\n * @export\n * @class Dialog\n * @implements {OnInit}\n * @implements {AfterViewInit}\n * @implements {OnDestroy}\n */\n@Component({\n\tselector: \"ibm-dialog\",\n\ttemplate: \"\"\n})\nexport class Dialog implements OnInit, AfterViewInit, OnDestroy {\n\t/**\n\t * One static event observable to handle window resizing.\n\t */\n\tprotected static resizeObservable: Observable<any> = fromEvent(window, \"resize\").pipe(throttleTime(100));\n\t/**\n\t * Emits event that handles the closing of a `Dialog` object.\n\t */\n\t@Output() close: EventEmitter<any> = new EventEmitter();\n\t/**\n\t * Receives `DialogConfig` interface object with properties of `Dialog`\n\t * explicitly defined.\n\t */\n\t@Input() dialogConfig: DialogConfig;\n\t/**\n\t * Maintains a reference to the view DOM element of the `Dialog`.\n\t */\n\t@ViewChild(\"dialog\") dialog: ElementRef;\n\n\t/**\n\t * Stores the data received from `dialogConfig`.\n\t */\n\tpublic data = {};\n\n\t/**\n\t * The placement of the `Dialog` is received from the `Position` service.\n\t */\n\tpublic placement: string;\n\n\t/**\n\t * `Subscription` used to update placement in the event of a window resize.\n\t */\n\tprotected resizeSubscription: Subscription;\n\t/**\n\t * Subscription to all the scrollable parents `scroll` event\n\t */\n\t// add a new subscription temporarily so that contexts (such as tests)\n\t// that don't run ngAfterViewInit have something to unsubscribe in ngOnDestroy\n\tprotected scrollSubscription: Subscription = new Subscription();\n\t/**\n\t * Handles offsetting the `Dialog` item based on the defined position\n\t * to not obscure the content beneath.\n\t * @protected\n\t */\n\tprotected addGap = {\n\t\t\"left\": pos => position.addOffset(pos, 0, -this.dialogConfig.gap),\n\t\t\"right\": pos => position.addOffset(pos, 0, this.dialogConfig.gap),\n\t\t\"top\": pos => position.addOffset(pos, -this.dialogConfig.gap),\n\t\t\"bottom\": pos => position.addOffset(pos, this.dialogConfig.gap),\n\t\t\"left-bottom\": pos => position.addOffset(pos, 0, -this.dialogConfig.gap),\n\t\t\"right-bottom\": pos => position.addOffset(pos, 0, this.dialogConfig.gap)\n\t};\n\n\t/**\n\t * Creates an instance of `Dialog`.\n\t * @param {ElementRef} elementRef\n\t */\n\tconstructor(protected elementRef: ElementRef) {\t}\n\n\t/**\n\t * Initialize the `Dialog`, set the placement and gap, and add a `Subscription` to resize events.\n\t */\n\tngOnInit() {\n\t\tthis.placement = this.dialogConfig.placement.split(\",\")[0];\n\t\tthis.data = this.dialogConfig.data;\n\n\t\tthis.resizeSubscription = Dialog.resizeObservable.subscribe(() => {\n\t\t\tthis.placeDialog();\n\t\t});\n\n\t\t// run any additional initialization code that consuming classes may have\n\t\tthis.onDialogInit();\n\t}\n\n\t/**\n\t * After the DOM is ready, focus is set and dialog is placed\n\t * in respect to the parent element.\n\t */\n\tngAfterViewInit() {\n\t\tconst dialogElement = this.dialog.nativeElement;\n\t\t// split the wrapper class list and apply separately to avoid IE from\n\t\t// 1. throwing an error due to assigning a readonly property (classList)\n\t\t// 2. throwing a SyntaxError due to passing an empty string to `add`\n\t\tif (this.dialogConfig.wrapperClass) {\n\t\t\tfor (const extraClass of this.dialogConfig.wrapperClass.split(\" \")) {\n\t\t\t\tdialogElement.classList.add(extraClass);\n\t\t\t}\n\t\t}\n\t\tthis.placeDialog();\n\t\tif (getFocusElementList(this.dialog.nativeElement).length > 0) {\n\t\t\tdialogElement.focus();\n\t\t}\n\t\tconst parentEl: HTMLElement = this.dialogConfig.parentRef.nativeElement;\n\t\tlet node = parentEl;\n\t\tlet observables = [];\n\n\t\t// if the element has an overflow set as part of\n\t\t// its computed style it can scroll\n\t\tconst isScrollableElement = (element: HTMLElement) => {\n\t\t\tconst computedStyle = getComputedStyle(element);\n\t\t\treturn (\n\t\t\t\tcomputedStyle.overflow === \"auto\" ||\n\t\t\t\tcomputedStyle.overflow === \"scroll\" ||\n\t\t\t\tcomputedStyle[\"overflow-y\"] === \"auto\" ||\n\t\t\t\tcomputedStyle[\"overflow-y\"] === \"scroll\" ||\n\t\t\t\tcomputedStyle[\"overflow-x\"] === \"auto\" ||\n\t\t\t\tcomputedStyle[\"overflow-x\"] === \"scroll\"\n\t\t\t);\n\t\t};\n\n\t\tconst isVisibleInContainer = (element, container) => {\n\t\t\tconst elementRect = element.getBoundingClientRect();\n\t\t\tconst containerRect = container.getBoundingClientRect();\n\t\t\treturn elementRect.bottom <= containerRect.bottom && elementRect.top >= containerRect.top;\n\t\t};\n\n\t\tconst placeDialogInContainer = () => {\n\t\t\t// only do the work to find the scroll containers if we're appended to body\n\t\t\t// or skip this work if we're inline\n\t\t\tif (!this.dialogConfig.appendInline) {\n\t\t\t\t// walk the parents and subscribe to all the scroll events we can\n\t\t\t\twhile (node.parentElement && node !== document.body) {\n\t\t\t\t\tif (isScrollableElement(node)) {\n\t\t\t\t\t\tobservables.push(fromEvent(node, \"scroll\"));\n\t\t\t\t\t}\n\t\t\t\t\tnode = node.parentElement;\n\t\t\t\t}\n\t\t\t\t// subscribe to the observable, and update the position and visibility\n\t\t\t\tconst scrollObservable = merge(...observables);\n\t\t\t\tthis.scrollSubscription = scrollObservable.subscribe((event: any) => {\n\t\t\t\t\tthis.placeDialog();\n\t\t\t\t\tif (!isVisibleInContainer(this.dialogConfig.parentRef.nativeElement, event.target)) {\n\t\t\t\t\t\tthis.doClose();\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t};\n\n\t\t// settimeout to let the DOM settle before attempting to place the dialog\n\t\t// and before notifying components that the DOM is ready\n\t\tsetTimeout(() => {\n\t\t\tplaceDialogInContainer();\n\t\t\tthis.afterDialogViewInit();\n\t\t});\n\t}\n\n\t/**\n\t * Empty method to be overridden by consuming classes to run any additional initialization code.\n\t */\n\tonDialogInit() {}\n\n\t/**\n\t * Empty method to be overridden by consuming classes to run any additional initialization code after the view is available.\n\t * NOTE: this does _not_ guarantee the dialog will be positioned, simply that it will exist in the DOM\n\t */\n\tafterDialogViewInit() {}\n\n\t/**\n\t * Uses the position service to position the `Dialog` in screen space\n\t */\n\tplaceDialog(): void {\n\t\t// helper to find the position based on the current/given environment\n\t\tconst findPosition = (reference, target, placement) => {\n\t\t\tlet pos;\n\t\t\tif (this.dialogConfig.appendInline) {\n\t\t\t\tpos = this.addGap[placement](position.findRelative(reference, target, placement));\n\t\t\t} else {\n\t\t\t\tpos = this.addGap[placement](position.findAbsolute(reference, target, placement));\n\t\t\t}\n\t\t\treturn pos;\n\t\t};\n\n\t\tlet parentEl = this.dialogConfig.parentRef.nativeElement;\n\t\tlet el = this.dialog.nativeElement;\n\t\tlet dialogPlacement = this.placement;\n\n\t\t// split always returns an array, so we can just use the auto position logic\n\t\t// for single positions too\n\t\tconst placements = this.dialogConfig.placement.split(\",\");\n\n\t\t// find the best placement\n\t\tdialogPlacement = position.findBestPlacement(parentEl, el, placements);\n\n\t\t// calculate the final position\n\t\tconst pos = findPosition(parentEl, el, dialogPlacement);\n\n\t\t// update the element\n\t\tposition.setElement(el, pos);\n\t\tsetTimeout(() => { this.placement = dialogPlacement; });\n\t}\n\n\t/**\n\t * Sets up a KeyboardEvent to close `Dialog` with Escape key.\n\t * @param {KeyboardEvent} event\n\t */\n\t@HostListener(\"keydown\", [\"$event\"])\n\tescapeClose(event: KeyboardEvent) {\n\t\tswitch (event.key) {\n\t\t\tcase \"Esc\": // IE specific value\n\t\t\tcase \"Escape\": {\n\t\t\t\tevent.stopImmediatePropagation();\n\t\t\t\tthis.doClose();\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase \"Tab\": {\n\t\t\t\tcycleTabs(event, this.elementRef.nativeElement);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Sets up a event Listener to close `Dialog` if click event occurs outside\n\t * `Dialog` object.\n\t * @param {any} event\n\t */\n\t@HostListener(\"document:click\", [\"$event\"])\n\tclickClose(event) {\n\t\tif (!this.elementRef.nativeElement.contains(event.target)\n\t\t\t&& !this.dialogConfig.parentRef.nativeElement.contains(event.target) ) {\n\t\t\tthis.doClose();\n\t\t}\n\t}\n\n\t/**\n\t * Closes `Dialog` object by emitting the close event upwards to parents.\n\t */\n\tpublic doClose() {\n\t\tthis.close.emit();\n\t}\n\n\t/**\n\t * At destruction of component, `Dialog` unsubscribes from handling window resizing changes.\n\t */\n\tngOnDestroy() {\n\t\tthis.resizeSubscription.unsubscribe();\n\t\tthis.scrollSubscription.unsubscribe();\n\t}\n}\n","import {\n\tDirective,\n\tInput,\n\tOutput,\n\tEventEmitter,\n\tOnInit,\n\tOnDestroy,\n\tElementRef,\n\tTemplateRef,\n\tViewContainerRef,\n\tHostListener,\n\tOnChanges,\n\tHostBinding\n} from \"@angular/core\";\nimport { fromEvent } from \"rxjs\";\nimport { DialogService } from \"./dialog.service\";\nimport { DialogConfig } from \"./dialog-config.interface\";\n\n/**\n * A generic directive that can be inherited from to create dialogs (for example, a tooltip or popover)\n *\n * This class contains the relevant initialization code, specific templates, options, and additional inputs\n * should be specified in the derived class.\n *\n * NOTE: All child classes should add `DialogService` as a provider, otherwise they will lose context that\n * the service relies on.\n */\n@Directive({\n\tselector: \"[ibmDialog]\",\n\texportAs: \"ibmDialog\",\n\tproviders: [\n\t\tDialogService\n\t]\n})\nexport class DialogDirective implements OnInit, OnDestroy, OnChanges {\n\tstatic dialogCounter = 0;\n\t/**\n\t * Title for the dialog\n\t * @type {string}\n\t */\n\t@Input() title = \"\";\n\t/**\n\t * Dialog body content.\n\t * @type {(string | TemplateRef<any>)}\n\t */\n\t@Input() ibmDialog: string | TemplateRef<any>;\n\t/**\n\t * Defines how the Dialog is triggered.(Hover and click behave the same on mobile - both respond to a single tap)\n\t * @type {(\"click\" | \"hover\" | \"mouseenter\")}\n\t */\n\t@Input() trigger: \"click\" | \"hover\" | \"mouseenter\" = \"click\";\n\t/**\n\t * Placement of the dialog, usually relative to the element the directive is on.\n\t */\n\t@Input() placement = \"left\";\n\t/**\n\t * Class to add to the dialog container\n\t * @type {string}\n\t */\n\t@Input() wrapperClass: string;\n\t/**\n\t * Spacing between the dialog and it's triggering element\n\t * @type {number}\n\t */\n\t@Input() gap = 0;\n\t/**\n\t * Deprecated. Defaults to true. Use appendInline to keep dialogs within page flow\n\t * Value `true` appends Dialog to the body (to break out of containers)\n\t */\n\t@Input() set appendToBody(v: boolean) {\n\t\tconsole.log(\"`appendToBody` has been deprecated. Dialogs now append to the body by default.\");\n\t\tconsole.log(\"Ensure you have an `ibm-placeholder` in your app.\");\n\t\tconsole.log(\"Use `appendInline` if you need to position your dialogs within the normal page flow.\");\n\t\tthis.appendInline = !v;\n\t}\n\tget appendToBody() {\n\t\treturn !this.appendInline;\n\t}\n\t/**\n\t * Set to `true` to open the dialog next to the triggering component\n\t */\n\t@Input() appendInline = false;\n\t/**\n\t * Optional data for templates\n\t */\n\t@Input() data = {};\n\t/**\n\t * Config object passed to the rendered component\n\t */\n\tdialogConfig: DialogConfig;\n\t/**\n\t * Emits an event when the dialog is closed\n\t */\n\t@Output() onClose: EventEmitter<any> = new EventEmitter();\n\t/**\n\t * Emits an event when the dialog is opened\n\t */\n\t@Output() onOpen: EventEmitter<any> = new EventEmitter();\n\n\t@HostBinding(\"attr.role\") role = \"button\";\n\t@HostBinding(\"attr.aria-expanded\") expanded = false;\n\t@HostBinding(\"attr.aria-haspopup\") hasPopup = true;\n\t@HostBinding(\"attr.aria-owns\") get ariaOwns(): string {\n\t\treturn this.expanded ? this.dialogConfig.compID : null;\n\t}\n\n\t/**\n\t * Creates an instance of DialogDirective.\n\t * @param {ElementRef} elementRef\n\t * @param {ViewContainerRef} viewContainerRef\n\t * @param {DialogService} dialogService\n\t */\n\tconstructor(\n\t\tprotected elementRef: ElementRef,\n\t\tprotected viewContainerRef: ViewContainerRef,\n\t\tprotected dialogService: DialogService) {}\n\n\t/**\n\t * Overrides 'touchstart' event to trigger a toggle on the Dialog.\n\t * @param {any} evt\n\t */\n\t@HostListener(\"touchstart\", [\"$event\"])\n\tonTouchStart(evt) {\n\t\tevt.stopImmediatePropagation();\n\t\tevt.preventDefault();\n\t\tthis.toggle();\n\t}\n\n\tngOnChanges() {\n\t\t// set the config object (this can [and should!] be added to in child classes depending on what they need)\n\t\tthis.dialogConfig = {\n\t\t\ttitle: this.title,\n\t\t\tcontent: this.ibmDialog,\n\t\t\tplacement: this.placement,\n\t\t\tparentRef: this.elementRef,\n\t\t\tgap: this.gap,\n\t\t\ttrigger: this.trigger,\n\t\t\tappendInline: this.appendInline,\n\t\t\twrapperClass: this.wrapperClass,\n\t\t\tdata: this.data\n\t\t};\n\t}\n\n\t/**\n\t * Sets the config object and binds events for hovering or clicking before\n\t * running code from child class.\n\t */\n\tngOnInit() {\n\t\t// fix for safari hijacking clicks\n\t\tthis.dialogService.singletonClickListen();\n\n\t\tfromEvent(this.elementRef.nativeElement, \"keydown\").subscribe((event: KeyboardEvent) => {\n\t\t\t// \"Esc\" is an IE specific value\n\t\t\tif (event.target === this.dialogConfig.parentRef.nativeElement && (event.key === \"Tab\" || event.key === \"Tab\" && event.shiftKey) ||\n\t\t\t\tevent.key === \"Escape\" || event.key === \"Esc\") {\n\t\t\t\tthis.close();\n\t\t\t}\n\t\t});\n\n\t\t// bind events for hovering or clicking the host\n\t\tif (this.trigger === \"hover\" || this.trigger === \"mouseenter\") {\n\t\t\tfromEvent(this.elementRef.nativeElement, \"mouseenter\").subscribe(() => this.toggle());\n\t\t\tfromEvent(this.elementRef.nativeElement, \"mouseout\").subscribe(() => this.close());\n\t\t\tfromEvent(this.elementRef.nativeElement, \"focus\").subscribe(() => this.open());\n\t\t\tfromEvent(this.elementRef.nativeElement, \"blur\").subscribe(() => this.close());\n\t\t} else {\n\t\t\tfromEvent(this.elementRef.nativeElement, \"click\").subscribe(() => this.toggle());\n\t\t\tfromEvent(this.elementRef.nativeElement, \"keydown\").subscribe((event: KeyboardEvent) => {\n\t\t\t\t// \"Spacebar\" is an IE specific value\n\t\t\t\tif (event.key === \"Enter\" || event.key === \" \" || event.key === \"Spacebar\") {\n\t\t\t\t\tthis.open();\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\t// call onClose when the dialog is closed\n\t\t// - Enforce accessibility by updating an aria attr for nativeElement.\n\t\tthis.dialogService.isClosed.subscribe(value => {\n\t\t\tif (value) {\n\t\t\t\tthis.onClose.emit();\n\t\t\t\tthis.expanded = false;\n\t\t\t}\n\t\t});\n\n\t\tDialogDirective.dialogCounter++;\n\t\tthis.dialogConfig.compID = \"dialog-\" + DialogDirective.dialogCounter;\n\n\t\t// run any code a child class may need\n\t\tthis.onDialogInit();\n\t}\n\n\t/**\n\t * When the host dies, kill the popover.\n\t * - Useful for use in a modal or similar.\n\t */\n\tngOnDestroy() {\n\t\tthis.close();\n\t}\n\n\t/**\n\t * Helper method to call dialogService 'open'.\n\t * - Enforce accessibility by updating an aria attr for nativeElement.\n\t */\n\topen() {\n\t\tthis.dialogService.open(this.viewContainerRef, this.dialogConfig);\n\t\tthis.expanded = true;\n\t\tthis.onOpen.emit();\n\t}\n\n\t/**\n\t * Helper method to call dialogService 'toggle'.\n\t * - Enforce accessibility by updating an aria attr for nativeElement.\n\t */\n\ttoggle() {\n\t\tthis.dialogService.toggle(this.viewContainerRef, this.dialogConfig);\n\t\tthis.expanded = this.dialogService.isOpen;\n\t\tif (this.expanded) {\n\t\t\tthis.onOpen.emit();\n\t\t}\n\t}\n\n\t/**\n\t * Helper method to call dialogService 'close'.\n\t * - Enforce accessibility by updating an aria attr for nativeElement.\n\t */\n\tclose() {\n\t\tthis.dialogService.close(this.viewContainerRef);\n\t\tthis.expanded = false;\n\t}\n\n\t/**\n\t * Empty method for child classes to override and specify additional init steps.\n\t * Run after DialogDirective completes it's ngOnInit.\n\t * @protected\n\t */\n\tprotected onDialogInit() {}\n}\n","// modules\nimport { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\n// imports\nimport { DialogService } from \"./dialog.service\";\nimport { Dialog } from \"./dialog.component\";\nimport { DialogDirective } from \"./dialog.directive\";\nimport { DialogPlaceholder } from \"./dialog-placeholder.component\";\n\nimport { Tooltip } from \"./tooltip/tooltip.component\";\nimport { TooltipDefinition } from \"./tooltip/tooltip-definition.component\";\nimport { TooltipIcon } from \"./tooltip/tooltip-icon.component\";\nimport { TooltipDirective } from \"./tooltip/tooltip.directive\";\nimport { EllipsisTooltip } from \"./tooltip/ellipsis-tooltip.directive\";\n\nimport { OverflowMenu } from \"./overflow-menu/overflow-menu.component\";\nimport { OverflowMenuPane } from \"./overflow-menu/overflow-menu-pane.component\";\nimport { OverflowMenuDirective } from \"./overflow-menu/overflow-menu.directive\";\nimport { OverflowMenuOption } from \"./overflow-menu/overflow-menu-option.component\";\nimport { I18nModule } from \"./../i18n/i18n.module\";\nimport { PlaceholderModule } from \"./../placeholder/placeholder.module\";\nimport { ExperimentalModule } from \"./../experimental.module\";\n\n// exports\nexport { DialogService } from \"./dialog.service\";\nexport { Dialog } from \"./dialog.component\";\nexport { DialogDirective } from \"./dialog.directive\";\nexport { DialogPlaceholder } from \"./dialog-placeholder.component\";\n\nexport { Tooltip } from \"./tooltip/tooltip.component\";\nexport { TooltipDefinition } from \"./tooltip/tooltip-definition.component\";\nexport { TooltipIcon } from \"./tooltip/tooltip-icon.component\";\nexport { TooltipDirective } from \"./tooltip/tooltip.directive\";\nexport { EllipsisTooltip } from \"./tooltip/ellipsis-tooltip.directive\";\n\nexport { OverflowMenu } from \"./overflow-menu/overflow-menu.component\";\nexport { OverflowMenuPane } from \"./overflow-menu/overflow-menu-pane.component\";\nexport { OverflowMenuDirective } from \"./overflow-menu/overflow-menu.directive\";\nexport { OverflowMenuOption } from \"./overflow-menu/overflow-menu-option.component\";\n\n@NgModule({\n\tdeclarations: [\n\t\tDialog,\n\t\tTooltip,\n\t\tTooltipDefinition,\n\t\tTooltipIcon,\n\t\tOverflowMenu,\n\t\tOverflowMenuPane,\n\t\tDialogDirective,\n\t\tTooltipDirective,\n\t\tEllipsisTooltip,\n\t\tOverflowMenuDirective,\n\t\tOverflowMenuOption,\n\t\tDialogPlaceholder\n\t],\n\texports: [\n\t\tDialog,\n\t\tTooltip,\n\t\tTooltipDefinition,\n\t\tTooltipIcon,\n\t\tOverflowMenu,\n\t\tOverflowMenuPane,\n\t\tDialogDirective,\n\t\tTooltipDirective,\n\t\tEllipsisTooltip,\n\t\tOverflowMenuDirective,\n\t\tOverflowMenuOption,\n\t\tDialogPlaceholder\n\t],\n\tproviders: [ DialogService ],\n\tentryComponents: [\n\t\tDialog,\n\t\tTooltip,\n\t\tOverflowMenuPane\n\t],\n\timports: [\n\t\tCommonModule,\n\t\tI18nModule,\n\t\tPlaceholderModule,\n\t\tExperimentalModule\n\t]\n})\nexport class DialogModule {}\n","import {\n\tEventEmitter,\n\tInjector,\n\tComponentRef,\n\tComponentFactory,\n\tComponentFactoryResolver,\n\tInjectable,\n\tViewContainerRef\n} from \"@angular/core\";\nimport { Subscription } from \"rxjs\";\nimport { DialogConfig } from \"./dialog-config.interface\";\nimport { PlaceholderService } from \"./../placeholder/placeholder.module\";\n\n/**\n * `Dialog` object to be injected into other components.\n * @export\n * @class DialogService\n */\n@Injectable()\nexport class DialogService {\n\t/**\n\t * Used in `singletonClickListen`, don't count on its existence and values.\n\t */\n\tprotected static listeningForBodyClicks = false;\n\n\t/**\n\t * Reflects the open or closed state of the `Dialog`.\n\t * @memberof DialogService\n\t */\n\tpublic isOpen = false;\n\t/**\n\t * To be used to create the component using metadata.\n\t * @type {ComponentFactory<any>}\n\t * @memberof DialogService\n\t */\n\tpublic componentFactory: ComponentFactory<any>;\n\t/**\n\t * To emit the `Dialog` closing event.\n\t * @type {EventEmitter<any>}\n\t * @memberof DialogService\n\t */\n\tpublic onClose: EventEmitter<any> = new EventEmitter();\n\t/**\n\t * Holds reference to the created `Dialog` component after creation.\n\t * @type {ComponentRef<any>}\n\t * @memberof DialogService\n\t */\n\tpublic dialogRef: ComponentRef<any>;\n\n\t/**\n\t * Emits the state `true` if the Dialog is closed, false if `Dialog`\n\t * is opened/viewable.\n\t * @type {EventEmitter<any>}\n\t * @memberof DialogService\n\t */\n\tisClosed: EventEmitter<any> = new EventEmitter();\n\n\t/**\n\t * To watch the event that closes the `Dialog`.\n\t * @protected\n\t * @type {Subscription}\n\t * @memberof DialogService\n\t */\n\tprotected dialogSubscription: Subscription;\n\n\t/**\n\t * Creates an instance of `DialogService`.\n\t * @param {ComponentFactoryResolver} componentFactoryResolver\n\t * @param {Injector} injector\n\t * @memberof DialogService\n\t */\n\tconstructor(\n\t\tprotected componentFactoryResolver: ComponentFactoryResolver,\n\t\tprotected injector: Injector,\n\t\tprotected placeholderService: PlaceholderService\n\t) {}\n\n\t/**\n\t * Uses module `componentFactory` to create the `Dialog` component.\n\t * @param {any} component\n\t * @memberof DialogService\n\t */\n\tcreate(component) {\n\t\tthis.componentFactory = this.componentFactoryResolver.resolveComponentFactory(component);\n\t}\n\n\t/**\n\t * Toggles between `Dialog` open/close states.\n\t * @param {ViewContainerRef} viewContainer\n\t * @param {DialogConfig} dialogConfig\n\t * @memberof DialogService\n\t */\n\ttoggle(viewContainer: ViewContainerRef, dialogConfig: DialogConfig) {\n\t\tif (this.isOpen) {\n\t\t\tthis.close(viewContainer);\n\t\t} else {\n\t\t\tthis.open(viewContainer, dialogConfig);\n\t\t}\n\t}\n\n\t/**\n\t * If `dialogRef` is defined, the Dialog is already open. If\n\t * `dialogRef` is undefined, we create the `Dialog` component and reference to it.\n\t * A subscription is created to track if the `Dialog` should close.\n\t * @param {ViewContainerRef} viewContainer\n\t * @param {DialogConfig} dialogConfig\n\t * @memberof DialogService\n\t */\n\topen(viewContainer: ViewContainerRef, dialogConfig: DialogConfig) {\n\t\tif (!this.dialogRef) {\n\t\t\tif (dialogConfig.appendInline) {\n\t\t\t\t// add our component to the view\n\t\t\t\tthis.dialogRef = viewContainer.createComponent(this.componentFactory, 0, this.injector);\n\t\t\t} else if (!this.placeholderService.hasPlaceholderRef()) {\n\t\t\t\tthis.dialogRef = viewContainer.createComponent(this.componentFactory, 0, this.injector);\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\twindow.document.querySelector(\"body\").appendChild(this.dialogRef.location.nativeElement);\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tthis.dialogRef = this.placeholderService.createComponent(this.componentFactory, this.injector);\n\t\t\t}\n\n\t\t\t// initialize some extra options\n\t\t\tlet focusedElement = document.activeElement;\n\t\t\tdialogConfig[\"previouslyFocusedElement\"] = focusedElement;\n\t\t\tthis.dialogRef.instance.dialogConfig = dialogConfig;\n\t\t\tthis.onClose = this.dialogRef.instance.close;\n\t\t\tthis.isOpen = true;\n\n\t\t\tthis.dialogSubscription = this.onClose.subscribe(() => {\n\t\t\t\tthis.close(viewContainer);\n\t\t\t});\n\n\t\t\tthis.dialogRef.instance.elementRef.nativeElement.focus();\n\t\t}\n\t\treturn this;\n\t}\n\n\t/**\n\t * On close of `Dialog` item, sets focus back to previous item, unsets\n\t * the current `dialogRef` item. Unsubscribes to the event of `Dialog` close.\n\t * @param {ViewContainerRef} viewContainer\n\t * @param {any} [evt]\n\t * @memberof DialogService\n\t */\n\tclose(viewContainer: ViewContainerRef) {\n\t\tthis.isClosed.emit(true);\n\n\t\tif (this.dialogRef) {\n\t\t\tlet elementToFocus = this.dialogRef.instance.dialogConfig[\"previouslyFocusedElement\"];\n\t\t\tif (this.placeholderService.hasPlaceholderRef() && !this.dialogRef.instance.dialogConfig.appendInline) {\n\t\t\t\tthis.placeholderService.destroyComponent(this.dialogRef);\n\t\t\t} else {\n\t\t\t\tviewContainer.remove(viewContainer.indexOf(this.dialogRef.hostView));\n\t\t\t}\n\t\t\tthis.dialogRef = null;\n\t\t\tthis.isOpen = false;\n\t\t\telementToFocus.focus();\n\n\t\t\tif (this.dialogSubscription) {\n\t\t\t\tthis.dialogSubscription.unsubscribe();\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Fix for safari hijacking clicks.\n\t *\n\t * Runs on `ngOnInit` of every dialog. Ensures we don't have multiple listeners\n\t * because having many of them could degrade performance in certain cases (and is\n\t * not necessary for our use case)\n\t *\n\t * This is an internally used function, can change at any point (even get removed)\n\t * and changes to it won't be considered a breaking change. Use at your own risk.\n\t */\n\tsingletonClickListen() {\n\t\tif (!DialogService.listeningForBodyClicks) {\n\t\t\tdocument.body.firstElementChild.addEventListener(\"click\", () => null, true);\n\t\t\tDialogService.listeningForBodyClicks = true;\n\t\t}\n\t}\n}\n","import {\n\tHostBinding,\n\tComponent,\n\tInput,\n\tElementRef,\n\tOutput,\n\tEventEmitter,\n\tAfterViewInit\n} from \"@angular/core\";\n\n/**\n * `OverflowMenuOption` represents a single option in an overflow menu\n *\n * Presently it has three possible states - normal, disabled, and danger:\n * ```\n * <ibm-overflow-menu-option>Simple option</ibm-overflow-menu-option>\n * <ibm-overflow-menu-option disabled=\"true\">Disabled</ibm-overflow-menu-option>\n * <ibm-overflow-menu-option type=\"danger\">Danger option</ibm-overflow-menu-option>\n * ```\n *\n * For content that expands beyond the overflow menu `OverflowMenuOption` automatically adds a title attribute.\n */\n@Component({\n\tselector: \"ibm-overflow-menu-option\",\n\ttemplate: `\n\t\t<button\n\t\t\t*ngIf=\"!href\"\n\t\t\tclass=\"bx--overflow-menu-options__btn\"\n\t\t\trole=\"menuitem\"\n\t\t\t[tabindex]=\"tabIndex\"\n\t\t\t(focus)=\"tabIndex = 0\"\n\t\t\t(blur)=\"tabIndex = -1\"\n\t\t\t(click)=\"onClick($event)\"\n\t\t\t[disabled]=\"disabled\"\n\t\t\t[attr.title]=\"title\">\n\t\t\t<ng-container *ngTemplateOutlet=\"tempOutlet\"></ng-container>\n\t\t</button>\n\n\t\t<a\n\t\t\t*ngIf=\"href\"\n\t\t\tclass=\"bx--overflow-menu-options__btn\"\n\t\t\trole=\"menuitem\"\n\t\t\t[tabindex]=\"tabIndex\"\n\t\t\t(focus)=\"tabIndex = 0\"\n\t\t\t(blur)=\"tabIndex = -1\"\n\t\t\t(click)=\"onClick($event)\"\n\t\t\t[attr.disabled]=\"disabled\"\n\t\t\t[href]=\"href\"\n\t\t\t[attr.title]=\"title\">\n\t\t\t<ng-container *ngTemplateOutlet=\"tempOutlet\"></ng-container>\n\t\t</a>\n\n\t\t<ng-template #tempOutlet>\n\t\t\t<div class=\"bx--overflow-menu-options__option-content\">\n\t\t\t\t<ng-content></ng-content>\n\t\t\t</div>\n\t\t</ng-template>\n\t`\n})\nexport class OverflowMenuOption implements AfterViewInit {\n\t@HostBinding(\"class\") optionClass = \"bx--overflow-menu-options__option\";\n\t@HostBinding(\"attr.role\") role = \"presentation\";\n\n\t@HostBinding(\"class.bx--overflow-menu-options__option--danger\")\n\tpublic get isDanger(): Boolean {\n\t\treturn this.type === \"danger\";\n\t}\n\n\t@HostBinding(\"class.bx--overflow-menu-options__option--disabled\")\n\tpublic get isDisabled(): Boolean {\n\t\treturn this.disabled;\n\t}\n\t/**\n\t * toggles between `normal` and `danger` states\n\t */\n\t@Input() type: \"normal\" | \"danger\" = \"normal\";\n\t/**\n\t * disable/enable interactions\n\t */\n\t@Input() disabled = false;\n\n\t@Input() href: string;\n\n\t@Output() selected: EventEmitter<any> = new EventEmitter();\n\n\tpublic tabIndex = -1;\n\t// note: title must be a real attribute (i.e. not a getter) as of Angular@6 due to\n\t// change after checked errors\n\tpublic title = null;\n\n\tconstructor(protected elementRef: ElementRef) {}\n\n\tonClick(event) {\n\t\tthis.selected.emit();\n\t}\n\n\tngAfterViewInit() {\n\t\tconst button = this.elementRef.nativeElement.querySelector(\"button, a\");\n\t\tif (button.scrollWidth > button.offsetWidth) {\n\t\t\tthis.title = button.textContent;\n\t\t}\n\t}\n}\n","import { Component, HostListener, ElementRef, AfterViewInit } from \"@angular/core\";\nimport { Dialog } from \"../dialog.component\";\nimport { position } from \"@carbon/utils-position\";\nimport { isFocusInLastItem, isFocusInFirstItem } from \"./../../common/tab.service\";\nimport { I18n } from \"./../../i18n/i18n.module\";\nimport { ExperimentalService } from \"./../../experimental.module\";\n\n/**\n * Extend the `Dialog` component to create an overflow menu.\n *\n * Not used directly. See overflow-menu.component and overflow-menu.directive for more\n */\n@Component({\n\tselector: \"ibm-overflow-menu-pane\",\n\ttemplate: `\n\t\t<ul\n\t\t\t[attr.aria-label]=\"dialogConfig.menuLabel\"\n\t\t\t[ngClass]=\"{'bx--overflow-menu--flip': dialogConfig.flip}\"\n\t\t\trole=\"menu\"\n\t\t\t#dialog\n\t\t\tclass=\"bx--overflow-menu-options bx--overflow-menu-options--open\"\n\t\t\trole=\"menu\"\n\t\t\t(click)=\"doClose()\"\n\t\t\t[attr.aria-label]=\"dialogConfig.menuLabel\">\n\t\t\t<ng-template\n\t\t\t\t[ngTemplateOutlet]=\"dialogConfig.content\"\n\t\t\t\t[ngTemplateOutletContext]=\"{overflowMenu: this}\">\n\t\t\t</ng-template>\n\t\t</ul>\n\t`\n})\nexport class OverflowMenuPane extends Dialog implements AfterViewInit {\n\tconstructor(protected elementRef: ElementRef, protected i18n: I18n, protected experimental: ExperimentalService) {\n\t\tsuper(elementRef);\n\t}\n\n\tonDialogInit() {\n\t\tthis.addGap[\"bottom\"] = pos => {\n\t\t\tlet offset;\n\t\t\tif (this.experimental.isExperimental) {\n\t\t\t\t/*\n\t\t\t\t* 16 is half the width of the overflow menu trigger element.\n\t\t\t\t* we also move the element by half of it's own width, since\n\t\t\t\t* position service will try and center everything\n\t\t\t\t*/\n\t\t\t\toffset = Math.round(this.dialog.nativeElement.offsetWidth / 2) - 16;\n\t\t\t} else {\n\t\t\t\t// 60 shifts the menu right to align the arrow.\n\t\t\t\toffset = 60;\n\t\t\t}\n\t\t\tif (this.dialogConfig.flip) {\n\t\t\t\treturn position.addOffset(pos, 0, -offset);\n\t\t\t}\n\t\t\treturn position.addOffset(pos, 0, offset);\n\t\t};\n\n\t\tif (!this.dialogConfig.menuLabel) {\n\t\t\tthis.dialogConfig.menuLabel = this.i18n.get().OVERFLOW_MENU.OVERFLOW;\n\t\t}\n\t}\n\n\t@HostListener(\"keydown\", [\"$event\"])\n\thostkeys(event: KeyboardEvent) {\n\t\tconst listItems = this.listItems();\n\n\t\tswitch (event.key) {\n\t\t\tcase \"Down\": // IE specific value\n\t\t\tcase \"ArrowDown\":\n\t\t\t\tevent.preventDefault();\n\t\t\t\tif (!isFocusInLastItem(event, listItems)) {\n\t\t\t\t\tconst index = listItems.findIndex(item => item === event.target);\n\t\t\t\t\tlistItems[index + 1].focus();\n\t\t\t\t} else {\n\t\t\t\t\tlistItems[0].focus();\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase \"Up\": // IE specific value\n\t\t\tcase \"ArrowUp\":\n\t\t\t\tevent.preventDefault();\n\t\t\t\tif (!isFocusInFirstItem(event, listItems)) {\n\t\t\t\t\tconst index = listItems.findIndex(item => item === event.target);\n\t\t\t\t\tlistItems[index - 1].focus();\n\t\t\t\t} else {\n\t\t\t\t\tlistItems[listItems.length - 1].focus();\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase \"Home\":\n\t\t\t\tevent.preventDefault();\n\t\t\t\tlistItems[0].focus();\n\t\t\t\tbreak;\n\n\t\t\tcase \"End\":\n\t\t\t\tevent.preventDefault();\n\t\t\t\tlistItems[listItems.length - 1].focus();\n\t\t\t\tbreak;\n\n\t\t\tcase \"Esc\": // IE specific value\n\t\t\tcase \"Escape\":\n\t\t\tcase \"Tab\":\n\t\t\t\tevent.stopImmediatePropagation();\n\t\t\t\tthis.doClose();\n\t\t\t\tbreak;\n\t\t\tdefault: break;\n\t\t}\n\t}\n\n\tafterDialogViewInit() {\n\t\tconst focusElementList = this.listItems();\n\t\tfocusElementList.forEach(button => {\n\t\t\t// Allows user to set tabindex to 0.\n\t\t\tif (button.getAttribute(\"tabindex\") === null) {\n\t\t\t\tbutton.tabIndex = -1;\n\t\t\t}\n\t\t});\n\t\tfocusElementList[0].tabIndex = 0;\n\t\tfocusElementList[0].focus();\n\t}\n\n\tprotected listItems() {\n\t\tconst selector = \".bx--overflow-menu-options__option:not([disabled]) .bx--overflow-menu-options__btn\";\n\t\treturn Array.from<HTMLElement>(this.elementRef.nativeElement.querySelectorAll(selector));\n\t}\n}\n","import {\n\tComponent,\n\tElementRef,\n\tInput,\n\tViewEncapsulation,\n\tContentChild\n} from \"@angular/core\";\nimport { I18n } from \"./../../i18n/i18n.module\";\nimport { OverflowMenuDirective } from \"./overflow-menu.directive\";\n\n/**\n * The OverFlow menu component encapsulates the OverFlowMenu directive, and the menu iconography into one convienent component\n *\n * html:\n * ```\n * <ibm-overflow-menu>\n *\t<ibm-overflow-menu-option>Option 1</ibm-overflow-menu-option>\n *\t<ibm-overflow-menu-option>Option 2</ibm-overflow-menu-option>\n * </ibm-overflow-menu>\n * ```\n */\n@Component({\n\tselector: \"ibm-overflow-menu\",\n\ttemplate: `\n\t\t<div\n\t\t\t[ibmOverflowMenu]=\"options\"\n\t\t\t[ngClass]=\"{'bx--overflow-menu--open': open}\"\n\t\t\t[attr.aria-label]=\"buttonLabel\"\n\t\t\t[flip]=\"flip\"\n\t\t\t(onOpen)=\"open = true\"\n\t\t\t(onClose)=\"open = false\"\n\t\t\trole=\"button\"\n\t\t\taria-haspopup=\"true\"\n\t\t\tclass=\"bx--overflow-menu\"\n\t\t\tplacement=\"bottom\"\n\t\t\ttabindex=\"0\">\n\t\t\t<svg focusable=\"false\" class=\"bx--overflow-menu__icon\" width=\"3\" height=\"15\" viewBox=\"0 0 3 15\">\n\t\t\t\t<g fill-rule=\"evenodd\">\n\t\t\t\t\t<circle cx=\"1.5\" cy=\"1.5\" r=\"1.5\" />\n\t\t\t\t\t<circle cx=\"1.5\" cy=\"7.5\" r=\"1.5\" />\n\t\t\t\t\t<circle cx=\"1.5\" cy=\"13.5\" r=\"1.5\" />\n\t\t\t\t</g>\n\t\t\t</svg>\n\t\t</div>\n\t\t<ng-template #options>\n\t\t\t<ng-content></ng-content>\n\t\t</ng-template>\n\t`,\n\tstyles: [`\n\t\t.bx--overflow-menu--open {\n\t\t\topacity: 1\n\t\t}\n\n\t\t/*\n\t\tRotate the overflow menu container as well as the icon, since\n\t\twe calculate our menu position based on the container, not the icon.\n\t\t*/\n\t\t.bx--data-table-v2 .bx--overflow-menu {\n\t\t\ttransform: rotate(90deg);\n\t\t}\n\n\t\t.bx--data-table-v2 .bx--overflow-menu__icon {\n\t\t\ttransform: rotate(180deg);\n\t\t}\n\t`],\n\tencapsulation: ViewEncapsulation.None\n})\nexport class OverflowMenu {\n\n\t@Input() buttonLabel = this.i18n.get().OVERFLOW_MENU.OVERFLOW;\n\n\t@Input() flip = false;\n\n\t@ContentChild(OverflowMenuDirective) overflowMenuDirective: OverflowMenuDirective;\n\n\topen = false;\n\n\tconstructor(protected elementRef: ElementRef, protected i18n: I18n) {}\n}\n","import {\n\tDirective,\n\tElementRef,\n\tViewContainerRef,\n\tInput,\n\tTemplateRef,\n\tHostListener\n} from \"@angular/core\";\nimport { DialogDirective } from \"./../dialog.directive\";\nimport { DialogService } from \"./../dialog.service\";\nimport { OverflowMenuPane } from \"./overflow-menu-pane.component\";\n\n\n/**\n * Directive for extending `Dialog` to create overflow menus.\n *\n * class: OverflowMenuDirective (extends DialogDirective)\n *\n *\n * selector: `ibmOverflowMenu`\n *\n *\n * ```html\n * <div [ibmOverflowMenu]=\"templateRef\"></div>\n * <ng-template #templateRef>\n * \t<!-- overflow menu options here -->\n * </ng-template>\n * ```\n */\n@Directive({\n\tselector: \"[ibmOverflowMenu]\",\n\texportAs: \"ibmOverflowMenu\",\n\tproviders: [\n\t\tDialogService\n\t]\n})\nexport class OverflowMenuDirective extends DialogDirective {\n\t/**\n\t * Takes a template ref of `OverflowMenuOptions`s\n\t */\n\t@Input() ibmOverflowMenu: TemplateRef<any>;\n\t/**\n\t * Controls wether the overflow menu is flipped\n\t */\n\t@Input() flip = false;\n\n\t/**\n\t * Creates an instance of `OverflowMenuDirective`.\n\t */\n\tconstructor(\n\t\tprotected elementRef: ElementRef,\n\t\tprotected viewContainerRef: ViewContainerRef,\n\t\tprotected dialogService: DialogService\n\t) {\n\t\tsuper(elementRef, viewContainerRef, dialogService);\n\t\tdialogService.create(OverflowMenuPane);\n\t}\n\n\tonDialogInit() {\n\t\tthis.dialogConfig.content = this.ibmOverflowMenu;\n\t\tthis.dialogConfig.flip = this.flip;\n\t}\n\n\t@HostListener(\"keydown\", [\"$event\"])\n\thostkeys(event: KeyboardEvent) {\n\t\tswitch (event.key) {\n\t\t\tcase \"Enter\":\n\t\t\tcase \" \":\n\t\t\t\tevent.preventDefault();\n\t\t\t\tthis.toggle();\n\t\t\t\tbreak;\n\t\t}\n\t}\n}\n","\n export var withStorySource = require('@storybook/addon-storysource').withStorySource;\n export var __STORY__ = \"import { storiesOf, moduleMetadata } from '@storybook/angular';\\nimport { withKnobs, number, boolean } from '@storybook/addon-knobs';\\n\\nimport { DialogModule } from '../../';\\nimport { PlaceholderModule } from '../../placeholder/placeholder.module';\\n\\nlet options;\\n\\nfunction createOptions(count: number): Array<string> {\\n if (options && count === options.length) {\\n return options;\\n }\\n options = Array(count)\\n .fill(0)\\n .map((x, i) => 'Option ' + (i + 1));\\n return options;\\n}\\n\\nstoriesOf('Overflow Menu', module)\\n .addDecorator(\\n moduleMetadata({\\n imports: [DialogModule, PlaceholderModule],\\n })\\n )\\n .addDecorator(withKnobs)\\n .add('Basic', () => ({\\n template: `\\n\\t\\t\\t<ibm-overflow-menu [flip]=\\\"flip\\\">\\n\\t\\t\\t\\t<ibm-overflow-menu-option (selected)=\\\"selected($event)\\\" (click)=\\\"click($event)\\\">\\n\\t\\t\\t\\t\\tAn example option that is really long to show what should be done to handle long text\\n\\t\\t\\t\\t</ibm-overflow-menu-option>\\n\\t\\t\\t\\t<ibm-overflow-menu-option (selected)=\\\"selected($event)\\\">Option 2</ibm-overflow-menu-option>\\n\\t\\t\\t\\t<li class=\\\"bx--overflow-menu-options__option\\\">\\n\\t\\t\\t\\t\\t<button class=\\\"bx--overflow-menu-options__btn\\\">A fully custom option</button>\\n\\t\\t\\t\\t</li>\\n\\t\\t\\t\\t<ibm-overflow-menu-option (selected)=\\\"selected($event)\\\">Option 4</ibm-overflow-menu-option>\\n\\t\\t\\t\\t<ibm-overflow-menu-option disabled=\\\"true\\\" (selected)=\\\"selected($event)\\\">Disabled</ibm-overflow-menu-option>\\n\\t\\t\\t\\t<ibm-overflow-menu-option type=\\\"danger\\\" (selected)=\\\"selected($event)\\\">Danger option</ibm-overflow-menu-option>\\n\\t\\t\\t</ibm-overflow-menu>\\n\\t\\t\\t<ibm-placeholder></ibm-placeholder>\\n\\t\\t`,\\n props: {\\n click: () => console.log('click'),\\n selected: () => console.log('selected'),\\n flip: boolean('Flipped', false),\\n },\\n }))\\n .add('With links', () => ({\\n template: `\\n\\t\\t\\t<ibm-overflow-menu [flip]=\\\"flip\\\" >\\n\\t\\t\\t\\t<ibm-overflow-menu-option href=\\\"https://www.ibm.com\\\" (selected)=\\\"selected($event)\\\" (click)=\\\"click($event)\\\">\\n\\t\\t\\t\\t\\tAn example option that is really long to show what should be done to handle long text\\n\\t\\t\\t\\t</ibm-overflow-menu-option>\\n\\t\\t\\t\\t<ibm-overflow-menu-option href=\\\"https://www.ibm.com\\\" (selected)=\\\"selected($event)\\\">Option 2</ibm-overflow-menu-option>\\n\\t\\t\\t\\t<ibm-overflow-menu-option href=\\\"https://www.ibm.com\\\" (selected)=\\\"selected($event)\\\">Option 3</ibm-overflow-menu-option>\\n\\t\\t\\t\\t<ibm-overflow-menu-option href=\\\"https://www.ibm.com\\\" (selected)=\\\"selected($event)\\\">Option 4</ibm-overflow-menu-option>\\n\\t\\t\\t\\t<ibm-overflow-menu-option href=\\\"https://www.ibm.com\\\" disabled=\\\"true\\\" (selected)=\\\"selected($event)\\\">Disabled</ibm-overflow-menu-option>\\n\\t\\t\\t\\t<ibm-overflow-menu-option href=\\\"https://www.ibm.com\\\" type=\\\"danger\\\" (selected)=\\\"selected($event)\\\">\\n\\t\\t\\t\\t\\tDanger option\\n\\t\\t\\t\\t</ibm-overflow-menu-option>\\n\\t\\t\\t</ibm-overflow-menu>\\n\\t\\t\\t<ibm-placeholder></ibm-placeholder>\\n\\t\\t`,\\n props: {\\n click: () => console.log('click'),\\n selected: () => console.log('selected'),\\n flip: boolean('Flipped', false),\\n },\\n }))\\n .add('Dynamic', () => ({\\n template: `\\n\\t\\t\\t<span>\\n\\t\\t\\t\\tDynamic <code style=\\\"font-family: monospace;\\\">OverflowMenu</code>,\\n\\t\\t\\t\\tusing the <code style=\\\"font-family: monospace;\\\">optionCount</code> knob <br/>\\n\\t\\t\\t\\tto change the number of menu options\\n\\t\\t\\t</span>\\n\\t\\t\\t<ibm-overflow-menu>\\n\\t\\t\\t\\t<ibm-overflow-menu-option *ngFor=\\\"let option of options(optionCount)\\\">\\n\\t\\t\\t\\t\\t{{option}}\\n\\t\\t\\t\\t</ibm-overflow-menu-option>\\n\\t\\t\\t</ibm-overflow-menu>\\n\\t\\t`,\\n props: {\\n optionCount: number('optionCount', 10),\\n options: createOptions,\\n },\\n }));\\n\";\n export var __ADDS_MAP__ = {\"overflow-menu--dynamic\":{\"startLoc\":{\"col\":7,\"line\":70},\"endLoc\":{\"col\":4,\"line\":87}},\"overflow-menu--with-links\":{\"startLoc\":{\"col\":7,\"line\":48},\"endLoc\":{\"col\":4,\"line\":69}},\"overflow-menu--basic\":{\"startLoc\":{\"col\":7,\"line\":26},\"endLoc\":{\"col\":4,\"line\":47}}};\n \n import { storiesOf, moduleMetadata } from \"@storybook/angular\";\nimport { withKnobs, number, boolean } from \"@storybook/addon-knobs\";\n\nimport { DialogModule } from \"../../\";\nimport { PlaceholderModule } from \"../../placeholder/placeholder.module\";\n\nlet options;\n\nfunction createOptions(count: number): Array<string> {\n\tif (options && count === options.length) {\n\t\treturn options;\n\t}\n\toptions = Array(count).fill(0).map((x, i) => \"Option \" + (i + 1));\n\treturn options;\n}\n\nstoriesOf(\"Overflow Menu\", module).addDecorator(withStorySource(__STORY__, __ADDS_MAP__))\n\t.addDecorator(\n\t\tmoduleMetadata({\n\t\t\timports: [\n\t\t\t\tDialogModule,\n\t\t\t\tPlaceholderModule\n\t\t\t]\n\t\t})\n\t)\n\t.addDecorator(withKnobs)\n\t.add(\"Basic\", () => ({\n\t\ttemplate: `\n\t\t\t<ibm-overflow-menu [flip]=\"flip\">\n\t\t\t\t<ibm-overflow-menu-option (selected)=\"selected($event)\" (click)=\"click($event)\">\n\t\t\t\t\tAn example option that is really long to show what should be done to handle long text\n\t\t\t\t</ibm-overflow-menu-option>\n\t\t\t\t<ibm-overflow-menu-option (selected)=\"selected($event)\">Option 2</ibm-overflow-menu-option>\n\t\t\t\t<li class=\"bx--overflow-menu-options__option\">\n\t\t\t\t\t<button class=\"bx--overflow-menu-options__btn\">A fully custom option</button>\n\t\t\t\t</li>\n\t\t\t\t<ibm-overflow-menu-option (selected)=\"selected($event)\">Option 4</ibm-overflow-menu-option>\n\t\t\t\t<ibm-overflow-menu-option disabled=\"true\" (selected)=\"selected($event)\">Disabled</ibm-overflow-menu-option>\n\t\t\t\t<ibm-overflow-menu-option type=\"danger\" (selected)=\"selected($event)\">Danger option</ibm-overflow-menu-option>\n\t\t\t</ibm-overflow-menu>\n\t\t\t<ibm-placeholder></ibm-placeholder>\n\t\t`,\n\t\tprops: {\n\t\t\tclick: () => console.log(\"click\"),\n\t\t\tselected: () => console.log(\"selected\"),\n\t\t\tflip: boolean(\"Flipped\", false)\n\t\t}\n\t}))\n\t.add(\"With links\", () => ({\n\t\ttemplate: `\n\t\t\t<ibm-overflow-menu [flip]=\"flip\" >\n\t\t\t\t<ibm-overflow-menu-option href=\"https://www.ibm.com\" (selected)=\"selected($event)\" (click)=\"click($event)\">\n\t\t\t\t\tAn example option that is really long to show what should be done to handle long text\n\t\t\t\t</ibm-overflow-menu-option>\n\t\t\t\t<ibm-overflow-menu-option href=\"https://www.ibm.com\" (selected)=\"selected($event)\">Option 2</ibm-overflow-menu-option>\n\t\t\t\t<ibm-overflow-menu-option href=\"https://www.ibm.com\" (selected)=\"selected($event)\">Option 3</ibm-overflow-menu-option>\n\t\t\t\t<ibm-overflow-menu-option href=\"https://www.ibm.com\" (selected)=\"selected($event)\">Option 4</ibm-overflow-menu-option>\n\t\t\t\t<ibm-overflow-menu-option href=\"https://www.ibm.com\" disabled=\"true\" (selected)=\"selected($event)\">Disabled</ibm-overflow-menu-option>\n\t\t\t\t<ibm-overflow-menu-option href=\"https://www.ibm.com\" type=\"danger\" (selected)=\"selected($event)\">\n\t\t\t\t\tDanger option\n\t\t\t\t</ibm-overflow-menu-option>\n\t\t\t</ibm-overflow-menu>\n\t\t\t<ibm-placeholder></ibm-placeholder>\n\t\t`,\n\t\tprops: {\n\t\t\tclick: () => console.log(\"click\"),\n\t\t\tselected: () => console.log(\"selected\"),\n\t\t\tflip: boolean(\"Flipped\", false)\n\t\t}\n\t}))\n\t.add(\"Dynamic\", () => ({\n\t\ttemplate: `\n\t\t\t<span>\n\t\t\t\tDynamic <code style=\"font-family: monospace;\">OverflowMenu</code>,\n\t\t\t\tusing the <code style=\"font-family: monospace;\">optionCount</code> knob <br/>\n\t\t\t\tto change the number of menu options\n\t\t\t</span>\n\t\t\t<ibm-overflow-menu>\n\t\t\t\t<ibm-overflow-menu-option *ngFor=\"let option of options(optionCount)\">\n\t\t\t\t\t{{option}}\n\t\t\t\t</ibm-overflow-menu-option>\n\t\t\t</ibm-overflow-menu>\n\t\t`,\n\t\tprops: {\n\t\t\toptionCount: number(\"optionCount\", 10),\n\t\t\toptions: createOptions\n\t\t}\n\t}));\n\n ","import {\n\tDirective,\n\tInput,\n\tTemplateRef,\n\tElementRef,\n\tInjector,\n\tComponentFactoryResolver,\n\tViewContainerRef\n} from \"@angular/core\";\nimport { TooltipDirective } from \"./tooltip.directive\";\nimport { DialogService } from \"./../dialog.service\";\nimport { Tooltip } from \"./tooltip.component\";\n\n\n/**\n * A directive that creates a tooltip `Dialog` for exposing truncated text.\n *\n * class: EllipsisTooltip (extends PopoverDirective)\n *\n * selector: `nEllipsisTooltip`\n *\n * ```html\n * <div class=\"ellipsis\" nEllipsisTooltip>Tooltip for ellipsis because I can and I am really really long</div>\n * ```\n *\n * @export\n * @class EllipsisTooltip\n * @extends {TooltipDirective}\n */\n@Directive({\n\tselector: \"[ibmEllipsisTooltip]\",\n\tproviders: [\n\t\tDialogService\n\t]\n})\nexport class EllipsisTooltip extends TooltipDirective {\n\t/**\n\t * Toggles tooltip in view if text is truncated.\n\t * @returns null\n\t * @memberof EllipsisTooltip\n\t */\n\ttoggle() {\n\t\tif (this.elementRef.nativeElement.scrollWidth <= this.elementRef.nativeElement.offsetWidth) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.dialogConfig.content = this.elementRef.nativeElement.innerText;\n\t\tsuper.toggle();\n\t}\n}\n","import { Component, Input, HostBinding } from \"@angular/core\";\n\n@Component({\n\tselector: \"ibm-tooltip-definition\",\n\ttemplate: `\n\t\t<button class=\"bx--tooltip__trigger\" [attr.aria-describedby]=\"id\">\n\t\t\t<ng-content></ng-content>\n\t\t</button>\n\t\t<div\n\t\t\t[id]=\"id\"\n\t\t\t[ngClass]=\"{\n\t\t\t\t'bx--tooltip--definition__bottom' : placement === 'bottom',\n\t\t\t\t'bx--tooltip--definition__top' : placement === 'top'\n\t\t\t}\"\n\t\t\trole=\"tooltip\"\n\t\t\t[attr.aria-label]=\"content\">\n\t\t\t<span class=\"bx--tooltip__caret\"></span>\n\t\t\t<p>{{content}}</p>\n\t\t</div>\n\t`\n})\nexport class TooltipDefinition {\n\tstatic tooltipItemCount = 0;\n\n\t@Input() id = `definition-tooltip-${TooltipDefinition.tooltipItemCount++}`;\n\t/**\n\t * Body content for the `TooltipDefinition`.\n\t */\n\t@Input() content: string;\n\t/**\n\t * The placement in which the `TooltipDefinition` appears.\n\t * Set to `\"top\"` to have it positioned above the trigger text\n\t */\n\t@Input() placement: \"bottom\" | \"top\" = \"bottom\";\n\n\t@HostBinding(\"class.bx--tooltip--definition\") className = true;\n}\n","import { Component, Input, HostBinding } from \"@angular/core\";\n\n@Component({\n\tselector: \"ibm-tooltip-icon\",\n\ttemplate: `\n\t\t<button\n\t\t\tclass=\"bx--tooltip__trigger\"\n\t\t\t[ngClass]=\"{\n\t\t\t\t'bx--tooltip--icon__bottom' : placement === 'bottom',\n\t\t\t\t'bx--tooltip--icon__top' : placement === 'top'\n\t\t\t}\"\n\t\t\t[attr.aria-label]=\"content\">\n\t\t\t<ng-content></ng-content>\n\t\t</button>\n\t`\n})\nexport class TooltipIcon {\n\t/**\n\t * Body content for the `TooltipIcon`.\n\t */\n\t@Input() content: string;\n\t/**\n\t * The placement in which the `TooltipIcon` appears.\n\t * Set to `\"top\"` to have it positioned above the icon\n\t */\n\t@Input() placement: \"bottom\" | \"top\" = \"bottom\";\n\n\t@HostBinding(\"class.bx--tooltip-icon\") className = true;\n}\n","import {\n\tComponent,\n\tTemplateRef,\n\tHostBinding,\n\tInput\n} from \"@angular/core\";\nimport { getFocusElementList } from \"./../../common/tab.service\";\n\nimport { Dialog } from \"./../dialog.component\";\n\n/**\n * Extend the `Dialog` component to create a tooltip for exposing content.\n */\n@Component({\n\tselector: \"ibm-tooltip\",\n\ttemplate: `\n\t\t<div\n\t\t\t#dialog\n\t\t\t[id]=\"dialogConfig.compID\"\n\t\t\t[attr.role]=\"role\"\n\t\t\tclass=\"bx--tooltip bx--tooltip--shown\">\n\t\t\t<span class=\"bx--tooltip__caret\" aria-hidden=\"true\"></span>\n\t\t\t<ng-template\n\t\t\t\t\t*ngIf=\"hasContentTemplate\"\n\t\t\t\t\t[ngTemplateOutlet]=\"dialogConfig.content\"\n\t\t\t\t\t[ngTemplateOutletContext]=\"{tooltip: this}\">\n\t\t\t</ng-template>\n\t\t\t<p\n\t\t\t\t*ngIf=\"!hasContentTemplate\">\n\t\t\t\t{{dialogConfig.content}}\n\t\t\t</p>\n\t\t</div>\n\t\t`\n})\nexport class Tooltip extends Dialog {\n\t@HostBinding(\"style.display\") style = \"inline-block\";\n\t/**\n\t * Value is set to `true` if the `Tooltip` is to display a `TemplateRef` instead of a string.\n\t */\n\tpublic hasContentTemplate = false;\n\t/**\n\t * Sets the role of the tooltip. If there's no focusable content we leave it as a `tooltip`,\n\t * if there _is_ focusable content we switch to the interactive `dialog` role.\n\t */\n\tpublic role = \"tooltip\";\n\t/**\n\t * Check whether there is a template for the `Tooltip` content.\n\t */\n\tonDialogInit() {\n\t\tthis.hasContentTemplate = this.dialogConfig.content instanceof TemplateRef;\n\t}\n\n\tafterDialogViewInit() {\n\t\tconst focusableElements = getFocusElementList(this.dialog.nativeElement);\n\t\tif (focusableElements.length > 0) {\n\t\t\tthis.role = \"dialog\";\n\t\t\tfocusableElements[0].focus();\n\t\t}\n\t}\n}\n","import {\n\tDirective,\n\tInput,\n\tTemplateRef,\n\tElementRef,\n\tInjector,\n\tComponentFactoryResolver,\n\tViewContainerRef,\n\tHostBinding\n} from \"@angular/core\";\nimport { DialogDirective } from \"./../dialog.directive\";\nimport { Tooltip } from \"./tooltip.component\";\nimport { DialogService } from \"./../dialog.service\";\n\n\n/**\n * Directive for extending `Dialog` to create tooltips.\n *\n * class: TooltipDirective (extends PopoverDirective)\n *\n *\n * selector: `nTooltip`\n *\n *\n * ```html\n * <button nTooltip=\"I am a tooltip\" placement=\"right\" trigger=\"mouseenter\" type=\"danger\">Tooltip Right</button>\n * <button nTooltip=\"I am a tooltip\" type=\"warning\">Tooltip Top warning on click</button>\n * ```\n *\n * @export\n * @class TooltipDirective\n * @extends {DialogDirective}\n */\n@Directive({\n\tselector: \"[ibmTooltip]\",\n\texportAs: \"ibmTooltip\",\n\tproviders: [\n\t\tDialogService\n\t]\n})\nexport class TooltipDirective extends DialogDirective {\n\t/**\n\t * The string or template content to be exposed by the tooltip.\n\t */\n\t@Input() ibmTooltip: string | TemplateRef<any>;\n\t/**\n\t * Set tooltip type to reflect 'warning' or 'error' styles.\n\t */\n\t// tslint:disable-next-line:no-input-rename\n\t@Input(\"tooltip-type\") tooltipType: \"warning\" | \"error\" | \"\" = \"\";\n\n\t@HostBinding(\"tabindex\") tabIndex = 0;\n\n\t@HostBinding(\"class.bx--tooltip__trigger\") className = true;\n\n\t@HostBinding(\"attr.aria-describedby\") get descriptorId(): string {\n\t\treturn this.expanded ? this.dialogConfig.compID : null;\n\t}\n\n\t/**\n\t * Creates an instance of `TooltipDirective`.\n\t */\n\tconstructor(\n\t\tprotected elementRef: ElementRef,\n\t\tprotected viewContainerRef: ViewContainerRef,\n\t\tprotected dialogService: DialogService\n\t) {\n\t\tsuper(elementRef, viewContainerRef, dialogService);\n\t\tdialogService.create(Tooltip);\n\t}\n\n\t/**\n\t * Extends the `Dialog` component's data structure with tooltip properties.\n\t */\n\tonDialogInit() {\n\t\tthis.dialogConfig.content = this.ibmTooltip;\n\t\tthis.dialogConfig.type = this.tooltipType;\n\t}\n}\n","\n export var withStorySource = require('@storybook/addon-storysource').withStorySource;\n export var __STORY__ = \"import { storiesOf, moduleMetadata } from '@storybook/angular';\\nimport { action } from '@storybook/addon-actions';\\nimport { withKnobs, text, select } from '@storybook/addon-knobs/angular';\\n\\nimport { InformationFilled16Module } from '@carbon/icons-angular/lib/information--filled/16';\\nimport { DialogModule, PlaceholderModule } from '../../';\\n\\nstoriesOf('Tooltip', module)\\n .addDecorator(\\n moduleMetadata({\\n imports: [DialogModule, PlaceholderModule, InformationFilled16Module],\\n })\\n )\\n .addDecorator(withKnobs)\\n .add('Basic', () => ({\\n template: `\\n\\t\\t\\t<div>\\n\\t\\t\\t\\t<ng-template #template let-tooltip=\\\"tooltip\\\">\\n\\t\\t\\t\\t\\t<p>This is some tooltip text. This box shows the maximum amount of text that should appear inside.\\n\\t\\t\\t\\t\\t\\tIf more room is needed please use a modal instead.</p>\\n\\t\\t\\t\\t\\t<div class=\\\"bx--tooltip__footer\\\">\\n\\t\\t\\t\\t\\t\\t<a href=\\\"/\\\" class=\\\"bx--link\\\">Learn More</a>\\n\\t\\t\\t\\t\\t\\t<button class=\\\"bx--btn bx--btn--primary\\\" (click)=\\\"tooltip.doClose()\\\">Close</button>\\n\\t\\t\\t\\t\\t</div>\\n\\t\\t\\t\\t</ng-template>\\n\\n\\t\\t\\t\\t<div class=\\\"bx--tooltip__label\\\">\\n\\t\\t\\t\\t\\t{{triggerText}}\\n\\t\\t\\t\\t\\t<span\\n\\t\\t\\t\\t\\t\\t[ibmTooltip]=\\\"template\\\"\\n\\t\\t\\t\\t\\t\\ttrigger=\\\"click\\\"\\n\\t\\t\\t\\t\\t\\t[placement]=\\\"placement\\\">\\n\\t\\t\\t\\t\\t\\t<div role=\\\"button\\\">\\n\\t\\t\\t\\t\\t\\t\\t<ibm-icon-information-filled16></ibm-icon-information-filled16>\\n\\t\\t\\t\\t\\t\\t</div>\\n\\t\\t\\t\\t\\t</span>\\n\\t\\t\\t\\t</div>\\n\\t\\t\\t\\t<ibm-placeholder></ibm-placeholder>\\n\\t\\t\\t</div>\\n\\t\\t`,\\n props: {\\n placement: select('Tooltip direction', ['bottom', 'top', 'left', 'right'], 'bottom'),\\n triggerText: text('Trigger text', 'Tooltip label'),\\n },\\n }))\\n .add('no icon', () => ({\\n template: `\\n\\t\\t\\t\\t<div>\\n\\t\\t\\t\\t\\t<ng-template #template let-tooltip=\\\"tooltip\\\">\\n\\t\\t\\t\\t\\t\\t<p>This is some tooltip text. This box shows the maximum amount of text that should appear inside.\\n\\t\\t\\t\\t\\t\\t\\tIf more room is needed please use a modal instead.</p>\\n\\t\\t\\t\\t\\t\\t<div class=\\\"bx--tooltip__footer\\\">\\n\\t\\t\\t\\t\\t\\t\\t<a href=\\\"/\\\" class=\\\"bx--link\\\">Learn More</a>\\n\\t\\t\\t\\t\\t\\t\\t<button class=\\\"bx--btn bx--btn--primary\\\" (click)=\\\"tooltip.doClose()\\\">Close</button>\\n\\t\\t\\t\\t\\t\\t</div>\\n\\t\\t\\t\\t\\t</ng-template>\\n\\n\\t\\t\\t\\t\\t<span\\n\\t\\t\\t\\t\\t\\t[ibmTooltip]=\\\"template\\\"\\n\\t\\t\\t\\t\\t\\ttrigger=\\\"click\\\"\\n\\t\\t\\t\\t\\t\\t[placement]=\\\"placement\\\">\\n\\t\\t\\t\\t\\t\\t{{triggerText}}\\n\\t\\t\\t\\t\\t</span>\\n\\t\\t\\t\\t\\t<ibm-placeholder></ibm-placeholder>\\n\\t\\t\\t\\t</div>\\n\\t\\t\\t`,\\n props: {\\n placement: select('Tooltip direction', ['bottom', 'top', 'left', 'right'], 'bottom'),\\n triggerText: text('Trigger text', 'Tooltip label'),\\n },\\n }))\\n .add('only icon', () => ({\\n template: `\\n\\t\\t\\t\\t\\t<div>\\n\\t\\t\\t\\t\\t\\t<ng-template #template let-tooltip=\\\"tooltip\\\">\\n\\t\\t\\t\\t\\t\\t\\t<p>This is some tooltip text. This box shows the maximum amount of text that should appear inside.\\n\\t\\t\\t\\t\\t\\t\\t\\tIf more room is needed please use a modal instead.</p>\\n\\t\\t\\t\\t\\t\\t\\t<div class=\\\"bx--tooltip__footer\\\">\\n\\t\\t\\t\\t\\t\\t\\t\\t<a href=\\\"/\\\" class=\\\"bx--link\\\">Learn More</a>\\n\\t\\t\\t\\t\\t\\t\\t\\t<button class=\\\"bx--btn bx--btn--primary\\\" (click)=\\\"tooltip.doClose()\\\">Close</button>\\n\\t\\t\\t\\t\\t\\t\\t</div>\\n\\t\\t\\t\\t\\t\\t</ng-template>\\n\\n\\t\\t\\t\\t\\t\\t<span\\n\\t\\t\\t\\t\\t\\t\\t[ibmTooltip]=\\\"template\\\"\\n\\t\\t\\t\\t\\t\\t\\ttrigger=\\\"click\\\"\\n\\t\\t\\t\\t\\t\\t\\t[placement]=\\\"placement\\\">\\n\\t\\t\\t\\t\\t\\t\\t<div role=\\\"button\\\" class=\\\"bx--tooltip__trigger\\\">\\n\\t\\t\\t\\t\\t\\t\\t\\t<svg focusable=\\\"false\\\" aria-label=\\\"tooltip\\\" width=\\\"16\\\" height=\\\"16\\\" viewBox=\\\"0 0 16 16\\\" role=\\\"img\\\" style=\\\"will-change: transform;\\\">\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<circle cx=\\\"8\\\" cy=\\\"3\\\" r=\\\"1\\\"></circle><circle cx=\\\"8\\\" cy=\\\"8\\\" r=\\\"1\\\"></circle><circle cx=\\\"8\\\" cy=\\\"13\\\" r=\\\"1\\\"></circle>\\n\\t\\t\\t\\t\\t\\t\\t\\t</svg>\\n\\t\\t\\t\\t\\t\\t\\t</div>\\n\\t\\t\\t\\t\\t\\t</span>\\n\\t\\t\\t\\t\\t\\t<ibm-placeholder></ibm-placeholder>\\n\\t\\t\\t\\t\\t</div>\\n\\t\\t\\t\\t`,\\n props: {\\n placement: select('Tooltip direction', ['bottom', 'top', 'left', 'right'], 'bottom'),\\n },\\n }))\\n .add('Icon tooltip', () => ({\\n template: `\\n\\t\\t\\t<ibm-tooltip-icon [placement]=\\\"placement\\\" [content]=\\\"content\\\">\\n\\t\\t\\t\\t<svg width=\\\"16\\\" height=\\\"12\\\" viewBox=\\\"0 0 16 12\\\">\\n\\t\\t\\t\\t\\t<g fill-rule=\\\"nonzero\\\">\\n\\t\\t\\t\\t\\t\\t<path d=\\\"M8.05 2a2.5 2.5 0 0 1 4.9 0H16v1h-3.05a2.5 2.5 0 0 1-4.9 0H0V2h8.05zm2.45 2a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3zM3.05\\n\\t\\t\\t\\t\\t\\t 9a2.5 2.5 0 0 1 4.9 0H16v1H7.95a2.5 2.5 0 0 1-4.9 0H0V9h3.05zm2.45 2a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3z\\\"></path>\\n\\t\\t\\t\\t\\t</g>\\n\\t\\t\\t\\t</svg>\\n\\t\\t\\t</ibm-tooltip-icon>\\n\\t\\t`,\\n props: {\\n placement: select('Tooltip direction', ['bottom', 'top'], 'bottom'),\\n content: text('Tooltip content', 'Filter'),\\n },\\n }))\\n .add('Definition tooltip', () => ({\\n template: `\\n\\t\\t\\t<ibm-tooltip-definition\\n\\t\\t\\t\\t[content]=\\\"content\\\"\\n\\t\\t\\t\\t[placement]=\\\"placement\\\">\\n\\t\\t\\t\\t{{triggerText}}\\n\\t\\t\\t</ibm-tooltip-definition>\\n\\t\\t`,\\n props: {\\n placement: select('Tooltip direction', ['bottom', 'top'], 'bottom'),\\n triggerText: text('Tooltip text', 'Definition Tooltip'),\\n content: text('Tooltip content', 'Brief description of the dotted, underlined word above.'),\\n },\\n }));\\n\";\n export var __ADDS_MAP__ = {\"tooltip--definition-tooltip\":{\"startLoc\":{\"col\":7,\"line\":117},\"endLoc\":{\"col\":4,\"line\":130}},\"tooltip--icon-tooltip\":{\"startLoc\":{\"col\":7,\"line\":101},\"endLoc\":{\"col\":4,\"line\":116}},\"tooltip--only-icon\":{\"startLoc\":{\"col\":7,\"line\":72},\"endLoc\":{\"col\":4,\"line\":100}},\"tooltip--no-icon\":{\"startLoc\":{\"col\":7,\"line\":46},\"endLoc\":{\"col\":4,\"line\":71}},\"tooltip--basic\":{\"startLoc\":{\"col\":7,\"line\":15},\"endLoc\":{\"col\":4,\"line\":45}}};\n \n import { storiesOf, moduleMetadata } from \"@storybook/angular\";\nimport { action } from \"@storybook/addon-actions\";\nimport { withKnobs, text, select } from \"@storybook/addon-knobs/angular\";\n\nimport { InformationFilled16Module } from \"@carbon/icons-angular/lib/information--filled/16\";\nimport { DialogModule, PlaceholderModule } from \"../../\";\n\nstoriesOf(\"Tooltip\", module).addDecorator(withStorySource(__STORY__, __ADDS_MAP__))\n\t.addDecorator(\n\t\tmoduleMetadata({\n\t\t\timports: [\n\t\t\t\tDialogModule,\n\t\t\t\tPlaceholderModule,\n\t\t\t\tInformationFilled16Module\n\t\t\t]\n\t\t})\n\t)\n\t.addDecorator(withKnobs)\n\t.add(\"Basic\", () => ({\n\ttemplate: `\n\t\t\t<div>\n\t\t\t\t<ng-template #template let-tooltip=\"tooltip\">\n\t\t\t\t\t<p>This is some tooltip text. This box shows the maximum amount of text that should appear inside.\n\t\t\t\t\t\tIf more room is needed please use a modal instead.</p>\n\t\t\t\t\t<div class=\"bx--tooltip__footer\">\n\t\t\t\t\t\t<a href=\"/\" class=\"bx--link\">Learn More</a>\n\t\t\t\t\t\t<button class=\"bx--btn bx--btn--primary\" (click)=\"tooltip.doClose()\">Close</button>\n\t\t\t\t\t</div>\n\t\t\t\t</ng-template>\n\n\t\t\t\t<div class=\"bx--tooltip__label\">\n\t\t\t\t\t{{triggerText}}\n\t\t\t\t\t<span\n\t\t\t\t\t\t[ibmTooltip]=\"template\"\n\t\t\t\t\t\ttrigger=\"click\"\n\t\t\t\t\t\t[placement]=\"placement\">\n\t\t\t\t\t\t<div role=\"button\">\n\t\t\t\t\t\t\t<ibm-icon-information-filled16></ibm-icon-information-filled16>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</span>\n\t\t\t\t</div>\n\t\t\t\t<ibm-placeholder></ibm-placeholder>\n\t\t\t</div>\n\t\t`,\n\t\tprops: {\n\t\t\tplacement: select(\"Tooltip direction\", [\"bottom\", \"top\", \"left\", \"right\"], \"bottom\"),\n\t\t\ttriggerText: text(\"Trigger text\", \"Tooltip label\")\n\t\t}\n\t}))\n\t.add(\"no icon\", () => ({\n\t\ttemplate: `\n\t\t\t\t<div>\n\t\t\t\t\t<ng-template #template let-tooltip=\"tooltip\">\n\t\t\t\t\t\t<p>This is some tooltip text. This box shows the maximum amount of text that should appear inside.\n\t\t\t\t\t\t\tIf more room is needed please use a modal instead.</p>\n\t\t\t\t\t\t<div class=\"bx--tooltip__footer\">\n\t\t\t\t\t\t\t<a href=\"/\" class=\"bx--link\">Learn More</a>\n\t\t\t\t\t\t\t<button class=\"bx--btn bx--btn--primary\" (click)=\"tooltip.doClose()\">Close</button>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</ng-template>\n\n\t\t\t\t\t<span\n\t\t\t\t\t\t[ibmTooltip]=\"template\"\n\t\t\t\t\t\ttrigger=\"click\"\n\t\t\t\t\t\t[placement]=\"placement\">\n\t\t\t\t\t\t{{triggerText}}\n\t\t\t\t\t</span>\n\t\t\t\t\t<ibm-placeholder></ibm-placeholder>\n\t\t\t\t</div>\n\t\t\t`,\n\t\t\tprops: {\n\t\t\t\tplacement: select(\"Tooltip direction\", [\"bottom\", \"top\", \"left\", \"right\"], \"bottom\"),\n\t\t\t\ttriggerText: text(\"Trigger text\", \"Tooltip label\")\n\t\t\t}\n\t\t}))\n\t\t.add(\"only icon\", () => ({\n\t\t\ttemplate: `\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<ng-template #template let-tooltip=\"tooltip\">\n\t\t\t\t\t\t\t<p>This is some tooltip text. This box shows the maximum amount of text that should appear inside.\n\t\t\t\t\t\t\t\tIf more room is needed please use a modal instead.</p>\n\t\t\t\t\t\t\t<div class=\"bx--tooltip__footer\">\n\t\t\t\t\t\t\t\t<a href=\"/\" class=\"bx--link\">Learn More</a>\n\t\t\t\t\t\t\t\t<button class=\"bx--btn bx--btn--primary\" (click)=\"tooltip.doClose()\">Close</button>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</ng-template>\n\n\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t[ibmTooltip]=\"template\"\n\t\t\t\t\t\t\ttrigger=\"click\"\n\t\t\t\t\t\t\t[placement]=\"placement\">\n\t\t\t\t\t\t\t<div role=\"button\" class=\"bx--tooltip__trigger\">\n\t\t\t\t\t\t\t\t<svg focusable=\"false\" aria-label=\"tooltip\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" role=\"img\" style=\"will-change: transform;\">\n\t\t\t\t\t\t\t\t\t<circle cx=\"8\" cy=\"3\" r=\"1\"></circle><circle cx=\"8\" cy=\"8\" r=\"1\"></circle><circle cx=\"8\" cy=\"13\" r=\"1\"></circle>\n\t\t\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t<ibm-placeholder></ibm-placeholder>\n\t\t\t\t\t</div>\n\t\t\t\t`,\n\t\t\t\tprops: {\n\t\t\t\t\tplacement: select(\"Tooltip direction\", [\"bottom\", \"top\", \"left\", \"right\"], \"bottom\")\n\t\t\t\t}\n\t\t\t}))\n\t.add(\"Icon tooltip\", () => ({\n\t\ttemplate: `\n\t\t\t<ibm-tooltip-icon [placement]=\"placement\" [content]=\"content\">\n\t\t\t\t<svg width=\"16\" height=\"12\" viewBox=\"0 0 16 12\">\n\t\t\t\t\t<g fill-rule=\"nonzero\">\n\t\t\t\t\t\t<path d=\"M8.05 2a2.5 2.5 0 0 1 4.9 0H16v1h-3.05a2.5 2.5 0 0 1-4.9 0H0V2h8.05zm2.45 2a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3zM3.05\n\t\t\t\t\t\t 9a2.5 2.5 0 0 1 4.9 0H16v1H7.95a2.5 2.5 0 0 1-4.9 0H0V9h3.05zm2.45 2a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3z\"></path>\n\t\t\t\t\t</g>\n\t\t\t\t</svg>\n\t\t\t</ibm-tooltip-icon>\n\t\t`,\n\t\tprops: {\n\t\t\tplacement: select(\"Tooltip direction\", [\"bottom\", \"top\"], \"bottom\"),\n\t\t\tcontent: text(\"Tooltip content\", \"Filter\")\n\t\t}\n\t}))\n\t.add(\"Definition tooltip\", () => ({\n\t\ttemplate: `\n\t\t\t<ibm-tooltip-definition\n\t\t\t\t[content]=\"content\"\n\t\t\t\t[placement]=\"placement\">\n\t\t\t\t{{triggerText}}\n\t\t\t</ibm-tooltip-definition>\n\t\t`,\n\t\tprops: {\n\t\t\tplacement: select(\"Tooltip direction\", [\"bottom\", \"top\"], \"bottom\"),\n\t\t\ttriggerText: text(\"Tooltip text\", \"Definition Tooltip\"),\n\t\t\tcontent: text(\"Tooltip content\", \"Brief description of the dotted, underlined word above.\")\n\t\t}\n\t}));\n\n ","import { Input, Output, EventEmitter } from \"@angular/core\";\nimport { ListItem } from \"./list-item.interface\";\nimport { Observable } from \"rxjs\";\n\n\n/**\n * A component that intends to be used within `Dropdown` must provide an implementation that extends this base class.\n * It also must provide the base class in the `@Component` meta-data.\n * ex: `providers: [{provide: AbstractDropdownView, useExisting: forwardRef(() => MyDropdownView)}]`\n */\nexport class AbstractDropdownView {\n\t/**\n\t * The items to be displayed in the list within the `AbstractDropDownView`.\n\t */\n\t@Input() set items(value: Array<ListItem> | Observable<Array<ListItem>>) { }\n\n\tget items(): Array<ListItem> | Observable<Array<ListItem>> { return; }\n\t/**\n\t * Emits selection events to controlling classes\n\t *\n\t * Deprecated: `Object` as a valid type.\n\t */\n\t@Output() select: EventEmitter<{item: ListItem } | ListItem[] | Object>;\n\t/**\n\t * Event to suggest a blur on the view.\n\t * Emits _after_ the first/last item has been focused.\n\t * ex.\n\t * ArrowUp -> focus first item\n\t * ArrowUp -> emit event\n\t *\n\t * It's recommended that the implementing view include a specific type union of possible blurs\n\t * ex. `@Output() blurIntent = new EventEmitter<\"top\" | \"bottom\">();`\n\t */\n\t@Output() blurIntent: EventEmitter<any>;\n\t/**\n\t * Specifies whether or not the `DropdownList` supports selecting multiple items as opposed to single\n\t * item selection.\n\t */\n\tpublic type: \"single\" | \"multi\" = \"single\";\n\t/**\n\t * Specifies the render size of the items within the `AbstractDropdownView`.\n\t */\n\tpublic size: \"sm\" | \"md\" | \"lg\" = \"md\";\n\t/**\n\t * Returns the `ListItem` that is subsequent to the selected item in the `DropdownList`.\n\t */\n\tgetNextItem(): ListItem { return; }\n\t/**\n\t * Returns a boolean if the currently selected item is preceded by another\n\t */\n\thasNextElement(): boolean { return; }\n\t/**\n\t * Returns the `HTMLElement` for the item that is subsequent to the selected item.\n\t */\n\tgetNextElement(): HTMLElement { return; }\n\t/**\n\t * Returns the `ListItem` that precedes the selected item within `DropdownList`.\n\t */\n\tgetPrevItem(): ListItem { return; }\n\t/**\n\t * Returns a boolean if the currently selected item is followed by another\n\t */\n\thasPrevElement(): boolean { return; }\n\t/**\n\t * Returns the `HTMLElement` for the item that precedes the selected item.\n\t */\n\tgetPrevElement(): HTMLElement { return; }\n\t/**\n\t * Returns the selected leaf level item(s) within the `DropdownList`.\n\t */\n\tgetSelected(): ListItem[] { return; }\n\t/**\n\t * Returns the `ListItem` that is selected within `DropdownList`.\n\t */\n\tgetCurrentItem(): ListItem { return; }\n\t/**\n\t * Returns the `HTMLElement` for the item that is selected within the `DropdownList`.\n\t */\n\tgetCurrentElement(): HTMLElement { return; }\n\t/**\n\t * Guaranteed to return the current items as an Array.\n\t */\n\tgetListItems(): Array<ListItem> { return; }\n\t/**\n\t * Transforms array input list of items to the correct state by updating the selected item(s).\n\t */\n\tpropagateSelected(value: Array<ListItem>): void {}\n\t/**\n\t *\n\t * @param value value to filter the list by\n\t */\n\tfilterBy(value: string): void {}\n\t/**\n\t * Initializes focus in the list\n\t * In most cases this just calls `getCurrentElement().focus()`\n\t */\n\tinitFocus(): void {}\n}\n","import {\n\tComponent,\n\tInput,\n\tOutput,\n\tEventEmitter,\n\tElementRef,\n\tContentChild,\n\tOnInit,\n\tViewChild,\n\tAfterContentInit,\n\tHostListener,\n\tOnDestroy\n} from \"@angular/core\";\nimport { NG_VALUE_ACCESSOR } from \"@angular/forms\";\n\n// Observable import is required here so typescript can compile correctly\nimport { Observable, fromEvent, of, Subscription } from \"rxjs\";\n\nimport { AbstractDropdownView } from \"./abstract-dropdown-view.class\";\nimport { position } from \"@carbon/utils-position\";\nimport { I18n } from \"./../i18n/i18n.module\";\nimport { ListItem } from \"./list-item.interface\";\nimport { DropdownService } from \"./dropdown.service\";\n\n/**\n * Drop-down lists enable users to select one or more items from a list.\n *\n */\n@Component({\n\tselector: \"ibm-dropdown\",\n\ttemplate: `\n\t<div\n\t\tclass=\"bx--dropdown bx--list-box\"\n\t\t[ngClass]=\"{\n\t\t\t'bx--dropdown--light': theme === 'light',\n\t\t\t'bx--list-box--inline': inline,\n\t\t\t'bx--skeleton': skeleton,\n\t\t\t'bx--dropdown--disabled bx--list-box--disabled': disabled\n\t\t}\">\n\t\t<button\n\t\t\ttype=\"button\"\n\t\t\t#dropdownButton\n\t\t\tclass=\"bx--list-box__field\"\n\t\t\t[ngClass]=\"{'a': !menuIsClosed}\"\n\t\t\t[attr.aria-expanded]=\"!menuIsClosed\"\n\t\t\t[attr.aria-disabled]=\"disabled\"\n\t\t\t(click)=\"toggleMenu()\"\n\t\t\t(blur)=\"onBlur()\"\n\t\t\t[disabled]=\"disabled\">\n\t\t\t<div\n\t\t\t\t(click)=\"clearSelected()\"\n\t\t\t\t*ngIf=\"type === 'multi' && getSelectedCount() > 0\"\n\t\t\t\tclass=\"bx--list-box__selection--multi\"\n\t\t\t\ttitle=\"Clear all selected items\">\n\t\t\t\t{{getSelectedCount()}}\n\t\t\t\t<svg\n\t\t\t\t\tfocusable=\"false\"\n\t\t\t\t\tpreserveAspectRatio=\"xMidYMid meet\"\n\t\t\t\t\tstyle=\"will-change: transform;\"\n\t\t\t\t\trole=\"img\"\n\t\t\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\t\t\twidth=\"16\"\n\t\t\t\t\theight=\"16\"\n\t\t\t\t\tviewBox=\"0 0 16 16\"\n\t\t\t\t\taria-hidden=\"true\">\n\t\t\t\t\t<path d=\"M12 4.7l-.7-.7L8 7.3 4.7 4l-.7.7L7.3 8 4 11.3l.7.7L8 8.7l3.3 3.3.7-.7L8.7 8z\"></path>\n\t\t\t\t</svg>\n\t\t\t</div>\n\t\t\t<span class=\"bx--list-box__label\">{{getDisplayValue() | async}}</span>\n\t\t\t<ibm-icon-chevron-down16\n\t\t\t\t*ngIf=\"!skeleton\"\n\t\t\t\tclass=\"bx--list-box__menu-icon\"\n\t\t\t\t[attr.aria-label]=\"menuButtonLabel\"\n\t\t\t\t[ngClass]=\"{'bx--list-box__menu-icon--open': !menuIsClosed }\">\n\t\t\t</ibm-icon-chevron-down16>\n\t\t</button>\n\t\t<div\n\t\t\t#dropdownMenu\n\t\t\t[ngClass]=\"{\n\t\t\t\t'drop-up': dropUp\n\t\t\t}\">\n\t\t\t<ng-content *ngIf=\"!menuIsClosed\"></ng-content>\n\t\t</div>\n\t</div>\n\t`,\n\tproviders: [\n\t\t{\n\t\t\tprovide: NG_VALUE_ACCESSOR,\n\t\t\tuseExisting: Dropdown,\n\t\t\tmulti: true\n\t\t}\n\t]\n})\nexport class Dropdown implements OnInit, AfterContentInit, OnDestroy {\n\t/**\n\t * Value displayed if no item is selected.\n\t */\n\t@Input() placeholder = \"\";\n\t/**\n\t * The selected value from the `Dropdown`.\n\t */\n\t@Input() displayValue = \"\";\n\t/**\n\t * Size to render the dropdown field.\n\t */\n\t@Input() size: \"sm\" | \"md\" | \"lg\" = \"md\";\n\t/**\n\t * Defines whether or not the `Dropdown` supports selecting multiple items as opposed to single\n\t * item selection.\n\t */\n\t@Input() type: \"single\" | \"multi\" = \"single\";\n\t/**\n\t * `light` or `dark` dropdown theme\n\t */\n\t@Input() theme: \"light\" | \"dark\" = \"dark\";\n\t/**\n\t * Set to `true` to disable the dropdown.\n\t */\n\t@Input() disabled = false;\n\t/**\n\t * Set to `true` for a loading dropdown.\n\t */\n\t@Input() skeleton = false;\n\t/**\n\t * Set to `true` for an inline dropdown.\n\t */\n\t@Input() inline = false;\n\t/**\n\t * Set to `true` for a dropdown without arrow key activation.\n\t */\n\t@Input() disableArrowKeys = false;\n\t/**\n\t * Deprecated. Dropdown now defaults to appending inline\n\t * Set to `true` if the `Dropdown` is to be appended to the DOM body.\n\t */\n\t@Input() set appendToBody (v) {\n\t\tconsole.log(\"`appendToBody` has been deprecated. Dropdowns now append to the body by default.\");\n\t\tconsole.log(\"Ensure you have an `ibm-placeholder` in your app.\");\n\t\tconsole.log(\"Use `appendInline` if you need to position your dropdowns within the normal page flow.\");\n\t\tthis.appendInline = !v;\n\t}\n\n\tget appendToBody() {\n\t\treturn !this.appendInline;\n\t}\n\t/**\n\t * set to `true` to place the dropdown view inline with the component\n\t */\n\t@Input() appendInline = false;\n\t/**\n\t * Query string for the element that contains the `Dropdown`.\n\t * Used to trigger closing the dropdown if it scrolls outside of the viewport of the `scrollableContainer`.\n\t */\n\t@Input() scrollableContainer: string;\n\t/**\n\t * Specifies the property to be used as the return value to `ngModel`\n\t */\n\t@Input() value: string;\n\t/**\n\t * Accessible label for the button that opens the dropdown list.\n\t * Defaults to the `DROPDOWN.OPEN` value from the i18n service.\n\t */\n\t@Input() menuButtonLabel = this.i18n.get().DROPDOWN.OPEN;\n\t/**\n\t * Provides the label for the \"# selected\" text.\n\t * Defaults to the `DROPDOWN.SELECTED` value from the i18n service.\n\t */\n\t@Input() selectedLabel = this.i18n.get().DROPDOWN.SELECTED;\n\t/**\n\t * Emits selection events.\n\t */\n\t@Output() selected: EventEmitter<Object> = new EventEmitter<Object>();\n\t/**\n\t * Emits event notifying to other classes that the `Dropdown` has been closed (collapsed).\n\t */\n\t@Output() onClose: EventEmitter<any> = new EventEmitter<any>();\n\t/**\n\t * Emits event notifying to other classes that the `Dropdown` has been closed (collapsed).\n\t */\n\t@Output() close: EventEmitter<any> = new EventEmitter<any>();\n\n\t/**\n\t * Maintains a reference to the `AbstractDropdownView` object within the content DOM.\n\t */\n\t@ContentChild(AbstractDropdownView) view: AbstractDropdownView;\n\t/**\n\t * Maintains a reference to the view DOM element of the `Dropdown` button.\n\t */\n\t@ViewChild(\"dropdownButton\") dropdownButton;\n\t/**\n\t * ViewChid of the dropdown view.\n\t */\n\t@ViewChild(\"dropdownMenu\") dropdownMenu;\n\n\t/**\n\t * Set to `true` if the dropdown is closed (not expanded).\n\t */\n\tmenuIsClosed = true;\n\n\t/**\n\t * controls wether the `drop-up` class is applied\n\t */\n\tdropUp = false;\n\n\t// .bind creates a new function, so we declare the methods below\n\t// but .bind them up here\n\tnoop = this._noop.bind(this);\n\toutsideClick = this._outsideClick.bind(this);\n\toutsideKey = this._outsideKey.bind(this);\n\tkeyboardNav = this._keyboardNav.bind(this);\n\t/**\n\t * Maintians an Event Observable Subscription for tracking scrolling within the open `Dropdown` list.\n\t */\n\tscroll: Subscription;\n\n\tprotected onTouchedCallback: () => void = this._noop;\n\n\t/**\n\t * Creates an instance of Dropdown.\n\t */\n\tconstructor(protected elementRef: ElementRef, protected i18n: I18n, protected dropdownService: DropdownService) {}\n\n\t/**\n\t * Updates the `type` property in the `@ContentChild`.\n\t * The `type` property specifies whether the `Dropdown` allows single selection or multi selection.\n\t */\n\tngOnInit() {\n\t\tif (this.view) {\n\t\t\tthis.view.type = this.type;\n\t\t}\n\t}\n\n\t/**\n\t * Initializes classes and subscribes to events for single or multi selection.\n\t */\n\tngAfterContentInit() {\n\t\tif (!this.view) {\n\t\t\treturn;\n\t\t}\n\t\tthis.view.type = this.type;\n\t\tthis.view.size = this.size;\n\t\tthis.view.select.subscribe(event => {\n\t\t\tif (this.type === \"multi\") {\n\t\t\t\tthis.propagateChange(this.view.getSelected());\n\t\t\t} else {\n\t\t\t\tthis.closeMenu();\n\t\t\t\tif (event.item && event.item.selected) {\n\t\t\t\t\tif (this.value) {\n\t\t\t\t\t\tthis.propagateChange(event.item[this.value]);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.propagateChange(event.item);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tthis.propagateChange(null);\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.selected.emit(event);\n\t\t});\n\t}\n\n\t/**\n\t * Removing the `Dropdown` from the body if it is appended to the body.\n\t */\n\tngOnDestroy() {\n\t\tif (this.appendToBody) {\n\t\t\tthis._appendToDropdown();\n\t\t}\n\t}\n\n\t/**\n\t * Propagates the injected `value`.\n\t */\n\twriteValue(value: any) {\n\t\tif (this.type === \"single\") {\n\t\t\tif (this.value) {\n\t\t\t\tconst newValue = Object.assign({}, this.view.getListItems().find(item => item[this.value] === value));\n\t\t\t\tnewValue.selected = true;\n\t\t\t\tthis.view.propagateSelected([newValue]);\n\t\t\t} else {\n\t\t\t\tthis.view.propagateSelected([value]);\n\t\t\t}\n\t\t} else {\n\t\t\tthis.view.propagateSelected(value);\n\t\t}\n\t}\n\n\tonBlur() {\n\t\tthis.onTouchedCallback();\n\t}\n\n\tregisterOnChange(fn: any) {\n\t\tthis.propagateChange = fn;\n\t}\n\n\t/**\n\t * Registering the function injected to control the touch use of the `Dropdown`.\n\t */\n\tregisterOnTouched(fn: any) {\n\t\tthis.onTouchedCallback = fn;\n\t}\n\n\tpropagateChange = (_: any) => {};\n\n\t/**\n\t * Adds keyboard functionality for navigation, selection and closing of the `Dropdown`.\n\t */\n\t@HostListener(\"keydown\", [\"$event\"])\n\t// \"Esc\", \"Spacebar\", \"Down\", and \"Up\" are IE specific values\n\tonKeyDown(event: KeyboardEvent) {\n\t\tif ((event.key === \"Escape\" || event.key === \"Esc\") && !this.menuIsClosed) {\n\t\t\tevent.stopImmediatePropagation(); // don't unintentionally close other widgets that listen for Escape\n\t\t}\n\t\tif (event.key === \"Escape\" || event.key === \"Esc\") {\n\t\t\tevent.preventDefault();\n\t\t\tthis.closeMenu();\n\t\t\tthis.dropdownButton.nativeElement.focus();\n\t\t} else if (this.menuIsClosed && (event.key === \" \" || event.key === \"ArrowDown\" || event.key === \"ArrowUp\" ||\n\t\t\tevent.key === \"Spacebar\" || event.key === \"Down\" || event.key === \"Up\")) {\n\t\t\tif (this.disableArrowKeys && (event.key === \"ArrowDown\" || event.key === \"ArrowUp\" || event.key === \"Down\" || event.key === \"Up\")) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tevent.preventDefault();\n\t\t\tthis.openMenu();\n\t\t}\n\n\t\tif (!this.menuIsClosed && event.key === \"Tab\" && this.dropdownMenu.nativeElement.contains(event.target as Node)) {\n\t\t\tthis.closeMenu();\n\t\t}\n\n\t\tif (!this.menuIsClosed && event.key === \"Tab\" && event.shiftKey) {\n\t\t\tthis.closeMenu();\n\t\t}\n\n\t\tif (this.type === \"multi\") { return; }\n\n\t\tif (this.menuIsClosed) {\n\t\t\tthis.closedDropdownNavigation(event);\n\t\t}\n\t}\n\n\tclosedDropdownNavigation(event) {\n\t\t// \"Down\", and \"Up\" are IE specific values\n\t\tif (event.key === \"ArrowDown\" || event.key === \"Down\") {\n\t\t\tevent.preventDefault();\n\t\t\tthis.view.getCurrentItem().selected = false;\n\t\t\tlet item = this.view.getNextItem();\n\t\t\tif (item) { item.selected = true; }\n\t\t} else if (event.key === \"ArrowUp\" || event.key === \"Up\") {\n\t\t\tevent.preventDefault();\n\t\t\tthis.view.getCurrentItem().selected = false;\n\t\t\tlet item = this.view.getPrevItem();\n\t\t\tif (item) { item.selected = true; }\n\t\t}\n\t}\n\n\t/**\n\t * Returns the display value if there is a selection and displayValue is set,\n\t * if there is just a selection the ListItem content property will be returned,\n\t * otherwise the placeholder will be returned.\n\t */\n\tgetDisplayValue(): Observable<string> {\n\t\tif (!this.view) {\n\t\t\treturn;\n\t\t}\n\t\tlet selected = this.view.getSelected();\n\t\tif (selected && !this.displayValue) {\n\t\t\tif (this.type === \"multi\") {\n\t\t\t\treturn of(this.placeholder);\n\t\t\t} else {\n\t\t\t\treturn of(selected[0].content);\n\t\t\t}\n\t\t} else if (selected) {\n\t\t\treturn of(this.displayValue);\n\t\t}\n\t\treturn of(this.placeholder);\n\t}\n\n\tgetSelectedCount(): number {\n\t\tif (this.view.getSelected()) {\n\t\t\treturn this.view.getSelected().length;\n\t\t}\n\t}\n\n\tclearSelected() {\n\t\tfor (const item of this.view.getListItems()) {\n\t\t\titem.selected = false;\n\t\t}\n\t}\n\n\t/**\n\t * Returns `true` if there is a value selected.\n\t */\n\tvalueSelected(): boolean {\n\t\tif (this.view.getSelected()) { return true; }\n\t\treturn false;\n\t}\n\n\t_noop() {}\n\t/**\n\t * Handles clicks outside of the `Dropdown`.\n\t */\n\t_outsideClick(event) {\n\t\tif (!this.elementRef.nativeElement.contains(event.target) &&\n\t\t\t// if we're appendToBody the list isn't within the _elementRef,\n\t\t\t// so we've got to check if our target is possibly in there too.\n\t\t\t!this.dropdownMenu.nativeElement.contains(event.target)) {\n\t\t\tthis.closeMenu();\n\t\t}\n\t}\n\t_outsideKey(event) {\n\t\tif (!this.menuIsClosed && event.key === \"Tab\" && this.dropdownMenu.nativeElement.contains(event.target as Node)) {\n\t\t\tthis.closeMenu();\n\t\t}\n\t}\n\t/**\n\t * Handles keyboard events so users are controlling the `Dropdown` instead of unintentionally controlling outside elements.\n\t */\n\t_keyboardNav(event: KeyboardEvent) {\n\t\t// \"Esc\" is an IE specific value\n\t\tif ((event.key === \"Escape\" || event.key === \"Esc\") && !this.menuIsClosed) {\n\t\t\tevent.stopImmediatePropagation(); // don't unintentionally close modal if inside of it\n\t\t}\n\t\tif (event.key === \"Escape\" || event.key === \"Esc\") {\n\t\t\tevent.preventDefault();\n\t\t\tthis.closeMenu();\n\t\t\tthis.dropdownButton.nativeElement.focus();\n\t\t} else if (!this.menuIsClosed && event.key === \"Tab\") {\n\t\t\t// this way focus will start on the next focusable item from the dropdown\n\t\t\t// not the top of the body!\n\t\t\tthis.dropdownButton.nativeElement.focus();\n\t\t\tthis.dropdownButton.nativeElement.dispatchEvent(new KeyboardEvent(\"keydown\", {bubbles: true, cancelable: true, key: \"Tab\"}));\n\t\t\tthis.closeMenu();\n\t\t}\n\t}\n\n\t/**\n\t * Creates the `Dropdown` list appending it to the dropdown parent object instead of the body.\n\t */\n\t_appendToDropdown() {\n\t\tthis.dropdownService.appendToDropdown(this.elementRef.nativeElement);\n\t\tthis.dropdownMenu.nativeElement.removeEventListener(\"keydown\", this.keyboardNav, true);\n\t}\n\n\t/**\n\t * Creates the `Dropdown` list as an element that is appended to the DOM body.\n\t */\n\t_appendToBody() {\n\t\tthis.dropdownService.appendToBody(\n\t\t\tthis.dropdownButton.nativeElement,\n\t\t\tthis.dropdownMenu.nativeElement,\n\t\t\tthis.elementRef.nativeElement.className);\n\t\tthis.dropdownMenu.nativeElement.addEventListener(\"keydown\", this.keyboardNav, true);\n\t}\n\n\t/**\n\t * Expands the dropdown menu in the view.\n\t */\n\topenMenu() {\n\t\tthis.menuIsClosed = false;\n\n\t\t// move the dropdown list to the body if we're not appending inline\n\t\t// and position it relative to the dropdown wrapper\n\t\tif (!this.appendInline) {\n\t\t\tthis.addScrollEventListener();\n\t\t\tthis._appendToBody();\n\t\t}\n\n\t\t// set the dropdown menu to drop up if it's near the bottom of the screen\n\t\t// setTimeout lets us measure after it's visible in the DOM\n\t\tsetTimeout(() => {\n\t\t\tconst menu = this.dropdownMenu.nativeElement;\n\t\t\tconst boundingClientRect = menu.getBoundingClientRect();\n\n\t\t\tif (boundingClientRect.bottom > window.innerHeight) {\n\t\t\t\t// min height of 100px\n\t\t\t\tif (window.innerHeight - boundingClientRect.top > 100) {\n\t\t\t\t\t// remove the conditional once this api is settled and part of abstract-dropdown-view.class\n\t\t\t\t\tif (this.view[\"enableScroll\"]) {\n\t\t\t\t\t\tthis.view[\"enableScroll\"]();\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tthis.dropUp = true;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tthis.dropUp = false;\n\t\t\t}\n\t\t}, 0);\n\n\t\t// we bind noop to document.body.firstElementChild to allow safari to fire events\n\t\t// from document. Then we unbind everything later to keep things light.\n\t\tdocument.body.firstElementChild.addEventListener(\"click\", this.noop, true);\n\t\tdocument.body.firstElementChild.addEventListener(\"keydown\", this.noop, true);\n\t\tdocument.addEventListener(\"click\", this.outsideClick, true);\n\t\tdocument.addEventListener(\"keydown\", this.outsideKey, true);\n\t\tsetTimeout(() => this.view.initFocus(), 0);\n\t}\n\n\t/**\n\t * Collapsing the dropdown menu and removing unnecessary `EventListeners`.\n\t */\n\tcloseMenu() {\n\t\t// return early if the menu is already closed\n\t\tif (this.menuIsClosed) { return; }\n\t\tthis.menuIsClosed = true;\n\t\tthis.onClose.emit();\n\t\tthis.close.emit();\n\n\t\t// focus the trigger button when we close ...\n\t\tthis.dropdownButton.nativeElement.focus();\n\n\t\t// remove the conditional once this api is settled and part of abstract-dropdown-view.class\n\t\tif (this.view[\"disableScroll\"]) {\n\t\t\tthis.view[\"disableScroll\"]();\n\t\t}\n\n\t\t// move the list back in the component on close\n\t\tif (!this.appendInline) {\n\t\t\tthis.removeScrollEventListener();\n\t\t\tthis._appendToDropdown();\n\t\t}\n\t\tdocument.body.firstElementChild.removeEventListener(\"click\", this.noop, true);\n\t\tdocument.body.firstElementChild.removeEventListener(\"keydown\", this.noop, true);\n\t\tdocument.removeEventListener(\"click\", this.outsideClick, true);\n\t\tdocument.removeEventListener(\"keydown\", this.outsideKey, true);\n\t}\n\n\t/**\n\t * Add scroll event listener if scrollableContainer is provided\n\t */\n\taddScrollEventListener() {\n\t\tif (this.scrollableContainer) {\n\t\t\tconst container: HTMLElement = document.querySelector(this.scrollableContainer);\n\n\t\t\tif (container) {\n\t\t\t\tthis.scroll = fromEvent(container, \"scroll\")\n\t\t\t\t.subscribe(() => {\n\t\t\t\t\tif (this.isVisibleInContainer(this.elementRef.nativeElement, container)) {\n\t\t\t\t\t\tthis.dropdownService.updatePosition(this.dropdownButton.nativeElement);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.closeMenu();\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Removes any `EventListeners` responsible for scroll functionality.\n\t */\n\tremoveScrollEventListener() {\n\t\tif (this.scroll) {\n\t\t\tthis.scroll.unsubscribe();\n\t\t}\n\t}\n\n\t/**\n\t * Controls toggling menu states between open/expanded and closed/collapsed.\n\t */\n\ttoggleMenu() {\n\t\tif (this.menuIsClosed) {\n\t\t\tthis.openMenu();\n\t\t} else {\n\t\t\tthis.closeMenu();\n\t\t}\n\t}\n\n\t/**\n\t * Returns `true` if the `elem` is visible within the `container`.\n\t */\n\tisVisibleInContainer(elem: HTMLElement, container: HTMLElement): boolean {\n\t\tconst containerTop = container.scrollTop;\n\t\tconst containerBottom = containerTop + container.offsetHeight;\n\t\tconst elemTop = elem.offsetTop + elem.offsetHeight;\n\t\tconst elemBottom = elemTop;\n\n\t\tif ((elemBottom <= containerBottom) && (elemTop >= containerTop)) {\n\t\t\treturn true;\n\t\t}\n\n\t\treturn false;\n\t}\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule } from \"@angular/forms\";\n\nimport { Dropdown } from \"./dropdown.component\";\nimport { DropdownList } from \"./list/dropdown-list.component\";\n\nimport { ScrollableList } from \"./scrollable-list.directive\";\nimport { I18nModule } from \"./../i18n/i18n.module\";\nimport { PlaceholderModule } from \"./../placeholder/placeholder.module\";\nimport { DropdownService } from \"./dropdown.service\";\nimport { ChevronDown16Module } from \"@carbon/icons-angular/lib/chevron--down/16\";\n\nexport { Dropdown } from \"./dropdown.component\";\nexport { DropdownList } from \"./list/dropdown-list.component\";\n\nexport { ScrollableList } from \"./scrollable-list.directive\";\nexport { AbstractDropdownView } from \"./abstract-dropdown-view.class\";\nexport { ListItem } from \"./list-item.interface\";\nexport { DropdownService } from \"./dropdown.service\";\n\n@NgModule({\n\tdeclarations: [\n\t\tDropdown,\n\t\tDropdownList,\n\t\tScrollableList\n\t],\n\texports: [\n\t\tDropdown,\n\t\tDropdownList,\n\t\tScrollableList\n\t],\n\timports: [\n\t\tCommonModule,\n\t\tFormsModule,\n\t\tI18nModule,\n\t\tPlaceholderModule,\n\t\tChevronDown16Module\n\t],\n\tproviders: [ DropdownService ]\n})\nexport class DropdownModule {}\n","import { Injectable, ElementRef } from \"@angular/core\";\nimport { PlaceholderService } from \"./../placeholder/placeholder.module\";\nimport { fromEvent, Subscription } from \"rxjs\";\nimport { throttleTime } from \"rxjs/operators\";\nimport { position } from \"@carbon/utils-position\";\n\nconst defaultOffset = { top: 0, left: 0 };\n\n@Injectable()\nexport class DropdownService {\n\tpublic set offset(value: { top?: number, left?: number }) {\n\t\tthis._offset = Object.assign({}, defaultOffset, value);\n\t}\n\n\tpublic get offset() {\n\t\treturn this._offset;\n\t}\n\t/**\n\t * reference to the body appended menu\n\t */\n\tprotected menuInstance: HTMLElement;\n\n\t/**\n\t * Maintains an Event Observable Subscription for tracking window resizes.\n\t * Window resizing is tracked if the `Dropdown` is appended to the body, otherwise it does not need to be supported.\n\t */\n\tprotected resize: Subscription;\n\n\tprotected _offset = defaultOffset;\n\n\tconstructor(protected placeholderService: PlaceholderService) {}\n\n\t/**\n\t * Appends the menu to the body, or a `ibm-placeholder` (if defined)\n\t *\n\t * @param parentRef container to position relative to\n\t * @param menuRef menu to be appended to body\n\t * @param classList any extra classes we should wrap the container with\n\t */\n\tappendToBody(parentRef: HTMLElement, menuRef: HTMLElement, classList): HTMLElement {\n\t\t// build the dropdown list container\n\t\tmenuRef.style.display = \"block\";\n\t\tconst dropdownWrapper = document.createElement(\"div\");\n\t\tdropdownWrapper.className = `dropdown ${classList}`;\n\t\tdropdownWrapper.style.width = parentRef.offsetWidth + \"px\";\n\t\tdropdownWrapper.style.position = \"absolute\";\n\t\tdropdownWrapper.appendChild(menuRef);\n\n\t\t// append it to the placeholder\n\t\tif (this.placeholderService.hasPlaceholderRef()) {\n\t\t\tthis.placeholderService.appendElement(dropdownWrapper);\n\t\t\t// or append it directly to the body\n\t\t} else {\n\t\t\tdocument.body.appendChild(dropdownWrapper);\n\t\t}\n\n\t\tthis.menuInstance = dropdownWrapper;\n\n\t\tthis.positionDropdown(parentRef, dropdownWrapper);\n\t\tthis.resize = fromEvent(window, \"resize\")\n\t\t\t.pipe(throttleTime(100))\n\t\t\t.subscribe(() => this.positionDropdown(parentRef, dropdownWrapper));\n\n\t\treturn dropdownWrapper;\n\t}\n\n\t/**\n\t * Reattach the dropdown menu to the parent container\n\t * @param hostRef container to append to\n\t */\n\tappendToDropdown(hostRef: HTMLElement): HTMLElement {\n\t\t// if the instance is already removed don't try and remove it again\n\t\tif (!this.menuInstance) { return; }\n\t\tconst instance = this.menuInstance;\n\t\tconst menu = instance.firstElementChild as HTMLElement;\n\t\t// clean up the instance\n\t\tthis.menuInstance = null;\n\t\tmenu.style.display = \"none\";\n\t\thostRef.appendChild(menu);\n\t\tthis.resize.unsubscribe();\n\t\tif (this.placeholderService.hasPlaceholderRef() && this.placeholderService.hasElement(instance)) {\n\t\t\tthis.placeholderService.removeElement(instance);\n\t\t} else if (document.body.contains(instance)) {\n\t\t\tdocument.body.removeChild(instance);\n\t\t}\n\t\treturn instance;\n\t}\n\n\t/**\n\t * position an open dropdown relative to the given parentRef\n\t */\n\tupdatePosition(parentRef) {\n\t\tthis.positionDropdown(parentRef, this.menuInstance);\n\t}\n\n\tprotected positionDropdown(parentRef, menuRef) {\n\t\tlet pos = position.findAbsolute(parentRef, menuRef, \"bottom\");\n\t\tpos = position.addOffset(pos, this.offset.top, this.offset.left);\n\t\tposition.setElement(menuRef, pos);\n\t}\n}\n","\n export var withStorySource = require('@storybook/addon-storysource').withStorySource;\n export var __STORY__ = \"import { storiesOf, moduleMetadata } from '@storybook/angular';\\nimport { action } from '@storybook/addon-actions';\\nimport { withKnobs, select, boolean, object, text } from '@storybook/addon-knobs/angular';\\n\\nimport { DropdownModule } from '../';\\nimport { of } from 'rxjs';\\nimport { PlaceholderModule } from '../placeholder/placeholder.module';\\n\\nstoriesOf('Dropdown', module)\\n .addDecorator(\\n moduleMetadata({\\n imports: [DropdownModule, PlaceholderModule],\\n })\\n )\\n .addDecorator(withKnobs)\\n .add('Basic', () => ({\\n template: `\\n\\t\\t<div style=\\\"width: 300px\\\">\\n\\t\\t\\t<ibm-dropdown\\n\\t\\t\\t\\t[theme]=\\\"theme\\\"\\n\\t\\t\\t\\tplaceholder=\\\"Select\\\"\\n\\t\\t\\t\\t[disabled]=\\\"disabled\\\"\\n\\t\\t\\t\\t(selected)=\\\"selected($event)\\\"\\n\\t\\t\\t\\t(onClose)=\\\"onClose($event)\\\">\\n\\t\\t\\t\\t<ibm-dropdown-list [items]=\\\"items\\\"></ibm-dropdown-list>\\n\\t\\t\\t</ibm-dropdown>\\n\\t\\t</div>\\n\\t\\t<ibm-placeholder></ibm-placeholder>\\n\\t`,\\n props: {\\n disabled: boolean('disabled', false),\\n items: object('items', [{ content: 'one' }, { content: 'two' }, { content: 'three' }, { content: 'four' }]),\\n selected: action('Selected fired for dropdown'),\\n onClose: action('Dropdown closed'),\\n theme: select('theme', ['dark', 'light'], 'dark'),\\n },\\n }))\\n .add('Multi-select', () => ({\\n template: `\\n\\t\\t<div style=\\\"width: 300px\\\">\\n\\t\\t\\t<ibm-dropdown\\n\\t\\t\\t\\ttype=\\\"multi\\\"\\n\\t\\t\\t\\tplaceholder=\\\"Multi-select\\\"\\n\\t\\t\\t\\t[disabled]=\\\"disabled\\\"\\n\\t\\t\\t\\t(selected)=\\\"selected($event)\\\"\\n\\t\\t\\t\\t(onClose)=\\\"onClose($event)\\\">\\n\\t\\t\\t\\t<ibm-dropdown-list [items]=\\\"items\\\"></ibm-dropdown-list>\\n\\t\\t\\t</ibm-dropdown>\\n\\t\\t</div>\\n\\t`,\\n props: {\\n disabled: boolean('disabled', false),\\n items: object('items', [{ content: 'one' }, { content: 'two' }, { content: 'three' }, { content: 'four' }]),\\n selected: action('Selected fired for multi-select dropdown'),\\n onClose: action('Multi-select dropdown closed'),\\n },\\n }))\\n .add('With ngModel', () => ({\\n template: `\\n\\t\\t<div style=\\\"width: 300px\\\">\\n\\t\\t\\t<ibm-dropdown\\n\\t\\t\\t\\tplaceholder=\\\"Select\\\"\\n\\t\\t\\t\\t[disabled]=\\\"disabled\\\"\\n\\t\\t\\t\\t[(ngModel)]=\\\"model\\\"\\n\\t\\t\\t\\tvalue=\\\"content\\\">\\n\\t\\t\\t\\t<ibm-dropdown-list [items]=\\\"items\\\"></ibm-dropdown-list>\\n\\t\\t\\t</ibm-dropdown>\\n\\t\\t\\t<span>{{model | json}}</span>\\n\\t\\t</div>\\n\\t\\t`,\\n props: {\\n disabled: boolean('disabled', false),\\n items: [{ content: 'one' }, { content: 'two' }, { content: 'three' }, { content: 'four' }],\\n model: null,\\n },\\n }))\\n .add('With Observable items', () => ({\\n template: `\\n\\t\\t<div style=\\\"width: 300px\\\">\\n\\t\\t\\t<ibm-dropdown\\n\\t\\t\\t\\t[theme]=\\\"theme\\\"\\n\\t\\t\\t\\tplaceholder=\\\"Select\\\"\\n\\t\\t\\t\\t[disabled]=\\\"disabled\\\"\\n\\t\\t\\t\\t(selected)=\\\"selected($event)\\\"\\n\\t\\t\\t\\t(onClose)=\\\"onClose($event)\\\">\\n\\t\\t\\t\\t<ibm-dropdown-list [items]=\\\"items\\\"></ibm-dropdown-list>\\n\\t\\t\\t</ibm-dropdown>\\n\\t\\t</div>\\n\\t`,\\n props: {\\n disabled: boolean('disabled', false),\\n items: of([{ content: 'one' }, { content: 'two' }, { content: 'three' }, { content: 'four' }]),\\n selected: action('Selected fired for dropdown'),\\n onClose: action('Dropdown closed'),\\n theme: select('theme', ['dark', 'light'], 'dark'),\\n },\\n }))\\n .add('Skeleton', () => ({\\n template: `\\n\\t\\t<div style=\\\"width: 300px\\\">\\n\\t\\t\\t<ibm-dropdown skeleton=\\\"true\\\">\\n\\t\\t\\t\\t<ibm-dropdown-list [items]=\\\"items\\\"></ibm-dropdown-list>\\n\\t\\t\\t</ibm-dropdown>\\n\\t\\t\\t&nbsp;\\n\\t\\t\\t<ibm-dropdown skeleton=\\\"true\\\" inline=\\\"true\\\">\\n\\t\\t\\t\\t<ibm-dropdown-list [items]=\\\"items\\\"></ibm-dropdown-list>\\n\\t\\t\\t</ibm-dropdown>\\n\\t\\t</div>\\n\\t\\t`,\\n props: {\\n items: [{ content: 'one' }, { content: 'two' }, { content: 'three' }, { content: 'four' }],\\n },\\n }));\\n\";\n export var __ADDS_MAP__ = {\"dropdown--skeleton\":{\"startLoc\":{\"col\":7,\"line\":98},\"endLoc\":{\"col\":4,\"line\":113}},\"dropdown--with-observable-items\":{\"startLoc\":{\"col\":7,\"line\":77},\"endLoc\":{\"col\":4,\"line\":97}},\"dropdown--with-ngmodel\":{\"startLoc\":{\"col\":7,\"line\":58},\"endLoc\":{\"col\":4,\"line\":76}},\"dropdown--multi-select\":{\"startLoc\":{\"col\":7,\"line\":38},\"endLoc\":{\"col\":4,\"line\":57}},\"dropdown--basic\":{\"startLoc\":{\"col\":7,\"line\":16},\"endLoc\":{\"col\":4,\"line\":37}}};\n \n import { storiesOf, moduleMetadata } from \"@storybook/angular\";\nimport { action } from \"@storybook/addon-actions\";\nimport { withKnobs, select, boolean, object, text } from \"@storybook/addon-knobs/angular\";\n\nimport { DropdownModule } from \"../\";\nimport { of } from \"rxjs\";\nimport { PlaceholderModule } from \"../placeholder/placeholder.module\";\n\nstoriesOf(\"Dropdown\", module).addDecorator(withStorySource(__STORY__, __ADDS_MAP__))\n\t.addDecorator(\n\t\tmoduleMetadata({\n\t\t\timports: [\n\t\t\t\tDropdownModule,\n\t\t\t\tPlaceholderModule\n\t\t\t]\n\t\t})\n\t)\n\t.addDecorator(withKnobs)\n\t.add(\"Basic\", () => ({\n\t\ttemplate: `\n\t\t<div style=\"width: 300px\">\n\t\t\t<ibm-dropdown\n\t\t\t\t[theme]=\"theme\"\n\t\t\t\tplaceholder=\"Select\"\n\t\t\t\t[disabled]=\"disabled\"\n\t\t\t\t(selected)=\"selected($event)\"\n\t\t\t\t(onClose)=\"onClose($event)\">\n\t\t\t\t<ibm-dropdown-list [items]=\"items\"></ibm-dropdown-list>\n\t\t\t</ibm-dropdown>\n\t\t</div>\n\t\t<ibm-placeholder></ibm-placeholder>\n\t`,\n\t\tprops: {\n\t\t\tdisabled: boolean(\"disabled\", false),\n\t\t\titems: object(\"items\", [\n\t\t\t\t{ content: \"one\" },\n\t\t\t\t{ content: \"two\" },\n\t\t\t\t{ content: \"three\" },\n\t\t\t\t{ content: \"four\" }\n\t\t\t]),\n\t\t\tselected: action(\"Selected fired for dropdown\"),\n\t\t\tonClose: action(\"Dropdown closed\"),\n\t\t\ttheme: select(\"theme\", [\"dark\", \"light\"], \"dark\")\n\t\t}\n\t}))\n\t.add(\"Multi-select\", () => ({\n\t\ttemplate: `\n\t\t<div style=\"width: 300px\">\n\t\t\t<ibm-dropdown\n\t\t\t\ttype=\"multi\"\n\t\t\t\tplaceholder=\"Multi-select\"\n\t\t\t\t[disabled]=\"disabled\"\n\t\t\t\t(selected)=\"selected($event)\"\n\t\t\t\t(onClose)=\"onClose($event)\">\n\t\t\t\t<ibm-dropdown-list [items]=\"items\"></ibm-dropdown-list>\n\t\t\t</ibm-dropdown>\n\t\t</div>\n\t`,\n\t\tprops: {\n\t\t\tdisabled: boolean(\"disabled\", false),\n\t\t\titems: object(\"items\", [\n\t\t\t\t{ content: \"one\" },\n\t\t\t\t{ content: \"two\" },\n\t\t\t\t{ content: \"three\" },\n\t\t\t\t{ content: \"four\" }\n\t\t\t]),\n\t\t\tselected: action(\"Selected fired for multi-select dropdown\"),\n\t\t\tonClose: action(\"Multi-select dropdown closed\")\n\t\t}\n\t}))\n\t.add(\"With ngModel\", () => ({\n\t\ttemplate: `\n\t\t<div style=\"width: 300px\">\n\t\t\t<ibm-dropdown\n\t\t\t\tplaceholder=\"Select\"\n\t\t\t\t[disabled]=\"disabled\"\n\t\t\t\t[(ngModel)]=\"model\"\n\t\t\t\tvalue=\"content\">\n\t\t\t\t<ibm-dropdown-list [items]=\"items\"></ibm-dropdown-list>\n\t\t\t</ibm-dropdown>\n\t\t\t<span>{{model | json}}</span>\n\t\t</div>\n\t\t`,\n\t\tprops: {\n\t\t\tdisabled: boolean(\"disabled\", false),\n\t\t\titems: [\n\t\t\t\t{ content: \"one\" },\n\t\t\t\t{ content: \"two\" },\n\t\t\t\t{ content: \"three\" },\n\t\t\t\t{ content: \"four\" }\n\t\t\t],\n\t\t\tmodel: null\n\t\t}\n\t}))\n\t.add(\"With Observable items\", () => ({\n\t\ttemplate: `\n\t\t<div style=\"width: 300px\">\n\t\t\t<ibm-dropdown\n\t\t\t\t[theme]=\"theme\"\n\t\t\t\tplaceholder=\"Select\"\n\t\t\t\t[disabled]=\"disabled\"\n\t\t\t\t(selected)=\"selected($event)\"\n\t\t\t\t(onClose)=\"onClose($event)\">\n\t\t\t\t<ibm-dropdown-list [items]=\"items\"></ibm-dropdown-list>\n\t\t\t</ibm-dropdown>\n\t\t</div>\n\t`,\n\t\tprops: {\n\t\t\tdisabled: boolean(\"disabled\", false),\n\t\t\titems: of([\n\t\t\t\t{ content: \"one\" },\n\t\t\t\t{ content: \"two\" },\n\t\t\t\t{ content: \"three\" },\n\t\t\t\t{ content: \"four\" }\n\t\t\t]),\n\t\t\tselected: action(\"Selected fired for dropdown\"),\n\t\t\tonClose: action(\"Dropdown closed\"),\n\t\t\ttheme: select(\"theme\", [\"dark\", \"light\"], \"dark\")\n\t\t}\n\t}))\n\t.add(\"Skeleton\", () => ({\n\t\ttemplate: `\n\t\t<div style=\"width: 300px\">\n\t\t\t<ibm-dropdown skeleton=\"true\">\n\t\t\t\t<ibm-dropdown-list [items]=\"items\"></ibm-dropdown-list>\n\t\t\t</ibm-dropdown>\n\t\t\t&nbsp;\n\t\t\t<ibm-dropdown skeleton=\"true\" inline=\"true\">\n\t\t\t\t<ibm-dropdown-list [items]=\"items\"></ibm-dropdown-list>\n\t\t\t</ibm-dropdown>\n\t\t</div>\n\t\t`,\n\t\tprops: {\n\t\t\titems: [\n\t\t\t\t{ content: \"one\" },\n\t\t\t\t{ content: \"two\" },\n\t\t\t\t{ content: \"three\" },\n\t\t\t\t{ content: \"four\" }\n\t\t\t]\n\t\t}\n\t}));\n\n ","import { Observable, fromEvent } from \"rxjs\";\nimport { debounceTime, map, filter } from \"rxjs/operators\";\n\n/**\n * returns an observable bound to keydown events that\n * filters to a single element where the first letter of\n * it's textContent matches the key pressed\n *\n * @param {HTMLElement} target element to watch\n * @param {Array<HTMLElement>} elements elements to search\n */\nexport function watchFocusJump(target: HTMLElement, elements): Observable<HTMLElement> {\n\treturn fromEvent(target, \"keydown\")\n\t\t.pipe(\n\t\t\tdebounceTime(150),\n\t\t\tmap((ev: KeyboardEvent) => {\n\t\t\t\tlet el = elements.find((itemEl) =>\n\t\t\t\t\titemEl.textContent.trim().toLowerCase().startsWith(ev.key));\n\t\t\t\tif (el) { return el; }\n\t\t\t}),\n\t\t\tfilter(el => !!el)\n\t\t);\n}\n\n/** bundle of functions to aid in manipulating tree structures */\nexport const treetools = {\n\t/** finds an item in a set of items and returns the item and path to the item as an array */\n\tfind: function(items, itemToFind, path = []) {\n\t\tlet found;\n\t\tfor (let i of items) {\n\t\t\tif (i === itemToFind) {\n\t\t\t\tpath.push(i);\n\t\t\t\tfound = i;\n\t\t\t}\n\t\t\tif (i.items && !found) {\n\t\t\t\tpath.push(i);\n\t\t\t\tfound = this.find(i.items, itemToFind, path).found;\n\t\t\t\tif (!found) { path = []; }\n\t\t\t}\n\t\t}\n\t\treturn {found, path};\n\t}\n};\n","import {\n\tComponent,\n\tInput,\n\tOutput,\n\tOnDestroy,\n\tEventEmitter,\n\tTemplateRef,\n\tAfterViewInit,\n\tViewChild,\n\tElementRef,\n\tViewChildren,\n\tQueryList\n} from \"@angular/core\";\n\nimport { I18n } from \"../../i18n/i18n.module\";\nimport { AbstractDropdownView } from \"./../abstract-dropdown-view.class\";\nimport { ListItem } from \"./../list-item.interface\";\nimport { watchFocusJump } from \"./../dropdowntools\";\nimport { ScrollableList } from \"./../scrollable-list.directive\";\nimport { Observable, isObservable, Subscription } from \"rxjs\";\n\n\n/**\n * ```html\n * <ibm-dropdown-list [items]=\"listItems\"></ibm-dropdown-list>\n * ```\n * ```typescript\n * listItems = [\n * \t{\n * \t\tcontent: \"item one\",\n * \t\tselected: false\n * \t},\n * \t{\n * \t\tcontent: \"item two\",\n * \t\tselected: false,\n * \t},\n * \t{\n * \t\tcontent: \"item three\",\n * \t\tselected: false\n * \t},\n * \t{\n * \t\tcontent: \"item four\",\n * \t\tselected: false\n * \t}\n * ];\n * ```\n */\n@Component({\n\tselector: \"ibm-dropdown-list\",\n\ttemplate: `\n\t\t<ul\n\t\t\t#list\n\t\t\trole=\"listbox\"\n\t\t\tclass=\"bx--list-box__menu bx--multi-select\"\n\t\t\t[attr.aria-label]=\"ariaLabel\">\n\t\t\t<li\n\t\t\t\t#listItem\n\t\t\t\ttabindex=\"-1\"\n\t\t\t\trole=\"option\"\n\t\t\t\t*ngFor=\"let item of displayItems; let i = index\"\n\t\t\t\t(click)=\"doClick($event, item)\"\n\t\t\t\t(keydown)=\"doKeyDown($event, item)\"\n\t\t\t\t(focus)=\"onItemFocus(i)\"\n\t\t\t\t(blur)=\"onItemBlur(i)\"\n\t\t\t\tclass=\"bx--list-box__menu-item\"\n\t\t\t\t[ngClass]=\"{\n\t\t\t\t\t'bx--list-box__menu-item--active': item.selected,\n\t\t\t\t\tdisabled: item.disabled\n\t\t\t\t}\">\n\t\t\t\t<div class=\"bx--list-box__menu-item__option\">\n\t\t\t\t\t<div\n\t\t\t\t\t\t*ngIf=\"!listTpl && type === 'multi'\"\n\t\t\t\t\t\tclass=\"bx--form-item bx--checkbox-wrapper\">\n\t\t\t\t\t\t<label\n\t\t\t\t\t\t\t[attr.data-contained-checkbox-state]=\"item.selected\"\n\t\t\t\t\t\t\tclass=\"bx--checkbox-label\">\n\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\tclass=\"bx--checkbox\"\n\t\t\t\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\t\t\t\t[checked]=\"item.selected\"\n\t\t\t\t\t\t\t\t[disabled]=\"item.disabled\"\n\t\t\t\t\t\t\t\t(click)=\"doClick($event, item)\"\n\t\t\t\t\t\t\t\ttabindex=\"-1\">\n\t\t\t\t\t\t\t<span class=\"bx--checkbox-appearance\"></span>\n\t\t\t\t\t\t\t<span class=\"bx--checkbox-label-text\">{{item.content}}</span>\n\t\t\t\t\t\t</label>\n\t\t\t\t\t</div>\n\t\t\t\t\t<ng-container *ngIf=\"!listTpl && type === 'single'\">{{item.content}}</ng-container>\n\t\t\t\t\t<ng-template\n\t\t\t\t\t\t*ngIf=\"listTpl\"\n\t\t\t\t\t\t[ngTemplateOutletContext]=\"{item: item}\"\n\t\t\t\t\t\t[ngTemplateOutlet]=\"listTpl\">\n\t\t\t\t\t</ng-template>\n\t\t\t\t</div>\n\t\t\t</li>\n\t\t</ul>`,\n\tproviders: [\n\t\t{\n\t\t\tprovide: AbstractDropdownView,\n\t\t\tuseExisting: DropdownList\n\t\t}\n\t]\n})\nexport class DropdownList implements AbstractDropdownView, AfterViewInit, OnDestroy {\n\t@Input() ariaLabel = this.i18n.get().DROPDOWN_LIST.LABEL;\n\t/**\n\t * The list items belonging to the `DropdownList`.\n\t */\n\t@Input() set items (value: Array<ListItem> | Observable<Array<ListItem>>) {\n\t\tif (isObservable(value)) {\n\t\t\tif (this._itemsSubscription) {\n\t\t\t\tthis._itemsSubscription.unsubscribe();\n\t\t\t}\n\t\t\tthis._itemsSubscription = value.subscribe(v => this.updateList(v));\n\t\t} else {\n\t\t\tthis.updateList(value);\n\t\t}\n\t\tthis._originalItems = value;\n\t}\n\n\tget items(): Array<ListItem> | Observable<Array<ListItem>> {\n\t\treturn this._originalItems;\n\t}\n\t/**\n\t * Template to bind to items in the `DropdownList` (optional).\n\t */\n\t@Input() listTpl: string | TemplateRef<any> = null;\n\t/**\n\t * Event to emit selection of a list item within the `DropdownList`.\n\t */\n\t@Output() select: EventEmitter<Object> = new EventEmitter<Object>();\n\t/**\n\t * Event to suggest a blur on the view.\n\t * Emits _after_ the first/last item has been focused.\n\t * ex.\n\t * ArrowUp -> focus first item\n\t * ArrowUp -> emit event\n\t *\n\t * When this event fires focus should be placed on some element outside of the list - blurring the list as a result\n\t */\n\t@Output() blurIntent = new EventEmitter<\"top\" | \"bottom\">();\n\t/**\n\t * Maintains a reference to the view DOM element for the unordered list of items within the `DropdownList`.\n\t */\n\t@ViewChild(\"list\") list: ElementRef;\n\t/**\n\t * Defines whether or not the `DropdownList` supports selecting multiple items as opposed to single\n\t * item selection.\n\t */\n\t@Input() type: \"single\" | \"multi\" = \"single\";\n\t/**\n\t * Defines the rendering size of the `DropdownList` input component.\n\t */\n\tpublic size: \"sm\" | \"md\" | \"lg\" = \"md\";\n\t/**\n\t * Holds the list of items that will be displayed in the `DropdownList`.\n\t * It differs from the the complete set of items when filtering is used (but\n\t * it is always a subset of the total items in `DropdownList`).\n\t */\n\tpublic displayItems: Array<ListItem> = [];\n\t/**\n\t * Maintains the index for the selected item within the `DropdownList`.\n\t */\n\tprotected index = -1;\n\t/**\n\t * An array holding the HTML list elements in the view.\n\t */\n\t@ViewChildren(\"listItem\") protected listElementList: QueryList<ElementRef>;\n\t/**\n\t * Observable bound to keydown events to control filtering.\n\t */\n\tprotected focusJump;\n\t/**\n\t * Tracks the current (if any) subscription to the items observable so we can clean up when the input is updated.\n\t */\n\tprotected _itemsSubscription: Subscription;\n\t/**\n\t * Used to retain the original items passed to the setter.\n\t */\n\tprotected _originalItems: Array<ListItem> | Observable<Array<ListItem>>;\n\t/**\n\t * Useful representation of the items, should be accessed via `getListItems`.\n\t */\n\tprotected _items: Array<ListItem> = [];\n\n\t/**\n\t * Creates an instance of `DropdownList`.\n\t */\n\tconstructor(public elementRef: ElementRef, protected i18n: I18n) {}\n\n\t/**\n\t * Retrieves array of list items and index of the selected item after view has rendered.\n\t * Additionally, any Observables for the `DropdownList` are initialized.\n\t */\n\tngAfterViewInit() {\n\t\tthis.index = this.getListItems().findIndex(item => item.selected);\n\t\tthis.setupFocusObservable();\n\t}\n\n\t/**\n\t * Removes any Observables on destruction of the component.\n\t */\n\tngOnDestroy() {\n\t\tif (this.focusJump) {\n\t\t\tthis.focusJump.unsubscribe();\n\t\t}\n\t}\n\n\t/**\n\t * Updates the displayed list of items and then retrieves the most current properties for the `DropdownList` from the DOM.\n\t */\n\tupdateList(items) {\n\t\tthis._items = items.map(item => Object.assign({}, item));\n\t\tthis.displayItems = this._items;\n\t\tthis.index = this._items.findIndex(item => item.selected);\n\t\tthis.setupFocusObservable();\n\t\tsetTimeout(() => {\n\t\t\tif (!this.getSelected()) { return; }\n\t\t\tif (this.type === \"single\") {\n\t\t\t\tthis.select.emit({ item: this._items.find(item => item.selected) });\n\t\t\t} else {\n\t\t\t\tthis.select.emit(this.getSelected() || []);\n\t\t\t}\n\t\t});\n\t}\n\n\t/**\n\t * Filters the items being displayed in the DOM list.\n\t */\n\tfilterBy(query = \"\") {\n\t\tif (query) {\n\t\t\tthis.displayItems = this.getListItems().filter(item => item.content.toLowerCase().includes(query.toLowerCase()));\n\t\t} else {\n\t\t\tthis.displayItems = this.getListItems();\n\t\t}\n\t\t// reset the index since the list has changed visually\n\t\tthis.index = 0;\n\t}\n\n\t/**\n\t * Initializes (or re-initializes) the Observable that handles switching focus to an element based on\n\t * key input matching the first letter of the item in the list.\n\t */\n\tsetupFocusObservable() {\n\t\tif (this.focusJump) {\n\t\t\tthis.focusJump.unsubscribe();\n\t\t}\n\t\tlet elList = Array.from(this.list.nativeElement.querySelectorAll(\"li\"));\n\t\tthis.focusJump = watchFocusJump(this.list.nativeElement, elList)\n\t\t\t.subscribe(el => {\n\t\t\t\tel.focus();\n\t\t\t});\n\t}\n\n\t/**\n\t * Returns the `ListItem` that is subsequent to the selected item in the `DropdownList`.\n\t */\n\tgetNextItem(): ListItem {\n\t\tif (this.index < this.displayItems.length - 1) {\n\t\t\tthis.index++;\n\t\t}\n\t\treturn this.displayItems[this.index];\n\t}\n\n\t/**\n\t * Returns `true` if the selected item is not the last item in the `DropdownList`.\n\t * TODO: standardize\n\t */\n\thasNextElement(): boolean {\n\t\tif (this.index < this.displayItems.length - 1) {\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\t/**\n\t * Returns the `HTMLElement` for the item that is subsequent to the selected item.\n\t */\n\tgetNextElement(): HTMLElement {\n\t\tif (this.index < this.displayItems.length - 1) {\n\t\t\tthis.index++;\n\t\t}\n\t\tlet elem = this.listElementList.toArray()[this.index].nativeElement;\n\t\tlet item = this.displayItems[this.index];\n\t\tif (item.disabled) {\n\t\t\treturn this.getNextElement();\n\t\t}\n\t\treturn elem;\n\t}\n\n\t/**\n\t * Returns the `ListItem` that precedes the selected item within `DropdownList`.\n\t */\n\tgetPrevItem(): ListItem {\n\t\tif (this.index > 0) {\n\t\t\tthis.index--;\n\t\t}\n\t\treturn this.displayItems[this.index];\n\t}\n\n\t/**\n\t * Returns `true` if the selected item is not the first in the list.\n\t * TODO: standardize\n\t */\n\thasPrevElement(): boolean {\n\t\tif (this.index > 0) {\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\t/**\n\t * Returns the `HTMLElement` for the item that precedes the selected item.\n\t */\n\tgetPrevElement(): HTMLElement {\n\t\tif (this.index > 0) {\n\t\t\tthis.index--;\n\t\t}\n\t\tlet elem = this.listElementList.toArray()[this.index].nativeElement;\n\t\tlet item = this.displayItems[this.index];\n\t\tif (item.disabled) {\n\t\t\treturn this.getPrevElement();\n\t\t}\n\t\treturn elem;\n\t}\n\n\t/**\n\t * Returns the `ListItem` that is selected within `DropdownList`.\n\t */\n\tgetCurrentItem(): ListItem {\n\t\tif (this.index < 0) {\n\t\t\treturn this.displayItems[0];\n\t\t}\n\t\treturn this.displayItems[this.index];\n\t}\n\n\t/**\n\t * Returns the `HTMLElement` for the item that is selected within the `DropdownList`.\n\t */\n\tgetCurrentElement(): HTMLElement {\n\t\tif (this.index < 0) {\n\t\t\treturn this.listElementList.first.nativeElement;\n\t\t}\n\t\treturn this.listElementList.toArray()[this.index].nativeElement;\n\t}\n\n\t/**\n\t * Returns the items as an Array\n\t */\n\tgetListItems(): Array<ListItem> {\n\t\treturn this._items;\n\t}\n\n\t/**\n\t * Returns a list containing the selected item(s) in the `DropdownList`.\n\t */\n\tgetSelected(): ListItem[] {\n\t\tlet selected = this.getListItems().filter(item => item.selected);\n\t\tif (selected.length === 0) {\n\t\t\treturn null;\n\t\t}\n\t\treturn selected;\n\t}\n\n\t/**\n\t * Transforms array input list of items to the correct state by updating the selected item(s).\n\t */\n\tpropagateSelected(value: Array<ListItem>): void {\n\t\tfor (let newItem of value) {\n\t\t\t// copy the item\n\t\t\tlet tempNewItem: string | ListItem = Object.assign({}, newItem);\n\t\t\t// deleted selected because it's what we _want_ to change\n\t\t\tdelete tempNewItem.selected;\n\t\t\t// stringify for compare\n\t\t\ttempNewItem = JSON.stringify(tempNewItem);\n\t\t\tfor (let oldItem of this.getListItems()) {\n\t\t\t\tlet tempOldItem: string | ListItem = Object.assign({}, oldItem);\n\t\t\t\tdelete tempOldItem.selected;\n\t\t\t\ttempOldItem = JSON.stringify(tempOldItem);\n\t\t\t\t// do the compare\n\t\t\t\tif (tempOldItem.includes(tempNewItem)) {\n\t\t\t\t\t// oldItem = Object.assign(oldItem, newItem);\n\t\t\t\t\toldItem.selected = newItem.selected;\n\t\t\t\t} else {\n\t\t\t\t\toldItem.selected = false;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Initializes focus in the list, effectively a wrapper for `getCurrentElement().focus()`\n\t */\n\tinitFocus() {\n\t\t// ensure we start at this first item if nothing is already selected\n\t\tif (this.index < 0) {\n\t\t\tthis.index = 0;\n\t\t}\n\t\tthis.getCurrentElement().focus();\n\t}\n\n\t/**\n\t * Manages the keyboard accessibility for navigation and selection within a `DropdownList`.\n\t */\n\tdoKeyDown(event: KeyboardEvent, item: ListItem) {\n\t\t// \"Spacebar\", \"Down\", and \"Up\" are IE specific values\n\t\tif (event.key === \"Enter\" || event.key === \" \" || event.key === \"Spacebar\") {\n\t\t\tevent.preventDefault();\n\t\t\tif (event.key === \"Enter\") {\n\t\t\t\tthis.doClick(event, item);\n\t\t\t}\n\t\t} else if (event.key === \"ArrowDown\" || event.key === \"ArrowUp\" || event.key === \"Down\" || event.key === \"Up\") {\n\t\t\tevent.preventDefault();\n\t\t\tif (event.key === \"ArrowDown\" || event.key === \"Down\") {\n\t\t\t\tif (this.hasNextElement()) {\n\t\t\t\t\tthis.getNextElement().focus();\n\t\t\t\t} else {\n\t\t\t\t\tthis.blurIntent.emit(\"bottom\");\n\t\t\t\t}\n\t\t\t} else if (event.key === \"ArrowUp\" || event.key === \"Up\") {\n\t\t\t\tif (this.hasPrevElement()) {\n\t\t\t\t\tthis.getPrevElement().focus();\n\t\t\t\t} else {\n\t\t\t\t\tthis.blurIntent.emit(\"top\");\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Emits the selected item or items after a mouse click event has occurred.\n\t */\n\tdoClick(event, item) {\n\t\tif (!item.disabled) {\n\t\t\tif (this.type === \"single\") {\n\t\t\t\titem.selected = true;\n\t\t\t\t// reset the selection\n\t\t\t\tfor (let otherItem of this.getListItems()) {\n\t\t\t\t\tif (item !== otherItem) { otherItem.selected = false; }\n\t\t\t\t}\n\n\t\t\t\tthis.select.emit({item});\n\t\t\t} else {\n\t\t\t\titem.selected = !item.selected;\n\t\t\t\t// emit an array of selected items\n\t\t\t\tthis.select.emit(this.getSelected());\n\t\t\t}\n\t\t\tthis.index = this.getListItems().indexOf(item);\n\t\t}\n\t}\n\n\tonItemFocus(index) {\n\t\tconst element = this.listElementList.toArray()[index].nativeElement;\n\t\telement.classList.add(\"bx--list-box__menu-item--highlighted\");\n\t\telement.tabIndex = 0;\n\t}\n\n\tonItemBlur(index) {\n\t\tconst element = this.listElementList.toArray()[index].nativeElement;\n\t\telement.classList.remove(\"bx--list-box__menu-item--highlighted\");\n\t\telement.tabIndex = -1;\n\t}\n}\n","import {\n\tInput,\n\tDirective,\n\tElementRef,\n\tHostListener,\n\tOnChanges,\n\tSimpleChanges,\n\tAfterViewInit\n} from \"@angular/core\";\n\n@Directive({\n\tselector: \"[ibmScrollableList]\",\n\texportAs: \"scrollable-list\"\n})\nexport class ScrollableList implements OnChanges, AfterViewInit {\n\t/**\n\t * Optional target list to scroll\n\t */\n\t@Input() nScrollableList: string = null;\n\t/**\n\t * Enables or disables scrolling for the whole directive\n\t */\n\t@Input() scrollEnabled = true;\n\t/**\n\t * Sets the target used for hover scrolling up\n\t */\n\t@Input() scrollUpTarget: HTMLElement;\n\t/**\n\t * Sets the target used for hover scrolling down\n\t */\n\t@Input() scrollDownTarget: HTMLElement;\n\t/**\n\t * How many lines to scroll by each time `wheel` fires\n\t * Defaults to 10 - based on testing this isn't too fast or slow on any platform\n\t */\n\t@Input() scrollBy = 10;\n\n\t// keeps track of the setInterval for hover scrolling\n\tprotected hoverScrollInterval;\n\t// tracks the last touch event\n\tprotected lastTouch;\n\tprotected canScrollUp = false;\n\tprotected canScrollDown = false;\n\tprotected list = this.elementRef.nativeElement;\n\n\tconstructor(protected elementRef: ElementRef) {}\n\n\tngOnChanges(changes: SimpleChanges) {\n\t\tif (changes.scrollEnabled) {\n\t\t\tif (changes.scrollEnabled.currentValue) {\n\t\t\t\tthis.list.style.overflow = \"hidden\";\n\t\t\t\tthis.scrollUpTarget.style.display = \"flex\";\n\t\t\t\tthis.scrollDownTarget.style.display = \"flex\";\n\t\t\t\tthis.canScrollUp = true;\n\t\t\t\tthis.canScrollDown = true;\n\t\t\t\tthis.updateScrollHeight();\n\t\t\t\tthis.checkScrollArrows();\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tthis.checkScrollArrows();\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tthis.scrollUpTarget.style.display = \"none\";\n\t\t\t\tthis.scrollDownTarget.style.display = \"none\";\n\t\t\t\tthis.canScrollUp = false;\n\t\t\t\tthis.canScrollDown = false;\n\t\t\t\tthis.list.style.height = null;\n\t\t\t\tthis.list.style.overflow = null;\n\t\t\t\tclearInterval(this.hoverScrollInterval);\n\t\t\t}\n\t\t}\n\t}\n\n\tngAfterViewInit() {\n\t\tif (this.nScrollableList) {\n\t\t\tthis.list = this.elementRef.nativeElement.querySelector(this.nScrollableList);\n\t\t}\n\t\tthis.scrollUpTarget.addEventListener(\"mouseover\", () => this.onHoverUp(true));\n\t\tthis.scrollUpTarget.addEventListener(\"mouseout\", () => this.onHoverUp(false));\n\t\tthis.scrollDownTarget.addEventListener(\"mouseover\", () => this.onHoverDown(true));\n\t\tthis.scrollDownTarget.addEventListener(\"mouseout\", () => this.onHoverDown(false));\n\t}\n\n\tpublic updateScrollHeight() {\n\t\tif (this.scrollEnabled) {\n\t\t\tconst container = this.elementRef.nativeElement.parentElement;\n\t\t\tconst containerRect = container.getBoundingClientRect();\n\t\t\tconst innerHeightDiff = this.list.getBoundingClientRect().top - containerRect.top;\n\t\t\tconst outerHeightDiff = containerRect.height - (containerRect.bottom - window.innerHeight);\n\t\t\t// 40 gives us some padding between the bottom of the list,\n\t\t\t// the bottom of the window, and the scroll down button\n\t\t\tconst height = outerHeightDiff - innerHeightDiff - 40;\n\t\t\tthis.list.style.height = `${height}px`;\n\t\t}\n\t}\n\n\tprotected checkScrollArrows() {\n\t\tconst scrollUpHeight = this.scrollUpTarget.offsetHeight;\n\t\tconst scrollDownHeight = this.scrollDownTarget.offsetHeight;\n\t\tif (this.list.scrollTop === 0) {\n\t\t\tif (this.canScrollUp) {\n\t\t\t\tthis.list.style.height = `${parseInt(this.list.style.height, 10) + scrollUpHeight}px`;\n\t\t\t}\n\t\t\tthis.scrollUpTarget.style.display = \"none\";\n\t\t\tthis.canScrollUp = false;\n\t\t} else if (this.list.scrollTop === this.list.scrollTopMax) {\n\t\t\tif (this.canScrollDown) {\n\t\t\t\tthis.list.style.height = `${parseInt(this.list.style.height, 10) + scrollDownHeight}px`;\n\t\t\t}\n\t\t\tthis.scrollDownTarget.style.display = \"none\";\n\t\t\tthis.canScrollDown = false;\n\t\t} else {\n\t\t\tif (!this.canScrollUp) {\n\t\t\t\tthis.list.style.height = `${parseInt(this.list.style.height, 10) - scrollUpHeight}px`;\n\t\t\t}\n\t\t\tif (!this.canScrollDown) {\n\t\t\t\tthis.list.style.height = `${parseInt(this.list.style.height, 10) - scrollDownHeight}px`;\n\t\t\t}\n\t\t\tthis.scrollUpTarget.style.display = \"flex\";\n\t\t\tthis.scrollDownTarget.style.display = \"flex\";\n\t\t\tthis.canScrollUp = true;\n\t\t\tthis.canScrollDown = true;\n\t\t}\n\t}\n\n\t@HostListener(\"wheel\", [\"$event\"])\n\tprotected onWheel(event) {\n\t\tif (event.deltaY < 0) {\n\t\t\tthis.list.scrollTop -= this.scrollBy;\n\t\t} else {\n\t\t\tthis.list.scrollTop += this.scrollBy;\n\t\t}\n\t\t// only prevent the parent/window from scrolling if we can scroll\n\t\tif (!(this.list.scrollTop === this.list.scrollTopMax || this.list.scrollTop === 0)) {\n\t\t\tevent.preventDefault();\n\t\t\tevent.stopPropagation();\n\t\t}\n\t\tthis.checkScrollArrows();\n\t}\n\n\t@HostListener(\"touchstart\", [\"$event\"])\n\tprotected onTouchStart(event) {\n\t\tif (event.touches[0]) {\n\t\t\tthis.lastTouch = event.touches[0].clientY;\n\t\t}\n\t}\n\n\t@HostListener(\"touchmove\", [\"$event\"])\n\tprotected onTouchMove(event) {\n\t\tevent.preventDefault();\n\t\tevent.stopPropagation();\n\t\tif (event.touches[0]) {\n\t\t\tconst touch = event.touches[0];\n\t\t\tthis.list.scrollTop += this.lastTouch - touch.clientY;\n\t\t\tthis.lastTouch = touch.clientY;\n\t\t\tthis.checkScrollArrows();\n\t\t}\n\t}\n\n\tprotected hoverScrollBy(hovering, amount) {\n\t\tif (hovering) {\n\t\t\tthis.hoverScrollInterval = setInterval(() => {\n\t\t\t\tthis.list.scrollTop += amount;\n\t\t\t\tthis.checkScrollArrows();\n\t\t\t}, 1);\n\t\t} else {\n\t\t\tclearInterval(this.hoverScrollInterval);\n\t\t}\n\t}\n\n\tprotected onHoverUp(hovering) {\n\t\t// how many px/lines to scroll by on hover\n\t\t// 3 is just a random number that felt good\n\t\t// 1 and 2 are too slow, 4 works but it might be a tad fast\n\t\tthis.hoverScrollBy(hovering, -3);\n\t}\n\n\tprotected onHoverDown(hovering) {\n\t\tthis.hoverScrollBy(hovering, 3);\n\t}\n\n\t@HostListener(\"keydown\", [\"$event\"])\n\tprotected onKeyDown(event) {\n\t\tif (event.key === \"ArrowDown\" || event.key === \"ArrowUp\") {\n\t\t\tthis.checkScrollArrows();\n\t\t}\n\t}\n}\n","import { NgModule, SkipSelf, Optional } from \"@angular/core\";\nimport { ExperimentalService } from \"./experimental.service\";\n\n// either provides a new instance of ExperimentalService, or returns the parent\nexport function EXPERIMENTAL_SERVICE_PROVIDER_FACTORY(parentService: ExperimentalService) {\n\treturn parentService || new ExperimentalService();\n}\n\nexport const EXPERIMENTAL_SERVICE_PROVIDER = {\n\tprovide: ExperimentalService,\n\tdeps: [[new Optional(), new SkipSelf(), ExperimentalService]],\n\tuseFactory: EXPERIMENTAL_SERVICE_PROVIDER_FACTORY\n};\n\n@NgModule({\n\tproviders: [\n\t\tExperimentalService,\n\t\tEXPERIMENTAL_SERVICE_PROVIDER\n\t]\n})\nclass ExperimentalModule { }\n\nexport {\n\tExperimentalService,\n\tExperimentalModule\n};\n","import { Injectable } from \"@angular/core\";\n\n/**\n * Represents options for an experiment. The only required property is `enabled`, however other options may be supplied.\n */\nexport interface Experiment {\n\tenabled: boolean;\n\t[key: string]: any;\n}\n\n@Injectable()\nexport class ExperimentalService {\n\t/**\n\t * Tracks if the v10 experimental mode is enabled\n\t * @deprecated since v3\n\t */\n\tstatic experimentalEnabled = true;\n\n\t/**\n\t * Sets the v10 experimental mode\n\t * @deprecated since v3\n\t */\n\tset isExperimental(v: boolean) {\n\t\tExperimentalService.experimentalEnabled = v;\n\t}\n\n\t/**\n\t * Gets the state of the v10 experimental mode\n\t * @deprecated since v3\n\t */\n\tget isExperimental() {\n\t\treturn ExperimentalService.experimentalEnabled;\n\t}\n\n\t/**\n\t * Map to hold all our experiments\n\t */\n\tprivate experiments = new Map<string, Experiment>();\n\n\t/**\n\t * Adds an experiment if it doesn't exist.\n\t */\n\taddExperiment(name: string, options: Experiment = {enabled: false}) {\n\t\tif (!this.experiments.has(name)) {\n\t\t\tthis.experiments.set(name, options);\n\t\t}\n\t}\n\n\t/**\n\t * Enables an experiment by name\n\t * @param name name of the experiment to enable\n\t */\n\tenableExperiment(name: string) {\n\t\tconst experiment = this.getExperiment(name);\n\t\texperiment.enabled = true;\n\t}\n\n\t/**\n\t * Disables an experiment by name\n\t * @param name name of the experiment to disable\n\t */\n\tdisableExperiment(name: string) {\n\t\tconst experiment = this.getExperiment(name);\n\t\texperiment.enabled = false;\n\t}\n\n\t/**\n\t * Get the options for an experiment by name\n\t * @param name name of experiment to get\n\t */\n\tgetExperiment(name: string): Experiment {\n\t\tif (!this.experiments.has(name)) {\n\t\t\tthis.addExperiment(name);\n\t\t\treturn this.getExperiment(name);\n\t\t}\n\n\t\treturn this.experiments.get(name);\n\t}\n\n\t/**\n\t * Get an array of tuples representing an experiment and it's options\n\t */\n\tgetExperiments(): Array<[string, Experiment]> {\n\t\treturn Array.from(this.experiments.entries());\n\t}\n}\n","import {\n\tComponent,\n\tInput,\n\tOutput,\n\tViewChild,\n\tEventEmitter,\n\tOnInit\n} from \"@angular/core\";\nimport { NG_VALUE_ACCESSOR } from \"@angular/forms\";\n\nimport { I18n } from \"../i18n/i18n.module\";\nimport { FileItem } from \"./file-item.interface\";\n\nconst noop = () => {};\n\n@Component({\n\tselector: \"ibm-file-uploader\",\n\ttemplate: `\n\t\t<ng-container *ngIf=\"!skeleton; else skeletonTemplate\">\n\t\t\t<strong class=\"bx--file--label\">{{title}}</strong>\n\t\t\t<p class=\"bx--label-description\">{{description}}</p>\n\t\t\t<div class=\"bx--file\">\n\t\t\t\t<button\n\t\t\t\t\tibmButton=\"primary\"\n\t\t\t\t\t(click)=\"fileInput.click()\"\n\t\t\t\t\t[attr.for]=\"fileUploaderId\">\n\t\t\t\t\t{{buttonText}}\n\t\t\t\t</button>\n\t\t\t\t<input\n\t\t\t\t\t#fileInput\n\t\t\t\t\ttype=\"file\"\n\t\t\t\t\tclass=\"bx--file-input\"\n\t\t\t\t\t[accept]=\"accept\"\n\t\t\t\t\t[id]=\"fileUploaderId\"\n\t\t\t\t\t[multiple]=\"multiple\"\n\t\t\t\t\t(change)=\"onFilesAdded()\"/>\n\t\t\t\t<div class=\"bx--file-container\">\n\t\t\t\t\t<ibm-file *ngFor=\"let fileItem of files\" [fileItem]=\"fileItem\" (remove)=\"removeFile(fileItem)\"></ibm-file>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</ng-container>\n\n\t\t<ng-template #skeletonTemplate>\n\t\t\t<div class=\"bx--skeleton__text\" style=\"width: 100px\"></div>\n\t\t\t<div class=\"bx--skeleton__text\" style=\"width: 225px\"></div>\n\t\t\t<button ibmButton skeleton=\"true\"></button>\n\t\t</ng-template>\n\t`,\n\tproviders: [\n\t\t{\n\t\t\tprovide: NG_VALUE_ACCESSOR,\n\t\t\tuseExisting: FileUploader,\n\t\t\tmulti: true\n\t\t}\n\t]\n})\nexport class FileUploader implements OnInit {\n\t/**\n\t * Counter used to create unique ids for file-uploader components\n\t */\n\tstatic fileUploaderCount = 0;\n\t/**\n\t * Accessible text for the button that opens the upload window.\n\t *\n\t * Defaults to the `FILE_UPLOADER.OPEN` value from the i18n service\n\t */\n\t@Input() buttonText = this.i18n.get().FILE_UPLOADER.OPEN;\n\t/**\n\t * Text set to the title\n\t */\n\t@Input() title: string;\n\t/**\n\t * Text set to the description\n\t */\n\t@Input() description: string;\n\t/**\n\t * Specify the types of files that the input should be able to receive\n\t */\n\t@Input() accept = [];\n\t/**\n\t * Set to `false` to tell the component to only accept a single file on upload.\n\t *\n\t * Defaults to `true`. Accepts multiple files.\n\t */\n\t@Input() multiple = true;\n\t/**\n\t * Set to `true` for a loading file uploader.\n\t */\n\t@Input() skeleton = false;\n\t/**\n\t * Provides a unique id for the underlying <input> node\n\t */\n\t@Input() fileUploaderId = `file-uploader-${FileUploader.fileUploaderCount}`;\n\t/**\n\t * Maintains a reference to the view DOM element of the underlying <input> node\n\t */\n\t@ViewChild(\"fileInput\") fileInput;\n\t/**\n\t * The list of files that have been submitted to be uploaded\n\t */\n\t@Input() files: Set<FileItem>;\n\t@Output() filesChange = new EventEmitter<any>();\n\n\tprotected onTouchedCallback: () => void = noop;\n\tprotected onChangeCallback: (_: Set<FileItem>) => void = noop;\n\n\tconstructor(protected i18n: I18n) {\n\t\tFileUploader.fileUploaderCount++;\n\t}\n\n\t/**\n\t * Specifies the property to be used as the return value to `ngModel`\n\t */\n\tget value(): Set<FileItem> {\n\t\treturn this.files;\n\t}\n\tset value(v: Set<FileItem>) {\n\t\tif (v !== this.files) {\n\t\t\tthis.files = v;\n\t\t\tthis.onChangeCallback(v);\n\t\t}\n\t}\n\n\tngOnInit() {\n\t\t// overrides the undefined files value set by the user\n\t\tif (!this.files) {\n\t\t\tthis.files = new Set();\n\t\t\tthis.filesChange.emit(this.files);\n\t\t}\n\t}\n\n\tonBlur() {\n\t\tthis.onTouchedCallback();\n\t}\n\n\t/**\n\t * Propagates the injected `value`.\n\t */\n\twriteValue(value: Set<FileItem>) {\n\t\tif (value !== this.value) {\n\t\t\tthis.files = value;\n\t\t}\n\t}\n\n\tonFilesAdded() {\n\t\tconst files = this.fileInput.nativeElement.files;\n\t\tif (!this.multiple) {\n\t\t\tthis.files.clear();\n\t\t}\n\t\tfor (let file of files) {\n\t\t\tconst fileItem: FileItem = {\n\t\t\t\tuploaded: false,\n\t\t\t\tstate: \"edit\",\n\t\t\t\tfile: file\n\t\t\t};\n\t\t\tthis.files.add(fileItem);\n\t\t\tthis.filesChange.emit(this.files);\n\t\t}\n\n\t\tthis.value = this.files;\n\t}\n\n\tremoveFile(fileItem) {\n\t\tthis.files.delete(fileItem);\n\t\tthis.fileInput.nativeElement.value = \"\";\n\t\tthis.filesChange.emit(this.files);\n\t}\n\n\t/**\n\t * Registers the injected function to control the touch use of the `FileUploader`.\n\t */\n\tregisterOnTouched(fn: any) {\n\t\tthis.onTouchedCallback = fn;\n\t}\n\t/**\n\t * Sets a method in order to propagate changes back to the form.\n\t */\n\tregisterOnChange(fn: any) {\n\t\tthis.onChangeCallback = fn;\n\t}\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { Close16Module } from \"@carbon/icons-angular/lib/close/16\";\nimport { CheckmarkFilled16Module } from \"@carbon/icons-angular/lib/checkmark--filled/16\";\n\nimport { FileUploader } from \"./file-uploader.component\";\nimport { File } from \"./file.component\";\nimport { ButtonModule } from \"../button/button.module\";\nimport { LoadingModule } from \"../loading/loading.module\";\n\nexport { FileUploader } from \"./file-uploader.component\";\n\n@NgModule({\n\tdeclarations: [FileUploader, File],\n\texports: [FileUploader],\n\timports: [\n\t\tCommonModule,\n\t\tButtonModule,\n\t\tLoadingModule,\n\t\tClose16Module,\n\t\tCheckmarkFilled16Module\n\t]\n})\nexport class FileUploaderModule { }\n","\n export var withStorySource = require('@storybook/addon-storysource').withStorySource;\n export var __STORY__ = \"import { Component, Input } from '@angular/core';\\nimport { storiesOf, moduleMetadata } from '@storybook/angular';\\n\\nimport { action } from '@storybook/addon-actions';\\nimport { withKnobs, boolean, text, array } from '@storybook/addon-knobs';\\n\\nimport { FileUploaderModule, NotificationModule, ButtonModule } from '../';\\nimport { NotificationService } from '../notification/notification.service';\\n\\n@Component({\\n selector: 'app-file-uploader',\\n template: `\\n <ibm-file-uploader\\n [title]=\\\"title\\\"\\n [description]=\\\"description\\\"\\n [buttonText]=\\\"buttonText\\\"\\n [accept]=\\\"accept\\\"\\n [multiple]=\\\"multiple\\\"\\n [skeleton]=\\\"skeleton\\\"\\n [(files)]=\\\"files\\\"\\n >\\n </ibm-file-uploader>\\n\\n <div [id]=\\\"notificationId\\\" style=\\\"width: 300px; margin-top: 20px\\\"></div>\\n <button ibmButton *ngIf=\\\"files && files.size > 0\\\" (click)=\\\"onUpload()\\\">\\n Upload\\n </button>\\n `,\\n})\\nclass FileUploaderStory {\\n static notificationCount = 0;\\n\\n @Input() notificationId = `notification-${FileUploaderStory.notificationCount}`;\\n @Input() files = new Set();\\n @Input() title;\\n @Input() description;\\n @Input() buttonText;\\n @Input() accept;\\n @Input() multiple;\\n @Input() skeleton = false;\\n\\n protected maxSize = 500000;\\n\\n constructor(protected notificationService: NotificationService) {\\n FileUploaderStory.notificationCount++;\\n }\\n\\n onUpload() {\\n this.files.forEach(fileItem => {\\n if (fileItem.file.size > this.maxSize) {\\n this.notificationService.showNotification({\\n type: 'error',\\n title: `'${fileItem.file.name}' exceeds size limit`,\\n message: `500kb max size. Please select a new file and try again`,\\n target: `#${this.notificationId}`,\\n });\\n }\\n });\\n\\n let filesArray = Array.from<any>(this.files);\\n if (filesArray.every(fileItem => fileItem.file.size <= this.maxSize)) {\\n this.files.forEach(fileItem => {\\n if (!fileItem.uploaded) {\\n fileItem.state = 'upload';\\n setTimeout(() => {\\n fileItem.state = 'complete';\\n fileItem.uploaded = true;\\n console.log(fileItem);\\n }, 1500);\\n }\\n });\\n }\\n }\\n}\\n\\n@Component({\\n selector: 'app-ngmodel-file-uploader',\\n template: `\\n <ibm-file-uploader\\n [title]=\\\"title\\\"\\n [description]=\\\"description\\\"\\n [buttonText]=\\\"buttonText\\\"\\n [accept]=\\\"accept\\\"\\n [multiple]=\\\"multiple\\\"\\n [(ngModel)]=\\\"model\\\"\\n >\\n </ibm-file-uploader>\\n\\n <br />\\n <div [id]=\\\"notificationId\\\" style=\\\"width: 300px\\\"></div>\\n <button ibmButton *ngIf=\\\"model && model.size > 0\\\" (click)=\\\"onUpload()\\\">\\n Upload\\n </button>\\n `,\\n})\\nclass NgModelFileUploaderStory {\\n static notificationCount = 0;\\n\\n @Input() notificationId = `notification-${FileUploaderStory.notificationCount}`;\\n @Input() title;\\n @Input() description;\\n @Input() buttonText;\\n @Input() accept;\\n @Input() multiple;\\n\\n protected model = new Set();\\n protected maxSize = 500000;\\n\\n constructor(protected notificationService: NotificationService) {\\n FileUploaderStory.notificationCount++;\\n }\\n\\n onUpload() {\\n this.model.forEach(fileItem => {\\n if (fileItem.file.size > this.maxSize) {\\n this.notificationService.showNotification({\\n type: 'error',\\n title: `'${fileItem.file.name}' exceeds size limit`,\\n message: `500kb max size. Please select a new file and try again`,\\n target: `#${this.notificationId}`,\\n });\\n }\\n });\\n\\n let filesArray = Array.from<any>(this.model);\\n if (filesArray.every(fileItem => fileItem.file.size <= this.maxSize)) {\\n this.model.forEach(fileItem => {\\n if (!fileItem.uploaded) {\\n fileItem.state = 'upload';\\n setTimeout(() => {\\n fileItem.state = 'complete';\\n fileItem.uploaded = true;\\n console.log(fileItem);\\n }, 1500);\\n }\\n });\\n }\\n }\\n}\\n\\nstoriesOf('File Uploader', module)\\n .addDecorator(\\n moduleMetadata({\\n imports: [FileUploaderModule, NotificationModule, ButtonModule],\\n declarations: [FileUploaderStory, NgModelFileUploaderStory],\\n })\\n )\\n .addDecorator(withKnobs)\\n .add('Basic', () => ({\\n template: `\\n\\t\\t\\t<app-file-uploader\\n\\t\\t\\t\\t[title]=\\\"title\\\"\\n\\t\\t\\t\\t[description]=\\\"description\\\"\\n\\t\\t\\t\\t[buttonText]=\\\"buttonText\\\"\\n\\t\\t\\t\\t[accept]=\\\"accept\\\"\\n\\t\\t\\t\\t[multiple]=\\\"multiple\\\">\\n\\t\\t\\t</app-file-uploader>\\n\\t\\t`,\\n props: {\\n title: text('The title', 'Account Photo'),\\n description: text('The description', 'only .jpg and .png files. 500kb max file size.'),\\n buttonText: text('Button text', 'Add files'),\\n accept: array('Accepted file extensions', ['.png', '.jpg'], ','),\\n multiple: boolean('Supports multiple files', true),\\n },\\n }))\\n .add('Using ngModel', () => ({\\n template: `\\n\\t\\t\\t<app-ngmodel-file-uploader\\n\\t\\t\\t\\t[title]=\\\"title\\\"\\n\\t\\t\\t\\t[description]=\\\"description\\\"\\n\\t\\t\\t\\t[buttonText]=\\\"buttonText\\\"\\n\\t\\t\\t\\t[accept]=\\\"accept\\\"\\n\\t\\t\\t\\t[multiple]=\\\"multiple\\\">\\n\\t\\t\\t</app-ngmodel-file-uploader>\\n\\t\\t`,\\n props: {\\n title: text('The title', 'Account Photo'),\\n description: text('The description', 'only .jpg and .png files. 500kb max file size.'),\\n buttonText: text('Button text', 'Add files'),\\n accept: array('Accepted file extensions', ['.png', '.jpg'], ','),\\n multiple: boolean('Supports multiple files', true),\\n },\\n }))\\n .add('Skeleton', () => ({\\n template: `\\n\\t\\t\\t<app-file-uploader skeleton=\\\"true\\\"></app-file-uploader>\\n\\t\\t`,\\n }));\\n\";\n export var __ADDS_MAP__ = {\"file-uploader--skeleton\":{\"startLoc\":{\"col\":7,\"line\":185},\"endLoc\":{\"col\":4,\"line\":189}},\"file-uploader--using-ngmodel\":{\"startLoc\":{\"col\":7,\"line\":167},\"endLoc\":{\"col\":4,\"line\":184}},\"file-uploader--basic\":{\"startLoc\":{\"col\":7,\"line\":149},\"endLoc\":{\"col\":4,\"line\":166}}};\n \n import { Component, Input } from \"@angular/core\";\nimport { storiesOf, moduleMetadata } from \"@storybook/angular\";\n\nimport { action } from \"@storybook/addon-actions\";\nimport {\n\twithKnobs,\n\tboolean,\n\ttext,\n\tarray\n} from \"@storybook/addon-knobs\";\n\nimport { FileUploaderModule, NotificationModule, ButtonModule } from \"../\";\nimport { NotificationService } from \"../notification/notification.service\";\n\n@Component({\n\tselector: \"app-file-uploader\",\n\ttemplate: `\n\t\t<ibm-file-uploader\n\t\t\t[title]=\"title\"\n\t\t\t[description]=\"description\"\n\t\t\t[buttonText]=\"buttonText\"\n\t\t\t[accept]=\"accept\"\n\t\t\t[multiple]=\"multiple\"\n\t\t\t[skeleton]=\"skeleton\"\n\t\t\t[(files)]=\"files\">\n\t\t</ibm-file-uploader>\n\n\t\t<div [id]=\"notificationId\" style=\"width: 300px; margin-top: 20px\"></div>\n\t\t<button ibmButton *ngIf=\"files && files.size > 0\" (click)=\"onUpload()\">\n\t\t\tUpload\n\t\t</button>\n\t`\n})\nclass FileUploaderStory {\n\tstatic notificationCount = 0;\n\n\t@Input() notificationId = `notification-${FileUploaderStory.notificationCount}`;\n\t@Input() files = new Set();\n\t@Input() title;\n\t@Input() description;\n\t@Input() buttonText;\n\t@Input() accept;\n\t@Input() multiple;\n\t@Input() skeleton = false;\n\n\tprotected maxSize = 500000;\n\n\tconstructor(protected notificationService: NotificationService) {\n\t\tFileUploaderStory.notificationCount++;\n\t}\n\n\tonUpload() {\n\t\tthis.files.forEach(fileItem => {\n\t\t\tif (fileItem.file.size > this.maxSize) {\n\t\t\t\tthis.notificationService.showNotification({\n\t\t\t\t\ttype: \"error\",\n\t\t\t\t\ttitle: `'${fileItem.file.name}' exceeds size limit`,\n\t\t\t\t\tmessage: `500kb max size. Please select a new file and try again`,\n\t\t\t\t\ttarget: `#${this.notificationId}`\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\n\t\tlet filesArray = Array.from<any>(this.files);\n\t\tif (filesArray.every(fileItem => fileItem.file.size <= this.maxSize)) {\n            this.files.forEach(fileItem => {\n                if (!fileItem.uploaded) {\n\t\t\t\t\tfileItem.state = \"upload\";\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\tfileItem.state = \"complete\";\n\t\t\t\t\t\tfileItem.uploaded = true;\n\t\t\t\t\t\tconsole.log(fileItem);\n\t\t\t\t\t}, 1500);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n}\n\n@Component({\n\tselector: \"app-ngmodel-file-uploader\",\n\ttemplate: `\n\t\t<ibm-file-uploader\n\t\t\t[title]=\"title\"\n\t\t\t[description]=\"description\"\n\t\t\t[buttonText]=\"buttonText\"\n\t\t\t[accept]=\"accept\"\n\t\t\t[multiple]=\"multiple\"\n\t\t\t[(ngModel)]=\"model\">\n\t\t</ibm-file-uploader>\n\n\t\t<br><div [id]=\"notificationId\" style=\"width: 300px\"></div>\n\t\t<button ibmButton *ngIf=\"model && model.size > 0\" (click)=\"onUpload()\">\n\t\t\tUpload\n\t\t</button>\n\t`\n})\nclass NgModelFileUploaderStory {\n\tstatic notificationCount = 0;\n\n\t@Input() notificationId = `notification-${FileUploaderStory.notificationCount}`;\n\t@Input() title;\n\t@Input() description;\n\t@Input() buttonText;\n\t@Input() accept;\n\t@Input() multiple;\n\n\tprotected model = new Set();\n\tprotected maxSize = 500000;\n\n\tconstructor(protected notificationService: NotificationService) {\n\t\tFileUploaderStory.notificationCount++;\n\t}\n\n\tonUpload() {\n\t\tthis.model.forEach(fileItem => {\n\t\t\tif (fileItem.file.size > this.maxSize) {\n\t\t\t\tthis.notificationService.showNotification({\n\t\t\t\t\ttype: \"error\",\n\t\t\t\t\ttitle: `'${fileItem.file.name}' exceeds size limit`,\n\t\t\t\t\tmessage: `500kb max size. Please select a new file and try again`,\n\t\t\t\t\ttarget: `#${this.notificationId}`\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\n\t\tlet filesArray = Array.from<any>(this.model);\n\t\tif (filesArray.every(fileItem => fileItem.file.size <= this.maxSize)) {\n            this.model.forEach(fileItem => {\n                if (!fileItem.uploaded) {\n\t\t\t\t\tfileItem.state = \"upload\";\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\tfileItem.state = \"complete\";\n\t\t\t\t\t\tfileItem.uploaded = true;\n\t\t\t\t\t\tconsole.log(fileItem);\n\t\t\t\t\t}, 1500);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n}\n\nstoriesOf(\"File Uploader\", module).addDecorator(withStorySource(__STORY__, __ADDS_MAP__))\n\t.addDecorator(\n\t\tmoduleMetadata({\n\t\t\timports: [FileUploaderModule, NotificationModule, ButtonModule],\n\t\t\tdeclarations: [FileUploaderStory, NgModelFileUploaderStory]\n\t\t})\n\t)\n\t.addDecorator(withKnobs)\n\t.add(\"Basic\", () => ({\n\t\ttemplate: `\n\t\t\t<app-file-uploader\n\t\t\t\t[title]=\"title\"\n\t\t\t\t[description]=\"description\"\n\t\t\t\t[buttonText]=\"buttonText\"\n\t\t\t\t[accept]=\"accept\"\n\t\t\t\t[multiple]=\"multiple\">\n\t\t\t</app-file-uploader>\n\t\t`,\n\t\tprops: {\n\t\t\ttitle: text(\"The title\", \"Account Photo\"),\n\t\t\tdescription: text(\"The description\", \"only .jpg and .png files. 500kb max file size.\"),\n\t\t\tbuttonText: text(\"Button text\", \"Add files\"),\n\t\t\taccept: array(\"Accepted file extensions\", [\".png\", \".jpg\"], \",\"),\n\t\t\tmultiple: boolean(\"Supports multiple files\", true)\n\t\t}\n\t}))\n\t.add(\"Using ngModel\", () => ({\n\t\ttemplate: `\n\t\t\t<app-ngmodel-file-uploader\n\t\t\t\t[title]=\"title\"\n\t\t\t\t[description]=\"description\"\n\t\t\t\t[buttonText]=\"buttonText\"\n\t\t\t\t[accept]=\"accept\"\n\t\t\t\t[multiple]=\"multiple\">\n\t\t\t</app-ngmodel-file-uploader>\n\t\t`,\n\t\tprops: {\n\t\t\ttitle: text(\"The title\", \"Account Photo\"),\n\t\t\tdescription: text(\"The description\", \"only .jpg and .png files. 500kb max file size.\"),\n\t\t\tbuttonText: text(\"Button text\", \"Add files\"),\n\t\t\taccept: array(\"Accepted file extensions\", [\".png\", \".jpg\"], \",\"),\n\t\t\tmultiple: boolean(\"Supports multiple files\", true)\n\t\t}\n\t}))\n\t.add(\"Skeleton\", () => ({\n\t\ttemplate: `\n\t\t\t<app-file-uploader skeleton=\"true\"></app-file-uploader>\n\t\t`\n\t}));\n\n ","\nimport {\n\tComponent,\n\tInput,\n\tOutput,\n\tViewChild,\n\tEventEmitter,\n\tOnInit,\n\tHostBinding\n} from \"@angular/core\";\nimport { NG_VALUE_ACCESSOR } from \"@angular/forms\";\n\nimport { I18n } from \"../i18n/i18n.module\";\nimport { FileItem } from \"./file-item.interface\";\n\n@Component({\n\tselector: \"ibm-file\",\n\ttemplate: `\n\t\t<p class=\"bx--file-filename\">{{fileItem.file.name}}</p>\n\t\t<span\n\t\t\t*ngIf=\"fileItem.state === 'edit'\"\n\t\t\tclass=\"bx--file__state-container\"\n\t\t\t(click)=\"remove.emit()\"\n\t\t\ttabindex=\"0\">\n\t\t\t<ibm-icon-close16\n\t\t\t\tclass=\"bx--file-close\"\n\t\t\t\t[ariaLabel]=\"translations.REMOVE_BUTTON\">\n\t\t\t</ibm-icon-close16>\n\t\t</span>\n\t\t<span *ngIf=\"fileItem.state === 'upload'\">\n\t\t\t<ibm-loading size=\"sm\"></ibm-loading>\n\t\t</span>\n\t\t<span\n\t\t\t*ngIf=\"fileItem.state === 'complete'\"\n\t\t\tclass=\"bx--file__state-container\"\n\t\t\ttabindex=\"0\">\n\t\t\t<ibm-icon-checkmark-filled16\n\t\t\t\tclass=\"bx--file-complete\"\n\t\t\t\t[ariaLabel]=\"translations.CHECKMARK\">\n\t\t\t</ibm-icon-checkmark-filled16>\n\t\t</span>\n\t`\n})\nexport class File {\n\t/**\n\t * Accessible translations for the close and complete icons\n\t */\n\t@Input() translations = this.i18n.get().FILE_UPLOADER;\n\t/**\n\t * A single `FileItem` from the set of `FileItem`s\n\t */\n\t@Input() fileItem: FileItem;\n\n\t@Output() remove = new EventEmitter();\n\n\t@HostBinding(\"class.bx--file__selected-file\") selectedFile = true;\n\n\tconstructor(protected i18n: I18n) {}\n}\n","// modules\nimport { NgModule } from \"@angular/core\";\nimport { FormsModule } from \"@angular/forms\";\nimport { CommonModule } from \"@angular/common\";\n\n// imports\nimport { CheckboxModule } from \"../checkbox/checkbox.module\";\nimport { ToggleModule } from \"../toggle/toggle.module\";\nimport { RadioModule } from \"../radio/radio.module\";\nimport { InputModule } from \"../input/input.module\";\nimport { ButtonModule } from \"../button/button.module\";\n\n// exports\nexport { CheckboxModule } from \"../checkbox/checkbox.module\";\nexport { ToggleModule } from \"../toggle/toggle.module\";\nexport { RadioModule } from \"../radio/radio.module\";\nexport { InputModule } from \"../input/input.module\";\nexport { ButtonModule } from \"../button/button.module\";\n\n@NgModule({\n\texports: [\n\t\tCheckboxModule,\n\t\tToggleModule,\n\t\tRadioModule,\n\t\tInputModule,\n\t\tButtonModule\n\t],\n\timports: [\n\t\tCommonModule,\n\t\tFormsModule,\n\t\tCheckboxModule,\n\t\tToggleModule,\n\t\tRadioModule,\n\t\tInputModule,\n\t\tButtonModule\n\t]\n})\nexport class NFormsModule { }\n","import { Directive, HostBinding, Input, OnInit } from \"@angular/core\";\n\n@Directive({\n\tselector: \"[ibmGrid]\"\n})\nexport class GridDirective {\n\t@HostBinding(\"class.bx--grid\") baseClass = true;\n}\n\n@Directive({\n\tselector: \"[ibmRow]\"\n})\nexport class RowDirective {\n\t@HostBinding(\"class.bx--row\") baseClass = true;\n}\n\n@Directive({\n\tselector: \"[ibmCol]\"\n})\nexport class ColumnDirective implements OnInit {\n\t@Input() class = \"\";\n\n\t@Input() columnNumbers = {};\n\n\t@Input() offsets = {};\n\n\tprotected _columnClasses: string[] = [];\n\n\t@HostBinding(\"class\")\n\tget columnClasses(): string {\n\t\treturn this._columnClasses.join(\" \");\n\t}\n\n\tset(classes: string) {\n\t\tthis._columnClasses = classes.split(\" \");\n\t}\n\n\tngOnInit() {\n\t\ttry {\n\t\t\tObject.keys(this.columnNumbers).forEach(key => {\n\t\t\t\tif (this.columnNumbers[key] === \"nobreak\") {\n\t\t\t\t\tthis._columnClasses.push(`bx--col-${key}`);\n\t\t\t\t} else {\n\t\t\t\t\tthis._columnClasses.push(`bx--col-${key}-${this.columnNumbers[key]}`);\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tObject.keys(this.offsets).forEach(key => {\n\t\t\t\tthis._columnClasses.push(`bx--offset-${key}-${this.offsets[key]}`);\n\t\t\t});\n\t\t} catch (err) {\n\t\t\tconsole.error(`Malformed \\`offsets\\` or \\`columnNumbers\\`: ${err}`);\n\t\t}\n\n\t\tif (this.class !== \"\") {\n\t\t\tthis._columnClasses.push(this.class);\n\t\t}\n\t}\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nimport { ColumnDirective, GridDirective, RowDirective } from \"./grid.directive\";\n\n@NgModule({\n\tdeclarations: [\n\t\tColumnDirective,\n\t\tGridDirective,\n\t\tRowDirective\n\t],\n\texports: [\n\t\tColumnDirective,\n\t\tGridDirective,\n\t\tRowDirective\n\t],\n\timports: [CommonModule]\n})\nexport class GridModule { }\n","\n export var withStorySource = require('@storybook/addon-storysource').withStorySource;\n export var __STORY__ = \"import { storiesOf, moduleMetadata } from '@storybook/angular';\\nimport { action } from '@storybook/addon-actions';\\nimport { withKnobs, boolean, object } from '@storybook/addon-knobs/angular';\\n\\nimport { GridModule } from '../';\\n\\nstoriesOf('Grid', module)\\n .addDecorator(\\n moduleMetadata({\\n imports: [GridModule],\\n })\\n )\\n .addDecorator(withKnobs)\\n .add('Basic', () => ({\\n template: `\\n \\t<div ibmGrid>\\n \\t<div ibmRow>\\n \\t\\t<div ibmCol class=\\\"custom-class-example\\\" [columnNumbers]=\\\"{'md':3, 'sm': 12}\\\">First Column</div>\\n \\t\\t<div ibmCol class=\\\"custom-class-example\\\" [columnNumbers]=\\\"{'md':3, 'sm': 12}\\\">Second column</div>\\n \\t</div>\\n \\t</div>\\n\\t\\t`,\\n }));\\n\";\n export var __ADDS_MAP__ = {\"grid--basic\":{\"startLoc\":{\"col\":7,\"line\":14},\"endLoc\":{\"col\":4,\"line\":23}}};\n \n import { storiesOf, moduleMetadata } from \"@storybook/angular\";\nimport { action } from \"@storybook/addon-actions\";\nimport { withKnobs, boolean, object } from \"@storybook/addon-knobs/angular\";\n\nimport { GridModule } from \"../\";\n\nstoriesOf(\"Grid\", module).addDecorator(withStorySource(__STORY__, __ADDS_MAP__))\n\t.addDecorator(\n\t\tmoduleMetadata({\n\t\t\timports: [GridModule]\n\t\t})\n\t)\n\t.addDecorator(withKnobs)\n\t.add(\"Basic\", () => ({\n\t\ttemplate: `\n \t<div ibmGrid>\n \t<div ibmRow>\n \t\t<div ibmCol class=\"custom-class-example\" [columnNumbers]=\"{'md':3, 'sm': 12}\">First Column</div>\n \t\t<div ibmCol class=\"custom-class-example\" [columnNumbers]=\"{'md':3, 'sm': 12}\">Second column</div>\n \t</div>\n \t</div>\n\t\t`\n\t}));\n\n ","import { NgModule, SkipSelf, Optional } from \"@angular/core\";\n\nimport { I18n } from \"./i18n.service\";\nimport { ReplacePipe } from \"./replace.pipe\";\n\nexport { I18n, replace } from \"./i18n.service\";\nexport { ReplacePipe } from \"./replace.pipe\";\n\n// either provides a new instance of ModalPlaceholderService, or returns the parent\nexport function I18N_SERVICE_PROVIDER_FACTORY(parentService: I18n) {\n\treturn parentService || new I18n();\n}\n\n// placholder service *must* be a singleton to ensure the placeholder viewref is accessible globally\nexport const I18N_SERVICE_PROVIDER = {\n\tprovide: I18n,\n\tdeps: [[new Optional(), new SkipSelf(), I18n]],\n\tuseFactory: I18N_SERVICE_PROVIDER_FACTORY\n};\n\n@NgModule({\n\tdeclarations: [ReplacePipe],\n\texports: [ReplacePipe],\n\tproviders: [\n\t\tI18n,\n\t\tI18N_SERVICE_PROVIDER\n\t]\n})\nexport class I18nModule {}\n","import { Injectable } from \"@angular/core\";\nimport { BehaviorSubject } from \"rxjs\";\nimport { map } from \"rxjs/operators\";\nimport { merge } from \"./../utils/object\";\n\nconst EN = require(\"./en.json\");\n\n/**\n * Takes the `Observable` returned from `i18n.get` and an object of variables to replace.\n *\n * The keys specify the variable name in the string.\n *\n * Example:\n * ```typescript\n * service.set({ \"TEST\": \"{{foo}} {{bar}}\" });\n *\n * service.replace(service.get(\"TEST\"), { foo: \"test\", bar: \"asdf\" })\n * ```\n *\n * Produces: `\"test asdf\"`\n *\n * @param subject the translation to replace variables on\n * @param variables object of variables to replace\n */\nexport const replace = (subject, variables) => subject.pipe(\n\tmap<string, void>(str => {\n\t\tconst keys = Object.keys(variables);\n\t\tfor (const key of keys) {\n\t\t\tconst value = variables[key];\n\t\t\twhile (str.includes(`{{${key}}}`)) {\n\t\t\t\tstr = str.replace(`{{${key}}}`, value);\n\t\t\t}\n\t\t}\n\t\treturn str;\n\t})\n);\n\n/**\n * The I18n service is a minimal internal singleton service used to supply our components with translated strings.\n *\n * All the components that support I18n also support directly passed strings.\n * Usage of I18n is optional, and it is not recommended for application use (libraries like ngx-translate\n * are a better choice)\n *\n */\n@Injectable()\nexport class I18n {\n\tprotected translationStrings = EN;\n\n\tprotected translations = new Map();\n\n\t/**\n\t * Set/update the translations from an object. Also notifies all participating components of the update.\n\t *\n\t * @param strings an object of strings, should follow the same format as src/i18n/en.json\n\t */\n\tpublic set(strings) {\n\t\tthis.translationStrings = merge({}, EN, strings);\n\t\t// iterate over all our tracked translations and update each observable\n\t\tconst translations = Array.from(this.translations);\n\t\tfor (const [path, subject] of translations) {\n\t\t\tsubject.next(this.getValueFromPath(path));\n\t\t}\n\t}\n\n\t/**\n\t * When a path is specified returns an observable that will resolve to the translation string value.\n\t *\n\t * Returns the full translations object if path is not specified.\n\t *\n\t * @param path optional, looks like `\"NOTIFICATION.CLOSE_BUTTON\"`\n\t */\n\tpublic get(path?) {\n\t\tif (!path) {\n\t\t\treturn this.translationStrings;\n\t\t}\n\t\ttry {\n\t\t\t// we run this here to validate the path exists before adding it to the translation map\n\t\t\tconst value = this.getValueFromPath(path);\n\t\t\tif (this.translations.has(path)) {\n\t\t\t\treturn this.translations.get(path);\n\t\t\t}\n\t\t\tconst translation = new BehaviorSubject(value);\n\t\t\tthis.translations.set(path, translation);\n\t\t\treturn translation;\n\t\t} catch (err) {\n\t\t\tconsole.error(err);\n\t\t}\n\t}\n\n\t/**\n\t * Takes the `Observable` returned from `i18n.get` and an object of variables to replace.\n\t *\n\t * The keys specify the variable name in the string.\n\t *\n\t * Example:\n\t * ```\n\t * service.set({ \"TEST\": \"{{foo}} {{bar}}\" });\n\t *\n\t * service.replace(service.get(\"TEST\"), { foo: \"test\", bar: \"asdf\" })\n\t * ```\n\t *\n\t * Produces: `\"test asdf\"`\n\t *\n\t * @param subject the translation to replace variables on\n\t * @param variables object of variables to replace\n\t */\n\tpublic replace(subject, variables) {\n\t\treturn replace(subject, variables);\n\t}\n\n\t/**\n\t * Trys to resolve a value from the provided path.\n\t *\n\t * @param path looks like `\"NOTIFICATION.CLOSE_BUTTON\"`\n\t */\n\tprotected getValueFromPath(path) {\n\t\tlet value = this.translationStrings;\n\t\tfor (const segment of path.split(\".\")) {\n\t\t\tif (value[segment]) {\n\t\t\t\tvalue = value[segment];\n\t\t\t} else {\n\t\t\t\tthrow new Error(`no key ${segment} at ${path}`);\n\t\t\t}\n\t\t}\n\t\treturn value;\n\t}\n}\n","import { Pipe, PipeTransform } from \"@angular/core\";\nimport { replace } from \"./i18n.service\";\n\n@Pipe({\n\tname: \"i18nReplace\"\n})\nexport class ReplacePipe implements PipeTransform {\n\ttransform(value, variables) {\n\t\treturn replace(value, variables);\n\t}\n}\n","\n export var withStorySource = require('@storybook/addon-storysource').withStorySource;\n export var __STORY__ = \"import { storiesOf, moduleMetadata } from '@storybook/angular';\\nimport { Component, OnInit, OnDestroy } from '@angular/core';\\n\\nimport { ButtonModule } from './';\\n\\n@Component({\\n selector: 'app-welcome',\\n // tslint:disable:max-line-length\\n template: `\\n <section class=\\\"overview-page__banner\\\" aria-label=\\\"overview page banner\\\">\\n <svg xmlns=\\\"http://www.w3.org/2000/svg\\\" class=\\\"banner__background\\\" viewBox=\\\"0 0 1530 823\\\">\\n <g fill=\\\"none\\\" stroke-width=\\\"2\\\">\\n <path\\n d=\\\"M97.3 306.07c27.19 14.46 52 10.25 75.64-7.49l-17.81-30c-11.21 10.32-25.91 15.93-41.84 7.46-18.91-10.05-24.33-30.08-11.31-54.57l13.26-24.94c13-24.5 32.66-31.2 51.57-21.14 15.93 8.47 19.17 21.33 16.13 36.28l35.88-.38c2.43-30.7-8.83-51.54-36-66-39.93-21.23-81-5.95-109 46.61S57.37 284.84 97.3 306.07z\\\"\\n stroke=\\\"#0B21A8\\\"\\n opacity=\\\".3\\\"\\n ></path>\\n <path\\n data-name=\\\"Path\\\"\\n d=\\\"M70.82 291.99c27.19 14.46 52 10.25 75.64-7.49l-17.81-30c-11.21 10.32-25.91 15.93-41.84 7.46-18.91-10.05-24.33-30.08-11.31-54.57l13.26-24.94c13-24.5 32.66-31.2 51.57-21.14 15.93 8.47 19.17 21.33 16.13 36.28l35.88-.35c2.43-30.7-8.83-51.54-36-66-39.93-21.23-81-5.95-109 46.61s-16.46 92.91 23.48 114.14z\\\"\\n stroke=\\\"#0B21A8\\\"\\n opacity=\\\".1\\\"\\n ></path>\\n <path\\n data-name=\\\"Path\\\"\\n d=\\\"M117.99 317.08c27.19 14.46 52 10.25 75.64-7.49l-17.81-30c-11.21 10.32-25.91 15.93-41.84 7.46-18.91-10.05-24.33-30.08-11.31-54.57l13.26-24.94c13-24.5 32.66-31.2 51.57-21.14 15.93 8.47 19.17 21.33 16.13 36.28l35.88-.35c2.43-30.7-8.83-51.54-36-66-39.93-21.23-81-5.95-109 46.61s-16.45 92.9 23.48 114.14z\\\"\\n stroke=\\\"#0B21A8\\\"\\n ></path>\\n </g>\\n <g fill=\\\"none\\\" stroke=\\\"#0B21A8\\\" stroke-width=\\\"2\\\">\\n <path\\n d=\\\"M53.84351034 664.3264129l135.35957093-54.68881657 54.68881657 135.35957093-135.35957092 54.68881658z\\\"\\n ></path>\\n <path\\n data-name=\\\"Rectangle-2\\\"\\n opacity=\\\".3\\\"\\n d=\\\"M28.5999305 655.32682863l135.35957094-54.68881657L218.648318 735.997583 83.2887471 790.68639955z\\\"\\n ></path>\\n <path\\n data-name=\\\"Rectangle-2\\\"\\n opacity=\\\".1\\\"\\n d=\\\"M1.30727542 647.15849654l135.35957092-54.68881657 54.68881658 135.35957093L55.996092 782.51806747z\\\"\\n ></path>\\n </g>\\n <g fill=\\\"none\\\" stroke=\\\"#0B21A8\\\" stroke-width=\\\"2\\\">\\n <path\\n data-name=\\\"Rectangle-2\\\"\\n d=\\\"M1036.59884943 252.91132245l134.84475598-57.238203 57.23820302 134.84475597-134.84475598 57.238203z\\\"\\n ></path>\\n <path\\n data-name=\\\"Rectangle-2\\\"\\n opacity=\\\".3\\\"\\n d=\\\"M1045.19015696 227.4304784l134.844756-57.23820302 57.238203 134.84475598-134.84475598 57.238203z\\\"\\n ></path>\\n <path\\n data-name=\\\"Rectangle-2\\\"\\n opacity=\\\".1\\\"\\n d=\\\"M1052.2449 200.6052l134.7708-57.1311 57.1311 134.7708-134.7708 57.1311z\\\"\\n stroke-width=\\\"1.9985\\\"\\n ></path>\\n </g>\\n <g fill=\\\"none\\\" stroke=\\\"#0B21A8\\\" stroke-width=\\\"2\\\">\\n <path\\n data-name=\\\"Rectangle-2\\\"\\n d=\\\"M1220.759993 667.64245583l129.00175408-57.43528137 57.43528137 129.00175407-129.00175408 57.43528137z\\\"\\n ></path>\\n <path\\n data-name=\\\"Rectangle-2\\\"\\n opacity=\\\".3\\\"\\n d=\\\"M1253.4022198 678.64557183l129.0017541-57.43528137 57.43528136 129.00175408-129.00175408 57.43528137z\\\"\\n ></path>\\n <path\\n data-name=\\\"Rectangle-2\\\"\\n opacity=\\\".1\\\"\\n d=\\\"M1293.25129392 693.23574483l129.00175408-57.43528137 57.43528137 129.00175408-129.00175408 57.43528137z\\\"\\n ></path>\\n </g>\\n <g fill=\\\"none\\\" stroke=\\\"#0B21A8\\\" stroke-width=\\\"2\\\">\\n <path\\n data-name=\\\"Rectangle-2\\\"\\n d=\\\"M326.96903197 217.8200386l89.4721883-127.7795274 127.7795274 89.47218832-89.4721883 127.7795274z\\\"\\n ></path>\\n <path\\n data-name=\\\"Rectangle-2\\\"\\n opacity=\\\".3\\\"\\n d=\\\"M324.28116742 170.27180653l89.4721883-127.7795274 127.7795274 89.47218832-89.4721883 127.7795274z\\\"\\n ></path>\\n <path\\n data-name=\\\"Rectangle-2\\\"\\n opacity=\\\".1\\\"\\n d=\\\"M309.8023 128.7689L398.7166.8571l127.9118 88.9143-88.9143 127.9118z\\\"\\n stroke-width=\\\"1.9973\\\"\\n ></path>\\n </g>\\n <g fill=\\\"none\\\" stroke=\\\"#0B21A8\\\" stroke-width=\\\"2\\\">\\n <circle cx=\\\"330.25\\\" cy=\\\"343.51\\\" r=\\\"65.56\\\" transform=\\\"translate(-94.02 125.42) rotate(-19)\\\"></circle>\\n <circle\\n data-name=\\\"Oval\\\"\\n cx=\\\"304.83\\\"\\n cy=\\\"331.11\\\"\\n r=\\\"65.56\\\"\\n transform=\\\"translate(-91.37 116.47) rotate(-19)\\\"\\n opacity=\\\".3\\\"\\n ></circle>\\n <circle\\n data-name=\\\"Oval\\\"\\n cx=\\\"279.41\\\"\\n cy=\\\"318.71\\\"\\n r=\\\"65.56\\\"\\n transform=\\\"translate(-88.72 107.52) rotate(-19)\\\"\\n opacity=\\\".1\\\"\\n ></circle>\\n </g>\\n <g fill=\\\"none\\\" stroke=\\\"#0B21A8\\\" stroke-width=\\\"2\\\">\\n <path d=\\\"M664.58 377.77l-163.43-31.24L610.9 220.28l53.68 157.49z\\\"></path>\\n <path data-name=\\\"Triangle\\\" opacity=\\\".3\\\" d=\\\"M692.39 366.28l-163.42-31.23L638.72 208.8l53.67 157.48z\\\"></path>\\n <path data-name=\\\"Triangle\\\" opacity=\\\".1\\\" d=\\\"M725.64 350.6l-163.42-31.23 109.75-126.25 53.67 157.48z\\\"></path>\\n </g>\\n <g fill=\\\"none\\\" stroke=\\\"#0B21A8\\\" stroke-width=\\\"2\\\">\\n <path data-name=\\\"Triangle\\\" d=\\\"M74.92 510.53l11.09-166.01 138.68 93.54-149.77 72.47z\\\"></path>\\n <path data-name=\\\"Triangle\\\" opacity=\\\".3\\\" d=\\\"M89.71 536.74l11.09-166.01 138.68 93.54-149.77 72.47z\\\"></path>\\n <path data-name=\\\"Triangle\\\" opacity=\\\".1\\\" d=\\\"M109.33 567.83l11.08-166.01 138.69 93.54-149.77 72.47z\\\"></path>\\n </g>\\n <g fill=\\\"none\\\" stroke=\\\"#0B21A8\\\" stroke-width=\\\"2\\\">\\n <path data-name=\\\"Triangle\\\" d=\\\"M1140.96 534.62l77.65-147.15 88.64 141.86-166.29 5.29z\\\"></path>\\n <path data-name=\\\"Triangle\\\" opacity=\\\".3\\\" d=\\\"M1143.81 564.58l77.65-147.15 88.65 141.86-166.3 5.29z\\\"></path>\\n <path data-name=\\\"Triangle\\\" opacity=\\\".1\\\" d=\\\"M1149.08 600.96l77.65-147.15 88.65 141.86-166.3 5.29z\\\"></path>\\n </g>\\n <g fill=\\\"none\\\" stroke=\\\"#0B21A8\\\" stroke-width=\\\"2\\\">\\n <path d=\\\"M246.65 550.67l60.69-50.93 74.44 27.1 13.76 78.02-60.69 50.93-74.45-27.1-13.75-78.02z\\\"></path>\\n <path\\n data-name=\\\"Polygon\\\"\\n opacity=\\\".3\\\"\\n d=\\\"M286.13 542.09l60.69-50.93 74.45 27.1 13.76 78.02-60.69 50.92-74.45-27.09-13.76-78.02z\\\"\\n ></path>\\n <path\\n data-name=\\\"Polygon\\\"\\n opacity=\\\".1\\\"\\n d=\\\"M324 527.85l60.69-50.92 74.45 27.09 13.75 78.02-60.69 50.93-74.45-27.1L324 527.85z\\\"\\n ></path>\\n </g>\\n <g fill=\\\"none\\\" stroke=\\\"#0B21A8\\\" stroke-width=\\\"2\\\">\\n <path\\n data-name=\\\"Polygon\\\"\\n d=\\\"M1062.61 673.33h-82.18l-41.09-71.17 41.09-71.17h82.18l41.09 71.17-41.09 71.17z\\\"\\n ></path>\\n <path\\n data-name=\\\"Polygon\\\"\\n opacity=\\\".3\\\"\\n d=\\\"M1025.51 653.82h-82.18l-41.09-71.17 41.09-71.17h82.18l41.09 71.17-41.09 71.17z\\\"\\n ></path>\\n <path\\n data-name=\\\"Polygon\\\"\\n opacity=\\\".1\\\"\\n d=\\\"M985.93 639.88h-82.18l-41.09-71.17 41.09-71.17h82.18l41.1 71.17-41.1 71.17z\\\"\\n ></path>\\n </g>\\n <g fill=\\\"none\\\" stroke=\\\"#0B21A8\\\" stroke-width=\\\"2\\\">\\n <path data-name=\\\"Polygon\\\" d=\\\"M753.93 90.33h99.99l49.99 86.59-49.99 86.59h-99.99l-50-86.59 50-86.59z\\\"></path>\\n <path\\n data-name=\\\"Polygon\\\"\\n opacity=\\\".3\\\"\\n d=\\\"M799.07 114.06h99.98l50 86.6-50 86.59h-99.98l-50-86.59 50-86.6z\\\"\\n ></path>\\n <path\\n data-name=\\\"Polygon\\\"\\n opacity=\\\".1\\\"\\n d=\\\"M843.05 121.65h99.98l50 86.59-50 86.59h-99.98l-50-86.59 50-86.59z\\\"\\n ></path>\\n </g>\\n <g data-name=\\\"c1\\\" fill=\\\"none\\\" stroke-width=\\\"2\\\">\\n <path\\n data-name=\\\"Path\\\"\\n d=\\\"M563.82 784.63c27.68-13.5 38.88-36.08 38.4-65.59l-34.77-3.24c1.76 15.14-2.34 30.33-18.56 38.24-19.24 9.39-38.64 2-50.8-22.93l-12.38-25.39c-12.16-24.94-6-44.76 13.21-54.15 16.22-7.91 28.53-3 38.83 8.28l20.81-29.23c-23.41-20-46.89-23.15-74.57-9.65-40.65 19.83-52.44 62.06-26.35 115.56s65.55 67.92 106.18 48.1z\\\"\\n stroke=\\\"#0B21A8\\\"\\n opacity=\\\".3\\\"\\n ></path>\\n <path\\n data-name=\\\"Path\\\"\\n d=\\\"M536.88 797.78c27.68-13.5 38.88-36.08 38.4-65.59l-34.77-3.24c1.76 15.14-2.34 30.33-18.56 38.24-19.24 9.39-38.64 2-50.8-22.93l-12.33-25.41c-12.16-24.94-6-44.76 13.21-54.15 16.22-7.91 28.53-3 38.83 8.28l20.81-29.23c-23.41-20-46.89-23.15-74.57-9.65-40.65 19.83-52.44 62.06-26.35 115.56s65.48 67.94 106.13 48.12z\\\"\\n stroke=\\\"#0B21A8\\\"\\n opacity=\\\".05\\\"\\n ></path>\\n <path\\n data-name=\\\"Path\\\"\\n d=\\\"M584.9 774.35c27.68-13.5 38.88-36.08 38.4-65.59l-34.77-3.24c1.76 15.14-2.34 30.33-18.56 38.24-19.24 9.39-38.64 2-50.8-22.93l-12.35-25.4c-12.16-24.94-6-44.76 13.21-54.15 16.22-7.91 28.53-3 38.83 8.28l20.81-29.23c-23.41-20-46.89-23.15-74.57-9.65-40.68 19.83-52.47 62.06-26.38 115.51s65.53 68 106.18 48.16z\\\"\\n stroke=\\\"#0B21A8\\\"\\n ></path>\\n </g>\\n <g fill=\\\"none\\\" stroke-width=\\\"2\\\">\\n <path\\n data-name=\\\"Path\\\"\\n d=\\\"M1374.96 528.33c25.53 17.22 50.69 15.63 76 .46l-14.58-31.74c-12.23 9.09-27.43 13.14-42.39 3-17.75-12-21.06-32.46-5.54-55.46l15.8-23.42c15.51-23 35.74-27.61 53.49-15.64 15 10.09 16.84 23.22 12.25 37.77l35.72 3.4c5.62-30.28-3.4-52.18-28.92-69.4-37.5-25.29-80-14.39-113.25 35s-26.08 90.74 11.42 116.03z\\\"\\n stroke=\\\"#0B21A8\\\"\\n opacity=\\\".3\\\"\\n ></path>\\n <path\\n data-name=\\\"Path\\\"\\n d=\\\"M1350.09 511.56c25.53 17.22 50.69 15.63 76 .46l-14.58-31.74c-12.23 9.09-27.43 13.14-42.39 3-17.75-12-21.06-32.46-5.54-55.46l15.8-23.42c15.51-23 35.74-27.61 53.49-15.64 15 10.09 16.84 23.22 12.25 37.77l35.72 3.4c5.62-30.28-3.4-52.18-28.92-69.4-37.5-25.29-80-14.39-113.25 35s-26.07 90.73 11.42 116.03z\\\"\\n stroke=\\\"#0B21A8\\\"\\n opacity=\\\".05\\\"\\n ></path>\\n <path\\n data-name=\\\"Path\\\"\\n d=\\\"M1394.39 541.43c25.53 17.22 50.69 15.63 76 .46l-14.57-31.7c-12.23 9.09-27.43 13.14-42.39 3-17.75-12-21.06-32.46-5.54-55.46l15.8-23.42c15.51-23 35.74-27.61 53.49-15.64 15 10.09 16.84 23.22 12.25 37.77l35.72 3.4c5.62-30.28-3.4-52.18-28.92-69.4-37.5-25.29-80-14.39-113.25 35s-26.09 90.75 11.41 115.99z\\\"\\n stroke=\\\"#0B21A8\\\"\\n ></path>\\n </g>\\n <g fill=\\\"none\\\" stroke=\\\"#0B21A8\\\" stroke-width=\\\"2\\\">\\n <circle\\n data-name=\\\"Oval\\\"\\n cx=\\\"1400.43\\\"\\n cy=\\\"210.27\\\"\\n r=\\\"79.61\\\"\\n transform=\\\"translate(1116.98 1596.97) rotate(-87)\\\"\\n ></circle>\\n <circle\\n data-name=\\\"Oval\\\"\\n cx=\\\"1374.91\\\"\\n cy=\\\"233.25\\\"\\n r=\\\"79.61\\\"\\n transform=\\\"translate(1069.84 1593.26) rotate(-87)\\\"\\n opacity=\\\".3\\\"\\n ></circle>\\n <circle\\n data-name=\\\"Oval\\\"\\n cx=\\\"1349.38\\\"\\n cy=\\\"256.23\\\"\\n r=\\\"79.61\\\"\\n transform=\\\"translate(1022.7 1589.55) rotate(-87)\\\"\\n opacity=\\\".1\\\"\\n ></circle>\\n </g>\\n <g fill=\\\"none\\\" stroke=\\\"#0B21A8\\\" stroke-width=\\\"2\\\">\\n <circle\\n data-name=\\\"Oval\\\"\\n cx=\\\"788.73\\\"\\n cy=\\\"678.37\\\"\\n r=\\\"79.61\\\"\\n transform=\\\"matrix(0.97, -0.26, 0.26, 0.97, -148.88, 226.44)\\\"\\n ></circle>\\n <circle\\n data-name=\\\"Oval\\\"\\n cx=\\\"758.98\\\"\\n cy=\\\"661.2\\\"\\n r=\\\"79.61\\\"\\n transform=\\\"matrix(0.97, -0.26, 0.26, 0.97, -145.45, 218.16)\\\"\\n opacity=\\\".3\\\"\\n ></circle>\\n <circle\\n data-name=\\\"Oval\\\"\\n cx=\\\"729.24\\\"\\n cy=\\\"644.03\\\"\\n r=\\\"79.61\\\"\\n transform=\\\"matrix(0.97, -0.26, 0.26, 0.97, -142.01, 209.88)\\\"\\n opacity=\\\".1\\\"\\n ></circle>\\n </g>\\n </svg>\\n\\n <h1 class=\\\"banner__title\\\"><span class=\\\"banner__logo--bold\\\">Carbon</span> Components Angular</h1>\\n <h2 class=\\\"banner__subtitle\\\">An Angular implementation of the Carbon Design System</h2>\\n <a style=\\\"z-index: 2\\\" href=\\\"https://angular.carbondesignsystem.com/documentation/\\\">\\n <button class=\\\"banner__btn\\\" ibmButton=\\\"secondary\\\">Documentation</button>\\n </a>\\n </section>\\n `,\\n // tslint:enable:max-line-length\\n styles: [\\n `\\n .overview-page__banner {\\n height: 100vh;\\n background: #5596e6;\\n display: flex;\\n flex-direction: column;\\n align-items: center;\\n justify-content: center;\\n }\\n .banner__background {\\n position: fixed;\\n }\\n .banner__title {\\n font-size: 3.3vw;\\n margin-top: 8vw;\\n color: #fff;\\n text-transform: uppercase;\\n letter-spacing: 1px;\\n position: relative;\\n }\\n .banner__subtitle {\\n font-size: 1.8vw;\\n color: #fff;\\n z-index: 2;\\n }\\n .banner__btn {\\n margin-top: 20px;\\n border-color: #fff;\\n color: #fff;\\n }\\n .banner__logo--bold,\\n .banner__logo span {\\n font-weight: 600;\\n }\\n @media screen and (min-width: 1515px) {\\n .banner__title {\\n font-size: 50px;\\n }\\n .banner__subtitle {\\n font-size: 28px;\\n }\\n }\\n `,\\n ],\\n})\\nclass WelcomeStory implements OnInit, OnDestroy {\\n ngOnInit() {\\n document.querySelector('.sb-show-main').classList.add('welcome');\\n }\\n ngOnDestroy() {\\n document.querySelector('.sb-show-main').classList.remove('welcome');\\n }\\n}\\n\\nstoriesOf('Welcome', module)\\n .addDecorator(\\n moduleMetadata({\\n imports: [ButtonModule],\\n declarations: [WelcomeStory],\\n })\\n )\\n\\n .add('to Carbon Angular', () => ({\\n template: `<app-welcome></app-welcome>`,\\n }));\\n\";\n export var __ADDS_MAP__ = {\"welcome--to-carbon-angular\":{\"startLoc\":{\"col\":7,\"line\":332},\"endLoc\":{\"col\":4,\"line\":334}}};\n \n import { storiesOf, moduleMetadata } from \"@storybook/angular\";\nimport { Component, OnInit, OnDestroy } from \"@angular/core\";\n\nimport { ButtonModule } from \"./\";\n\n@Component({\n\tselector: \"app-welcome\",\n\t// tslint:disable:max-line-length\n\ttemplate: `\n\t\t<section class=\"overview-page__banner\" aria-label=\"overview page banner\">\n\t\t\t<svg xmlns=\"http://www.w3.org/2000/svg\" class=\"banner__background\" viewBox=\"0 0 1530 823\">\n\t\t\t\t<g fill=\"none\" stroke-width=\"2\">\n\t\t\t\t\t<path d=\"M97.3 306.07c27.19 14.46 52 10.25 75.64-7.49l-17.81-30c-11.21 10.32-25.91 15.93-41.84 7.46-18.91-10.05-24.33-30.08-11.31-54.57l13.26-24.94c13-24.5 32.66-31.2 51.57-21.14 15.93 8.47 19.17 21.33 16.13 36.28l35.88-.38c2.43-30.7-8.83-51.54-36-66-39.93-21.23-81-5.95-109 46.61S57.37 284.84 97.3 306.07z\" stroke=\"#0B21A8\" opacity=\".3\"></path>\n\t\t\t\t\t<path data-name=\"Path\" d=\"M70.82 291.99c27.19 14.46 52 10.25 75.64-7.49l-17.81-30c-11.21 10.32-25.91 15.93-41.84 7.46-18.91-10.05-24.33-30.08-11.31-54.57l13.26-24.94c13-24.5 32.66-31.2 51.57-21.14 15.93 8.47 19.17 21.33 16.13 36.28l35.88-.35c2.43-30.7-8.83-51.54-36-66-39.93-21.23-81-5.95-109 46.61s-16.46 92.91 23.48 114.14z\" stroke=\"#0B21A8\" opacity=\".1\"></path>\n\t\t\t\t\t<path data-name=\"Path\" d=\"M117.99 317.08c27.19 14.46 52 10.25 75.64-7.49l-17.81-30c-11.21 10.32-25.91 15.93-41.84 7.46-18.91-10.05-24.33-30.08-11.31-54.57l13.26-24.94c13-24.5 32.66-31.2 51.57-21.14 15.93 8.47 19.17 21.33 16.13 36.28l35.88-.35c2.43-30.7-8.83-51.54-36-66-39.93-21.23-81-5.95-109 46.61s-16.45 92.9 23.48 114.14z\" stroke=\"#0B21A8\"></path>\n\t\t\t\t</g>\n\t\t\t\t<g fill=\"none\" stroke=\"#0B21A8\" stroke-width=\"2\">\n\t\t\t\t\t<path d=\"M53.84351034 664.3264129l135.35957093-54.68881657 54.68881657 135.35957093-135.35957092 54.68881658z\"></path>\n\t\t\t\t\t<path data-name=\"Rectangle-2\" opacity=\".3\" d=\"M28.5999305 655.32682863l135.35957094-54.68881657L218.648318 735.997583 83.2887471 790.68639955z\"></path>\n\t\t\t\t\t<path data-name=\"Rectangle-2\" opacity=\".1\" d=\"M1.30727542 647.15849654l135.35957092-54.68881657 54.68881658 135.35957093L55.996092 782.51806747z\"></path>\n\t\t\t\t</g>\n\t\t\t\t<g fill=\"none\" stroke=\"#0B21A8\" stroke-width=\"2\">\n\t\t\t\t\t<path data-name=\"Rectangle-2\" d=\"M1036.59884943 252.91132245l134.84475598-57.238203 57.23820302 134.84475597-134.84475598 57.238203z\"></path>\n\t\t\t\t\t<path data-name=\"Rectangle-2\" opacity=\".3\" d=\"M1045.19015696 227.4304784l134.844756-57.23820302 57.238203 134.84475598-134.84475598 57.238203z\"></path>\n\t\t\t\t\t<path data-name=\"Rectangle-2\" opacity=\".1\" d=\"M1052.2449 200.6052l134.7708-57.1311 57.1311 134.7708-134.7708 57.1311z\" stroke-width=\"1.9985\"></path>\n\t\t\t\t</g>\n\t\t\t\t<g fill=\"none\" stroke=\"#0B21A8\" stroke-width=\"2\">\n\t\t\t\t\t<path data-name=\"Rectangle-2\" d=\"M1220.759993 667.64245583l129.00175408-57.43528137 57.43528137 129.00175407-129.00175408 57.43528137z\"></path>\n\t\t\t\t\t<path data-name=\"Rectangle-2\" opacity=\".3\" d=\"M1253.4022198 678.64557183l129.0017541-57.43528137 57.43528136 129.00175408-129.00175408 57.43528137z\"></path>\n\t\t\t\t\t<path data-name=\"Rectangle-2\" opacity=\".1\" d=\"M1293.25129392 693.23574483l129.00175408-57.43528137 57.43528137 129.00175408-129.00175408 57.43528137z\"></path>\n\t\t\t\t</g>\n\t\t\t\t<g fill=\"none\" stroke=\"#0B21A8\" stroke-width=\"2\">\n\t\t\t\t\t<path data-name=\"Rectangle-2\" d=\"M326.96903197 217.8200386l89.4721883-127.7795274 127.7795274 89.47218832-89.4721883 127.7795274z\"></path>\n\t\t\t\t\t<path data-name=\"Rectangle-2\" opacity=\".3\" d=\"M324.28116742 170.27180653l89.4721883-127.7795274 127.7795274 89.47218832-89.4721883 127.7795274z\"></path>\n\t\t\t\t\t<path data-name=\"Rectangle-2\" opacity=\".1\" d=\"M309.8023 128.7689L398.7166.8571l127.9118 88.9143-88.9143 127.9118z\" stroke-width=\"1.9973\"></path>\n\t\t\t\t</g>\n\t\t\t\t<g fill=\"none\" stroke=\"#0B21A8\" stroke-width=\"2\">\n\t\t\t\t\t<circle cx=\"330.25\" cy=\"343.51\" r=\"65.56\" transform=\"translate(-94.02 125.42) rotate(-19)\"></circle>\n\t\t\t\t\t<circle data-name=\"Oval\" cx=\"304.83\" cy=\"331.11\" r=\"65.56\" transform=\"translate(-91.37 116.47) rotate(-19)\" opacity=\".3\"></circle>\n\t\t\t\t\t<circle data-name=\"Oval\" cx=\"279.41\" cy=\"318.71\" r=\"65.56\" transform=\"translate(-88.72 107.52) rotate(-19)\" opacity=\".1\"></circle>\n\t\t\t\t</g>\n\t\t\t\t<g fill=\"none\" stroke=\"#0B21A8\" stroke-width=\"2\">\n\t\t\t\t\t<path d=\"M664.58 377.77l-163.43-31.24L610.9 220.28l53.68 157.49z\"></path>\n\t\t\t\t\t<path data-name=\"Triangle\" opacity=\".3\" d=\"M692.39 366.28l-163.42-31.23L638.72 208.8l53.67 157.48z\"></path>\n\t\t\t\t\t<path data-name=\"Triangle\" opacity=\".1\" d=\"M725.64 350.6l-163.42-31.23 109.75-126.25 53.67 157.48z\"></path>\n\t\t\t\t</g>\n\t\t\t\t<g fill=\"none\" stroke=\"#0B21A8\" stroke-width=\"2\">\n\t\t\t\t\t<path data-name=\"Triangle\" d=\"M74.92 510.53l11.09-166.01 138.68 93.54-149.77 72.47z\"></path>\n\t\t\t\t\t<path data-name=\"Triangle\" opacity=\".3\" d=\"M89.71 536.74l11.09-166.01 138.68 93.54-149.77 72.47z\"></path>\n\t\t\t\t\t<path data-name=\"Triangle\" opacity=\".1\" d=\"M109.33 567.83l11.08-166.01 138.69 93.54-149.77 72.47z\"></path>\n\t\t\t\t</g>\n\t\t\t\t<g fill=\"none\" stroke=\"#0B21A8\" stroke-width=\"2\">\n\t\t\t\t\t<path data-name=\"Triangle\" d=\"M1140.96 534.62l77.65-147.15 88.64 141.86-166.29 5.29z\"></path>\n\t\t\t\t\t<path data-name=\"Triangle\" opacity=\".3\" d=\"M1143.81 564.58l77.65-147.15 88.65 141.86-166.3 5.29z\"></path>\n\t\t\t\t\t<path data-name=\"Triangle\" opacity=\".1\" d=\"M1149.08 600.96l77.65-147.15 88.65 141.86-166.3 5.29z\"></path>\n\t\t\t\t</g>\n\t\t\t\t<g fill=\"none\" stroke=\"#0B21A8\" stroke-width=\"2\">\n\t\t\t\t\t<path d=\"M246.65 550.67l60.69-50.93 74.44 27.1 13.76 78.02-60.69 50.93-74.45-27.1-13.75-78.02z\"></path>\n\t\t\t\t\t<path data-name=\"Polygon\" opacity=\".3\" d=\"M286.13 542.09l60.69-50.93 74.45 27.1 13.76 78.02-60.69 50.92-74.45-27.09-13.76-78.02z\"></path>\n\t\t\t\t\t<path data-name=\"Polygon\" opacity=\".1\" d=\"M324 527.85l60.69-50.92 74.45 27.09 13.75 78.02-60.69 50.93-74.45-27.1L324 527.85z\"></path>\n\t\t\t\t</g>\n\t\t\t\t<g fill=\"none\" stroke=\"#0B21A8\" stroke-width=\"2\">\n\t\t\t\t\t<path data-name=\"Polygon\" d=\"M1062.61 673.33h-82.18l-41.09-71.17 41.09-71.17h82.18l41.09 71.17-41.09 71.17z\"></path>\n\t\t\t\t\t<path data-name=\"Polygon\" opacity=\".3\" d=\"M1025.51 653.82h-82.18l-41.09-71.17 41.09-71.17h82.18l41.09 71.17-41.09 71.17z\"></path>\n\t\t\t\t\t<path data-name=\"Polygon\" opacity=\".1\" d=\"M985.93 639.88h-82.18l-41.09-71.17 41.09-71.17h82.18l41.1 71.17-41.1 71.17z\"></path>\n\t\t\t\t</g>\n\t\t\t\t<g fill=\"none\" stroke=\"#0B21A8\" stroke-width=\"2\">\n\t\t\t\t\t<path data-name=\"Polygon\" d=\"M753.93 90.33h99.99l49.99 86.59-49.99 86.59h-99.99l-50-86.59 50-86.59z\"></path>\n\t\t\t\t\t<path data-name=\"Polygon\" opacity=\".3\" d=\"M799.07 114.06h99.98l50 86.6-50 86.59h-99.98l-50-86.59 50-86.6z\"></path>\n\t\t\t\t\t<path data-name=\"Polygon\" opacity=\".1\" d=\"M843.05 121.65h99.98l50 86.59-50 86.59h-99.98l-50-86.59 50-86.59z\"></path>\n\t\t\t\t</g>\n\t\t\t\t<g data-name=\"c1\" fill=\"none\" stroke-width=\"2\">\n\t\t\t\t\t<path data-name=\"Path\" d=\"M563.82 784.63c27.68-13.5 38.88-36.08 38.4-65.59l-34.77-3.24c1.76 15.14-2.34 30.33-18.56 38.24-19.24 9.39-38.64 2-50.8-22.93l-12.38-25.39c-12.16-24.94-6-44.76 13.21-54.15 16.22-7.91 28.53-3 38.83 8.28l20.81-29.23c-23.41-20-46.89-23.15-74.57-9.65-40.65 19.83-52.44 62.06-26.35 115.56s65.55 67.92 106.18 48.1z\" stroke=\"#0B21A8\" opacity=\".3\"></path>\n\t\t\t\t\t<path data-name=\"Path\" d=\"M536.88 797.78c27.68-13.5 38.88-36.08 38.4-65.59l-34.77-3.24c1.76 15.14-2.34 30.33-18.56 38.24-19.24 9.39-38.64 2-50.8-22.93l-12.33-25.41c-12.16-24.94-6-44.76 13.21-54.15 16.22-7.91 28.53-3 38.83 8.28l20.81-29.23c-23.41-20-46.89-23.15-74.57-9.65-40.65 19.83-52.44 62.06-26.35 115.56s65.48 67.94 106.13 48.12z\" stroke=\"#0B21A8\" opacity=\".05\"></path>\n\t\t\t\t\t<path data-name=\"Path\" d=\"M584.9 774.35c27.68-13.5 38.88-36.08 38.4-65.59l-34.77-3.24c1.76 15.14-2.34 30.33-18.56 38.24-19.24 9.39-38.64 2-50.8-22.93l-12.35-25.4c-12.16-24.94-6-44.76 13.21-54.15 16.22-7.91 28.53-3 38.83 8.28l20.81-29.23c-23.41-20-46.89-23.15-74.57-9.65-40.68 19.83-52.47 62.06-26.38 115.51s65.53 68 106.18 48.16z\" stroke=\"#0B21A8\"></path>\n\t\t\t\t</g>\n\t\t\t\t<g fill=\"none\" stroke-width=\"2\">\n\t\t\t\t\t<path data-name=\"Path\" d=\"M1374.96 528.33c25.53 17.22 50.69 15.63 76 .46l-14.58-31.74c-12.23 9.09-27.43 13.14-42.39 3-17.75-12-21.06-32.46-5.54-55.46l15.8-23.42c15.51-23 35.74-27.61 53.49-15.64 15 10.09 16.84 23.22 12.25 37.77l35.72 3.4c5.62-30.28-3.4-52.18-28.92-69.4-37.5-25.29-80-14.39-113.25 35s-26.08 90.74 11.42 116.03z\" stroke=\"#0B21A8\" opacity=\".3\"></path>\n\t\t\t\t\t<path data-name=\"Path\" d=\"M1350.09 511.56c25.53 17.22 50.69 15.63 76 .46l-14.58-31.74c-12.23 9.09-27.43 13.14-42.39 3-17.75-12-21.06-32.46-5.54-55.46l15.8-23.42c15.51-23 35.74-27.61 53.49-15.64 15 10.09 16.84 23.22 12.25 37.77l35.72 3.4c5.62-30.28-3.4-52.18-28.92-69.4-37.5-25.29-80-14.39-113.25 35s-26.07 90.73 11.42 116.03z\" stroke=\"#0B21A8\" opacity=\".05\"></path>\n\t\t\t\t\t<path data-name=\"Path\" d=\"M1394.39 541.43c25.53 17.22 50.69 15.63 76 .46l-14.57-31.7c-12.23 9.09-27.43 13.14-42.39 3-17.75-12-21.06-32.46-5.54-55.46l15.8-23.42c15.51-23 35.74-27.61 53.49-15.64 15 10.09 16.84 23.22 12.25 37.77l35.72 3.4c5.62-30.28-3.4-52.18-28.92-69.4-37.5-25.29-80-14.39-113.25 35s-26.09 90.75 11.41 115.99z\" stroke=\"#0B21A8\"></path>\n\t\t\t\t</g>\n\t\t\t\t<g fill=\"none\" stroke=\"#0B21A8\" stroke-width=\"2\">\n\t\t\t\t\t<circle data-name=\"Oval\" cx=\"1400.43\" cy=\"210.27\" r=\"79.61\" transform=\"translate(1116.98 1596.97) rotate(-87)\"></circle>\n\t\t\t\t\t<circle data-name=\"Oval\" cx=\"1374.91\" cy=\"233.25\" r=\"79.61\" transform=\"translate(1069.84 1593.26) rotate(-87)\" opacity=\".3\"></circle>\n\t\t\t\t\t<circle data-name=\"Oval\" cx=\"1349.38\" cy=\"256.23\" r=\"79.61\" transform=\"translate(1022.7 1589.55) rotate(-87)\" opacity=\".1\"></circle>\n\t\t\t\t</g>\n\t\t\t\t<g fill=\"none\" stroke=\"#0B21A8\" stroke-width=\"2\">\n\t\t\t\t\t<circle data-name=\"Oval\" cx=\"788.73\" cy=\"678.37\" r=\"79.61\" transform=\"matrix(0.97, -0.26, 0.26, 0.97, -148.88, 226.44)\"></circle>\n\t\t\t\t\t<circle data-name=\"Oval\" cx=\"758.98\" cy=\"661.2\" r=\"79.61\" transform=\"matrix(0.97, -0.26, 0.26, 0.97, -145.45, 218.16)\" opacity=\".3\"></circle>\n\t\t\t\t\t<circle data-name=\"Oval\" cx=\"729.24\" cy=\"644.03\" r=\"79.61\" transform=\"matrix(0.97, -0.26, 0.26, 0.97, -142.01, 209.88)\" opacity=\".1\"></circle>\n\t\t\t\t</g>\n\t\t\t</svg>\n\n\t\t\t<h1 class=\"banner__title\"><span class=\"banner__logo--bold\">Carbon</span> Components Angular</h1>\n\t\t\t<h2 class=\"banner__subtitle\">An Angular implementation of the Carbon Design System</h2>\n\t\t\t<a style=\"z-index: 2\" href=\"https://angular.carbondesignsystem.com/documentation/\">\n\t\t\t\t<button class=\"banner__btn\" ibmButton=\"secondary\">Documentation</button>\n\t\t\t</a>\n\t\t</section>\n\t`,\n\t// tslint:enable:max-line-length\n\tstyles: [`\n\t\t.overview-page__banner {\n\t\t\theight: 100vh;\n\t\t\tbackground: #5596e6;\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: column;\n\t\t\talign-items: center;\n\t\t\tjustify-content: center;\n\t\t}\n\t\t.banner__background {\n\t\t\tposition: fixed;\n\t\t}\n\t\t.banner__title {\n\t\t\tfont-size: 3.3vw;\n\t\t\tmargin-top: 8vw;\n\t\t\tcolor: #fff;\n\t\t\ttext-transform: uppercase;\n\t\t\tletter-spacing: 1px;\n\t\t\tposition: relative;\n\t\t}\n\t\t.banner__subtitle {\n\t\t\tfont-size: 1.8vw;\n\t\t\tcolor: #fff;\n\t\t\tz-index: 2\n\t\t}\n\t\t.banner__btn {\n\t\t\tmargin-top: 20px;\n\t\t\tborder-color: #fff;\n\t\t\tcolor: #fff;\n\t\t}\n\t\t.banner__logo--bold, .banner__logo span {\n\t\t\tfont-weight: 600;\n\t\t}\n\t\t@media screen and (min-width: 1515px) {\n\t\t\t.banner__title {\n\t\t\t font-size: 50px;\n\t\t\t}\n\t\t\t.banner__subtitle {\n\t\t\t\tfont-size: 28px;\n\t\t\t}\n\t\t}\n\t`]\n})\nclass WelcomeStory implements OnInit, OnDestroy {\n\tngOnInit() {\n\t\tdocument.querySelector(\".sb-show-main\").classList.add(\"welcome\");\n\t}\n\tngOnDestroy() {\n\t\tdocument.querySelector(\".sb-show-main\").classList.remove(\"welcome\");\n\t}\n}\n\n\nstoriesOf(\"Welcome\", module).addDecorator(withStorySource(__STORY__, __ADDS_MAP__))\n.addDecorator(\n\tmoduleMetadata({\n\t\timports: [ButtonModule],\n\t\tdeclarations: [WelcomeStory]\n\t})\n)\n\n.add(\"to Carbon Angular\", () => ({\n\ttemplate: `<app-welcome></app-welcome>`\n}));\n\n ","export * from \"./accordion/accordion.module\";\nexport * from \"./breadcrumb/breadcrumb.module\";\nexport * from \"./button/button.module\";\nexport * from \"./checkbox/checkbox.module\";\nexport * from \"./code-snippet/code-snippet.module\";\nexport * from \"./combobox/combobox.module\";\nexport * from \"./content-switcher/content-switcher.module\";\nexport * from \"./datepicker/datepicker.module\";\nexport * from \"./dialog/dialog.module\";\nexport * from \"./dropdown/dropdown.module\";\nexport * from \"./experimental.module\";\nexport * from \"./file-uploader/file-uploader.module\";\nexport * from \"./forms/forms.module\";\nexport * from \"./grid/grid.module\";\nexport * from \"./i18n/i18n.module\";\nexport * from \"./inline-loading/inline-loading.module\";\nexport * from \"./input/input.module\";\nexport * from \"./link/link.module\";\nexport * from \"./list/list.module\";\nexport * from \"./loading/loading.module\";\nexport * from \"./modal/modal.module\";\nexport * from \"./notification/notification.module\";\nexport * from \"./number-input/number.module\";\nexport * from \"./pagination/pagination.module\";\nexport * from \"./placeholder/placeholder.module\";\nexport * from \"./progress-indicator/progress-indicator.module\";\nexport * from \"./radio/radio.module\";\nexport * from \"./search/search.module\";\nexport * from \"./select/select.module\";\nexport * from \"./slider/slider.module\";\nexport * from \"./structured-list/structured-list.module\";\nexport * from \"./table/table.module\";\nexport * from \"./tabs/tabs.module\";\nexport * from \"./tag/tag.module\";\nexport * from \"./tiles/tiles.module\";\nexport * from \"./timepicker/timepicker.module\";\nexport * from \"./timepicker-select/timepicker-select.module\";\nexport * from \"./ui-shell/ui-shell.module\";\n","import {\n\tComponent,\n\tInput,\n\tOutput,\n\tEventEmitter,\n\tHostBinding\n} from \"@angular/core\";\n\n@Component({\n\tselector: \"ibm-inline-loading\",\n\ttemplate: `\n\t\t<div class=\"bx--inline-loading__animation\">\n\t\t\t<div\n\t\t\t\t*ngIf=\"success === false\"\n\t\t\t\tclass=\"bx--loading bx--loading--small\"\n\t\t\t\t[ngClass]=\"{\n\t\t\t\t\t'bx--loading--stop': !isActive\n\t\t\t\t}\">\n\t\t\t\t<svg class=\"bx--loading__svg\" viewBox=\"-75 -75 150 150\">\n\t\t\t\t\t<circle class=\"bx--loading__background\" cx=\"0\" cy=\"0\" r=\"30\" />\n\t\t\t\t\t<circle class=\"bx--loading__stroke\" cx=\"0\" cy=\"0\" r=\"30\" />\n\t\t\t\t</svg>\n\t\t\t</div>\n\t\t\t<svg\n\t\t\t\t*ngIf=\"success === true\"\n\t\t\t\tclass=\"bx--inline-loading__checkmark-container bx--inline-loading__svg\"\n\t\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\t\tviewBox=\"0 0 10 10\">\n\t\t\t\t<polyline class=\"bx--inline-loading__checkmark\" points=\"0.74 3.4 3.67 6.34 9.24 0.74\"></polyline>\n\t\t\t</svg>\n\t\t</div>\n\t\t<p *ngIf=\"success === false\" class=\"bx--inline-loading__text\">{{loadingText}}</p>\n\t\t<p *ngIf=\"success === true\" class=\"bx--inline-loading__text\">{{successText}}</p>\n\t`\n})\nexport class InlineLoading {\n\t/**\n\t * Specify the text description for the loading state.\n\t */\n\t@Input() loadingText;\n\t/**\n\t * Specify the text description for the success state.\n\t */\n\t@Input() successText;\n\t/**\n\t * Provide a delay for the `setTimeout` for success.\n\t */\n\t@Input() successDelay = 1500;\n\t/**\n\t * set to `false` to stop the loading animation\n\t */\n\t@Input() isActive = true;\n\n\t/**\n\t * Returns value `true` if the component is in the success state.\n\t */\n\t@Input() get success() {\n\t\treturn this._success;\n\t}\n\t/**\n\t * Set the component's state to match the parameter and emits onSuccess if it exits.\n\t */\n\tset success (success: boolean) {\n\t\tthis._success = success;\n\t\tif (this._success) {\n\t\t\tsetTimeout(() => {\n\t\t\t\tthis.onSuccess.emit();\n\t\t\t}, this.successDelay);\n\t\t}\n\t}\n\n\t/**\n\t * Emits event after the success state is active\n\t *\n\t * @type {EventEmitter<any>}\n\t */\n\t@Output() onSuccess: EventEmitter<any> = new EventEmitter();\n\n\t@HostBinding(\"class.bx--inline-loading\") loadingClass = true;\n\n\t/**\n\t * Set to `true` if the action is completed successfully.\n\t */\n\tprotected _success = false;\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { Checkmark16Module } from \"@carbon/icons-angular/lib/checkmark/16\";\n\nimport { InlineLoading } from \"./inline-loading.component\";\n\nexport { InlineLoading } from \"./inline-loading.component\";\n\n@NgModule({\n\tdeclarations: [InlineLoading],\n\texports: [InlineLoading],\n\timports: [CommonModule, Checkmark16Module]\n})\nexport class InlineLoadingModule { }\n","\n export var withStorySource = require('@storybook/addon-storysource').withStorySource;\n export var __STORY__ = \"import { storiesOf, moduleMetadata } from '@storybook/angular';\\nimport { action } from '@storybook/addon-actions';\\nimport { withKnobs, text, object } from '@storybook/addon-knobs/angular';\\n\\nimport { InlineLoadingModule, ButtonModule } from '../';\\n\\nstoriesOf('Inline Loading', module)\\n .addDecorator(\\n moduleMetadata({\\n imports: [InlineLoadingModule, ButtonModule],\\n })\\n )\\n .addDecorator(withKnobs)\\n .add('Basic', () => ({\\n template: `\\n\\t\\t\\t<ibm-inline-loading #loading (onSuccess)=\\\"onSuccess()\\\" [loadingText]=\\\"loadingText\\\" [successText]=\\\"successText\\\"></ibm-inline-loading>\\n\\t\\t\\t<button ibmButton (click)=\\\"loading.success = !loading.success\\\">Toggle state</button>\\n\\t\\t`,\\n props: {\\n onSuccess: action('onSuccess'),\\n loadingText: text('The loading text', 'Loading data...'),\\n successText: text('The success text', 'Data loaded.'),\\n },\\n }));\\n\";\n export var __ADDS_MAP__ = {\"inline-loading--basic\":{\"startLoc\":{\"col\":7,\"line\":14},\"endLoc\":{\"col\":4,\"line\":24}}};\n \n import { storiesOf, moduleMetadata } from \"@storybook/angular\";\nimport { action } from \"@storybook/addon-actions\";\nimport { withKnobs, text, object } from \"@storybook/addon-knobs/angular\";\n\nimport { InlineLoadingModule, ButtonModule } from \"../\";\n\nstoriesOf(\"Inline Loading\", module).addDecorator(withStorySource(__STORY__, __ADDS_MAP__))\n\t.addDecorator(\n\t\tmoduleMetadata({\n\t\t\timports: [InlineLoadingModule, ButtonModule]\n\t\t})\n\t)\n\t.addDecorator(withKnobs)\n\t.add(\"Basic\", () => ({\n\t\ttemplate: `\n\t\t\t<ibm-inline-loading #loading (onSuccess)=\"onSuccess()\" [loadingText]=\"loadingText\" [successText]=\"successText\"></ibm-inline-loading>\n\t\t\t<button ibmButton (click)=\"loading.success = !loading.success\">Toggle state</button>\n\t\t`,\n\t\tprops: {\n\t\t\tonSuccess: action(\"onSuccess\"),\n\t\t\tloadingText: text(\"The loading text\", \"Loading data...\"),\n\t\t\tsuccessText: text(\"The success text\", \"Data loaded.\")\n\t\t}\n\t}));\n\n ","import { Directive, HostBinding, Input } from \"@angular/core\";\n\n/**\n * A directive for applying styling to an input element.\n *\n * Example:\n *\n * ```html\n * <input ibmText/>\n * ```\n *\n * See the [vanilla carbon docs](http://www.carbondesignsystem.com/components/text-input/code) for more detail.\n */\n@Directive({\n\tselector: \"[ibmText]\"\n})\nexport class TextInput {\n\t/**\n\t * `light` or `dark` input theme\n\t */\n\t@Input() theme: \"light\" | \"dark\" = \"dark\";\n\n\t@HostBinding(\"class.bx--text-input\") inputClass = true;\n\t@HostBinding(\"class.bx--skeleton\") @Input() skeleton = false;\n\t@HostBinding(\"class.bx--text-input--light\") get isLightTheme() {\n\t\treturn this.theme === \"light\";\n\t}\n}\n","// modules\nimport { NgModule } from \"@angular/core\";\nimport { FormsModule } from \"@angular/forms\";\nimport { CommonModule } from \"@angular/common\";\n\n// imports\nimport { Label } from \"./label.component\";\nimport { TextInput } from \"./input.directive\";\nimport { TextArea } from \"./text-area.directive\";\n\n@NgModule({\n\tdeclarations: [\n\t\tLabel,\n\t\tTextInput,\n\t\tTextArea\n\t],\n\texports: [\n\t\tLabel,\n\t\tTextInput,\n\t\tTextArea\n\t],\n\timports: [\n\t\tCommonModule,\n\t\tFormsModule\n\t]\n})\nclass InputModule { }\n\nexport { TextInput, Label, InputModule };\n","\n export var withStorySource = require('@storybook/addon-storysource').withStorySource;\n export var __STORY__ = \"import { storiesOf, moduleMetadata } from '@storybook/angular';\\nimport { action } from '@storybook/addon-actions';\\nimport { withKnobs, select } from '@storybook/addon-knobs/angular';\\n\\nimport { InputModule } from '../';\\n\\nstoriesOf('Input', module)\\n .addDecorator(\\n moduleMetadata({\\n imports: [InputModule],\\n })\\n )\\n .addDecorator(withKnobs)\\n .add('Label', () => ({\\n template: `\\n\\t\\t<ibm-label>\\n\\t\\t\\tSome Title\\n\\t\\t\\t<input ibmText placeholder=\\\"Optional placeholder text\\\">\\n\\t\\t</ibm-label>\\n\\t`,\\n }))\\n .add('Input', () => ({\\n template: `\\n\\t\\t<input ibmText [theme]=\\\"theme\\\" aria-label=\\\"input\\\" placeholder=\\\"Optional placeholder text\\\"/>\\n\\t`,\\n props: {\\n theme: select('Theme', ['dark', 'light'], 'dark'),\\n },\\n }))\\n .add('TextArea', () => ({\\n template: `\\n\\t\\t<textarea ibmTextArea [theme]=\\\"theme\\\" aria-label=\\\"textarea\\\" placeholder=\\\"Optional placeholder text\\\" rows=\\\"4\\\" cols=\\\"50\\\"></textarea>\\n\\t`,\\n props: {\\n theme: select('Theme', ['dark', 'light'], 'dark'),\\n },\\n }))\\n .add('Skeleton', () => ({\\n template: `\\n\\t\\t<ibm-label skeleton=\\\"true\\\">\\n\\t\\t\\t<input ibmText skeleton=\\\"true\\\">\\n\\t\\t</ibm-label>\\n\\t\\t<br>\\n\\t\\t<input ibmText skeleton=\\\"true\\\">\\n\\t\\t<br><br>\\n\\t\\t<ibm-label skeleton=\\\"true\\\">\\n\\t\\t\\t<div ibmTextArea skeleton=\\\"true\\\"></div>\\n\\t\\t</ibm-label>\\n\\t\\t`,\\n }));\\n\";\n export var __ADDS_MAP__ = {\"input--skeleton\":{\"startLoc\":{\"col\":7,\"line\":38},\"endLoc\":{\"col\":4,\"line\":50}},\"input--textarea\":{\"startLoc\":{\"col\":7,\"line\":30},\"endLoc\":{\"col\":4,\"line\":37}},\"input--input\":{\"startLoc\":{\"col\":7,\"line\":22},\"endLoc\":{\"col\":4,\"line\":29}},\"input--label\":{\"startLoc\":{\"col\":7,\"line\":14},\"endLoc\":{\"col\":4,\"line\":21}}};\n \n import { storiesOf, moduleMetadata } from \"@storybook/angular\";\nimport { action } from \"@storybook/addon-actions\";\nimport { withKnobs, select } from \"@storybook/addon-knobs/angular\";\n\nimport { InputModule } from \"../\";\n\nstoriesOf(\"Input\", module).addDecorator(withStorySource(__STORY__, __ADDS_MAP__)).addDecorator(\n\tmoduleMetadata({\n\t\timports: [InputModule]\n\t})\n)\n\t.addDecorator(withKnobs)\n\t.add(\"Label\", () => ({\n\t\ttemplate: `\n\t\t<ibm-label>\n\t\t\tSome Title\n\t\t\t<input ibmText placeholder=\"Optional placeholder text\">\n\t\t</ibm-label>\n\t`\n\t}))\n\t.add(\"Input\", () => ({\n\t\ttemplate: `\n\t\t<input ibmText [theme]=\"theme\" aria-label=\"input\" placeholder=\"Optional placeholder text\"/>\n\t`,\n\t\tprops: {\n\t\t\ttheme: select(\"Theme\", [\"dark\", \"light\"], \"dark\")\n\t\t}\n\t}))\n\t.add(\"TextArea\", () => ({\n\t\ttemplate: `\n\t\t<textarea ibmTextArea [theme]=\"theme\" aria-label=\"textarea\" placeholder=\"Optional placeholder text\" rows=\"4\" cols=\"50\"></textarea>\n\t`,\n\t\tprops: {\n\t\t\ttheme: select(\"Theme\", [\"dark\", \"light\"], \"dark\")\n\t\t}\n\t}))\n\t.add(\"Skeleton\", () => ({\n\t\ttemplate: `\n\t\t<ibm-label skeleton=\"true\">\n\t\t\t<input ibmText skeleton=\"true\">\n\t\t</ibm-label>\n\t\t<br>\n\t\t<input ibmText skeleton=\"true\">\n\t\t<br><br>\n\t\t<ibm-label skeleton=\"true\">\n\t\t\t<div ibmTextArea skeleton=\"true\"></div>\n\t\t</ibm-label>\n\t\t`\n\t}));\n\n ","import {\n\tComponent,\n\tInput,\n\tAfterContentInit,\n\tElementRef,\n\tHostBinding\n} from \"@angular/core\";\n\n/**\n * ```html\n * <ibm-label labelState=\"success\">\n * \t<label label>Field with success</label>\n * \t<input type=\"text\" class=\"input-field\">\n * </ibm-label>\n *\n * <ibm-label labelState=\"warning\">\n * \t<label label>Field with warning</label>\n * \t<input type=\"text\" class=\"input-field\">\n * </ibm-label>\n *\n * <ibm-label labelState=\"error\">\n * \t<label label>Field with error</label>\n * \t<input type=\"text\" class=\"input-field\">\n * </ibm-label>\n * ```\n *\n * @export\n * @class Label\n * @implements {AfterContentInit}\n */\n@Component({\n\tselector: \"ibm-label\",\n\ttemplate: `\n\t\t<label\n\t\t\t[for]=\"labelInputID\"\n\t\t\tclass=\"bx--label\"\n\t\t\t[ngClass]=\"{\n\t\t\t\t'bx--skeleton': skeleton\n\t\t\t}\">\n\t\t\t<ng-content></ng-content>\n\t\t</label>\n\t\t<ng-content select=\"input,textarea,div\"></ng-content>\n\t`\n})\nexport class Label implements AfterContentInit {\n\t/**\n\t * Used to build the id of the input item associated with the `Label`.\n\t * @static\n\t * @memberof Label\n\t */\n\tstatic labelCounter = 0;\n\t/**\n\t * The id of the input item associated with the `Label`. This value is also used to associate the `Label` with\n\t * its input counterpart through the 'for' attribute.\n\t * @memberof Label\n\t */\n\tlabelInputID = \"ibm-label-\" + Label.labelCounter;\n\n\t/**\n\t * State of the `Label` will determine the styles applied.\n\t * @type {(\"success\" | \"warning\" | \"error\" | \"\")}\n\t * @memberof Label\n\t */\n\t@Input() labelState: \"success\" | \"warning\" | \"error\" | \"\" = \"\";\n\t/**\n\t * Set to `true` for a loading label.\n\t */\n\t@Input() skeleton = false;\n\n\t@HostBinding(\"class.bx--form-item\") labelClass = true;\n\n\t/**\n\t * Creates an instance of Label.\n\t * @param {ElementRef} elementRef\n\t * @memberof Label\n\t */\n\tconstructor(protected elementRef: ElementRef) {\n\t\tLabel.labelCounter++;\n\t}\n\n\t/**\n\t * Sets the id on the input item associated with the `Label`.\n\t * @memberof Label\n\t */\n\tngAfterContentInit() {\n\t\tthis.elementRef.nativeElement.querySelector(\"input,textarea,div\").setAttribute(\"id\", this.labelInputID);\n\t}\n}\n","import { Directive, HostBinding, Input } from \"@angular/core\";\n\n/**\n * A directive for applying styling to a textarea element.\n *\n * Example:\n *\n * ```html\n * <textarea ibmTextArea></textarea>\n * ```\n *\n * See the [vanilla carbon docs](http://www.carbondesignsystem.com/components/text-input/code) for more detail.\n */\n@Directive({\n\tselector: \"[ibmTextArea]\"\n})\nexport class TextArea {\n\t/**\n\t * `light` or `dark` input theme\n\t */\n\t@Input() theme: \"light\" | \"dark\" = \"dark\";\n\n\t@HostBinding(\"class.bx--text-area\") baseClass = true;\n\t@HostBinding(\"class.bx--skeleton\") @Input() skeleton = false;\n\t@HostBinding(\"class.bx--text-area--light\") get isLightTheme() {\n\t\treturn this.theme === \"light\";\n\t}\n}\n","import {\n\tDirective,\n\tHostBinding,\n\tInput\n} from \"@angular/core\";\n\n/**\n * A convinence directive for applying styling to a link.\n *\n * Example:\n *\n * ```hmtl\n * <a href=\"#\" ibmLink>A link</a>\n * ```\n *\n * See the [vanilla carbon docs](http://www.carbondesignsystem.com/components/link/code) for more detail.\n */\n@Directive({\n\tselector: \"[ibmLink]\"\n})\n\nexport class Link {\n\t@HostBinding(\"class.bx--link\") baseClass = true;\n\n\t/**\n\t * Automatically set to `-1` when link is disabled.\n\t */\n\t@HostBinding(\"attr.tabindex\") tabindex;\n\n\t/**\n\t * Set to true to disable link.\n\t */\n\t@Input()\n\t@HostBinding(\"attr.aria-disabled\")\n\t@HostBinding(\"class.bx--link--disabled\")\n\tset disabled(disabled: boolean) {\n\t\tthis._disabled = disabled;\n\t\tthis.tabindex = this.disabled ? -1 : null;\n\t}\n\n\tget disabled(): boolean {\n\t\treturn this._disabled;\n\t}\n\n\tprivate _disabled;\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nimport { Link } from \"./link.directive\";\n\nexport { Link } from \"./link.directive\";\n\n@NgModule({\n\tdeclarations: [\n\t\tLink\n\t],\n\texports: [\n\t\tLink\n\t],\n\timports: [\n\t\tCommonModule\n\t]\n})\nexport class LinkModule {}\n","\n export var withStorySource = require('@storybook/addon-storysource').withStorySource;\n export var __STORY__ = \"import { storiesOf, moduleMetadata } from '@storybook/angular';\\nimport { withKnobs, boolean } from '@storybook/addon-knobs/angular';\\n\\nimport { LinkModule } from '../';\\n\\nstoriesOf('Link', module)\\n .addDecorator(\\n moduleMetadata({\\n imports: [LinkModule],\\n })\\n )\\n .addDecorator(withKnobs)\\n .add('Basic', () => ({\\n template: `\\n\\t\\t\\t<a href=\\\"#\\\" ibmLink [disabled]=\\\"disabled\\\">link</a>\\n\\t\\t`,\\n props: {\\n disabled: boolean('disabled', false),\\n },\\n }));\\n\";\n export var __ADDS_MAP__ = {\"link--basic\":{\"startLoc\":{\"col\":7,\"line\":13},\"endLoc\":{\"col\":4,\"line\":20}}};\n \n import { storiesOf, moduleMetadata } from \"@storybook/angular\";\nimport { withKnobs, boolean } from \"@storybook/addon-knobs/angular\";\n\nimport { LinkModule } from \"../\";\n\nstoriesOf(\"Link\", module).addDecorator(withStorySource(__STORY__, __ADDS_MAP__))\n\t.addDecorator(\n\t\tmoduleMetadata({\n\t\t\timports: [\n\t\t\t\tLinkModule\n\t\t\t]\n\t\t})\n\t)\n\t.addDecorator(withKnobs)\n\t.add(\"Basic\", () => ({\n\t\ttemplate: `\n\t\t\t<a href=\"#\" ibmLink [disabled]=\"disabled\">link</a>\n\t\t`,\n\t\tprops: {\n\t\t\tdisabled: boolean(\"disabled\", false)\n\t\t}\n\t}));\n\n ","import { Directive, HostBinding } from \"@angular/core\";\n\n/**\n * Applies list styling to the item it is used on. Best used with `li`s.\n */\n@Directive({\n\tselector: \"[ibmListItem]\"\n})\nexport class ListItemDirective {\n\t@HostBinding(\"class.bx--list__item\") wrapper = true;\n}\n","import { Directive, ElementRef, HostBinding } from \"@angular/core\";\n\n/**\n * Applies either ordered or unordered styling to the list container it is applied to.\n *\n * For `ul`s it will apply unordered list styles, and for `ol`s it will apply ordered list styles.\n *\n * If a `ul` or `ol` is nested within a `li` the directive will apply nested list styling.\n */\n@Directive({\n\tselector: \"[ibmList]\"\n})\nexport class List {\n\t@HostBinding(\"class.bx--list--ordered\") get ordered() {\n\t\tif (this.nested) { return false; }\n\t\treturn this.elementRef.nativeElement.tagName === \"OL\";\n\t}\n\n\t@HostBinding(\"class.bx--list--unordered\") get unordered() {\n\t\tif (this.nested) { return false; }\n\t\treturn this.elementRef.nativeElement.tagName === \"UL\";\n\t}\n\n\t@HostBinding(\"class.bx--list--nested\") get nested() {\n\t\treturn this.elementRef.nativeElement.parentElement.tagName === \"LI\";\n\t}\n\n\tconstructor(protected elementRef: ElementRef) {}\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nimport { ListItemDirective } from \"./list-item.directive\";\nimport { List } from \"./list.directive\";\n\n@NgModule({\n\tdeclarations: [\n\t\tListItemDirective,\n\t\tList\n\t],\n\texports: [\n\t\tListItemDirective,\n\t\tList\n\t],\n\timports: [CommonModule]\n})\nclass ListModule {}\n\nexport {\n\tListModule,\n\tListItemDirective,\n\tList\n};\n","\n export var withStorySource = require('@storybook/addon-storysource').withStorySource;\n export var __STORY__ = \"import { storiesOf, moduleMetadata } from '@storybook/angular';\\n\\nimport { ListModule } from '../';\\n\\nstoriesOf('List', module)\\n .addDecorator(\\n moduleMetadata({\\n imports: [ListModule],\\n })\\n )\\n .add('Basic', () => ({\\n template: `\\n\\t\\t\\t<p>Ordered List</p>\\n\\t\\t\\t<ol ibmList>\\n\\t\\t\\t\\t<li ibmListItem>One</li>\\n\\t\\t\\t\\t<li ibmListItem>Two</li>\\n\\t\\t\\t\\t<li ibmListItem>Three</li>\\n\\t\\t\\t</ol>\\n\\t\\t\\t<p>Unordered List</p>\\n\\t\\t\\t<ul ibmList>\\n\\t\\t\\t\\t<li ibmListItem>One</li>\\n\\t\\t\\t\\t<li ibmListItem>Two</li>\\n\\t\\t\\t\\t<li ibmListItem>Three</li>\\n\\t\\t\\t</ul>\\n\\t\\t`,\\n }))\\n .add('With nesting', () => ({\\n template: `\\n\\t\\t\\t<p>Ordered List</p>\\n\\t\\t\\t<ol ibmList>\\n\\t\\t\\t\\t<li ibmListItem>\\n\\t\\t\\t\\t\\tOne\\n\\t\\t\\t\\t\\t<ol ibmList>\\n\\t\\t\\t\\t\\t\\t<li ibmListItem>Nested one</li>\\n\\t\\t\\t\\t\\t\\t<li ibmListItem>Nested two</li>\\n\\t\\t\\t\\t\\t\\t<li ibmListItem>Nested three</li>\\n\\t\\t\\t\\t\\t</ol>\\n\\t\\t\\t\\t</li>\\n\\t\\t\\t\\t<li ibmListItem>Two</li>\\n\\t\\t\\t\\t<li ibmListItem>Three</li>\\n\\t\\t\\t</ol>\\n\\t\\t\\t<p>Unordered List</p>\\n\\t\\t\\t<ul ibmList>\\n\\t\\t\\t\\t<li ibmListItem>\\n\\t\\t\\t\\t\\tOne\\n\\t\\t\\t\\t\\t<ul ibmList>\\n\\t\\t\\t\\t\\t\\t<li ibmListItem>Nested one</li>\\n\\t\\t\\t\\t\\t\\t<li ibmListItem>Nested two</li>\\n\\t\\t\\t\\t\\t\\t<li ibmListItem>Nested three</li>\\n\\t\\t\\t\\t\\t</ul>\\n\\t\\t\\t\\t</li>\\n\\t\\t\\t\\t<li ibmListItem>Two</li>\\n\\t\\t\\t\\t<li ibmListItem>Three</li>\\n\\t\\t\\t</ul>\\n\\t\\t`,\\n }));\\n\";\n export var __ADDS_MAP__ = {\"list--with-nesting\":{\"startLoc\":{\"col\":7,\"line\":27},\"endLoc\":{\"col\":4,\"line\":56}},\"list--basic\":{\"startLoc\":{\"col\":7,\"line\":11},\"endLoc\":{\"col\":4,\"line\":26}}};\n \n import { storiesOf, moduleMetadata } from \"@storybook/angular\";\n\nimport { ListModule } from \"../\";\n\nstoriesOf(\"List\", module).addDecorator(withStorySource(__STORY__, __ADDS_MAP__)).addDecorator(\n\tmoduleMetadata({\n\t\timports: [ListModule]\n\t}))\n\t.add(\"Basic\", () => ({\n\t\ttemplate: `\n\t\t\t<p>Ordered List</p>\n\t\t\t<ol ibmList>\n\t\t\t\t<li ibmListItem>One</li>\n\t\t\t\t<li ibmListItem>Two</li>\n\t\t\t\t<li ibmListItem>Three</li>\n\t\t\t</ol>\n\t\t\t<p>Unordered List</p>\n\t\t\t<ul ibmList>\n\t\t\t\t<li ibmListItem>One</li>\n\t\t\t\t<li ibmListItem>Two</li>\n\t\t\t\t<li ibmListItem>Three</li>\n\t\t\t</ul>\n\t\t`\n\t}))\n\t.add(\"With nesting\", () => ({\n\t\ttemplate: `\n\t\t\t<p>Ordered List</p>\n\t\t\t<ol ibmList>\n\t\t\t\t<li ibmListItem>\n\t\t\t\t\tOne\n\t\t\t\t\t<ol ibmList>\n\t\t\t\t\t\t<li ibmListItem>Nested one</li>\n\t\t\t\t\t\t<li ibmListItem>Nested two</li>\n\t\t\t\t\t\t<li ibmListItem>Nested three</li>\n\t\t\t\t\t</ol>\n\t\t\t\t</li>\n\t\t\t\t<li ibmListItem>Two</li>\n\t\t\t\t<li ibmListItem>Three</li>\n\t\t\t</ol>\n\t\t\t<p>Unordered List</p>\n\t\t\t<ul ibmList>\n\t\t\t\t<li ibmListItem>\n\t\t\t\t\tOne\n\t\t\t\t\t<ul ibmList>\n\t\t\t\t\t\t<li ibmListItem>Nested one</li>\n\t\t\t\t\t\t<li ibmListItem>Nested two</li>\n\t\t\t\t\t\t<li ibmListItem>Nested three</li>\n\t\t\t\t\t</ul>\n\t\t\t\t</li>\n\t\t\t\t<li ibmListItem>Two</li>\n\t\t\t\t<li ibmListItem>Three</li>\n\t\t\t</ul>\n\t\t`\n\t}));\n\n ","import { Component, Input, HostBinding } from \"@angular/core\";\nimport { I18n } from \"./../i18n/i18n.module\";\n\n@Component({\n\tselector: \"ibm-loading\",\n\ttemplate: `\n\t\t<div\n\t\t\t[ngClass]=\"{\n\t\t\t\t'bx--loading--small': size === 'sm',\n\t\t\t\t'bx--loading--stop': !isActive && !overlay,\n\t\t\t\t'bx--loading-overlay--stop': !isActive && overlay\n\t\t\t}\"\n\t\t\tclass=\"bx--loading\">\n\t\t\t<svg class=\"bx--loading__svg\" viewBox=\"-75 -75 150 150\">\n\t\t\t\t<title>{{title}}</title>\n\t\t\t\t<circle class=\"bx--loading__stroke\" cx=\"0\" cy=\"0\" r=\"37.5\" />\n\t\t\t</svg>\n\t\t</div>\n\t`\n})\nexport class Loading {\n\t/**\n\t * Accessible title for the loading circle.\n\t * Defaults to the `LOADING.TITLE` value from the i18n service.\n\t */\n\t@Input() title = this.i18n.get().LOADING.TITLE;\n\n\t/**\n\t * set to `false` to stop the loading animation\n\t * @type {boolean}\n\t */\n\t@Input() isActive = true;\n\n\t/**\n\t * Specify the size of the button\n\t * @type {(\"normal\" | \"sm\")}\n\t */\n\t@Input() size: \"normal\" | \"sm\" = \"normal\";\n\n\t/**\n\t * Set to `true` to make loader with an overlay.\n\t * @type {boolean}\n\t */\n\t@Input() @HostBinding(\"class.bx--loading-overlay\") overlay = false;\n\n\tconstructor(protected i18n: I18n) {}\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nimport { Loading } from \"./loading.component\";\nimport { I18nModule } from \"./../i18n/i18n.module\";\n\nexport { Loading } from \"./loading.component\";\n\n@NgModule({\n\tdeclarations: [Loading],\n\texports: [Loading],\n\timports: [CommonModule, I18nModule]\n})\nexport class LoadingModule {}\n","\n export var withStorySource = require('@storybook/addon-storysource').withStorySource;\n export var __STORY__ = \"import { storiesOf, moduleMetadata } from '@storybook/angular';\\nimport { action } from '@storybook/addon-actions';\\nimport { withKnobs, boolean, select } from '@storybook/addon-knobs/angular';\\n\\nimport { LoadingModule } from '../';\\n\\nstoriesOf('Loading', module)\\n .addDecorator(\\n moduleMetadata({\\n imports: [LoadingModule],\\n })\\n )\\n .addDecorator(withKnobs)\\n .add('Basic', () => ({\\n template: `\\n\\t\\t<ibm-loading [isActive]=\\\"isActive\\\" [size]=\\\"size\\\" [overlay]=\\\"overlay\\\"></ibm-loading>\\n\\t`,\\n props: {\\n isActive: boolean('Active', true),\\n overlay: boolean('With overlay', false),\\n size: select('Size of the loading circle', ['normal', 'sm'], 'normal'),\\n },\\n }));\\n\";\n export var __ADDS_MAP__ = {\"loading--basic\":{\"startLoc\":{\"col\":7,\"line\":14},\"endLoc\":{\"col\":4,\"line\":23}}};\n \n import { storiesOf, moduleMetadata } from \"@storybook/angular\";\nimport { action } from \"@storybook/addon-actions\";\nimport { withKnobs, boolean, select } from \"@storybook/addon-knobs/angular\";\n\nimport { LoadingModule } from \"../\";\n\nstoriesOf(\"Loading\", module).addDecorator(withStorySource(__STORY__, __ADDS_MAP__)).addDecorator(\n\tmoduleMetadata({\n\t\timports: [LoadingModule]\n\t})\n)\n\t.addDecorator(withKnobs)\n\t.add(\"Basic\", () => ({\n\t\ttemplate: `\n\t\t<ibm-loading [isActive]=\"isActive\" [size]=\"size\" [overlay]=\"overlay\"></ibm-loading>\n\t`,\n\t\tprops: {\n\t\t\tisActive: boolean(\"Active\", true),\n\t\t\toverlay: boolean(\"With overlay\", false),\n\t\t\tsize: select(\"Size of the loading circle\", [\"normal\", \"sm\"], \"normal\")\n\t\t}\n\t}));\n\n ","import {\n\tComponent,\n\tInject\n} from \"@angular/core\";\nimport { BaseModal } from \"./base-modal.class\";\n\n/**\n * Component to create standard modals for presenting content or asking for user's input.\n * It can show as a passive modal showing only text or show as a transactional modal with\n * multiple buttons for different actions for the user to choose from.\n *\n * Using a modal in your application requires `ibm-modal-placeholder` which would generally be\n * placed near the end of your app component template (app.component.ts or app.component.html) as:\n *\n * ```html\n * <ibm-modal-placeholder></ibm-modal-placeholder>\n * ```\n *\n * Example of opening the modal:\n *\n * ```typescript\n * \\@Component({\n * selector: \"app-modal-demo\",\n * template: `\n * <button class=\"btn--primary\" (click)=\"openModal()\">Open modal</button>\n * <ibm-modal-placeholder></ibm-modal-placeholder>`\n * })\n * export class ModalDemo {\n * \topenModal() {\n * \t\tthis.modalService.show({\n *\t\t\tmodalType: \"default\",\n *\t\t\tmodalLabel: \"optional header text\",\n *\t\t\tmodalTitle: \"Modal modalTitle\",\n *\t\t\ttext: \"Modal text\",\n *\t\t\tbuttons: [{\n *\t\t\t\ttext: \"Button text\",\n *\t\t\t\ttype: \"primary\",\n *\t\t\t\tclick: clickFunction\n *\t\t\t}]\n *\t\t});\n * \t}\n * }\n * ```\n *\n * @export\n * @class AlertModal\n */\n@Component({\n\tselector: \"ibm-alert-modal\",\n\ttemplate: `\n\t\t<ibm-modal [theme]=\"modalType\" [modalLabel]=\"modalTitle\" (overlaySelected)=\"dismissModal()\">\n\t\t\t<ibm-modal-header (closeSelect)=\"dismissModal()\">\n\t\t\t\t<p class=\"bx--modal-header__label bx--type-delta\">{{modalLabel}}</p>\n \t\t\t<p class=\"bx--modal-header__heading bx--type-beta\">{{modalTitle}}</p>\n\t\t\t</ibm-modal-header>\n\t\t\t<div class=\"bx--modal-content\">\n\t\t\t\t<p [innerHTML]=\"modalContent\"></p>\n\t\t\t</div>\n\t\t\t<ibm-modal-footer *ngIf=\"buttons.length > 0\">\n\t\t\t\t<ng-container *ngFor=\"let button of buttons; let i = index\">\n\t\t\t\t\t<button\n\t\t\t\t\t\t[ibmButton]=\"button.type\"\n\t\t\t\t\t\t(click)=\"buttonClicked(i)\"\n\t\t\t\t\t\t[id]=\"button.id\"\n\t\t\t\t\t\t[attr.modal-primary-focus]=\"(button.type.indexOf('primary') !== -1 ? '' : null)\">\n\t\t\t\t\t\t{{button.text}}\n\t\t\t\t\t</button>\n\t\t\t\t</ng-container>\n\t\t\t</ibm-modal-footer>\n\t\t</ibm-modal>\n\t`\n})\nexport class AlertModal extends BaseModal {\n\t/**\n\t * Creates an instance of `AlertModal`.\n\t */\n\tconstructor(\n\t\t@Inject(\"modalType\") public modalType = \"default\",\n\t\t@Inject(\"modalLabel\") public modalLabel: string,\n\t\t@Inject(\"modalTitle\") public modalTitle: string,\n\t\t@Inject(\"modalContent\") public modalContent: string,\n\t\t@Inject(\"buttons\") public buttons = [],\n\t\t@Inject(\"close\") public onClose: Function\n\t) {\n\t\tsuper();\n\t\tfor (let i = 0; i < this.buttons.length; i++) {\n\t\t\tconst button = this.buttons[i];\n\t\t\tif (!button.id) {\n\t\t\t\tbutton.id = `alert-modal-button-${i}`;\n\t\t\t}\n\t\t\tif (!button.type) {\n\t\t\t\tbutton.type = \"secondary\";\n\t\t\t}\n\t\t}\n\t}\n\n\tbuttonClicked(buttonIndex) {\n\t\tconst button = this.buttons[buttonIndex];\n\t\tif (button.click) {\n\t\t\tbutton.click();\n\t\t}\n\n\t\tthis.closeModal();\n\t}\n\n\tdismissModal() {\n\t\tif (this.onClose && this.onClose() === false) {\n\t\t\treturn;\n\t\t}\n\t\tthis.closeModal();\n\t}\n}\n","export enum AlertModalType {\n\tdefault = \"default\",\n\tdanger = \"danger\"\n}\n\nexport interface AlertModalData {\n\t/**\n\t * Use of `modalType` is deprecated, use `type` instead\n\t */\n\tmodalType?: string;\n\t/**\n\t * type of the modal\n\t */\n\ttype?: AlertModalType;\n\t/**\n\t * Use of `modalLabel` is deprecated, use `label` instead\n\t */\n\tmodalLabel?: string;\n\t/**\n\t * Additional label shown over the modal\n\t */\n\tlabel?: string;\n\t/**\n\t * Use of `modalTitle` is deprecated, use `title` instead\n\t */\n\tmodalTitle?: string;\n\t/**\n\t * Primary title for the modal\n\t */\n\ttitle?: string;\n\t/**\n\t * Use of `modalContent` is deprecated, use `content` instead\n\t */\n\tmodalContent?: string;\n\t/**\n\t * Content for the modal body, could include HTML tags\n\t */\n\tcontent?: string;\n\t/**\n\t * Array of `ModalButton`s\n\t */\n\tbuttons?: Array<ModalButton>;\n\t/**\n\t * Callback for non-specific close events. `return false;` to prevent the modal from closing\n\t */\n\tclose?: Function;\n}\n\nexport enum ModalButtonType {\n\tprimary = \"primary\",\n\tsecondary = \"secondary\",\n\ttertiary = \"tertiary\",\n\tghost = \"ghost\",\n\tdanger = \"danger\",\n\tdanger_primary = \"danger--primary\"\n}\n\nexport interface ModalButton {\n\t/**\n\t * Display value of the button\n\t */\n\ttext: string;\n\t/**\n\t * Optional unique ID for the button\n\t */\n\tid?: string;\n\t/**\n\t * Button type\n\t */\n\ttype?: ModalButtonType;\n\t/**\n\t * Callback for the button `click` event\n\t */\n\tclick?: Function;\n}\n","import { Output, EventEmitter } from \"@angular/core\";\n\n/**\n * Extend `BaseModal` in your custom modal implementations to ensure consistent close behavior.\n *\n * `ModalService` depends on the `close` event to correctly clean up the component.\n */\nexport class BaseModal {\n\t@Output() close = new EventEmitter();\n\tcloseModal(): void {\n\t\tthis.close.emit();\n\t}\n}\n","import { Component } from \"@angular/core\";\n\n\n/**\n * @export\n * @class ModalFooter\n */\n@Component({\n\tselector: \"ibm-modal-footer\",\n\ttemplate: `\n\t\t<footer class=\"bx--modal-footer\">\n\t\t\t<ng-content></ng-content>\n\t\t</footer>\n\t`\n})\nexport class ModalFooter {}\n","import {\n\tComponent,\n\tOutput,\n\tEventEmitter,\n\tInput\n} from \"@angular/core\";\nimport { I18n } from \"./../i18n/i18n.module\";\nimport { ExperimentalService } from \"./../experimental.service\";\n\n/**\n * ***Inputs***\n * ```html\n * <ibm-modal-header>Header text</ibm-modal-header>\n * ```\n *\n * ***Outputs***\n * ```html\n * <ibm-modal-header (closeSelect)=\"closeModal()\">Header text</ibm-modal-header>\n * ```\n *\n * @export\n * @class ModalHeader\n */\n@Component({\n\tselector: \"ibm-modal-header\",\n\ttemplate: `\n\t\t<header class=\"{{theme}} bx--modal-header\">\n\t\t\t<ng-content></ng-content>\n\t\t\t<button\n\t\t\t\tclass=\"bx--modal-close\"\n\t\t\t\t[attr.aria-label]=\"closeLabel\"\n\t\t\t\t(click)=\"onClose()\">\n\t\t\t\t<ibm-icon-close16 class=\"bx--modal-close__icon\"></ibm-icon-close16>\n\t\t\t</button>\n\t\t</header>\n\n\t`\n})\nexport class ModalHeader {\n\t/**\n\t * Sets the style on the modal heading based on its category.\n\t * @type {\"default\" | \"warning\" | \"error\"}\n\t */\n\t@Input() theme = \"default\";\n\t/**\n\t * Accessible label for the header close button.\n\t * Defaults to the `MODAL.CLOSE` value from the i18n service.\n\t */\n\t@Input() closeLabel = this.i18n.get().MODAL.CLOSE;\n\n\t/**\n\t * To emit the event of clicking on the close icon within the modal.\n\t */\n\t@Output() closeSelect = new EventEmitter();\n\n\tget isExperimental() {\n\t\treturn this.experimental.isExperimental;\n\t}\n\n\tconstructor(protected i18n: I18n, protected experimental: ExperimentalService) {}\n\n\t/**\n\t * Handles click for the close icon button within the `Modal`.\n\t */\n\tpublic onClose() {\n\t\tthis.closeSelect.emit();\n\t}\n}\n","import {\n\tComponent,\n\tOnInit,\n\tViewContainerRef,\n\tViewChild\n} from \"@angular/core\";\nimport { PlaceholderService } from \"./../placeholder/placeholder.service\";\n\n\n/**\n * Deprecated with v2.0, will be removed in v3.0\n * Using a modal in your application requires *this* component (`n-modal-placeholder`).\n * It would generally be placed near the end of your app component template\n * (app.component.ts or app.component.html) as:\n *\n * ```html\n * ...\n * <ibm-modal-placeholder></ibm-modal-placeholder>\n * ```\n *\n * A more complete example for `Modal` is given as follows:\n *\n * ```html\n * <ibm-modal size=\"xl\" (overlaySelected)=\"closeModal()\">\n * \t<ibm-modal-header (closeSelect)=\"closeModal()\">Header text</ibm-modal-header>\n * \t<section class=\"modal-body\">\n * \t\t<h1>It Works!</h1>\n * \t\t{{modalText}}\n * \t</section>\n * \t<ibm-modal-footer><button class=\"btn cancel-button\" (click)=\"closeModal()\">Cancel</button></ibm-modal-footer>\n * </ibm-modal>\n * ...\n * <ibm-modal-placeholder></ibm-modal-placeholder>\n * ```\n *\n * @deprecated\n */\n@Component({\n\tselector: \"ibm-modal-placeholder\",\n\ttemplate: `<div #modalplaceholder></div>`\n})\nexport class ModalPlaceholder implements OnInit {\n\t/**\n\t * Maintains a reference to the view DOM element of the `ModalPlaceholder`.\n\t */\n\t@ViewChild(\"modalplaceholder\", {read: ViewContainerRef }) viewContainerRef: ViewContainerRef;\n\n\t/**\n\t * Creates an instance of `ModalPlaceholder`.\n\t */\n\tconstructor(public placeholderService: PlaceholderService) {}\n\n\t/**\n\t * Initializes the component using `ModalService`.\n\t */\n\tngOnInit() {\n\t\tconsole.warn(\"`ibm-modal-placeholder` has been deprecated in favour of `ibm-placeholder`\");\n\t\tthis.placeholderService.registerViewContainerRef(this.viewContainerRef);\n\t}\n}\n","import { ModalService } from \"./modal.service\";\nimport {\n\tAfterViewInit,\n\tComponent,\n\tEventEmitter,\n\tHostListener,\n\tInput,\n\tOnDestroy,\n\tOnInit,\n\tOutput,\n\tElementRef,\n\tViewChild\n} from \"@angular/core\";\nimport {\n\ttrigger,\n\tstate,\n\tstyle,\n\ttransition,\n\tanimate\n} from \"@angular/animations\";\nimport { cycleTabs, getFocusElementList } from \"./../common/tab.service\";\n\n\n/**\n * Component to create modals for presenting content.\n *\n * Using a modal in your application requires `ibm-placeholder` which would generally be\n * placed near the end of your app component template (app.component.ts or app.component.html) as:\n *\n```html\n<ibm-modal-placeholder></ibm-modal-placeholder>\n```\n *\n * A more complete example for `Modal` is given as follows:\n *\n * Example modal definition:\n *\n```typescript\n@Component({\n\tselector: \"app-sample-modal\",\n\ttemplate: `\n\t\t\t\t<ibm-modal size=\"xl\" (overlaySelected)=\"closeModal()\">\n\t\t\t\t\t<ibm-modal-header (closeSelect)=\"closeModal()\">Header text</ibm-modal-header>\n\t\t\t\t\t\t<section class=\"modal-body\">\n\t\t\t\t\t\t\t<h1>Sample modal works.</h1>\n\t\t\t\t\t\t\t<button class=\"btn--icon-link\" nPopover=\"Hello there\" title=\"Popover title\" placement=\"right\" appendInline=\"true\">\n\t\t\t\t\t\t\t\t<ibm-icon icon=\"info\" size=\"sm\"></ibm-icon>\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t{{modalText}}\n\t\t\t\t\t\t</section>\n\t\t\t\t\t<ibm-modal-footer><button ibmButton=\"primary\" (click)=\"closeModal()\">Close</button></ibm-modal-footer>\n\t\t\t\t</ibm-modal>`,\n\tstyles: [require('./sample-modal.component.scss')]\n})\nexport class SampleModal extends BaseModal {\n\tmodalText: string;\n\tconstructor(protected injector: Injector) {\n\t\tsuper();\n\t\tthis.modalText = this.injector.get(\"modalText\");\n\t}\n}\n```\n *\n * Example of opening the modal:\n *\n```typescript\n@Component({\n\tselector: \"app-modal-demo\",\n\ttemplate: `\n\t\t\t\t<button ibmButton=\"primary\" (click)=\"openModal('drill')\">Drill-down modal</button>\n\t\t\t\t<ibm-placeholder></ibm-placeholder>`\n})\nexport class ModalDemo {\n\topenModal() {\n\t\tthis.modalService.create({component: SampleModal, inputs: {modalText: \"Hello universe.\"}});\n\t}\n}\n```\n *\n * <example-url>https://angular.carbondesignsystem.com/iframe.html?id=modal--basic</example-url>\n */\n@Component({\n\tselector: \"ibm-modal\",\n\ttemplate: `\n\t\t<ibm-overlay [theme]=\"theme\" (overlaySelect)=\"overlaySelected.emit()\">\n\t\t\t<div\n\t\t\t\tclass=\"bx--modal-container\"\n\t\t\t\t[@modalState]=\"modalState\"\n\t\t\t\trole=\"dialog\"\n\t\t\t\taria-modal=\"true\"\n\t\t\t\ttabindex=\"0\"\n\t\t\t\tstyle=\"z-index:1;\"\n\t\t\t\t[attr.aria-label]=\"modalLabel\"\n\t\t\t\t#modal>\n\t\t\t\t<ng-content></ng-content>\n\t\t\t</div>\n\t\t</ibm-overlay>\n\t`,\n\tanimations: [\n\t\ttrigger(\"modalState\", [\n\t\t\tstate(\"void\", style({transform: \"translate(0, 5%)\", opacity: 0})),\n\t\t\ttransition(\":enter\", [\n\t\t\t\tanimate(\"200ms ease-in\")\n\t\t\t]),\n\t\t\ttransition(\":leave\", [\n\t\t\t\tanimate(200, style({transform: \"translate(0, 5%)\", opacity: 0}))\n\t\t\t])\n\t\t])\n\t]\n})\nexport class Modal implements AfterViewInit, OnInit, OnDestroy {\n\t/**\n\t * Size of the modal to display.\n\t */\n\t@Input() size: \"sm\" | \"md\" | \"lg\" | \"xl\" | \"xxl\" = \"md\";\n\t/**\n\t * Classification of the modal.\n\t */\n\t@Input() theme: \"default\" | \"danger\" = \"default\";\n\n\t/**\n\t * Label for the modal.\n\t */\n\t@Input() modalLabel = \"default\";\n\n\t/**\n\t * Emits event when click occurs within `n-overlay` element. This is to track click events occurring outside bounds of the `Modal` object.\n\t */\n\t@Output() overlaySelected = new EventEmitter();\n\t/**\n\t * To emit the closing event of the modal window.\n\t */\n\t@Output() close = new EventEmitter();\n\t/**\n\t * Maintains a reference to the view DOM element of the `Modal`.\n\t */\n\t@ViewChild(\"modal\") modal: ElementRef;\n\n\t/**\n\t * Controls the transitions of the `Modal` component.\n\t */\n\tmodalState: \"in\" | \"out\" = \"out\";\n\n\t/**\n\t * An element should have 'modal-primary-focus' as an attribute to receive initial focus within the `Modal` component.\n\t */\n\tselectorPrimaryFocus = \"[modal-primary-focus]\";\n\n\t/**\n\t * Creates an instance of `Modal`.\n\t */\n\tconstructor(public modalService: ModalService) {}\n\n\t/**\n\t * Set modalState on the modal component when it is initialized.\n\t */\n\tngOnInit() {\n\t\tthis.modalState = \"in\";\n\t}\n\n\t/**\n\t * Set document focus to be on the modal component after it is initialized.\n\t */\n\tngAfterViewInit() {\n\t\tconst primaryFocusElement = this.modal.nativeElement.querySelector(this.selectorPrimaryFocus);\n\t\tif (primaryFocusElement && primaryFocusElement.focus) {\n\t\t\tprimaryFocusElement.focus();\n\t\t\treturn;\n\t\t}\n\t\tif (getFocusElementList(this.modal.nativeElement).length > 0) {\n\t\t\tgetFocusElementList(this.modal.nativeElement)[0].focus();\n\t\t} else {\n\t\t\tthis.modal.nativeElement.focus();\n\t\t}\n\t}\n\n\t/**\n\t * Emit the close event when the modal component is destroyed.\n\t */\n\tngOnDestroy() {\n\t\tthis.modalState = \"out\";\n\t}\n\n\t/**\n\t * Handle keyboard events to close modal and tab through the content within the modal.\n\t */\n\t@HostListener(\"keydown\", [\"$event\"])\n\thandleKeyboardEvent(event: KeyboardEvent) {\n\t\tswitch (event.key) {\n\t\t\tcase \"Escape\": {\n\t\t\t\tevent.stopImmediatePropagation(); // prevents events being fired for multiple modals if more than 2 open\n\t\t\t\tthis.modalService.destroy(); // destroy top (latest) modal\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tcase \"Tab\": {\n\t\t\t\tcycleTabs(event, this.modal.nativeElement);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n}\n","import { Output, EventEmitter } from \"@angular/core\";\n\n/**\n * # Deprecated - extend `BaseModal` instead\n *\n * Decorator used to apply metadata on `Modal` class.\n *\n * class: ModalContainer\n *\n * decorator: @Modal\n * @deprecated\n */\nclass ModalContainer {\n\t@Output() close = new EventEmitter();\n\tcloseModal(): void {\n\t\tthis.close.emit();\n\t}\n}\n\n/**\n * Applying the decorator metadata to the target class (`Modal`).\n * @export\n * @returns {Object}\n */\nexport default function Modal() {\n\treturn function(target) {\n\t\tObject.assign(target.prototype, ModalContainer.prototype);\n\t};\n}\n","// modules\nimport { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { Close16Module } from \"@carbon/icons-angular/lib/close/16\";\n\n// imports\nimport { ModalPlaceholder } from \"./modal-placeholder.component\";\nimport { ModalService } from \"./modal.service\";\nimport { Modal } from \"./modal.component\";\nimport { ModalFooter } from \"./modal-footer.component\";\nimport { Overlay } from \"./overlay.component\";\nimport { ModalHeader } from \"./modal-header.component\";\nimport { AlertModal } from \"./alert-modal.component\";\nimport { ButtonModule } from \"../forms/forms.module\";\nimport { I18nModule } from \"./../i18n/i18n.module\";\nimport { PlaceholderModule } from \"./../placeholder/placeholder.module\";\nimport { ExperimentalModule } from \"./../experimental.module\";\n\n// exports\nexport { default as Modal } from \"./modal.decorator\";\nexport { ModalService } from \"./modal.service\";\nexport * from \"./alert-modal.interface\";\nexport * from \"./base-modal.class\";\n\n@NgModule({\n\tdeclarations: [\n\t\tAlertModal,\n\t\tModalPlaceholder,\n\t\tModal,\n\t\tModalHeader,\n\t\tModalFooter,\n\t\tOverlay\n\t],\n\texports: [\n\t\tAlertModal,\n\t\tModalPlaceholder,\n\t\tModal,\n\t\tModalHeader,\n\t\tModalFooter\n\t],\n\tentryComponents: [\n\t\tAlertModal,\n\t\tModal,\n\t\tModalFooter,\n\t\tModalHeader\n\t],\n\tproviders: [ ModalService ],\n\timports: [\n\t\tCommonModule,\n\t\tButtonModule,\n\t\tI18nModule,\n\t\tPlaceholderModule,\n\t\tExperimentalModule,\n\t\tClose16Module\n\t]\n})\nexport class ModalModule { }\n","import {\n\tComponentFactoryResolver,\n\tComponentRef,\n\tInjector\n} from \"@angular/core\";\nimport { Modal } from \"./modal.component\";\nimport { ReplaySubject } from \"rxjs\";\nimport { Injectable } from \"@angular/core\";\nimport { AlertModal } from \"./alert-modal.component\";\nimport { AlertModalData } from \"./alert-modal.interface\";\nimport { PlaceholderService } from \"./../placeholder/placeholder.module\";\n\n\n/**\n * Modal service handles instantiating and destroying modal instances.\n * Uses ModalPlaceholderService to track open instances, and for it's placeholder view reference.\n *\n * ```typescript\n * export class ModalService {\n * \tregisterViewContainerRef(vcRef: ViewContainerRef): void {}\n * \tcreate<T>(data: {component: any, inputs?: any}): void {}\n * \tdestroy(index: number = -1): void {}\n * }\n * ```\n */\n@Injectable()\nexport class ModalService {\n\t// track all our open modals\n\tprotected static modalList: Array<ComponentRef<any>> = [];\n\n\t/**\n\t * Creates an instance of `ModalService`.\n\t */\n\tconstructor(public resolver: ComponentFactoryResolver, public placeholderService: PlaceholderService) {}\n\n\t/**\n\t * Creates and renders the modal component that is passed in.\n\t * `inputs` is an optional parameter of `data` that can be passed to the `Modal` component.\n\t */\n\tcreate<T>(data: {component: any, inputs?: any}): ComponentRef<any> {\n\t\tlet defaults = {inputs: {}};\n\t\tdata = Object.assign({}, defaults, data);\n\n\t\tconst inputProviders = Object.keys(data.inputs).map(inputName => ({provide: inputName, useValue: data.inputs[inputName]}));\n\t\tconst injector = Injector.create(inputProviders);\n\t\tconst factory = this.resolver.resolveComponentFactory(data.component);\n\t\tlet focusedElement = document.activeElement as HTMLElement;\n\n\t\tlet component = this.placeholderService.createComponent(factory, injector);\n\n\t\tcomponent[\"previouslyFocusedElement\"] = focusedElement; // used to return focus to previously focused element\n\n\t\tcomponent.instance.close.subscribe(_ => {\n\t\t\tthis.placeholderService.destroyComponent(component);\n\t\t\t// filter out our component\n\t\t\tModalService.modalList = ModalService.modalList.filter(c => c === component);\n\t\t});\n\n\t\tcomponent.onDestroy(() => {\n\t\t\tfocusedElement.focus();\n\t\t});\n\n\t\tModalService.modalList.push(component);\n\n\t\treturn component;\n\t}\n\n\t/**\n\t * Creates and renders a new alert modal component.\n\t * @param data You can pass in:\n\t * `modalType` - \"default\" | \"danger\" = \"default\",\n\t * `modalLabel` - a label shown over the title,\n\t * `modalTitle` - modal's title,\n\t * `modalContent` - modal's content, could include HTML tags.\n\t * `buttons` is an array of objects\n\t * ```\n\t * {\n\t * \t\ttext: \"Button text\",\n\t * \t\ttype: \"primary\" | \"secondary\" | \"tertiary\" | \"ghost\" | \"danger\" | \"danger--primary\" = \"primary\",\n\t * \t\tclick: clickFunction,\n\t * }\n\t * ```\n\t */\n\tshow(data: AlertModalData) {\n\t\tfor (let key of Object.keys(data)) {\n\t\t\tif ([\"modalType\", \"modalLabel\", \"modalTitle\", \"modalContent\"].includes(key)) {\n\t\t\t\ttry {\n\t\t\t\t\tthrow new Error(`${key} is deprecated, use ${key.replace(\"modal\", \"\").toLowerCase()} instead`);\n\t\t\t\t} catch (error) {\n\t\t\t\t\tconsole.warn(error);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn this.create({\n\t\t\tcomponent: AlertModal,\n\t\t\tinputs: {\n\t\t\t\tmodalType: data.type || data.modalType,\n\t\t\t\tmodalLabel: data.label || data.modalLabel,\n\t\t\t\tmodalTitle: data.title || data.modalTitle,\n\t\t\t\tmodalContent: data.content || data.modalContent,\n\t\t\t\tbuttons: data.buttons || [],\n\t\t\t\tclose: data.close || (() => {})\n\t\t\t}\n\t\t});\n\t}\n\n\t/**\n\t * Destroys the modal on the supplied index.\n\t * When called without parameters it destroys the most recently created/top most modal.\n\t */\n\tdestroy(index = -1) {\n\t\t// return if nothing to destroy because it's already destroyed\n\t\tif (index >= ModalService.modalList.length || ModalService.modalList.length === 0) {\n\t\t\treturn;\n\t\t}\n\t\t// on negative index destroy the last on the list (top modal)\n\t\tif (index < 0) {\n\t\t\tindex = ModalService.modalList.length - 1;\n\t\t}\n\n\t\tthis.placeholderService.destroyComponent(ModalService.modalList[index]);\n\t\tModalService.modalList.splice(index, 1);\n\t}\n}\n\n\n","\n export var withStorySource = require('@storybook/addon-storysource').withStorySource;\n export var __STORY__ = \"import { storiesOf, moduleMetadata } from '@storybook/angular';\\nimport { withKnobs, text, select } from '@storybook/addon-knobs/angular';\\n\\nimport { ModalModule } from '../';\\nimport { Component, Input, Inject } from '@angular/core';\\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\\nimport { Modal, ModalService } from '../';\\nimport { ModalButton, AlertModalType, ModalButtonType } from './alert-modal.interface';\\nimport { PlaceholderModule } from './../placeholder/placeholder.module';\\nimport { BaseModal } from './base-modal.class';\\n\\n@Component({\\n selector: 'app-sample-modal',\\n template: `\\n <ibm-modal (overlaySelected)=\\\"closeModal()\\\">\\n <ibm-modal-header (closeSelect)=\\\"closeModal()\\\">Header label</ibm-modal-header>\\n <section class=\\\"bx--modal-content\\\">\\n <h1>Sample modal works.</h1>\\n <p class=\\\"bx--modal-content__text\\\">{{ modalText }}</p>\\n </section>\\n <ibm-modal-footer>\\n <button class=\\\"bx--btn bx--btn--secondary\\\" (click)=\\\"showSecondaryModal()\\\">Show Secondary Modal</button>\\n <button class=\\\"bx--btn bx--btn--primary\\\" modal-primary-focus (click)=\\\"closeModal()\\\">Close</button>\\n </ibm-modal-footer>\\n </ibm-modal>\\n `,\\n})\\nclass SampleModal extends BaseModal {\\n constructor(@Inject('modalText') public modalText, protected modalService: ModalService) {\\n super();\\n }\\n\\n showSecondaryModal() {\\n this.modalService.show({\\n modalLabel: 'Secondary header label',\\n modalTitle: 'Sample secondary modal works.',\\n modalContent: this.modalText,\\n buttons: [\\n {\\n text: 'Cancel',\\n type: ModalButtonType.secondary,\\n },\\n {\\n text: 'OK',\\n type: ModalButtonType.primary,\\n click: () => alert('OK button clicked'),\\n },\\n ],\\n });\\n }\\n}\\n\\n@Component({\\n selector: 'app-modal-story',\\n template: `\\n <button class=\\\"bx--btn bx--btn--primary\\\" (click)=\\\"openModal()\\\">Open Modal</button>\\n `,\\n})\\nclass ModalStory {\\n @Input() modalText = 'Hello, World';\\n\\n constructor(protected modalService: ModalService) {}\\n\\n openModal() {\\n this.modalService.create({\\n component: SampleModal,\\n inputs: {\\n modalText: this.modalText,\\n },\\n });\\n }\\n}\\n\\n@Component({\\n selector: 'app-alert-modal-story',\\n template: `\\n <button class=\\\"bx--btn bx--btn--primary\\\" (click)=\\\"openModal()\\\">Open Modal</button>\\n `,\\n})\\nclass AlertModalStory {\\n @Input() modalType: AlertModalType;\\n @Input() modalLabel: string;\\n @Input() modalTitle: string;\\n @Input() modalContent: string;\\n @Input() buttons: Array<ModalButton>;\\n\\n constructor(protected modalService: ModalService) {}\\n\\n openModal() {\\n this.modalService.show({\\n modalType: this.modalType,\\n label: this.modalLabel,\\n title: this.modalTitle,\\n content: this.modalContent,\\n buttons: this.buttons,\\n });\\n }\\n}\\n\\nstoriesOf('Modal', module)\\n .addDecorator(\\n moduleMetadata({\\n declarations: [ModalStory, SampleModal, AlertModalStory],\\n imports: [ModalModule, PlaceholderModule, BrowserAnimationsModule],\\n entryComponents: [SampleModal],\\n })\\n )\\n .addDecorator(withKnobs)\\n .add('Basic', () => ({\\n template: `\\n\\t\\t<app-modal-story [modalText]=\\\"modalText\\\"></app-modal-story>\\n\\t\\t<ibm-placeholder></ibm-placeholder>\\n\\t\\t`,\\n props: {\\n modalText: text('modalText', 'Hello, World!'),\\n },\\n }))\\n .add('Transactional', () => ({\\n template: `\\n\\t\\t<app-alert-modal-story\\n\\t\\t\\t[modalType]=\\\"modalType\\\"\\n\\t\\t\\t[modalLabel]=\\\"modalLabel\\\"\\n\\t\\t\\t[modalTitle]=\\\"modalTitle\\\"\\n\\t\\t\\t[modalContent]=\\\"modalContent\\\"\\n\\t\\t\\t[buttons]=\\\"buttons\\\">\\n\\t\\t</app-alert-modal-story>\\n\\t\\t<ibm-placeholder></ibm-placeholder>\\n\\t\\t`,\\n props: {\\n modalType: select('modalType', ['default', 'danger'], 'default'),\\n modalLabel: text('modalLabel', 'optional label'),\\n modalTitle: text('modalTitle', 'Delete service from application'),\\n modalContent: text(\\n 'modalContent',\\n `Are you sure you want to remove the Speech to Text service from the node-test app?`\\n ),\\n buttons: [\\n {\\n text: 'Cancel',\\n type: 'secondary',\\n },\\n {\\n text: 'Delete',\\n type: 'primary',\\n click: () => alert('Delete button clicked'),\\n },\\n ],\\n },\\n }))\\n .add('Passive', () => ({\\n template: `\\n\\t\\t<app-alert-modal-story\\n\\t\\t\\t[modalType]=\\\"modalType\\\"\\n\\t\\t\\t[modalLabel]=\\\"modalLabel\\\"\\n\\t\\t\\t[modalTitle]=\\\"modalTitle\\\"\\n\\t\\t\\t[modalContent]=\\\"modalContent\\\">\\n\\t\\t</app-alert-modal-story>\\n\\t\\t<ibm-placeholder></ibm-placeholder>\\n\\t\\t`,\\n props: {\\n modalType: select('modalType', ['default', 'danger'], 'default'),\\n modalLabel: text('modalLabel', 'optional label'),\\n modalTitle: text('modalTitle', 'Passive modal title'),\\n modalContent: text(\\n 'modalContent',\\n 'Passive modal notifications should only appear if there is an action ' +\\n 'the user needs to address immediately. Passive modal notifications are persistent on screen'\\n ),\\n },\\n }));\\n\";\n export var __ADDS_MAP__ = {\"modal--passive\":{\"startLoc\":{\"col\":7,\"line\":150},\"endLoc\":{\"col\":4,\"line\":170}},\"modal--transactional\":{\"startLoc\":{\"col\":7,\"line\":118},\"endLoc\":{\"col\":4,\"line\":149}},\"modal--basic\":{\"startLoc\":{\"col\":7,\"line\":109},\"endLoc\":{\"col\":4,\"line\":117}}};\n \n import { storiesOf, moduleMetadata } from \"@storybook/angular\";\nimport { withKnobs, text, select } from \"@storybook/addon-knobs/angular\";\n\nimport { ModalModule } from \"../\";\nimport { Component, Input, Inject } from \"@angular/core\";\nimport { BrowserAnimationsModule } from \"@angular/platform-browser/animations\";\nimport { Modal, ModalService } from \"../\";\nimport { ModalButton, AlertModalType, ModalButtonType } from \"./alert-modal.interface\";\nimport { PlaceholderModule } from \"./../placeholder/placeholder.module\";\nimport { BaseModal } from \"./base-modal.class\";\n\n@Component({\n\tselector: \"app-sample-modal\",\n\ttemplate: `\n\t\t<ibm-modal (overlaySelected)=\"closeModal()\">\n\t\t\t<ibm-modal-header (closeSelect)=\"closeModal()\">Header label</ibm-modal-header>\n\t\t\t<section class=\"bx--modal-content\">\n\t\t\t\t<h1>Sample modal works.</h1>\n\t\t\t\t<p class=\"bx--modal-content__text\">{{modalText}}</p>\n\t\t\t</section>\n\t\t\t<ibm-modal-footer>\n\t\t\t\t<button class=\"bx--btn bx--btn--secondary\" (click)=\"showSecondaryModal()\">Show Secondary Modal</button>\n\t\t\t\t<button class=\"bx--btn bx--btn--primary\" modal-primary-focus (click)=\"closeModal()\">Close</button>\n\t\t\t</ibm-modal-footer>\n\t\t</ibm-modal>\n\t`\n})\nclass SampleModal extends BaseModal {\n\tconstructor(\n\t\t@Inject(\"modalText\") public modalText,\n\t\tprotected modalService: ModalService) {\n\t\tsuper();\n\t}\n\n\tshowSecondaryModal() {\n\t\tthis.modalService.show({\n\t\t\tmodalLabel: \"Secondary header label\",\n\t\t\tmodalTitle: \"Sample secondary modal works.\",\n\t\t\tmodalContent: this.modalText,\n\t\t\tbuttons: [{\n\t\t\t\ttext: \"Cancel\",\n\t\t\t\ttype: ModalButtonType.secondary\n\t\t\t}, {\n\t\t\t\ttext: \"OK\",\n\t\t\t\ttype: ModalButtonType.primary,\n\t\t\t\tclick: () => alert(\"OK button clicked\")\n\t\t\t}]\n\t\t});\n\t}\n}\n\n@Component({\n\tselector: \"app-modal-story\",\n\ttemplate: `\n\t\t<button class=\"bx--btn bx--btn--primary\" (click)=\"openModal()\">Open Modal</button>\n\t`\n})\nclass ModalStory {\n\n\t@Input() modalText = \"Hello, World\";\n\n\tconstructor(protected modalService: ModalService) { }\n\n\topenModal() {\n\t\tthis.modalService.create({\n\t\t\tcomponent: SampleModal,\n\t\t\tinputs: {\n\t\t\t\tmodalText: this.modalText\n\t\t\t}\n\t\t});\n\t}\n}\n\n\n@Component({\n\tselector: \"app-alert-modal-story\",\n\ttemplate: `\n\t\t<button class=\"bx--btn bx--btn--primary\" (click)=\"openModal()\">Open Modal</button>\n\t`\n})\nclass AlertModalStory {\n\t@Input() modalType: AlertModalType;\n\t@Input() modalLabel: string;\n\t@Input() modalTitle: string;\n\t@Input() modalContent: string;\n\t@Input() buttons: Array<ModalButton>;\n\n\tconstructor(protected modalService: ModalService) { }\n\n\topenModal() {\n\t\tthis.modalService.show({\n\t\t\tmodalType: this.modalType,\n\t\t\tlabel: this.modalLabel,\n\t\t\ttitle: this.modalTitle,\n\t\t\tcontent: this.modalContent,\n\t\t\tbuttons: this.buttons\n\t\t});\n\t}\n}\n\nstoriesOf(\"Modal\", module).addDecorator(withStorySource(__STORY__, __ADDS_MAP__))\n\t.addDecorator(\n\t\tmoduleMetadata({\n\t\t\tdeclarations: [\n\t\t\t\tModalStory,\n\t\t\t\tSampleModal,\n\t\t\t\tAlertModalStory\n\t\t\t],\n\t\t\timports: [\n\t\t\t\tModalModule,\n\t\t\t\tPlaceholderModule,\n\t\t\t\tBrowserAnimationsModule\n\t\t\t],\n\t\t\tentryComponents: [\n\t\t\t\tSampleModal\n\t\t\t]\n\t\t})\n\t)\n\t.addDecorator(withKnobs)\n\t.add(\"Basic\", () => ({\n\t\ttemplate: `\n\t\t<app-modal-story [modalText]=\"modalText\"></app-modal-story>\n\t\t<ibm-placeholder></ibm-placeholder>\n\t\t`,\n\t\tprops: {\n\t\t\tmodalText: text(\"modalText\", \"Hello, World!\")\n\t\t}\n\t}))\n\t.add(\"Transactional\", () => ({\n\t\ttemplate: `\n\t\t<app-alert-modal-story\n\t\t\t[modalType]=\"modalType\"\n\t\t\t[modalLabel]=\"modalLabel\"\n\t\t\t[modalTitle]=\"modalTitle\"\n\t\t\t[modalContent]=\"modalContent\"\n\t\t\t[buttons]=\"buttons\">\n\t\t</app-alert-modal-story>\n\t\t<ibm-placeholder></ibm-placeholder>\n\t\t`,\n\t\tprops: {\n\t\t\tmodalType: select(\"modalType\", [\"default\", \"danger\"], \"default\"),\n\t\t\tmodalLabel: text(\"modalLabel\", \"optional label\"),\n\t\t\tmodalTitle: text(\"modalTitle\", \"Delete service from application\"),\n\t\t\tmodalContent: text(\"modalContent\", `Are you sure you want to remove the Speech to Text service from the node-test app?`),\n\t\t\tbuttons: [{\n\t\t\t\ttext: \"Cancel\",\n\t\t\t\ttype: \"secondary\"\n\t\t\t}, {\n\t\t\t\ttext: \"Delete\",\n\t\t\t\ttype: \"primary\",\n\t\t\t\tclick: () => alert(\"Delete button clicked\")\n\t\t\t}]\n\t\t}\n\t}))\n\t.add(\"Passive\", () => ({\n\t\ttemplate: `\n\t\t<app-alert-modal-story\n\t\t\t[modalType]=\"modalType\"\n\t\t\t[modalLabel]=\"modalLabel\"\n\t\t\t[modalTitle]=\"modalTitle\"\n\t\t\t[modalContent]=\"modalContent\">\n\t\t</app-alert-modal-story>\n\t\t<ibm-placeholder></ibm-placeholder>\n\t\t`,\n\t\tprops: {\n\t\t\tmodalType: select(\"modalType\", [\"default\", \"danger\"], \"default\"),\n\t\t\tmodalLabel: text(\"modalLabel\", \"optional label\"),\n\t\t\tmodalTitle: text(\"modalTitle\", \"Passive modal title\"),\n\t\t\tmodalContent: text(\"modalContent\", \"Passive modal notifications should only appear if there is an action \" +\n\t\t\t\t\"the user needs to address immediately. Passive modal notifications are persistent on screen\")\n\t\t}\n\t}))\n;\n\n ","import {\n\tComponent,\n\tOutput,\n\tEventEmitter,\n\tViewChild,\n\tElementRef,\n\tInput\n} from \"@angular/core\";\n\n\n/**\n * Component for the overlay object that acts as a backdrop to the `Modal` component.\n *\n * The main purpose for this component is to be able to handle click events that fall outside\n * the bounds of the `Modal` component.\n */\n@Component({\n\tselector: \"ibm-overlay\",\n\ttemplate: `\n\t\t<section\n\t\t\tclass=\"bx--modal bx--modal-tall is-visible\"\n\t\t\t[ngClass]=\"{'bx--modal--danger': theme === 'danger'}\"\n\t\t\t(click)=\"overlayClick($event)\"\n\t\t\t#overlay>\n\t\t\t<ng-content></ng-content>\n\t\t</section>\n\t`\n})\nexport class Overlay {\n\t/**\n\t * Classification of the modal.\n\t */\n\t@Input() theme: \"default\" | \"danger\" = \"default\";\n\t/**\n\t * To emit the event where the user selects the overlay behind the `Modal`.\n\t */\n\t@Output() overlaySelect = new EventEmitter();\n\t/**\n\t * Maintains a reference to the view DOM element of the `Overlay`.\n\t */\n\t@ViewChild(\"overlay\") overlay: ElementRef;\n\n\t/**\n\t * Handles the user clicking on the `Overlay` which resides outside the `Modal` object.\n\t */\n\toverlayClick(event) {\n\t\tif (event.target !== this.overlay.nativeElement) { return; }\n\t\tevent.stopPropagation();\n\t\tthis.overlaySelect.emit(event);\n\t}\n\n}\n","import {\n\tInjectable,\n\tApplicationRef\n} from \"@angular/core\";\n\n@Injectable()\nexport class NotificationDisplayService {\n\tconstructor(protected applicationRef: ApplicationRef) {}\n\n\t/**\n\t * Programatically closes notification based on `notificationRef`.\t *\n\t */\n\tclose(notificationRef: any) {\n\t\tif (notificationRef.hostView) {\n\t\t\tsetTimeout( () => {\n\t\t\t\tthis.applicationRef.detachView(notificationRef.hostView);\n\t\t\t\tnotificationRef.destroy();\n\t\t\t}, 200);\n\t\t}\n\t}\n}\n","import {\n\tComponent,\n\tInput,\n\tOutput,\n\tEventEmitter,\n\tComponentRef,\n\tViewChild,\n\tHostBinding\n} from \"@angular/core\";\n\nimport { NotificationContent } from \"./notification-content.interface\";\nimport { I18n } from \"./../i18n/i18n.module\";\nimport { NotificationDisplayService } from \"./notification-display.service\";\nimport { of } from \"rxjs\";\n\n/**\n * Notification messages are displayed toward the top of the UI and do not interrupt user’s work.\n */\n@Component({\n\tselector: \"ibm-notification\",\n\ttemplate: `\n\t\t<div class=\"bx--inline-notification__details\">\n\t\t\t<ibm-icon-error-filled16\n\t\t\t\t*ngIf=\"notificationObj.type === 'error'\"\n\t\t\t\tclass=\"bx--inline-notification__icon\">\n\t\t\t</ibm-icon-error-filled16>\n\t\t\t<ibm-icon-warning-filled16\n\t\t\t\t*ngIf=\"notificationObj.type === 'warning'\"\n\t\t\t\tclass=\"bx--inline-notification__icon\">\n\t\t\t</ibm-icon-warning-filled16>\n\t\t\t<ibm-icon-checkmark-filled16\n\t\t\t\t*ngIf=\"notificationObj.type === 'success'\"\n\t\t\t\tclass=\"bx--inline-notification__icon\">\n\t\t\t</ibm-icon-checkmark-filled16>\n\t\t\t<div class=\"bx--inline-notification__text-wrapper\">\n\t\t\t\t<p [innerHTML]=\"notificationObj.title\" class=\"bx--inline-notification__title\"></p>\n\t\t\t\t<p [innerHTML]=\"notificationObj.message\" class=\"bx--inline-notification__subtitle\"></p>\n\t\t\t</div>\n\t\t</div>\n\t\t<button\n\t\t\t(click)=\"onClose()\"\n\t\t\tclass=\"bx--inline-notification__close-button\"\n\t\t\t[attr.aria-label]=\"notificationObj.closeLabel | async\"\n\t\t\ttype=\"button\">\n\t\t\t<ibm-icon-close16 class=\"bx--inline-notification__close-icon\"></ibm-icon-close16>\n\t\t</button>\n\t`\n})\nexport class Notification {\n\t/**\n\t * Can have `type`, `title`, and `message` members.\n\t *\n\t * `type` can be one of `\"info\"`, `\"warning\"`, `\"error\"`, `\"success\"`\n\t *\n\t * `message` is the message to display\n\t */\n\t@Input() get notificationObj(): NotificationContent {\n\t\treturn this._notificationObj;\n\t}\n\tset notificationObj(obj: NotificationContent) {\n\t\tif (obj.closeLabel) {\n\t\t\tobj.closeLabel = of(obj.closeLabel);\n\t\t}\n\t\tthis._notificationObj = Object.assign({}, this.defaultNotificationObj, obj);\n\t}\n\n\t/**\n\t * Emits on close.\n\t */\n\t@Output() close: EventEmitter<any> = new EventEmitter();\n\n\tcomponentRef: ComponentRef<Notification>;\n\n\t@ViewChild(\"notification\") notification;\n\n\t@HostBinding(\"attr.id\") notificationID = \"notification\";\n\t@HostBinding(\"class.bx--inline-notification\") notificationClass = true;\n\t@HostBinding(\"attr.role\") role = \"alert\";\n\n\t@HostBinding(\"class.bx--inline-notification--error\") get isError() { return this.notificationObj.type === \"error\"; }\n\t@HostBinding(\"class.bx--inline-notification--info\") get isInfo() { return this.notificationObj.type === \"info\"; }\n\t@HostBinding(\"class.bx--inline-notification--success\") get isSuccess() { return this.notificationObj.type === \"success\"; }\n\t@HostBinding(\"class.bx--inline-notification--warning\") get isWarning() { return this.notificationObj.type === \"warning\"; }\n\n\tprotected defaultNotificationObj = {\n\t\ttitle: \"\",\n\t\tmessage: \"\",\n\t\ttype: \"info\",\n\t\tcloseLabel: this.i18n.get(\"NOTIFICATION.CLOSE_BUTTON\")\n\t};\n\tprotected _notificationObj: NotificationContent = Object.assign({}, this.defaultNotificationObj);\n\n\tconstructor(protected notificationDisplayService: NotificationDisplayService, protected i18n: I18n) {}\n\n\t/**\n\t * Emits close event.\n\t */\n\tonClose() {\n\t\tthis.close.emit();\n\t}\n\n\tdestroy() {\n\t\tthis.notificationDisplayService.close(this);\n\t}\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { Close16Module } from \"@carbon/icons-angular/lib/close/16\";\nimport { ErrorFilled16Module } from \"@carbon/icons-angular/lib/error--filled/16\";\nimport { CheckmarkFilled16Module } from \"@carbon/icons-angular/lib/checkmark--filled/16\";\nimport { WarningFilled16Module } from \"@carbon/icons-angular/lib/warning--filled/16\";\n\nimport { Toast } from \"./toast.component\";\nimport { Notification } from \"./notification.component\";\nimport { NotificationService } from \"./notification.service\";\nimport { NotificationDisplayService } from \"./notification-display.service\";\nimport { I18nModule } from \"./../i18n/i18n.module\";\nimport { ExperimentalModule } from \"./../experimental.module\";\n\nexport { NotificationService } from \"./notification.service\";\nexport { NotificationDisplayService } from \"./notification-display.service\";\nexport { Notification } from \"./notification.component\";\nexport { Toast } from \"./toast.component\";\n\n@NgModule({\n\tdeclarations: [\n\t\tNotification,\n\t\tToast\n\t],\n\texports: [\n\t\tNotification,\n\t\tToast\n\t],\n\tentryComponents: [Notification, Toast],\n\timports: [\n\t\tCommonModule,\n\t\tI18nModule,\n\t\tExperimentalModule,\n\t\tClose16Module,\n\t\tErrorFilled16Module,\n\t\tCheckmarkFilled16Module,\n\t\tWarningFilled16Module\n\t],\n\tproviders: [NotificationService, NotificationDisplayService]\n})\nexport class NotificationModule {}\n","import {\n\tApplicationRef,\n\tComponentFactory,\n\tComponentFactoryResolver,\n\tComponentRef,\n\tEventEmitter,\n\tInjectable,\n\tInjector,\n\tOnDestroy\n} from \"@angular/core\";\n\nimport { NotificationContent, ToastContent } from \"./notification-content.interface\";\nimport { Notification } from \"./notification.component\";\nimport { Toast } from \"./toast.component\";\n\n/**\n * Provides a way to use the notification component.\n *\n * Notifications are displayed toward the top of the UI and do not interrupt the user’s work.\n *\n * @export\n * @class NotificationService\n */\n@Injectable()\nexport class NotificationService implements OnDestroy {\n\t/**\n\t * An array containing `ComponentRef`s to all the notifications this service instance\n\t * is responsible for.\n\t *\n\t */\n\tpublic notificationRefs = new Array<ComponentRef<any>>();\n\tpublic onClose: EventEmitter<any> = new EventEmitter();\n\n\t/**\n\t * Constructs NotificationService.\n\t *\n\t * @param {Injector} injector\n\t * @param {ComponentFactoryResolver} componentFactoryResolver\n\t * @param {ApplicationRef} applicationRef\n\t */\n\tconstructor(\n\t\tprotected injector: Injector,\n\t\tprotected componentFactoryResolver: ComponentFactoryResolver,\n\t\tprotected applicationRef: ApplicationRef) {\n\t}\n\n\t/**\n\t * Shows the notification based on the `notificationObj`.\n\t *\n\t * @param {any} notificationObj Can have `type`, `message`, `target`, `duration` and `smart` members.\n\t *\n\t * **Members:**\n\t *\n\t * * `type` can be one of `\"info\"`, `\"warning\"`, `\"danger\"`, `\"success\"`\n\t * * `message` is message for notification to display\n\t * * `target` is css selector defining an element to append notification to. If not provided,\n\t * `showNotification()` creates a place for the notification in `body`\n\t * * `duration` is number of ms to close the notification after. If used in combination with `smart`,\n\t * it's added to the calculated timeout\n\t * * `smart`, set to `true` if you want to use smart notification.\n\t *\n\t * **Example:**\n\t * ```typescript\n\t * // Info notification, saying \"Sample message.\" added to the element with id notification-container\n\t * // uses smart timeout with added duration of 1 second.\n\t * {\n\t *\ttype: \"info\",\n\t *\tmessage: \"Sample message.\",\n\t *\ttarget: \"#notification-container\",\n\t *\tduration: 1000,\n\t *\tsmart: true\n\t * }\n\t * ```\n\t *\n\t * @param {any} [notificationComp=Notification] If provided, used to resolve component factory\n\t */\n\tshowNotification(notificationObj: NotificationContent | ToastContent, notificationComp = Notification) {\n\t\tconst componentFactory = this.componentFactoryResolver.resolveComponentFactory(notificationComp);\n\n\t\tlet notificationRef = componentFactory.create(this.injector);\n\t\tnotificationRef.instance.notificationObj = notificationObj as any; // typescript isn't being very smart here, so we type to any\n\t\tthis.notificationRefs.push(notificationRef);\n\n\t\tthis.onClose = notificationRef.instance.close;\n\t\tthis.applicationRef.attachView(notificationRef.hostView);\n\n\t\tif (notificationObj.target) {\n\t\t\tdocument.querySelector(notificationObj.target).appendChild(notificationRef.location.nativeElement);\n\t\t} else {\n\t\t\tlet body = document.querySelector(\"body\");\n\n\t\t\t// get or create a container for alert list\n\t\t\tlet notificationClassName = \"notification-overlay\";\n\t\t\tlet notificationList = body.querySelector(`.${notificationClassName}`);\n\t\t\tif (!notificationList) {\n\t\t\t\tnotificationList = document.createElement(\"div\");\n\t\t\t\tnotificationList.className = notificationClassName;\n\t\t\t\tbody.appendChild(notificationList);\n\t\t\t}\n\n\t\t\t// add the notification to the top of the list\n\t\t\tif (notificationList.firstChild) {\n\t\t\t\tnotificationList.insertBefore(notificationRef.location.nativeElement, notificationList.firstChild);\n\t\t\t} else {\n\t\t\t\tnotificationList.appendChild(notificationRef.location.nativeElement);\n\t\t\t}\n\t\t}\n\n\t\tif (notificationObj.duration && notificationObj.duration > 0) {\n\t\t\tsetTimeout(() => {\n\t\t\t\tthis.close(notificationRef);\n\t\t\t}, notificationObj.duration);\n\t\t}\n\n\t\tif (notificationObj.smart) {\n\t\t\t// let it disappear after calculated timeout\n\t\t\tsetTimeout(() => {\n\t\t\t\tthis.close(notificationRef);\n\t\t\t}, this.getSmartTimeout(notificationObj));\n\t\t}\n\n\t\tthis.onClose.subscribe(() => {\n\t\t\tthis.close(notificationRef);\n\t\t});\n\n\t\tnotificationRef.instance.componentRef = notificationRef;\n\t\treturn notificationRef.instance;\n\t}\n\n\tshowToast(notificationObj: NotificationContent | ToastContent, notificationComp = Toast) {\n\t\treturn this.showNotification(notificationObj, notificationComp as any);\n\t}\n\n\t/**\n\t * Programatically closes notification based on `notificationRef`.\n\t *\n\t * @param notificationRef `ComponentRef` of a notification or `Notification` component you wish to close\n\t */\n\tclose(notificationRef: any) {\n\t\tif (notificationRef) {\n\t\t\tif (notificationRef instanceof Notification) {\n\t\t\t\tthis.close(notificationRef.componentRef);\n\t\t\t} else {\n\t\t\t\tsetTimeout( () => {\n\t\t\t\t\tthis.applicationRef.detachView(notificationRef.hostView);\n\t\t\t\t\tnotificationRef.destroy();\n\t\t\t\t}, 200);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Calculates the amount of time user needs to read the message in the notification.\n\t *\n\t * @param {any} notificationObj Same object used to instantiate notification.\n\t *\n\t * In addition to `type` and `message` members, use `duration` member to add\n\t * some extra time (in ms) to timeout if you need to.\n\t * @returns {number} calculated timeout (in ms) for smart notification\n\t */\n\tgetSmartTimeout(notificationObj): number {\n\t\t// calculate timeout\n\t\tlet timeout = 600; // start with reaction time\n\n\t\t// custom duration\n\t\ttimeout += notificationObj.duration || 0;\n\n\t\t// message type\n\t\tswitch (notificationObj.type) {\n\t\t\tcase \"info\":\n\t\t\tcase \"success\":\n\t\t\tdefault: {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase \"danger\": {\n\t\t\t\ttimeout += 3000;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase \"warning\": {\n\t\t\t\ttimeout += 1500;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\t// message length\n\t\t// average reader reads around 200 words per minute, or it takes them ~0.3s per word\n\t\t// let's use 1.5 factor for below average speed readers and have 0.45s per word\n\t\tlet wordCount = notificationObj.message.trim().split(/\\s+/).length;\n\t\ttimeout += wordCount * 450;\n\n\t\treturn timeout;\n\t}\n\n\t/**\n\t * OnDestroy hook.\n\t *\n\t * Destroys all living notifications it is responsible for.\n\t *\n\t */\n\tngOnDestroy() {\n\t\tif (this.notificationRefs.length > 0) {\n\t\t\tfor (let i = 0; i < this.notificationRefs.length; i++) {\n\t\t\t\tlet notificationRef = this.notificationRefs[i];\n\t\t\t\tthis.applicationRef.detachView(notificationRef.hostView);\n\t\t\t\tnotificationRef.destroy();\n\t\t\t}\n\t\t\tthis.notificationRefs.length = 0;\n\t\t}\n\t}\n}\n","\n export var withStorySource = require('@storybook/addon-storysource').withStorySource;\n export var __STORY__ = \"import { storiesOf, moduleMetadata } from '@storybook/angular';\\nimport { action } from '@storybook/addon-actions';\\nimport { withKnobs, boolean, object } from '@storybook/addon-knobs/angular';\\n\\nimport { Component } from '@angular/core';\\n\\nimport { NotificationModule, NotificationService } from './notification.module';\\nimport { I18n } from '../i18n/i18n.module';\\n\\n@Component({\\n selector: 'app-notification-story',\\n template: `\\n <button class=\\\"bx--btn bx--btn--primary\\\" (click)=\\\"showNotification()\\\">Show info notification</button>\\n <div class=\\\"notification-container\\\"></div>\\n `,\\n providers: [NotificationService],\\n})\\nclass NotificationStory {\\n constructor(protected notificationService: NotificationService) {}\\n\\n showNotification() {\\n this.notificationService.showNotification({\\n type: 'info',\\n title: 'Sample notification',\\n message: 'Sample info message',\\n target: '.notification-container',\\n });\\n }\\n}\\n\\n@Component({\\n selector: 'app-toast-story',\\n template: `\\n <button class=\\\"bx--btn bx--btn--primary\\\" (click)=\\\"showToast()\\\">Show info toast</button>\\n <div class=\\\"notification-container\\\"></div>\\n `,\\n providers: [NotificationService],\\n})\\nclass ToastStory {\\n constructor(protected notificationService: NotificationService) {}\\n\\n showToast() {\\n this.notificationService.showToast({\\n type: 'info',\\n title: 'Sample toast',\\n subtitle: 'Sample subtitle message',\\n caption: 'Sample caption',\\n target: '.notification-container',\\n message: 'message',\\n });\\n }\\n}\\n\\nstoriesOf('Notification', module)\\n .addDecorator(\\n moduleMetadata({\\n declarations: [NotificationStory, ToastStory],\\n imports: [NotificationModule],\\n })\\n )\\n .addDecorator(withKnobs)\\n .add('Basic', () => ({\\n template: `\\n\\t\\t\\t<ibm-notification [notificationObj]=\\\"{type: 'error', title: 'Sample notification', message: 'Sample error message'}\\\">\\n\\t\\t\\t</ibm-notification>\\n\\t\\t\\t<ibm-notification [notificationObj]=\\\"{type: 'info', title: 'Sample notification', message: 'Sample info message'}\\\">\\n\\t\\t\\t</ibm-notification>\\n\\t\\t\\t<ibm-notification [notificationObj]=\\\"{type: 'success', title: 'Sample notification', message: 'Sample success message'}\\\">\\n\\t\\t\\t</ibm-notification>\\n\\t\\t\\t<ibm-notification [notificationObj]=\\\"{type: 'warning', title: 'Sample notification', message: 'Sample warning message'}\\\">\\n\\t\\t\\t</ibm-notification>\\n\\t\\t`,\\n }))\\n .add('Dynamic', () => ({\\n template: `\\n\\t\\t\\t<app-notification-story></app-notification-story>\\n\\t\\t`,\\n }))\\n .add('Toast', () => ({\\n template: `\\n\\t\\t\\t<ibm-toast [notificationObj]=\\\"{\\n\\t\\t\\t\\ttype: 'error',\\n\\t\\t\\t\\ttitle: 'Sample toast',\\n\\t\\t\\t\\tsubtitle: 'Sample subtitle message',\\n\\t\\t\\t\\tcaption: 'Sample caption'\\n\\t\\t\\t}\\\"></ibm-toast>\\n\\t\\t`,\\n }))\\n .add('Dynamic toast', () => ({\\n template: `\\n\\t\\t\\t<app-toast-story></app-toast-story>\\n\\t\\t`,\\n }));\\n\";\n export var __ADDS_MAP__ = {\"notification--dynamic-toast\":{\"startLoc\":{\"col\":7,\"line\":89},\"endLoc\":{\"col\":4,\"line\":93}},\"notification--toast\":{\"startLoc\":{\"col\":7,\"line\":79},\"endLoc\":{\"col\":4,\"line\":88}},\"notification--dynamic\":{\"startLoc\":{\"col\":7,\"line\":74},\"endLoc\":{\"col\":4,\"line\":78}},\"notification--basic\":{\"startLoc\":{\"col\":7,\"line\":62},\"endLoc\":{\"col\":4,\"line\":73}}};\n \n import { storiesOf, moduleMetadata } from \"@storybook/angular\";\nimport { action } from \"@storybook/addon-actions\";\nimport { withKnobs, boolean, object } from \"@storybook/addon-knobs/angular\";\n\nimport { Component } from \"@angular/core\";\n\nimport { NotificationModule, NotificationService } from \"./notification.module\";\nimport { I18n } from \"../i18n/i18n.module\";\n\n@Component({\n\tselector: \"app-notification-story\",\n\ttemplate: `\n\t\t<button class=\"bx--btn bx--btn--primary\" (click)=\"showNotification()\">Show info notification</button>\n\t\t<div class=\"notification-container\"></div>\n\t`,\n\tproviders: [NotificationService]\n})\nclass NotificationStory {\n\tconstructor(protected notificationService: NotificationService) { }\n\n\tshowNotification() {\n\t\tthis.notificationService.showNotification({\n\t\t\ttype: \"info\",\n\t\t\ttitle: \"Sample notification\",\n\t\t\tmessage: \"Sample info message\",\n\t\t\ttarget: \".notification-container\"\n\t\t});\n\t}\n}\n\n@Component({\n\tselector: \"app-toast-story\",\n\ttemplate: `\n\t\t<button class=\"bx--btn bx--btn--primary\" (click)=\"showToast()\">Show info toast</button>\n\t\t<div class=\"notification-container\"></div>\n\t`,\n\tproviders: [NotificationService]\n})\nclass ToastStory {\n\tconstructor(protected notificationService: NotificationService) { }\n\n\tshowToast() {\n\t\tthis.notificationService.showToast({\n\t\t\ttype: \"info\",\n\t\t\ttitle: \"Sample toast\",\n\t\t\tsubtitle: \"Sample subtitle message\",\n\t\t\tcaption: \"Sample caption\",\n\t\t\ttarget: \".notification-container\",\n\t\t\tmessage: \"message\"\n\t\t});\n\t}\n}\n\nstoriesOf(\"Notification\", module).addDecorator(withStorySource(__STORY__, __ADDS_MAP__))\n\t.addDecorator(\n\t\tmoduleMetadata({\n\t\t\tdeclarations: [\n\t\t\t\tNotificationStory,\n\t\t\t\tToastStory\n\t\t\t],\n\t\t\timports: [\n\t\t\t\tNotificationModule\n\t\t\t]\n\t\t})\n\t)\n\t.addDecorator(withKnobs)\n\t.add(\"Basic\", () => ({\n\t\ttemplate: `\n\t\t\t<ibm-notification [notificationObj]=\"{type: 'error', title: 'Sample notification', message: 'Sample error message'}\">\n\t\t\t</ibm-notification>\n\t\t\t<ibm-notification [notificationObj]=\"{type: 'info', title: 'Sample notification', message: 'Sample info message'}\">\n\t\t\t</ibm-notification>\n\t\t\t<ibm-notification [notificationObj]=\"{type: 'success', title: 'Sample notification', message: 'Sample success message'}\">\n\t\t\t</ibm-notification>\n\t\t\t<ibm-notification [notificationObj]=\"{type: 'warning', title: 'Sample notification', message: 'Sample warning message'}\">\n\t\t\t</ibm-notification>\n\t\t`\n\t}))\n\t.add(\"Dynamic\", () => ({\n\t\ttemplate: `\n\t\t\t<app-notification-story></app-notification-story>\n\t\t`\n\t}))\n\t.add(\"Toast\", () => ({\n\t\ttemplate: `\n\t\t\t<ibm-toast [notificationObj]=\"{\n\t\t\t\ttype: 'error',\n\t\t\t\ttitle: 'Sample toast',\n\t\t\t\tsubtitle: 'Sample subtitle message',\n\t\t\t\tcaption: 'Sample caption'\n\t\t\t}\"></ibm-toast>\n\t\t`\n\t}))\n\t.add(\"Dynamic toast\", () => ({\n\t\ttemplate: `\n\t\t\t<app-toast-story></app-toast-story>\n\t\t`\n\t}));\n\n ","import {\n\tComponent,\n\tInput,\n\tOnInit,\n\tHostBinding\n} from \"@angular/core\";\n\nimport { ToastContent } from \"./notification-content.interface\";\nimport { Notification } from \"./notification.component\";\nimport { ExperimentalService } from \"./../experimental.module\";\nimport { NotificationDisplayService } from \"./notification-display.service\";\nimport { I18n } from \"./../i18n/i18n.module\";\n\n/**\n * Toast messages are displayed toward the top of the UI and do not interrupt user’s work.\n */\n@Component({\n\tselector: \"ibm-toast\",\n\ttemplate: `\n\t\t<ibm-icon-error-filled16\n\t\t\t\t*ngIf=\"notificationObj.type === 'error'\"\n\t\t\t\tclass=\"bx--toast-notification__icon\">\n\t\t\t</ibm-icon-error-filled16>\n\t\t\t<ibm-icon-warning-filled16\n\t\t\t\t*ngIf=\"notificationObj.type === 'warning'\"\n\t\t\t\tclass=\"bx--toast-notification__icon\">\n\t\t\t</ibm-icon-warning-filled16>\n\t\t\t<ibm-icon-checkmark-filled16\n\t\t\t\t*ngIf=\"notificationObj.type === 'success'\"\n\t\t\t\tclass=\"bx--toast-notification__icon\">\n\t\t\t</ibm-icon-checkmark-filled16>\n\t\t<div class=\"bx--toast-notification__details\">\n\t\t\t<h3 class=\"bx--toast-notification__title\" [innerHTML]=\"notificationObj.title\"></h3>\n\t\t\t<p class=\"bx--toast-notification__subtitle\" [innerHTML]=\"notificationObj.subtitle\"></p>\n\t\t\t<p class=\"bx--toast-notification__caption\" [innerHTML]=\"notificationObj.caption\"></p>\n\t\t</div>\n\t\t<button\n\t\t\tclass=\"bx--toast-notification__close-button\"\n\t\t\ttype=\"button\"\n\t\t\t[attr.aria-label]=\"notificationObj.closeLabel\"\n\t\t\t(click)=\"onClose()\">\n\t\t\t<ibm-icon-close16 class=\"bx--toast-notification-icon\"></ibm-icon-close16>\n\t\t</button>\n\t`\n})\nexport class Toast extends Notification implements OnInit {\n\t/**\n\t * Can have `type`, `title`, `subtitle`, and `caption` members.\n\t *\n\t * `type` can be one of `\"error\"`, `\"info\"`, `\"warning\"`, or `\"success\"`\n\t */\n\t@Input() notificationObj: ToastContent;\n\n\t@HostBinding(\"attr.id\") toastID = \"notification\";\n\t@HostBinding(\"class.bx--toast-notification\") toastClass = true;\n\t@HostBinding(\"attr.role\") role = \"alert\";\n\n\t@HostBinding(\"class.bx--toast-notification--error\") get isError() { return this.notificationObj[\"type\"] === \"error\"; }\n\t@HostBinding(\"class.bx--toast-notification--info\") get isInfo() { return this.notificationObj[\"type\"] === \"info\"; }\n\t@HostBinding(\"class.bx--toast-notification--success\") get isSuccess() { return this.notificationObj[\"type\"] === \"success\"; }\n\t@HostBinding(\"class.bx--toast-notification--warning\") get isWarning() { return this.notificationObj[\"type\"] === \"warning\"; }\n\n\tget isExperimental() {\n\t\treturn this.experimental.isExperimental;\n\t}\n\n\tconstructor(\n\t\tprotected notificationDisplayService: NotificationDisplayService,\n\t\tprotected i18n: I18n,\n\t\tprotected experimental: ExperimentalService) {\n\t\tsuper(notificationDisplayService, i18n);\n\t}\n\n\tngOnInit() {\n\t\tif (!this.notificationObj.closeLabel) {\n\t\t\tthis.notificationObj.closeLabel = this.i18n.get().NOTIFICATION.CLOSE_BUTTON;\n\t\t}\n\t}\n}\n","import { Component, Input, HostBinding, EventEmitter, Output } from \"@angular/core\";\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor } from \"@angular/forms\";\nimport { isNullOrUndefined } from \"util\";\n\n/**\n * Used to emit changes performed on number input components.\n * @export\n * @class NumberChange\n */\nexport class NumberChange {\n\t/**\n\t * Contains the `Number` that has been changed.\n\t * @type {Number}\n\t * @memberof NumberChange\n\t */\n\tsource: Number;\n\t/**\n\t * The value of the `Number` field encompassed in the `NumberChange` class.\n\t * @type {number}\n\t * @memberof NumberChange\n\t */\n\tvalue: number;\n}\n\n/**\n * @export\n * @class Number\n * @implements {ControlValueAccessor}\n */\n@Component({\n\tselector: \"ibm-number\",\n\ttemplate: `\n\t\t<label *ngIf=\"skeleton && label\" class=\"bx--label bx--skeleton\"></label>\n\t\t<label *ngIf=\"!skeleton && label\" [for]=\"id\" class=\"bx--label\">{{label}}</label>\n\t\t<div *ngIf=\"helperText\" class=\"bx--form__helper-text\">{{helperText}}</div>\n\t\t<div\n\t\t\tdata-numberinput\n\t\t\t[attr.data-invalid]=\"(invalid ? '' : null)\"\n\t\t\tclass=\"bx--number\"\n\t\t\t[ngClass]=\"{\n\t\t\t\t'bx--number--light': theme === 'light',\n\t\t\t\t'bx--number--nolabel': !label,\n\t\t\t\t'bx--number--helpertext': helperText,\n\t\t\t\t'bx--skeleton' : skeleton\n\t\t\t}\">\n\t\t\t<input\n\t\t\t\ttype=\"number\"\n\t\t\t\t[id]=\"id\"\n\t\t\t\t[value]=\"value\"\n\t\t\t\t[min]=\"min\"\n\t\t\t\t[max]=\"max\"\n\t\t\t\t[disabled]=\"disabled\"\n\t\t\t\t[required]=\"required\"\n\t\t\t\t(input)=\"onNumberInputChange($event)\"/>\n\t\t\t<div *ngIf=\"!skeleton\" class=\"bx--number__controls\">\n\t\t\t\t<button\n\t\t\t\t\tclass=\"bx--number__control-btn up-icon\"\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\taria-live=\"polite\"\n\t\t\t\t\taria-atomic=\"true\"\n\t\t\t\t\t(click)=\"onIncrement()\">\n\t\t\t\t\t<ibm-icon-caret-up16></ibm-icon-caret-up16>\n\t\t\t\t</button>\n\t\t\t\t<button\n\t\t\t\t\tclass=\"bx--number__control-btn down-icon\"\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\taria-live=\"polite\"\n\t\t\t\t\taria-atomic=\"true\"\n\t\t\t\t\t(click)=\"onDecrement()\">\n\t\t\t\t\t<ibm-icon-caret-down16></ibm-icon-caret-down16>\n\t\t\t\t</button>\n\t\t\t</div>\n\t\t\t<div *ngIf=\"invalid\" class=\"bx--form-requirement\">\n\t\t\t\t{{invalidText}}\n\t\t\t</div>\n\t\t</div>\n\t`,\n\tproviders: [\n\t\t{\n\t\t\tprovide: NG_VALUE_ACCESSOR,\n\t\t\tuseExisting: Number,\n\t\t\tmulti: true\n\t\t}\n\t]\n})\nexport class Number implements ControlValueAccessor {\n\t/**\n\t * Variable used for creating unique ids for number input components.\n\t */\n\tstatic numberCount = 0;\n\n\t@HostBinding(\"class.bx--form-item\") containerClass = true;\n\n\t/**\n\t * `light` or `dark` number input theme.\n\t */\n\t@Input() theme: \"light\" | \"dark\" = \"dark\";\n\t/**\n\t * Set to `true` for a disabled number input.\n\t */\n\t@Input() disabled = false;\n\t/**\n\t * Set to `true` for a loading number component.\n\t */\n\t@Input() skeleton = false;\n\t/**\n\t * Set to `true` for an invalid number component.\n\t */\n\t@Input() invalid = false;\n\t/**\n\t * The unique id for the number component.\n\t */\n\t@Input() id = `number-${Number.numberCount}`;\n\t/**\n\t * Reflects the required attribute of the `input` element.\n\t */\n\t@Input() required: boolean;\n\t/**\n\t * Sets the value attribute on the `input` element.\n\t */\n\t@Input() value = 0;\n\t/**\n\t * Sets the min attribute on the `input` element.\n\t */\n\t@Input() min;\n\t/**\n\t * Sets the max attribute on the `input` element.\n\t */\n\t@Input() max;\n\t/**\n\t * Sets the text inside the `label` tag.\n\t */\n\t@Input() label;\n\t/**\n\t * Sets the optional helper text.\n\t */\n\t@Input() helperText;\n\t/**\n\t * Sets the invalid text.\n\t */\n\t@Input() invalidText;\n\t/**\n\t * Emits event notifying other classes when a change in state occurs in the input.\n\t */\n\t@Output() change = new EventEmitter<NumberChange>();\n\n\t/**\n\t * Creates an instance of `Number`.\n\t * @memberof Number\n\t */\n\tconstructor() {\n\t\tNumber.numberCount++;\n\t}\n\n\t/**\n\t * This is the initial value set to the component\n\t * @param value The input value.\n\t */\n\tpublic writeValue(value: any) {\n\t\tthis.value = value;\n\t}\n\n\t/**\n\t * Sets a method in order to propagate changes back to the form.\n\t * @param {any} fn\n\t * @memberof Number\n\t */\n\tpublic registerOnChange(fn: any) {\n\t\tthis.propagateChange = fn;\n\t}\n\n\t/**\n\t * Registers a callback to be triggered when the control has been touched.\n\t * @param fn Callback to be triggered when the number input is touched.\n\t */\n\tpublic registerOnTouched(fn: any) {\n\t\tthis.onTouched = fn;\n\t}\n\n\t/**\n\t * Called when number input is blurred. Needed to properly implement `ControlValueAccessor`.\n\t * @memberof Number\n\t */\n\tonTouched: () => any = () => {};\n\n\t/**\n\t * Method set in `registerOnChange` to propagate changes back to the form.\n\t * @memberof Number\n\t */\n\tpropagateChange = (_: any) => {};\n\n\t/**\n\t * Adds 1 to the current `value`.\n\t */\n\tonIncrement(): void {\n\t\tif (isNullOrUndefined(this.max) || this.value < this.max) {\n\t\t\tthis.value++;\n\t\t\tthis.emitChangeEvent();\n\t\t}\n\t}\n\n\t/**\n\t * Subtracts 1 to the current `value`.\n\t */\n\tonDecrement(): void {\n\t\tif (isNullOrUndefined(this.min) || this.value > this.min) {\n\t\t\tthis.value--;\n\t\t\tthis.emitChangeEvent();\n\t\t}\n\t}\n\n\t/**\n\t * Creates a class of `NumberChange` to emit the change in the `Number`.\n\t */\n\temitChangeEvent(): void {\n\t\tlet event = new NumberChange();\n\t\tevent.source = this;\n\t\tevent.value = this.value;\n\t\tthis.change.emit(event);\n\t\tthis.propagateChange(this.value);\n\t}\n\n\tonNumberInputChange(event) {\n\t\tthis.value = event.target.value;\n\t\tthis.emitChangeEvent();\n\t}\n}\n","// modules\nimport { NgModule } from \"@angular/core\";\nimport { FormsModule } from \"@angular/forms\";\nimport { CommonModule } from \"@angular/common\";\nimport { CaretUp16Module } from \"@carbon/icons-angular/lib/caret--up/16\";\nimport { CaretDown16Module } from \"@carbon/icons-angular/lib/caret--down/16\";\n\n// imports\nimport { Number } from \"./number.component\";\n\n@NgModule({\n\tdeclarations: [\n\t\tNumber\n\t],\n\texports: [\n\t\tNumber\n\t],\n\timports: [\n\t\tFormsModule,\n\t\tCommonModule,\n\t\tCaretUp16Module,\n\t\tCaretDown16Module\n\t]\n})\nexport class NumberModule { }\n\nexport { Number };\n","\n export var withStorySource = require('@storybook/addon-storysource').withStorySource;\n export var __STORY__ = \"import { storiesOf, moduleMetadata } from '@storybook/angular';\\nimport { withKnobs, boolean, number, select, text } from '@storybook/addon-knobs/angular';\\n\\nimport { NumberModule } from '../';\\n\\nstoriesOf('Number', module)\\n .addDecorator(\\n moduleMetadata({\\n imports: [NumberModule],\\n })\\n )\\n .addDecorator(withKnobs)\\n .add('Basic', () => ({\\n template: `\\n\\t\\t\\t<ibm-number\\n\\t\\t\\t\\t[label]=\\\"label\\\"\\n\\t\\t\\t\\t[helperText]=\\\"[helperText]\\\"\\n\\t\\t\\t\\t[theme]=\\\"theme\\\"\\n\\t\\t\\t\\t[min]=\\\"min\\\"\\n\\t\\t\\t\\t[max]=\\\"max\\\"\\n\\t\\t\\t\\t[invalid]=\\\"invalid\\\"\\n\\t\\t\\t\\t[invalidText]=\\\"invalidText\\\"\\n\\t\\t\\t\\t[disabled]=\\\"disabled\\\">\\n\\t\\t\\t</ibm-number>\\n\\t\\t`,\\n props: {\\n label: text('label', 'Number Input Label'),\\n helperText: text('helper text', 'Optional helper text here'),\\n invalidText: text('Form validation content', 'Invalid number'),\\n theme: select('theme', ['dark', 'light'], 'dark'),\\n min: number('min', 0),\\n max: number('max', 100),\\n invalid: boolean('Show form validation', false),\\n disabled: boolean('disabled', false),\\n },\\n }))\\n .add('Skeleton', () => ({\\n template: `\\n\\t\\t\\t<ibm-number [label]=\\\"label\\\" skeleton=\\\"true\\\"></ibm-number>\\n\\t\\t`,\\n props: {\\n label: text('label', 'Number Input Label'),\\n },\\n }));\\n\";\n export var __ADDS_MAP__ = {\"number--skeleton\":{\"startLoc\":{\"col\":7,\"line\":37},\"endLoc\":{\"col\":4,\"line\":44}},\"number--basic\":{\"startLoc\":{\"col\":7,\"line\":13},\"endLoc\":{\"col\":4,\"line\":36}}};\n \n import { storiesOf, moduleMetadata } from \"@storybook/angular\";\nimport { withKnobs, boolean, number, select, text } from \"@storybook/addon-knobs/angular\";\n\nimport { NumberModule } from \"../\";\n\nstoriesOf(\"Number\", module).addDecorator(withStorySource(__STORY__, __ADDS_MAP__)).addDecorator(\n\tmoduleMetadata({\n\t\timports: [NumberModule]\n\t})\n)\n\t.addDecorator(withKnobs)\n\t.add(\"Basic\", () => ({\n\t\ttemplate: `\n\t\t\t<ibm-number\n\t\t\t\t[label]=\"label\"\n\t\t\t\t[helperText]=\"[helperText]\"\n\t\t\t\t[theme]=\"theme\"\n\t\t\t\t[min]=\"min\"\n\t\t\t\t[max]=\"max\"\n\t\t\t\t[invalid]=\"invalid\"\n\t\t\t\t[invalidText]=\"invalidText\"\n\t\t\t\t[disabled]=\"disabled\">\n\t\t\t</ibm-number>\n\t\t`,\n\t\tprops: {\n\t\t\tlabel: text(\"label\", \"Number Input Label\"),\n\t\t\thelperText: text(\"helper text\", \"Optional helper text here\"),\n\t\t\tinvalidText: text(\"Form validation content\", \"Invalid number\"),\n\t\t\ttheme: select(\"theme\", [\"dark\", \"light\"], \"dark\"),\n\t\t\tmin: number(\"min\", 0),\n\t\t\tmax: number(\"max\", 100),\n\t\t\tinvalid: boolean(\"Show form validation\", false),\n\t\t\tdisabled: boolean(\"disabled\", false)\n\t\t}\n\t}))\n\t.add(\"Skeleton\", () => ({\n\t\ttemplate: `\n\t\t\t<ibm-number [label]=\"label\" skeleton=\"true\"></ibm-number>\n\t\t`,\n\t\tprops: {\n\t\t\tlabel: text(\"label\", \"Number Input Label\")\n\t\t}\n\t}));\n\n ","export class PaginationModel {\n\t/**\n\t * Tracks the current page.\n\t *\n\t * @type {number}\n\t * @memberof PaginationModel\n\t */\n\tcurrentPage: number;\n\n\t/**\n\t * Length of page.\n\t *\n\t * @type {number}\n\t * @memberof PaginationModel\n\t */\n\tpageLength: number;\n\n\t/**\n\t * Absolute total number of items needed to paginate.\n\t *\n\t * @protected\n\t * @type {number}\n\t * @memberof PaginationModel\n\t */\n\ttotalDataLength: number;\n}\n","import { PaginationModel } from \"./pagination.module\";\nimport {\n\tComponent,\n\tInput,\n\tOutput,\n\tEventEmitter\n} from \"@angular/core\";\n\nimport { range } from \"../common/utils\";\nimport { I18n } from \"./../i18n/i18n.module\";\nimport { BehaviorSubject } from \"rxjs\";\nimport { ExperimentalService } from \"./../experimental.module\";\n\n/**\n * Use pagination when you have multiple pages of data to handle.\n *\n * ```html\n * <ibm-pagination [model]=\"model\" (selectPage)=\"selectPage($event)\"></ibm-pagination>\n * ```\n *\n * In your `selectPage()` method set the `model.currentPage` to selected page, _after_\n * you load the page.\n *\n * ```typescript\n * selectPage(page) {\n * \t// ... your code to load the page goes here\n *\n * \tthis.model.currentPage = page;\n *\n * \t// ... anything you want to do after page selection changes goes here\n * }\n * ```\n *\n * @export\n * @class Pagination\n */\n@Component({\n\tselector: \"ibm-pagination\",\n\ttemplate: `\n\t<div\n\t\tclass=\"bx--pagination\"\n\t\t[ngClass]=\"{\n\t\t\t'bx--skeleton': skeleton\n\t\t}\">\n\t\t<!-- left skeleton div -->\n\t\t<div *ngIf=\"skeleton\" class=\"bx--pagination__left\">\n\t\t\t<p class=\"bx--skeleton__text\" style=\"width: 70px\"></p>\n\t\t\t<p class=\"bx--skeleton__text\" style=\"width: 35px\"></p>\n\t\t\t<p class=\"bx--skeleton__text\" style=\"width: 105px\"></p>\n\t\t</div>\n\n\t\t<div *ngIf=\"!skeleton\" class=\"bx--pagination__left\">\n\t\t\t<label class=\"bx--pagination__text\" [for]=\"itemsPerPageSelectId\">\n\t\t\t\t{{itemsPerPageText | async}}\n\t\t\t</label>\n\t\t\t<div class=\"bx--form-item\">\n\t\t\t\t<div class=\"bx--select bx--select--inline\"\n\t\t\t\t\t[ngClass]=\"{\n\t\t\t\t\t\t'bx--select__item-count': isExperimental\n\t\t\t\t\t}\">\n\t\t\t\t\t<select\n\t\t\t\t\t\t[id]=\"itemsPerPageSelectId\"\n\t\t\t\t\t\t[(ngModel)]=\"itemsPerPage\"\n\t\t\t\t\t\tclass=\"bx--select-input\">\n\t\t\t\t\t\t<option class=\"bx--select-option\" value=\"10\">10</option>\n\t\t\t\t\t\t<option class=\"bx--select-option\" value=\"20\">20</option>\n\t\t\t\t\t\t<option class=\"bx--select-option\" value=\"30\">30</option>\n\t\t\t\t\t\t<option class=\"bx--select-option\" value=\"40\">40</option>\n\t\t\t\t\t\t<option class=\"bx--select-option\" value=\"50\">50</option>\n\t\t\t\t\t</select>\n\t\t\t\t\t<ibm-icon-chevron-down16\n\t\t\t\t\t\tstyle=\"display: inherit;\"\n\t\t\t\t\t\tinnerClass=\"bx--select__arrow\"\n\t\t\t\t\t\t[ariaLabel]=\"optionsListText | async\">\n\t\t\t\t\t</ibm-icon-chevron-down16>\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t\t<span class=\"bx--pagination__text\">\n\t\t\t\t<span *ngIf=\"!isExperimental\">|&nbsp;</span>\n\t\t\t\t{{totalItemsText | i18nReplace:{start: startItemIndex, end: endItemIndex, total: model.totalDataLength } | async}}\n\t\t\t</span>\n\t\t</div>\n\n\t\t<!-- right skeleton div -->\n\t\t<div *ngIf=\"skeleton\" class=\"bx--pagination__right bx--pagination--inline\">\n\t\t\t<p class=\"bx--skeleton__text\" style=\"width: 70px\"></p>\n\t\t</div>\n\n\t\t<div *ngIf=\"!skeleton\" class=\"bx--pagination__right\"\n\t\t\t[ngClass]=\"{\n\t\t\t\t'bx--pagination--inline': !isExperimental\n\t\t\t}\">\n\n\t\t\t<div class=\"bx--form-item\">\n\t\t\t\t<div class=\"bx--select bx--select--inline\"\n\t\t\t\t[ngClass]=\"{\n\t\t\t\t\t'bx--select__page-number' : isExperimental\n\t\t\t\t}\">\n\t\t\t\t\t<label [for]=\"currentPageSelectId\" class=\"bx--label bx--visually-hidden\">{{itemsPerPageText | async}}</label>\n\t\t\t\t\t<select [id]=\"currentPageSelectId\" class=\"bx--select-input\" [(ngModel)]=\"currentPage\">\n\t\t\t\t\t\t<option *ngFor=\"let i of range(lastPage + 1, 1)\" class=\"bx--select-option\" [value]=\"i\">{{i}}</option>\n\t\t\t\t\t</select>\n\t\t\t\t\t<ibm-icon-chevron-down16\n\t\t\t\t\t\tstyle=\"display: inherit;\"\n\t\t\t\t\t\tinnerClass=\"bx--select__arrow\"\n\t\t\t\t\t\t[ariaLabel]=\"optionsListText | async\">\n\t\t\t\t\t</ibm-icon-chevron-down16>\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t\t<span class=\"bx--pagination__text\">\n\t\t\t\t{{ofLastPagesText | i18nReplace: {last: lastPage} | async}}\n\t\t\t</span>\n\t\t\t<button\n\t\t\t\tclass=\"bx--pagination__button bx--pagination__button--backward\"\n\t\t\t\t[ngClass]=\"{\n\t\t\t\t\t'bx--pagination__button--no-index': currentPage <= 1\n\t\t\t\t}\"\n\t\t\t\ttabindex=\"0\"\n\t\t\t\t[attr.aria-label]=\"backwardText | async\"\n\t\t\t\t(click)=\"selectPage.emit(previousPage)\"\n\t\t\t\t[disabled]=\"(currentPage <= 1 ? true : null)\">\n\t\t\t\t<ibm-icon-caret-left16></ibm-icon-caret-left16>\n\t\t\t</button>\n\n\t\t\t<button\n\t\t\t\tclass=\"bx--pagination__button bx--pagination__button--forward\"\n\t\t\t\t[ngClass]=\"{\n\t\t\t\t\t'bx--pagination__button--no-index': currentPage >= lastPage\n\t\t\t\t}\"\n\t\t\t\ttabindex=\"0\"\n\t\t\t\t[attr.aria-label]=\"forwardText | async\"\n\t\t\t\t(click)=\"selectPage.emit(nextPage)\"\n\t\t\t\t[disabled]=\"(currentPage >= lastPage ? true : null)\">\n\t\t\t\t<ibm-icon-caret-right16></ibm-icon-caret-right16>\n\t\t\t</button>\n\t\t</div>\n\t</div>\n\t`\n})\nexport class Pagination {\n\tstatic paginationCounter = 0;\n\n\t/**\n\t * Set to `true` for a loading pagination component.\n\t */\n\t@Input() skeleton = false;\n\t/**\n\t * `PaginationModel` with the information about pages you're controlling.\n\t *\n\t * @type {Model}\n\t */\n\t@Input() model: PaginationModel;\n\n\t/**\n\t * Expects an object that contains some or all of:\n\t * ```\n\t * {\n\t *\t\t\"ITEMS_PER_PAGE\": \"Items per page:\",\n\t *\t\t\"OPEN_LIST_OF_OPTIONS\": \"Open list of options\",\n\t *\t\t\"BACKWARD\": \"Backward\",\n\t *\t\t\"FORWARD\": \"Forward\",\n\t *\t\t\"TOTAL_ITEMS\": \"{{start}}-{{end}} of {{total}} items\",\n\t *\t\t\"TOTAL_PAGES\": \"{{current}} of {{last}} pages\",\n\t *\t\t\"OF_LAST_PAGES\": \"of {{last}} pages\"\n\t * }\n\t * ```\n\t */\n\t@Input()\n\tset translations (value) {\n\t\tif (value.ITEMS_PER_PAGE) {\n\t\t\tthis.itemsPerPageText = new BehaviorSubject(value.ITEMS_PER_PAGE);\n\t\t}\n\t\tif (value.OPEN_LIST_OF_OPTIONS) {\n\t\t\tthis.optionsListText = new BehaviorSubject(value.OPEN_LIST_OF_OPTIONS);\n\t\t}\n\t\tif (value.BACKWARD) {\n\t\t\tthis.backwardText = new BehaviorSubject(value.BACKWARD);\n\t\t}\n\t\tif (value.FORWARD) {\n\t\t\tthis.forwardText = new BehaviorSubject(value.FORWARD);\n\t\t}\n\t\tif (value.TOTAL_ITEMS) {\n\t\t\tthis.totalItemsText = new BehaviorSubject(value.TOTAL_ITEMS);\n\t\t}\n\t\tif (value.TOTAL_PAGES) {\n\t\t\tthis.totalPagesText = new BehaviorSubject(value.TOTAL_PAGES);\n\t\t}\n\t\tif (value.OF_LAST_PAGES) {\n\t\t\tthis.ofLastPagesText = new BehaviorSubject(value.OF_LAST_PAGES);\n\t\t}\n\t}\n\n\t/**\n\t * Emits the new page number.\n\t *\n\t * You should tie into this and update `model.currentPage` once the fresh\n\t * data is finally loaded.\n\t */\n\t@Output() selectPage = new EventEmitter<number>();\n\n\tget itemsPerPage() {\n\t\treturn this.model.pageLength;\n\t}\n\tset itemsPerPage(value) {\n\t\tthis.model.pageLength = Number(value);\n\t\tthis.currentPage = 1; // reset page\n\t}\n\n\tget currentPage() {\n\t\treturn this.model.currentPage;\n\t}\n\tset currentPage(value) {\n\t\tvalue = Number(value);\n\t\t// emits the value to allow the user to update current page\n\t\t// in the model once the page is loaded\n\t\tthis.selectPage.emit(value);\n\t}\n\t/**\n\t * The last page number to display in the pagination view.\n\t */\n\tget lastPage(): number {\n\t\tconst last = Math.ceil(this.model.totalDataLength / this.model.pageLength);\n\t\treturn last > 0 ? last : 1;\n\t}\n\n\tget startItemIndex() {\n\t\treturn this.endItemIndex > 0 ? (this.currentPage - 1) * this.model.pageLength + 1 : 0;\n\t}\n\n\tget endItemIndex() {\n\t\tconst projectedEndItemIndex = this.currentPage * this.model.pageLength;\n\n\t\treturn projectedEndItemIndex < this.model.totalDataLength ? projectedEndItemIndex : this.model.totalDataLength;\n\t}\n\n\t/**\n\t * The previous page number to navigate to, from the current page.\n\t */\n\tget previousPage(): number {\n\t\treturn this.currentPage <= 1 ? 1 : this.currentPage - 1;\n\t}\n\n\t/**\n\t * The next page number to navigate to, from the current page.\n\t */\n\tget nextPage(): number {\n\t\tconst lastPage = this.lastPage;\n\t\treturn this.currentPage >= lastPage ? lastPage : this.currentPage + 1;\n\t}\n\n\tget isExperimental() {\n\t\treturn this.experimental.isExperimental;\n\t}\n\n\titemsPerPageSelectId = `pagination-select-items-per-page-${Pagination.paginationCounter}`;\n\tcurrentPageSelectId = `pagination-select-current-page-${Pagination.paginationCounter}`;\n\n\titemsPerPageText = this.i18n.get(\"PAGINATION.ITEMS_PER_PAGE\");\n\toptionsListText = this.i18n.get(\"PAGINATION.OPEN_LIST_OF_OPTIONS\");\n\tbackwardText = this.i18n.get(\"PAGINATION.BACKWARD\");\n\tforwardText = this.i18n.get(\"PAGINATION.FORWARD\");\n\ttotalItemsText = this.i18n.get(\"PAGINATION.TOTAL_ITEMS\");\n\ttotalPagesText = this.i18n.get(\"PAGINATION.TOTAL_PAGES\");\n\tofLastPagesText = this.i18n.get(\"PAGINATION.OF_LAST_PAGES\");\n\n\tconstructor(protected i18n: I18n, protected experimental: ExperimentalService) {\n\t\tPagination.paginationCounter++;\n\t}\n\n\t/**\n\t * Generates a list of numbers. (Python function)\n\t * Used to display the correct pagination controls.\n\t * @returns {array}\n\t */\n\trange(stop: number, start = 0, step = 1) {\n\t\treturn range(stop, start, step);\n\t}\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule } from \"@angular/forms\";\nimport { ChevronDown16Module } from \"@carbon/icons-angular/lib/chevron--down/16\";\nimport { CaretLeft16Module } from \"@carbon/icons-angular/lib/caret--left/16\";\nimport { CaretRight16Module } from \"@carbon/icons-angular/lib/caret--right/16\";\n\nimport { Pagination } from \"./pagination.component\";\nimport { I18nModule } from \"./../i18n/i18n.module\";\nimport { ExperimentalModule } from \"./../experimental.module\";\n\nexport { PaginationModel } from \"./pagination-model.class\";\nexport { Pagination } from \"./pagination.component\";\n\n@NgModule({\n\tdeclarations: [\n\t\tPagination\n\t],\n\texports: [\n\t\tPagination\n\t],\n\timports: [\n\t\tCommonModule,\n\t\tFormsModule,\n\t\tI18nModule,\n\t\tExperimentalModule,\n\t\tChevronDown16Module,\n\t\tCaretLeft16Module,\n\t\tCaretRight16Module\n\t]\n})\nexport class PaginationModule {}\n","\n export var withStorySource = require('@storybook/addon-storysource').withStorySource;\n export var __STORY__ = \"import { Component, OnInit, Input } from '@angular/core';\\nimport { storiesOf, moduleMetadata } from '@storybook/angular';\\nimport { withKnobs, number } from '@storybook/addon-knobs/angular';\\n\\nimport { NFormsModule } from '..';\\nimport { PaginationModule } from './pagination.module';\\nimport { PaginationModel } from './pagination-model.class';\\n\\n@Component({\\n selector: 'app-pagination',\\n template: `\\n <ibm-pagination [model]=\\\"model\\\" [skeleton]=\\\"skeleton\\\" (selectPage)=\\\"selectPage($event)\\\"> </ibm-pagination>\\n `,\\n})\\nclass PaginationStory implements OnInit {\\n @Input() model = new PaginationModel();\\n @Input() skeleton = false;\\n\\n @Input() get totalDataLength() {\\n return this.model.totalDataLength;\\n }\\n set totalDataLength(value) {\\n this.model.totalDataLength = value;\\n }\\n\\n ngOnInit() {\\n this.model.pageLength = 10;\\n this.model.currentPage = 1;\\n }\\n\\n selectPage(page) {\\n console.log('Loading page', page, 'from pagination model');\\n this.model.currentPage = page;\\n }\\n}\\n\\nstoriesOf('Pagination', module)\\n .addDecorator(\\n moduleMetadata({\\n imports: [NFormsModule, PaginationModule],\\n declarations: [PaginationStory],\\n })\\n )\\n .addDecorator(withKnobs)\\n .add('default', () => ({\\n template: `\\n\\t\\t\\t<div style=\\\"width: 800px\\\">\\n\\t\\t\\t\\t<app-pagination [totalDataLength]=\\\"totalDataLength\\\"></app-pagination>\\n\\t\\t\\t</div>\\n\\t\\t`,\\n props: {\\n totalDataLength: number('totalDataLength', 105),\\n },\\n }))\\n .add('Skeleton', () => ({\\n template: `\\n\\t\\t\\t<div style=\\\"width: 800px\\\">\\n\\t\\t\\t\\t<app-pagination [totalDataLength]=\\\"totalDataLength\\\" [skeleton]=\\\"true\\\"></app-pagination>\\n\\t\\t\\t</div>\\n\\t\\t`,\\n props: {\\n totalDataLength: number('totalDataLength', 105),\\n },\\n }));\\n\";\n export var __ADDS_MAP__ = {\"pagination--skeleton\":{\"startLoc\":{\"col\":7,\"line\":55},\"endLoc\":{\"col\":4,\"line\":64}},\"pagination--default\":{\"startLoc\":{\"col\":7,\"line\":45},\"endLoc\":{\"col\":4,\"line\":54}}};\n \n import {\n\tComponent,\n\tOnInit,\n\tInput\n} from \"@angular/core\";\nimport { storiesOf, moduleMetadata } from \"@storybook/angular\";\nimport {\n\twithKnobs,\n\tnumber\n} from \"@storybook/addon-knobs/angular\";\n\nimport { NFormsModule } from \"..\";\nimport { PaginationModule } from \"./pagination.module\";\nimport { PaginationModel } from \"./pagination-model.class\";\n\n@Component({\n\tselector: \"app-pagination\",\n\ttemplate: `\n\t\t<ibm-pagination\n\t\t\t[model]=\"model\"\n\t\t\t[skeleton]=\"skeleton\"\n\t\t\t(selectPage)=\"selectPage($event)\">\n\t\t</ibm-pagination>\n\t`\n})\nclass PaginationStory implements OnInit {\n\t@Input() model = new PaginationModel();\n\t@Input() skeleton = false;\n\n\t@Input() get totalDataLength() {\n\t\treturn this.model.totalDataLength;\n\t}\n\tset totalDataLength(value) {\n\t\tthis.model.totalDataLength = value;\n\t}\n\n\tngOnInit() {\n\t\tthis.model.pageLength = 10;\n\t\tthis.model.currentPage = 1;\n\t}\n\n\tselectPage(page) {\n\t\tconsole.log(\"Loading page\", page, \"from pagination model\");\n\t\tthis.model.currentPage = page;\n\t}\n}\n\n\nstoriesOf(\"Pagination\", module).addDecorator(withStorySource(__STORY__, __ADDS_MAP__)).addDecorator(\n\t\tmoduleMetadata({\n\t\t\timports: [\n\t\t\t\tNFormsModule,\n\t\t\t\tPaginationModule\n\t\t\t],\n\t\t\tdeclarations: [\n\t\t\t\tPaginationStory\n\t\t\t]\n\t\t})\n\t)\n\t.addDecorator(withKnobs)\n\t.add(\"default\", () => ({\n\t\ttemplate: `\n\t\t\t<div style=\"width: 800px\">\n\t\t\t\t<app-pagination [totalDataLength]=\"totalDataLength\"></app-pagination>\n\t\t\t</div>\n\t\t`,\n\t\tprops: {\n\t\t\ttotalDataLength: number(\"totalDataLength\", 105)\n\t\t}\n\t}))\n\t.add(\"Skeleton\", () => ({\n\t\ttemplate: `\n\t\t\t<div style=\"width: 800px\">\n\t\t\t\t<app-pagination [totalDataLength]=\"totalDataLength\" [skeleton]=\"true\"></app-pagination>\n\t\t\t</div>\n\t\t`,\n\t\tprops: {\n\t\t\ttotalDataLength: number(\"totalDataLength\", 105)\n\t\t}\n\t}));\n\n\n ","import {\n\tComponent,\n\tOnInit,\n\tViewContainerRef,\n\tViewChild\n} from \"@angular/core\";\nimport { PlaceholderService } from \"./placeholder.service\";\n\n/**\n * Using a modal, dialog (Tooltip, OverflowMenu), or any other component that draws out of the normal page flow\n * in your application *requires* this component (`ibm-placeholder`).\n * It would generally be placed near the end of your root app component template\n * (app.component.ts or app.component.html) as:\n *\n * ```\n * <ibm-placeholder></ibm-placeholder>\n * ```\n */\n@Component({\n\tselector: \"ibm-placeholder\",\n\ttemplate: `<div #placeholder></div>`\n})\nexport class Placeholder implements OnInit {\n\t/**\n\t * Maintains a reference to the view DOM element of the `Placeholder`.\n\t */\n\t@ViewChild(\"placeholder\", { read: ViewContainerRef }) viewContainerRef: ViewContainerRef;\n\n\t/**\n\t * Creates an instance of `Placeholder`.\n\t */\n\tconstructor(public placeholderService: PlaceholderService) { }\n\n\t/**\n\t * Registers the components view with `PlaceholderService`\n\t */\n\tngOnInit() {\n\t\tthis.placeholderService.registerViewContainerRef(this.viewContainerRef);\n\t}\n}\n","// modules\nimport {\n\tNgModule,\n\tOptional,\n\tSkipSelf\n} from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\n// imports\nimport { Placeholder } from \"./placeholder.component\";\nimport { PlaceholderService } from \"./placeholder.service\";\n\n// exports\nexport { Placeholder } from \"./placeholder.component\";\nexport { PlaceholderService } from \"./placeholder.service\";\n\n// either provides a new instance of ModalPlaceholderService, or returns the parent\nexport function PLACEHOLDER_SERVICE_PROVIDER_FACTORY(parentService: PlaceholderService) {\n\treturn parentService || new PlaceholderService();\n}\n\n// placholder service *must* be a singleton to ensure the placeholder viewref is accessible globally\nexport const PLACEHOLDER_SERVICE_PROVIDER = {\n\tprovide: PlaceholderService,\n\tdeps: [[new Optional(), new SkipSelf(), PlaceholderService]],\n\tuseFactory: PLACEHOLDER_SERVICE_PROVIDER_FACTORY\n};\n\n@NgModule({\n\tdeclarations: [ Placeholder ],\n\texports: [ Placeholder ],\n\tproviders: [ PLACEHOLDER_SERVICE_PROVIDER ],\n\timports: [ CommonModule ]\n})\nexport class PlaceholderModule { }\n","import {\n\tComponentRef,\n\tViewContainerRef,\n\tComponentFactory,\n\tInjector\n} from \"@angular/core\";\nimport { Injectable } from \"@angular/core\";\n\n/**\n * Singleton service used to register the container for out-of-flow components to insert into.\n * Also used to insert/remove components from that view.\n */\n@Injectable()\nexport class PlaceholderService {\n\t/**\n\t * Maintain a `ViewContainerRef` to an instance of the component.\n\t */\n\tprotected viewContainerRef: ViewContainerRef = null;\n\t/**\n\t * Used by `Placeholder` to register view-container reference.\n\t */\n\tregisterViewContainerRef(vcRef: ViewContainerRef): void {\n\t\tthis.viewContainerRef = vcRef;\n\t}\n\n\t/**\n\t * Creates and returns component in the view.\n\t */\n\tcreateComponent(componentFactory: ComponentFactory<any>, injector: Injector): ComponentRef<any> {\n\t\tif (!this.viewContainerRef) {\n\t\t\tconsole.error(\"No view container defined! Likely due to a missing `ibm-placeholder`\");\n\t\t}\n\t\treturn this.viewContainerRef.createComponent(componentFactory, null, injector);\n\t}\n\n\tdestroyComponent(component: ComponentRef<any>) {\n\t\tconst index = this.viewContainerRef.indexOf(component.hostView);\n\t\tif (index < 0) {\n\t\t\treturn;\n\t\t}\n\n\t\t// destroy the view\n\t\tthis.viewContainerRef.remove(index);\n\t}\n\n\thasComponentRef(component: ComponentRef<any>) {\n\t\tif (this.viewContainerRef.indexOf(component.hostView) < 0) {\n\t\t\treturn false;\n\t\t}\n\t\treturn true;\n\t}\n\n\thasPlaceholderRef() {\n\t\treturn !!this.viewContainerRef;\n\t}\n\n\tappendElement(element: HTMLElement): HTMLElement {\n\t\treturn this.viewContainerRef.element.nativeElement.appendChild(element);\n\t}\n\n\tremoveElement(element: HTMLElement): HTMLElement {\n\t\treturn this.viewContainerRef.element.nativeElement.removeChild(element);\n\t}\n\n\thasElement(element: HTMLElement): boolean {\n\t\treturn this.viewContainerRef.element.nativeElement.contains(element);\n\t}\n}\n","import { Component, Input } from \"@angular/core\";\nimport { ExperimentalService } from \"./../experimental.module\";\n\n@Component({\n\tselector: \"ibm-progress-indicator\",\n\ttemplate: `\n\t<ul\n\t\tdata-progress\n\t\tdata-progress-current\n\t\tclass=\"bx--progress\"\n\t\t[ngClass]=\"{\n\t\t\t'bx--skeleton': skeleton,\n\t\t\t'bx--progress--vertical': (orientation === 'vertical')\n\t\t}\">\n\t\t<li\n\t\tclass=\"bx--progress-step bx--progress-step--{{step.state}}\"\n\t\t*ngFor=\"let step of steps; let i = index\">\n\t\t\t<ibm-icon-checkmark-outline16 *ngIf=\"step.state == 'complete'\"></ibm-icon-checkmark-outline16>\n\t\t\t<svg *ngIf=\"step.state == 'current'\">\n\t\t\t\t<path *ngIf=\"isExperimental\" d=\"M 7, 7 m -7, 0 a 7,7 0 1,0 14,0 a 7,7 0 1,0 -14,0\" ></path>\n\t\t\t</svg>\n\t\t\t<svg *ngIf=\"step.state == 'incomplete'\">\n\t\t\t\t<path\n\t\t\t\t\t*ngIf=\"isExperimental\"\n\t\t\t\t\td=\"M8 1C4.1 1 1 4.1 1 8s3.1 7 7 7 7-3.1 7-7-3.1-7-7-7zm0 13c-3.3 0-6-2.7-6-6s2.7-6 6-6 6 2.7 6 6-2.7 6-6 6z\">\n\t\t\t\t</path>\n\t\t\t</svg>\n\t\t\t<ibm-icon-error-outline16 *ngIf=\"step.state == 'error'\"></ibm-icon-error-outline16>\n\t\t\t<p class=\"bx--progress-label\">{{step.text}}</p>\n\t\t\t<span class=\"bx--progress-line\"></span>\n\t\t</li>\n\t</ul>\n\t`\n})\nexport class ProgressIndicator {\n\tstatic skeletonSteps(stepCount: number) {\n\t\tconst steps = [];\n\t\tfor (let i = 0; i < stepCount; i++) {\n\t\t\tsteps.push({\"state\": [\"incomplete\"]});\n\t\t}\n\n\t\treturn steps;\n\t}\n\n\t@Input() steps = [];\n\t@Input() orientation: \"horizontal\" | \"vertical\" = \"horizontal\";\n\t@Input() skeleton = false;\n\n\t@Input() get current() {\n\t\treturn this.steps.indexOf(step => step.state[0] === \"current\");\n\t}\n\tset current(current: number) {\n\t\tif (current === undefined || current < 0) {\n\t\t\tfor (let i = 0; i < this.steps.length; i++) {\n\t\t\t\tthis.steps[i].state[0] = \"incomplete\";\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\n\t\tif (current > this.steps.length - 1) {\n\t\t\tfor (let i = 0; i < this.steps.length; i++) {\n\t\t\t\tthis.steps[i].state[0] = \"complete\";\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\t\tthis.steps[current].state[0] = \"current\";\n\t\tfor (let i = 0; i < current; i++) {\n\t\t\tthis.steps[i].state[0] = \"complete\";\n\t\t}\n\t\tfor (let i = current + 1; i < this.steps.length; i++) {\n\t\t\tthis.steps[i].state[0] = \"incomplete\";\n\t\t}\n\t}\n\n\tget isExperimental() {\n\t\treturn this.experimental.isExperimental;\n\t}\n\n\tconstructor(protected experimental: ExperimentalService) {}\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { CheckmarkOutline16Module } from \"@carbon/icons-angular/lib/checkmark--outline/16\";\nimport { ErrorOutline16Module } from \"@carbon/icons-angular/lib/error--outline/16\";\n\nimport { ProgressIndicator } from \"./progress-indicator.component\";\nimport { ExperimentalModule } from \"./../experimental.module\";\n\nexport { ProgressIndicator } from \"./progress-indicator.component\";\n\n@NgModule({\n\tdeclarations: [\n\t\tProgressIndicator\n\t],\n\texports: [\n\t\tProgressIndicator\n\t],\n\timports: [\n\t\tCommonModule,\n\t\tExperimentalModule,\n\t\tCheckmarkOutline16Module,\n\t\tErrorOutline16Module\n\t]\n})\nexport class ProgressIndicatorModule { }\n","\n export var withStorySource = require('@storybook/addon-storysource').withStorySource;\n export var __STORY__ = \"import { Component, Input, OnInit } from '@angular/core';\\nimport { storiesOf, moduleMetadata } from '@storybook/angular';\\nimport { action } from '@storybook/addon-actions';\\nimport { withKnobs, number, object } from '@storybook/addon-knobs/angular';\\n\\nimport { ProgressIndicatorModule } from '../';\\nimport { ProgressIndicator } from './progress-indicator.component';\\n\\n@Component({\\n selector: 'app-skeleton-progress-indicator',\\n template: `\\n <ibm-progress-indicator [steps]=\\\"skeletonSteps\\\" [orientation]=\\\"orientation\\\" skeleton=\\\"true\\\">\\n </ibm-progress-indicator>\\n `,\\n})\\nclass SkeletonStory implements OnInit {\\n @Input() skeletonSteps = [];\\n @Input() orientation = 'horizontal';\\n\\n ngOnInit() {\\n // Creates an empty progress indicator with 4 steps\\n this.skeletonSteps = ProgressIndicator.skeletonSteps(4);\\n }\\n}\\n\\nstoriesOf('Progress Indicator', module)\\n .addDecorator(\\n moduleMetadata({\\n declarations: [SkeletonStory],\\n imports: [ProgressIndicatorModule],\\n })\\n )\\n .addDecorator(withKnobs)\\n .add('Basic', () => ({\\n template: `\\n\\t\\t<div style=\\\"display: flex;\\\">\\n\\t\\t\\t<ibm-progress-indicator [steps]=\\\"steps\\\" [current]=\\\"current\\\"></ibm-progress-indicator>\\n\\t\\t</div>\\n\\t\\t`,\\n props: {\\n steps: [\\n {\\n text: 'First step',\\n state: ['complete'],\\n },\\n {\\n text: 'Second step',\\n state: ['current'],\\n },\\n {\\n text: 'Third step',\\n state: ['incomplete'],\\n },\\n {\\n text: 'Fourth step',\\n state: ['incomplete'],\\n },\\n {\\n text: 'Fifth step',\\n state: ['incomplete'],\\n },\\n ],\\n current: number('Current progress', 1),\\n },\\n }))\\n .add('Vertical', () => ({\\n template: `\\n\\t\\t<ibm-progress-indicator orientation=\\\"vertical\\\" [steps]=\\\"steps\\\" [current]=\\\"current\\\"></ibm-progress-indicator>\\n\\t\\t`,\\n props: {\\n steps: [\\n {\\n text: 'First step',\\n state: ['complete'],\\n },\\n {\\n text: 'Second step',\\n state: ['current'],\\n },\\n {\\n text: 'Third step',\\n state: ['incomplete'],\\n },\\n {\\n text: 'Fourth step',\\n state: ['incomplete'],\\n },\\n {\\n text: 'Fifth step',\\n state: ['incomplete'],\\n },\\n ],\\n current: number('Current progress', 1),\\n },\\n }))\\n .add('Skeleton', () => ({\\n template: `\\n\\t\\t<app-skeleton-progress-indicator></app-skeleton-progress-indicator>\\n\\t\\t&nbsp;&nbsp;\\n\\t\\t<app-skeleton-progress-indicator orientation=\\\"vertical\\\"></app-skeleton-progress-indicator>\\n\\t\\t`,\\n }));\\n\";\n export var __ADDS_MAP__ = {\"progress-indicator--skeleton\":{\"startLoc\":{\"col\":7,\"line\":96},\"endLoc\":{\"col\":4,\"line\":102}},\"progress-indicator--vertical\":{\"startLoc\":{\"col\":7,\"line\":66},\"endLoc\":{\"col\":4,\"line\":95}},\"progress-indicator--basic\":{\"startLoc\":{\"col\":7,\"line\":34},\"endLoc\":{\"col\":4,\"line\":65}}};\n \n import {\n\tComponent,\n\tInput,\n\tOnInit\n} from \"@angular/core\";\nimport { storiesOf, moduleMetadata } from \"@storybook/angular\";\nimport { action } from \"@storybook/addon-actions\";\nimport { withKnobs, number, object } from \"@storybook/addon-knobs/angular\";\n\nimport { ProgressIndicatorModule } from \"../\";\nimport { ProgressIndicator } from \"./progress-indicator.component\";\n\n@Component({\n\tselector: \"app-skeleton-progress-indicator\",\n\ttemplate: `\n\t\t<ibm-progress-indicator [steps]=\"skeletonSteps\" [orientation]=\"orientation\" skeleton=\"true\">\n\t\t</ibm-progress-indicator>\n\t`\n})\nclass SkeletonStory implements OnInit {\n\t@Input() skeletonSteps = [];\n\t@Input() orientation = \"horizontal\";\n\n\tngOnInit() {\n\t\t// Creates an empty progress indicator with 4 steps\n\t\tthis.skeletonSteps = ProgressIndicator.skeletonSteps(4);\n\t}\n}\n\nstoriesOf(\"Progress Indicator\", module).addDecorator(withStorySource(__STORY__, __ADDS_MAP__))\n\t.addDecorator(\n\t\tmoduleMetadata({\n\t\t\tdeclarations: [SkeletonStory],\n\t\t\timports: [\n\t\t\t\tProgressIndicatorModule\n\t\t\t]\n\t\t})\n\t)\n\t.addDecorator(withKnobs)\n\t.add(\"Basic\", () => ({\n\t\ttemplate: `\n\t\t<div style=\"display: flex;\">\n\t\t\t<ibm-progress-indicator [steps]=\"steps\" [current]=\"current\"></ibm-progress-indicator>\n\t\t</div>\n\t\t`,\n\t\tprops: {\n\t\t\tsteps : [\n\t\t\t\t{\n\t\t\t\t\ttext: \"First step\",\n\t\t\t\t\tstate: [\"complete\"]\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\ttext: \"Second step\",\n\t\t\t\t\tstate: [\"current\"]\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\ttext: \"Third step\",\n\t\t\t\t\tstate: [\"incomplete\"]\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\ttext: \"Fourth step\",\n\t\t\t\t\tstate: [\"incomplete\"]\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\ttext: \"Fifth step\",\n\t\t\t\t\tstate: [\"incomplete\"]\n\t\t\t\t}\n\t\t\t],\n\t\t\tcurrent: number(\"Current progress\", 1)\n\t\t}\n\t}))\n\t.add(\"Vertical\", () => ({\n\t\ttemplate: `\n\t\t<ibm-progress-indicator orientation=\"vertical\" [steps]=\"steps\" [current]=\"current\"></ibm-progress-indicator>\n\t\t`,\n\t\tprops: {\n\t\t\tsteps : [\n\t\t\t\t{\n\t\t\t\t\ttext: \"First step\",\n\t\t\t\t\tstate: [\"complete\"]\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\ttext: \"Second step\",\n\t\t\t\t\tstate: [\"current\"]\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\ttext: \"Third step\",\n\t\t\t\t\tstate: [\"incomplete\"]\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\ttext: \"Fourth step\",\n\t\t\t\t\tstate: [\"incomplete\"]\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\ttext: \"Fifth step\",\n\t\t\t\t\tstate: [\"incomplete\"]\n\t\t\t\t}\n\t\t\t],\n\t\t\tcurrent: number(\"Current progress\", 1)\n\t\t}\n\t}))\n\t.add(\"Skeleton\", () => ({\n\t\ttemplate: `\n\t\t<app-skeleton-progress-indicator></app-skeleton-progress-indicator>\n\t\t&nbsp;&nbsp;\n\t\t<app-skeleton-progress-indicator orientation=\"vertical\"></app-skeleton-progress-indicator>\n\t\t`\n\t}));\n\n ","import {\n\tAfterContentInit,\n\tChangeDetectorRef,\n\tContentChildren,\n\tComponent,\n\tElementRef,\n\tEventEmitter,\n\tforwardRef,\n\tInput,\n\tOnInit,\n\tOutput,\n\tQueryList,\n\tRenderer2,\n\tHostBinding,\n\tAfterViewInit\n} from \"@angular/core\";\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor } from \"@angular/forms\";\nimport { Radio } from \"./radio.component\";\n\n/**\n * Used to emit changes performed on a `Radio`.\n * @export\n * @class RadioChange\n */\nexport class RadioChange {\n\t/**\n\t * Contains the `Radio` that has been changed.\n\t */\n\tsource: Radio | null;\n\t/**\n\t * The value of the `Radio` encompassed in the `RadioChange` class.\n\t */\n\tvalue: string;\n\n\tconstructor(source: Radio, value: string) {\n\t\tthis.source = source;\n\t\tthis.value = value;\n\t}\n}\n\n/**\n * class: RadioGroup\n *\n * selector: `ibm-radio-group`\n *\n * source: `src/forms/radio.component.ts`\n *\n *\n * Ex:\n * ```html\n * <ibm-radio-group [(ngModel)]=\"radio\">\n * \t<ibm-radio *ngFor=\"let one of manyRadios\" [value]=\"one\">\n *\t\tRadio {{one}}\n * \t</ibm-radio>\n * </ibm-radio-group>\n *\n * Radio selected: {{radio}}\n * ```\n *\n * ```typescript\n * manyRadios = [\"one\", \"two\", \"three\", \"four\", \"five\", \"six\"];\n * ```\n *\n * Also see: [`Radio`](#ibm-radio)\n *\n */\n@Component({\n\tselector: \"ibm-radio-group\",\n\ttemplate: `\n\t\t<div class=\"bx--radio-button-group\" role=\"radiogroup\">\n\t\t\t<ng-content></ng-content>\n\t\t</div>\n\t`,\n\tproviders: [\n\t\t{\n\t\t\tprovide: NG_VALUE_ACCESSOR,\n\t\t\tuseExisting: RadioGroup,\n\t\t\tmulti: true\n\t\t}\n\t]\n})\nexport class RadioGroup implements AfterContentInit, AfterViewInit, ControlValueAccessor {\n\t/**\n\t * Used for creating the `RadioGroup` 'name' property dynamically.\n\t */\n\tstatic radioGroupCount = 0;\n\n\t/**\n\t * Emits event notifying other classes of a change using a `RadioChange` class.\n\t */\n\t@Output() change: EventEmitter<RadioChange> = new EventEmitter<RadioChange>();\n\n\t/**\n\t * The `Radio` input items in the `RadioGroup`.\n\t */\n\t// tslint:disable-next-line:no-forward-ref\n\t@ContentChildren(forwardRef(() => Radio)) radios: QueryList<Radio>;\n\n\t/**\n\t * Sets the passed in `Radio` item as the selected input within the `RadioGroup`.\n\t */\n\t@Input()\n\tset selected(selected: Radio | null) {\n\t\tthis._selected = selected;\n\t\tthis.value = selected ? selected.value : null;\n\t\tthis.checkSelectedRadio();\n\t}\n\n\t/**\n\t * Returns the `Radio` that is selected within the `RadioGroup`.\n\t */\n\tget selected() {\n\t\treturn this._selected;\n\t}\n\n\t/**\n\t * Sets the value/state of the selected `Radio` within the `RadioGroup` to the passed in value.\n\t */\n\t@Input()\n\tset value(newValue: any) {\n\t\tif (this._value !== newValue) {\n\t\t\tthis._value = newValue;\n\n\t\t\tthis.updateSelectedRadioFromValue();\n\t\t\tthis.checkSelectedRadio();\n\t\t}\n\t}\n\n\t/**\n\t * Returns the value/state of the selected `Radio` within the `RadioGroup`.\n\t */\n\tget value() {\n\t\treturn this._value;\n\t}\n\n\t/**\n\t * Replaces the name associated with the `RadioGroup` with the provided parameter.\n\t */\n\t@Input()\n\tset name(name: string) {\n\t\tthis._name = name;\n\t\tthis.updateRadioNames();\n\t}\n\t/**\n\t * Returns the associated name of the `RadioGroup`.\n\t */\n\tget name() {\n\t\treturn this._name;\n\t}\n\n\t/**\n\t * Set to true to disable the whole radio group\n\t */\n\t@Input() disabled = false;\n\n\t/**\n\t * Returns the skeleton value in the `RadioGroup` if there is one.\n\t */\n\t@Input()\n\tget skeleton(): any {\n\t\treturn this._skeleton;\n\t}\n\n\t/**\n\t * Sets the skeleton value for all `Radio` to the skeleton value of `RadioGroup`.\n\t */\n\tset skeleton(value: any) {\n\t\tthis._skeleton = value;\n\t\tthis.updateChildren();\n\t}\n\n\t/**\n\t * Binds 'bx--form-item' value to the class for `RadioGroup`.\n\t */\n\t@HostBinding(\"class.bx--form-item\") radioButtonGroupClass = true;\n\n\t/**\n\t * To track whether the `RadioGroup` has been initialized.\n\t */\n\tprotected isInitialized = false;\n\t/**\n\t * Reflects whether or not the input is disabled and cannot be selected.\n\t */\n\tprotected _disabled = false;\n\t/**\n\t * Reflects whether or not the dropdown is loading.\n\t */\n\tprotected _skeleton = false;\n\t/**\n\t * The value of the selected option within the `RadioGroup`.\n\t */\n\tprotected _value: any = null;\n\t/**\n\t * The `Radio` within the `RadioGroup` that is selected.\n\t */\n\tprotected _selected: Radio = null;\n\t/**\n\t * The name attribute associated with the `RadioGroup`.\n\t */\n\tprotected _name = `radio-group-${RadioGroup.radioGroupCount++}`;\n\n\t/**\n\t * Updates the selected `Radio` to be checked (selected).\n\t */\n\tcheckSelectedRadio() {\n\t\tif (this.selected && !this._selected.checked) {\n\t\t\tthis.selected.checked = true;\n\t\t}\n\t}\n\n\t/**\n\t * Use the value of the `RadioGroup` to update the selected radio to the right state (selected state).\n\t */\n\tupdateSelectedRadioFromValue() {\n\t\tlet alreadySelected = this._selected != null && this._selected.value === this._value;\n\n\t\tif (this.radios && !alreadySelected) {\n\t\t\tthis._selected = null;\n\t\t\tthis.radios.forEach(radio => {\n\t\t\t\tif (radio.checked) {\n\t\t\t\t\tthis._selected = radio;\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\n\t/**\n\t * Creates a class of `RadioChange` to emit the change in the `RadioGroup`.\n\t */\n\temitChangeEvent(event: RadioChange) {\n\t\tthis.change.emit(event);\n\t\tthis.propagateChange(event.value);\n\t\tthis.onTouched();\n\t}\n\n\t/**\n\t * Synchronizes the names of the radio items with the name of the `RadioGroup`.\n\t */\n\tupdateRadioNames() {\n\t\tif (this.radios) {\n\t\t\tsetTimeout(() => {\n\t\t\t\tthis.radios.forEach(radio => radio.name = this.name);\n\t\t\t});\n\t\t}\n\t}\n\n\t/**\n\t * Updates the value of the `RadioGroup` using the provided parameter.\n\t */\n\twriteValue(value: any) {\n\t\tthis.value = value;\n\t}\n\n\tngAfterContentInit() {\n\t\tthis.radios.changes.subscribe(() => {\n\t\t\tthis.updateRadioNames();\n\t\t\tthis.updateRadioChangeHandler();\n\t\t});\n\n\t\tthis.updateChildren();\n\t\tthis.updateRadioChangeHandler();\n\t}\n\n\tngAfterViewInit() {\n\t\tthis.updateRadioNames();\n\t}\n\n\t/**\n\t * Used to set method to propagate changes back to the form.\n\t */\n\tpublic registerOnChange(fn: any) {\n\t\tthis.propagateChange = fn;\n\t}\n\n\t/**\n\t * Registers a callback to be triggered when the control has been touched.\n\t * @param fn Callback to be triggered when the checkbox is touched.\n\t */\n\tpublic registerOnTouched(fn: any) {\n\t\tthis.onTouched = fn;\n\t}\n\n\t/**\n\t * Needed to properly implement ControlValueAccessor.\n\t */\n\tonTouched: () => any = () => {};\n\n\t/**\n\t * Method set in registerOnChange to propagate changes back to the form.\n\t */\n\tpropagateChange = (_: any) => {};\n\n\tprotected updateChildren() {\n\t\tif (this.radios) {\n\t\t\tthis.radios.forEach(child => child.skeleton = this.skeleton);\n\t\t}\n\t}\n\n\tprotected updateRadioChangeHandler() {\n\t\tthis.radios.forEach(radio => {\n\t\t\tradio.registerRadioChangeHandler((event: RadioChange) => {\n\t\t\t\t// update selected and value from the event\n\t\t\t\tthis._selected = event.source;\n\t\t\t\tthis._value = event.value;\n\t\t\t\t// bubble the event\n\t\t\t\tthis.emitChangeEvent(event);\n\t\t\t});\n\t\t});\n\t}\n}\n","import {\n\tChangeDetectorRef,\n\tComponent,\n\tElementRef,\n\tInput,\n\tOnInit,\n\tOptional,\n\tRenderer2,\n\tHostBinding,\n\tOutput,\n\tEventEmitter\n} from \"@angular/core\";\nimport { NG_VALUE_ACCESSOR } from \"@angular/forms\";\nimport { Checkbox } from \"../checkbox/checkbox.component\";\nimport { RadioGroup, RadioChange } from \"./radio-group.component\";\n\n/**\n * class: Radio (extends Checkbox)\n *\n * selector: `n-radio`\n *\n * source: `src/forms/radio.component.ts`\n *\n * ```html\n * <ibm-radio [(ngModel)]=\"radioState\">Radio</ibm-radio>\n * ```\n *\n * Also see: [`RadioGroup`](#ibm-radio-group)\n *\n * @export\n * @class Radio\n * @extends {Checkbox}\n * @implements {OnInit}\n */\n@Component({\n\tselector: \"ibm-radio\",\n\ttemplate: `\n\t\t<input\n\t\t\t*ngIf=\"!skeleton\"\n\t\t\tclass=\"bx--radio-button\"\n\t\t\ttype=\"radio\"\n\t\t\t[checked]=\"checked\"\n\t\t\t[disabled]=\"disabled\"\n\t\t\t[name]=\"name\"\n\t\t\t[id]=\"id\"\n\t\t\t[required]=\"required\"\n\t\t\t[value]=\"value\"\n\t\t\t[attr.aria-labelledby]=\"ariaLabelledby\"\n\t\t\t(change)=\"onChange($event)\">\n\t\t<div *ngIf=\"skeleton\" class=\"bx--radio-button bx--skeleton\"></div>\n\t\t<label\n\t\t\tclass=\"bx--radio-button__label\"\n\t\t\t[ngClass]=\"{\n\t\t\t\t'bx--skeleton': skeleton\n\t\t\t}\"\n\t\t\t[for]=\"id\"\n\t\t\tid=\"label-{{id}}\">\n\t\t\t<span class=\"bx--radio-button__appearance\"></span>\n\t\t\t<ng-content></ng-content>\n\t\t</label>\n\t`,\n\tproviders: [\n\t\t{\n\t\t\tprovide: NG_VALUE_ACCESSOR,\n\t\t\tuseExisting: Radio,\n\t\t\tmulti: true\n\t\t}\n\t]\n})\nexport class Radio {\n\t/**\n\t * Used to dynamically create unique ids for the `Radio`.\n\t */\n\tstatic radioCount = 0;\n\n\t@Input() checked = false;\n\n\t@Input() name = \"\";\n\n\t@Input() disabled = false;\n\n\t@Input() set ariaLabelledby(value: string) {\n\t\tthis._labelledby = value;\n\t}\n\n\tget ariaLabelledby() {\n\t\tif (this._labelledby) {\n\t\t\treturn this._labelledby;\n\t\t}\n\t\treturn `label-${this.id}`;\n\t}\n\t/**\n\t * Sets the HTML required attribute\n\t */\n\t@Input() required = false;\n\t/**\n\t * The value of the `Radio`.\n\t */\n\t@Input() value = \"\";\n\t/**\n\t * Set to `true` for a loading table.\n\t */\n\t@Input() skeleton = false;\n\t/**\n\t * The id for the `Radio`.\n\t */\n\t@Input() id = `radio-${Radio.radioCount++}`;\n\t/**\n\t * emits when the state of the radio changes\n\t */\n\t@Output() change = new EventEmitter<RadioChange>();\n\t/**\n\t * Binds 'radio' value to the role attribute for `Radio`.\n\t */\n\t@HostBinding(\"attr.role\") role = \"radio\";\n\n\tprotected _labelledby = \"\";\n\n\t/**\n\t * Handler provided by the `RadioGroup` to bubble events up\n\t */\n\tradioChangeHandler = (event: RadioChange) => {};\n\n\t/**\n\t * Synchronizes with the `RadioGroup` in the event of a changed `Radio`.\n\t * Emits the changes of both the `RadioGroup` and `Radio`.\n\t */\n\tonChange(event: Event) {\n\t\tevent.stopPropagation();\n\t\tthis.checked = (event.target as HTMLInputElement).checked;\n\t\tconst radioEvent = new RadioChange(this, this.value);\n\t\tthis.change.emit(radioEvent);\n\t\tthis.radioChangeHandler(radioEvent);\n\t}\n\n\t/**\n\t * Method called by `RadioGroup` with a callback function to bubble `RadioChange` events\n\t * @param fn callback that expects a `RadioChange` as an argument\n\t */\n\tregisterRadioChangeHandler(fn: (event: RadioChange) => void) {\n\t\tthis.radioChangeHandler = fn;\n\t}\n}\n","// modules\nimport { NgModule } from \"@angular/core\";\nimport { FormsModule } from \"@angular/forms\";\nimport { CommonModule } from \"@angular/common\";\n\n// imports\nimport { Radio } from \"../radio/radio.component\";\nimport { RadioGroup } from \"../radio/radio-group.component\";\n\n\n// exports\nexport { Radio } from \"../radio/radio.component\";\nexport { RadioGroup } from \"../radio/radio-group.component\";\n\n@NgModule({\n\tdeclarations: [\n\t\tRadio,\n\t\tRadioGroup\n\t],\n\texports: [\n\t\tRadio,\n\t\tRadioGroup\n\t],\n\timports: [\n\t\tCommonModule,\n\t\tFormsModule\n\t]\n})\nexport class RadioModule { }\n","\n export var withStorySource = require('@storybook/addon-storysource').withStorySource;\n export var __STORY__ = \"import { storiesOf, moduleMetadata } from '@storybook/angular';\\nimport { action } from '@storybook/addon-actions';\\nimport { withKnobs, boolean } from '@storybook/addon-knobs/angular';\\n\\nimport { RadioModule } from '../';\\n\\nstoriesOf('Radio', module)\\n .addDecorator(\\n moduleMetadata({\\n imports: [RadioModule],\\n })\\n )\\n .addDecorator(withKnobs)\\n .add('Basic', () => ({\\n template: `\\n\\t\\t<ibm-radio-group aria-label=\\\"radiogroup\\\" [(ngModel)]=\\\"radio\\\" (change)=\\\"onChange($event)\\\">\\n\\t\\t\\t<ibm-radio\\n\\t\\t\\t\\tvalue=\\\"radio\\\"\\n\\t\\t\\t\\t[checked]=\\\"true\\\">\\n\\t\\t\\t\\tzero\\n\\t\\t\\t</ibm-radio>\\n\\t\\t\\t<ibm-radio *ngFor=\\\"let radio of manyRadios\\\"\\n\\t\\t\\t\\t[value]=\\\"radio.num\\\"\\n\\t\\t\\t\\t[disabled]=\\\"radio.disabled\\\">\\n\\t\\t\\t\\t{{radio.num}}\\n\\t\\t\\t</ibm-radio>\\n\\t\\t</ibm-radio-group>\\n\\t\\t`,\\n props: {\\n onChange: action('Radio change'),\\n manyRadios: [{ num: 'one' }, { num: 'two' }, { num: 'three' }, { num: 'four', disabled: true }],\\n },\\n }))\\n .add('Skeleton', () => ({\\n template: `\\n\\t\\t<ibm-radio-group skeleton=\\\"true\\\">\\n\\t\\t\\t<ibm-radio></ibm-radio>\\n\\t\\t</ibm-radio-group>\\n\\t\\t`,\\n }));\\n\";\n export var __ADDS_MAP__ = {\"radio--skeleton\":{\"startLoc\":{\"col\":7,\"line\":34},\"endLoc\":{\"col\":4,\"line\":40}},\"radio--basic\":{\"startLoc\":{\"col\":7,\"line\":14},\"endLoc\":{\"col\":4,\"line\":33}}};\n \n import { storiesOf, moduleMetadata } from \"@storybook/angular\";\nimport { action } from \"@storybook/addon-actions\";\nimport { withKnobs, boolean } from \"@storybook/addon-knobs/angular\";\n\nimport { RadioModule } from \"../\";\n\nstoriesOf(\"Radio\", module).addDecorator(withStorySource(__STORY__, __ADDS_MAP__)).addDecorator(\n\tmoduleMetadata({\n\t\timports: [RadioModule]\n\t})\n)\n\t.addDecorator(withKnobs)\n\t.add(\"Basic\", () => ({\n\t\ttemplate: `\n\t\t<ibm-radio-group aria-label=\"radiogroup\" [(ngModel)]=\"radio\" (change)=\"onChange($event)\">\n\t\t\t<ibm-radio\n\t\t\t\tvalue=\"radio\"\n\t\t\t\t[checked]=\"true\">\n\t\t\t\tzero\n\t\t\t</ibm-radio>\n\t\t\t<ibm-radio *ngFor=\"let radio of manyRadios\"\n\t\t\t\t[value]=\"radio.num\"\n\t\t\t\t[disabled]=\"radio.disabled\">\n\t\t\t\t{{radio.num}}\n\t\t\t</ibm-radio>\n\t\t</ibm-radio-group>\n\t\t`,\n\t\tprops: {\n\t\t\tonChange: action(\"Radio change\"),\n\t\t\tmanyRadios: [\n\t\t\t\t{ num: \"one\" },\n\t\t\t\t{ num: \"two\" },\n\t\t\t\t{ num: \"three\" },\n\t\t\t\t{ num: \"four\", disabled: true }\n\t\t\t]\n\t\t}\n\t}))\n\t.add(\"Skeleton\", () => ({\n\t\ttemplate: `\n\t\t<ibm-radio-group skeleton=\"true\">\n\t\t\t<ibm-radio></ibm-radio>\n\t\t</ibm-radio-group>\n\t\t`\n\t}));\n\n ","import {\n\tComponent,\n\tInput,\n\tEventEmitter,\n\tOutput,\n\tHostBinding,\n\tElementRef,\n\tHostListener,\n\tViewChild\n} from \"@angular/core\";\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor } from \"@angular/forms\";\nimport { I18n } from \"../i18n/i18n.module\";\n\n/**\n * Used to emit changes performed on search components.\n */\nexport class SearchChange {\n\t/**\n\t * Contains the `Search` that has been changed.\n\t */\n\tsource: Search;\n\t/**\n\t * The value of the `Search` field encompassed in the `SearchChange` class.\n\t */\n\tvalue: string;\n}\n\n@Component({\n\tselector: \"ibm-search\",\n\ttemplate: `\n\t\t<div\n\t\t\tclass=\"bx--search\"\n\t\t\t[ngClass]=\"{\n\t\t\t\t'bx--search--sm': size === 'sm',\n\t\t\t\t'bx--search--xl': size === 'xl',\n\t\t\t\t'bx--search--light': theme === 'light',\n\t\t\t\t'bx--skeleton': skeleton,\n\t\t\t\t'bx--toolbar-search': toolbar,\n\t\t\t\t'bx--toolbar-search--active': toolbar && active\n\t\t\t}\"\n\t\t\trole=\"search\">\n\t\t\t<label class=\"bx--label\" [for]=\"id\">{{label}}</label>\n\n\t\t\t<div *ngIf=\"skeleton; else enableInput\" class=\"bx--search-input\"></div>\n\t\t\t<ng-template #enableInput>\n\t\t\t\t<input\n\t\t\t\t\t#input\n\t\t\t\t\t*ngIf=\"!toolbar || active\"\n\t\t\t\t\tclass=\"bx--search-input\"\n\t\t\t\t\ttype=\"text\"\n\t\t\t\t\trole=\"search\"\n\t\t\t\t\t[id]=\"id\"\n\t\t\t\t\t[value]=\"value\"\n\t\t\t\t\t[placeholder]=\"placeholder\"\n\t\t\t\t\t[disabled]=\"disabled\"\n\t\t\t\t\t[required]=\"required\"\n\t\t\t\t\t(input)=\"onSearch($event.target.value)\"/>\n\t\t\t\t<button\n\t\t\t\t\t*ngIf=\"toolbar; else svg\"\n\t\t\t\t\tclass=\"bx--toolbar-search__btn\"\n\t\t\t\t\t[attr.aria-label]=\"i18n.get('SEARCH.TOOLBAR_SEARCH') | async\"\n\t\t\t\t\ttabindex=\"0\"\n\t\t\t\t\t(click)=\"openSearch($event)\">\n\t\t\t\t\t<ng-template [ngTemplateOutlet]=\"svg\"></ng-template>\n\t\t\t\t</button>\n\t\t\t\t<ng-template #svg>\n\t\t\t\t\t<ibm-icon-search16 class=\"bx--search-magnifier\"></ibm-icon-search16>\n\t\t\t\t</ng-template>\n\t\t\t</ng-template>\n\n\t\t\t<button\n\t\t\t\tclass=\"bx--search-close\"\n\t\t\t\t[ngClass]=\"{\n\t\t\t\t\t'bx--search-close--hidden': !value || value.length === 0\n\t\t\t\t}\"\n\t\t\t\t[title]=\"clearButtonTitle\"\n\t\t\t\t[attr.aria-label]=\"clearButtonTitle\"\n\t\t\t\t(click)=\"clearSearch()\">\n\t\t\t\t<ibm-icon-close16></ibm-icon-close16>\n\t\t\t</button>\n\t\t</div>\n\t`,\n\tproviders: [\n\t\t{\n\t\t\tprovide: NG_VALUE_ACCESSOR,\n\t\t\tuseExisting: Search,\n\t\t\tmulti: true\n\t\t}\n\t]\n})\nexport class Search implements ControlValueAccessor {\n\t/**\n\t * Variable used for creating unique ids for search components.\n\t */\n\tstatic searchCount = 0;\n\n\t@HostBinding(\"class.bx--form-item\") containerClass = true;\n\n\t/**\n\t * `light` or `dark` search theme.\n\t */\n\t@Input() theme: \"light\" | \"dark\" = \"dark\";\n\t/**\n\t * Size of the search field.\n\t */\n\t@Input() set size(value: \"sm\" | \"lg\" | \"xl\") {\n\t\tif (value === \"lg\") {\n\t\t\tconsole.warn(\"size `lg` has been deprecated and replaced by `xl`\");\n\t\t\tvalue = \"xl\";\n\t\t}\n\t\tthis._size = value;\n\t}\n\n\tget size(): \"sm\" | \"lg\" | \"xl\" {\n\t\treturn this._size;\n\t}\n\t/**\n\t * Set to `true` for a disabled search input.\n\t */\n\t@Input() disabled = false;\n\t/**\n\t * Set to `true` for a toolbar search component.\n\t */\n\t@Input() toolbar = false;\n\t/**\n\t * Set to `true` for a loading search component.\n\t */\n\t@Input() skeleton = false;\n\t/**\n\t * Set to `true` to expand the toolbar search component.\n\t */\n\t@Input() active = false;\n\t/**\n\t * Sets the name attribute on the `input` element.\n\t */\n\t@Input() name: string;\n\t/**\n\t * The unique id for the search component.\n\t */\n\t@Input() id = `search-${Search.searchCount}`;\n\t/**\n\t * Reflects the required attribute of the `input` element.\n\t */\n\t@Input() required: boolean;\n\t/**\n\t * Sets the value attribute on the `input` element.\n\t */\n\t@Input() value = \"\";\n\t/**\n\t * Sets the text inside the `label` tag.\n\t */\n\t@Input() label = this.i18n.get().SEARCH.LABEL;\n\t/**\n\t * Sets the placeholder attribute on the `input` element.\n\t */\n\t@Input() placeholder = this.i18n.get().SEARCH.PLACEHOLDER;\n\t/**\n\t * Used to set the `title` attribute of the clear button.\n\t */\n\t@Input() clearButtonTitle = this.i18n.get().SEARCH.CLEAR_BUTTON;\n\t/**\n\t * Emits event notifying other classes when a change in state occurs in the input.\n\t */\n\t@Output() change = new EventEmitter<SearchChange>();\n\n\t@ViewChild(\"input\") inputRef: ElementRef;\n\n\tprotected _size: \"sm\" | \"xl\" = \"xl\";\n\n\t/**\n\t * Creates an instance of `Search`.\n\t * @param i18n The i18n translations.\n\t */\n\tconstructor(protected elementRef: ElementRef, protected i18n: I18n) {\n\t\tSearch.searchCount++;\n\t}\n\n\t/**\n\t * This is the initial value set to the component\n\t * @param value The input value.\n\t */\n\tpublic writeValue(value: any) {\n\t\tthis.value = value;\n\t}\n\n\t/**\n\t * Sets a method in order to propagate changes back to the form.\n\t */\n\tpublic registerOnChange(fn: any) {\n\t\tthis.propagateChange = fn;\n\t}\n\n\t/**\n\t * Registers a callback to be triggered when the control has been touched.\n\t * @param fn Callback to be triggered when the search input is touched.\n\t */\n\tpublic registerOnTouched(fn: any) {\n\t\tthis.onTouched = fn;\n\t}\n\n\t/**\n\t * Called when search input is blurred. Needed to properly implement `ControlValueAccessor`.\n\t */\n\tonTouched: () => any = () => {};\n\n\t/**\n\t * Method set in `registerOnChange` to propagate changes back to the form.\n\t */\n\tpropagateChange = (_: any) => {};\n\n\t/**\n\t * Called when text is written in the input.\n\t * @param {string} search The input text.\n\t */\n\tonSearch(search: string) {\n\t\tthis.value = search;\n\t\tthis.emitChangeEvent();\n\t}\n\n\t/**\n\t * Called when clear button is clicked.\n\t */\n\tclearSearch(): void {\n\t\tthis.value = \"\";\n\t\tthis.emitChangeEvent();\n\t}\n\n\t/**\n\t * Creates a class of `RadioChange` to emit the change in the `RadioGroup`.\n\t */\n\temitChangeEvent() {\n\t\tlet event = new SearchChange();\n\t\tevent.source = this;\n\t\tevent.value = this.value;\n\t\tthis.change.emit(event);\n\t\tthis.propagateChange(this.value);\n\t}\n\n\topenSearch() {\n\t\tthis.active = true;\n\t\tsetTimeout(() => this.inputRef.nativeElement.focus());\n\t}\n\n\t@HostListener(\"keydown\", [\"$event\"])\n\tkeyDown(event: KeyboardEvent) {\n\t\tif (this.toolbar) {\n\t\t\tif (event.key === \"Escape\") {\n\t\t\t\tthis.active = false;\n\t\t\t} else if (event.key === \"Enter\") {\n\t\t\t\tthis.openSearch();\n\t\t\t}\n\t\t}\n\t}\n\n\t@HostListener(\"focusout\", [\"$event\"])\n\tfocusOut(event) {\n\t\tif (this.toolbar && event.relatedTarget === null) {\n\t\t\tthis.active = false;\n\t\t}\n\t}\n}\n","// modules\nimport { NgModule } from \"@angular/core\";\nimport { FormsModule } from \"@angular/forms\";\nimport { CommonModule } from \"@angular/common\";\nimport { Search16Module } from \"@carbon/icons-angular/lib/search/16\";\nimport { Close16Module } from \"@carbon/icons-angular/lib/close/16\";\n\n// imports\nimport { I18nModule } from \"../i18n/i18n.module\";\nimport { Search } from \"./search.component\";\n\n@NgModule({\n\tdeclarations: [\n\t\tSearch\n\t],\n\texports: [\n\t\tSearch\n\t],\n\timports: [\n\t\tFormsModule,\n\t\tCommonModule,\n\t\tI18nModule,\n\t\tSearch16Module,\n\t\tClose16Module\n\t]\n})\nexport class SearchModule { }\n\nexport { Search };\n","\n export var withStorySource = require('@storybook/addon-storysource').withStorySource;\n export var __STORY__ = \"import { storiesOf, moduleMetadata } from '@storybook/angular';\\nimport { withKnobs, boolean, select, text } from '@storybook/addon-knobs/angular';\\n\\nimport { SearchModule } from '../';\\n\\nstoriesOf('Search', module)\\n .addDecorator(\\n moduleMetadata({\\n imports: [SearchModule],\\n })\\n )\\n .addDecorator(withKnobs)\\n .add('Basic', () => ({\\n template: `\\n\\t\\t\\t<ibm-search [theme]=\\\"theme\\\" [placeholder]=\\\"placeholder\\\" [disabled]=\\\"disabled\\\" [size]=\\\"size\\\"></ibm-search>\\n\\t\\t`,\\n props: {\\n size: select('size', ['lg', 'sm'], 'lg'),\\n theme: select('theme', ['dark', 'light'], 'dark'),\\n disabled: boolean('disabled', false),\\n placeholder: text('placeholder', 'Search'),\\n },\\n }))\\n .add('Toolbar search', () => ({\\n template: `\\n\\t\\t<div class=\\\"bx--toolbar\\\">\\n\\t\\t\\t<ibm-search placeholder=\\\"search\\\" size=\\\"sm\\\" toolbar=\\\"true\\\"></ibm-search>\\n\\t\\t</div>\\n\\t\\t`,\\n }))\\n .add('Skeleton', () => ({\\n template: `\\n\\t\\t<div style=\\\"width: 200px;\\\">\\n\\t\\t\\t<ibm-search skeleton=\\\"true\\\"></ibm-search>\\n\\t\\t\\t&nbsp;\\n\\t\\t\\t<ibm-search skeleton=\\\"true\\\" size=\\\"sm\\\"></ibm-search>\\n\\t\\t</div>\\n\\t\\t`,\\n }));\\n\";\n export var __ADDS_MAP__ = {\"search--skeleton\":{\"startLoc\":{\"col\":7,\"line\":31},\"endLoc\":{\"col\":4,\"line\":39}},\"search--toolbar-search\":{\"startLoc\":{\"col\":7,\"line\":24},\"endLoc\":{\"col\":4,\"line\":30}},\"search--basic\":{\"startLoc\":{\"col\":7,\"line\":13},\"endLoc\":{\"col\":4,\"line\":23}}};\n \n import { storiesOf, moduleMetadata } from \"@storybook/angular\";\nimport { withKnobs, boolean, select, text } from \"@storybook/addon-knobs/angular\";\n\nimport { SearchModule } from \"../\";\n\nstoriesOf(\"Search\", module).addDecorator(withStorySource(__STORY__, __ADDS_MAP__)).addDecorator(\n\tmoduleMetadata({\n\t\timports: [SearchModule]\n\t})\n)\n\t.addDecorator(withKnobs)\n\t.add(\"Basic\", () => ({\n\t\ttemplate: `\n\t\t\t<ibm-search [theme]=\"theme\" [placeholder]=\"placeholder\" [disabled]=\"disabled\" [size]=\"size\"></ibm-search>\n\t\t`,\n\t\tprops: {\n\t\t\tsize: select(\"size\", [\"lg\", \"sm\"], \"lg\"),\n\t\t\ttheme: select(\"theme\", [\"dark\", \"light\"], \"dark\"),\n\t\t\tdisabled: boolean(\"disabled\", false),\n\t\t\tplaceholder: text(\"placeholder\", \"Search\")\n\t\t}\n\t}))\n\t.add(\"Toolbar search\", () => ({\n\t\ttemplate: `\n\t\t<div class=\"bx--toolbar\">\n\t\t\t<ibm-search placeholder=\"search\" size=\"sm\" toolbar=\"true\"></ibm-search>\n\t\t</div>\n\t\t`\n\t}))\n\t.add(\"Skeleton\", () => ({\n\t\ttemplate: `\n\t\t<div style=\"width: 200px;\">\n\t\t\t<ibm-search skeleton=\"true\"></ibm-search>\n\t\t\t&nbsp;\n\t\t\t<ibm-search skeleton=\"true\" size=\"sm\"></ibm-search>\n\t\t</div>\n\t\t`\n\t}));\n\n ","import { Directive, HostBinding } from \"@angular/core\";\n\n@Directive({\n\t// tslint:disable-next-line\n\tselector: \"optgroup\"\n})\nexport class OptGroup {\n\t@HostBinding(\"class\") inputClass = \"bx--select-option\";\n}\n","import { Directive, HostBinding } from \"@angular/core\";\n\n@Directive({\n\t// tslint:disable-next-line\n\tselector: \"option\"\n})\nexport class Option {\n\t@HostBinding(\"class\") inputClass = \"bx--select-option\";\n}\n","import {\n\tComponent,\n\tInput,\n\tOutput,\n\tViewChild,\n\tElementRef,\n\tHostListener,\n\tEventEmitter\n} from \"@angular/core\";\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from \"@angular/forms\";\n\n/**\n * `ibm-select` provides a styled `select` component.\n *\n * Example:\n *\n * ```\n * <ibm-select [(ngModel)]=\"model\">\n * \t<option value=\"default\" disabled selected hidden>Choose an option</option>\n * \t<option value=\"option1\">Option 1</option>\n *\t<option value=\"option2\">Option 2</option>\n * \t<option value=\"option3\">Option 3</option>\n * </ibm-select>\n *\t```\n\n */\n@Component({\n\tselector: \"ibm-select\",\n\ttemplate: `\n\t\t<div class=\"bx--form-item\">\n\t\t\t<div\n\t\t\t\t[ngClass]=\"{\n\t\t\t\t\t'bx--select--inline': display === 'inline',\n\t\t\t\t\t'bx--select--light': theme === 'light',\n\t\t\t\t\t'bx--skeleton': skeleton\n\t\t\t\t}\"\n\t\t\t\tclass=\"bx--select\"\n\t\t\t\tstyle=\"width: 100%\">\n\t\t\t\t<label *ngIf=\"skeleton\" [attr.for]=\"id\" class=\"bx--label bx--skeleton\"></label>\n\t\t\t\t<label *ngIf=\"!skeleton\" [attr.for]=\"id\" class=\"bx--label\">{{label}}</label>\n\t\t\t\t<div *ngIf=\"helperText\" class=\"bx--form__helper-text\">{{helperText}}</div>\n\t\t\t\t<div class=\"bx--select-input__wrapper\">\n\t\t\t\t\t<select\n\t\t\t\t\t\t#select\n\t\t\t\t\t\t[attr.id]=\"id\"\n\t\t\t\t\t\t[disabled]=\"disabled\"\n\t\t\t\t\t\t(change)=\"onChange($event)\"\n\t\t\t\t\t\tclass=\"bx--select-input\">\n\t\t\t\t\t\t<ng-content></ng-content>\n\t\t\t\t\t</select>\n\t\t\t\t\t<ibm-icon-chevron-down16 *ngIf=\"!skeleton\" class=\"bx--select__arrow\"></ibm-icon-chevron-down16>\n\t\t\t\t</div>\n\t\t\t\t<div *ngIf=\"invalid\" class=\"bx--form-requirement\">{{invalidText}}</div>\n\t\t\t</div>\n\t\t</div>\n\t`,\n\tstyles: [`\n\t\t[data-invalid] ~ .bx--select__arrow {\n\t\t\tbottom: 2.25rem;\n\t\t}\n\t`],\n\tproviders: [\n\t\t{\n\t\t\tprovide: NG_VALUE_ACCESSOR,\n\t\t\tuseExisting: Select,\n\t\t\tmulti: true\n\t\t}\n\t]\n})\nexport class Select implements ControlValueAccessor {\n\t/**\n\t * Tracks the total number of selects instantiated. Used to generate unique IDs\n\t */\n\tstatic selectCount = 0;\n\n\t/**\n\t * `inline` or `default` select displays\n\t */\n\t@Input() display: \"inline\" | \"default\" = \"default\";\n\t/**\n\t * Label for the select. Appears above the input.\n\t */\n\t@Input() label = \"Select label\";\n\t/**\n\t * Optional helper text that appears under he label.\n\t */\n\t@Input() helperText: string;\n\t/**\n\t * Sets the invalid text.\n\t */\n\t@Input() invalidText: string;\n\t/**\n\t * Sets the unique ID. Defaults to `select-${total count of selects instantiated}`\n\t */\n\t@Input() id = `select-${Select.selectCount++}`;\n\t/**\n\t * Set to true to disable component.\n\t */\n\t@Input() disabled = false;\n\t/**\n\t * Set to true for a loading select.\n\t */\n\t@Input() skeleton = false;\n\t/**\n\t * Set to `true` for an invalid select component.\n\t */\n\t@Input() invalid = false;\n\n\t/**\n\t * `light` or `dark` select theme\n\t */\n\t@Input() theme: \"light\" | \"dark\" = \"dark\";\n\t/**\n\t * emits the selected options `value`\n\t */\n\t@Output() selected = new EventEmitter();\n\n\t@ViewChild(\"select\") select: ElementRef;\n\n\tget value() {\n\t\treturn this.select.nativeElement.value;\n\t}\n\n\tset value(v) {\n\t\tthis.select.nativeElement.value = v;\n\t}\n\n\t/**\n\t * Receives a value from the model.\n\t */\n\twriteValue(obj: any) {\n\t\tthis.value = obj;\n\t}\n\n\t/**\n\t * Registers a listener that notifies the model when the control updates\n\t */\n\tregisterOnChange(fn: any) {\n\t\tthis.onChangeHandler = fn;\n\t}\n\n\t/**\n\t * Registers a listener that notifies the model when the control is blurred\n\t */\n\tregisterOnTouched(fn: any) {\n\t\tthis.onTouchedHandler = fn;\n\t}\n\n\t/**\n\t * Sets the disabled state through the model\n\t */\n\tsetDisabledState(isDisabled: boolean) {\n\t\tthis.disabled = isDisabled;\n\t}\n\n\t/**\n\t * Handles the change event from the `select`.\n\t * Sends events to the change handler and emits a `selected` event.\n\t */\n\tonChange(event) {\n\t\tthis.onChangeHandler(event.target.value);\n\t\tthis.selected.emit(event.target.value);\n\t}\n\n\t/**\n\t * placeholder declarations. Replaced by the functions provided to `registerOnChange` and `registerOnTouched`\n\t */\n\tprotected onChangeHandler = (_: any) => { };\n\tprotected onTouchedHandler = () => { };\n\n\t/**\n\t * Listens for the host blurring, and notifies the model\n\t */\n\t@HostListener(\"blur\")\n\tprotected blur() {\n\t\tthis.onTouchedHandler();\n\t}\n}\n","// modules\nimport { NgModule } from \"@angular/core\";\nimport { FormsModule } from \"@angular/forms\";\nimport { CommonModule } from \"@angular/common\";\nimport { ChevronDown16Module } from \"@carbon/icons-angular/lib/chevron--down/16\";\n\n// imports\nimport { Select } from \"./select.component\";\nimport { Option } from \"./option.directive\";\nimport { OptGroup } from \"./optgroup.directive\";\n\n@NgModule({\n\tdeclarations: [\n\t\tSelect,\n\t\tOption,\n\t\tOptGroup\n\t],\n\texports: [\n\t\tSelect,\n\t\tOption,\n\t\tOptGroup\n\t],\n\timports: [\n\t\tCommonModule,\n\t\tFormsModule,\n\t\tChevronDown16Module\n\t]\n})\nclass SelectModule { }\n\nexport { Select, Option, OptGroup, SelectModule };\n","\n export var withStorySource = require('@storybook/addon-storysource').withStorySource;\n export var __STORY__ = \"import { storiesOf, moduleMetadata } from '@storybook/angular';\\nimport { action } from '@storybook/addon-actions';\\nimport { withKnobs, select, boolean, text } from '@storybook/addon-knobs/angular';\\n\\nimport { SelectModule } from '../';\\n\\nstoriesOf('Select', module)\\n .addDecorator(\\n moduleMetadata({\\n imports: [SelectModule],\\n })\\n )\\n .addDecorator(withKnobs)\\n .add('Basic', () => ({\\n template: `\\n\\t\\t\\t<ibm-select\\n\\t\\t\\t\\t[disabled]=\\\"disabled\\\"\\n\\t\\t\\t\\t[invalid]=\\\"invalid\\\"\\n\\t\\t\\t\\t[invalidText]=\\\"invalidText\\\"\\n\\t\\t\\t\\t[helperText]=\\\"helperText\\\"\\n\\t\\t\\t\\t[theme]=\\\"theme\\\"\\n\\t\\t\\t\\t[display]=\\\"display\\\">\\n\\t\\t\\t\\t<option value=\\\"\\\" disabled selected hidden>Choose an option</option>\\n\\t\\t\\t\\t<option value=\\\"solong\\\">A much longer option that is worth having around to check how text flows</option>\\n\\t\\t\\t\\t<optgroup label=\\\"Category 1\\\">\\n\\t\\t\\t\\t\\t<option value=\\\"option1\\\">Option 1</option>\\n\\t\\t\\t\\t\\t<option value=\\\"option2\\\">Option 2</option>\\n\\t\\t\\t\\t</optgroup>\\n\\t\\t\\t\\t<optgroup label=\\\"Category 2\\\">\\n\\t\\t\\t\\t\\t<option value=\\\"option1\\\">Option 1</option>\\n\\t\\t\\t\\t\\t<option value=\\\"option2\\\">Option 2</option>\\n\\t\\t\\t\\t</optgroup>\\n\\t\\t\\t</ibm-select>\\n\\t`,\\n props: {\\n disabled: boolean('Disabled', false),\\n invalid: boolean('Show form validation', false),\\n invalidText: text('Form validation content', 'Please select an option.'),\\n helperText: text('Helper text', 'Optional helper text.'),\\n theme: select('Theme', ['dark', 'light'], 'dark'),\\n display: select('Display', ['default', 'inline'], 'default'),\\n },\\n }))\\n .add('With ngModel', () => ({\\n template: `\\n\\t\\t\\t<div style=\\\"width: 165px\\\">\\n\\t\\t\\t\\t<ibm-select [(ngModel)]=\\\"model\\\">\\n\\t\\t\\t\\t\\t<option value=\\\"default\\\" disabled selected hidden>Choose an option</option>\\n\\t\\t\\t\\t\\t<option value=\\\"option1\\\">Option 1</option>\\n\\t\\t\\t\\t\\t<option value=\\\"option2\\\">Option 2</option>\\n\\t\\t\\t\\t\\t<option value=\\\"option3\\\">Option 3</option>\\n\\t\\t\\t\\t</ibm-select>\\n\\t\\t\\t\\t<br>\\n\\t\\t\\t\\t<span>Selected: {{ model }}</span>\\n\\t\\t\\t</div>\\n\\t\\t`,\\n props: {\\n model: 'default',\\n },\\n }))\\n .add('Skeleton', () => ({\\n template: `\\n\\t\\t<div style=\\\"width: 300px\\\">\\n\\t\\t\\t<ibm-select skeleton=\\\"true\\\"></ibm-select>\\n\\t\\t</div>\\n\\t\\t`,\\n }));\\n\";\n export var __ADDS_MAP__ = {\"select--skeleton\":{\"startLoc\":{\"col\":7,\"line\":61},\"endLoc\":{\"col\":4,\"line\":67}},\"select--with-ngmodel\":{\"startLoc\":{\"col\":7,\"line\":44},\"endLoc\":{\"col\":4,\"line\":60}},\"select--basic\":{\"startLoc\":{\"col\":7,\"line\":14},\"endLoc\":{\"col\":4,\"line\":43}}};\n \n import { storiesOf, moduleMetadata } from \"@storybook/angular\";\nimport { action } from \"@storybook/addon-actions\";\nimport {\n\twithKnobs,\n\tselect,\n\tboolean,\n\ttext\n} from \"@storybook/addon-knobs/angular\";\n\nimport { SelectModule } from \"../\";\n\nstoriesOf(\"Select\", module).addDecorator(withStorySource(__STORY__, __ADDS_MAP__)).addDecorator(\n\tmoduleMetadata({\n\t\timports: [SelectModule]\n\t})\n)\n\t.addDecorator(withKnobs)\n\t.add(\"Basic\", () => ({\n\t\ttemplate: `\n\t\t\t<ibm-select\n\t\t\t\t[disabled]=\"disabled\"\n\t\t\t\t[invalid]=\"invalid\"\n\t\t\t\t[invalidText]=\"invalidText\"\n\t\t\t\t[helperText]=\"helperText\"\n\t\t\t\t[theme]=\"theme\"\n\t\t\t\t[display]=\"display\">\n\t\t\t\t<option value=\"\" disabled selected hidden>Choose an option</option>\n\t\t\t\t<option value=\"solong\">A much longer option that is worth having around to check how text flows</option>\n\t\t\t\t<optgroup label=\"Category 1\">\n\t\t\t\t\t<option value=\"option1\">Option 1</option>\n\t\t\t\t\t<option value=\"option2\">Option 2</option>\n\t\t\t\t</optgroup>\n\t\t\t\t<optgroup label=\"Category 2\">\n\t\t\t\t\t<option value=\"option1\">Option 1</option>\n\t\t\t\t\t<option value=\"option2\">Option 2</option>\n\t\t\t\t</optgroup>\n\t\t\t</ibm-select>\n\t`,\n\t\tprops: {\n\t\t\tdisabled: boolean(\"Disabled\", false),\n\t\t\tinvalid: boolean(\"Show form validation\", false),\n\t\t\tinvalidText: text(\"Form validation content\", \"Please select an option.\"),\n\t\t\thelperText: text(\"Helper text\", \"Optional helper text.\"),\n\t\t\ttheme: select(\"Theme\", [\"dark\", \"light\"], \"dark\"),\n\t\t\tdisplay: select(\"Display\", [\"default\", \"inline\"], \"default\")\n\t\t}\n\t}))\n\t.add(\"With ngModel\", () => ({\n\t\ttemplate: `\n\t\t\t<div style=\"width: 165px\">\n\t\t\t\t<ibm-select [(ngModel)]=\"model\">\n\t\t\t\t\t<option value=\"default\" disabled selected hidden>Choose an option</option>\n\t\t\t\t\t<option value=\"option1\">Option 1</option>\n\t\t\t\t\t<option value=\"option2\">Option 2</option>\n\t\t\t\t\t<option value=\"option3\">Option 3</option>\n\t\t\t\t</ibm-select>\n\t\t\t\t<br>\n\t\t\t\t<span>Selected: {{ model }}</span>\n\t\t\t</div>\n\t\t`,\n\t\tprops: {\n\t\t\tmodel: \"default\"\n\t\t}\n\t}))\n\t.add(\"Skeleton\", () => ({\n\t\ttemplate: `\n\t\t<div style=\"width: 300px\">\n\t\t\t<ibm-select skeleton=\"true\"></ibm-select>\n\t\t</div>\n\t\t`\n\t}));\n\n ","import {\n\tComponent,\n\tHostBinding,\n\tInput,\n\tOutput,\n\tEventEmitter,\n\tAfterViewInit,\n\tOnDestroy,\n\tViewChild,\n\tElementRef\n} from \"@angular/core\";\nimport { fromEvent, Subscription } from \"rxjs\";\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from \"@angular/forms\";\n\n/**\n * Used to select from ranges of values. [See here](https://www.carbondesignsystem.com/components/slider/usage) for usage information.\n *\n * The simplest possible slider usage looks something like:\n * ```html\n * <ibm-slider></ibm-slider>\n * ```\n *\n * That will render a slider without labels or alternative value input. Labels can be provided by\n * elements with `[minLabel]` and `[maxLabel]` attributes, and an `input` (may use the `ibmInput` directive) can be supplied\n * for use as an alternative value field.\n *\n * ex:\n * ```html\n * <!-- full example -->\n * <ibm-slider>\n *\t\t<span minLabel>0GB</span>\n *\t\t<span maxLabel>100GB</span>\n *\t\t<input/>\n *\t</ibm-slider>\n * <!-- with just an input -->\n * <ibm-slider>\n *\t\t<input/>\n *\t</ibm-slider>\n * <!-- with just one label -->\n * <ibm-slider>\n *\t\t<span maxLabel>Maximum</span>\n *\t</ibm-slider>\n * ```\n *\n * Slider supports `NgModel` by default, as well as two way binding to the `value` input.\n */\n@Component({\n\tselector: \"ibm-slider\",\n\ttemplate: `\n\t\t<ng-container *ngIf=\"!skeleton; else skeletonTemplate\">\n\t\t\t<label [id]=\"bottomRangeId\" class=\"bx--slider__range-label\">\n\t\t\t\t<ng-content select=\"[minLabel]\"></ng-content>\n\t\t\t</label>\n\t\t\t<div\n\t\t\t\tclass=\"bx--slider\"\n\t\t\t\t[ngClass]=\"{'bx--slider--disabled': disabled}\">\n\t\t\t\t<div\n\t\t\t\t\t#thumb\n\t\t\t\t\tclass=\"bx--slider__thumb\"\n\t\t\t\t\ttabindex=\"0\"\n\t\t\t\t\t[ngStyle]=\"{'left.%': getFractionComplete() * 100}\"\n\t\t\t\t\t(mousedown)=\"onMouseDown($event)\"\n\t\t\t\t\t(keydown)=\"onKeyDown($event)\">\n\t\t\t\t</div>\n\t\t\t\t<div\n\t\t\t\t\t#track\n\t\t\t\t\tclass=\"bx--slider__track\"\n\t\t\t\t\t(click)=\"onClick($event)\">\n\t\t\t\t</div>\n\t\t\t\t<div\n\t\t\t\t\tclass=\"bx--slider__filled-track\"\n\t\t\t\t\t[ngStyle]=\"{transform: 'translate(0%, -50%)' + scaleX(getFractionComplete())}\">\n\t\t\t\t</div>\n\t\t\t\t<input\n\t\t\t\t\t#range\n\t\t\t\t\taria-label=\"slider\"\n\t\t\t\t\tclass=\"bx--slider__input\"\n\t\t\t\t\ttype=\"range\"\n\t\t\t\t\t[step]=\"step\"\n\t\t\t\t\t[min]=\"min\"\n\t\t\t\t\t[max]=\"max\"\n\t\t\t\t\t[value]=\"value\">\n\t\t\t</div>\n\t\t\t<label [id]=\"topRangeId\" class=\"bx--slider__range-label\">\n\t\t\t\t<ng-content select=\"[maxLabel]\"></ng-content>\n\t\t\t</label>\n\t\t\t<ng-content select=\"input\"></ng-content>\n\t\t</ng-container>\n\n\t\t<ng-template #skeletonTemplate>\n\t\t\t<div class=\"bx--form-item\">\n\t\t\t\t<label class=\"bx--label bx--skeleton\"></label>\n\t\t\t\t<div class=\"bx--slider-container bx--skeleton\">\n\t\t\t\t\t<span class=\"bx--slider__range-label\"></span>\n\t\t\t\t\t<div class=\"bx--slider\">\n\t\t\t\t\t\t<div class=\"bx--slider__thumb\"></div>\n\t\t\t\t\t\t<div class=\"bx--slider__track\"></div>\n\t\t\t\t\t\t<div class=\"bx--slider__filled-track\"></div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<span class=\"bx--slider__range-label\"></span>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</ng-template>\n\t`,\n\tproviders: [\n\t\t{\n\t\t\tprovide: NG_VALUE_ACCESSOR,\n\t\t\tuseExisting: Slider,\n\t\t\tmulti: true\n\t\t}\n\t]\n})\nexport class Slider implements AfterViewInit, OnDestroy, ControlValueAccessor {\n\t/** Used to generate unique IDs */\n\tprivate static count = 0;\n\t/** The lower bound of our range */\n\t@Input() min = 0;\n\t/** The upper bound of our range */\n\t@Input() max = 100;\n\t/** The interval for our range */\n\t@Input() step = 1;\n\t/** Set the initial value. Available for two way binding */\n\t@Input() set value(v) {\n\t\tif (v > this.max) {\n\t\t\tv = this.max;\n\t\t}\n\n\t\tif (v < this.min) {\n\t\t\tv = this.min;\n\t\t}\n\n\t\tthis._value = v;\n\t\tthis.slidAmount = this.convertToPx(v);\n\n\t\tif (this.input) {\n\t\t\tthis.input.value = v.toString();\n\t\t}\n\n\t\tthis.propagateChange(v);\n\t\tthis.valueChange.emit(v);\n\t}\n\n\tget value() {\n\t\treturn this._value;\n\t}\n\t/** Base ID for the slider. The min and max labels get IDs `${this.id}-bottom-range` and `${this.id}-top-range` respectively */\n\t@Input() id = `slider-${Slider.count++}`;\n\t/** Value used to \"multiply\" the `step` when using arrow keys to select values */\n\t@Input() shiftMultiplier = 4;\n\t/** Set to `true` for a loading slider */\n\t@Input() skeleton = false;\n\t/** Set to `true` for a slider without arrow key interactions. */\n\t@Input() disableArrowKeys = false;\n\t/** Disables the range visually and functionally */\n\t@Input() set disabled(v) {\n\t\tthis._disabled = v;\n\t\t// for some reason `this.input` never exists here, so we have to query for it here too\n\t\tconst input = this.elementRef.nativeElement.querySelector(\"input:not([type=range])\");\n\t\tif (input) {\n\t\t\tinput.disabled = v;\n\t\t}\n\t}\n\n\tget disabled() {\n\t\treturn this._disabled;\n\t}\n\t/** Emits every time a new value is selected */\n\t@Output() valueChange: EventEmitter<number> = new EventEmitter();\n\t@HostBinding(\"class.bx--slider-container\") hostClass = true;\n\t@ViewChild(\"thumb\") thumb: ElementRef;\n\t@ViewChild(\"track\") track: ElementRef;\n\t@ViewChild(\"range\") range: ElementRef;\n\n\tpublic bottomRangeId = `${this.id}-bottom-range`;\n\tpublic topRangeId = `${this.id}-top-range`;\n\n\tprotected isMouseDown = false;\n\t/** Array of event subscriptions so we can batch unsubscribe in `ngOnDestroy` */\n\tprotected eventSubscriptions: Array<Subscription> = [];\n\tprotected slidAmount = 0;\n\tprotected input: HTMLInputElement;\n\tprotected _value = 0;\n\tprotected _disabled = false;\n\n\tconstructor(protected elementRef: ElementRef) {}\n\n\tngAfterViewInit() {\n\t\t// bind mousemove and mouseup to the document so we don't have issues tracking the mouse\n\t\tthis.eventSubscriptions.push(fromEvent(document, \"mousemove\").subscribe(this.onMouseMove.bind(this)));\n\t\tthis.eventSubscriptions.push(fromEvent(document, \"mouseup\").subscribe(this.onMouseUp.bind(this)));\n\n\t\t// ODO: ontouchstart/ontouchmove/ontouchend\n\n\t\t// set up the optional input\n\t\tthis.input = this.elementRef.nativeElement.querySelector(\"input:not([type=range])\");\n\t\tif (this.input) {\n\t\t\tthis.input.type = \"number\";\n\t\t\tthis.input.classList.add(\"bx--slider-text-input\");\n\t\t\tthis.input.classList.add(\"bx--text-input\");\n\t\t\tthis.input.setAttribute(\"aria-labelledby\", `${this.bottomRangeId} ${this.topRangeId}`);\n\t\t\tthis.input.value = this.value.toString();\n\t\t\t// bind events on our optional input\n\t\t\tthis.eventSubscriptions.push(fromEvent(this.input, \"change\").subscribe(this.onChange.bind(this)));\n\t\t\tthis.eventSubscriptions.push(fromEvent(this.input, \"focus\").subscribe(this.onFocus.bind(this)));\n\t\t}\n\t}\n\n\t/** Clean up our DOMEvent subscriptions */\n\tngOnDestroy() {\n\t\tthis.eventSubscriptions.forEach(subscription => {\n\t\t\tsubscription.unsubscribe();\n\t\t});\n\t}\n\n\t/** Send changes back to the model */\n\tpropagateChange = (_: any) => { };\n\n\t/** Register a change propagation function for `ControlValueAccessor` */\n\tregisterOnChange(fn: any) {\n\t\tthis.propagateChange = fn;\n\t}\n\n\t/** Callback to notify the model when our input has been touched */\n\tonTouched: () => any = () => { };\n\n\t/** Register a callback to notify when our input has been touched */\n\tregisterOnTouched(fn: any) {\n\t\tthis.onTouched = fn;\n\t}\n\n\t/** Receives a value from the model */\n\twriteValue(v: any) {\n\t\tthis.value = v;\n\t}\n\n\t/** Returns the amount of \"completeness\" as a fraction of the total track width */\n\tgetFractionComplete() {\n\t\tif (!this.track) {\n\t\t\treturn 0;\n\t\t}\n\n\t\tconst trackWidth = this.track.nativeElement.getBoundingClientRect().width;\n\t\treturn this.slidAmount / trackWidth;\n\t}\n\n\t/** Helper function to return the CSS transform `scaleX` function */\n\tscaleX(complete) {\n\t\treturn `scaleX(${complete})`;\n\t}\n\n\t/** Converts a given px value to a \"real\" value in our range */\n\tconvertToValue(pxAmount) {\n\t\t// basic concept borrowed from carbon-components\n\t\t// ref: https://github.com/IBM/carbon-components/blob/43bf3abdc2f8bdaa38aa84e0f733adde1e1e8894/src/components/slider/slider.js#L147-L151\n\t\tconst range = this.max - this.min;\n\t\tconst trackWidth = this.track.nativeElement.getBoundingClientRect().width;\n\t\tconst unrounded = pxAmount / trackWidth;\n\t\tconst rounded = Math.round((range * unrounded) / this.step) * this.step;\n\t\treturn rounded + this.min;\n\t}\n\n\t/** Converts a given \"real\" value to a px value we can update the view with */\n\tconvertToPx(value) {\n\t\tif (!this.track) {\n\t\t\treturn 0;\n\t\t}\n\n\t\tconst trackWidth = this.track.nativeElement.getBoundingClientRect().width;\n\t\tif (value >= this.max) {\n\t\t\treturn trackWidth;\n\t\t}\n\n\t\tif (value <= this.min) {\n\t\t\treturn 0;\n\t\t}\n\n\t\treturn Math.round(trackWidth * (value / this.max));\n\t}\n\n\t/**\n\t * Increments the value by the step value, or the step value multiplied by the `multiplier` argument.\n\t *\n\t * @argument multiplier Defaults to `1`, multiplied with the step value.\n\t */\n\tincrementValue(multiplier = 1) {\n\t\tthis.value = this.value + (this.step * multiplier);\n\t}\n\n\t/**\n\t * Decrements the value by the step value, or the step value multiplied by the `multiplier` argument.\n\t *\n\t * @argument multiplier Defaults to `1`, multiplied with the step value.\n\t */\n\tdecrementValue(multiplier = 1) {\n\t\tthis.value = this.value - (this.step * multiplier);\n\t}\n\n\t/** Change handler for the optional input */\n\tonChange(event) {\n\t\tthis.value = event.target.value;\n\t}\n\n\t/** Handles clicks on the range track, and setting the value to it's \"real\" equivalent */\n\tonClick(event) {\n\t\tif (this.disabled) { return; }\n\t\tconst trackLeft = this.track.nativeElement.getBoundingClientRect().left;\n\t\tthis.value = this.convertToValue(event.clientX - trackLeft);\n\t}\n\n\t/** Focus handler for the optional input */\n\tonFocus({target}) {\n\t\ttarget.select();\n\t}\n\n\t/** Mouse move handler. Responsible for updating the value and visual selection based on mouse movement */\n\tonMouseMove(event) {\n\t\tif (this.disabled || !this.isMouseDown) { return; }\n\t\tconst track = this.track.nativeElement.getBoundingClientRect();\n\t\tif (\n\t\t\tevent.clientX - track.left <= track.width\n\t\t\t&& event.clientX - track.left >= 0\n\t\t) {\n\t\t\tthis.slidAmount = event.clientX - track.left;\n\t\t}\n\t\tthis.value = this.convertToValue(this.slidAmount);\n\t}\n\n\t/** Enables the `onMouseMove` handler */\n\tonMouseDown(event) {\n\t\tevent.preventDefault();\n\t\tif (this.disabled) { return; }\n\t\tthis.thumb.nativeElement.focus();\n\t\tthis.isMouseDown = true;\n\t}\n\n\t/** Disables the `onMouseMove` handler */\n\tonMouseUp() {\n\t\tthis.isMouseDown = false;\n\t}\n\n\t/** Calls `incrementValue` for ArrowRight and ArrowUp, `decrementValue` for ArrowLeft and ArrowDown */\n\tonKeyDown(event: KeyboardEvent) {\n\t\tif (this.disableArrowKeys) {\n\t\t\treturn;\n\t\t}\n\t\tevent.preventDefault();\n\t\tconst multiplier = event.shiftKey ? this.shiftMultiplier : 1;\n\t\tif (event.key === \"ArrowLeft\" || event.key === \"ArrowDown\") {\n\t\t\tthis.decrementValue(multiplier);\n\t\t}\n\n\t\tif (event.key === \"ArrowRight\" || event.key === \"ArrowUp\") {\n\t\t\tthis.incrementValue(multiplier);\n\t\t}\n\t}\n}\n","import { NgModule } from \"@angular/core\";\nimport { Slider } from \"./slider.component\";\nimport { CommonModule } from \"@angular/common\";\n\n@NgModule({\n\tdeclarations: [Slider],\n\texports: [Slider],\n\timports: [CommonModule]\n})\nclass SliderModule {}\n\nexport {\n\tSliderModule,\n\tSlider\n};\n","\n export var withStorySource = require('@storybook/addon-storysource').withStorySource;\n export var __STORY__ = \"import { storiesOf, moduleMetadata } from '@storybook/angular';\\nimport { action } from '@storybook/addon-actions';\\nimport { withKnobs, number, text, boolean } from '@storybook/addon-knobs/angular';\\n\\nimport { SliderModule } from './slider.module';\\n\\nstoriesOf('Slider', module)\\n .addDecorator(\\n moduleMetadata({\\n imports: [SliderModule],\\n })\\n )\\n .addDecorator(withKnobs)\\n .add('Basic', () => ({\\n template: `<ibm-slider [disabled]=\\\"disabled\\\"></ibm-slider>`,\\n props: {\\n disabled: boolean('disabled', false),\\n },\\n }))\\n .add('Advanced', () => ({\\n template: `\\n\\t\\t<ibm-slider\\n\\t\\t\\t[min]=\\\"min\\\"\\n\\t\\t\\t[max]=\\\"max\\\"\\n\\t\\t\\t[step]=\\\"step\\\"\\n\\t\\t\\t[value]=\\\"value\\\"\\n\\t\\t\\t[shiftMultiplier]=\\\"shiftMultiplier\\\"\\n\\t\\t\\t[disabled]=\\\"disabled\\\"\\n\\t\\t\\t(valueChange)=\\\"valueChange($event)\\\">\\n\\t\\t\\t<span minLabel>{{minLabel}}</span>\\n\\t\\t\\t<span maxLabel>{{maxLabel}}</span>\\n\\t\\t\\t<input/>\\n\\t\\t</ibm-slider>\\n\\t`,\\n props: {\\n min: number('min', 0),\\n max: number('max', 100),\\n step: number('step', 1),\\n value: number('value', 0),\\n minLabel: text('minLabel', '0'),\\n maxLabel: text('maxLabel', '100'),\\n disabled: boolean('disabled', false),\\n shiftMultiplier: number('shiftMultiplier', 4),\\n valueChange: action('Value changed'),\\n },\\n }))\\n .add('With NgModel', () => ({\\n template: `\\n\\t\\t<ibm-slider [(ngModel)]=\\\"model\\\" [disabled]=\\\"disabled\\\"></ibm-slider>\\n\\t\\t<br>\\n\\t\\t<span>model: {{model}}</span>\\n\\t`,\\n props: {\\n model: 0,\\n disabled: boolean('disabled', false),\\n },\\n }))\\n .add('Skeleton', () => ({\\n template: `\\n\\t\\t<ibm-slider skeleton=\\\"true\\\"></ibm-slider>\\n\\t`,\\n }));\\n\";\n export var __ADDS_MAP__ = {\"slider--skeleton\":{\"startLoc\":{\"col\":7,\"line\":58},\"endLoc\":{\"col\":4,\"line\":62}},\"slider--with-ngmodel\":{\"startLoc\":{\"col\":7,\"line\":47},\"endLoc\":{\"col\":4,\"line\":57}},\"slider--advanced\":{\"startLoc\":{\"col\":7,\"line\":20},\"endLoc\":{\"col\":4,\"line\":46}},\"slider--basic\":{\"startLoc\":{\"col\":7,\"line\":14},\"endLoc\":{\"col\":4,\"line\":19}}};\n \n import { storiesOf, moduleMetadata } from \"@storybook/angular\";\nimport { action } from \"@storybook/addon-actions\";\nimport { withKnobs, number, text, boolean } from \"@storybook/addon-knobs/angular\";\n\nimport { SliderModule } from \"./slider.module\";\n\nstoriesOf(\"Slider\", module).addDecorator(withStorySource(__STORY__, __ADDS_MAP__)).addDecorator(moduleMetadata({\n\timports: [SliderModule]\n}))\n.addDecorator(withKnobs)\n.add(\"Basic\", () => ({\n\ttemplate: `<ibm-slider [disabled]=\"disabled\"></ibm-slider>`,\n\tprops: {\n\t\tdisabled: boolean(\"disabled\", false)\n\t}\n}))\n.add(\"Advanced\", () => ({\n\ttemplate: `\n\t\t<ibm-slider\n\t\t\t[min]=\"min\"\n\t\t\t[max]=\"max\"\n\t\t\t[step]=\"step\"\n\t\t\t[value]=\"value\"\n\t\t\t[shiftMultiplier]=\"shiftMultiplier\"\n\t\t\t[disabled]=\"disabled\"\n\t\t\t(valueChange)=\"valueChange($event)\">\n\t\t\t<span minLabel>{{minLabel}}</span>\n\t\t\t<span maxLabel>{{maxLabel}}</span>\n\t\t\t<input/>\n\t\t</ibm-slider>\n\t`,\n\tprops: {\n\t\tmin: number(\"min\", 0),\n\t\tmax: number(\"max\", 100),\n\t\tstep: number(\"step\", 1),\n\t\tvalue: number(\"value\", 0),\n\t\tminLabel: text(\"minLabel\", \"0\"),\n\t\tmaxLabel: text(\"maxLabel\", \"100\"),\n\t\tdisabled: boolean(\"disabled\", false),\n\t\tshiftMultiplier: number(\"shiftMultiplier\", 4),\n\t\tvalueChange: action(\"Value changed\")\n\t}\n}))\n.add(\"With NgModel\", () => ({\n\ttemplate: `\n\t\t<ibm-slider [(ngModel)]=\"model\" [disabled]=\"disabled\"></ibm-slider>\n\t\t<br>\n\t\t<span>model: {{model}}</span>\n\t`,\n\tprops: {\n\t\tmodel: 0,\n\t\tdisabled: boolean(\"disabled\", false)\n\t}\n}))\n.add(\"Skeleton\", () => ({\n\ttemplate: `\n\t\t<ibm-slider skeleton=\"true\"></ibm-slider>\n\t`\n}));\n\n ","import { Component, HostBinding, Input } from \"@angular/core\";\n\n/**\n * `ListColumn` represents a single column in a `StructuredList`.\n *\n * `ListColumn`s can be used in a `ListHeader` to specify the column headers, or in `ListRow`s to specify the column data.\n *\n * Example:\n * ```html\n * <ibm-list-column nowrap=\"true\">Column 1</ibm-list-column>\n * ```\n */\n@Component({\n\tselector: \"ibm-list-column\",\n\ttemplate: `\n\t\t<span *ngIf=\"skeleton\"></span>\n\t\t<ng-content></ng-content>\n\t`\n})\nexport class ListColumn {\n\t@Input() skeleton = false;\n\n\t@HostBinding(\"class.bx--structured-list-th\") isHeaderColumn = true;\n\t@HostBinding(\"class.bx--structured-list-td\") isBodyColumn = true;\n\t/**\n\t * Applies `white-space: nowrap` to the content of this `ListColumn`\n\t */\n\t@HostBinding(\"class.bx--structured-list-content--nowrap\") @Input() nowrap = false;\n}\n","import {\n\tComponent,\n\tHostBinding,\n\tContentChildren,\n\tQueryList,\n\tAfterContentInit,\n\tInput\n} from \"@angular/core\";\nimport { ListColumn } from \"./list-column.component\";\n\n/**\n * `ListHeader` provides a container for the `ListColumn`s that make up the header of a structured list.\n *\n * Example:\n * ```html\n * \t<ibm-list-header>\n *\t\t<ibm-list-column nowrap=\"true\">Column 1</ibm-list-column>\n *\t\t<ibm-list-column nowrap=\"true\">Column 2</ibm-list-column>\n *\t\t<ibm-list-column>Column 3</ibm-list-column>\n *\t</ibm-list-header>\n * ```\n */\n@Component({\n\tselector: \"ibm-list-header\",\n\ttemplate: `\n\t\t<div class=\"bx--structured-list-row bx--structured-list-row--header-row\">\n\t\t\t<ng-content></ng-content>\n\t\t\t<div *ngIf=\"selection\" class=\"bx--structured-list-th\"></div>\n\t\t</div>\n\t`\n})\nexport class ListHeader implements AfterContentInit {\n\t@HostBinding(\"class.bx--structured-list-thead\") wrapper = true;\n\n\t@Input()\n\tset skeleton(value: any) {\n\t\tthis._skeleton = value;\n\t\tthis.updateChildren();\n\t}\n\n\tget skeleton(): any {\n\t\treturn this._skeleton;\n\t}\n\n\t@ContentChildren(ListColumn) columns: QueryList<ListColumn>;\n\n\t/**\n\t * Set by the containing `StructuredList`. Adds a dummy header for the selection column when set to true.\n\t */\n\tselection = false;\n\n\tprotected _skeleton = false;\n\n\tngAfterContentInit() {\n\t\tthis.columns.forEach(column => {\n\t\t\tcolumn.isBodyColumn = false;\n\t\t\tcolumn.isHeaderColumn = true;\n\t\t});\n\t\tthis.updateChildren();\n\t}\n\n\tprotected updateChildren() {\n\t\tif (this.columns) {\n\t\t\tthis.columns.toArray().forEach(child => child.skeleton = this.skeleton);\n\t\t}\n\t}\n}\n","import {\n\tComponent,\n\tHostBinding,\n\tContentChildren,\n\tQueryList,\n\tAfterContentInit,\n\tInput,\n\tHostListener,\n\tViewChild,\n\tElementRef,\n\tEventEmitter,\n\tOutput\n} from \"@angular/core\";\nimport { ListColumn } from \"./list-column.component\";\n\n/**\n * `ListRow` provides a container for the `ListColumn`s that make up the body of a structured list.\n *\n * Example:\n * ```html\n * \t<ibm-list-row>\n *\t\t<ibm-list-column>Row 1</ibm-list-column>\n *\t\t<ibm-list-column nowrap=\"true\">Row One</ibm-list-column>\n *\t\t<ibm-list-column>\n *\t\t\tLorem ipsum dolor sit amet,\n *\t\t\tconsectetur adipiscing elit. Nunc dui magna,\n *\t\t\tfinibus id tortor sed, aliquet bibendum augue.\n *\t\t\tAenean posuere sem vel euismod dignissim. Nulla ut cursus dolor.\n *\t\t\tPellentesque vulputate nisl a porttitor interdum.\n *\t\t</ibm-list-column>\n *\t</ibm-list-row>\n * ```\n */\n@Component({\n\tselector: \"ibm-list-row\",\n\ttemplate: `\n\t\t<ng-content></ng-content>\n\t\t<ng-container *ngIf=\"selection\">\n\t\t\t<input\n\t\t\t\t#input\n\t\t\t\ttabindex=\"-1\"\n\t\t\t\tclass=\"bx--structured-list-input\"\n\t\t\t\ttype=\"radio\"\n\t\t\t\t[value]=\"value\"\n\t\t\t\t[name]=\"name\"\n\t\t\t\t[title]=\"label\"\n\t\t\t\t(change)=\"onChange($event)\"\n\t\t\t\t[checked]=\"selected\"/>\n\t\t\t<div class=\"bx--structured-list-td\">\n\t\t\t\t<ibm-icon-checkmark-filled16 class=\"bx--structured-list-svg\"></ibm-icon-checkmark-filled16>\n\t\t\t</div>\n\t\t</ng-container>\n\t`\n})\nexport class ListRow implements AfterContentInit {\n\t@Input() @HostBinding(\"class.bx--structured-list-row--selected\") selected = false;\n\t/**\n\t * Applies an accessible label to the row. Defaults to no label.\n\t */\n\t@Input() @HostBinding(\"attr.aria-label\") label;\n\t/**\n\t * The value for the row. Returned via `ngModel` or `selected` event on the containing `StructuredList`.\n\t */\n\t@Input() value;\n\t/**\n\t * Internal event used to notify the containing `StructuredList` of changes.\n\t */\n\t@Output() change: EventEmitter<Event> = new EventEmitter();\n\n\t/**\n\t * Set by the containing `StructuredList`. Enables or disables row level selection features.\n\t */\n\tselection = false;\n\t/**\n\t * Set by the containing `StructuredList`. When `selection = true`, used for the `name` property on the radio input.\n\t */\n\tname = \"list\";\n\n\t@HostBinding(\"class.bx--structured-list-row\") wrapper = true;\n\t@HostBinding(\"attr.tabindex\") tabindex = this.selection ? \"0\" : null;\n\n\t@ContentChildren(ListColumn) columns: QueryList<ListColumn>;\n\n\t@ViewChild(\"input\") input: ElementRef;\n\n\tngAfterContentInit() {\n\t\tthis.columns.forEach(column => {\n\t\t\tcolumn.isBodyColumn = true;\n\t\t\tcolumn.isHeaderColumn = false;\n\t\t});\n\t}\n\n\t@HostListener(\"click\")\n\tonclick() {\n\t\tif (!this.selection) { return false; }\n\t\tthis.input.nativeElement.click();\n\t}\n\n\tonChange(event) {\n\t\tthis.change.emit(event);\n\t}\n}\n","import {\n\tComponent,\n\tInput,\n\tContentChildren,\n\tQueryList,\n\tAfterContentInit,\n\tOutput,\n\tEventEmitter\n} from \"@angular/core\";\nimport { ListRow } from \"./list-row.component\";\nimport { ListHeader } from \"./list-header.component\";\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor } from \"@angular/forms\";\n\n/**\n * Structured Lists represent related tabular data. For larger datasets consider a full `Table`.\n *\n * See (structured-list/usage)[https://www.carbondesignsystem.com/components/structured-list/usage] for usage guidance.\n *\n * A basic structued list looks something like:\n * ```html\n *\t<ibm-structured-list>\n *\t\t<ibm-list-header>\n *\t\t\t<ibm-list-column nowrap=\"true\">Column 1</ibm-list-column>\n *\t\t\t<ibm-list-column nowrap=\"true\">Column 2</ibm-list-column>\n *\t\t\t<ibm-list-column>Column 3</ibm-list-column>\n *\t\t</ibm-list-header>\n *\t\t<ibm-list-row>\n *\t\t\t<ibm-list-column>Row 1</ibm-list-column>\n *\t\t\t<ibm-list-column nowrap=\"true\">Row One</ibm-list-column>\n *\t\t\t<ibm-list-column>\n *\t\t\t\tLorem ipsum dolor sit amet,\n *\t\t\t\tconsectetur adipiscing elit. Nunc dui magna,\n *\t\t\t\tfinibus id tortor sed, aliquet bibendum augue.\n *\t\t\t\tAenean posuere sem vel euismod dignissim. Nulla ut cursus dolor.\n *\t\t\t\tPellentesque vulputate nisl a porttitor interdum.\n *\t\t\t</ibm-list-column>\n *\t\t</ibm-list-row>\n *\t\t<ibm-list-row>\n *\t\t\t<ibm-list-column>Row 2</ibm-list-column>\n *\t\t\t<ibm-list-column nowrap=\"true\">Row Two</ibm-list-column>\n *\t\t\t<ibm-list-column>\n *\t\t\t\tLorem ipsum dolor sit amet,\n *\t\t\t\tconsectetur adipiscing elit. Nunc dui magna,\n *\t\t\t\tfinibus id tortor sed, aliquet bibendum augue.\n *\t\t\t\tAenean posuere sem vel euismod dignissim. Nulla ut cursus dolor.\n *\t\t\t\tPellentesque vulputate nisl a porttitor interdum.\n *\t\t\t</ibm-list-column>\n *\t\t</ibm-list-row>\n *\t</ibm-structured-list>\n * ```\n */\n@Component({\n\tselector: \"ibm-structured-list\",\n\ttemplate: `\n\t\t<section\n\t\t\tclass=\"bx--structured-list\"\n\t\t\t[ngClass]=\"{\n\t\t\t\t'bx--structured-list--border': border,\n\t\t\t\t'bx--structured-list--selection': selection,\n\t\t\t\t'bx--structured-list--condensed': condensed,\n\t\t\t\t'bx--structured-list-content--nowrap': nowrap,\n\t\t\t\t'bx--skeleton': skeleton\n\t\t\t}\">\n\t\t\t<ng-content select=\"ibm-list-header\"></ng-content>\n\t\t\t<div class=\"bx--structured-list-tbody\">\n\t\t\t\t<ng-content></ng-content>\n\t\t\t</div>\n\t\t</section>\n\t`,\n\tproviders: [\n\t\t{\n\t\t\tprovide: NG_VALUE_ACCESSOR,\n\t\t\tuseExisting: StructuredList,\n\t\t\tmulti: true\n\t\t}\n\t]\n})\nexport class StructuredList implements AfterContentInit, ControlValueAccessor {\n\t/**\n\t * A counter to provide unique default values.\n\t */\n\tstatic listCount = 0;\n\t/**\n\t * Set to `true` to enable radio like selection of the rows.\n\t */\n\t@Input() selection = false;\n\t/**\n\t * Set to `true` to apply a border and white background.\n\t */\n\t@Input() border = false;\n\t/**\n\t * Set to `true` to apply a condensed style to the headers and rows.\n\t */\n\t@Input() condensed = false;\n\t/**\n\t * Set to `true` to apply `white-space: nowrap` on _all_ conent.\n\t */\n\t@Input() nowrap = false;\n\t/**\n\t * Used when `selection = true` as the row radio group `name`\n\t */\n\t@Input() name = `structured-list-${StructuredList.listCount++}`;\n\n\t/**\n\t * Sets the skeleton value for all `ListHeader` to the skeleton value of `StructuredList`.\n\t */\n\t@Input()\n\tset skeleton(value: any) {\n\t\tthis._skeleton = value;\n\t\tthis.updateChildren();\n\t}\n\n\t/**\n\t * Returns the skeleton value in the `StructuredList` if there is one.\n\t */\n\tget skeleton(): any {\n\t\treturn this._skeleton;\n\t}\n\n\t/**\n\t * Emits an event when the row selection changes.\n\t *\n\t * Emits an object that looks like:\n\t * ```javascript\n\t * {\n\t * \tvalue: \"something\",\n\t * \tselected: true,\n\t * \tname: \"structured-list-1\"\n\t * }\n\t * ```\n\t */\n\t@Output() selected: EventEmitter<{value: string, selected: boolean, name: string}> = new EventEmitter();\n\n\t@ContentChildren(ListRow) rows: QueryList<ListRow>;\n\t@ContentChildren(ListHeader) headers: QueryList<ListHeader>;\n\n\tprotected _skeleton = false;\n\n\tonChange = (_: any) => { };\n\n\tonTouched = () => { };\n\n\tngAfterContentInit() {\n\t\tconst setSelection = (rowOrHeader: ListRow | ListHeader) => {\n\t\t\trowOrHeader.selection = this.selection;\n\t\t};\n\n\t\tthis.headers.forEach(setSelection);\n\t\tthis.rows.forEach(row => {\n\t\t\tsetSelection(row);\n\t\t\trow.name = this.name;\n\t\t\trow.change.subscribe(() => {\n\t\t\t\tthis.selected.emit({\n\t\t\t\t\tvalue: row.value,\n\t\t\t\t\tselected: row.selected,\n\t\t\t\t\tname: this.name\n\t\t\t\t});\n\t\t\t\tthis.onChange(row.value);\n\t\t\t});\n\t\t});\n\t\tthis.updateChildren();\n\t}\n\n\twriteValue(value: any) {\n\t\tif (!this.rows) { return; }\n\t\tthis.rows.forEach(row => {\n\t\t\tif (row.value === value) {\n\t\t\t\trow.selected = true;\n\t\t\t} else {\n\t\t\t\trow.selected = false;\n\t\t\t}\n\t\t});\n\t}\n\n\tregisterOnChange(fn: any) {\n\t\tthis.onChange = fn;\n\t}\n\n\tregisterOnTouched(fn: any) {\n\t\tthis.onTouched = fn;\n\t}\n\n\tprotected updateChildren() {\n\t\tif (this.headers) {\n\t\t\tthis.headers.toArray().forEach(child => child.skeleton = this.skeleton);\n\t\t}\n\t}\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { CheckmarkFilled16Module } from \"@carbon/icons-angular/lib/checkmark--filled/16\";\n\nimport { StructuredList } from \"./structured-list.component\";\nimport { ListRow } from \"./list-row.component\";\nimport { ListHeader } from \"./list-header.component\";\nimport { ListColumn } from \"./list-column.component\";\n\n@NgModule({\n\tdeclarations: [\n\t\tStructuredList,\n\t\tListRow,\n\t\tListHeader,\n\t\tListColumn\n\t],\n\texports: [\n\t\tStructuredList,\n\t\tListRow,\n\t\tListHeader,\n\t\tListColumn\n\t],\n\timports: [\n\t\tCommonModule,\n\t\tCheckmarkFilled16Module\n\t]\n})\nclass StructuredListModule { }\n\nexport {\n\tStructuredListModule,\n\tStructuredList,\n\tListRow,\n\tListHeader,\n\tListColumn\n};\n","\n export var withStorySource = require('@storybook/addon-storysource').withStorySource;\n export var __STORY__ = \"import { storiesOf, moduleMetadata } from '@storybook/angular';\\nimport { action } from '@storybook/addon-actions';\\nimport { withKnobs, boolean } from '@storybook/addon-knobs';\\n\\nimport { StructuredListModule } from '../';\\n\\nstoriesOf('Structured List', module)\\n .addDecorator(\\n moduleMetadata({\\n imports: [StructuredListModule],\\n })\\n )\\n .addDecorator(withKnobs)\\n .add('Basic', () => ({\\n template: `\\n\\t\\t\\t<ibm-structured-list [border]=\\\"border\\\" [condensed]=\\\"condensed\\\" [nowrap]=\\\"nowrap\\\">\\n\\t\\t\\t\\t<ibm-list-header>\\n\\t\\t\\t\\t\\t<ibm-list-column nowrap=\\\"true\\\">Column 1</ibm-list-column>\\n\\t\\t\\t\\t\\t<ibm-list-column nowrap=\\\"true\\\">Column 2</ibm-list-column>\\n\\t\\t\\t\\t\\t<ibm-list-column>Column 3</ibm-list-column>\\n\\t\\t\\t\\t</ibm-list-header>\\n\\t\\t\\t\\t<ibm-list-row>\\n\\t\\t\\t\\t\\t<ibm-list-column>Row 1</ibm-list-column>\\n\\t\\t\\t\\t\\t<ibm-list-column nowrap=\\\"true\\\">Row One</ibm-list-column>\\n\\t\\t\\t\\t\\t<ibm-list-column>\\n\\t\\t\\t\\t\\t\\tLorem ipsum dolor sit amet,\\n\\t\\t\\t\\t\\t\\tconsectetur adipiscing elit. Nunc dui magna,\\n\\t\\t\\t\\t\\t\\tfinibus id tortor sed, aliquet bibendum augue.\\n\\t\\t\\t\\t\\t\\tAenean posuere sem vel euismod dignissim. Nulla ut cursus dolor.\\n\\t\\t\\t\\t\\t\\tPellentesque vulputate nisl a porttitor interdum.\\n\\t\\t\\t\\t\\t</ibm-list-column>\\n\\t\\t\\t\\t</ibm-list-row>\\n\\t\\t\\t\\t<ibm-list-row>\\n\\t\\t\\t\\t\\t<ibm-list-column>Row 2</ibm-list-column>\\n\\t\\t\\t\\t\\t<ibm-list-column nowrap=\\\"true\\\">Row Two</ibm-list-column>\\n\\t\\t\\t\\t\\t<ibm-list-column>\\n\\t\\t\\t\\t\\t\\tLorem ipsum dolor sit amet,\\n\\t\\t\\t\\t\\t\\tconsectetur adipiscing elit. Nunc dui magna,\\n\\t\\t\\t\\t\\t\\tfinibus id tortor sed, aliquet bibendum augue.\\n\\t\\t\\t\\t\\t\\tAenean posuere sem vel euismod dignissim. Nulla ut cursus dolor.\\n\\t\\t\\t\\t\\t\\tPellentesque vulputate nisl a porttitor interdum.\\n\\t\\t\\t\\t\\t</ibm-list-column>\\n\\t\\t\\t\\t</ibm-list-row>\\n\\t\\t\\t</ibm-structured-list>\\n\\t\\t`,\\n props: {\\n border: boolean('border', false),\\n condensed: boolean('condensed', false),\\n nowrap: boolean('nowrap', false),\\n },\\n }))\\n .add('With selection', () => ({\\n template: `\\n\\t\\t\\t<ibm-structured-list\\n\\t\\t\\t\\t[border]=\\\"border\\\"\\n\\t\\t\\t\\t[condensed]=\\\"condensed\\\"\\n\\t\\t\\t\\t[nowrap]=\\\"nowrap\\\"\\n\\t\\t\\t\\tselection=\\\"true\\\"\\n\\t\\t\\t\\t(selected)=\\\"selected($event)\\\">\\n\\t\\t\\t\\t<ibm-list-header>\\n\\t\\t\\t\\t\\t<ibm-list-column nowrap=\\\"true\\\">Column 1</ibm-list-column>\\n\\t\\t\\t\\t\\t<ibm-list-column nowrap=\\\"true\\\">Column 2</ibm-list-column>\\n\\t\\t\\t\\t\\t<ibm-list-column>Column 3</ibm-list-column>\\n\\t\\t\\t\\t</ibm-list-header>\\n\\t\\t\\t\\t<ibm-list-row value=\\\"row1\\\">\\n\\t\\t\\t\\t\\t<ibm-list-column>Row 1</ibm-list-column>\\n\\t\\t\\t\\t\\t<ibm-list-column nowrap=\\\"true\\\">Row One</ibm-list-column>\\n\\t\\t\\t\\t\\t<ibm-list-column>\\n\\t\\t\\t\\t\\t\\tLorem ipsum dolor sit amet,\\n\\t\\t\\t\\t\\t\\tconsectetur adipiscing elit. Nunc dui magna,\\n\\t\\t\\t\\t\\t\\tfinibus id tortor sed, aliquet bibendum augue.\\n\\t\\t\\t\\t\\t\\tAenean posuere sem vel euismod dignissim. Nulla ut cursus dolor.\\n\\t\\t\\t\\t\\t\\tPellentesque vulputate nisl a porttitor interdum.\\n\\t\\t\\t\\t\\t</ibm-list-column>\\n\\t\\t\\t\\t</ibm-list-row>\\n\\t\\t\\t\\t<ibm-list-row value=\\\"row2\\\">\\n\\t\\t\\t\\t\\t<ibm-list-column>Row 2</ibm-list-column>\\n\\t\\t\\t\\t\\t<ibm-list-column nowrap=\\\"true\\\">Row Two</ibm-list-column>\\n\\t\\t\\t\\t\\t<ibm-list-column>\\n\\t\\t\\t\\t\\t\\tLorem ipsum dolor sit amet,\\n\\t\\t\\t\\t\\t\\tconsectetur adipiscing elit. Nunc dui magna,\\n\\t\\t\\t\\t\\t\\tfinibus id tortor sed, aliquet bibendum augue.\\n\\t\\t\\t\\t\\t\\tAenean posuere sem vel euismod dignissim. Nulla ut cursus dolor.\\n\\t\\t\\t\\t\\t\\tPellentesque vulputate nisl a porttitor interdum.\\n\\t\\t\\t\\t\\t</ibm-list-column>\\n\\t\\t\\t\\t</ibm-list-row>\\n\\t\\t\\t</ibm-structured-list>\\n\\t\\t`,\\n props: {\\n selected: action('row selected'),\\n border: boolean('border', true),\\n condensed: boolean('condensed', false),\\n nowrap: boolean('nowrap', false),\\n },\\n }))\\n .add('With ngModel', () => ({\\n template: `\\n\\t\\t\\t<ibm-structured-list\\n\\t\\t\\t\\t[border]=\\\"border\\\"\\n\\t\\t\\t\\t[condensed]=\\\"condensed\\\"\\n\\t\\t\\t\\t[nowrap]=\\\"nowrap\\\"\\n\\t\\t\\t\\tselection=\\\"true\\\"\\n\\t\\t\\t\\t[(ngModel)]=\\\"valueSelected\\\">\\n\\t\\t\\t\\t<ibm-list-header>\\n\\t\\t\\t\\t\\t<ibm-list-column nowrap=\\\"true\\\">Column 1</ibm-list-column>\\n\\t\\t\\t\\t\\t<ibm-list-column nowrap=\\\"true\\\">Column 2</ibm-list-column>\\n\\t\\t\\t\\t\\t<ibm-list-column>Column 3</ibm-list-column>\\n\\t\\t\\t\\t</ibm-list-header>\\n\\t\\t\\t\\t<ibm-list-row value=\\\"row1\\\">\\n\\t\\t\\t\\t\\t<ibm-list-column>Row 1</ibm-list-column>\\n\\t\\t\\t\\t\\t<ibm-list-column nowrap=\\\"true\\\">Row One</ibm-list-column>\\n\\t\\t\\t\\t\\t<ibm-list-column>\\n\\t\\t\\t\\t\\t\\tLorem ipsum dolor sit amet,\\n\\t\\t\\t\\t\\t\\tconsectetur adipiscing elit. Nunc dui magna,\\n\\t\\t\\t\\t\\t\\tfinibus id tortor sed, aliquet bibendum augue.\\n\\t\\t\\t\\t\\t\\tAenean posuere sem vel euismod dignissim. Nulla ut cursus dolor.\\n\\t\\t\\t\\t\\t\\tPellentesque vulputate nisl a porttitor interdum.\\n\\t\\t\\t\\t\\t</ibm-list-column>\\n\\t\\t\\t\\t</ibm-list-row>\\n\\t\\t\\t\\t<ibm-list-row value=\\\"row2\\\">\\n\\t\\t\\t\\t\\t<ibm-list-column>Row 2</ibm-list-column>\\n\\t\\t\\t\\t\\t<ibm-list-column nowrap=\\\"true\\\">Row Two</ibm-list-column>\\n\\t\\t\\t\\t\\t<ibm-list-column>\\n\\t\\t\\t\\t\\t\\tLorem ipsum dolor sit amet,\\n\\t\\t\\t\\t\\t\\tconsectetur adipiscing elit. Nunc dui magna,\\n\\t\\t\\t\\t\\t\\tfinibus id tortor sed, aliquet bibendum augue.\\n\\t\\t\\t\\t\\t\\tAenean posuere sem vel euismod dignissim. Nulla ut cursus dolor.\\n\\t\\t\\t\\t\\t\\tPellentesque vulputate nisl a porttitor interdum.\\n\\t\\t\\t\\t\\t</ibm-list-column>\\n\\t\\t\\t\\t</ibm-list-row>\\n\\t\\t\\t</ibm-structured-list>\\n\\t\\t\\t<p>{{valueSelected}}</p>\\n\\t\\t`,\\n props: {\\n border: boolean('border', true),\\n condensed: boolean('condensed', false),\\n nowrap: boolean('nowrap', false),\\n },\\n }))\\n .add('Skeleton', () => ({\\n template: `\\n\\t\\t<div style=\\\"width: 800px\\\">\\n\\t\\t\\t<ibm-structured-list skeleton=\\\"true\\\">\\n\\t\\t\\t\\t<ibm-list-header>\\n\\t\\t\\t\\t\\t<ibm-list-column></ibm-list-column>\\n\\t\\t\\t\\t\\t<ibm-list-column></ibm-list-column>\\n\\t\\t\\t\\t\\t<ibm-list-column></ibm-list-column>\\n\\t\\t\\t\\t</ibm-list-header>\\n\\t\\t\\t\\t<ibm-list-row>\\n\\t\\t\\t\\t\\t<ibm-list-column></ibm-list-column>\\n\\t\\t\\t\\t\\t<ibm-list-column></ibm-list-column>\\n\\t\\t\\t\\t\\t<ibm-list-column></ibm-list-column>\\n\\t\\t\\t\\t</ibm-list-row>\\n\\t\\t\\t\\t<ibm-list-row>\\n\\t\\t\\t\\t\\t<ibm-list-column></ibm-list-column>\\n\\t\\t\\t\\t\\t<ibm-list-column></ibm-list-column>\\n\\t\\t\\t\\t\\t<ibm-list-column></ibm-list-column>\\n\\t\\t\\t\\t</ibm-list-row>\\n\\t\\t\\t</ibm-structured-list>\\n\\n\\t\\t\\t<ibm-structured-list skeleton=\\\"true\\\" border=\\\"true\\\">\\n\\t\\t\\t\\t<ibm-list-header>\\n\\t\\t\\t\\t\\t<ibm-list-column></ibm-list-column>\\n\\t\\t\\t\\t\\t<ibm-list-column></ibm-list-column>\\n\\t\\t\\t\\t\\t<ibm-list-column></ibm-list-column>\\n\\t\\t\\t\\t</ibm-list-header>\\n\\t\\t\\t\\t<ibm-list-row>\\n\\t\\t\\t\\t\\t<ibm-list-column></ibm-list-column>\\n\\t\\t\\t\\t\\t<ibm-list-column></ibm-list-column>\\n\\t\\t\\t\\t\\t<ibm-list-column></ibm-list-column>\\n\\t\\t\\t\\t</ibm-list-row>\\n\\t\\t\\t\\t<ibm-list-row>\\n\\t\\t\\t\\t\\t<ibm-list-column></ibm-list-column>\\n\\t\\t\\t\\t\\t<ibm-list-column></ibm-list-column>\\n\\t\\t\\t\\t\\t<ibm-list-column></ibm-list-column>\\n\\t\\t\\t\\t</ibm-list-row>\\n\\t\\t\\t</ibm-structured-list>\\n\\t\\t</div>\\n\\t\\t`,\\n }));\\n\";\n export var __ADDS_MAP__ = {\"structured-list--skeleton\":{\"startLoc\":{\"col\":7,\"line\":140},\"endLoc\":{\"col\":4,\"line\":180}},\"structured-list--with-ngmodel\":{\"startLoc\":{\"col\":7,\"line\":96},\"endLoc\":{\"col\":4,\"line\":139}},\"structured-list--with-selection\":{\"startLoc\":{\"col\":7,\"line\":52},\"endLoc\":{\"col\":4,\"line\":95}},\"structured-list--basic\":{\"startLoc\":{\"col\":7,\"line\":14},\"endLoc\":{\"col\":4,\"line\":51}}};\n \n import { storiesOf, moduleMetadata } from \"@storybook/angular\";\nimport { action } from \"@storybook/addon-actions\";\nimport { withKnobs, boolean } from \"@storybook/addon-knobs\";\n\nimport { StructuredListModule } from \"../\";\n\nstoriesOf(\"Structured List\", module).addDecorator(withStorySource(__STORY__, __ADDS_MAP__)).addDecorator(\n\tmoduleMetadata({\n\t\timports: [StructuredListModule]\n\t}))\n\t.addDecorator(withKnobs)\n\t.add(\"Basic\", () => ({\n\t\ttemplate: `\n\t\t\t<ibm-structured-list [border]=\"border\" [condensed]=\"condensed\" [nowrap]=\"nowrap\">\n\t\t\t\t<ibm-list-header>\n\t\t\t\t\t<ibm-list-column nowrap=\"true\">Column 1</ibm-list-column>\n\t\t\t\t\t<ibm-list-column nowrap=\"true\">Column 2</ibm-list-column>\n\t\t\t\t\t<ibm-list-column>Column 3</ibm-list-column>\n\t\t\t\t</ibm-list-header>\n\t\t\t\t<ibm-list-row>\n\t\t\t\t\t<ibm-list-column>Row 1</ibm-list-column>\n\t\t\t\t\t<ibm-list-column nowrap=\"true\">Row One</ibm-list-column>\n\t\t\t\t\t<ibm-list-column>\n\t\t\t\t\t\tLorem ipsum dolor sit amet,\n\t\t\t\t\t\tconsectetur adipiscing elit. Nunc dui magna,\n\t\t\t\t\t\tfinibus id tortor sed, aliquet bibendum augue.\n\t\t\t\t\t\tAenean posuere sem vel euismod dignissim. Nulla ut cursus dolor.\n\t\t\t\t\t\tPellentesque vulputate nisl a porttitor interdum.\n\t\t\t\t\t</ibm-list-column>\n\t\t\t\t</ibm-list-row>\n\t\t\t\t<ibm-list-row>\n\t\t\t\t\t<ibm-list-column>Row 2</ibm-list-column>\n\t\t\t\t\t<ibm-list-column nowrap=\"true\">Row Two</ibm-list-column>\n\t\t\t\t\t<ibm-list-column>\n\t\t\t\t\t\tLorem ipsum dolor sit amet,\n\t\t\t\t\t\tconsectetur adipiscing elit. Nunc dui magna,\n\t\t\t\t\t\tfinibus id tortor sed, aliquet bibendum augue.\n\t\t\t\t\t\tAenean posuere sem vel euismod dignissim. Nulla ut cursus dolor.\n\t\t\t\t\t\tPellentesque vulputate nisl a porttitor interdum.\n\t\t\t\t\t</ibm-list-column>\n\t\t\t\t</ibm-list-row>\n\t\t\t</ibm-structured-list>\n\t\t`,\n\t\tprops: {\n\t\t\tborder: boolean(\"border\", false),\n\t\t\tcondensed: boolean(\"condensed\", false),\n\t\t\tnowrap: boolean(\"nowrap\", false)\n\t\t}\n\t}))\n\t.add(\"With selection\", () => ({\n\t\ttemplate: `\n\t\t\t<ibm-structured-list\n\t\t\t\t[border]=\"border\"\n\t\t\t\t[condensed]=\"condensed\"\n\t\t\t\t[nowrap]=\"nowrap\"\n\t\t\t\tselection=\"true\"\n\t\t\t\t(selected)=\"selected($event)\">\n\t\t\t\t<ibm-list-header>\n\t\t\t\t\t<ibm-list-column nowrap=\"true\">Column 1</ibm-list-column>\n\t\t\t\t\t<ibm-list-column nowrap=\"true\">Column 2</ibm-list-column>\n\t\t\t\t\t<ibm-list-column>Column 3</ibm-list-column>\n\t\t\t\t</ibm-list-header>\n\t\t\t\t<ibm-list-row value=\"row1\">\n\t\t\t\t\t<ibm-list-column>Row 1</ibm-list-column>\n\t\t\t\t\t<ibm-list-column nowrap=\"true\">Row One</ibm-list-column>\n\t\t\t\t\t<ibm-list-column>\n\t\t\t\t\t\tLorem ipsum dolor sit amet,\n\t\t\t\t\t\tconsectetur adipiscing elit. Nunc dui magna,\n\t\t\t\t\t\tfinibus id tortor sed, aliquet bibendum augue.\n\t\t\t\t\t\tAenean posuere sem vel euismod dignissim. Nulla ut cursus dolor.\n\t\t\t\t\t\tPellentesque vulputate nisl a porttitor interdum.\n\t\t\t\t\t</ibm-list-column>\n\t\t\t\t</ibm-list-row>\n\t\t\t\t<ibm-list-row value=\"row2\">\n\t\t\t\t\t<ibm-list-column>Row 2</ibm-list-column>\n\t\t\t\t\t<ibm-list-column nowrap=\"true\">Row Two</ibm-list-column>\n\t\t\t\t\t<ibm-list-column>\n\t\t\t\t\t\tLorem ipsum dolor sit amet,\n\t\t\t\t\t\tconsectetur adipiscing elit. Nunc dui magna,\n\t\t\t\t\t\tfinibus id tortor sed, aliquet bibendum augue.\n\t\t\t\t\t\tAenean posuere sem vel euismod dignissim. Nulla ut cursus dolor.\n\t\t\t\t\t\tPellentesque vulputate nisl a porttitor interdum.\n\t\t\t\t\t</ibm-list-column>\n\t\t\t\t</ibm-list-row>\n\t\t\t</ibm-structured-list>\n\t\t`,\n\t\tprops: {\n\t\t\tselected: action(\"row selected\"),\n\t\t\tborder: boolean(\"border\", true),\n\t\t\tcondensed: boolean(\"condensed\", false),\n\t\t\tnowrap: boolean(\"nowrap\", false)\n\t\t}\n\t}))\n\t.add(\"With ngModel\", () => ({\n\t\ttemplate: `\n\t\t\t<ibm-structured-list\n\t\t\t\t[border]=\"border\"\n\t\t\t\t[condensed]=\"condensed\"\n\t\t\t\t[nowrap]=\"nowrap\"\n\t\t\t\tselection=\"true\"\n\t\t\t\t[(ngModel)]=\"valueSelected\">\n\t\t\t\t<ibm-list-header>\n\t\t\t\t\t<ibm-list-column nowrap=\"true\">Column 1</ibm-list-column>\n\t\t\t\t\t<ibm-list-column nowrap=\"true\">Column 2</ibm-list-column>\n\t\t\t\t\t<ibm-list-column>Column 3</ibm-list-column>\n\t\t\t\t</ibm-list-header>\n\t\t\t\t<ibm-list-row value=\"row1\">\n\t\t\t\t\t<ibm-list-column>Row 1</ibm-list-column>\n\t\t\t\t\t<ibm-list-column nowrap=\"true\">Row One</ibm-list-column>\n\t\t\t\t\t<ibm-list-column>\n\t\t\t\t\t\tLorem ipsum dolor sit amet,\n\t\t\t\t\t\tconsectetur adipiscing elit. Nunc dui magna,\n\t\t\t\t\t\tfinibus id tortor sed, aliquet bibendum augue.\n\t\t\t\t\t\tAenean posuere sem vel euismod dignissim. Nulla ut cursus dolor.\n\t\t\t\t\t\tPellentesque vulputate nisl a porttitor interdum.\n\t\t\t\t\t</ibm-list-column>\n\t\t\t\t</ibm-list-row>\n\t\t\t\t<ibm-list-row value=\"row2\">\n\t\t\t\t\t<ibm-list-column>Row 2</ibm-list-column>\n\t\t\t\t\t<ibm-list-column nowrap=\"true\">Row Two</ibm-list-column>\n\t\t\t\t\t<ibm-list-column>\n\t\t\t\t\t\tLorem ipsum dolor sit amet,\n\t\t\t\t\t\tconsectetur adipiscing elit. Nunc dui magna,\n\t\t\t\t\t\tfinibus id tortor sed, aliquet bibendum augue.\n\t\t\t\t\t\tAenean posuere sem vel euismod dignissim. Nulla ut cursus dolor.\n\t\t\t\t\t\tPellentesque vulputate nisl a porttitor interdum.\n\t\t\t\t\t</ibm-list-column>\n\t\t\t\t</ibm-list-row>\n\t\t\t</ibm-structured-list>\n\t\t\t<p>{{valueSelected}}</p>\n\t\t`,\n\t\tprops: {\n\t\t\tborder: boolean(\"border\", true),\n\t\t\tcondensed: boolean(\"condensed\", false),\n\t\t\tnowrap: boolean(\"nowrap\", false)\n\t\t}\n\t}))\n\t.add(\"Skeleton\", () => ({\n\t\ttemplate: `\n\t\t<div style=\"width: 800px\">\n\t\t\t<ibm-structured-list skeleton=\"true\">\n\t\t\t\t<ibm-list-header>\n\t\t\t\t\t<ibm-list-column></ibm-list-column>\n\t\t\t\t\t<ibm-list-column></ibm-list-column>\n\t\t\t\t\t<ibm-list-column></ibm-list-column>\n\t\t\t\t</ibm-list-header>\n\t\t\t\t<ibm-list-row>\n\t\t\t\t\t<ibm-list-column></ibm-list-column>\n\t\t\t\t\t<ibm-list-column></ibm-list-column>\n\t\t\t\t\t<ibm-list-column></ibm-list-column>\n\t\t\t\t</ibm-list-row>\n\t\t\t\t<ibm-list-row>\n\t\t\t\t\t<ibm-list-column></ibm-list-column>\n\t\t\t\t\t<ibm-list-column></ibm-list-column>\n\t\t\t\t\t<ibm-list-column></ibm-list-column>\n\t\t\t\t</ibm-list-row>\n\t\t\t</ibm-structured-list>\n\n\t\t\t<ibm-structured-list skeleton=\"true\" border=\"true\">\n\t\t\t\t<ibm-list-header>\n\t\t\t\t\t<ibm-list-column></ibm-list-column>\n\t\t\t\t\t<ibm-list-column></ibm-list-column>\n\t\t\t\t\t<ibm-list-column></ibm-list-column>\n\t\t\t\t</ibm-list-header>\n\t\t\t\t<ibm-list-row>\n\t\t\t\t\t<ibm-list-column></ibm-list-column>\n\t\t\t\t\t<ibm-list-column></ibm-list-column>\n\t\t\t\t\t<ibm-list-column></ibm-list-column>\n\t\t\t\t</ibm-list-row>\n\t\t\t\t<ibm-list-row>\n\t\t\t\t\t<ibm-list-column></ibm-list-column>\n\t\t\t\t\t<ibm-list-column></ibm-list-column>\n\t\t\t\t\t<ibm-list-column></ibm-list-column>\n\t\t\t\t</ibm-list-row>\n\t\t\t</ibm-structured-list>\n\t\t</div>\n\t\t`\n\t}));\n\n\n ","import {\n\tDirective,\n\tInput,\n\tElementRef,\n\tHostListener,\n\tOutput,\n\tEventEmitter\n} from \"@angular/core\";\nimport { Table } from \"./table.component\";\nimport { getFocusElementList, tabbableSelectorIgnoreTabIndex } from \"../common/tab.service\";\n\n@Directive({\n\tselector: \"[ibmDataGridFocus]\"\n})\nexport class DataGridFocus {\n\t@Input() ibmDataGridFocus: boolean;\n\t@Input() set columnIndex(value: number) {\n\t\tconst shouldEmit = value !== this._columnIndex;\n\t\tthis._columnIndex = value;\n\t\tif (shouldEmit) {\n\t\t\tthis.columnIndexChange.emit(value);\n\t\t}\n\t}\n\tget columnIndex(): number {\n\t\treturn this._columnIndex;\n\t}\n\n\t@Output() columnIndexChange: EventEmitter<number> = new EventEmitter();\n\n\tprotected _columnIndex: number;\n\n\tconstructor(protected elementRef: ElementRef) {}\n\n\tfocus(element) {\n\t\tconst focusElementList = getFocusElementList(element, tabbableSelectorIgnoreTabIndex);\n\t\tif (element.firstElementChild && element.firstElementChild.classList.contains(\"bx--table-sort-v2\")) {\n\t\t\tfocusElementList[1].focus();\n\t\t} else if (focusElementList.length > 0) {\n\t\t\tfocusElementList[0].focus();\n\t\t} else {\n\t\t\telement.focus();\n\t\t}\n\t}\n\n\t@HostListener(\"keydown\", [\"$event\"])\n\tkeyDown(event: KeyboardEvent) {\n\t\tif (!this.ibmDataGridFocus) {\n\t\t\treturn;\n\t\t}\n\t\tconst element = this.elementRef.nativeElement;\n\t\tconst rows = element.closest(\"table\").rows;\n\t\tconst closestTr = element.closest(\"tr\");\n\t\tlet rowIndex = Array.from(rows).indexOf(closestTr);\n\n\t\tconst headerRow = rows[0].querySelectorAll(\"th\");\n\n\t\tswitch (event.key) {\n\t\t\tcase \"Right\": // IE specific value\n\t\t\tcase \"ArrowRight\":\n\t\t\t\tconst firstBodyRow = rows[1].querySelectorAll(\"td\");\n\t\t\t\tevent.preventDefault();\n\t\t\t\tif (element.nextElementSibling && Array.from(headerRow).indexOf(element.nextElementSibling) < firstBodyRow.length) {\n\t\t\t\t\tthis.columnIndex++;\n\t\t\t\t\tconst nextSibling = element.nextElementSibling;\n\t\t\t\t\tTable.setTabIndex(element, -1);\n\t\t\t\t\tTable.setTabIndex(nextSibling, 0);\n\t\t\t\t\tthis.focus(nextSibling);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase \"Left\": // IE specific value\n\t\t\tcase \"ArrowLeft\":\n\t\t\t\tevent.preventDefault();\n\t\t\t\tif (element.previousElementSibling) {\n\t\t\t\t\tthis.columnIndex--;\n\t\t\t\t\tconst previousSibling = element.previousElementSibling;\n\t\t\t\t\tTable.setTabIndex(element, -1);\n\t\t\t\t\tTable.setTabIndex(previousSibling, 0);\n\t\t\t\t\tthis.focus(previousSibling);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase \"Down\": // IE specific value\n\t\t\tcase \"ArrowDown\":\n\t\t\t\tevent.preventDefault();\n\t\t\t\tif (rowIndex < rows.length - 1) {\n\t\t\t\t\trowIndex++;\n\t\t\t\t\tconst row = rows[rowIndex].querySelectorAll(\"td\");\n\t\t\t\t\tTable.setTabIndex(element, -1);\n\t\t\t\t\tif (rows[rowIndex].classList.contains(\"bx--expandable-row-v2\") && !rows[rowIndex].classList.contains(\"bx--parent-row-v2\")) {\n\t\t\t\t\t\tTable.setTabIndex(row[0], 0);\n\t\t\t\t\t\tthis.focus(row[0]);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (this.columnIndex > row.length - 1) {\n\t\t\t\t\t\t\tthis.columnIndex = row.length - 1;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tTable.setTabIndex(row[this.columnIndex], 0);\n\t\t\t\t\t\tthis.focus(row[this.columnIndex]);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase \"Up\": // IE specific value\n\t\t\tcase \"ArrowUp\":\n\t\t\t\tevent.preventDefault();\n\t\t\t\tif ((rowIndex === 1 && Array.from(headerRow).every(th => getFocusElementList(th, tabbableSelectorIgnoreTabIndex).length === 0)) ||\n\t\t\t\t\trowIndex === 0) {\n\t\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tTable.setTabIndex(element, -1);\n\t\t\t\trowIndex--;\n\t\t\t\tconst row = rows[rowIndex].querySelectorAll(\"td, th\");\n\t\t\t\tif (rows[rowIndex].classList.contains(\"bx--expandable-row-v2\") && !rows[rowIndex].classList.contains(\"bx--parent-row-v2\")) {\n\t\t\t\t\tTable.setTabIndex(row[0], 0);\n\t\t\t\t\tthis.focus(row[0]);\n\t\t\t\t} else {\n\t\t\t\t\tif (this.columnIndex > row.length - 1) {\n\t\t\t\t\t\tthis.columnIndex = row.length - 1;\n\t\t\t\t\t}\n\t\t\t\t\tTable.setTabIndex(row[this.columnIndex], 0);\n\t\t\t\t\tthis.focus(row[this.columnIndex]);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase \"Home\":\n\t\t\t\tevent.preventDefault();\n\t\t\t\tthis.columnIndex = 0;\n\t\t\t\tTable.setTabIndex(element, -1);\n\t\t\t\tif (event.ctrlKey) {\n\t\t\t\t\tif (Array.from(headerRow).some(th => getFocusElementList(th, tabbableSelectorIgnoreTabIndex).length > 0)) {\n\t\t\t\t\t\tTable.setTabIndex(headerRow[0], 0);\n\t\t\t\t\t\tthis.focus(headerRow[0]);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tconst firstBodyCell = rows[1].querySelectorAll(\"td\")[0];\n\t\t\t\t\t\tTable.setTabIndex(firstBodyCell, 0);\n\t\t\t\t\t\tthis.focus(firstBodyCell);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tconst firstRowCell = rows[rowIndex].querySelectorAll(\"th, td\")[0];\n\t\t\t\t\tTable.setTabIndex(firstRowCell, 0);\n\t\t\t\t\tthis.focus(firstRowCell);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase \"End\":\n\t\t\t\tevent.preventDefault();\n\t\t\t\tconst lastRow = rows[rows.length - 1].querySelectorAll(\"td\");\n\t\t\t\tTable.setTabIndex(element, -1);\n\t\t\t\tif (event.ctrlKey) {\n\t\t\t\t\tthis.columnIndex = lastRow.length - 1;\n\t\t\t\t\tTable.setTabIndex(lastRow[this.columnIndex], 0);\n\t\t\t\t\tthis.focus(lastRow[this.columnIndex]);\n\t\t\t\t} else {\n\t\t\t\t\tconst currentRow = rows[rowIndex].querySelectorAll(\"th, td\");\n\t\t\t\t\tthis.columnIndex = currentRow.length - 1;\n\t\t\t\t\tTable.setTabIndex(currentRow[this.columnIndex], 0);\n\t\t\t\t\tthis.focus(currentRow[this.columnIndex]);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t}\n\t}\n\n\t@HostListener(\"click\", [\"$event\"])\n\tonClick() {\n\t\tif (!this.ibmDataGridFocus) {\n\t\t\treturn;\n\t\t}\n\t\tconst focusElementList = getFocusElementList(this.elementRef.nativeElement.closest(\"table\"), tabbableSelectorIgnoreTabIndex);\n\t\tfocusElementList.forEach(element => Table.setTabIndex(element, -1));\n\t\tTable.setTabIndex(this.elementRef.nativeElement, 0);\n\t\tthis.focus(this.elementRef.nativeElement);\n\t}\n}\n","import {\n\tDirective,\n\tHostListener\n} from \"@angular/core\";\n\n@Directive({\n\tselector: \"[ibmExpandedRowHover]\"\n})\nexport class ExpandedRowHover {\n\t@HostListener(\"mouseenter\", [\"$event\"])\n\taddHoverClass(event) {\n\t\tevent.target.previousElementSibling.classList.add(\"bx--expandable-row--hover\");\n\t}\n\n\t@HostListener(\"mouseleave\", [\"$event\"])\n\tremoveHoverClass(event) {\n\t\tevent.target.previousElementSibling.classList.remove(\"bx--expandable-row--hover\");\n\t}\n}\n","import { TableItem } from \"./table-item.class\";\nimport {\n\tEventEmitter,\n\tTemplateRef\n} from \"@angular/core\";\n\nexport class TableHeaderItem {\n\t/**\n\t * Defines if column under this TableHeaderItem should be displayed.\n\t *\n\t * @memberof TableHeaderItem\n\t */\n\tvisible = true;\n\n\t/**\n\t * Disables sorting by default.\n\t *\n\t * @memberof TableHeaderItem\n\t */\n\tsorted = false;\n\n\t/**\n\t * Enables sorting on click by default.\n\t * If false then this column won't show a sorting arrow at all.\n\t *\n\t * @memberof TableHeaderItem\n\t */\n\tsortable = true;\n\n\t/**\n\t * Number of applied filters.\n\t *\n\t * `filter()` should set it to appropriate number.\n\t *\n\t * @memberof TableHeaderItem\n\t */\n\tfilterCount = 0;\n\n\t/**\n\t * Attach a class to the column, both the header and column cells.\n\t *\n\t * @memberof TableHeaderItem\n\t */\n\tclassName: string;\n\n\t/**\n\t * Style for the column, applied to every element in the column.\n\t *\n\t * ngStyle-like format\n\t *\n\t * @memberof TableHeaderItem\n\t */\n\tstyle = {};\n\n\t/**\n\t * If true, sort is set to ascending, if false descending will be true.\n\t *\n\t * @memberof TableHeaderItem\n\t */\n\tset ascending(asc) {\n\t\tthis._ascending = asc;\n\t}\n\tget ascending() {\n\t\treturn this._ascending;\n\t}\n\n\t/**\n\t * If true, sort is set to descending, if false ascending will be true.\n\t *\n\t * @memberof TableHeaderItem\n\t */\n\tset descending(desc) {\n\t\tthis._ascending = !desc;\n\t}\n\tget descending() {\n\t\treturn !this._ascending;\n\t}\n\n\t/**\n\t * Data for the header item.\n\t *\n\t * @type {*}\n\t * @memberof TableHeaderItem\n\t */\n\tdata: any;\n\n\t/**\n\t * Data for the header item for general usage in the controller.\n\t * For example, which `field` is this column related to.\n\t *\n\t * @type {*}\n\t * @memberof TableHeaderItem\n\t */\n\tmetadata: any;\n\n\t/**\n\t * Used to display data in a desired way.\n\t *\n\t * If not provided, displays data as a simple string.\n\t *\n\t * Usage:\n\t *\n\t * In a component where you're using the table create a template like:\n\t *\n\t * ```html\n\t * <ng-template #customHeaderTemplate let-data=\"data\">\n\t * \t\t<i><a [routerLink]=\"data.link\">{{data.name}}</a></i>\n\t * </ng-template>\n\t * ```\n\t * where we assume your data contains `link` and `name`. `let-data=\"data\"` is\n\t * necessary for you to be able to access item's data in the template.\n\t *\n\t * Create `ViewChild` property with:\n\t *\n\t * ```typescript\n\t * (at)ViewChild(\"customHeaderTemplate\")\n\t * protected customHeaderTemplate: TemplateRef<any>;\n\t * ```\n\t *\n\t * Set the template to the header item, for example:\n\t *\n\t * ```typescript\n\t * this.model.header = [\n\t * \t\tnew TableHeaderItem({data: {name: \"Custom header\", link: \"/table\"}, template: this.customHeaderTemplate})\n\t * ];\n\t * ```\n\t * @type {TemplateRef<any>}\n\t * @memberof TableHeaderItem\n\t */\n\ttemplate: TemplateRef<any>;\n\n\t/**\n\t * Used as a template for popover filter.\n\t *\n\t * `let-popover=\"popover\"` will give you access to popover component and allow you to\n\t * manipulate it if needed.\n\t *\n\t * `let-filter=\"filter\"` will give you access to the \"filter\". The main takeaway is\n\t * store the data you need to `filter.data`. You will be able to access it as\n\t * `this.filterData.data` from your `filter()` function when you extend `TableHeaderItem`\n\t *\n\t * Example:\n\t * ```html\n\t * <ng-template #filter let-popover=\"popover\">\n\t * \t<ibm-label class=\"first-label\">\n\t * \t\tValue\n\t * \t\t<input type=\"text\" [(ngModel)]=\"filter1\" class=\"input-field\">\n\t * \t</ibm-label>\n\t * </ng-template>\n\t *\n\t * <ng-template #filterFooter let-popover=\"popover\" let-filter=\"data\">\n\t * \t<button class=\"btn--primary\" (click)=\"filter.data = filter1; popover.onClose()\">Apply</button>\n\t * \t<button class=\"btn--secondary\" (click)=\"popover.onClose()\">Cancel</button>\n\t * </ng-template>\n\t * ```\n\t *\n\t * Set the template with, for example:\n\t * ```typescript\n\t * new FilterableHeaderItem({\n\t * \tfilterTemplate: this.filter,\n\t *\tfilterFooter: this.filterFooter\n\t * })\n\t * ```\n\t *\n\t * ```typescript\n\t * class FilterableHeaderItem extends TableHeaderItem {\n\t * \t// custom filter function\n\t * \tfilter(item: TableItem): boolean {\n\t * \t\tif (typeof item.data === \"string\" && item.data.indexOf(this.filterData.data) >= 0) {\n\t * \t\t\tthis.filterCount = 1;\n\t * \t\t\treturn false;\n\t * \t\t}\n\t * \t\tthis.filterCount = 0;\n\t * \t\treturn true;\n\t * \t}\n\t * }\n\t * ```\n\t *\n\t * @type {TemplateRef<any>}\n\t * @memberof TableHeaderItem\n\t */\n\tfilterTemplate: TemplateRef<any>;\n\n\t/**\n\t * Used along with `filterTemplate` to construct the filter popover\n\t *\n\t * @type {TemplateRef<any>}\n\t * @memberof TableHeaderItem\n\t */\n\tfilterFooter: TemplateRef<any>;\n\n\t/**\n\t * This is where you store your data when applying filter.\n\t *\n\t * It is the actual object you have access to with `let-filter=\"data\"` in your template.\n\t *\n\t * Make sure to store data in `filter.data` in your template, and you will have it\n\t * available in `filterData.data` in your extension of `TableHeaderItem`.\n\t *\n\t * Because angular and object references.\n\t *\n\t * @type {*}\n\t * @memberof TableHeaderItem\n\t */\n\tfilterData: any;\n\n\t/**\n\t * used in `ascending`\n\t *\n\t * @protected\n\t * @memberof TableHeaderItem\n\t */\n\tprotected _ascending = true;\n\n\t/**\n\t * Creates an instance of TableHeaderItem.\n\t * @param {*} [rawData]\n\t * @memberof TableHeaderItem\n\t */\n\tconstructor(rawData?: any) {\n\t\t// defaults so we dont leave things empty\n\t\tconst defaults = {\n\t\t\tdata: \"\",\n\t\t\tvisible: this.visible,\n\t\t\tstyle: this.style,\n\t\t\tfilterCount: this.filterCount,\n\t\t\tfilterData: {data: \"\"}\n\t\t};\n\t\t// fill our object with provided props, and fallback to defaults\n\t\tconst data = Object.assign({}, defaults, rawData);\n\t\tfor (let property of Object.getOwnPropertyNames(data)) {\n\t\t\tif (data.hasOwnProperty(property)) {\n\t\t\t\tthis[property] = data[property];\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Used for sorting rows of the table.\n\t *\n\t * Override to enable different sorting.\n\t *\n\t * @param {TableItem} one\n\t * @param {TableItem} two\n\t * @returns {number}\n\t * < 0 if `one` should go before `two`\n\t * > 0 if `one` shoulg go after `two`\n\t * 0 if it doesn't matter (they are the same)\n\t * @memberof TableHeaderItem\n\t */\n\tcompare(one: TableItem, two: TableItem): number {\n\t\tif (one.data < two.data) {\n\t\t\treturn -1;\n\t\t} else if (one.data > two.data) {\n\t\t\treturn 1;\n\t\t} else {\n\t\t\treturn 0;\n\t\t}\n\t}\n\n\t/**\n\t * Used to filter rows in the table.\n\t *\n\t * Override to make a custom filter.\n\t *\n\t * Even though there is just one filter function, there can be multiple filters.\n\t * When implementing filter, set `filterCount` before returning.\n\t *\n\t * @param {TableItem} item\n\t * @returns {boolean}\n\t * `true` to hide the row\n\t * `false` to show the row\n\t * @memberof TableHeaderItem\n\t */\n\tfilter(item: TableItem): boolean {\n\t\tthis.filterCount = 0;\n\t\treturn false;\n\t}\n}\n","import {\n\tTemplateRef\n} from \"@angular/core\";\n\nexport class TableItem {\n\t/**\n\t * Data for the table item.\n\t *\n\t * @type {*}\n\t * @memberof TableItem\n\t */\n\tdata: any;\n\n\t/**\n\t * Data for the expanded part of the row.\n\t *\n\t * You only need to set it for the first item in the row.\n\t *\n\t * @type {*}\n\t * @memberof TableItem\n\t */\n\texpandedData: any;\n\n\t/**\n\t * Used to display data in a desired way.\n\t *\n\t * If not provided, displays data as a simple string.\n\t *\n\t * Usage:\n\t *\n\t * In a component where you're using the table create a template like:\n\t *\n\t * ```html\n\t * <ng-template #customItemTemplate let-data=\"data\">\n\t * \t<i><a [routerLink]=\"data.link\">{{data.name}}</a></i>\n\t * </ng-template>\n\t * ```\n\t * where we assume your data contains `link` and `name`. `let-data=\"data\"` is\n\t * necessary for you to be able to access item's data in the template.\n\t *\n\t * Create `ViewChild` property with:\n\t *\n\t * ```typescript\n\t * (at)ViewChild(\"customItemTemplate\")\n\t * protected customItemTemplate: TemplateRef<any>;\n\t * ```\n\t *\n\t * Set the template to the table item, for example:\n\t *\n\t * ```typescript\n\t * this.model.data = [\n\t * \t[new TableItem({data: {name: \"Custom item\", link: \"/table\"}, template: this.customItemTemplate})]\n\t * ];\n\t * ```\n\t *\n\t * @type {TemplateRef<any>}\n\t * @memberof TableItem\n\t */\n\ttemplate: TemplateRef<any>;\n\n\t/**\n\t * Template for rendering `expandedData`\n\t *\n\t * You only need to set it for the first item in the row.\n\t *\n\t * @type {TemplateRef<any>}\n\t * @memberof TableItem\n\t */\n\texpandedTemplate: TemplateRef<any>;\n\n\t/**\n\t * Creates an instance of TableItem.\n\t * @param {*} [rawData]\n\t * @memberof TableItem\n\t */\n\tconstructor(rawData?: any) {\n\t\t// defaults so we dont leave things empty\n\t\tconst defaults = {\n\t\t\tdata: \"\"\n\t\t};\n\t\t// fill our object with provided props, and fallback to defaults\n\t\tconst data = Object.assign({}, defaults, rawData);\n\t\tthis.data = data.data;\n\t\tthis.expandedData = data.expandedData;\n\t\tthis.template = data.template;\n\t\tthis.expandedTemplate = data.expandedTemplate;\n\t}\n}\n","import {\n\tEventEmitter\n} from \"@angular/core\";\n\nimport { PaginationModel } from \"./../pagination/pagination-model.class\";\nimport { TableHeaderItem } from \"./table-header-item.class\";\nimport { TableItem } from \"./table-item.class\";\n\nexport class TableModel implements PaginationModel {\n\t/**\n\t * Sets data of the table.\n\t *\n\t * Make sure all rows are the same length to keep the column count accurate.\n\t *\n\t * @memberof TableModel\n\t */\n\tset data(newData: Array<Array<TableItem>>) {\n\t\tif (!newData || (Array.isArray(newData) && newData.length === 0) ) {\n\t\t\tnewData = [[]];\n\t\t}\n\n\t\tthis._data = newData;\n\n\t\t// init rowsSelected\n\t\tthis.rowsSelected = new Array<boolean>(this._data.length);\n\t\tthis.rowsExpanded = new Array<boolean>(this._data.length);\n\n\t\t// init rowsContext\n\t\tthis.rowsContext = new Array<string>(this._data.length);\n\n\t\t// only create a fresh header if necessary (header doesn't exist or differs in length)\n\t\tif (this.header == null || (this.header.length !== this._data[0].length && this._data[0].length > 0)) {\n\t\t\tlet header = new Array<TableHeaderItem>();\n\t\t\tfor (let i = 0; i < this._data[0].length; i++) {\n\t\t\t\theader.push(new TableHeaderItem());\n\t\t\t}\n\t\t\tthis.header = header;\n\t\t}\n\n\t\tthis.dataChange.emit();\n\t}\n\n\tdataChange = new EventEmitter();\n\trowsSelectedChange = new EventEmitter();\n\trowsExpandedChange = new EventEmitter();\n\n\t/**\n\t * Gets the full data.\n\t *\n\t * You can use it to alter individual `TableItem`s but if you need to change\n\t * table structure, use `addRow()` and/or `addColumn()`\n\t *\n\t * @readonly\n\t * @memberof TableModel\n\t */\n\tget data() {\n\t\treturn this._data;\n\t}\n\n\t/**\n\t * Contains information about selection state of rows in the table.\n\t *\n\t * @type {Array<boolean>}\n\t * @memberof TableModel\n\t */\n\trowsSelected: Array<boolean>;\n\n\t/**\n\t * Contains information about expanded state of rows in the table.\n\t *\n\t * @type {Array<boolean>}\n\t * @memberof TableModel\n\t */\n\trowsExpanded: Array<boolean>;\n\n\t/**\n\t * Contains information about the context of the row.\n\t *\n\t * It affects styling of the row to reflect the context.\n\t *\n\t * string can be one of `\"success\" | \"warning\" | \"info\" | \"error\" | \"\"` and it's\n\t * empty or undefined by default\n\t *\n\t * @type {Array<string>}\n\t * @memberof TableModel\n\t */\n\trowsContext: Array<string>;\n\n\t/**\n\t * Contains information about the header cells of the table.\n\t *\n\t * @type {Array<TableHeaderItem>}\n\t * @memberof TableModel\n\t */\n\theader: Array<TableHeaderItem>;\n\n\t/**\n\t * Tracks the current page of the table.\n\t *\n\t * @type {number}\n\t * @memberof TableModel\n\t */\n\tcurrentPage: number;\n\n\t/**\n\t * Length of page of the table.\n\t *\n\t * @type {number}\n\t * @memberof TableModel\n\t */\n\tpageLength: number;\n\n\t/**\n\t * Set to true when there is no more data to load in the table\n\t *\n\t * @type {boolean}\n\t * @memberof TableModel\n\t */\n\tisEnd = false;\n\n\t/**\n\t * Set to true when lazy loading to show loading indicator\n\t *\n\t * @type {boolean}\n\t * @memberof TableModel\n\t */\n\tisLoading = false;\n\n\t/**\n\t * Absolute total number of rows of the table.\n\t *\n\t * @protected\n\t * @type {number}\n\t * @memberof TableModel\n\t */\n\tprotected _totalDataLength: number;\n\n\t/**\n\t * Manually set data length in case the data in the table doesn't\n\t * correctly reflect all the data that table is to disply.\n\t *\n\t * Example: if you have multiple pages of data that table will display\n\t * but you're loading one at a time.\n\t *\n\t * Set to `null` to reset to default behaviour.\n\t *\n\t * @memberof TableModel\n\t */\n\tset totalDataLength(length: number) {\n\t\tthis._totalDataLength = length;\n\t}\n\n\t/**\n\t * Total length of data that table has access to, or the amount manually set\n\t *\n\t * @memberof TableModel\n\t */\n\tget totalDataLength() {\n\t\t// if manually set data length\n\t\tif (this._totalDataLength && this._totalDataLength >= 0) {\n\t\t\treturn this._totalDataLength;\n\t\t}\n\n\t\t// if empty dataset\n\t\tif (this.data && this.data.length === 1 && this.data[0].length === 0) {\n\t\t\treturn 0;\n\t\t}\n\n\t\treturn this.data.length;\n\t}\n\n\t/**\n\t * Used in `data`\n\t *\n\t * @protected\n\t * @type {Array<Array<TableItem>>}\n\t * @memberof TableModel\n\t */\n\tprotected _data: Array<Array<TableItem>> = [[]];\n\n\t/**\n\t * Returns how many rows is currently selected\n\t *\n\t * @returns {number}\n\t * @memberof TableModel\n\t */\n\tselectedRowsCount(): number {\n\t\tlet count = 0;\n\t\tif (this.rowsSelected) {\n\t\t\tthis.rowsSelected.forEach(rowSelected => {\n\t\t\t\tif (rowSelected) {\n\t\t\t\t\tcount++;\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\treturn count;\n\t}\n\n\t/**\n\t * Returns how many rows is currently expanded\n\t *\n\t * @returns {number}\n\t * @memberof TableModel\n\t */\n\texpandedRowsCount(): number {\n\t\tlet count = 0;\n\t\tif (this.rowsExpanded) {\n\t\t\tthis.rowsExpanded.forEach(rowExpanded => {\n\t\t\t\tif (rowExpanded) {\n\t\t\t\t\tcount++;\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\treturn count;\n\t}\n\n\t/**\n\t * Returns `index`th row of the table.\n\t *\n\t * Negative index starts from the end. -1 being the last element.\n\t *\n\t * @param {number} index\n\t * @returns {Array<TableItem>}\n\t * @memberof TableModel\n\t */\n\trow(index: number): Array<TableItem> {\n\t\treturn this.data[this.realRowIndex(index)];\n\t}\n\n\t/**\n\t * Adds a row to the `index`th row or appends to table if index not provided.\n\t *\n\t * If row is shorter than other rows or not provided, it will be padded with\n\t * empty `TableItem` elements.\n\t *\n\t * If row is longer than other rows, others will be extended to match so no data is lost.\n\t *\n\t * If called on an empty table with no parameters, it creates a 1x1 table.\n\t *\n\t * Negative index starts from the end. -1 being the last element.\n\t *\n\t * @param {Array<TableItem>} row\n\t * @param {number} [index]\n\t * @memberof TableModel\n\t */\n\taddRow(row?: Array<TableItem>, index?: number) {\n\t\t// if table empty create table with row\n\t\tif (!this.data || this.data.length === 0 || this.data[0].length === 0) {\n\t\t\tlet newData = new Array<Array<TableItem>>();\n\t\t\tnewData.push(row ? row : [new TableItem()]); // row or one empty one column row\n\t\t\tthis.data = newData;\n\n\t\t\treturn;\n\t\t}\n\n\t\tlet realRow = row;\n\t\tconst columnCount = this.data[0].length;\n\n\t\tif (row == null) {\n\t\t\trealRow = new Array<TableItem>();\n\t\t\tfor (let i = 0; i < columnCount; i++) {\n\t\t\t\trealRow.push(new TableItem());\n\t\t\t}\n\t\t}\n\n\t\tif (realRow.length < columnCount) {\n\t\t\t// extend the length of realRow\n\t\t\tconst difference = columnCount - realRow.length;\n\t\t\tfor (let i = 0; i < difference; i++) {\n\t\t\t\trealRow.push(new TableItem());\n\t\t\t}\n\t\t} else if (realRow.length > columnCount) {\n\t\t\t// extend the length of header\n\t\t\tlet difference = realRow.length - this.header.length;\n\t\t\tfor (let j = 0; j < difference; j++) {\n\t\t\t\tthis.header.push(new TableHeaderItem());\n\t\t\t}\n\t\t\t// extend the length of every other row\n\t\t\tfor (let i = 0; i < this.data.length; i++) {\n\t\t\t\tlet currentRow = this.data[i];\n\t\t\t\tdifference = realRow.length - currentRow.length;\n\t\t\t\tfor (let j = 0; j < difference; j++) {\n\t\t\t\t\tcurrentRow.push(new TableItem());\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (index == null) {\n\t\t\tthis.data.push(realRow);\n\n\t\t\t// update rowsSelected property for length\n\t\t\tthis.rowsSelected.push(false);\n\n\t\t\t// update rowsExpanded property for length\n\t\t\tthis.rowsExpanded.push(false);\n\n\t\t\t// update rowsContext property for length\n\t\t\tthis.rowsContext.push(undefined);\n\t\t} else {\n\t\t\tconst ri = this.realRowIndex(index);\n\t\t\tthis.data.splice(ri, 0, realRow);\n\n\t\t\t// update rowsSelected property for length\n\t\t\tthis.rowsSelected.splice(ri, 0, false);\n\n\t\t\t// update rowsExpanded property for length\n\t\t\tthis.rowsExpanded.splice(ri, 0, false);\n\n\t\t\t// update rowsContext property for length\n\t\t\tthis.rowsContext.splice(ri, 0, undefined);\n\t\t}\n\n\t\tthis.dataChange.emit();\n\t}\n\n\t/**\n\t * Deletes `index`th row.\n\t *\n\t * Negative index starts from the end. -1 being the last element.\n\t *\n\t * @param {number} index\n\t * @memberof TableModel\n\t */\n\tdeleteRow(index: number) {\n\t\tconst rri = this.realRowIndex(index);\n\t\tthis.data.splice(rri, 1);\n\t\tthis.rowsSelected.splice(rri, 1);\n\t\tthis.rowsExpanded.splice(rri, 1);\n\t\tthis.rowsContext.splice(rri, 1);\n\n\t\tthis.dataChange.emit();\n\t}\n\n\thasExpandableRows() {\n\t\treturn this.data.some(data => data.some(d => d.expandedData)); // checking for some in 2D array\n\t}\n\n\tisRowExpandable(index: number) {\n\t\treturn this.data[index].some(d => d.expandedData);\n\t}\n\n\t/**\n\t * Returns `index`th column of the table.\n\t *\n\t * Negative index starts from the end. -1 being the last element.\n\t *\n\t * @param {number} index\n\t * @returns {Array<TableItem>}\n\t * @memberof TableModel\n\t */\n\tcolumn(index: number): Array<TableItem> {\n\t\tlet column = new Array<TableItem>();\n\t\tconst ri = this.realColumnIndex(index);\n\t\tconst rc = this.data.length;\n\n\t\tfor (let i = 0; i < rc; i++) {\n\t\t\tconst row = this.data[i];\n\t\t\tcolumn.push(row[ri]);\n\t\t}\n\n\t\treturn column;\n\t}\n\n\t/**\n\t * Adds a column to the `index`th column or appends to table if index not provided.\n\t *\n\t * If column is shorter than other columns or not provided, it will be padded with\n\t * empty `TableItem` elements.\n\t *\n\t * If column is longer than other columns, others will be extended to match so no data is lost.\n\t *\n\t * If called on an empty table with no parameters, it creates a 1x1 table.\n\t *\n\t * Negative index starts from the end. -1 being the last element.\n\t *\n\t * @param {Array<TableItem>} column\n\t * @param {number} [index]\n\t * @memberof TableModel\n\t */\n\taddColumn(column?: Array<TableItem>, index?: number) {\n\t\t// if table empty create table with row\n\t\tif (!this.data || this.data.length === 0 || this.data[0].length === 0) {\n\t\t\tlet newData = new Array<Array<TableItem>>();\n\t\t\tif (column == null) {\n\t\t\t\tnewData.push([new TableItem()]);\n\t\t\t} else {\n\t\t\t\tfor (let i = 0; i < column.length; i++) {\n\t\t\t\t\tlet item = column[i];\n\t\t\t\t\tnewData.push([item]);\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.data = newData;\n\n\t\t\treturn;\n\t\t}\n\n\t\tlet rc = this.data.length; // row count\n\t\tlet ci = this.realColumnIndex(index);\n\n\t\t// append missing rows\n\t\tfor (let i = 0; column != null && i < column.length - rc; i++) {\n\t\t\tthis.addRow();\n\t\t}\n\t\trc = this.data.length;\n\t\tif (index == null) {\n\t\t\t// append to end\n\t\t\tfor (let i = 0; i < rc; i++) {\n\t\t\t\tlet row = this.data[i];\n\t\t\t\trow.push(column == null || column[i] == null ? new TableItem() : column[i]);\n\t\t\t}\n\t\t\t// update header if not already set by user\n\t\t\tif (this.header.length < this.data[0].length) {\n\t\t\t\tthis.header.push(new TableHeaderItem());\n\t\t\t}\n\t\t} else {\n\t\t\tif (index >= this.data[0].length) {\n\t\t\t\t// if trying to append\n\t\t\t\tci++;\n\t\t\t}\n\t\t\t// insert\n\t\t\tfor (let i = 0; i < rc; i++) {\n\t\t\t\tlet row = this.data[i];\n\t\t\t\trow.splice(ci, 0, column == null || column[i] == null ? new TableItem() : column[i]);\n\t\t\t}\n\t\t\t// update header if not already set by user\n\t\t\tif (this.header.length < this.data[0].length) {\n\t\t\t\tthis.header.splice(ci, 0, new TableHeaderItem());\n\t\t\t}\n\t\t}\n\n\t\tthis.dataChange.emit();\n\t}\n\n\t/**\n\t * Deletes `index`th column.\n\t *\n\t * Negative index starts from the end. -1 being the last element.\n\t *\n\t * @param {number} index\n\t * @memberof TableModel\n\t */\n\tdeleteColumn(index: number) {\n\t\tconst rci = this.realColumnIndex(index);\n\t\tconst rowCount = this.data.length;\n\t\tfor (let i = 0; i < rowCount; i++) {\n\t\t\tthis.data[i].splice(rci, 1);\n\t\t}\n\t\t// update header if not already set by user\n\t\tif (this.header.length > this.data[0].length) {\n\t\t\tthis.header.splice(rci, 1);\n\t\t}\n\n\t\tthis.dataChange.emit();\n\t}\n\n\tmoveColumn(indexFrom: number, indexTo: number) {\n\t\tconst headerFrom = this.header[indexFrom];\n\n\t\tthis.addColumn(this.column(indexFrom), indexTo);\n\t\tthis.deleteColumn(indexFrom + (indexTo < indexFrom ? 1 : 0));\n\n\t\tthis.header[indexTo + (indexTo > indexFrom ? -1 : 0)] = headerFrom;\n\t}\n\n\t/**\n\t * Sorts the data currently present in the model based on `compare()`\n\t *\n\t * Direction is set by `ascending` and `descending` properties of `TableHeaderItem`\n\t * in `index`th column.\n\t *\n\t * @param {number} index The column based on which it's sorting\n\t * @memberof TableModel\n\t */\n\tsort(index: number) {\n\t\tthis.pushRowStateToModelData();\n\t\tthis.data.sort((a, b) => (this.header[index].descending ? -1 : 1) * this.header[index].compare(a[index], b[index]));\n\t\tthis.popRowStateFromModelData();\n\t\tthis.header.forEach(column => column.sorted = false);\n\t\tthis.header[index].sorted = true;\n\t}\n\n\t/**\n\t * Appends `rowsSelected` and `rowsExpanded` info to model data.\n\t *\n\t * When sorting rows, do this first so information about row selection\n\t * gets sorted with the other row info.\n\t *\n\t * Call `popRowSelectionFromModelData()` after sorting to make everything\n\t * right with the world again.\n\t *\n\t * @memberof TableModel\n\t */\n\tpushRowStateToModelData() {\n\t\tfor (let i = 0; i < this.data.length; i++) {\n\t\t\tconst rowSelectedMark = new TableItem();\n\t\t\trowSelectedMark.data = this.rowsSelected[i];\n\t\t\tthis.data[i].push(rowSelectedMark);\n\n\t\t\tconst rowExpandedMark = new TableItem();\n\t\t\trowExpandedMark.data = this.rowsExpanded[i];\n\t\t\tthis.data[i].push(rowExpandedMark);\n\n\t\t\tconst rowContext = new TableItem();\n\t\t\trowContext.data = this.rowsContext[i];\n\t\t\tthis.data[i].push(rowContext);\n\t\t}\n\t}\n\n\t/**\n\t * Restores `rowsSelected` from data pushed by `pushRowSelectionToModelData()`\n\t *\n\t * Call after sorting data (if you previously pushed to maintain selection order)\n\t * to make everything right with the world again.\n\t *\n\t * @memberof TableModel\n\t */\n\tpopRowStateFromModelData() {\n\t\tfor (let i = 0; i < this.data.length; i++) {\n\t\t\tthis.rowsContext[i] = this.data[i].pop().data;\n\t\t\tthis.rowsExpanded[i] = !!this.data[i].pop().data;\n\t\t\tthis.rowsSelected[i] = !!this.data[i].pop().data;\n\t\t}\n\t}\n\n\t/**\n\t * Checks if row is filtered out.\n\t *\n\t * @param {number} index\n\t * @returns {boolean} true if any of the filters in header filters out the `index`th row\n\t * @memberof TableModel\n\t */\n\tisRowFiltered(index: number) {\n\t\tconst ind = this.realRowIndex(index);\n\t\treturn this.header.some((item, i) => item.filter(this.row(ind)[i]));\n\t}\n\n\t/**\n\t * Select/deselect `index`th row based on value\n\t *\n\t * @param index\n\t * @param value\n\t */\n\tselectRow(index, value = true) {\n\t\tthis.rowsSelected[index] = value;\n\t\tthis.rowsSelectedChange.emit(index);\n\t}\n\n\t/**\n\t * Expands/Collapses `index`th row based on value\n\t *\n\t * @param index\n\t * @param value\n\t */\n\texpandRow(index, value = true) {\n\t\tthis.rowsExpanded[index] = value;\n\t\tthis.rowsExpandedChange.emit(index);\n\t}\n\n\t/**\n\t * Gets the true index of a row based on it's relative position.\n\t * Like in Python, positive numbers start from the top and\n\t * negative numbers start from the bottom.\n\t *\n\t * @protected\n\t * @param {number} index\n\t * @returns {number}\n\t * @memberof TableModel\n\t */\n\tprotected realRowIndex(index: number): number {\n\t\treturn this.realIndex(index, this.data.length);\n\t}\n\n\t/**\n\t * Gets the true index of a column based on it's relative position.\n\t * Like in Python, positive numbers start from the top and\n\t * negative numbers start from the bottom.\n\t *\n\t * @protected\n\t * @param {number} index\n\t * @returns {number}\n\t * @memberof TableModel\n\t */\n\tprotected realColumnIndex(index: number): number {\n\t\treturn this.realIndex(index, this.data[0].length);\n\t}\n\n\t/**\n\t * Generic function to calculate the real index of something.\n\t * Used by `realRowIndex()` and `realColumnIndex()`\n\t *\n\t * @protected\n\t * @param {number} index\n\t * @param {number} length\n\t * @returns {number}\n\t * @memberof TableModel\n\t */\n\tprotected realIndex(index: number, length: number): number {\n\t\tif (index == null) {\n\t\t\treturn length - 1;\n\t\t} else if (index >= 0) {\n\t\t\treturn index >= length ? length - 1 : index;\n\t\t} else {\n\t\t\treturn -index >= length ? 0 : length + index;\n\t\t}\n\t}\n}\n","import {\n\tComponent,\n\tApplicationRef,\n\tInput,\n\tOutput,\n\tEventEmitter,\n\tViewChildren,\n\tElementRef,\n\tAfterViewInit,\n\tHostListener,\n\tTemplateRef\n} from \"@angular/core\";\nimport { Subscription, fromEvent } from \"rxjs\";\n\nimport { TableModel } from \"./table.module\";\nimport { TableHeaderItem } from \"./table-header-item.class\";\nimport { TableItem } from \"./table-item.class\";\nimport { getScrollbarWidth } from \"../common/utils\";\nimport { getFocusElementList, tabbableSelectorIgnoreTabIndex } from \"../common/tab.service\";\nimport { I18n } from \"./../i18n/i18n.module\";\n\n/**\n * Build your table with this component by extending things that differ from default.\n *\n * demo: [https://angular.carbondesignsystem.com/?selectedKind=Table](https://angular.carbondesignsystem.com/?selectedKind=Table)\n *\n * Instead of the usual write-your-own-html approach you had with `<table>`,\n * carbon table uses model-view-controller approach.\n *\n * Here, you create a view (with built-in controller) and provide it a model.\n * Changes you make to the model are reflected in the view. Provide same model you use\n * in the table to the `<ibm-pagination>` components.\n * They provide a different view over the same data.\n *\n * ## Basic usage\n *\n * ```html\n * <ibm-table [model]=\"model\"></ibm-table>\n * ```\n *\n * ```typescript\n * public model = new TableModel();\n *\n * this.model.data = [\n * \t[new TableItem({data: \"asdf\"}), new TableItem({data: \"qwer\"})],\n * \t[new TableItem({data: \"csdf\"}), new TableItem({data: \"zwer\"})],\n * \t[new TableItem({data: \"bsdf\"}), new TableItem({data: \"swer\"})],\n * \t[new TableItem({data: \"csdf\"}), new TableItem({data: \"twer\"})]\n * ];\n * ```\n *\n * ## Customization\n *\n * If you have custom data in your table, you need a way to display it. You can do that\n * by providing a template to `TableItem`.\n *\n * ```html\n * <ng-template #customTableItemTemplate let-data=\"data\">\n * \t<a [routerLink]=\"data.link\">{{data.name}} {{data.surname}}</a>\n * </ng-template>\n * ```\n *\n * ```typescript\n * customTableItemTemplate: TemplateRef<any>;\n *\n * this.customModel.data = [\n * \t[new TableItem({data: \"asdf\"}), new TableItem({data: {name: \"Lessy\", link: \"/table\"}, template: this.customTableItemTemplate})],\n * \t[new TableItem({data: \"csdf\"}), new TableItem({data: \"swer\"})],\n * \t[new TableItem({data: \"bsdf\"}), new TableItem({data: {name: \"Alice\", surname: \"Bob\"}, template: this.customTableItemTemplate})],\n * \t[new TableItem({data: \"csdf\"}), new TableItem({data: \"twer\"})],\n * ];\n * ```\n *\n * ### Sorting and filtering\n *\n * In case you need custom sorting and/or filtering you should subclass `TableHeaderItem`\n * and override needed functions.\n *\n * ```typescript\n * class FilterableHeaderItem extends TableHeaderItem {\n * \t// custom filter function\n * \tfilter(item: TableItem): boolean {\n * \t\tif (typeof item.data === \"string\" && item.data.toLowerCase().indexOf(this.filterData.data.toLowerCase()) >= 0 ||\n * \t\titem.data.name && item.data.name.toLowerCase().indexOf(this.filterData.data.toLowerCase()) >= 0 ||\n * \t\titem.data.surname && item.data.surname.toLowerCase().indexOf(this.filterData.data.toLowerCase()) >= 0) {\n * \t\t\treturn false;\n * \t\t}\n * \t\treturn true;\n * \t}\n *\n * \tset filterCount(n) {}\n * \tget filterCount() {\n * \t\treturn (this.filterData && this.filterData.data && this.filterData.data.length > 0) ? 1 : 0;\n * \t}\n *\n * \t// used for custom sorting\n * \tcompare(one: TableItem, two: TableItem) {\n * \t\tconst stringOne = (one.data.name || one.data.surname || one.data).toLowerCase();\n * \t\tconst stringTwo = (two.data.name || two.data.surname || two.data).toLowerCase();\n *\n * \t\tif (stringOne > stringTwo) {\n * \t\t\treturn 1;\n * \t\t} else if (stringOne < stringTwo) {\n * \t\t\treturn -1;\n * \t\t} else {\n * \t\t\treturn 0;\n * \t\t}\n * \t}\n * }\n * ```\n *\n * See `TableHeaderItem` class for more information.\n *\n * ## No data template\n *\n * When table has no data to show, it can show a message you provide it instead.\n *\n * ```html\n * <ibm-table [model]=\"model\">No data.</ibm-table>\n * ```\n *\n * ... will show `No data.` message, but you can get creative and provide any template you want\n * to replace table's default `tbody`.\n *\n * ## Use pagination as table footer\n *\n * ```html\n * <ibm-pagination [model]=\"model\" (selectPage)=\"selectPage($event)\"></ibm-pagination>\n * ```\n *\n * `selectPage()` function should fetch the data from backend, create new `data`, apply it to `model.data`,\n * and update `model.currentPage`.\n *\n * If the data your server returns is a two dimensional array of objects, it would look something like this:\n *\n * ```typescript\n * selectPage(page) {\n * \tthis.getPage(page).then((data: Array<Array<any>>) => {\n * \t\t// set the data and update page\n * \t\tthis.model.data = this.prepareData(data);\n * \t\tthis.model.currentPage = page;\n * \t});\n * }\n *\n * protected prepareData(data: Array<Array<any>>) {\n * \t// create new data from the service data\n * \tlet newData = [];\n * \tdata.forEach(dataRow => {\n * \t\tlet row = [];\n * \t\tdataRow.forEach(dataElement => {\n * \t\t\trow.push(new TableItem({\n * \t\t\t\tdata: dataElement,\n * \t\t\t\ttemplate: typeof dataElement === \"string\" ? undefined : this.paginationTableItemTemplate\n * \t\t\t\t// your template can handle all the data types so you don't have to conditionally set it\n * \t\t\t\t// you can also set different templates for different columns based on index\n * \t\t\t}));\n * \t\t});\n * \t\tnewData.push(row);\n * \t});\n * \treturn newData;\n * }\n * ```\n *\n * @export\n * @class Table\n * @implements {AfterContentChecked}\n */\n@Component({\n\tselector: \"ibm-table\",\n\ttemplate: `\n\t<table\n\tclass=\"bx--data-table bx--data-table--sort\"\n\t[ngClass]=\"{\n\t\t'bx--data-table--compact': size === 'sm',\n\t\t'bx--data-table--tall': size === 'lg',\n\t\t'bx--data-table--zebra': striped,\n\t\t'bx--skeleton': skeleton\n\t}\">\n\t\t<thead>\n\t\t\t<tr>\n\t\t\t\t<th\n\t\t\t\t\tclass=\"bx--table-expand\"\n\t\t\t\t\t*ngIf=\"model.hasExpandableRows()\"\n\t\t\t\t\t[ibmDataGridFocus]=\"isDataGrid\"\n\t\t\t\t\t[(columnIndex)]=\"columnIndex\"\n\t\t\t\t\t(click)=\"setExpandIndex($event)\">\n\t\t\t\t</th>\n\t\t\t\t<th\n\t\t\t\t\tclass=\"bx--table-column-checkbox\"\n\t\t\t\t\t*ngIf=\"!skeleton && showSelectionColumn\"\n\t\t\t\t\t[ibmDataGridFocus]=\"isDataGrid\"\n\t\t\t\t\t[(columnIndex)]=\"columnIndex\"\n\t\t\t\t\t(click)=\"setCheckboxIndex()\"\n\t\t\t\t\tstyle=\"width: 10px;\">\n\t\t\t\t\t<ibm-checkbox\n\t\t\t\t\t\tinline=\"true\"\n\t\t\t\t\t\t[size]=\"size !== ('lg' ? 'sm' : 'md')\"\n\t\t\t\t\t\t[(ngModel)]=\"selectAllCheckbox\"\n\t\t\t\t\t\t[indeterminate]=\"selectAllCheckboxSomeSelected\"\n\t\t\t\t\t\t[attr.aria-label]=\"checkboxHeaderLabel | async\"\n\t\t\t\t\t\t(change)=\"onSelectAllCheckboxChange()\">\n\t\t\t\t\t</ibm-checkbox>\n\t\t\t\t</th>\n\t\t\t\t<ng-container *ngFor=\"let column of model.header; let i = index\">\n\t\t\t\t\t<th\n\t\t\t\t\t\t[ngClass]='{\"thead_action\": column.filterTemplate || this.sort.observers.length > 0}'\n\t\t\t\t\t\t*ngIf=\"column.visible\"\n\t\t\t\t\t\t[class]=\"column.className\"\n\t\t\t\t\t\t[ngStyle]=\"column.style\"\n\t\t\t\t\t\t[ibmDataGridFocus]=\"isDataGrid\"\n\t\t\t\t\t\t[(columnIndex)]=\"columnIndex\"\n\t\t\t\t\t\t[draggable]=\"columnsDraggable\"\n\t\t\t\t\t\t(dragstart)=\"columnDragStart($event, i)\"\n\t\t\t\t\t\t(dragend)=\"columnDragEnd($event, i)\"\n\t\t\t\t\t\t(click)=\"setIndex(i)\">\n\t\t\t\t\t\t<span *ngIf=\"skeleton\"></span>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t*ngIf=\"columnsResizable\"\n\t\t\t\t\t\t\tclass=\"column-resize-handle\"\n\t\t\t\t\t\t\t(mousedown)=\"columnResizeStart($event, column)\">\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<button\n\t\t\t\t\t\t\tclass=\"bx--table-sort\"\n\t\t\t\t\t\t\t*ngIf=\"this.sort.observers.length > 0 && column.sortable\"\n\t\t\t\t\t\t\t[attr.aria-label]=\"(column.sorted && column.ascending ? sortDescendingLabel : sortAscendingLabel) | async\"\n\t\t\t\t\t\t\taria-live=\"polite\"\n\t\t\t\t\t\t\t[ngClass]=\"{\n\t\t\t\t\t\t\t\t'bx--table-sort--active': column.sorted,\n\t\t\t\t\t\t\t\t'bx--table-sort--ascending': column.ascending\n\t\t\t\t\t\t\t}\"\n\t\t\t\t\t\t\t(click)=\"sort.emit(i)\">\n\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t*ngIf=\"!column.template\"\n\t\t\t\t\t\t\t\t[title]=\"column.data\"\n\t\t\t\t\t\t\t\ttabindex=\"-1\">\n\t\t\t\t\t\t\t\t{{column.data}}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t<ng-template\n\t\t\t\t\t\t\t\t[ngTemplateOutlet]=\"column.template\" [ngTemplateOutletContext]=\"{data: column.data}\">\n\t\t\t\t\t\t\t</ng-template>\n\t\t\t\t\t\t\t<svg\n\t\t\t\t\t\t\t\tfocusable=\"false\"\n\t\t\t\t\t\t\t\tpreserveAspectRatio=\"xMidYMid meet\"\n\t\t\t\t\t\t\t\tstyle=\"will-change: transform;\"\n\t\t\t\t\t\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\t\t\t\t\t\tclass=\"bx--table-sort__icon\"\n\t\t\t\t\t\t\t\twidth=\"16\"\n\t\t\t\t\t\t\t\theight=\"16\"\n\t\t\t\t\t\t\t\tviewBox=\"0 0 16 16\"\n\t\t\t\t\t\t\t\taria-hidden=\"true\">\n\t\t\t\t\t\t\t\t<path d=\"M12.3 9.3l-3.8 3.8V1h-1v12.1L3.7 9.3 3 10l5 5 5-5z\"></path>\n\t\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t\t<svg\n\t\t\t\t\t\t\t\tfocusable=\"false\"\n\t\t\t\t\t\t\t\tpreserveAspectRatio=\"xMidYMid meet\"\n\t\t\t\t\t\t\t\tstyle=\"will-change: transform;\"\n\t\t\t\t\t\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\t\t\t\t\t\tclass=\"bx--table-sort__icon-unsorted\"\n\t\t\t\t\t\t\t\twidth=\"16\"\n\t\t\t\t\t\t\t\theight=\"16\"\n\t\t\t\t\t\t\t\tviewBox=\"0 0 16 16\"\n\t\t\t\t\t\t\t\taria-hidden=\"true\">\n\t\t\t\t\t\t\t\t<path d=\"M13.8 10.3L12 12.1V2h-1v10.1l-1.8-1.8-.7.7 3 3 3-3zM4.5 2l-3 3 .7.7L4 3.9V14h1V3.9l1.8 1.8.7-.7z\"></path>\n\t\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t</button>\n\t\t\t\t\t\t<span\n\t\t\t\t\t\t\tclass=\"bx--table-header-label\"\n\t\t\t\t\t\t\t*ngIf=\"!skeleton && this.sort.observers.length === 0 || (this.sort.observers.length > 0 && !column.sortable)\">\n\t\t\t\t\t\t\t<span *ngIf=\"!column.template\" [title]=\"column.data\">{{column.data}}</span>\n\t\t\t\t\t\t\t<ng-template\n\t\t\t\t\t\t\t\t[ngTemplateOutlet]=\"column.template\" [ngTemplateOutletContext]=\"{data: column.data}\">\n\t\t\t\t\t\t\t</ng-template>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t[ngClass]=\"{'active': column.filterCount > 0}\"\n\t\t\t\t\t\t\t*ngIf=\"column.filterTemplate\"\n\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\taria-expanded=\"false\"\n\t\t\t\t\t\t\taria-haspopup=\"true\"\n\t\t\t\t\t\t\t[ibmTooltip]=\"column.filterTemplate\"\n\t\t\t\t\t\t\ttrigger=\"click\"\n\t\t\t\t\t\t\t[title]=\"filterTitle | async\"\n\t\t\t\t\t\t\tplacement=\"bottom,top\"\n\t\t\t\t\t\t\t[data]=\"column.filterData\">\n\t\t\t\t\t\t\t<svg\n\t\t\t\t\t\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\t\t\t\t\t\tclass=\"icon--sm\"\n\t\t\t\t\t\t\t\twidth=\"16\"\n\t\t\t\t\t\t\t\theight=\"16\"\n\t\t\t\t\t\t\t\tviewBox=\"0 0 16 16\">\n\t\t\t\t\t\t\t\t<path d=\"M0 0v3l6 8v5h4v-5l6-8V0H0zm9 10.7V15H7v-4.3L1.3 3h13.5L9 10.7z\"/>\n\t\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t\t<span *ngIf=\"column.filterCount > 0\">\n\t\t\t\t\t\t\t\t{{column.filterCount}}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</button>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t*ngIf=\"columnsDraggable && isColumnDragging\"\n\t\t\t\t\t\tclass=\"drop-area\">\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t*ngIf=\"columnDraggedHoverIndex == i && columnDraggedPosition == 'left'\"\n\t\t\t\t\t\t\tclass=\"drop-indicator-left\"></div>\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclass=\"drop-area-left\"\n\t\t\t\t\t\t\t(dragenter)=\"columnDragEnter($event, 'left', i)\"\n\t\t\t\t\t\t\t(dragleave)=\"columnDragLeave($event, 'left', i)\"\n\t\t\t\t\t\t\t(dragover)=\"columnDragover($event, 'left', i)\"\n\t\t\t\t\t\t\t(drop)=\"columnDrop($event, 'left', i)\">\n\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclass=\"drop-area-right\"\n\t\t\t\t\t\t\t(dragenter)=\"columnDragEnter($event, 'right', i)\"\n\t\t\t\t\t\t\t(dragleave)=\"columnDragLeave($event, 'right', i)\"\n\t\t\t\t\t\t\t(dragover)=\"columnDragover($event, 'right', i)\"\n\t\t\t\t\t\t\t(drop)=\"columnDrop($event, 'right', i)\">\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t*ngIf=\"columnDraggedHoverIndex == i && columnDraggedPosition == 'right'\"\n\t\t\t\t\t\t\tclass=\"drop-indicator-right\"></div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</th>\n\t\t\t\t</ng-container>\n\t\t\t\t<th *ngIf=\"!skeleton && stickyHeader\" [ngStyle]=\"{'width': scrollbarWidth + 'px', 'padding': 0, 'border': 0}\">\n\t\t\t\t\t<!--\n\t\t\t\t\t\tScrollbar pushes body to the left so this header column is added to push\n\t\t\t\t\t\tthe title bar the same amount and keep the header and body columns aligned.\n\t\t\t\t\t-->\n\t\t\t\t</th>\n\t\t\t</tr>\n\t\t</thead>\n\t\t<tbody\n\t\t*ngIf=\"!noData; else noDataTemplate\"\n\t\t[ngStyle]=\"{'overflow-y': 'scroll'}\"\n\t\t(scroll)=\"onScroll($event)\">\n\t\t\t<ng-container *ngFor=\"let row of model.data; let i = index\">\n\t\t\t\t<tr *ngIf=\"!model.isRowFiltered(i)\"\n\t\t\t\t\t(click)=\"onRowSelect(i)\"\n\t\t\t\t\t[attr.data-parent-row]=\"(model.isRowExpandable(i) ? 'true' : null)\"\n\t\t\t\t\t[ngClass]=\"{\n\t\t\t\t\t\t'bx--data-table--selected': model.rowsSelected[i],\n\t\t\t\t\t\t'bx--parent-row': model.isRowExpandable(i),\n\t\t\t\t\t\t'bx--expandable-row': model.rowsExpanded[i],\n\t\t\t\t\t\t'tbody_row--selectable': enableSingleSelect,\n\t\t\t\t\t\t'tbody_row--success': !model.rowsSelected[i] && model.rowsContext[i] === 'success',\n\t\t\t\t\t\t'tbody_row--warning': !model.rowsSelected[i] && model.rowsContext[i] === 'warning',\n\t\t\t\t\t\t'tbody_row--info': !model.rowsSelected[i] && model.rowsContext[i] === 'info',\n\t\t\t\t\t\t'tbody_row--error': !model.rowsSelected[i] && model.rowsContext[i] === 'error'\n\t\t\t\t\t}\">\n\t\t\t\t\t<td\n\t\t\t\t\t*ngIf=\"model.hasExpandableRows()\"\n\t\t\t\t\tclass=\"bx--table-expand\"\n\t\t\t\t\t[ibmDataGridFocus]=\"isDataGrid\"\n\t\t\t\t\t[(columnIndex)]=\"columnIndex\"\n\t\t\t\t\t[attr.data-previous-value]=\"(model.rowsExpanded[i] ? 'collapsed' : null)\"\n\t\t\t\t\t(click)=\"setExpandIndex($event)\">\n\t\t\t\t\t\t<button\n\t\t\t\t\t\t*ngIf=\"model.isRowExpandable(i)\"\n\t\t\t\t\t\tclass=\"bx--table-expand__button\"\n\t\t\t\t\t\t[attr.aria-label]=\"expandButtonAriaLabel | async\"\n\t\t\t\t\t\t(click)=\"model.expandRow(i, !model.rowsExpanded[i])\">\n\t\t\t\t\t\t\t<ibm-icon-chevron-right16 innerClass=\"bx--table-expand__svg\"></ibm-icon-chevron-right16>\n\t\t\t\t\t\t</button>\n\t\t\t\t\t</td>\n\t\t\t\t\t<td\n\t\t\t\t\t\t*ngIf=\"!skeleton && showSelectionColumn\"\n\t\t\t\t\t\t[ibmDataGridFocus]=\"isDataGrid\"\n\t\t\t\t\t\t[(columnIndex)]=\"columnIndex\"\n\t\t\t\t\t\t(click)=\"setCheckboxIndex()\">\n\t\t\t\t\t\t<ibm-checkbox\n\t\t\t\t\t\t\tinline=\"true\"\n\t\t\t\t\t\t\t[aria-label]=\"checkboxRowLabel | i18nReplace:getSelectionLabelValue(row) | async\"\n\t\t\t\t\t\t\t[size]=\"size !== ('lg' ? 'sm' : 'md')\"\n\t\t\t\t\t\t\t[(ngModel)]=\"model.rowsSelected[i]\"\n\t\t\t\t\t\t\t(change)=\"onRowCheckboxChange(i)\">\n\t\t\t\t\t\t</ibm-checkbox>\n\t\t\t\t\t</td>\n\t\t\t\t\t<ng-container *ngFor=\"let item of row; let j = index\">\n\t\t\t\t\t\t<td *ngIf=\"model.header[j].visible\"\n\t\t\t\t\t\t\t[class]=\"model.header[j].className\"\n\t\t\t\t\t\t\t[ngStyle]=\"model.header[j].style\"\n\t\t\t\t\t\t\t[ibmDataGridFocus]=\"isDataGrid\"\n\t\t\t\t\t\t\t[(columnIndex)]=\"columnIndex\"\n\t\t\t\t\t\t\t(click)=\"setIndex(j)\">\n\t\t\t\t\t\t\t<ng-container *ngIf=\"!item.template\">{{item.data}}</ng-container>\n\t\t\t\t\t\t\t<ng-template\n\t\t\t\t\t\t\t\t[ngTemplateOutlet]=\"item.template\" [ngTemplateOutletContext]=\"{data: item.data}\">\n\t\t\t\t\t\t\t</ng-template>\n\t\t\t\t\t\t</td>\n\t\t\t\t\t</ng-container>\n\t\t\t\t</tr>\n\t\t\t\t<tr\n\t\t\t\t*ngIf=\"model.rowsExpanded[i] && !model.isRowFiltered(i)\"\n\t\t\t\tclass=\"bx--expandable-row\"\n\t\t\t\tibmExpandedRowHover\n\t\t\t\t[attr.data-child-row]=\"(model.rowsExpanded[i] ? 'true' : null)\">\n\t\t\t\t\t<td\n\t\t\t\t\t\t[ibmDataGridFocus]=\"isDataGrid\"\n\t\t\t\t\t\t[(columnIndex)]=\"columnIndex\"\n\t\t\t\t\t\t[attr.colspan]=\"row.length + 2\"\n\t\t\t\t\t\t(click)=\"setExpandIndex($event)\">\n\t\t\t\t\t\t<ng-container *ngIf=\"!firstExpandedTemplateInRow(row)\">{{firstExpandedDataInRow(row)}}</ng-container>\n\t\t\t\t\t\t<ng-template\n\t\t\t\t\t\t\t[ngTemplateOutlet]=\"firstExpandedTemplateInRow(row)\"\n\t\t\t\t\t\t\t[ngTemplateOutletContext]=\"{data: firstExpandedDataInRow(row)}\">\n\t\t\t\t\t\t</ng-template>\n\t\t\t\t\t</td>\n\t\t\t\t</tr>\n\t\t\t</ng-container>\n\t\t</tbody>\n\t\t<ng-template #noDataTemplate><ng-content></ng-content></ng-template>\n\t\t<tfoot>\n\t\t\t<ng-template\n\t\t\t\t[ngTemplateOutlet]=\"footerTemplate\">\n\t\t\t</ng-template>\n\t\t\t<tr *ngIf=\"this.model.isLoading\">\n\t\t\t\t<td class=\"table_loading-indicator\">\n\t\t\t\t\t<div class=\"bx--loading bx--loading--small\">\n\t\t\t\t\t\t<svg class=\"bx--loading__svg\" viewBox=\"-75 -75 150 150\">\n\t\t\t\t\t\t\t<circle class=\"bx--loading__stroke\" cx=\"0\" cy=\"0\" r=\"37.5\" />\n\t\t\t\t\t\t</svg>\n\t\t\t\t\t</div>\n\t\t\t\t</td>\n\t\t\t</tr>\n\t\t\t<tr *ngIf=\"this.model.isEnd\">\n\t\t\t\t<td class=\"table_end-indicator\">\n\t\t\t\t\t<h5>{{endOfDataText | async}}</h5>\n\t\t\t\t\t<button (click)=\"scrollToTop($event)\" class=\"btn--secondary-sm\">\n\t\t\t\t\t\t{{scrollTopText | async}}\n\t\t\t\t\t</button>\n\t\t\t\t</td>\n\t\t\t</tr>\n\t\t</tfoot>\n\t</table>\n\t`\n})\nexport class Table implements AfterViewInit {\n\t/**\n\t * Creates a skeleton model with a row and column count specified by the user\n\t *\n\t * Example:\n\t *\n\t * ```typescript\n\t * this.model = Table.skeletonModel(5, 5);\n\t * ```\n\t *\n\t * @param {number} rowCount\n\t * @param {number} columnCount\n\t */\n\tstatic skeletonModel(rowCount: number, columnCount: number) {\n\t\tconst model = new TableModel();\n\t\tlet header = new Array<TableHeaderItem>();\n\t\tlet data = new Array<Array<TableItem>>();\n\t\tlet row = new Array<TableItem>();\n\n\t\tfor (let i = 0; i < columnCount; i++) {\n\t\t\theader.push(new TableHeaderItem());\n\t\t\trow.push(new TableItem());\n\t\t}\n\t\tfor (let i = 0; i < rowCount - 1; i++) {\n\t\t\tdata.push(row);\n\t\t}\n\n\t\tmodel.header = header;\n\t\tmodel.data = data;\n\t\treturn model;\n\t}\n\n\tstatic setTabIndex(element: HTMLElement, index: -1 | 0) {\n\t\tconst focusElementList = getFocusElementList(element, tabbableSelectorIgnoreTabIndex);\n\t\tif (element.firstElementChild && element.firstElementChild.classList.contains(\"bx--table-sort\")) {\n\t\t\tfocusElementList[1].tabIndex = index;\n\t\t} else if (focusElementList.length > 0) {\n\t\t\tfocusElementList[0].tabIndex = index;\n\t\t} else {\n\t\t\telement.tabIndex = index;\n\t\t}\n\t}\n\n\t/**\n\t * Size of the table rows.\n\t *\n\t * @type {(\"sm\" | \"md\" | \"lg\")}\n\t */\n\t@Input() size: \"sm\" | \"md\" | \"lg\" = \"md\";\n\t/**\n\t * Set to `true` for a loading table.\n\t */\n\t@Input() skeleton = false;\n\t/**\n\t * Set to `true` for a data grid with keyboard interactions.\n\t */\n\t@Input() isDataGrid = false;\n\n\t/**\n\t * `TableModel` with data the table is to display.\n\t *\n\t * @type {TableModel}\n\t */\n\t@Input()\n\tset model(m: TableModel) {\n\t\tif (this._model) {\n\t\t\tthis._model.dataChange.unsubscribe();\n\t\t\tthis._model.rowsSelectedChange.unsubscribe();\n\t\t}\n\n\t\tthis._model = m;\n\t\tthis._model.rowsSelectedChange.subscribe(() => this.updateSelectAllCheckbox());\n\t\tthis._model.dataChange.subscribe(() => {\n\t\t\tthis.updateSelectAllCheckbox();\n\t\t\tif (this.isDataGrid) {\n\t\t\t\tthis.handleTabIndex();\n\t\t\t}\n\t\t});\n\t\tif (this.isDataGrid) {\n\t\t\tthis._model.rowsExpandedChange.subscribe(() => {\n\t\t\t\t// Allows the expanded row to have a focus state when it exists in the DOM\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tconst expandedRows = this.elementRef.nativeElement.querySelectorAll(\".bx--expandable-row:not(.bx--parent-row)\");\n\t\t\t\t\tArray.from<any>(expandedRows).forEach(row => {\n\t\t\t\t\t\tif (row.firstElementChild.tabIndex === undefined || row.firstElementChild.tabIndex !== -1) {\n\t\t\t\t\t\t\trow.firstElementChild.tabIndex = -1;\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t});\n\t\t}\n\t}\n\n\tget model(): TableModel {\n\t\treturn this._model;\n\t}\n\n\t/**\n\t * Controls whether to show the selection checkboxes column or not.\n\t *\n\t * @deprecated in the next major carbon-components-angular version in favour of\n\t * `showSelectionColumn` because of new attribute `enableSingleSelect`\n\t * please use `showSelectionColumn` instead\n\t */\n\t@Input()\n\tset enableRowSelect(value: boolean) {\n\t\tthis.showSelectionColumn = value;\n\t}\n\n\tget enableRowSelect () {\n\t\treturn this.showSelectionColumn;\n\t}\n\n\t/**\n\t * Controls whether to show the selection checkboxes column or not.\n\t *\n\t * @type {boolean}\n\t */\n\t@Input() showSelectionColumn = true;\n\n\t/**\n\t * Controls whether to enable multiple or single row selection.\n\t *\n\t * @type {boolean}\n\t */\n\t@Input() enableSingleSelect = false;\n\n\t/**\n\t * Distance (in px) from the bottom that view has to reach before\n\t * `scrollLoad` event is emitted.\n\t *\n\t * @type {number}\n\t */\n\t@Input() scrollLoadDistance = 0;\n\n\t/**\n\t * Set to `true` to enable users to resize columns.\n\t *\n\t * Works for columns with width set in pixels.\n\t *\n\t */\n\t@Input() columnsResizable = false;\n\n\t/**\n\t * Set to `true` to enable users to drag and drop columns.\n\t *\n\t * Changing the column order in table changes table model. Be aware of it when you add additional data\n\t * to the model.\n\t *\n\t */\n\t@Input() columnsDraggable = false;\n\n\t@Input()\n\tset expandButtonAriaLabel(value) {\n\t\tthis._expandButtonAriaLabel.next(value);\n\t}\n\tget expandButtonAriaLabel() {\n\t\treturn this._expandButtonAriaLabel;\n\t}\n\t@Input()\n\tset sortDescendingLabel(value) {\n\t\tthis._sortDescendingLabel.next(value);\n\t}\n\tget sortDescendingLabel() {\n\t\treturn this._sortDescendingLabel;\n\t}\n\t@Input()\n\tset sortAscendingLabel(value) {\n\t\tthis._sortAscendingLabel.next(value);\n\t}\n\tget sortAscendingLabel() {\n\t\treturn this._sortAscendingLabel;\n\t}\n\n\t/**\n\t * Expects an object that contains some or all of:\n\t * ```\n\t * {\n\t *\t\t\"FILTER\": \"Filter\",\n\t *\t\t\"END_OF_DATA\": \"You've reached the end of your content\",\n\t *\t\t\"SCROLL_TOP\": \"Scroll to top\",\n\t *\t\t\"CHECKBOX_HEADER\": \"Select all rows\",\n\t *\t\t\"CHECKBOX_ROW\": \"Select row\"\n\t * }\n\t * ```\n\t */\n\t@Input()\n\tset translations (value) {\n\t\tif (value.FILTER) {\n\t\t\tthis.filterTitle.next(value.FILTER);\n\t\t}\n\t\tif (value.END_OF_DATA) {\n\t\t\tthis.endOfDataText.next(value.END_OF_DATA);\n\t\t}\n\t\tif (value.SCROLL_TOP) {\n\t\t\tthis.scrollTopText.next(value.SCROLL_TOP);\n\t\t}\n\t\tif (value.CHECKBOX_HEADER) {\n\t\t\tthis.checkboxHeaderLabel.next(value.CHECKBOX_HEADER);\n\t\t}\n\t\tif (value.CHECKBOX_ROW) {\n\t\t\tthis.checkboxRowLabel.next(value.CHECKBOX_ROW);\n\t\t}\n\t}\n\n\tcheckboxHeaderLabel = this.i18n.get(\"TABLE.CHECKBOX_HEADER\");\n\tcheckboxRowLabel = this.i18n.get(\"TABLE.CHECKBOX_ROW\");\n\tendOfDataText = this.i18n.get(\"TABLE.END_OF_DATA\");\n\tscrollTopText = this.i18n.get(\"TABLE.SCROLL_TOP\");\n\tfilterTitle = this.i18n.get(\"TABLE.FILTER\");\n\n\t/**\n\t * Controls if all checkboxes are viewed as selected.\n\t *\n\t * @type {boolean}\n\t */\n\tselectAllCheckbox = false;\n\n\t/**\n\t * Controls the indeterminate state of the header checkbox.\n\t *\n\t * @type {boolean}\n\t */\n\tselectAllCheckboxSomeSelected = false;\n\n\t/**\n\t * Set to `false` to remove table rows (zebra) stripes.\n\t *\n\t * @type {boolean}\n\t */\n\t@Input() striped = true;\n\n\t/**\n\t * Set to `true` to stick the header to the top of the table\n\t */\n\t@Input() stickyHeader = false;\n\n\t/**\n\t * Set footer template to customize what is displayed in the tfoot section of the table\n\t */\n\t@Input() footerTemplate: TemplateRef<any>;\n\n\t/**\n\t * Used to populate the row selection checkbox label with a useful value if set.\n\t *\n\t * Example:\n\t * ```\n\t * <ibm-table [selectionLabelColumn]=\"0\"></ibm-table>\n\t * <!-- results in aria-label=\"Select first column value\"\n\t * (where \"first column value\" is the value of the first column in the row -->\n\t * ```\n\t */\n\t@Input() selectionLabelColumn: number;\n\n\t/**\n\t * Emits an index of the column that wants to be sorted.\n\t *\n\t */\n\t@Output() sort = new EventEmitter<number>();\n\n\t/**\n\t * Emits if all rows are selected.\n\t *\n\t * @param {TableModel} model\n\t */\n\t@Output() selectAll = new EventEmitter<Object>();\n\n\t/**\n\t * Emits if all rows are deselected.\n\t *\n\t * @param {TableModel} model\n\t */\n\t@Output() deselectAll = new EventEmitter<Object>();\n\n\t/**\n\t * Emits if a single row is selected.\n\t *\n\t * @param {Object} ({model: this.model, selectedRowIndex: index})\n\t */\n\t@Output() selectRow = new EventEmitter<Object>();\n\n\t/**\n\t * Emits if a single row is deselected.\n\t *\n\t * @param {Object} ({model: this.model, deselectedRowIndex: index})\n\t */\n\t@Output() deselectRow = new EventEmitter<Object>();\n\n\t/**\n\t * Emits when table requires more data to be loaded.\n\t *\n\t * @param {TableModel} model\n\t */\n\t@Output() scrollLoad = new EventEmitter<TableModel>();\n\n\tget noData() {\n\t\treturn !this.model.data ||\n\t\t\tthis.model.data.length === 0 ||\n\t\t\tthis.model.data.length === 1 && this.model.data[0].length === 0;\n\t}\n\n\tcolumnIndex = 0;\n\n\tprotected _model: TableModel;\n\n\tprotected _expandButtonAriaLabel = this.i18n.get(\"TABLE.EXPAND_BUTTON\");\n\tprotected _sortDescendingLabel = this.i18n.get(\"TABLE.SORT_DESCENDING\");\n\tprotected _sortAscendingLabel = this.i18n.get(\"TABLE.SORT_ASCENDING\");\n\n\tprotected columnResizeWidth: number;\n\tprotected columnResizeMouseX: number;\n\tprotected mouseMoveSubscription: Subscription;\n\tprotected mouseUpSubscription: Subscription;\n\n\tprotected isColumnDragging = false;\n\tprotected columnDraggedHoverIndex = -1;\n\tprotected columnDraggedPosition = \"\";\n\n\t/**\n\t * Creates an instance of Table.\n\t *\n\t * @param {ApplicationRef} applicationRef\n\t */\n\tconstructor(protected elementRef: ElementRef, protected applicationRef: ApplicationRef, protected i18n: I18n) {}\n\n\tngAfterViewInit() {\n\t\tif (this.isDataGrid) {\n\t\t\tthis.handleTabIndex();\n\t\t}\n\t}\n\n\tcolumnResizeStart(event, column) {\n\t\tthis.columnResizeWidth = parseInt(column.style.width, 10);\n\t\tthis.columnResizeMouseX = event.clientX;\n\t\tevent.preventDefault();\n\n\t\tthis.mouseMoveSubscription = fromEvent(document.body, \"mousemove\").subscribe(event => {\n\t\t\tthis.columnResizeProgress(event, column);\n\t\t});\n\t\tthis.mouseUpSubscription = fromEvent(document.body, \"mouseup\").subscribe(event => {\n\t\t\tthis.columnResizeEnd(event, column);\n\t\t});\n\t}\n\n\tcolumnResizeProgress(event, column) {\n\t\tconst move = event.clientX - this.columnResizeMouseX;\n\t\tcolumn.style.width = `${this.columnResizeWidth + move}px`;\n\t}\n\n\tcolumnResizeEnd(event, column) {\n\t\tthis.mouseMoveSubscription.unsubscribe();\n\t\tthis.mouseUpSubscription.unsubscribe();\n\t}\n\n\tonRowSelect(index: number) {\n\t\tif (!this.showSelectionColumn && this.enableSingleSelect) {\n\t\t\tthis.model.rowsSelected.forEach((element, index) => {\n\t\t\t\tthis.model.selectRow(index, false);\n\t\t\t});\n\t\t\tthis.model.selectRow(index, !this.model.rowsSelected[index]);\n\t\t\tthis.onRowCheckboxChange(index);\n\t\t}\n\t}\n\n\tupdateSelectAllCheckbox() {\n\t\tconst selectedRowsCount = this.model.selectedRowsCount();\n\n\t\tif (selectedRowsCount <= 0) {\n\t\t\t// reset select all checkbox if nothing selected\n\t\t\tthis.selectAllCheckbox = false;\n\t\t\tthis.selectAllCheckboxSomeSelected = false;\n\t\t} else if (selectedRowsCount < this.model.data.length) {\n\t\t\tthis.selectAllCheckboxSomeSelected = true;\n\t\t}\n\t}\n\n\t/**\n\t * Triggered whenever the header checkbox is clicked.\n\t * Updates all the checkboxes in the table view.\n\t * Emits the `selectAll` or `deselectAll` event.\n\t *\n\t */\n\tonSelectAllCheckboxChange() {\n\t\tthis.applicationRef.tick(); // give app time to process the click if needed\n\n\t\tif (this.selectAllCheckboxSomeSelected) {\n\t\t\tthis.selectAllCheckbox = false; // clear all boxes\n\t\t\tthis.deselectAll.emit(this.model);\n\t\t} else if (this.selectAllCheckbox) {\n\t\t\tthis.selectAll.emit(this.model);\n\t\t} else {\n\t\t\tthis.deselectAll.emit(this.model);\n\t\t}\n\n\t\tthis.selectAllCheckboxSomeSelected = false;\n\n\t\tfor (let i = 0; i < this.model.rowsSelected.length; i++) {\n\t\t\tthis.model.rowsSelected[i] = this.selectAllCheckbox;\n\t\t}\n\t}\n\n\t/**\n\t * Triggered when a single row is clicked.\n\t * Updates the header checkbox state.\n\t * Emits the `selectRow` or `deselectRow` event.\n\t *\n\t * @param {number} index\n\t * @returns\n\t */\n\tonRowCheckboxChange(index: number) {\n\t\tlet startValue = this.model.rowsSelected[0];\n\n\t\tif (this.model.rowsSelected[index]) {\n\t\t\tthis.selectRow.emit({model: this.model, selectedRowIndex: index});\n\t\t} else {\n\t\t\tthis.deselectRow.emit({model: this.model, deselectedRowIndex: index});\n\t\t}\n\n\t\tfor (let i = 1; i < this.model.rowsSelected.length; i++) {\n\t\t\tlet one = this.model.rowsSelected[i];\n\n\t\t\tif (!!one !== !!startValue) { // !! essentially converts to boolean and we want undefined to be false\n\t\t\t\t// set indeterminate\n\t\t\t\tthis.selectAllCheckbox = false;\n\t\t\t\tthis.selectAllCheckboxSomeSelected = true;\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\tthis.selectAllCheckboxSomeSelected = false;\n\t\tthis.selectAllCheckbox = startValue;\n\t}\n\n\t/**\n\t * Triggered when the user scrolls on the `<tbody>` element.\n\t * Emits the `scrollLoad` event.\n\t *\n\t * @param {any} event\n\t */\n\tonScroll(event) {\n\t\tconst distanceFromBottom = event.target.scrollHeight - event.target.clientHeight - event.target.scrollTop;\n\n\t\tif (distanceFromBottom <= this.scrollLoadDistance) {\n\t\t\tthis.scrollLoad.emit(this.model);\n\t\t} else {\n\t\t\tthis.model.isEnd = false;\n\t\t}\n\t}\n\n\tcolumnDragStart(event, columnIndex) {\n\t\tthis.isColumnDragging = true;\n\t\tthis.columnDraggedHoverIndex = columnIndex;\n\t\tevent.dataTransfer.setData(\"columnIndex\", JSON.stringify(columnIndex));\n\t}\n\n\tcolumnDragEnd(event, columnIndex) {\n\t\tthis.isColumnDragging = false;\n\t\tthis.columnDraggedHoverIndex = -1;\n\t}\n\n\tcolumnDragEnter(event, position, columnIndex) {\n\t\tthis.columnDraggedPosition = position;\n\t\tthis.columnDraggedHoverIndex = columnIndex;\n\t}\n\n\tcolumnDragLeave(event, position, columnIndex) {\n\t\tthis.columnDraggedPosition = \"\";\n\t}\n\n\tcolumnDragover(event, position, columnIndex) {\n\t\tthis.columnDraggedHoverIndex = columnIndex;\n\t\tthis.columnDraggedPosition = position;\n\n\t\t// needed to tell browser to allow dropping\n\t\tevent.preventDefault();\n\t}\n\n\tcolumnDrop(event, position, columnIndex) {\n\t\tthis.isColumnDragging = false;\n\t\tthis.columnDraggedHoverIndex = -1;\n\t\tthis.columnDraggedPosition = \"\";\n\n\t\tthis.model.moveColumn(\n\t\t\tparseInt(event.dataTransfer.getData(\"columnIndex\"), 10),\n\t\t\tcolumnIndex + (position === \"right\" ? 1 : 0)\n\t\t);\n\t}\n\n\tget scrollbarWidth() {\n\t\treturn getScrollbarWidth();\n\t}\n\n\tfirstExpandedDataInRow(row) {\n\t\tconst found = row.find(d => d.expandedData);\n\t\tif (found) {\n\t\t\treturn found.expandedData;\n\t\t}\n\t\treturn found;\n\t}\n\n\tfirstExpandedTemplateInRow(row) {\n\t\tconst found = row.find(d => d.expandedTemplate);\n\t\tif (found) {\n\t\t\treturn found.expandedTemplate;\n\t\t}\n\t\treturn found;\n\t}\n\t/**\n\t * Triggered when the user scrolls on the `<tbody>` element.\n\t * Emits the `scrollLoad` event.\n\t *\n\t * @param {any} event\n\t */\n\tscrollToTop(event) {\n\t\tevent.target.parentElement.parentElement.parentElement.parentElement.children[1].scrollTop = 0;\n\t\tthis.model.isEnd = false;\n\t}\n\n\thandleTabIndex() {\n\t\tsetTimeout(() => {\n\t\t\tconst focusElementList = getFocusElementList(this.elementRef.nativeElement, tabbableSelectorIgnoreTabIndex);\n\t\t\tif (focusElementList.length > 0) {\n\t\t\t\tfocusElementList.forEach(tabbable => {\n\t\t\t\t\ttabbable.tabIndex = -1;\n\t\t\t\t});\n\t\t\t}\n\t\t\tArray.from<HTMLElement>(this.elementRef.nativeElement.querySelectorAll(\"td, th\")).forEach(cell => Table.setTabIndex(cell, -1));\n\n\t\t\tconst rows = this.elementRef.nativeElement.firstElementChild.rows;\n\t\t\tif (Array.from(rows[0].querySelectorAll(\"th\")).some(th => getFocusElementList(th, tabbableSelectorIgnoreTabIndex).length > 0)) {\n\t\t\t\tTable.setTabIndex(rows[0].querySelector(\"th\"), 0);\n\t\t\t} else {\n\t\t\t\tTable.setTabIndex(rows[1].querySelector(\"td\"), 0);\n\t\t\t}\n\t\t});\n\t}\n\n\tsetIndex(columnIndex) {\n\t\tif (this.model.hasExpandableRows() && this.showSelectionColumn) {\n\t\t\tthis.columnIndex = columnIndex + 2;\n\t\t} else if (this.model.hasExpandableRows() || this.showSelectionColumn) {\n\t\t\tthis.columnIndex = columnIndex + 1;\n\t\t}\n\t}\n\n\tsetCheckboxIndex() {\n\t\tif (this.model.hasExpandableRows()) {\n\t\t\tthis.columnIndex = 1;\n\t\t} else {\n\t\t\tthis.columnIndex = 0;\n\t\t}\n\t}\n\n\tsetExpandIndex(event) {\n\t\tthis.columnIndex = 0;\n\t}\n\n\tgetSelectionLabelValue(row: TableItem[]) {\n\t\tif (!this.selectionLabelColumn) {\n\t\t\treturn { value: this.i18n.get().TABLE.ROW };\n\t\t}\n\t\treturn { value: row[this.selectionLabelColumn].data };\n\t}\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule } from \"@angular/forms\";\nimport { ChevronRight16Module } from \"@carbon/icons-angular/lib/chevron--right/16\";\n\nimport { DialogModule } from \"./../dialog/dialog.module\";\nimport { NFormsModule } from \"./../forms/forms.module\";\n\nimport { Table } from \"./table.component\";\nimport { TableToolbar } from \"./toolbar/table-toolbar.component\";\nimport { TableToolbarActions } from \"./toolbar/table-toolbar-actions.component\";\nimport { TableToolbarSearch } from \"./toolbar/table-toolbar-search.component\";\nimport { TableToolbarContent } from \"./toolbar/table-toolbar-content.component\";\nimport { DataGridFocus } from \"./data-grid-focus.directive\";\nimport { ExpandedRowHover } from \"./expanded-row-hover.directive\";\n\nimport { I18nModule } from \"./../i18n/i18n.module\";\n\nexport { Table } from \"./table.component\";\nexport { TableModel } from \"./table-model.class\";\nexport { TableItem } from \"./table-item.class\";\nexport { TableHeaderItem } from \"./table-header-item.class\";\n\nexport { TableToolbar } from \"./toolbar/table-toolbar.component\";\nexport { TableToolbarActions } from \"./toolbar/table-toolbar-actions.component\";\nexport { TableToolbarSearch } from \"./toolbar/table-toolbar-search.component\";\nexport { TableToolbarContent } from \"./toolbar/table-toolbar-content.component\";\nexport { DataGridFocus } from \"./data-grid-focus.directive\";\nexport { ExpandedRowHover } from \"./expanded-row-hover.directive\";\n\n@NgModule({\n\tdeclarations: [\n\t\tTable,\n\t\tTableToolbar,\n\t\tTableToolbarActions,\n\t\tTableToolbarSearch,\n\t\tTableToolbarContent,\n\t\tDataGridFocus,\n\t\tExpandedRowHover\n\t],\n\texports: [\n\t\tTable,\n\t\tTableToolbar,\n\t\tTableToolbarActions,\n\t\tTableToolbarSearch,\n\t\tTableToolbarContent,\n\t\tDataGridFocus,\n\t\tExpandedRowHover\n\t],\n\timports: [\n\t\tCommonModule,\n\t\tNFormsModule,\n\t\tFormsModule,\n\t\tDialogModule,\n\t\tI18nModule,\n\t\tChevronRight16Module\n\t]\n})\nexport class TableModule {}\n","\n export var withStorySource = require('@storybook/addon-storysource').withStorySource;\n export var __STORY__ = \"import { PaginationModule } from './../pagination/pagination.module';\\nimport { TemplateRef, Component, ViewChild, OnInit, Input, OnChanges, SimpleChanges } from '@angular/core';\\nimport { storiesOf, moduleMetadata } from '@storybook/angular';\\nimport { withKnobs, boolean, select, number } from '@storybook/addon-knobs/angular';\\n\\nimport {\\n Table,\\n TableModule,\\n TableModel,\\n TableItem,\\n TableHeaderItem,\\n NFormsModule,\\n DialogModule,\\n SearchModule,\\n ButtonModule,\\n} from '../';\\n\\nimport { clone } from '../utils/utils';\\n\\n@Component({\\n selector: 'app-table',\\n template: `\\n <ibm-table\\n [model]=\\\"model\\\"\\n [size]=\\\"size\\\"\\n [showSelectionColumn]=\\\"showSelectionColumn\\\"\\n [striped]=\\\"striped\\\"\\n [isDataGrid]=\\\"isDataGrid\\\"\\n (sort)=\\\"simpleSort($event)\\\"\\n >\\n <ng-content></ng-content>\\n </ibm-table>\\n `,\\n})\\nclass TableStory implements OnInit, OnChanges {\\n @Input() model = new TableModel();\\n @Input() size = 'md';\\n @Input() showSelectionColumn = true;\\n @Input() striped = true;\\n @Input() sortable = true;\\n @Input() isDataGrid = false;\\n\\n ngOnInit() {\\n this.model.header = [\\n new TableHeaderItem({\\n data: 'Name',\\n }),\\n new TableHeaderItem({\\n data: 'hwer',\\n className: 'my-class',\\n }),\\n ];\\n }\\n\\n ngOnChanges(changes: SimpleChanges): void {\\n if (changes.sortable) {\\n for (let column of this.model.header) {\\n column.sortable = changes.sortable.currentValue;\\n }\\n }\\n }\\n\\n simpleSort(index: number) {\\n sort(simpleModel, index);\\n }\\n}\\n\\n@Component({\\n selector: 'app-custom-table',\\n template: `\\n <button class=\\\"bx--btn bx--btn--sm bx--btn--primary\\\" (click)=\\\"addRow()\\\">Add row</button>\\n <button class=\\\"bx--btn bx--btn--sm bx--btn--primary\\\" (click)=\\\"addColumn()\\\">Add column</button>\\n\\n <ng-template #customTableItemTemplate let-data=\\\"data\\\">\\n <a [attr.href]=\\\"data.link\\\">{{ data.name }} {{ data.surname }}</a>\\n </ng-template>\\n <ng-template #customHeaderTemplate let-data=\\\"data\\\">\\n <i\\n ><a [attr.href]=\\\"data.link\\\">{{ data.name }}</a></i\\n >\\n </ng-template>\\n\\n <ibm-table\\n [model]=\\\"model\\\"\\n [size]=\\\"size\\\"\\n [showSelectionColumn]=\\\"showSelectionColumn\\\"\\n [striped]=\\\"striped\\\"\\n [isDataGrid]=\\\"isDataGrid\\\"\\n (sort)=\\\"customSort($event)\\\"\\n >\\n </ibm-table>\\n `,\\n})\\nclass DynamicTableStory implements OnInit {\\n @Input() model = new TableModel();\\n @Input() size = 'md';\\n @Input() showSelectionColumn = true;\\n @Input() striped = true;\\n @Input() isDataGrid = false;\\n\\n @ViewChild('customHeaderTemplate')\\n protected customHeaderTemplate: TemplateRef<any>;\\n @ViewChild('customTableItemTemplate')\\n protected customTableItemTemplate: TemplateRef<any>;\\n\\n ngOnInit() {\\n this.model.data = [\\n [\\n new TableItem({ data: 'Name 1' }),\\n new TableItem({ data: { name: 'Lessy', link: '/table' }, template: this.customTableItemTemplate }),\\n ],\\n [new TableItem({ data: 'Name 3' }), new TableItem({ data: 'swer' })],\\n [\\n new TableItem({ data: 'Name 2' }),\\n new TableItem({ data: { name: 'Alice', surname: 'Bob' }, template: this.customTableItemTemplate }),\\n ],\\n [new TableItem({ data: 'Name 4' }), new TableItem({ data: 'twer' })],\\n ];\\n this.model.header = [\\n new TableHeaderItem({ data: 'Very long title indeed' }),\\n new CustomHeaderItem({\\n data: { name: 'Custom header', link: '/table' },\\n template: this.customHeaderTemplate,\\n style: { width: 'auto' },\\n }),\\n ];\\n }\\n\\n customSort(index: number) {\\n this.sort(this.model, index);\\n }\\n\\n sort(model, index: number) {\\n if (model.header[index].sorted) {\\n // if already sorted flip sorting direction\\n model.header[index].ascending = model.header[index].descending;\\n }\\n model.sort(index);\\n }\\n\\n addRow() {\\n const lastRowCopy = clone(this.model.row(this.model.data.length - 1));\\n this.model.addRow(lastRowCopy);\\n }\\n\\n addColumn() {\\n let column = Array(this.model.data.length).fill(new TableItem({ data: `Column ${this.model.row(0).length}` }));\\n this.model.addColumn(column);\\n }\\n}\\n\\n@Component({\\n selector: 'app-expansion-table',\\n template: `\\n <ng-template #customTableItemTemplate let-data=\\\"data\\\">\\n <a [attr.href]=\\\"data.link\\\">{{ data.name }} {{ data.surname }}</a>\\n </ng-template>\\n <ng-template #customHeaderTemplate let-data=\\\"data\\\">\\n <i\\n ><a [attr.href]=\\\"data.link\\\">{{ data.name }}</a></i\\n >\\n </ng-template>\\n\\n <ibm-table\\n [model]=\\\"model\\\"\\n [size]=\\\"size\\\"\\n [showSelectionColumn]=\\\"showSelectionColumn\\\"\\n [striped]=\\\"striped\\\"\\n (sort)=\\\"customSort($event)\\\"\\n [isDataGrid]=\\\"isDataGrid\\\"\\n >\\n </ibm-table>\\n `,\\n})\\nclass ExpansionTableStory implements OnInit {\\n @Input() model = new TableModel();\\n @Input() size = 'md';\\n @Input() showSelectionColumn = true;\\n @Input() striped = true;\\n @Input() isDataGrid = false;\\n\\n @ViewChild('customHeaderTemplate')\\n protected customHeaderTemplate: TemplateRef<any>;\\n @ViewChild('customTableItemTemplate')\\n protected customTableItemTemplate: TemplateRef<any>;\\n\\n ngOnInit() {\\n this.model.data = [\\n [\\n new TableItem({ data: 'Name 1', expandedData: 'No template' }),\\n new TableItem({ data: { name: 'Lessy', link: '#' }, template: this.customTableItemTemplate }),\\n ],\\n [\\n new TableItem({\\n data: 'Name 3',\\n expandedData: { name: 'In', surname: 'Template' },\\n expandedTemplate: this.customTableItemTemplate,\\n }),\\n new TableItem({ data: 'swer' }),\\n ],\\n [\\n new TableItem({ data: 'Name 2' }),\\n new TableItem({ data: { name: 'Alice', surname: 'Bob' }, template: this.customTableItemTemplate }),\\n ],\\n [new TableItem({ data: 'Name 4' }), new TableItem({ data: 'twer' })],\\n ];\\n this.model.header = [\\n new TableHeaderItem({ data: 'Very long title indeed' }),\\n new CustomHeaderItem({\\n data: { name: 'Custom header', link: '#' },\\n template: this.customHeaderTemplate,\\n style: { width: 'auto' },\\n }),\\n ];\\n }\\n\\n customSort(index: number) {\\n this.sort(this.model, index);\\n }\\n\\n sort(model, index: number) {\\n if (model.header[index].sorted) {\\n // if already sorted flip sorting direction\\n model.header[index].ascending = model.header[index].descending;\\n }\\n model.sort(index);\\n }\\n}\\n\\n@Component({\\n selector: 'app-overflow-table',\\n template: `\\n <ng-template #overflowMenuItemTemplate let-data=\\\"data\\\">\\n <ibm-overflow-menu>\\n <ibm-overflow-menu-option>\\n First Option\\n </ibm-overflow-menu-option>\\n <ibm-overflow-menu-option>\\n Second Option\\n </ibm-overflow-menu-option>\\n <ibm-overflow-menu-option>\\n Third Option\\n </ibm-overflow-menu-option>\\n </ibm-overflow-menu>\\n </ng-template>\\n\\n <ibm-table\\n [model]=\\\"model\\\"\\n [size]=\\\"size\\\"\\n [showSelectionColumn]=\\\"showSelectionColumn\\\"\\n [isDataGrid]=\\\"isDataGrid\\\"\\n [striped]=\\\"striped\\\"\\n >\\n </ibm-table>\\n `,\\n})\\nclass OverflowTableStory implements OnInit {\\n @Input() model = new TableModel();\\n @Input() size = 'md';\\n @Input() showSelectionColumn = true;\\n @Input() striped = true;\\n @Input() isDataGrid = false;\\n\\n @ViewChild('overflowMenuItemTemplate')\\n protected overflowMenuItemTemplate: TemplateRef<any>;\\n\\n ngOnInit() {\\n this.model.data = [\\n [\\n new TableItem({ data: 'Name 1' }),\\n new TableItem({ data: { id: '1' }, template: this.overflowMenuItemTemplate }),\\n ],\\n [\\n new TableItem({ data: 'Name 2' }),\\n new TableItem({ data: { id: '2' }, template: this.overflowMenuItemTemplate }),\\n ],\\n [\\n new TableItem({ data: 'Name 3' }),\\n new TableItem({ data: { id: '3' }, template: this.overflowMenuItemTemplate }),\\n ],\\n [\\n new TableItem({ data: 'Name 4' }),\\n new TableItem({ data: { id: '4' }, template: this.overflowMenuItemTemplate }),\\n ],\\n ];\\n this.model.header = [new TableHeaderItem({ data: 'Name' }), new TableHeaderItem({ data: 'Actions' })];\\n }\\n}\\n\\n@Component({\\n selector: 'app-pagination-table',\\n template: `\\n <ng-template #paginationTableItemTemplate let-data=\\\"data\\\">\\n <a [attr.href]=\\\"data.link\\\">{{ data.name }} {{ data.surname }}</a>\\n </ng-template>\\n <ng-template #filterableHeaderTemplate let-data=\\\"data\\\">\\n <i\\n ><a [attr.href]=\\\"data.link\\\">{{ data.name }}</a></i\\n >\\n </ng-template>\\n <ng-template #filter let-popover=\\\"popover\\\" let-filter=\\\"data\\\">\\n <ibm-label class=\\\"first-label\\\">\\n Value\\n <input type=\\\"text\\\" [(ngModel)]=\\\"filter1\\\" class=\\\"input-field\\\" />\\n <button class=\\\"btn--primary\\\" (click)=\\\"filter.data = filter1; popover.doClose()\\\">Apply</button>\\n <button class=\\\"btn--secondary\\\" (click)=\\\"popover.doClose()\\\">Cancel</button>\\n </ibm-label>\\n </ng-template>\\n\\n <ibm-table [model]=\\\"model\\\" (sort)=\\\"paginationSort($event)\\\"></ibm-table>\\n <ibm-pagination [model]=\\\"model\\\" (selectPage)=\\\"selectPage($event)\\\"></ibm-pagination>\\n `,\\n})\\nclass PaginationTableStory implements OnInit {\\n @Input() model = new TableModel();\\n\\n @Input() get totalDataLength() {\\n return this.model.totalDataLength;\\n }\\n set totalDataLength(value) {\\n this.model.totalDataLength = value;\\n }\\n\\n @ViewChild('filter')\\n filter: TemplateRef<any>;\\n @ViewChild('filterableHeaderTemplate')\\n protected filterableHeaderTemplate: TemplateRef<any>;\\n @ViewChild('paginationTableItemTemplate')\\n protected paginationTableItemTemplate: TemplateRef<any>;\\n\\n ngOnInit() {\\n this.model.data = [[]];\\n this.model.header = [\\n new TableHeaderItem({ data: 'Very long title indeed' }),\\n new TableHeaderItem({\\n data: 'Very long title indeed',\\n style: { width: 'auto' },\\n }),\\n ];\\n\\n this.model.pageLength = 10;\\n this.model.totalDataLength = 105;\\n this.selectPage(1);\\n }\\n\\n customSort(index: number) {\\n this.sort(this.model, index);\\n }\\n\\n sort(model, index: number) {\\n if (model.header[index].sorted) {\\n // if already sorted flip sorting direction\\n model.header[index].ascending = model.header[index].descending;\\n }\\n model.sort(index);\\n }\\n\\n getPage(page: number) {\\n const line = line => [`Item ${line}:1!`, { name: 'Item', surname: `${line}:2` }];\\n\\n const fullPage = [];\\n\\n for (\\n let i = (page - 1) * this.model.pageLength;\\n i < page * this.model.pageLength && i < this.model.totalDataLength;\\n i++\\n ) {\\n fullPage.push(line(i + 1));\\n }\\n\\n return new Promise(resolve => {\\n setTimeout(() => resolve(fullPage), 150);\\n });\\n }\\n\\n selectPage(page) {\\n this.getPage(page).then((data: Array<Array<any>>) => {\\n // set the data and update page\\n this.model.data = this.prepareData(data);\\n this.model.currentPage = page;\\n });\\n }\\n\\n protected prepareData(data: Array<Array<any>>) {\\n // create new data from the service data\\n let newData = [];\\n data.forEach(dataRow => {\\n let row = [];\\n dataRow.forEach(dataElement => {\\n row.push(\\n new TableItem({\\n data: dataElement,\\n template: typeof dataElement === 'string' ? undefined : this.paginationTableItemTemplate,\\n // your template can handle all the data types so you don't have to conditionally set it\\n // you can also set different templates for different columns based on index\\n })\\n );\\n });\\n newData.push(row);\\n });\\n return newData;\\n }\\n}\\n\\nclass CustomHeaderItem extends TableHeaderItem {\\n // used for custom sorting\\n compare(one: TableItem, two: TableItem) {\\n const stringOne = (one.data.name || one.data.surname || one.data).toLowerCase();\\n const stringTwo = (two.data.name || two.data.surname || two.data).toLowerCase();\\n\\n if (stringOne > stringTwo) {\\n return 1;\\n } else if (stringOne < stringTwo) {\\n return -1;\\n } else {\\n return 0;\\n }\\n }\\n}\\n\\nconst simpleModel = new TableModel();\\nsimpleModel.data = [\\n [new TableItem({ data: 'Name 1' }), new TableItem({ data: 'qwer' })],\\n [new TableItem({ data: 'Name 3' }), new TableItem({ data: 'zwer' })],\\n [new TableItem({ data: 'Name 2' }), new TableItem({ data: 'swer' })],\\n [new TableItem({ data: 'Name 4' }), new TableItem({ data: 'twer' })],\\n];\\nsimpleModel.header = [new TableHeaderItem({ data: 'Name' }), new TableHeaderItem({ data: 'hwer' })];\\n\\nconst emptyModel = new TableModel();\\nemptyModel.header = [\\n new TableHeaderItem({ data: 'Name' }),\\n new TableHeaderItem({ data: 'hwer', style: { width: 'auto' } }),\\n];\\n\\nfunction sort(model, index: number) {\\n if (model.header[index].sorted) {\\n // if already sorted flip sorting direction\\n model.header[index].ascending = model.header[index].descending;\\n }\\n model.sort(index);\\n}\\n\\n@Component({\\n selector: 'app-skeleton-table',\\n template: `\\n <ibm-table [model]=\\\"skeletonModel\\\" [skeleton]=\\\"skeleton\\\" [size]=\\\"size\\\" [striped]=\\\"striped\\\">\\n <ng-content></ng-content>\\n </ibm-table>\\n `,\\n})\\nclass SkeletonTableStory implements OnInit, OnChanges {\\n @Input() size = 'md';\\n @Input() striped = false;\\n @Input() skeleton = true;\\n @Input() skeletonModel = new TableModel();\\n\\n ngOnInit() {\\n // Creates an empty table with 5 rows and 5 columns\\n this.skeletonModel = Table.skeletonModel(5, 5);\\n }\\n}\\n\\nstoriesOf('Table', module)\\n .addDecorator(\\n moduleMetadata({\\n imports: [NFormsModule, TableModule, DialogModule, PaginationModule, SearchModule, ButtonModule],\\n declarations: [\\n TableStory,\\n DynamicTableStory,\\n ExpansionTableStory,\\n OverflowTableStory,\\n PaginationTableStory,\\n SkeletonTableStory,\\n ],\\n })\\n )\\n .addDecorator(withKnobs)\\n .add('default', () => ({\\n template: `\\n\\t\\t<div style=\\\"width: 650px\\\">\\n\\t\\t\\t<app-table\\n\\t\\t\\t\\t[model]=\\\"model\\\"\\n\\t\\t\\t\\t[size]=\\\"size\\\"\\n\\t\\t\\t\\t[showSelectionColumn]=\\\"showSelectionColumn\\\"\\n\\t\\t\\t\\t[striped]=\\\"striped\\\"\\n\\t\\t\\t\\t[sortable]=\\\"sortable\\\"\\n\\t\\t\\t\\t[isDataGrid]=\\\"isDataGrid\\\">\\n\\t\\t\\t</app-table>\\n\\t\\t</div>\\n\\t`,\\n props: {\\n model: simpleModel,\\n size: select('size', { Small: 'sm', Normal: 'md', Large: 'lg' }, 'md'),\\n showSelectionColumn: boolean('showSelectionColumn', true),\\n striped: boolean('striped', true),\\n sortable: boolean('sortable', true),\\n isDataGrid: boolean('Data grid keyboard interactions', false),\\n },\\n }))\\n .add('with no data', () => ({\\n template: `\\n\\t\\t\\t<div style=\\\"width: 650px\\\">\\n\\t\\t\\t\\t<app-table\\n\\t\\t\\t\\t\\t[model]=\\\"model\\\"\\n\\t\\t\\t\\t\\t[size]=\\\"size\\\"\\n\\t\\t\\t\\t\\t[showSelectionColumn]=\\\"showSelectionColumn\\\"\\n\\t\\t\\t\\t\\t[striped]=\\\"striped\\\">\\n\\t\\t\\t\\t\\t<tbody><tr><td class=\\\"no-data\\\" colspan=\\\"3\\\"><div>No data.</div></td></tr></tbody>\\n\\t\\t\\t\\t</app-table>\\n\\t\\t\\t</div>\\n\\t\\t`,\\n styles: [\\n `\\n\\t\\t\\t.no-data {\\n\\t\\t\\t\\twidth: 100%;\\n\\t\\t\\t\\theight: 150px;\\n\\t\\t\\t\\ttext-align: center;\\n\\t\\t\\t}\\n\\t\\t`,\\n ],\\n props: {\\n model: emptyModel,\\n size: select('size', { Small: 'sm', Normal: 'md', Large: 'lg' }, 'md'),\\n showSelectionColumn: boolean('showSelectionColumn', true),\\n striped: boolean('striped', true),\\n },\\n }))\\n .add('with toolbar', () => ({\\n template: `\\n\\t\\t<ibm-table-toolbar [model]=\\\"model\\\">\\n\\t\\t\\t<ibm-table-toolbar-actions>\\n\\t\\t\\t\\t<button ibmButton=\\\"ghost\\\" size=\\\"sm\\\">\\n\\t\\t\\t\\t\\tghost\\n\\t\\t\\t\\t\\t<svg class=\\\"bx--btn__icon\\\" width=\\\"16\\\" height=\\\"16\\\" viewBox=\\\"0 0 16 16\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\">\\n\\t\\t\\t\\t\\t\\t<path d=\\\"M7 7H4v2h3v3h2V9h3V7H9V4H7v3zm1 9A8 8 0 1 1 8 0a8 8 0 0 1 0 16z\\\" fill-rule=\\\"evenodd\\\"></path>\\n\\t\\t\\t\\t\\t</svg>\\n\\t\\t\\t\\t</button>\\n\\t\\t\\t\\t<button ibmButton=\\\"ghost\\\" size=\\\"sm\\\">\\n\\t\\t\\t\\t\\tghost\\n\\t\\t\\t\\t\\t<svg class=\\\"bx--btn__icon\\\" width=\\\"16\\\" height=\\\"16\\\" viewBox=\\\"0 0 16 16\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\">\\n\\t\\t\\t\\t\\t\\t<path d=\\\"M7 7H4v2h3v3h2V9h3V7H9V4H7v3zm1 9A8 8 0 1 1 8 0a8 8 0 0 1 0 16z\\\" fill-rule=\\\"evenodd\\\"></path>\\n\\t\\t\\t\\t\\t</svg>\\n\\t\\t\\t\\t</button>\\n\\t\\t\\t\\t<button ibmButton=\\\"ghost\\\" size=\\\"sm\\\">\\n\\t\\t\\t\\t\\tghost\\n\\t\\t\\t\\t\\t<svg class=\\\"bx--btn__icon\\\" width=\\\"16\\\" height=\\\"16\\\" viewBox=\\\"0 0 16 16\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\">\\n\\t\\t\\t\\t\\t\\t<path d=\\\"M7 7H4v2h3v3h2V9h3V7H9V4H7v3zm1 9A8 8 0 1 1 8 0a8 8 0 0 1 0 16z\\\" fill-rule=\\\"evenodd\\\"></path>\\n\\t\\t\\t\\t\\t</svg>\\n\\t\\t\\t\\t</button>\\n\\t\\t\\t</ibm-table-toolbar-actions>\\n\\t\\t\\t<ibm-table-toolbar-search>\\n\\t\\t\\t\\t<ibm-search size=\\\"sm\\\" theme=\\\"light\\\"></ibm-search>\\n\\t\\t\\t</ibm-table-toolbar-search>\\n\\t\\t\\t<ibm-table-toolbar-content>\\n\\t\\t\\t\\t<button ibmButton=\\\"toolbar-action\\\">\\n\\t\\t\\t\\t\\t<svg class=\\\"bx--toolbar-action__icon\\\" fill-rule=\\\"evenodd\\\" height=\\\"16\\\" name=\\\"download\\\"\\n\\t\\t\\t\\t\\t\\trole=\\\"img\\\" viewBox=\\\"0 0 14 16\\\" width=\\\"14\\\" aria-label=\\\"Download\\\">\\n\\t\\t\\t\\t\\t\\t<title>Download</title>\\n\\t\\t\\t\\t\\t\\t<path d=\\\"M7.506 11.03l4.137-4.376.727.687-5.363 5.672-5.367-5.67.726-.687 4.14 4.374V0h1v11.03z\\\"></path>\\n\\t\\t\\t\\t\\t\\t<path d=\\\"M13 15v-2h1v2a1 1 0 0 1-1 1H1a1 1 0 0 1-1-1v-2h1v2h12z\\\"></path>\\n\\t\\t\\t\\t\\t</svg>\\n\\t\\t\\t\\t</button>\\n\\t\\t\\t\\t<button ibmButton=\\\"toolbar-action\\\">\\n\\t\\t\\t\\t\\t<svg class=\\\"bx--toolbar-action__icon\\\" fill-rule=\\\"evenodd\\\" height=\\\"16\\\" name=\\\"edit\\\"\\n\\t\\t\\t\\t\\t\\trole=\\\"img\\\" viewBox=\\\"0 0 16 16\\\" width=\\\"16\\\" aria-label=\\\"Edit\\\">\\n\\t\\t\\t\\t\\t\\t<title>Edit</title>\\n\\t\\t\\t\\t\\t\\t<path d=\\\"M7.926 3.38L1.002 9.72V12h2.304l6.926-6.316L7.926 3.38zm.738-.675l2.308 2.304\\n\\t\\t\\t\\t\\t\\t\\t1.451-1.324-2.308-2.309-1.451 1.329zM.002 9.28L9.439.639a1 1 0 0 1 1.383.03l2.309 2.309a1\\n\\t\\t\\t\\t\\t\\t\\t1 0 0 1-.034 1.446L3.694 13H.002V9.28zM0 16.013v-1h16v1z\\\"></path>\\n\\t\\t\\t\\t\\t</svg>\\n\\t\\t\\t\\t</button>\\n\\t\\t\\t\\t<button ibmButton=\\\"toolbar-action\\\">\\n\\t\\t\\t\\t\\t<svg class=\\\"bx--toolbar-action__icon\\\" fill-rule=\\\"evenodd\\\" height=\\\"16\\\" name=\\\"settings\\\"\\n\\t\\t\\t\\t\\t\\trole=\\\"img\\\" viewBox=\\\"0 0 15 16\\\" width=\\\"15\\\" aria-label=\\\"Settings\\\">\\n\\t\\t\\t\\t\\t\\t<title>Settings</title>\\n\\t\\t\\t\\t\\t\\t<path d=\\\"M7.53 10.5a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5zm0 1a3.5 3.5 0 1 1 0-7 3.5 3.5 0 0 1 0 7z\\\"></path>\\n\\t\\t\\t\\t\\t\\t<path d=\\\"M6.268 2.636l-.313.093c-.662.198-1.28.52-1.822.946l-.255.2-1.427-.754-1.214 1.735 1.186\\n\\t\\t\\t\\t\\t\\t\\t1.073-.104.31a5.493 5.493 0 0 0-.198 2.759l.05.274L1 10.33l1.214 1.734 1.06-.56.262.275a5.5 5.5 0\\n\\t\\t\\t\\t\\t\\t\\t0 0 2.42 1.491l.312.093L6.472 15H8.59l.204-1.636.313-.093a5.494 5.494 0 0 0 2.21-1.28l.26-.248 1.09.576\\n\\t\\t\\t\\t\\t\\t\\t1.214-1.734-1.08-.977.071-.29a5.514 5.514 0 0 0-.073-2.905l-.091-.302 1.15-1.041-1.214-1.734-1.3.687-.257-.22a5.487\\n\\t\\t\\t\\t\\t\\t\\t5.487 0 0 0-1.98-1.074l-.313-.093L8.59 1H6.472l-.204 1.636zM5.48.876A1 1 0 0 1 6.472 0H8.59a1 1 0 0 1\\n\\t\\t\\t\\t\\t\\t\\t.992.876l.124.997a6.486 6.486 0 0 1 1.761.954l.71-.375a1 1 0 0 1 1.286.31l1.215 1.734a1 1 0 0 1-.149\\n\\t\\t\\t\\t\\t\\t\\t1.316l-.688.622a6.514 6.514 0 0 1 .067 2.828l.644.581a1 1 0 0 1 .148 1.316l-1.214 1.734a1 1 0 0\\n\\t\\t\\t\\t\\t\\t\\t1-1.287.31l-.464-.245c-.6.508-1.286.905-2.029 1.169l-.124.997A1 1 0 0 1 8.59 16H6.472a1 1 0 0\\n\\t\\t\\t\\t\\t\\t\\t1-.992-.876l-.125-.997a6.499 6.499 0 0 1-2.274-1.389l-.399.211a1 1 0 0 1-1.287-.31L.181 10.904A1 1\\n\\t\\t\\t\\t\\t\\t\\t0 0 1 .329 9.59l.764-.69a6.553 6.553 0 0 1 .18-2.662l-.707-.64a1 1 0 0 1-.148-1.315l1.214-1.734a1 1\\n\\t\\t\\t\\t\\t\\t\\t0 0 1 1.287-.31l.86.454a6.482 6.482 0 0 1 1.576-.819L5.48.876z\\\"></path>\\n\\t\\t\\t\\t\\t</svg>\\n\\t\\t\\t\\t</button>\\n\\t\\t\\t\\t<button ibmButton=\\\"primary\\\" size=\\\"sm\\\">Add new</button>\\n\\t\\t\\t</ibm-table-toolbar-content>\\n\\t\\t</ibm-table-toolbar>\\n\\n\\t\\t<div style=\\\"width: 650px\\\">\\n\\t\\t\\t<app-table\\n\\t\\t\\t\\t[model]=\\\"model\\\"\\n\\t\\t\\t\\t[size]=\\\"size\\\"\\n\\t\\t\\t\\t[showSelectionColumn]=\\\"showSelectionColumn\\\"\\n\\t\\t\\t\\t[striped]=\\\"striped\\\"\\n\\t\\t\\t\\t[sortable]=\\\"sortable\\\"\\n\\t\\t\\t\\t[isDataGrid]=\\\"isDataGrid\\\">\\n\\t\\t\\t</app-table>\\n\\t\\t</div>\\n\\t`,\\n props: {\\n model: simpleModel,\\n size: select('size', { Small: 'sm', Normal: 'md', Large: 'lg' }, 'md'),\\n showSelectionColumn: boolean('showSelectionColumn', true),\\n striped: boolean('striped', true),\\n sortable: boolean('sortable', true),\\n isDataGrid: boolean('Data grid keyboard interactions', false),\\n },\\n }))\\n .add('with expansion', () => ({\\n template: `\\n\\t\\t\\t<div style=\\\"width: 650px\\\">\\n\\t\\t\\t\\t<app-expansion-table\\n\\t\\t\\t\\t\\t[size]=\\\"size\\\"\\n\\t\\t\\t\\t\\t[showSelectionColumn]=\\\"showSelectionColumn\\\"\\n\\t\\t\\t\\t\\t[striped]=\\\"striped\\\"\\n\\t\\t\\t\\t\\t[isDataGrid]=\\\"isDataGrid\\\">\\n\\t\\t\\t\\t</app-expansion-table>\\n\\t\\t\\t</div>\\n\\t\\t`,\\n props: {\\n size: select('size', { Small: 'sm', Normal: 'md', Large: 'lg' }, 'md'),\\n showSelectionColumn: boolean('showSelectionColumn', true),\\n striped: boolean('striped', true),\\n isDataGrid: boolean('Data grid keyboard interactions', false),\\n },\\n }))\\n .add('with dynamic content', () => ({\\n template: `\\n\\t\\t\\t<div style=\\\"width: 650px\\\">\\n\\t\\t\\t\\t<app-custom-table\\n\\t\\t\\t\\t\\t[size]=\\\"size\\\"\\n\\t\\t\\t\\t\\t[showSelectionColumn]=\\\"showSelectionColumn\\\"\\n\\t\\t\\t\\t\\t[striped]=\\\"striped\\\"\\n\\t\\t\\t\\t\\t[isDataGrid]=\\\"isDataGrid\\\">\\n\\t\\t\\t\\t</app-custom-table>\\n\\t\\t\\t</div>\\n\\t\\t`,\\n props: {\\n size: select('size', { Small: 'sm', Normal: 'md', Large: 'lg' }, 'md'),\\n showSelectionColumn: boolean('showSelectionColumn', true),\\n striped: boolean('striped', true),\\n isDataGrid: boolean('Data grid keyboard interactions', false),\\n },\\n }))\\n .add('with overflow menu', () => ({\\n template: `\\n\\t\\t\\t<div style=\\\"width: 650px\\\">\\n\\t\\t\\t\\t<app-overflow-table\\n\\t\\t\\t\\t\\t[size]=\\\"size\\\"\\n\\t\\t\\t\\t\\t[showSelectionColumn]=\\\"showSelectionColumn\\\"\\n\\t\\t\\t\\t\\t[striped]=\\\"striped\\\"\\n\\t\\t\\t\\t\\t[isDataGrid]=\\\"isDataGrid\\\">\\n\\t\\t\\t\\t</app-overflow-table>\\n\\t\\t\\t</div>\\n\\t\\t`,\\n props: {\\n size: select('size', { Small: 'sm', Normal: 'md', Large: 'lg' }, 'md'),\\n showSelectionColumn: boolean('showSelectionColumn', true),\\n striped: boolean('striped', true),\\n isDataGrid: boolean('Data grid keyboard interactions', false),\\n },\\n }))\\n .add('with pagination', () => ({\\n template: `\\n\\t\\t<div style=\\\"width: 650px\\\">\\n\\t\\t\\t<app-pagination-table [totalDataLength]=\\\"totalDataLength\\\" [model]=\\\"model\\\"></app-pagination-table>\\n\\t\\t</div>\\n\\t\\t`,\\n props: {\\n model: simpleModel,\\n totalDataLength: number('totalDataLength', 105),\\n },\\n }))\\n .add('Skeleton', () => ({\\n template: `\\n\\t\\t<div style=\\\"width: 800px\\\">\\n\\t\\t\\t<app-skeleton-table\\n\\t\\t\\t\\t[skeletonModel]=\\\"skeletonModel\\\"\\n\\t\\t\\t\\t[size]=\\\"size\\\"\\n\\t\\t\\t\\t[striped]=\\\"striped\\\">\\n\\t\\t\\t</app-skeleton-table>\\n\\t\\t</div>\\n\\t`,\\n props: {\\n size: select('size', { Small: 'sm', Normal: 'md', Large: 'lg' }, 'md'),\\n striped: boolean('striped', false),\\n },\\n }));\\n\";\n export var __ADDS_MAP__ = {\"table--skeleton\":{\"startLoc\":{\"col\":7,\"line\":680},\"endLoc\":{\"col\":4,\"line\":694}},\"table--with-pagination\":{\"startLoc\":{\"col\":7,\"line\":669},\"endLoc\":{\"col\":4,\"line\":679}},\"table--with-overflow-menu\":{\"startLoc\":{\"col\":7,\"line\":651},\"endLoc\":{\"col\":4,\"line\":668}},\"table--with-dynamic-content\":{\"startLoc\":{\"col\":7,\"line\":633},\"endLoc\":{\"col\":4,\"line\":650}},\"table--with-expansion\":{\"startLoc\":{\"col\":7,\"line\":615},\"endLoc\":{\"col\":4,\"line\":632}},\"table--with-toolbar\":{\"startLoc\":{\"col\":7,\"line\":529},\"endLoc\":{\"col\":4,\"line\":614}},\"table--with-no-data\":{\"startLoc\":{\"col\":7,\"line\":501},\"endLoc\":{\"col\":4,\"line\":528}},\"table--default\":{\"startLoc\":{\"col\":7,\"line\":479},\"endLoc\":{\"col\":4,\"line\":500}}};\n \n import { PaginationModule } from \"./../pagination/pagination.module\";\nimport {\n\tTemplateRef,\n\tComponent,\n\tViewChild,\n\tOnInit,\n\tInput,\n\tOnChanges,\n\tSimpleChanges\n} from \"@angular/core\";\nimport { storiesOf, moduleMetadata } from \"@storybook/angular\";\nimport {\n\twithKnobs,\n\tboolean,\n\tselect,\n\tnumber\n} from \"@storybook/addon-knobs/angular\";\n\nimport {\n\tTable,\n\tTableModule,\n\tTableModel,\n\tTableItem,\n\tTableHeaderItem,\n\tNFormsModule,\n\tDialogModule,\n\tSearchModule,\n\tButtonModule\n} from \"../\";\n\nimport { clone } from \"../utils/utils\";\n\n@Component({\n\tselector: \"app-table\",\n\ttemplate: `\n\t\t<ibm-table\n\t\t\t[model]=\"model\"\n\t\t\t[size]=\"size\"\n\t\t\t[showSelectionColumn]=\"showSelectionColumn\"\n\t\t\t[striped]=\"striped\"\n\t\t\t[isDataGrid]=\"isDataGrid\"\n\t\t\t(sort)=\"simpleSort($event)\">\n\t\t\t<ng-content></ng-content>\n\t\t</ibm-table>\n\t`\n})\nclass TableStory implements OnInit, OnChanges {\n\t@Input() model = new TableModel();\n\t@Input() size = \"md\";\n\t@Input() showSelectionColumn = true;\n\t@Input() striped = true;\n\t@Input() sortable = true;\n\t@Input() isDataGrid = false;\n\n\tngOnInit() {\n\t\tthis.model.header = [\n\t\t\tnew TableHeaderItem({\n\t\t\t\tdata: \"Name\"\n\t\t\t}),\n\t\t\tnew TableHeaderItem({\n\t\t\t\tdata: \"hwer\",\n\t\t\t\tclassName: \"my-class\"\n\t\t\t})\n\t\t];\n\t}\n\n\tngOnChanges(changes: SimpleChanges): void {\n\t\tif (changes.sortable) {\n\t\t\tfor (let column of this.model.header) {\n\t\t\t\tcolumn.sortable = changes.sortable.currentValue;\n\t\t\t}\n\t\t}\n\t}\n\n\tsimpleSort(index: number) {\n\t\tsort(simpleModel, index);\n\t}\n}\n\n@Component({\n\tselector: \"app-custom-table\",\n\ttemplate: `\n\t\t<button class=\"bx--btn bx--btn--sm bx--btn--primary\" (click)=\"addRow()\">Add row</button>\n\t\t<button class=\"bx--btn bx--btn--sm bx--btn--primary\" (click)=\"addColumn()\">Add column</button>\n\n\t\t<ng-template #customTableItemTemplate let-data=\"data\">\n\t\t\t<a [attr.href]=\"data.link\">{{data.name}} {{data.surname}}</a>\n\t\t</ng-template>\n\t\t<ng-template #customHeaderTemplate let-data=\"data\">\n\t\t\t<i><a [attr.href]=\"data.link\">{{data.name}}</a></i>\n\t\t</ng-template>\n\n\t\t<ibm-table\n\t\t\t[model]=\"model\"\n\t\t\t[size]=\"size\"\n\t\t\t[showSelectionColumn]=\"showSelectionColumn\"\n\t\t\t[striped]=\"striped\"\n\t\t\t[isDataGrid]=\"isDataGrid\"\n\t\t\t(sort)=\"customSort($event)\">\n\t\t</ibm-table>\n\t`\n})\nclass DynamicTableStory implements OnInit {\n\t@Input() model = new TableModel();\n\t@Input() size = \"md\";\n\t@Input() showSelectionColumn = true;\n\t@Input() striped = true;\n\t@Input() isDataGrid = false;\n\n\t@ViewChild(\"customHeaderTemplate\")\n\tprotected customHeaderTemplate: TemplateRef<any>;\n\t@ViewChild(\"customTableItemTemplate\")\n\tprotected customTableItemTemplate: TemplateRef<any>;\n\n\tngOnInit() {\n\t\tthis.model.data = [\n\t\t\t[new TableItem({data: \"Name 1\"}), new TableItem({data: {name: \"Lessy\", link: \"/table\"}, template: this.customTableItemTemplate})],\n\t\t\t[new TableItem({data: \"Name 3\"}), new TableItem({data: \"swer\"})],\n\t\t\t[new TableItem({data: \"Name 2\"}), new TableItem({data: {name: \"Alice\", surname: \"Bob\"}, template: this.customTableItemTemplate})],\n\t\t\t[new TableItem({data: \"Name 4\"}), new TableItem({data: \"twer\"})]\n\t\t];\n\t\tthis.model.header = [\n\t\t\tnew TableHeaderItem({data: \"Very long title indeed\"}),\n\t\t\tnew CustomHeaderItem({\n\t\t\t\tdata: {name: \"Custom header\", link: \"/table\"},\n\t\t\t\ttemplate: this.customHeaderTemplate,\n\t\t\t\tstyle: {\"width\": \"auto\"}\n\t\t\t})\n\t\t];\n\t}\n\n\tcustomSort(index: number) {\n\t\tthis.sort(this.model, index);\n\t}\n\n\tsort(model, index: number) {\n\t\tif (model.header[index].sorted) {\n\t\t\t// if already sorted flip sorting direction\n\t\t\tmodel.header[index].ascending = model.header[index].descending;\n\t\t}\n\t\tmodel.sort(index);\n\t}\n\n\taddRow() {\n\t\tconst lastRowCopy = clone(this.model.row(this.model.data.length - 1));\n\t\tthis.model.addRow(lastRowCopy);\n\t}\n\n\taddColumn() {\n\t\tlet column = Array(this.model.data.length).fill(new TableItem({data: `Column ${this.model.row(0).length}`}));\n\t\tthis.model.addColumn(column);\n\t}\n}\n\n\n@Component({\n\tselector: \"app-expansion-table\",\n\ttemplate: `\n\t\t<ng-template #customTableItemTemplate let-data=\"data\">\n\t\t\t<a [attr.href]=\"data.link\">{{data.name}} {{data.surname}}</a>\n\t\t</ng-template>\n\t\t<ng-template #customHeaderTemplate let-data=\"data\">\n\t\t\t<i><a [attr.href]=\"data.link\">{{data.name}}</a></i>\n\t\t</ng-template>\n\n\t\t<ibm-table\n\t\t\t[model]=\"model\"\n\t\t\t[size]=\"size\"\n\t\t\t[showSelectionColumn]=\"showSelectionColumn\"\n\t\t\t[striped]=\"striped\"\n\t\t\t(sort)=\"customSort($event)\"\n\t\t\t[isDataGrid]=\"isDataGrid\">\n\t\t</ibm-table>\n\t`\n})\nclass ExpansionTableStory implements OnInit {\n\t@Input() model = new TableModel();\n\t@Input() size = \"md\";\n\t@Input() showSelectionColumn = true;\n\t@Input() striped = true;\n\t@Input() isDataGrid = false;\n\n\t@ViewChild(\"customHeaderTemplate\")\n\tprotected customHeaderTemplate: TemplateRef<any>;\n\t@ViewChild(\"customTableItemTemplate\")\n\tprotected customTableItemTemplate: TemplateRef<any>;\n\n\tngOnInit() {\n\t\tthis.model.data = [\n\t\t\t[\n\t\t\t\tnew TableItem({data: \"Name 1\", expandedData: \"No template\"}),\n\t\t\t\tnew TableItem({data: {name: \"Lessy\", link: \"#\"}, template: this.customTableItemTemplate})\n\t\t\t],\n\t\t\t[\n\t\t\t\tnew TableItem({\n\t\t\t\t\tdata: \"Name 3\",\n\t\t\t\t\texpandedData: {name: \"In\", surname: \"Template\"},\n\t\t\t\t\texpandedTemplate: this.customTableItemTemplate\n\t\t\t\t}),\n\t\t\t\tnew TableItem({data: \"swer\"})\n\t\t\t],\n\t\t\t[new TableItem({data: \"Name 2\"}), new TableItem({data: {name: \"Alice\", surname: \"Bob\"}, template: this.customTableItemTemplate})],\n\t\t\t[new TableItem({data: \"Name 4\"}), new TableItem({data: \"twer\"})]\n\t\t];\n\t\tthis.model.header = [\n\t\t\tnew TableHeaderItem({data: \"Very long title indeed\"}),\n\t\t\tnew CustomHeaderItem({\n\t\t\t\tdata: {name: \"Custom header\", link: \"#\"},\n\t\t\t\ttemplate: this.customHeaderTemplate,\n\t\t\t\tstyle: {\"width\": \"auto\"}\n\t\t\t})\n\t\t];\n\t}\n\n\tcustomSort(index: number) {\n\t\tthis.sort(this.model, index);\n\t}\n\n\tsort(model, index: number) {\n\t\tif (model.header[index].sorted) {\n\t\t\t// if already sorted flip sorting direction\n\t\t\tmodel.header[index].ascending = model.header[index].descending;\n\t\t}\n\t\tmodel.sort(index);\n\t}\n}\n\n\n@Component({\n\tselector: \"app-overflow-table\",\n\ttemplate: `\n\t\t<ng-template #overflowMenuItemTemplate let-data=\"data\">\n\t\t\t<ibm-overflow-menu>\n\t\t\t\t<ibm-overflow-menu-option>\n\t\t\t\t\tFirst Option\n\t\t\t\t</ibm-overflow-menu-option>\n\t\t\t\t<ibm-overflow-menu-option>\n\t\t\t\t\tSecond Option\n\t\t\t\t</ibm-overflow-menu-option>\n\t\t\t\t<ibm-overflow-menu-option>\n\t\t\t\t\tThird Option\n\t\t\t\t</ibm-overflow-menu-option>\n\t\t\t</ibm-overflow-menu>\n\t\t</ng-template>\n\n\t\t<ibm-table\n\t\t\t[model]=\"model\"\n\t\t\t[size]=\"size\"\n\t\t\t[showSelectionColumn]=\"showSelectionColumn\"\n\t\t\t[isDataGrid]=\"isDataGrid\"\n\t\t\t[striped]=\"striped\">\n\t\t</ibm-table>\n\t`\n})\nclass OverflowTableStory implements OnInit {\n\t@Input() model = new TableModel();\n\t@Input() size = \"md\";\n\t@Input() showSelectionColumn = true;\n\t@Input() striped = true;\n\t@Input() isDataGrid = false;\n\n\t@ViewChild(\"overflowMenuItemTemplate\")\n\tprotected overflowMenuItemTemplate: TemplateRef<any>;\n\n\tngOnInit() {\n\t\tthis.model.data = [\n\t\t\t[new TableItem({data: \"Name 1\"}), new TableItem({data: {id: \"1\"}, template: this.overflowMenuItemTemplate})],\n\t\t\t[new TableItem({data: \"Name 2\"}), new TableItem({data: {id: \"2\"}, template: this.overflowMenuItemTemplate})],\n\t\t\t[new TableItem({data: \"Name 3\"}), new TableItem({data: {id: \"3\"}, template: this.overflowMenuItemTemplate})],\n\t\t\t[new TableItem({data: \"Name 4\"}), new TableItem({data: {id: \"4\"}, template: this.overflowMenuItemTemplate})]\n\t\t];\n\t\tthis.model.header = [\n\t\t\tnew TableHeaderItem({data: \"Name\"}),\n\t\t\tnew TableHeaderItem({data: \"Actions\"})\n\t\t];\n\t}\n}\n\n@Component({\n\tselector: \"app-pagination-table\",\n\ttemplate: `\n\t\t<ng-template #paginationTableItemTemplate let-data=\"data\">\n\t\t\t<a [attr.href]=\"data.link\">{{data.name}} {{data.surname}}</a>\n\t\t</ng-template>\n\t\t<ng-template #filterableHeaderTemplate let-data=\"data\">\n\t\t\t<i><a [attr.href]=\"data.link\">{{data.name}}</a></i>\n\t\t</ng-template>\n\t\t<ng-template #filter let-popover=\"popover\" let-filter=\"data\">\n\t\t\t<ibm-label class=\"first-label\">\n\t\t\t\tValue\n\t\t\t\t<input type=\"text\" [(ngModel)]=\"filter1\" class=\"input-field\">\n\t\t\t\t<button class=\"btn--primary\" (click)=\"filter.data = filter1; popover.doClose()\">Apply</button>\n\t\t\t\t<button class=\"btn--secondary\" (click)=\"popover.doClose()\">Cancel</button>\n\t\t\t</ibm-label>\n\t\t</ng-template>\n\n\t\t<ibm-table [model]=\"model\" (sort)=\"paginationSort($event)\"></ibm-table>\n\t\t<ibm-pagination [model]=\"model\" (selectPage)=\"selectPage($event)\"></ibm-pagination>\n\t`\n})\nclass PaginationTableStory implements OnInit {\n\t@Input() model = new TableModel();\n\n\t@Input() get totalDataLength() {\n\t\treturn this.model.totalDataLength;\n\t}\n\tset totalDataLength(value) {\n\t\tthis.model.totalDataLength = value;\n\t}\n\n\t@ViewChild(\"filter\")\n\tfilter: TemplateRef<any>;\n\t@ViewChild(\"filterableHeaderTemplate\")\n\tprotected filterableHeaderTemplate: TemplateRef<any>;\n\t@ViewChild(\"paginationTableItemTemplate\")\n\tprotected paginationTableItemTemplate: TemplateRef<any>;\n\n\tngOnInit() {\n\t\tthis.model.data = [[]];\n\t\tthis.model.header = [\n\t\t\tnew TableHeaderItem({data: \"Very long title indeed\"}),\n\t\t\tnew TableHeaderItem({\n\t\t\t\tdata: \"Very long title indeed\",\n\t\t\t\tstyle: {\"width\": \"auto\"}\n\t\t\t})\n\t\t];\n\n\t\tthis.model.pageLength = 10;\n\t\tthis.model.totalDataLength = 105;\n\t\tthis.selectPage(1);\n\t}\n\n\tcustomSort(index: number) {\n\t\tthis.sort(this.model, index);\n\t}\n\n\tsort(model, index: number) {\n\t\tif (model.header[index].sorted) {\n\t\t\t// if already sorted flip sorting direction\n\t\t\tmodel.header[index].ascending = model.header[index].descending;\n\t\t}\n\t\tmodel.sort(index);\n\t}\n\n\tgetPage(page: number) {\n\t\tconst line = line => [`Item ${line}:1!`, {name: \"Item\", surname: `${line}:2`}];\n\n\t\tconst fullPage = [];\n\n\t\tfor (let i = (page - 1) * this.model.pageLength; i < page * this.model.pageLength && i < this.model.totalDataLength; i++) {\n\t\t\tfullPage.push(line(i + 1));\n\t\t}\n\n\t\treturn new Promise(resolve => {\n\t\t\tsetTimeout(() => resolve(fullPage), 150);\n\t\t});\n\t}\n\n\tselectPage(page) {\n\t\tthis.getPage(page).then((data: Array<Array<any>>) => {\n\t\t\t// set the data and update page\n\t\t\tthis.model.data = this.prepareData(data);\n\t\t\tthis.model.currentPage = page;\n\t\t});\n\t}\n\n\tprotected prepareData(data: Array<Array<any>>) {\n\t\t// create new data from the service data\n\t\tlet newData = [];\n\t\tdata.forEach(dataRow => {\n\t\t\tlet row = [];\n\t\t\tdataRow.forEach(dataElement => {\n\t\t\t\trow.push(new TableItem({\n\t\t\t\t\tdata: dataElement,\n\t\t\t\t\ttemplate: typeof dataElement === \"string\" ? undefined : this.paginationTableItemTemplate\n\t\t\t\t\t// your template can handle all the data types so you don't have to conditionally set it\n\t\t\t\t\t// you can also set different templates for different columns based on index\n\t\t\t\t}));\n\t\t\t});\n\t\t\tnewData.push(row);\n\t\t});\n\t\treturn newData;\n\t}\n}\n\n\nclass CustomHeaderItem extends TableHeaderItem {\n\t// used for custom sorting\n\tcompare(one: TableItem, two: TableItem) {\n\t\tconst stringOne = (one.data.name || one.data.surname || one.data).toLowerCase();\n\t\tconst stringTwo = (two.data.name || two.data.surname || two.data).toLowerCase();\n\n\t\tif (stringOne > stringTwo) {\n\t\t\treturn 1;\n\t\t} else if (stringOne < stringTwo) {\n\t\t\treturn -1;\n\t\t} else {\n\t\t\treturn 0;\n\t\t}\n\t}\n}\n\n\nconst simpleModel = new TableModel();\nsimpleModel.data = [\n\t[new TableItem({data: \"Name 1\"}), new TableItem({data: \"qwer\"})],\n\t[new TableItem({data: \"Name 3\"}), new TableItem({data: \"zwer\"})],\n\t[new TableItem({data: \"Name 2\"}), new TableItem({data: \"swer\"})],\n\t[new TableItem({data: \"Name 4\"}), new TableItem({data: \"twer\"})]\n];\nsimpleModel.header = [\n\tnew TableHeaderItem({data: \"Name\"}), new TableHeaderItem({data: \"hwer\" })\n];\n\nconst emptyModel = new TableModel();\nemptyModel.header = [\n\tnew TableHeaderItem({data: \"Name\"}), new TableHeaderItem({data: \"hwer\", style: {\"width\": \"auto\"} })\n];\n\nfunction sort(model, index: number) {\n\tif (model.header[index].sorted) {\n\t\t// if already sorted flip sorting direction\n\t\tmodel.header[index].ascending = model.header[index].descending;\n\t}\n\tmodel.sort(index);\n}\n\n@Component({\n\tselector: \"app-skeleton-table\",\n\ttemplate: `\n\t\t<ibm-table\n\t\t\t[model]=\"skeletonModel\"\n\t\t\t[skeleton]=\"skeleton\"\n\t\t\t[size]=\"size\"\n\t\t\t[striped]=\"striped\">\n\t\t\t<ng-content></ng-content>\n\t\t</ibm-table>\n\t`\n})\nclass SkeletonTableStory implements OnInit, OnChanges {\n\t@Input() size = \"md\";\n\t@Input() striped = false;\n\t@Input() skeleton = true;\n\t@Input() skeletonModel = new TableModel();\n\n\tngOnInit() {\n\t\t// Creates an empty table with 5 rows and 5 columns\n\t\tthis.skeletonModel = Table.skeletonModel(5, 5);\n\t}\n}\n\nstoriesOf(\"Table\", module).addDecorator(withStorySource(__STORY__, __ADDS_MAP__)).addDecorator(\n\t\tmoduleMetadata({\n\t\t\timports: [\n\t\t\t\tNFormsModule,\n\t\t\t\tTableModule,\n\t\t\t\tDialogModule,\n\t\t\t\tPaginationModule,\n\t\t\t\tSearchModule,\n\t\t\t\tButtonModule\n\t\t\t],\n\t\t\tdeclarations: [\n\t\t\t\tTableStory,\n\t\t\t\tDynamicTableStory,\n\t\t\t\tExpansionTableStory,\n\t\t\t\tOverflowTableStory,\n\t\t\t\tPaginationTableStory,\n\t\t\t\tSkeletonTableStory\n\t\t\t]\n\t\t})\n\t)\n\t.addDecorator(withKnobs)\n\t.add(\"default\", () => ({\n\t\ttemplate: `\n\t\t<div style=\"width: 650px\">\n\t\t\t<app-table\n\t\t\t\t[model]=\"model\"\n\t\t\t\t[size]=\"size\"\n\t\t\t\t[showSelectionColumn]=\"showSelectionColumn\"\n\t\t\t\t[striped]=\"striped\"\n\t\t\t\t[sortable]=\"sortable\"\n\t\t\t\t[isDataGrid]=\"isDataGrid\">\n\t\t\t</app-table>\n\t\t</div>\n\t`,\n\t\tprops: {\n\t\t\tmodel: simpleModel,\n\t\t\tsize: select(\"size\", {Small: \"sm\", Normal: \"md\", Large: \"lg\"}, \"md\"),\n\t\t\tshowSelectionColumn: boolean(\"showSelectionColumn\", true),\n\t\t\tstriped: boolean(\"striped\", true),\n\t\t\tsortable: boolean(\"sortable\", true),\n\t\t\tisDataGrid: boolean(\"Data grid keyboard interactions\", false)\n\t\t}\n\t}))\n\t.add(\"with no data\", () => ({\n\t\ttemplate: `\n\t\t\t<div style=\"width: 650px\">\n\t\t\t\t<app-table\n\t\t\t\t\t[model]=\"model\"\n\t\t\t\t\t[size]=\"size\"\n\t\t\t\t\t[showSelectionColumn]=\"showSelectionColumn\"\n\t\t\t\t\t[striped]=\"striped\">\n\t\t\t\t\t<tbody><tr><td class=\"no-data\" colspan=\"3\"><div>No data.</div></td></tr></tbody>\n\t\t\t\t</app-table>\n\t\t\t</div>\n\t\t`,\n\t\tstyles: [`\n\t\t\t.no-data {\n\t\t\t\twidth: 100%;\n\t\t\t\theight: 150px;\n\t\t\t\ttext-align: center;\n\t\t\t}\n\t\t`],\n\t\tprops: {\n\t\t\tmodel: emptyModel,\n\t\t\tsize: select(\"size\", {Small: \"sm\", Normal: \"md\", Large: \"lg\"}, \"md\"),\n\t\t\tshowSelectionColumn: boolean(\"showSelectionColumn\", true),\n\t\t\tstriped: boolean(\"striped\", true)\n\t\t}\n\t}))\n\t.add(\"with toolbar\", () => ({\n\t\ttemplate: `\n\t\t<ibm-table-toolbar [model]=\"model\">\n\t\t\t<ibm-table-toolbar-actions>\n\t\t\t\t<button ibmButton=\"ghost\" size=\"sm\">\n\t\t\t\t\tghost\n\t\t\t\t\t<svg class=\"bx--btn__icon\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\">\n\t\t\t\t\t\t<path d=\"M7 7H4v2h3v3h2V9h3V7H9V4H7v3zm1 9A8 8 0 1 1 8 0a8 8 0 0 1 0 16z\" fill-rule=\"evenodd\"></path>\n\t\t\t\t\t</svg>\n\t\t\t\t</button>\n\t\t\t\t<button ibmButton=\"ghost\" size=\"sm\">\n\t\t\t\t\tghost\n\t\t\t\t\t<svg class=\"bx--btn__icon\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\">\n\t\t\t\t\t\t<path d=\"M7 7H4v2h3v3h2V9h3V7H9V4H7v3zm1 9A8 8 0 1 1 8 0a8 8 0 0 1 0 16z\" fill-rule=\"evenodd\"></path>\n\t\t\t\t\t</svg>\n\t\t\t\t</button>\n\t\t\t\t<button ibmButton=\"ghost\" size=\"sm\">\n\t\t\t\t\tghost\n\t\t\t\t\t<svg class=\"bx--btn__icon\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\">\n\t\t\t\t\t\t<path d=\"M7 7H4v2h3v3h2V9h3V7H9V4H7v3zm1 9A8 8 0 1 1 8 0a8 8 0 0 1 0 16z\" fill-rule=\"evenodd\"></path>\n\t\t\t\t\t</svg>\n\t\t\t\t</button>\n\t\t\t</ibm-table-toolbar-actions>\n\t\t\t<ibm-table-toolbar-search>\n\t\t\t\t<ibm-search size=\"sm\" theme=\"light\"></ibm-search>\n\t\t\t</ibm-table-toolbar-search>\n\t\t\t<ibm-table-toolbar-content>\n\t\t\t\t<button ibmButton=\"toolbar-action\">\n\t\t\t\t\t<svg class=\"bx--toolbar-action__icon\" fill-rule=\"evenodd\" height=\"16\" name=\"download\"\n\t\t\t\t\t\trole=\"img\" viewBox=\"0 0 14 16\" width=\"14\" aria-label=\"Download\">\n\t\t\t\t\t\t<title>Download</title>\n\t\t\t\t\t\t<path d=\"M7.506 11.03l4.137-4.376.727.687-5.363 5.672-5.367-5.67.726-.687 4.14 4.374V0h1v11.03z\"></path>\n\t\t\t\t\t\t<path d=\"M13 15v-2h1v2a1 1 0 0 1-1 1H1a1 1 0 0 1-1-1v-2h1v2h12z\"></path>\n\t\t\t\t\t</svg>\n\t\t\t\t</button>\n\t\t\t\t<button ibmButton=\"toolbar-action\">\n\t\t\t\t\t<svg class=\"bx--toolbar-action__icon\" fill-rule=\"evenodd\" height=\"16\" name=\"edit\"\n\t\t\t\t\t\trole=\"img\" viewBox=\"0 0 16 16\" width=\"16\" aria-label=\"Edit\">\n\t\t\t\t\t\t<title>Edit</title>\n\t\t\t\t\t\t<path d=\"M7.926 3.38L1.002 9.72V12h2.304l6.926-6.316L7.926 3.38zm.738-.675l2.308 2.304\n\t\t\t\t\t\t\t1.451-1.324-2.308-2.309-1.451 1.329zM.002 9.28L9.439.639a1 1 0 0 1 1.383.03l2.309 2.309a1\n\t\t\t\t\t\t\t1 0 0 1-.034 1.446L3.694 13H.002V9.28zM0 16.013v-1h16v1z\"></path>\n\t\t\t\t\t</svg>\n\t\t\t\t</button>\n\t\t\t\t<button ibmButton=\"toolbar-action\">\n\t\t\t\t\t<svg class=\"bx--toolbar-action__icon\" fill-rule=\"evenodd\" height=\"16\" name=\"settings\"\n\t\t\t\t\t\trole=\"img\" viewBox=\"0 0 15 16\" width=\"15\" aria-label=\"Settings\">\n\t\t\t\t\t\t<title>Settings</title>\n\t\t\t\t\t\t<path d=\"M7.53 10.5a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5zm0 1a3.5 3.5 0 1 1 0-7 3.5 3.5 0 0 1 0 7z\"></path>\n\t\t\t\t\t\t<path d=\"M6.268 2.636l-.313.093c-.662.198-1.28.52-1.822.946l-.255.2-1.427-.754-1.214 1.735 1.186\n\t\t\t\t\t\t\t1.073-.104.31a5.493 5.493 0 0 0-.198 2.759l.05.274L1 10.33l1.214 1.734 1.06-.56.262.275a5.5 5.5 0\n\t\t\t\t\t\t\t0 0 2.42 1.491l.312.093L6.472 15H8.59l.204-1.636.313-.093a5.494 5.494 0 0 0 2.21-1.28l.26-.248 1.09.576\n\t\t\t\t\t\t\t1.214-1.734-1.08-.977.071-.29a5.514 5.514 0 0 0-.073-2.905l-.091-.302 1.15-1.041-1.214-1.734-1.3.687-.257-.22a5.487\n\t\t\t\t\t\t\t5.487 0 0 0-1.98-1.074l-.313-.093L8.59 1H6.472l-.204 1.636zM5.48.876A1 1 0 0 1 6.472 0H8.59a1 1 0 0 1\n\t\t\t\t\t\t\t.992.876l.124.997a6.486 6.486 0 0 1 1.761.954l.71-.375a1 1 0 0 1 1.286.31l1.215 1.734a1 1 0 0 1-.149\n\t\t\t\t\t\t\t1.316l-.688.622a6.514 6.514 0 0 1 .067 2.828l.644.581a1 1 0 0 1 .148 1.316l-1.214 1.734a1 1 0 0\n\t\t\t\t\t\t\t1-1.287.31l-.464-.245c-.6.508-1.286.905-2.029 1.169l-.124.997A1 1 0 0 1 8.59 16H6.472a1 1 0 0\n\t\t\t\t\t\t\t1-.992-.876l-.125-.997a6.499 6.499 0 0 1-2.274-1.389l-.399.211a1 1 0 0 1-1.287-.31L.181 10.904A1 1\n\t\t\t\t\t\t\t0 0 1 .329 9.59l.764-.69a6.553 6.553 0 0 1 .18-2.662l-.707-.64a1 1 0 0 1-.148-1.315l1.214-1.734a1 1\n\t\t\t\t\t\t\t0 0 1 1.287-.31l.86.454a6.482 6.482 0 0 1 1.576-.819L5.48.876z\"></path>\n\t\t\t\t\t</svg>\n\t\t\t\t</button>\n\t\t\t\t<button ibmButton=\"primary\" size=\"sm\">Add new</button>\n\t\t\t</ibm-table-toolbar-content>\n\t\t</ibm-table-toolbar>\n\n\t\t<div style=\"width: 650px\">\n\t\t\t<app-table\n\t\t\t\t[model]=\"model\"\n\t\t\t\t[size]=\"size\"\n\t\t\t\t[showSelectionColumn]=\"showSelectionColumn\"\n\t\t\t\t[striped]=\"striped\"\n\t\t\t\t[sortable]=\"sortable\"\n\t\t\t\t[isDataGrid]=\"isDataGrid\">\n\t\t\t</app-table>\n\t\t</div>\n\t`,\n\t\tprops: {\n\t\t\tmodel: simpleModel,\n\t\t\tsize: select(\"size\", {Small: \"sm\", Normal: \"md\", Large: \"lg\"}, \"md\"),\n\t\t\tshowSelectionColumn: boolean(\"showSelectionColumn\", true),\n\t\t\tstriped: boolean(\"striped\", true),\n\t\t\tsortable: boolean(\"sortable\", true),\n\t\t\tisDataGrid: boolean(\"Data grid keyboard interactions\", false)\n\t\t}\n\t}))\n\t.add(\"with expansion\", () => ({\n\t\ttemplate: `\n\t\t\t<div style=\"width: 650px\">\n\t\t\t\t<app-expansion-table\n\t\t\t\t\t[size]=\"size\"\n\t\t\t\t\t[showSelectionColumn]=\"showSelectionColumn\"\n\t\t\t\t\t[striped]=\"striped\"\n\t\t\t\t\t[isDataGrid]=\"isDataGrid\">\n\t\t\t\t</app-expansion-table>\n\t\t\t</div>\n\t\t`,\n\t\tprops: {\n\t\t\tsize: select(\"size\", {Small: \"sm\", Normal: \"md\", Large: \"lg\"}, \"md\"),\n\t\t\tshowSelectionColumn: boolean(\"showSelectionColumn\", true),\n\t\t\tstriped: boolean(\"striped\", true),\n\t\t\tisDataGrid: boolean(\"Data grid keyboard interactions\", false)\n\t\t}\n\t}))\n\t.add(\"with dynamic content\", () => ({\n\t\ttemplate: `\n\t\t\t<div style=\"width: 650px\">\n\t\t\t\t<app-custom-table\n\t\t\t\t\t[size]=\"size\"\n\t\t\t\t\t[showSelectionColumn]=\"showSelectionColumn\"\n\t\t\t\t\t[striped]=\"striped\"\n\t\t\t\t\t[isDataGrid]=\"isDataGrid\">\n\t\t\t\t</app-custom-table>\n\t\t\t</div>\n\t\t`,\n\t\tprops: {\n\t\t\tsize: select(\"size\", {Small: \"sm\", Normal: \"md\", Large: \"lg\"}, \"md\"),\n\t\t\tshowSelectionColumn: boolean(\"showSelectionColumn\", true),\n\t\t\tstriped: boolean(\"striped\", true),\n\t\t\tisDataGrid: boolean(\"Data grid keyboard interactions\", false)\n\t\t}\n\t}))\n\t.add(\"with overflow menu\", () => ({\n\t\ttemplate: `\n\t\t\t<div style=\"width: 650px\">\n\t\t\t\t<app-overflow-table\n\t\t\t\t\t[size]=\"size\"\n\t\t\t\t\t[showSelectionColumn]=\"showSelectionColumn\"\n\t\t\t\t\t[striped]=\"striped\"\n\t\t\t\t\t[isDataGrid]=\"isDataGrid\">\n\t\t\t\t</app-overflow-table>\n\t\t\t</div>\n\t\t`,\n\t\tprops: {\n\t\t\tsize: select(\"size\", {Small: \"sm\", Normal: \"md\", Large: \"lg\"}, \"md\"),\n\t\t\tshowSelectionColumn: boolean(\"showSelectionColumn\", true),\n\t\t\tstriped: boolean(\"striped\", true),\n\t\t\tisDataGrid: boolean(\"Data grid keyboard interactions\", false)\n\t\t}\n\t}))\n\t.add(\"with pagination\", () => ({\n\t\ttemplate: `\n\t\t<div style=\"width: 650px\">\n\t\t\t<app-pagination-table [totalDataLength]=\"totalDataLength\" [model]=\"model\"></app-pagination-table>\n\t\t</div>\n\t\t`,\n\t\tprops: {\n\t\t\tmodel: simpleModel,\n\t\t\ttotalDataLength: number(\"totalDataLength\", 105)\n\t\t}\n\t}))\n\t.add(\"Skeleton\", () => ({\n\t\ttemplate: `\n\t\t<div style=\"width: 800px\">\n\t\t\t<app-skeleton-table\n\t\t\t\t[skeletonModel]=\"skeletonModel\"\n\t\t\t\t[size]=\"size\"\n\t\t\t\t[striped]=\"striped\">\n\t\t\t</app-skeleton-table>\n\t\t</div>\n\t`,\n\t\tprops: {\n\t\t\tsize: select(\"size\", {Small: \"sm\", Normal: \"md\", Large: \"lg\"}, \"md\"),\n\t\t\tstriped: boolean(\"striped\", false)\n\t\t}\n\t}));\n\n\n ","import { Component, HostBinding } from \"@angular/core\";\n\n@Component({\n\tselector: \"ibm-table-toolbar-actions\",\n\ttemplate: `<ng-content></ng-content>`\n})\nexport class TableToolbarActions {\n\t@HostBinding(\"class.bx--action-list\") class = true;\n}\n","import { Component, HostBinding } from \"@angular/core\";\n\n@Component({\n\tselector: \"ibm-table-toolbar-content\",\n\ttemplate: `<ng-content></ng-content>`\n})\nexport class TableToolbarContent {\n\t@HostBinding(\"class.bx--toolbar-content\") class = true;\n}\n","import { Component, HostBinding } from \"@angular/core\";\n\n@Component({\n\tselector: \"ibm-table-toolbar-search\",\n\ttemplate: `<ng-content></ng-content>`\n})\nexport class TableToolbarSearch {\n\t@HostBinding(\"class.bx--toolbar-search-container\") class = true;\n}\n","import { TableModel } from \"../table-model.class\";\nimport { Component, Input } from \"@angular/core\";\nimport { I18n } from \"../../i18n/i18n.module\";\n\n@Component({\n\tselector: \"ibm-table-toolbar\",\n\ttemplate: `\n\t<section class=\"bx--table-toolbar\">\n\t\t<div\n\t\t\tclass=\"bx--batch-actions\"\n\t\t\t[ngClass]=\"{\n\t\t\t\t'bx--batch-actions--active': selected\n\t\t\t}\"\n\t\t\t[attr.aria-label]=\"actionBarLabel | async\">\n\t\t\t<ng-content select=\"ibm-table-toolbar-actions\"></ng-content>\n\t\t\t<div class=\"bx--batch-summary\">\n\t\t\t\t<p class=\"bx--batch-summary__para\">\n\t\t\t\t\t<span>{{count}}</span> items selected\n\t\t\t\t</p>\n\t\t\t\t<button class=\"bx--batch-summary__cancel\" (click)=\"cancel()\">Cancel</button>\n\t\t\t</div>\n\t\t</div>\n\t\t<ng-content select=\"ibm-table-toolbar-search\"></ng-content>\n\t\t<ng-content></ng-content>\n\t</section>\n\t`\n})\nexport class TableToolbar {\n\t@Input() model: TableModel;\n\n\t@Input() set ariaLabel (value) {\n\t\tthis.actionBarLabel.next(value.ACTION_BAR);\n\t}\n\tactionBarLabel = this.i18n.get(\"TABLE_TOOLBAR.ACTION_BAR\");\n\n\tconstructor(protected i18n: I18n) {}\n\n\tget count() {\n\t\treturn this.model.totalDataLength > 0 ? this.model.rowsSelected.reduce((previous, current) => previous + (current ? 1 : 0), 0) : 0;\n\t}\n\tget selected() {\n\t\treturn this.model.totalDataLength > 0 ? this.model.rowsSelected.some(item => item) : false;\n\t}\n\n\tcancel() {\n\t\tfor (let i = 0; i < this.model.rowsSelected.length; i++) {\n\t\t\tthis.model.selectRow(i, false);\n\t\t}\n\t}\n}\n","import {\n\tComponent,\n\tQueryList,\n\tInput,\n\tHostListener,\n\tViewChild,\n\tContentChildren,\n\tAfterContentInit,\n\tViewChildren,\n\tElementRef\n} from \"@angular/core\";\n\nimport { Tab } from \"./tab.component\";\n\n\n/**\n * The `TabHeaders` component contains the `Tab` items and controls scroll functionality\n * if content has overflow.\n * @export\n * @class TabHeaders\n * @implements {AfterViewInit}\n */\n@Component({\n\tselector: \"ibm-tab-headers\",\n\ttemplate: `\n\t\t<nav\n\t\t\tclass=\"bx--tabs\"\n\t\t\t[ngClass]=\"{\n\t\t\t\t'bx--skeleton': skeleton\n\t\t\t}\"\n\t\t\trole=\"navigation\">\n\t\t\t<div class=\"bx--tabs-trigger\" tabindex=\"0\" (click)=\"showTabList()\">\n\t\t\t\t<a href=\"javascript:void(0)\" class=\"bx--tabs-trigger-text\" tabindex=\"-1\">\n\t\t\t\t\t<ng-container *ngIf=\"!getSelectedTab().headingIsTemplate\">\n\t\t\t\t\t\t{{ getSelectedTab().heading }}\n\t\t\t\t\t</ng-container>\n\t\t\t\t\t<ng-template\n\t\t\t\t\t\t*ngIf=\"getSelectedTab().headingIsTemplate\"\n\t\t\t\t\t\t[ngTemplateOutlet]=\"getSelectedTab().heading\">\n\t\t\t\t\t</ng-template>\n\t\t\t\t</a>\n\t\t\t\t<svg width=\"10\" height=\"5\" viewBox=\"0 0 10 5\">\n\t\t\t\t\t<path d=\"M0 0l5 4.998L10 0z\" fill-rule=\"evenodd\"></path>\n\t\t\t\t</svg>\n\t\t\t</div>\n\t\t\t<ul\n\t\t\t\t#tabList\n\t\t\t\t[ngClass]=\"{\n\t\t\t\t\t'bx--tabs__nav--hidden': !tabListVisible\n\t\t\t\t}\"\n\t\t\t\tclass=\"bx--tabs__nav\"\n\t\t\t\trole=\"tablist\">\n\t\t\t\t<li role=\"presentation\">\n\t\t\t\t\t<ng-container *ngIf=\"contentBefore\" [ngTemplateOutlet]=\"contentBefore\"></ng-container>\n\t\t\t\t</li>\n\t\t\t\t<li\n\t\t\t\t\t*ngFor=\"let tab of tabs; let i = index;\"\n\t\t\t\t\t[ngClass]=\"{\n\t\t\t\t\t\t'bx--tabs__nav-item--selected': tab.active\n\t\t\t\t\t}\"\n\t\t\t\t\tclass=\"bx--tabs__nav-item\"\n\t\t\t\t\trole=\"presentation\"\n\t\t\t\t\t(click)=\"selectTab(tabref, tab, i)\">\n\t\t\t\t\t<a\n\t\t\t\t\t\t#tabItem\n\t\t\t\t\t\t[attr.aria-selected]=\"tab.active\"\n\t\t\t\t\t\t[attr.tabindex]=\"(tab.active?0:-1)\"\n\t\t\t\t\t\t[attr.aria-controls]=\"tab.id\"\n\t\t\t\t\t\t(focus)=\"onTabFocus(tabref, i)\"\n\t\t\t\t\t\tdraggable=\"false\"\n\t\t\t\t\t\tid=\"{{tab.id}}-header\"\n\t\t\t\t\t\tclass=\"bx--tabs__nav-link\"\n\t\t\t\t\t\thref=\"javascript:void(0)\"\n\t\t\t\t\t\trole=\"tab\">\n\t\t\t\t\t\t<ng-container *ngIf=\"!tab.headingIsTemplate\">\n\t\t\t\t\t\t\t{{ tab.heading }}\n\t\t\t\t\t\t</ng-container>\n\t\t\t\t\t\t<ng-template\n\t\t\t\t\t\t\t*ngIf=\"tab.headingIsTemplate\"\n\t\t\t\t\t\t\t[ngTemplateOutlet]=\"tab.heading\"\n\t\t\t\t\t\t\t[ngTemplateOutletContext]=\"{$implicit: tab.context}\">\n\t\t\t\t\t\t</ng-template>\n\t\t\t\t\t</a>\n\t\t\t\t</li>\n\t\t\t\t<li role=\"presentation\">\n\t\t\t\t\t<ng-container *ngIf=\"contentAfter\" [ngTemplateOutlet]=\"contentAfter\"></ng-container>\n\t\t\t\t</li>\n\t\t\t</ul>\n\t\t</nav>\n\t `\n})\n\nexport class TabHeaders implements AfterContentInit {\n\t/**\n\t * List of `Tab` components.\n\t */\n\t// disable the next line because we need to rename the input\n\t// tslint:disable-next-line\n\t@Input(\"tabs\") tabInput: QueryList<Tab>;\n\t/**\n\t * Set to 'true' to have `Tab` items cached and not reloaded on tab switching.\n\t * Duplicate from `n-tabs` to support standalone headers\n\t */\n\t@Input() cacheActive = false;\n\t/**\n\t * Set to 'true' to have tabs automatically activated and have their content displayed when they receive focus.\n\t */\n\t@Input() followFocus: boolean;\n\t/**\n\t * Set to `true` to put tabs in a loading state.\n\t */\n\t@Input() skeleton = false;\n\n\t@Input() contentBefore;\n\t@Input() contentAfter;\n\n\t/**\n\t * Gets the Unordered List element that holds the `Tab` headings from the view DOM.\n\t */\n\t@ViewChild(\"tabList\") headerContainer;\n\t/**\n\t * ContentChild of all the n-tabs\n\t */\n\t@ContentChildren(Tab) tabQuery: QueryList<Tab>;\n\t/**\n\t * set to tabQuery if tabInput is empty\n\t */\n\tpublic tabs: QueryList<Tab>;\n\t/**\n\t * The index of the first visible tab.\n\t */\n\tpublic firstVisibleTab = 0;\n\t/**\n\t * The DOM element containing the `Tab` headings displayed.\n\t */\n\t@ViewChildren(\"tabItem\") allTabHeaders: QueryList<ElementRef>;\n\t/**\n\t * Controls the manual focusing done by tabbing through headings.\n\t */\n\tpublic currentSelectedTab: number;\n\tpublic tabListVisible = false;\n\n\t// keyboard accessibility\n\t/**\n\t * Controls the keydown events used for tabbing through the headings.\n\t */\n\t@HostListener(\"keydown\", [\"$event\"])\n\tkeyboardInput(event) {\n\t\tlet tabsArray = Array.from<any>(this.tabs);\n\n\t\t// \"Right\" is an ie11 specific value\n\t\tif (event.key === \"Right\" || event.key === \"ArrowRight\") {\n\t\t\tif (this.currentSelectedTab < this.allTabHeaders.length - 1) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tif (this.followFocus) {\n\t\t\t\t\tthis.selectTab(event.target, tabsArray[this.currentSelectedTab + 1], this.currentSelectedTab);\n\t\t\t\t}\n\t\t\t\tthis.allTabHeaders.toArray()[this.currentSelectedTab + 1].nativeElement.focus();\n\t\t\t} else {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tif (this.followFocus) {\n\t\t\t\t\tthis.selectTab(event.target, tabsArray[0], 0);\n\t\t\t\t}\n\t\t\t\tthis.allTabHeaders.first.nativeElement.focus();\n\t\t\t}\n\t\t}\n\n\t\t// \"Left\" is an ie11 specific value\n\t\tif (event.key === \"Left\" || event.key === \"ArrowLeft\") {\n\t\t\tif (this.currentSelectedTab > 0) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tif (this.followFocus) {\n\t\t\t\t\tthis.selectTab(event.target, tabsArray[this.currentSelectedTab - 1], this.currentSelectedTab);\n\t\t\t\t}\n\t\t\t\tthis.allTabHeaders.toArray()[this.currentSelectedTab - 1].nativeElement.focus();\n\t\t\t} else {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tif (this.followFocus) {\n\t\t\t\t\tthis.selectTab(event.target, tabsArray[this.allTabHeaders.length - 1], this.allTabHeaders.length);\n\t\t\t\t}\n\t\t\t\tthis.allTabHeaders.toArray()[this.allTabHeaders.length - 1].nativeElement.focus();\n\t\t\t}\n\t\t}\n\n\t\tif (event.key === \"Home\") {\n\t\t\tevent.preventDefault();\n\t\t\tif (this.followFocus) {\n\t\t\t\tthis.selectTab(event.target, tabsArray[0], 0);\n\t\t\t}\n\t\t\tthis.allTabHeaders.toArray()[0].nativeElement.focus();\n\t\t}\n\n\t\tif (event.key === \"End\") {\n\t\t\tevent.preventDefault();\n\t\t\tif (this.followFocus) {\n\t\t\t\tthis.selectTab(event.target, tabsArray[this.allTabHeaders.length - 1], this.allTabHeaders.length);\n\t\t\t}\n\t\t\tthis.allTabHeaders.toArray()[this.allTabHeaders.length - 1].nativeElement.focus();\n\t\t}\n\n\t\t// `\"Spacebar\"` is IE11 specific value\n\t\tif ((event.key === \" \" || event.key === \"Spacebar\") && !this.followFocus) {\n\t\t\tthis.selectTab(event.target, tabsArray[this.currentSelectedTab], this.currentSelectedTab);\n\t\t}\n\t}\n\n\tngAfterContentInit() {\n\t\tif (!this.tabInput) {\n\t\t\tthis.tabs = this.tabQuery;\n\t\t} else {\n\t\t\tthis.tabs = this.tabInput;\n\t\t}\n\n\t\tthis.tabs.forEach(tab => tab.cacheActive = this.cacheActive);\n\t\tthis.tabs.changes.subscribe(() => {\n\t\t\tthis.setFirstTab();\n\t\t});\n\t\tthis.setFirstTab();\n\t}\n\n\t/**\n\t * Controls manually focusing tabs.\n\t */\n\tpublic onTabFocus(ref: HTMLElement, index: number) {\n\t\tthis.currentSelectedTab = index;\n\t\t// reset scroll left because we're already handling it\n\t\tthis.headerContainer.nativeElement.parentElement.scrollLeft = 0;\n\t}\n\n\tpublic getSelectedTab(): any {\n\t\tconst selected = this.tabs.find(tab => tab.active);\n\t\tif (selected) {\n\t\t\treturn selected;\n\t\t}\n\t\treturn {headingIsTemplate: false, heading: \"\"};\n\t}\n\n\tpublic showTabList() {\n\t\tthis.tabListVisible = true;\n\t}\n\n\t/**\n\t * Selects `Tab` 'tab' and moves it into view on the view DOM if it is not already.\n\t */\n\tpublic selectTab(ref: HTMLElement, tab: Tab, tabIndex: number) {\n\t\tif (tab.disabled) {\n\t\t\treturn;\n\t\t}\n\n\t\t// hide the tablist on mobile\n\t\tthis.tabListVisible = false;\n\t\tthis.currentSelectedTab = tabIndex;\n\t\tthis.tabs.forEach(_tab => _tab.active = false);\n\t\ttab.active = true;\n\t\ttab.doSelect();\n\t}\n\n\t/**\n\t * Determines which `Tab` is initially selected.\n\t */\n\tprotected setFirstTab() {\n\t\tsetTimeout(() => {\n\t\t\tlet firstTab = this.tabs.find(tab => tab.active);\n\t\t\tif (!firstTab && this.tabs.first) {\n\t\t\t\tfirstTab = this.tabs.first;\n\t\t\t\tfirstTab.active = true;\n\t\t\t}\n\t\t\tif (firstTab) {\n\t\t\t\tfirstTab.doSelect();\n\t\t\t}\n\t\t});\n\t}\n}\n","import {\n\tComponent,\n\tOnInit,\n\tInput,\n\tOutput,\n\tEventEmitter,\n\tContentChild,\n\tTemplateRef,\n\tHostBinding\n} from \"@angular/core\";\n\n\nlet nextId = 0;\n\n/**\n* The `Tab` component is a child of the `Tabs` component.\n* It represents one `Tab` item and its content within a panel of other `Tab` items.\n*\n*\n* `Tab` takes a string or `TemplateRef` for the header, and any content for the body of the tab.\n* Disabled states should be handled by the application (ie. switch to the tab, but display some\n* indication as to _why_ the tab is disabled).\n*\n* When the tab is selected the `select` output will be triggered.\n* The `select` output will also be triggered for the active tab when the tabs are loaded or updated.\n*\n*\n* Tab with string header:\n*\n* ```html\n* <ibm-tab heading='tab1'>\n* \ttab 1 content\n* </ibm-tab>\n* ```\n*\n* Tab with custom header:\n*\n* ```html\n* <ng-template #tabHeading>\n* \t<ibm-icon\n* \t\ticon=\"facebook\"\n* \t\tsize=\"sm\"\n* \t\tstyle=\"margin-right: 7px;\">\n* \t</ibm-icon>\n* \tHello Tab 1\n* </ng-template>\n* <ibm-tabs>\n* \t<ibm-tab [heading]=\"tabHeading\">\n* \t\tTab 1 content <ibm-icon icon=\"alert\" size=\"lg\"></ibm-icon>\n* \t</ibm-tab>\n* \t<ibm-tab heading='Tab2'>\n* \t\tTab 2 content\n* \t</ibm-tab>\n* \t<ibm-tab heading='Tab3'>\n* \t\tTab 3 content\n* \t</ibm-tab>\n* </ibm-tabs>\n* ```\n*\n*\n* @export\n* @class Tab\n* @implements {OnInit}\n*/\n@Component({\n\tselector: \"ibm-tab\",\n\ttemplate: `\n\t\t<div\n\t\t\t[tabindex]=\"tabIndex\"\n\t\t\trole=\"tabpanel\"\n\t\t\t*ngIf=\"shouldRender()\"\n\t\t\t[ngStyle]=\"{'display': active ? null : 'none'}\"\n\t\t\t[attr.aria-labelledby]=\"id + '-header'\">\n\t\t\t<ng-content></ng-content>\n\t\t</div>\n\t `\n})\nexport class Tab implements OnInit {\n\t/**\n\t * Boolean value reflects if the `Tab` is using a custom template for the heading.\n\t * Default value is false.\n\t */\n\tpublic headingIsTemplate = false;\n\n\t/**\n\t * The `Tab`'s title to be displayed or custom temaplate for the `Tab` heading.\n\t * @type {(string | TemplateRef<any>)}\n\t */\n\t@Input() heading: string | TemplateRef<any>;\n\t/**\n\t * Allows the user to pass data to the custom template for the `Tab` heading.\n\t */\n\t@Input() context: any;\n\t/**\n\t * Indicates whether the `Tab` is active/selected.\n\t * Determines whether it's `TabPanel` is rendered.\n\t */\n\t@Input() active = false;\n\t/**\n\t * Indicates whether or not the `Tab` item is disabled.\n\t */\n\t@Input() disabled = false;\n\n\t@Input() tabIndex = 0;\n\t// do we need id's?\n\t/**\n\t * Sets the id of the `Tab`. Will be uniquely generated if not provided.\n\t */\n\t@Input() id = `n-tab-${nextId++}`;\n\t/**\n\t * Set to true to have Tab items cached and not reloaded on tab switching.\n\t */\n\t@Input() cacheActive = false;\n\t/**\n\t * Value 'selected' to be emitted after a new `Tab` is selected.\n\t * @type {EventEmitter<void>}\n\t */\n\t@Output() selected: EventEmitter<void> = new EventEmitter<void>();\n\n\t/**\n\t * Used to set the id property on the element.\n\t */\n\t@HostBinding(\"attr.id\") attrClass = this.id;\n\n\t/**\n\t * Checks for custom heading template on initialization and updates the value\n\t * of the boolean 'headingIsTemplate'.\n\t */\n\tngOnInit() {\n\t\tif (this.heading instanceof TemplateRef) {\n\t\t\tthis.headingIsTemplate = true;\n\t\t}\n\t}\n\n\t/**\n\t * Emit the status of the `Tab`, specifically 'select' and 'selected' properties.\n\t */\n\tdoSelect() {\n\t\tthis.selected.emit();\n\t}\n\n\t/**\n \t* Returns value indicating whether this `Tab` should be rendered in a `TabPanel`.\n \t* @returns boolean\n \t*/\n\tshouldRender() {\n\t\treturn this.active || this.cacheActive;\n\t}\n}\n","import {\n\tComponent,\n\tInput,\n\tContentChildren,\n\tQueryList,\n\tAfterContentInit,\n\tContentChild,\n\tQuery\n} from \"@angular/core\";\nimport { Tab } from \"./tab.component\";\nimport { TabHeaders } from \"./tab-headers.component\";\n\n\n/**\n * Build out your application's tabs using this component.\n * This is the parent of the `Tab` and `TabHeader` components.\n *\n * `Tabs` expects a set of `n-tab` elements\n *\n * ```html\n * <ibm-tabs>\n * \t<ibm-tab heading='tab1'>\n * \t\ttab 1 content\n * \t</ibm-tab>\n * \t<ibm-tab heading='tab1'>\n * \t\ttab 2 content\n * \t</ibm-tab>\n * \t<!-- ... -->\n * \t<ibm-tab heading='tab1'>\n * \t\ttab n content\n * \t</ibm-tab>\n * </ibm-tabs>\n * ```\n *\n * @export\n * @class Tabs\n * @implements {AfterContentInit}\n */\n@Component({\n\tselector: \"ibm-tabs\",\n\ttemplate: `\n\t\t\t<ibm-tab-headers\n\t\t\t\t*ngIf=\"hasTabHeaders() && position === 'top'\"\n\t\t\t\t[skeleton]=\"skeleton\"\n\t\t\t\t[tabs]=\"tabs\"\n\t\t\t\t[followFocus]=\"followFocus\"\n\t\t\t\t[cacheActive]=\"cacheActive\"\n\t\t\t\t[contentBefore]=\"before\"\n\t\t\t\t[contentAfter]=\"after\">\n\t\t\t</ibm-tab-headers>\n\t\t\t<ng-content></ng-content>\n\t\t\t<ng-template #before>\n\t\t\t\t<ng-content select=\"[before]\"></ng-content>\n\t\t\t</ng-template>\n\t\t\t<ng-template #after>\n\t\t\t\t<ng-content select=\"[after]\"></ng-content>\n\t\t\t</ng-template>\n\t\t\t<ibm-tab-headers\n\t\t\t\t*ngIf=\"hasTabHeaders() && position === 'bottom'\"\n\t\t\t\t[skeleton]=\"skeleton\"\n\t\t\t\t[tabs]=\"tabs\"\n\t\t\t\t[cacheActive]=\"cacheActive\">\n\t\t\t</ibm-tab-headers>\n\t `\n})\nexport class Tabs implements AfterContentInit {\n\t/**\n\t * Takes either the string value 'top' or 'bottom' to place TabHeader\n\t * relative to the `TabPanel`s.\n\t */\n\t@Input() position: \"top\" | \"bottom\" = \"top\";\n\t/**\n\t * Set to 'true' to have `Tab` items cached and not reloaded on tab switching.\n\t */\n\t@Input() cacheActive = false;\n\t/**\n\t * Set to 'true' to have tabs automatically activated and have their content displayed when they receive focus.\n\t */\n\t@Input() followFocus = true;\n\t/**\n\t * Set to `true` to put tabs in a loading state.\n\t */\n\t@Input() skeleton = false;\n\t/**\n\t * Set to `true` to have the tabIndex of the all tabpanels be -1.\n\t */\n\t@Input() isNavigation = false;\n\n\t/**\n\t * Maintains a `QueryList` of the `Tab` elements and updates if `Tab`s are added or removed.\n\t */\n\t@ContentChildren(Tab, { descendants: false }) tabs: QueryList<Tab>;\n\t/**\n\t * Content child of the projected header component\n\t */\n\t@ContentChild(TabHeaders) tabHeaders;\n\n\t/**\n\t * After content is initialized update `Tab`s to cache (if turned on) and set the initial\n\t * selected Tab item.\n\t */\n\tngAfterContentInit() {\n\t\tif (this.tabHeaders) {\n\t\t\tthis.tabHeaders.cacheActive = this.cacheActive;\n\t\t}\n\n\t\tthis.tabs.forEach(tab => {\n\t\t\ttab.tabIndex = this.isNavigation ? -1 : 0;\n\t\t});\n\t}\n\n\t/**\n\t * true if the n-tab's are passed directly to the component as children\n\t */\n\thasTabHeaders() {\n\t\treturn this.tabs.length > 0;\n\t}\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nimport { Tabs } from \"./tabs.component\";\nimport { Tab } from \"./tab.component\";\nimport { TabHeaders } from \"./tab-headers.component\";\n\n\nexport { Tabs } from \"./tabs.component\";\nexport { Tab } from \"./tab.component\";\nexport { TabHeaders } from \"./tab-headers.component\";\n\n\n@NgModule({\n\tdeclarations: [\n\t\tTabs,\n\t\tTab,\n\t\tTabHeaders\n\t],\n\texports: [\n\t\tTabs,\n\t\tTab,\n\t\tTabHeaders\n\t],\n\timports: [\n\t\tCommonModule\n\t]\n})\nexport class TabsModule {}\n","\n export var withStorySource = require('@storybook/addon-storysource').withStorySource;\n export var __STORY__ = \"import { storiesOf, moduleMetadata } from '@storybook/angular';\\nimport { withKnobs, boolean } from '@storybook/addon-knobs/angular';\\n\\nimport { TabsModule } from '../';\\n\\nstoriesOf('Tabs', module)\\n .addDecorator(\\n moduleMetadata({\\n imports: [TabsModule],\\n })\\n )\\n .addDecorator(withKnobs)\\n .add('Basic', () => ({\\n template: `\\n\\t\\t\\t<ibm-tabs [followFocus]=\\\"followFocus\\\" [isNavigation]=\\\"isNavigation\\\">\\n\\t\\t\\t\\t<ibm-tab heading=\\\"one\\\">foo</ibm-tab>\\n\\t\\t\\t\\t<ibm-tab heading=\\\"two\\\">bar</ibm-tab>\\n\\t\\t\\t</ibm-tabs>\\n\\t\\t`,\\n props: {\\n followFocus: boolean('followFocus', true),\\n isNavigation: boolean('isNavigation', false),\\n },\\n }))\\n .add('With template', () => ({\\n template: `\\n\\t\\t\\t<ng-template #customTabs let-item>\\n\\t\\t\\t\\t{{item ? item.name : \\\"wait for it\\\"}}\\n\\t\\t\\t</ng-template>\\n\\t\\t\\t<ng-template #iconTab>\\n\\t\\t\\t\\t<div style=\\\"height: 14px;\\\">\\n\\t\\t\\t\\t\\tSomething custom\\n\\t\\t\\t\\t\\t<svg width=\\\"16\\\" height=\\\"16\\\" viewBox=\\\"0 0 16 16\\\"\\n\\t\\t\\t\\t\\tstyle=\\\"height: 14px; width: 14px; fill: #3d70b2;\\\">\\n\\t\\t\\t\\t\\t\\t<path d=\\\"M8 14.5a6.5 6.5 0 1 0 0-13 6.5 6.5 0 0 0 0 13zM8 16A8 8 0 1 1 8 0a8 8 0 0 1 0 16z\\\"></path>\\n\\t\\t\\t\\t\\t\\t<path d=\\\"M9 13H7V7h2z\\\"></path>\\n\\t\\t\\t\\t\\t\\t<path d=\\\"M7 4a1 1 0 1 1 2 0 1 1 0 1 1-2 0\\\"></path>\\n\\t\\t\\t\\t\\t</svg>\\n\\t\\t\\t\\t</div>\\n\\t\\t\\t</ng-template>\\n\\t\\t\\t<ibm-tabs [followFocus]=\\\"followFocus\\\" [isNavigation]=\\\"isNavigation\\\">\\n\\t\\t\\t\\t<ibm-tab *ngFor=\\\"let item of data; let i = index;\\\" [heading]=\\\"customTabs\\\" [context]=\\\"item\\\">Tab Content {{i + 1}}</ibm-tab>\\n\\t\\t\\t\\t<ibm-tab [heading]=\\\"iconTab\\\">Tab Content Custom</ibm-tab>\\n\\t\\t\\t</ibm-tabs>\\n\\t\\t`,\\n props: {\\n followFocus: boolean('followFocus', true),\\n isNavigation: boolean('isNavigation', false),\\n data: [{ name: 'one' }, { name: 'two' }, { name: 'three' }],\\n },\\n }))\\n .add('Width before and after content', () => ({\\n template: `\\n\\t\\t\\t<div style=\\\"font-weight: 600; padding-bottom: 10px; padding-top: 20px;\\\">before</div>\\n\\t\\t\\t<ibm-tabs [followFocus]=\\\"followFocus\\\" [isNavigation]=\\\"isNavigation\\\">\\n\\t\\t\\t\\t<ibm-tab heading=\\\"one\\\">foo</ibm-tab>\\n\\t\\t\\t\\t<ibm-tab heading=\\\"two\\\">bar</ibm-tab>\\n\\t\\t\\t\\t<span before>content before</span>\\n\\t\\t\\t</ibm-tabs>\\n\\t\\t\\t<div style=\\\"font-weight: 600; padding-bottom: 10px; padding-top: 20px;\\\">after</div>\\n\\t\\t\\t<ibm-tabs [followFocus]=\\\"followFocus\\\" [isNavigation]=\\\"isNavigation\\\">\\n\\t\\t\\t\\t<ibm-tab heading=\\\"one\\\">foo</ibm-tab>\\n\\t\\t\\t\\t<ibm-tab heading=\\\"two\\\">bar</ibm-tab>\\n\\t\\t\\t\\t<span after>content after</span>\\n\\t\\t\\t</ibm-tabs>\\n\\t\\t\\t<div style=\\\"font-weight: 600; padding-bottom: 10px; padding-top: 20px;\\\">both</div>\\n\\t\\t\\t<ibm-tabs [followFocus]=\\\"followFocus\\\" [isNavigation]=\\\"isNavigation\\\">\\n\\t\\t\\t\\t<ibm-tab heading=\\\"one\\\">foo</ibm-tab>\\n\\t\\t\\t\\t<ibm-tab heading=\\\"two\\\">bar</ibm-tab>\\n\\t\\t\\t\\t<span before>content before</span>\\n\\t\\t\\t\\t<span after>content after</span>\\n\\t\\t\\t</ibm-tabs>\\n\\t\\t`,\\n props: {\\n followFocus: boolean('followFocus', true),\\n isNavigation: boolean('isNavigation', false),\\n },\\n }))\\n .add('Skeleton', () => ({\\n template: `\\n\\t\\t\\t<ibm-tabs skeleton=\\\"true\\\">\\n\\t\\t\\t\\t<ibm-tab></ibm-tab>\\n\\t\\t\\t\\t<ibm-tab></ibm-tab>\\n\\t\\t\\t</ibm-tabs>\\n\\t\\t`,\\n }));\\n\";\n export var __ADDS_MAP__ = {\"tabs--skeleton\":{\"startLoc\":{\"col\":7,\"line\":79},\"endLoc\":{\"col\":4,\"line\":86}},\"tabs--width-before-and-after-content\":{\"startLoc\":{\"col\":7,\"line\":52},\"endLoc\":{\"col\":4,\"line\":78}},\"tabs--with-template\":{\"startLoc\":{\"col\":7,\"line\":25},\"endLoc\":{\"col\":4,\"line\":51}},\"tabs--basic\":{\"startLoc\":{\"col\":7,\"line\":13},\"endLoc\":{\"col\":4,\"line\":24}}};\n \n import { storiesOf, moduleMetadata } from \"@storybook/angular\";\nimport { withKnobs, boolean } from \"@storybook/addon-knobs/angular\";\n\nimport { TabsModule } from \"../\";\n\nstoriesOf(\"Tabs\", module).addDecorator(withStorySource(__STORY__, __ADDS_MAP__))\n\t.addDecorator(\n\t\tmoduleMetadata({\n\t\t\timports: [\n\t\t\t\tTabsModule\n\t\t\t]\n\t\t})\n\t)\n\t.addDecorator(withKnobs)\n\t.add(\"Basic\", () => ({\n\t\ttemplate: `\n\t\t\t<ibm-tabs [followFocus]=\"followFocus\" [isNavigation]=\"isNavigation\">\n\t\t\t\t<ibm-tab heading=\"one\">foo</ibm-tab>\n\t\t\t\t<ibm-tab heading=\"two\">bar</ibm-tab>\n\t\t\t</ibm-tabs>\n\t\t`,\n\t\tprops: {\n\t\t\tfollowFocus: boolean(\"followFocus\", true),\n\t\t\tisNavigation: boolean(\"isNavigation\", false)\n\t\t}\n\t}))\n\t.add(\"With template\", () => ({\n\t\ttemplate: `\n\t\t\t<ng-template #customTabs let-item>\n\t\t\t\t{{item ? item.name : \"wait for it\"}}\n\t\t\t</ng-template>\n\t\t\t<ng-template #iconTab>\n\t\t\t\t<div style=\"height: 14px;\">\n\t\t\t\t\tSomething custom\n\t\t\t\t\t<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\n\t\t\t\t\tstyle=\"height: 14px; width: 14px; fill: #3d70b2;\">\n\t\t\t\t\t\t<path d=\"M8 14.5a6.5 6.5 0 1 0 0-13 6.5 6.5 0 0 0 0 13zM8 16A8 8 0 1 1 8 0a8 8 0 0 1 0 16z\"></path>\n\t\t\t\t\t\t<path d=\"M9 13H7V7h2z\"></path>\n\t\t\t\t\t\t<path d=\"M7 4a1 1 0 1 1 2 0 1 1 0 1 1-2 0\"></path>\n\t\t\t\t\t</svg>\n\t\t\t\t</div>\n\t\t\t</ng-template>\n\t\t\t<ibm-tabs [followFocus]=\"followFocus\" [isNavigation]=\"isNavigation\">\n\t\t\t\t<ibm-tab *ngFor=\"let item of data; let i = index;\" [heading]=\"customTabs\" [context]=\"item\">Tab Content {{i + 1}}</ibm-tab>\n\t\t\t\t<ibm-tab [heading]=\"iconTab\">Tab Content Custom</ibm-tab>\n\t\t\t</ibm-tabs>\n\t\t`,\n\t\tprops: {\n\t\t\tfollowFocus: boolean(\"followFocus\", true),\n\t\t\tisNavigation: boolean(\"isNavigation\", false),\n\t\t\tdata: [\n\t\t\t\t{ name: \"one\" },\n\t\t\t\t{ name: \"two\" },\n\t\t\t\t{ name: \"three\" }\n\t\t\t]\n\t\t}\n\t}))\n\t.add(\"Width before and after content\", () => ({\n\t\ttemplate: `\n\t\t\t<div style=\"font-weight: 600; padding-bottom: 10px; padding-top: 20px;\">before</div>\n\t\t\t<ibm-tabs [followFocus]=\"followFocus\" [isNavigation]=\"isNavigation\">\n\t\t\t\t<ibm-tab heading=\"one\">foo</ibm-tab>\n\t\t\t\t<ibm-tab heading=\"two\">bar</ibm-tab>\n\t\t\t\t<span before>content before</span>\n\t\t\t</ibm-tabs>\n\t\t\t<div style=\"font-weight: 600; padding-bottom: 10px; padding-top: 20px;\">after</div>\n\t\t\t<ibm-tabs [followFocus]=\"followFocus\" [isNavigation]=\"isNavigation\">\n\t\t\t\t<ibm-tab heading=\"one\">foo</ibm-tab>\n\t\t\t\t<ibm-tab heading=\"two\">bar</ibm-tab>\n\t\t\t\t<span after>content after</span>\n\t\t\t</ibm-tabs>\n\t\t\t<div style=\"font-weight: 600; padding-bottom: 10px; padding-top: 20px;\">both</div>\n\t\t\t<ibm-tabs [followFocus]=\"followFocus\" [isNavigation]=\"isNavigation\">\n\t\t\t\t<ibm-tab heading=\"one\">foo</ibm-tab>\n\t\t\t\t<ibm-tab heading=\"two\">bar</ibm-tab>\n\t\t\t\t<span before>content before</span>\n\t\t\t\t<span after>content after</span>\n\t\t\t</ibm-tabs>\n\t\t`,\n\t\tprops: {\n\t\t\tfollowFocus: boolean(\"followFocus\", true),\n\t\t\tisNavigation: boolean(\"isNavigation\", false)\n\t\t}\n\t}))\n\t.add(\"Skeleton\", () => ({\n\t\ttemplate: `\n\t\t\t<ibm-tabs skeleton=\"true\">\n\t\t\t\t<ibm-tab></ibm-tab>\n\t\t\t\t<ibm-tab></ibm-tab>\n\t\t\t</ibm-tabs>\n\t\t`\n\t}));\n\n ","import {\n\tComponent,\n\tOutput,\n\tEventEmitter,\n\tHostBinding\n} from \"@angular/core\";\nimport { Tag } from \"./tag.component\";\n\n@Component({\n\tselector: \"ibm-tag-filter\",\n\ttemplate: `\n\t\t<ng-content></ng-content>\n\t\t<svg\n\t\t\t(click)=\"close.emit()\"\n\t\t\tfocusable=\"false\"\n\t\t\tpreserveAspectRatio=\"xMidYMid meet\"\n\t\t\tstyle=\"will-change: transform;\"\n\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\taria-label=\"Clear filter\"\n\t\t\twidth=\"16\"\n\t\t\theight=\"16\"\n\t\t\tviewBox=\"0 0 16 16\"\n\t\t\trole=\"img\">\n\t\t\t<path d=\"M12 4.7l-.7-.7L8 7.3 4.7 4l-.7.7L7.3 8 4 11.3l.7.7L8 8.7l3.3 3.3.7-.7L8.7 8z\"></path>\n\t\t</svg>\n\t`\n})\nexport class TagFilter extends Tag {\n\t/**\n\t * Function for close/delete the tag\n\t */\n\t@Output() close = new EventEmitter<any>();\n\n\t@HostBinding(\"attr.class\") get attrClass() {\n\t\treturn `bx--tag bx--tag--filter bx--tag--${this.type} ${this.class}`;\n\t}\n}\n","import {\n\tComponent,\n\tInput,\n\tHostBinding\n} from \"@angular/core\";\n\n/**\n * Supported tag types for carbon v10\n */\nexport type TagType = \"red\" | \"magenta\" | \"purple\" | \"blue\" | \"cyan\" | \"teal\" | \"green\" | \"gray\" | \"cool-gray\" | \"warm-gray\";\n\n/**\n * Component that represents a tag for labelling/categorizing using keywords\n */\n@Component({\n\tselector: \"ibm-tag\",\n\ttemplate: `<ng-content></ng-content>`\n})\nexport class Tag {\n\t/**\n\t * type of the tag determines the styling\n\t *\n\t * Reference `TagType` for v9 applications, and `TagTypeExperimental` for v10/v9 experimental mode applications\n\t */\n\t@Input() type: TagType = \"gray\";\n\n\t@Input() class = \"\";\n\n\t@HostBinding(\"attr.class\") get attrClass() {\n\t\treturn `bx--tag bx--tag--${this.type} ${this.class}`;\n\t}\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { Close16Module } from \"@carbon/icons-angular/lib/close/16\";\n\nimport { Tag } from \"./tag.component\";\nimport { TagFilter } from \"./tag-filter.component\";\n\nexport * from \"./tag.component\";\n\n@NgModule({\n\tdeclarations: [ Tag, TagFilter ],\n\texports: [ Tag, TagFilter ],\n\timports: [ CommonModule, Close16Module ]\n})\nexport class TagModule { }\n","\n export var withStorySource = require('@storybook/addon-storysource').withStorySource;\n export var __STORY__ = \"import { storiesOf, moduleMetadata } from '@storybook/angular';\\nimport { withKnobs } from '@storybook/addon-knobs/angular';\\n\\nimport { TagModule } from '../tag/tag.module';\\n\\nstoriesOf('Tag', module)\\n .addDecorator(\\n moduleMetadata({\\n imports: [TagModule],\\n })\\n )\\n .addDecorator(withKnobs)\\n .add('Basic', () => ({\\n template: `\\n\\t\\t\\t<ibm-tag type=\\\"warm-gray\\\">Warm-gray</ibm-tag>\\n\\t\\t\\t<br><br>\\n\\t\\t\\t<ibm-tag type=\\\"red\\\">Red</ibm-tag>\\n\\t\\t\\t<br><br>\\n\\t\\t\\t<ibm-tag type=\\\"magenta\\\">Magenta</ibm-tag>\\n\\t\\t\\t<br><br>\\n\\t\\t\\t<ibm-tag type=\\\"purple\\\">Purple</ibm-tag>\\n\\t\\t\\t<br><br>\\n\\t\\t\\t<ibm-tag type=\\\"blue\\\">Blue</ibm-tag>\\n\\t\\t\\t<br><br>\\n\\t\\t\\t<ibm-tag type=\\\"cyan\\\">Cyan</ibm-tag>\\n\\t\\t\\t<br><br>\\n\\t\\t\\t<ibm-tag type=\\\"teal\\\">Teal</ibm-tag>\\n\\t\\t\\t<br><br>\\n\\t\\t\\t<ibm-tag type=\\\"green\\\">Green</ibm-tag>\\n\\t\\t\\t<br><br>\\n\\t\\t\\t<ibm-tag type=\\\"cool-gray\\\">Cool-gray</ibm-tag>\\n\\t\\t`,\\n }))\\n .add('Filter', () => ({\\n template: `\\n\\t\\t\\t<ibm-tag-filter>filter</ibm-tag-filter>\\n\\t\\t`,\\n }));\\n\";\n export var __ADDS_MAP__ = {\"tag--filter\":{\"startLoc\":{\"col\":7,\"line\":34},\"endLoc\":{\"col\":4,\"line\":38}},\"tag--basic\":{\"startLoc\":{\"col\":7,\"line\":13},\"endLoc\":{\"col\":4,\"line\":33}}};\n \n import { storiesOf, moduleMetadata } from \"@storybook/angular\";\nimport { withKnobs } from \"@storybook/addon-knobs/angular\";\n\nimport { TagModule } from \"../tag/tag.module\";\n\nstoriesOf(\"Tag\", module).addDecorator(withStorySource(__STORY__, __ADDS_MAP__))\n\t.addDecorator(\n\t\tmoduleMetadata({\n\t\t\timports: [\n\t\t\t\tTagModule\n\t\t\t]\n\t\t})\n\t)\n\t.addDecorator(withKnobs)\n\t.add(\"Basic\", () => ({\n\t\ttemplate: `\n\t\t\t<ibm-tag type=\"warm-gray\">Warm-gray</ibm-tag>\n\t\t\t<br><br>\n\t\t\t<ibm-tag type=\"red\">Red</ibm-tag>\n\t\t\t<br><br>\n\t\t\t<ibm-tag type=\"magenta\">Magenta</ibm-tag>\n\t\t\t<br><br>\n\t\t\t<ibm-tag type=\"purple\">Purple</ibm-tag>\n\t\t\t<br><br>\n\t\t\t<ibm-tag type=\"blue\">Blue</ibm-tag>\n\t\t\t<br><br>\n\t\t\t<ibm-tag type=\"cyan\">Cyan</ibm-tag>\n\t\t\t<br><br>\n\t\t\t<ibm-tag type=\"teal\">Teal</ibm-tag>\n\t\t\t<br><br>\n\t\t\t<ibm-tag type=\"green\">Green</ibm-tag>\n\t\t\t<br><br>\n\t\t\t<ibm-tag type=\"cool-gray\">Cool-gray</ibm-tag>\n\t\t`\n\t}))\n\t.add(\"Filter\", () => ({\n\t\ttemplate: `\n\t\t\t<ibm-tag-filter>filter</ibm-tag-filter>\n\t\t`\n\t}));\n\n ","import {\n\tComponent,\n\tInput\n} from \"@angular/core\";\n\n/**\n * Build application's clickable tiles using this component.\n *\n * ## Basic usage\n *\n * ```html\n * <ibm-clickable-tile>\n * \t\ttile content\n * </ibm-clickable-tile>\n * ```\n *\n * @export\n * @class ClickableTile\n * @implements {OnInit}\n */\n@Component({\n\tselector: \"ibm-clickable-tile\",\n\ttemplate: `\n\t<a\n\t\tclass=\"bx--tile bx--tile--clickable\"\n\t\t[ngClass]=\"{\n\t\t\t'bx--tile--is-clicked': clicked\n\t\t}\"\n\t\ttabindex=\"0\"\n\t\t(click)=\"onClick($event)\"\n\t\t(keydown)=\"onKeyDown($event)\"\n\t\t[href]=\"href\"\n\t\t[target]=\"target\"\n\t\t[attr.aria-disabled]=\"disabled\">\n\t\t<ng-content></ng-content>\n\t</a>`\n})\nexport class ClickableTile {\n\t/**\n\t * Sets the `href` attribute on the `ibm-clickable-tile` element.\n\t * @type {string}\n\t * @memberof ClickableTile\n\t */\n\t@Input() href: string;\n\n\t/**\n\t * Sets the `target` attribute on the `ibm-clickable-tile` element.\n\t * @type {string}\n\t * @memberof ClickableTile\n\t */\n\t@Input() target: string;\n\n\t/**\n\t * Set to `true` to disable the clickable tile.\n\t * @type {boolean}\n\t * @memberof ClickableTile\n\t */\n\t@Input() disabled = false;\n\n\tclicked = false;\n\n\tonClick(event) {\n\t\tthis.clicked = !this.clicked;\n\t}\n\n\tonKeyDown(event) {\n\t\tif (event.key === \"Enter\" || event.key === \" \") {\n\t\t\tthis.clicked = !this.clicked;\n\t\t}\n\t}\n}\n","import {\n\tComponent,\n\tHostBinding,\n\tInput,\n\tViewChild,\n\tElementRef,\n\tAfterContentInit\n} from \"@angular/core\";\nimport { I18n } from \"./../i18n/i18n.module\";\n\n@Component({\n\tselector: \"ibm-expandable-tile\",\n\ttemplate: `\n\t\t<div\n\t\t\tclass=\"bx--tile bx--tile--expandable\"\n\t\t\t[ngClass]=\"{'bx--tile--is-expanded' : expanded}\"\n\t\t\t[ngStyle]=\"{'max-height': expandedHeight + 'px'}\"\n\t\t\trole=\"button\"\n\t\t\ttabindex=\"0\"\n\t\t\t(click)=\"onClick()\">\n\t\t\t<button [attr.aria-label]=\"(expanded ? collapse : expand) | async\" class=\"bx--tile__chevron\">\n\t\t\t\t<svg *ngIf=\"!expanded\" width=\"12\" height=\"7\" viewBox=\"0 0 12 7\" role=\"img\">\n\t\t\t\t\t<title>{{expand | async}}</title>\n\t\t\t\t\t<path fill-rule=\"nonzero\" d=\"M6.002 5.55L11.27 0l.726.685L6.003 7 0 .685.726 0z\"/>\n\t\t\t\t</svg>\n\t\t\t\t<svg *ngIf=\"expanded\" width=\"12\" height=\"7\" viewBox=\"0 0 12 7\" role=\"img\">\n\t\t\t\t\t<title>{{collapse | async}}</title>\n\t\t\t\t\t<path fill-rule=\"nonzero\" d=\"M6.002 5.55L11.27 0l.726.685L6.003 7 0 .685.726 0z\"/>\n\t\t\t\t</svg>\n\t\t\t</button>\n\t\t\t<div class=\"bx--tile-content\">\n\t\t\t\t<ng-content select=\".bx--tile-content__above-the-fold\"></ng-content>\n\t\t\t\t<ng-content select=\".bx--tile-content__below-the-fold\"></ng-content>\n\t\t\t</div>\n\t\t</div>\n\t`\n})\nexport class ExpandableTile implements AfterContentInit {\n\t@Input() expanded = false;\n\t/**\n\t * Expects an object that contains some or all of:\n\t * ```\n\t * {\n\t *\t\t\"EXPAND\": \"Expand\",\n\t *\t\t\"COLLAPSE\": \"Collapse\",\n\t * }\n\t * ```\n\t */\n\t@Input()\n\tset translations (value) {\n\t\tif (value.EXPAND) {\n\t\t\tthis.expand.next(value.EXPAND);\n\t\t}\n\t\tif (value.COLLAPSE) {\n\t\t\tthis.collapse.next(value.COLLAPSE);\n\t\t}\n\t}\n\n\ttileMaxHeight = 0;\n\telement = this.elementRef.nativeElement;\n\n\texpand = this.i18n.get(\"TILES.EXPAND\");\n\tcollapse = this.i18n.get(\"TILES.COLLAPSE\");\n\n\tconstructor(protected i18n: I18n, protected elementRef: ElementRef) {}\n\n\tngAfterContentInit() {\n\t\tthis.updateMaxHeight();\n\t}\n\n\tget expandedHeight() {\n\t\treturn this.tileMaxHeight + parseInt(getComputedStyle(this.element.querySelector(\".bx--tile\")).paddingBottom, 10);\n\t}\n\n\tupdateMaxHeight() {\n\t\tif (this.expanded) {\n\t\t\tthis.tileMaxHeight = this.element.querySelector(\".bx--tile-content\").getBoundingClientRect().height;\n\t\t} else {\n\t\t\tthis.tileMaxHeight = this.element.querySelector(\".bx--tile-content__above-the-fold\").getBoundingClientRect().height;\n\t\t}\n\t}\n\n\tonClick() {\n\t\tthis.expanded = !this.expanded;\n\t\tthis.updateMaxHeight();\n\t}\n}\n","import {\n\tComponent,\n\tInput,\n\tOutput,\n\tEventEmitter,\n\tViewChild\n} from \"@angular/core\";\nimport { NG_VALUE_ACCESSOR } from \"@angular/forms\";\nimport { I18n } from \"./../i18n/i18n.module\";\n\n@Component({\n\tselector: \"ibm-selection-tile\",\n\ttemplate: `\n\t\t<label\n\t\t\tclass=\"bx--tile bx--tile--selectable\"\n\t\t\ttabindex=\"0\"\n\t\t\t[for]=\"id\"\n\t\t\t[ngClass]=\"{'bx--tile--is-selected' : selected}\"\n\t\t\t[attr.aria-label]=\"i18n.get('TILES.TILE') | async\">\n\t\t\t<input\n\t\t\t\t#input\n\t\t\t\ttabindex=\"-1\"\n\t\t\t\tclass=\"bx--tile-input\"\n\t\t\t\t[id]=\"id\"\n\t\t\t\t[type]=\"(multiple ? 'checkbox': 'radio')\"\n\t\t\t\t[value]=\"value\"\n\t\t\t\t[name]=\"name\"\n\t\t\t\t(change)=\"onChange($event)\"/>\n\t\t\t<div class=\"bx--tile__checkmark\">\n\t\t\t\t<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n\t\t\t\t\t<path d=\"M8 16A8 8 0 1 1 8 0a8 8 0 0 1 0 16zm3.646-10.854L6.75 10.043 4.354 7.646l-.708.708 3.104 3.103 5.604-5.603-.708-.708z\"\n\t\t\t\t\t\tfill-rule=\"evenodd\"/>\n\t\t\t\t</svg>\n\t\t\t</div>\n\t\t\t<div class=\"bx--tile-content\">\n\t\t\t\t<ng-content></ng-content>\n\t\t\t</div>\n\t\t</label>\n\t`\n})\nexport class SelectionTile {\n\tstatic tileCount = 0;\n\t/**\n\t * The unique id for the input.\n\t */\n\t@Input() id = `tile-${SelectionTile.tileCount}`;\n\t/**\n\t * Updating the state of the input to match the state of the parameter passed in.\n\t * Set to `true` if this tile should be selected.\n\t */\n\t@Input() set selected(value: boolean) {\n\t\tif (!this.input) { return; }\n\t\tthis.input.nativeElement.checked = value ? true : null;\n\t}\n\n\tget selected() {\n\t\tif (!this.input) { return; }\n\t\treturn this.input.nativeElement.checked;\n\t}\n\t/**\n\t * The value for the tile. Returned via `ngModel` or `selected` event on the containing `TileGroup`.\n\t */\n\t@Input() value: string;\n\t/**\n\t * Internal event used to notify the containing `TileGroup` of changes.\n\t */\n\t@Output() change: EventEmitter<Event> = new EventEmitter();\n\n\t/**\n\t * Set by the containing `TileGroup`. Used for the `name` property on the input.\n\t */\n\tname: string;\n\t/**\n\t * Defines whether or not the `SelectionTile` supports selecting multiple tiles as opposed to single\n\t * tile selection.\n\t */\n\tmultiple: boolean;\n\n\t@ViewChild(\"input\") input;\n\n\tconstructor(public i18n: I18n) {\n\t\tSelectionTile.tileCount++;\n\t}\n\n\tonChange(event) {\n\t\tthis.change.emit(event);\n\t}\n}\n\n\n","import {\n\tComponent,\n\tAfterContentInit,\n\tInput,\n\tOutput,\n\tEventEmitter,\n\tHostBinding,\n\tContentChildren,\n\tQueryList\n} from \"@angular/core\";\nimport { SelectionTile } from \"./selection-tile.component\";\nimport { NG_VALUE_ACCESSOR } from \"@angular/forms\";\nimport { TileSelection } from \"./tile-selection.interface\";\n\n@Component({\n\tselector: \"ibm-tile-group\",\n\ttemplate: `<ng-content select=\"ibm-selection-tile\"></ng-content>`,\n\tproviders: [\n\t\t{\n\t\t\tprovide: NG_VALUE_ACCESSOR,\n\t\t\tuseExisting: TileGroup,\n\t\t\tmulti: true\n\t\t}\n\t]\n})\nexport class TileGroup implements AfterContentInit {\n\tstatic tileGroupCount = 0;\n\t/**\n\t * The tile group `name`\n\t */\n\t@Input() name = `tile-group-${TileGroup.tileGroupCount}`;\n\t/**\n\t * Set to `true` to support multiple tile selection\n\t */\n\t@Input() multiple = false;\n\n\t/**\n\t * Emits an event when the tile selection changes.\n\t *\n\t * Emits an object that looks like:\n\t * ```javascript\n\t * {\n\t * \tvalue: \"something\",\n\t * \tselected: true,\n\t * \tname: \"tile-group-1\"\n\t * }\n\t * ```\n\t */\n\t@Output() selected: EventEmitter<TileSelection> = new EventEmitter();\n\n\t@HostBinding(\"class.bx--tile-group\") tileGroupClass = true;\n\n\t@ContentChildren(SelectionTile) selectionTiles: QueryList<SelectionTile>;\n\n\tconstructor() {\n\t\tTileGroup.tileGroupCount++;\n\t}\n\n\tonChange = (_: any) => { };\n\n\tonTouched = () => { };\n\n\tngAfterContentInit() {\n\t\tthis.selectionTiles.forEach(tile => {\n\t\t\ttile.name = this.name;\n\t\t\ttile.change.subscribe(() => {\n\t\t\t\tthis.selected.emit({\n\t\t\t\t\tvalue: tile.value,\n\t\t\t\t\tselected: tile.selected,\n\t\t\t\t\tname: this.name\n\t\t\t\t});\n\t\t\t\tthis.onChange(tile.value);\n\t\t\t});\n\t\t\ttile.multiple = this.multiple;\n\t\t});\n\t}\n\n\twriteValue(value: any) {\n\t\tif (!this.selectionTiles) { return; }\n\t\tthis.selectionTiles.forEach(tile => {\n\t\t\tif (tile.value === value) {\n\t\t\t\ttile.selected = true;\n\t\t\t} else {\n\t\t\t\ttile.selected = false;\n\t\t\t}\n\t\t});\n\t}\n\n\tregisterOnChange(fn: any) {\n\t\tthis.onChange = fn;\n\t}\n\n\tregisterOnTouched(fn: any) {\n\t\tthis.onTouched = fn;\n\t}\n}\n","import {\n\tComponent,\n\tHostBinding\n} from \"@angular/core\";\n\n/**\n * Build application's tiles using this component.\n *\n * ## Basic usage\n *\n * ```html\n * <ibm-tile>\n * \t\ttile content\n * </ibm-tile>\n * ```\n *\n * @export\n * @class Tile\n * @implements {OnInit}\n */\n@Component({\n\tselector: \"ibm-tile\",\n\ttemplate: `<ng-content></ng-content>`\n})\nexport class Tile {\n\t@HostBinding(\"class.bx--tile\") tileClass = true;\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nimport { Tile } from \"./tile.component\";\nimport { ClickableTile } from \"./clickable-tile.component\";\nimport { ExpandableTile } from \"./expandable-tile.component\";\nimport { SelectionTile } from \"./selection-tile.component\";\nimport { TileGroup } from \"./tile-group.component\";\nimport { I18nModule } from \"./../i18n/i18n.module\";\n\nexport { Tile } from \"./tile.component\";\nexport { ClickableTile } from \"./clickable-tile.component\";\nexport { ExpandableTile } from \"./expandable-tile.component\";\nexport { SelectionTile } from \"./selection-tile.component\";\nexport { TileGroup } from \"./tile-group.component\";\n\n@NgModule({\n\tdeclarations: [\n\t\tTile,\n\t\tClickableTile,\n\t\tExpandableTile,\n\t\tSelectionTile,\n\t\tTileGroup\n\t],\n\texports: [\n\t\tTile,\n\t\tClickableTile,\n\t\tExpandableTile,\n\t\tSelectionTile,\n\t\tTileGroup\n\t],\n\timports: [\n\t\tCommonModule,\n\t\tI18nModule\n\t]\n})\nexport class TilesModule {}\n","\n export var withStorySource = require('@storybook/addon-storysource').withStorySource;\n export var __STORY__ = \"import { storiesOf, moduleMetadata } from '@storybook/angular';\\nimport { withKnobs } from '@storybook/addon-knobs/angular';\\nimport { action } from '@storybook/addon-actions';\\n\\nimport { TilesModule } from '../';\\n\\nstoriesOf('Tiles', module)\\n .addDecorator(\\n moduleMetadata({\\n imports: [TilesModule],\\n })\\n )\\n .addDecorator(withKnobs)\\n .add('Basic', () => ({\\n template: `\\n\\t\\t<ibm-tile>\\n\\t\\t\\ttile content goes here...\\n\\t\\t</ibm-tile>\\n\\t\\t`,\\n }))\\n .add('Multiple', () => ({\\n template: `\\n\\t\\t<div style=\\\"display: flex; flex-flow: row wrap; justify-content: space-around;\\\">\\n\\t\\t\\t<ibm-tile>\\n\\t\\t\\t\\tTile 1\\n\\t\\t\\t</ibm-tile>\\n\\t\\t\\t<ibm-tile>\\n\\t\\t\\t\\tTile 2\\n\\t\\t\\t</ibm-tile>\\n\\t\\t\\t<ibm-tile>\\n\\t\\t\\t\\tTile 3\\n\\t\\t\\t</ibm-tile>\\n\\t\\t</div>\\n\\t\\t`,\\n }))\\n .add('Clickable', () => ({\\n template: `\\n\\t\\t<ibm-clickable-tile href=\\\"https://www.carbondesignsystem.com/\\\" target=\\\"_blank\\\">\\n\\t\\t\\tClick the tile to open the Carbon Design System\\n\\t\\t</ibm-clickable-tile>\\n\\t\\t`,\\n }))\\n .add('Selectable', () => ({\\n template: `\\n\\t\\t\\t<ibm-tile-group (selected)=\\\"selected($event)\\\">\\n\\t\\t\\t\\t<ibm-selection-tile value=\\\"tile1\\\" [selected]=\\\"true\\\">Selectable Tile</ibm-selection-tile>\\n\\t\\t\\t\\t<ibm-selection-tile value=\\\"tile2\\\">Selectable Tile</ibm-selection-tile>\\n\\t\\t\\t\\t<ibm-selection-tile value=\\\"tile3\\\">Selectable Tile</ibm-selection-tile>\\n\\t\\t\\t</ibm-tile-group>\\n\\t\\t`,\\n props: {\\n selected: action('tile selected'),\\n },\\n }))\\n .add('Multi-select', () => ({\\n template: `\\n\\t\\t\\t<ibm-tile-group (selected)=\\\"selected($event)\\\" [multiple]=\\\"true\\\">\\n\\t\\t\\t\\t<ibm-selection-tile value=\\\"tile1\\\" [selected]=\\\"true\\\">Selectable Tile</ibm-selection-tile>\\n\\t\\t\\t\\t<ibm-selection-tile value=\\\"tile2\\\">Selectable Tile</ibm-selection-tile>\\n\\t\\t\\t\\t<ibm-selection-tile value=\\\"tile3\\\">Selectable Tile</ibm-selection-tile>\\n\\t\\t\\t</ibm-tile-group>\\n\\t\\t`,\\n props: {\\n selected: action('tile selected'),\\n },\\n }))\\n .add('Expandable', () => ({\\n template: `\\n\\t\\t<ibm-expandable-tile>\\n\\t\\t\\t<span class=\\\"bx--tile-content__above-the-fold\\\" style=\\\"height: 200px\\\">Above the fold content here</span>\\n\\t\\t\\t<span class=\\\"bx--tile-content__below-the-fold\\\" style=\\\"height: 400px\\\">Below the fold content here</span>\\n\\t\\t</ibm-expandable-tile>\\n\\t\\t`,\\n }));\\n\";\n export var __ADDS_MAP__ = {\"tiles--expandable\":{\"startLoc\":{\"col\":7,\"line\":67},\"endLoc\":{\"col\":4,\"line\":74}},\"tiles--multi-select\":{\"startLoc\":{\"col\":7,\"line\":55},\"endLoc\":{\"col\":4,\"line\":66}},\"tiles--selectable\":{\"startLoc\":{\"col\":7,\"line\":43},\"endLoc\":{\"col\":4,\"line\":54}},\"tiles--clickable\":{\"startLoc\":{\"col\":7,\"line\":36},\"endLoc\":{\"col\":4,\"line\":42}},\"tiles--multiple\":{\"startLoc\":{\"col\":7,\"line\":21},\"endLoc\":{\"col\":4,\"line\":35}},\"tiles--basic\":{\"startLoc\":{\"col\":7,\"line\":14},\"endLoc\":{\"col\":4,\"line\":20}}};\n \n import { storiesOf, moduleMetadata } from \"@storybook/angular\";\nimport { withKnobs } from \"@storybook/addon-knobs/angular\";\nimport { action } from \"@storybook/addon-actions\";\n\nimport { TilesModule } from \"../\";\n\nstoriesOf(\"Tiles\", module).addDecorator(withStorySource(__STORY__, __ADDS_MAP__))\n\t.addDecorator(\n\t\tmoduleMetadata({\n\t\t\timports: [\n\t\t\t\tTilesModule\n\t\t\t]\n\t\t})\n\t)\n\t.addDecorator(withKnobs)\n\t.add(\"Basic\", () => ({\n\t\ttemplate: `\n\t\t<ibm-tile>\n\t\t\ttile content goes here...\n\t\t</ibm-tile>\n\t\t`\n\t}))\n\t.add(\"Multiple\", () => ({\n\t\ttemplate: `\n\t\t<div style=\"display: flex; flex-flow: row wrap; justify-content: space-around;\">\n\t\t\t<ibm-tile>\n\t\t\t\tTile 1\n\t\t\t</ibm-tile>\n\t\t\t<ibm-tile>\n\t\t\t\tTile 2\n\t\t\t</ibm-tile>\n\t\t\t<ibm-tile>\n\t\t\t\tTile 3\n\t\t\t</ibm-tile>\n\t\t</div>\n\t\t`\n\t}))\n\t.add(\"Clickable\", () => ({\n\t\ttemplate: `\n\t\t<ibm-clickable-tile href=\"https://www.carbondesignsystem.com/\" target=\"_blank\">\n\t\t\tClick the tile to open the Carbon Design System\n\t\t</ibm-clickable-tile>\n\t\t`\n\t}))\n\t.add(\"Selectable\", () => ({\n\t\ttemplate: `\n\t\t\t<ibm-tile-group (selected)=\"selected($event)\">\n\t\t\t\t<ibm-selection-tile value=\"tile1\" [selected]=\"true\">Selectable Tile</ibm-selection-tile>\n\t\t\t\t<ibm-selection-tile value=\"tile2\">Selectable Tile</ibm-selection-tile>\n\t\t\t\t<ibm-selection-tile value=\"tile3\">Selectable Tile</ibm-selection-tile>\n\t\t\t</ibm-tile-group>\n\t\t`,\n\t\tprops: {\n\t\t\tselected: action(\"tile selected\")\n\t\t}\n\t}))\n\t.add(\"Multi-select\", () => ({\n\t\ttemplate: `\n\t\t\t<ibm-tile-group (selected)=\"selected($event)\" [multiple]=\"true\">\n\t\t\t\t<ibm-selection-tile value=\"tile1\" [selected]=\"true\">Selectable Tile</ibm-selection-tile>\n\t\t\t\t<ibm-selection-tile value=\"tile2\">Selectable Tile</ibm-selection-tile>\n\t\t\t\t<ibm-selection-tile value=\"tile3\">Selectable Tile</ibm-selection-tile>\n\t\t\t</ibm-tile-group>\n\t\t`,\n\t\tprops: {\n\t\t\tselected: action(\"tile selected\")\n\t\t}\n\t}))\n\t.add(\"Expandable\", () => ({\n\t\ttemplate: `\n\t\t<ibm-expandable-tile>\n\t\t\t<span class=\"bx--tile-content__above-the-fold\" style=\"height: 200px\">Above the fold content here</span>\n\t\t\t<span class=\"bx--tile-content__below-the-fold\" style=\"height: 400px\">Below the fold content here</span>\n\t\t</ibm-expandable-tile>\n\t\t`\n\t}));\n\n ","import {\n\tComponent,\n\tInput,\n\tOutput,\n\tEventEmitter,\n\tHostBinding\n} from \"@angular/core\";\nimport { Select } from \"../select/select.component\";\n\n@Component({\n\tselector: \"ibm-timepicker-select\",\n\ttemplate: `\n\t\t\t<label *ngIf=\"!skeleton\" [attr.for]=\"id\" class=\"bx--label bx--visually-hidden\">{{label}}</label>\n\t\t\t<select\n\t\t\t\t#select\n\t\t\t\t[attr.id]=\"id\"\n\t\t\t\t[disabled]=\"disabled\"\n\t\t\t\t(change)=\"onChange($event)\"\n\t\t\t\tclass=\"bx--select-input\">\n\t\t\t\t<ng-content></ng-content>\n\t\t\t</select>\n\t\t\t<ibm-icon-chevron-down16 *ngIf=\"!skeleton\" class=\"bx--select__arrow\"></ibm-icon-chevron-down16>\n\t`\n})\nexport class TimePickerSelect extends Select {\n\t@HostBinding(\"class.bx--select\") timeSelect = true;\n\t@HostBinding(\"class.bx--time-picker__select\") timePickerSelect = true;\n\n\t@Input() id = `timepicker-select-${TimePickerSelect.selectCount++}`;\n\n\t/**\n\t * Set to true for a loading select.\n\t */\n\t@Input() skeleton = false;\n\n\t/**\n\t * `light` or `dark` select theme\n\t */\n\t@Input() theme: \"light\" | \"dark\" = \"dark\";\n\n\t@HostBinding(\"class.bx--skeleton\") timePickerSelectSkeleton = this.skeleton;\n\n\t@HostBinding(\"class.bx--select--light\") get timePickerSelectLight() {\n\t\treturn this.theme === \"light\";\n\t}\n\n\t@Output() valueChange: EventEmitter<string> = new EventEmitter();\n\n\tonChange(event) {\n\t\tthis.valueChange.emit(event.target.value);\n\t}\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { TimePickerSelect } from \"./timepicker-select.component\";\nimport { SelectModule } from \"../select/select.module\";\nimport { ChevronDown16Module } from \"@carbon/icons-angular/lib/chevron--down/16\";\n\n@NgModule({\n\tdeclarations: [\n\t\tTimePickerSelect\n\t],\n\texports: [\n\t\tTimePickerSelect\n\t],\n\timports: [\n\t\tSelectModule,\n\t\tCommonModule,\n\t\tChevronDown16Module\n\t]\n})\nexport class TimePickerSelectModule { }\n","\n export var withStorySource = require('@storybook/addon-storysource').withStorySource;\n export var __STORY__ = \"import { TimePickerSelectModule } from './timepicker-select.module';\\nimport { storiesOf, moduleMetadata } from '@storybook/angular';\\nimport { withKnobs } from '@storybook/addon-knobs/angular';\\nimport { ExperimentalModule } from '..';\\n\\nstoriesOf('Time Picker Select', module)\\n .addDecorator(\\n moduleMetadata({\\n imports: [TimePickerSelectModule, ExperimentalModule],\\n })\\n )\\n .addDecorator(withKnobs)\\n .add('Simple', () => ({\\n template: `\\n\\t\\t<div class=\\\"bx--form-item\\\">\\n\\t\\t\\t<div class=\\\"bx--time-picker\\\">\\n\\t\\t\\t\\t<ibm-timepicker-select>\\n\\t\\t\\t\\t\\t<option selected value=\\\"AM\\\">AM</option>\\n\\t\\t\\t\\t\\t<option value=\\\"PM\\\">PM</option>\\n\\t\\t\\t\\t</ibm-timepicker-select>\\n\\t\\t\\t\\t<ibm-timepicker-select>\\n\\t\\t\\t\\t\\t<option selected value=\\\"Time Zone 1\\\">Time Zone 1</option>\\n\\t\\t\\t\\t\\t<option value=\\\"Time Zone 2\\\">Time Zone 2</option>\\n\\t\\t\\t\\t</ibm-timepicker-select>\\n\\t\\t\\t</div>\\n\\t\\t</div>\\n\\t\\t`,\\n }));\\n\";\n export var __ADDS_MAP__ = {\"time-picker-select--simple\":{\"startLoc\":{\"col\":7,\"line\":13},\"endLoc\":{\"col\":4,\"line\":28}}};\n \n import { TimePickerSelectModule } from \"./timepicker-select.module\";\nimport { storiesOf, moduleMetadata } from \"@storybook/angular\";\nimport { withKnobs } from \"@storybook/addon-knobs/angular\";\nimport { ExperimentalModule } from \"..\";\n\nstoriesOf(\"Time Picker Select\", module).addDecorator(withStorySource(__STORY__, __ADDS_MAP__))\n\t.addDecorator(\n\t\tmoduleMetadata({\n\t\t\timports: [\n\t\t\t\tTimePickerSelectModule,\n\t\t\t\tExperimentalModule\n\t\t\t]\n\t\t})\n\t)\n\t.addDecorator(withKnobs)\n\t.add(\"Simple\", () => ({\n\t\ttemplate: `\n\t\t<div class=\"bx--form-item\">\n\t\t\t<div class=\"bx--time-picker\">\n\t\t\t\t<ibm-timepicker-select>\n\t\t\t\t\t<option selected value=\"AM\">AM</option>\n\t\t\t\t\t<option value=\"PM\">PM</option>\n\t\t\t\t</ibm-timepicker-select>\n\t\t\t\t<ibm-timepicker-select>\n\t\t\t\t\t<option selected value=\"Time Zone 1\">Time Zone 1</option>\n\t\t\t\t\t<option value=\"Time Zone 2\">Time Zone 2</option>\n\t\t\t\t</ibm-timepicker-select>\n\t\t\t</div>\n\t\t</div>\n\t\t`\n\t}));\n\n ","import {\n\tComponent,\n\tInput,\n\tOutput,\n\tEventEmitter,\n\tHostBinding\n} from \"@angular/core\";\n\n@Component({\n\tselector: \"ibm-timepicker\",\n\ttemplate: `\n\t\t\t<div class=\"bx--time-picker__input\">\n\t\t\t\t<label *ngIf=\"!skeleton\" [attr.for]=\"id\" class=\"bx--label\">{{label}}</label>\n\t\t\t\t<input\n\t\t\t\t\t[ngClass]=\"{\n\t\t\t\t\t\t'bx--text-input--light': theme === 'light',\n\t\t\t\t\t\t'bx--skeleton': skeleton\n\t\t\t\t\t}\"\n\t\t\t\t\t[value]=\"value\"\n\t\t\t\t\t[placeholder]=\"placeholder\"\n\t\t\t\t\t[pattern]=\"pattern\"\n\t\t\t\t\t[attr.id]=\"id\"\n\t\t\t\t\t[disabled]=\"disabled\"\n\t\t\t\t\tmaxlength=\"5\"\n\t\t\t\t\t(change)=\"onChange($event)\"\n\t\t\t\t\ttype=\"text\"\n\t\t\t\t\tclass=\"bx--time-picker__input-field bx--text-input\">\n\t\t\t</div>\n\t\t\t<ng-content></ng-content>\n\t`\n})\nexport class TimePicker {\n\t/**\n\t * Tracks the total number of selects instantiated. Used to generate unique IDs\n\t */\n\tstatic timePickerCount = 0;\n\n\t@HostBinding(\"class.bx--time-picker\") timePicker = true;\n\n\t@Input() label;\n\t@Input() placeholder = \"hh:mm\";\n\t@Input() pattern = \"(1[012]|[0-9]):[0-5][0-9]\";\n\t@Input() id = `timepicker-${TimePicker.timePickerCount++}`;\n\t@Input() disabled = false;\n\t@Input() value: string;\n\n\t/**\n\t * Set to true for a loading select.\n\t */\n\t@Input() skeleton = false;\n\n\t/**\n\t * `light` or `dark` select theme\n\t */\n\t@Input() theme: \"light\" | \"dark\" = \"dark\";\n\n\t@Output() valueChange: EventEmitter<string> = new EventEmitter();\n\n\tonChange(event) {\n\t\tthis.valueChange.emit(event.target.value);\n\t}\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { TimePicker } from \"./timepicker.component\";\nimport { TimePickerSelectModule } from \"../timepicker-select/timepicker-select.module\";\n\n@NgModule({\n\tdeclarations: [\n\t\tTimePicker\n\t],\n\texports: [\n\t\tTimePicker\n\t],\n\timports: [\n\t\tTimePickerSelectModule,\n\t\tCommonModule\n\t]\n})\nexport class TimePickerModule { }\n","\n export var withStorySource = require('@storybook/addon-storysource').withStorySource;\n export var __STORY__ = \"import { action } from '@storybook/addon-actions';\\nimport { TimePickerSelectModule } from '../timepicker-select/timepicker-select.module';\\nimport { TimePickerModule } from './timepicker.module';\\nimport { storiesOf, moduleMetadata } from '@storybook/angular';\\nimport { withKnobs, boolean, text, select } from '@storybook/addon-knobs/angular';\\nimport { ExperimentalModule } from '..';\\n\\nstoriesOf('Time Picker', module)\\n .addDecorator(\\n moduleMetadata({\\n imports: [TimePickerModule, ExperimentalModule, TimePickerSelectModule],\\n })\\n )\\n .addDecorator(withKnobs)\\n .add('Simple', () => ({\\n template: `\\n\\t\\t<ibm-timepicker [theme]=\\\"theme\\\" (valueChange)=\\\"timePickerChange($event)\\\" [value]=\\\"value\\\" [disabled]=\\\"disableTime\\\" label=\\\"Select a time\\\">\\n\\t\\t\\t<ibm-timepicker-select [theme]=\\\"theme\\\" (valueChange)=\\\"timePickerSelectChange($event)\\\" [disabled]=\\\"disabledSelect\\\" display=\\\"inline\\\">\\n\\t\\t\\t\\t<option selected value=\\\"AM\\\">AM</option>\\n\\t\\t\\t\\t<option value=\\\"PM\\\">PM</option>\\n\\t\\t\\t</ibm-timepicker-select>\\n\\t\\t\\t<ibm-timepicker-select [theme]=\\\"theme\\\" (valueChange)=\\\"timePickerSelectChange($event)\\\" [disabled]=\\\"disabledSelect\\\" display=\\\"inline\\\">\\n\\t\\t\\t\\t<option selected value=\\\"Time Zone 1\\\">Time Zone 1</option>\\n\\t\\t\\t\\t<option value=\\\"Time Zone 2\\\">Time Zone 2</option>\\n\\t\\t\\t</ibm-timepicker-select>\\n\\t\\t</ibm-timepicker>\\n\\n\\t\\t`,\\n props: {\\n timePickerChange: action('Time picker change fired'),\\n timePickerSelectChange: action('Time picker select change fired'),\\n value: text('Time in 12hr format', '12:12'),\\n disableTime: boolean('disabled time', false),\\n disabledSelect: boolean('disabled selects', false),\\n theme: select('Theme', ['dark', 'light'], 'dark'),\\n },\\n }));\\n\";\n export var __ADDS_MAP__ = {\"time-picker--simple\":{\"startLoc\":{\"col\":7,\"line\":15},\"endLoc\":{\"col\":4,\"line\":37}}};\n \n import { action } from \"@storybook/addon-actions\";\nimport { TimePickerSelectModule } from \"../timepicker-select/timepicker-select.module\";\nimport { TimePickerModule } from \"./timepicker.module\";\nimport { storiesOf, moduleMetadata } from \"@storybook/angular\";\nimport {\n\twithKnobs,\n\tboolean,\n\ttext,\n\tselect\n} from \"@storybook/addon-knobs/angular\";\nimport { ExperimentalModule } from \"..\";\n\nstoriesOf(\"Time Picker\", module).addDecorator(withStorySource(__STORY__, __ADDS_MAP__))\n\t.addDecorator(\n\t\tmoduleMetadata({\n\t\t\timports: [\n\t\t\t\tTimePickerModule,\n\t\t\t\tExperimentalModule,\n\t\t\t\tTimePickerSelectModule\n\t\t\t]\n\t\t})\n\t)\n\t.addDecorator(withKnobs)\n\t.add(\"Simple\", () => ({\n\t\ttemplate: `\n\t\t<ibm-timepicker [theme]=\"theme\" (valueChange)=\"timePickerChange($event)\" [value]=\"value\" [disabled]=\"disableTime\" label=\"Select a time\">\n\t\t\t<ibm-timepicker-select [theme]=\"theme\" (valueChange)=\"timePickerSelectChange($event)\" [disabled]=\"disabledSelect\" display=\"inline\">\n\t\t\t\t<option selected value=\"AM\">AM</option>\n\t\t\t\t<option value=\"PM\">PM</option>\n\t\t\t</ibm-timepicker-select>\n\t\t\t<ibm-timepicker-select [theme]=\"theme\" (valueChange)=\"timePickerSelectChange($event)\" [disabled]=\"disabledSelect\" display=\"inline\">\n\t\t\t\t<option selected value=\"Time Zone 1\">Time Zone 1</option>\n\t\t\t\t<option value=\"Time Zone 2\">Time Zone 2</option>\n\t\t\t</ibm-timepicker-select>\n\t\t</ibm-timepicker>\n\n\t\t`,\n\t\tprops: {\n\t\t\ttimePickerChange : action(\"Time picker change fired\"),\n\t\t\ttimePickerSelectChange: action(\"Time picker select change fired\"),\n\t\t\tvalue: text(\"Time in 12hr format\", \"12:12\"),\n\t\t\tdisableTime: boolean(\"disabled time\", false),\n\t\t\tdisabledSelect: boolean(\"disabled selects\", false),\n\t\t\ttheme: select(\"Theme\", [\"dark\", \"light\"], \"dark\")\n\t\t}\n\t}));\n\n ","import { Checkbox } from \"../checkbox/checkbox.component\";\nimport {\n\tChangeDetectorRef,\n\tComponent,\n\tInput,\n\tOutput,\n\tEventEmitter\n} from \"@angular/core\";\nimport { NG_VALUE_ACCESSOR } from \"@angular/forms\";\n\nimport { I18n } from \"../i18n/i18n.module\";\n\n/**\n * Defines the set of states for a toggle component.\n */\nexport enum ToggleState {\n\tInit,\n\tIndeterminate,\n\tChecked,\n\tUnchecked\n}\n\n/**\n * Used to emit changes performed on toggle components.\n */\nexport class ToggleChange {\n\t/**\n\t * Contains the `Toggle` that has been changed.\n\t */\n\tsource: Toggle;\n\t/**\n\t * The state of the `Toggle` encompassed in the `ToggleChange` class.\n\t */\n\tchecked: boolean;\n}\n\n/**\n * ```html\n * <ibm-toggle [(ngModel)]=\"toggleState\">Toggle</ibm-toggle>\n * ```\n */\n@Component({\n\tselector: \"ibm-toggle\",\n\ttemplate: `\n\t\t<div *ngIf=\"label\" class=\"bx--label\" [id]=\"ariaLabelledby\">{{label}}</div>\n\t\t<input\n\t\t\tclass=\"bx--toggle\"\n\t\t\ttype=\"checkbox\"\n\t\t\t[ngClass]=\"{\n\t\t\t\t'bx--toggle--small': size === 'sm',\n\t\t\t\t'bx--skeleton': skeleton\n\t\t\t}\"\n\t\t\t[id]=\"id\"\n\t\t\t[value]=\"value\"\n\t\t\t[name]=\"name\"\n\t\t\t[required]=\"required\"\n\t\t\t[checked]=\"checked\"\n\t\t\t[disabled]=\"disabled\"\n\t\t\t[attr.aria-labelledby]=\"ariaLabelledby\"\n\t\t\t[attr.aria-checked]=\"checked\"\n\t\t\t(change)=\"onChange($event)\"\n\t\t\t(click)=\"onClick($event)\">\n\t\t<label\n\t\t\tclass=\"bx--toggle__label\"\n\t\t\t[for]=\"id\"\n\t\t\t[ngClass]=\"{\n\t\t\t\t'bx--skeleton': skeleton\n\t\t\t}\">\n\t\t\t<span class=\"bx--toggle__text--left\">{{(!skeleton ? offText : null) | async }}</span>\n\t\t\t<span class=\"bx--toggle__appearance\">\n\t\t\t\t<svg *ngIf=\"size === 'sm'\" class=\"bx--toggle__check\" width=\"6px\" height=\"5px\" viewBox=\"0 0 6 5\">\n\t\t\t\t\t<path d=\"M2.2 2.7L5 0 6 1 2.2 5 0 2.7 1 1.5z\"/>\n\t\t\t\t</svg>\n\t\t\t</span>\n\t\t\t<span class=\"bx--toggle__text--right\">{{(!skeleton ? onText : null) | async}}</span>\n\t\t</label>\n\t`,\n\tproviders: [\n\t\t{\n\t\t\tprovide: NG_VALUE_ACCESSOR,\n\t\t\tuseExisting: Toggle,\n\t\t\tmulti: true\n\t\t}\n\t]\n})\nexport class Toggle extends Checkbox {\n\t/**\n\t * Variable used for creating unique ids for toggle components.\n\t */\n\tstatic toggleCount = 0;\n\n\t/**\n\t * Text that is set on the left side of the toggle.\n\t */\n\t@Input()\n\tset offText(value: string) {\n\t\tthis._offText.next(value);\n\t}\n\n\tget offText() {\n\t\treturn this._offText;\n\t}\n\n\t/**\n\t * Text that is set on the right side of the toggle.\n\t */\n\t@Input()\n\tset onText(value: string) {\n\t\tthis._onText.next(value);\n\t}\n\n\tget onText() {\n\t\treturn this._onText;\n\t}\n\t/**\n\t * Text that is set as the label of the toggle.\n\t * @type {(string)}\n\t */\n\t@Input() label: string;\n\t/**\n\t * Size of the toggle component.\n\t */\n\t@Input() size: \"sm\" | \"md\" = \"md\";\n\t/**\n\t * Set to `true` for a loading toggle.\n\t */\n\t@Input() skeleton = false;\n\n\t/**\n\t * The unique id allocated to the `Toggle`.\n\t */\n\tid = \"toggle-\" + Toggle.toggleCount;\n\n\t/**\n\t * Emits event notifying other classes when a change in state occurs on a toggle after a\n\t * click.\n\t */\n\t@Output() change = new EventEmitter<ToggleChange>();\n\n\tprotected _offText = this.i18n.get(\"TOGGLE.OFF\");\n\tprotected _onText = this.i18n.get(\"TOGGLE.ON\");\n\t/**\n\t * Creates an instance of Toggle.\n\t */\n\tconstructor(protected changeDetectorRef: ChangeDetectorRef, protected i18n: I18n) {\n\t\tsuper(changeDetectorRef);\n\t\tToggle.toggleCount++;\n\t}\n\n\t/**\n\t * Creates instance of `ToggleChange` used to propagate the change event.\n\t */\n\temitChangeEvent() {\n\t\tlet event = new ToggleChange();\n\t\tevent.source = this;\n\t\tevent.checked = this.checked;\n\n\t\tthis.propagateChange(this.checked);\n\t\tthis.change.emit(event);\n\t}\n}\n","// modules\nimport { NgModule } from \"@angular/core\";\nimport { FormsModule } from \"@angular/forms\";\nimport { CommonModule } from \"@angular/common\";\n\n// imports\nimport { I18nModule } from \"../i18n/i18n.module\";\nimport { Toggle } from \"../toggle/toggle.component\";\n\n// exports\nexport { Toggle } from \"../toggle/toggle.component\";\n\n@NgModule({\n\tdeclarations: [\n\t\tToggle\n\t],\n\texports: [\n\t\tToggle\n\t],\n\timports: [\n\t\tCommonModule,\n\t\tFormsModule,\n\t\tI18nModule\n\t]\n})\nexport class ToggleModule { }\n","\n export var withStorySource = require('@storybook/addon-storysource').withStorySource;\n export var __STORY__ = \"import { storiesOf, moduleMetadata } from '@storybook/angular';\\nimport { withKnobs, boolean, select, text } from '@storybook/addon-knobs/angular';\\n\\nimport { ToggleModule } from '../';\\n\\nstoriesOf('Toggle', module)\\n .addDecorator(\\n moduleMetadata({\\n imports: [ToggleModule],\\n })\\n )\\n .addDecorator(withKnobs)\\n .add('Basic', () => ({\\n template: `\\n\\t\\t\\t<ibm-toggle\\n\\t\\t\\t\\t[label]=\\\"labelText\\\"\\n\\t\\t\\t\\t[onText]=\\\"onText\\\"\\n\\t\\t\\t\\t[offText]=\\\"offText\\\"\\n\\t\\t\\t\\t[disabled]=\\\"disabled\\\"\\n\\t\\t\\t\\t[checked]=\\\"checked\\\"\\n\\t\\t\\t\\t[size]=\\\"size\\\">\\n\\t\\t\\t</ibm-toggle>\\n\\t\\t`,\\n props: {\\n disabled: boolean('Disabled', false),\\n checked: boolean('Checked', false),\\n size: select('Size', ['md', 'sm'], 'md'),\\n labelText: text('Label text', ''),\\n onText: text('On text', 'On'),\\n offText: text('Off text', 'Off'),\\n },\\n }))\\n .add('Skeleton', () => ({\\n template: `\\n\\t\\t\\t<ibm-toggle skeleton=\\\"true\\\"></ibm-toggle>\\n\\t\\t\\t&nbsp;\\n\\t\\t\\t<ibm-toggle skeleton=\\\"true\\\" size=\\\"sm\\\"></ibm-toggle>\\n\\t\\t`,\\n }));\\n\";\n export var __ADDS_MAP__ = {\"toggle--skeleton\":{\"startLoc\":{\"col\":7,\"line\":33},\"endLoc\":{\"col\":4,\"line\":39}},\"toggle--basic\":{\"startLoc\":{\"col\":7,\"line\":13},\"endLoc\":{\"col\":4,\"line\":32}}};\n \n import { storiesOf, moduleMetadata } from \"@storybook/angular\";\nimport {\n\twithKnobs,\n\tboolean,\n\tselect,\n\ttext\n} from \"@storybook/addon-knobs/angular\";\n\nimport { ToggleModule } from \"../\";\n\nstoriesOf(\"Toggle\", module).addDecorator(withStorySource(__STORY__, __ADDS_MAP__)).addDecorator(\n\tmoduleMetadata({\n\t\timports: [ToggleModule]\n\t})\n)\n\t.addDecorator(withKnobs)\n\t.add(\"Basic\", () => ({\n\t\ttemplate: `\n\t\t\t<ibm-toggle\n\t\t\t\t[label]=\"labelText\"\n\t\t\t\t[onText]=\"onText\"\n\t\t\t\t[offText]=\"offText\"\n\t\t\t\t[disabled]=\"disabled\"\n\t\t\t\t[checked]=\"checked\"\n\t\t\t\t[size]=\"size\">\n\t\t\t</ibm-toggle>\n\t\t`,\n\t\tprops: {\n\t\t\tdisabled: boolean(\"Disabled\", false),\n\t\t\tchecked: boolean(\"Checked\", false),\n\t\t\tsize: select(\"Size\", [\"md\", \"sm\"], \"md\"),\n\t\t\tlabelText: text(\"Label text\", \"\"),\n\t\t\tonText: text(\"On text\", \"On\"),\n\t\t\toffText: text(\"Off text\", \"Off\")\n\t\t}\n\t}))\n\t.add(\"Skeleton\", () => ({\n\t\ttemplate: `\n\t\t\t<ibm-toggle skeleton=\"true\"></ibm-toggle>\n\t\t\t&nbsp;\n\t\t\t<ibm-toggle skeleton=\"true\" size=\"sm\"></ibm-toggle>\n\t\t`\n\t}));\n\n ","import { Component } from \"@angular/core\";\nimport { I18n } from \"../i18n/i18n.module\";\n\n/**\n * A slide-out hamburger menu\n *\n * TODO: This is a stub component, and needs to be implemented.\n */\n@Component({\n\tselector: \"ibm-hamburger\",\n\ttemplate: `\n\t\t<button\n\t\t\tclass=\"bx--header__menu-trigger bx--header__action\"\n\t\t\t[attr.aria-label]=\"i18n.get('UI_SHELL.HEADER.MENU') | async\"\n\t\t\t[attr.title]=\"i18n.get('UI_SHELL.HEADER.MENU') | async\">\n\t\t\t<svg aria-hidden=\"true\" width=\"20\" height=\"20\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 32 32\">\n\t\t\t\t<path d=\"M4 6h24v2H4zm0 18h24v2H4zm0-9h24v2H4z\" />\n\t\t\t</svg>\n\t\t</button>\n\t`\n})\nexport class Hamburger {\n\tconstructor(public i18n: I18n) { }\n}\n","import { Component, Input } from \"@angular/core\";\n\n@Component({\n\tselector: \"ibm-header-action\",\n\ttemplate: `\n\t\t<button\n\t\t\tclass=\"bx--header__action\"\n\t\t\t[attr.aria-label]=\"title\"\n\t\t\t[title]=\"title\">\n\t\t\t<ng-content></ng-content>\n\t\t</button>\n\t`\n})\nexport class HeaderAction {\n\t@Input() title;\n}\n","import { Component, HostBinding } from \"@angular/core\";\n\n@Component({\n\tselector: \"ibm-header-global\",\n\ttemplate: `\n\t\t<ng-content></ng-content>\n\t`\n})\nexport class HeaderGlobal {\n\t@HostBinding(\"class.bx--header__global\") hostClass = true;\n}\n","import { Component } from \"@angular/core\";\n\n@Component({\n\tselector: \"ibm-header-item\",\n\ttemplate: `\n\t\t<li style=\"height: 100%\">\n\t\t\t<a class=\"bx--header__menu-item\" href=\"javascript:void(0)\" role=\"menuitem\" tabindex=\"0\">\n\t\t\t\t<ng-content></ng-content>\n\t\t\t</a>\n\t\t</li>\n\t`\n})\nexport class HeaderItem { }\n","import { Component, Input, HostBinding, HostListener } from \"@angular/core\";\n\n@Component({\n\tselector: \"ibm-header-menu\",\n\ttemplate: `\n\t\t<li\n\t\t\tclass=\"bx--header__submenu\"\n\t\t\tstyle=\"height: 100%\">\n\t\t\t<a\n\t\t\t\tclass=\"bx--header__menu-item bx--header__menu-title\"\n\t\t\t\thref=\"javascript:void(0)\"\n\t\t\t\trole=\"menuitem\"\n\t\t\t\ttabindex=\"0\"\n\t\t\t\taria-haspopup=\"true\"\n\t\t\t\t[attr.aria-expanded]=\"expanded\">\n\t\t\t\t{{title}}\n\t\t\t\t<svg class=\"bx--header__menu-arrow\" width=\"12\" height=\"7\" aria-hidden=\"true\">\n\t\t\t\t\t<path d=\"M6.002 5.55L11.27 0l.726.685L6.003 7 0 .685.726 0z\" />\n\t\t\t\t</svg>\n\t\t\t</a>\n\t\t\t<ul class=\"bx--header__menu\" role=\"menu\" [attr.aria-label]=\"title\">\n\t\t\t\t<ng-content></ng-content>\n\t\t\t</ul>\n\t\t</li>\n\t`\n})\nexport class HeaderMenu {\n\t@Input() title;\n\n\texpanded = false;\n\n\t@HostListener(\"mouseover\")\n\tonMouseOver() {\n\t\tthis.expanded = true;\n\t}\n\n\t@HostListener(\"mouseout\")\n\tonMouseOut() {\n\t\tthis.expanded = false;\n\t}\n}\n","import { Component, HostBinding } from \"@angular/core\";\n\n@Component({\n\tselector: \"ibm-header-navigation\",\n\ttemplate: `\n\t\t<nav class=\"bx--header__nav\">\n\t\t\t<ul class=\"bx--header__menu-bar\" role=\"menubar\">\n\t\t\t\t<ng-content></ng-content>\n\t\t\t</ul>\n\t\t</nav>\n\t`\n})\nexport class HeaderNavigation {\n\t@HostBinding(\"style.height.%\") height = 100;\n}\n","import { Component, Input, HostBinding } from \"@angular/core\";\nimport { I18n } from \"./../i18n/i18n.module\";\n\n@Component({\n\tselector: \"ibm-header\",\n\ttemplate: `\n\t\t<header\n\t\t\tclass=\"bx--header\"\n\t\t\trole=\"banner\"\n\t\t\t[attr.aria-label]=\"brand + ' ' + name\">\n\t\t\t<a\n\t\t\t\tclass=\"bx--skip-to-content\"\n\t\t\t\t[href]=\"skipTo\"\n\t\t\t\ttabindex=\"0\">\n\t\t\t\t{{ i18n.get(\"UI_SHELL.SKIP_TO\") | async }}\n\t\t\t</a>\n\t\t\t<ng-content select=\"ibm-hamburger\"></ng-content>\n\t\t\t<a class=\"bx--header__name\" href=\"#\">\n\t\t\t\t<span class=\"bx--header__name--prefix\">{{brand}}&nbsp;</span>\n\t\t\t\t{{name}}\n\t\t\t</a>\n\t\t\t<ng-content></ng-content>\n\t\t</header>\n\t`\n})\nexport class Header {\n\t@Input() skipTo: string;\n\t@Input() name: string;\n\t@Input() brand = \"IBM\";\n\n\t@HostBinding(\"class.bx--header\") hostClass = true;\n\n\tconstructor(public i18n: I18n) { }\n}\n","import { Component, Input } from \"@angular/core\";\nimport { ListItem } from \"./../dropdown/dropdown.module\";\nimport { I18n } from \"./../i18n/i18n.module\";\n\n@Component({\n\tselector: \"ibm-sidenav-header\",\n\ttemplate: `\n\t\t<header class=\"bx--side-nav__header\">\n\t\t\t<div class=\"bx--side-nav__icon\">\n\t\t\t\t<ng-content select=\"[icon]\"></ng-content>\n\t\t\t</div>\n\t\t\t<div class=\"bx--side-nav__details\">\n\t\t\t\t<h2 class=\"bx--side-nav__title\" [title]=\"title\">{{title}}</h2>\n\t\t\t\t<div class=\"bx--side-nav__switcher\">\n\t\t\t\t\t<label class=\"bx--assistive-text\" [for]=\"switcherId\">\n\t\t\t\t\t\t{{i18n.get('UI_SHELL.SIDE_NAV.SWITCHER') | async}}\n\t\t\t\t\t</label>\n\t\t\t\t\t<select [id]=\"switcherId\" class=\"bx--side-nav__select\">\n\t\t\t\t\t\t<option class=\"bx--side-nav__option\" disabled=\"\" value=\"\" selected=\"\" hidden=\"\">\n\t\t\t\t\t\t\t{{i18n.get('UI_SHELL.SIDE_NAV.SWITCHER') | async}}\n\t\t\t\t\t\t</option>\n\t\t\t\t\t\t<option\n\t\t\t\t\t\t\t*ngFor=\"let option of options\"\n\t\t\t\t\t\t\tclass=\"bx--side-nav__option\"\n\t\t\t\t\t\t\t[value]=\"(option.value ? option.value : option.content)\">\n\t\t\t\t\t\t\t{{option.content}}\n\t\t\t\t\t\t</option>\n\t\t\t\t\t</select>\n\t\t\t\t\t<div class=\"bx--side-nav__switcher-chevron\">\n\t\t\t\t\t\t<svg\n\t\t\t\t\t\t\tfocusable=\"false\"\n\t\t\t\t\t\t\tpreserveAspectRatio=\"xMidYMid meet\"\n\t\t\t\t\t\t\tstyle=\"will-change: transform;\"\n\t\t\t\t\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\t\t\t\t\twidth=\"20\"\n\t\t\t\t\t\t\theight=\"20\"\n\t\t\t\t\t\t\tviewBox=\"0 0 32 32\"\n\t\t\t\t\t\t\taria-hidden=\"true\">\n\t\t\t\t\t\t\t<path d=\"M16 22L6 12l1.4-1.4 8.6 8.6 8.6-8.6L26 12z\"></path>\n\t\t\t\t\t\t</svg>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</header>\n\t`\n})\nexport class SideNavHeader {\n\t@Input() title: string;\n\t@Input() options: ListItem[];\n\tpublic switcherId = \"sidenav-switcher\";\n\n\tconstructor(public i18n: I18n) { }\n}\n","import { Component, Input } from \"@angular/core\";\n\n@Component({\n\tselector: \"ibm-sidenav-item\",\n\ttemplate: `\n\t\t<li [ngClass]=\"{\n\t\t\t'bx--side-nav__item': !isSubMenu,\n\t\t\t'bx--side-nav__menu-item': isSubMenu\n\t\t}\"\n\t\t[attr.role]=\"(isSubMenu ? 'none' : null)\">\n\t\t\t<a\n\t\t\t\tclass=\"bx--side-nav__link\"\n\t\t\t\thref=\"javascript:void(0)\"\n\t\t\t\t[attr.role]=\"(isSubMenu ? 'menuitem' : null)\"\n\t\t\t\t[attr.aria-current]=\"(active ? 'page' : null)\">\n\t\t\t\t<div *ngIf=\"!isSubMenu\" class=\"bx--side-nav__icon\">\n\t\t\t\t\t<ng-content select=\"[icon]\"></ng-content>\n\t\t\t\t</div>\n\t\t\t\t<span class=\"bx--side-nav__link-text\">\n\t\t\t\t\t<ng-content></ng-content>\n\t\t\t\t</span>\n\t\t\t</a>\n\t\t</li>\n\t`\n})\nexport class SideNavItem {\n\t@Input() active = false;\n\tisSubMenu = false;\n}\n","import {\n\tAfterContentInit,\n\tComponent,\n\tContentChildren,\n\tInput,\n\tQueryList\n} from \"@angular/core\";\nimport { SideNavItem } from \"./ui-shell.module\";\n\n@Component({\n\tselector: \"ibm-sidenav-menu\",\n\ttemplate: `\n\t\t<li class=\"bx--side-nav__item\">\n\t\t\t<button\n\t\t\t\t(click)=\"toggle()\"\n\t\t\t\tclass=\"bx--side-nav__submenu\"\n\t\t\t\taria-haspopup=\"true\"\n\t\t\t\t[attr.aria-expanded]=\"expanded\"\n\t\t\t\ttype=\"button\">\n\t\t\t\t<div class=\"bx--side-nav__icon\">\n\t\t\t\t\t<ng-content select=\"[icon]\"></ng-content>\n\t\t\t\t</div>\n\t\t\t\t<span class=\"bx--side-nav__submenu-title\">{{title}}</span>\n\t\t\t\t<div class=\"bx--side-nav__icon bx--side-nav__icon--small bx--side-nav__submenu-chevron\">\n\t\t\t\t\t<svg\n\t\t\t\t\t\tfocusable=\"false\"\n\t\t\t\t\t\tpreserveAspectRatio=\"xMidYMid meet\"\n\t\t\t\t\t\tstyle=\"will-change: transform;\"\n\t\t\t\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\t\t\t\twidth=\"20\"\n\t\t\t\t\t\theight=\"20\"\n\t\t\t\t\t\tviewBox=\"0 0 32 32\"\n\t\t\t\t\t\taria-hidden=\"true\">\n\t\t\t\t\t\t<path d=\"M16 22L6 12l1.4-1.4 8.6 8.6 8.6-8.6L26 12z\"></path>\n\t\t\t\t\t</svg>\n\t\t\t\t</div>\n\t\t\t</button>\n\t\t\t<ul class=\"bx--side-nav__menu\" role=\"menu\">\n\t\t\t\t<ng-content></ng-content>\n\t\t\t</ul>\n\t\t</li>\n\t`\n})\nexport class SideNavMenu implements AfterContentInit {\n\t@Input() title;\n\n\t@ContentChildren(SideNavItem) sidenavItems: QueryList<SideNavItem>;\n\n\t@Input() expanded = false;\n\n\tngAfterContentInit() {\n\t\tthis.sidenavItems.forEach(item => {\n\t\t\titem.isSubMenu = true;\n\t\t});\n\t}\n\n\ttoggle() {\n\t\tthis.expanded = !this.expanded;\n\t}\n}\n","import {\n\tComponent,\n\tHostBinding,\n\tInput,\n\tViewEncapsulation\n} from \"@angular/core\";\nimport { I18n } from \"./../i18n/i18n.module\";\n\n@Component({\n\tselector: \"ibm-sidenav\",\n\ttemplate: `\n\t\t<nav\n\t\t\tclass=\"bx--side-nav__navigation\"\n\t\t\trole=\"navigation\"\n\t\t\t[attr.aria-label]=\"i18n.get('UI_SHELL.SIDE_NAV.LABEL')\">\n\t\t\t<ng-content select=\"ibm-sidenav-header\"></ng-content>\n\t\t\t<ul class=\"bx--side-nav__items\">\n\t\t\t\t<ng-content></ng-content>\n\t\t\t</ul>\n\t\t\t<footer class=\"bx--side-nav__footer\">\n\t\t\t\t<button\n\t\t\t\t\tclass=\"bx--side-nav__toggle\"\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t[title]=\"(expanded ? i18n.get('UI_SHELL.SIDE_NAV.TOGGLE_CLOSE') : i18n.get('UI_SHELL.SIDE_NAV.TOGGLE_OPEN')) | async\"\n\t\t\t\t\t(click)=\"toggle()\">\n\t\t\t\t\t<div class=\"bx--side-nav__icon\">\n\t\t\t\t\t\t<svg\n\t\t\t\t\t\t\t*ngIf=\"expanded\"\n\t\t\t\t\t\t\tfocusable=\"false\"\n\t\t\t\t\t\t\tpreserveAspectRatio=\"xMidYMid meet\"\n\t\t\t\t\t\t\tstyle=\"will-change: transform;\"\n\t\t\t\t\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\t\t\t\t\twidth=\"20\"\n\t\t\t\t\t\t\theight=\"20\"\n\t\t\t\t\t\t\tviewBox=\"0 0 32 32\"\n\t\t\t\t\t\t\taria-hidden=\"true\">\n\t\t\t\t\t\t\t<path d=\"M24 9.4L22.6 8 16 14.6 9.4 8 8 9.4l6.6 6.6L8 22.6 9.4 24l6.6-6.6 6.6 6.6 1.4-1.4-6.6-6.6L24 9.4z\"></path>\n\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t<svg\n\t\t\t\t\t\t\t*ngIf=\"!expanded\"\n\t\t\t\t\t\t\tfocusable=\"false\"\n\t\t\t\t\t\t\tpreserveAspectRatio=\"xMidYMid meet\"\n\t\t\t\t\t\t\tstyle=\"will-change: transform;\"\n\t\t\t\t\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\t\t\t\t\twidth=\"20\"\n\t\t\t\t\t\t\theight=\"20\"\n\t\t\t\t\t\t\tviewBox=\"0 0 32 32\"\n\t\t\t\t\t\t\taria-hidden=\"true\">\n\t\t\t\t\t\t\t<path d=\"M22 16L12 26l-1.4-1.4 8.6-8.6-8.6-8.6L12 6z\"></path>\n\t\t\t\t\t\t</svg>\n\t\t\t\t\t</div>\n\t\t\t\t\t<span class=\"bx--assistive-text\">\n\t\t\t\t\t\t{{(expanded ? i18n.get('UI_SHELL.SIDE_NAV.TOGGLE_CLOSE') : i18n.get('UI_SHELL.SIDE_NAV.TOGGLE_OPEN')) | async}}\n\t\t\t\t\t</span>\n\t\t\t\t</button>\n\t\t\t</footer>\n\t\t</nav>\n\t`,\n\tencapsulation: ViewEncapsulation.None\n})\nexport class SideNav {\n\t@HostBinding(\"attr.role\") role = \"complementary\";\n\t@HostBinding(\"class.bx--side-nav\") hostClass = true;\n\t@HostBinding(\"class.bx--side-nav--expanded\") @Input() expanded = false;\n\n\tconstructor(public i18n: I18n) { }\n\n\ttoggle() {\n\t\tthis.expanded = !this.expanded;\n\t}\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nimport { I18nModule } from \"./../i18n/i18n.module\";\n\nimport { Header } from \"./header.component\";\nimport { HeaderItem } from \"./header-item.component\";\nimport { HeaderMenu } from \"./header-menu.component\";\nimport { HeaderNavigation } from \"./header-navigation.component\";\nimport { HeaderGlobal } from \"./header-global.component\";\nimport { HeaderAction } from \"./header-action.component\";\n\nimport { Hamburger } from \"./hamburger.component\";\n\nimport { SideNav } from \"./sidenav.component\";\nimport { SideNavHeader } from \"./sidenav-header.component\";\nimport { SideNavItem } from \"./sidenav-item.component\";\nimport { SideNavMenu } from \"./sidenav-menu.component\";\n\nexport {\n\tHeader,\n\tHeaderItem,\n\tHeaderMenu,\n\tHeaderNavigation,\n\tHeaderGlobal,\n\tHeaderAction,\n\tHamburger,\n\tSideNav,\n\tSideNavHeader,\n\tSideNavItem,\n\tSideNavMenu\n};\n\n@NgModule({\n\tdeclarations: [\n\t\tHeader,\n\t\tHeaderItem,\n\t\tHeaderMenu,\n\t\tHeaderNavigation,\n\t\tHeaderGlobal,\n\t\tHeaderAction,\n\t\tHamburger,\n\t\tSideNav,\n\t\tSideNavHeader,\n\t\tSideNavItem,\n\t\tSideNavMenu\n\t],\n\timports: [CommonModule, I18nModule],\n\texports: [\n\t\tHeader,\n\t\tHeaderItem,\n\t\tHeaderMenu,\n\t\tHeaderNavigation,\n\t\tHeaderGlobal,\n\t\tHeaderAction,\n\t\tHamburger,\n\t\tSideNav,\n\t\tSideNavHeader,\n\t\tSideNavItem,\n\t\tSideNavMenu\n\t]\n})\nexport class UIShellModule { }\n","\n export var withStorySource = require('@storybook/addon-storysource').withStorySource;\n export var __STORY__ = \"import { storiesOf, moduleMetadata } from '@storybook/angular';\\nimport { withKnobs, boolean } from '@storybook/addon-knobs/angular';\\n\\nimport { UIShellModule } from './ui-shell.module';\\n\\nstoriesOf('UI Shell', module)\\n .addDecorator(\\n moduleMetadata({\\n imports: [UIShellModule],\\n })\\n )\\n .addDecorator(withKnobs)\\n .add('Header', () => ({\\n template: `\\n\\t\\t\\t<ibm-header name=\\\"[Platform]\\\">\\n\\t\\t\\t\\t<ibm-hamburger *ngIf=\\\"hasHamburger\\\"></ibm-hamburger>\\n\\t\\t\\t\\t<ibm-header-navigation>\\n\\t\\t\\t\\t\\t<ibm-header-item>Catalog</ibm-header-item>\\n\\t\\t\\t\\t\\t<ibm-header-item>Docs</ibm-header-item>\\n\\t\\t\\t\\t\\t<ibm-header-item>Support</ibm-header-item>\\n\\t\\t\\t\\t\\t<ibm-header-menu title=\\\"Manage\\\">\\n\\t\\t\\t\\t\\t\\t<ibm-header-item>Link 1</ibm-header-item>\\n\\t\\t\\t\\t\\t\\t<ibm-header-item>Link 2</ibm-header-item>\\n\\t\\t\\t\\t\\t\\t<ibm-header-item>Link 3</ibm-header-item>\\n\\t\\t\\t\\t\\t</ibm-header-menu>\\n\\t\\t\\t\\t</ibm-header-navigation>\\n\\t\\t\\t\\t<ibm-header-global>\\n\\t\\t\\t\\t\\t<ibm-header-action>\\n\\t\\t\\t\\t\\t\\t<svg width=\\\"20\\\" height=\\\"20\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 32 32\\\" aria-hidden=\\\"true\\\">\\n\\t\\t\\t\\t\\t\\t\\t<path\\n\\t\\t\\t\\t\\t\\t\\t\\td=\\\"M8.24 25.14L7 26.67a14 14 0 0 0 4.18 2.44l.68-1.88a12\\n\\t\\t\\t\\t\\t\\t\\t\\t12 0 0 1-3.62-2.09zm-4.05-7.07l-2 .35A13.89 13.89 0 0 0 3.86\\n\\t\\t\\t\\t\\t\\t\\t\\t23l1.73-1a11.9 11.9 0 0 1-1.4-3.93zm7.63-13.31l-.68-1.88A14\\n\\t\\t\\t\\t\\t\\t\\t\\t14 0 0 0 7 5.33l1.24 1.53a12 12 0 0 1 3.58-2.1zM5.59\\n\\t\\t\\t\\t\\t\\t\\t\\t10L3.86 9a13.89 13.89 0 0 0-1.64 4.54l2 .35A11.9 11.9 0 0 1 5.59\\n\\t\\t\\t\\t\\t\\t\\t\\t10zM16 2v2a12 12 0 0 1 0 24v2a14 14 0 0 0 0-28z\\\" />\\n\\t\\t\\t\\t\\t\\t</svg>\\n\\t\\t\\t\\t\\t</ibm-header-action>\\n\\t\\t\\t\\t\\t<ibm-header-action>\\n\\t\\t\\t\\t\\t\\t<svg width=\\\"20\\\" height=\\\"20\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 32 32\\\" aria-hidden=\\\"true\\\">\\n\\t\\t\\t\\t\\t\\t\\t<path\\n\\t\\t\\t\\t\\t\\t\\t\\td=\\\"M8.24 25.14L7 26.67a14 14 0 0 0 4.18 2.44l.68-1.88a12\\n\\t\\t\\t\\t\\t\\t\\t\\t12 0 0 1-3.62-2.09zm-4.05-7.07l-2 .35A13.89 13.89 0 0 0 3.86\\n\\t\\t\\t\\t\\t\\t\\t\\t23l1.73-1a11.9 11.9 0 0 1-1.4-3.93zm7.63-13.31l-.68-1.88A14\\n\\t\\t\\t\\t\\t\\t\\t\\t14 0 0 0 7 5.33l1.24 1.53a12 12 0 0 1 3.58-2.1zM5.59\\n\\t\\t\\t\\t\\t\\t\\t\\t10L3.86 9a13.89 13.89 0 0 0-1.64 4.54l2 .35A11.9 11.9 0 0 1 5.59\\n\\t\\t\\t\\t\\t\\t\\t\\t10zM16 2v2a12 12 0 0 1 0 24v2a14 14 0 0 0 0-28z\\\" />\\n\\t\\t\\t\\t\\t\\t</svg>\\n\\t\\t\\t\\t\\t</ibm-header-action>\\n\\t\\t\\t\\t</ibm-header-global>\\n\\t\\t\\t</ibm-header>\\n\\t\\t`,\\n props: {\\n hasHamburger: boolean('Show Hamburger', true),\\n menuClicked: () => {},\\n },\\n }))\\n .add('Side Navigation', () => ({\\n template: `\\n\\t\\t\\t<ibm-sidenav>\\n\\t\\t\\t\\t<ibm-sidenav-header title=\\\"Side navigation title\\\" [options]=\\\"options\\\">\\n\\t\\t\\t\\t\\t<svg icon width=\\\"20\\\" height=\\\"20\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 32 32\\\" aria-hidden=\\\"true\\\">\\n\\t\\t\\t\\t\\t\\t<path\\n\\t\\t\\t\\t\\t\\t\\td=\\\"M8.24 25.14L7 26.67a14 14 0 0 0 4.18 2.44l.68-1.88a12\\n\\t\\t\\t\\t\\t\\t\\t12 0 0 1-3.62-2.09zm-4.05-7.07l-2 .35A13.89 13.89 0 0 0 3.86\\n\\t\\t\\t\\t\\t\\t\\t23l1.73-1a11.9 11.9 0 0 1-1.4-3.93zm7.63-13.31l-.68-1.88A14\\n\\t\\t\\t\\t\\t\\t\\t14 0 0 0 7 5.33l1.24 1.53a12 12 0 0 1 3.58-2.1zM5.59\\n\\t\\t\\t\\t\\t\\t\\t10L3.86 9a13.89 13.89 0 0 0-1.64 4.54l2 .35A11.9 11.9 0 0 1 5.59\\n\\t\\t\\t\\t\\t\\t\\t10zM16 2v2a12 12 0 0 1 0 24v2a14 14 0 0 0 0-28z\\\" />\\n\\t\\t\\t\\t\\t</svg>\\n\\t\\t\\t\\t</ibm-sidenav-header>\\n\\t\\t\\t\\t<ibm-sidenav-item>\\n\\t\\t\\t\\t\\t<svg icon width=\\\"20\\\" height=\\\"20\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 32 32\\\" aria-hidden=\\\"true\\\">\\n\\t\\t\\t\\t\\t\\t<path\\n\\t\\t\\t\\t\\t\\t\\td=\\\"M8.24 25.14L7 26.67a14 14 0 0 0 4.18 2.44l.68-1.88a12\\n\\t\\t\\t\\t\\t\\t\\t12 0 0 1-3.62-2.09zm-4.05-7.07l-2 .35A13.89 13.89 0 0 0 3.86\\n\\t\\t\\t\\t\\t\\t\\t23l1.73-1a11.9 11.9 0 0 1-1.4-3.93zm7.63-13.31l-.68-1.88A14\\n\\t\\t\\t\\t\\t\\t\\t14 0 0 0 7 5.33l1.24 1.53a12 12 0 0 1 3.58-2.1zM5.59\\n\\t\\t\\t\\t\\t\\t\\t10L3.86 9a13.89 13.89 0 0 0-1.64 4.54l2 .35A11.9 11.9 0 0 1 5.59\\n\\t\\t\\t\\t\\t\\t\\t10zM16 2v2a12 12 0 0 1 0 24v2a14 14 0 0 0 0-28z\\\" />\\n\\t\\t\\t\\t\\t</svg>\\n\\t\\t\\t\\t\\tLink\\n\\t\\t\\t\\t</ibm-sidenav-item>\\n\\t\\t\\t\\t<ibm-sidenav-item>\\n\\t\\t\\t\\t\\t<svg icon width=\\\"20\\\" height=\\\"20\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 32 32\\\" aria-hidden=\\\"true\\\">\\n\\t\\t\\t\\t\\t\\t<path\\n\\t\\t\\t\\t\\t\\t\\td=\\\"M8.24 25.14L7 26.67a14 14 0 0 0 4.18 2.44l.68-1.88a12\\n\\t\\t\\t\\t\\t\\t\\t12 0 0 1-3.62-2.09zm-4.05-7.07l-2 .35A13.89 13.89 0 0 0 3.86\\n\\t\\t\\t\\t\\t\\t\\t23l1.73-1a11.9 11.9 0 0 1-1.4-3.93zm7.63-13.31l-.68-1.88A14\\n\\t\\t\\t\\t\\t\\t\\t14 0 0 0 7 5.33l1.24 1.53a12 12 0 0 1 3.58-2.1zM5.59\\n\\t\\t\\t\\t\\t\\t\\t10L3.86 9a13.89 13.89 0 0 0-1.64 4.54l2 .35A11.9 11.9 0 0 1 5.59\\n\\t\\t\\t\\t\\t\\t\\t10zM16 2v2a12 12 0 0 1 0 24v2a14 14 0 0 0 0-28z\\\" />\\n\\t\\t\\t\\t\\t</svg>\\n\\t\\t\\t\\t\\tLink\\n\\t\\t\\t\\t</ibm-sidenav-item>\\n\\t\\t\\t\\t<ibm-sidenav-menu title=\\\"Category title\\\">\\n\\t\\t\\t\\t\\t<svg icon width=\\\"20\\\" height=\\\"20\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 32 32\\\" aria-hidden=\\\"true\\\">\\n\\t\\t\\t\\t\\t\\t<path\\n\\t\\t\\t\\t\\t\\t\\td=\\\"M8.24 25.14L7 26.67a14 14 0 0 0 4.18 2.44l.68-1.88a12\\n\\t\\t\\t\\t\\t\\t\\t12 0 0 1-3.62-2.09zm-4.05-7.07l-2 .35A13.89 13.89 0 0 0 3.86\\n\\t\\t\\t\\t\\t\\t\\t23l1.73-1a11.9 11.9 0 0 1-1.4-3.93zm7.63-13.31l-.68-1.88A14\\n\\t\\t\\t\\t\\t\\t\\t14 0 0 0 7 5.33l1.24 1.53a12 12 0 0 1 3.58-2.1zM5.59\\n\\t\\t\\t\\t\\t\\t\\t10L3.86 9a13.89 13.89 0 0 0-1.64 4.54l2 .35A11.9 11.9 0 0 1 5.59\\n\\t\\t\\t\\t\\t\\t\\t10zM16 2v2a12 12 0 0 1 0 24v2a14 14 0 0 0 0-28z\\\" />\\n\\t\\t\\t\\t\\t</svg>\\n\\t\\t\\t\\t\\t<ibm-sidenav-item>Link</ibm-sidenav-item>\\n\\t\\t\\t\\t\\t<ibm-sidenav-item>Link</ibm-sidenav-item>\\n\\t\\t\\t\\t\\t<ibm-sidenav-item>Link</ibm-sidenav-item>\\n\\t\\t\\t\\t</ibm-sidenav-menu>\\n\\t\\t\\t</ibm-sidenav>\\n\\t\\t`,\\n props: {\\n options: [\\n {\\n content: 'Option 1',\\n value: 1,\\n },\\n {\\n content: 'Option 2',\\n value: 2,\\n },\\n {\\n content: 'Option 3',\\n value: 3,\\n },\\n ],\\n },\\n }))\\n .add('Together', () => ({\\n template: `\\n\\t\\t\\t<ibm-header name=\\\"[Platform]\\\">\\n\\t\\t\\t\\t<ibm-hamburger *ngIf=\\\"hasHamburger\\\"></ibm-hamburger>\\n\\t\\t\\t\\t<ibm-header-navigation>\\n\\t\\t\\t\\t\\t<ibm-header-item>Catalog</ibm-header-item>\\n\\t\\t\\t\\t\\t<ibm-header-item>Docs</ibm-header-item>\\n\\t\\t\\t\\t\\t<ibm-header-item>Support</ibm-header-item>\\n\\t\\t\\t\\t\\t<ibm-header-menu title=\\\"Manage\\\">\\n\\t\\t\\t\\t\\t\\t<ibm-header-item>Link 1</ibm-header-item>\\n\\t\\t\\t\\t\\t\\t<ibm-header-item>Link 2</ibm-header-item>\\n\\t\\t\\t\\t\\t\\t<ibm-header-item>Link 3</ibm-header-item>\\n\\t\\t\\t\\t\\t</ibm-header-menu>\\n\\t\\t\\t\\t</ibm-header-navigation>\\n\\t\\t\\t\\t<ibm-header-global>\\n\\t\\t\\t\\t\\t<ibm-header-action>\\n\\t\\t\\t\\t\\t\\t<svg width=\\\"20\\\" height=\\\"20\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 32 32\\\" aria-hidden=\\\"true\\\">\\n\\t\\t\\t\\t\\t\\t\\t<path\\n\\t\\t\\t\\t\\t\\t\\t\\td=\\\"M8.24 25.14L7 26.67a14 14 0 0 0 4.18 2.44l.68-1.88a12\\n\\t\\t\\t\\t\\t\\t\\t\\t12 0 0 1-3.62-2.09zm-4.05-7.07l-2 .35A13.89 13.89 0 0 0 3.86\\n\\t\\t\\t\\t\\t\\t\\t\\t23l1.73-1a11.9 11.9 0 0 1-1.4-3.93zm7.63-13.31l-.68-1.88A14\\n\\t\\t\\t\\t\\t\\t\\t\\t14 0 0 0 7 5.33l1.24 1.53a12 12 0 0 1 3.58-2.1zM5.59\\n\\t\\t\\t\\t\\t\\t\\t\\t10L3.86 9a13.89 13.89 0 0 0-1.64 4.54l2 .35A11.9 11.9 0 0 1 5.59\\n\\t\\t\\t\\t\\t\\t\\t\\t10zM16 2v2a12 12 0 0 1 0 24v2a14 14 0 0 0 0-28z\\\" />\\n\\t\\t\\t\\t\\t\\t</svg>\\n\\t\\t\\t\\t\\t</ibm-header-action>\\n\\t\\t\\t\\t\\t<ibm-header-action>\\n\\t\\t\\t\\t\\t\\t<svg width=\\\"20\\\" height=\\\"20\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 32 32\\\" aria-hidden=\\\"true\\\">\\n\\t\\t\\t\\t\\t\\t\\t<path\\n\\t\\t\\t\\t\\t\\t\\t\\td=\\\"M8.24 25.14L7 26.67a14 14 0 0 0 4.18 2.44l.68-1.88a12\\n\\t\\t\\t\\t\\t\\t\\t\\t12 0 0 1-3.62-2.09zm-4.05-7.07l-2 .35A13.89 13.89 0 0 0 3.86\\n\\t\\t\\t\\t\\t\\t\\t\\t23l1.73-1a11.9 11.9 0 0 1-1.4-3.93zm7.63-13.31l-.68-1.88A14\\n\\t\\t\\t\\t\\t\\t\\t\\t14 0 0 0 7 5.33l1.24 1.53a12 12 0 0 1 3.58-2.1zM5.59\\n\\t\\t\\t\\t\\t\\t\\t\\t10L3.86 9a13.89 13.89 0 0 0-1.64 4.54l2 .35A11.9 11.9 0 0 1 5.59\\n\\t\\t\\t\\t\\t\\t\\t\\t10zM16 2v2a12 12 0 0 1 0 24v2a14 14 0 0 0 0-28z\\\" />\\n\\t\\t\\t\\t\\t\\t</svg>\\n\\t\\t\\t\\t\\t</ibm-header-action>\\n\\t\\t\\t\\t</ibm-header-global>\\n\\t\\t\\t</ibm-header>\\n\\t\\t\\t<ibm-sidenav>\\n\\t\\t\\t\\t<ibm-sidenav-header title=\\\"Side navigation title\\\" [options]=\\\"options\\\">\\n\\t\\t\\t\\t\\t<svg icon width=\\\"20\\\" height=\\\"20\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 32 32\\\" aria-hidden=\\\"true\\\">\\n\\t\\t\\t\\t\\t\\t<path\\n\\t\\t\\t\\t\\t\\t\\td=\\\"M8.24 25.14L7 26.67a14 14 0 0 0 4.18 2.44l.68-1.88a12\\n\\t\\t\\t\\t\\t\\t\\t12 0 0 1-3.62-2.09zm-4.05-7.07l-2 .35A13.89 13.89 0 0 0 3.86\\n\\t\\t\\t\\t\\t\\t\\t23l1.73-1a11.9 11.9 0 0 1-1.4-3.93zm7.63-13.31l-.68-1.88A14\\n\\t\\t\\t\\t\\t\\t\\t14 0 0 0 7 5.33l1.24 1.53a12 12 0 0 1 3.58-2.1zM5.59\\n\\t\\t\\t\\t\\t\\t\\t10L3.86 9a13.89 13.89 0 0 0-1.64 4.54l2 .35A11.9 11.9 0 0 1 5.59\\n\\t\\t\\t\\t\\t\\t\\t10zM16 2v2a12 12 0 0 1 0 24v2a14 14 0 0 0 0-28z\\\" />\\n\\t\\t\\t\\t\\t</svg>\\n\\t\\t\\t\\t</ibm-sidenav-header>\\n\\t\\t\\t\\t<ibm-sidenav-item>\\n\\t\\t\\t\\t\\t<svg icon width=\\\"20\\\" height=\\\"20\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 32 32\\\" aria-hidden=\\\"true\\\">\\n\\t\\t\\t\\t\\t\\t<path\\n\\t\\t\\t\\t\\t\\t\\td=\\\"M8.24 25.14L7 26.67a14 14 0 0 0 4.18 2.44l.68-1.88a12\\n\\t\\t\\t\\t\\t\\t\\t12 0 0 1-3.62-2.09zm-4.05-7.07l-2 .35A13.89 13.89 0 0 0 3.86\\n\\t\\t\\t\\t\\t\\t\\t23l1.73-1a11.9 11.9 0 0 1-1.4-3.93zm7.63-13.31l-.68-1.88A14\\n\\t\\t\\t\\t\\t\\t\\t14 0 0 0 7 5.33l1.24 1.53a12 12 0 0 1 3.58-2.1zM5.59\\n\\t\\t\\t\\t\\t\\t\\t10L3.86 9a13.89 13.89 0 0 0-1.64 4.54l2 .35A11.9 11.9 0 0 1 5.59\\n\\t\\t\\t\\t\\t\\t\\t10zM16 2v2a12 12 0 0 1 0 24v2a14 14 0 0 0 0-28z\\\" />\\n\\t\\t\\t\\t\\t</svg>\\n\\t\\t\\t\\t\\tLink\\n\\t\\t\\t\\t</ibm-sidenav-item>\\n\\t\\t\\t\\t<ibm-sidenav-item>\\n\\t\\t\\t\\t\\t<svg icon width=\\\"20\\\" height=\\\"20\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 32 32\\\" aria-hidden=\\\"true\\\">\\n\\t\\t\\t\\t\\t\\t<path\\n\\t\\t\\t\\t\\t\\t\\td=\\\"M8.24 25.14L7 26.67a14 14 0 0 0 4.18 2.44l.68-1.88a12\\n\\t\\t\\t\\t\\t\\t\\t12 0 0 1-3.62-2.09zm-4.05-7.07l-2 .35A13.89 13.89 0 0 0 3.86\\n\\t\\t\\t\\t\\t\\t\\t23l1.73-1a11.9 11.9 0 0 1-1.4-3.93zm7.63-13.31l-.68-1.88A14\\n\\t\\t\\t\\t\\t\\t\\t14 0 0 0 7 5.33l1.24 1.53a12 12 0 0 1 3.58-2.1zM5.59\\n\\t\\t\\t\\t\\t\\t\\t10L3.86 9a13.89 13.89 0 0 0-1.64 4.54l2 .35A11.9 11.9 0 0 1 5.59\\n\\t\\t\\t\\t\\t\\t\\t10zM16 2v2a12 12 0 0 1 0 24v2a14 14 0 0 0 0-28z\\\" />\\n\\t\\t\\t\\t\\t</svg>\\n\\t\\t\\t\\t\\tLink\\n\\t\\t\\t\\t</ibm-sidenav-item>\\n\\t\\t\\t\\t<ibm-sidenav-menu title=\\\"Category title\\\">\\n\\t\\t\\t\\t\\t<svg icon width=\\\"20\\\" height=\\\"20\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 32 32\\\" aria-hidden=\\\"true\\\">\\n\\t\\t\\t\\t\\t\\t<path\\n\\t\\t\\t\\t\\t\\t\\td=\\\"M8.24 25.14L7 26.67a14 14 0 0 0 4.18 2.44l.68-1.88a12\\n\\t\\t\\t\\t\\t\\t\\t12 0 0 1-3.62-2.09zm-4.05-7.07l-2 .35A13.89 13.89 0 0 0 3.86\\n\\t\\t\\t\\t\\t\\t\\t23l1.73-1a11.9 11.9 0 0 1-1.4-3.93zm7.63-13.31l-.68-1.88A14\\n\\t\\t\\t\\t\\t\\t\\t14 0 0 0 7 5.33l1.24 1.53a12 12 0 0 1 3.58-2.1zM5.59\\n\\t\\t\\t\\t\\t\\t\\t10L3.86 9a13.89 13.89 0 0 0-1.64 4.54l2 .35A11.9 11.9 0 0 1 5.59\\n\\t\\t\\t\\t\\t\\t\\t10zM16 2v2a12 12 0 0 1 0 24v2a14 14 0 0 0 0-28z\\\" />\\n\\t\\t\\t\\t\\t</svg>\\n\\t\\t\\t\\t\\t<ibm-sidenav-item>Link</ibm-sidenav-item>\\n\\t\\t\\t\\t\\t<ibm-sidenav-item>Link</ibm-sidenav-item>\\n\\t\\t\\t\\t\\t<ibm-sidenav-item>Link</ibm-sidenav-item>\\n\\t\\t\\t\\t</ibm-sidenav-menu>\\n\\t\\t\\t</ibm-sidenav>\\n\\t\\t`,\\n props: {\\n hasHamburger: boolean('Show Hamburger', true),\\n options: [\\n {\\n content: 'Option 1',\\n value: 1,\\n },\\n {\\n content: 'Option 2',\\n value: 2,\\n },\\n {\\n content: 'Option 3',\\n value: 3,\\n },\\n ],\\n },\\n }));\\n\";\n export var __ADDS_MAP__ = {\"ui-shell--together\":{\"startLoc\":{\"col\":7,\"line\":129},\"endLoc\":{\"col\":4,\"line\":237}},\"ui-shell--side-navigation\":{\"startLoc\":{\"col\":7,\"line\":58},\"endLoc\":{\"col\":4,\"line\":128}},\"ui-shell--header\":{\"startLoc\":{\"col\":7,\"line\":13},\"endLoc\":{\"col\":4,\"line\":57}}};\n \n import { storiesOf, moduleMetadata } from \"@storybook/angular\";\nimport { withKnobs, boolean } from \"@storybook/addon-knobs/angular\";\n\nimport { UIShellModule } from \"./ui-shell.module\";\n\nstoriesOf(\"UI Shell\", module).addDecorator(withStorySource(__STORY__, __ADDS_MAP__))\n\t.addDecorator(\n\t\tmoduleMetadata({\n\t\t\timports: [\n\t\t\t\tUIShellModule\n\t\t\t]\n\t\t})\n\t)\n\t.addDecorator(withKnobs)\n\t.add(\"Header\", () => ({\n\t\ttemplate: `\n\t\t\t<ibm-header name=\"[Platform]\">\n\t\t\t\t<ibm-hamburger *ngIf=\"hasHamburger\"></ibm-hamburger>\n\t\t\t\t<ibm-header-navigation>\n\t\t\t\t\t<ibm-header-item>Catalog</ibm-header-item>\n\t\t\t\t\t<ibm-header-item>Docs</ibm-header-item>\n\t\t\t\t\t<ibm-header-item>Support</ibm-header-item>\n\t\t\t\t\t<ibm-header-menu title=\"Manage\">\n\t\t\t\t\t\t<ibm-header-item>Link 1</ibm-header-item>\n\t\t\t\t\t\t<ibm-header-item>Link 2</ibm-header-item>\n\t\t\t\t\t\t<ibm-header-item>Link 3</ibm-header-item>\n\t\t\t\t\t</ibm-header-menu>\n\t\t\t\t</ibm-header-navigation>\n\t\t\t\t<ibm-header-global>\n\t\t\t\t\t<ibm-header-action>\n\t\t\t\t\t\t<svg width=\"20\" height=\"20\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 32 32\" aria-hidden=\"true\">\n\t\t\t\t\t\t\t<path\n\t\t\t\t\t\t\t\td=\"M8.24 25.14L7 26.67a14 14 0 0 0 4.18 2.44l.68-1.88a12\n\t\t\t\t\t\t\t\t12 0 0 1-3.62-2.09zm-4.05-7.07l-2 .35A13.89 13.89 0 0 0 3.86\n\t\t\t\t\t\t\t\t23l1.73-1a11.9 11.9 0 0 1-1.4-3.93zm7.63-13.31l-.68-1.88A14\n\t\t\t\t\t\t\t\t14 0 0 0 7 5.33l1.24 1.53a12 12 0 0 1 3.58-2.1zM5.59\n\t\t\t\t\t\t\t\t10L3.86 9a13.89 13.89 0 0 0-1.64 4.54l2 .35A11.9 11.9 0 0 1 5.59\n\t\t\t\t\t\t\t\t10zM16 2v2a12 12 0 0 1 0 24v2a14 14 0 0 0 0-28z\" />\n\t\t\t\t\t\t</svg>\n\t\t\t\t\t</ibm-header-action>\n\t\t\t\t\t<ibm-header-action>\n\t\t\t\t\t\t<svg width=\"20\" height=\"20\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 32 32\" aria-hidden=\"true\">\n\t\t\t\t\t\t\t<path\n\t\t\t\t\t\t\t\td=\"M8.24 25.14L7 26.67a14 14 0 0 0 4.18 2.44l.68-1.88a12\n\t\t\t\t\t\t\t\t12 0 0 1-3.62-2.09zm-4.05-7.07l-2 .35A13.89 13.89 0 0 0 3.86\n\t\t\t\t\t\t\t\t23l1.73-1a11.9 11.9 0 0 1-1.4-3.93zm7.63-13.31l-.68-1.88A14\n\t\t\t\t\t\t\t\t14 0 0 0 7 5.33l1.24 1.53a12 12 0 0 1 3.58-2.1zM5.59\n\t\t\t\t\t\t\t\t10L3.86 9a13.89 13.89 0 0 0-1.64 4.54l2 .35A11.9 11.9 0 0 1 5.59\n\t\t\t\t\t\t\t\t10zM16 2v2a12 12 0 0 1 0 24v2a14 14 0 0 0 0-28z\" />\n\t\t\t\t\t\t</svg>\n\t\t\t\t\t</ibm-header-action>\n\t\t\t\t</ibm-header-global>\n\t\t\t</ibm-header>\n\t\t`,\n\t\tprops: {\n\t\t\thasHamburger: boolean(\"Show Hamburger\", true),\n\t\t\tmenuClicked: () => { }\n\t\t}\n\t}))\n\t.add(\"Side Navigation\", () => ({\n\t\ttemplate: `\n\t\t\t<ibm-sidenav>\n\t\t\t\t<ibm-sidenav-header title=\"Side navigation title\" [options]=\"options\">\n\t\t\t\t\t<svg icon width=\"20\" height=\"20\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 32 32\" aria-hidden=\"true\">\n\t\t\t\t\t\t<path\n\t\t\t\t\t\t\td=\"M8.24 25.14L7 26.67a14 14 0 0 0 4.18 2.44l.68-1.88a12\n\t\t\t\t\t\t\t12 0 0 1-3.62-2.09zm-4.05-7.07l-2 .35A13.89 13.89 0 0 0 3.86\n\t\t\t\t\t\t\t23l1.73-1a11.9 11.9 0 0 1-1.4-3.93zm7.63-13.31l-.68-1.88A14\n\t\t\t\t\t\t\t14 0 0 0 7 5.33l1.24 1.53a12 12 0 0 1 3.58-2.1zM5.59\n\t\t\t\t\t\t\t10L3.86 9a13.89 13.89 0 0 0-1.64 4.54l2 .35A11.9 11.9 0 0 1 5.59\n\t\t\t\t\t\t\t10zM16 2v2a12 12 0 0 1 0 24v2a14 14 0 0 0 0-28z\" />\n\t\t\t\t\t</svg>\n\t\t\t\t</ibm-sidenav-header>\n\t\t\t\t<ibm-sidenav-item>\n\t\t\t\t\t<svg icon width=\"20\" height=\"20\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 32 32\" aria-hidden=\"true\">\n\t\t\t\t\t\t<path\n\t\t\t\t\t\t\td=\"M8.24 25.14L7 26.67a14 14 0 0 0 4.18 2.44l.68-1.88a12\n\t\t\t\t\t\t\t12 0 0 1-3.62-2.09zm-4.05-7.07l-2 .35A13.89 13.89 0 0 0 3.86\n\t\t\t\t\t\t\t23l1.73-1a11.9 11.9 0 0 1-1.4-3.93zm7.63-13.31l-.68-1.88A14\n\t\t\t\t\t\t\t14 0 0 0 7 5.33l1.24 1.53a12 12 0 0 1 3.58-2.1zM5.59\n\t\t\t\t\t\t\t10L3.86 9a13.89 13.89 0 0 0-1.64 4.54l2 .35A11.9 11.9 0 0 1 5.59\n\t\t\t\t\t\t\t10zM16 2v2a12 12 0 0 1 0 24v2a14 14 0 0 0 0-28z\" />\n\t\t\t\t\t</svg>\n\t\t\t\t\tLink\n\t\t\t\t</ibm-sidenav-item>\n\t\t\t\t<ibm-sidenav-item>\n\t\t\t\t\t<svg icon width=\"20\" height=\"20\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 32 32\" aria-hidden=\"true\">\n\t\t\t\t\t\t<path\n\t\t\t\t\t\t\td=\"M8.24 25.14L7 26.67a14 14 0 0 0 4.18 2.44l.68-1.88a12\n\t\t\t\t\t\t\t12 0 0 1-3.62-2.09zm-4.05-7.07l-2 .35A13.89 13.89 0 0 0 3.86\n\t\t\t\t\t\t\t23l1.73-1a11.9 11.9 0 0 1-1.4-3.93zm7.63-13.31l-.68-1.88A14\n\t\t\t\t\t\t\t14 0 0 0 7 5.33l1.24 1.53a12 12 0 0 1 3.58-2.1zM5.59\n\t\t\t\t\t\t\t10L3.86 9a13.89 13.89 0 0 0-1.64 4.54l2 .35A11.9 11.9 0 0 1 5.59\n\t\t\t\t\t\t\t10zM16 2v2a12 12 0 0 1 0 24v2a14 14 0 0 0 0-28z\" />\n\t\t\t\t\t</svg>\n\t\t\t\t\tLink\n\t\t\t\t</ibm-sidenav-item>\n\t\t\t\t<ibm-sidenav-menu title=\"Category title\">\n\t\t\t\t\t<svg icon width=\"20\" height=\"20\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 32 32\" aria-hidden=\"true\">\n\t\t\t\t\t\t<path\n\t\t\t\t\t\t\td=\"M8.24 25.14L7 26.67a14 14 0 0 0 4.18 2.44l.68-1.88a12\n\t\t\t\t\t\t\t12 0 0 1-3.62-2.09zm-4.05-7.07l-2 .35A13.89 13.89 0 0 0 3.86\n\t\t\t\t\t\t\t23l1.73-1a11.9 11.9 0 0 1-1.4-3.93zm7.63-13.31l-.68-1.88A14\n\t\t\t\t\t\t\t14 0 0 0 7 5.33l1.24 1.53a12 12 0 0 1 3.58-2.1zM5.59\n\t\t\t\t\t\t\t10L3.86 9a13.89 13.89 0 0 0-1.64 4.54l2 .35A11.9 11.9 0 0 1 5.59\n\t\t\t\t\t\t\t10zM16 2v2a12 12 0 0 1 0 24v2a14 14 0 0 0 0-28z\" />\n\t\t\t\t\t</svg>\n\t\t\t\t\t<ibm-sidenav-item>Link</ibm-sidenav-item>\n\t\t\t\t\t<ibm-sidenav-item>Link</ibm-sidenav-item>\n\t\t\t\t\t<ibm-sidenav-item>Link</ibm-sidenav-item>\n\t\t\t\t</ibm-sidenav-menu>\n\t\t\t</ibm-sidenav>\n\t\t`,\n\t\tprops: {\n\t\t\toptions: [\n\t\t\t\t{\n\t\t\t\t\tcontent: \"Option 1\",\n\t\t\t\t\tvalue: 1\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: \"Option 2\",\n\t\t\t\t\tvalue: 2\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: \"Option 3\",\n\t\t\t\t\tvalue: 3\n\t\t\t\t}\n\t\t\t]\n\t\t}\n\t}))\n\t.add(\"Together\", () => ({\n\t\ttemplate: `\n\t\t\t<ibm-header name=\"[Platform]\">\n\t\t\t\t<ibm-hamburger *ngIf=\"hasHamburger\"></ibm-hamburger>\n\t\t\t\t<ibm-header-navigation>\n\t\t\t\t\t<ibm-header-item>Catalog</ibm-header-item>\n\t\t\t\t\t<ibm-header-item>Docs</ibm-header-item>\n\t\t\t\t\t<ibm-header-item>Support</ibm-header-item>\n\t\t\t\t\t<ibm-header-menu title=\"Manage\">\n\t\t\t\t\t\t<ibm-header-item>Link 1</ibm-header-item>\n\t\t\t\t\t\t<ibm-header-item>Link 2</ibm-header-item>\n\t\t\t\t\t\t<ibm-header-item>Link 3</ibm-header-item>\n\t\t\t\t\t</ibm-header-menu>\n\t\t\t\t</ibm-header-navigation>\n\t\t\t\t<ibm-header-global>\n\t\t\t\t\t<ibm-header-action>\n\t\t\t\t\t\t<svg width=\"20\" height=\"20\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 32 32\" aria-hidden=\"true\">\n\t\t\t\t\t\t\t<path\n\t\t\t\t\t\t\t\td=\"M8.24 25.14L7 26.67a14 14 0 0 0 4.18 2.44l.68-1.88a12\n\t\t\t\t\t\t\t\t12 0 0 1-3.62-2.09zm-4.05-7.07l-2 .35A13.89 13.89 0 0 0 3.86\n\t\t\t\t\t\t\t\t23l1.73-1a11.9 11.9 0 0 1-1.4-3.93zm7.63-13.31l-.68-1.88A14\n\t\t\t\t\t\t\t\t14 0 0 0 7 5.33l1.24 1.53a12 12 0 0 1 3.58-2.1zM5.59\n\t\t\t\t\t\t\t\t10L3.86 9a13.89 13.89 0 0 0-1.64 4.54l2 .35A11.9 11.9 0 0 1 5.59\n\t\t\t\t\t\t\t\t10zM16 2v2a12 12 0 0 1 0 24v2a14 14 0 0 0 0-28z\" />\n\t\t\t\t\t\t</svg>\n\t\t\t\t\t</ibm-header-action>\n\t\t\t\t\t<ibm-header-action>\n\t\t\t\t\t\t<svg width=\"20\" height=\"20\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 32 32\" aria-hidden=\"true\">\n\t\t\t\t\t\t\t<path\n\t\t\t\t\t\t\t\td=\"M8.24 25.14L7 26.67a14 14 0 0 0 4.18 2.44l.68-1.88a12\n\t\t\t\t\t\t\t\t12 0 0 1-3.62-2.09zm-4.05-7.07l-2 .35A13.89 13.89 0 0 0 3.86\n\t\t\t\t\t\t\t\t23l1.73-1a11.9 11.9 0 0 1-1.4-3.93zm7.63-13.31l-.68-1.88A14\n\t\t\t\t\t\t\t\t14 0 0 0 7 5.33l1.24 1.53a12 12 0 0 1 3.58-2.1zM5.59\n\t\t\t\t\t\t\t\t10L3.86 9a13.89 13.89 0 0 0-1.64 4.54l2 .35A11.9 11.9 0 0 1 5.59\n\t\t\t\t\t\t\t\t10zM16 2v2a12 12 0 0 1 0 24v2a14 14 0 0 0 0-28z\" />\n\t\t\t\t\t\t</svg>\n\t\t\t\t\t</ibm-header-action>\n\t\t\t\t</ibm-header-global>\n\t\t\t</ibm-header>\n\t\t\t<ibm-sidenav>\n\t\t\t\t<ibm-sidenav-header title=\"Side navigation title\" [options]=\"options\">\n\t\t\t\t\t<svg icon width=\"20\" height=\"20\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 32 32\" aria-hidden=\"true\">\n\t\t\t\t\t\t<path\n\t\t\t\t\t\t\td=\"M8.24 25.14L7 26.67a14 14 0 0 0 4.18 2.44l.68-1.88a12\n\t\t\t\t\t\t\t12 0 0 1-3.62-2.09zm-4.05-7.07l-2 .35A13.89 13.89 0 0 0 3.86\n\t\t\t\t\t\t\t23l1.73-1a11.9 11.9 0 0 1-1.4-3.93zm7.63-13.31l-.68-1.88A14\n\t\t\t\t\t\t\t14 0 0 0 7 5.33l1.24 1.53a12 12 0 0 1 3.58-2.1zM5.59\n\t\t\t\t\t\t\t10L3.86 9a13.89 13.89 0 0 0-1.64 4.54l2 .35A11.9 11.9 0 0 1 5.59\n\t\t\t\t\t\t\t10zM16 2v2a12 12 0 0 1 0 24v2a14 14 0 0 0 0-28z\" />\n\t\t\t\t\t</svg>\n\t\t\t\t</ibm-sidenav-header>\n\t\t\t\t<ibm-sidenav-item>\n\t\t\t\t\t<svg icon width=\"20\" height=\"20\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 32 32\" aria-hidden=\"true\">\n\t\t\t\t\t\t<path\n\t\t\t\t\t\t\td=\"M8.24 25.14L7 26.67a14 14 0 0 0 4.18 2.44l.68-1.88a12\n\t\t\t\t\t\t\t12 0 0 1-3.62-2.09zm-4.05-7.07l-2 .35A13.89 13.89 0 0 0 3.86\n\t\t\t\t\t\t\t23l1.73-1a11.9 11.9 0 0 1-1.4-3.93zm7.63-13.31l-.68-1.88A14\n\t\t\t\t\t\t\t14 0 0 0 7 5.33l1.24 1.53a12 12 0 0 1 3.58-2.1zM5.59\n\t\t\t\t\t\t\t10L3.86 9a13.89 13.89 0 0 0-1.64 4.54l2 .35A11.9 11.9 0 0 1 5.59\n\t\t\t\t\t\t\t10zM16 2v2a12 12 0 0 1 0 24v2a14 14 0 0 0 0-28z\" />\n\t\t\t\t\t</svg>\n\t\t\t\t\tLink\n\t\t\t\t</ibm-sidenav-item>\n\t\t\t\t<ibm-sidenav-item>\n\t\t\t\t\t<svg icon width=\"20\" height=\"20\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 32 32\" aria-hidden=\"true\">\n\t\t\t\t\t\t<path\n\t\t\t\t\t\t\td=\"M8.24 25.14L7 26.67a14 14 0 0 0 4.18 2.44l.68-1.88a12\n\t\t\t\t\t\t\t12 0 0 1-3.62-2.09zm-4.05-7.07l-2 .35A13.89 13.89 0 0 0 3.86\n\t\t\t\t\t\t\t23l1.73-1a11.9 11.9 0 0 1-1.4-3.93zm7.63-13.31l-.68-1.88A14\n\t\t\t\t\t\t\t14 0 0 0 7 5.33l1.24 1.53a12 12 0 0 1 3.58-2.1zM5.59\n\t\t\t\t\t\t\t10L3.86 9a13.89 13.89 0 0 0-1.64 4.54l2 .35A11.9 11.9 0 0 1 5.59\n\t\t\t\t\t\t\t10zM16 2v2a12 12 0 0 1 0 24v2a14 14 0 0 0 0-28z\" />\n\t\t\t\t\t</svg>\n\t\t\t\t\tLink\n\t\t\t\t</ibm-sidenav-item>\n\t\t\t\t<ibm-sidenav-menu title=\"Category title\">\n\t\t\t\t\t<svg icon width=\"20\" height=\"20\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 32 32\" aria-hidden=\"true\">\n\t\t\t\t\t\t<path\n\t\t\t\t\t\t\td=\"M8.24 25.14L7 26.67a14 14 0 0 0 4.18 2.44l.68-1.88a12\n\t\t\t\t\t\t\t12 0 0 1-3.62-2.09zm-4.05-7.07l-2 .35A13.89 13.89 0 0 0 3.86\n\t\t\t\t\t\t\t23l1.73-1a11.9 11.9 0 0 1-1.4-3.93zm7.63-13.31l-.68-1.88A14\n\t\t\t\t\t\t\t14 0 0 0 7 5.33l1.24 1.53a12 12 0 0 1 3.58-2.1zM5.59\n\t\t\t\t\t\t\t10L3.86 9a13.89 13.89 0 0 0-1.64 4.54l2 .35A11.9 11.9 0 0 1 5.59\n\t\t\t\t\t\t\t10zM16 2v2a12 12 0 0 1 0 24v2a14 14 0 0 0 0-28z\" />\n\t\t\t\t\t</svg>\n\t\t\t\t\t<ibm-sidenav-item>Link</ibm-sidenav-item>\n\t\t\t\t\t<ibm-sidenav-item>Link</ibm-sidenav-item>\n\t\t\t\t\t<ibm-sidenav-item>Link</ibm-sidenav-item>\n\t\t\t\t</ibm-sidenav-menu>\n\t\t\t</ibm-sidenav>\n\t\t`,\n\t\tprops: {\n\t\t\thasHamburger: boolean(\"Show Hamburger\", true),\n\t\t\toptions: [\n\t\t\t\t{\n\t\t\t\t\tcontent: \"Option 1\",\n\t\t\t\t\tvalue: 1\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: \"Option 2\",\n\t\t\t\t\tvalue: 2\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: \"Option 3\",\n\t\t\t\t\tvalue: 3\n\t\t\t\t}\n\t\t\t]\n\t\t}\n\t}));\n\n ","// custom deep object merge\nexport const merge = (target, ...objects) => {\n\tfor (const object of objects) {\n\t\tfor (const key in object) {\n\t\t\tif (object.hasOwnProperty(key)) {\n\t\t\t\t// since we're dealing just with JSON this simple check should be enough\n\t\t\t\tif (object[key] instanceof Object) {\n\t\t\t\t\tif (!target[key]) {\n\t\t\t\t\t\ttarget[key] = {};\n\t\t\t\t\t}\n\t\t\t\t\t// recursively merge into the target\n\t\t\t\t\t// most translations only run 3 or 4 levels deep, so no stack explosions\n\t\t\t\t\ttarget[key] = merge(target[key], object[key]);\n\t\t\t\t} else {\n\t\t\t\t\ttarget[key] = object[key];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\treturn target;\n};\n","export function clone(obj) {\n\treturn JSON.parse(JSON.stringify(obj));\n}\n","let _scrollbarWidth = -1;\n\nexport function getScrollbarWidth() {\n\t// lets not recreate this whole thing every time\n\tif (_scrollbarWidth >= 0) {\n\t\treturn _scrollbarWidth;\n\t}\n\n\t// do the calculations the first time\n\tconst outer = document.createElement(\"div\");\n\touter.style.visibility = \"hidden\";\n\touter.style.width = \"100px\";\n\touter.style.msOverflowStyle = \"scrollbar\"; // needed for WinJS apps\n\n\tdocument.body.appendChild(outer);\n\n\tconst widthNoScroll = outer.offsetWidth;\n\t// force scrollbars\n\touter.style.overflow = \"scroll\";\n\n\t// add innerdiv\n\tconst inner = document.createElement(\"div\");\n\tinner.style.width = \"100%\";\n\touter.appendChild(inner);\n\n\tconst widthWithScroll = inner.offsetWidth;\n\n\t// remove divs\n\touter.parentNode.removeChild(outer);\n\n\t_scrollbarWidth = widthNoScroll - widthWithScroll;\n\treturn _scrollbarWidth;\n}\n"],"sourceRoot":""}