carbon-components-angular 3.13.1 → 3.13.2

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 (37) hide show
  1. package/bundle/carbon-angular.umd.js +5 -5
  2. package/bundle/carbon-angular.umd.js.map +1 -1
  3. package/dialog/dialog.module.ngfactory.js.map +1 -1
  4. package/dialog/tooltip/tooltip.component.js +14 -1
  5. package/dialog/tooltip/tooltip.component.js.map +1 -1
  6. package/dialog/tooltip/tooltip.component.metadata.json +1 -1
  7. package/dialog/tooltip/tooltip.component.ngfactory.js +1 -1
  8. package/dialog/tooltip/tooltip.component.ngfactory.js.map +1 -1
  9. package/docs/documentation/components/TabHeaders.html +131 -23
  10. package/docs/documentation/components/Tabs.html +76 -12
  11. package/docs/documentation/components/Tooltip.html +22 -6
  12. package/docs/documentation/coverage.html +4 -4
  13. package/docs/documentation/js/search/search_index.js +2 -2
  14. package/docs/storybook/iframe.html +3 -3
  15. package/docs/storybook/{main.af986e1c1a23f0d31b49.bundle.js → main.a309b5fd3379fd894c7e.bundle.js} +45 -4
  16. package/docs/storybook/main.a309b5fd3379fd894c7e.bundle.js.map +1 -0
  17. package/docs/storybook/{runtime~main.af986e1c1a23f0d31b49.bundle.js → runtime~main.a309b5fd3379fd894c7e.bundle.js} +1 -1
  18. package/docs/storybook/{runtime~main.af986e1c1a23f0d31b49.bundle.js.map → runtime~main.a309b5fd3379fd894c7e.bundle.js.map} +1 -1
  19. package/docs/storybook/{vendors~main.af986e1c1a23f0d31b49.bundle.js → vendors~main.a309b5fd3379fd894c7e.bundle.js} +1 -1
  20. package/docs/storybook/{vendors~main.af986e1c1a23f0d31b49.bundle.js.map → vendors~main.a309b5fd3379fd894c7e.bundle.js.map} +1 -1
  21. package/package.json +1 -1
  22. package/tabs/tab-headers.component.d.ts +9 -0
  23. package/tabs/tab-headers.component.js +10 -2
  24. package/tabs/tab-headers.component.js.map +1 -1
  25. package/tabs/tab-headers.component.metadata.json +1 -1
  26. package/tabs/tab-headers.component.ngfactory.js +7 -4
  27. package/tabs/tab-headers.component.ngfactory.js.map +1 -1
  28. package/tabs/tab-headers.component.ngsummary.json +1 -1
  29. package/tabs/tabs.component.d.ts +8 -0
  30. package/tabs/tabs.component.js +3 -1
  31. package/tabs/tabs.component.js.map +1 -1
  32. package/tabs/tabs.component.metadata.json +1 -1
  33. package/tabs/tabs.component.ngfactory.js +10 -4
  34. package/tabs/tabs.component.ngfactory.js.map +1 -1
  35. package/tabs/tabs.component.ngsummary.json +1 -1
  36. package/tabs/tabs.module.ngfactory.js.map +1 -1
  37. package/docs/storybook/main.af986e1c1a23f0d31b49.bundle.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"sources":["webpack:///./.storybook/config.js","webpack:///./.storybook/polyfills.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/carbon-flatpickr-month-select.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-definition.stories.ts","webpack:///./src/dialog/tooltip/tooltip-icon.component.ts","webpack:///./src/dialog/tooltip/tooltip-icon.stories.ts","webpack:///./src/dialog/tooltip/tooltip.component.ts","webpack:///./src/dialog/tooltip/tooltip.directive.ts","webpack:///./src/dialog/tooltip/tooltip.stories.ts","webpack:///./src/documentation-component/documentation.component.ts","webpack:///./src/documentation-component/documentation.module.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.html","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/header/table-header-description.directive.ts","webpack:///./src/table/header/table-header-title.directive.ts","webpack:///./src/table/header/table-header.component.ts","webpack:///./src/table/table-container.component.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/header/hamburger.component.ts","webpack:///./src/ui-shell/header/header-action.component.ts","webpack:///./src/ui-shell/header/header-global.component.ts","webpack:///./src/ui-shell/header/header-item.component.ts","webpack:///./src/ui-shell/header/header-menu.component.ts","webpack:///./src/ui-shell/header/header-navigation.component.ts","webpack:///./src/ui-shell/header/header.component.ts","webpack:///./src/ui-shell/header/header.module.ts","webpack:///./src/ui-shell/panel/panel.component.ts","webpack:///./src/ui-shell/panel/panel.module.ts","webpack:///./src/ui-shell/panel/product-switcher-item.component.ts","webpack:///./src/ui-shell/panel/product-switcher-list-item.component.ts","webpack:///./src/ui-shell/panel/product-switcher-list.component.ts","webpack:///./src/ui-shell/panel/product-switcher.component.ts","webpack:///./src/ui-shell/sidenav/sidenav-header.component.ts","webpack:///./src/ui-shell/sidenav/sidenav-item.component.ts","webpack:///./src/ui-shell/sidenav/sidenav-menu.component.ts","webpack:///./src/ui-shell/sidenav/sidenav.component.ts","webpack:///./src/ui-shell/sidenav/sidenav.module.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.af986e1c1a23f0d31b49.bundle.js","sourcesContent":["import \"./polyfills.js\";\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","import \"core-js/es\";\n\nimport \"zone.js/dist/zone\";\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,\\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,\\nselect,\\ninput[type='button'],\\ninput[type='submit'],\\ninput[type='reset'],\\ninput[type='file'],\\ninput[type='text'],\\ninput[type='password'],\\ntextarea {\\n border-radius: 0;\\n font-family: inherit; }\\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\\nhtml {\\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\\ncode {\\n font-family: 'IBM Plex Mono', 'Menlo', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', Courier, monospace; }\\n\\n@media screen and (-ms-high-contract: active) {\\n svg {\\n fill: ButtonText; } }\\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 font-display: auto;\\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 font-display: auto;\\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 font-display: auto;\\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 font-display: auto;\\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 font-display: auto;\\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 font-display: auto;\\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 font-display: auto;\\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 font-display: auto;\\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 font-display: auto;\\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 font-display: auto;\\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 font-display: auto;\\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 font-display: auto;\\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 font-display: auto;\\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 font-display: auto;\\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 font-display: auto;\\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 font-display: auto;\\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 font-display: auto;\\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 font-display: auto;\\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 font-display: auto;\\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 font-display: auto;\\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 font-display: auto;\\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 font-display: auto;\\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 font-display: auto;\\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 font-display: auto;\\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 font-display: auto;\\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 font-display: auto;\\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 font-display: auto;\\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 font-display: auto;\\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 font-display: auto;\\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 font-display: auto;\\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 font-display: auto;\\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 font-display: auto;\\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 font-display: auto;\\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 font-display: auto;\\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 font-display: auto;\\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 font-display: auto;\\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 font-display: auto;\\n src: local(\\\"IBM Plex Sans Light Italic\\\"), local(\\\"IBMPlexSans-LightItalic\\\"), url(https://fonts.gstatic.com/s/ibmplexsans/v6/zYX7KVElMYYaJe8bpLHnCwDKhdTmvIRcdvfo.woff) format(\\\"woff\\\"); }\\n\\n@font-face {\\n font-family: 'IBM Plex Sans';\\n font-style: italic;\\n font-weight: 400;\\n font-display: auto;\\n src: local(\\\"IBM Plex Sans Italic\\\"), local(\\\"IBMPlexSans-Italic\\\"), url(https://fonts.gstatic.com/s/ibmplexsans/v6/zYX-KVElMYYaJe8bpLHnCwDKhdTuF6ZP.woff) format(\\\"woff\\\"); }\\n\\n@font-face {\\n font-family: 'IBM Plex Sans';\\n font-style: italic;\\n font-weight: 600;\\n font-display: auto;\\n src: local(\\\"IBM Plex Sans SemiBold Italic\\\"), local(\\\"IBMPlexSans-SemiBoldItalic\\\"), url(https://fonts.gstatic.com/s/ibmplexsans/v6/zYX7KVElMYYaJe8bpLHnCwDKhdTmyIJcdvfo.woff) format(\\\"woff\\\"); }\\n\\n@font-face {\\n font-family: 'IBM Plex Sans';\\n font-style: normal;\\n font-weight: 300;\\n font-display: auto;\\n src: local(\\\"IBM Plex Sans Light\\\"), local(\\\"IBMPlexSans-Light\\\"), url(https://fonts.gstatic.com/s/ibmplexsans/v6/zYX9KVElMYYaJe8bpLHnCwDKjXr8AIFscg.woff) format(\\\"woff\\\"); }\\n\\n@font-face {\\n font-family: 'IBM Plex Sans';\\n font-style: normal;\\n font-weight: 400;\\n font-display: auto;\\n src: local(\\\"IBM Plex Sans\\\"), local(\\\"IBMPlexSans\\\"), url(https://fonts.gstatic.com/s/ibmplexsans/v6/zYXgKVElMYYaJe8bpLHnCwDKhdHeEw.woff) format(\\\"woff\\\"); }\\n\\n@font-face {\\n font-family: 'IBM Plex Sans';\\n font-style: normal;\\n font-weight: 600;\\n font-display: auto;\\n src: local(\\\"IBM Plex Sans SemiBold\\\"), local(\\\"IBMPlexSans-SemiBold\\\"), url(https://fonts.gstatic.com/s/ibmplexsans/v6/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 font-display: auto;\\n src: local(\\\"IBM Plex Sans Light Italic\\\"), local(\\\"IBMPlexSans-LightItalic\\\"), url(https://fonts.gstatic.com/s/ibmplexsans/v6/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 font-display: auto;\\n src: local(\\\"IBM Plex Sans Light Italic\\\"), local(\\\"IBMPlexSans-LightItalic\\\"), url(https://fonts.gstatic.com/s/ibmplexsans/v6/zYX7KVElMYYaJe8bpLHnCwDKhdTmvIRccvfuJGl18QRY.woff2) format(\\\"woff2\\\");\\n unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }\\n\\n/* greek */\\n@font-face {\\n font-family: 'IBM Plex Sans';\\n font-style: italic;\\n font-weight: 300;\\n font-display: auto;\\n src: local(\\\"IBM Plex Sans Light Italic\\\"), local(\\\"IBMPlexSans-LightItalic\\\"), url(https://fonts.gstatic.com/s/ibmplexsans/v6/zYX7KVElMYYaJe8bpLHnCwDKhdTmvIRcdffuJGl18QRY.woff2) format(\\\"woff2\\\");\\n unicode-range: U+0370-03FF; }\\n\\n/* vietnamese */\\n@font-face {\\n font-family: 'IBM Plex Sans';\\n font-style: italic;\\n font-weight: 300;\\n font-display: auto;\\n src: local(\\\"IBM Plex Sans Light Italic\\\"), local(\\\"IBMPlexSans-LightItalic\\\"), url(https://fonts.gstatic.com/s/ibmplexsans/v6/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 font-display: auto;\\n src: local(\\\"IBM Plex Sans Light Italic\\\"), local(\\\"IBMPlexSans-LightItalic\\\"), url(https://fonts.gstatic.com/s/ibmplexsans/v6/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 font-display: auto;\\n src: local(\\\"IBM Plex Sans Light Italic\\\"), local(\\\"IBMPlexSans-LightItalic\\\"), url(https://fonts.gstatic.com/s/ibmplexsans/v6/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 font-display: auto;\\n src: local(\\\"IBM Plex Sans Italic\\\"), local(\\\"IBMPlexSans-Italic\\\"), url(https://fonts.gstatic.com/s/ibmplexsans/v6/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 font-display: auto;\\n src: local(\\\"IBM Plex Sans Italic\\\"), local(\\\"IBMPlexSans-Italic\\\"), url(https://fonts.gstatic.com/s/ibmplexsans/v6/zYX-KVElMYYaJe8bpLHnCwDKhdTuE6ZJW9XjDlN8.woff2) format(\\\"woff2\\\");\\n unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }\\n\\n/* greek */\\n@font-face {\\n font-family: 'IBM Plex Sans';\\n font-style: italic;\\n font-weight: 400;\\n font-display: auto;\\n src: local(\\\"IBM Plex Sans Italic\\\"), local(\\\"IBMPlexSans-Italic\\\"), url(https://fonts.gstatic.com/s/ibmplexsans/v6/zYX-KVElMYYaJe8bpLHnCwDKhdTuFKZJW9XjDlN8.woff2) format(\\\"woff2\\\");\\n unicode-range: U+0370-03FF; }\\n\\n/* vietnamese */\\n@font-face {\\n font-family: 'IBM Plex Sans';\\n font-style: italic;\\n font-weight: 400;\\n font-display: auto;\\n src: local(\\\"IBM Plex Sans Italic\\\"), local(\\\"IBMPlexSans-Italic\\\"), url(https://fonts.gstatic.com/s/ibmplexsans/v6/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 font-display: auto;\\n src: local(\\\"IBM Plex Sans Italic\\\"), local(\\\"IBMPlexSans-Italic\\\"), url(https://fonts.gstatic.com/s/ibmplexsans/v6/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 font-display: auto;\\n src: local(\\\"IBM Plex Sans Italic\\\"), local(\\\"IBMPlexSans-Italic\\\"), url(https://fonts.gstatic.com/s/ibmplexsans/v6/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 font-display: auto;\\n src: local(\\\"IBM Plex Sans SemiBold Italic\\\"), local(\\\"IBMPlexSans-SemiBoldItalic\\\"), url(https://fonts.gstatic.com/s/ibmplexsans/v6/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 font-display: auto;\\n src: local(\\\"IBM Plex Sans SemiBold Italic\\\"), local(\\\"IBMPlexSans-SemiBoldItalic\\\"), url(https://fonts.gstatic.com/s/ibmplexsans/v6/zYX7KVElMYYaJe8bpLHnCwDKhdTmyIJccvfuJGl18QRY.woff2) format(\\\"woff2\\\");\\n unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }\\n\\n/* greek */\\n@font-face {\\n font-family: 'IBM Plex Sans';\\n font-style: italic;\\n font-weight: 600;\\n font-display: auto;\\n src: local(\\\"IBM Plex Sans SemiBold Italic\\\"), local(\\\"IBMPlexSans-SemiBoldItalic\\\"), url(https://fonts.gstatic.com/s/ibmplexsans/v6/zYX7KVElMYYaJe8bpLHnCwDKhdTmyIJcdffuJGl18QRY.woff2) format(\\\"woff2\\\");\\n unicode-range: U+0370-03FF; }\\n\\n/* vietnamese */\\n@font-face {\\n font-family: 'IBM Plex Sans';\\n font-style: italic;\\n font-weight: 600;\\n font-display: auto;\\n src: local(\\\"IBM Plex Sans SemiBold Italic\\\"), local(\\\"IBMPlexSans-SemiBoldItalic\\\"), url(https://fonts.gstatic.com/s/ibmplexsans/v6/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 font-display: auto;\\n src: local(\\\"IBM Plex Sans SemiBold Italic\\\"), local(\\\"IBMPlexSans-SemiBoldItalic\\\"), url(https://fonts.gstatic.com/s/ibmplexsans/v6/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 font-display: auto;\\n src: local(\\\"IBM Plex Sans SemiBold Italic\\\"), local(\\\"IBMPlexSans-SemiBoldItalic\\\"), url(https://fonts.gstatic.com/s/ibmplexsans/v6/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 font-display: auto;\\n src: local(\\\"IBM Plex Sans Light\\\"), local(\\\"IBMPlexSans-Light\\\"), url(https://fonts.gstatic.com/s/ibmplexsans/v6/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 font-display: auto;\\n src: local(\\\"IBM Plex Sans Light\\\"), local(\\\"IBMPlexSans-Light\\\"), url(https://fonts.gstatic.com/s/ibmplexsans/v6/zYX9KVElMYYaJe8bpLHnCwDKjXr8AIVsdP3pBmtF8A.woff2) format(\\\"woff2\\\");\\n unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }\\n\\n/* greek */\\n@font-face {\\n font-family: 'IBM Plex Sans';\\n font-style: normal;\\n font-weight: 300;\\n font-display: auto;\\n src: local(\\\"IBM Plex Sans Light\\\"), local(\\\"IBMPlexSans-Light\\\"), url(https://fonts.gstatic.com/s/ibmplexsans/v6/zYX9KVElMYYaJe8bpLHnCwDKjXr8AIJsdP3pBmtF8A.woff2) format(\\\"woff2\\\");\\n unicode-range: U+0370-03FF; }\\n\\n/* vietnamese */\\n@font-face {\\n font-family: 'IBM Plex Sans';\\n font-style: normal;\\n font-weight: 300;\\n font-display: auto;\\n src: local(\\\"IBM Plex Sans Light\\\"), local(\\\"IBMPlexSans-Light\\\"), url(https://fonts.gstatic.com/s/ibmplexsans/v6/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 font-display: auto;\\n src: local(\\\"IBM Plex Sans Light\\\"), local(\\\"IBMPlexSans-Light\\\"), url(https://fonts.gstatic.com/s/ibmplexsans/v6/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 font-display: auto;\\n src: local(\\\"IBM Plex Sans Light\\\"), local(\\\"IBMPlexSans-Light\\\"), url(https://fonts.gstatic.com/s/ibmplexsans/v6/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 font-display: auto;\\n src: local(\\\"IBM Plex Sans\\\"), local(\\\"IBMPlexSans\\\"), url(https://fonts.gstatic.com/s/ibmplexsans/v6/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 font-display: auto;\\n src: local(\\\"IBM Plex Sans\\\"), local(\\\"IBMPlexSans\\\"), url(https://fonts.gstatic.com/s/ibmplexsans/v6/zYXgKVElMYYaJe8bpLHnCwDKhdXeFaxOedfTDw.woff2) format(\\\"woff2\\\");\\n unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }\\n\\n/* greek */\\n@font-face {\\n font-family: 'IBM Plex Sans';\\n font-style: normal;\\n font-weight: 400;\\n font-display: auto;\\n src: local(\\\"IBM Plex Sans\\\"), local(\\\"IBMPlexSans\\\"), url(https://fonts.gstatic.com/s/ibmplexsans/v6/zYXgKVElMYYaJe8bpLHnCwDKhdLeFaxOedfTDw.woff2) format(\\\"woff2\\\");\\n unicode-range: U+0370-03FF; }\\n\\n/* vietnamese */\\n@font-face {\\n font-family: 'IBM Plex Sans';\\n font-style: normal;\\n font-weight: 400;\\n font-display: auto;\\n src: local(\\\"IBM Plex Sans\\\"), local(\\\"IBMPlexSans\\\"), url(https://fonts.gstatic.com/s/ibmplexsans/v6/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 font-display: auto;\\n src: local(\\\"IBM Plex Sans\\\"), local(\\\"IBMPlexSans\\\"), url(https://fonts.gstatic.com/s/ibmplexsans/v6/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 font-display: auto;\\n src: local(\\\"IBM Plex Sans\\\"), local(\\\"IBMPlexSans\\\"), url(https://fonts.gstatic.com/s/ibmplexsans/v6/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 font-display: auto;\\n src: local(\\\"IBM Plex Sans SemiBold\\\"), local(\\\"IBMPlexSans-SemiBold\\\"), url(https://fonts.gstatic.com/s/ibmplexsans/v6/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 font-display: auto;\\n src: local(\\\"IBM Plex Sans SemiBold\\\"), local(\\\"IBMPlexSans-SemiBold\\\"), url(https://fonts.gstatic.com/s/ibmplexsans/v6/zYX9KVElMYYaJe8bpLHnCwDKjQ76AIVsdP3pBmtF8A.woff2) format(\\\"woff2\\\");\\n unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }\\n\\n/* greek */\\n@font-face {\\n font-family: 'IBM Plex Sans';\\n font-style: normal;\\n font-weight: 600;\\n font-display: auto;\\n src: local(\\\"IBM Plex Sans SemiBold\\\"), local(\\\"IBMPlexSans-SemiBold\\\"), url(https://fonts.gstatic.com/s/ibmplexsans/v6/zYX9KVElMYYaJe8bpLHnCwDKjQ76AIJsdP3pBmtF8A.woff2) format(\\\"woff2\\\");\\n unicode-range: U+0370-03FF; }\\n\\n/* vietnamese */\\n@font-face {\\n font-family: 'IBM Plex Sans';\\n font-style: normal;\\n font-weight: 600;\\n font-display: auto;\\n src: local(\\\"IBM Plex Sans SemiBold\\\"), local(\\\"IBMPlexSans-SemiBold\\\"), url(https://fonts.gstatic.com/s/ibmplexsans/v6/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 font-display: auto;\\n src: local(\\\"IBM Plex Sans SemiBold\\\"), local(\\\"IBMPlexSans-SemiBold\\\"), url(https://fonts.gstatic.com/s/ibmplexsans/v6/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 font-display: auto;\\n src: local(\\\"IBM Plex Sans SemiBold\\\"), local(\\\"IBMPlexSans-SemiBold\\\"), url(https://fonts.gstatic.com/s/ibmplexsans/v6/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-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-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.bx--aspect-ratio--1x2 {\\n padding-bottom: 200%; }\\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\\n+ .bx--btn--primary.bx--btn--disabled,\\n.bx--btn--tertiary.bx--btn--disabled\\n+ .bx--btn--danger.bx--btn--disabled {\\n border-left: 0.0625rem solid #8c8c8c; }\\n\\n.bx--btn {\\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: calc(0.875rem - 3px) 60px calc(0.875rem - 3px) 12px;\\n border-radius: 0;\\n text-align: left;\\n text-decoration: none;\\n -webkit-transition: all 70ms cubic-bezier(0, 0, 0.38, 0.9);\\n transition: all 70ms cubic-bezier(0, 0, 0.38, 0.9);\\n outline: 1px solid transparent;\\n outline-offset: -4px;\\n position: relative;\\n max-width: 20rem; }\\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 position: absolute;\\n right: 1rem;\\n -ms-flex-negative: 0;\\n flex-shrink: 0;\\n width: 1rem;\\n height: 1rem;\\n -webkit-transition: all 70ms cubic-bezier(0, 0, 0.38, 0.9);\\n transition: all 70ms cubic-bezier(0, 0, 0.38, 0.9); }\\n .bx--btn.bx--btn--disabled > svg.bx--btn__icon,\\n .bx--btn:disabled > svg.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: 3px;\\n border-style: solid;\\n border-color: transparent;\\n color: #ffffff; }\\n .bx--btn--primary:hover {\\n background-color: #0353e9; }\\n .bx--btn--primary:focus {\\n border-color: #0062ff;\\n outline-color: #ffffff; }\\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-color: #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 .bx--btn--primary .bx--btn__icon path {\\n fill: currentColor; }\\n .bx--btn--primary:hover {\\n color: #ffffff; }\\n\\n.bx--btn--secondary {\\n background-color: #171717;\\n border-width: 3px;\\n border-style: solid;\\n border-color: transparent;\\n color: #ffffff; }\\n .bx--btn--secondary:hover {\\n background-color: #4c4c4c; }\\n .bx--btn--secondary:focus {\\n border-color: #0062ff;\\n outline-color: #ffffff; }\\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-color: #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 .bx--btn--secondary .bx--btn__icon path {\\n fill: currentColor; }\\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:focus {\\n border-color: #0062ff;\\n outline-color: #ffffff; }\\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-color: #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 .bx--btn--tertiary .bx--btn__icon path {\\n fill: currentColor; }\\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 path, .bx--btn--tertiary:hover:disabled > .bx--btn__icon path, .bx--btn--tertiary:focus:disabled > .bx--btn__icon path, .bx--btn--tertiary.bx--btn--disabled > .bx--btn__icon path, .bx--btn--tertiary.bx--btn--disabled:hover > .bx--btn__icon path, .bx--btn--tertiary.bx--btn--disabled:focus > .bx--btn__icon path {\\n fill: #bebebe; }\\n .bx--btn--tertiary:hover > .bx--btn__icon path {\\n fill: #ffffff; }\\n\\n.bx--btn--ghost {\\n background-color: transparent;\\n border-width: 3px;\\n border-style: solid;\\n border-color: transparent;\\n color: #0062ff;\\n padding: 11px 13px; }\\n .bx--btn--ghost:hover {\\n background-color: #e5e5e5; }\\n .bx--btn--ghost:focus {\\n border-color: #0062ff;\\n outline-color: #ffffff; }\\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-color: #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 .bx--btn--ghost .bx--btn__icon path {\\n fill: currentColor; }\\n .bx--btn--ghost .bx--btn__icon {\\n position: static;\\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 path, .bx--btn--ghost:active .bx--btn__icon path {\\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 path, .bx--btn--ghost:hover:disabled .bx--btn__icon path, .bx--btn--ghost:focus:disabled .bx--btn__icon path, .bx--btn--ghost.bx--btn--disabled .bx--btn__icon path, .bx--btn--ghost.bx--btn--disabled:hover .bx--btn__icon path, .bx--btn--ghost.bx--btn--disabled:focus .bx--btn__icon path {\\n fill: #bebebe; }\\n .bx--btn--ghost.bx--btn--sm {\\n padding: calc(0.375rem - 3px) 1rem; }\\n\\n.bx--btn--icon-only {\\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--btn--icon-only:focus {\\n outline: 1px solid transparent; }\\n .bx--btn--icon-only:focus svg {\\n outline: 1px solid #0062ff; }\\n .bx--btn--icon-only::before, .bx--btn--icon-only::after,\\n .bx--btn--icon-only .bx--assistive-text,\\n .bx--btn--icon-only + .bx--assistive-text {\\n font-size: 0.875rem;\\n font-weight: 400;\\n line-height: 1.125rem;\\n letter-spacing: 0.16px;\\n position: absolute;\\n z-index: 10000;\\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 opacity: 0;\\n pointer-events: none; }\\n .bx--btn--icon-only::before, .bx--btn--icon-only::after {\\n -webkit-transition: opacity 70ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: opacity 70ms cubic-bezier(0.2, 0, 0.38, 0.9); }\\n .bx--btn--icon-only.bx--tooltip--a11y::before, .bx--btn--icon-only.bx--tooltip--a11y::after {\\n -webkit-transition: none;\\n transition: none; }\\n .bx--btn--icon-only::before {\\n width: 0;\\n height: 0;\\n border-style: solid;\\n content: ''; }\\n .bx--btn--icon-only .bx--assistive-text,\\n .bx--btn--icon-only + .bx--assistive-text {\\n -webkit-box-sizing: content-box;\\n box-sizing: content-box;\\n color: inherit;\\n opacity: 1;\\n white-space: normal; }\\n .bx--btn--icon-only::after,\\n .bx--btn--icon-only:hover .bx--assistive-text,\\n .bx--btn--icon-only:focus .bx--assistive-text,\\n .bx--btn--icon-only:hover + .bx--assistive-text,\\n .bx--btn--icon-only:focus + .bx--assistive-text {\\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 width: -webkit-max-content;\\n width: -moz-max-content;\\n width: max-content;\\n max-width: 13rem;\\n height: auto;\\n padding: 0.125rem 1rem;\\n border-radius: 0.125rem;\\n color: #ffffff;\\n font-weight: 400;\\n text-align: left;\\n -webkit-transform: translateX(-50%);\\n transform: translateX(-50%);\\n pointer-events: none;\\n background-color: #3d3d3d; }\\n .bx--btn--icon-only::after {\\n content: attr(aria-label); }\\n .bx--btn--icon-only.bx--tooltip--a11y::after {\\n content: none; }\\n .bx--btn--icon-only:hover::before, .bx--btn--icon-only:hover::after, .bx--btn--icon-only:focus::before, .bx--btn--icon-only:focus::after {\\n opacity: 1; }\\n\\n@-webkit-keyframes tooltip-fade {\\n from {\\n opacity: 0; }\\n to {\\n opacity: 1; } }\\n\\n@keyframes tooltip-fade {\\n from {\\n opacity: 0; }\\n to {\\n opacity: 1; } }\\n .bx--btn--icon-only:hover .bx--assistive-text,\\n .bx--btn--icon-only:hover + .bx--assistive-text, .bx--btn--icon-only:focus .bx--assistive-text,\\n .bx--btn--icon-only:focus + .bx--assistive-text {\\n clip: auto;\\n margin: auto;\\n overflow: visible; }\\n .bx--btn--icon-only:hover .bx--assistive-text,\\n .bx--btn--icon-only:hover + .bx--assistive-text, .bx--btn--icon-only:hover.bx--tooltip--a11y::before, .bx--btn--icon-only:focus .bx--assistive-text,\\n .bx--btn--icon-only:focus + .bx--assistive-text, .bx--btn--icon-only:focus.bx--tooltip--a11y::before {\\n -webkit-animation: tooltip-fade 70ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n animation: tooltip-fade 70ms cubic-bezier(0.2, 0, 0.38, 0.9); }\\n\\n.bx--btn--icon-only:focus svg {\\n outline: none; }\\n\\n.bx--btn--icon-only--top {\\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--btn--icon-only--top:focus {\\n outline: 1px solid transparent; }\\n .bx--btn--icon-only--top:focus svg {\\n outline: 1px solid #0062ff; }\\n .bx--btn--icon-only--top::before, .bx--btn--icon-only--top::after,\\n .bx--btn--icon-only--top .bx--assistive-text,\\n .bx--btn--icon-only--top + .bx--assistive-text {\\n font-size: 0.875rem;\\n font-weight: 400;\\n line-height: 1.125rem;\\n letter-spacing: 0.16px;\\n position: absolute;\\n z-index: 10000;\\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 opacity: 0;\\n pointer-events: none; }\\n .bx--btn--icon-only--top::before, .bx--btn--icon-only--top::after {\\n -webkit-transition: opacity 70ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: opacity 70ms cubic-bezier(0.2, 0, 0.38, 0.9); }\\n .bx--btn--icon-only--top.bx--tooltip--a11y::before, .bx--btn--icon-only--top.bx--tooltip--a11y::after {\\n -webkit-transition: none;\\n transition: none; }\\n .bx--btn--icon-only--top::before {\\n width: 0;\\n height: 0;\\n border-style: solid;\\n content: ''; }\\n .bx--btn--icon-only--top .bx--assistive-text,\\n .bx--btn--icon-only--top + .bx--assistive-text {\\n -webkit-box-sizing: content-box;\\n box-sizing: content-box;\\n color: inherit;\\n opacity: 1;\\n white-space: normal; }\\n .bx--btn--icon-only--top::after,\\n .bx--btn--icon-only--top:hover .bx--assistive-text,\\n .bx--btn--icon-only--top:focus .bx--assistive-text,\\n .bx--btn--icon-only--top:hover + .bx--assistive-text,\\n .bx--btn--icon-only--top:focus + .bx--assistive-text {\\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 width: -webkit-max-content;\\n width: -moz-max-content;\\n width: max-content;\\n max-width: 13rem;\\n height: auto;\\n padding: 0.125rem 1rem;\\n border-radius: 0.125rem;\\n color: #ffffff;\\n font-weight: 400;\\n text-align: left;\\n -webkit-transform: translateX(-50%);\\n transform: translateX(-50%);\\n pointer-events: none;\\n background-color: #3d3d3d; }\\n .bx--btn--icon-only--top::after {\\n content: attr(aria-label); }\\n .bx--btn--icon-only--top.bx--tooltip--a11y::after {\\n content: none; }\\n .bx--btn--icon-only--top:hover::before, .bx--btn--icon-only--top:hover::after, .bx--btn--icon-only--top:focus::before, .bx--btn--icon-only--top:focus::after {\\n opacity: 1; }\\n\\n@keyframes tooltip-fade {\\n from {\\n opacity: 0; }\\n to {\\n opacity: 1; } }\\n .bx--btn--icon-only--top:hover .bx--assistive-text,\\n .bx--btn--icon-only--top:hover + .bx--assistive-text, .bx--btn--icon-only--top:focus .bx--assistive-text,\\n .bx--btn--icon-only--top:focus + .bx--assistive-text {\\n clip: auto;\\n margin: auto;\\n overflow: visible; }\\n .bx--btn--icon-only--top:hover .bx--assistive-text,\\n .bx--btn--icon-only--top:hover + .bx--assistive-text, .bx--btn--icon-only--top:hover.bx--tooltip--a11y::before, .bx--btn--icon-only--top:focus .bx--assistive-text,\\n .bx--btn--icon-only--top:focus + .bx--assistive-text, .bx--btn--icon-only--top:focus.bx--tooltip--a11y::before {\\n -webkit-animation: tooltip-fade 70ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n animation: tooltip-fade 70ms cubic-bezier(0.2, 0, 0.38, 0.9); }\\n .bx--btn--icon-only--top::before, .bx--btn--icon-only--top::after,\\n .bx--btn--icon-only--top:hover .bx--assistive-text,\\n .bx--btn--icon-only--top:focus .bx--assistive-text,\\n .bx--btn--icon-only--top:hover + .bx--assistive-text,\\n .bx--btn--icon-only--top:focus + .bx--assistive-text {\\n top: 0;\\n left: 50%; }\\n .bx--btn--icon-only--top::before {\\n border-width: 0.3125rem 0.25rem 0 0.25rem;\\n border-color: #3d3d3d transparent transparent transparent;\\n -webkit-transform: translate(-50%, calc(-1 * (0.3125rem + 0.5rem)));\\n transform: translate(-50%, calc(-1 * (0.3125rem + 0.5rem))); }\\n .bx--btn--icon-only--top::after,\\n .bx--btn--icon-only--top:hover .bx--assistive-text,\\n .bx--btn--icon-only--top:focus .bx--assistive-text,\\n .bx--btn--icon-only--top:hover + .bx--assistive-text,\\n .bx--btn--icon-only--top:focus + .bx--assistive-text {\\n left: 50%;\\n -webkit-transform: translate(-50%, calc(-1 * (100% + 0.5rem + 0.3125rem)));\\n transform: translate(-50%, calc(-1 * (100% + 0.5rem + 0.3125rem))); }\\n\\n.bx--btn--icon-only--bottom::before, .bx--btn--icon-only--bottom::after,\\n.bx--btn--icon-only--bottom:hover .bx--assistive-text,\\n.bx--btn--icon-only--bottom:focus .bx--assistive-text,\\n.bx--btn--icon-only--bottom:hover + .bx--assistive-text,\\n.bx--btn--icon-only--bottom:focus + .bx--assistive-text {\\n bottom: 0;\\n left: 50%; }\\n\\n.bx--btn--icon-only--bottom::before {\\n border-width: 0 0.25rem 0.3125rem 0.25rem;\\n border-color: transparent transparent #3d3d3d transparent;\\n -webkit-transform: translate(-50%, calc(0.3125rem + 0.5rem));\\n transform: translate(-50%, calc(0.3125rem + 0.5rem)); }\\n\\n.bx--btn--icon-only--bottom::after,\\n.bx--btn--icon-only--bottom:hover .bx--assistive-text,\\n.bx--btn--icon-only--bottom:focus .bx--assistive-text,\\n.bx--btn--icon-only--bottom:hover + .bx--assistive-text,\\n.bx--btn--icon-only--bottom:focus + .bx--assistive-text {\\n -webkit-transform: translate(-50%, calc(100% + 0.5rem + 0.3125rem));\\n transform: translate(-50%, calc(100% + 0.5rem + 0.3125rem)); }\\n\\n.bx--btn--icon-only,\\n.bx--btn--sm.bx--btn--icon-only,\\n.bx--btn--field.bx--btn--icon-only {\\n padding-right: 0.8125rem; }\\n .bx--btn--icon-only .bx--btn__icon,\\n .bx--btn--sm.bx--btn--icon-only .bx--btn__icon,\\n .bx--btn--field.bx--btn--icon-only .bx--btn__icon {\\n position: static; }\\n .bx--btn--icon-only.bx--btn--ghost .bx--btn__icon,\\n .bx--btn--sm.bx--btn--icon-only.bx--btn--ghost .bx--btn__icon,\\n .bx--btn--field.bx--btn--icon-only.bx--btn--ghost .bx--btn__icon {\\n margin: 0; }\\n\\n.bx--btn--danger {\\n background-color: #dc222b;\\n border-width: 3px;\\n border-style: solid;\\n border-color: #dc222b;\\n color: #ffffff; }\\n .bx--btn--danger:hover {\\n background-color: #ba1b23; }\\n .bx--btn--danger:focus {\\n border-color: #0062ff;\\n outline-color: #ffffff; }\\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-color: #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 .bx--btn--danger .bx--btn__icon path {\\n fill: #ffffff; }\\n .bx--btn--danger:hover {\\n color: #ffffff;\\n border: 3px solid transparent; }\\n\\n.bx--btn--sm {\\n min-height: 2rem;\\n padding: calc(0.375rem - 3px) 60px calc(0.375rem - 3px) 12px; }\\n\\n.bx--btn--field {\\n height: 40px;\\n min-height: 40px;\\n padding: calc(0.675rem - 3px) 60px calc(0.675rem - 3px) 12px; }\\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: #e5e5e5;\\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 background: #bebebe;\\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-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-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-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 pointer-events: none; }\\n\\n.bx--label .bx--tooltip__trigger {\\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: #e5e5e5;\\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 background: #bebebe;\\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]\\n> .bx--text-area--invalid,\\n.bx--select-input__wrapper[data-invalid],\\n.bx--list-box[data-invalid],\\n.bx--combo-box[data-invalid] .bx--text-input {\\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-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-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: breakpoint(\\\"sm\\\")) {\\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-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-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 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-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 padding: 1px 0;\\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-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\\n+ .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-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\\n.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\\n.bx--list-box__label {\\n color: #8c8c8c; }\\n\\n.bx--list-box--disabled .bx--list-box__menu-icon > svg {\\n fill: #8c8c8c; }\\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\\n.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]\\n.bx--list-box__field {\\n padding-right: 3rem; }\\n\\n.bx--list-box--disabled.bx--list-box[data-invalid].bx--list-box--inline\\n.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\\n.bx--list-box__field {\\n height: 2rem; }\\n\\n.bx--list-box.bx--list-box--inline\\n.bx--list-box__field {\\n padding: 0 2rem 0 0.5rem; }\\n\\n.bx--list-box.bx--list-box--inline\\n.bx--list-box__menu-icon {\\n right: 0.5rem; }\\n\\n.bx--list-box.bx--list-box--inline\\n.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[value] {\\n padding-right: 4.5rem; }\\n\\n.bx--list-box[data-invalid]\\n.bx--list-box__field\\n.bx--text-input[value] {\\n padding-right: 6.125rem; }\\n\\n.bx--list-box[data-invalid]\\n.bx--list-box__field\\n.bx--text-input[value]\\n+ .bx--list-box__invalid-icon {\\n right: 4.125rem; }\\n\\n.bx--list-box__field .bx--text-input[value=''] {\\n padding-right: 3rem; }\\n\\n.bx--list-box[data-invalid]\\n.bx--list-box__field\\n.bx--text-input[value=''] {\\n padding-right: 4.5rem; }\\n\\n.bx--list-box[data-invalid]\\n.bx--list-box__field\\n.bx--text-input[value='']\\n+ .bx--list-box__invalid-icon {\\n right: 2.5rem; }\\n\\n.bx--list-box__label {\\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 position: absolute;\\n right: 1rem;\\n height: 100%;\\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 position: absolute;\\n right: 2.0625rem;\\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 height: 1.875rem;\\n width: 1.875rem;\\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 .bx--list-box__selection:focus {\\n outline: 2px solid #0062ff;\\n outline-offset: -2px; }\\n\\n.bx--list-box__selection > svg {\\n fill: #565656; }\\n\\n.bx--list-box--disabled .bx--list-box__selection:focus {\\n outline: none; }\\n\\n.bx--list-box--disabled .bx--list-box__selection > svg {\\n fill: #bebebe; }\\n\\n.bx--list-box__selection--multi {\\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 width: auto;\\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: #ffffff;\\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 fill: #ffffff; }\\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: 9100; }\\n\\n.bx--list-box__menu-item {\\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:active {\\n background-color: #dcdcdc; }\\n\\n.bx--list-box--disabled .bx--list-box__menu-item:hover {\\n background-color: transparent; }\\n\\n.bx--list-box--disabled\\n.bx--list-box__menu-item__option:hover {\\n border-top-color: #dcdcdc; }\\n\\n.bx--list-box__menu-item:first-of-type\\n.bx--list-box__menu-item__option {\\n border-top-color: transparent; }\\n\\n.bx--list-box__menu-item:hover\\n.bx--list-box__menu-item__option {\\n color: #171717; }\\n\\n.bx--list-box__menu-item:hover\\n+ .bx--list-box__menu-item\\n.bx--list-box__menu-item__option {\\n border-top-color: transparent; }\\n\\n.bx--list-box--disabled\\n.bx--list-box__menu-item:hover\\n+ .bx--list-box__menu-item\\n.bx--list-box__menu-item__option {\\n border-top-color: #dcdcdc; }\\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-top: 1px solid transparent;\\n border-bottom: 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--disabled\\n.bx--list-box__menu-item:hover\\n.bx--list-box__menu-item__option,\\n.bx--list-box--disabled .bx--list-box__menu-item__option {\\n color: #bebebe; }\\n\\n.bx--list-box.bx--list-box--inline\\n.bx--list-box__menu-item__option {\\n margin: 0 0.5rem; }\\n .bx--list-box.bx--list-box--inline\\n.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\\n.bx--list-box__menu-item--highlighted\\n.bx--list-box__menu-item__option {\\n color: #171717; }\\n\\n.bx--list-box__menu-item--active {\\n color: #171717;\\n border-bottom-color: #dcdcdc; }\\n .bx--list-box__menu-item--active:hover {\\n background-color: #dcdcdc; }\\n\\n.bx--list-box__menu-item--active\\n.bx--list-box__menu-item__option {\\n color: #171717; }\\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::-webkit-input-placeholder {\\n color: #565656;\\n opacity: 1; }\\n\\n.bx--combo-box .bx--text-input::-moz-placeholder {\\n color: #565656;\\n opacity: 1; }\\n\\n.bx--combo-box .bx--text-input::-ms-input-placeholder {\\n color: #565656;\\n opacity: 1; }\\n\\n.bx--combo-box .bx--text-input::placeholder {\\n color: #565656;\\n opacity: 1; }\\n\\n.bx--combo-box .bx--text-input[disabled]::-webkit-input-placeholder {\\n color: #bebebe; }\\n\\n.bx--combo-box .bx--text-input[disabled]::-moz-placeholder {\\n color: #bebebe; }\\n\\n.bx--combo-box .bx--text-input[disabled]::-ms-input-placeholder {\\n color: #bebebe; }\\n\\n.bx--combo-box .bx--text-input[disabled]::placeholder {\\n color: #bebebe; }\\n\\n.bx--combo-box.bx--list-box--expanded\\n.bx--text-input {\\n border-bottom-color: #dcdcdc; }\\n\\n.bx--combo-box .bx--list-box__field,\\n.bx--combo-box.bx--list-box[data-invalid]\\n.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 -webkit-box-align: start;\\n -ms-flex-align: start;\\n align-items: flex-start; }\\n .bx--radio-button-group--vertical.bx--radio-button-group--label-left {\\n -webkit-box-align: end;\\n -ms-flex-align: end;\\n align-items: flex-end; }\\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: inherit; }\\n\\n.bx--radio-button__label {\\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: transparent;\\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\\n+ .bx--radio-button__label\\n.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\\n+ .bx--radio-button__label\\n.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\\n+ .bx--radio-button__label\\n.bx--radio-button__appearance,\\n.bx--radio-button:disabled:checked\\n+ .bx--radio-button__label\\n.bx--radio-button__appearance {\\n border-color: #bebebe; }\\n .bx--radio-button:disabled\\n+ .bx--radio-button__label\\n.bx--radio-button__appearance::before,\\n .bx--radio-button:disabled:checked\\n+ .bx--radio-button__label\\n.bx--radio-button__appearance::before {\\n background-color: #bebebe; }\\n\\n.bx--radio-button:focus\\n+ .bx--radio-button__label\\n.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: #e5e5e5;\\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 background: #bebebe;\\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\\n.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\\n.bx--radio-button-wrapper:not(:last-of-type) {\\n margin-right: 0;\\n margin-bottom: 0.5rem; }\\n\\n.bx--radio-button-group--label-right .bx--radio-button__label,\\n.bx--radio-button-wrapper.bx--radio-button-wrapper--label-right\\n.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-group--label-left .bx--radio-button__label,\\n.bx--radio-button-wrapper.bx--radio-button-wrapper--label-left\\n.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-group--label-left\\n.bx--radio-button__appearance,\\n.bx--radio-button-wrapper.bx--radio-button-wrapper--label-left\\n.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-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 will-change: box-shadow;\\n -webkit-box-shadow: 0 0 0 2px transparent;\\n box-shadow: 0 0 0 2px transparent;\\n -webkit-transition: background-color 70ms cubic-bezier(0.2, 0, 1, 0.9), -webkit-box-shadow 70ms cubic-bezier(0.2, 0, 1, 0.9);\\n transition: background-color 70ms cubic-bezier(0.2, 0, 1, 0.9), -webkit-box-shadow 70ms cubic-bezier(0.2, 0, 1, 0.9);\\n transition: box-shadow 70ms cubic-bezier(0.2, 0, 1, 0.9), background-color 70ms cubic-bezier(0.2, 0, 1, 0.9);\\n transition: box-shadow 70ms cubic-bezier(0.2, 0, 1, 0.9), background-color 70ms cubic-bezier(0.2, 0, 1, 0.9), -webkit-box-shadow 70ms cubic-bezier(0.2, 0, 1, 0.9); }\\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: -webkit-transform 70ms cubic-bezier(0.2, 0, 1, 0.9);\\n transition: -webkit-transform 70ms cubic-bezier(0.2, 0, 1, 0.9);\\n transition: transform 70ms cubic-bezier(0.2, 0, 1, 0.9);\\n transition: transform 70ms cubic-bezier(0.2, 0, 1, 0.9), -webkit-transform 70ms cubic-bezier(0.2, 0, 1, 0.9); }\\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__text--left,\\n.bx--toggle__text--right {\\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:checked\\n+ .bx--toggle__label\\n.bx--toggle__text--left,\\n.bx--toggle:not(:checked)\\n+ .bx--toggle__label\\n.bx--toggle__text--right {\\n visibility: hidden; }\\n\\n.bx--toggle:checked\\n+ .bx--toggle__label\\n.bx--toggle__text--right,\\n.bx--toggle:not(:checked)\\n+ .bx--toggle__label\\n.bx--toggle__text--left {\\n display: inline; }\\n\\n.bx--toggle:checked\\n+ .bx--toggle__label\\n.bx--toggle__appearance:before {\\n background-color: #24a148; }\\n\\n.bx--toggle:checked\\n+ .bx--toggle__label\\n.bx--toggle__appearance:after {\\n background-color: #ffffff;\\n -webkit-transform: translateX(24px);\\n transform: translateX(24px); }\\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\\n+ .bx--toggle__label\\n.bx--toggle__appearance:before {\\n background-color: #f3f3f3; }\\n\\n.bx--toggle:disabled\\n+ .bx--toggle__label\\n.bx--toggle__appearance:after {\\n background-color: #bebebe; }\\n\\n.bx--toggle:disabled\\n+ .bx--toggle__label\\n.bx--toggle__appearance:before, .bx--toggle:disabled\\n+ .bx--toggle__label\\n.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\\n+ .bx--toggle__label\\n.bx--toggle__text--left,\\n.bx--toggle:disabled\\n+ .bx--toggle__label\\n.bx--toggle__text--right {\\n color: #bebebe; }\\n\\n.bx--toggle:disabled:active\\n+ .bx--toggle__label\\n.bx--toggle__appearance:before {\\n -webkit-box-shadow: none;\\n box-shadow: none; }\\n\\n.bx--toggle:disabled\\n+ .bx--toggle__label\\n.bx--toggle__check {\\n fill: #bebebe; }\\n\\n.bx--toggle--small\\n+ .bx--toggle__label\\n.bx--toggle__appearance {\\n width: 2rem;\\n height: 1rem; }\\n .bx--toggle--small\\n+ .bx--toggle__label\\n.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\\n+ .bx--toggle__label\\n.bx--toggle__appearance:after {\\n width: 0.625rem;\\n height: 0.625rem;\\n top: 3px;\\n left: 3px; }\\n\\n.bx--toggle--small:checked\\n+ .bx--toggle__label\\n.bx--toggle__check {\\n fill: #24a148;\\n -webkit-transform: scale(1) translateX(16px);\\n transform: scale(1) translateX(16px); }\\n\\n.bx--toggle--small\\n+ .bx--toggle__label\\n.bx--toggle__text--left {\\n left: 2rem; }\\n\\n.bx--toggle--small:checked\\n+ .bx--toggle__label\\n.bx--toggle__appearance:after {\\n margin-left: 0px;\\n -webkit-transform: translateX(17px);\\n transform: translateX(17px); }\\n\\n.bx--toggle-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 .bx--toggle-input:focus {\\n outline: none; }\\n\\n.bx--toggle-input__label {\\n font-size: 0.75rem;\\n font-weight: 400;\\n line-height: 1rem;\\n letter-spacing: 0.32px;\\n color: #565656;\\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: start;\\n -ms-flex-align: start;\\n align-items: flex-start;\\n cursor: pointer; }\\n\\n.bx--toggle__switch {\\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 width: 3rem;\\n height: 1.5rem;\\n margin: 0.5rem 0;\\n cursor: pointer; }\\n .bx--toggle__switch::before {\\n -webkit-box-sizing: border-box;\\n box-sizing: border-box;\\n position: absolute;\\n top: 0;\\n display: block;\\n width: 3rem;\\n height: 1.5rem;\\n border-radius: 0.9375rem;\\n content: '';\\n background-color: #8c8c8c;\\n will-change: box-shadow;\\n -webkit-box-shadow: 0 0 0 2px transparent;\\n box-shadow: 0 0 0 2px transparent;\\n -webkit-transition: background-color 70ms cubic-bezier(0.2, 0, 1, 0.9), -webkit-box-shadow 70ms cubic-bezier(0.2, 0, 1, 0.9);\\n transition: background-color 70ms cubic-bezier(0.2, 0, 1, 0.9), -webkit-box-shadow 70ms cubic-bezier(0.2, 0, 1, 0.9);\\n transition: box-shadow 70ms cubic-bezier(0.2, 0, 1, 0.9), background-color 70ms cubic-bezier(0.2, 0, 1, 0.9);\\n transition: box-shadow 70ms cubic-bezier(0.2, 0, 1, 0.9), background-color 70ms cubic-bezier(0.2, 0, 1, 0.9), -webkit-box-shadow 70ms cubic-bezier(0.2, 0, 1, 0.9); }\\n .bx--toggle__switch::after {\\n -webkit-box-sizing: border-box;\\n box-sizing: border-box;\\n position: absolute;\\n top: 3px;\\n left: 3px;\\n display: block;\\n width: 1.125rem;\\n height: 1.125rem;\\n border-radius: 50%;\\n background-color: #dcdcdc;\\n content: '';\\n -webkit-transition: -webkit-transform 70ms cubic-bezier(0.2, 0, 1, 0.9);\\n transition: -webkit-transform 70ms cubic-bezier(0.2, 0, 1, 0.9);\\n transition: transform 70ms cubic-bezier(0.2, 0, 1, 0.9);\\n transition: transform 70ms cubic-bezier(0.2, 0, 1, 0.9), -webkit-transform 70ms cubic-bezier(0.2, 0, 1, 0.9); }\\n\\n.bx--toggle__text--off,\\n.bx--toggle__text--on {\\n position: absolute;\\n margin-left: 3.5rem;\\n font-size: 0.875rem;\\n font-weight: 400;\\n line-height: 1.125rem;\\n letter-spacing: 0.16px;\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n -ms-user-select: none;\\n user-select: none; }\\n\\n.bx--toggle-input:checked\\n+ .bx--toggle-input__label\\n> .bx--toggle__switch\\n> .bx--toggle__text--off,\\n.bx--toggle-input:not(:checked)\\n+ .bx--toggle-input__label\\n> .bx--toggle__switch\\n> .bx--toggle__text--on {\\n visibility: hidden; }\\n\\n.bx--toggle-input:checked\\n+ .bx--toggle-input__label\\n> .bx--toggle__switch::before {\\n background-color: #24a148; }\\n\\n.bx--toggle-input:checked\\n+ .bx--toggle-input__label\\n> .bx--toggle__switch::after {\\n background-color: #ffffff;\\n -webkit-transform: translateX(24px);\\n transform: translateX(24px); }\\n\\n.bx--toggle-input:focus\\n+ .bx--toggle-input__label\\n> .bx--toggle__switch::before,\\n.bx--toggle-input:active\\n+ .bx--toggle-input__label\\n> .bx--toggle__switch::before {\\n -webkit-box-shadow: 0 0 0 2px #0062ff;\\n box-shadow: 0 0 0 2px #0062ff; }\\n\\n.bx--toggle-input:disabled + .bx--toggle-input__label {\\n cursor: not-allowed; }\\n\\n.bx--toggle-input:disabled\\n+ .bx--toggle-input__label\\n> .bx--toggle__switch {\\n cursor: not-allowed; }\\n .bx--toggle-input:disabled\\n+ .bx--toggle-input__label\\n> .bx--toggle__switch::before {\\n background-color: #f3f3f3; }\\n .bx--toggle-input:disabled\\n+ .bx--toggle-input__label\\n> .bx--toggle__switch::after {\\n background-color: #bebebe; }\\n .bx--toggle-input:disabled\\n+ .bx--toggle-input__label\\n> .bx--toggle__switch::before, .bx--toggle-input:disabled\\n+ .bx--toggle-input__label\\n> .bx--toggle__switch::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-input:disabled + .bx--toggle-input__label {\\n color: #bebebe; }\\n\\n.bx--toggle-input:disabled:active\\n+ .bx--toggle-input__label\\n> .bx--toggle__switch::before {\\n -webkit-box-shadow: none;\\n box-shadow: none; }\\n\\n.bx--toggle-input--small + .bx--toggle-input__label > .bx--toggle__switch {\\n width: 2rem;\\n height: 1rem; }\\n .bx--toggle-input--small + .bx--toggle-input__label > .bx--toggle__switch::before {\\n width: 2rem;\\n height: 1rem;\\n border-radius: 0.9375rem; }\\n .bx--toggle-input--small + .bx--toggle-input__label > .bx--toggle__switch::after {\\n width: 0.625rem;\\n height: 0.625rem; }\\n\\n.bx--toggle-input--small + .bx--toggle-input__label .bx--toggle__text--off,\\n.bx--toggle-input--small + .bx--toggle-input__label .bx--toggle__text--on {\\n margin-left: 2.5rem; }\\n\\n.bx--toggle-input--small:checked + .bx--toggle-input__label > .bx--toggle__switch::after {\\n -webkit-transform: translateX(17px);\\n transform: translateX(17px); }\\n\\n.bx--toggle-input--small:checked + .bx--toggle-input__label .bx--toggle__check {\\n fill: #24a148;\\n -webkit-transform: scale(1) translateX(16px);\\n transform: scale(1) translateX(16px); }\\n\\n.bx--toggle-input--small:disabled:checked\\n+ .bx--toggle-input__label\\n.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-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 110ms cubic-bezier(0.2, 0, 0.38, 0.9), outline 110ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: background-color 110ms cubic-bezier(0.2, 0, 0.38, 0.9), outline 110ms cubic-bezier(0.2, 0, 0.38, 0.9);\\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-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-size: 1rem;\\n font-weight: 400;\\n line-height: 1.375rem;\\n letter-spacing: 0;\\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 pointer-events: none; }\\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 position: absolute;\\n right: 0; }\\n .bx--search-close::-moz-focus-inner {\\n border: 0; }\\n .bx--search-close::before {\\n content: '';\\n display: block;\\n position: absolute;\\n left: 0;\\n top: 0.0625rem;\\n height: calc(100% - 2px);\\n width: 2px;\\n background-color: #f3f3f3;\\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 .bx--search-close:hover {\\n border-bottom: 1px solid #8c8c8c; }\\n\\n.bx--search-button {\\n -ms-flex-negative: 0;\\n flex-shrink: 0;\\n margin-left: 0.125rem;\\n background-color: #f3f3f3; }\\n .bx--search-button svg {\\n vertical-align: middle;\\n fill: currentColor; }\\n\\n.bx--search-close,\\n.bx--search-button {\\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 cubic-bezier(0.2, 0, 0.38, 0.9), background-color 110ms cubic-bezier(0.2, 0, 0.38, 0.9), outline 110ms cubic-bezier(0.2, 0, 0.38, 0.9), border 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), outline 110ms cubic-bezier(0.2, 0, 0.38, 0.9), border 110ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n cursor: pointer;\\n visibility: visible;\\n opacity: 1;\\n height: 2.5rem;\\n width: 2.5rem;\\n fill: #171717;\\n border: 1px solid transparent;\\n border-left: 0; }\\n .bx--search-close:hover,\\n .bx--search-button:hover {\\n background-color: #e5e5e5; }\\n .bx--search-close:focus,\\n .bx--search-button:focus {\\n outline: 2px solid #0062ff;\\n outline-offset: -2px; }\\n .bx--search-close:active,\\n .bx--search-button:active {\\n outline: 2px solid #0062ff;\\n outline-offset: -2px;\\n background-color: #dcdcdc; }\\n\\n.bx--search-close:hover::before {\\n background-color: #e5e5e5; }\\n\\n.bx--search-close:focus::before,\\n.bx--search-close:active::before {\\n background-color: #0062ff; }\\n\\n.bx--search-input:focus ~ .bx--search-close:hover {\\n outline: 2px solid #0062ff;\\n outline-offset: -2px; }\\n\\n.bx--search--sm .bx--search-close,\\n.bx--search--sm ~ .bx--search-button {\\n height: 2rem;\\n width: 2rem; }\\n\\n.bx--search--xl .bx--search-close,\\n.bx--search--xl ~ .bx--search-button {\\n height: 3rem;\\n width: 3rem; }\\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: #e5e5e5;\\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 background: #bebebe;\\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-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: background-color 70ms cubic-bezier(0.2, 0, 0.38, 0.9), outline 70ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: background-color 70ms cubic-bezier(0.2, 0, 0.38, 0.9), outline 70ms cubic-bezier(0.2, 0, 0.38, 0.9); }\\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]\\n.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]\\n.bx--select-input\\n~ .bx--select__invalid-icon {\\n position: absolute;\\n right: 2.125rem; }\\n\\n.bx--select-input__wrapper[data-invalid]\\n.bx--select-input\\n~ .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\\n.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\\n.bx--select-input {\\n padding-right: 3.125rem; }\\n\\n.bx--select--inline.bx--select--invalid\\n.bx--select-input\\n~ .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: #e5e5e5;\\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 background: #bebebe;\\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-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: background-color 70ms cubic-bezier(0.2, 0, 0.38, 0.9), outline 70ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: background-color 70ms cubic-bezier(0.2, 0, 0.38, 0.9), outline 70ms cubic-bezier(0.2, 0, 0.38, 0.9); }\\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 width: 100%; }\\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: 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 position: absolute;\\n height: 1rem;\\n width: 1rem;\\n right: 1rem;\\n padding: 0;\\n border: 0;\\n background: none;\\n cursor: pointer; }\\n .bx--text-input__field-wrapper .bx--text-input--password__visibility:focus {\\n outline: 1px solid transparent; }\\n .bx--text-input__field-wrapper .bx--text-input--password__visibility:focus svg {\\n outline: 1px solid #0062ff; }\\n .bx--text-input__field-wrapper .bx--text-input--password__visibility::before, .bx--text-input__field-wrapper .bx--text-input--password__visibility::after,\\n .bx--text-input__field-wrapper .bx--text-input--password__visibility .bx--assistive-text,\\n .bx--text-input__field-wrapper .bx--text-input--password__visibility + .bx--assistive-text {\\n font-size: 0.875rem;\\n font-weight: 400;\\n line-height: 1.125rem;\\n letter-spacing: 0.16px;\\n position: absolute;\\n z-index: 10000;\\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 opacity: 0;\\n pointer-events: none; }\\n .bx--text-input__field-wrapper .bx--text-input--password__visibility::before, .bx--text-input__field-wrapper .bx--text-input--password__visibility::after {\\n -webkit-transition: opacity 70ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: opacity 70ms cubic-bezier(0.2, 0, 0.38, 0.9); }\\n .bx--text-input__field-wrapper .bx--text-input--password__visibility.bx--tooltip--a11y::before, .bx--text-input__field-wrapper .bx--text-input--password__visibility.bx--tooltip--a11y::after {\\n -webkit-transition: none;\\n transition: none; }\\n .bx--text-input__field-wrapper .bx--text-input--password__visibility::before {\\n width: 0;\\n height: 0;\\n border-style: solid;\\n content: ''; }\\n .bx--text-input__field-wrapper .bx--text-input--password__visibility .bx--assistive-text,\\n .bx--text-input__field-wrapper .bx--text-input--password__visibility + .bx--assistive-text {\\n -webkit-box-sizing: content-box;\\n box-sizing: content-box;\\n color: inherit;\\n opacity: 1;\\n white-space: normal; }\\n .bx--text-input__field-wrapper .bx--text-input--password__visibility::after,\\n .bx--text-input__field-wrapper .bx--text-input--password__visibility:hover .bx--assistive-text,\\n .bx--text-input__field-wrapper .bx--text-input--password__visibility:focus .bx--assistive-text,\\n .bx--text-input__field-wrapper .bx--text-input--password__visibility:hover + .bx--assistive-text,\\n .bx--text-input__field-wrapper .bx--text-input--password__visibility:focus + .bx--assistive-text {\\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 width: -webkit-max-content;\\n width: -moz-max-content;\\n width: max-content;\\n max-width: 13rem;\\n height: auto;\\n padding: 0.125rem 1rem;\\n border-radius: 0.125rem;\\n color: #ffffff;\\n font-weight: 400;\\n text-align: left;\\n -webkit-transform: translateX(-50%);\\n transform: translateX(-50%);\\n pointer-events: none;\\n background-color: #3d3d3d; }\\n .bx--text-input__field-wrapper .bx--text-input--password__visibility::after {\\n content: attr(aria-label); }\\n .bx--text-input__field-wrapper .bx--text-input--password__visibility.bx--tooltip--a11y::after {\\n content: none; }\\n .bx--text-input__field-wrapper .bx--text-input--password__visibility:hover::before, .bx--text-input__field-wrapper .bx--text-input--password__visibility:hover::after, .bx--text-input__field-wrapper .bx--text-input--password__visibility:focus::before, .bx--text-input__field-wrapper .bx--text-input--password__visibility:focus::after {\\n opacity: 1; }\\n\\n@keyframes tooltip-fade {\\n from {\\n opacity: 0; }\\n to {\\n opacity: 1; } }\\n .bx--text-input__field-wrapper .bx--text-input--password__visibility:hover .bx--assistive-text,\\n .bx--text-input__field-wrapper .bx--text-input--password__visibility:hover + .bx--assistive-text, .bx--text-input__field-wrapper .bx--text-input--password__visibility:focus .bx--assistive-text,\\n .bx--text-input__field-wrapper .bx--text-input--password__visibility:focus + .bx--assistive-text {\\n clip: auto;\\n margin: auto;\\n overflow: visible; }\\n .bx--text-input__field-wrapper .bx--text-input--password__visibility:hover .bx--assistive-text,\\n .bx--text-input__field-wrapper .bx--text-input--password__visibility:hover + .bx--assistive-text, .bx--text-input__field-wrapper .bx--text-input--password__visibility:hover.bx--tooltip--a11y::before, .bx--text-input__field-wrapper .bx--text-input--password__visibility:focus .bx--assistive-text,\\n .bx--text-input__field-wrapper .bx--text-input--password__visibility:focus + .bx--assistive-text, .bx--text-input__field-wrapper .bx--text-input--password__visibility:focus.bx--tooltip--a11y::before {\\n -webkit-animation: tooltip-fade 70ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n animation: tooltip-fade 70ms cubic-bezier(0.2, 0, 0.38, 0.9); }\\n .bx--text-input__field-wrapper .bx--text-input--password__visibility::before, .bx--text-input__field-wrapper .bx--text-input--password__visibility::after,\\n .bx--text-input__field-wrapper .bx--text-input--password__visibility:hover .bx--assistive-text,\\n .bx--text-input__field-wrapper .bx--text-input--password__visibility:focus .bx--assistive-text,\\n .bx--text-input__field-wrapper .bx--text-input--password__visibility:hover + .bx--assistive-text,\\n .bx--text-input__field-wrapper .bx--text-input--password__visibility:focus + .bx--assistive-text {\\n bottom: 0;\\n left: 50%; }\\n .bx--text-input__field-wrapper .bx--text-input--password__visibility::before {\\n border-width: 0 0.25rem 0.3125rem 0.25rem;\\n border-color: transparent transparent #3d3d3d transparent;\\n -webkit-transform: translate(-50%, calc(0.3125rem + 0.5rem));\\n transform: translate(-50%, calc(0.3125rem + 0.5rem)); }\\n .bx--text-input__field-wrapper .bx--text-input--password__visibility::after,\\n .bx--text-input__field-wrapper .bx--text-input--password__visibility:hover .bx--assistive-text,\\n .bx--text-input__field-wrapper .bx--text-input--password__visibility:focus .bx--assistive-text,\\n .bx--text-input__field-wrapper .bx--text-input--password__visibility:hover + .bx--assistive-text,\\n .bx--text-input__field-wrapper .bx--text-input--password__visibility:focus + .bx--assistive-text {\\n -webkit-transform: translate(-50%, calc(100% + 0.5rem + 0.3125rem));\\n transform: translate(-50%, calc(100% + 0.5rem + 0.3125rem)); }\\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\\n+ .bx--text-input--password__visibility {\\n right: 2.5rem; }\\n\\n.bx--text-input:disabled\\n+ .bx--text-input--password__visibility\\nsvg {\\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-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: background-color 70ms cubic-bezier(0.2, 0, 0.38, 0.9), outline 70ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: background-color 70ms cubic-bezier(0.2, 0, 0.38, 0.9), outline 70ms cubic-bezier(0.2, 0, 0.38, 0.9); }\\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-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-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-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-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: #e5e5e5;\\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 background: #bebebe;\\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-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: background-color 70ms cubic-bezier(0.2, 0, 0.38, 0.9), outline 70ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: background-color 70ms cubic-bezier(0.2, 0, 0.38, 0.9), outline 70ms 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 ~ .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[type='number']:disabled,\\n.bx--number--readonly input[type='number'] {\\n cursor: not-allowed;\\n background-color: #f3f3f3;\\n color: #bebebe; }\\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--readonly .bx--number__control-btn {\\n display: none; }\\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: #e5e5e5;\\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 background: #bebebe;\\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-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 text-decoration: underline; }\\n .bx--link:active, .bx--link:active:visited {\\n color: #171717;\\n text-decoration: underline; }\\n .bx--link:focus {\\n outline: 1px solid #0062ff; }\\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:visited {\\n color: #0062ff; }\\n\\n.bx--link--visited {\\n color: #8a3ffc; }\\n\\n.bx--link--disabled {\\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-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 margin-left: 0.5rem;\\n padding-left: 0.5rem;\\n position: relative; }\\n\\n.bx--list__item:before {\\n position: absolute;\\n left: -0.5rem; }\\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\\n.bx--list--nested\\n> .bx--list__item:before,\\n.bx--list--ordered\\n.bx--list--nested\\n> .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\\nul.bx--list--nested\\n> .bx--list__item:before {\\n content: '\\\\0025AA'; }\\n\\n.bx--list--unordered\\nol.bx--list--nested\\n> .bx--list__item:before {\\n content: counter(listitem, lower-alpha) \\\".\\\"; }\\n\\n.bx--list--ordered > .bx--list__item:before {\\n content: counter(listitem) \\\".\\\"; }\\n\\n.bx--list--ordered ol.bx--list--nested {\\n counter-reset: ol-counter; }\\n\\n.bx--list--ordered\\nol.bx--list--nested\\n> .bx--list__item {\\n counter-increment: ol-counter; }\\n\\n.bx--list--ordered\\nol.bx--list--nested\\n> .bx--list__item:before {\\n content: counter(ol-counter, lower-alpha) \\\".\\\";\\n width: 0.6rem; }\\n\\n.bx--list--ordered\\nul.bx--list--nested\\n> .bx--list__item:before {\\n content: '\\\\0025AA'; }\\n\\n.bx--table-toolbar {\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n width: 100%;\\n background: #f3f3f3;\\n height: 3rem;\\n position: relative; }\\n\\n.bx--toolbar-content {\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n height: 3rem;\\n width: 100%;\\n -webkit-box-pack: end;\\n -ms-flex-pack: end;\\n justify-content: flex-end;\\n -webkit-transform: translate3d(0, 0, 0);\\n transform: translate3d(0, 0, 0);\\n -webkit-transition: -webkit-transform 110ms cubic-bezier(0.2, 0, 0.38, 0.9), -webkit-clip-path 110ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: -webkit-transform 110ms cubic-bezier(0.2, 0, 0.38, 0.9), -webkit-clip-path 110ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: transform 110ms cubic-bezier(0.2, 0, 0.38, 0.9), clip-path 110ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: transform 110ms cubic-bezier(0.2, 0, 0.38, 0.9), clip-path 110ms cubic-bezier(0.2, 0, 0.38, 0.9), -webkit-transform 110ms cubic-bezier(0.2, 0, 0.38, 0.9), -webkit-clip-path 110ms cubic-bezier(0.2, 0, 0.38, 0.9); }\\n\\n.bx--batch-actions ~ .bx--toolbar-content {\\n -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);\\n clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%); }\\n\\n.bx--toolbar-content .bx--search .bx--search-input {\\n background-color: transparent; }\\n\\n.bx--batch-actions ~ .bx--toolbar-search-container {\\n opacity: 1;\\n -webkit-transition: opacity 110ms;\\n transition: opacity 110ms;\\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--toolbar-search-container-expandable {\\n height: 3rem;\\n width: 3rem;\\n position: relative;\\n -webkit-transition: -webkit-box-flex 240ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: -webkit-box-flex 240ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: flex 240ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: flex 240ms cubic-bezier(0.2, 0, 0.38, 0.9), -webkit-box-flex 240ms cubic-bezier(0.2, 0, 0.38, 0.9), -ms-flex 240ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n -webkit-box-shadow: none;\\n box-shadow: none; }\\n\\n.bx--toolbar-search-container-expandable .bx--search {\\n width: 3rem;\\n height: 100%;\\n position: initial; }\\n\\n.bx--toolbar-search-container-expandable\\n.bx--search\\n.bx--search-magnifier {\\n height: 3rem;\\n width: 3rem;\\n padding: 1rem;\\n left: 0;\\n cursor: pointer;\\n pointer-events: all;\\n -webkit-transition: background 110ms cubic-bezier(0, 0, 0.38, 0.9);\\n transition: background 110ms cubic-bezier(0, 0, 0.38, 0.9); }\\n\\n.bx--toolbar-search-container-expandable\\n.bx--search\\n.bx--search-magnifier:focus {\\n outline: 2px solid #0062ff;\\n outline-offset: -2px; }\\n\\n.bx--toolbar-search-container-expandable\\n.bx--search\\n.bx--search-magnifier:hover {\\n background: #e5e5e5; }\\n\\n.bx--toolbar-search-container-expandable\\n.bx--search\\n.bx--search-input {\\n border: none;\\n height: 100%;\\n visibility: hidden;\\n padding: 0;\\n background-color: transparent; }\\n\\n.bx--toolbar-search-container-expandable\\n.bx--search\\n.bx--search-close {\\n height: 3rem;\\n width: 3rem; }\\n .bx--toolbar-search-container-expandable\\n.bx--search\\n.bx--search-close:before {\\n top: 2px;\\n height: calc(100% - 4px);\\n background-color: #e5e5e5; }\\n\\n.bx--toolbar-search-container-active {\\n -webkit-box-flex: 1;\\n -ms-flex: auto;\\n flex: auto;\\n -webkit-transition: -webkit-box-flex 150ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: -webkit-box-flex 150ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: flex 150ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: flex 150ms cubic-bezier(0.2, 0, 0.38, 0.9), -webkit-box-flex 150ms cubic-bezier(0.2, 0, 0.38, 0.9), -ms-flex 150ms cubic-bezier(0.2, 0, 0.38, 0.9); }\\n\\n.bx--toolbar-search-container-active .bx--search {\\n width: 100%; }\\n\\n.bx--toolbar-search-container-active\\n.bx--search\\n.bx--search-input {\\n padding-left: 3rem;\\n visibility: visible; }\\n\\n.bx--toolbar-search-container-active\\n.bx--search\\n.bx--search-input:focus {\\n outline: 2px solid #0062ff;\\n outline-offset: -2px; }\\n\\n.bx--toolbar-search-container-active\\n.bx--search\\n.bx--search-input:focus\\n+ .bx--search-close {\\n border: none;\\n -webkit-box-shadow: none;\\n box-shadow: none;\\n outline: none; }\\n\\n.bx--toolbar-search-container-active\\n.bx--search\\n.bx--search-input:not(:placeholder-shown) {\\n background: #e5e5e5;\\n border: none; }\\n\\n.bx--toolbar-search-container-active\\n.bx--search\\n.bx--search-magnifier:focus,\\n.bx--toolbar-search-container-active\\n.bx--search\\n.bx--search-magnifier:active,\\n.bx--toolbar-search-container-active\\n.bx--search\\n.bx--search-magnifier:hover {\\n outline: none;\\n border: none;\\n background: transparent; }\\n\\n.bx--toolbar-search-container-persistent .bx--search-close,\\n.bx--toolbar-search-container-persistent\\n.bx--search-close:hover,\\n.bx--toolbar-search-container-active\\n.bx--search\\n.bx--search-close,\\n.bx--toolbar-search-container-active\\n.bx--search\\n.bx--search-close:hover {\\n border: none;\\n background-color: transparent; }\\n\\n.bx--overflow-menu.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 display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n cursor: pointer;\\n height: 3rem;\\n width: 3rem;\\n padding: 1rem;\\n -webkit-transition: background 110ms cubic-bezier(0, 0, 0.38, 0.9);\\n transition: background 110ms cubic-bezier(0, 0, 0.38, 0.9); }\\n .bx--overflow-menu.bx--toolbar-action::-moz-focus-inner {\\n border: 0; }\\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 display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n cursor: pointer;\\n height: 3rem;\\n width: 3rem;\\n -webkit-transition: background 110ms cubic-bezier(0, 0, 0.38, 0.9);\\n transition: background 110ms cubic-bezier(0, 0, 0.38, 0.9); }\\n .bx--toolbar-action::-moz-focus-inner {\\n border: 0; }\\n\\n.bx--toolbar-action:hover:not([disabled]) {\\n background: #e5e5e5; }\\n\\n.bx--toolbar-action:hover[aria-expanded='true'] {\\n background: #f3f3f3; }\\n\\n.bx--toolbar-action[disabled] {\\n cursor: not-allowed; }\\n\\n.bx--toolbar-action[disabled] .bx--toolbar-action__icon {\\n fill: #bebebe;\\n cursor: not-allowed; }\\n\\n.bx--toolbar-action:focus:not([disabled]),\\n.bx--toolbar-action:active:not([disabled]) {\\n outline: 2px solid #0062ff;\\n outline-offset: -2px; }\\n\\n.bx--toolbar-action ~ .bx--btn {\\n margin: 0;\\n height: 3rem; }\\n\\n.bx--overflow-menu--data-table {\\n height: 3rem; }\\n\\n.bx--toolbar-action__icon {\\n height: 1rem;\\n width: auto;\\n max-width: 1rem;\\n fill: #171717; }\\n\\n.bx--toolbar-search-container-persistent {\\n width: 100%;\\n height: 3rem;\\n opacity: 1;\\n position: relative; }\\n\\n.bx--toolbar-search-container-persistent\\n+ .bx--toolbar-content {\\n position: relative;\\n width: auto; }\\n\\n.bx--toolbar-search-container-persistent .bx--search {\\n position: initial; }\\n\\n.bx--toolbar-search-container-persistent\\n.bx--search\\n.bx--search-magnifier {\\n left: 1rem; }\\n\\n.bx--toolbar-search-container-persistent\\n.bx--search\\n.bx--search-input {\\n height: 3rem;\\n padding-left: 3rem;\\n border: none; }\\n\\n.bx--toolbar-search-container-persistent\\n.bx--search\\n.bx--search-input:focus:not([disabled]) {\\n outline: 2px solid #0062ff;\\n outline-offset: -2px; }\\n\\n.bx--toolbar-search-container-persistent\\n.bx--search\\n.bx--search-input:hover:not([disabled]) {\\n background: #e5e5e5; }\\n\\n.bx--toolbar-search-container-persistent\\n.bx--search\\n.bx--search-input:active:not([disabled]),\\n.bx--toolbar-search-container-persistent\\n.bx--search\\n.bx--search-input:not(:placeholder-shown) {\\n background: #e5e5e5; }\\n\\n.bx--toolbar-search-container-persistent\\n.bx--search\\n.bx--search-close {\\n height: 3rem;\\n width: 3rem; }\\n\\n.bx--batch-actions--active ~ .bx--toolbar-search-container,\\n.bx--batch-actions--active ~ .bx--toolbar-content {\\n -webkit-clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);\\n clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);\\n -webkit-transform: translate3d(0, 48px, 0);\\n transform: translate3d(0, 48px, 0);\\n -webkit-transition: -webkit-transform 110ms cubic-bezier(0.2, 0, 0.38, 0.9), -webkit-clip-path 110ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: -webkit-transform 110ms cubic-bezier(0.2, 0, 0.38, 0.9), -webkit-clip-path 110ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: transform 110ms cubic-bezier(0.2, 0, 0.38, 0.9), clip-path 110ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: transform 110ms cubic-bezier(0.2, 0, 0.38, 0.9), clip-path 110ms cubic-bezier(0.2, 0, 0.38, 0.9), -webkit-transform 110ms cubic-bezier(0.2, 0, 0.38, 0.9), -webkit-clip-path 110ms cubic-bezier(0.2, 0, 0.38, 0.9); }\\n\\n.bx--batch-actions {\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n position: absolute;\\n top: 0;\\n left: 0;\\n -webkit-box-align: center;\\n -ms-flex-align: center;\\n align-items: center;\\n padding-left: 1.5rem;\\n padding-right: 1.5rem;\\n width: 100%;\\n height: 100%;\\n pointer-events: none;\\n -webkit-clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);\\n clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);\\n will-change: transform;\\n background-color: #0062ff;\\n -webkit-transition: opacity 110ms cubic-bezier(0.2, 0, 0.38, 0.9), -webkit-transform 110ms cubic-bezier(0.2, 0, 0.38, 0.9), -webkit-clip-path 110ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: opacity 110ms cubic-bezier(0.2, 0, 0.38, 0.9), -webkit-transform 110ms cubic-bezier(0.2, 0, 0.38, 0.9), -webkit-clip-path 110ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: transform 110ms cubic-bezier(0.2, 0, 0.38, 0.9), clip-path 110ms cubic-bezier(0.2, 0, 0.38, 0.9), opacity 110ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: transform 110ms cubic-bezier(0.2, 0, 0.38, 0.9), clip-path 110ms cubic-bezier(0.2, 0, 0.38, 0.9), opacity 110ms cubic-bezier(0.2, 0, 0.38, 0.9), -webkit-transform 110ms cubic-bezier(0.2, 0, 0.38, 0.9), -webkit-clip-path 110ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n -webkit-transform: translate3d(0, 48px, 0);\\n transform: translate3d(0, 48px, 0); }\\n\\n.bx--batch-actions:focus {\\n outline: 1px solid #0062ff; }\\n\\n.bx--batch-actions--active {\\n -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);\\n clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);\\n pointer-events: all;\\n -webkit-transform: translate3d(0, 0, 0);\\n transform: translate3d(0, 0, 0); }\\n\\n.bx--action-list {\\n position: absolute;\\n top: 0;\\n right: 0;\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex; }\\n\\n.bx--action-list .bx--btn {\\n color: #ffffff; }\\n\\n.bx--action-list .bx--btn .bx--btn__icon {\\n fill: #ffffff;\\n margin-left: 0.5rem; }\\n\\n.bx--action-list .bx--btn .bx--btn__icon .st0 {\\n fill: none; }\\n\\n.bx--batch-download {\\n padding: 0.0625rem; }\\n\\n.bx--action-list .bx--btn--primary:focus::before,\\n.bx--action-list .bx--btn--primary:focus::before,\\n.bx--action-list .bx--btn--primary::before,\\n.bx--action-list .bx--btn--primary::before,\\n.bx--action-list .bx--btn--primary:focus::after,\\n.bx--action-list .bx--btn--primary:focus::after,\\n.bx--action-list .bx--btn--primary::after,\\n.bx--action-list .bx--btn--primary::after {\\n display: none; }\\n\\n.bx--action-list .bx--btn--primary:focus {\\n outline: 2px solid #f3f3f3;\\n outline-offset: -0.125rem; }\\n\\n.bx--action-list .bx--btn {\\n min-width: 0; }\\n\\n.bx--action-list\\n.bx--btn--primary:nth-child(3):hover\\n+ .bx--btn--primary.bx--batch-summary__cancel::before,\\n.bx--action-list\\n.bx--btn--primary:nth-child(3):focus\\n+ .bx--btn--primary.bx--batch-summary__cancel::before {\\n opacity: 0; }\\n\\n.bx--btn--primary.bx--batch-summary__cancel::before {\\n display: block;\\n position: absolute;\\n opacity: 1;\\n top: 0.9375rem;\\n left: 0;\\n height: 1rem;\\n width: 0.0625rem;\\n content: '';\\n background-color: #ffffff;\\n border: none;\\n -webkit-transition: opacity 110ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: opacity 110ms cubic-bezier(0.2, 0, 0.38, 0.9); }\\n\\n.bx--btn--primary.bx--batch-summary__cancel:hover::before {\\n opacity: 0;\\n -webkit-transition: opacity 110ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: opacity 110ms cubic-bezier(0.2, 0, 0.38, 0.9); }\\n\\n.bx--batch-summary__cancel {\\n padding-right: 1rem;\\n position: relative; }\\n\\n.bx--batch-summary {\\n position: absolute;\\n left: 0;\\n margin-left: 1rem;\\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: #ffffff; }\\n\\n.bx--batch-summary__para {\\n font-size: 0.875rem;\\n font-weight: 400;\\n line-height: 1.125rem;\\n letter-spacing: 0.16px; }\\n\\n.bx--table-toolbar--small {\\n height: 2rem; }\\n .bx--table-toolbar--small .bx--toolbar-search-container-expandable,\\n .bx--table-toolbar--small .bx--toolbar-search-container-persistent {\\n height: 2rem; }\\n .bx--table-toolbar--small .bx--toolbar-search-container-expandable\\n.bx--search\\n.bx--search-input,\\n .bx--table-toolbar--small .bx--toolbar-search-container-persistent\\n.bx--search\\n.bx--search-input {\\n height: 2rem; }\\n .bx--table-toolbar--small .bx--toolbar-search-container-expandable\\n.bx--search\\n.bx--search-close,\\n .bx--table-toolbar--small .bx--toolbar-search-container-persistent\\n.bx--search\\n.bx--search-close {\\n height: 2rem;\\n width: 2rem; }\\n .bx--table-toolbar--small .bx--toolbar-search-container-expandable\\n.bx--search\\n.bx--search-magnifier,\\n .bx--table-toolbar--small .bx--toolbar-search-container-persistent\\n.bx--search\\n.bx--search-magnifier {\\n height: 2rem;\\n width: 2rem;\\n padding: 0.5rem; }\\n .bx--table-toolbar--small .bx--toolbar-search-container-expandable {\\n width: 2rem; }\\n .bx--table-toolbar--small .bx--toolbar-search-container-expandable\\n.bx--search\\n.bx--search-input {\\n padding-left: 2rem; }\\n .bx--table-toolbar--small .bx--toolbar-search-container-active {\\n -webkit-box-flex: 1;\\n -ms-flex: auto;\\n flex: auto;\\n -webkit-transition: -webkit-box-flex 175ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: -webkit-box-flex 175ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: flex 175ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: flex 175ms cubic-bezier(0.2, 0, 0.38, 0.9), -webkit-box-flex 175ms cubic-bezier(0.2, 0, 0.38, 0.9), -ms-flex 175ms cubic-bezier(0.2, 0, 0.38, 0.9); }\\n .bx--table-toolbar--small .bx--toolbar-search-container-active\\n.bx--search\\n.bx--search-input {\\n visibility: visible; }\\n .bx--table-toolbar--small .bx--toolbar-search-container-active\\n.bx--search\\n.bx--search-input:focus {\\n outline: 2px solid #0062ff;\\n outline-offset: -2px;\\n background: #e5e5e5; }\\n .bx--table-toolbar--small .bx--toolbar-search-container-active\\n.bx--search\\n.bx--search-input:active,\\n .bx--table-toolbar--small .bx--toolbar-search-container-active\\n.bx--search\\n.bx--search-input:not(:placeholder-shown) {\\n background: #e5e5e5; }\\n .bx--table-toolbar--small .bx--toolbar-search-container-active\\n.bx--search\\n.bx--search-magnifier:focus,\\n .bx--table-toolbar--small .bx--toolbar-search-container-active\\n.bx--search\\n.bx--search-magnifier:active,\\n .bx--table-toolbar--small .bx--toolbar-search-container-active\\n.bx--search\\n.bx--search-magnifier:hover {\\n outline: 2px solid transparent;\\n outline-offset: -2px;\\n background: transparent; }\\n\\n.bx--table-toolbar--small\\n.bx--batch-actions\\n.bx--action-list {\\n height: 2rem; }\\n\\n.bx--table-toolbar--small .bx--toolbar-action {\\n height: 2rem;\\n width: 2rem;\\n padding: 0.5rem; }\\n\\n.bx--table-toolbar--small .bx--btn--primary {\\n padding-top: 0.1875rem;\\n height: 2rem; }\\n\\n.bx--table-toolbar--small\\n.bx--btn--primary.bx--batch-summary__cancel::before {\\n top: 0.5rem; }\\n\\n.bx--table-toolbar--small\\n.bx--toolbar-action\\n~ .bx--btn {\\n height: 2rem;\\n width: 10rem;\\n overflow: hidden; }\\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 padding: 1rem 0 1.5rem 1rem; }\\n\\n.bx--data-table-header__title {\\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-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-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-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,\\n.bx--data-table tbody tr td,\\n.bx--data-table tbody tr th {\\n -webkit-transition: background-color 70ms cubic-bezier(0, 0, 0.38, 0.9);\\n transition: background-color 70ms cubic-bezier(0, 0, 0.38, 0.9); }\\n\\n.bx--data-table tbody tr:hover {\\n background: #e5e5e5; }\\n\\n.bx--data-table tbody tr:hover td,\\n.bx--data-table tbody tr:hover th {\\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\\n.bx--data-table th:first-of-type:not(.bx--table-expand th) {\\n padding-left: 1rem; }\\n\\n.bx--data-table th:last-of-type {\\n position: relative;\\n width: auto; }\\n\\n.bx--data-table .bx--table-header-label {\\n display: block;\\n padding: 0.875rem 0;\\n text-align: left; }\\n\\n.bx--data-table td,\\n.bx--data-table tbody th {\\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 .bx--data-table td + td:first-of-type,\\n .bx--data-table tbody th + td:first-of-type {\\n padding-left: 0.75rem; }\\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 width: 3.25rem;\\n min-width: 3.25rem;\\n padding-top: 0.5rem;\\n padding-right: 0.5rem; }\\n\\n.bx--data-table td.bx--table-column-menu {\\n padding-bottom: 0; }\\n\\n.bx--data-table\\ntd.bx--table-column-menu\\n.bx--overflow-menu[aria-expanded='false']:hover {\\n background: #dcdcdc; }\\n\\n.bx--data-table\\ntd.bx--table-column-menu\\n.bx--overflow-menu[aria-expanded='false']:focus {\\n outline: 2px solid #0062ff;\\n outline-offset: -2px; }\\n\\n.bx--data-table\\ntd.bx--table-column-menu\\n.bx--overflow-menu[aria-expanded='true']:focus {\\n outline: none; }\\n\\n@media screen and (hover: hover), (-ms-high-contrast: active), (-ms-high-contrast: none) {\\n .bx--data-table\\ntd.bx--table-column-menu\\n.bx--overflow-menu\\n.bx--overflow-menu__icon {\\n opacity: 0; } }\\n\\n.bx--data-table.bx--data-table--visible-overflow-menu\\ntd.bx--table-column-menu\\n.bx--overflow-menu\\n.bx--overflow-menu__icon,\\n.bx--data-table\\ntd.bx--table-column-menu\\n.bx--overflow-menu:hover\\n.bx--overflow-menu__icon,\\n.bx--data-table\\ntd.bx--table-column-menu\\n.bx--overflow-menu:focus\\n.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-row--menu-option\\n.bx--overflow-menu-options__btn\\n.bx--overflow-menu-options__option-content\\nsvg {\\n margin-right: 0.5rem;\\n position: relative;\\n top: 0.1875rem; }\\n\\n.bx--data-table--zebra tbody tr:nth-child(even) td {\\n border-bottom: 1px solid #f3f3f3; }\\n\\n.bx--data-table--zebra tbody tr:nth-child(odd) td {\\n background-color: #ffffff;\\n border-bottom: 1px solid #ffffff;\\n border-top: 1px solid #ffffff; }\\n\\n.bx--data-table--zebra tbody tr:hover td {\\n background-color: #e5e5e5;\\n border-bottom: 1px solid #e5e5e5;\\n border-top: 1px solid #e5e5e5; }\\n\\n.bx--table-column-checkbox .bx--checkbox-label {\\n padding-left: 1rem; }\\n\\n.bx--data-table th.bx--table-column-checkbox {\\n position: relative;\\n background: #dcdcdc;\\n padding: 0.75rem 0.5rem 0 1rem;\\n width: 2.75rem;\\n -webkit-transition: background-color 70ms cubic-bezier(0, 0, 0.38, 0.9);\\n transition: background-color 70ms cubic-bezier(0, 0, 0.38, 0.9); }\\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\\n.bx--data-table--zebra\\ntbody\\ntr:nth-child(odd).bx--data-table--selected\\ntd,\\ntr.bx--data-table--selected td {\\n color: #171717;\\n background-color: #dcdcdc;\\n border-top: 1px solid #dcdcdc;\\n border-bottom: 1px solid #bebebe; }\\n\\n.bx--data-table--zebra\\ntbody\\ntr:first-of-type:nth-child(odd).bx--data-table--selected\\ntd,\\ntr.bx--data-table--selected:first-of-type td {\\n border-top: 1px solid #bebebe; }\\n\\n.bx--data-table--zebra\\ntbody\\ntr:last-of-type:nth-child(odd).bx--data-table--selected\\ntd,\\n.bx--data-table--zebra\\ntbody\\ntr:last-of-type:nth-child(even).bx--data-table--selected\\ntd,\\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--zebra\\ntbody\\ntr:nth-child(even).bx--data-table--selected\\ntd {\\n border-bottom: 1px solid #bebebe; }\\n\\n.bx--data-table--zebra\\ntbody\\ntr:nth-child(even).bx--data-table--selected:hover\\ntd {\\n border-bottom: 1px solid #cacaca; }\\n\\n.bx--data-table--zebra\\ntbody\\ntr:nth-child(odd).bx--data-table--selected:hover\\ntd,\\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\\n.bx--overflow-menu\\n.bx--overflow-menu__icon {\\n opacity: 1; }\\n\\n.bx--data-table--compact thead tr,\\n.bx--data-table--compact tbody tr {\\n height: 1.5rem; }\\n\\n.bx--data-table--compact .bx--table-header-label {\\n padding: 0.125rem 0; }\\n\\n.bx--data-table--compact td {\\n padding-top: 0.125rem;\\n padding-bottom: 0.125rem; }\\n\\n.bx--data-table--compact .bx--overflow-menu {\\n width: 2rem;\\n height: 1.4375rem; }\\n\\n.bx--data-table.bx--data-table--compact\\n.bx--table-column-menu {\\n padding-top: 0; }\\n\\n.bx--data-table.bx--data-table--compact\\n.bx--table-column-checkbox {\\n padding-top: 0;\\n padding-bottom: 0; }\\n\\n.bx--data-table.bx--data-table--compact\\n.bx--table-column-checkbox\\n.bx--checkbox-label {\\n min-height: 1.4375rem;\\n height: 1.4375rem; }\\n\\n.bx--data-table--short thead tr,\\n.bx--data-table--short tbody tr {\\n height: 2rem; }\\n\\n.bx--data-table--short .bx--table-header-label {\\n padding: 0.4375rem 0; }\\n\\n.bx--data-table--short td {\\n padding-top: 0.4375rem;\\n padding-bottom: 0.375rem; }\\n\\n.bx--data-table--short .bx--overflow-menu {\\n height: 1.9375rem; }\\n\\n.bx--data-table.bx--data-table--short\\n.bx--table-column-menu {\\n padding-top: 0; }\\n\\n.bx--data-table.bx--data-table--short\\n.bx--table-column-checkbox {\\n padding-top: 0.1875rem;\\n padding-bottom: 0.1875rem; }\\n\\n.bx--data-table--tall thead tr,\\n.bx--data-table--tall tbody tr {\\n height: 4rem; }\\n\\n.bx--data-table--tall .bx--table-header-label {\\n padding: 1rem 0; }\\n\\n.bx--data-table--tall td {\\n padding-top: 1rem; }\\n\\n.bx--data-table--cell-secondary-text {\\n font-size: 0.75rem;\\n font-weight: 400;\\n line-height: 1rem;\\n letter-spacing: 0.32px; }\\n\\n.bx--data-table.bx--data-table--tall\\n.bx--table-column-menu,\\n.bx--data-table.bx--data-table--tall\\n.bx--table-column-checkbox {\\n padding-top: 0.75rem; }\\n\\n.bx--data-table--static {\\n width: auto; }\\n\\n.bx--data-table_inner-container {\\n background-color: #dcdcdc;\\n padding-top: 3rem;\\n -webkit-transform: translateZ(0);\\n transform: translateZ(0); }\\n\\n.bx--data-table--sticky-header {\\n display: block;\\n overflow-y: scroll; }\\n .bx--data-table--sticky-header thead,\\n .bx--data-table--sticky-header tbody,\\n .bx--data-table--sticky-header tr,\\n .bx--data-table--sticky-header th,\\n .bx--data-table--sticky-header td {\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex; }\\n .bx--data-table--sticky-header thead {\\n position: fixed;\\n top: 0;\\n width: 100%;\\n overflow: scroll;\\n -ms-overflow-style: none;\\n will-change: transform; }\\n .bx--data-table--sticky-header thead tr th {\\n border-bottom: 1px solid #bebebe; }\\n .bx--data-table--sticky-header tbody {\\n -webkit-box-orient: vertical;\\n -webkit-box-direction: normal;\\n -ms-flex-direction: column;\\n flex-direction: column;\\n overflow-x: scroll;\\n -ms-overflow-style: none;\\n will-change: transform; }\\n .bx--data-table--sticky-header tr {\\n min-height: 3rem;\\n height: auto; }\\n .bx--data-table--sticky-header tr.bx--data-table--selected:first-of-type td {\\n border-top: none; }\\n .bx--data-table--sticky-header thead::-webkit-scrollbar,\\n .bx--data-table--sticky-header tbody::-webkit-scrollbar {\\n display: none; }\\n\\n@-moz-document url-prefix() {\\n .bx--data-table--sticky-header thead,\\n .bx--data-table--sticky-header tbody {\\n scrollbar-width: none; } }\\n .bx--data-table--sticky-header tbody tr:last-of-type {\\n border-bottom: 0; }\\n .bx--data-table--sticky-header th:not(.bx--table-column-checkbox):not(.bx--table-column-menu):not(.bx--table-expand-v2):not(.bx--table-column-icon),\\n .bx--data-table--sticky-header td:not(.bx--table-column-checkbox):not(.bx--table-column-menu):not(.bx--table-expand-v2):not(.bx--table-column-icon) {\\n width: 100%;\\n min-width: 0; }\\n .bx--data-table--sticky-header .bx--table-header-label {\\n max-width: calc(100% - 10px);\\n display: block;\\n overflow-x: hidden;\\n text-overflow: ellipsis;\\n white-space: nowrap; }\\n\\n.bx--data-table--max-width {\\n max-width: 56.25rem; }\\n\\n.bx--data-table--sticky-header {\\n max-height: 18.75rem; }\\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)\\n+ tr[data-child-row] {\\n height: 0;\\n -webkit-transition: height 150ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: height 150ms 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 padding-top: 0;\\n padding-bottom: 0;\\n border: 0;\\n background-color: #e5e5e5;\\n -webkit-transition: padding 150ms cubic-bezier(0.2, 0, 0.38, 0.9), background-color 150ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: padding 150ms cubic-bezier(0.2, 0, 0.38, 0.9), background-color 150ms 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 150ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: height 150ms 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 150ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: padding 150ms cubic-bezier(0.2, 0, 0.38, 0.9); }\\n\\ntr.bx--parent-row.bx--expandable-row\\n+ tr[data-child-row]\\ntd\\n.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)\\n+ tr[data-child-row]\\n> 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) td,\\ntr.bx--parent-row.bx--expandable-row td,\\ntr.bx--parent-row.bx--expandable-row {\\n -webkit-transition: height 240ms cubic-bezier(0.2, 0, 0.38, 0.9), background-color 110ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: height 240ms cubic-bezier(0.2, 0, 0.38, 0.9), background-color 110ms cubic-bezier(0.2, 0, 0.38, 0.9); }\\n\\ntr.bx--parent-row.bx--expandable-row + tr[data-child-row] td {\\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\\ntr.bx--parent-row:not(.bx--expandable-row):first-of-type:hover\\ntd {\\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\\n+ tr[data-child-row]\\ntd {\\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\\ntd: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 height: 3rem;\\n vertical-align: top;\\n padding: 0; }\\n\\n.bx--table-expand[data-previous-value='collapsed']\\n.bx--table-expand__svg {\\n -webkit-transform: rotate(270deg);\\n transform: rotate(270deg);\\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--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 -webkit-box-align: center;\\n -ms-flex-align: center;\\n align-items: center;\\n height: 100%;\\n width: 100%; }\\n .bx--table-expand__button::-moz-focus-inner {\\n border: 0; }\\n\\n.bx--data-table--short .bx--table-expand__button {\\n height: auto; }\\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 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\\nth.bx--table-expand {\\n position: relative;\\n vertical-align: middle; }\\n\\nth.bx--table-expand + th.bx--table-column-checkbox {\\n padding-left: 0.5rem; }\\n\\ntr.bx--parent-row.bx--expandable-row\\ntd.bx--table-expand\\n+ 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\\ntd.bx--table-expand\\n+ 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\\ntd.bx--table-expand\\n+ 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\\ntd {\\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\\ntd,\\ntr.bx--parent-row.bx--data-table--selected.bx--expandable-row\\ntd: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\\ntd,\\ntr.bx--parent-row.bx--data-table--selected.bx--expandable-row:hover\\ntd:first-of-type,\\ntr.bx--parent-row.bx--data-table--selected.bx--expandable-row--hover\\ntd,\\ntr.bx--parent-row.bx--data-table--selected.bx--expandable-row--hover\\ntd: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\\n+ tr[data-child-row]\\ntd {\\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\\n+ tr[data-child-row]\\ntd,\\ntr.bx--parent-row.bx--data-table--selected.bx--expandable-row--hover\\n+ tr[data-child-row]\\ntd {\\n background: #dcdcdc; }\\n\\n.bx--data-table--sort th,\\n.bx--data-table--sort\\nth:first-of-type:not(.bx--table-column-checkbox):not(.bx--table-expand) {\\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 background-color: #dcdcdc;\\n -webkit-transition: background-color 70ms cubic-bezier(0, 0, 0.38, 0.9), outline 70ms cubic-bezier(0, 0, 0.38, 0.9);\\n transition: background-color 70ms cubic-bezier(0, 0, 0.38, 0.9), outline 70ms cubic-bezier(0, 0, 0.38, 0.9); }\\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\\n.bx--table-sort__icon-unsorted {\\n display: none; }\\n\\n.bx--table-sort.bx--table-sort--active\\n.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--data-table--compact.bx--data-table--sort th {\\n height: 1.5rem; }\\n\\n.bx--data-table--compact.bx--data-table--sort\\nth\\n.bx--table-sort {\\n padding-top: 0;\\n padding-bottom: 0; }\\n\\n.bx--data-table--short.bx--data-table--sort th {\\n height: 2rem; }\\n\\n.bx--data-table--short.bx--data-table--sort\\nth\\n.bx--table-sort {\\n padding-top: 0;\\n padding-bottom: 0; }\\n\\n.bx--data-table--tall.bx--data-table--sort th {\\n height: 4rem; }\\n\\n.bx--data-table--tall.bx--data-table--sort\\nth\\n.bx--table-sort {\\n padding-top: 0;\\n padding-bottom: 0; }\\n\\n.bx--data-table--tall.bx--data-table--sort\\nth\\n.bx--table-sort\\nsvg {\\n -ms-flex-item-align: start;\\n align-self: flex-start;\\n top: 0.5rem; }\\n\\n.bx--data-table--tall.bx--data-table--sort\\nth\\n.bx--table-sort\\n.bx--table-header-label {\\n -ms-flex-item-align: start;\\n align-self: flex-start;\\n position: relative;\\n top: -0.5rem;\\n max-height: 3rem;\\n display: -webkit-box;\\n -webkit-line-clamp: 2;\\n -webkit-box-orient: vertical; }\\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--short input {\\n height: 2rem; }\\n\\n.bx--data-table--short select {\\n padding: 0.45rem 2.75rem 0.45rem 1rem; }\\n\\n.bx--data-table--short .bx--select__arrow {\\n top: 0.875rem; }\\n\\n.bx--data-table.bx--skeleton th {\\n border-bottom: 1px solid #0062ff;\\n vertical-align: middle; }\\n .bx--data-table.bx--skeleton th:nth-child(3n + 1) {\\n width: 10%; }\\n .bx--data-table.bx--skeleton th:nth-child(3n + 2) {\\n width: 30%; }\\n .bx--data-table.bx--skeleton th:nth-child(3n + 3) {\\n width: 15%; }\\n\\n.bx--data-table.bx--skeleton th span,\\n.bx--data-table.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: #e5e5e5;\\n width: 75%;\\n height: 1rem;\\n display: block; }\\n .bx--data-table.bx--skeleton th span:hover, .bx--data-table.bx--skeleton th span:focus, .bx--data-table.bx--skeleton th span:active,\\n .bx--data-table.bx--skeleton td span:hover,\\n .bx--data-table.bx--skeleton td span:focus,\\n .bx--data-table.bx--skeleton td span:active {\\n border: none;\\n outline: none;\\n cursor: default; }\\n .bx--data-table.bx--skeleton th span:before,\\n .bx--data-table.bx--skeleton td span:before {\\n content: '';\\n width: 0%;\\n height: 100%;\\n position: absolute;\\n top: 0;\\n left: 0;\\n background: #bebebe;\\n -webkit-animation: 3000ms ease-in-out skeleton infinite;\\n animation: 3000ms ease-in-out skeleton infinite; }\\n\\n.bx--data-table.bx--skeleton tr:hover td {\\n border-color: #dcdcdc;\\n background: transparent; }\\n .bx--data-table.bx--skeleton tr:hover td:first-of-type, .bx--data-table.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 -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--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\\n> .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-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-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 -webkit-transition: color 110ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: color 110ms cubic-bezier(0.2, 0, 0.38, 0.9); }\\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: 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--structured-list-row:hover .bx--structured-list-svg {\\n fill: #a4a4a4; }\\n\\n.bx--structured-list-input:checked\\n+ .bx--structured-list-row\\n.bx--structured-list-svg,\\n.bx--structured-list-input:checked\\n+ .bx--structured-list-td\\n.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: #e5e5e5;\\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 background: #bebebe;\\n -webkit-animation: 3000ms ease-in-out skeleton infinite;\\n animation: 3000ms ease-in-out skeleton infinite; }\\n\\n.bx--structured-list.bx--skeleton\\n.bx--structured-list-th\\nspan {\\n position: relative;\\n border: none;\\n padding: 0;\\n -webkit-box-shadow: none;\\n box-shadow: none;\\n pointer-events: none;\\n background: #e5e5e5;\\n width: 75%;\\n height: 1rem;\\n display: block; }\\n .bx--structured-list.bx--skeleton\\n.bx--structured-list-th\\nspan:hover, .bx--structured-list.bx--skeleton\\n.bx--structured-list-th\\nspan:focus, .bx--structured-list.bx--skeleton\\n.bx--structured-list-th\\nspan:active {\\n border: none;\\n outline: none;\\n cursor: default; }\\n .bx--structured-list.bx--skeleton\\n.bx--structured-list-th\\nspan:before {\\n content: '';\\n width: 0%;\\n height: 100%;\\n position: absolute;\\n top: 0;\\n left: 0;\\n background: #bebebe;\\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--selection.bx--skeleton\\n.bx--structured-list-th:first-child {\\n width: 5%; }\\n .bx--structured-list.bx--structured-list--selection.bx--skeleton\\n.bx--structured-list-th:first-child span {\\n display: none; }\\n\\n.bx--snippet code {\\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-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-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: auto;\\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-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(transparent), to(#f3f3f3));\\n background-image: linear-gradient(to right, transparent, #f3f3f3); }\\n\\n.bx--snippet--multi {\\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\\n.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\\n.bx--snippet-container\\npre {\\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(transparent), to(#f3f3f3));\\n background-image: linear-gradient(to right, transparent, #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-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\\n.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\\n.bx--snippet-btn--expand\\n.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: #e5e5e5;\\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 background: #bebebe;\\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: #e5e5e5;\\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 background: #bebebe;\\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\\n.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: #e5e5e5;\\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 background: #bebebe;\\n -webkit-animation: 3000ms ease-in-out skeleton infinite;\\n animation: 3000ms ease-in-out skeleton infinite; }\\n\\n.bx--overflow-menu__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 width: 100%; }\\n .bx--overflow-menu__trigger::-moz-focus-inner {\\n border: 0; }\\n\\n.bx--overflow-menu,\\n.bx--overflow-menu__trigger {\\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 .bx--overflow-menu__trigger:focus {\\n outline: 2px solid #0062ff;\\n outline-offset: -2px; }\\n .bx--overflow-menu:hover,\\n .bx--overflow-menu__trigger:hover {\\n background-color: #e5e5e5; }\\n\\n.bx--overflow-menu__trigger.bx--tooltip--a11y.bx--tooltip__trigger:focus {\\n outline: 2px solid #0062ff;\\n outline-offset: -2px; }\\n .bx--overflow-menu__trigger.bx--tooltip--a11y.bx--tooltip__trigger:focus svg {\\n outline: none; }\\n\\n.bx--overflow-menu.bx--overflow-menu--open,\\n.bx--overflow-menu.bx--overflow-menu--open\\n.bx--overflow-menu__trigger {\\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-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\\n.bx--overflow-menu-options__btn:hover,\\n.bx--overflow-menu-options__option--danger\\n.bx--overflow-menu-options__btn:focus {\\n color: #ffffff;\\n background-color: #da1e28; }\\n .bx--overflow-menu-options__option--danger\\n.bx--overflow-menu-options__btn:hover svg,\\n .bx--overflow-menu-options__option--danger\\n.bx--overflow-menu-options__btn:focus svg {\\n fill: #ffffff; }\\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\\n.bx--overflow-menu-options__btn {\\n color: #bebebe;\\n pointer-events: none; }\\n .bx--overflow-menu-options__option--disabled\\n.bx--overflow-menu-options__btn:hover, .bx--overflow-menu-options__option--disabled\\n.bx--overflow-menu-options__btn:active, .bx--overflow-menu-options__option--disabled\\n.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\\n.bx--overflow-menu-options__btn\\nsvg {\\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-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: -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 width: 100%;\\n height: 2.5rem;\\n padding: 0.5rem 1rem;\\n margin: 0;\\n white-space: nowrap;\\n overflow: hidden;\\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: #bebebe;\\n background-color: #f3f3f3;\\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\\n+ .bx--content-switcher-btn::before,\\n.bx--content-switcher-btn:focus::before,\\n.bx--content-switcher-btn:focus\\n+ .bx--content-switcher-btn::before,\\n.bx--content-switcher-btn:hover::before,\\n.bx--content-switcher-btn:hover\\n+ .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__label {\\n white-space: nowrap;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n max-width: 100%; }\\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: #8c8c8c;\\n color: #bebebe; }\\n\\n.bx--content-switcher-btn.bx--content-switcher--selected\\n.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-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-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-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\\n> .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-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-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-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\\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 outline: 2px solid #0062ff;\\n outline-offset: -2px;\\n background: #f3f3f3;\\n color: #171717; }\\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: auto; }\\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: #e5e5e5;\\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 background: #bebebe;\\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: #e5e5e5;\\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 background: #bebebe;\\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-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: 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--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-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-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: 9100;\\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 auto; }\\n\\n.bx--dropdown-item {\\n -webkit-transition: opacity 70ms cubic-bezier(0.2, 0, 0.38, 0.9), background-color 70ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: opacity 70ms cubic-bezier(0.2, 0, 0.38, 0.9), background-color 70ms 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 -webkit-transition: max-height 110ms cubic-bezier(0, 0, 0.38, 0.9);\\n transition: max-height 110ms cubic-bezier(0, 0, 0.38, 0.9); }\\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: #8c8c8c; }\\n .bx--dropdown--disabled .bx--dropdown__arrow {\\n fill: #8c8c8c; }\\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 width: auto;\\n height: 2rem;\\n background-color: #ffffff;\\n -webkit-transition: background 70ms cubic-bezier(0, 0, 0.38, 0.9);\\n transition: background 70ms cubic-bezier(0, 0, 0.38, 0.9); }\\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\\n.bx--dropdown-text {\\n color: #8c8c8c; }\\n\\n.bx--dropdown--inline.bx--dropdown--disabled:focus\\n.bx--dropdown-text {\\n outline: 0; }\\n\\n.bx--dropdown--inline.bx--dropdown--invalid\\n.bx--dropdown__invalid-icon {\\n right: 2rem; }\\n\\n.bx--dropdown--inline.bx--dropdown--invalid\\n.bx--dropdown-text {\\n padding-right: 3.5rem; }\\n\\n.bx--dropdown--inline.bx--dropdown--open:focus\\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\\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: #e5e5e5; }\\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 background: #bebebe;\\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 background-color: transparent;\\n opacity: 0;\\n visibility: hidden;\\n -webkit-transition: background-color 720ms cubic-bezier(0.4, 0.14, 1, 1), opacity 240ms cubic-bezier(0.4, 0.14, 1, 1), z-index 720ms cubic-bezier(0.4, 0.14, 1, 1), visibility 240ms cubic-bezier(0.4, 0.14, 1, 1);\\n transition: background-color 720ms cubic-bezier(0.4, 0.14, 1, 1), opacity 240ms cubic-bezier(0.4, 0.14, 1, 1), z-index 720ms cubic-bezier(0.4, 0.14, 1, 1), visibility 240ms cubic-bezier(0.4, 0.14, 1, 1); }\\n .bx--modal.is-visible {\\n z-index: 9000;\\n visibility: visible;\\n opacity: 1;\\n background-color: rgba(23, 23, 23, 0.5);\\n -webkit-transition: background-color 720ms cubic-bezier(0, 0, 0.3, 1), opacity 240ms cubic-bezier(0, 0, 0.3, 1), z-index 720ms cubic-bezier(0, 0, 0.3, 1), visibility 240ms cubic-bezier(0, 0, 0.3, 1);\\n transition: background-color 720ms cubic-bezier(0, 0, 0.3, 1), opacity 240ms cubic-bezier(0, 0, 0.3, 1), z-index 720ms cubic-bezier(0, 0, 0.3, 1), visibility 240ms cubic-bezier(0, 0, 0.3, 1); }\\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.is-visible .bx--modal-container {\\n -webkit-transition: -webkit-transform 240ms cubic-bezier(0, 0, 0.3, 1);\\n transition: -webkit-transform 240ms cubic-bezier(0, 0, 0.3, 1);\\n transition: transform 240ms cubic-bezier(0, 0, 0.3, 1);\\n transition: transform 240ms cubic-bezier(0, 0, 0.3, 1), -webkit-transform 240ms cubic-bezier(0, 0, 0.3, 1);\\n -webkit-transform: translate3d(0, 0, 0);\\n transform: translate3d(0, 0, 0); }\\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 height: 100%;\\n max-height: 100%;\\n overflow: hidden;\\n -webkit-transform-origin: top center;\\n transform-origin: top center;\\n -webkit-transform: translate3d(0, -24px, 0);\\n transform: translate3d(0, -24px, 0);\\n -webkit-transition: -webkit-transform 240ms cubic-bezier(0.4, 0.14, 1, 1);\\n transition: -webkit-transform 240ms cubic-bezier(0.4, 0.14, 1, 1);\\n transition: transform 240ms cubic-bezier(0.4, 0.14, 1, 1);\\n transition: transform 240ms cubic-bezier(0.4, 0.14, 1, 1), -webkit-transform 240ms cubic-bezier(0.4, 0.14, 1, 1); }\\n @media (min-width: 42rem) {\\n .bx--modal-container {\\n width: 50%;\\n max-width: 768px;\\n max-height: 90%;\\n height: auto; } }\\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-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-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-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-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 -webkit-box-flex: 1;\\n -ms-flex: 1;\\n flex: 1;\\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 -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 .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--body--with-modal-open {\\n overflow: hidden; }\\n\\n.bx--multi-select .bx--list-box__menu {\\n min-width: auto; }\\n\\n.bx--multi-select\\n.bx--list-box__menu-item__option\\n.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\\n.bx--list-box__menu-item__option\\n> .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\\n.bx--list-box__menu-item\\n.bx--checkbox:checked\\n~ .bx--checkbox-label-text {\\n color: #171717; }\\n\\n.bx--multi-select--filterable .bx--list-box__selection--multi {\\n position: absolute;\\n left: 0.5rem;\\n right: auto; }\\n\\n.bx--multi-select--selected .bx--text-input {\\n padding-left: 3.5rem; }\\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: #ffffff;\\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--low-contrast {\\n color: #171717;\\n -webkit-box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.2);\\n box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.2); }\\n\\n.bx--inline-notification--error {\\n border-left: 3px solid #fb4b53;\\n background: #3d3d3d; }\\n .bx--inline-notification--error .bx--inline-notification__icon,\\n .bx--inline-notification--error .bx--toast-notification__icon {\\n fill: #fb4b53; }\\n\\n.bx--inline-notification--low-contrast.bx--inline-notification--error {\\n border-left: 3px solid #da1e28;\\n background: #fff0f1; }\\n .bx--inline-notification--low-contrast.bx--inline-notification--error .bx--inline-notification__icon,\\n .bx--inline-notification--low-contrast.bx--inline-notification--error .bx--toast-notification__icon {\\n fill: #da1e28; }\\n\\n.bx--inline-notification--success {\\n border-left: 3px solid #3dbb61;\\n background: #3d3d3d; }\\n .bx--inline-notification--success .bx--inline-notification__icon,\\n .bx--inline-notification--success .bx--toast-notification__icon {\\n fill: #3dbb61; }\\n\\n.bx--inline-notification--low-contrast.bx--inline-notification--success {\\n border-left: 3px solid #24a148;\\n background: #dafbe4; }\\n .bx--inline-notification--low-contrast.bx--inline-notification--success .bx--inline-notification__icon,\\n .bx--inline-notification--low-contrast.bx--inline-notification--success .bx--toast-notification__icon {\\n fill: #24a148; }\\n\\n.bx--inline-notification--info {\\n border-left: 3px solid #408bfc;\\n background: #3d3d3d; }\\n .bx--inline-notification--info .bx--inline-notification__icon,\\n .bx--inline-notification--info .bx--toast-notification__icon {\\n fill: #408bfc; }\\n\\n.bx--inline-notification--low-contrast.bx--inline-notification--info {\\n border-left: 3px solid #054ada;\\n background: #edf4ff; }\\n .bx--inline-notification--low-contrast.bx--inline-notification--info .bx--inline-notification__icon,\\n .bx--inline-notification--low-contrast.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: #3d3d3d; }\\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--low-contrast.bx--inline-notification--warning {\\n border-left: 3px solid #fdd13a;\\n background: #fff8e1; }\\n .bx--inline-notification--low-contrast.bx--inline-notification--warning .bx--inline-notification__icon,\\n .bx--inline-notification--low-contrast.bx--inline-notification--warning .bx--toast-notification__icon {\\n fill: #fdd13a; }\\n\\n.bx--inline-notification--warning\\n.bx--inline-notification__icon\\npath[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-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 line-height: 1.5rem; }\\n\\n.bx--inline-notification__subtitle {\\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__action-button {\\n height: 2rem;\\n margin: 0.5rem 0; }\\n .bx--inline-notification__action-button, .bx--inline-notification__action-button:hover, .bx--inline-notification__action-button:focus, .bx--inline-notification__action-button:active {\\n color: #6ea6ff; }\\n .bx--inline-notification__action-button:hover {\\n background-color: #606060; }\\n\\n.bx--inline-notification__close-button {\\n outline: 2px solid transparent;\\n outline-offset: -2px;\\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 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 .bx--inline-notification__close-icon {\\n height: 1rem;\\n width: 1rem;\\n fill: #ffffff; }\\n\\n.bx--inline-notification--low-contrast .bx--inline-notification__close-button\\n.bx--inline-notification__close-icon {\\n fill: #171717; }\\n\\n.bx--inline-notification--low-contrast .bx--inline-notification__action-button {\\n color: #0062ff; }\\n .bx--inline-notification--low-contrast .bx--inline-notification__action-button:active {\\n color: #0530ad; }\\n .bx--inline-notification--low-contrast .bx--inline-notification__action-button:active, .bx--inline-notification--low-contrast .bx--inline-notification__action-button:hover {\\n background-color: #ffffff; }\\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: #ffffff;\\n margin-top: 0.5rem;\\n margin-bottom: 0.5rem;\\n margin-right: 1rem;\\n -webkit-box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.2);\\n box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.2); }\\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--low-contrast {\\n color: #171717; }\\n\\n.bx--toast-notification--error {\\n border-left: 3px solid #fb4b53;\\n background: #3d3d3d; }\\n .bx--toast-notification--error .bx--inline-notification__icon,\\n .bx--toast-notification--error .bx--toast-notification__icon {\\n fill: #fb4b53; }\\n\\n.bx--toast-notification--low-contrast.bx--toast-notification--error {\\n border-left: 3px solid #da1e28;\\n background: #fff0f1; }\\n .bx--toast-notification--low-contrast.bx--toast-notification--error .bx--inline-notification__icon,\\n .bx--toast-notification--low-contrast.bx--toast-notification--error .bx--toast-notification__icon {\\n fill: #da1e28; }\\n\\n.bx--toast-notification--success {\\n border-left: 3px solid #3dbb61;\\n background: #3d3d3d; }\\n .bx--toast-notification--success .bx--inline-notification__icon,\\n .bx--toast-notification--success .bx--toast-notification__icon {\\n fill: #3dbb61; }\\n\\n.bx--toast-notification--low-contrast.bx--toast-notification--success {\\n border-left: 3px solid #24a148;\\n background: #dafbe4; }\\n .bx--toast-notification--low-contrast.bx--toast-notification--success .bx--inline-notification__icon,\\n .bx--toast-notification--low-contrast.bx--toast-notification--success .bx--toast-notification__icon {\\n fill: #24a148; }\\n\\n.bx--toast-notification--info {\\n border-left: 3px solid #408bfc;\\n background: #3d3d3d; }\\n .bx--toast-notification--info .bx--inline-notification__icon,\\n .bx--toast-notification--info .bx--toast-notification__icon {\\n fill: #408bfc; }\\n\\n.bx--toast-notification--low-contrast.bx--toast-notification--info {\\n border-left: 3px solid #054ada;\\n background: #edf4ff; }\\n .bx--toast-notification--low-contrast.bx--toast-notification--info .bx--inline-notification__icon,\\n .bx--toast-notification--low-contrast.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: #3d3d3d; }\\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--low-contrast.bx--toast-notification--warning {\\n border-left: 3px solid #fdd13a;\\n background: #fff8e1; }\\n .bx--toast-notification--low-contrast.bx--toast-notification--warning .bx--inline-notification__icon,\\n .bx--toast-notification--low-contrast.bx--toast-notification--warning .bx--toast-notification__icon {\\n fill: #fdd13a; }\\n\\n.bx--toast-notification--warning\\n.bx--toast-notification__icon\\npath[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: #ffffff; }\\n\\n.bx--toast-notification--low-contrast\\n.bx--toast-notification__close-button\\n.bx--toast-notification__close-icon {\\n fill: #171717; }\\n\\n.bx--toast-notification__title {\\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 word-break: break-word; }\\n\\n.bx--toast-notification__subtitle {\\n font-size: 0.875rem;\\n font-weight: 400;\\n line-height: 1.125rem;\\n letter-spacing: 0.16px;\\n color: #ffffff;\\n margin-top: 0;\\n margin-bottom: 1.5rem;\\n word-break: break-word; }\\n\\n.bx--toast-notification--low-contrast\\n.bx--toast-notification__subtitle {\\n color: #171717; }\\n\\n.bx--toast-notification__caption {\\n font-size: 0.875rem;\\n font-weight: 400;\\n line-height: 1.125rem;\\n letter-spacing: 0.16px;\\n color: #ffffff;\\n margin-bottom: 1rem; }\\n\\n.bx--toast-notification--low-contrast\\n.bx--toast-notification__caption {\\n color: #171717; }\\n\\n.bx--tooltip__label {\\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:not(.bx--btn--icon-only) {\\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:not(.bx--btn--icon-only)::-moz-focus-inner {\\n border: 0; }\\n .bx--tooltip__trigger:not(.bx--btn--icon-only):focus {\\n outline: 1px solid #0062ff;\\n fill: #0353e9; }\\n .bx--tooltip__trigger:not(.bx--btn--icon-only) path,\\n .bx--tooltip__trigger:not(.bx--btn--icon-only) polygon,\\n .bx--tooltip__trigger:not(.bx--btn--icon-only) 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-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/* begin legacy definition tooltip TODO: deprecate */\\n.bx--tooltip--definition {\\n position: relative; }\\n .bx--tooltip--definition .bx--tooltip__trigger {\\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-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--definition__align-end {\\n right: 0; }\\n\\n.bx--tooltip--definition__align-center {\\n margin-left: 50%;\\n -webkit-transform: translateX(-50%);\\n transform: translateX(-50%); }\\n\\n.bx--tooltip--definition__top.bx--tooltip--definition__align-center {\\n margin-left: 50%;\\n -webkit-transform: translate(-50%, -100%);\\n transform: translate(-50%, -100%); }\\n\\n.bx--tooltip--definition__align-center .bx--tooltip__caret {\\n left: auto;\\n margin-left: auto;\\n margin-right: calc(50% - 6px); }\\n\\n.bx--tooltip--definition__align-end .bx--tooltip__caret {\\n left: auto;\\n margin-left: auto;\\n margin-right: 1rem; }\\n\\n/* end legacy definition tooltip */\\n.bx--tooltip--definition.bx--tooltip--a11y {\\n display: -webkit-inline-box;\\n display: -ms-inline-flexbox;\\n display: inline-flex; }\\n\\n.bx--tooltip--definition button.bx--tooltip--a11y {\\n margin: 0; }\\n\\n.bx--tooltip__trigger.bx--tooltip__trigger--definition {\\n font-size: 0.75rem;\\n font-weight: 400;\\n line-height: 1rem;\\n letter-spacing: 0.32px;\\n border-bottom: 0.0625rem dotted #0062ff; }\\n\\n.bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top {\\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__trigger.bx--tooltip__trigger--definition.bx--tooltip--top::before, .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top::after,\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top + .bx--assistive-text {\\n font-size: 0.875rem;\\n font-weight: 400;\\n line-height: 1.125rem;\\n letter-spacing: 0.16px;\\n position: absolute;\\n z-index: 10000;\\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 opacity: 0;\\n pointer-events: none; }\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top::before, .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top::after {\\n -webkit-transition: opacity 70ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: opacity 70ms cubic-bezier(0.2, 0, 0.38, 0.9); }\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top.bx--tooltip--a11y::before, .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top.bx--tooltip--a11y::after {\\n -webkit-transition: none;\\n transition: none; }\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top::before {\\n width: 0;\\n height: 0;\\n border-style: solid;\\n content: ''; }\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top + .bx--assistive-text {\\n -webkit-box-sizing: content-box;\\n box-sizing: content-box;\\n color: inherit;\\n opacity: 1;\\n white-space: normal; }\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top::after,\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top:hover .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top:focus .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top:hover + .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top:focus + .bx--assistive-text {\\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 width: -webkit-max-content;\\n width: -moz-max-content;\\n width: max-content;\\n max-width: 13rem;\\n height: auto;\\n padding: 0.5rem 1rem;\\n border-radius: 0.125rem;\\n color: #ffffff;\\n font-weight: 400;\\n text-align: left;\\n -webkit-transform: translateX(-50%);\\n transform: translateX(-50%);\\n pointer-events: none;\\n background-color: #3d3d3d; }\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top::after {\\n content: attr(aria-label); }\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top.bx--tooltip--a11y::after {\\n content: none; }\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top:hover::before, .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top:hover::after, .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top:focus::before, .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top:focus::after {\\n opacity: 1; }\\n\\n@keyframes tooltip-fade {\\n from {\\n opacity: 0; }\\n to {\\n opacity: 1; } }\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top:hover .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top:hover + .bx--assistive-text, .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top:focus .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top:focus + .bx--assistive-text {\\n clip: auto;\\n margin: auto;\\n overflow: visible; }\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top:hover .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top:hover + .bx--assistive-text, .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top:hover.bx--tooltip--a11y::before, .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top:focus .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top:focus + .bx--assistive-text, .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top:focus.bx--tooltip--a11y::before {\\n -webkit-animation: tooltip-fade 70ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n animation: tooltip-fade 70ms cubic-bezier(0.2, 0, 0.38, 0.9); }\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top::before, .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top::after,\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top:hover .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top:focus .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top:hover + .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top:focus + .bx--assistive-text {\\n top: 0;\\n left: 50%; }\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top::before {\\n border-width: 0.3125rem 0.25rem 0 0.25rem;\\n border-color: #3d3d3d transparent transparent transparent;\\n -webkit-transform: translate(-50%, calc(-1 * (0.3125rem + 0.25rem)));\\n transform: translate(-50%, calc(-1 * (0.3125rem + 0.25rem))); }\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top::after,\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top:hover .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top:focus .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top:hover + .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top:focus + .bx--assistive-text {\\n left: 0;\\n -webkit-transform: translate(0, calc(-1 * (100% + 0.25rem + 0.3125rem)));\\n transform: translate(0, calc(-1 * (100% + 0.25rem + 0.3125rem))); }\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top.bx--tooltip--align-start::before, .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top.bx--tooltip--align-start::after,\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top.bx--tooltip--align-start:hover .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top.bx--tooltip--align-start:focus .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top.bx--tooltip--align-start:hover + .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top.bx--tooltip--align-start:focus + .bx--assistive-text {\\n top: 0;\\n left: 50%; }\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top.bx--tooltip--align-start::before {\\n border-width: 0.3125rem 0.25rem 0 0.25rem;\\n border-color: #3d3d3d transparent transparent transparent;\\n -webkit-transform: translate(-50%, calc(-1 * (0.3125rem + 0.25rem)));\\n transform: translate(-50%, calc(-1 * (0.3125rem + 0.25rem))); }\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top.bx--tooltip--align-start::after,\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top.bx--tooltip--align-start:hover .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top.bx--tooltip--align-start:focus .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top.bx--tooltip--align-start:hover + .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top.bx--tooltip--align-start:focus + .bx--assistive-text {\\n left: 0;\\n -webkit-transform: translate(0, calc(-1 * (100% + 0.25rem + 0.3125rem)));\\n transform: translate(0, calc(-1 * (100% + 0.25rem + 0.3125rem))); }\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top.bx--tooltip--align-center::before, .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top.bx--tooltip--align-center::after,\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top.bx--tooltip--align-center:hover .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top.bx--tooltip--align-center:focus .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top.bx--tooltip--align-center:hover + .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top.bx--tooltip--align-center:focus + .bx--assistive-text {\\n top: 0;\\n left: 50%; }\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top.bx--tooltip--align-center::before {\\n border-width: 0.3125rem 0.25rem 0 0.25rem;\\n border-color: #3d3d3d transparent transparent transparent;\\n -webkit-transform: translate(-50%, calc(-1 * (0.3125rem + 0.25rem)));\\n transform: translate(-50%, calc(-1 * (0.3125rem + 0.25rem))); }\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top.bx--tooltip--align-center::after,\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top.bx--tooltip--align-center:hover .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top.bx--tooltip--align-center:focus .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top.bx--tooltip--align-center:hover + .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top.bx--tooltip--align-center:focus + .bx--assistive-text {\\n left: 50%;\\n -webkit-transform: translate(-50%, calc(-1 * (100% + 0.25rem + 0.3125rem)));\\n transform: translate(-50%, calc(-1 * (100% + 0.25rem + 0.3125rem))); }\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top.bx--tooltip--align-end::before, .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top.bx--tooltip--align-end::after,\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top.bx--tooltip--align-end:hover .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top.bx--tooltip--align-end:focus .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top.bx--tooltip--align-end:hover + .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top.bx--tooltip--align-end:focus + .bx--assistive-text {\\n top: 0;\\n left: 50%; }\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top.bx--tooltip--align-end::before {\\n border-width: 0.3125rem 0.25rem 0 0.25rem;\\n border-color: #3d3d3d transparent transparent transparent;\\n -webkit-transform: translate(-50%, calc(-1 * (0.3125rem + 0.25rem)));\\n transform: translate(-50%, calc(-1 * (0.3125rem + 0.25rem))); }\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top.bx--tooltip--align-end::after,\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top.bx--tooltip--align-end:hover .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top.bx--tooltip--align-end:focus .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top.bx--tooltip--align-end:hover + .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--top.bx--tooltip--align-end:focus + .bx--assistive-text {\\n right: 0;\\n left: initial;\\n -webkit-transform: translate(0, calc(-1 * (100% + 0.25rem + 0.3125rem)));\\n transform: translate(0, calc(-1 * (100% + 0.25rem + 0.3125rem))); }\\n\\n.bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--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__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom::before, .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom::after,\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom + .bx--assistive-text {\\n font-size: 0.875rem;\\n font-weight: 400;\\n line-height: 1.125rem;\\n letter-spacing: 0.16px;\\n position: absolute;\\n z-index: 10000;\\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 opacity: 0;\\n pointer-events: none; }\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom::before, .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom::after {\\n -webkit-transition: opacity 70ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: opacity 70ms cubic-bezier(0.2, 0, 0.38, 0.9); }\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom.bx--tooltip--a11y::before, .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom.bx--tooltip--a11y::after {\\n -webkit-transition: none;\\n transition: none; }\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom::before {\\n width: 0;\\n height: 0;\\n border-style: solid;\\n content: ''; }\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom + .bx--assistive-text {\\n -webkit-box-sizing: content-box;\\n box-sizing: content-box;\\n color: inherit;\\n opacity: 1;\\n white-space: normal; }\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom::after,\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom:hover .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom:focus .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom:hover + .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom:focus + .bx--assistive-text {\\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 width: -webkit-max-content;\\n width: -moz-max-content;\\n width: max-content;\\n max-width: 13rem;\\n height: auto;\\n padding: 0.5rem 1rem;\\n border-radius: 0.125rem;\\n color: #ffffff;\\n font-weight: 400;\\n text-align: left;\\n -webkit-transform: translateX(-50%);\\n transform: translateX(-50%);\\n pointer-events: none;\\n background-color: #3d3d3d; }\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom::after {\\n content: attr(aria-label); }\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom.bx--tooltip--a11y::after {\\n content: none; }\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom:hover::before, .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom:hover::after, .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom:focus::before, .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom:focus::after {\\n opacity: 1; }\\n\\n@keyframes tooltip-fade {\\n from {\\n opacity: 0; }\\n to {\\n opacity: 1; } }\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom:hover .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom:hover + .bx--assistive-text, .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom:focus .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom:focus + .bx--assistive-text {\\n clip: auto;\\n margin: auto;\\n overflow: visible; }\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom:hover .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom:hover + .bx--assistive-text, .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom:hover.bx--tooltip--a11y::before, .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom:focus .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom:focus + .bx--assistive-text, .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom:focus.bx--tooltip--a11y::before {\\n -webkit-animation: tooltip-fade 70ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n animation: tooltip-fade 70ms cubic-bezier(0.2, 0, 0.38, 0.9); }\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom::before, .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom::after,\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom:hover .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom:focus .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom:hover + .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom:focus + .bx--assistive-text {\\n bottom: 0;\\n left: 50%; }\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom::before {\\n border-width: 0 0.25rem 0.3125rem 0.25rem;\\n border-color: transparent transparent #3d3d3d transparent;\\n -webkit-transform: translate(-50%, calc(0.3125rem + 0.25rem));\\n transform: translate(-50%, calc(0.3125rem + 0.25rem)); }\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom::after,\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom:hover .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom:focus .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom:hover + .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom:focus + .bx--assistive-text {\\n left: 0;\\n -webkit-transform: translate(0, calc(100% + 0.25rem + 0.3125rem));\\n transform: translate(0, calc(100% + 0.25rem + 0.3125rem)); }\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom.bx--tooltip--a11y + .bx--assistive-text {\\n -webkit-transform: translate(0, calc(100% + 0.25rem + 0.3125rem - 1px));\\n transform: translate(0, calc(100% + 0.25rem + 0.3125rem - 1px)); }\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom.bx--tooltip--align-start::before, .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom.bx--tooltip--align-start::after,\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom.bx--tooltip--align-start:hover .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom.bx--tooltip--align-start:focus .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom.bx--tooltip--align-start:hover + .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom.bx--tooltip--align-start:focus + .bx--assistive-text {\\n bottom: 0;\\n left: 50%; }\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom.bx--tooltip--align-start::before {\\n border-width: 0 0.25rem 0.3125rem 0.25rem;\\n border-color: transparent transparent #3d3d3d transparent;\\n -webkit-transform: translate(-50%, calc(0.3125rem + 0.25rem));\\n transform: translate(-50%, calc(0.3125rem + 0.25rem)); }\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom.bx--tooltip--align-start::after,\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom.bx--tooltip--align-start:hover .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom.bx--tooltip--align-start:focus .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom.bx--tooltip--align-start:hover + .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom.bx--tooltip--align-start:focus + .bx--assistive-text {\\n left: 0;\\n -webkit-transform: translate(0, calc(100% + 0.25rem + 0.3125rem));\\n transform: translate(0, calc(100% + 0.25rem + 0.3125rem)); }\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom.bx--tooltip--align-start.bx--tooltip--a11y + .bx--assistive-text {\\n -webkit-transform: translate(0, calc(100% + 0.25rem + 0.3125rem - 1px));\\n transform: translate(0, calc(100% + 0.25rem + 0.3125rem - 1px)); }\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom.bx--tooltip--align-center::before, .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom.bx--tooltip--align-center::after,\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom.bx--tooltip--align-center:hover .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom.bx--tooltip--align-center:focus .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom.bx--tooltip--align-center:hover + .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom.bx--tooltip--align-center:focus + .bx--assistive-text {\\n bottom: 0;\\n left: 50%; }\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom.bx--tooltip--align-center::before {\\n border-width: 0 0.25rem 0.3125rem 0.25rem;\\n border-color: transparent transparent #3d3d3d transparent;\\n -webkit-transform: translate(-50%, calc(0.3125rem + 0.25rem));\\n transform: translate(-50%, calc(0.3125rem + 0.25rem)); }\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom.bx--tooltip--align-center::after,\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom.bx--tooltip--align-center:hover .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom.bx--tooltip--align-center:focus .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom.bx--tooltip--align-center:hover + .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom.bx--tooltip--align-center:focus + .bx--assistive-text {\\n -webkit-transform: translate(-50%, calc(100% + 0.25rem + 0.3125rem));\\n transform: translate(-50%, calc(100% + 0.25rem + 0.3125rem)); }\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom.bx--tooltip--align-center.bx--tooltip--a11y + .bx--assistive-text {\\n -webkit-transform: translate(-50%, calc(100% + 0.25rem + 0.3125rem - 1px));\\n transform: translate(-50%, calc(100% + 0.25rem + 0.3125rem - 1px)); }\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom.bx--tooltip--align-end::before, .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom.bx--tooltip--align-end::after,\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom.bx--tooltip--align-end:hover .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom.bx--tooltip--align-end:focus .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom.bx--tooltip--align-end:hover + .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom.bx--tooltip--align-end:focus + .bx--assistive-text {\\n bottom: 0;\\n left: 50%; }\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom.bx--tooltip--align-end::before {\\n border-width: 0 0.25rem 0.3125rem 0.25rem;\\n border-color: transparent transparent #3d3d3d transparent;\\n -webkit-transform: translate(-50%, calc(0.3125rem + 0.25rem));\\n transform: translate(-50%, calc(0.3125rem + 0.25rem)); }\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom.bx--tooltip--align-end::after,\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom.bx--tooltip--align-end:hover .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom.bx--tooltip--align-end:focus .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom.bx--tooltip--align-end:hover + .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom.bx--tooltip--align-end:focus + .bx--assistive-text {\\n right: 0;\\n left: initial;\\n -webkit-transform: translate(0, calc(100% + 0.25rem + 0.3125rem));\\n transform: translate(0, calc(100% + 0.25rem + 0.3125rem)); }\\n .bx--tooltip__trigger.bx--tooltip__trigger--definition.bx--tooltip--bottom.bx--tooltip--align-end.bx--tooltip--a11y + .bx--assistive-text {\\n -webkit-transform: translate(0, calc(100% + 0.25rem + 0.3125rem - 1px));\\n transform: translate(0, calc(100% + 0.25rem + 0.3125rem - 1px)); }\\n\\n/* begin tooltip icon (TODO: deprecate) */\\n.bx--tooltip--icon {\\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\\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::before, .bx--tooltip--icon__top::after,\\n .bx--tooltip--icon__bottom::before,\\n .bx--tooltip--icon__bottom::after {\\n font-size: 0.875rem;\\n font-weight: 400;\\n line-height: 1.125rem;\\n letter-spacing: 0.16px;\\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 opacity: 0;\\n pointer-events: none;\\n -webkit-transition: opacity 70ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: opacity 70ms cubic-bezier(0.2, 0, 0.38, 0.9); }\\n .bx--tooltip--icon__top::before,\\n .bx--tooltip--icon__bottom::before {\\n right: 0;\\n left: 0;\\n width: 0;\\n height: 0;\\n border-width: 0 0.25rem 0.3125rem 0.25rem;\\n border-style: solid;\\n border-color: transparent transparent #3d3d3d transparent;\\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 background-color: #3d3d3d; }\\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 opacity: 1; }\\n .bx--tooltip--icon__top:hover svg, .bx--tooltip--icon__top:focus svg,\\n .bx--tooltip--icon__bottom:hover svg,\\n .bx--tooltip--icon__bottom:focus svg {\\n fill: #565656; }\\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% - 9px)) rotate(180deg);\\n transform: translate(-50%, calc(-100% - 9px)) rotate(180deg); }\\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%, 10px) rotate(0);\\n transform: translate(-50%, 10px) rotate(0); }\\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__top.bx--tooltip--icon__align-start::before {\\n top: 1px;\\n margin-left: 4px;\\n -webkit-transform: translate(0, calc(-100% - 9px)) rotate(180deg);\\n transform: translate(0, calc(-100% - 9px)) rotate(180deg); }\\n\\n.bx--tooltip--icon__top.bx--tooltip--icon__align-start::after {\\n top: 0;\\n margin-left: 0;\\n -webkit-transform: translate(0, calc(-100% - 12px));\\n transform: translate(0, calc(-100% - 12px)); }\\n\\n.bx--tooltip--icon__top.bx--tooltip--icon__align-end::before {\\n top: 1px;\\n margin-right: 4px;\\n left: auto;\\n right: 0;\\n -webkit-transform: translate(0, calc(-100% - 9px)) rotate(180deg);\\n transform: translate(0, calc(-100% - 9px)) rotate(180deg); }\\n\\n.bx--tooltip--icon__top.bx--tooltip--icon__align-end::after {\\n top: 0;\\n margin-left: 0;\\n right: 0;\\n -webkit-transform: translate(0, calc(-100% - 12px));\\n transform: translate(0, calc(-100% - 12px)); }\\n\\n.bx--tooltip--icon__bottom.bx--tooltip--icon__align-start::before {\\n bottom: 0;\\n margin-left: 4px;\\n -webkit-transform: translate(0, 10px) rotate(0);\\n transform: translate(0, 10px) rotate(0); }\\n\\n.bx--tooltip--icon__bottom.bx--tooltip--icon__align-start::after {\\n bottom: 0;\\n margin-left: 0;\\n -webkit-transform: translate(0, calc(100% + 10px));\\n transform: translate(0, calc(100% + 10px)); }\\n\\n.bx--tooltip--icon__bottom.bx--tooltip--icon__align-end::before {\\n bottom: 0;\\n margin-right: 4px;\\n left: auto;\\n right: 0;\\n -webkit-transform: translate(0, 10px) rotate(0);\\n transform: translate(0, 10px) rotate(0); }\\n\\n.bx--tooltip--icon__bottom.bx--tooltip--icon__align-end::after {\\n bottom: 0;\\n margin-left: 0;\\n right: 0;\\n -webkit-transform: translate(0, calc(100% + 10px));\\n transform: translate(0, calc(100% + 10px)); }\\n\\n.bx--tooltip--icon .bx--tooltip__trigger svg {\\n margin-left: 0; }\\n\\n/* end legacy tooltip icon */\\n.bx--tooltip__trigger:hover svg, .bx--tooltip__trigger:focus svg {\\n fill: #565656; }\\n\\n.bx--tooltip__trigger.bx--tooltip--top {\\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__trigger.bx--tooltip--top:focus {\\n outline: 1px solid transparent; }\\n .bx--tooltip__trigger.bx--tooltip--top:focus svg {\\n outline: 1px solid #0062ff; }\\n .bx--tooltip__trigger.bx--tooltip--top::before, .bx--tooltip__trigger.bx--tooltip--top::after,\\n .bx--tooltip__trigger.bx--tooltip--top .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--top + .bx--assistive-text {\\n font-size: 0.875rem;\\n font-weight: 400;\\n line-height: 1.125rem;\\n letter-spacing: 0.16px;\\n position: absolute;\\n z-index: 10000;\\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 opacity: 0;\\n pointer-events: none; }\\n .bx--tooltip__trigger.bx--tooltip--top::before, .bx--tooltip__trigger.bx--tooltip--top::after {\\n -webkit-transition: opacity 70ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: opacity 70ms cubic-bezier(0.2, 0, 0.38, 0.9); }\\n .bx--tooltip__trigger.bx--tooltip--top.bx--tooltip--a11y::before, .bx--tooltip__trigger.bx--tooltip--top.bx--tooltip--a11y::after {\\n -webkit-transition: none;\\n transition: none; }\\n .bx--tooltip__trigger.bx--tooltip--top::before {\\n width: 0;\\n height: 0;\\n border-style: solid;\\n content: ''; }\\n .bx--tooltip__trigger.bx--tooltip--top .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--top + .bx--assistive-text {\\n -webkit-box-sizing: content-box;\\n box-sizing: content-box;\\n color: inherit;\\n opacity: 1;\\n white-space: normal; }\\n .bx--tooltip__trigger.bx--tooltip--top::after,\\n .bx--tooltip__trigger.bx--tooltip--top:hover .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--top:focus .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--top:hover + .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--top:focus + .bx--assistive-text {\\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 width: -webkit-max-content;\\n width: -moz-max-content;\\n width: max-content;\\n max-width: 13rem;\\n height: auto;\\n padding: 0.125rem 1rem;\\n border-radius: 0.125rem;\\n color: #ffffff;\\n font-weight: 400;\\n text-align: left;\\n -webkit-transform: translateX(-50%);\\n transform: translateX(-50%);\\n pointer-events: none;\\n background-color: #3d3d3d; }\\n .bx--tooltip__trigger.bx--tooltip--top::after {\\n content: attr(aria-label); }\\n .bx--tooltip__trigger.bx--tooltip--top.bx--tooltip--a11y::after {\\n content: none; }\\n .bx--tooltip__trigger.bx--tooltip--top:hover::before, .bx--tooltip__trigger.bx--tooltip--top:hover::after, .bx--tooltip__trigger.bx--tooltip--top:focus::before, .bx--tooltip__trigger.bx--tooltip--top:focus::after {\\n opacity: 1; }\\n\\n@keyframes tooltip-fade {\\n from {\\n opacity: 0; }\\n to {\\n opacity: 1; } }\\n .bx--tooltip__trigger.bx--tooltip--top:hover .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--top:hover + .bx--assistive-text, .bx--tooltip__trigger.bx--tooltip--top:focus .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--top:focus + .bx--assistive-text {\\n clip: auto;\\n margin: auto;\\n overflow: visible; }\\n .bx--tooltip__trigger.bx--tooltip--top:hover .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--top:hover + .bx--assistive-text, .bx--tooltip__trigger.bx--tooltip--top:hover.bx--tooltip--a11y::before, .bx--tooltip__trigger.bx--tooltip--top:focus .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--top:focus + .bx--assistive-text, .bx--tooltip__trigger.bx--tooltip--top:focus.bx--tooltip--a11y::before {\\n -webkit-animation: tooltip-fade 70ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n animation: tooltip-fade 70ms cubic-bezier(0.2, 0, 0.38, 0.9); }\\n .bx--tooltip__trigger.bx--tooltip--top::before, .bx--tooltip__trigger.bx--tooltip--top::after,\\n .bx--tooltip__trigger.bx--tooltip--top:hover .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--top:focus .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--top:hover + .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--top:focus + .bx--assistive-text {\\n top: 0;\\n left: 50%; }\\n .bx--tooltip__trigger.bx--tooltip--top::before {\\n border-width: 0.3125rem 0.25rem 0 0.25rem;\\n border-color: #3d3d3d transparent transparent transparent;\\n -webkit-transform: translate(-50%, calc(-1 * (0.3125rem + 0.5rem)));\\n transform: translate(-50%, calc(-1 * (0.3125rem + 0.5rem))); }\\n .bx--tooltip__trigger.bx--tooltip--top::after,\\n .bx--tooltip__trigger.bx--tooltip--top:hover .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--top:focus .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--top:hover + .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--top:focus + .bx--assistive-text {\\n left: 50%;\\n -webkit-transform: translate(-50%, calc(-1 * (100% + 0.5rem + 0.3125rem)));\\n transform: translate(-50%, calc(-1 * (100% + 0.5rem + 0.3125rem))); }\\n .bx--tooltip__trigger.bx--tooltip--top.bx--tooltip--align-start::before, .bx--tooltip__trigger.bx--tooltip--top.bx--tooltip--align-start::after,\\n .bx--tooltip__trigger.bx--tooltip--top.bx--tooltip--align-start:hover .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--top.bx--tooltip--align-start:focus .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--top.bx--tooltip--align-start:hover + .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--top.bx--tooltip--align-start:focus + .bx--assistive-text {\\n top: 0;\\n left: 50%; }\\n .bx--tooltip__trigger.bx--tooltip--top.bx--tooltip--align-start::before {\\n border-width: 0.3125rem 0.25rem 0 0.25rem;\\n border-color: #3d3d3d transparent transparent transparent;\\n -webkit-transform: translate(-50%, calc(-1 * (0.3125rem + 0.5rem)));\\n transform: translate(-50%, calc(-1 * (0.3125rem + 0.5rem))); }\\n .bx--tooltip__trigger.bx--tooltip--top.bx--tooltip--align-start::after,\\n .bx--tooltip__trigger.bx--tooltip--top.bx--tooltip--align-start:hover .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--top.bx--tooltip--align-start:focus .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--top.bx--tooltip--align-start:hover + .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--top.bx--tooltip--align-start:focus + .bx--assistive-text {\\n left: 0;\\n -webkit-transform: translate(0, calc(-1 * (100% + 0.5rem + 0.3125rem)));\\n transform: translate(0, calc(-1 * (100% + 0.5rem + 0.3125rem))); }\\n .bx--tooltip__trigger.bx--tooltip--top.bx--tooltip--align-center::before, .bx--tooltip__trigger.bx--tooltip--top.bx--tooltip--align-center::after,\\n .bx--tooltip__trigger.bx--tooltip--top.bx--tooltip--align-center:hover .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--top.bx--tooltip--align-center:focus .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--top.bx--tooltip--align-center:hover + .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--top.bx--tooltip--align-center:focus + .bx--assistive-text {\\n top: 0;\\n left: 50%; }\\n .bx--tooltip__trigger.bx--tooltip--top.bx--tooltip--align-center::before {\\n border-width: 0.3125rem 0.25rem 0 0.25rem;\\n border-color: #3d3d3d transparent transparent transparent;\\n -webkit-transform: translate(-50%, calc(-1 * (0.3125rem + 0.5rem)));\\n transform: translate(-50%, calc(-1 * (0.3125rem + 0.5rem))); }\\n .bx--tooltip__trigger.bx--tooltip--top.bx--tooltip--align-center::after,\\n .bx--tooltip__trigger.bx--tooltip--top.bx--tooltip--align-center:hover .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--top.bx--tooltip--align-center:focus .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--top.bx--tooltip--align-center:hover + .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--top.bx--tooltip--align-center:focus + .bx--assistive-text {\\n left: 50%;\\n -webkit-transform: translate(-50%, calc(-1 * (100% + 0.5rem + 0.3125rem)));\\n transform: translate(-50%, calc(-1 * (100% + 0.5rem + 0.3125rem))); }\\n .bx--tooltip__trigger.bx--tooltip--top.bx--tooltip--align-end::before, .bx--tooltip__trigger.bx--tooltip--top.bx--tooltip--align-end::after,\\n .bx--tooltip__trigger.bx--tooltip--top.bx--tooltip--align-end:hover .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--top.bx--tooltip--align-end:focus .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--top.bx--tooltip--align-end:hover + .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--top.bx--tooltip--align-end:focus + .bx--assistive-text {\\n top: 0;\\n left: 50%; }\\n .bx--tooltip__trigger.bx--tooltip--top.bx--tooltip--align-end::before {\\n border-width: 0.3125rem 0.25rem 0 0.25rem;\\n border-color: #3d3d3d transparent transparent transparent;\\n -webkit-transform: translate(-50%, calc(-1 * (0.3125rem + 0.5rem)));\\n transform: translate(-50%, calc(-1 * (0.3125rem + 0.5rem))); }\\n .bx--tooltip__trigger.bx--tooltip--top.bx--tooltip--align-end::after,\\n .bx--tooltip__trigger.bx--tooltip--top.bx--tooltip--align-end:hover .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--top.bx--tooltip--align-end:focus .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--top.bx--tooltip--align-end:hover + .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--top.bx--tooltip--align-end:focus + .bx--assistive-text {\\n right: 0;\\n left: initial;\\n -webkit-transform: translate(0, calc(-1 * (100% + 0.5rem + 0.3125rem)));\\n transform: translate(0, calc(-1 * (100% + 0.5rem + 0.3125rem))); }\\n\\n.bx--tooltip__trigger.bx--tooltip--right {\\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__trigger.bx--tooltip--right:focus {\\n outline: 1px solid transparent; }\\n .bx--tooltip__trigger.bx--tooltip--right:focus svg {\\n outline: 1px solid #0062ff; }\\n .bx--tooltip__trigger.bx--tooltip--right::before, .bx--tooltip__trigger.bx--tooltip--right::after,\\n .bx--tooltip__trigger.bx--tooltip--right .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--right + .bx--assistive-text {\\n font-size: 0.875rem;\\n font-weight: 400;\\n line-height: 1.125rem;\\n letter-spacing: 0.16px;\\n position: absolute;\\n z-index: 10000;\\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 opacity: 0;\\n pointer-events: none; }\\n .bx--tooltip__trigger.bx--tooltip--right::before, .bx--tooltip__trigger.bx--tooltip--right::after {\\n -webkit-transition: opacity 70ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: opacity 70ms cubic-bezier(0.2, 0, 0.38, 0.9); }\\n .bx--tooltip__trigger.bx--tooltip--right.bx--tooltip--a11y::before, .bx--tooltip__trigger.bx--tooltip--right.bx--tooltip--a11y::after {\\n -webkit-transition: none;\\n transition: none; }\\n .bx--tooltip__trigger.bx--tooltip--right::before {\\n width: 0;\\n height: 0;\\n border-style: solid;\\n content: ''; }\\n .bx--tooltip__trigger.bx--tooltip--right .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--right + .bx--assistive-text {\\n -webkit-box-sizing: content-box;\\n box-sizing: content-box;\\n color: inherit;\\n opacity: 1;\\n white-space: normal; }\\n .bx--tooltip__trigger.bx--tooltip--right::after,\\n .bx--tooltip__trigger.bx--tooltip--right:hover .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--right:focus .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--right:hover + .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--right:focus + .bx--assistive-text {\\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 width: -webkit-max-content;\\n width: -moz-max-content;\\n width: max-content;\\n max-width: 13rem;\\n height: auto;\\n padding: 0.125rem 1rem;\\n border-radius: 0.125rem;\\n color: #ffffff;\\n font-weight: 400;\\n text-align: left;\\n -webkit-transform: translateX(-50%);\\n transform: translateX(-50%);\\n pointer-events: none;\\n background-color: #3d3d3d; }\\n .bx--tooltip__trigger.bx--tooltip--right::after {\\n content: attr(aria-label); }\\n .bx--tooltip__trigger.bx--tooltip--right.bx--tooltip--a11y::after {\\n content: none; }\\n .bx--tooltip__trigger.bx--tooltip--right:hover::before, .bx--tooltip__trigger.bx--tooltip--right:hover::after, .bx--tooltip__trigger.bx--tooltip--right:focus::before, .bx--tooltip__trigger.bx--tooltip--right:focus::after {\\n opacity: 1; }\\n\\n@keyframes tooltip-fade {\\n from {\\n opacity: 0; }\\n to {\\n opacity: 1; } }\\n .bx--tooltip__trigger.bx--tooltip--right:hover .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--right:hover + .bx--assistive-text, .bx--tooltip__trigger.bx--tooltip--right:focus .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--right:focus + .bx--assistive-text {\\n clip: auto;\\n margin: auto;\\n overflow: visible; }\\n .bx--tooltip__trigger.bx--tooltip--right:hover .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--right:hover + .bx--assistive-text, .bx--tooltip__trigger.bx--tooltip--right:hover.bx--tooltip--a11y::before, .bx--tooltip__trigger.bx--tooltip--right:focus .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--right:focus + .bx--assistive-text, .bx--tooltip__trigger.bx--tooltip--right:focus.bx--tooltip--a11y::before {\\n -webkit-animation: tooltip-fade 70ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n animation: tooltip-fade 70ms cubic-bezier(0.2, 0, 0.38, 0.9); }\\n .bx--tooltip__trigger.bx--tooltip--right::before, .bx--tooltip__trigger.bx--tooltip--right::after,\\n .bx--tooltip__trigger.bx--tooltip--right:hover .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--right:focus .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--right:hover + .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--right:focus + .bx--assistive-text {\\n top: 50%;\\n right: 0; }\\n .bx--tooltip__trigger.bx--tooltip--right::before {\\n border-width: 0.25rem 0.3125rem 0.25rem 0;\\n border-color: transparent #3d3d3d transparent transparent;\\n -webkit-transform: translate(calc(0.3125rem + 0.5rem), -50%);\\n transform: translate(calc(0.3125rem + 0.5rem), -50%); }\\n .bx--tooltip__trigger.bx--tooltip--right::after,\\n .bx--tooltip__trigger.bx--tooltip--right:hover .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--right:focus .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--right:hover + .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--right:focus + .bx--assistive-text {\\n -webkit-transform: translate(calc(100% + 0.5rem + 0.3125rem), -50%);\\n transform: translate(calc(100% + 0.5rem + 0.3125rem), -50%); }\\n .bx--tooltip__trigger.bx--tooltip--right.bx--tooltip--align-start::before, .bx--tooltip__trigger.bx--tooltip--right.bx--tooltip--align-start::after,\\n .bx--tooltip__trigger.bx--tooltip--right.bx--tooltip--align-start:hover .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--right.bx--tooltip--align-start:focus .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--right.bx--tooltip--align-start:hover + .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--right.bx--tooltip--align-start:focus + .bx--assistive-text {\\n top: 50%;\\n right: 0; }\\n .bx--tooltip__trigger.bx--tooltip--right.bx--tooltip--align-start::before {\\n border-width: 0.25rem 0.3125rem 0.25rem 0;\\n border-color: transparent #3d3d3d transparent transparent;\\n -webkit-transform: translate(calc(0.3125rem + 0.5rem), -50%);\\n transform: translate(calc(0.3125rem + 0.5rem), -50%); }\\n .bx--tooltip__trigger.bx--tooltip--right.bx--tooltip--align-start::after,\\n .bx--tooltip__trigger.bx--tooltip--right.bx--tooltip--align-start:hover .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--right.bx--tooltip--align-start:focus .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--right.bx--tooltip--align-start:hover + .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--right.bx--tooltip--align-start:focus + .bx--assistive-text {\\n -webkit-transform: translate(calc(100% + 0.5rem + 0.3125rem), -50%);\\n transform: translate(calc(100% + 0.5rem + 0.3125rem), -50%); }\\n .bx--tooltip__trigger.bx--tooltip--right.bx--tooltip--align-center::before, .bx--tooltip__trigger.bx--tooltip--right.bx--tooltip--align-center::after,\\n .bx--tooltip__trigger.bx--tooltip--right.bx--tooltip--align-center:hover .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--right.bx--tooltip--align-center:focus .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--right.bx--tooltip--align-center:hover + .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--right.bx--tooltip--align-center:focus + .bx--assistive-text {\\n top: 50%;\\n right: 0; }\\n .bx--tooltip__trigger.bx--tooltip--right.bx--tooltip--align-center::before {\\n border-width: 0.25rem 0.3125rem 0.25rem 0;\\n border-color: transparent #3d3d3d transparent transparent;\\n -webkit-transform: translate(calc(0.3125rem + 0.5rem), -50%);\\n transform: translate(calc(0.3125rem + 0.5rem), -50%); }\\n .bx--tooltip__trigger.bx--tooltip--right.bx--tooltip--align-center::after,\\n .bx--tooltip__trigger.bx--tooltip--right.bx--tooltip--align-center:hover .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--right.bx--tooltip--align-center:focus .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--right.bx--tooltip--align-center:hover + .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--right.bx--tooltip--align-center:focus + .bx--assistive-text {\\n -webkit-transform: translate(calc(100% + 0.5rem + 0.3125rem), -50%);\\n transform: translate(calc(100% + 0.5rem + 0.3125rem), -50%); }\\n .bx--tooltip__trigger.bx--tooltip--right.bx--tooltip--align-end::before, .bx--tooltip__trigger.bx--tooltip--right.bx--tooltip--align-end::after,\\n .bx--tooltip__trigger.bx--tooltip--right.bx--tooltip--align-end:hover .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--right.bx--tooltip--align-end:focus .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--right.bx--tooltip--align-end:hover + .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--right.bx--tooltip--align-end:focus + .bx--assistive-text {\\n top: 50%;\\n right: 0; }\\n .bx--tooltip__trigger.bx--tooltip--right.bx--tooltip--align-end::before {\\n border-width: 0.25rem 0.3125rem 0.25rem 0;\\n border-color: transparent #3d3d3d transparent transparent;\\n -webkit-transform: translate(calc(0.3125rem + 0.5rem), -50%);\\n transform: translate(calc(0.3125rem + 0.5rem), -50%); }\\n .bx--tooltip__trigger.bx--tooltip--right.bx--tooltip--align-end::after,\\n .bx--tooltip__trigger.bx--tooltip--right.bx--tooltip--align-end:hover .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--right.bx--tooltip--align-end:focus .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--right.bx--tooltip--align-end:hover + .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--right.bx--tooltip--align-end:focus + .bx--assistive-text {\\n -webkit-transform: translate(calc(100% + 0.5rem + 0.3125rem), -50%);\\n transform: translate(calc(100% + 0.5rem + 0.3125rem), -50%); }\\n\\n.bx--tooltip__trigger.bx--tooltip--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__trigger.bx--tooltip--bottom:focus {\\n outline: 1px solid transparent; }\\n .bx--tooltip__trigger.bx--tooltip--bottom:focus svg {\\n outline: 1px solid #0062ff; }\\n .bx--tooltip__trigger.bx--tooltip--bottom::before, .bx--tooltip__trigger.bx--tooltip--bottom::after,\\n .bx--tooltip__trigger.bx--tooltip--bottom .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--bottom + .bx--assistive-text {\\n font-size: 0.875rem;\\n font-weight: 400;\\n line-height: 1.125rem;\\n letter-spacing: 0.16px;\\n position: absolute;\\n z-index: 10000;\\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 opacity: 0;\\n pointer-events: none; }\\n .bx--tooltip__trigger.bx--tooltip--bottom::before, .bx--tooltip__trigger.bx--tooltip--bottom::after {\\n -webkit-transition: opacity 70ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: opacity 70ms cubic-bezier(0.2, 0, 0.38, 0.9); }\\n .bx--tooltip__trigger.bx--tooltip--bottom.bx--tooltip--a11y::before, .bx--tooltip__trigger.bx--tooltip--bottom.bx--tooltip--a11y::after {\\n -webkit-transition: none;\\n transition: none; }\\n .bx--tooltip__trigger.bx--tooltip--bottom::before {\\n width: 0;\\n height: 0;\\n border-style: solid;\\n content: ''; }\\n .bx--tooltip__trigger.bx--tooltip--bottom .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--bottom + .bx--assistive-text {\\n -webkit-box-sizing: content-box;\\n box-sizing: content-box;\\n color: inherit;\\n opacity: 1;\\n white-space: normal; }\\n .bx--tooltip__trigger.bx--tooltip--bottom::after,\\n .bx--tooltip__trigger.bx--tooltip--bottom:hover .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--bottom:focus .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--bottom:hover + .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--bottom:focus + .bx--assistive-text {\\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 width: -webkit-max-content;\\n width: -moz-max-content;\\n width: max-content;\\n max-width: 13rem;\\n height: auto;\\n padding: 0.125rem 1rem;\\n border-radius: 0.125rem;\\n color: #ffffff;\\n font-weight: 400;\\n text-align: left;\\n -webkit-transform: translateX(-50%);\\n transform: translateX(-50%);\\n pointer-events: none;\\n background-color: #3d3d3d; }\\n .bx--tooltip__trigger.bx--tooltip--bottom::after {\\n content: attr(aria-label); }\\n .bx--tooltip__trigger.bx--tooltip--bottom.bx--tooltip--a11y::after {\\n content: none; }\\n .bx--tooltip__trigger.bx--tooltip--bottom:hover::before, .bx--tooltip__trigger.bx--tooltip--bottom:hover::after, .bx--tooltip__trigger.bx--tooltip--bottom:focus::before, .bx--tooltip__trigger.bx--tooltip--bottom:focus::after {\\n opacity: 1; }\\n\\n@keyframes tooltip-fade {\\n from {\\n opacity: 0; }\\n to {\\n opacity: 1; } }\\n .bx--tooltip__trigger.bx--tooltip--bottom:hover .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--bottom:hover + .bx--assistive-text, .bx--tooltip__trigger.bx--tooltip--bottom:focus .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--bottom:focus + .bx--assistive-text {\\n clip: auto;\\n margin: auto;\\n overflow: visible; }\\n .bx--tooltip__trigger.bx--tooltip--bottom:hover .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--bottom:hover + .bx--assistive-text, .bx--tooltip__trigger.bx--tooltip--bottom:hover.bx--tooltip--a11y::before, .bx--tooltip__trigger.bx--tooltip--bottom:focus .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--bottom:focus + .bx--assistive-text, .bx--tooltip__trigger.bx--tooltip--bottom:focus.bx--tooltip--a11y::before {\\n -webkit-animation: tooltip-fade 70ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n animation: tooltip-fade 70ms cubic-bezier(0.2, 0, 0.38, 0.9); }\\n .bx--tooltip__trigger.bx--tooltip--bottom::before, .bx--tooltip__trigger.bx--tooltip--bottom::after,\\n .bx--tooltip__trigger.bx--tooltip--bottom:hover .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--bottom:focus .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--bottom:hover + .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--bottom:focus + .bx--assistive-text {\\n bottom: 0;\\n left: 50%; }\\n .bx--tooltip__trigger.bx--tooltip--bottom::before {\\n border-width: 0 0.25rem 0.3125rem 0.25rem;\\n border-color: transparent transparent #3d3d3d transparent;\\n -webkit-transform: translate(-50%, calc(0.3125rem + 0.5rem));\\n transform: translate(-50%, calc(0.3125rem + 0.5rem)); }\\n .bx--tooltip__trigger.bx--tooltip--bottom::after,\\n .bx--tooltip__trigger.bx--tooltip--bottom:hover .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--bottom:focus .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--bottom:hover + .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--bottom:focus + .bx--assistive-text {\\n -webkit-transform: translate(-50%, calc(100% + 0.5rem + 0.3125rem));\\n transform: translate(-50%, calc(100% + 0.5rem + 0.3125rem)); }\\n .bx--tooltip__trigger.bx--tooltip--bottom.bx--tooltip--align-start::before, .bx--tooltip__trigger.bx--tooltip--bottom.bx--tooltip--align-start::after,\\n .bx--tooltip__trigger.bx--tooltip--bottom.bx--tooltip--align-start:hover .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--bottom.bx--tooltip--align-start:focus .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--bottom.bx--tooltip--align-start:hover + .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--bottom.bx--tooltip--align-start:focus + .bx--assistive-text {\\n bottom: 0;\\n left: 50%; }\\n .bx--tooltip__trigger.bx--tooltip--bottom.bx--tooltip--align-start::before {\\n border-width: 0 0.25rem 0.3125rem 0.25rem;\\n border-color: transparent transparent #3d3d3d transparent;\\n -webkit-transform: translate(-50%, calc(0.3125rem + 0.5rem));\\n transform: translate(-50%, calc(0.3125rem + 0.5rem)); }\\n .bx--tooltip__trigger.bx--tooltip--bottom.bx--tooltip--align-start::after,\\n .bx--tooltip__trigger.bx--tooltip--bottom.bx--tooltip--align-start:hover .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--bottom.bx--tooltip--align-start:focus .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--bottom.bx--tooltip--align-start:hover + .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--bottom.bx--tooltip--align-start:focus + .bx--assistive-text {\\n left: 0;\\n -webkit-transform: translate(0, calc(100% + 0.5rem + 0.3125rem));\\n transform: translate(0, calc(100% + 0.5rem + 0.3125rem)); }\\n .bx--tooltip__trigger.bx--tooltip--bottom.bx--tooltip--align-center::before, .bx--tooltip__trigger.bx--tooltip--bottom.bx--tooltip--align-center::after,\\n .bx--tooltip__trigger.bx--tooltip--bottom.bx--tooltip--align-center:hover .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--bottom.bx--tooltip--align-center:focus .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--bottom.bx--tooltip--align-center:hover + .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--bottom.bx--tooltip--align-center:focus + .bx--assistive-text {\\n bottom: 0;\\n left: 50%; }\\n .bx--tooltip__trigger.bx--tooltip--bottom.bx--tooltip--align-center::before {\\n border-width: 0 0.25rem 0.3125rem 0.25rem;\\n border-color: transparent transparent #3d3d3d transparent;\\n -webkit-transform: translate(-50%, calc(0.3125rem + 0.5rem));\\n transform: translate(-50%, calc(0.3125rem + 0.5rem)); }\\n .bx--tooltip__trigger.bx--tooltip--bottom.bx--tooltip--align-center::after,\\n .bx--tooltip__trigger.bx--tooltip--bottom.bx--tooltip--align-center:hover .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--bottom.bx--tooltip--align-center:focus .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--bottom.bx--tooltip--align-center:hover + .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--bottom.bx--tooltip--align-center:focus + .bx--assistive-text {\\n -webkit-transform: translate(-50%, calc(100% + 0.5rem + 0.3125rem));\\n transform: translate(-50%, calc(100% + 0.5rem + 0.3125rem)); }\\n .bx--tooltip__trigger.bx--tooltip--bottom.bx--tooltip--align-end::before, .bx--tooltip__trigger.bx--tooltip--bottom.bx--tooltip--align-end::after,\\n .bx--tooltip__trigger.bx--tooltip--bottom.bx--tooltip--align-end:hover .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--bottom.bx--tooltip--align-end:focus .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--bottom.bx--tooltip--align-end:hover + .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--bottom.bx--tooltip--align-end:focus + .bx--assistive-text {\\n bottom: 0;\\n left: 50%; }\\n .bx--tooltip__trigger.bx--tooltip--bottom.bx--tooltip--align-end::before {\\n border-width: 0 0.25rem 0.3125rem 0.25rem;\\n border-color: transparent transparent #3d3d3d transparent;\\n -webkit-transform: translate(-50%, calc(0.3125rem + 0.5rem));\\n transform: translate(-50%, calc(0.3125rem + 0.5rem)); }\\n .bx--tooltip__trigger.bx--tooltip--bottom.bx--tooltip--align-end::after,\\n .bx--tooltip__trigger.bx--tooltip--bottom.bx--tooltip--align-end:hover .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--bottom.bx--tooltip--align-end:focus .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--bottom.bx--tooltip--align-end:hover + .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--bottom.bx--tooltip--align-end:focus + .bx--assistive-text {\\n right: 0;\\n left: initial;\\n -webkit-transform: translate(0, calc(100% + 0.5rem + 0.3125rem));\\n transform: translate(0, calc(100% + 0.5rem + 0.3125rem)); }\\n\\n.bx--tooltip__trigger.bx--tooltip--left {\\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__trigger.bx--tooltip--left:focus {\\n outline: 1px solid transparent; }\\n .bx--tooltip__trigger.bx--tooltip--left:focus svg {\\n outline: 1px solid #0062ff; }\\n .bx--tooltip__trigger.bx--tooltip--left::before, .bx--tooltip__trigger.bx--tooltip--left::after,\\n .bx--tooltip__trigger.bx--tooltip--left .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--left + .bx--assistive-text {\\n font-size: 0.875rem;\\n font-weight: 400;\\n line-height: 1.125rem;\\n letter-spacing: 0.16px;\\n position: absolute;\\n z-index: 10000;\\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 opacity: 0;\\n pointer-events: none; }\\n .bx--tooltip__trigger.bx--tooltip--left::before, .bx--tooltip__trigger.bx--tooltip--left::after {\\n -webkit-transition: opacity 70ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: opacity 70ms cubic-bezier(0.2, 0, 0.38, 0.9); }\\n .bx--tooltip__trigger.bx--tooltip--left.bx--tooltip--a11y::before, .bx--tooltip__trigger.bx--tooltip--left.bx--tooltip--a11y::after {\\n -webkit-transition: none;\\n transition: none; }\\n .bx--tooltip__trigger.bx--tooltip--left::before {\\n width: 0;\\n height: 0;\\n border-style: solid;\\n content: ''; }\\n .bx--tooltip__trigger.bx--tooltip--left .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--left + .bx--assistive-text {\\n -webkit-box-sizing: content-box;\\n box-sizing: content-box;\\n color: inherit;\\n opacity: 1;\\n white-space: normal; }\\n .bx--tooltip__trigger.bx--tooltip--left::after,\\n .bx--tooltip__trigger.bx--tooltip--left:hover .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--left:focus .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--left:hover + .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--left:focus + .bx--assistive-text {\\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 width: -webkit-max-content;\\n width: -moz-max-content;\\n width: max-content;\\n max-width: 13rem;\\n height: auto;\\n padding: 0.125rem 1rem;\\n border-radius: 0.125rem;\\n color: #ffffff;\\n font-weight: 400;\\n text-align: left;\\n -webkit-transform: translateX(-50%);\\n transform: translateX(-50%);\\n pointer-events: none;\\n background-color: #3d3d3d; }\\n .bx--tooltip__trigger.bx--tooltip--left::after {\\n content: attr(aria-label); }\\n .bx--tooltip__trigger.bx--tooltip--left.bx--tooltip--a11y::after {\\n content: none; }\\n .bx--tooltip__trigger.bx--tooltip--left:hover::before, .bx--tooltip__trigger.bx--tooltip--left:hover::after, .bx--tooltip__trigger.bx--tooltip--left:focus::before, .bx--tooltip__trigger.bx--tooltip--left:focus::after {\\n opacity: 1; }\\n\\n@keyframes tooltip-fade {\\n from {\\n opacity: 0; }\\n to {\\n opacity: 1; } }\\n .bx--tooltip__trigger.bx--tooltip--left:hover .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--left:hover + .bx--assistive-text, .bx--tooltip__trigger.bx--tooltip--left:focus .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--left:focus + .bx--assistive-text {\\n clip: auto;\\n margin: auto;\\n overflow: visible; }\\n .bx--tooltip__trigger.bx--tooltip--left:hover .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--left:hover + .bx--assistive-text, .bx--tooltip__trigger.bx--tooltip--left:hover.bx--tooltip--a11y::before, .bx--tooltip__trigger.bx--tooltip--left:focus .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--left:focus + .bx--assistive-text, .bx--tooltip__trigger.bx--tooltip--left:focus.bx--tooltip--a11y::before {\\n -webkit-animation: tooltip-fade 70ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n animation: tooltip-fade 70ms cubic-bezier(0.2, 0, 0.38, 0.9); }\\n .bx--tooltip__trigger.bx--tooltip--left::before, .bx--tooltip__trigger.bx--tooltip--left::after,\\n .bx--tooltip__trigger.bx--tooltip--left:hover .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--left:focus .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--left:hover + .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--left:focus + .bx--assistive-text {\\n top: 50%;\\n left: 0; }\\n .bx--tooltip__trigger.bx--tooltip--left::before {\\n border-width: 0.25rem 0 0.25rem 0.3125rem;\\n border-color: transparent transparent transparent #3d3d3d;\\n -webkit-transform: translate(calc(-1 * (0.3125rem + 0.5rem)), -50%);\\n transform: translate(calc(-1 * (0.3125rem + 0.5rem)), -50%); }\\n .bx--tooltip__trigger.bx--tooltip--left::after,\\n .bx--tooltip__trigger.bx--tooltip--left:hover .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--left:focus .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--left:hover + .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--left:focus + .bx--assistive-text {\\n -webkit-transform: translate(calc(-1 * (100% + 0.5rem + 0.3125rem)), -50%);\\n transform: translate(calc(-1 * (100% + 0.5rem + 0.3125rem)), -50%); }\\n .bx--tooltip__trigger.bx--tooltip--left.bx--tooltip--align-start::before, .bx--tooltip__trigger.bx--tooltip--left.bx--tooltip--align-start::after,\\n .bx--tooltip__trigger.bx--tooltip--left.bx--tooltip--align-start:hover .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--left.bx--tooltip--align-start:focus .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--left.bx--tooltip--align-start:hover + .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--left.bx--tooltip--align-start:focus + .bx--assistive-text {\\n top: 50%;\\n left: 0; }\\n .bx--tooltip__trigger.bx--tooltip--left.bx--tooltip--align-start::before {\\n border-width: 0.25rem 0 0.25rem 0.3125rem;\\n border-color: transparent transparent transparent #3d3d3d;\\n -webkit-transform: translate(calc(-1 * (0.3125rem + 0.5rem)), -50%);\\n transform: translate(calc(-1 * (0.3125rem + 0.5rem)), -50%); }\\n .bx--tooltip__trigger.bx--tooltip--left.bx--tooltip--align-start::after,\\n .bx--tooltip__trigger.bx--tooltip--left.bx--tooltip--align-start:hover .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--left.bx--tooltip--align-start:focus .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--left.bx--tooltip--align-start:hover + .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--left.bx--tooltip--align-start:focus + .bx--assistive-text {\\n -webkit-transform: translate(calc(-1 * (100% + 0.5rem + 0.3125rem)), -50%);\\n transform: translate(calc(-1 * (100% + 0.5rem + 0.3125rem)), -50%); }\\n .bx--tooltip__trigger.bx--tooltip--left.bx--tooltip--align-center::before, .bx--tooltip__trigger.bx--tooltip--left.bx--tooltip--align-center::after,\\n .bx--tooltip__trigger.bx--tooltip--left.bx--tooltip--align-center:hover .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--left.bx--tooltip--align-center:focus .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--left.bx--tooltip--align-center:hover + .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--left.bx--tooltip--align-center:focus + .bx--assistive-text {\\n top: 50%;\\n left: 0; }\\n .bx--tooltip__trigger.bx--tooltip--left.bx--tooltip--align-center::before {\\n border-width: 0.25rem 0 0.25rem 0.3125rem;\\n border-color: transparent transparent transparent #3d3d3d;\\n -webkit-transform: translate(calc(-1 * (0.3125rem + 0.5rem)), -50%);\\n transform: translate(calc(-1 * (0.3125rem + 0.5rem)), -50%); }\\n .bx--tooltip__trigger.bx--tooltip--left.bx--tooltip--align-center::after,\\n .bx--tooltip__trigger.bx--tooltip--left.bx--tooltip--align-center:hover .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--left.bx--tooltip--align-center:focus .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--left.bx--tooltip--align-center:hover + .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--left.bx--tooltip--align-center:focus + .bx--assistive-text {\\n -webkit-transform: translate(calc(-1 * (100% + 0.5rem + 0.3125rem)), -50%);\\n transform: translate(calc(-1 * (100% + 0.5rem + 0.3125rem)), -50%); }\\n .bx--tooltip__trigger.bx--tooltip--left.bx--tooltip--align-end::before, .bx--tooltip__trigger.bx--tooltip--left.bx--tooltip--align-end::after,\\n .bx--tooltip__trigger.bx--tooltip--left.bx--tooltip--align-end:hover .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--left.bx--tooltip--align-end:focus .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--left.bx--tooltip--align-end:hover + .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--left.bx--tooltip--align-end:focus + .bx--assistive-text {\\n top: 50%;\\n left: 0; }\\n .bx--tooltip__trigger.bx--tooltip--left.bx--tooltip--align-end::before {\\n border-width: 0.25rem 0 0.25rem 0.3125rem;\\n border-color: transparent transparent transparent #3d3d3d;\\n -webkit-transform: translate(calc(-1 * (0.3125rem + 0.5rem)), -50%);\\n transform: translate(calc(-1 * (0.3125rem + 0.5rem)), -50%); }\\n .bx--tooltip__trigger.bx--tooltip--left.bx--tooltip--align-end::after,\\n .bx--tooltip__trigger.bx--tooltip--left.bx--tooltip--align-end:hover .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--left.bx--tooltip--align-end:focus .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--left.bx--tooltip--align-end:hover + .bx--assistive-text,\\n .bx--tooltip__trigger.bx--tooltip--left.bx--tooltip--align-end:focus + .bx--assistive-text {\\n -webkit-transform: translate(calc(-1 * (100% + 0.5rem + 0.3125rem)), -50%);\\n transform: translate(calc(-1 * (100% + 0.5rem + 0.3125rem)), -50%); }\\n\\n.bx--tabs {\\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 70ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: -webkit-transform 70ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: transform 70ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: transform 70ms cubic-bezier(0.2, 0, 0.38, 0.9), -webkit-transform 70ms 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 70ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: outline 70ms 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 70ms;\\n transition: -webkit-transform 70ms;\\n transition: transform 70ms;\\n transition: transform 70ms, -webkit-transform 70ms;\\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: 9100;\\n background: #f3f3f3;\\n -webkit-transition: max-height 70ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: max-height 70ms 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 70ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: max-height 70ms 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 display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n padding: 0;\\n cursor: pointer;\\n width: 100%;\\n height: 2.5rem;\\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 @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.bx--tabs__nav-item .bx--tabs__nav-link {\\n -webkit-transition: color 70ms cubic-bezier(0.2, 0, 0.38, 0.9), border-bottom-color 70ms cubic-bezier(0.2, 0, 0.38, 0.9), outline 70ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: color 70ms cubic-bezier(0.2, 0, 0.38, 0.9), border-bottom-color 70ms cubic-bezier(0.2, 0, 0.38, 0.9), outline 70ms cubic-bezier(0.2, 0, 0.38, 0.9); }\\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 outline: none; }\\n\\n.bx--tabs__nav-item--disabled .bx--tabs__nav-link {\\n pointer-events: none; }\\n\\n.bx--tabs__nav-item--selected:not(.bx--tabs__nav-item--disabled) {\\n border: none;\\n display: none;\\n -webkit-transition: color 70ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: color 70ms cubic-bezier(0.2, 0, 0.38, 0.9); }\\n @media (min-width: 42rem) {\\n .bx--tabs__nav-item--selected:not(.bx--tabs__nav-item--disabled) {\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex; }\\n .bx--tabs__nav-item--selected:not(.bx--tabs__nav-item--disabled) .bx--tabs__nav-link {\\n color: #171717;\\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 solid #0062ff; } }\\n\\na.bx--tabs__nav-link {\\n outline: 2px solid transparent;\\n outline-offset: -2px;\\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 -webkit-transition: border 70ms cubic-bezier(0.2, 0, 0.38, 0.9), outline 70ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: border 70ms cubic-bezier(0.2, 0, 0.38, 0.9), outline 70ms cubic-bezier(0.2, 0, 0.38, 0.9); }\\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: #e5e5e5;\\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 background: #bebebe;\\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: #e5e5e5;\\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 background: #bebebe;\\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-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: #4c4c4c; }\\n\\n.bx--tag--filter:focus,\\n.bx--tag--filter:hover {\\n outline: none; }\\n\\n.bx--tag--filter:focus > svg {\\n border: 2px solid #ffffff;\\n border-radius: 50%; }\\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: #e5e5e5;\\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 background: #bebebe;\\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-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-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\\n.bx--select__item-count\\n.bx--select-input {\\n border-right: 0.0625rem solid #dcdcdc; }\\n @media (min-width: 42rem) {\\n .bx--pagination\\n.bx--select__item-count\\n.bx--select-input {\\n padding-right: 2rem;\\n margin-right: -0.65rem; } }\\n\\n.bx--pagination\\n.bx--select__page-number\\n.bx--select-input {\\n border-left: 1px solid #dcdcdc; }\\n @media (min-width: 42rem) {\\n .bx--pagination\\n.bx--select__page-number\\n.bx--select-input {\\n padding-left: 1rem;\\n padding-right: 2rem; } }\\n\\n@media (min-width: 42rem) {\\n .bx--pagination\\n.bx--select__page-number\\n.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 border: 2px solid #0062ff;\\n -webkit-box-sizing: border-box;\\n box-sizing: border-box; }\\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-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-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\\n.bx--accordion__heading:focus\\n.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 overflow: visible; }\\n .bx--progress-step .bx--tooltip__label {\\n display: block; }\\n\\n.bx--progress-line {\\n position: absolute;\\n left: 0;\\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 font-size: 0.875rem;\\n font-weight: 400;\\n line-height: 1.125rem;\\n letter-spacing: 0.16px;\\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 -webkit-transition: color 110ms cubic-bezier(0.2, 0, 0.38, 0.9), -webkit-box-shadow 110ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: color 110ms cubic-bezier(0.2, 0, 0.38, 0.9), -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), color 110ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: box-shadow 110ms cubic-bezier(0.2, 0, 0.38, 0.9), color 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\\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 font-size: 0.875rem;\\n font-weight: 400;\\n line-height: 1.25rem;\\n letter-spacing: 0.16px;\\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 color: #ffffff; }\\n\\n.bx--progress-step .bx--tooltip_multi {\\n font-size: 0.875rem;\\n font-weight: 400;\\n line-height: 1.25rem;\\n letter-spacing: 0.16px;\\n width: 9.375rem;\\n height: auto;\\n color: #ffffff; }\\n\\n.bx--progress-optional {\\n font-size: 0.75rem;\\n font-weight: 400;\\n line-height: 1rem;\\n letter-spacing: 0.32px;\\n position: absolute;\\n left: 0;\\n margin-left: 1.5rem;\\n margin-top: 1.75rem;\\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\\n~ .bx--tooltip--definition\\n.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: #e5e5e5;\\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 background: #bebebe;\\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: auto;\\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-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\\n.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\\n.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: #e5e5e5;\\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 background: #bebebe;\\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-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)\\n.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-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 cubic-bezier(0.2, 0, 0.38, 0.9), background-color 70ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: outline 70ms cubic-bezier(0.2, 0, 0.38, 0.9), background-color 70ms cubic-bezier(0.2, 0, 0.38, 0.9); }\\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-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 110ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: background 110ms 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 110ms cubic-bezier(0.2, 0, 0.38, 0.9), -webkit-transform 110ms cubic-bezier(0.2, 0, 0.38, 0.9), -webkit-box-shadow 110ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: background 110ms cubic-bezier(0.2, 0, 0.38, 0.9), -webkit-transform 110ms cubic-bezier(0.2, 0, 0.38, 0.9), -webkit-box-shadow 110ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: transform 110ms cubic-bezier(0.2, 0, 0.38, 0.9), background 110ms cubic-bezier(0.2, 0, 0.38, 0.9), box-shadow 110ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: transform 110ms cubic-bezier(0.2, 0, 0.38, 0.9), background 110ms cubic-bezier(0.2, 0, 0.38, 0.9), box-shadow 110ms cubic-bezier(0.2, 0, 0.38, 0.9), -webkit-transform 110ms cubic-bezier(0.2, 0, 0.38, 0.9), -webkit-box-shadow 110ms 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\\n~ .bx--slider-container\\n> .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\\n.bx--slider__thumb:focus\\n~ .bx--slider__filled-track {\\n background-color: #dcdcdc;\\n cursor: not-allowed; }\\n\\n.bx--slider--disabled\\n~ .bx--form-item\\n.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 cursor: not-allowed; }\\n .bx--slider--disabled\\n~ .bx--form-item\\n.bx--slider-text-input:active, .bx--slider--disabled\\n~ .bx--form-item\\n.bx--slider-text-input:focus, .bx--slider--disabled\\n~ .bx--form-item\\n.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\\n.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: #e5e5e5;\\n width: 1.25rem;\\n height: 0.75rem; }\\n .bx--slider-container.bx--skeleton\\n.bx--slider__range-label:hover, .bx--slider-container.bx--skeleton\\n.bx--slider__range-label:focus, .bx--slider-container.bx--skeleton\\n.bx--slider__range-label:active {\\n border: none;\\n outline: none;\\n cursor: default; }\\n .bx--slider-container.bx--skeleton\\n.bx--slider__range-label:before {\\n content: '';\\n width: 0%;\\n height: 100%;\\n position: absolute;\\n top: 0;\\n left: 0;\\n background: #bebebe;\\n -webkit-animation: 3000ms ease-in-out skeleton infinite;\\n animation: 3000ms ease-in-out skeleton infinite; }\\n\\n.bx--slider-container.bx--skeleton\\n.bx--slider__track {\\n cursor: default;\\n pointer-events: none; }\\n\\n.bx--slider-container.bx--skeleton\\n.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\\n+ .bx--tile\\n> .bx--tile__checkmark\\nsvg {\\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: #e5e5e5;\\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 background: #bebebe;\\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: #e5e5e5;\\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 background: #bebebe;\\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: #e5e5e5;\\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 background: #bebebe;\\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@-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-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-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-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: #171717;\\n border-bottom: 1px solid #3d3d3d;\\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.125rem solid transparent;\\n -webkit-transition: background-color 110ms, border-color 110ms;\\n transition: background-color 110ms, border-color 110ms; }\\n .bx--header__action::-moz-focus-inner {\\n border: 0; }\\n\\n.bx--header__action\\n> svg.bx--navigation-menu-panel-collapse-icon,\\n.bx--header__action--active\\n> svg.bx--navigation-menu-panel-expand-icon {\\n display: none; }\\n\\n.bx--header__action--active\\n> svg.bx--navigation-menu-panel-collapse-icon {\\n display: inline; }\\n\\n.bx--header__action\\n> svg.bx--navigation-menu-panel-collapse-icon,\\n.bx--header__action--active\\n> svg.bx--navigation-menu-panel-expand-icon {\\n display: none; }\\n\\n.bx--header__action--active\\n> svg.bx--navigation-menu-panel-collapse-icon {\\n display: inline; }\\n\\n.bx--header__action:hover {\\n background-color: #353535; }\\n\\n.bx--header__action--active {\\n border-left: 1px solid #3d3d3d;\\n border-right: 1px solid #3d3d3d;\\n border-bottom: 1px solid #171717; }\\n\\n.bx--header__action:focus {\\n border-color: #ffffff;\\n outline: none; }\\n\\n.bx--header__action:active {\\n background-color: #3d3d3d; }\\n\\n.bx--header__action > svg {\\n fill: #ffffff; }\\n\\n.bx--header__menu-trigger {\\n margin-right: -0.5rem; }\\n\\n.bx--header__menu-trigger > svg {\\n fill: #f3f3f3; }\\n\\n.bx--header__menu-trigger:hover {\\n fill: #2c2c2c; }\\n\\n.bx--header__menu-toggle {\\n display: block; }\\n\\n@media (min-width: 66rem) {\\n .bx--header__menu-toggle__hidden {\\n display: none; } }\\n\\na.bx--header__name {\\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 2rem 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 border: 0.125rem solid transparent;\\n -webkit-transition: border-color 110ms;\\n transition: border-color 110ms;\\n outline: none; }\\n\\na.bx--header__name:focus {\\n border-color: #ffffff; }\\n\\n.bx--header__name--prefix {\\n font-weight: 400; }\\n\\na.bx--header__name,\\na.bx--header__name:hover {\\n color: #f3f3f3; }\\n\\n.bx--header__nav {\\n height: 100%;\\n padding-left: 1rem;\\n position: relative;\\n display: block; }\\n @media (max-width: 66rem) {\\n .bx--header__nav {\\n display: none; } }\\n .bx--header__nav::before {\\n content: '';\\n display: block;\\n position: absolute;\\n left: 0;\\n top: 50%;\\n -webkit-transform: translateY(-50%);\\n transform: translateY(-50%);\\n height: 1.5rem;\\n width: 0.0625rem;\\n background-color: #3d3d3d; }\\n\\n.bx--header__menu-bar[role='menubar'] {\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\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: #bebebe;\\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: 2px solid transparent;\\n -webkit-transition: background-color 110ms, border-color 110ms, color 110ms;\\n transition: background-color 110ms, border-color 110ms, color 110ms; }\\n\\na.bx--header__menu-item[role='menuitem']:hover {\\n background-color: #2c2c2c;\\n color: #f3f3f3; }\\n\\n.bx--header__action:active,\\na.bx--header__menu-item[role='menuitem']:active {\\n background-color: #3d3d3d;\\n color: #f3f3f3; }\\n\\na.bx--header__menu-item[role='menuitem']:focus {\\n border-color: #ffffff;\\n color: #f3f3f3;\\n outline: none; }\\n\\na.bx--header__menu-item[role='menuitem']:hover > svg,\\na.bx--header__menu-item[role='menuitem']:active > svg,\\na.bx--header__menu-item[role='menuitem']:focus > svg {\\n fill: #f3f3f3; }\\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: #282828;\\n color: #ffffff;\\n z-index: 6001; }\\n\\n.bx--header__menu-title[role='menuitem'][aria-expanded='true']\\n> .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']\\n+ .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: #282828;\\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-title[role='menuitem'][aria-expanded='true']\\n+ .bx--header__menu\\n.bx--header__menu-item:hover {\\n background-color: #353535; }\\n\\n.bx--header__menu-title[role='menuitem'][aria-expanded='true']\\n+ .bx--header__menu\\n.bx--header__menu-item:active {\\n background-color: #3d3d3d; }\\n\\n.bx--header__menu .bx--header__menu-item[role='menuitem'] {\\n height: 3rem; }\\n\\n.bx--header__menu\\n.bx--header__menu-item[role='menuitem']:hover {\\n background-color: #282828;\\n color: #f3f3f3; }\\n\\n.bx--header__menu-arrow {\\n fill: #bebebe;\\n margin-left: 0.5rem;\\n -webkit-transition: fill 110ms, -webkit-transform 110ms;\\n transition: fill 110ms, -webkit-transform 110ms;\\n transition: transform 110ms, fill 110ms;\\n transition: transform 110ms, fill 110ms, -webkit-transform 110ms; }\\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: #171717;\\n color: #f3f3f3;\\n outline: none;\\n padding: 0 1rem; }\\n\\n.bx--header-panel {\\n -webkit-transition-timing-function: cubic-bezier(0.2, 0, 1, 0.9);\\n transition-timing-function: cubic-bezier(0.2, 0, 1, 0.9);\\n position: fixed;\\n top: 3rem;\\n bottom: 0;\\n right: 0;\\n width: 0;\\n background-color: #171717;\\n border: none;\\n will-change: width;\\n -webkit-transition: width 0.11s;\\n transition: width 0.11s;\\n overflow: hidden;\\n z-index: 6000;\\n color: #bebebe; }\\n\\n.bx--header-panel--expanded {\\n width: 16rem;\\n border-left: 1px solid #3d3d3d;\\n border-right: 1px solid #3d3d3d; }\\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: #171717;\\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: #dcdcdc; }\\n\\n.bx--product-switcher__subheader,\\n.bx--product-switcher__all-btn {\\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: #bebebe; }\\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-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-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: #bebebe; }\\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: #bebebe; }\\n\\n.bx--product-switcher__product-list .bx--overflow-menu:hover {\\n background: #bebebe; }\\n\\n.bx--product-switcher__product-list\\n.bx--overflow-menu:hover\\n> svg {\\n fill: #bebebe; }\\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\\n.bx--overflow-menu-options__option:hover {\\n background: #ffffff; }\\n\\n.bx--product-list__item:hover .bx--overflow-menu {\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex; }\\n\\n.bx--switcher {\\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 color: #bebebe; }\\n\\n.bx--switcher__item {\\n width: 100%;\\n height: 2rem; }\\n\\n.bx--switcher__item:nth-child(1) {\\n margin-top: 1rem; }\\n\\n.bx--switcher__item--divider {\\n display: block;\\n width: 14rem;\\n height: 1px;\\n margin: 0.5rem 1rem;\\n background: #3d3d3d;\\n border: none; }\\n\\n.bx--switcher__item-link {\\n font-size: 0.875rem;\\n font-weight: 600;\\n line-height: 1.125rem;\\n letter-spacing: 0.16px;\\n display: block;\\n height: 2rem;\\n text-decoration: none;\\n padding: 0.375rem 1rem;\\n color: #bebebe; }\\n .bx--switcher__item-link:hover:not(.bx--switcher__item-link--selected) {\\n background: #2c2c2c;\\n color: #f3f3f3;\\n cursor: pointer; }\\n .bx--switcher__item-link:focus {\\n outline: 2px solid #ffffff;\\n outline-offset: -2px; }\\n .bx--switcher__item-link:active {\\n background: #3d3d3d;\\n color: #f3f3f3; }\\n\\n.bx--switcher__item-link--selected {\\n background: #282828;\\n color: #f3f3f3; }\\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: #565656;\\n background-color: #ffffff;\\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 z-index: 6000; }\\n\\n.bx--side-nav--ux {\\n top: 3rem;\\n width: 16rem; }\\n @media (max-width: 66rem) {\\n .bx--side-nav--ux {\\n width: 0; } }\\n\\n.bx--side-nav--rail {\\n width: 3rem; }\\n\\n.bx--side-nav--hidden {\\n width: 0; }\\n\\n.bx--side-nav:not(.bx--side-nav--fixed):hover,\\n.bx--side-nav--expanded {\\n width: 16rem; }\\n\\n.bx--side-nav__overlay {\\n position: absolute;\\n top: 3rem;\\n height: 0;\\n width: 0;\\n background-color: transparent;\\n opacity: 0;\\n -webkit-transition: opacity 240ms cubic-bezier(0.2, 0, 0.38, 0.9), background-color 240ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: opacity 240ms cubic-bezier(0.2, 0, 0.38, 0.9), background-color 240ms cubic-bezier(0.2, 0, 0.38, 0.9); }\\n\\n@media (max-width: 66rem) {\\n .bx--side-nav__overlay-active {\\n height: 100vh;\\n width: 100%;\\n background-color: rgba(23, 23, 23, 0.5);\\n opacity: 1;\\n -webkit-transition: opacity 240ms cubic-bezier(0.2, 0, 0.38, 0.9), background-color 240ms cubic-bezier(0.2, 0, 0.38, 0.9);\\n transition: opacity 240ms cubic-bezier(0.2, 0, 0.38, 0.9), background-color 240ms cubic-bezier(0.2, 0, 0.38, 0.9); } }\\n\\n.bx--header ~ .bx--side-nav {\\n top: 3rem;\\n height: calc(100% - 48px); }\\n\\n.bx--side-nav--fixed {\\n width: 16rem; }\\n\\n.bx--side-nav--collapsed {\\n width: 16rem;\\n -webkit-transform: translateX(-16rem);\\n transform: translateX(-16rem); }\\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--ux .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--ux .bx--side-nav__details {\\n opacity: 1;\\n visibility: inherit; }\\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: #565656; }\\n\\n.bx--side-nav__select {\\n outline: 2px solid transparent;\\n outline-offset: -2px;\\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: #171717;\\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 -webkit-transition: outline 110ms;\\n transition: outline 110ms; }\\n\\n.bx--side-nav__select:focus {\\n outline: 2px solid #0062ff;\\n outline-offset: -2px; }\\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: #ffffff; }\\n\\n.bx--side-nav__toggle {\\n outline: 2px solid transparent;\\n outline-offset: -2px;\\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 -webkit-transition: outline 110ms;\\n transition: outline 110ms; }\\n .bx--side-nav__toggle::-moz-focus-inner {\\n border: 0; }\\n\\n.bx--side-nav__toggle:focus {\\n outline: 2px solid #0062ff;\\n outline-offset: -2px; }\\n\\n.bx--side-nav__toggle {\\n padding-left: 1rem; }\\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 padding: 1rem 0 0; }\\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--ux .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--ux .bx--side-nav__item {\\n width: auto;\\n height: auto; }\\n\\n.bx--side-nav__item:not(.bx--side-nav__item--active):hover\\n.bx--side-nav__item:not(.bx--side-nav__item--active)\\n> .bx--side-nav__submenu:hover,\\n.bx--side-nav__item:not(.bx--side-nav__item--active)\\n> .bx--side-nav__link:hover,\\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.bx--side-nav a.bx--header__menu-item[role='menuitem']:hover,\\n.bx--side-nav\\n.bx--header__menu-title[role='menuitem'][aria-expanded='true']:hover {\\n background-color: #e5e5e5;\\n color: #171717; }\\n\\n.bx--side-nav__item:not(.bx--side-nav__item--active)\\n> .bx--side-nav__link:hover\\n> span,\\n.bx--side-nav__item:not(.bx--side-nav__item--active)\\n.bx--side-nav__menu-item\\n> .bx--side-nav__link:hover\\n> span {\\n color: #171717; }\\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 font-size: 0.875rem;\\n font-weight: 600;\\n line-height: 1.125rem;\\n letter-spacing: 0.16px;\\n outline: 2px solid transparent;\\n outline-offset: -2px;\\n padding: 0 1rem;\\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: #565656;\\n height: 2rem;\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n -ms-user-select: none;\\n user-select: none;\\n -webkit-transition: color 110ms, background-color 110ms, outline 110ms;\\n transition: color 110ms, background-color 110ms, outline 110ms; }\\n .bx--side-nav__submenu[aria-haspopup='true']::-moz-focus-inner {\\n border: 0; }\\n\\n.bx--side-nav__submenu:hover {\\n background-color: #e5e5e5;\\n color: #171717; }\\n\\n.bx--side-nav__submenu:focus {\\n outline: 2px solid #0062ff;\\n outline-offset: -2px; }\\n\\n.bx--side-nav__submenu-title {\\n white-space: nowrap;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n text-align: left; }\\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\\n.bx--side-nav__submenu-chevron > svg {\\n -webkit-transition: -webkit-transform 110ms;\\n transition: -webkit-transform 110ms;\\n transition: transform 110ms;\\n transition: transform 110ms, -webkit-transform 110ms;\\n height: 1rem;\\n width: 1rem; }\\n\\n.bx--side-nav__submenu[aria-expanded='true']\\n.bx--side-nav__submenu-chevron\\n> svg {\\n -webkit-transform: rotate(180deg);\\n transform: rotate(180deg); }\\n\\n.bx--side-nav__item--active .bx--side-nav__submenu:hover {\\n background-color: #e5e5e5;\\n color: #171717; }\\n\\n.bx--side-nav__item--active\\n.bx--side-nav__submenu[aria-expanded='false'] {\\n background-color: #e5e5e5;\\n color: #171717;\\n position: relative; }\\n .bx--side-nav__item--active\\n.bx--side-nav__submenu[aria-expanded='false']::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__item--active .bx--side-nav__submenu-title {\\n font-weight: 600;\\n color: #171717; }\\n\\n.bx--side-nav__menu[role='menu'] {\\n display: block;\\n visibility: hidden;\\n max-height: 0; }\\n\\n.bx--side-nav__submenu[aria-expanded='true']\\n+ .bx--side-nav__menu[role='menu'] {\\n max-height: 93.75rem;\\n visibility: inherit; }\\n\\n.bx--side-nav__menu[role='menu']\\na.bx--side-nav__link[role='menuitem'] {\\n height: 2rem;\\n min-height: 2rem;\\n padding-left: 2rem;\\n font-weight: 400; }\\n\\n.bx--side-nav__item.bx--side-nav__item--icon\\na.bx--side-nav__link[role='menuitem'] {\\n padding-left: 4.5rem; }\\n\\n.bx--side-nav__menu[role='menu']\\na.bx--side-nav__link--current,\\n.bx--side-nav__menu[role='menu']\\na.bx--side-nav__link[aria-current='page'],\\na.bx--side-nav__link--current {\\n background-color: #dcdcdc; }\\n .bx--side-nav__menu[role='menu']\\na.bx--side-nav__link--current > span,\\n .bx--side-nav__menu[role='menu']\\na.bx--side-nav__link[aria-current='page'] > span,\\n a.bx--side-nav__link--current > span {\\n color: #171717;\\n font-weight: 600; }\\n\\na.bx--side-nav__link--current > span.bx--side-nav__link-text {\\n color: #171717;\\n font-weight: 600; }\\n\\na.bx--side-nav__link,\\n.bx--side-nav a.bx--header__menu-item[role='menuitem'],\\n.bx--side-nav\\n.bx--header__menu-title[role='menuitem'][aria-expanded='true']\\n+ .bx--header__menu {\\n outline: 2px solid transparent;\\n outline-offset: -2px;\\n font-size: 0.875rem;\\n font-weight: 600;\\n line-height: 1.125rem;\\n letter-spacing: 0.16px;\\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: 2rem;\\n padding: 0 1rem;\\n -webkit-transition: color 110ms, background-color 110ms, outline 110ms;\\n transition: color 110ms, background-color 110ms, outline 110ms; }\\n\\na.bx--side-nav__link > .bx--side-nav__link-text,\\n.bx--side-nav\\na.bx--header__menu-item[role='menuitem']\\n.bx--text-truncate-end {\\n white-space: nowrap;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n color: #565656;\\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.bx--side-nav a.bx--header__menu-item[role='menuitem']:focus {\\n outline: 2px solid #0062ff;\\n outline-offset: -2px; }\\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 -webkit-box-flex: 0;\\n -ms-flex: 0 0 1rem;\\n flex: 0 0 1rem; }\\n\\n.bx--side-nav__icon:not(.bx--side-nav__submenu-chevron) {\\n margin-right: 1.5rem; }\\n\\n.bx--side-nav__icon > svg {\\n fill: #565656;\\n width: 1rem;\\n height: 1rem; }\\n\\n.bx--side-nav__icon > svg.bx--side-nav-collapse-icon {\\n display: none; }\\n\\n.bx--side-nav--expanded\\n.bx--side-nav__icon\\n> svg.bx--side-nav-expand-icon {\\n display: none; }\\n\\n.bx--side-nav--expanded\\n.bx--side-nav__icon\\n> 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\\n.bx--side-nav__submenu[aria-haspopup='true'] {\\n padding-left: 1rem; }\\n\\n.bx--side-nav--fixed\\n.bx--side-nav__menu[role='menu']\\na.bx--side-nav__link {\\n padding-left: 2rem; }\\n\\n@media (max-width: 66rem) {\\n .bx--side-nav .bx--header__nav {\\n display: block; } }\\n\\n.bx--side-nav__header-navigation {\\n display: none; }\\n @media (max-width: 66rem) {\\n .bx--side-nav__header-navigation {\\n display: block;\\n position: relative;\\n margin-bottom: 2rem; } }\\n\\n.bx--side-nav__header-divider::after {\\n content: '';\\n position: absolute;\\n height: 0.0625rem;\\n bottom: -1rem;\\n left: 1rem;\\n width: calc(100% - 32px);\\n background: #dcdcdc; }\\n\\n.bx--side-nav a.bx--header__menu-item[role='menuitem'] {\\n color: #565656;\\n white-space: nowrap;\\n -webkit-box-pack: justify;\\n -ms-flex-pack: justify;\\n justify-content: space-between; }\\n .bx--side-nav a.bx--header__menu-item[role='menuitem'][aria-expanded='true'] {\\n background-color: transparent; }\\n\\n.bx--side-nav\\n.bx--header__menu-title[role='menuitem'][aria-expanded='true']\\n+ .bx--header__menu {\\n bottom: inherit;\\n width: 100%;\\n -webkit-box-shadow: none;\\n box-shadow: none;\\n -webkit-transform: none;\\n transform: none;\\n background-color: transparent;\\n padding: 0; }\\n .bx--side-nav\\n.bx--header__menu-title[role='menuitem'][aria-expanded='true']\\n+ .bx--header__menu li {\\n width: 100%; }\\n .bx--side-nav\\n.bx--header__menu-title[role='menuitem'][aria-expanded='true']\\n+ .bx--header__menu a.bx--header__menu-item[role='menuitem'] {\\n padding-left: 4.25rem;\\n font-weight: 400; }\\n .bx--side-nav\\n.bx--header__menu-title[role='menuitem'][aria-expanded='true']\\n+ .bx--header__menu a.bx--header__menu-item[role='menuitem']:hover {\\n background-color: #e5e5e5;\\n color: #171717; }\\n\\n.bx--side-nav\\n.bx--header__menu\\na.bx--header__menu-item[role='menuitem'] {\\n height: inherit; }\\n\\n.bx--side-nav\\na.bx--header__menu-item[role='menuitem']:hover\\n.bx--header__menu-arrow,\\n.bx--side-nav\\na.bx--header__menu-item[role='menuitem']:focus\\n.bx--header__menu-arrow,\\n.bx--side-nav .bx--header__menu-arrow {\\n fill: #565656; }\\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: 9100;\\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\\n.bx--navigation__category-item\\n> 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\\n> a.bx--navigation-link {\\n font-weight: 600;\\n color: #ffffff; }\\n\\n.bx--navigation__category--expanded\\n.bx--navigation__category-title {\\n font-weight: 600; }\\n\\n.bx--navigation__category--expanded\\n.bx--navigation__category-title\\n> svg {\\n -webkit-transform: rotate(180deg);\\n transform: rotate(180deg); }\\n\\n.bx--navigation__category--expanded\\n.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 background: #ffffff;\\n padding: 2rem;\\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(.full-page) {\\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-definition.stories.ts\": \"./src/dialog/tooltip/tooltip-definition.stories.ts\",\n\t\"./dialog/tooltip/tooltip-icon.stories.ts\": \"./src/dialog/tooltip/tooltip-icon.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/**\n * [See demo](../../?path=/story/accordion--basic)\n *\n * <example-url>../../iframe.html?id=accordion--basic</example-url>\n *\n * @export\n * @class Accordion\n * @implements {AfterContentInit}\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, DocumentationModule } from '../';\\n\\nstoriesOf('Accordion', module)\\n .addDecorator(\\n moduleMetadata({\\n imports: [AccordionModule, DocumentationModule],\\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 .add('Documentation', () => ({\\n template: `\\n\\t\\t\\t<ibm-documentation src=\\\"documentation/components/Accordion.html\\\"></ibm-documentation>\\n\\t\\t`,\\n }));\\n\";\n export var __ADDS_MAP__ = {\"accordion--documentation\":{\"startLoc\":{\"col\":7,\"line\":65},\"endLoc\":{\"col\":4,\"line\":69}},\"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, DocumentationModule } 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\tDocumentationModule\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\t.add(\"Documentation\", () => ({\n\t\ttemplate: `\n\t\t\t<ibm-documentation src=\"documentation/components/Accordion.html\"></ibm-documentation>\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\tTemplateRef\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/**\n * [See demo](../../?path=/story/breadcrumb--basic)\n *\n * <example-url>../../iframe.html?id=breadcrumb--basic</example-url>\n *\n * @export\n * @class Breadcrumb\n * @implements {AfterContentInit}\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<ng-container *ngIf=\"!item.template\">{{item.content}}</ng-container>\n\t\t\t\t<ng-template\n\t\t\t\t\t*ngIf=\"item.template\"\n\t\t\t\t\t[ngTemplateOutlet]=\"item.template\"\n\t\t\t\t\t[ngTemplateOutletContext]=\"{ $implicit: item }\">\n\t\t\t\t</ng-template>\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<ng-container *ngIf=\"!first?.template\">{{first?.content}}</ng-container>\n\t\t\t\t<ng-template\n\t\t\t\t\t*ngIf=\"first?.template\"\n\t\t\t\t\t[ngTemplateOutlet]=\"first?.template\"\n\t\t\t\t\t[ngTemplateOutletContext]=\"{ $implicit: first }\">\n\t\t\t\t</ng-template>\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<ng-container *ngIf=\"!item?.template\">{{item?.content}}</ng-container>\n\t\t\t\t\t\t\t<ng-template\n\t\t\t\t\t\t\t\t*ngIf=\"item?.template\"\n\t\t\t\t\t\t\t\t[ngTemplateOutlet]=\"item?.template\"\n\t\t\t\t\t\t\t\t[ngTemplateOutletContext]=\"{ $implicit: item }\">\n\t\t\t\t\t\t\t</ng-template>\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<ng-container *ngIf=\"!secondLast?.template\">{{secondLast?.content}}</ng-container>\n\t\t\t\t<ng-template\n\t\t\t\t\t*ngIf=\"secondLast?.template\"\n\t\t\t\t\t[ngTemplateOutlet]=\"secondLast?.template\"\n\t\t\t\t\t[ngTemplateOutletContext]=\"{ $implicit: secondLast }\">\n\t\t\t\t</ng-template>\n\t\t\t</ibm-breadcrumb-item>\n\t\t\t<ibm-breadcrumb-item [href]=\"last?.href\">\n\t\t\t\t<ng-container *ngIf=\"!last?.template\">{{last?.content}}</ng-container>\n\t\t\t\t<ng-template\n\t\t\t\t\t*ngIf=\"last?.template\"\n\t\t\t\t\t[ngTemplateOutlet]=\"last?.template\"\n\t\t\t\t\t[ngTemplateOutletContext]=\"{ $implicit: last }\">\n\t\t\t\t</ng-template>\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, text } from '@storybook/addon-knobs/angular';\\n\\nimport { BreadcrumbModule, DialogModule, DocumentationModule } from '../';\\nimport { BreadcrumbItem } from '../breadcrumb/breadcrumb-item.interface';\\n\\nlet breadcrumbItems;\\n\\nconst createBreadcrumbItems = (count: number, content = 'Breadcrumb'): Array<BreadcrumbItem> => {\\n if (breadcrumbItems && count === breadcrumbItems.length) {\\n return breadcrumbItems;\\n }\\n breadcrumbItems = Array(count)\\n .fill(0)\\n .map((x, i) => ({\\n content: `${content} ${i + 1}`,\\n href: '#' + (i + 1),\\n }));\\n return breadcrumbItems;\\n};\\n\\nconst withTemplate = (templateRef, items) =>\\n items.map(item => Object.assign(item, { template: templateRef }));\\n\\nstoriesOf('Breadcrumb', module)\\n .addDecorator(\\n moduleMetadata({\\n imports: [BreadcrumbModule, DialogModule, DocumentationModule],\\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]=\\\"createBreadcrumbItems(itemCount, content)\\\">\\n\\t</ibm-breadcrumb>`,\\n props: {\\n noTrailingSlash: boolean('noTrailingSlash', true),\\n itemCount: number('itemCount', 10),\\n threshold: number('threshold', 4),\\n content: text('Content for the items', 'Breadcrumb'),\\n createBreadcrumbItems,\\n },\\n }))\\n .add('Model with templates', () => ({\\n template: `\\n\\t<ng-template #breadcrumbTemplate let-item>\\n\\t\\t{{ templateContent }}{{ item.content }}\\n\\t</ng-template>\\n\\t<ibm-breadcrumb\\n\\t\\t[noTrailingSlash]=\\\"noTrailingSlash\\\"\\n\\t\\t[threshold]=\\\"threshold\\\"\\n\\t\\t[items]=\\\"withTemplate(breadcrumbTemplate, createBreadcrumbItems(itemCount, content))\\\">\\n\\t</ibm-breadcrumb>\\n\\t`,\\n props: {\\n noTrailingSlash: boolean('noTrailingSlash', true),\\n itemCount: number('itemCount', 10),\\n threshold: number('threshold', 4),\\n templateContent: text('Content for the template', 'Hello '),\\n content: text('Content for the items', 'breadcrumb'),\\n createBreadcrumbItems,\\n withTemplate,\\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 .add('Documentation', () => ({\\n template: `\\n\\t\\t<ibm-documentation src=\\\"documentation/components/Breadcrumb.html\\\"></ibm-documentation>\\n\\t`,\\n }));\\n\";\n export var __ADDS_MAP__ = {\"breadcrumb--documentation\":{\"startLoc\":{\"col\":7,\"line\":100},\"endLoc\":{\"col\":4,\"line\":104}},\"breadcrumb--skeleton\":{\"startLoc\":{\"col\":7,\"line\":88},\"endLoc\":{\"col\":4,\"line\":99}},\"breadcrumb--model-with-templates\":{\"startLoc\":{\"col\":7,\"line\":67},\"endLoc\":{\"col\":4,\"line\":87}},\"breadcrumb--model\":{\"startLoc\":{\"col\":7,\"line\":52},\"endLoc\":{\"col\":4,\"line\":66}},\"breadcrumb--basic\":{\"startLoc\":{\"col\":7,\"line\":32},\"endLoc\":{\"col\":4,\"line\":51}}};\n \n import { storiesOf, moduleMetadata } from \"@storybook/angular\";\nimport { withKnobs, boolean, number, text } from \"@storybook/addon-knobs/angular\";\n\nimport { BreadcrumbModule, DialogModule, DocumentationModule } from \"../\";\nimport { BreadcrumbItem } from \"../breadcrumb/breadcrumb-item.interface\";\n\nlet breadcrumbItems;\n\nconst createBreadcrumbItems = (count: number, content = \"Breadcrumb\"): Array<BreadcrumbItem> => {\n\tif (breadcrumbItems && count === breadcrumbItems.length) {\n\t\treturn breadcrumbItems;\n\t}\n\tbreadcrumbItems = Array(count).fill(0).map((x, i) => ({\n\t\tcontent: `${content} ${i + 1}`,\n\t\thref: \"#\" + (i + 1)\n\t}));\n\treturn breadcrumbItems;\n};\n\nconst withTemplate = (templateRef, items) => items.map(item => Object.assign(item, { template: templateRef }));\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\tDocumentationModule\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]=\"createBreadcrumbItems(itemCount, content)\">\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\tcontent: text(\"Content for the items\", \"Breadcrumb\"),\n\t\tcreateBreadcrumbItems\n\t}\n}))\n.add(\"Model with templates\", () => ({\n\ttemplate: `\n\t<ng-template #breadcrumbTemplate let-item>\n\t\t{{ templateContent }}{{ item.content }}\n\t</ng-template>\n\t<ibm-breadcrumb\n\t\t[noTrailingSlash]=\"noTrailingSlash\"\n\t\t[threshold]=\"threshold\"\n\t\t[items]=\"withTemplate(breadcrumbTemplate, createBreadcrumbItems(itemCount, content))\">\n\t</ibm-breadcrumb>\n\t`,\n\tprops: {\n\t\tnoTrailingSlash: boolean(\"noTrailingSlash\", true),\n\t\titemCount: number(\"itemCount\", 10),\n\t\tthreshold: number(\"threshold\", 4),\n\t\ttemplateContent: text(\"Content for the template\", \"Hello \"),\n\t\tcontent: text(\"Content for the items\", \"breadcrumb\"),\n\t\tcreateBreadcrumbItems,\n\t\twithTemplate\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.add(\"Documentation\", () => ({\n\ttemplate: `\n\t\t<ibm-documentation src=\"documentation/components/Breadcrumb.html\"></ibm-documentation>\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 * [See demo](../../?path=/story/button--basic)\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 * <example-url>../../iframe.html?id=button--basic</example-url>\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\t@HostBinding(\"class.bx--overflow-menu\") overflowMenu = 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\":\n\t\t\t\tthis.toolbarAction = true;\n\t\t\t\tthis.overflowMenu = true;\n\t\t\t\tbreak;\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, DocumentationModule } from '../';\\n\\nstoriesOf('Button', module)\\n .addDecorator(\\n moduleMetadata({\\n imports: [ButtonModule, DocumentationModule],\\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 .add('Documentation', () => ({\\n template: `\\n\\t\\t\\t<ibm-documentation src=\\\"documentation/directives/Button.html\\\"></ibm-documentation>\\n\\t\\t`,\\n }));\\n\";\n export var __ADDS_MAP__ = {\"button--documentation\":{\"startLoc\":{\"col\":7,\"line\":43},\"endLoc\":{\"col\":4,\"line\":47}},\"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, DocumentationModule } from \"../\";\n\nstoriesOf(\"Button\", module).addDecorator(withStorySource(__STORY__, __ADDS_MAP__))\n\t.addDecorator(\n\t\tmoduleMetadata({\n\t\t\timports: [ButtonModule, DocumentationModule]\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\t.add(\"Documentation\", () => ({\n\t\ttemplate: `\n\t\t\t<ibm-documentation src=\"documentation/directives/Button.html\"></ibm-documentation>\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 * [See demo](../../?path=/story/checkbox--basic)\n *\n * <example-url>../../iframe.html?id=checkbox--basic</example-url>\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<span [ngClass]=\"{'bx--visually-hidden' : hideLabel}\">\n\t\t\t\t<ng-content></ng-content>\n\t\t\t</span>\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 * Set to `true` to hide the checkbox labels.\n\t */\n\t@Input() hideLabel = 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, text } from '@storybook/addon-knobs/angular';\\n\\nimport { CheckboxModule, DocumentationModule } from '../';\\n\\nstoriesOf('Checkbox', module)\\n .addDecorator(\\n moduleMetadata({\\n imports: [CheckboxModule, DocumentationModule],\\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\\\">{{label}}</legend>\\n\\t\\t\\t<ibm-checkbox\\n\\t\\t\\t\\tchecked=\\\"true\\\"\\n\\t\\t\\t\\t[hideLabel]=\\\"hideLabel\\\"\\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[hideLabel]=\\\"hideLabel\\\"\\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[hideLabel]=\\\"hideLabel\\\"\\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 label: text('Label text', 'Checkbox'),\\n hideLabel: boolean('Hide labels', false),\\n },\\n }))\\n .add('Skeleton', () => ({\\n template: `<ibm-checkbox skeleton=\\\"true\\\"></ibm-checkbox>`,\\n }))\\n .add('Documentation', () => ({\\n template: `\\n\\t\\t<ibm-documentation src=\\\"documentation/components/Checkbox.html\\\"></ibm-documentation>\\n\\t`,\\n }));\\n\";\n export var __ADDS_MAP__ = {\"checkbox--documentation\":{\"startLoc\":{\"col\":7,\"line\":50},\"endLoc\":{\"col\":4,\"line\":54}},\"checkbox--skeleton\":{\"startLoc\":{\"col\":7,\"line\":47},\"endLoc\":{\"col\":4,\"line\":49}},\"checkbox--basic\":{\"startLoc\":{\"col\":7,\"line\":14},\"endLoc\":{\"col\":4,\"line\":46}}};\n \n import { storiesOf, moduleMetadata } from \"@storybook/angular\";\nimport { action } from \"@storybook/addon-actions\";\nimport { withKnobs, boolean, text } from \"@storybook/addon-knobs/angular\";\n\nimport { CheckboxModule, DocumentationModule } from \"../\";\n\nstoriesOf(\"Checkbox\", module).addDecorator(withStorySource(__STORY__, __ADDS_MAP__)).addDecorator(\n\tmoduleMetadata({\n\t\timports: [CheckboxModule, DocumentationModule]\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\">{{label}}</legend>\n\t\t\t<ibm-checkbox\n\t\t\t\tchecked=\"true\"\n\t\t\t\t[hideLabel]=\"hideLabel\"\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[hideLabel]=\"hideLabel\"\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[hideLabel]=\"hideLabel\"\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\tlabel: text(\"Label text\", \"Checkbox\"),\n\t\t\thideLabel: boolean(\"Hide labels\", false)\n\t\t}\n\t}))\n\t.add(\"Skeleton\", () => ({\n\t\ttemplate: `<ibm-checkbox skeleton=\"true\"></ibm-checkbox>`\n}))\n.add(\"Documentation\", () => ({\n\ttemplate: `\n\t\t<ibm-documentation src=\"documentation/components/Checkbox.html\"></ibm-documentation>\n\t`\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 * [See demo](../../?path=/story/code-snippet--basic)\n *\n * ```html\n * <ibm-code-snippet>Code</ibm-code-snippet>\n * ```\n *\n * <example-url>../../iframe.html?id=code-snippet--basic</example-url>\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, DocumentationModule } 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('Code Snippet', module)\\n .addDecorator(\\n moduleMetadata({\\n imports: [CodeSnippetModule, DocumentationModule],\\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 .add('Documentation', () => ({\\n template: `\\n\\t\\t\\t<ibm-documentation src=\\\"documentation/components/CodeSnippet.html\\\"></ibm-documentation>\\n\\t\\t`,\\n }));\\n\";\n export var __ADDS_MAP__ = {\"code-snippet--documentation\":{\"startLoc\":{\"col\":7,\"line\":80},\"endLoc\":{\"col\":4,\"line\":84}},\"code-snippet--skeleton\":{\"startLoc\":{\"col\":7,\"line\":71},\"endLoc\":{\"col\":4,\"line\":79}},\"code-snippet--inline\":{\"startLoc\":{\"col\":7,\"line\":64},\"endLoc\":{\"col\":4,\"line\":70}},\"code-snippet--multi\":{\"startLoc\":{\"col\":7,\"line\":51},\"endLoc\":{\"col\":4,\"line\":63}},\"code-snippet--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, DocumentationModule } 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(\"Code Snippet\", module).addDecorator(withStorySource(__STORY__, __ADDS_MAP__)).addDecorator(\n\tmoduleMetadata({\n\t\timports: [CodeSnippetModule, DocumentationModule]\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\t.add(\"Documentation\", () => ({\n\t\ttemplate: `\n\t\t\t<ibm-documentation src=\"documentation/components/CodeSnippet.html\"></ibm-documentation>\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\tTemplateRef\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 * [See demo](../../?path=/story/combobox--basic)\n *\n * <example-url>../../iframe.html?id=combobox--basic</example-url>\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<label *ngIf=\"label\" [for]=\"id\" class=\"bx--label\">\n\t\t\t<ng-container *ngIf=\"!isTemplate(label)\">{{label}}</ng-container>\n\t\t\t<ng-template *ngIf=\"isTemplate(label)\" [ngTemplateOutlet]=\"label\"></ng-template>\n\t\t</label>\n\t\t<div *ngIf=\"helperText\" class=\"bx--form__helper-text\">\n\t\t\t<ng-container *ngIf=\"!isTemplate(helperText)\">{{helperText}}</ng-container>\n\t\t\t<ng-template *ngIf=\"isTemplate(helperText)\" [ngTemplateOutlet]=\"helperText\"></ng-template>\n\t\t</div>\n\t\t<div\n\t\t\tclass=\"bx--combo-box bx--list-box\"\n\t\t\t[ngClass]=\"{'bx--multi-select' : type === 'multi'}\">\n\t\t\t<div\n\t\t\t\t[attr.aria-expanded]=\"open\"\n\t\t\t\trole=\"button\"\n\t\t\t\tclass=\"bx--list-box__field\"\n\t\t\t\ttabindex=\"0\"\n\t\t\t\ttype=\"button\"\n\t\t\t\taria-label=\"close menu\"\n\t\t\t\taria-haspopup=\"true\"\n\t\t\t\t(click)=\"toggleDropdown()\">\n\t\t\t\t<div\n\t\t\t\t\t*ngIf=\"type === 'multi' && pills.length > 0\"\n\t\t\t\t\t(click)=\"clearSelected()\"\n\t\t\t\t\trole=\"button\"\n\t\t\t\t\tclass=\"bx--list-box__selection bx--list-box__selection--multi\"\n\t\t\t\t\ttabindex=\"0\"\n\t\t\t\t\ttitle=\"Clear all selected items\">\n\t\t\t\t\t{{ pills.length }}\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\trole=\"img\"\n\t\t\t\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\t\t\t\twidth=\"16\"\n\t\t\t\t\t\theight=\"16\"\n\t\t\t\t\t\tviewBox=\"0 0 16 16\"\n\t\t\t\t\t\taria-hidden=\"true\">\n\t\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\t</svg>\n\t\t\t\t</div>\n\t\t\t\t<input\n\t\t\t\t\t[id]=\"id\"\n\t\t\t\t\t[disabled]=\"disabled\"\n\t\t\t\t\t(keyup)=\"onSearch($event.target.value)\"\n\t\t\t\t\t[value]=\"selectedValue\"\n\t\t\t\t\tclass=\"bx--text-input\"\n\t\t\t\t\trole=\"combobox\"\n\t\t\t\t\taria-label=\"ListBox input field\"\n\t\t\t\t\tautocomplete=\"off\"\n\t\t\t\t\t[placeholder]=\"placeholder\"/>\n\t\t\t\t\t<ibm-icon-chevron-down16\n\t\t\t\t\t\t[ngClass]=\"{'bx--list-box__menu-icon--open': open}\"\n\t\t\t\t\t\tclass=\"bx--list-box__menu-icon\"\n\t\t\t\t\t\tariaLabel=\"Close menu\">\n\t\t\t\t\t</ibm-icon-chevron-down16>\n\t\t\t</div>\n\t\t\t<div\n\t\t\t\t#dropdownMenu\n\t\t\t\t*ngIf=\"open\">\n\t\t\t\t<ng-content></ng-content>\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: ComboBox,\n\t\t\tmulti: true\n\t\t}\n\t]\n})\nexport class ComboBox implements OnChanges, AfterViewInit, AfterContentInit {\n\tstatic comboBoxCount = 0;\n\t@Input() id = `dropdown-${ComboBox.comboBoxCount++}`;\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 * Label for the combobox.\n\t */\n\t@Input() label: string | TemplateRef<any>;\n\t/**\n\t * Sets the optional helper text.\n\t */\n\t@Input() helperText: string | TemplateRef<any>;\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.bx--list-box__wrapper\") hostClass = true;\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\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\tpublic isTemplate(value) {\n\t\treturn value instanceof TemplateRef;\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, object, text } from '@storybook/addon-knobs/angular';\\n\\nimport { ComboBoxModule, DocumentationModule } from '../';\\n\\nstoriesOf('Combobox', module)\\n .addDecorator(\\n moduleMetadata({\\n imports: [ComboBoxModule, DocumentationModule],\\n })\\n )\\n .addDecorator(withKnobs)\\n .add('Basic', () => ({\\n template: `\\n\\t\\t\\t<ibm-combo-box\\n\\t\\t\\t\\t[label]=\\\"label\\\"\\n\\t\\t\\t\\t[helperText]=\\\"helperText\\\"\\n\\t\\t\\t\\t[items]=\\\"items\\\"\\n\\t\\t\\t\\t(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 label: text('Label', 'ComboBox label'),\\n helperText: text('Helper text', 'Optional helper text.'),\\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\\n\\t\\t\\t\\t[label]=\\\"label\\\"\\n\\t\\t\\t\\t[helperText]=\\\"helperText\\\"\\n\\t\\t\\t\\t[items]=\\\"items\\\"\\n\\t\\t\\t\\ttype=\\\"multi\\\"\\n\\t\\t\\t\\t(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 label: text('Label', 'ComboBox label'),\\n helperText: text('Helper text', 'Optional helper text.'),\\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('Documentation', () => ({\\n template: `\\n\\t\\t\\t<ibm-documentation src=\\\"documentation/components/ComboBox.html\\\"></ibm-documentation>\\n\\t\\t`,\\n }));\\n\";\n export var __ADDS_MAP__ = {\"combobox--documentation\":{\"startLoc\":{\"col\":7,\"line\":75},\"endLoc\":{\"col\":4,\"line\":79}},\"combobox--multi-select\":{\"startLoc\":{\"col\":7,\"line\":44},\"endLoc\":{\"col\":4,\"line\":74}},\"combobox--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 { withKnobs, object, text } from \"@storybook/addon-knobs/angular\";\n\nimport { ComboBoxModule, DocumentationModule } 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\tDocumentationModule\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\n\t\t\t\t[label]=\"label\"\n\t\t\t\t[helperText]=\"helperText\"\n\t\t\t\t[items]=\"items\"\n\t\t\t\t(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\tlabel: text(\"Label\", \"ComboBox label\"),\n\t\t\thelperText: text(\"Helper text\", \"Optional helper text.\"),\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\n\t\t\t\t[label]=\"label\"\n\t\t\t\t[helperText]=\"helperText\"\n\t\t\t\t[items]=\"items\"\n\t\t\t\ttype=\"multi\"\n\t\t\t\t(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\tlabel: text(\"Label\", \"ComboBox label\"),\n\t\t\thelperText: text(\"Helper text\", \"Optional helper text.\"),\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(\"Documentation\", () => ({\n\t\ttemplate: `\n\t\t\t<ibm-documentation src=\"documentation/components/ComboBox.html\"></ibm-documentation>\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 * [See demo](../../?path=/story/content-switcher--basic)\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 * <example-url>../../iframe.html?id=content-switcher--basic</example-url>\n *\n * @export\n * @class ContentSwitcher\n * @implements {AfterViewInit}\n */\n@Component({\n\tselector: \"ibm-content-switcher\",\n\ttemplate: `\n\t\t<div\n\t\t\t[attr.aria-label]=\"ariaLabel\"\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() set label(value: string) {\n\t\tconsole.warn(\"`label` is deprecated (to be removed in next major version). Use `ariaLabel` instead.\");\n\t\tthis.ariaLabel = value;\n\t}\n\n\tget label(): string {\n\t\tconsole.warn(\"`label` is deprecated (to be removed in next major version). Use `ariaLabel` instead.\");\n\t\treturn this.ariaLabel;\n\t}\n\n\t@Input() ariaLabel = \"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, DocumentationModule } from '../';\\n\\nstoriesOf('Content Switcher', module)\\n .addDecorator(\\n moduleMetadata({\\n imports: [ContentSwitcherModule, DocumentationModule],\\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 name=\\\"First\\\">First section</button>\\n\\t\\t\\t\\t<button ibmContentOption name=\\\"Second\\\">Second section</button>\\n\\t\\t\\t\\t<button ibmContentOption name=\\\"Third\\\">Third section</button>\\n\\t\\t\\t</ibm-content-switcher>\\n\\t\\t`,\\n props: {\\n selected: action('selection changed'),\\n },\\n }))\\n .add('Documentation', () => ({\\n template: `\\n\\t\\t\\t<ibm-documentation src=\\\"documentation/components/ContentSwitcher.html\\\"></ibm-documentation>\\n\\t\\t`,\\n }));\\n\";\n export var __ADDS_MAP__ = {\"content-switcher--documentation\":{\"startLoc\":{\"col\":7,\"line\":26},\"endLoc\":{\"col\":4,\"line\":30}},\"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, DocumentationModule } from \"../\";\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\tDocumentationModule\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 name=\"First\">First section</button>\n\t\t\t\t<button ibmContentOption name=\"Second\">Second section</button>\n\t\t\t\t<button ibmContentOption name=\"Third\">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\t.add(\"Documentation\", () => ({\n\t\ttemplate: `\n\t\t\t<ibm-documentation src=\"documentation/components/ContentSwitcher.html\"></ibm-documentation>\n\t\t`\n\t}));\n\n ","import {\n\tComponent,\n\tInput,\n\tOutput,\n\tEventEmitter,\n\tElementRef,\n\tTemplateRef\n} from \"@angular/core\";\nimport { NG_VALUE_ACCESSOR } from \"@angular/forms\";\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 *ngIf=\"label\" [for]=\"id\" class=\"bx--label\">\n\t\t\t\t\t<ng-container *ngIf=\"!isTemplate(label)\">{{label}}</ng-container>\n\t\t\t\t\t<ng-template *ngIf=\"isTemplate(label)\" [ngTemplateOutlet]=\"label\"></ng-template>\n\t\t\t\t</label>\n\t\t\t\t<div class=\"bx--date-picker-input__wrapper\">\n\t\t\t\t\t<input\n\t\t\t\t\t\t*ngIf=\"!skeleton\"\n\t\t\t\t\t\tautocomplete=\"off\"\n\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\tclass=\"bx--date-picker__input\"\n\t\t\t\t\t\t[value]=\"value\"\n\t\t\t\t\t\t[pattern]=\"pattern\"\n\t\t\t\t\t\t[placeholder]=\"placeholder\"\n\t\t\t\t\t\t[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\t<ibm-icon-calendar16\n\t\t\t\t\t\t\tclass=\"bx--date-picker__icon\">\n\t\t\t\t\t\t</ibm-icon-calendar16>\n\t\t\t\t</div>\n\t\t\t\t<div *ngIf=\"invalid\" class=\"bx--form-requirement\">\n\t\t\t\t\t<ng-container *ngIf=\"!isTemplate(invalidText)\">{{invalidText}}</ng-container>\n\t\t\t\t\t<ng-template *ngIf=\"isTemplate(invalidText)\" [ngTemplateOutlet]=\"invalidText\"></ng-template>\n\t\t\t\t</div>\n\t\t\t</div>\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: DatePickerInput,\n\t\t\tmulti: true\n\t\t}\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 | TemplateRef<any>;\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 | TemplateRef<any>;\n\n\t@Input() skeleton = false;\n\n\t@Input() value = \"\";\n\n\tconstructor(protected elementRef: ElementRef) {}\n\n\tonChange(event) {\n\t\tthis.value = event.target.value;\n\t\tthis.valueChange.emit(this.value);\n\t\tthis.propagateChange(this.value);\n\t\tthis.onTouched();\n\t}\n\n\tpublic writeValue(value: any) {\n\t\tthis.value = value;\n\t}\n\n\tpublic registerOnChange(fn: any) {\n\t\tthis.propagateChange = fn;\n\t}\n\n\tpublic registerOnTouched(fn: any) {\n\t\tthis.onTouched = fn;\n\t}\n\n\tonTouched: () => any = () => {};\n\n\tpropagateChange = (_: any) => {};\n\n\tpublic isTemplate(value) {\n\t\treturn value instanceof TemplateRef;\n\t}\n}\n","import { 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\tCalendar16Module\n\t]\n})\nexport class DatePickerInputModule { }\n","/**\n * This is from carbon-components.\n * We need it to format the month select according to specs.\n * Carbon currently doesn't expose this as a seperate package,\n * and we don't import the carbon-components js (on purpose)\n * so some copy pasta is required\n *\n * ref: https://github.com/carbon-design-system/carbon/blob/\n * \tf06f38f0c2ef624e409a3d5711e897a79f4c88fc/packages/components/src/components/date-picker/date-picker.js#L52-L123\n */\n\nconst monthToStr = (monthNumber, shorthand, locale) =>\n\tlocale.months[shorthand ? \"shorthand\" : \"longhand\"][monthNumber];\n\nconst config = {\n\tselectorInit: \"[data-date-picker]\",\n\tselectorDatePickerInput: \"[data-date-picker-input]\",\n\tselectorDatePickerInputFrom: \"[data-date-picker-input-from]\",\n\tselectorDatePickerInputTo: \"[data-date-picker-input-to]\",\n\tselectorDatePickerIcon: \"[data-date-picker-icon]\",\n\tselectorFlatpickrMonthYearContainer: \".flatpickr-current-month\",\n\tselectorFlatpickrYearContainer: \".numInputWrapper\",\n\tselectorFlatpickrCurrentMonth: \".cur-month\",\n\tclassCalendarContainer: `bx--date-picker__calendar`,\n\tclassMonth: `bx--date-picker__month`,\n\tclassWeekdays: `bx--date-picker__weekdays`,\n\tclassDays: `bx--date-picker__days`,\n\tclassWeekday: `bx--date-picker__weekday`,\n\tclassDay: `bx--date-picker__day`,\n\tclassFocused: `bx--focused`,\n\tclassVisuallyHidden: `bx--visually-hidden`,\n\tclassFlatpickrCurrentMonth: \"cur-month\",\n\tattribType: \"data-date-picker-type\",\n\tdateFormat: \"m/d/Y\",\n\tshorthand: false\n};\n\nexport const carbonFlatpickrMonthSelectPlugin = fp => {\n\tconst setupElements = () => {\n\t\tif (!fp.monthElements) {\n\t\t\treturn;\n\t\t}\n\t\tfp.monthElements.forEach(elem => {\n\t\t\tif (!elem.parentNode) { return; }\n\t\t\telem.parentNode.removeChild(elem);\n\t\t});\n\t\tfp.monthElements.splice(\n\t\t\t0,\n\t\t\tfp.monthElements.length,\n\t\t\t...fp.monthElements.map(() => {\n\t\t\t\t// eslint-disable-next-line no-underscore-dangle\n\t\t\t\tconst monthElement = fp._createElement(\n\t\t\t\t\t\"span\",\n\t\t\t\t\tconfig.classFlatpickrCurrentMonth\n\t\t\t\t);\n\t\t\t\tmonthElement.textContent = monthToStr(\n\t\t\t\t\tfp.currentMonth,\n\t\t\t\t\tconfig.shorthand === true,\n\t\t\t\t\tfp.l10n\n\t\t\t\t);\n\t\t\t\tfp.yearElements[0]\n\t\t\t\t\t.closest(config.selectorFlatpickrMonthYearContainer)\n\t\t\t\t\t.insertBefore(\n\t\t\t\t\t\tmonthElement,\n\t\t\t\t\t\tfp.yearElements[0].closest(config.selectorFlatpickrYearContainer)\n\t\t\t\t\t);\n\t\t\t\treturn monthElement;\n\t\t\t})\n\t\t);\n\t};\n\tconst updateCurrentMonth = () => {\n\t\tconst monthStr = monthToStr(\n\t\t\tfp.currentMonth,\n\t\t\tconfig.shorthand === true,\n\t\t\tfp.l10n\n\t\t);\n\t\tfp.yearElements.forEach(elem => {\n\t\t\tconst currentMonthContainer = elem.closest(\n\t\t\t\tconfig.selectorFlatpickrMonthYearContainer\n\t\t\t);\n\t\t\tArray.prototype.forEach.call(\n\t\t\t\tcurrentMonthContainer.querySelectorAll(\".cur-month\"),\n\t\t\t\tmonthElement => {\n\t\t\t\t\tmonthElement.textContent = monthStr;\n\t\t\t\t}\n\t\t\t);\n\t\t});\n\t};\n\n\tconst register = () => {\n\t\tfp.loadedPlugins.push(\"carbonFlatpickrMonthSelectPlugin\");\n\t};\n\n\treturn {\n\t\tonMonthChange: updateCurrentMonth,\n\t\tonOpen: updateCurrentMonth,\n\t\tonReady: [setupElements, updateCurrentMonth, register]\n\t};\n};\n","import {\n\tComponent,\n\tInput,\n\tOutput,\n\tEventEmitter,\n\tViewEncapsulation,\n\tElementRef,\n\tOnDestroy,\n\tHostListener,\n\tTemplateRef,\n\tAfterViewInit,\n\tOnChanges,\n\tSimpleChanges\n} from \"@angular/core\";\nimport rangePlugin from \"flatpickr/dist/plugins/rangePlugin\";\nimport flatpickr from \"flatpickr\";\nimport { NG_VALUE_ACCESSOR } from \"@angular/forms\";\nimport { carbonFlatpickrMonthSelectPlugin } from \"./carbon-flatpickr-month-select\";\n\n/**\n * [See demo](../../?path=/story/date-picker--single)\n *\n * <example-url>../../iframe.html?id=date-picker--single</example-url>\n *\n * @export\n * @class DatePicker\n * @implements {OnDestroy}\n */\n@Component({\n\tselector: \"ibm-date-picker\",\n\ttemplate: `\n\t<div class=\"bx--form-item\">\n\t\t<div class=\"bx--form-item\">\n\t\t\t<div\n\t\t\t\tclass=\"bx--date-picker\"\n\t\t\t\t[ngClass]=\"{\n\t\t\t\t\t'bx--date-picker--range' : range,\n\t\t\t\t\t'bx--date-picker--single' : !range,\n\t\t\t\t\t'bx--date-picker--light' : theme === 'light',\n\t\t\t\t\t'bx--skeleton' : skeleton\n\t\t\t\t}\">\n\t\t\t\t<div class=\"bx--date-picker-container\">\n\t\t\t\t\t<ibm-date-picker-input\n\t\t\t\t\t\t[label]=\"label\"\n\t\t\t\t\t\t[placeholder]=\"placeholder\"\n\t\t\t\t\t\t[pattern]=\"pattern\"\n\t\t\t\t\t\t[id]=\"id\"\n\t\t\t\t\t\t[type]=\"(range ? 'range' : 'single')\"\n\t\t\t\t\t\t[hasIcon]=\"(range ? false : true)\"\n\t\t\t\t\t\t[disabled]=\"disabled\"\n\t\t\t\t\t\t[invalid]=\"invalid\"\n\t\t\t\t\t\t[invalidText]=\"invalidText\"\n\t\t\t\t\t\t[skeleton]=\"skeleton\"\n\t\t\t\t\t\t(valueChange)=\"onValueChange($event)\">\n\t\t\t\t\t</ibm-date-picker-input>\n\t\t\t\t</div>\n\n\t\t\t\t<div *ngIf=\"range\" class=\"bx--date-picker-container\">\n\t\t\t\t\t<ibm-date-picker-input\n\t\t\t\t\t\t[label]=\"rangeLabel\"\n\t\t\t\t\t\t[placeholder]=\"placeholder\"\n\t\t\t\t\t\t[pattern]=\"pattern\"\n\t\t\t\t\t\t[id]=\"id + '-rangeInput'\"\n\t\t\t\t\t\t[type]=\"(range ? 'range' : 'single')\"\n\t\t\t\t\t\t[hasIcon]=\"(range ? true : null)\"\n\t\t\t\t\t\t[disabled]=\"disabled\"\n\t\t\t\t\t\t[invalid]=\"invalid\"\n\t\t\t\t\t\t[invalidText]=\"invalidText\"\n\t\t\t\t\t\t[skeleton]=\"skeleton\"\n\t\t\t\t\t\t(valueChange)=\"onRangeValueChange($event)\">\n\t\t\t\t\t</ibm-date-picker-input>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\t`,\n\tstyles: [\n\t\t`.dayContainer {\n\t\t\tjustify-content: initial;\n\t\t}`\n\t],\n\tproviders: [\n\t\t{\n\t\t\tprovide: NG_VALUE_ACCESSOR,\n\t\t\tuseExisting: DatePicker,\n\t\t\tmulti: true\n\t\t}\n\t],\n\tencapsulation: ViewEncapsulation.None\n})\nexport class DatePicker implements OnDestroy, AfterViewInit, OnChanges {\n\tprivate static datePickerCount = 0;\n\n\t/**\n\t * Select calendar range mode\n\t */\n\t@Input() range = false;\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 | TemplateRef<any>;\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() set value(v: (Date | string)[]) {\n\t\tif (!v) {\n\t\t\tv = [];\n\t\t}\n\t\tthis._value = v;\n\t}\n\n\tget value() {\n\t\treturn this._value;\n\t}\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 | TemplateRef<any>;\n\n\t@Input() skeleton = false;\n\n\t@Input() plugins = [];\n\n\t@Input()\n\tset flatpickrOptions(options) {\n\t\tthis._flatpickrOptions = Object.assign({}, this._flatpickrOptions, options);\n\t}\n\tget flatpickrOptions() {\n\t\tconst plugins = [...this.plugins, carbonFlatpickrMonthSelectPlugin];\n\t\tif (this.range) {\n\t\t\tplugins.push(rangePlugin({ input: `#${this.id}-rangeInput`, position: \"left\"}));\n\t\t}\n\t\treturn Object.assign({}, this._flatpickrOptions, this.flatpickrBaseOptions, {\n\t\t\tmode: this.range ? \"range\" : \"single\",\n\t\t\tplugins,\n\t\t\tdateFormat: this.dateFormat\n\t\t});\n\t}\n\n\tset flatpickrOptionsRange (options) {\n\t\tconsole.warn(\"flatpickrOptionsRange is deprecated, use flatpickrOptions and set the range to true instead\");\n\t\tthis.range = true;\n\t\tthis.flatpickrOptions = options;\n\t}\n\tget flatpickrOptionsRange () {\n\t\tconsole.warn(\"flatpickrOptionsRange is deprecated, use flatpickrOptions and set the range to true instead\");\n\t\treturn this.flatpickrOptions;\n\t}\n\n\t@Output() valueChange: EventEmitter<any> = new EventEmitter();\n\n\tprotected _value = [];\n\n\tprotected _flatpickrOptions = {\n\t\tallowInput: true\n\t};\n\n\tprotected flatpickrBaseOptions = {\n\t\tmode: \"single\",\n\t\tdateFormat: \"m/d/Y\",\n\t\tplugins: this.plugins,\n\t\tonOpen: () => { this.updateClassNames(); },\n\t\tvalue: this.value\n\t};\n\n\tprotected flatpickrInstance;\n\n\tconstructor(protected elementRef: ElementRef) { }\n\n\tngOnChanges(changes: SimpleChanges) {\n\t\tif (this.flatpickrInstance) {\n\t\t\tlet dates = this.flatpickrInstance.selectedDates;\n\t\t\tif (changes.value && this.didDateValueChange(changes.value.currentValue, changes.value.previousValue)) {\n\t\t\t\tdates = changes.value.currentValue;\n\t\t\t}\n\t\t\t// only reset the flatpickr instance on Input changes\n\t\t\tthis.flatpickrInstance = flatpickr(`#${this.id}`, this.flatpickrOptions);\n\t\t\tthis.setDateValues(dates);\n\t\t}\n\t}\n\n\tngAfterViewInit() {\n\t\tthis.flatpickrInstance = flatpickr(`#${this.id}`, this.flatpickrOptions);\n\n\t\tif (this.value.length > 0) {\n\t\t\tthis.setDateValues(this.value);\n\t\t}\n\t}\n\n\t@HostListener(\"focusin\")\n\tonFocus() {\n\t\tthis.onTouched();\n\t}\n\n\t/**\n\t * Writes a value from the model to the component. Expects the value to be `null` or `(Date | string)[]`\n\t * @param value value recived from the model\n\t */\n\twriteValue(value: (Date | string)[]) {\n\t\tthis.value = value;\n\t\tthis.setDateValues(this.value);\n\t}\n\n\tregisterOnChange(fn: any) {\n\t\tthis.propagateChange = fn;\n\t}\n\n\tregisterOnTouched(fn: any) {\n\t\tthis.onTouched = fn;\n\t}\n\n\tonTouched: () => any = () => {};\n\n\tpropagateChange = (_: any) => {};\n\n\t/**\n\t * Cleans up our flatpickr instance\n\t */\n\tngOnDestroy() {\n\t\tif (!this.flatpickrInstance) { return; }\n\t\tthis.flatpickrInstance.destroy();\n\t}\n\n\t/**\n\t * Handles the `valueChange` event from the primary/single input\n\t */\n\tonValueChange(event: string) {\n\t\tif (this.flatpickrInstance) {\n\t\t\tconst date = this.flatpickrInstance.parseDate(event, this.dateFormat);\n\t\t\tif (this.range) {\n\t\t\t\tthis.setDateValues([date, this.flatpickrInstance.selectedDates[1]]);\n\t\t\t} else {\n\t\t\t\tthis.setDateValues([date]);\n\t\t\t}\n\t\t\tthis.doSelect(this.flatpickrInstance.selectedDates);\n\t\t}\n\t}\n\n\t/**\n\t * Handles the `valueChange` event from the range input\n\t */\n\tonRangeValueChange(event: string) {\n\t\tif (this.flatpickrInstance) {\n\t\t\tconst date = this.flatpickrInstance.parseDate(event, this.dateFormat);\n\t\t\tthis.setDateValues([this.flatpickrInstance.selectedDates[0], date]);\n\t\t\tthis.doSelect(this.flatpickrInstance.selectedDates);\n\t\t}\n\t}\n\n\t/**\n\t * Carbon uses a number of specific classnames for parts of the flatpickr - this idempotent method applies them if needed.\n\t */\n\tprotected updateClassNames() {\n\t\tif (!this.elementRef) { return; }\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\t/**\n\t * Applies the given date value array to both the flatpickr instance and the `input`(s)\n\t * @param dates the date values to apply\n\t */\n\tprotected setDateValues(dates: (Date | string)[]) {\n\t\tif (this.flatpickrInstance) {\n\t\t\tconst singleInput = this.elementRef.nativeElement.querySelector(`#${this.id}`);\n\t\t\tconst rangeInput = this.elementRef.nativeElement.querySelector(`#${this.id}-rangeInput`);\n\n\t\t\t// set the date on the instance\n\t\t\tthis.flatpickrInstance.setDate(dates);\n\n\t\t\t// we can either set a date value or an empty string, so we start with an empty string\n\t\t\tlet singleDate = \"\";\n\t\t\t// if date is a string, parse and format\n\t\t\tif (typeof dates[0] === \"string\") {\n\t\t\t\tsingleDate = this.flatpickrInstance.parseDate(dates[0], this.dateFormat);\n\t\t\t\tsingleDate = this.flatpickrInstance.formatDate(singleDate, this.dateFormat);\n\t\t\t// if date is not a string we can assume it's a Date and we should format\n\t\t\t} else if (!!dates[0]) {\n\t\t\t\tsingleDate = this.flatpickrInstance.formatDate(dates[0], this.dateFormat);\n\t\t\t}\n\t\t\t// apply the value\n\t\t\tsingleInput.value = singleDate;\n\n\t\t\tif (rangeInput) {\n\t\t\t\t// we can either set a date value or an empty string, so we start with an empty string\n\t\t\t\tlet rangeDate = \"\";\n\t\t\t\t// if date is a string, parse and format\n\t\t\t\tif (typeof dates[1] === \"string\") {\n\t\t\t\t\trangeDate = this.flatpickrInstance.parseDate(dates[1].toString(), this.dateFormat);\n\t\t\t\t\trangeDate = this.flatpickrInstance.formatDate(rangeDate, this.dateFormat);\n\t\t\t\t// if date is not a string we can assume it's a Date and we should format\n\t\t\t\t} else if (!!dates[1]) {\n\t\t\t\t\trangeDate = this.flatpickrInstance.formatDate(dates[1], this.dateFormat);\n\t\t\t\t}\n\t\t\t\t// apply the value\n\t\t\t\trangeInput.value = rangeDate;\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected doSelect(selectedValue: (Date | string)[]) {\n\t\tthis.valueChange.emit(selectedValue);\n\t\tthis.propagateChange(selectedValue);\n\t}\n\n\tprotected didDateValueChange(currentValue, previousValue) {\n\t\treturn currentValue[0] !== previousValue[0] || currentValue[1] !== previousValue[1];\n\t}\n}\n","import { DatePickerInputModule } from \"./../datepicker-input/datepicker-input.module\";\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\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 {\\n FormBuilder,\\n FormGroup,\\n Validators,\\n FormsModule,\\n ReactiveFormsModule,\\n} from '@angular/forms';\\nimport { Component, Input, Output, EventEmitter } from '@angular/core';\\nimport { DatePickerModule, DocumentationModule } from '../';\\nimport { ButtonModule } from '../forms/forms.module';\\n\\n@Component({\\n selector: 'app-date-picker',\\n template: `\\n <form [formGroup]=\\\"formGroup\\\">\\n <ibm-date-picker\\n formControlName=\\\"single\\\"\\n label=\\\"Date Picker Label\\\"\\n invalidText=\\\"Invalid date format\\\"\\n [invalid]=\\\"invalidSingle\\\"\\n (valueChange)=\\\"valueChange.emit($event)\\\"\\n >\\n </ibm-date-picker>\\n <code>{{ formGroup.controls['single'].value | json }}</code>\\n <br /><br />\\n <ibm-date-picker\\n range=\\\"true\\\"\\n formControlName=\\\"range\\\"\\n label=\\\"Date Picker Label\\\"\\n rangeLabel=\\\"Date Picker Label\\\"\\n invalidText=\\\"Invalid date format\\\"\\n [pattern]=\\\"pattern\\\"\\n [invalid]=\\\"invalidRange\\\"\\n (valueChange)=\\\"valueChange.emit($event)\\\"\\n >\\n </ibm-date-picker>\\n <code>{{ formGroup.controls['range'].value | json }}</code>\\n </form>\\n `,\\n})\\nclass DatePickerStory {\\n @Output() valueChange = new EventEmitter();\\n\\n get invalidSingle() {\\n return this.formGroup.controls['single'].invalid && this.formGroup.controls['single'].touched;\\n }\\n\\n get invalidRange() {\\n return this.formGroup.controls['range'].invalid && this.formGroup.controls['range'].touched;\\n }\\n\\n formGroup: FormGroup;\\n\\n constructor(protected formBuilder: FormBuilder) {\\n this.formGroup = this.formBuilder.group({\\n single: [[new Date()], Validators.required],\\n range: [\\n [\\n new Date(),\\n new Date(new Date().getFullYear(), new Date().getMonth() + 1, new Date().getDate()),\\n ],\\n Validators.required,\\n ],\\n });\\n }\\n}\\n\\nstoriesOf('Date Picker', module)\\n .addDecorator(\\n moduleMetadata({\\n imports: [\\n DatePickerModule,\\n FormsModule,\\n ReactiveFormsModule,\\n DocumentationModule,\\n ButtonModule,\\n ],\\n declarations: [DatePickerStory],\\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\\t(valueChange)=\\\"valueChange($event)\\\">\\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 valueChange: action('Date change fired!'),\\n },\\n }))\\n .add('Single', () => ({\\n template: `\\n\\t\\t\\t<p>With initial value</p>\\n\\t\\t\\t<ibm-date-picker\\n\\t\\t\\t\\t[label]=\\\"label\\\"\\n\\t\\t\\t\\t[placeholder]=\\\"placeholder\\\"\\n\\t\\t\\t\\t[theme]=\\\"theme\\\"\\n\\t\\t\\t\\t[value]=\\\"value\\\"\\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[dateFormat]=\\\"dateFormat\\\"\\n\\t\\t\\t\\t(valueChange)=\\\"valueChange($event)\\\">\\n\\t\\t\\t</ibm-date-picker>\\n\\t\\t\\t<p style=\\\"margin-top: 20px;\\\">Without initial value</p>\\n\\t\\t\\t<ibm-date-picker\\n\\t\\t\\t\\t[label]=\\\"label\\\"\\n\\t\\t\\t\\t[placeholder]=\\\"placeholder\\\"\\n\\t\\t\\t\\t[theme]=\\\"theme\\\"\\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[dateFormat]=\\\"dateFormat\\\"\\n\\t\\t\\t\\t(valueChange)=\\\"valueChange($event)\\\">\\n\\t\\t\\t</ibm-date-picker>\\n\\t\\t`,\\n props: {\\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 dateFormat: text('Date format', 'm/d/Y'),\\n value: array('Value', ['10/19/2019']),\\n },\\n }))\\n .add('Range', () => ({\\n template: `\\n\\t\\t<p>With initial value</p>\\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[dateFormat]=\\\"dateFormat\\\"\\n\\t\\t\\t[value]=\\\"value\\\"\\n\\t\\t\\t(valueChange)=\\\"valueChange($event)\\\">\\n\\t\\t</ibm-date-picker>\\n\\t\\t<p style=\\\"margin-top: 20px;\\\">Without initial value</p>\\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[dateFormat]=\\\"dateFormat\\\"\\n\\t\\t\\t(valueChange)=\\\"valueChange($event)\\\">\\n\\t\\t</ibm-date-picker>\\n\\t\\t`,\\n props: {\\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 dateFormat: text('Date format', 'm/d/Y'),\\n value: array('Value', ['09/19/2019', '10/19/2019']),\\n },\\n }))\\n .add('With reactive forms', () => ({\\n template: `\\n\\t\\t<app-date-picker\\n\\t\\t\\t(valueChange)=\\\"valueChange($event)\\\">\\n\\t\\t</app-date-picker>\\n\\t\\t`,\\n props: {\\n valueChange: action('Date change fired!'),\\n },\\n }))\\n .add('With ngModel', () => ({\\n template: `\\n\\t\\t\\t<div>\\n\\t\\t\\t\\t<ibm-date-picker\\n\\t\\t\\t\\t\\tlabel=\\\"Date picker label\\\"\\n\\t\\t\\t\\t\\t[(ngModel)]=\\\"single\\\">\\n\\t\\t\\t\\t</ibm-date-picker>\\n\\t\\t\\t\\t<button\\n\\t\\t\\t\\t\\tibmButton\\n\\t\\t\\t\\t\\t(click)=\\\"single = null\\\"\\n\\t\\t\\t\\t\\tstyle=\\\"margin-top: 5px\\\">\\n\\t\\t\\t\\t\\tSend null\\n\\t\\t\\t\\t</button>\\n\\t\\t\\t\\t<button\\n\\t\\t\\t\\t\\tibmButton\\n\\t\\t\\t\\t\\t(click)=\\\"single = [date]\\\"\\n\\t\\t\\t\\t\\tstyle=\\\"margin-left: 5px\\\">\\n\\t\\t\\t\\t\\tSend date\\n\\t\\t\\t\\t</button>\\n\\t\\t\\t\\t<br>\\n\\t\\t\\t\\t<code>{{ single | json }}</code>\\n\\t\\t\\t</div>\\n\\t\\t\\t<div style=\\\"margin-top: 15px;\\\">\\n\\t\\t\\t\\t<ibm-date-picker\\n\\t\\t\\t\\t\\tlabel=\\\"Date picker\\\"\\n\\t\\t\\t\\t\\trangeLabel=\\\"Range label\\\"\\n\\t\\t\\t\\t\\trange=\\\"true\\\"\\n\\t\\t\\t\\t\\t[(ngModel)]=\\\"range\\\">\\n\\t\\t\\t\\t</ibm-date-picker>\\n\\t\\t\\t\\t<button\\n\\t\\t\\t\\t\\tibmButton\\n\\t\\t\\t\\t\\t(click)=\\\"range = null\\\"\\n\\t\\t\\t\\t\\tstyle=\\\"margin-top: 5px\\\">\\n\\t\\t\\t\\t\\tSend null\\n\\t\\t\\t\\t</button>\\n\\t\\t\\t\\t<button\\n\\t\\t\\t\\t\\tibmButton\\n\\t\\t\\t\\t\\t(click)=\\\"range = rangeDates\\\"\\n\\t\\t\\t\\t\\tstyle=\\\"margin-left: 5px\\\">\\n\\t\\t\\t\\t\\tSend date\\n\\t\\t\\t\\t</button>\\n\\t\\t\\t\\t<br>\\n\\t\\t\\t\\t<code>{{ range | json }}</code>\\n\\t\\t\\t</div>\\n\\t\\t`,\\n props: {\\n date: new Date(new Date().getFullYear(), 5, 15),\\n rangeDates: [\\n new Date(new Date().getFullYear(), 5, 15),\\n new Date(new Date().getFullYear(), 8, 19),\\n ],\\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 .add('Documentation', () => ({\\n template: `\\n\\t\\t\\t<ibm-documentation src=\\\"documentation/components/DatePicker.html\\\"></ibm-documentation>\\n\\t\\t`,\\n }));\\n\";\n export var __ADDS_MAP__ = {\"date-picker--documentation\":{\"startLoc\":{\"col\":7,\"line\":258},\"endLoc\":{\"col\":4,\"line\":262}},\"date-picker--skeleton\":{\"startLoc\":{\"col\":7,\"line\":250},\"endLoc\":{\"col\":4,\"line\":257}},\"date-picker--with-ngmodel\":{\"startLoc\":{\"col\":7,\"line\":197},\"endLoc\":{\"col\":4,\"line\":249}},\"date-picker--with-reactive-forms\":{\"startLoc\":{\"col\":7,\"line\":187},\"endLoc\":{\"col\":4,\"line\":196}},\"date-picker--range\":{\"startLoc\":{\"col\":7,\"line\":145},\"endLoc\":{\"col\":4,\"line\":186}},\"date-picker--single\":{\"startLoc\":{\"col\":7,\"line\":107},\"endLoc\":{\"col\":4,\"line\":144}},\"date-picker--simple\":{\"startLoc\":{\"col\":7,\"line\":85},\"endLoc\":{\"col\":4,\"line\":106}}};\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 {\n\tFormBuilder,\n\tFormGroup,\n\tValidators,\n\tFormsModule,\n\tReactiveFormsModule\n} from \"@angular/forms\";\nimport {\n\tComponent,\n\tInput,\n\tOutput,\n\tEventEmitter\n} from \"@angular/core\";\nimport { DatePickerModule, DocumentationModule } from \"../\";\nimport { ButtonModule } from \"../forms/forms.module\";\n\n@Component({\n\tselector: \"app-date-picker\",\n\ttemplate: `\n\t\t<form [formGroup]=\"formGroup\">\n\t\t\t<ibm-date-picker\n\t\t\t\tformControlName=\"single\"\n\t\t\t\tlabel=\"Date Picker Label\"\n\t\t\t\tinvalidText=\"Invalid date format\"\n\t\t\t\t[invalid]=\"invalidSingle\"\n\t\t\t\t(valueChange)=\"valueChange.emit($event)\">\n\t\t\t</ibm-date-picker>\n\t\t\t<code>{{formGroup.controls[\"single\"].value | json}}</code>\n\t\t\t<br><br>\n\t\t\t<ibm-date-picker\n\t\t\t\trange=\"true\"\n\t\t\t\tformControlName=\"range\"\n\t\t\t\tlabel=\"Date Picker Label\"\n\t\t\t\trangeLabel=\"Date Picker Label\"\n\t\t\t\tinvalidText=\"Invalid date format\"\n\t\t\t\t[pattern]=\"pattern\"\n\t\t\t\t[invalid]=\"invalidRange\"\n\t\t\t\t(valueChange)=\"valueChange.emit($event)\">\n\t\t\t</ibm-date-picker>\n\t\t\t<code>{{formGroup.controls[\"range\"].value | json}}</code>\n\t\t</form>\n\t`\n})\nclass DatePickerStory {\n\t@Output() valueChange = new EventEmitter();\n\n\tget invalidSingle() {\n\t\treturn this.formGroup.controls[\"single\"].invalid && this.formGroup.controls[\"single\"].touched;\n\t}\n\n\tget invalidRange() {\n\t\treturn this.formGroup.controls[\"range\"].invalid && this.formGroup.controls[\"range\"].touched;\n\t}\n\n\tformGroup: FormGroup;\n\n\tconstructor(protected formBuilder: FormBuilder) {\n\t\tthis.formGroup = this.formBuilder.group({\n\t\t\tsingle: [\n\t\t\t\t[new Date()],\n\t\t\t\tValidators.required\n\t\t\t],\n\t\t\trange: [\n\t\t\t\t[\n\t\t\t\t\tnew Date(),\n\t\t\t\t\tnew Date(\n\t\t\t\t\t\tnew Date().getFullYear(),\n\t\t\t\t\t\tnew Date().getMonth() + 1,\n\t\t\t\t\t\tnew Date().getDate())\n\t\t\t\t],\n\t\t\t\tValidators.required\n\t\t\t]\n\t\t});\n\t}\n}\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\tFormsModule,\n\t\t\t\tReactiveFormsModule,\n\t\t\t\tDocumentationModule,\n\t\t\t\tButtonModule\n\t\t\t],\n\t\t\tdeclarations: [\n\t\t\t\tDatePickerStory\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\t(valueChange)=\"valueChange($event)\">\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\tvalueChange: action(\"Date change fired!\")\n\t\t}\n\t}))\n\t.add(\"Single\", () => ({\n\t\ttemplate: `\n\t\t\t<p>With initial value</p>\n\t\t\t<ibm-date-picker\n\t\t\t\t[label]=\"label\"\n\t\t\t\t[placeholder]=\"placeholder\"\n\t\t\t\t[theme]=\"theme\"\n\t\t\t\t[value]=\"value\"\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[dateFormat]=\"dateFormat\"\n\t\t\t\t(valueChange)=\"valueChange($event)\">\n\t\t\t</ibm-date-picker>\n\t\t\t<p style=\"margin-top: 20px;\">Without initial value</p>\n\t\t\t<ibm-date-picker\n\t\t\t\t[label]=\"label\"\n\t\t\t\t[placeholder]=\"placeholder\"\n\t\t\t\t[theme]=\"theme\"\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[dateFormat]=\"dateFormat\"\n\t\t\t\t(valueChange)=\"valueChange($event)\">\n\t\t\t</ibm-date-picker>\n\t\t`,\n\t\tprops: {\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\tdateFormat: text(\"Date format\", \"m/d/Y\"),\n\t\t\tvalue: array(\"Value\", [\"10/19/2019\"])\n\t\t}\n\t}))\n\t.add(\"Range\", () => ({\n\t\ttemplate: `\n\t\t<p>With initial value</p>\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[dateFormat]=\"dateFormat\"\n\t\t\t[value]=\"value\"\n\t\t\t(valueChange)=\"valueChange($event)\">\n\t\t</ibm-date-picker>\n\t\t<p style=\"margin-top: 20px;\">Without initial value</p>\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[dateFormat]=\"dateFormat\"\n\t\t\t(valueChange)=\"valueChange($event)\">\n\t\t</ibm-date-picker>\n\t\t`,\n\t\tprops: {\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\tdateFormat: text(\"Date format\", \"m/d/Y\"),\n\t\t\tvalue: array(\"Value\", [\"09/19/2019\", \"10/19/2019\"])\n\t\t}\n\t}))\n\t.add(\"With reactive forms\", () => ({\n\t\ttemplate: `\n\t\t<app-date-picker\n\t\t\t(valueChange)=\"valueChange($event)\">\n\t\t</app-date-picker>\n\t\t`,\n\t\tprops: {\n\t\t\tvalueChange: action(\"Date change fired!\")\n\t\t}\n\t}))\n\t.add(\"With ngModel\", () => ({\n\t\ttemplate: `\n\t\t\t<div>\n\t\t\t\t<ibm-date-picker\n\t\t\t\t\tlabel=\"Date picker label\"\n\t\t\t\t\t[(ngModel)]=\"single\">\n\t\t\t\t</ibm-date-picker>\n\t\t\t\t<button\n\t\t\t\t\tibmButton\n\t\t\t\t\t(click)=\"single = null\"\n\t\t\t\t\tstyle=\"margin-top: 5px\">\n\t\t\t\t\tSend null\n\t\t\t\t</button>\n\t\t\t\t<button\n\t\t\t\t\tibmButton\n\t\t\t\t\t(click)=\"single = [date]\"\n\t\t\t\t\tstyle=\"margin-left: 5px\">\n\t\t\t\t\tSend date\n\t\t\t\t</button>\n\t\t\t\t<br>\n\t\t\t\t<code>{{ single | json }}</code>\n\t\t\t</div>\n\t\t\t<div style=\"margin-top: 15px;\">\n\t\t\t\t<ibm-date-picker\n\t\t\t\t\tlabel=\"Date picker\"\n\t\t\t\t\trangeLabel=\"Range label\"\n\t\t\t\t\trange=\"true\"\n\t\t\t\t\t[(ngModel)]=\"range\">\n\t\t\t\t</ibm-date-picker>\n\t\t\t\t<button\n\t\t\t\t\tibmButton\n\t\t\t\t\t(click)=\"range = null\"\n\t\t\t\t\tstyle=\"margin-top: 5px\">\n\t\t\t\t\tSend null\n\t\t\t\t</button>\n\t\t\t\t<button\n\t\t\t\t\tibmButton\n\t\t\t\t\t(click)=\"range = rangeDates\"\n\t\t\t\t\tstyle=\"margin-left: 5px\">\n\t\t\t\t\tSend date\n\t\t\t\t</button>\n\t\t\t\t<br>\n\t\t\t\t<code>{{ range | json }}</code>\n\t\t\t</div>\n\t\t`,\n\t\tprops: {\n\t\t\tdate: new Date(new Date().getFullYear(), 5, 15),\n\t\t\trangeDates: [\n\t\t\t\tnew Date(new Date().getFullYear(), 5, 15),\n\t\t\t\tnew Date(new Date().getFullYear(), 8, 19)\n\t\t\t]\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\t.add(\"Documentation\", () => ({\n\t\ttemplate: `\n\t\t\t<ibm-documentation src=\"documentation/components/DatePicker.html\"></ibm-documentation>\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, { position, AbsolutePosition, Positions } 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 */\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 * Extra placements. Child classes can add to this for use in `placeDialog`.\n\t */\n\tprotected placements: Positions = {};\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\tconst positionService = new Position(this.placements);\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](positionService.findRelative(reference, target, placement));\n\t\t\t} else {\n\t\t\t\tpos = this.addGap[placement](positionService.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 = positionService.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\tpositionService.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 */\n\t@Input() title = \"\";\n\t/**\n\t * Dialog body content.\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 */\n\t@Input() trigger: \"click\" | \"hover\" | \"mouseenter\" = \"click\";\n\t/**\n\t * Defines how the Dialog close event is triggered.\n\t *\n\t * [See here](https://developer.mozilla.org/en-US/docs/Web/API/Element/mouseleave_event)\n\t * for more on the difference between `mouseleave` and `mouseout`.\n\t *\n\t * Defaults to `click` when `trigger` is set to `click`.\n\t */\n\t@Input() closeTrigger: \"mouseout\" | \"mouseleave\" = \"mouseleave\";\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 */\n\t@Input() wrapperClass: string;\n\t/**\n\t * Spacing between the dialog and it's triggering element\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 */\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\tcloseTrigger: this.closeTrigger,\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, this.closeTrigger).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 */\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 * [See demo](../../?path=/story/overflow-menu--basic)\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 * <example-url>../../iframe.html?id=overflow-menu--basic</example-url>\n *\n * @export\n * @class OverflowMenu\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, DocumentationModule } 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, DocumentationModule],\\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 .add('Documentation', () => ({\\n template: `\\n\\t\\t\\t<ibm-documentation src=\\\"documentation/components/OverflowMenu.html\\\"></ibm-documentation>\\n\\t\\t`,\\n }));\\n\";\n export var __ADDS_MAP__ = {\"overflow-menu--documentation\":{\"startLoc\":{\"col\":7,\"line\":88},\"endLoc\":{\"col\":4,\"line\":92}},\"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, DocumentationModule } 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\tDocumentationModule\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\t.add(\"Documentation\", () => ({\n\t\ttemplate: `\n\t\t\t<ibm-documentation src=\"documentation/components/OverflowMenu.html\"></ibm-documentation>\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 type=\"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","\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 { DialogModule, PlaceholderModule, DocumentationModule } from '../../';\\n\\nstoriesOf('Tooltip Definition', module)\\n .addDecorator(\\n moduleMetadata({\\n imports: [DialogModule, PlaceholderModule, DocumentationModule],\\n })\\n )\\n .addDecorator(withKnobs)\\n .add('Basic', () => ({\\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 .add('Documentation', () => ({\\n template: `\\n\\t\\t\\t<ibm-documentation src=\\\"documentation/components/TooltipDefinition.html\\\"></ibm-documentation>\\n\\t\\t`,\\n }));\\n\";\n export var __ADDS_MAP__ = {\"tooltip-definition--documentation\":{\"startLoc\":{\"col\":7,\"line\":27},\"endLoc\":{\"col\":4,\"line\":31}},\"tooltip-definition--basic\":{\"startLoc\":{\"col\":7,\"line\":13},\"endLoc\":{\"col\":4,\"line\":26}}};\n \n import { storiesOf, moduleMetadata } from \"@storybook/angular\";\nimport { withKnobs, text, select } from \"@storybook/addon-knobs/angular\";\n\nimport { DialogModule, PlaceholderModule, DocumentationModule } from \"../../\";\n\nstoriesOf(\"Tooltip Definition\", 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\tDocumentationModule\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-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\t.add(\"Documentation\", () => ({\n\t\ttemplate: `\n\t\t\t<ibm-documentation src=\"documentation/components/TooltipDefinition.html\"></ibm-documentation>\n\t\t`\n\t}));\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\ttype=\"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","\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 { DialogModule, PlaceholderModule, DocumentationModule } from '../../';\\n\\nstoriesOf('Tooltip Icon', module)\\n .addDecorator(\\n moduleMetadata({\\n imports: [DialogModule, PlaceholderModule, DocumentationModule],\\n })\\n )\\n .addDecorator(withKnobs)\\n .add('Basic', () => ({\\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('Documentation', () => ({\\n template: `\\n\\t\\t\\t<ibm-documentation src=\\\"documentation/components/TooltipIcon.html\\\"></ibm-documentation>\\n\\t\\t`,\\n }));\\n\";\n export var __ADDS_MAP__ = {\"tooltip-icon--documentation\":{\"startLoc\":{\"col\":7,\"line\":29},\"endLoc\":{\"col\":4,\"line\":33}},\"tooltip-icon--basic\":{\"startLoc\":{\"col\":7,\"line\":13},\"endLoc\":{\"col\":4,\"line\":28}}};\n \n import { storiesOf, moduleMetadata } from \"@storybook/angular\";\nimport { withKnobs, text, select } from \"@storybook/addon-knobs/angular\";\n\nimport { DialogModule, PlaceholderModule, DocumentationModule } from \"../../\";\n\nstoriesOf(\"Tooltip Icon\", 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\tDocumentationModule\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-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(\"Documentation\", () => ({\n\t\ttemplate: `\n\t\t\t<ibm-documentation src=\"documentation/components/TooltipIcon.html\"></ibm-documentation>\n\t\t`\n\t}));\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 * [See demo](../../?path=/story/tooltip--basic)\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 * <example-url>../../iframe.html?id=tooltip--basic</example-url>\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, DocumentationModule } from '../../';\\n\\nstoriesOf('Tooltip', module)\\n .addDecorator(\\n moduleMetadata({\\n imports: [DialogModule, PlaceholderModule, InformationFilled16Module, DocumentationModule],\\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('Documentation', () => ({\\n template: `\\n\\t\\t\\t<ibm-documentation src=\\\"documentation/directives/TooltipDirective.html\\\"></ibm-documentation>\\n\\t\\t`,\\n }));\\n\";\n export var __ADDS_MAP__ = {\"tooltip--documentation\":{\"startLoc\":{\"col\":7,\"line\":101},\"endLoc\":{\"col\":4,\"line\":105}},\"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, DocumentationModule } 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\tDocumentationModule\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(\"Documentation\", () => ({\n\t\ttemplate: `\n\t\t\t<ibm-documentation src=\"documentation/directives/TooltipDirective.html\"></ibm-documentation>\n\t\t`\n\t}));\n\n ","import {\n\tComponent,\n\tInput,\n\tElementRef,\n\tOnInit,\n\tOnDestroy\n} from \"@angular/core\";\nimport { DomSanitizer } from \"@angular/platform-browser\";\n\n@Component({\n\tselector: \"ibm-documentation\",\n\ttemplate: `\n\t\t<iframe\n\t\t\tid=\"docsIframe\"\n\t\t\tstyle=\"width: 100vw; height: 100vh;\"\n\t\t\t(load)=\"onLoad()\"\n\t\t\t[src]=\"src\">\n\t\t</iframe>\n\t`\n})\nexport class Documentation implements OnInit, OnDestroy {\n\t@Input() set src(src: string) {\n\t\tthis._src = this.sanitizer.bypassSecurityTrustResourceUrl(src);\n\t}\n\tget src() {\n\t\treturn this._src;\n\t}\n\n\tprotected _src;\n\n\tconstructor(protected elementRef: ElementRef, protected sanitizer: DomSanitizer) {}\n\n\tngOnInit() {\n\t\tdocument.querySelector(\"html\").style.overflow = \"hidden\";\n\t\tdocument.querySelector(\".sb-show-main\").classList.add(\"full-page\");\n\t}\n\tngOnDestroy() {\n\t\tdocument.querySelector(\"html\").style.overflow = \"auto\";\n\t\tdocument.querySelector(\".sb-show-main\").classList.remove(\"full-page\");\n\t}\n\n\tonLoad() {\n\t\tconst docsIframe = this.elementRef.nativeElement.querySelector(\"#docsIframe\");\n\t\tconst docsDocument = docsIframe.contentDocument || docsIframe.contentWindow.document;\n\t\tconst docsBody = docsDocument.querySelector(\"body\");\n\n\t\tconst mainContent = docsBody.querySelector(\".content\");\n\t\tmainContent.style.width = \"100%\";\n\t\tmainContent.style.left = 0;\n\n\t\tconst menuContent = docsBody.querySelector(\".hidden-xs.menu\");\n\t\tmenuContent.style.display = \"none\";\n\t}\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nimport { Documentation } from \"./documentation.component\";\n\nexport { Documentation } from \"./documentation.component\";\n\n@NgModule({\n\tdeclarations: [\n\t\tDocumentation\n\t],\n\texports: [\n\t\tDocumentation\n\t],\n\timports: [\n\t\tCommonModule\n\t]\n})\nexport class DocumentationModule { }\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\tHostBinding,\n\tTemplateRef\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 * [See demo](../../?path=/story/dropdown--basic)\n *\n * <example-url>../../iframe.html?id=dropdown--basic</example-url>\n *\n * @export\n * @class Dropdown\n * @implements {OnInit}\n * @implements {AfterContentInit}\n * @implements {OnDestroy}\n */\n@Component({\n\tselector: \"ibm-dropdown\",\n\ttemplate: `\n\t<label *ngIf=\"label\" [for]=\"id\" class=\"bx--label\">\n\t\t<ng-container *ngIf=\"!isTemplate(label)\">{{label}}</ng-container>\n\t\t<ng-template *ngIf=\"isTemplate(label)\" [ngTemplateOutlet]=\"label\"></ng-template>\n\t</label>\n\t<div *ngIf=\"helperText\" class=\"bx--form__helper-text\">\n\t\t<ng-container *ngIf=\"!isTemplate(helperText)\">{{helperText}}</ng-container>\n\t\t<ng-template *ngIf=\"isTemplate(helperText)\" [ngTemplateOutlet]=\"helperText\"></ng-template>\n\t</div>\n\t<div\n\t\t[id]=\"id\"\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 *ngIf=\"isRenderString()\" class=\"bx--list-box__label\">{{getDisplayStringValue() | async}}</span>\n\t\t\t<ng-template\n\t\t\t\t*ngIf=\"!isRenderString()\"\n\t\t\t\t[ngTemplateOutletContext]=\"getRenderTemplateContext()\"\n\t\t\t\t[ngTemplateOutlet]=\"displayValue\">\n\t\t\t</ng-template>\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\tstatic dropdownCount = 0;\n\t@Input() id = `dropdown-${Dropdown.dropdownCount++}`;\n\t/**\n\t * Label for the dropdown.\n\t */\n\t@Input() label: string | TemplateRef<any>;\n\t/**\n\t * Sets the optional helper text.\n\t */\n\t@Input() helperText: string | TemplateRef<any>;\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`. Can be a string or template.\n\t */\n\t@Input() displayValue: string | TemplateRef<any> = \"\";\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@HostBinding(\"class.bx--dropdown__wrapper\") hostClass = true;\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\t// if we have a `value` selector and selected items map them approperiatly\n\t\t\t\tif (this.value && this.view.getSelected()) {\n\t\t\t\t\tconst values = this.view.getSelected().map(item => item[this.value]);\n\t\t\t\t\tthis.propagateChange(values);\n\t\t\t\t// otherwise just pass up the values from `getSelected`\n\t\t\t\t} else {\n\t\t\t\t\tthis.propagateChange(this.view.getSelected());\n\t\t\t\t}\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\t// propagate null/falsey as an array (deselect everything)\n\t\tif (!value) {\n\t\t\tthis.view.propagateSelected([value]);\n\t\t} else if (this.type === \"single\") {\n\t\t\tif (this.value) {\n\t\t\t\t// clone the specified item and update its state\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\t// pass the singular value as an array of ListItem\n\t\t\t\tthis.view.propagateSelected([value]);\n\t\t\t}\n\t\t} else {\n\t\t\tif (this.value) {\n\t\t\t\t// clone the items and update their state based on the received value array\n\t\t\t\t// this way we don't lose any additional metadata that may be passed in view the `items` Input\n\t\t\t\tconst newValues = Array.from(this.view.getListItems(), item => Object.assign({}, item));\n\t\t\t\tfor (const v of value) {\n\t\t\t\t\tfor (const newValue of newValues) {\n\t\t\t\t\t\tif (newValue[this.value] === v) {\n\t\t\t\t\t\t\tnewValue.selected = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tthis.view.propagateSelected(newValues);\n\t\t\t} else {\n\t\t\t\t// we can safely assume we're passing an array of `ListItem`s\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.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\tgetDisplayStringValue(): 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 || !this.isRenderString())) {\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 && this.isRenderString()) {\n\t\t\treturn of(this.displayValue as string);\n\t\t}\n\t\treturn of(this.placeholder);\n\t}\n\n\tisRenderString(): boolean {\n\t\treturn typeof this.displayValue === \"string\";\n\t}\n\n\tgetRenderTemplateContext() {\n\t\tif (!this.view) {\n\t\t\treturn;\n\t\t}\n\t\tlet selected = this.view.getSelected();\n\t\tif (this.type === \"multi\") {\n\t\t\treturn {items: selected};\n\t\t} else if (selected && selected.length > 0) {\n\t\t\treturn {item: selected[0]}; // this is to be compatible with the dropdown-list template\n\t\t} else {\n\t\t\treturn {};\n\t\t}\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\tthis.selected.emit([]);\n\t\tthis.propagateChange([]);\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\tpublic isTemplate(value) {\n\t\treturn value instanceof TemplateRef;\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, DocumentationModule } from '../';\\nimport { of } from 'rxjs';\\nimport { PlaceholderModule } from '../placeholder/placeholder.module';\\n\\nstoriesOf('Dropdown', module)\\n .addDecorator(\\n moduleMetadata({\\n imports: [DropdownModule, PlaceholderModule, DocumentationModule],\\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[label]=\\\"label\\\"\\n\\t\\t\\t\\t[helperText]=\\\"helperText\\\"\\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 label: text('Label', 'Dropdown label'),\\n helperText: text('Helper text', 'Optional helper text.'),\\n items: object('items', [\\n { content: 'one' },\\n { content: 'two' },\\n { content: 'three' },\\n { content: 'four' },\\n ]),\\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\\t[label]=\\\"label\\\"\\n\\t\\t\\t\\t[helperText]=\\\"helperText\\\"\\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 label: text('Label', 'Dropdown label'),\\n helperText: text('Helper text', 'Optional helper text.'),\\n items: object('items', [\\n { content: 'one' },\\n { content: 'two' },\\n { content: 'three' },\\n { content: 'four' },\\n ]),\\n selected: action('Selected fired for multi-select dropdown'),\\n onClose: action('Multi-select dropdown closed'),\\n },\\n }))\\n .add('Multi-select with ngModel', () => ({\\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\\t[label]=\\\"label\\\"\\n\\t\\t\\t\\t[helperText]=\\\"helperText\\\"\\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 label: text('Label', 'Dropdown label'),\\n helperText: text('Helper text', 'Optional helper text.'),\\n items: [{ content: 'one' }, { content: 'two' }, { content: 'three' }, { content: 'four' }],\\n model: null,\\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\\t[label]=\\\"label\\\"\\n\\t\\t\\t\\t[helperText]=\\\"helperText\\\"\\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 label: text('Label', 'Dropdown label'),\\n helperText: text('Helper text', 'Optional helper text.'),\\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[label]=\\\"label\\\"\\n\\t\\t\\t\\t[helperText]=\\\"helperText\\\"\\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 label: text('Label', 'Dropdown label'),\\n helperText: text('Helper text', 'Optional helper text.'),\\n items: of([\\n { content: 'one' },\\n { content: 'two' },\\n { content: 'three' },\\n { content: 'four' },\\n ]),\\n selected: action('Selected fired for dropdown'),\\n onClose: action('Dropdown closed'),\\n theme: select('theme', ['dark', 'light'], 'dark'),\\n },\\n }))\\n .add('With Template', () => ({\\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[displayValue]=\\\"dropdownRenderer\\\"\\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\\\" [listTpl]=\\\"dropdownRenderer\\\"></ibm-dropdown-list>\\n\\t\\t\\t</ibm-dropdown>\\n\\t\\t\\t<ng-template #dropdownRenderer let-item=\\\"item\\\">\\n\\t\\t\\t\\t<div *ngIf=\\\"item && item.content\\\" style=\\\"font-size: 14px;\\\">\\n\\t\\t\\t\\t\\t<svg focusable=\\\"false\\\" preserveAspectRatio=\\\"xMidYMid meet\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\"\\n\\t\\t\\t\\t\\t\\t\\twidth=\\\"16\\\" height=\\\"16\\\" viewBox=\\\"0 0 16 16\\\" aria-hidden=\\\"true\\\" style=\\\"will-change: transform;\\\">\\n\\t\\t\\t\\t\\t\\t<path d=\\\"M9.3 3.7l3.8 3.8H1v1h12.1l-3.8 3.8.7.7 5-5-5-5z\\\"></path>\\n\\t\\t\\t\\t\\t</svg>\\n\\t\\t\\t\\t\\t&nbsp;{{item.content}}\\n\\t\\t\\t\\t</div>\\n\\t\\t\\t</ng-template>\\n\\t\\t</div>\\n\\t`,\\n props: {\\n disabled: boolean('disabled', false),\\n items: object('items', [\\n { content: 'one', selected: true },\\n { content: 'two' },\\n { content: 'three' },\\n { content: 'four' },\\n ]),\\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 .add('Documentation', () => ({\\n template: `\\n\\t\\t\\t<ibm-documentation src=\\\"documentation/components/Dropdown.html\\\"></ibm-documentation>\\n\\t\\t`,\\n }));\\n\";\n export var __ADDS_MAP__ = {\"dropdown--documentation\":{\"startLoc\":{\"col\":7,\"line\":205},\"endLoc\":{\"col\":4,\"line\":209}},\"dropdown--skeleton\":{\"startLoc\":{\"col\":7,\"line\":189},\"endLoc\":{\"col\":4,\"line\":204}},\"dropdown--with-template\":{\"startLoc\":{\"col\":7,\"line\":153},\"endLoc\":{\"col\":4,\"line\":188}},\"dropdown--with-observable-items\":{\"startLoc\":{\"col\":7,\"line\":123},\"endLoc\":{\"col\":4,\"line\":152}},\"dropdown--with-ngmodel\":{\"startLoc\":{\"col\":7,\"line\":100},\"endLoc\":{\"col\":4,\"line\":122}},\"dropdown--multi-select-with-ngmodel\":{\"startLoc\":{\"col\":7,\"line\":76},\"endLoc\":{\"col\":4,\"line\":99}},\"dropdown--multi-select\":{\"startLoc\":{\"col\":7,\"line\":47},\"endLoc\":{\"col\":4,\"line\":75}},\"dropdown--basic\":{\"startLoc\":{\"col\":7,\"line\":16},\"endLoc\":{\"col\":4,\"line\":46}}};\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, DocumentationModule } 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\tDocumentationModule\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[label]=\"label\"\n\t\t\t\t[helperText]=\"helperText\"\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\tlabel: text(\"Label\", \"Dropdown label\"),\n\t\t\thelperText: text(\"Helper text\", \"Optional helper text.\"),\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\t[label]=\"label\"\n\t\t\t\t[helperText]=\"helperText\"\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\tlabel: text(\"Label\", \"Dropdown label\"),\n\t\t\thelperText: text(\"Helper text\", \"Optional helper text.\"),\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(\"Multi-select with ngModel\", () => ({\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\t[label]=\"label\"\n\t\t\t\t[helperText]=\"helperText\"\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\tlabel: text(\"Label\", \"Dropdown label\"),\n\t\t\thelperText: text(\"Helper text\", \"Optional helper text.\"),\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 ngModel\", () => ({\n\t\ttemplate: `\n\t\t<div style=\"width: 300px\">\n\t\t\t<ibm-dropdown\n\t\t\t\t[label]=\"label\"\n\t\t\t\t[helperText]=\"helperText\"\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\tlabel: text(\"Label\", \"Dropdown label\"),\n\t\t\thelperText: text(\"Helper text\", \"Optional helper text.\"),\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[label]=\"label\"\n\t\t\t\t[helperText]=\"helperText\"\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\tlabel: text(\"Label\", \"Dropdown label\"),\n\t\t\thelperText: text(\"Helper text\", \"Optional helper text.\"),\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(\"With Template\", () => ({\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[displayValue]=\"dropdownRenderer\"\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\" [listTpl]=\"dropdownRenderer\"></ibm-dropdown-list>\n\t\t\t</ibm-dropdown>\n\t\t\t<ng-template #dropdownRenderer let-item=\"item\">\n\t\t\t\t<div *ngIf=\"item && item.content\" style=\"font-size: 14px;\">\n\t\t\t\t\t<svg focusable=\"false\" preserveAspectRatio=\"xMidYMid meet\" xmlns=\"http://www.w3.org/2000/svg\"\n\t\t\t\t\t\t\twidth=\"16\" height=\"16\" viewBox=\"0 0 16 16\" aria-hidden=\"true\" style=\"will-change: transform;\">\n\t\t\t\t\t\t<path d=\"M9.3 3.7l3.8 3.8H1v1h12.1l-3.8 3.8.7.7 5-5-5-5z\"></path>\n\t\t\t\t\t</svg>\n\t\t\t\t\t&nbsp;{{item.content}}\n\t\t\t\t</div>\n\t\t\t</ng-template>\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\", selected: true },\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\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\t.add(\"Documentation\", () => ({\n\t\ttemplate: `\n\t\t\t<ibm-documentation src=\"documentation/components/Dropdown.html\"></ibm-documentation>\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\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\n\t\t\t\t\t#listItem\n\t\t\t\t\ttabindex=\"-1\"\n\t\t\t\t\tclass=\"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\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\t// if we get a non-array, log out an error (since it is one)\n\t\tif (!Array.isArray(value)) {\n\t\t\tconsole.error(`${this.constructor.name}.propagateSelected expects an Array<ListItem>, got ${JSON.stringify(value)}`);\n\t\t}\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\t\tif (this.listElementList.some(option => option.nativeElement === event.target)) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t}\n\t\t\t\tif (event.key === \"Enter\") {\n\t\t\t\t\tthis.doClick(event, item);\n\t\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\tevent.preventDefault();\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/**\n * [See demo](../../?path=/story/file-uploader--basic)\n *\n * <example-url>../../iframe.html?id=file-uploader--basic</example-url>\n *\n * @export\n * @class FileUploader\n * @implements {OnInit}\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\ttabindex=\"-1\"\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, DocumentationModule } 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, DocumentationModule],\\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 .add('Documentation', () => ({\\n template: `\\n\\t\\t\\t<ibm-documentation src=\\\"documentation/components/FileUploader.html\\\"></ibm-documentation>\\n\\t\\t`,\\n }));\\n\";\n export var __ADDS_MAP__ = {\"file-uploader--documentation\":{\"startLoc\":{\"col\":7,\"line\":190},\"endLoc\":{\"col\":4,\"line\":194}},\"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 {\n\tFileUploaderModule,\n\tNotificationModule,\n\tButtonModule,\n\tDocumentationModule\n} 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, DocumentationModule],\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\t.add(\"Documentation\", () => ({\n\t\ttemplate: `\n\t\t\t<ibm-documentation src=\"documentation/components/FileUploader.html\"></ibm-documentation>\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\t(keyup.enter)=\"remove.emit()\"\n\t\t\t(keyup.space)=\"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/**\n * [See demo](../../?path=/story/grid--basic)\n *\n * <example-url>../../iframe.html?id=grid--basic</example-url>\n *\n * @export\n * @class GridDirective\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, DocumentationModule } from '../';\\n\\nstoriesOf('Grid', module)\\n .addDecorator(\\n moduleMetadata({\\n imports: [GridModule, DocumentationModule],\\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 .add('Documentation', () => ({\\n template: `\\n\\t\\t\\t<ibm-documentation src=\\\"documentation/directives/GridDirective.html\\\"></ibm-documentation>\\n\\t\\t`,\\n }));\\n\";\n export var __ADDS_MAP__ = {\"grid--documentation\":{\"startLoc\":{\"col\":7,\"line\":24},\"endLoc\":{\"col\":4,\"line\":28}},\"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, DocumentationModule } from \"../\";\n\nstoriesOf(\"Grid\", module).addDecorator(withStorySource(__STORY__, __ADDS_MAP__))\n\t.addDecorator(\n\t\tmoduleMetadata({\n\t\t\timports: [GridModule, DocumentationModule]\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\t.add(\"Documentation\", () => ({\n\t\ttemplate: `\n\t\t\t<ibm-documentation src=\"documentation/directives/GridDirective.html\"></ibm-documentation>\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 './';\\nimport { Bee20Module } from '@carbon/icons-angular/lib/bee/20';\\nimport { Document20Module } from '@carbon/icons-angular/lib/document/20';\\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\\n cx=\\\"330.25\\\"\\n cy=\\\"343.51\\\"\\n r=\\\"65.56\\\"\\n transform=\\\"translate(-94.02 125.42) rotate(-19)\\\"\\n ></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\\n data-name=\\\"Triangle\\\"\\n opacity=\\\".3\\\"\\n d=\\\"M692.39 366.28l-163.42-31.23L638.72 208.8l53.67 157.48z\\\"\\n ></path>\\n <path\\n data-name=\\\"Triangle\\\"\\n opacity=\\\".1\\\"\\n d=\\\"M725.64 350.6l-163.42-31.23 109.75-126.25 53.67 157.48z\\\"\\n ></path>\\n </g>\\n <g fill=\\\"none\\\" stroke=\\\"#0B21A8\\\" stroke-width=\\\"2\\\">\\n <path\\n data-name=\\\"Triangle\\\"\\n d=\\\"M74.92 510.53l11.09-166.01 138.68 93.54-149.77 72.47z\\\"\\n ></path>\\n <path\\n data-name=\\\"Triangle\\\"\\n opacity=\\\".3\\\"\\n d=\\\"M89.71 536.74l11.09-166.01 138.68 93.54-149.77 72.47z\\\"\\n ></path>\\n <path\\n data-name=\\\"Triangle\\\"\\n opacity=\\\".1\\\"\\n d=\\\"M109.33 567.83l11.08-166.01 138.69 93.54-149.77 72.47z\\\"\\n ></path>\\n </g>\\n <g fill=\\\"none\\\" stroke=\\\"#0B21A8\\\" stroke-width=\\\"2\\\">\\n <path\\n data-name=\\\"Triangle\\\"\\n d=\\\"M1140.96 534.62l77.65-147.15 88.64 141.86-166.29 5.29z\\\"\\n ></path>\\n <path\\n data-name=\\\"Triangle\\\"\\n opacity=\\\".3\\\"\\n d=\\\"M1143.81 564.58l77.65-147.15 88.65 141.86-166.3 5.29z\\\"\\n ></path>\\n <path\\n data-name=\\\"Triangle\\\"\\n opacity=\\\".1\\\"\\n d=\\\"M1149.08 600.96l77.65-147.15 88.65 141.86-166.3 5.29z\\\"\\n ></path>\\n </g>\\n <g fill=\\\"none\\\" stroke=\\\"#0B21A8\\\" stroke-width=\\\"2\\\">\\n <path\\n 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\\\"\\n ></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\\n data-name=\\\"Polygon\\\"\\n d=\\\"M753.93 90.33h99.99l49.99 86.59-49.99 86.59h-99.99l-50-86.59 50-86.59z\\\"\\n ></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\\\">\\n <span class=\\\"banner__logo--bold\\\">Carbon</span> Components Angular\\n </h1>\\n <h2 class=\\\"banner__subtitle\\\">An Angular implementation of the Carbon Design System</h2>\\n\\n <div style=\\\"display: inline\\\">\\n <a\\n ibmButton=\\\"secondary\\\"\\n class=\\\"banner__btn\\\"\\n href=\\\"documentation/index.html\\\"\\n target=\\\"_blank\\\"\\n >\\n Documentation\\n <svg ibmIconDocument20 class=\\\"bx--btn__icon\\\"></svg>\\n </a>\\n &nbsp;\\n <a\\n ibmButton=\\\"primary\\\"\\n class=\\\"banner__btn\\\"\\n href=\\\"https://github.com/carbon-design-system/carbon-angular-starter\\\"\\n target=\\\"_blank\\\"\\n >\\n Starter App\\n <svg ibmIconBee20 class=\\\"bx--btn__icon\\\"></svg>\\n </a>\\n </div>\\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 }\\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('full-page');\\n }\\n ngOnDestroy() {\\n document.querySelector('.sb-show-main').classList.remove('full-page');\\n }\\n}\\n\\nstoriesOf('Welcome', module)\\n .addDecorator(\\n moduleMetadata({\\n imports: [ButtonModule, Bee20Module, Document20Module],\\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\":394},\"endLoc\":{\"col\":4,\"line\":396}}};\n \n import { storiesOf, moduleMetadata } from \"@storybook/angular\";\nimport { Component, OnInit, OnDestroy } from \"@angular/core\";\n\nimport { ButtonModule } from \"./\";\nimport { Bee20Module } from \"@carbon/icons-angular/lib/bee/20\";\nimport { Document20Module } from \"@carbon/icons-angular/lib/document/20\";\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\n\t\t\t<div style=\"display: inline\">\n\t\t\t\t<a ibmButton=\"secondary\" class=\"banner__btn\" href=\"documentation/index.html\" target=\"_blank\">\n\t\t\t\t\tDocumentation\n\t\t\t\t\t<svg ibmIconDocument20 class=\"bx--btn__icon\"></svg>\n\t\t\t\t</a>\n\t\t\t\t&nbsp;\n\t\t\t\t<a ibmButton=\"primary\" class=\"banner__btn\" href=\"https://github.com/carbon-design-system/carbon-angular-starter\" target=\"_blank\">\n\t\t\t\t\tStarter App\n\t\t\t\t\t<svg ibmIconBee20 class=\"bx--btn__icon\"></svg>\n\t\t\t\t</a>\n\t\t\t</div>\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}\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(\"full-page\");\n\t}\n\tngOnDestroy() {\n\t\tdocument.querySelector(\".sb-show-main\").classList.remove(\"full-page\");\n\t}\n}\n\n\nstoriesOf(\"Welcome\", module).addDecorator(withStorySource(__STORY__, __ADDS_MAP__))\n.addDecorator(\n\tmoduleMetadata({\n\t\timports: [ButtonModule, Bee20Module, Document20Module],\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 \"./documentation-component/documentation.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/**\n * [See demo](../../?path=/story/inline-loading--basic)\n *\n * <example-url>../../iframe.html?id=inline-loading--basic</example-url>\n *\n * @export\n * @class InlineLoading\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, DocumentationModule } from '../';\\n\\nstoriesOf('Inline Loading', module)\\n .addDecorator(\\n moduleMetadata({\\n imports: [InlineLoadingModule, ButtonModule, DocumentationModule],\\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 .add('Documentation', () => ({\\n template: `\\n\\t\\t\\t<ibm-documentation src=\\\"documentation/components/InlineLoading.html\\\"></ibm-documentation>\\n\\t\\t`,\\n }));\\n\";\n export var __ADDS_MAP__ = {\"inline-loading--documentation\":{\"startLoc\":{\"col\":7,\"line\":25},\"endLoc\":{\"col\":4,\"line\":29}},\"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, DocumentationModule } from \"../\";\n\nstoriesOf(\"Inline Loading\", module).addDecorator(withStorySource(__STORY__, __ADDS_MAP__))\n\t.addDecorator(\n\t\tmoduleMetadata({\n\t\t\timports: [InlineLoadingModule, ButtonModule, DocumentationModule]\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\t.add(\"Documentation\", () => ({\n\t\ttemplate: `\n\t\t\t<ibm-documentation src=\"documentation/components/InlineLoading.html\"></ibm-documentation>\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--text-input--invalid\") @Input() invalid = false;\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\";\nimport { WarningFilled16Module } from \"@carbon/icons-angular/lib/warning--filled/16\";\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\tWarningFilled16Module\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, text, boolean, select, number } from '@storybook/addon-knobs/angular';\\n\\nimport { InputModule, DocumentationModule } from '../';\\n\\nstoriesOf('Input', module)\\n .addDecorator(\\n moduleMetadata({\\n imports: [InputModule, DocumentationModule],\\n })\\n )\\n .addDecorator(withKnobs)\\n .add('Label', () => ({\\n template: `\\n\\t\\t<ibm-label\\n\\t\\t\\t[helperText]=\\\"helperText\\\"\\n\\t\\t\\t[invalid]=\\\"invalid\\\"\\n\\t\\t\\t[invalidText]=\\\"invalidText\\\">\\n\\t\\t\\t{{label}}\\n\\t\\t\\t<input\\n\\t\\t\\t\\tibmText\\n\\t\\t\\t\\t[invalid]=\\\"invalid\\\"\\n\\t\\t\\t\\t[disabled]=\\\"disabled\\\"\\n\\t\\t\\t\\t[theme]=\\\"theme\\\"\\n\\t\\t\\t\\t[placeholder]=\\\"placeholder\\\"\\n\\t\\t\\t\\t[autocomplete]=\\\"autocomplete\\\">\\n\\t\\t</ibm-label>\\n\\t`,\\n props: {\\n theme: select('Theme', ['dark', 'light'], 'dark'),\\n disabled: boolean('Disabled', false),\\n invalid: boolean('Show form validation', false),\\n invalidText: text('Form validation content', 'Validation message here'),\\n label: text('Label', 'Text Input label'),\\n helperText: text('Helper text', 'Optional helper text.'),\\n placeholder: text('Placeholder text', 'Placeholder text'),\\n autocomplete: text('autocomplete', 'on'),\\n },\\n }))\\n .add('TextArea', () => ({\\n template: `\\n\\t\\t<ibm-label\\n\\t\\t\\t[helperText]=\\\"helperText\\\"\\n\\t\\t\\t[invalid]=\\\"invalid\\\"\\n\\t\\t\\t[invalidText]=\\\"invalidText\\\">\\n\\t\\t\\t{{label}}\\n\\t\\t\\t<textarea\\n\\t\\t\\t\\tibmTextArea\\n\\t\\t\\t\\t[placeholder]=\\\"placeholder\\\"\\n\\t\\t\\t\\t[invalid]=\\\"invalid\\\"\\n\\t\\t\\t\\t[disabled]=\\\"disabled\\\"\\n\\t\\t\\t\\t[theme]=\\\"theme\\\"\\n\\t\\t\\t\\t[rows]=\\\"rows\\\"\\n\\t\\t\\t\\t[cols]=\\\"cols\\\"\\n\\t\\t\\t\\taria-label=\\\"textarea\\\"></textarea>\\n\\t\\t</ibm-label>\\n\\t`,\\n props: {\\n theme: select('Theme', ['dark', 'light'], 'dark'),\\n disabled: boolean('Disabled', false),\\n invalid: boolean('Show form validation', false),\\n invalidText: text('Form validation content', 'Validation message here'),\\n label: text('Label', 'Text area label'),\\n helperText: text('Helper text', 'Optional helper text.'),\\n placeholder: text('Placeholder text', 'Placeholder text'),\\n cols: number('cols', 50),\\n rows: number('rows', 4),\\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 .add('Documentation', () => ({\\n template: `\\n\\t\\t\\t<ibm-documentation src=\\\"documentation/components/Label.html\\\"></ibm-documentation>\\n\\t\\t`,\\n }));\\n\";\n export var __ADDS_MAP__ = {\"input--documentation\":{\"startLoc\":{\"col\":7,\"line\":84},\"endLoc\":{\"col\":4,\"line\":88}},\"input--skeleton\":{\"startLoc\":{\"col\":7,\"line\":71},\"endLoc\":{\"col\":4,\"line\":83}},\"input--textarea\":{\"startLoc\":{\"col\":7,\"line\":41},\"endLoc\":{\"col\":4,\"line\":70}},\"input--label\":{\"startLoc\":{\"col\":7,\"line\":14},\"endLoc\":{\"col\":4,\"line\":40}}};\n \n import { storiesOf, moduleMetadata } from \"@storybook/angular\";\nimport { action } from \"@storybook/addon-actions\";\nimport {\n\twithKnobs,\n\ttext,\n\tboolean,\n\tselect,\n\tnumber\n} from \"@storybook/addon-knobs/angular\";\n\nimport { InputModule, DocumentationModule } from \"../\";\n\nstoriesOf(\"Input\", module).addDecorator(withStorySource(__STORY__, __ADDS_MAP__)).addDecorator(\n\tmoduleMetadata({\n\t\timports: [InputModule, DocumentationModule]\n\t})\n)\n\t.addDecorator(withKnobs)\n\t.add(\"Label\", () => ({\n\t\ttemplate: `\n\t\t<ibm-label\n\t\t\t[helperText]=\"helperText\"\n\t\t\t[invalid]=\"invalid\"\n\t\t\t[invalidText]=\"invalidText\">\n\t\t\t{{label}}\n\t\t\t<input\n\t\t\t\tibmText\n\t\t\t\t[invalid]=\"invalid\"\n\t\t\t\t[disabled]=\"disabled\"\n\t\t\t\t[theme]=\"theme\"\n\t\t\t\t[placeholder]=\"placeholder\"\n\t\t\t\t[autocomplete]=\"autocomplete\">\n\t\t</ibm-label>\n\t`,\n\t\tprops: {\n\t\t\ttheme: select(\"Theme\", [\"dark\", \"light\"], \"dark\"),\n\t\t\tdisabled: boolean(\"Disabled\", false),\n\t\t\tinvalid: boolean(\"Show form validation\", false),\n\t\t\tinvalidText: text(\"Form validation content\", \"Validation message here\"),\n\t\t\tlabel: text(\"Label\", \"Text Input label\"),\n\t\t\thelperText: text(\"Helper text\", \"Optional helper text.\"),\n\t\t\tplaceholder: text(\"Placeholder text\", \"Placeholder text\"),\n\t\t\tautocomplete: text(\"autocomplete\", \"on\")\n\t\t}\n\t}))\n\t.add(\"TextArea\", () => ({\n\t\ttemplate: `\n\t\t<ibm-label\n\t\t\t[helperText]=\"helperText\"\n\t\t\t[invalid]=\"invalid\"\n\t\t\t[invalidText]=\"invalidText\">\n\t\t\t{{label}}\n\t\t\t<textarea\n\t\t\t\tibmTextArea\n\t\t\t\t[placeholder]=\"placeholder\"\n\t\t\t\t[invalid]=\"invalid\"\n\t\t\t\t[disabled]=\"disabled\"\n\t\t\t\t[theme]=\"theme\"\n\t\t\t\t[rows]=\"rows\"\n\t\t\t\t[cols]=\"cols\"\n\t\t\t\taria-label=\"textarea\"></textarea>\n\t\t</ibm-label>\n\t`,\n\t\tprops: {\n\t\t\ttheme: select(\"Theme\", [\"dark\", \"light\"], \"dark\"),\n\t\t\tdisabled: boolean(\"Disabled\", false),\n\t\t\tinvalid: boolean(\"Show form validation\", false),\n\t\t\tinvalidText: text(\"Form validation content\", \"Validation message here\"),\n\t\t\tlabel: text(\"Label\", \"Text area label\"),\n\t\t\thelperText: text(\"Helper text\", \"Optional helper text.\"),\n\t\t\tplaceholder: text(\"Placeholder text\", \"Placeholder text\"),\n\t\t\tcols: number(\"cols\", 50),\n\t\t\trows: number(\"rows\", 4)\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\t.add(\"Documentation\", () => ({\n\t\ttemplate: `\n\t\t\t<ibm-documentation src=\"documentation/components/Label.html\"></ibm-documentation>\n\t\t`\n\t}));\n\n ","import {\n\tComponent,\n\tInput,\n\tAfterContentInit,\n\tElementRef,\n\tHostBinding,\n\tTemplateRef,\n\tViewChild\n} from \"@angular/core\";\n\n/**\n * [See demo](../../?path=/story/input--label)\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 * <example-url>../../iframe.html?id=input--label</example-url>\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<div *ngIf=\"!skeleton\" class=\"bx--form__helper-text\">{{helperText}}</div>\n\t\t<div class=\"bx--text-input__field-wrapper\" [attr.data-invalid]=\"(invalid ? true : null)\" #wrapper>\n\t\t\t<ibm-icon-warning-filled16\n\t\t\t\t*ngIf=\"invalid\"\n\t\t\t\tclass=\"bx--text-input__invalid-icon bx--text-area__invalid-icon\">\n\t\t\t</ibm-icon-warning-filled16>\n\t\t\t<ng-content select=\"input,textarea,div\"></ng-content>\n\t\t</div>\n\t\t<div *ngIf=\"invalid\" class=\"bx--form-requirement\">\n\t\t\t<ng-container *ngIf=\"!isTemplate(invalidText)\">{{invalidText}}</ng-container>\n\t\t\t<ng-template *ngIf=\"isTemplate(invalidText)\" [ngTemplateOutlet]=\"invalidText\"></ng-template>\n\t\t</div>\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\t/**\n\t * Optional helper text that appears under the label.\n\t */\n\t@Input() helperText: string;\n\t/**\n\t * Sets the invalid text.\n\t */\n\t@Input() invalidText: string | TemplateRef<any>;\n\t/**\n\t * Set to `true` for an invalid label component.\n\t */\n\t@Input() invalid = false;\n\n\t@ViewChild(\"wrapper\") wrapper: ElementRef<HTMLDivElement>;\n\n\t@HostBinding(\"class.bx--form-item\") labelClass = true;\n\n\t/**\n\t * Creates an instance of Label.\n\t * @memberof Label\n\t */\n\tconstructor() {\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.wrapper.nativeElement.querySelector(\"input,textarea,div\").setAttribute(\"id\", this.labelInputID);\n\t}\n\n\tpublic isTemplate(value) {\n\t\treturn value instanceof TemplateRef;\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--text-area--invalid\") @Input() invalid = false;\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 * [See demo](../../?path=/story/link--basic)\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 * <example-url>../../iframe.html?id=link--basic</example-url>\n *\n * @export\n * @class Link\n */\n@Directive({\n\tselector: \"[ibmLink]\"\n})\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, DocumentationModule } from '../';\\n\\nstoriesOf('Link', module)\\n .addDecorator(\\n moduleMetadata({\\n imports: [LinkModule, DocumentationModule],\\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 .add('Documentation', () => ({\\n template: `\\n\\t\\t\\t<ibm-documentation src=\\\"documentation/directives/Link.html\\\"></ibm-documentation>\\n\\t\\t`,\\n }));\\n\";\n export var __ADDS_MAP__ = {\"link--documentation\":{\"startLoc\":{\"col\":7,\"line\":21},\"endLoc\":{\"col\":4,\"line\":25}},\"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, DocumentationModule } 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\tDocumentationModule\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\t.add(\"Documentation\", () => ({\n\t\ttemplate: `\n\t\t\t<ibm-documentation src=\"documentation/directives/Link.html\"></ibm-documentation>\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 * [See demo](../../?path=/story/list--basic)\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 * <example-url>../../iframe.html?id=list--basic</example-url>\n *\n * @export\n * @class List\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, DocumentationModule } from '../';\\n\\nstoriesOf('List', module)\\n .addDecorator(\\n moduleMetadata({\\n imports: [ListModule, DocumentationModule],\\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 .add('Documentation', () => ({\\n template: `\\n\\t\\t\\t<ibm-documentation src=\\\"documentation/directives/List.html\\\"></ibm-documentation>\\n\\t\\t`,\\n }));\\n\";\n export var __ADDS_MAP__ = {\"list--documentation\":{\"startLoc\":{\"col\":7,\"line\":57},\"endLoc\":{\"col\":4,\"line\":61}},\"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, DocumentationModule } from \"../\";\n\nstoriesOf(\"List\", module).addDecorator(withStorySource(__STORY__, __ADDS_MAP__)).addDecorator(\n\tmoduleMetadata({\n\t\timports: [ListModule, DocumentationModule]\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\t.add(\"Documentation\", () => ({\n\t\ttemplate: `\n\t\t\t<ibm-documentation src=\"documentation/directives/List.html\"></ibm-documentation>\n\t\t`\n\t}));\n\n ","import { Component, Input, HostBinding } from \"@angular/core\";\nimport { I18n } from \"./../i18n/i18n.module\";\n\n/**\n * [See demo](../../?path=/story/loading--basic)\n *\n * <example-url>../../iframe.html?id=loading--basic</example-url>\n *\n * @export\n * @class Loading\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, DocumentationModule } from '../';\\n\\nstoriesOf('Loading', module)\\n .addDecorator(\\n moduleMetadata({\\n imports: [LoadingModule, DocumentationModule],\\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 .add('Documentation', () => ({\\n template: `\\n\\t\\t\\t<ibm-documentation src=\\\"documentation/components/Loading.html\\\"></ibm-documentation>\\n\\t\\t`,\\n }));\\n\";\n export var __ADDS_MAP__ = {\"loading--documentation\":{\"startLoc\":{\"col\":7,\"line\":24},\"endLoc\":{\"col\":4,\"line\":28}},\"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, DocumentationModule } from \"../\";\n\nstoriesOf(\"Loading\", module).addDecorator(withStorySource(__STORY__, __ADDS_MAP__)).addDecorator(\n\tmoduleMetadata({\n\t\timports: [LoadingModule, DocumentationModule]\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\t.add(\"Documentation\", () => ({\n\t\ttemplate: `\n\t\t\t<ibm-documentation src=\"documentation/components/Loading.html\"></ibm-documentation>\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 * Component to create modals for presenting content.\n *\n * [See demo](../../?path=/story/modal--basic)\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>../../iframe.html?id=modal--basic</example-url>\n *\n * @export\n * @class Modal\n * @implements {AfterViewInit}\n * @implements {OnInit}\n * @implements {OnDestroy}\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, DocumentationModule } 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()\\\">\\n Show Secondary Modal\\n </button>\\n <button class=\\\"bx--btn bx--btn--primary\\\" modal-primary-focus (click)=\\\"closeModal()\\\">\\n Close\\n </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, DocumentationModule],\\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 .add('Documentation', () => ({\\n template: `\\n\\t\\t\\t<ibm-documentation src=\\\"documentation/components/Modal.html\\\"></ibm-documentation>\\n\\t\\t`,\\n }));\\n\";\n export var __ADDS_MAP__ = {\"modal--documentation\":{\"startLoc\":{\"col\":7,\"line\":175},\"endLoc\":{\"col\":4,\"line\":179}},\"modal--passive\":{\"startLoc\":{\"col\":7,\"line\":154},\"endLoc\":{\"col\":4,\"line\":174}},\"modal--transactional\":{\"startLoc\":{\"col\":7,\"line\":122},\"endLoc\":{\"col\":4,\"line\":153}},\"modal--basic\":{\"startLoc\":{\"col\":7,\"line\":113},\"endLoc\":{\"col\":4,\"line\":121}}};\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, DocumentationModule } 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\tDocumentationModule\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\t.add(\"Documentation\", () => ({\n\t\ttemplate: `\n\t\t\t<ibm-documentation src=\"documentation/components/Modal.html\"></ibm-documentation>\n\t\t`\n\t}));\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 * [See demo](../../?path=/story/notification--basic)\n *\n * <example-url>../../iframe.html?id=notification--basic</example-url>\n *\n * @export\n * @class Notification\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\tconst index = this.notificationRefs.indexOf(notificationRef);\n\t\t\t\t\tif (index !== -1) {\n\t\t\t\t\t\tthis.notificationRefs.splice(index, 1);\n\t\t\t\t\t}\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';\\nimport { DocumentationModule } from './../documentation-component/documentation.module';\\n\\n@Component({\\n selector: 'app-notification-story',\\n template: `\\n <button class=\\\"bx--btn bx--btn--primary\\\" (click)=\\\"showNotification()\\\">\\n Show info notification\\n </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, DocumentationModule],\\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 .add('Documentation', () => ({\\n template: `\\n\\t\\t\\t<ibm-documentation src=\\\"documentation/components/Notification.html\\\"></ibm-documentation>\\n\\t\\t`,\\n }))\\n .add('Toast Documentation', () => ({\\n template: `\\n\\t\\t\\t<ibm-documentation src=\\\"documentation/components/Toast.html\\\"></ibm-documentation>\\n\\t\\t`,\\n }));\\n\";\n export var __ADDS_MAP__ = {\"notification--toast-documentation\":{\"startLoc\":{\"col\":7,\"line\":102},\"endLoc\":{\"col\":4,\"line\":106}},\"notification--documentation\":{\"startLoc\":{\"col\":7,\"line\":97},\"endLoc\":{\"col\":4,\"line\":101}},\"notification--dynamic-toast\":{\"startLoc\":{\"col\":7,\"line\":92},\"endLoc\":{\"col\":4,\"line\":96}},\"notification--toast\":{\"startLoc\":{\"col\":7,\"line\":82},\"endLoc\":{\"col\":4,\"line\":91}},\"notification--dynamic\":{\"startLoc\":{\"col\":7,\"line\":77},\"endLoc\":{\"col\":4,\"line\":81}},\"notification--basic\":{\"startLoc\":{\"col\":7,\"line\":65},\"endLoc\":{\"col\":4,\"line\":76}}};\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\";\nimport { DocumentationModule } from \"./../documentation-component/documentation.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\tDocumentationModule\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\t.add(\"Documentation\", () => ({\n\t\ttemplate: `\n\t\t\t<ibm-documentation src=\"documentation/components/Notification.html\"></ibm-documentation>\n\t\t`\n\t}))\n\t.add(\"Toast Documentation\", () => ({\n\t\ttemplate: `\n\t\t\t<ibm-documentation src=\"documentation/components/Toast.html\"></ibm-documentation>\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 * [See demo](../../?path=/story/notification--toast)\n *\n * <example-url>../../iframe.html?id=notification--toast</example-url>\n *\n * @export\n * @class Toast\n * @extends {Notification}\n * @implements {OnInit}\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__close-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 {\n\tComponent,\n\tInput,\n\tHostBinding,\n\tEventEmitter,\n\tOutput,\n\tTemplateRef\n} from \"@angular/core\";\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor } from \"@angular/forms\";\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 * [See demo](../../?path=/story/number--basic)\n *\n * <example-url>../../iframe.html?id=number--basic</example-url>\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\">\n\t\t\t<ng-container *ngIf=\"!isTemplate(label)\">{{label}}</ng-container>\n\t\t\t<ng-template *ngIf=\"isTemplate(label)\" [ngTemplateOutlet]=\"label\"></ng-template>\n\t\t</label>\n\t\t<div *ngIf=\"helperText\" class=\"bx--form__helper-text\">\n\t\t\t<ng-container *ngIf=\"!isTemplate(helperText)\">{{helperText}}</ng-container>\n\t\t\t<ng-template *ngIf=\"isTemplate(helperText)\" [ngTemplateOutlet]=\"helperText\"></ng-template>\n\t\t</div>\n\t\t<div\n\t\t\tdata-numberinput\n\t\t\t[attr.data-invalid]=\"(invalid ? true : 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<div class=\"bx--number__input-wrapper\">\n\t\t\t\t<input\n\t\t\t\t\ttype=\"number\"\n\t\t\t\t\t[id]=\"id\"\n\t\t\t\t\t[value]=\"value\"\n\t\t\t\t\t[attr.min]=\"min\"\n\t\t\t\t\t[attr.max]=\"max\"\n\t\t\t\t\t[disabled]=\"disabled\"\n\t\t\t\t\t[required]=\"required\"\n\t\t\t\t\t(input)=\"onNumberInputChange($event)\"/>\n\t\t\t\t<ibm-icon-warning-filled16\n\t\t\t\t\t*ngIf=\"!skeleton && invalid\"\n\t\t\t\t\tclass=\"bx--number__invalid\"\n\t\t\t\t\tstyle=\"display: inherit;\">\n\t\t\t\t</ibm-icon-warning-filled16>\n\t\t\t\t<div *ngIf=\"!skeleton\" class=\"bx--number__controls\">\n\t\t\t\t\t<button\n\t\t\t\t\t\tclass=\"bx--number__control-btn up-icon\"\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\taria-live=\"polite\"\n\t\t\t\t\t\taria-atomic=\"true\"\n\t\t\t\t\t\t(click)=\"onIncrement()\">\n\t\t\t\t\t\t<ibm-icon-caret-up16></ibm-icon-caret-up16>\n\t\t\t\t\t</button>\n\t\t\t\t\t<button\n\t\t\t\t\t\tclass=\"bx--number__control-btn down-icon\"\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\taria-live=\"polite\"\n\t\t\t\t\t\taria-atomic=\"true\"\n\t\t\t\t\t\t(click)=\"onDecrement()\">\n\t\t\t\t\t\t<ibm-icon-caret-down16></ibm-icon-caret-down16>\n\t\t\t\t\t</button>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div *ngIf=\"invalid\" class=\"bx--form-requirement\">\n\t\t\t\t<ng-container *ngIf=\"!isTemplate(invalidText)\">{{invalidText}}</ng-container>\n\t\t\t\t<ng-template *ngIf=\"isTemplate(invalidText)\" [ngTemplateOutlet]=\"invalidText\"></ng-template>\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 = null;\n\t/**\n\t * Sets the max attribute on the `input` element.\n\t */\n\t@Input() max = null;\n\t/**\n\t * Sets the text inside the `label` tag.\n\t */\n\t@Input() label: string | TemplateRef<any>;\n\t/**\n\t * Sets the optional helper text.\n\t */\n\t@Input() helperText: string | TemplateRef<any>;\n\t/**\n\t * Sets the invalid text.\n\t */\n\t@Input() invalidText: string | TemplateRef<any>;\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 * 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 * 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 (this.max === null || 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 (this.min === null || 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\tpublic isTemplate(value) {\n\t\treturn value instanceof TemplateRef;\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\";\nimport { WarningFilled16Module } from \"@carbon/icons-angular/lib/warning--filled/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\tWarningFilled16Module\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, DocumentationModule } from '../';\\n\\nstoriesOf('Number', module)\\n .addDecorator(\\n moduleMetadata({\\n imports: [NumberModule, DocumentationModule],\\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.'),\\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 .add('Documentation', () => ({\\n template: `\\n\\t\\t\\t<ibm-documentation src=\\\"documentation/components/Number.html\\\"></ibm-documentation>\\n\\t\\t`,\\n }));\\n\";\n export var __ADDS_MAP__ = {\"number--documentation\":{\"startLoc\":{\"col\":7,\"line\":45},\"endLoc\":{\"col\":4,\"line\":49}},\"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, DocumentationModule } from \"../\";\n\nstoriesOf(\"Number\", module).addDecorator(withStorySource(__STORY__, __ADDS_MAP__)).addDecorator(\n\tmoduleMetadata({\n\t\timports: [NumberModule, DocumentationModule]\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.\"),\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\t.add(\"Documentation\", () => ({\n\t\ttemplate: `\n\t\t\t<ibm-documentation src=\"documentation/components/Number.html\"></ibm-documentation>\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 { I18n } from \"./../i18n/i18n.module\";\nimport { ExperimentalService } from \"./../experimental.module\";\n\n/**\n * Use pagination when you have multiple pages of data to handle.\n *\n * [See demo](../../?path=/story/pagination--basic)\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 * <example-url>../../iframe.html?id=pagination--basic</example-url>\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\n\t\t\t\t\t\t\tclass=\"bx--select-option\"\n\t\t\t\t\t\t\t*ngFor=\"let option of itemsPerPageOptions\"\n\t\t\t\t\t\t\t[value]=\"option\">\n\t\t\t\t\t\t\t\t{{ option }}\n\t\t\t\t\t\t</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 *ngIf=\"!pagesUnknown\" 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\t<span *ngIf=\"pagesUnknown\" class=\"bx--pagination__text\">\n\t\t\t\t<span *ngIf=\"!isExperimental\">|&nbsp;</span>\n\t\t\t\t{{totalItemsUnknownText | i18nReplace:{start: startItemIndex, end: endItemIndex } | 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\">\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 *ngIf=\"!pageInputDisabled\" 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<input\n\t\t\t\t\t\t*ngIf=\"pageOptions.length > pageSelectThreshold\"\n\t\t\t\t\t\tstyle=\"padding-right: 1rem; margin-right: 1rem;\"\n\t\t\t\t\t\t[id]=\"currentPageSelectId\"\n\t\t\t\t\t\ttype=\"number\"\n\t\t\t\t\t\tmin=\"1\"\n\t\t\t\t\t\t[max]=\"pageOptions.length\"\n\t\t\t\t\t\tclass=\"bx--select-input\"\n\t\t\t\t\t\t[(ngModel)]=\"currentPage\">\n\t\t\t\t\t<select\n\t\t\t\t\t\t*ngIf=\"pageOptions.length <= pageSelectThreshold\"\n\t\t\t\t\t\t[id]=\"currentPageSelectId\"\n\t\t\t\t\t\tclass=\"bx--select-input\"\n\t\t\t\t\t\t[(ngModel)]=\"currentPage\">\n\t\t\t\t\t\t<option *ngFor=\"let page of pageOptions; let i = index;\" class=\"bx--select-option\" [value]=\"i + 1\">{{i + 1}}</option>\n\t\t\t\t\t</select>\n\t\t\t\t\t<ibm-icon-chevron-down16\n\t\t\t\t\t\t*ngIf=\"pageOptions.length <= 1000\"\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 *ngIf=\"!pageInputDisabled && !pagesUnknown\" class=\"bx--pagination__text\">\n\t\t\t\t{{ofLastPagesText | i18nReplace: {last: lastPage} | async}}\n\t\t\t</span>\n\t\t\t<span *ngIf=\"!pageInputDisabled && pagesUnknown\" class=\"bx--pagination__text\">\n\t\t\t\t{{pageText | async}} {{currentPage}}\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 || disabled\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 || disabled ? 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 || disabled\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 || disabled ? 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\t/**\n \t * Set to `true` to disable the backward/forward buttons.\n\t */\n\t@Input() disabled = false;\n\t/**\n\t * Set to `true` to disable the select box that changes the page.\n\t */\n\t@Input() pageInputDisabled = false;\n\t/**\n\t * Set to `true` if the total number of items is unknown.\n\t */\n\t@Input() pagesUnknown = false;\n\t@Input() pageSelectThreshold = 1000;\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.next(value.ITEMS_PER_PAGE);\n\t\t}\n\t\tif (value.OPEN_LIST_OF_OPTIONS) {\n\t\t\tthis.optionsListText.next(value.OPEN_LIST_OF_OPTIONS);\n\t\t}\n\t\tif (value.BACKWARD) {\n\t\t\tthis.backwardText.next(value.BACKWARD);\n\t\t}\n\t\tif (value.FORWARD) {\n\t\t\tthis.forwardText.next(value.FORWARD);\n\t\t}\n\t\tif (value.TOTAL_ITEMS) {\n\t\t\tthis.totalItemsText.next(value.TOTAL_ITEMS);\n\t\t}\n\t\tif (value.TOTAL_ITEMS_UNKNOWN) {\n\t\t\tthis.totalItemsUnknownText.next(value.TOTAL_ITEMS_UNKNOWN);\n\t\t}\n\t\tif (value.TOTAL_PAGES) {\n\t\t\tthis.totalPagesText.next(value.TOTAL_PAGES);\n\t\t}\n\t\tif (value.PAGE) {\n\t\t\tthis.pageText.next(value.PAGE);\n\t\t}\n\t\tif (value.OF_LAST_PAGES) {\n\t\t\tthis.ofLastPagesText.next(value.OF_LAST_PAGES);\n\t\t}\n\t}\n\n\t/**\n\t * Options for items per page select\n\t *\n\t * A default array of options will be defined: [10, 20, 30, 40, 50]\n\t */\n\t@Input() itemsPerPageOptions: number[] = [10, 20, 30, 40, 50];\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\tget pageOptions() {\n\t\tif (this._pageOptions.length !== this.model.totalDataLength) {\n\t\t\tthis._pageOptions = Array(Math.ceil(this.model.totalDataLength / this.itemsPerPage));\n\t\t}\n\t\treturn this._pageOptions;\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\ttotalItemsUnknownText = this.i18n.get(\"PAGINATION.TOTAL_ITEMS_UNKNOWN\");\n\ttotalPagesText = this.i18n.get(\"PAGINATION.TOTAL_PAGES\");\n\tpageText = this.i18n.get(\"PAGINATION.PAGE\");\n\tofLastPagesText = this.i18n.get(\"PAGINATION.OF_LAST_PAGES\");\n\n\tprotected _pageOptions = [];\n\n\tconstructor(protected i18n: I18n, protected experimental: ExperimentalService) {\n\t\tPagination.paginationCounter++;\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, boolean } from '@storybook/addon-knobs/angular';\\n\\nimport { NFormsModule } from '..';\\nimport { PaginationModule } from './pagination.module';\\nimport { PaginationModel } from './pagination-model.class';\\nimport { DocumentationModule } from './../documentation-component/documentation.module';\\n\\n@Component({\\n selector: 'app-pagination',\\n template: `\\n <ibm-pagination\\n [model]=\\\"model\\\"\\n [disabled]=\\\"disabled\\\"\\n [pageInputDisabled]=\\\"pageInputDisabled\\\"\\n [pagesUnknown]=\\\"pagesUnknown\\\"\\n [skeleton]=\\\"skeleton\\\"\\n (selectPage)=\\\"selectPage($event)\\\"\\n >\\n </ibm-pagination>\\n `,\\n})\\nclass PaginationStory implements OnInit {\\n @Input() model = new PaginationModel();\\n @Input() skeleton = false;\\n @Input() disabled = false;\\n @Input() pageInputDisabled = false;\\n @Input() pagesUnknown = 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, DocumentationModule],\\n declarations: [PaginationStory],\\n })\\n )\\n .addDecorator(withKnobs)\\n .add('Basic', () => ({\\n template: `\\n\\t\\t\\t<div style=\\\"width: 800px\\\">\\n\\t\\t\\t\\t<app-pagination\\n\\t\\t\\t\\t\\t[disabled]=\\\"disabled\\\"\\n\\t\\t\\t\\t\\t[pageInputDisabled]=\\\"pageInputDisabled\\\"\\n\\t\\t\\t\\t\\t[pagesUnknown]=\\\"pagesUnknown\\\"\\n\\t\\t\\t\\t\\t[totalDataLength]=\\\"totalDataLength\\\">\\n\\t\\t\\t\\t</app-pagination>\\n\\t\\t\\t</div>\\n\\t\\t`,\\n props: {\\n disabled: boolean('Disabeld buttons', false),\\n pageInputDisabled: boolean('Disable page input', false),\\n pagesUnknown: boolean('Total number of items unknown ', false),\\n totalDataLength: number('Total number of items', 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 .add('Documentation', () => ({\\n template: `\\n\\t\\t\\t<ibm-documentation src=\\\"documentation/components/Pagination.html\\\"></ibm-documentation>\\n\\t\\t`,\\n }));\\n\";\n export var __ADDS_MAP__ = {\"pagination--documentation\":{\"startLoc\":{\"col\":7,\"line\":85},\"endLoc\":{\"col\":4,\"line\":89}},\"pagination--skeleton\":{\"startLoc\":{\"col\":7,\"line\":75},\"endLoc\":{\"col\":4,\"line\":84}},\"pagination--basic\":{\"startLoc\":{\"col\":7,\"line\":57},\"endLoc\":{\"col\":4,\"line\":74}}};\n \n import {\n\tComponent,\n\tOnInit,\n\tInput\n} from \"@angular/core\";\nimport { storiesOf, moduleMetadata } from \"@storybook/angular\";\nimport { withKnobs, number, boolean } from \"@storybook/addon-knobs/angular\";\n\nimport { NFormsModule } from \"..\";\nimport { PaginationModule } from \"./pagination.module\";\nimport { PaginationModel } from \"./pagination-model.class\";\nimport { DocumentationModule } from \"./../documentation-component/documentation.module\";\n\n@Component({\n\tselector: \"app-pagination\",\n\ttemplate: `\n\t\t<ibm-pagination\n\t\t\t[model]=\"model\"\n\t\t\t[disabled]=\"disabled\"\n\t\t\t[pageInputDisabled]=\"pageInputDisabled\"\n\t\t\t[pagesUnknown]=\"pagesUnknown\"\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\t@Input() disabled = false;\n\t@Input() pageInputDisabled = false;\n\t@Input() pagesUnknown = 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\tDocumentationModule\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(\"Basic\", () => ({\n\t\ttemplate: `\n\t\t\t<div style=\"width: 800px\">\n\t\t\t\t<app-pagination\n\t\t\t\t\t[disabled]=\"disabled\"\n\t\t\t\t\t[pageInputDisabled]=\"pageInputDisabled\"\n\t\t\t\t\t[pagesUnknown]=\"pagesUnknown\"\n\t\t\t\t\t[totalDataLength]=\"totalDataLength\">\n\t\t\t\t</app-pagination>\n\t\t\t</div>\n\t\t`,\n\t\tprops: {\n\t\t\tdisabled: boolean(\"Disabeld buttons\", false),\n\t\t\tpageInputDisabled: boolean(\"Disable page input\", false),\n\t\t\tpagesUnknown: boolean(\"Total number of items unknown \", false),\n\t\t\ttotalDataLength: number(\"Total number of items\", 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\t.add(\"Documentation\", () => ({\n\t\ttemplate: `\n\t\t\t<ibm-documentation src=\"documentation/components/Pagination.html\"></ibm-documentation>\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\";\nimport { Step } from \"./progress-indicator-step.interface\";\n\n/**\n * [See demo](../../?path=/story/progress-indicator--basic)\n *\n * <example-url>../../iframe.html?id=progress-indicator--basic</example-url>\n *\n * @export\n * @class ProgressIndicator\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\t\tclass=\"bx--progress-step bx--progress-step--{{step.state[0]}}\"\n\t\t\t*ngFor=\"let step of steps\"\n\t\t\t[ngClass]=\"{'bx--progress-step--disabled' : step.disabled}\">\n\t\t\t<div class=\"bx--progress-step-button bx--progress-step-button--unclickable\" role=\"button\" tabindex=\"-1\">\n\t\t\t\t<ibm-icon-checkmark-outline16 *ngIf=\"step.state == 'complete'\"></ibm-icon-checkmark-outline16>\n\t\t\t\t<svg *ngIf=\"step.state == 'current'\">\n\t\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\t</svg>\n\t\t\t\t<svg *ngIf=\"step.state == 'incomplete'\">\n\t\t\t\t\t<path\n\t\t\t\t\t\t*ngIf=\"isExperimental\"\n\t\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\t</path>\n\t\t\t\t</svg>\n\t\t\t\t<ibm-icon-warning16 *ngIf=\"step.state.includes('error')\" innerClass=\"bx--progress__warning\"></ibm-icon-warning16>\n\t\t\t\t<p\n\t\t\t\t\tclass=\"bx--progress-label\"\n\t\t\t\t\t*ngIf=\"step.tooltip\"\n\t\t\t\t\t[ibmTooltip]=\"step.tooltip.content\"\n\t\t\t\t\t[trigger]=\"step.tooltip.trigger\"\n\t\t\t\t\t[placement]=\"step.tooltip.placement\"\n\t\t\t\t\t[title]=\"step.tooltip.title\"\n\t\t\t\t\t[gap]=\"step.tooltip.gap\"\n\t\t\t\t\t[appendInline]=\"step.tooltip.appendInline\"\n\t\t\t\t\t[data]=\"step.tooltip.data\">\n\t\t\t\t\t{{step.text}}\n\t\t\t\t</p>\n\t\t\t\t<p class=\"bx--progress-label\" *ngIf=\"!step.tooltip\">{{step.text}}</p>\n\t\t\t\t<p *ngIf=\"step.optionalText\" class=\"bx--progress-optional\">{{step.optionalText}}</p>\n\t\t\t\t<span class=\"bx--progress-line\"></span>\n\t\t\t</div>\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: Array<Step>;\n\t@Input() orientation: \"horizontal\" | \"vertical\" = \"horizontal\";\n\t@Input() skeleton = false;\n\n\t@Input() get current() {\n\t\treturn this.steps.findIndex(step => step.state.includes(\"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 { Warning16Module } from \"@carbon/icons-angular/lib/warning/16\";\n\nimport { ProgressIndicator } from \"./progress-indicator.component\";\nimport { DialogModule } from \"./../dialog/dialog.module\";\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\tDialogModule,\n\t\tExperimentalModule,\n\t\tCheckmarkOutline16Module,\n\t\tWarning16Module\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, PlaceholderModule, DocumentationModule } 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, PlaceholderModule, DocumentationModule],\\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\\t<ibm-placeholder></ibm-placeholder>\\n\\t\\t</div>\\n\\t\\t`,\\n props: {\\n steps: [\\n {\\n text: 'First step',\\n state: ['complete'],\\n optionalText: 'optional',\\n },\\n {\\n text: 'Second step',\\n state: ['current'],\\n tooltip: { content: 'Overflow tooltip content.', trigger: 'click', placement: 'bottom' },\\n },\\n {\\n text: 'Third step',\\n state: ['incomplete'],\\n tooltip: {\\n content: `Lorem ipsum dolor, sit amet consectetur adipisicing elit.\\n\\t\\t\\t\\t\\t\\t\\tAnimi consequuntur hic ratione aliquid cupiditate, nesciunt saepe iste\\n\\t\\t\\t\\t\\t\\t\\tblanditiis cumque maxime tenetur veniam est illo deserunt sint quae pariatur.\\n\\t\\t\\t\\t\\t\\t\\tLaboriosam, consequatur.`,\\n trigger: 'click',\\n placement: 'bottom',\\n },\\n },\\n {\\n text: 'Fourth step',\\n state: ['incomplete', 'error'],\\n },\\n {\\n text: 'Fifth step',\\n state: ['incomplete'],\\n disabled: true,\\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', 'error'],\\n },\\n {\\n text: 'Fifth step',\\n state: ['incomplete'],\\n disabled: true,\\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 .add('Documentation', () => ({\\n template: `\\n\\t\\t\\t<ibm-documentation src=\\\"documentation/components/ProgressIndicator.html\\\"></ibm-documentation>\\n\\t\\t`,\\n }));\\n\";\n export var __ADDS_MAP__ = {\"progress-indicator--documentation\":{\"startLoc\":{\"col\":7,\"line\":116},\"endLoc\":{\"col\":4,\"line\":120}},\"progress-indicator--skeleton\":{\"startLoc\":{\"col\":7,\"line\":109},\"endLoc\":{\"col\":4,\"line\":115}},\"progress-indicator--vertical\":{\"startLoc\":{\"col\":7,\"line\":78},\"endLoc\":{\"col\":4,\"line\":108}},\"progress-indicator--basic\":{\"startLoc\":{\"col\":7,\"line\":34},\"endLoc\":{\"col\":4,\"line\":77}}};\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, PlaceholderModule, DocumentationModule } 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\tPlaceholderModule,\n\t\t\t\tDocumentationModule\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\t<ibm-placeholder></ibm-placeholder>\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\toptionalText: \"optional\"\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\ttooltip: { content: \"Overflow tooltip content.\", trigger: \"click\", placement: \"bottom\" }\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\ttooltip: {\n\t\t\t\t\t\tcontent: `Lorem ipsum dolor, sit amet consectetur adipisicing elit.\n\t\t\t\t\t\t\tAnimi consequuntur hic ratione aliquid cupiditate, nesciunt saepe iste\n\t\t\t\t\t\t\tblanditiis cumque maxime tenetur veniam est illo deserunt sint quae pariatur.\n\t\t\t\t\t\t\tLaboriosam, consequatur.`,\n\t\t\t\t\t\ttrigger: \"click\",\n\t\t\t\t\t\tplacement: \"bottom\"\n\t\t\t\t\t}\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\", \"error\"]\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\tdisabled: true\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\", \"error\"]\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\tdisabled: true\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\t.add(\"Documentation\", () => ({\n\t\ttemplate: `\n\t\t\t<ibm-documentation src=\"documentation/components/ProgressIndicator.html\"></ibm-documentation>\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 * [See demo](../../?path=/story/radio--basic)\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 * <example-url>../../iframe.html?id=radio--basic</example-url>\n */\n@Component({\n\tselector: \"ibm-radio-group\",\n\ttemplate: `\n\t\t<div\n\t\t\tclass=\"bx--radio-button-group\"\n\t\t\t[ngClass]=\"{\n\t\t\t\t'bx--radio-button-group--vertical': orientation === 'vertical',\n\t\t\t\t'bx--radio-button-group--label-left': orientation === 'vertical' && labelPlacement === 'left'\n\t\t\t}\"\n\t\t\trole=\"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@Input() orientation: \"horizontal\" | \"vertical\" = \"horizontal\";\n\n\t@Input() labelPlacement: \"right\" | \"left\" = \"right\";\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.updateRadios();\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\tupdateRadioNames() {\n\t\tconsole.warn(\"updateRadioNames had been deprecated. Use updateRadios instead\");\n\t\tthis.updateRadios();\n\t}\n\n\t/**\n\t * Synchronizes radio properties.\n\t */\n\tupdateRadios() {\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\tif (this.labelPlacement === \"left\") {\n\t\t\t\t\tthis.radios.forEach(radio => radio.labelPlacement = \"left\");\n\t\t\t\t}\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.updateRadios();\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.updateRadios();\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() labelPlacement: \"right\" | \"left\" = \"right\";\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\t@HostBinding(\"class.bx--radio-button-wrapper\") hostClass = true;\n\n\t@HostBinding(\"class.bx--radio-button-wrapper--label-left\") get labelLeft() {\n\t\treturn this.labelPlacement === \"left\";\n\t}\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, text, select } from '@storybook/addon-knobs/angular';\\n\\nimport { RadioModule, DocumentationModule } from '../';\\n\\nstoriesOf('Radio', module)\\n .addDecorator(\\n moduleMetadata({\\n imports: [RadioModule, DocumentationModule],\\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\\\">{{label}}</legend>\\n\\t\\t\\t<ibm-radio-group\\n\\t\\t\\t\\taria-label=\\\"radiogroup\\\"\\n\\t\\t\\t\\t[(ngModel)]=\\\"radio\\\"\\n\\t\\t\\t\\t(change)=\\\"onChange($event)\\\">\\n\\t\\t\\t\\t<ibm-radio\\n\\t\\t\\t\\t\\tvalue=\\\"radio\\\"\\n\\t\\t\\t\\t\\t[checked]=\\\"true\\\">\\n\\t\\t\\t\\t\\tzero\\n\\t\\t\\t\\t</ibm-radio>\\n\\t\\t\\t\\t<ibm-radio *ngFor=\\\"let radio of manyRadios\\\"\\n\\t\\t\\t\\t\\t[value]=\\\"radio.num\\\"\\n\\t\\t\\t\\t\\t[disabled]=\\\"radio.disabled\\\">\\n\\t\\t\\t\\t\\t{{radio.num}}\\n\\t\\t\\t\\t</ibm-radio>\\n\\t\\t\\t</ibm-radio-group>\\n\\t\\t</fieldset>\\n\\t\\t`,\\n props: {\\n onChange: action('Radio change'),\\n label: text('Label text', 'Radio Button heading'),\\n manyRadios: [\\n { num: 'one' },\\n { num: 'two' },\\n { num: 'three' },\\n { num: 'four', disabled: true },\\n ],\\n },\\n }))\\n .add('Vertical', () => ({\\n template: `\\n\\t\\t<fieldset class=\\\"bx--fieldset\\\">\\n\\t\\t\\t<legend class=\\\"bx--label\\\">Radio button label</legend>\\n\\n\\t\\t\\t<ibm-radio-group\\n\\t\\t\\t\\taria-label=\\\"radiogroup\\\"\\n\\t\\t\\t\\torientation=\\\"vertical\\\"\\n\\t\\t\\t\\t[labelPlacement]=\\\"labelPlacement\\\"\\n\\t\\t\\t\\t[(ngModel)]=\\\"radio\\\"\\n\\t\\t\\t\\t(change)=\\\"onChange($event)\\\">\\n\\t\\t\\t\\t<ibm-radio\\n\\t\\t\\t\\t\\tvalue=\\\"radio\\\"\\n\\t\\t\\t\\t\\t[checked]=\\\"true\\\">\\n\\t\\t\\t\\t\\tzero\\n\\t\\t\\t\\t</ibm-radio>\\n\\t\\t\\t\\t<ibm-radio *ngFor=\\\"let radio of manyRadios\\\"\\n\\t\\t\\t\\t\\t[value]=\\\"radio.num\\\"\\n\\t\\t\\t\\t\\t[disabled]=\\\"radio.disabled\\\">\\n\\t\\t\\t\\t\\t{{radio.num}}\\n\\t\\t\\t\\t</ibm-radio>\\n\\t\\t\\t</ibm-radio-group>\\n\\t\\t</fieldset>\\n\\t\\t`,\\n props: {\\n onChange: action('Radio change'),\\n labelPlacement: select('Label placement', ['right', 'left'], 'right'),\\n manyRadios: [\\n { num: 'one' },\\n { num: 'two' },\\n { num: 'three' },\\n { num: 'four', disabled: true },\\n ],\\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 .add('Documentation', () => ({\\n template: `\\n\\t\\t\\t<ibm-documentation src=\\\"documentation/components/RadioGroup.html\\\"></ibm-documentation>\\n\\t\\t`,\\n }));\\n\";\n export var __ADDS_MAP__ = {\"radio--documentation\":{\"startLoc\":{\"col\":7,\"line\":88},\"endLoc\":{\"col\":4,\"line\":92}},\"radio--skeleton\":{\"startLoc\":{\"col\":7,\"line\":81},\"endLoc\":{\"col\":4,\"line\":87}},\"radio--vertical\":{\"startLoc\":{\"col\":7,\"line\":46},\"endLoc\":{\"col\":4,\"line\":80}},\"radio--basic\":{\"startLoc\":{\"col\":7,\"line\":14},\"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 { RadioModule, DocumentationModule } from \"../\";\n\nstoriesOf(\"Radio\", module).addDecorator(withStorySource(__STORY__, __ADDS_MAP__)).addDecorator(\n\tmoduleMetadata({\n\t\timports: [RadioModule, DocumentationModule]\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\">{{label}}</legend>\n\t\t\t<ibm-radio-group\n\t\t\t\taria-label=\"radiogroup\"\n\t\t\t\t[(ngModel)]=\"radio\"\n\t\t\t\t(change)=\"onChange($event)\">\n\t\t\t\t<ibm-radio\n\t\t\t\t\tvalue=\"radio\"\n\t\t\t\t\t[checked]=\"true\">\n\t\t\t\t\tzero\n\t\t\t\t</ibm-radio>\n\t\t\t\t<ibm-radio *ngFor=\"let radio of manyRadios\"\n\t\t\t\t\t[value]=\"radio.num\"\n\t\t\t\t\t[disabled]=\"radio.disabled\">\n\t\t\t\t\t{{radio.num}}\n\t\t\t\t</ibm-radio>\n\t\t\t</ibm-radio-group>\n\t\t</fieldset>\n\t\t`,\n\t\tprops: {\n\t\t\tonChange: action(\"Radio change\"),\n\t\t\tlabel: text(\"Label text\", \"Radio Button heading\"),\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(\"Vertical\", () => ({\n\t\ttemplate: `\n\t\t<fieldset class=\"bx--fieldset\">\n\t\t\t<legend class=\"bx--label\">Radio button label</legend>\n\n\t\t\t<ibm-radio-group\n\t\t\t\taria-label=\"radiogroup\"\n\t\t\t\torientation=\"vertical\"\n\t\t\t\t[labelPlacement]=\"labelPlacement\"\n\t\t\t\t[(ngModel)]=\"radio\"\n\t\t\t\t(change)=\"onChange($event)\">\n\t\t\t\t<ibm-radio\n\t\t\t\t\tvalue=\"radio\"\n\t\t\t\t\t[checked]=\"true\">\n\t\t\t\t\tzero\n\t\t\t\t</ibm-radio>\n\t\t\t\t<ibm-radio *ngFor=\"let radio of manyRadios\"\n\t\t\t\t\t[value]=\"radio.num\"\n\t\t\t\t\t[disabled]=\"radio.disabled\">\n\t\t\t\t\t{{radio.num}}\n\t\t\t\t</ibm-radio>\n\t\t\t</ibm-radio-group>\n\t\t</fieldset>\n\t\t`,\n\t\tprops: {\n\t\t\tonChange: action(\"Radio change\"),\n\t\t\tlabelPlacement: select(\"Label placement\", [\"right\", \"left\"], \"right\"),\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\t.add(\"Documentation\", () => ({\n\t\ttemplate: `\n\t\t\t<ibm-documentation src=\"documentation/components/RadioGroup.html\"></ibm-documentation>\n\t\t`\n\t}));\n\n ","module.exports = \"<div\\n\\tclass=\\\"bx--search\\\"\\n\\t[ngClass]=\\\"{\\n\\t\\t'bx--search--sm': size === 'sm',\\n\\t\\t'bx--search--xl': size === 'xl',\\n\\t\\t'bx--search--light': theme === 'light',\\n\\t\\t'bx--skeleton': skeleton,\\n\\t\\t'bx--toolbar-search': toolbar,\\n\\t\\t'bx--toolbar-search--active': toolbar && active\\n\\t}\\\"\\n\\trole=\\\"search\\\">\\n\\t<label class=\\\"bx--label\\\" [for]=\\\"id\\\">{{label}}</label>\\n\\n\\t<div *ngIf=\\\"skeleton; else enableInput\\\" class=\\\"bx--search-input\\\"></div>\\n\\t<ng-template #enableInput>\\n\\t\\t<input\\n\\t\\t\\t#input\\n\\t\\t\\t*ngIf=\\\"!toolbar || active || value !== ''\\\"\\n\\t\\t\\tclass=\\\"bx--search-input\\\"\\n\\t\\t\\t[type]=\\\"tableSearch || !toolbar ? 'text' : 'search'\\\"\\n\\t\\t\\trole=\\\"search\\\"\\n\\t\\t\\t[id]=\\\"id\\\"\\n\\t\\t\\t[value]=\\\"value\\\"\\n\\t\\t\\t[autocomplete]=\\\"autocomplete\\\"\\n\\t\\t\\t[placeholder]=\\\"placeholder\\\"\\n\\t\\t\\t[disabled]=\\\"disabled\\\"\\n\\t\\t\\t[required]=\\\"required\\\"\\n\\t\\t\\t(input)=\\\"onSearch($event.target.value)\\\"/>\\n\\t\\t<button *ngIf=\\\"!tableSearch && toolbar\\\" class=\\\"bx--toolbar-search__btn\\\" (click)=\\\"openSearch()\\\">\\n\\t\\t\\t<ibm-icon-search16 class=\\\"bx--search-magnifier\\\"></ibm-icon-search16>\\n\\t\\t</button>\\n\\t\\t<ibm-icon-search16 *ngIf=\\\"tableSearch || !toolbar\\\" (click)=\\\"openSearch()\\\" class=\\\"bx--search-magnifier\\\"></ibm-icon-search16>\\n\\t</ng-template>\\n\\n\\t<button\\n\\t\\t*ngIf=\\\"tableSearch || !toolbar\\\"\\n\\t\\tclass=\\\"bx--search-close\\\"\\n\\t\\t[ngClass]=\\\"{\\n\\t\\t\\t'bx--search-close--hidden': !value || value.length === 0\\n\\t\\t}\\\"\\n\\t\\t[title]=\\\"clearButtonTitle\\\"\\n\\t\\t[attr.aria-label]=\\\"clearButtonTitle\\\"\\n\\t\\t(click)=\\\"clearSearch()\\\">\\n\\t\\t<ibm-icon-close16></ibm-icon-close16>\\n\\t</button>\\n</div>\\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/**\n * [See demo](../../?path=/story/search--basic)\n *\n * <example-url>../../iframe.html?id=search--basic</example-url>\n *\n * @export\n * @class Search\n * @implements {ControlValueAccessor}\n */\n@Component({\n\tselector: \"ibm-search\",\n\ttemplate: require('./search.component.html'),\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\") get containerClass() { return !this.toolbar; }\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 * Specifies whether the search component is used in the table toolbar.\n\t */\n\t@Input() tableSearch = 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 autocomplete attribute on the `input` element.\n\t * For refernece: https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete#Values\n\t */\n\t@Input() autocomplete = \"on\";\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 &&\n\t\t\tthis.inputRef.nativeElement.value === \"\" &&\n\t\t\tevent.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, DocumentationModule } from '../';\\n\\nstoriesOf('Search', module)\\n .addDecorator(\\n moduleMetadata({\\n imports: [SearchModule, DocumentationModule],\\n })\\n )\\n .addDecorator(withKnobs)\\n .add('Basic', () => ({\\n template: `\\n\\t\\t\\t<ibm-search\\n\\t\\t\\t\\t[theme]=\\\"theme\\\"\\n\\t\\t\\t\\t[placeholder]=\\\"placeholder\\\"\\n\\t\\t\\t\\t[autocomplete]=\\\"autocomplete\\\"\\n\\t\\t\\t\\t[disabled]=\\\"disabled\\\"\\n\\t\\t\\t\\t[size]=\\\"size\\\">\\n\\t\\t\\t</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 autocomplete: text('autocomplete', 'on'),\\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 .add('Documentation', () => ({\\n template: `\\n\\t\\t\\t<ibm-documentation src=\\\"documentation/components/Search.html\\\"></ibm-documentation>\\n\\t\\t`,\\n }));\\n\";\n export var __ADDS_MAP__ = {\"search--documentation\":{\"startLoc\":{\"col\":7,\"line\":47},\"endLoc\":{\"col\":4,\"line\":51}},\"search--skeleton\":{\"startLoc\":{\"col\":7,\"line\":38},\"endLoc\":{\"col\":4,\"line\":46}},\"search--toolbar-search\":{\"startLoc\":{\"col\":7,\"line\":31},\"endLoc\":{\"col\":4,\"line\":37}},\"search--basic\":{\"startLoc\":{\"col\":7,\"line\":13},\"endLoc\":{\"col\":4,\"line\":30}}};\n \n import { storiesOf, moduleMetadata } from \"@storybook/angular\";\nimport { withKnobs, boolean, select, text } from \"@storybook/addon-knobs/angular\";\n\nimport { SearchModule, DocumentationModule } from \"../\";\n\nstoriesOf(\"Search\", module).addDecorator(withStorySource(__STORY__, __ADDS_MAP__)).addDecorator(\n\tmoduleMetadata({\n\t\timports: [SearchModule, DocumentationModule]\n\t})\n)\n\t.addDecorator(withKnobs)\n\t.add(\"Basic\", () => ({\n\t\ttemplate: `\n\t\t\t<ibm-search\n\t\t\t\t[theme]=\"theme\"\n\t\t\t\t[placeholder]=\"placeholder\"\n\t\t\t\t[autocomplete]=\"autocomplete\"\n\t\t\t\t[disabled]=\"disabled\"\n\t\t\t\t[size]=\"size\">\n\t\t\t</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\tautocomplete: text(\"autocomplete\", \"on\"),\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\t.add(\"Documentation\", () => ({\n\t\ttemplate: `\n\t\t\t<ibm-documentation src=\"documentation/components/Search.html\"></ibm-documentation>\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\tTemplateRef\n} from \"@angular/core\";\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from \"@angular/forms\";\n\n/**\n * `ibm-select` provides a styled `select` component.\n *\n * [See demo](../../?path=/story/select--basic)\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 * <example-url>../../iframe.html?id=select--basic</example-url>\n *\n * @export\n * @class Select\n * @implements {ControlValueAccessor}\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 && label\" [for]=\"id\" class=\"bx--label bx--skeleton\"></label>\n\t\t\t\t<label *ngIf=\"!skeleton && label\" [for]=\"id\" class=\"bx--label\">\n\t\t\t\t\t<ng-container *ngIf=\"!isTemplate(label)\">{{label}}</ng-container>\n\t\t\t\t\t<ng-template *ngIf=\"isTemplate(label)\" [ngTemplateOutlet]=\"label\"></ng-template>\n\t\t\t\t</label>\n\t\t\t\t<div *ngIf=\"helperText\" class=\"bx--form__helper-text\">\n\t\t\t\t\t<ng-container *ngIf=\"!isTemplate(helperText)\">{{helperText}}</ng-container>\n\t\t\t\t\t<ng-template *ngIf=\"isTemplate(helperText)\" [ngTemplateOutlet]=\"helperText\"></ng-template>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"bx--select-input__wrapper\" [attr.data-invalid]=\"(invalid ? true : null)\">\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-warning-filled16\n\t\t\t\t\t\t*ngIf=\"!skeleton && invalid\"\n\t\t\t\t\t\tclass=\"bx--select__invalid-icon\"\n\t\t\t\t\t\tstyle=\"display: inherit;\">\n\t\t\t\t\t</ibm-icon-warning-filled16>\n\t\t\t\t\t<ibm-icon-chevron-down16 *ngIf=\"!skeleton\" class=\"bx--select__arrow\" style=\"display: inherit;\"></ibm-icon-chevron-down16>\n\t\t\t\t</div>\n\t\t\t\t<div *ngIf=\"invalid\" class=\"bx--form-requirement\">\n\t\t\t\t\t<ng-container *ngIf=\"!isTemplate(invalidText)\">{{invalidText}}</ng-container>\n\t\t\t\t\t<ng-template *ngIf=\"isTemplate(invalidText)\" [ngTemplateOutlet]=\"invalidText\"></ng-template>\n\t\t\t\t</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: string | TemplateRef<any>;\n\t/**\n\t * Optional helper text that appears under the label.\n\t */\n\t@Input() helperText: string | TemplateRef<any>;\n\t/**\n\t * Sets the invalid text.\n\t */\n\t@Input() invalidText: string | TemplateRef<any>;\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\tpublic isTemplate(value) {\n\t\treturn value instanceof TemplateRef;\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\";\nimport { WarningFilled16Module } from \"@carbon/icons-angular/lib/warning--filled/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\tWarningFilled16Module\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, DocumentationModule } from '../';\\n\\nstoriesOf('Select', module)\\n .addDecorator(\\n moduleMetadata({\\n imports: [SelectModule, DocumentationModule],\\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[label]=\\\"label\\\"\\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 label: text('Label text', 'Select Label'),\\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 .add('Documentation', () => ({\\n template: `\\n\\t\\t\\t<ibm-documentation src=\\\"documentation/components/Select.html\\\"></ibm-documentation>\\n\\t\\t`,\\n }));\\n\";\n export var __ADDS_MAP__ = {\"select--documentation\":{\"startLoc\":{\"col\":7,\"line\":70},\"endLoc\":{\"col\":4,\"line\":74}},\"select--skeleton\":{\"startLoc\":{\"col\":7,\"line\":63},\"endLoc\":{\"col\":4,\"line\":69}},\"select--with-ngmodel\":{\"startLoc\":{\"col\":7,\"line\":46},\"endLoc\":{\"col\":4,\"line\":62}},\"select--basic\":{\"startLoc\":{\"col\":7,\"line\":14},\"endLoc\":{\"col\":4,\"line\":45}}};\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, DocumentationModule } from \"../\";\n\nstoriesOf(\"Select\", module).addDecorator(withStorySource(__STORY__, __ADDS_MAP__)).addDecorator(\n\tmoduleMetadata({\n\t\timports: [SelectModule, DocumentationModule]\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[label]=\"label\"\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\tlabel: text(\"Label text\", \"Select Label\"),\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\t.add(\"Documentation\", () => ({\n\t\ttemplate: `\n\t\t\t<ibm-documentation src=\"documentation/components/Select.html\"></ibm-documentation>\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\tTemplateRef\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 * [See demo](../../?path=/story/slider--advanced)\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 * <example-url>../../iframe.html?id=slider--advanced</example-url>\n */\n@Component({\n\tselector: \"ibm-slider\",\n\ttemplate: `\n\t\t<ng-container *ngIf=\"!skeleton; else skeletonTemplate\">\n\t\t\t<label *ngIf=\"label\" for=\"slider\" class=\"bx--label\">\n\t\t\t\t<ng-container *ngIf=\"!isTemplate(label)\">{{label}}</ng-container>\n\t\t\t\t<ng-template *ngIf=\"isTemplate(label)\" [ngTemplateOutlet]=\"label\"></ng-template>\n\t\t\t</label>\n\t\t\t<div class=\"bx--slider-container\">\n\t\t\t\t<label [id]=\"bottomRangeId\" class=\"bx--slider__range-label\">\n\t\t\t\t\t<ng-content select=\"[minLabel]\"></ng-content>\n\t\t\t\t</label>\n\t\t\t\t<div\n\t\t\t\t\tclass=\"bx--slider\"\n\t\t\t\t\t[ngClass]=\"{'bx--slider--disabled': disabled}\">\n\t\t\t\t\t<div\n\t\t\t\t\t\t#thumb\n\t\t\t\t\t\tclass=\"bx--slider__thumb\"\n\t\t\t\t\t\ttabindex=\"0\"\n\t\t\t\t\t\t(mousedown)=\"onMouseDown($event)\"\n\t\t\t\t\t\t(keydown)=\"onKeyDown($event)\">\n\t\t\t\t\t</div>\n\t\t\t\t\t<div\n\t\t\t\t\t\t#track\n\t\t\t\t\t\tclass=\"bx--slider__track\"\n\t\t\t\t\t\t(click)=\"onClick($event)\">\n\t\t\t\t\t</div>\n\t\t\t\t\t<div\n\t\t\t\t\t\t#filledTrack\n\t\t\t\t\t\tclass=\"bx--slider__filled-track\">\n\t\t\t\t\t</div>\n\t\t\t\t\t<input\n\t\t\t\t\t\t#range\n\t\t\t\t\t\taria-label=\"slider\"\n\t\t\t\t\t\tclass=\"bx--slider__input\"\n\t\t\t\t\t\ttype=\"range\"\n\t\t\t\t\t\t[step]=\"step\"\n\t\t\t\t\t\t[min]=\"min\"\n\t\t\t\t\t\t[max]=\"max\"\n\t\t\t\t\t\t[value]=\"value.toString()\">\n\t\t\t\t</div>\n\t\t\t\t<label [id]=\"topRangeId\" class=\"bx--slider__range-label\">\n\t\t\t\t\t<ng-content select=\"[maxLabel]\"></ng-content>\n\t\t\t\t</label>\n\t\t\t\t<ng-content select=\"input\"></ng-content>\n\t\t\t</div>\n\t\t</ng-container>\n\n\t\t<ng-template #skeletonTemplate>\n\t\t\t<label *ngIf=\"label\" class=\"bx--label bx--skeleton\"></label>\n\t\t\t<div class=\"bx--slider-container bx--skeleton\">\n\t\t\t\t<span class=\"bx--slider__range-label\"></span>\n\t\t\t\t<div class=\"bx--slider\">\n\t\t\t\t\t<div class=\"bx--slider__thumb\"></div>\n\t\t\t\t\t<div class=\"bx--slider__track\"></div>\n\t\t\t\t\t<div class=\"bx--slider__filled-track\"></div>\n\t\t\t\t</div>\n\t\t\t\t<span class=\"bx--slider__range-label\"></span>\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() set min(v) {\n\t\tif (!v) { return; }\n\t\tthis._min = v;\n\t\t// force the component to update\n\t\tthis.value = this.value;\n\t}\n\tget min() {\n\t\treturn this._min;\n\t}\n\t/** The upper bound of our range */\n\t@Input() set max(v) {\n\t\tif (!v) { return; }\n\t\tthis._max = v;\n\t\t// force the component to update\n\t\tthis.value = this.value;\n\t}\n\n\tget max() {\n\t\treturn this._max;\n\t}\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) {\n\t\t\tv = this.min;\n\t\t}\n\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\n\t\tif (this.thumb) {\n\t\t\tthis.thumb.nativeElement.style.left = `${this.getFractionComplete(v) * 100}%`;\n\t\t}\n\n\t\tif (this.filledTrack) {\n\t\t\tthis.filledTrack.nativeElement.style.transform = `translate(0%, -50%) ${this.scaleX(this.getFractionComplete(v))}`;\n\t\t}\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/** Sets the text inside the `label` tag */\n\t@Input() label: string | TemplateRef<any>;\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--form-item\") hostClass = true;\n\t@ViewChild(\"thumb\") thumb: ElementRef;\n\t@ViewChild(\"track\") track: ElementRef;\n\t@ViewChild(\"filledTrack\") filledTrack: ElementRef;\n\t@ViewChild(\"range\") range: ElementRef;\n\n\tpublic bottomRangeId = `${this.id}-bottom-range`;\n\tpublic topRangeId = `${this.id}-top-range`;\n\tpublic fractionComplete = 0;\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 input: HTMLInputElement;\n\tprotected _min = 0;\n\tprotected _max = 100;\n\tprotected _value = this.min;\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// apply any values we got from before the view initialized\n\t\tthis.value = this.value;\n\n\t\t// TODO: 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/**\n\t * Returns the amount of \"completeness\" of a value as a fraction of the total track width\n\t */\n\tgetFractionComplete(value: number) {\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.convertToPx(value) / 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\t// account for value shifting by subtracting min from value and max\n\t\treturn Math.round(trackWidth * ((value - this.min) / (this.max - this.min)));\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.value = this.convertToValue(event.clientX - track.left);\n\t\t}\n\n\t\t// if the mouse is beyond the max, set the value to `max`\n\t\tif (event.clientX - track.left > track.width) {\n\t\t\tthis.value = this.max;\n\t\t}\n\n\t\t// if the mouse is below the min, set the value to `min`\n\t\tif (event.clientX - track.left < 0) {\n\t\t\tthis.value = this.min;\n\t\t}\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\tpublic isTemplate(value) {\n\t\treturn value instanceof TemplateRef;\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, select } from '@storybook/addon-knobs/angular';\\n\\nimport { SliderModule } from './slider.module';\\nimport { DocumentationModule } from './../documentation-component/documentation.module';\\n\\nstoriesOf('Slider', module)\\n .addDecorator(\\n moduleMetadata({\\n imports: [SliderModule, DocumentationModule],\\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[label]=\\\"label\\\"\\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 [ngClass]=\\\"{'bx--text-input--light': theme === 'light'}\\\"/>\\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 label: text('Label text', 'Slider Label'),\\n minLabel: text('minLabel', '0'),\\n maxLabel: text('maxLabel', '100'),\\n theme: select('Theme', ['dark', 'light'], 'dark'),\\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 .add('Documentation', () => ({\\n template: `\\n\\t\\t<ibm-documentation src=\\\"documentation/components/Slider.html\\\"></ibm-documentation>\\n\\t`,\\n }));\\n\";\n export var __ADDS_MAP__ = {\"slider--documentation\":{\"startLoc\":{\"col\":7,\"line\":67},\"endLoc\":{\"col\":4,\"line\":71}},\"slider--skeleton\":{\"startLoc\":{\"col\":7,\"line\":62},\"endLoc\":{\"col\":4,\"line\":66}},\"slider--with-ngmodel\":{\"startLoc\":{\"col\":7,\"line\":51},\"endLoc\":{\"col\":4,\"line\":61}},\"slider--advanced\":{\"startLoc\":{\"col\":7,\"line\":21},\"endLoc\":{\"col\":4,\"line\":50}},\"slider--basic\":{\"startLoc\":{\"col\":7,\"line\":15},\"endLoc\":{\"col\":4,\"line\":20}}};\n \n import { storiesOf, moduleMetadata } from \"@storybook/angular\";\nimport { action } from \"@storybook/addon-actions\";\nimport {\n\twithKnobs,\n\tnumber,\n\ttext,\n\tboolean,\n\tselect\n} from \"@storybook/addon-knobs/angular\";\n\nimport { SliderModule } from \"./slider.module\";\nimport { DocumentationModule } from \"./../documentation-component/documentation.module\";\n\nstoriesOf(\"Slider\", module).addDecorator(withStorySource(__STORY__, __ADDS_MAP__)).addDecorator(moduleMetadata({\n\timports: [SliderModule, DocumentationModule]\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[label]=\"label\"\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 [ngClass]=\"{'bx--text-input--light': theme === 'light'}\"/>\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\tlabel: text(\"Label text\", \"Slider Label\"),\n\t\tminLabel: text(\"minLabel\", \"0\"),\n\t\tmaxLabel: text(\"maxLabel\", \"100\"),\n\t\ttheme: select(\"Theme\", [\"dark\", \"light\"], \"dark\"),\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.add(\"Documentation\", () => ({\n\ttemplate: `\n\t\t<ibm-documentation src=\"documentation/components/Slider.html\"></ibm-documentation>\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 demo](../../?path=/story/structured-list--basic)\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 * <example-url>../../iframe.html?id=structured-list--basic</example-url>\n *\n * @export\n * @class StructuredList\n * @implements {AfterContentInit}\n * @implements {ControlValueAccessor}\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, DocumentationModule } from '../';\\n\\nstoriesOf('Structured List', module)\\n .addDecorator(\\n moduleMetadata({\\n imports: [StructuredListModule, DocumentationModule],\\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 .add('Documentation', () => ({\\n template: `\\n\\t\\t\\t<ibm-documentation src=\\\"documentation/components/StructuredList.html\\\"></ibm-documentation>\\n\\t\\t`,\\n }));\\n\";\n export var __ADDS_MAP__ = {\"structured-list--documentation\":{\"startLoc\":{\"col\":7,\"line\":181},\"endLoc\":{\"col\":4,\"line\":185}},\"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, DocumentationModule } from \"../\";\n\nstoriesOf(\"Structured List\", module).addDecorator(withStorySource(__STORY__, __ADDS_MAP__)).addDecorator(\n\tmoduleMetadata({\n\t\timports: [StructuredListModule, DocumentationModule]\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\t.add(\"Documentation\", () => ({\n\t\ttemplate: `\n\t\t\t<ibm-documentation src=\"documentation/components/StructuredList.html\"></ibm-documentation>\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 { Directive, HostBinding } from \"@angular/core\";\n\n@Directive({\n\tselector: \"[ibmTableHeaderDescription]\"\n})\nexport class TableHeaderDescription {\n\t@HostBinding(\"class.bx--data-table-header__description\") descriptionClass = true;\n}\n","import { Directive, HostBinding } from \"@angular/core\";\n\n@Directive({\n\tselector: \"[ibmTableHeaderTitle]\"\n})\nexport class TableHeaderTitle {\n\t@HostBinding(\"class.bx--data-table-header__title\") titleClass = true;\n}\n","import { Component, HostBinding } from \"@angular/core\";\n\n@Component({\n\tselector: \"ibm-table-header\",\n\ttemplate: `\n\t\t<ng-content></ng-content>\n\t`\n})\nexport class TableHeader {\n\t@HostBinding(\"class.bx--data-table-header\") headerClass = true;\n\t@HostBinding(\"style.display\") displayStyle = \"block\";\n}\n","import { Component, HostBinding } from \"@angular/core\";\n\n@Component({\n\tselector: \"ibm-table-container\",\n\ttemplate: `<ng-content></ng-content>`\n})\nexport class TableContainer {\n\t@HostBinding(\"class.bx--data-table-container\") containerClass = true;\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// init rowsClass\n\t\tthis.rowsClass = 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 class name(s) of the row.\n\t *\n\t * It affects styling of the row to reflect the appended class name(s).\n\t *\n\t * It's empty or undefined by default\n\t *\n\t * @type {Array<string>}\n\t * @memberof TableModel\n\t */\n\trowsClass: 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\n\t\t\t// update rowsClass property for length\n\t\t\tthis.rowsClass.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\n\t\t\t// update rowsClass property for length\n\t\t\tthis.rowsClass.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\t\tthis.rowsClass.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\n\t\t\tconst rowClass = new TableItem();\n\t\t\trowClass.data = this.rowsClass[i];\n\t\t\tthis.data[i].push(rowClass);\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.rowsClass[i] = this.data[i].pop().data;\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 * [See demo](../../?path=/story/table--basic)\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 * <example-url>../../iframe.html?id=table--basic</example-url>\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<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=\"!skeleton && 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[class]=\"model.rowsClass[i] ? model.rowsClass[i] : 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=\"!skeleton && 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<span *ngIf=\"skeleton && i === 0\"></span>\n\t\t\t\t\t\t\t<ng-container *ngIf=\"!skeleton && !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*ngIf=\"!skeleton\"\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\";\nimport { Search16Module } from \"@carbon/icons-angular/lib/search/16\";\nimport { Close16Module } from \"@carbon/icons-angular/lib/close/16\";\n\nimport { DialogModule } from \"./../dialog/dialog.module\";\nimport { NFormsModule } from \"./../forms/forms.module\";\nimport { ButtonModule, SearchModule } from \"../\";\n\nimport { Table } from \"./table.component\";\nimport { TableToolbar } from \"./toolbar/table-toolbar.component\";\nimport { TableContainer } from \"./table-container.component\";\nimport { TableHeader } from \"./header/table-header.component\";\nimport { TableHeaderTitle } from \"./header/table-header-title.directive\";\nimport { TableHeaderDescription } from \"./header/table-header-description.directive\";\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 { TableContainer } from \"./table-container.component\";\nexport { TableHeader } from \"./header/table-header.component\";\nexport { TableHeaderTitle } from \"./header/table-header-title.directive\";\nexport { TableHeaderDescription } from \"./header/table-header-description.directive\";\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\tTableContainer,\n\t\tTableHeader,\n\t\tTableHeaderTitle,\n\t\tTableHeaderDescription,\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\tTableContainer,\n\t\tTableHeader,\n\t\tTableHeaderTitle,\n\t\tTableHeaderDescription,\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\tButtonModule,\n\t\tSearchModule,\n\t\tI18nModule,\n\t\tChevronRight16Module,\n\t\tSearch16Module,\n\t\tClose16Module\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 {\\n TemplateRef,\\n Component,\\n ViewChild,\\n OnInit,\\n Input,\\n OnChanges,\\n SimpleChanges,\\n} from '@angular/core';\\nimport { storiesOf, moduleMetadata } from '@storybook/angular';\\nimport { withKnobs, boolean, select, number, text } 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 DocumentationModule,\\n} from '../';\\n\\nimport { Settings16Module } from '@carbon/icons-angular/lib/settings/16';\\nimport { Delete16Module } from '@carbon/icons-angular/lib/delete/16';\\nimport { Save16Module } from '@carbon/icons-angular/lib/save/16';\\nimport { Download16Module } from '@carbon/icons-angular/lib/download/16';\\nimport { Add20Module } from '@carbon/icons-angular/lib/add/20';\\n\\nimport { clone } from '../utils/utils';\\n\\n@Component({\\n selector: 'app-table',\\n template: `\\n <ibm-table\\n style=\\\"display: block; width: 650px;\\\"\\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 <ibm-table-toolbar [model]=\\\"model\\\">\\n <button ibmButton=\\\"primary\\\" (click)=\\\"addRow()\\\">Add row</button>\\n <button ibmButton=\\\"primary\\\" (click)=\\\"addColumn()\\\">Add column</button>\\n </ibm-table-toolbar>\\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 style=\\\"display: block; width: 650px;\\\"\\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({\\n data: { name: 'Lessy', link: '#' },\\n template: this.customTableItemTemplate,\\n }),\\n ],\\n [new TableItem({ data: 'Name 3' }), new TableItem({ data: 'swer' })],\\n [\\n new TableItem({ data: 'Name 2' }),\\n new TableItem({\\n data: { name: 'Alice', surname: 'Bob' },\\n template: this.customTableItemTemplate,\\n }),\\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 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(\\n new TableItem({ data: `Column ${this.model.row(0).length}` })\\n );\\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 style=\\\"display: block; width: 650px;\\\"\\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({\\n data: { name: 'Lessy', link: '#' },\\n template: this.customTableItemTemplate,\\n }),\\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({\\n data: { name: 'Alice', surname: 'Bob' },\\n template: this.customTableItemTemplate,\\n }),\\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 style=\\\"display: block; width: 650px;\\\"\\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 = [\\n new TableHeaderItem({ data: 'Name' }),\\n new TableHeaderItem({ data: 'Actions' }),\\n ];\\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()\\\">\\n Apply\\n </button>\\n <button class=\\\"btn--secondary\\\" (click)=\\\"popover.doClose()\\\">Cancel</button>\\n </ibm-label>\\n </ng-template>\\n\\n <ibm-table\\n style=\\\"display: block; width: 650px;\\\"\\n [model]=\\\"model\\\"\\n (sort)=\\\"paginationSort($event)\\\"\\n ></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:\\n 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\\n style=\\\"display: block; width: 800px;\\\"\\n [model]=\\\"skeletonModel\\\"\\n [skeleton]=\\\"skeleton\\\"\\n [size]=\\\"size\\\"\\n [striped]=\\\"striped\\\"\\n >\\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: [\\n NFormsModule,\\n TableModule,\\n DialogModule,\\n PaginationModule,\\n SearchModule,\\n ButtonModule,\\n Settings16Module,\\n Delete16Module,\\n Save16Module,\\n Download16Module,\\n Add20Module,\\n DocumentationModule,\\n ],\\n declarations: [\\n TableStory,\\n DynamicTableStory,\\n ExpansionTableStory,\\n OverflowTableStory,\\n PaginationTableStory,\\n SkeletonTableStory,\\n ],\\n })\\n )\\n .addDecorator(withKnobs)\\n .add('Basic', () => ({\\n template: `\\n\\t\\t<ibm-table-container>\\n\\t\\t\\t<ibm-table-header>\\n\\t\\t\\t\\t<h4 ibmTableHeaderTitle>{{title}}</h4>\\n\\t\\t\\t\\t<p ibmTableHeaderDescription>{{description}}</p>\\n\\t\\t\\t</ibm-table-header>\\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</ibm-table-container>\\n\\t`,\\n props: {\\n model: simpleModel,\\n size: select('size', { Small: 'sm', Normal: 'md', Large: 'lg' }, 'md'),\\n title: text('Title', 'Table title'),\\n description: text('Description', ''),\\n showSelectionColumn: boolean('showSelectionColumn', true),\\n striped: boolean('striped', false),\\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<ibm-table-container>\\n\\t\\t\\t<ibm-table-header>\\n\\t\\t\\t\\t<h4 ibmTableHeaderTitle>{{title}}</h4>\\n\\t\\t\\t\\t<p ibmTableHeaderDescription>{{description}}</p>\\n\\t\\t\\t</ibm-table-header>\\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<tbody><tr><td class=\\\"no-data\\\" colspan=\\\"3\\\"><div>No data.</div></td></tr></tbody>\\n\\t\\t\\t</app-table>\\n\\t\\t</ibm-table-container>\\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 title: text('Title', 'Table title'),\\n description: text('Description', 'With no data'),\\n showSelectionColumn: boolean('showSelectionColumn', true),\\n striped: boolean('striped', false),\\n },\\n }))\\n .add('With toolbar', () => ({\\n template: `\\n\\t\\t<ibm-table-container>\\n\\t\\t\\t<ibm-table-header>\\n\\t\\t\\t\\t<h4 ibmTableHeaderTitle>{{title}}</h4>\\n\\t\\t\\t\\t<p ibmTableHeaderDescription>{{description}}</p>\\n\\t\\t\\t</ibm-table-header>\\n\\t\\t\\t<ibm-table-toolbar [model]=\\\"model\\\">\\n\\t\\t\\t\\t<ibm-table-toolbar-actions>\\n\\t\\t\\t\\t\\t<button ibmButton=\\\"primary\\\">\\n\\t\\t\\t\\t\\t\\tDelete\\n\\t\\t\\t\\t\\t\\t<ibm-icon-delete16 class=\\\"bx--btn__icon\\\"></ibm-icon-delete16>\\n\\t\\t\\t\\t\\t</button>\\n\\t\\t\\t\\t\\t<button ibmButton=\\\"primary\\\">\\n\\t\\t\\t\\t\\t\\tSave\\n\\t\\t\\t\\t\\t\\t<ibm-icon-save16 class=\\\"bx--btn__icon\\\"></ibm-icon-save16>\\n\\t\\t\\t\\t\\t</button>\\n\\t\\t\\t\\t\\t<button ibmButton=\\\"primary\\\">\\n\\t\\t\\t\\t\\t\\tDownload\\n\\t\\t\\t\\t\\t\\t<ibm-icon-download16 class=\\\"bx--btn__icon\\\"></ibm-icon-download16>\\n\\t\\t\\t\\t\\t</button>\\n\\t\\t\\t\\t</ibm-table-toolbar-actions>\\n\\t\\t\\t\\t\\t<ibm-table-toolbar-content>\\n\\t\\t\\t\\t\\t<ibm-table-toolbar-search [expandable]=\\\"true\\\"></ibm-table-toolbar-search>\\n\\t\\t\\t\\t\\t<button ibmButton=\\\"toolbar-action\\\">\\n\\t\\t\\t\\t\\t\\t<ibm-icon-settings16 class=\\\"bx--toolbar-action__icon\\\"></ibm-icon-settings16>\\n\\t\\t\\t\\t\\t</button>\\n\\t\\t\\t\\t\\t<button ibmButton=\\\"primary\\\" size=\\\"sm\\\">\\n\\t\\t\\t\\t\\t\\tPrimary Button\\n\\t\\t\\t\\t\\t\\t<ibm-icon-add20 class=\\\"bx--btn__icon\\\"></ibm-icon-add20>\\n\\t\\t\\t\\t\\t</button>\\n\\t\\t\\t\\t</ibm-table-toolbar-content>\\n\\t\\t\\t</ibm-table-toolbar>\\n\\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</ibm-table-container>\\n\\t`,\\n props: {\\n model: simpleModel,\\n size: select('size', { Small: 'sm', Normal: 'md', Large: 'lg' }, 'md'),\\n title: text('Title', 'Table title'),\\n description: text('Description', 'With toolbar'),\\n showSelectionColumn: boolean('showSelectionColumn', true),\\n striped: boolean('striped', false),\\n sortable: boolean('sortable', true),\\n isDataGrid: boolean('Data grid keyboard interactions', false),\\n },\\n }))\\n .add('With expansion', () => ({\\n template: `\\n\\t\\t<ibm-table-container>\\n\\t\\t\\t<ibm-table-header>\\n\\t\\t\\t\\t<h4 ibmTableHeaderTitle>{{title}}</h4>\\n\\t\\t\\t\\t<p ibmTableHeaderDescription>{{description}}</p>\\n\\t\\t\\t</ibm-table-header>\\n\\t\\t\\t<app-expansion-table\\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[isDataGrid]=\\\"isDataGrid\\\">\\n\\t\\t\\t</app-expansion-table>\\n\\t\\t</ibm-table-container>\\n\\t\\t`,\\n props: {\\n size: select('size', { Small: 'sm', Normal: 'md', Large: 'lg' }, 'md'),\\n title: text('Title', 'Table title'),\\n description: text('Description', 'With expansion'),\\n showSelectionColumn: boolean('showSelectionColumn', true),\\n striped: boolean('striped', false),\\n isDataGrid: boolean('Data grid keyboard interactions', false),\\n },\\n }))\\n .add('With dynamic content', () => ({\\n template: `\\n\\t\\t<ibm-table-container>\\n\\t\\t\\t<ibm-table-header>\\n\\t\\t\\t\\t<h4 ibmTableHeaderTitle>{{title}}</h4>\\n\\t\\t\\t\\t<p ibmTableHeaderDescription>{{description}}</p>\\n\\t\\t\\t</ibm-table-header>\\n\\t\\t\\t<app-custom-table\\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[isDataGrid]=\\\"isDataGrid\\\">\\n\\t\\t\\t</app-custom-table>\\n\\t\\t</ibm-table-container>\\n\\t\\t`,\\n props: {\\n size: select('size', { Small: 'sm', Normal: 'md', Large: 'lg' }, 'md'),\\n title: text('Title', 'Table title'),\\n description: text('Description', 'With dynamic content'),\\n showSelectionColumn: boolean('showSelectionColumn', true),\\n striped: boolean('striped', false),\\n isDataGrid: boolean('Data grid keyboard interactions', false),\\n },\\n }))\\n .add('With overflow menu', () => ({\\n template: `\\n\\t\\t<ibm-table-container>\\n\\t\\t\\t<ibm-table-header>\\n\\t\\t\\t\\t<h4 ibmTableHeaderTitle>{{title}}</h4>\\n\\t\\t\\t\\t<p ibmTableHeaderDescription>{{description}}</p>\\n\\t\\t\\t</ibm-table-header>\\n\\t\\t\\t<app-overflow-table\\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[isDataGrid]=\\\"isDataGrid\\\">\\n\\t\\t\\t</app-overflow-table>\\n\\t\\t</ibm-table-container>\\n\\t\\t`,\\n props: {\\n size: select('size', { Small: 'sm', Normal: 'md', Large: 'lg' }, 'md'),\\n title: text('Title', 'Table title'),\\n description: text('Description', 'With overflow menu'),\\n showSelectionColumn: boolean('showSelectionColumn', true),\\n striped: boolean('striped', false),\\n isDataGrid: boolean('Data grid keyboard interactions', false),\\n },\\n }))\\n .add('With pagination', () => ({\\n template: `\\n\\t\\t<ibm-table-container>\\n\\t\\t\\t<ibm-table-header>\\n\\t\\t\\t\\t<h4 ibmTableHeaderTitle>{{title}}</h4>\\n\\t\\t\\t\\t<p ibmTableHeaderDescription>{{description}}</p>\\n\\t\\t\\t</ibm-table-header>\\n\\t\\t\\t<app-pagination-table [totalDataLength]=\\\"totalDataLength\\\" [model]=\\\"model\\\"></app-pagination-table>\\n\\t\\t</ibm-table-container>\\n\\t\\t`,\\n props: {\\n model: simpleModel,\\n totalDataLength: number('totalDataLength', 105),\\n title: text('Title', 'Table title'),\\n description: text('Description', 'With pagination'),\\n },\\n }))\\n .add('Skeleton', () => ({\\n template: `\\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`,\\n props: {\\n size: select('size', { Small: 'sm', Normal: 'md', Large: 'lg' }, 'md'),\\n striped: boolean('striped', false),\\n },\\n }))\\n .add('Documentation', () => ({\\n template: `\\n\\t\\t\\t<ibm-documentation src=\\\"documentation/components/Table.html\\\"></ibm-documentation>\\n\\t\\t`,\\n }));\\n\";\n export var __ADDS_MAP__ = {\"table--documentation\":{\"startLoc\":{\"col\":7,\"line\":762},\"endLoc\":{\"col\":4,\"line\":766}},\"table--skeleton\":{\"startLoc\":{\"col\":7,\"line\":749},\"endLoc\":{\"col\":4,\"line\":761}},\"table--with-pagination\":{\"startLoc\":{\"col\":7,\"line\":732},\"endLoc\":{\"col\":4,\"line\":748}},\"table--with-overflow-menu\":{\"startLoc\":{\"col\":7,\"line\":708},\"endLoc\":{\"col\":4,\"line\":731}},\"table--with-dynamic-content\":{\"startLoc\":{\"col\":7,\"line\":684},\"endLoc\":{\"col\":4,\"line\":707}},\"table--with-expansion\":{\"startLoc\":{\"col\":7,\"line\":660},\"endLoc\":{\"col\":4,\"line\":683}},\"table--with-toolbar\":{\"startLoc\":{\"col\":7,\"line\":605},\"endLoc\":{\"col\":4,\"line\":659}},\"table--with-no-data\":{\"startLoc\":{\"col\":7,\"line\":571},\"endLoc\":{\"col\":4,\"line\":604}},\"table--basic\":{\"startLoc\":{\"col\":7,\"line\":543},\"endLoc\":{\"col\":4,\"line\":570}}};\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\ttext\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\tDocumentationModule\n} from \"../\";\n\nimport { Settings16Module } from \"@carbon/icons-angular/lib/settings/16\";\nimport { Delete16Module } from \"@carbon/icons-angular/lib/delete/16\";\nimport { Save16Module } from \"@carbon/icons-angular/lib/save/16\";\nimport { Download16Module } from \"@carbon/icons-angular/lib/download/16\";\nimport { Add20Module } from \"@carbon/icons-angular/lib/add/20\";\n\nimport { clone } from \"../utils/utils\";\n\n@Component({\n\tselector: \"app-table\",\n\ttemplate: `\n\t\t<ibm-table\n\t\t\tstyle=\"display: block; width: 650px;\"\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<ibm-table-toolbar [model]=\"model\">\n\t\t\t<button ibmButton=\"primary\" (click)=\"addRow()\">Add row</button>\n\t\t\t<button ibmButton=\"primary\" (click)=\"addColumn()\">Add column</button>\n\t\t</ibm-table-toolbar>\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\tstyle=\"display: block; width: 650px;\"\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: \"#\"}, 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: \"#\"},\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\tstyle=\"display: block; width: 650px;\"\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\tstyle=\"display: block; width: 650px;\"\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 style=\"display: block; width: 650px;\" [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\tstyle=\"display: block; width: 800px;\"\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\tSettings16Module,\n\t\t\t\tDelete16Module,\n\t\t\t\tSave16Module,\n\t\t\t\tDownload16Module,\n\t\t\t\tAdd20Module,\n\t\t\t\tDocumentationModule\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(\"Basic\", () => ({\n\t\ttemplate: `\n\t\t<ibm-table-container>\n\t\t\t<ibm-table-header>\n\t\t\t\t<h4 ibmTableHeaderTitle>{{title}}</h4>\n\t\t\t\t<p ibmTableHeaderDescription>{{description}}</p>\n\t\t\t</ibm-table-header>\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</ibm-table-container>\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\ttitle: text(\"Title\", \"Table title\"),\n\t\t\tdescription: text(\"Description\", \"\"),\n\t\t\tshowSelectionColumn: boolean(\"showSelectionColumn\", true),\n\t\t\tstriped: boolean(\"striped\", false),\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<ibm-table-container>\n\t\t\t<ibm-table-header>\n\t\t\t\t<h4 ibmTableHeaderTitle>{{title}}</h4>\n\t\t\t\t<p ibmTableHeaderDescription>{{description}}</p>\n\t\t\t</ibm-table-header>\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<tbody><tr><td class=\"no-data\" colspan=\"3\"><div>No data.</div></td></tr></tbody>\n\t\t\t</app-table>\n\t\t</ibm-table-container>\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\ttitle: text(\"Title\", \"Table title\"),\n\t\t\tdescription: text(\"Description\", \"With no data\"),\n\t\t\tshowSelectionColumn: boolean(\"showSelectionColumn\", true),\n\t\t\tstriped: boolean(\"striped\", false)\n\t\t}\n\t}))\n\t.add(\"With toolbar\", () => ({\n\t\ttemplate: `\n\t\t<ibm-table-container>\n\t\t\t<ibm-table-header>\n\t\t\t\t<h4 ibmTableHeaderTitle>{{title}}</h4>\n\t\t\t\t<p ibmTableHeaderDescription>{{description}}</p>\n\t\t\t</ibm-table-header>\n\t\t\t<ibm-table-toolbar [model]=\"model\">\n\t\t\t\t<ibm-table-toolbar-actions>\n\t\t\t\t\t<button ibmButton=\"primary\">\n\t\t\t\t\t\tDelete\n\t\t\t\t\t\t<ibm-icon-delete16 class=\"bx--btn__icon\"></ibm-icon-delete16>\n\t\t\t\t\t</button>\n\t\t\t\t\t<button ibmButton=\"primary\">\n\t\t\t\t\t\tSave\n\t\t\t\t\t\t<ibm-icon-save16 class=\"bx--btn__icon\"></ibm-icon-save16>\n\t\t\t\t\t</button>\n\t\t\t\t\t<button ibmButton=\"primary\">\n\t\t\t\t\t\tDownload\n\t\t\t\t\t\t<ibm-icon-download16 class=\"bx--btn__icon\"></ibm-icon-download16>\n\t\t\t\t\t</button>\n\t\t\t\t</ibm-table-toolbar-actions>\n\t\t\t\t\t<ibm-table-toolbar-content>\n\t\t\t\t\t<ibm-table-toolbar-search [expandable]=\"true\"></ibm-table-toolbar-search>\n\t\t\t\t\t<button ibmButton=\"toolbar-action\">\n\t\t\t\t\t\t<ibm-icon-settings16 class=\"bx--toolbar-action__icon\"></ibm-icon-settings16>\n\t\t\t\t\t</button>\n\t\t\t\t\t<button ibmButton=\"primary\" size=\"sm\">\n\t\t\t\t\t\tPrimary Button\n\t\t\t\t\t\t<ibm-icon-add20 class=\"bx--btn__icon\"></ibm-icon-add20>\n\t\t\t\t\t</button>\n\t\t\t\t</ibm-table-toolbar-content>\n\t\t\t</ibm-table-toolbar>\n\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</ibm-table-container>\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\ttitle: text(\"Title\", \"Table title\"),\n\t\t\tdescription: text(\"Description\", \"With toolbar\"),\n\t\t\tshowSelectionColumn: boolean(\"showSelectionColumn\", true),\n\t\t\tstriped: boolean(\"striped\", false),\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<ibm-table-container>\n\t\t\t<ibm-table-header>\n\t\t\t\t<h4 ibmTableHeaderTitle>{{title}}</h4>\n\t\t\t\t<p ibmTableHeaderDescription>{{description}}</p>\n\t\t\t</ibm-table-header>\n\t\t\t<app-expansion-table\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[isDataGrid]=\"isDataGrid\">\n\t\t\t</app-expansion-table>\n\t\t</ibm-table-container>\n\t\t`,\n\t\tprops: {\n\t\t\tsize: select(\"size\", {Small: \"sm\", Normal: \"md\", Large: \"lg\"}, \"md\"),\n\t\t\ttitle: text(\"Title\", \"Table title\"),\n\t\t\tdescription: text(\"Description\", \"With expansion\"),\n\t\t\tshowSelectionColumn: boolean(\"showSelectionColumn\", true),\n\t\t\tstriped: boolean(\"striped\", false),\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<ibm-table-container>\n\t\t\t<ibm-table-header>\n\t\t\t\t<h4 ibmTableHeaderTitle>{{title}}</h4>\n\t\t\t\t<p ibmTableHeaderDescription>{{description}}</p>\n\t\t\t</ibm-table-header>\n\t\t\t<app-custom-table\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[isDataGrid]=\"isDataGrid\">\n\t\t\t</app-custom-table>\n\t\t</ibm-table-container>\n\t\t`,\n\t\tprops: {\n\t\t\tsize: select(\"size\", {Small: \"sm\", Normal: \"md\", Large: \"lg\"}, \"md\"),\n\t\t\ttitle: text(\"Title\", \"Table title\"),\n\t\t\tdescription: text(\"Description\", \"With dynamic content\"),\n\t\t\tshowSelectionColumn: boolean(\"showSelectionColumn\", true),\n\t\t\tstriped: boolean(\"striped\", false),\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<ibm-table-container>\n\t\t\t<ibm-table-header>\n\t\t\t\t<h4 ibmTableHeaderTitle>{{title}}</h4>\n\t\t\t\t<p ibmTableHeaderDescription>{{description}}</p>\n\t\t\t</ibm-table-header>\n\t\t\t<app-overflow-table\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[isDataGrid]=\"isDataGrid\">\n\t\t\t</app-overflow-table>\n\t\t</ibm-table-container>\n\t\t`,\n\t\tprops: {\n\t\t\tsize: select(\"size\", {Small: \"sm\", Normal: \"md\", Large: \"lg\"}, \"md\"),\n\t\t\ttitle: text(\"Title\", \"Table title\"),\n\t\t\tdescription: text(\"Description\", \"With overflow menu\"),\n\t\t\tshowSelectionColumn: boolean(\"showSelectionColumn\", true),\n\t\t\tstriped: boolean(\"striped\", false),\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<ibm-table-container>\n\t\t\t<ibm-table-header>\n\t\t\t\t<h4 ibmTableHeaderTitle>{{title}}</h4>\n\t\t\t\t<p ibmTableHeaderDescription>{{description}}</p>\n\t\t\t</ibm-table-header>\n\t\t\t<app-pagination-table [totalDataLength]=\"totalDataLength\" [model]=\"model\"></app-pagination-table>\n\t\t</ibm-table-container>\n\t\t`,\n\t\tprops: {\n\t\t\tmodel: simpleModel,\n\t\t\ttotalDataLength: number(\"totalDataLength\", 105),\n\t\t\ttitle: text(\"Title\", \"Table title\"),\n\t\t\tdescription: text(\"Description\", \"With pagination\")\n\t\t}\n\t}))\n\t.add(\"Skeleton\", () => ({\n\t\ttemplate: `\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`,\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\t.add(\"Documentation\", () => ({\n\t\ttemplate: `\n\t\t\t<ibm-documentation src=\"documentation/components/Table.html\"></ibm-documentation>\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","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 { Search } from \"./../../search/search.component\";\nimport {\n\tComponent,\n\tHostBinding,\n\tInput,\n\tOnInit\n} from \"@angular/core\";\n\n@Component({\n\tselector: \"ibm-table-toolbar-search\",\n\ttemplate: require('../../search/search.component.html')\n})\nexport class TableToolbarSearch extends Search implements OnInit {\n\ttableSearch = true;\n\n\t@HostBinding(\"class.bx--toolbar-search-container-expandable\") @Input() expandable = false;\n\n\t@HostBinding(\"class.bx--toolbar-search-container-persistent\") get persistentClass() { return !this.expandable; }\n\n\t@HostBinding(\"class.bx--toolbar-search-container-active\") get activeClass() {\n\t\treturn this.active && (this.value !== null || this.value !== \"\");\n\t}\n\n\tngOnInit() {\n\t\tthis.size = \"sm\";\n\t\tif (this.expandable) {\n\t\t\tthis.toolbar = true;\n\t\t}\n\t}\n}\n","import { TableModel } from \"../table-model.class\";\nimport { Component, Input } from \"@angular/core\";\nimport { I18n } from \"../../i18n/i18n.module\";\n\n/**\n * The table toolbar is reserved for global table actions such as table settings, complex filter, export, or editing table data.\n *\n * ## Basic usage\n *\n * ```html\n * <ibm-table-toolbar [model]=\"model\">\n *\t\t<ibm-table-toolbar-actions>\n *\t\t\t<button ibmButton=\"primary\">\n *\t\t\t\tDelete\n *\t\t\t\t<ibm-icon-delete16 class=\"bx--btn__icon\"></ibm-icon-delete16>\n *\t\t\t</button>\n *\t\t\t<button ibmButton=\"primary\">\n *\t\t\t\tSave\n *\t\t\t\t<ibm-icon-save16 class=\"bx--btn__icon\"></ibm-icon-save16>\n *\t\t\t</button>\n *\t\t\t<button ibmButton=\"primary\">\n *\t\t\t\tDownload\n *\t\t\t\t<ibm-icon-download16 class=\"bx--btn__icon\"></ibm-icon-download16>\n *\t\t\t</button>\n *\t\t</ibm-table-toolbar-actions>\n *\t\t\t<ibm-table-toolbar-content>\n *\t\t\t<ibm-table-toolbar-search [expandable]=\"true\"></ibm-table-toolbar-search>\n *\t\t\t<button ibmButton=\"toolbar-action\">\n *\t\t\t\t<ibm-icon-settings16 class=\"bx--toolbar-action__icon\"></ibm-icon-settings16>\n *\t\t\t</button>\n *\t\t\t<button ibmButton=\"primary\" size=\"sm\">\n *\t\t\t\tPrimary Button\n *\t\t\t\t<ibm-icon-add20 class=\"bx--btn__icon\"></ibm-icon-add20>\n *\t\t\t</button>\n *\t\t</ibm-table-toolbar-content>\n *\t</ibm-table-toolbar>\n * ```\n *\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<div class=\"bx--action-list\">\n\t\t\t\t<ng-content select=\"ibm-table-toolbar-actions\"></ng-content>\n\t\t\t\t<button ibmButton=\"primary\" class=\"bx--batch-summary__cancel\" (click)=\"onCancel()\">{{cancelText | async}}</button>\n\t\t\t</div>\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</div>\n\t\t</div>\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\t@Input() set cancelText(value) {\n\t\tthis._cancelText.next(value.CANCEL);\n\t}\n\tget cancelText() {\n\t\treturn this._cancelText;\n\t}\n\tactionBarLabel = this.i18n.get(\"TABLE_TOOLBAR.ACTION_BAR\");\n\t_cancelText = this.i18n.get(\"TABLE_TOOLBAR.CANCEL\");\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\tonCancel() {\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\t'bx--tabs__nav-item--disabled': tab.disabled\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 * [See demo](../../?path=/story/tabs--basic)\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 * <example-url>../../iframe.html?id=tabs--basic</example-url>\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, DocumentationModule } from '../';\\n\\nstoriesOf('Tabs', module)\\n .addDecorator(\\n moduleMetadata({\\n imports: [TabsModule, DocumentationModule],\\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\\\">Tab Content 1</ibm-tab>\\n\\t\\t\\t\\t<ibm-tab heading=\\\"two\\\">Tab Content 2</ibm-tab>\\n\\t\\t\\t\\t<ibm-tab heading=\\\"three\\\">Tab Content 3</ibm-tab>\\n\\t\\t\\t\\t<ibm-tab heading=\\\"four\\\" disabled=\\\"true\\\">Tab Content 4</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 .add('Documentation', () => ({\\n template: `\\n\\t\\t\\t<ibm-documentation src=\\\"documentation/components/Tabs.html\\\"></ibm-documentation>\\n\\t\\t`,\\n }));\\n\";\n export var __ADDS_MAP__ = {\"tabs--documentation\":{\"startLoc\":{\"col\":7,\"line\":89},\"endLoc\":{\"col\":4,\"line\":93}},\"tabs--skeleton\":{\"startLoc\":{\"col\":7,\"line\":81},\"endLoc\":{\"col\":4,\"line\":88}},\"tabs--width-before-and-after-content\":{\"startLoc\":{\"col\":7,\"line\":54},\"endLoc\":{\"col\":4,\"line\":80}},\"tabs--with-template\":{\"startLoc\":{\"col\":7,\"line\":27},\"endLoc\":{\"col\":4,\"line\":53}},\"tabs--basic\":{\"startLoc\":{\"col\":7,\"line\":13},\"endLoc\":{\"col\":4,\"line\":26}}};\n \n import { storiesOf, moduleMetadata } from \"@storybook/angular\";\nimport { withKnobs, boolean } from \"@storybook/addon-knobs/angular\";\n\nimport { TabsModule, DocumentationModule } 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\tDocumentationModule\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\">Tab Content 1</ibm-tab>\n\t\t\t\t<ibm-tab heading=\"two\">Tab Content 2</ibm-tab>\n\t\t\t\t<ibm-tab heading=\"three\">Tab Content 3</ibm-tab>\n\t\t\t\t<ibm-tab heading=\"four\" disabled=\"true\">Tab Content 4</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\t.add(\"Documentation\", () => ({\n\t\ttemplate: `\n\t\t\t<ibm-documentation src=\"documentation/components/Tabs.html\"></ibm-documentation>\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 * [See demo](../../?path=/story/tag--basic)\n *\n * <example-url>../../iframe.html?id=tag--basic</example-url>\n *\n * @export\n * @class Tag\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';\\nimport { DocumentationModule } from './../documentation-component/documentation.module';\\n\\nstoriesOf('Tag', module)\\n .addDecorator(\\n moduleMetadata({\\n imports: [TagModule, DocumentationModule],\\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 .add('Documentation', () => ({\\n template: `\\n\\t\\t\\t<ibm-documentation src=\\\"documentation/components/Tag.html\\\"></ibm-documentation>\\n\\t\\t`,\\n }));\\n\";\n export var __ADDS_MAP__ = {\"tag--documentation\":{\"startLoc\":{\"col\":7,\"line\":40},\"endLoc\":{\"col\":4,\"line\":44}},\"tag--filter\":{\"startLoc\":{\"col\":7,\"line\":35},\"endLoc\":{\"col\":4,\"line\":39}},\"tag--basic\":{\"startLoc\":{\"col\":7,\"line\":14},\"endLoc\":{\"col\":4,\"line\":34}}};\n \n import { storiesOf, moduleMetadata } from \"@storybook/angular\";\nimport { withKnobs } from \"@storybook/addon-knobs/angular\";\n\nimport { TagModule } from \"../tag/tag.module\";\nimport { DocumentationModule } from \"./../documentation-component/documentation.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\tDocumentationModule\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\t.add(\"Documentation\", () => ({\n\t\ttemplate: `\n\t\t\t<ibm-documentation src=\"documentation/components/Tag.html\"></ibm-documentation>\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\tOnDestroy\n} from \"@angular/core\";\nimport { SelectionTile } from \"./selection-tile.component\";\nimport { NG_VALUE_ACCESSOR } from \"@angular/forms\";\nimport { TileSelection } from \"./tile-selection.interface\";\nimport { Subject } from \"rxjs\";\nimport { takeUntil } from \"rxjs/operators\";\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, OnDestroy {\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\tprotected unsubscribe$ = new Subject<void>();\n\tprotected unsubscribeTiles$ = new Subject<void>();\n\n\tconstructor() {\n\t\tTileGroup.tileGroupCount++;\n\t}\n\n\tonChange = (_: any) => { };\n\n\tonTouched = () => { };\n\n\tngAfterContentInit() {\n\t\tconst updateTiles = () => {\n\t\t\t// remove old subscriptions\n\t\t\tthis.unsubscribeTiles$.next();\n\n\t\t\t// react to changes\n\t\t\tthis.selectionTiles.forEach(tile => {\n\t\t\t\ttile.name = this.name;\n\t\t\t\ttile.change\n\t\t\t\t\t.pipe(takeUntil(this.unsubscribeTiles$))\n\t\t\t\t\t.subscribe(() => {\n\t\t\t\t\t\tthis.selected.emit({\n\t\t\t\t\t\t\tvalue: tile.value,\n\t\t\t\t\t\t\tselected: tile.selected,\n\t\t\t\t\t\t\tname: this.name\n\t\t\t\t\t\t});\n\t\t\t\t\t\tthis.onChange(tile.value);\n\t\t\t\t\t});\n\t\t\t\ttile.multiple = this.multiple;\n\t\t\t});\n\t\t};\n\t\tupdateTiles();\n\n\t\tthis.selectionTiles.changes\n\t\t\t.pipe(takeUntil(this.unsubscribe$))\n\t\t\t.subscribe(_ => updateTiles());\n\t}\n\n\tngOnDestroy() {\n\t\tthis.unsubscribe$.next();\n\t\tthis.unsubscribe$.complete();\n\n\t\t// takes care of tile subscriptions when tile-group dies\n\t\tthis.unsubscribeTiles$.next();\n\t\tthis.unsubscribeTiles$.complete();\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 * [See demo](../../?path=/story/tiles--basic)\n *\n * ## Basic usage\n *\n * ```html\n * <ibm-tile>\n * \t\ttile content\n * </ibm-tile>\n * ```\n *\n * <example-url>../../iframe.html?id=tiles--basic</example-url>\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, DocumentationModule } from '../';\\n\\nstoriesOf('Tiles', module)\\n .addDecorator(\\n moduleMetadata({\\n imports: [TilesModule, DocumentationModule],\\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 .add('Documentation', () => ({\\n template: `\\n\\t\\t\\t<ibm-documentation src=\\\"documentation/components/Tile.html\\\"></ibm-documentation>\\n\\t\\t`,\\n }));\\n\";\n export var __ADDS_MAP__ = {\"tiles--documentation\":{\"startLoc\":{\"col\":7,\"line\":75},\"endLoc\":{\"col\":4,\"line\":79}},\"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, DocumentationModule } 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\tDocumentationModule\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\t.add(\"Documentation\", () => ({\n\t\ttemplate: `\n\t\t\t<ibm-documentation src=\"documentation/components/Tile.html\"></ibm-documentation>\n\t\t`\n\t}));\n\n ","import {\n\tComponent,\n\tInput,\n\tOutput,\n\tEventEmitter,\n\tHostBinding,\n\tTemplateRef\n} from \"@angular/core\";\nimport { Select } from \"../select/select.component\";\n\n/**\n * [See demo](../../?path=/story/time-picker-select--simple)\n *\n * <example-url>../../iframe.html?id=time-picker-select--simple</example-url>\n *\n * @export\n * @class TimePickerSelect\n * @extends {Select}\n */\n@Component({\n\tselector: \"ibm-timepicker-select\",\n\ttemplate: `\n\t\t\t<label *ngIf=\"!skeleton && label\" [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@Input() label: string;\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, DocumentationModule } from '../';\\n\\nstoriesOf('Time Picker Select', module)\\n .addDecorator(\\n moduleMetadata({\\n imports: [TimePickerSelectModule, ExperimentalModule, DocumentationModule],\\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 .add('Documentation', () => ({\\n template: `\\n\\t\\t\\t<ibm-documentation src=\\\"documentation/components/TimePickerSelect.html\\\"></ibm-documentation>\\n\\t\\t`,\\n }));\\n\";\n export var __ADDS_MAP__ = {\"time-picker-select--documentation\":{\"startLoc\":{\"col\":7,\"line\":29},\"endLoc\":{\"col\":4,\"line\":33}},\"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, DocumentationModule } 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\tDocumentationModule\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\t.add(\"Documentation\", () => ({\n\t\ttemplate: `\n\t\t\t<ibm-documentation src=\"documentation/components/TimePickerSelect.html\"></ibm-documentation>\n\t\t`\n\t}));\n\n ","import {\n\tComponent,\n\tInput,\n\tOutput,\n\tEventEmitter,\n\tHostBinding,\n\tTemplateRef\n} from \"@angular/core\";\n\n/**\n * [See demo](../../?path=/story/time-picker--simple)\n *\n * <example-url>../../iframe.html?id=time-picker--simple</example-url>\n *\n * @export\n * @class TimePicker\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 && label\" [for]=\"id\" class=\"bx--label\">\n\t\t\t\t\t<ng-container *ngIf=\"!isTemplate(label)\">{{label}}</ng-container>\n\t\t\t\t\t<ng-template *ngIf=\"isTemplate(label)\" [ngTemplateOutlet]=\"label\"></ng-template>\n\t\t\t\t</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: string | TemplateRef<any>;\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\tpublic isTemplate(value) {\n\t\treturn value instanceof TemplateRef;\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, DocumentationModule } from '../';\\n\\nstoriesOf('Time Picker', module)\\n .addDecorator(\\n moduleMetadata({\\n imports: [TimePickerModule, ExperimentalModule, TimePickerSelectModule, DocumentationModule],\\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 .add('Documentation', () => ({\\n template: `\\n\\t\\t\\t<ibm-documentation src=\\\"documentation/components/TimePicker.html\\\"></ibm-documentation>\\n\\t\\t`,\\n }));\\n\";\n export var __ADDS_MAP__ = {\"time-picker--documentation\":{\"startLoc\":{\"col\":7,\"line\":38},\"endLoc\":{\"col\":4,\"line\":42}},\"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, DocumentationModule } 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\tDocumentationModule\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\t.add(\"Documentation\", () => ({\n\t\ttemplate: `\n\t\t\t<ibm-documentation src=\"documentation/components/TimePicker.html\"></ibm-documentation>\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\tTemplateRef\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 * [See demo](../../?path=/story/toggle--basic)\n *\n * ```html\n * <ibm-toggle [(ngModel)]=\"toggleState\">Toggle</ibm-toggle>\n * ```\n *\n * <example-url>../../iframe.html?id=toggle--basic</example-url>\n *\n * @export\n * @class Toggle\n * @extends {Checkbox}\n */\n@Component({\n\tselector: \"ibm-toggle\",\n\ttemplate: `\n\t\t<label *ngIf=\"label\" [id]=\"ariaLabelledby\" class=\"bx--label\">\n\t\t\t<ng-container *ngIf=\"!isTemplate(label)\">{{label}}</ng-container>\n\t\t\t<ng-template *ngIf=\"isTemplate(label)\" [ngTemplateOutlet]=\"label\"></ng-template>\n\t\t</label>\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 | TemplateRef<any>;\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\tpublic isTemplate(value) {\n\t\treturn value instanceof TemplateRef;\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, DocumentationModule } from '../';\\n\\nstoriesOf('Toggle', module)\\n .addDecorator(\\n moduleMetadata({\\n imports: [ToggleModule, DocumentationModule],\\n })\\n )\\n .addDecorator(withKnobs)\\n .add('Basic', () => ({\\n template: `\\n\\t\\t\\t<ibm-toggle\\n\\t\\t\\t\\t[label]=\\\"label\\\"\\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 label: 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 .add('Documentation', () => ({\\n template: `\\n\\t\\t\\t<ibm-documentation src=\\\"documentation/components/Toggle.html\\\"></ibm-documentation>\\n\\t\\t`,\\n }));\\n\";\n export var __ADDS_MAP__ = {\"toggle--documentation\":{\"startLoc\":{\"col\":7,\"line\":40},\"endLoc\":{\"col\":4,\"line\":44}},\"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, DocumentationModule } from \"../\";\n\nstoriesOf(\"Toggle\", module).addDecorator(withStorySource(__STORY__, __ADDS_MAP__)).addDecorator(\n\tmoduleMetadata({\n\t\timports: [ToggleModule, DocumentationModule]\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]=\"label\"\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\tlabel: 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\t.add(\"Documentation\", () => ({\n\t\ttemplate: `\n\t\t\t<ibm-documentation src=\"documentation/components/Toggle.html\"></ibm-documentation>\n\t\t`\n\t}));\n\n ","import { Component,\n\tOutput,\n\tEventEmitter,\n\tInput\n} 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\t(click)=\"doClick()\"\n\t\t\t[ngClass]=\"{'bx--header__action--active': active}\"\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\n\t\t\t<svg *ngIf=\"!active\" 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\n\t\t\t<svg *ngIf=\"active\" aria-hidden=\"true\" height=\"20\" width=\"20\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 32 32\">\n\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\" />\n\t\t\t</svg>\n\t\t</button>\n\t`\n})\nexport class Hamburger {\n\t/**\n\t * Controls the active/selected state for the `Hamburger` menu.\n\t * @type {boolean}\n\t * @memberof Hamburger\n\t */\n\t@Input() active = false;\n\n\t/**\n\t * `EventEmitter` to notify parent components of menu click events.\n\t * @type {EventEmitter<Object>}\n\t * @memberof Hamburger\n\t */\n\t@Output() selected: EventEmitter<Object> = new EventEmitter<Object>();\n\n\tconstructor(public i18n: I18n) { }\n\n\t/**\n\t * Emit the Hamburger click event upwards.\n\t * @memberof Hamburger\n\t */\n\tpublic doClick() {\n\t\tthis.selected.emit(this.active);\n\t}\n\n}\n","import {\n\tComponent,\n\tInput,\n\tOutput,\n\tEventEmitter\n} 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[ngClass]=\"{\n\t\t\t\t'bx--header__action--active': active\n\t\t\t}\"\n\t\t\t[attr.aria-label]=\"title\"\n\t\t\t[title]=\"title\"\n\t\t\t(click)=\"onClick()\">\n\t\t\t<ng-content></ng-content>\n\t\t\t<svg ibmIconClose20 class=\"bx--navigation-menu-panel-collapse-icon\"></svg>\n\t\t</button>\n\t`\n})\nexport class HeaderAction {\n\t@Input() title = \"\";\n\t@Input() active = false;\n\t@Output() selected = new EventEmitter<boolean>();\n\n\tonClick() {\n\t\tthis.active = !this.active;\n\t\tthis.selected.emit(this.active);\n\t}\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, Input } 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]=\"href\" 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\t@Input() href = \"javascript:void(0)\";\n}\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/**\n * Carbon uses feature-flags to toggle the new ui-shell feature.\n *\n * To turn on this feature flag, include the feature-flag variable into your SCSS file before importing carbon-components,\n * then set ui-shell to true.\n *\n * ```scss\n * $feature-flags: (\n * \tui-shell: true\n * );\n * @import 'carbon-components/src/globals/scss/styles';\n * ```\n *\n * [See demo](../../?path=/story/ui-shell--header)\n *\n * <example-url>../../iframe.html?id=ui-shell--header</example-url>\n *\n * @export\n * @class Header\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 { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nimport { Close20Module } from \"@carbon/icons-angular/lib/close/20\";\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\nexport {\n\tHeader,\n\tHeaderItem,\n\tHeaderMenu,\n\tHeaderNavigation,\n\tHeaderGlobal,\n\tHeaderAction,\n\tHamburger\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],\n\timports: [\n\t\tCommonModule,\n\t\tI18nModule,\n\t\tClose20Module\n\t],\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]\n})\nexport class HeaderModule { }\n","import { Component, Input } from \"@angular/core\";\n\n/**\n * Carbon uses feature-flags to toggle the new ui-shell feature.\n *\n * To turn on this feature flag, include the feature-flag variable into your SCSS file before importing carbon-components,\n * then set ui-shell to true.\n *\n * ```scss\n * $feature-flags: (\n * \tui-shell: true\n * );\n * @import 'carbon-components/src/globals/scss/styles';\n * ```\n *\n */\n@Component({\n\tselector: \"ibm-panel\",\n\ttemplate: `\n\t\t<aside\n\t\t\tclass=\"bx--panel--overlay\"\n\t\t\t[ngClass]=\"{\n\t\t\t\t'bx--panel--expanded': expanded\n\t\t\t}\">\n\t\t\t<ng-content></ng-content>\n\t\t</aside>\n\t`\n})\nexport class Panel {\n\t@Input() expanded = false;\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nimport { I18nModule } from \"./../../i18n/i18n.module\";\n\nimport { Panel } from \"./panel.component\";\nimport { ProductSwitcher } from \"./product-switcher.component\";\nimport { ProductSwitcherList } from \"./product-switcher-list.component\";\nimport { ProductSwitcherListItem } from \"./product-switcher-list-item.component\";\nimport { ProductSwitcherItem } from \"./product-switcher-item.component\";\n\nexport {\n\tPanel,\n\tProductSwitcher,\n\tProductSwitcherList,\n\tProductSwitcherListItem,\n\tProductSwitcherItem\n};\n\n@NgModule({\n\tdeclarations: [\n\t\tPanel,\n\t\tProductSwitcher,\n\t\tProductSwitcherList,\n\t\tProductSwitcherListItem,\n\t\tProductSwitcherItem\n\t],\n\timports: [CommonModule, I18nModule],\n\texports: [\n\t\tPanel,\n\t\tProductSwitcher,\n\t\tProductSwitcherList,\n\t\tProductSwitcherListItem,\n\t\tProductSwitcherItem\n\t]\n})\nexport class PanelModule { }\n","import { Component, HostBinding } from \"@angular/core\";\n\n@Component({\n\tselector: \"ibm-product-switcher-item\",\n\ttemplate: `<ng-content></ng-content>`\n})\nexport class ProductSwitcherItem {\n\t@HostBinding(\"class.bx--product-switcher__item\") hostClass = true;\n}\n","import { Component, HostBinding, Input } from \"@angular/core\";\nimport { DomSanitizer, SafeUrl } from \"@angular/platform-browser\";\n\n@Component({\n\tselector: \"ibm-product-switcher-list-item\",\n\ttemplate: `\n\t\t<li class=\"bx--product-list__item\">\n\t\t\t<a class=\"bx--product-link\" tabindex=\"0\" [href]=\"href\">\n\t\t\t\t<div class=\"bx--product-switcher__icon\">\n\t\t\t\t\t<ng-content select=\"svg\"></ng-content>\n\t\t\t\t</div>\n\t\t\t\t<span class=\"bx--product-link__name\">\n\t\t\t\t\t<ng-content></ng-content>\n\t\t\t\t</span>\n\t\t\t</a>\n\t\t\t<ng-content select=\"ibm-overflow-menu\"></ng-content>\n\t\t</li>\n\t`\n})\nexport class ProductSwitcherListItem {\n\t@Input() set href(value: string) {\n\t\tthis._href = this.domSanitizer.bypassSecurityTrustUrl(value);\n\t}\n\n\tget href() {\n\t\treturn this._href as string;\n\t}\n\n\tprotected _href: SafeUrl;\n\n\tconstructor(protected domSanitizer: DomSanitizer) {\n\t\tthis.href = \"javascript:void(0)\";\n\t}\n}\n","import { Component, HostBinding } from \"@angular/core\";\n\n@Component({\n\tselector: \"ibm-product-switcher-list\",\n\ttemplate: `\n\t\t<ul class=\"bx--product-switcher__product-list\">\n\t\t\t<ng-content></ng-content>\n\t\t</ul>\n\t`\n})\nexport class ProductSwitcherList {\n}\n","import { Component, HostBinding, Input } from \"@angular/core\";\n\n@Component({\n\tselector: \"ibm-product-switcher\",\n\ttemplate: `\n\t\t<div class=\"bx--product-switcher__search\">\n\t\t\t<ng-content select=\"ibm-search\"></ng-content>\n\t\t</div>\n\t\t<p class=\"bx--product-switcher__subheader\">{{header}}</p>\n\t\t<ng-content></ng-content>\n\t`\n})\nexport class ProductSwitcher {\n\t@Input() header = \"\";\n\t@HostBinding(\"class.bx--product-switcher\") hostClass = true;\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 \"./sidenav-item.component\";\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/**\n * Carbon uses feature-flags to toggle the new ui-shell feature.\n *\n * To turn on this feature flag, include the feature-flag variable into your SCSS file before importing carbon-components,\n * then set ui-shell to true.\n *\n * ```scss\n * $feature-flags: (\n * \tui-shell: true\n * );\n * @import 'carbon-components/src/globals/scss/styles';\n * ```\n *\n * [See demo](../../?path=/story/ui-shell--side-navigation)\n *\n * <example-url>../../iframe.html?id=ui-shell--side-navigation</example-url>\n *\n * @export\n * @class SideNav\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 { 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\tSideNav,\n\tSideNavHeader,\n\tSideNavItem,\n\tSideNavMenu\n};\n\n@NgModule({\n\tdeclarations: [\n\t\tSideNav,\n\t\tSideNavHeader,\n\t\tSideNavItem,\n\t\tSideNavMenu\n\t],\n\timports: [CommonModule, I18nModule],\n\texports: [\n\t\tSideNav,\n\t\tSideNavHeader,\n\t\tSideNavItem,\n\t\tSideNavMenu\n\t]\n})\nexport class SideNavModule { }\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nimport { I18nModule } from \"./../i18n/i18n.module\";\n\nimport { HeaderModule } from \"./header/header.module\";\nimport { SideNavModule } from \"./sidenav/sidenav.module\";\nimport { PanelModule } from \"./panel/panel.module\";\n\nexport * from \"./header/header.module\";\nexport * from \"./sidenav/sidenav.module\";\nexport * from \"./panel/panel.module\";\n\n@NgModule({\n\timports: [\n\t\tCommonModule,\n\t\tI18nModule,\n\t\tHeaderModule,\n\t\tSideNavModule,\n\t\tPanelModule\n\t],\n\texports: [\n\t\tHeaderModule,\n\t\tSideNavModule,\n\t\tPanelModule\n\t]\n})\nexport class UIShellModule { }\n","\n export var withStorySource = require('@storybook/addon-storysource').withStorySource;\n export var __STORY__ = \"import { action } from '@storybook/addon-actions';\\nimport { storiesOf, moduleMetadata } from '@storybook/angular';\\nimport { withKnobs, boolean } from '@storybook/addon-knobs/angular';\\n\\nimport { UIShellModule } from './ui-shell.module';\\nimport { SearchModule } from './../search/search.module';\\nimport { DialogModule } from './../dialog/dialog.module';\\nimport { DocumentationModule } from './../documentation-component/documentation.module';\\n\\nstoriesOf('UI Shell', module)\\n .addDecorator(\\n moduleMetadata({\\n imports: [UIShellModule, SearchModule, DialogModule, DocumentationModule],\\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\\\" (click)=\\\"expanded($event)\\\"></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 title=\\\"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 title=\\\"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 expanded: action('Menu clicked'),\\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 #firstAction title=\\\"action\\\">\\n\\t\\t\\t\\t\\t\\t<svg class=\\\"bx--navigation-menu-panel-expand-icon\\\"\\n\\t\\t\\t\\t\\t\\t\\twidth=\\\"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 #secondAction title=\\\"action\\\">\\n\\t\\t\\t\\t\\t\\t<svg\\n\\t\\t\\t\\t\\t\\t\\tclass=\\\"bx--navigation-menu-panel-expand-icon\\\"\\n\\t\\t\\t\\t\\t\\t\\twidth=\\\"20\\\"\\n\\t\\t\\t\\t\\t\\t\\theight=\\\"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\\t<ibm-panel [expanded]=\\\"firstAction.active\\\">\\n\\t\\t\\t\\t<ibm-product-switcher header=\\\"My Products\\\">\\n\\t\\t\\t\\t\\t<ibm-search size=\\\"sm\\\" theme=\\\"light\\\"></ibm-search>\\n\\t\\t\\t\\t\\t<ibm-product-switcher-list>\\n\\t\\t\\t\\t\\t\\t<ibm-product-switcher-list-item>\\n\\t\\t\\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\\t\\t<path\\n\\t\\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\\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\\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\\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\\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\\t\\t10zM16 2v2a12 12 0 0 1 0 24v2a14 14 0 0 0 0-28z\\\" />\\n\\t\\t\\t\\t\\t\\t\\t</svg>\\n\\t\\t\\t\\t\\t\\t\\tOne\\n\\t\\t\\t\\t\\t\\t\\t<ibm-overflow-menu flip=\\\"true\\\">\\n\\t\\t\\t\\t\\t\\t\\t\\t<ibm-overflow-menu-option>Option 1</ibm-overflow-menu-option>\\n\\t\\t\\t\\t\\t\\t\\t\\t<ibm-overflow-menu-option>Option 2</ibm-overflow-menu-option>\\n\\t\\t\\t\\t\\t\\t\\t</ibm-overflow-menu>\\n\\t\\t\\t\\t\\t\\t</ibm-product-switcher-list-item>\\n\\t\\t\\t\\t\\t</ibm-product-switcher-list>\\n\\t\\t\\t\\t\\t<ibm-product-switcher-item>\\n\\t\\t\\t\\t\\t\\t<button class=\\\"bx--product-switcher__all-btn\\\">View all products</button>\\n\\t\\t\\t\\t\\t</ibm-product-switcher-item>\\n\\t\\t\\t\\t</ibm-product-switcher>\\n\\t\\t\\t</ibm-panel>\\n\\t\\t\\t<ibm-panel [expanded]=\\\"secondAction.active\\\"></ibm-panel>\\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 .add('Header Documentation', () => ({\\n template: `\\n\\t\\t\\t<ibm-documentation src=\\\"documentation/components/Header.html\\\"></ibm-documentation>\\n\\t\\t`,\\n }))\\n .add('Side Nav Documentation', () => ({\\n template: `\\n\\t\\t\\t<ibm-documentation src=\\\"documentation/components/SideNav.html\\\"></ibm-documentation>\\n\\t\\t`,\\n }));\\n\";\n export var __ADDS_MAP__ = {\"ui-shell--side-nav-documentation\":{\"startLoc\":{\"col\":7,\"line\":278},\"endLoc\":{\"col\":4,\"line\":282}},\"ui-shell--header-documentation\":{\"startLoc\":{\"col\":7,\"line\":273},\"endLoc\":{\"col\":4,\"line\":277}},\"ui-shell--together\":{\"startLoc\":{\"col\":7,\"line\":133},\"endLoc\":{\"col\":4,\"line\":272}},\"ui-shell--side-navigation\":{\"startLoc\":{\"col\":7,\"line\":62},\"endLoc\":{\"col\":4,\"line\":132}},\"ui-shell--header\":{\"startLoc\":{\"col\":7,\"line\":17},\"endLoc\":{\"col\":4,\"line\":61}}};\n \n import { action } from \"@storybook/addon-actions\";\nimport { storiesOf, moduleMetadata } from \"@storybook/angular\";\nimport { withKnobs, boolean } from \"@storybook/addon-knobs/angular\";\n\nimport { UIShellModule } from \"./ui-shell.module\";\nimport { SearchModule } from \"./../search/search.module\";\nimport { DialogModule } from \"./../dialog/dialog.module\";\nimport { DocumentationModule } from \"./../documentation-component/documentation.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\tSearchModule,\n\t\t\t\tDialogModule,\n\t\t\t\tDocumentationModule\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\" (click)=\"expanded($event)\"></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 title=\"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 title=\"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\texpanded: action(\"Menu clicked\")\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 #firstAction title=\"action\">\n\t\t\t\t\t\t<svg class=\"bx--navigation-menu-panel-expand-icon\"\n\t\t\t\t\t\t\twidth=\"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 #secondAction title=\"action\">\n\t\t\t\t\t\t<svg\n\t\t\t\t\t\t\tclass=\"bx--navigation-menu-panel-expand-icon\"\n\t\t\t\t\t\t\twidth=\"20\"\n\t\t\t\t\t\t\theight=\"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\t<ibm-panel [expanded]=\"firstAction.active\">\n\t\t\t\t<ibm-product-switcher header=\"My Products\">\n\t\t\t\t\t<ibm-search size=\"sm\" theme=\"light\"></ibm-search>\n\t\t\t\t\t<ibm-product-switcher-list>\n\t\t\t\t\t\t<ibm-product-switcher-list-item>\n\t\t\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\t\t<path\n\t\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\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\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\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\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\t\t10zM16 2v2a12 12 0 0 1 0 24v2a14 14 0 0 0 0-28z\" />\n\t\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t\tOne\n\t\t\t\t\t\t\t<ibm-overflow-menu flip=\"true\">\n\t\t\t\t\t\t\t\t<ibm-overflow-menu-option>Option 1</ibm-overflow-menu-option>\n\t\t\t\t\t\t\t\t<ibm-overflow-menu-option>Option 2</ibm-overflow-menu-option>\n\t\t\t\t\t\t\t</ibm-overflow-menu>\n\t\t\t\t\t\t</ibm-product-switcher-list-item>\n\t\t\t\t\t</ibm-product-switcher-list>\n\t\t\t\t\t<ibm-product-switcher-item>\n\t\t\t\t\t\t<button class=\"bx--product-switcher__all-btn\">View all products</button>\n\t\t\t\t\t</ibm-product-switcher-item>\n\t\t\t\t</ibm-product-switcher>\n\t\t\t</ibm-panel>\n\t\t\t<ibm-panel [expanded]=\"secondAction.active\"></ibm-panel>\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\t.add(\"Header Documentation\", () => ({\n\t\ttemplate: `\n\t\t\t<ibm-documentation src=\"documentation/components/Header.html\"></ibm-documentation>\n\t\t`\n\t}))\n\t.add(\"Side Nav Documentation\", () => ({\n\t\ttemplate: `\n\t\t\t<ibm-documentation src=\"documentation/components/SideNav.html\"></ibm-documentation>\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":""}