carbon-components-angular 3.17.2 → 3.17.3

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 (72) hide show
  1. package/docs/documentation/components/Dropdown.html +10 -5
  2. package/docs/documentation/components/File.html +49 -6
  3. package/docs/documentation/components/FileUploader.html +39 -27
  4. package/docs/documentation/components/Header.html +428 -11
  5. package/docs/documentation/components/HeaderAction.html +6 -8
  6. package/docs/documentation/components/Notification.html +37 -5
  7. package/docs/documentation/components/Toast.html +77 -7
  8. package/docs/documentation/coverage.html +12 -12
  9. package/docs/documentation/interfaces/FileItem.html +66 -0
  10. package/docs/documentation/interfaces/NotificationContent.html +39 -0
  11. package/docs/documentation/interfaces/ToastContent.html +1 -0
  12. package/docs/documentation/js/menu-wc.js +1 -1
  13. package/docs/documentation/js/search/search_index.js +2 -2
  14. package/docs/documentation/modules/FileUploaderModule.html +3 -1
  15. package/docs/storybook/iframe.html +3 -3
  16. package/docs/storybook/{main.8bb53895aa13a93f113f.bundle.js → main.edce6b8dbd74b486e13b.bundle.js} +151 -58
  17. package/docs/storybook/main.edce6b8dbd74b486e13b.bundle.js.map +1 -0
  18. package/docs/storybook/{runtime~main.8bb53895aa13a93f113f.bundle.js → runtime~main.edce6b8dbd74b486e13b.bundle.js} +1 -1
  19. package/docs/storybook/{runtime~main.8bb53895aa13a93f113f.bundle.js.map → runtime~main.edce6b8dbd74b486e13b.bundle.js.map} +1 -1
  20. package/docs/storybook/{vendors~main.8bb53895aa13a93f113f.bundle.js → vendors~main.edce6b8dbd74b486e13b.bundle.js} +1 -1
  21. package/docs/storybook/{vendors~main.8bb53895aa13a93f113f.bundle.js.map → vendors~main.edce6b8dbd74b486e13b.bundle.js.map} +1 -1
  22. package/dropdown/dropdown.component.js +4 -0
  23. package/dropdown/dropdown.component.js.map +1 -1
  24. package/file-uploader/file-item.interface.d.ts +2 -0
  25. package/file-uploader/file-item.interface.js.map +1 -1
  26. package/file-uploader/file-uploader.component.js +3 -1
  27. package/file-uploader/file-uploader.component.js.map +1 -1
  28. package/file-uploader/file-uploader.component.metadata.json +1 -1
  29. package/file-uploader/file-uploader.component.ngfactory.js +9 -8
  30. package/file-uploader/file-uploader.component.ngfactory.js.map +1 -1
  31. package/file-uploader/file-uploader.module.js +3 -1
  32. package/file-uploader/file-uploader.module.js.map +1 -1
  33. package/file-uploader/file-uploader.module.metadata.json +1 -1
  34. package/file-uploader/file-uploader.module.ngfactory.js +2 -1
  35. package/file-uploader/file-uploader.module.ngfactory.js.map +1 -1
  36. package/file-uploader/file-uploader.module.ngsummary.json +1 -1
  37. package/file-uploader/file.component.d.ts +1 -0
  38. package/file-uploader/file.component.js +10 -2
  39. package/file-uploader/file.component.js.map +1 -1
  40. package/file-uploader/file.component.metadata.json +1 -1
  41. package/file-uploader/file.component.ngfactory.js +19 -16
  42. package/file-uploader/file.component.ngfactory.js.map +1 -1
  43. package/file-uploader/file.component.ngsummary.json +1 -1
  44. package/notification/notification-content.interface.d.ts +1 -0
  45. package/notification/notification-content.interface.js.map +1 -1
  46. package/notification/notification.component.d.ts +1 -0
  47. package/notification/notification.component.js +7 -1
  48. package/notification/notification.component.js.map +1 -1
  49. package/notification/notification.component.metadata.json +1 -1
  50. package/notification/notification.component.ngfactory.js +1 -1
  51. package/notification/notification.component.ngsummary.json +1 -1
  52. package/notification/toast.component.d.ts +1 -0
  53. package/notification/toast.component.js +7 -1
  54. package/notification/toast.component.js.map +1 -1
  55. package/notification/toast.component.metadata.json +1 -1
  56. package/notification/toast.component.ngfactory.js +1 -1
  57. package/notification/toast.component.ngsummary.json +1 -1
  58. package/package.json +1 -1
  59. package/ui-shell/header/header-action.component.js +1 -1
  60. package/ui-shell/header/header-action.component.js.map +1 -1
  61. package/ui-shell/header/header-action.component.metadata.json +1 -1
  62. package/ui-shell/header/header-action.component.ngfactory.js +5 -6
  63. package/ui-shell/header/header-action.component.ngfactory.js.map +1 -1
  64. package/ui-shell/header/header.component.d.ts +26 -1
  65. package/ui-shell/header/header.component.js +40 -5
  66. package/ui-shell/header/header.component.js.map +1 -1
  67. package/ui-shell/header/header.component.metadata.json +1 -1
  68. package/ui-shell/header/header.component.ngfactory.js +9 -3
  69. package/ui-shell/header/header.component.ngfactory.js.map +1 -1
  70. package/ui-shell/header/header.component.ngsummary.json +1 -1
  71. package/ui-shell/header/header.module.ngfactory.js.map +1 -1
  72. package/docs/storybook/main.8bb53895aa13a93f113f.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/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-change.class.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/body/table-body.component.ts","webpack:///./src/table/body/table-expanded-row.component.ts","webpack:///./src/table/body/table-row.component.ts","webpack:///./src/table/cell/table-checkbox.component.ts","webpack:///./src/table/cell/table-data.component.ts","webpack:///./src/table/cell/table-expand-button.component.ts","webpack:///./src/table/data-grid-focus.directive.ts","webpack:///./src/table/data-grid-interaction-model.class.ts","webpack:///./src/table/expanded-row-hover.directive.ts","webpack:///./src/table/head/table-head-cell.component.ts","webpack:///./src/table/head/table-head-checkbox.component.ts","webpack:///./src/table/head/table-head-expand.component.ts","webpack:///./src/table/head/table-head.component.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/stories/app-custom-table.component.ts","webpack:///./src/table/stories/app-expansion-table.component.ts","webpack:///./src/table/stories/app-no-data.component.ts","webpack:///./src/table/stories/app-overflow-table.component.ts","webpack:///./src/table/stories/app-pagination-table.component.ts","webpack:///./src/table/stories/app-skeleton-table.component.ts","webpack:///./src/table/stories/app-table.component.ts","webpack:///./src/table/stories/index.ts","webpack:///./src/table/table-adapter.class.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.directive.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.component.ts","webpack:///./src/ui-shell/panel/switcher-list-item.component.ts","webpack:///./src/ui-shell/panel/switcher-list.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/scroll.ts","webpack:///./src/utils/utils.ts","webpack:///./util.inspect (ignored)"],"names":["addDecorator","withOptions","name","url","require","req","loadStories","keys","sort","path1","path2","split","slice","forEach","filename","includes","configure","module"],"mappings":"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AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;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","file":"main.8bb53895aa13a93f113f.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@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\n\t\tclass=\"bx--link\"\n\t\thref=\"{{skeleton ? '/#' : href}}\"\n\t\t[attr.aria-current]=\"(current ? ariaCurrent : null)\"\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@Input() ariaCurrent = \"page\";\n\n\t@HostBinding(\"class.bx--breadcrumb-item--current\") @Input() current = 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@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[current]=\"item.current\"\n\t\t\t\t[ariaCurrent]=\"item.ariaCurrent\">\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\n\t\t\t\t[href]=\"first?.href\"\n\t\t\t\t[current]=\"first?.current\"\n\t\t\t\t[ariaCurrent]=\"first?.ariaCurrent\">\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\n\t\t\t\t[href]=\"secondLast?.href\"\n\t\t\t\t[current]=\"secondLast?.current\"\n\t\t\t\t[ariaCurrent]=\"secondLast?.ariaCurrent\">\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\n\t\t\t\t[href]=\"last?.href\"\n\t\t\t\t[current]=\"last?.current\"\n\t\t\t\t[ariaCurrent]=\"last?.ariaCurrent\">\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</ibm-breadcrumb>`,\\n props: {\\n noTrailingSlash: boolean('noTrailingSlash', true),\\n },\\n }))\\n .add('Current page', () => ({\\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 current=\\\"true\\\" href=\\\"#3\\\">\\n\\t\\t\\tBreadcrumb 3\\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\":114},\"endLoc\":{\"col\":4,\"line\":118}},\"breadcrumb--skeleton\":{\"startLoc\":{\"col\":7,\"line\":102},\"endLoc\":{\"col\":4,\"line\":113}},\"breadcrumb--model-with-templates\":{\"startLoc\":{\"col\":7,\"line\":81},\"endLoc\":{\"col\":4,\"line\":101}},\"breadcrumb--model\":{\"startLoc\":{\"col\":7,\"line\":66},\"endLoc\":{\"col\":4,\"line\":80}},\"breadcrumb--current-page\":{\"startLoc\":{\"col\":7,\"line\":49},\"endLoc\":{\"col\":4,\"line\":65}},\"breadcrumb--basic\":{\"startLoc\":{\"col\":7,\"line\":32},\"endLoc\":{\"col\":4,\"line\":48}}};\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</ibm-breadcrumb>`,\n\tprops: {\n\t\tnoTrailingSlash: boolean(\"noTrailingSlash\", true)\n\t}\n}))\n.add(\"Current page\", () => ({\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 current=\"true\" href=\"#3\">\n\t\t\tBreadcrumb 3\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} 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 {\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\") get primaryButton() {\n\t\treturn this.ibmButton === \"primary\";\n\t}\n\t@HostBinding(\"class.bx--btn--secondary\") get secondaryButton() {\n\t\treturn this.ibmButton === \"secondary\";\n\t}\n\t@HostBinding(\"class.bx--btn--tertiary\") get tertiaryButton() {\n\t\treturn this.ibmButton === \"tertiary\";\n\t}\n\t@HostBinding(\"class.bx--btn--ghost\") get ghostButton() {\n\t\treturn this.ibmButton === \"ghost\";\n\t}\n\t@HostBinding(\"class.bx--btn--danger\") get dangerButton() {\n\t\treturn this.ibmButton === \"danger\";\n\t}\n\t@HostBinding(\"class.bx--btn--danger--primary\") get dangerPrimaryButton() {\n\t\treturn this.ibmButton === \"danger--primary\";\n\t}\n\t@HostBinding(\"class.bx--skeleton\") @Input() skeleton = false;\n\t@HostBinding(\"class.bx--btn--sm\") get smallSize() {\n\t\treturn this.size === \"sm\";\n\t}\n\t@HostBinding(\"class.bx--toolbar-action\") toolbarAction = false;\n\t@HostBinding(\"class.bx--overflow-menu\") overflowMenu = false;\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 */\nexport enum CheckboxState {\n\tInit,\n\tIndeterminate,\n\tChecked,\n\tUnchecked\n}\n\n/**\n * Used to emit changes performed on checkbox components.\n */\nexport class CheckboxChange {\n\t/**\n\t * Contains the `Checkbox` that has been changed.\n\t */\n\tsource: Checkbox;\n\t/**\n\t * The state of the `Checkbox` encompassed in the `CheckboxChange` class.\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@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 */\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 */\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 */\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 */\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 */\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 */\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 */\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 */\n\tonTouched: () => any = () => {};\n\n\t/**\n\t * Handles changes between checkbox states.\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 */\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 */\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 */\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 };\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@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 */\n\tstatic codeSnippetCount = 0;\n\n\t/**\n\t * It can be `\"single\"`, `\"multi\"` or `\"inline\"`\n\t *\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 */\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 */\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 */\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 */\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 */\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@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@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\tif (this.disabled) { return; }\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 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 (this.type === \"multi\" ) {\n\t\t\tthis.updatePills();\n\t\t} else if (selected) {\n\t\t\tthis.selectedValue = selected[0].content;\n\t\t\tthis.propagateChangeCallback(selected[0]);\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, text, boolean } from '@storybook/addon-knobs/angular';\\n\\nimport { ComboBoxModule } from './combobox.module';\\nimport { DocumentationModule } from './../documentation-component/documentation.module';\\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[disabled]=\\\"disabled\\\"\\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 disabled: boolean('disabled', false),\\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\":78},\"endLoc\":{\"col\":4,\"line\":82}},\"combobox--multi-select\":{\"startLoc\":{\"col\":7,\"line\":47},\"endLoc\":{\"col\":4,\"line\":77}},\"combobox--basic\":{\"startLoc\":{\"col\":7,\"line\":15},\"endLoc\":{\"col\":4,\"line\":46}}};\n \n import { storiesOf, moduleMetadata } from \"@storybook/angular\";\nimport { action } from \"@storybook/addon-actions\";\nimport { withKnobs, text, boolean } from \"@storybook/addon-knobs/angular\";\n\nimport { ComboBoxModule } from \"./combobox.module\";\nimport { DocumentationModule } from \"./../documentation-component/documentation.module\";\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[disabled]=\"disabled\"\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\tdisabled: boolean(\"disabled\", false),\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","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\tthis.selected.emit(true);\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@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\tOnChanges,\n\tSimpleChanges,\n\tAfterViewChecked\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@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, OnChanges, AfterViewChecked {\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 = null;\n\n\tconstructor(protected elementRef: ElementRef) { }\n\n\tngOnChanges(changes: SimpleChanges) {\n\t\tif (this.isFlatpickrLoaded()) {\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\t// because the actual view may be delayed in loading (think projection into a tab pane)\n\t// and because we rely on a library that operates outside the Angular view of the world\n\t// we need to keep trying to load the library, until the relevant DOM is actually live\n\tngAfterViewChecked() {\n\t\tif (!this.isFlatpickrLoaded()) {\n\t\t\tthis.flatpickrInstance = flatpickr(`#${this.id}`, this.flatpickrOptions);\n\n\t\t\t// if (and only if) the initialization succeeded, we can set the date values\n\t\t\tif (this.isFlatpickrLoaded()) {\n\t\t\t\tif (this.value.length > 0) {\n\t\t\t\t\tthis.setDateValues(this.value);\n\t\t\t\t}\n\t\t\t}\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 received 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.isFlatpickrLoaded()) { 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.isFlatpickrLoaded()) {\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.isFlatpickrLoaded()) {\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.isFlatpickrLoaded()) {\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\t/**\n\t * More advanced checking of the loaded state of flatpickr\n\t */\n\tprotected isFlatpickrLoaded() {\n\t\t// cast the instance to a boolean, and some method that has to exist for the library to be loaded in this case `setDate`\n\t\treturn !!this.flatpickrInstance && !!this.flatpickrInstance.setDate;\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';\\nimport { TabsModule } from '../tabs/tabs.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 TabsModule,\\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('In tabs', () => ({\\n template: `\\n\\t\\t\\t<ibm-tabs>\\n\\t\\t\\t\\t<ibm-tab heading=\\\"one\\\">\\n\\t\\t\\t\\t\\tTab Content 1\\n\\t\\t\\t\\t\\t<p>With initial value</p>\\n\\t\\t\\t\\t\\t<ibm-date-picker\\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[theme]=\\\"theme\\\"\\n\\t\\t\\t\\t\\t\\t[value]=\\\"value\\\"\\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[dateFormat]=\\\"dateFormat\\\"\\n\\t\\t\\t\\t\\t\\t(valueChange)=\\\"valueChange($event)\\\">\\n\\t\\t\\t\\t\\t</ibm-date-picker>\\n\\t\\t\\t\\t\\t<p style=\\\"margin-top: 20px;\\\">Without initial value</p>\\n\\t\\t\\t\\t\\t<ibm-date-picker\\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[theme]=\\\"theme\\\"\\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[dateFormat]=\\\"dateFormat\\\"\\n\\t\\t\\t\\t\\t\\t(valueChange)=\\\"valueChange($event)\\\">\\n\\t\\t\\t\\t\\t</ibm-date-picker>\\n\\t\\t\\t\\t</ibm-tab>\\n\\t\\t\\t\\t<ibm-tab heading=\\\"two\\\">\\n\\t\\t\\t\\t\\t<p>With initial value</p>\\n\\t\\t\\t\\t\\t<ibm-date-picker\\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[theme]=\\\"theme\\\"\\n\\t\\t\\t\\t\\t\\t[value]=\\\"value\\\"\\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[dateFormat]=\\\"dateFormat\\\"\\n\\t\\t\\t\\t\\t\\t(valueChange)=\\\"valueChange($event)\\\">\\n\\t\\t\\t\\t\\t</ibm-date-picker>\\n\\t\\t\\t\\t\\t<p style=\\\"margin-top: 20px;\\\">Without initial value</p>\\n\\t\\t\\t\\t\\t<ibm-date-picker\\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[theme]=\\\"theme\\\"\\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[dateFormat]=\\\"dateFormat\\\"\\n\\t\\t\\t\\t\\t\\t(valueChange)=\\\"valueChange($event)\\\">\\n\\t\\t\\t\\t\\t</ibm-date-picker>\\n\\t\\t\\t\\t</ibm-tab>\\n\\t\\t\\t\\t<ibm-tab heading=\\\"three\\\">Tab Content 3</ibm-tab>\\n\\t\\t\\t</ibm-tabs>\\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('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\":329},\"endLoc\":{\"col\":4,\"line\":333}},\"date-picker--skeleton\":{\"startLoc\":{\"col\":7,\"line\":321},\"endLoc\":{\"col\":4,\"line\":328}},\"date-picker--in-tabs\":{\"startLoc\":{\"col\":7,\"line\":252},\"endLoc\":{\"col\":4,\"line\":320}},\"date-picker--with-ngmodel\":{\"startLoc\":{\"col\":7,\"line\":199},\"endLoc\":{\"col\":4,\"line\":251}},\"date-picker--with-reactive-forms\":{\"startLoc\":{\"col\":7,\"line\":189},\"endLoc\":{\"col\":4,\"line\":198}},\"date-picker--range\":{\"startLoc\":{\"col\":7,\"line\":147},\"endLoc\":{\"col\":4,\"line\":188}},\"date-picker--single\":{\"startLoc\":{\"col\":7,\"line\":109},\"endLoc\":{\"col\":4,\"line\":146}},\"date-picker--simple\":{\"startLoc\":{\"col\":7,\"line\":87},\"endLoc\":{\"col\":4,\"line\":108}}};\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\";\nimport { TabsModule } from \"../tabs/tabs.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\tTabsModule\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(\"In tabs\", () => ({\n\t\ttemplate: `\n\t\t\t<ibm-tabs>\n\t\t\t\t<ibm-tab heading=\"one\">\n\t\t\t\t\tTab Content 1\n\t\t\t\t\t<p>With initial value</p>\n\t\t\t\t\t<ibm-date-picker\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[theme]=\"theme\"\n\t\t\t\t\t\t[value]=\"value\"\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[dateFormat]=\"dateFormat\"\n\t\t\t\t\t\t(valueChange)=\"valueChange($event)\">\n\t\t\t\t\t</ibm-date-picker>\n\t\t\t\t\t<p style=\"margin-top: 20px;\">Without initial value</p>\n\t\t\t\t\t<ibm-date-picker\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[theme]=\"theme\"\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[dateFormat]=\"dateFormat\"\n\t\t\t\t\t\t(valueChange)=\"valueChange($event)\">\n\t\t\t\t\t</ibm-date-picker>\n\t\t\t\t</ibm-tab>\n\t\t\t\t<ibm-tab heading=\"two\">\n\t\t\t\t\t<p>With initial value</p>\n\t\t\t\t\t<ibm-date-picker\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[theme]=\"theme\"\n\t\t\t\t\t\t[value]=\"value\"\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[dateFormat]=\"dateFormat\"\n\t\t\t\t\t\t(valueChange)=\"valueChange($event)\">\n\t\t\t\t\t</ibm-date-picker>\n\t\t\t\t\t<p style=\"margin-top: 20px;\">Without initial value</p>\n\t\t\t\t\t<ibm-date-picker\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[theme]=\"theme\"\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[dateFormat]=\"dateFormat\"\n\t\t\t\t\t\t(valueChange)=\"valueChange($event)\">\n\t\t\t\t\t</ibm-date-picker>\n\t\t\t\t</ibm-tab>\n\t\t\t\t<ibm-tab heading=\"three\">Tab Content 3</ibm-tab>\n\t\t\t</ibm-tabs>\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(\"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, map } 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\";\nimport { scrollableParentsObservable, isVisibleInContainer } from \"./../utils/scroll\";\n\n/**\n * Implements a `Dialog` that can be positioned anywhere on the page.\n * Used to implement a popover or tooltip.\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\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\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 parentElement = this.dialogConfig.parentRef.nativeElement;\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// subscribe to the observable, and update the position and visibility\n\t\t\t\tconst scrollObservable = scrollableParentsObservable(parentElement);\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 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 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\n\t * @param viewContainerRef\n\t * @param 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\tshouldClose: () => true,\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\";\nimport { Dialog } from \"./dialog.component\";\n\n/**\n * `Dialog` object to be injected into other components.\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 * A set of all known dialog components\n\t */\n\tprotected static dialogRefs = new Set<ComponentRef<Dialog>>();\n\n\t/**\n\t * A `Subscription` that contains all `onClose` subscriptions\n\t */\n\tprotected static dialogCloseSubscription = new Subscription();\n\n\t/**\n\t * Reflects the open or closed state of the `Dialog`.\n\t *\n\t * @deprecated the open state of the dialog should be tracked by the component that creates it\n\t */\n\tpublic isOpen = false;\n\t/**\n\t * To be used to create the component using metadata.\n\t *\n\t * @deprecated\n\t */\n\tpublic componentFactory: ComponentFactory<any>;\n\t/**\n\t * To emit the `Dialog` closing event.\n\t */\n\tpublic onClose: EventEmitter<any> = new EventEmitter();\n\t/**\n\t * Holds reference to the created `Dialog` component after creation.\n\t *\n\t * @deprecated components should track local `dialogRefs` themselves\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 *\n\t * @deprecated components should simply bind to the dialogRefs `close` emitter\n\t */\n\tisClosed: EventEmitter<any> = new EventEmitter();\n\n\t/**\n\t * To watch the event that closes the `Dialog`.\n\t *\n\t * @deprecated in favor of `DialogService.dialogCloseSubscription`\n\t */\n\tprotected dialogSubscription: Subscription;\n\n\t/**\n\t * Creates an instance of `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 *\n\t * Useful for components that extend `Dialog` and don't want to re-implement `open`\n\t *\n\t * @deprecated TODO: a better way for individual instances to hook into `DialogService#open`\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 *\n\t * @deprecated components should implement their own `toggle` with the `close` and `open` methods\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 *\n\t * @param viewContainer a `ViewContainerRef` to instantiate the component against.\n\t * May be `null` if an `ibm-placeholder` exists and `dialogConfig.appendInline` is false\n\t * @param dialogConfig the `DialogConfig` for the component\n\t */\n\topen(viewContainer: ViewContainerRef, dialogConfig: DialogConfig, component?: any) {\n\t\tlet componentFactory = this.componentFactory;\n\t\tif (component) {\n\t\t\tcomponentFactory = this.componentFactoryResolver.resolveComponentFactory(component);\n\t\t}\n\n\t\tlet dialogRef;\n\t\tif (dialogConfig.appendInline) {\n\t\t\t// add our component to the view\n\t\t\tdialogRef = viewContainer.createComponent(componentFactory, 0, this.injector);\n\t\t} else if (!this.placeholderService.hasPlaceholderRef()) {\n\t\t\tdialogRef = viewContainer.createComponent(componentFactory, 0, this.injector);\n\t\t\tsetTimeout(() => {\n\t\t\t\twindow.document.querySelector(\"body\").appendChild(this.dialogRef.location.nativeElement);\n\t\t\t});\n\t\t} else {\n\t\t\tdialogRef = this.placeholderService.createComponent(componentFactory, this.injector);\n\t\t}\n\n\t\t// keep track of all initialized dialogs\n\t\tDialogService.dialogRefs.add(dialogRef);\n\n\t\t// initialize some extra options\n\t\tdialogConfig[\"previouslyFocusedElement\"] = document.activeElement;\n\t\tdialogRef.instance.dialogConfig = dialogConfig;\n\t\tthis.onClose = dialogRef.instance.close;\n\t\tthis.isOpen = true;\n\n\t\tconst closeSubscription = this.onClose.subscribe(() => {\n\t\t\tif (dialogConfig.shouldClose && dialogConfig.shouldClose()) {\n\t\t\t\tthis.close(viewContainer, dialogRef);\n\t\t\t}\n\t\t});\n\n\t\t// keep track of all dialog subscriptions\n\t\tDialogService.dialogCloseSubscription.add(closeSubscription);\n\n\t\tdialogRef.instance.elementRef.nativeElement.focus();\n\n\t\t// deprecated - kept for API compatibility\n\t\tthis.dialogRef = dialogRef;\n\n\t\t// deprecated - kept for API compatibility\n\t\tthis.dialogSubscription = closeSubscription;\n\n\t\t// return `this` for easy method chaining\n\t\t// TODO v11: return `dialogRef` instead\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 *\n\t * @param viewContainer deprecated - does nothing. null may safely be passed\n\t * @param dialogRef the dialogRef to close\n\t */\n\tclose(viewContainer: ViewContainerRef, dialogRef: ComponentRef<Dialog> = this.dialogRef) {\n\t\tthis.isClosed.emit(true);\n\n\t\t// to handle the case where we have a null `this.dialogRef`\n\t\tif (!dialogRef) { return; }\n\n\t\tconst elementToFocus = dialogRef.instance.dialogConfig[\"previouslyFocusedElement\"];\n\n\t\tdialogRef.destroy();\n\n\t\tif (DialogService.dialogRefs.has(dialogRef)) {\n\t\t\tDialogService.dialogRefs.delete(dialogRef);\n\t\t}\n\n\t\tthis.dialogRef = null;\n\t\tthis.isOpen = false;\n\t\telementToFocus.focus();\n\n\t\tif (this.dialogSubscription) {\n\t\t\tthis.dialogSubscription.unsubscribe();\n\t\t}\n\t}\n\n\t/**\n\t * Closes all known `Dialog`s. Does not focus any previous elements, since we can't know which would be correct\n\t */\n\tcloseAll() {\n\t\tDialogService.dialogRefs.forEach(ref => ref.destroy());\n\t\tDialogService.dialogRefs.clear();\n\t\tDialogService.dialogCloseSubscription.unsubscribe();\n\t\tthis.isClosed.emit(true);\n\n\t\t// kept for API compat\n\t\tthis.dialogRef = null;\n\t\tthis.isOpen = false;\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)=\"onFocus()\"\n\t\t\t(blur)=\"onBlur()\"\n\t\t\t(click)=\"onClick()\"\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)=\"onFocus()\"\n\t\t\t(blur)=\"onBlur()\"\n\t\t\t(click)=\"onClick()\"\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() {\n\t\tthis.selected.emit();\n\t}\n\n\tonFocus() {\n\t\tsetTimeout(() => this.tabIndex = 0);\n\t}\n\n\tonBlur() {\n\t\tsetTimeout(() => this.tabIndex = -1);\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@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@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\tElementRef\n} from \"@angular/core\";\nimport { getFocusElementList } from \"./../../common/tab.service\";\n\nimport { Dialog } from \"./../dialog.component\";\nimport { position } from \"@carbon/utils-position\";\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\t[attr.data-floating-menu-direction]=\"placement\"\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\n\tconstructor(protected elementRef: ElementRef) {\n\t\tsuper(elementRef);\n\t}\n\n\t/**\n\t * Check whether there is a template for the `Tooltip` content.\n\t */\n\tonDialogInit() {\n\t\tthis.addGap[\"bottom\"] = pos => {\n\t\t\treturn position.addOffset(pos, 3, 0);\n\t\t};\n\t\tthis.addGap[\"top\"] = pos => {\n\t\t\treturn position.addOffset(pos, -10, 0);\n\t\t};\n\t\tthis.addGap[\"left\"] = pos => {\n\t\t\treturn position.addOffset(pos, -3, -6);\n\t\t};\n\t\tthis.addGap[\"right\"] = pos => {\n\t\t\treturn position.addOffset(pos, -3, 6);\n\t\t};\n\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@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, ControlValueAccessor } from \"@angular/forms\";\n\n// Observable import is required here so typescript can compile correctly\nimport {\n\tObservable,\n\tfromEvent,\n\tof,\n\tSubscription,\n\tmerge\n} 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\";\nimport { scrollableParentsObservable, isVisibleInContainer } from \"./../utils/scroll\";\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@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, ControlValueAccessor {\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.warn(\"`appendToBody` has been deprecated. Dropdowns now append to the body by default.\");\n\t\tconsole.warn(\"Ensure you have an `ibm-placeholder` in your app.\");\n\t\tconsole.warn(\"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// primarily used to capture and propagate input to `writeValue` before the content is available\n\tprotected writtenValue = [];\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.writeValue(this.writtenValue);\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\t// only emit selected for \"organic\" selections\n\t\t\tif (event && !event.isUpdate) {\n\t\t\t\tthis.selected.emit(event);\n\t\t\t}\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// cache the written value so we can use it in `AfterContentInit`\n\t\tthis.writtenValue = value;\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 via the `items` Input\n\t\t\t\tlet newValues = [];\n\t\t\t\tfor (const v of value) {\n\t\t\t\t\tfor (const item of this.view.getListItems()) {\n\t\t\t\t\t\tif (item[this.value] === v) {\n\t\t\t\t\t\t\tnewValues.push(Object.assign({}, item, { 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\t/**\n\t * function passed in by `registerOnChange`\n\t */\n\tpropagateChange = (_: any) => {};\n\n\t/**\n\t * `ControlValueAccessor` method to programatically disable the dropdown.\n\t *\n\t * ex: `this.formGroup.get(\"myDropdown\").disable();`\n\t *\n\t * @param isDisabled `true` to disable the input\n\t */\n\tsetDisabledState(isDisabled: boolean) {\n\t\tthis.disabled = isDisabled;\n\t}\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\tif (this.disabled) { return; }\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\tlet scrollObservable = scrollableParentsObservable(this.elementRef.nativeElement);\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\tscrollObservable = merge(scrollObservable, fromEvent(container, \"scroll\"));\n\t\t\t}\n\t\t}\n\t\tthis.scroll = scrollObservable.subscribe(event => {\n\t\t\tif (isVisibleInContainer(this.elementRef.nativeElement, event.target as HTMLElement)) {\n\t\t\t\tthis.dropdownService.updatePosition(this.dropdownButton.nativeElement);\n\t\t\t} else {\n\t\t\t\tthis.closeMenu();\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\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 { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\\nimport { ReactiveFormsModule, FormBuilder, FormGroup, FormControl } from '@angular/forms';\\n\\nimport { 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\\nconst getProps = (overrides = {}) =>\\n Object.assign(\\n {},\\n {\\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 overrides\\n );\\n\\n@Component({\\n selector: 'app-reactive-forms',\\n template: `\\n <form [formGroup]=\\\"formGroup\\\">\\n <div style=\\\"text-align:center\\\">\\n <ibm-dropdown\\n [label]=\\\"label\\\"\\n [helperText]=\\\"helperText\\\"\\n [theme]=\\\"theme\\\"\\n type=\\\"multi\\\"\\n placeholder=\\\"Multi-select\\\"\\n value=\\\"oid\\\"\\n (selected)=\\\"selected.emit($event)\\\"\\n (onClose)=\\\"onClose.emit($event)\\\"\\n formControlName=\\\"roles\\\"\\n >\\n <ibm-dropdown-list [items]=\\\"items\\\"></ibm-dropdown-list>\\n </ibm-dropdown>\\n </div>\\n </form>\\n\\n <br />\\n\\n <code>{{ formGroup.get('roles').value | json }}</code>\\n `,\\n})\\nclass ReactiveFormsStory implements OnInit {\\n public formGroup: FormGroup;\\n\\n @Input() items = [];\\n @Input() label = '';\\n @Input() helperText = '';\\n @Input() set disabled(value) {\\n if (!this.formGroup) {\\n return;\\n }\\n if (value) {\\n this.formGroup.get('roles').disable();\\n } else {\\n this.formGroup.get('roles').enable();\\n }\\n }\\n @Output() selected = new EventEmitter();\\n @Output() onClose = new EventEmitter();\\n\\n constructor(protected formBuilder: FormBuilder) {}\\n\\n ngOnInit() {\\n this.formGroup = this.formBuilder.group({\\n roles: new FormControl(),\\n });\\n this.selectRoles();\\n }\\n\\n private selectRoles() {\\n this.formGroup.get('roles').setValue([1, 2]);\\n }\\n}\\n\\nstoriesOf('Dropdown', module)\\n .addDecorator(\\n moduleMetadata({\\n declarations: [ReactiveFormsStory],\\n imports: [DropdownModule, PlaceholderModule, DocumentationModule, ReactiveFormsModule],\\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: getProps(),\\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: getProps({\\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=\\\"id\\\">\\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: getProps({\\n items: object('items', [\\n { content: 'one', id: 0 },\\n { content: 'two', id: 1 },\\n { content: 'three', id: 2 },\\n { content: 'four', id: 3 },\\n ]),\\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: getProps({\\n model: null,\\n }),\\n }))\\n .add('Width reactive forms', () => ({\\n template: `\\n\\t\\t\\t<app-reactive-forms\\n\\t\\t\\t\\t[label]=\\\"label\\\"\\n\\t\\t\\t\\t[helperText]=\\\"helperText\\\"\\n\\t\\t\\t\\t[disabled]=\\\"disabled\\\"\\n\\t\\t\\t\\t[items]=\\\"items\\\"\\n\\t\\t\\t\\t(selected)=\\\"selected($event)\\\"\\n\\t\\t\\t\\t(onClose)=\\\"onClose($event)\\\">\\n\\t\\t\\t</app-reactive-forms>\\n\\t\\t`,\\n props: getProps({\\n items: [\\n { content: 'role 1', oid: 1, selected: false },\\n { content: 'role 2', oid: 2, selected: false },\\n { content: 'role 3', oid: 3, selected: false },\\n ],\\n selected: action('Selected fired for multi-select dropdown'),\\n onClose: action('Multi-select dropdown closed'),\\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: getProps({\\n items: of([\\n { content: 'one' },\\n { content: 'two' },\\n { content: 'three' },\\n { content: 'four' },\\n ]),\\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: getProps(),\\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: getProps(),\\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\":266},\"endLoc\":{\"col\":4,\"line\":270}},\"dropdown--skeleton\":{\"startLoc\":{\"col\":7,\"line\":252},\"endLoc\":{\"col\":4,\"line\":265}},\"dropdown--with-template\":{\"startLoc\":{\"col\":7,\"line\":227},\"endLoc\":{\"col\":4,\"line\":251}},\"dropdown--with-observable-items\":{\"startLoc\":{\"col\":7,\"line\":203},\"endLoc\":{\"col\":4,\"line\":226}},\"dropdown--width-reactive-forms\":{\"startLoc\":{\"col\":7,\"line\":182},\"endLoc\":{\"col\":4,\"line\":202}},\"dropdown--with-ngmodel\":{\"startLoc\":{\"col\":7,\"line\":163},\"endLoc\":{\"col\":4,\"line\":181}},\"dropdown--multi-select-with-ngmodel\":{\"startLoc\":{\"col\":7,\"line\":137},\"endLoc\":{\"col\":4,\"line\":162}},\"dropdown--multi-select\":{\"startLoc\":{\"col\":7,\"line\":117},\"endLoc\":{\"col\":4,\"line\":136}},\"dropdown--basic\":{\"startLoc\":{\"col\":7,\"line\":99},\"endLoc\":{\"col\":4,\"line\":116}}};\n \n import {\n\tComponent,\n\tOnInit,\n\tInput,\n\tOutput,\n\tEventEmitter\n} from \"@angular/core\";\nimport {\n\tReactiveFormsModule,\n\tFormBuilder,\n\tFormGroup,\n\tFormControl\n} from \"@angular/forms\";\n\nimport { storiesOf, moduleMetadata } from \"@storybook/angular\";\nimport { action } from \"@storybook/addon-actions\";\nimport {\n\twithKnobs,\n\tselect,\n\tboolean,\n\tobject,\n\ttext\n} from \"@storybook/addon-knobs/angular\";\n\nimport { DropdownModule, DocumentationModule } from \"../\";\nimport { of } from \"rxjs\";\nimport { PlaceholderModule } from \"../placeholder/placeholder.module\";\n\nconst getProps = (overrides = {}) => Object.assign({}, {\n\tdisabled: boolean(\"disabled\", false),\n\tlabel: text(\"Label\", \"Dropdown label\"),\n\thelperText: text(\"Helper text\", \"Optional helper text.\"),\n\titems: object(\"items\", [\n\t\t{ content: \"one\" },\n\t\t{ content: \"two\" },\n\t\t{ content: \"three\" },\n\t\t{ content: \"four\" }\n\t]),\n\tselected: action(\"Selected fired for dropdown\"),\n\tonClose: action(\"Dropdown closed\"),\n\ttheme: select(\"theme\", [\"dark\", \"light\"], \"dark\")\n}, overrides);\n\n@Component({\n\tselector: \"app-reactive-forms\",\n\ttemplate: `\n\t\t<form [formGroup]=\"formGroup\">\n\t\t\t<div style=\"text-align:center\">\n\t\t\t\t<ibm-dropdown\n\t\t\t\t\t[label]=\"label\"\n\t\t\t\t\t[helperText]=\"helperText\"\n\t\t\t\t\t[theme]=\"theme\"\n\t\t\t\t\ttype=\"multi\"\n\t\t\t\t\tplaceholder=\"Multi-select\"\n\t\t\t\t\tvalue=\"oid\"\n\t\t\t\t\t(selected)=\"selected.emit($event)\"\n\t\t\t\t\t(onClose)=\"onClose.emit($event)\"\n\t\t\t\t\tformControlName=\"roles\">\n\t\t\t\t\t<ibm-dropdown-list [items]=\"items\"></ibm-dropdown-list>\n\t\t\t\t</ibm-dropdown>\n\t\t\t</div>\n\t\t</form>\n\n\t\t<br>\n\n\t\t<code>{{ formGroup.get(\"roles\").value | json }}</code>\n\t`\n})\nclass ReactiveFormsStory implements OnInit {\n\tpublic formGroup: FormGroup;\n\n\t@Input() items = [];\n\t@Input() label = \"\";\n\t@Input() helperText = \"\";\n\t@Input() set disabled(value) {\n\t\tif (!this.formGroup) { return; }\n\t\tif (value) {\n\t\t\tthis.formGroup.get(\"roles\").disable();\n\t\t} else {\n\t\t\tthis.formGroup.get(\"roles\").enable();\n\t\t}\n\t}\n\t@Output() selected = new EventEmitter();\n\t@Output() onClose = new EventEmitter();\n\n\tconstructor(protected formBuilder: FormBuilder) {}\n\n\tngOnInit() {\n\t\tthis.formGroup = this.formBuilder.group({\n\t\t\troles: new FormControl()\n\t\t});\n\t\tthis.selectRoles();\n\t}\n\n\tprivate selectRoles() {\n\t\tthis.formGroup.get(\"roles\").setValue([1, 2]);\n\t}\n}\n\nstoriesOf(\"Dropdown\", module).addDecorator(withStorySource(__STORY__, __ADDS_MAP__))\n\t.addDecorator(\n\t\tmoduleMetadata({\n\t\t\tdeclarations: [ ReactiveFormsStory ],\n\t\t\timports: [\n\t\t\t\tDropdownModule,\n\t\t\t\tPlaceholderModule,\n\t\t\t\tDocumentationModule,\n\t\t\t\tReactiveFormsModule\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: getProps()\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: getProps({\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=\"id\">\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: getProps({\n\t\t\titems: object(\"items\", [\n\t\t\t\t{ content: \"one\", id: 0 },\n\t\t\t\t{ content: \"two\", id: 1 },\n\t\t\t\t{ content: \"three\", id: 2 },\n\t\t\t\t{ content: \"four\", id: 3 }\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: getProps({\n\t\t\tmodel: null\n\t\t})\n\t}))\n\t.add(\"Width reactive forms\", () => ({\n\t\ttemplate: `\n\t\t\t<app-reactive-forms\n\t\t\t\t[label]=\"label\"\n\t\t\t\t[helperText]=\"helperText\"\n\t\t\t\t[disabled]=\"disabled\"\n\t\t\t\t[items]=\"items\"\n\t\t\t\t(selected)=\"selected($event)\"\n\t\t\t\t(onClose)=\"onClose($event)\">\n\t\t\t</app-reactive-forms>\n\t\t`,\n\t\tprops: getProps({\n\t\t\titems: [\n\t\t\t\t{ content: \"role 1\", oid: 1, selected: false },\n\t\t\t\t{ content: \"role 2\", oid: 2, selected: false },\n\t\t\t\t{ content: \"role 3\", oid: 3, selected: false }\n\t\t\t],\n\t\t\tselected: action(\"Selected fired for multi-select dropdown\"),\n\t\t\tonClose: action(\"Multi-select dropdown closed\")\n\t\t})\n\t}))\n\t.add(\"With 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: getProps({\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})\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: getProps()\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: getProps()\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 target element to watch\n * @param 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), isUpdate: true });\n\t\t\t} else {\n\t\t\t\t// abuse javascripts object mutability until we can break the API and switch to\n\t\t\t\t// { items: [], isUpdate: true }\n\t\t\t\tconst selected = this.getSelected() || [];\n\t\t\t\tselected[\"isUpdate\"] = true;\n\t\t\t\tthis.select.emit(selected);\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\t// loop through the list items and update the `selected` state for matching items in `value`\n\t\tfor (let oldItem of this.getListItems()) {\n\t\t\t// copy the item\n\t\t\tlet tempOldItem: string | ListItem = Object.assign({}, oldItem);\n\t\t\t// deleted selected because it's what we _want_ to change\n\t\t\tdelete tempOldItem.selected;\n\t\t\t// stringify for compare\n\t\t\ttempOldItem = JSON.stringify(tempOldItem);\n\t\t\tfor (let newItem of value) {\n\t\t\t\t// copy the item\n\t\t\t\tlet tempNewItem: string | ListItem = Object.assign({}, newItem);\n\t\t\t\t// deleted selected because it's what we _want_ to change\n\t\t\t\tdelete tempNewItem.selected;\n\t\t\t\t// stringify for compare\n\t\t\t\ttempNewItem = JSON.stringify(tempNewItem);\n\t\t\t\t// do the compare\n\t\t\t\tif (tempOldItem.includes(tempNewItem)) {\n\t\t\t\t\toldItem.selected = newItem.selected;\n\t\t\t\t\t// if we've found a matching item, we can stop looping\n\t\t\t\t\tbreak;\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@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[size]=\"size\">\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 * Sets the size of the button.\n\t *\n\t * @type {(\"sm\" | \"normal\")}\n\t */\n\t@Input() size: \"sm\" | \"normal\";\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, select, 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 [size]=\\\"size\\\"\\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 @Input() size = 'normal';\\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 [size]=\\\"size\\\"\\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 @Input() size = 'normal';\\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\\t[size]=\\\"size\\\">\\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 size: select('size', { Small: 'sm', Normal: 'normal' }, 'normal'),\\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\\t[size]=\\\"size\\\">\\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 size: select('size', { Small: 'sm', Normal: 'normal' }, 'normal'),\\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\":198},\"endLoc\":{\"col\":4,\"line\":202}},\"file-uploader--skeleton\":{\"startLoc\":{\"col\":7,\"line\":193},\"endLoc\":{\"col\":4,\"line\":197}},\"file-uploader--using-ngmodel\":{\"startLoc\":{\"col\":7,\"line\":173},\"endLoc\":{\"col\":4,\"line\":192}},\"file-uploader--basic\":{\"startLoc\":{\"col\":7,\"line\":153},\"endLoc\":{\"col\":4,\"line\":172}}};\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\tselect,\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\t[size]=\"size\">\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\t@Input() size = \"normal\";\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[size]=\"size\"\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\t@Input() size = \"normal\";\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\t[size]=\"size\">\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\tsize: select(\"size\", {Small: \"sm\", Normal: \"normal\"}, \"normal\"),\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\t[size]=\"size\">\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\tsize: select(\"size\", {Small: \"sm\", Normal: \"normal\"}, \"normal\"),\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\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@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\tconst columnKeys = Object.keys(this.columnNumbers);\n\t\t\tif (columnKeys.length <= 0) {\n\t\t\t\tthis._columnClasses.push(\"bx--col\");\n\t\t\t}\n\n\t\t\tcolumnKeys.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, Overridable } from \"./i18n.service\";\nexport { ReplacePipe } from \"./replace.pipe\";\n\n// either provides a new instance of I18n, or returns the parent\nexport function I18N_SERVICE_PROVIDER_FACTORY(parentService: I18n) {\n\treturn parentService || new I18n();\n}\n\n// I18n should provide a single instance of itself to ensure that translations are consistent through the app\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 {\n\tBehaviorSubject,\n\tObservable,\n\tisObservable,\n\tiif\n} 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\tstr = str.replace(new RegExp(`{{\\\\s*${key}\\\\s*}}`, \"g\"), value);\n\t\t}\n\t\treturn str;\n\t})\n);\n\n/**\n * Represents an \"overridable\" translation value.\n *\n * Largely an internal usecase. There are situations where we want an `Observable` that\n * can emit events from a centralized source **OR** an `Observable` that will emit events\n * from a component local source. The key example being on/off text in a `Toggle` - In some cases\n * we want the `Toggle` to use `I18n`s global translations, but in others we'd prefer to use a local\n * override. We don't ever need to return to a non-overridden state, but we do need the ability to\n * switch _to_ an overridden sate.\n */\nexport class Overridable {\n\t/**\n\t * The raw value of the translation. Defaults to the string value, but will return the value passed to `override`\n\t *\n\t * @readonly\n\t */\n\tpublic get value(): string | Observable<string> {\n\t\treturn this._value;\n\t}\n\n\tpublic set value(v: string | Observable<string>) {\n\t\tthis.override(v);\n\t}\n\n\t/**\n\t * The translation subject. Returns either a stream of overridden values, or our base translation values.\n\t *\n\t * @readonly\n\t */\n\tpublic get subject(): Observable<string> {\n\t\t/**\n\t\t * since inputs are bound on template instantiation (and thusly will always have _some_ value)\n\t\t * We can use a simple boolean and the `iif` function to determine which subject to return on subscription\n\t\t */\n\t\treturn iif(() => this.isOverridden, this.$override, this.baseTranslation);\n\t}\n\n\t/**\n\t * Overridden value. Accessed by the readonly getter `value` and set through `override`\n\t */\n\tprotected _value: string | Observable<string>;\n\t/**\n\t * Subject of overridden values. Initialized with our default value.\n\t */\n\tprotected $override: BehaviorSubject<string>;\n\t/**\n\t * Our base non-overridden translation.\n\t */\n\tprotected baseTranslation: Observable<string> = this.i18n.get(this.path);\n\t/**\n\t * A boolean to flip between overridden and non-overridden states.\n\t */\n\tprotected isOverridden = false;\n\n\tconstructor(protected path: string, protected i18n: I18n) {\n\t\t/**\n\t\t * ensure `$override` is initialized with the correct default value\n\t\t * in some cases `_value` can get changed for an `Observable` before `$override` is created\n\t\t */\n\t\tconst value = this.i18n.getValueFromPath(this.path) as string;\n\t\tthis.$override = new BehaviorSubject<string>(value);\n\t\tthis._value = value;\n\t}\n\t/**\n\t * Takes a string or an `Observable` that emits strings.\n\t * Overrides the value provided by the `I18n` service.\n\t */\n\toverride(value: string | Observable<string>) {\n\t\tthis.isOverridden = true;\n\t\tthis._value = value;\n\t\tif (isObservable(value)) {\n\t\t\tvalue.subscribe(v => {\n\t\t\t\tthis.$override.next(v);\n\t\t\t});\n\t\t} else {\n\t\t\tthis.$override.next(value);\n\t\t}\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: { [key: string]: string }) {\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?: string) {\n\t\tif (!path) {\n\t\t\treturn this.translationStrings;\n\t\t}\n\t\treturn this.getSubject(path);\n\t}\n\n\t/**\n\t * Returns all descendents of some path fragment as an object.\n\t *\n\t * @param partialPath a path fragment, for example `\"NOTIFICATION\"`\n\t */\n\tpublic getMultiple(partialPath: string): { [key: string]: Observable<string> } {\n\t\tconst values = this.getValueFromPath(partialPath);\n\t\tconst subjects = {};\n\t\tfor (const key of Object.keys(values)) {\n\t\t\tif (values[key] === Object(values[key])) {\n\t\t\t\tsubjects[key] = this.getMultiple(`${partialPath}.${key}`);\n\t\t\t} else {\n\t\t\t\tsubjects[key] = this.getSubject(`${partialPath}.${key}`);\n\t\t\t}\n\t\t}\n\t\treturn subjects;\n\t}\n\n\t/**\n\t * Returns an instance of `Overridable` that can be used to optionally override the value provided by `I18n`\n\t * @param path looks like `\"NOTIFICATION.CLOSE_BUTTON\"`\n\t */\n\tpublic getOverridable(path: string) {\n\t\treturn new Overridable(path, this);\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: Observable<string>, variables: { [key: string]: string }) {\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\tpublic getValueFromPath(path): string | { [key: string]: string } {\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\t/**\n\t * Helper method that returns an observable from the internal cache based on the path\n\t *\n\t * @param path looks like `\"NOTIFICATION.CLOSE_BUTTON\"`\n\t */\n\tprotected getSubject(path: string): Observable<string> {\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) as string;\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 (error) {\n\t\t\tconsole.error(error);\n\t\t}\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@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@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@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 */\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 */\n\tlabelInputID = \"ibm-label-\" + Label.labelCounter;\n\n\t/**\n\t * State of the `Label` will determine the styles applied.\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 */\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 */\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@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@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@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 */\n\t@Input() isActive = true;\n\n\t/**\n\t * Specify the size of the button\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 */\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@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@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@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 */\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@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\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\tsetTimeout(() => primaryFocusElement.focus());\n\t\t\treturn;\n\t\t}\n\t\tif (getFocusElementList(this.modal.nativeElement).length > 0) {\n\t\t\tsetTimeout(() => getFocusElementList(this.modal.nativeElement)[0].focus());\n\t\t} else {\n\t\t\tsetTimeout(() => this.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 */\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@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@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\n\t * @param componentFactoryResolver\n\t * @param 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 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 [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 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 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@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 */\nexport class NumberChange {\n\t/**\n\t * Contains the `Number` that has been changed.\n\t */\n\tsource: NumberComponent;\n\t/**\n\t * The value of the `Number` field encompassed in the `NumberChange` class.\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@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 NumberComponent 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-${NumberComponent.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 */\n\tconstructor() {\n\t\tNumberComponent.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 */\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 */\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 * 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 = Number(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}\nexport { NumberComponent as Number };\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\tcurrentPage: number;\n\n\t/**\n\t * Length of page.\n\t */\n\tpageLength: number;\n\n\t/**\n\t * Absolute total number of items needed to paginate.\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, Overridable } from \"./../i18n/i18n.module\";\nimport { ExperimentalService } from \"./../experimental.module\";\nimport { merge } from \"./../utils/object\";\n\nexport interface PaginationTranslations {\n\tITEMS_PER_PAGE: string;\n\tOPEN_LIST_OF_OPTIONS: string;\n\tBACKWARD: string;\n\tFORWARD: string;\n\tTOTAL_ITEMS: string;\n\tTOTAL_PAGES: string;\n\tOF_LAST_PAGES: string;\n}\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@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.subject | 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.subject | 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.subject | 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.subject | 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.subject | 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.subject | 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.subject | 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.subject | 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.subject | 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.subject | 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@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: PaginationTranslations) {\n\t\tconst valueWithDefaults = merge(this.i18n.getMultiple(\"PAGINATION\"), value);\n\t\tthis.itemsPerPageText.override(valueWithDefaults.ITEMS_PER_PAGE);\n\t\tthis.optionsListText.override(valueWithDefaults.OPEN_LIST_OF_OPTIONS);\n\t\tthis.backwardText.override(valueWithDefaults.BACKWARD);\n\t\tthis.forwardText.override(valueWithDefaults.FORWARD);\n\t\tthis.totalItemsText.override(valueWithDefaults.TOTAL_ITEMS);\n\t\tthis.totalItemsUnknownText.override(valueWithDefaults.TOTAL_ITEMS_UNKNOWN);\n\t\tthis.totalPagesText.override(valueWithDefaults.TOTAL_PAGES);\n\t\tthis.pageText.override(valueWithDefaults.PAGE);\n\t\tthis.ofLastPagesText.override(valueWithDefaults.OF_LAST_PAGES);\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.getOverridable(\"PAGINATION.ITEMS_PER_PAGE\");\n\toptionsListText = this.i18n.getOverridable(\"PAGINATION.OPEN_LIST_OF_OPTIONS\");\n\tbackwardText = this.i18n.getOverridable(\"PAGINATION.BACKWARD\");\n\tforwardText = this.i18n.getOverridable(\"PAGINATION.FORWARD\");\n\ttotalItemsText = this.i18n.getOverridable(\"PAGINATION.TOTAL_ITEMS\");\n\ttotalItemsUnknownText = this.i18n.getOverridable(\"PAGINATION.TOTAL_ITEMS_UNKNOWN\");\n\ttotalPagesText = this.i18n.getOverridable(\"PAGINATION.TOTAL_PAGES\");\n\tpageText = this.i18n.getOverridable(\"PAGINATION.PAGE\");\n\tofLastPagesText = this.i18n.getOverridable(\"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@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 { Radio } from \"./radio.component\";\n\n/**\n * Used to emit changes performed on a `Radio`.\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","import {\n\tAfterContentInit,\n\tContentChildren,\n\tComponent,\n\tEventEmitter,\n\tforwardRef,\n\tInput,\n\tOutput,\n\tQueryList,\n\tHostBinding,\n\tAfterViewInit\n} from \"@angular/core\";\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor } from \"@angular/forms\";\nimport { Radio } from \"./radio.component\";\nimport { RadioChange } from \"./radio-change.class\";\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\tComponent,\n\tInput,\n\tHostBinding,\n\tOutput,\n\tEventEmitter\n} from \"@angular/core\";\nimport { NG_VALUE_ACCESSOR } from \"@angular/forms\";\nimport { RadioChange } from \"./radio-change.class\";\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@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.component\";\nimport { RadioGroup } from \"./radio-group.component\";\nimport { RadioChange } from \"./radio-change.class\";\n\n\n// exports\nexport {\n\tRadio,\n\tRadioGroup,\n\tRadioChange\n};\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 * @deprecated in favor of `valueChange`, to be removed in the next major carbon-components-angular version\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@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 * @deprecated in favor of `valueChange`, to be removed in the next major carbon-components-angular version\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\t/**\n\t * Emits an event when value is changed.\n\t */\n\t@Output() valueChange = new EventEmitter<string>();\n\t/**\n\t * Emits an event when the clear button is clicked.\n\t */\n\t@Output() clear = new EventEmitter();\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 search The input text.\n\t */\n\tonSearch(search: string) {\n\t\tthis.value = search;\n\t\tthis.doValueChange();\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.clear.emit();\n\t\tthis.propagateChange(this.value);\n\t}\n\n\tdoValueChange() {\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.valueChange.emit(this.value);\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 { action } from '@storybook/addon-actions';\\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\\t(valueChange)=\\\"valueChange($event)\\\"\\n\\t\\t\\t\\t(clear)=\\\"clear()\\\">\\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 valueChange: action('value change fired!'),\\n clear: action('clear fired!'),\\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\":52},\"endLoc\":{\"col\":4,\"line\":56}},\"search--skeleton\":{\"startLoc\":{\"col\":7,\"line\":43},\"endLoc\":{\"col\":4,\"line\":51}},\"search--toolbar-search\":{\"startLoc\":{\"col\":7,\"line\":36},\"endLoc\":{\"col\":4,\"line\":42}},\"search--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 {\n\twithKnobs,\n\tboolean,\n\tselect,\n\ttext\n} 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\t(valueChange)=\"valueChange($event)\"\n\t\t\t\t(clear)=\"clear()\">\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\tvalueChange: action(\"value change fired!\"),\n\t\t\tclear: action(\"clear fired!\")\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@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\t/**\n\t * Listens for the host blurring, and notifies the model\n\t */\n\t@HostListener(\"blur\")\n\tblur() {\n\t\tthis.onTouchedHandler();\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","// 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@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\tComponent,\n\tInput,\n\tEventEmitter,\n\tOutput\n} from \"@angular/core\";\nimport { TableModel } from \"../table-model.class\";\nimport { I18n, Overridable } from \"./../../i18n/i18n.module\";\nimport { Observable } from \"rxjs\";\n\n@Component({\n\t// tslint:disable-next-line: component-selector\n\tselector: \"[ibmTableBody]\",\n\ttemplate: `\n\t\t<ng-container *ngIf=\"model\">\n\t\t\t<ng-container *ngFor=\"let row of model.data; let i = index\">\n\t\t\t\t<tr\n\t\t\t\t\tibmTableRow\n\t\t\t\t\t[model]=\"model\"\n\t\t\t\t\t[row]=\"row\"\n\t\t\t\t\t[size]=\"size\"\n\t\t\t\t\t[selected]=\"model.isRowSelected(i)\"\n\t\t\t\t\t[expandable]=\"model.isRowExpandable(i)\"\n\t\t\t\t\t[expanded]=\"model.isRowExpanded(i)\"\n\t\t\t\t\t[checkboxLabel]=\"getCheckboxRowLabel()\"\n\t\t\t\t\t[expandButtonAriaLabel]=\"getExpandButtonAriaLabel()\"\n\t\t\t\t\t[showSelectionColumn]=\"showSelectionColumn\"\n\t\t\t\t\t[skeleton]=\"skeleton\"\n\t\t\t\t\t(selectRow)=\"onRowCheckboxChange(i)\"\n\t\t\t\t\t(deselectRow)=\"onRowCheckboxChange(i)\"\n\t\t\t\t\t(expandRow)=\"model.expandRow(i, !model.isRowExpanded(i))\"\n\t\t\t\t\t*ngIf=\"!model.isRowFiltered(i)\"\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'tbody_row--success': !model.isRowSelected(i) && model.getRowContext(i) === 'success',\n\t\t\t\t\t\t'tbody_row--warning': !model.isRowSelected(i) && model.getRowContext(i) === 'warning',\n\t\t\t\t\t\t'tbody_row--info': !model.isRowSelected(i) && model.getRowContext(i) === 'info',\n\t\t\t\t\t\t'tbody_row--error': !model.isRowSelected(i) && model.getRowContext(i) === 'error'\n\t\t\t\t\t}\">\n\t\t\t\t</tr>\n\t\t\t\t<tr\n\t\t\t\t\t*ngIf=\"model.isRowExpanded(i) && !model.isRowFiltered(i)\"\n\t\t\t\t\tibmTableExpandedRow\n\t\t\t\t\tibmExpandedRowHover\n\t\t\t\t\t[row]=\"row\"\n\t\t\t\t\t[expanded]=\"model.isRowExpanded(i)\"\n\t\t\t\t\t[skeleton]=\"skeleton\">\n\t\t\t\t</tr>\n\t\t\t</ng-container>\n\t\t</ng-container>\n\t\t<ng-content></ng-content>\n\t`\n})\nexport class TableBody {\n\t@Input() model: TableModel;\n\n\t/**\n\t * Controls whether to enable multiple or single row selection.\n\t */\n\t@Input() enableSingleSelect = false;\n\n\t@Input()\n\tset expandButtonAriaLabel(value: string | Observable<string>) {\n\t\tthis._expandButtonAriaLabel.override(value);\n\t}\n\n\tget expandButtonAriaLabel() {\n\t\treturn this._expandButtonAriaLabel.value;\n\t}\n\n\t@Input()\n\tset checkboxRowLabel(value: string | Observable<string>) {\n\t\tthis._checkboxRowLabel.override(value);\n\t}\n\n\tget checkboxRowLabel() {\n\t\treturn this._checkboxRowLabel.value;\n\t}\n\n\t/**\n\t * Controls whether to show the selection checkboxes column or not.\n\t */\n\t@Input() showSelectionColumn = true;\n\n\t/**\n\t * Size of the table rows.\n\t */\n\t@Input() size: \"sm\" | \"sh\" | \"md\" | \"lg\" = \"md\";\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@Input() skeleton = false;\n\n\t/**\n\t * Emits if a single row is selected.\n\t *\n\t * @param ({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 ({model: this.model, deselectedRowIndex: index})\n\t */\n\t@Output() deselectRow = new EventEmitter<Object>();\n\n\tprotected _checkboxRowLabel = this.i18n.getOverridable(\"TABLE.CHECKBOX_ROW\");\n\tprotected _expandButtonAriaLabel = this.i18n.getOverridable(\"TABLE.EXPAND_BUTTON\");\n\n\tconstructor(protected i18n: I18n) { }\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\tonRowCheckboxChange(index: number) {\n\t\tif (this.model.isRowSelected(index)) {\n\t\t\tthis.deselectRow.emit({ model: this.model, deselectedRowIndex: index });\n\t\t} else {\n\t\t\tthis.selectRow.emit({ model: this.model, selectedRowIndex: index });\n\t\t}\n\t}\n\n\tgetCheckboxRowLabel(): Observable<string> {\n\t\treturn this._checkboxRowLabel.subject;\n\t}\n\n\tgetExpandButtonAriaLabel(): Observable<string> {\n\t\treturn this._expandButtonAriaLabel.subject;\n\t}\n}\n","import {\n\tComponent,\n\tHostBinding,\n\tInput\n} from \"@angular/core\";\n\n@Component({\n\t// tslint:disable-next-line: component-selector\n\tselector: \"[ibmTableExpandedRow]\",\n\ttemplate: `\n\t\t<td [attr.colspan]=\"row.length + 2\">\n\t\t\t<ng-container *ngIf=\"!firstExpandedTemplateInRow(row)\">\n\t\t\t\t{{firstExpandedDataInRow(row)}}\n\t\t\t</ng-container>\n\t\t\t<ng-template\n\t\t\t\t[ngTemplateOutlet]=\"firstExpandedTemplateInRow(row)\"\n\t\t\t\t[ngTemplateOutletContext]=\"{data: firstExpandedDataInRow(row)}\">\n\t\t\t</ng-template>\n\t\t</td>\n\t`\n})\nexport class TableExpandedRow {\n\t@Input() row: any[];\n\n\t@Input() skeleton = false;\n\n\t@HostBinding(\"class.bx--expandable-row\") expandableRowClass = true;\n\n\t@HostBinding(\"attr.data-child-row\") @Input() expanded = false;\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\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","import {\n\tComponent,\n\tInput,\n\tOutput,\n\tEventEmitter,\n\tHostBinding\n} from \"@angular/core\";\nimport { TableModel } from \"./../table-model.class\";\nimport { I18n, Overridable } from \"./../../i18n/i18n.module\";\nimport { TableItem } from \"./../table-item.class\";\nimport { Observable } from \"rxjs\";\n\n@Component({\n\t// tslint:disable-next-line: component-selector\n\tselector: \"[ibmTableRow]\",\n\ttemplate: `\n\t\t<ng-container *ngIf=\"model\">\n\t\t\t<td\n\t\t\t\t*ngIf=\"model.hasExpandableRows()\"\n\t\t\t\tibmTableExpandButton\n\t\t\t\t[expanded]=\"expanded\"\n\t\t\t\t[expandable]=\"expandable\"\n\t\t\t\t[skeleton]=\"skeleton\"\n\t\t\t\t[ariaLabel]=\"getExpandButtonAriaLabel()\"\n\t\t\t\t(expandRow)=\"expandRow.emit()\">\n\t\t\t</td>\n\t\t\t<td\n\t\t\t\t*ngIf=\"!skeleton && showSelectionColumn\"\n\t\t\t\tibmTableCheckbox\n\t\t\t\t[size]=\"size\"\n\t\t\t\t[selected]=\"selected\"\n\t\t\t\t[label]=\"getCheckboxLabel()\"\n\t\t\t\t[skeleton]=\"skeleton\"\n\t\t\t\t(change)=\"onSelectionChange()\">\n\t\t\t</td>\n\t\t\t<ng-container *ngFor=\"let item of row; let j = index\">\n\t\t\t\t<td\n\t\t\t\t\t*ngIf=\"model.header[j].visible\"\n\t\t\t\t\tibmTableData\n\t\t\t\t\t[item]=\"item\"\n\t\t\t\t\t[class]=\"model.header[j].className\"\n\t\t\t\t\t[ngStyle]=\"model.header[j].style\"\n\t\t\t\t\t[skeleton]=\"skeleton\">\n\t\t\t\t</td>\n\t\t\t</ng-container>\n\t\t</ng-container>\n\t\t<ng-content></ng-content>\n\t`\n})\nexport class TableRowComponent {\n\t/**\n\t * `TableModel` with data the table is to display.\n\t */\n\t@Input() model: TableModel;\n\n\t@Input() row: TableItem[];\n\n\t@Input() expanded = false;\n\n\t@Input() expandable = false;\n\n\t@Input() selected = false;\n\n\t/**\n\t * Size of the table rows.\n\t */\n\t@Input() size: \"sm\" | \"md\" | \"lg\" = \"md\";\n\n\t/**\n\t * Controls whether to enable multiple or single row selection.\n\t */\n\t@Input() enableSingleSelect = false;\n\n\t@Input()\n\tset expandButtonAriaLabel(value: string | Observable<string>) {\n\t\tthis._expandButtonAriaLabel.override(value);\n\t}\n\n\tget expandButtonAriaLabel() {\n\t\treturn this._expandButtonAriaLabel.value;\n\t}\n\n\t@Input()\n\tset checkboxLabel(value: string | Observable<string>) {\n\t\tthis._checkboxLabel.override(value);\n\t}\n\n\tget checkboxLabel() {\n\t\treturn this._checkboxLabel.value;\n\t}\n\n\t/**\n\t * Controls whether to show the selection checkboxes column or not.\n\t */\n\t@Input() showSelectionColumn = true;\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@Input() skeleton = false;\n\n\t/**\n\t * Emits when the row is selected.\n\t */\n\t@Output() selectRow = new EventEmitter();\n\n\t/**\n\t * Emits when the row is deselected.\n\t */\n\t@Output() deselectRow = new EventEmitter();\n\n\t/**\n\t * Emits when the row is expanded\n\t */\n\t@Output() expandRow = new EventEmitter();\n\n\t@HostBinding(\"class.bx--data-table--selected\") get selectedClass() {\n\t\treturn this.selected;\n\t}\n\n\t@HostBinding(\"class.bx--parent-row\") get parentRowClass() {\n\t\treturn this.expandable;\n\t}\n\n\t@HostBinding(\"class.bx--expandable-row\") get expandableRowClass() {\n\t\treturn this.expanded;\n\t}\n\n\t@HostBinding(\"class.tbody_row--selectable\") get selectableClass() {\n\t\treturn false; // this.singleSelect\n\t}\n\n\t@HostBinding(\"attr.data-parent-row\") get isParentRow() {\n\t\treturn this.expandable ? true : null;\n\t}\n\n\tprotected _checkboxLabel = this.i18n.getOverridable(\"TABLE.CHECKBOX_ROW\");\n\tprotected _expandButtonAriaLabel = this.i18n.getOverridable(\"TABLE.EXPAND_BUTTON\");\n\n\tconstructor(protected i18n: I18n) { }\n\n\tonSelectionChange() {\n\t\tif (this.selected) {\n\t\t\tthis.deselectRow.emit();\n\t\t} else {\n\t\t\tthis.selectRow.emit();\n\t\t}\n\t}\n\n\tgetCheckboxLabel(): Observable<string> {\n\t\treturn this._checkboxLabel.subject;\n\t}\n\n\tgetExpandButtonAriaLabel(): Observable<string> {\n\t\treturn this._expandButtonAriaLabel.subject;\n\t}\n}\n","import {\n\tComponent,\n\tInput,\n\tOutput,\n\tEventEmitter\n} from \"@angular/core\";\nimport { I18n, Overridable } from \"./../../i18n/i18n.module\";\nimport { TableItem } from \"./../table-item.class\";\nimport { Observable } from \"rxjs\";\n\n@Component({\n\t// tslint:disable-next-line: component-selector\n\tselector: \"[ibmTableCheckbox]\",\n\ttemplate: `\n\t\t<ibm-checkbox\n\t\t\t*ngIf=\"!skeleton\"\n\t\t\tinline=\"true\"\n\t\t\t[aria-label]=\"getLabel() | i18nReplace:getSelectionLabelValue(row) | async\"\n\t\t\t[size]=\"(size !== 'sm' ? 'md' : 'sm')\"\n\t\t\t[checked]=\"selected\"\n\t\t\t(change)=\"change.emit()\">\n\t\t</ibm-checkbox>\n\t`\n})\nexport class TableCheckbox {\n\t@Input() row: any[];\n\n\t@Input() selected = false;\n\n\t/**\n\t * Size of the table rows.\n\t */\n\t@Input() size: \"sm\" | \"md\" | \"lg\" = \"md\";\n\n\t@Input()\n\tset label(value: string | Observable<string>) {\n\t\tthis._label.override(value);\n\t}\n\n\tget label() {\n\t\treturn this._label.value;\n\t}\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@Input() skeleton = false;\n\n\t/**\n\t * Emits if a single row is selected.\n\t */\n\t@Output() change = new EventEmitter();\n\n\tprotected _label = this.i18n.getOverridable(\"TABLE.CHECKBOX_ROW\");\n\n\tconstructor(protected i18n: I18n) { }\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\tgetLabel(): Observable<string> {\n\t\treturn this._label.subject;\n\t}\n}\n","import {\n\tComponent,\n\tInput\n} from \"@angular/core\";\n\n@Component({\n\t// tslint:disable-next-line: component-selector\n\tselector: \"[ibmTableData]\",\n\ttemplate: `\n\t\t<ng-container *ngIf=\"!item.template\">{{item.data}}</ng-container>\n\t\t<ng-template\n\t\t\t[ngTemplateOutlet]=\"item.template\" [ngTemplateOutletContext]=\"{data: item.data}\">\n\t\t</ng-template>\n\t`\n})\nexport class TableData {\n\t@Input() item;\n\n\t@Input() skeleton = false;\n}\n","import {\n\tComponent,\n\tInput,\n\tOutput,\n\tEventEmitter,\n\tHostBinding\n} from \"@angular/core\";\nimport { I18n, Overridable } from \"./../../i18n/i18n.module\";\nimport { Observable } from \"rxjs\";\n\n@Component({\n\t// tslint:disable-next-line: component-selector\n\tselector: \"[ibmTableExpandButton]\",\n\ttemplate: `\n\t\t<button\n\t\t\t*ngIf=\"expandable\"\n\t\t\tclass=\"bx--table-expand__button\"\n\t\t\t[attr.aria-label]=\"getAriaLabel() | async\"\n\t\t\t(click)=\"expandRow.emit()\">\n\t\t\t<ibm-icon-chevron-right16 innerClass=\"bx--table-expand__svg\"></ibm-icon-chevron-right16>\n\t\t</button>\n\t`\n})\nexport class TableExpandButton {\n\t/**\n\t * Set to true to indicate the row has expanded\n\t */\n\t@Input() expanded = false;\n\t/**\n\t * Set to true to indicate the row can be expanded.\n\t * Defaults to false to allow for correct column alignment\n\t */\n\t@Input() expandable = false;\n\n\t@Input()\n\tset ariaLabel(value: string | Observable<string>) {\n\t\tthis._ariaLabel.override(value);\n\t}\n\n\tget ariaLabel() {\n\t\treturn this._ariaLabel.value;\n\t}\n\n\t@Input() skeleton = false;\n\n\t@HostBinding(\"class.bx--table-expand\") expandClass = true;\n\n\t@HostBinding(\"attr.data-previous-value\") get previousValue() {\n\t\treturn this.expanded ? \"collapsed\" : null;\n\t}\n\n\t@Output() expandRow = new EventEmitter<void>();\n\n\tprotected _ariaLabel = this.i18n.getOverridable(\"TABLE.EXPAND_BUTTON\");\n\n\tconstructor(protected i18n: I18n) { }\n\n\tgetAriaLabel(): Observable<string> {\n\t\treturn this._ariaLabel.subject;\n\t}\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/**\n * NOTE: This directive has been deprecated in favor of `DataGridInteractionModel`\n *\n * @deprecated\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\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\tTable.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\tTable.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\tTable.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\tTable.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\tTable.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\tTable.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\tTable.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\tTable.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\tTable.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\tTable.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\tTable.focus(currentRow[this.columnIndex]);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t}\n\t}\n\n\t@HostListener(\"click\")\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\tTable.focus(this.elementRef.nativeElement);\n\t}\n}\n","import {\n\tBehaviorSubject,\n\tObservable,\n\tcombineLatest\n} from \"rxjs\";\nimport { map } from \"rxjs/operators\";\nimport { TableAdapter } from \"./table-adapter.class\";\nimport { tabbableSelectorIgnoreTabIndex, getFocusElementList } from \"./../common/tab.service\";\n\n/**\n * The current and previous position in the grid.\n *\n * `current` and `previous` are tuples that follow the `[row, column]` convention.\n */\nexport interface DataGridPosition {\n\tcurrent: [number, number];\n\tprevious: [number, number];\n}\n\n/**\n * `DataGridInteractionModel` provides centralized control over arbitrary 2d grids, following the w3 specs.\n *\n * Refs:\n * - https://www.w3.org/TR/wai-aria-practices/examples/grid/dataGrids.html\n * - https://www.w3.org/TR/wai-aria-practices/#grid\n *\n * Example usage (taken from `table.component`):\n```typescript\n// a standard HTML table\nconst table = this.elementRef.nativeElement.querySelector(\"table\") as HTMLTableElement;\n\n// `TableDomAdapter` implements `TableAdapter` and provides a consistent interface to query rows and columns in a table\nconst tableAdapter = new TableDomAdapter(table);\n\n// the keydown events that we'll use for keyboard navigation of the table\nconst keydownEventStream = fromEvent<KeyboardEvent>(table, \"keydown\");\n\n// the click events we'll use to ensure focus is updated correctly on click\nconst clickEventStream = fromEvent<MouseEvent>(table, \"click\");\n\n// the `DataGridInteractionModel` instance!\nthis.interactionModel = new DataGridInteractionModel(keydownEventStream, clickEventStream, tableAdapter);\n\n// subscribe to the combined position updates\nthis.interactionModel.position.subscribe(event => {\n\tconst [currentRow, currentColumn] = event.current;\n\tconst [previousRow, previousColumn] = event.previous;\n\n\t// query the TableAdapter for the cell at the current row and column ...\n\tconst currentElement = tableAdapter.getCell(currentRow, currentColumn);\n\t// ... and make it focusable it\n\tTable.setTabIndex(currentElement, 0);\n\n\t// if the model has just initialized don't focus or reset anything\n\tif (previousRow === -1 || previousColumn === -1) { return; }\n\n\t// query the TableAdapter for the cell at the previous row and column ...\n\tconst previousElement = tableAdapter.getCell(previousRow, previousColumn);\n\t// ... and make it unfocusable (now there is only a single focusable cell)\n\tTable.setTabIndex(previousElement, -1);\n\n\t// finally, focus the current cell (skipped during initilzation)\n\tTable.focus(currentElement);\n});\n```\n */\nexport class DataGridInteractionModel {\n\t/**\n\t * An Observable that provides an aggregated view of the `rowIndex` and `columnIndex` Observables\n\t */\n\treadonly position: Observable<DataGridPosition>;\n\t/**\n\t * An Observable that provides the current and previous row indexes.\n\t */\n\treadonly rowIndex: Observable<{ current: number, previous: number }>;\n\t/**\n\t * An Observable that provides the current and previous column indexes.\n\t */\n\treadonly columnIndex: Observable<{ current: number, previous: number }>;\n\n\t/**\n\t * Internal subject to handle changes in row\n\t */\n\tprotected rowSubject = new BehaviorSubject({ current: 0, previous: -1 });\n\t/**\n\t * Internal subject to handle changes in column\n\t */\n\tprotected columnSubject = new BehaviorSubject({ current: 0, previous: -1 });\n\n\t/**\n\t * The latest value emitted by the rowSubject\n\t */\n\tprotected get currentRow() {\n\t\treturn this.rowSubject.getValue().current;\n\t}\n\n\t/**\n\t * The latest value emitted by the columnSubject\n\t */\n\tprotected get currentColumn() {\n\t\treturn this.columnSubject.getValue().current;\n\t}\n\n\t/**\n\t * The last column as reported by the adapter\n\t */\n\tprotected get lastColumn() {\n\t\treturn this.tableAdapter.lastColumnIndex;\n\t}\n\n\t/**\n\t * The last row as reported by the adapter\n\t */\n\tprotected get lastRow() {\n\t\treturn this.tableAdapter.lastRowIndex;\n\t}\n\n\t/**\n\t * `DataGridInteractionModel` requires knowledge of events, and a representation of your table/grid to be useful.\n\t *\n\t * @param keyboardEventStream an Observable of KeyboardEvents. Should be scoped to the table container.\n\t * @param clickEventStream an Observable of ClickEvents. should only include clicks that take action on items known by the TableAdapter\n\t * @param tableAdapter an instance of a concrete class that implements TableAdapter. The standard carbon table uses TableDomAdapter\n\t */\n\tconstructor(\n\t\tprotected keyboardEventStream: Observable<KeyboardEvent>,\n\t\tprotected clickEventStream: Observable<MouseEvent>,\n\t\tprotected tableAdapter: TableAdapter\n\t) {\n\t\tthis.rowIndex = this.rowSubject.asObservable();\n\t\tthis.columnIndex = this.columnSubject.asObservable();\n\t\tthis.position = combineLatest(this.rowIndex, this.columnIndex).pipe(map(positions => {\n\t\t\tconst [row, column] = positions;\n\t\t\treturn {\n\t\t\t\tcurrent: [row.current, column.current],\n\t\t\t\tprevious: [row.previous, column.previous]\n\t\t\t};\n\t\t})) as Observable<DataGridPosition>;\n\t\tthis.keyboardEventStream.subscribe(this.handleKeyboardEvent.bind(this));\n\t\tthis.clickEventStream.subscribe(this.handleClickEvent.bind(this));\n\t}\n\n\t/**\n\t * Handles moving the position according to the w3 datagrid navigation specs\n\t *\n\t * Refs:\n\t * - https://www.w3.org/TR/wai-aria-practices/examples/grid/dataGrids.html\n\t * - https://www.w3.org/TR/wai-aria-practices/#grid\n\t *\n\t * @param event the KeyboardEvent to handle\n\t */\n\thandleKeyboardEvent(event: KeyboardEvent) {\n\t\tconst currentCell = this.tableAdapter.getCell(this.currentRow, this.currentColumn);\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\t// add the colspan since getColumnFromCell will return the\n\t\t\t\t// first column containing the cell (of N columns it may span)\n\t\t\t\t// and we want to navigate to the next \"real\" column\n\t\t\t\tthis.goToColumn(this.tableAdapter.findColumnIndex(currentCell) + currentCell.colSpan);\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\t// we only ever need to subtract 1 from the column, since getColumnFromCell returns the\n\t\t\t\t// first of N columns containing the cell\n\t\t\t\tthis.goToColumn(this.tableAdapter.findColumnIndex(currentCell) - 1);\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\tthis.goToRow(this.currentRow + 1);\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\tthis.goToRow(this.currentRow - 1);\n\t\t\t\tbreak;\n\t\t\tcase \"Home\":\n\t\t\t\tevent.preventDefault();\n\t\t\t\tif (event.ctrlKey) {\n\t\t\t\t\tthis.goTo({row: 0, column: 0});\n\t\t\t\t} else {\n\t\t\t\t\tthis.goToColumn(0);\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\tif (event.ctrlKey) {\n\t\t\t\t\tthis.goTo({ row: this.lastRow, column: this.lastColumn });\n\t\t\t\t} else {\n\t\t\t\t\tthis.goToColumn(this.lastColumn);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t}\n\t}\n\n\t/**\n\t * Handles moving the position to the clicked cell\n\t *\n\t * @param event the MouseEvent to handle\n\t */\n\thandleClickEvent(event: MouseEvent) {\n\t\tconst cell = (event.target as HTMLElement).closest(\"td, th\") as HTMLTableCellElement;\n\t\tconst [rowIndex, cellIndex] = this.tableAdapter.findIndex(cell);\n\t\tthis.goTo({ row: rowIndex, column: cellIndex });\n\t}\n\n\t/**\n\t * Jump to a specific column without changing the row\n\t *\n\t * @param index column to jump to\n\t */\n\tgoToColumn(index: number) {\n\t\tif (index > this.lastColumn || index < 0) { return; }\n\t\tthis.goTo({ row: this.currentRow, column: index});\n\t}\n\n\t/**\n\t * Jump to a specific row without chaning the column\n\t *\n\t * @param index row to jump to\n\t */\n\tgoToRow(index: number) {\n\t\tif (index > this.lastRow || index < 0) { return; }\n\t\tthis.goTo({row: index, column: this.currentColumn});\n\t}\n\n\t/**\n\t * Jump to the specified row and column\n\t *\n\t * @param param0 an object that contains `row` and `column` properties\n\t */\n\tgoTo({row, column}) {\n\t\tthis.rowSubject.next({ current: row, previous: this.currentRow });\n\t\tthis.columnSubject.next({ current: column, previous: this.currentColumn });\n\t}\n\n\t/**\n\t * Convenience method to reset the tab indexes on a standard carbon table.\n\t * For custom tables you may want to reset the indexes manually and simply call `.reset()`\n\t */\n\tresetTabIndexes(newTabIndex = -1) {\n\t\tfor (let i = 0; i < this.tableAdapter.lastRowIndex; i++) {\n\t\t\tconst row = this.tableAdapter.getRow(i) as HTMLTableRowElement;\n\t\t\tfor (const cell of Array.from(row.cells)) {\n\t\t\t\tconst tabbableElements = getFocusElementList(cell, tabbableSelectorIgnoreTabIndex);\n\t\t\t\ttabbableElements.forEach((node: HTMLElement) => node.tabIndex = newTabIndex);\n\t\t\t\tcell.tabIndex = newTabIndex;\n\t\t\t}\n\t\t}\n\n\t\tthis.reset();\n\t}\n\n\t/**\n\t * Resets the models focus position\n\t */\n\treset() {\n\t\tthis.rowSubject.next({ current: 0, previous: -1 });\n\t\tthis.columnSubject.next({ current: 0, previous: -1 });\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 {\n\tComponent,\n\tInput,\n\tOutput,\n\tEventEmitter,\n\tHostBinding,\n\tOnChanges\n} from \"@angular/core\";\nimport { Observable } from \"rxjs\";\nimport { I18n, Overridable } from \"./../../i18n/i18n.module\";\nimport { map } from \"rxjs/operators\";\nimport { TableHeaderItem } from \"./../table-header-item.class\";\n\n@Component({\n\t// tslint:disable-next-line: component-selector\n\tselector: \"[ibmTableHeadCell]\",\n\ttemplate: `\n\t\t<button\n\t\t\tclass=\"bx--table-sort\"\n\t\t\t*ngIf=\"!skeleton && this.sort.observers.length > 0 && column.sortable\"\n\t\t\t[attr.aria-label]=\"(column.sorted && column.ascending ? getSortDescendingLabel() : getSortAscendingLabel()) | async\"\n\t\t\taria-live=\"polite\"\n\t\t\t[ngClass]=\"{\n\t\t\t\t'bx--table-sort--active': column.sorted,\n\t\t\t\t'bx--table-sort--ascending': column.ascending\n\t\t\t}\"\n\t\t\t(click)=\"sort.emit()\">\n\t\t\t<span\n\t\t\t\t*ngIf=\"!column.template\"\n\t\t\t\t[title]=\"column.data\"\n\t\t\t\ttabindex=\"-1\">\n\t\t\t\t{{column.data}}\n\t\t\t</span>\n\t\t\t<ng-template\n\t\t\t\t[ngTemplateOutlet]=\"column.template\" [ngTemplateOutletContext]=\"{data: column.data}\">\n\t\t\t</ng-template>\n\t\t\t<svg\n\t\t\t\tfocusable=\"false\"\n\t\t\t\tpreserveAspectRatio=\"xMidYMid meet\"\n\t\t\t\tstyle=\"will-change: transform;\"\n\t\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\t\tclass=\"bx--table-sort__icon\"\n\t\t\t\twidth=\"16\"\n\t\t\t\theight=\"16\"\n\t\t\t\tviewBox=\"0 0 16 16\"\n\t\t\t\taria-hidden=\"true\">\n\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</svg>\n\t\t\t<svg\n\t\t\t\tfocusable=\"false\"\n\t\t\t\tpreserveAspectRatio=\"xMidYMid meet\"\n\t\t\t\tstyle=\"will-change: transform;\"\n\t\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\t\tclass=\"bx--table-sort__icon-unsorted\"\n\t\t\t\twidth=\"16\"\n\t\t\t\theight=\"16\"\n\t\t\t\tviewBox=\"0 0 16 16\"\n\t\t\t\taria-hidden=\"true\">\n\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</svg>\n\t\t</button>\n\t\t<span\n\t\t\tclass=\"bx--table-header-label\"\n\t\t\t*ngIf=\"!skeleton && this.sort.observers.length === 0 || (this.sort.observers.length > 0 && !column.sortable)\">\n\t\t\t<span *ngIf=\"!column.template\" [title]=\"column.data\">{{column.data}}</span>\n\t\t\t<ng-template\n\t\t\t\t[ngTemplateOutlet]=\"column.template\" [ngTemplateOutletContext]=\"{data: column.data}\">\n\t\t\t</ng-template>\n\t\t</span>\n\t\t<button\n\t\t\t[ngClass]=\"{'active': column.filterCount > 0}\"\n\t\t\t*ngIf=\"column.filterTemplate\"\n\t\t\ttype=\"button\"\n\t\t\taria-expanded=\"false\"\n\t\t\taria-haspopup=\"true\"\n\t\t\t[ibmTooltip]=\"column.filterTemplate\"\n\t\t\ttrigger=\"click\"\n\t\t\t[title]=\"getFilterTitle() | async\"\n\t\t\tplacement=\"bottom,top\"\n\t\t\t[data]=\"column.filterData\">\n\t\t\t<svg\n\t\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\t\tclass=\"icon--sm\"\n\t\t\t\twidth=\"16\"\n\t\t\t\theight=\"16\"\n\t\t\t\tviewBox=\"0 0 16 16\">\n\t\t\t\t<path d=\"M0 0v3l6 8v5h4v-5l6-8V0H0zm9 10.7V15H7v-4.3L1.3 3h13.5L9 10.7z\"/>\n\t\t\t</svg>\n\t\t\t<span *ngIf=\"column.filterCount > 0\">\n\t\t\t\t{{column.filterCount}}\n\t\t\t</span>\n\t\t</button>\n\t`\n})\nexport class TableHeadCell implements OnChanges {\n\t@Input() column: TableHeaderItem;\n\n\t@Input() skeleton = false;\n\n\t@Input()\n\tset sortDescendingLabel(value: string | Observable<string>) {\n\t\tthis._sortDescendingLabel.override(value);\n\t}\n\n\tget sortDescendingLabel() {\n\t\treturn this._sortDescendingLabel.value;\n\t}\n\n\t@Input()\n\tset sortAscendingLabel(value: string | Observable<string>) {\n\t\tthis._sortAscendingLabel.override(value);\n\t}\n\n\tget sortAscendingLabel() {\n\t\treturn this._sortAscendingLabel.value;\n\t}\n\n\t@Input()\n\tset filterTitle(value: string | Observable<string>) {\n\t\tthis._filterTitle.override(value);\n\t}\n\n\tget filterTitle() {\n\t\treturn this._filterTitle.value;\n\t}\n\n\t/**\n\t * Notifies that the column should be sorted\n\t */\n\t@Output() sort = new EventEmitter();\n\n\t@HostBinding(\"class.thead_action\") theadAction = false;\n\n\tprotected _sortDescendingLabel = this.i18n.getOverridable(\"TABLE.SORT_DESCENDING\");\n\tprotected _sortAscendingLabel = this.i18n.getOverridable(\"TABLE.SORT_ASCENDING\");\n\tprotected _filterTitle = this.i18n.getOverridable(\"TABLE.FILTER\");\n\n\tconstructor(protected i18n: I18n) { }\n\n\tngOnChanges() {\n\t\t// Since it's not an input, and it touches the view, we're using `ngOnChanges`\n\t\t// `get`ters have caused issues in the past with the view updating outside of change detection\n\t\tthis.theadAction = !!this.column.filterTemplate || this.sort.observers.length > 0;\n\t}\n\n\tgetSortDescendingLabel(): Observable<string> {\n\t\treturn this._sortDescendingLabel.subject.pipe(this.sortLabelMap());\n\t}\n\n\tgetSortAscendingLabel(): Observable<string> {\n\t\treturn this._sortAscendingLabel.subject.pipe(this.sortLabelMap());\n\t}\n\n\tgetFilterTitle(): Observable<string> {\n\t\treturn this._filterTitle.subject;\n\t}\n\n\tprotected sortLabelMap() {\n\t\treturn map((str: string) => {\n\t\t\tif (this.column.ariaSortLabel) {\n\t\t\t\treturn this.column.ariaSortLabel;\n\t\t\t}\n\t\t\tif (this.column.formatSortLabel) {\n\t\t\t\treturn this.column.formatSortLabel(str, this.column.ariaSortLabel);\n\t\t\t}\n\t\t\treturn `${this.column.data} - ${str}`;\n\t\t});\n\t}\n}\n","import {\n\tComponent,\n\tInput,\n\tOutput,\n\tHostBinding,\n\tEventEmitter\n} from \"@angular/core\";\nimport { I18n, Overridable } from \"./../../i18n/i18n.module\";\nimport { Observable } from \"rxjs\";\n\n@Component({\n\t// tslint:disable-next-line: component-selector\n\tselector: \"[ibmTableHeadCheckbox]\",\n\ttemplate: `\n\t\t<ibm-checkbox\n\t\t\t*ngIf=\"!skeleton\"\n\t\t\tinline=\"true\"\n\t\t\t[size]=\"(size !== 'sm' ? 'md' : 'sm')\"\n\t\t\t[checked]=\"checked\"\n\t\t\t[indeterminate]=\"indeterminate\"\n\t\t\t(change)=\"change.emit()\"\n\t\t\t[aria-label]=\"getAriaLabel() | async\">\n\t\t</ibm-checkbox>\n\t`\n})\nexport class TableHeadCheckbox {\n\t/**\n\t * Size of the table rows.\n\t */\n\t@Input() size: \"sm\" | \"sh\" | \"md\" | \"lg\" = \"md\";\n\n\t@Input() checked = false;\n\n\t@Input() indeterminate = false;\n\n\t@Input() skeleton = false;\n\n\t@Input()\n\tset ariaLabel(value: string | Observable<string>) {\n\t\tthis._ariaLabel.override(value);\n\t}\n\n\tget ariaLabel() {\n\t\treturn this._ariaLabel.value;\n\t}\n\n\t@Output() change = new EventEmitter<boolean>();\n\n\t@HostBinding(\"class.bx--table-column-checkbox\") hostClass = true;\n\n\t@HostBinding(\"attr.style\") hostStyle = \"width: 10px;\";\n\n\tprotected _ariaLabel = this.i18n.getOverridable(\"TABLE.CHECKBOX_HEADER\");\n\n\tconstructor(protected i18n: I18n) { }\n\n\tgetAriaLabel(): Observable<string> {\n\t\treturn this._ariaLabel.subject;\n\t}\n}\n","import {\n\tComponent,\n\tHostBinding\n} from \"@angular/core\";\n\n@Component({\n\t// tslint:disable-next-line: component-selector\n\tselector: \"[ibmTableHeadExpand]\",\n\ttemplate: `\n\t\t<ng-content></ng-content>\n\t`\n})\nexport class TableHeadExpand {\n\t@HostBinding(\"class.bx--table-expand\") hostClass = true;\n}\n","import {\n\tComponent,\n\tInput,\n\tOutput,\n\tEventEmitter\n} from \"@angular/core\";\n\nimport { TableModel } from \"../table.module\";\nimport { I18n, Overridable } from \"../../i18n/i18n.module\";\nimport { Observable } from \"rxjs\";\n\n/**\n * A subcomponent that creates the thead of the table\n *\n * ## Basic usage\n *\n * ```html\n * \t<thead ibmTableHead [model]=\"model\"></thead>\n * ```\n */\n@Component({\n\t// tslint:disable-next-line:component-selector\n\tselector: \"[ibmTableHead]\",\n\ttemplate: `\n\t<ng-container *ngIf=\"model\">\n\t\t<tr>\n\t\t\t<th ibmTableHeadExpand *ngIf=\"model.hasExpandableRows()\"></th>\n\t\t\t<th\n\t\t\t\tibmTableHeadCheckbox\n\t\t\t\t*ngIf=\"!skeleton && showSelectionColumn\"\n\t\t\t\t[checked]=\"selectAllCheckbox\"\n\t\t\t\t[indeterminate]=\"selectAllCheckboxSomeSelected\"\n\t\t\t\t[ariaLabel]=\"getCheckboxHeaderLabel()\"\n\t\t\t\t[size]=\"size\"\n\t\t\t\t[skeleton]=\"skeleton\"\n\t\t\t\t(change)=\"onSelectAllCheckboxChange()\">\n\t\t\t</th>\n\t\t\t<ng-container *ngFor=\"let column of model.header; let i = index\">\n\t\t\t\t<th\n\t\t\t\t\tibmTableHeadCell\n\t\t\t\t\t[column]=\"column\"\n\t\t\t\t\t[filterTitle]=\"getFilterTitle()\"\n\t\t\t\t\t(sort)=\"sort.emit(i)\"\n\t\t\t\t\t*ngIf=\"column.visible\"\n\t\t\t\t\t[class]=\"column.className\"\n\t\t\t\t\t[ngStyle]=\"column.style\">\n\t\t\t\t</th>\n\t\t\t</ng-container>\n\t\t\t<th *ngIf=\"!skeleton && stickyHeader\" [ngStyle]=\"{'width': scrollbarWidth + 'px', 'padding': 0, 'border': 0}\">\n\t\t\t\t<!--\n\t\t\t\t\tScrollbar pushes body to the left so this header column is added to push\n\t\t\t\t\tthe title bar the same amount and keep the header and body columns aligned.\n\t\t\t\t-->\n\t\t\t</th>\n\t\t</tr>\n\t</ng-container>\n\t<ng-content></ng-content>\n\t`\n})\nexport class TableHead {\n\t@Input() model: TableModel;\n\n\t@Input() showSelectionColumn = true;\n\n\t@Input() selectAllCheckboxSomeSelected = false;\n\n\t@Input() selectAllCheckbox = false;\n\n\t@Input() skeleton = false;\n\n\t@Input() stickyHeader = false;\n\n\t/**\n\t * Size of the table rows.\n\t */\n\t@Input() size: \"sm\" | \"sh\" | \"md\" | \"lg\" = \"md\";\n\n\t@Input()\n\tset checkboxHeaderLabel(value: string | Observable<string>) {\n\t\tthis._checkboxHeaderLabel.override(value);\n\t}\n\n\tget checkboxHeaderLabel() {\n\t\treturn this._checkboxHeaderLabel.value;\n\t}\n\n\t@Input()\n\tset sortDescendingLabel(value: string | Observable<string>) {\n\t\tthis._sortDescendingLabel.override(value);\n\t}\n\n\tget sortDescendingLabel() {\n\t\treturn this._sortDescendingLabel.value;\n\t}\n\n\t@Input()\n\tset sortAscendingLabel(value: string | Observable<string>) {\n\t\tthis._sortAscendingLabel.override(value);\n\t}\n\n\tget sortAscendingLabel() {\n\t\treturn this._sortAscendingLabel.value;\n\t}\n\n\t@Input()\n\tset filterTitle(value: string | Observable<string>) {\n\t\tthis._filterTitle.override(value);\n\t}\n\n\tget filterTitle() {\n\t\treturn this._filterTitle.value;\n\t}\n\n\t/**\n\t * Emits an index of the column that wants to be sorted.\n\t */\n\t@Output() sort = new EventEmitter<number>();\n\t/**\n\t * Emits if all rows are selected.\n\t *\n\t * @param model\n\t */\n\t@Output() selectAll = new EventEmitter<TableModel>();\n\t/**\n\t * Emits if all rows are deselected.\n\t *\n\t * @param model\n\t */\n\t@Output() deselectAll = new EventEmitter<TableModel>();\n\n\tpublic scrollbarWidth = 0;\n\n\tprotected _checkboxHeaderLabel = this.i18n.getOverridable(\"TABLE.CHECKBOX_HEADER\");\n\tprotected _sortDescendingLabel = this.i18n.getOverridable(\"TABLE.SORT_DESCENDING\");\n\tprotected _sortAscendingLabel = this.i18n.getOverridable(\"TABLE.SORT_ASCENDING\");\n\tprotected _filterTitle = this.i18n.getOverridable(\"TABLE.FILTER\");\n\n\tconstructor(protected i18n: I18n) {}\n\n\tonSelectAllCheckboxChange() {\n\t\tif (!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\t}\n\n\tgetCheckboxHeaderLabel(): Observable<string> {\n\t\treturn this._checkboxHeaderLabel.subject;\n\t}\n\n\tgetSortDescendingLabel(): Observable<string> {\n\t\treturn this._sortDescendingLabel.subject;\n\t}\n\n\tgetSortAscendingLabel(): Observable<string> {\n\t\treturn this._sortAscendingLabel.subject;\n\t}\n\n\tgetFilterTitle(): Observable<string> {\n\t\treturn this._filterTitle.subject;\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 {\n\tTemplateRef,\n\tComponent,\n\tViewChild,\n\tOnInit,\n\tInput\n} from \"@angular/core\";\nimport { TableModel } from \"../table-model.class\";\nimport { TableItem } from \"../table-item.class\";\nimport { TableHeaderItem } from \"../table-header-item.class\";\nimport { clone } from \"./../../utils/utils\";\n\nexport class 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@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})\nexport class 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(null).map(() => new TableItem({ data: `Column ${this.model.row(0).length}` }));\n\t\tthis.model.addColumn(column);\n\t}\n}\n","import {\n\tTemplateRef,\n\tComponent,\n\tViewChild,\n\tOnInit,\n\tInput\n} from \"@angular/core\";\nimport { TableModel } from \"../table-model.class\";\nimport { TableItem } from \"../table-item.class\";\nimport { TableHeaderItem } from \"../table-header-item.class\";\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@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})\nexport class 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","import {\n\tComponent,\n\tOnInit,\n\tInput,\n\tOnChanges,\n\tSimpleChanges\n} from \"@angular/core\";\nimport { TableModel } from \"../table-model.class\";\nimport { TableHeaderItem } from \"../table-header-item.class\";\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-no-data-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})\nexport class TableNoDataStory 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(this.model, index);\n\t}\n}\n","import {\n\tTemplateRef,\n\tComponent,\n\tViewChild,\n\tOnInit,\n\tInput\n} from \"@angular/core\";\nimport { TableModel } from \"../table-model.class\";\nimport { TableItem } from \"../table-item.class\";\nimport { TableHeaderItem } from \"../table-header-item.class\";\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})\nexport class 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","import {\n\tTemplateRef,\n\tComponent,\n\tViewChild,\n\tOnInit,\n\tInput\n} from \"@angular/core\";\nimport { TableModel } from \"../table-model.class\";\nimport { TableHeaderItem } from \"../table-header-item.class\";\nimport { TableItem } from \"../table-item.class\";\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})\nexport class 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","import {\n\tTemplateRef,\n\tComponent,\n\tViewChild,\n\tOnInit,\n\tInput,\n\tOnChanges,\n\tSimpleChanges\n} from \"@angular/core\";\nimport { TableModel } from \"../table-model.class\";\nimport { Table } from \"../table.module\";\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})\nexport class 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","import {\n\tComponent,\n\tOnInit,\n\tInput,\n\tOnChanges,\n\tSimpleChanges\n} from \"@angular/core\";\nimport { TableModel } from \"../table-model.class\";\nimport { TableHeaderItem } from \"../table-header-item.class\";\nimport { TableItem } from \"../table-item.class\";\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-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})\nexport class 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\t@Input() noData = 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\n\t\tif (!this.noData) {\n\t\t\tthis.model.data = [\n\t\t\t\t[new TableItem({ data: \"Name 1\" }), new TableItem({ data: \"qwer\" })],\n\t\t\t\t[new TableItem({ data: \"Name 3\" }), new TableItem({ data: \"zwer\" })],\n\t\t\t\t[new TableItem({ data: \"Name 2\" }), new TableItem({ data: \"swer\" })],\n\t\t\t\t[new TableItem({ data: \"Name 4\" }), new TableItem({ data: \"twer\" })]\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(this.model, index);\n\t}\n}\n","export * from \"./app-custom-table.component\";\nexport * from \"./app-expansion-table.component\";\nexport * from \"./app-overflow-table.component\";\nexport * from \"./app-pagination-table.component\";\nexport * from \"./app-skeleton-table.component\";\nexport * from \"./app-table.component\";\nexport * from \"./app-no-data.component\";\n","/**\n * An abstract class that represents a cell in a table\n */\nexport abstract class TableCellAdapter {\n\t/**\n\t * The index of the cell in the table\n\t */\n\tcellIndex: number;\n\t/**\n\t * The number of columns spanned by this cell\n\t */\n\tcolSpan: number;\n}\n\n/**\n * An abstract class that represents a row in a table\n */\nexport abstract class TableRowAdapter {\n\t/**\n\t * The index of the row in the table\n\t */\n\trowIndex: number;\n\t/**\n\t * An array (or `HTMLCollection`) of `TableCellAdapter`s\n\t */\n\tcells: HTMLCollection | TableCellAdapter[];\n}\n\n/**\n * An abstract representation of a table that provides\n * a standard interface to query 2d tables for cell and row information.\n */\nexport abstract class TableAdapter {\n\t/**\n\t * The last acccessible column in the table\n\t */\n\tpublic get lastColumnIndex(): number { return; }\n\n\t/**\n\t * The last accessible row in the table\n\t */\n\tpublic get lastRowIndex(): number { return; }\n\n\t/**\n\t * Returns a cell from the table\n\t *\n\t * @param row index of the row\n\t * @param column index of the column\n\t */\n\tgetCell(row: number, column: number): TableCellAdapter { return; }\n\n\t/**\n\t * Returns a row from the table\n\t *\n\t * @param row index of the row\n\t */\n\tgetRow(row: number): TableRowAdapter { return; }\n\n\t/**\n\t * Finds the column index of a given cell\n\t *\n\t * @param cell the cell to search for\n\t */\n\tfindColumnIndex(cell: TableCellAdapter): number { return; }\n\n\t/**\n\t * Finds the row index of a given cell\n\t *\n\t * @param cell the cell to search for\n\t */\n\tfindRowIndex(cell: TableCellAdapter): number { return; }\n\n\t/**\n\t * Finds the row and column index of a given cell\n\t *\n\t * @param cell the cell to search for\n\t * @returns a tuple that follows the `[row, column]` convention\n\t */\n\tfindIndex(cell: TableCellAdapter): [number, number] { return; }\n}\n\n/**\n * A concrete implementation of `TableAdapter`\n *\n * Provides standard and consistent access to table cells and rows\n */\nexport class TableDomAdapter implements TableAdapter {\n\t/**\n\t * The last acccessible column in the table\n\t */\n\tpublic get lastColumnIndex() {\n\t\treturn this.tableElement.rows[0].cells.length - 1;\n\t}\n\n\t/**\n\t * The last accessible row in the table\n\t */\n\tpublic get lastRowIndex() {\n\t\treturn this.tableElement.rows.length - 1;\n\t}\n\n\t/**\n\t * `TableDomAdapter` works on a normal HTML table structure.\n\t * Custom tables that don't follow the standard structure should use a custom implementation of `TableAdapter`.\n\t *\n\t * The standard structure allows us to directly query rows for cells and indexes - though we do have to handle colspans specially.\n\t *\n\t * @param tableElement the root HTML table element.\n\t */\n\tconstructor(public tableElement: HTMLTableElement) { }\n\n\t/**\n\t * Returns a cell from the table taking colspans in to account.\n\t *\n\t * @param row index of the row\n\t * @param column index of the column\n\t */\n\tgetCell(row: number, column: number): HTMLTableCellElement {\n\t\tconst baseRow = this.getRow(row);\n\t\tlet baseCells = Array.from(baseRow.cells);\n\n\t\t// rows can have fewer total cells than the actual table\n\t\t// the model pretends all rows behave the same (with colspans > 1 being N cells long)\n\t\t// this maps that view to the HTML view (colspans > 1 are one element, so the array is shorter)\n\t\tlet realIndex = 0;\n\t\t// i is only used for iterating the \"cells\"\n\t\tfor (let i = 0; i < column;) {\n\t\t\t// skip the next N \"cells\"\n\t\t\ti += baseCells[realIndex].colSpan;\n\t\t\t// don't bump realIndex if i now exceeds the column we're shooting for\n\t\t\tif (i > column) { break; }\n\t\t\t// finally, increment realIndex (to keep it generally in step with i)\n\t\t\trealIndex++;\n\t\t}\n\t\treturn baseCells[realIndex];\n\t}\n\n\t/**\n\t * Returns a row from the table\n\t *\n\t * @param row index of the row\n\t */\n\tgetRow(row: number): HTMLTableRowElement {\n\t\treturn this.tableElement.rows[row];\n\t}\n\n\t/**\n\t * Finds the column index of a given cell\n\t *\n\t * @param cell the cell to search for\n\t */\n\tfindColumnIndex(cell: HTMLTableCellElement): number {\n\t\tconst row = this.getRow(this.findRowIndex(cell));\n\t\tlet cellIndex = 0;\n\t\tfor (const c of Array.from(row.cells)) {\n\t\t\tif (c === cell) { break; }\n\t\t\tcellIndex += c.colSpan;\n\t\t}\n\t\treturn cellIndex;\n\t}\n\n\t/**\n\t * Finds the row index of a given cell\n\t *\n\t * @param cell the cell to search for\n\t */\n\tfindRowIndex(cell: HTMLTableCellElement): number {\n\t\tfor (const row of Array.from(this.tableElement.rows)) {\n\t\t\tif (row.contains(cell)) {\n\t\t\t\treturn row.rowIndex;\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Finds the row and column index of a given cell\n\t *\n\t * @param cell the cell to search for\n\t * @returns a tuple that follows the `[row, column]` convention\n\t */\n\tfindIndex(cell: HTMLTableCellElement): [number, number] {\n\t\treturn [this.findRowIndex(cell), this.findColumnIndex(cell)];\n\t}\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 */\n\tvisible = true;\n\n\t/**\n\t * Disables sorting by default.\n\t *\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 */\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 */\n\tfilterCount = 0;\n\n\t/**\n\t * Attach a class to the column, both the header and column cells.\n\t *\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 */\n\tstyle = {};\n\n\t/**\n\t * If true, sort is set to ascending, if false descending will be true.\n\t *\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 */\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\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\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 */\n\ttemplate: TemplateRef<any>;\n\n\t/**\n\t * The label for the sort button\n\t */\n\tariaSortLabel: string;\n\n\t/**\n\t * A callback function to format the sort label. Will be heavily called.\n\t */\n\tformatSortLabel: (label: string, staticLabel?: string) => string;\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\tfilterTemplate: TemplateRef<any>;\n\n\t/**\n\t * Used along with `filterTemplate` to construct the filter popover\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\tfilterData: any;\n\n\t/**\n\t * used in `ascending`\n\t *\n\t * @protected\n\t */\n\tprotected _ascending = true;\n\n\t/**\n\t * Creates an instance of 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 * < 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 */\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 * `true` to hide the row\n\t * `false` to show the row\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\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\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\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 */\n\texpandedTemplate: TemplateRef<any>;\n\n\t/**\n\t * Creates an instance of 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\tset data(newData: 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).fill(false);\n\t\tthis.rowsExpanded = new Array<boolean>(this._data.length).fill(false);\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<number>();\n\trowsExpandedChange = new EventEmitter<number>();\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\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\trowsSelected: Array<boolean>;\n\n\t/**\n\t * Contains information about expanded state of rows in the table.\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\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\trowsClass: Array<string>;\n\n\t/**\n\t * Contains information about the header cells of the table.\n\t */\n\theader: TableHeaderItem[];\n\n\t/**\n\t * Tracks the current page of the table.\n\t */\n\tcurrentPage: number;\n\n\t/**\n\t * Length of page of the table.\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\tisEnd = false;\n\n\t/**\n\t * Set to true when lazy loading to show loading indicator\n\t */\n\tisLoading = false;\n\n\t/**\n\t * Absolute total number of rows of the table.\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 display.\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 behavior.\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\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\tprotected _data: TableItem[][] = [[]];\n\n\t/**\n\t * Returns how many rows is currently selected\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\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 index\n\t */\n\trow(index: number): 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 [row]\n\t * @param [index]\n\t */\n\taddRow(row?: 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 index\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\tisRowExpanded(index: number) {\n\t\treturn this.rowsExpanded[index];\n\t}\n\n\tgetRowContext(index: number) {\n\t\treturn this.rowsContext[index];\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 index\n\t */\n\tcolumn(index: number): 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 [column]\n\t * @param [index]\n\t */\n\taddColumn(column?: 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 index\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 index The column based on which it's sorting\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\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\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 index\n\t * @returns true if any of the filters in header filters out the `index`th row\n\t */\n\tisRowFiltered(index: number): boolean {\n\t\tconst realIndex = this.realRowIndex(index);\n\t\treturn this.header.some((item, i) => item.filter(this.row(realIndex)[i]));\n\t}\n\n\t/**\n\t * Select/deselect `index`th row based on value\n\t *\n\t * @param index index of the row to select\n\t * @param value state to set the row to. Defaults to `true`\n\t */\n\tselectRow(index: number, value = true) {\n\t\tthis.rowsSelected[index] = value;\n\t\tthis.rowsSelectedChange.emit(index);\n\t}\n\n\t/**\n\t * Selects or deselects all rows in the model\n\t *\n\t * @param value state to set all rows to. Defaults to `true`\n\t */\n\tselectAll(value = true) {\n\t\tfor (let i = 0; i < this.rowsSelected.length; i++) {\n\t\t\tthis.selectRow(i, value);\n\t\t}\n\t}\n\n\tisRowSelected(index: number) {\n\t\treturn this.rowsSelected[index];\n\t}\n\n\t/**\n\t * Expands/Collapses `index`th row based on value\n\t *\n\t * @param index index of the row to expand or collapse\n\t * @param value expanded state of the row. `true` is expanded and `false` is collapsed\n\t */\n\texpandRow(index: number, 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 * @param index\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 * @param index\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 * @param index\n\t * @param length\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\tElementRef,\n\tAfterViewInit,\n\tTemplateRef,\n\tOnDestroy\n} from \"@angular/core\";\nimport { Subscription, fromEvent, Observable } from \"rxjs\";\n\nimport { TableModel } from \"./table.module\";\nimport { TableHeaderItem } from \"./table-header-item.class\";\nimport { TableItem } from \"./table-item.class\";\n\nimport { getFocusElementList, tabbableSelectorIgnoreTabIndex } from \"../common/tab.service\";\nimport { I18n, Overridable } from \"./../i18n/i18n.module\";\nimport { merge } from \"./../utils/object\";\nimport { DataGridInteractionModel } from \"./data-grid-interaction-model.class\";\nimport { TableDomAdapter } from \"./table-adapter.class\";\n\nexport interface TableTranslations {\n\tFILTER: string;\n\tEND_OF_DATA: string;\n\tSCROLL_TOP: string;\n\tCHECKBOX_HEADER: string;\n\tCHECKBOX_ROW: string;\n}\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@Component({\n\tselector: \"ibm-table\",\n\ttemplate: `\n\t<table\n\t\tibmTable\n\t\tsortable=\"true\"\n\t\t[size]=\"size\"\n\t\t[striped]=\"striped\"\n\t\t[skeleton]=\"skeleton\">\n\t\t<thead\n\t\t\tibmTableHead\n\t\t\t(deselectAll)=\"onDeselectAll()\"\n\t\t\t(selectAll)=\"onSelectAll()\"\n\t\t\t(sort)=\"sort.emit($event)\"\n\t\t\t[checkboxHeaderLabel]=\"getCheckboxHeaderLabel()\"\n\t\t\t[filterTitle]=\"getFilterTitle()\"\n\t\t\t[model]=\"model\"\n\t\t\t[size]=\"size\"\n\t\t\t[selectAllCheckbox]=\"selectAllCheckbox\"\n\t\t\t[selectAllCheckboxSomeSelected]=\"selectAllCheckboxSomeSelected\"\n\t\t\t[showSelectionColumn]=\"showSelectionColumn\"\n\t\t\t[skeleton]=\"skeleton\"\n\t\t\t[sortAscendingLabel]=\"sortAscendingLabel\"\n\t\t\t[sortDescendingLabel]=\"sortDescendingLabel\"\n\t\t\t[stickyHeader]=\"stickyHeader\">\n\t\t</thead>\n\t\t<tbody\n\t\t\tibmTableBody\n\t\t\t(deselectRow)=\"onSelectRow($event)\"\n\t\t\t(scroll)=\"onScroll($event)\"\n\t\t\t(selectRow)=\"onSelectRow($event)\"\n\t\t\t[checkboxRowLabel]=\"getCheckboxRowLabel()\"\n\t\t\t[enableSingleSelect]=\"enableSingleSelect\"\n\t\t\t[expandButtonAriaLabel]=\"expandButtonAriaLabel\"\n\t\t\t[model]=\"model\"\n\t\t\t[size]=\"size\"\n\t\t\t[ngStyle]=\"{'overflow-y': 'scroll'}\"\n\t\t\t[selectionLabelColumn]=\"selectionLabelColumn\"\n\t\t\t[showSelectionColumn]=\"showSelectionColumn\"\n\t\t\t[skeleton]=\"skeleton\"\n\t\t\t*ngIf=\"!noData; else noDataTemplate\">\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>{{getEndOfDataText() | async}}</h5>\n\t\t\t\t\t<button (click)=\"scrollToTop($event)\" class=\"btn--secondary-sm\">\n\t\t\t\t\t\t{{getScrollTopText() | 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, OnDestroy {\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\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\tstatic focus(element: HTMLElement) {\n\t\tconst focusElementList = getFocusElementList(element, tabbableSelectorIgnoreTabIndex);\n\t\tif (element.firstElementChild && element.firstElementChild.classList.contains(\"bx--table-sort\")) {\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/**\n\t * `TableModel` with data the table is to display.\n\t */\n\t@Input()\n\tset model(m: TableModel) {\n\t\tif (this._model) {\n\t\t\tthis.subscriptions.unsubscribe();\n\t\t}\n\n\t\tthis._model = m;\n\n\t\tconst rowsChange = this._model.rowsSelectedChange.subscribe(() => this.updateSelectAllCheckbox());\n\t\tconst dataChange = this._model.dataChange.subscribe(() => {\n\t\t\tif (this.isDataGrid) {\n\t\t\t\tthis.resetTabIndex();\n\t\t\t}\n\t\t\tthis.updateSelectAllCheckbox();\n\t\t});\n\n\t\tthis.subscriptions.add(rowsChange);\n\t\tthis.subscriptions.add(dataChange);\n\n\t\tif (this.isDataGrid) {\n\t\t\tconst expandedChange = this._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\tthis.subscriptions.add(expandedChange);\n\t\t}\n\t}\n\n\tget model(): TableModel {\n\t\treturn this._model;\n\t}\n\n\t/**\n\t * Size of the table rows.\n\t */\n\t@Input() size: \"sm\" | \"sh\" | \"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() set isDataGrid(value: boolean) {\n\t\tthis._isDataGrid = value;\n\t\tif (this.isViewReady) {\n\t\t\tif (value) {\n\t\t\t\tthis.enableDataGridInteractions();\n\t\t\t} else {\n\t\t\t\tthis.disableDataGridInteractions();\n\t\t\t}\n\t\t}\n\t}\n\n\tget isDataGrid(): boolean {\n\t\treturn this._isDataGrid;\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 favor 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@Input() showSelectionColumn = true;\n\n\t/**\n\t * Controls whether to enable multiple or single row selection.\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@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: string | Observable<string>) {\n\t\tthis._expandButtonAriaLabel.override(value);\n\t}\n\tget expandButtonAriaLabel() {\n\t\treturn this._expandButtonAriaLabel.value;\n\t}\n\t@Input()\n\tset sortDescendingLabel(value: string | Observable<string>) {\n\t\tthis._sortDescendingLabel.override(value);\n\t}\n\tget sortDescendingLabel() {\n\t\treturn this._sortDescendingLabel.value;\n\t}\n\t@Input()\n\tset sortAscendingLabel(value: string | Observable<string>) {\n\t\tthis._sortAscendingLabel.override(value);\n\t}\n\tget sortAscendingLabel() {\n\t\treturn this._sortAscendingLabel.value;\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\tconst valueWithDefaults = merge(this.i18n.getMultiple(\"TABLE\"), value);\n\t\tthis._filterTitle.override(valueWithDefaults.FILTER);\n\t\tthis._endOfDataText.override(valueWithDefaults.END_OF_DATA);\n\t\tthis._scrollTopText.override(valueWithDefaults.SCROLL_TOP);\n\t\tthis._checkboxHeaderLabel.override(valueWithDefaults.CHECKBOX_HEADER);\n\t\tthis._checkboxRowLabel.override(valueWithDefaults.CHECKBOX_ROW);\n\t}\n\n\t/**\n\t * Set to `false` to remove table rows (zebra) stripes.\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 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 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 ({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 ({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@Output() scrollLoad = new EventEmitter<TableModel>();\n\n\t/**\n\t * Controls if all checkboxes are viewed as selected.\n\t */\n\tselectAllCheckbox = false;\n\n\t/**\n\t * Controls the indeterminate state of the header checkbox.\n\t */\n\tselectAllCheckboxSomeSelected = false;\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\tpublic isColumnDragging = false;\n\tpublic columnDraggedHoverIndex = -1;\n\tpublic columnDraggedPosition = \"\";\n\n\tprotected _model: TableModel;\n\tprotected _isDataGrid = false;\n\t// flag to prevent getters/setters from querying the view before it's fully instantiated\n\tprotected isViewReady = false;\n\n\tprotected subscriptions = new Subscription();\n\tprotected positionSubscription: Subscription;\n\n\tprotected interactionModel: DataGridInteractionModel;\n\tprotected interactionPositionSubscription: Subscription;\n\n\tprotected _expandButtonAriaLabel = this.i18n.getOverridable(\"TABLE.EXPAND_BUTTON\");\n\tprotected _sortDescendingLabel = this.i18n.getOverridable(\"TABLE.SORT_DESCENDING\");\n\tprotected _sortAscendingLabel = this.i18n.getOverridable(\"TABLE.SORT_ASCENDING\");\n\tprotected _checkboxHeaderLabel = this.i18n.getOverridable(\"TABLE.CHECKBOX_HEADER\");\n\tprotected _checkboxRowLabel = this.i18n.getOverridable(\"TABLE.CHECKBOX_ROW\");\n\tprotected _endOfDataText = this.i18n.getOverridable(\"TABLE.END_OF_DATA\");\n\tprotected _scrollTopText = this.i18n.getOverridable(\"TABLE.SCROLL_TOP\");\n\tprotected _filterTitle = this.i18n.getOverridable(\"TABLE.FILTER\");\n\n\tprotected columnResizeWidth: number;\n\tprotected columnResizeMouseX: number;\n\tprotected mouseMoveSubscription: Subscription;\n\tprotected mouseUpSubscription: Subscription;\n\n\t/**\n\t * Creates an instance of Table.\n\t */\n\tconstructor(\n\t\tprotected elementRef: ElementRef,\n\t\tprotected applicationRef: ApplicationRef,\n\t\tprotected i18n: I18n\n\t) {}\n\n\tngAfterViewInit() {\n\t\tthis.isViewReady = true;\n\t\tif (this.isDataGrid) {\n\t\t\tthis.enableDataGridInteractions();\n\t\t}\n\t}\n\n\tngOnDestroy() {\n\t\tthis.subscriptions.unsubscribe();\n\t\tif (this.positionSubscription) {\n\t\t\tthis.positionSubscription.unsubscribe();\n\t\t}\n\t}\n\n\tenableDataGridInteractions() {\n\t\t// if we have an `interactioModel` we've already enabled datagrid\n\t\tif (this.interactionModel) {\n\t\t\treturn;\n\t\t}\n\t\tconst table = this.elementRef.nativeElement.querySelector(\"table\") as HTMLTableElement;\n\t\tconst tableAdapter = new TableDomAdapter(table);\n\t\tconst keydownEventStream = fromEvent<KeyboardEvent>(table, \"keydown\");\n\t\tconst clickEventStream = fromEvent<MouseEvent>(table, \"click\");\n\t\tthis.interactionModel = new DataGridInteractionModel(keydownEventStream, clickEventStream, tableAdapter);\n\t\tthis.positionSubscription = this.interactionModel.position.subscribe(event => {\n\t\t\tconst [currentRow, currentColumn] = event.current;\n\t\t\tconst [previousRow, previousColumn] = event.previous;\n\n\t\t\tconst currentElement = tableAdapter.getCell(currentRow, currentColumn);\n\t\t\tTable.setTabIndex(currentElement, 0);\n\n\t\t\t// if the model has just initialized don't focus or reset anything\n\t\t\tif (previousRow === -1 || previousColumn === -1) { return; }\n\n\t\t\tconst previousElement = tableAdapter.getCell(previousRow, previousColumn);\n\t\t\tTable.setTabIndex(previousElement, -1);\n\t\t\tTable.focus(currentElement);\n\t\t});\n\t\t// call this after assigning `this.interactionModel` since it depends on it\n\t\tthis.resetTabIndex();\n\t}\n\n\tdisableDataGridInteractions() {\n\t\t// unsubscribe first so we don't cause the focus to fly around\n\t\tif (this.positionSubscription) {\n\t\t\tthis.positionSubscription.unsubscribe();\n\t\t}\n\t\t// undo tab indexing (also resets the model)\n\t\tthis.resetTabIndex(0);\n\t\t// null out the model ref\n\t\tthis.interactionModel = null;\n\t}\n\n\tonSelectAll() {\n\t\tthis.model.selectAll(true);\n\t\tthis.selectAll.emit(this.model);\n\t}\n\n\tonDeselectAll() {\n\t\tthis.model.selectAll(false);\n\t\tthis.deselectAll.emit(this.model);\n\t}\n\n\tonSelectRow(event) {\n\t\t// check for the existence of the selectedRowIndex property\n\t\tif (Object.keys(event).includes(\"selectedRowIndex\")) {\n\t\t\tthis.model.selectRow(event.selectedRowIndex, true);\n\t\t\tthis.selectRow.emit(event);\n\n\t\t\tif (!this.showSelectionColumn && this.enableSingleSelect) {\n\t\t\t\tconst index = event.selectedRowIndex;\n\t\t\t\tthis.model.rowsSelected.forEach((_, index) => {\n\t\t\t\t\tthis.model.selectRow(index, false);\n\t\t\t\t});\n\t\t\t\tthis.model.selectRow(index, !this.model.rowsSelected[index]);\n\t\t\t}\n\t\t} else {\n\t\t\tthis.model.selectRow(event.deselectedRowIndex, false);\n\t\t\tthis.deselectRow.emit(event);\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} else {\n\t\t\tthis.selectAllCheckbox = true;\n\t\t\tthis.selectAllCheckboxSomeSelected = false;\n\t\t}\n\t}\n\n\tresetTabIndex(newTabIndex = -1) {\n\t\t// ensure the view is ready for the reset before we preform the actual reset\n\t\tsetTimeout(() => {\n\t\t\t// reset all the tabIndexes we can find\n\t\t\tconst focusElementList = getFocusElementList(this.elementRef.nativeElement, tabbableSelectorIgnoreTabIndex);\n\t\t\tif (focusElementList) {\n\t\t\t\tfocusElementList.forEach(tabbable => {\n\t\t\t\t\ttabbable.tabIndex = newTabIndex;\n\t\t\t\t});\n\t\t\t}\n\t\t\t// reset interaction model positions and tabIndexes\n\t\t\tif (this.interactionModel) {\n\t\t\t\tthis.interactionModel.resetTabIndexes(newTabIndex);\n\t\t\t}\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\t/**\n\t * Triggered when the user scrolls on the `<tbody>` element.\n\t * Emits the `scrollLoad` 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\t/**\n\t * Triggered when the user scrolls on the `<tbody>` element.\n\t * Emits the `scrollLoad` 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\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\tgetExpandButtonAriaLabel() {\n\t\treturn this._expandButtonAriaLabel.subject;\n\t}\n\tgetSortDescendingLabel() {\n\t\treturn this._sortDescendingLabel.subject;\n\t}\n\tgetSortAscendingLabel() {\n\t\treturn this._sortAscendingLabel.subject;\n\t}\n\n\tgetCheckboxHeaderLabel() {\n\t\treturn this._checkboxHeaderLabel.subject;\n\t}\n\n\tgetCheckboxRowLabel() {\n\t\treturn this._checkboxRowLabel.subject;\n\t}\n\n\tgetEndOfDataText() {\n\t\treturn this._endOfDataText.subject;\n\t}\n\n\tgetScrollTopText() {\n\t\treturn this._scrollTopText.subject;\n\t}\n\n\tgetFilterTitle() {\n\t\treturn this._filterTitle.subject;\n\t}\n\n}\n","import { Directive, HostBinding, Input } from \"@angular/core\";\n\n@Directive({\n\tselector: \"[ibmTable]\"\n})\nexport class TableDirective {\n\t@Input() @HostBinding(\"class.bx--data-table--sort\") sortable = true;\n\n\t@Input() @HostBinding(\"class.bx--data-table--zebra\") striped = false;\n\n\t@Input() @HostBinding(\"class.bx--skeleton\") skeleton = false;\n\n\t/**\n\t * Size of the table rows.\n\t */\n\t@Input() size: \"sm\" | \"sh\" | \"md\" | \"lg\" = \"md\";\n\n\t@HostBinding(\"class.bx--data-table\") tableClass = true;\n\n\t@HostBinding(\"class.bx--data-table--compact\") get compactClass() {\n\t\treturn this.size === \"sm\";\n\t}\n\n\t@HostBinding(\"class.bx--data-table--tall\") get tallClass() {\n\t\treturn this.size === \"lg\";\n\t}\n\n\t@HostBinding(\"class.bx--data-table--short\") get shortClass() {\n\t\treturn this.size === \"sh\";\n\t}\n}\n","// modules\nimport { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule } from \"@angular/forms\";\n\n// icons\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\n// internal module imports\nimport { NFormsModule } from \"./../forms/forms.module\";\nimport { DialogModule } from \"./../dialog/dialog.module\";\nimport { I18nModule } from \"./../i18n/i18n.module\";\nimport { ButtonModule, SearchModule } from \"../\";\n\n// table utilities/toolbar imports\nimport { TableToolbar } from \"./toolbar/table-toolbar.component\";\nimport { TableToolbarActions } from \"./toolbar/table-toolbar-actions.component\";\nimport { TableToolbarSearch } from \"./toolbar/table-toolbar-search.component\";\nimport { TableToolbarContent } from \"./toolbar/table-toolbar-content.component\";\n\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\";\n\nimport { DataGridFocus } from \"./data-grid-focus.directive\";\nimport { ExpandedRowHover } from \"./expanded-row-hover.directive\";\n\n// core table imports\nimport { Table } from \"./table.component\";\nimport { TableDirective } from \"./table.directive\";\nimport { TableHead } from \"./head/table-head.component\";\nimport { TableHeadCell } from \"./head/table-head-cell.component\";\nimport { TableHeadCheckbox } from \"./head/table-head-checkbox.component\";\nimport { TableHeadExpand } from \"./head/table-head-expand.component\";\nimport { TableBody } from \"./body/table-body.component\";\nimport { TableRowComponent } from \"./body/table-row.component\";\nimport { TableExpandedRow } from \"./body/table-expanded-row.component\";\nimport { TableData } from \"./cell/table-data.component\";\nimport { TableCheckbox } from \"./cell/table-checkbox.component\";\nimport { TableExpandButton } from \"./cell/table-expand-button.component\";\n\n// model exports\nexport { TableModel } from \"./table-model.class\";\nexport { TableItem } from \"./table-item.class\";\nexport { TableHeaderItem } from \"./table-header-item.class\";\nexport * from \"./table-adapter.class\";\nexport * from \"./data-grid-interaction-model.class\";\n\nexport {\n\t// toolbar and utility components\n\tTableToolbar,\n\tTableContainer,\n\tTableHeader,\n\tTableHeaderTitle,\n\tTableHeaderDescription,\n\tTableToolbarActions,\n\tTableToolbarSearch,\n\tTableToolbarContent,\n\tDataGridFocus,\n\tExpandedRowHover,\n\t// core table components\n\tTable,\n\tTableDirective,\n\tTableHead,\n\tTableHeadCell,\n\tTableHeadCheckbox,\n\tTableHeadExpand,\n\tTableBody,\n\tTableRowComponent,\n\tTableExpandedRow,\n\tTableData,\n\tTableCheckbox,\n\tTableExpandButton\n};\n\n@NgModule({\n\tdeclarations: [\n\t\t// toolbar and utility components\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\t// core table components\n\t\tTable,\n\t\tTableDirective,\n\t\tTableHead,\n\t\tTableHeadCell,\n\t\tTableHeadCheckbox,\n\t\tTableHeadExpand,\n\t\tTableBody,\n\t\tTableRowComponent,\n\t\tTableExpandedRow,\n\t\tTableData,\n\t\tTableCheckbox,\n\t\tTableExpandButton\n\t],\n\texports: [\n\t\t// toolbar and utility components\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\t// core table components\n\t\tTable,\n\t\tTableDirective,\n\t\tTableHead,\n\t\tTableHeadCell,\n\t\tTableHeadCheckbox,\n\t\tTableHeadExpand,\n\t\tTableBody,\n\t\tTableRowComponent,\n\t\tTableExpandedRow,\n\t\tTableData,\n\t\tTableCheckbox,\n\t\tTableExpandButton\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 { 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 {\\n TableStory,\\n DynamicTableStory,\\n ExpansionTableStory,\\n OverflowTableStory,\\n PaginationTableStory,\\n SkeletonTableStory,\\n TableNoDataStory,\\n} from './stories';\\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\\nconst getProps = (more = {}) => {\\n return Object.assign(\\n {},\\n {\\n model: simpleModel,\\n size: select('size', { Small: 'sm', Short: 'sh', 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', true),\\n },\\n more\\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 TableNoDataStory,\\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: getProps(),\\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-no-data-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-no-data-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: getProps({\\n model: emptyModel,\\n description: text('Description', 'With no data'),\\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: getProps({\\n description: text('Description', 'With toolbar'),\\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: getProps({\\n description: text('Description', 'With expansion'),\\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: getProps({\\n description: text('Description', 'With dynamic content'),\\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: getProps({\\n description: text('Description', 'With overflow menu'),\\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: getProps({\\n totalDataLength: number('totalDataLength', 105),\\n description: text('Description', 'With pagination'),\\n }),\\n }))\\n .add('From components', () => ({\\n template: `\\n\\t\\t\\t<table ibmTable [sortable]=\\\"false\\\" style=\\\"width: 650px;\\\">\\n\\t\\t\\t\\t<thead ibmTableHead>\\n\\t\\t\\t\\t\\t<tr>\\n\\t\\t\\t\\t\\t\\t<th\\n\\t\\t\\t\\t\\t\\t\\tibmTableHeadCell\\n\\t\\t\\t\\t\\t\\t\\t*ngFor=\\\"let column of model.header\\\"\\n\\t\\t\\t\\t\\t\\t\\t[column]=\\\"column\\\">\\n\\t\\t\\t\\t\\t\\t</th>\\n\\t\\t\\t\\t\\t</tr>\\n\\t\\t\\t\\t</thead>\\n\\t\\t\\t\\t<tbody ibmTableBody>\\n\\t\\t\\t\\t\\t<tr\\n\\t\\t\\t\\t\\t\\t*ngFor=\\\"let row of model.data\\\"\\n\\t\\t\\t\\t\\t\\tibmTableRow\\n\\t\\t\\t\\t\\t\\t[row]=\\\"row\\\">\\n\\t\\t\\t\\t\\t\\t<td\\n\\t\\t\\t\\t\\t\\t\\t*ngFor=\\\"let item of row; let j = index\\\"\\n\\t\\t\\t\\t\\t\\t\\tibmTableData\\n\\t\\t\\t\\t\\t\\t\\t[item]=\\\"item\\\"\\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</td>\\n\\t\\t\\t\\t\\t</tr>\\n\\t\\t\\t\\t</tbody>\\n\\t\\t\\t</table>\\n\\t\\t`,\\n props: getProps(),\\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: getProps(),\\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\":304},\"endLoc\":{\"col\":4,\"line\":308}},\"table--skeleton\":{\"startLoc\":{\"col\":7,\"line\":294},\"endLoc\":{\"col\":4,\"line\":303}},\"table--from-components\":{\"startLoc\":{\"col\":7,\"line\":264},\"endLoc\":{\"col\":4,\"line\":293}},\"table--with-pagination\":{\"startLoc\":{\"col\":7,\"line\":249},\"endLoc\":{\"col\":4,\"line\":263}},\"table--with-overflow-menu\":{\"startLoc\":{\"col\":7,\"line\":230},\"endLoc\":{\"col\":4,\"line\":248}},\"table--with-dynamic-content\":{\"startLoc\":{\"col\":7,\"line\":211},\"endLoc\":{\"col\":4,\"line\":229}},\"table--with-expansion\":{\"startLoc\":{\"col\":7,\"line\":192},\"endLoc\":{\"col\":4,\"line\":210}},\"table--with-toolbar\":{\"startLoc\":{\"col\":7,\"line\":144},\"endLoc\":{\"col\":4,\"line\":191}},\"table--with-no-data\":{\"startLoc\":{\"col\":7,\"line\":114},\"endLoc\":{\"col\":4,\"line\":143}},\"table--basic\":{\"startLoc\":{\"col\":7,\"line\":95},\"endLoc\":{\"col\":4,\"line\":113}}};\n \n import { PaginationModule } from \"./../pagination/pagination.module\";\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 {\n\tTableStory,\n\tDynamicTableStory,\n\tExpansionTableStory,\n\tOverflowTableStory,\n\tPaginationTableStory,\n\tSkeletonTableStory,\n\tTableNoDataStory\n} from \"./stories\";\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\nconst getProps = (more = {}) => {\n\treturn Object.assign({}, {\n\t\tmodel: simpleModel,\n\t\tsize: select(\"size\", { Small: \"sm\", Short: \"sh\", Normal: \"md\", Large: \"lg\" }, \"md\"),\n\t\ttitle: text(\"Title\", \"Table title\"),\n\t\tdescription: text(\"Description\", \"\"),\n\t\tshowSelectionColumn: boolean(\"showSelectionColumn\", true),\n\t\tstriped: boolean(\"striped\", false),\n\t\tsortable: boolean(\"sortable\", true),\n\t\tisDataGrid: boolean(\"Data grid keyboard interactions\", true)\n\t}, more);\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\tTableNoDataStory\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: getProps()\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-no-data-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-no-data-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: getProps({\n\t\t\tmodel: emptyModel,\n\t\t\tdescription: text(\"Description\", \"With no data\")\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: getProps({\n\t\t\tdescription: text(\"Description\", \"With toolbar\")\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: getProps({\n\t\t\tdescription: text(\"Description\", \"With expansion\")\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: getProps({\n\t\t\tdescription: text(\"Description\", \"With dynamic content\")\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: getProps({\n\t\t\tdescription: text(\"Description\", \"With overflow menu\")\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: getProps({\n\t\t\ttotalDataLength: number(\"totalDataLength\", 105),\n\t\t\tdescription: text(\"Description\", \"With pagination\")\n\t\t})\n\t}))\n\t.add(\"From components\", () => ({\n\t\ttemplate: `\n\t\t\t<table ibmTable [sortable]=\"false\" style=\"width: 650px;\">\n\t\t\t\t<thead ibmTableHead>\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<th\n\t\t\t\t\t\t\tibmTableHeadCell\n\t\t\t\t\t\t\t*ngFor=\"let column of model.header\"\n\t\t\t\t\t\t\t[column]=\"column\">\n\t\t\t\t\t\t</th>\n\t\t\t\t\t</tr>\n\t\t\t\t</thead>\n\t\t\t\t<tbody ibmTableBody>\n\t\t\t\t\t<tr\n\t\t\t\t\t\t*ngFor=\"let row of model.data\"\n\t\t\t\t\t\tibmTableRow\n\t\t\t\t\t\t[row]=\"row\">\n\t\t\t\t\t\t<td\n\t\t\t\t\t\t\t*ngFor=\"let item of row; let j = index\"\n\t\t\t\t\t\t\tibmTableData\n\t\t\t\t\t\t\t[item]=\"item\"\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</td>\n\t\t\t\t\t</tr>\n\t\t\t\t</tbody>\n\t\t\t</table>\n\t\t`,\n\t\tprops: getProps()\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: getProps()\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 ","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, Overridable } 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.subject | 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.subject | 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: { ACTION_BAR: string }) {\n\t\tthis.actionBarLabel.override(value.ACTION_BAR);\n\t}\n\t@Input() set cancelText(value: { CANCEL: string }) {\n\t\tthis._cancelText.override(value.CANCEL);\n\t}\n\tget cancelText(): { CANCEL: string } {\n\t\treturn { CANCEL: this._cancelText.value as string };\n\t}\n\tactionBarLabel = this.i18n.getOverridable(\"TABLE_TOOLBAR.ACTION_BAR\");\n\t_cancelText = this.i18n.getOverridable(\"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 */\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[attr.aria-label]=\"ariaLabel\"\n\t\t\t[attr.aria-labelledby]=\"ariaLabelledby\">\n\t\t\t<div\n\t\t\t\tclass=\"bx--tabs-trigger\"\n\t\t\t\ttabindex=\"0\"\n\t\t\t\t(click)=\"showTabList()\"\n\t\t\t\t(keydown)=\"onDropdownKeydown($event)\">\n\t\t\t\t<a\n\t\t\t\t\thref=\"javascript:void(0)\"\n\t\t\t\t\tclass=\"bx--tabs-trigger-text\"\n\t\t\t\t\ttabindex=\"-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\t[ngTemplateOutletContext]=\"{$implicit: getSelectedTab().context}\">\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(tabItem, tab, i)\"\n\t\t\t\t\t(keydown)=\"tabDropdownKeydown($event)\">\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(tabItem, 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\t/**\n\t * Sets the aria label on the nav element.\n\t */\n\t@Input() ariaLabel: string;\n\t/**\n\t * Sets the aria labelledby on the nav element.\n\t */\n\t@Input() ariaLabelledby: string;\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\tconstructor(protected elementRef: ElementRef) {}\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\n\t\t// dropdown list handler\n\t\tif (event.key === \"Escape\") {\n\t\t\tthis.hideTabList();\n\t\t}\n\t}\n\n\t@HostListener(\"focusout\", [\"$event\"])\n\tfocusOut(event) {\n\t\tif (this.tabListVisible && !this.elementRef.nativeElement.contains(event.relatedTarget)) {\n\t\t\tthis.tabListVisible = false;\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\tif (this.tabListVisible) { return; }\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\tconst focusTarget = this.allTabHeaders.find(tab => {\n\t\t\tconst tabContainer = tab.nativeElement.parentElement;\n\t\t\treturn !tabContainer.classList.contains(\"bx--tabs__nav-item--selected\");\n\t\t});\n\t\tfocusTarget.nativeElement.focus();\n\t}\n\n\tpublic hideTabList() {\n\t\tthis.tabListVisible = false;\n\t}\n\n\tpublic onDropdownKeydown(event: KeyboardEvent) {\n\t\tswitch (event.key) {\n\t\t\tcase \" \":\n\t\t\tcase \"Spacebar\":\n\t\t\tcase \"Enter\":\n\t\t\t\tevent.preventDefault();\n\t\t\t\tthis.showTabList();\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tbreak;\n\t\t}\n\t}\n\n\tpublic tabDropdownKeydown(event: KeyboardEvent) {\n\t\tif (!this.tabListVisible) { return; }\n\t\tconst target = (event.target as HTMLElement).closest(\"a\");\n\n\t\tconst headers = this.allTabHeaders.toArray().filter(tab =>\n\t\t\t!tab.nativeElement.parentElement.classList.contains(\"bx--tabs__nav-item--disabled\") &&\n\t\t\t!tab.nativeElement.parentElement.classList.contains(\"bx--tabs__nav-item--selected\"));\n\n\t\t// unless the focus can move, it should remain on the target\n\t\tlet next: HTMLElement = target;\n\t\tlet previous: HTMLElement = target;\n\n\t\tfor (let i = 0; i < headers.length; i++) {\n\t\t\tif (headers[i].nativeElement === target) {\n\t\t\t\tif (i + 1 < headers.length) {\n\t\t\t\t\tnext = headers[i + 1].nativeElement;\n\t\t\t\t}\n\t\t\t\tif (i - 1 >= 0) {\n\t\t\t\t\tprevious = headers[i - 1].nativeElement;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tswitch (event.key) {\n\t\t\tcase \"ArrowDown\":\n\t\t\tcase \"Down\": // IE11 specific value\n\t\t\t\tnext.focus();\n\t\t\t\tbreak;\n\t\t\tcase \"ArrowUp\":\n\t\t\tcase \"Up\": // IE11 specific value\n\t\t\t\tprevious.focus();\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tbreak;\n\t\t}\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@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 */\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 */\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*/\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@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\t[ariaLabel]=\"ariaLabel\"\n\t\t\t\t[ariaLabelledby]=\"ariaLabelledby\">\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\t/**\n\t * Sets the aria label on the `TabHeader`s nav element.\n\t */\n\t@Input() ariaLabel: string;\n\t/**\n\t * Sets the aria labelledby on the `TabHeader`s nav element.\n\t */\n\t@Input() ariaLabelledby: string;\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@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\tOutput,\n\tEventEmitter,\n\tOptional\n} from \"@angular/core\";\nimport { Router } from \"@angular/router\";\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@Component({\n\tselector: \"ibm-clickable-tile\",\n\ttemplate: `\n\t<a\n\t\tibmLink\n\t\tclass=\"bx--tile bx--tile--clickable\"\n\t\ttabindex=\"0\"\n\t\t(click)=\"navigate($event)\"\n\t\t[href]=\"href\"\n\t\t[attr.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 */\n\t@Input() href = \"#\";\n\n\t/**\n\t * Sets the `target` attribute on the `ibm-clickable-tile` element.\n\t */\n\t@Input() target: string;\n\n\t/**\n\t * Set to `true` to disable the clickable tile.\n\t */\n\t@Input() disabled = false;\n\n\t/**\n\t * Array of commands to send to the router when the link is activated\n\t * See: https://angular.io/api/router/Router#navigate\n\t */\n\t@Input() route: any[];\n\n\t/**\n\t * Router options. Used in conjunction with `route`\n\t * See: https://angular.io/api/router/Router#navigate\n\t */\n\t@Input() routeExtras: any;\n\n\t/**\n\t * Emits the navigation status promise when the link is activated\n\t */\n\t@Output() navigation = new EventEmitter<Promise<boolean>>();\n\n\tconstructor(@Optional() protected router: Router) {}\n\n\tnavigate(event) {\n\t\tif (this.router && this.route) {\n\t\t\tevent.preventDefault();\n\t\t\tconst status = this.router.navigate(this.route, this.routeExtras);\n\t\t\tthis.navigation.emit(status);\n\t\t}\n\t}\n}\n","import {\n\tComponent,\n\tInput,\n\tElementRef,\n\tAfterContentInit\n} from \"@angular/core\";\nimport { I18n, Overridable } from \"./../i18n/i18n.module\";\nimport { merge } from \"./../utils/object\";\n\nexport interface ExpandableTileTranslations {\n\tEXPAND: string;\n\tCOLLAPSE: string;\n}\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).subject | 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.subject | 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.subject | 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: ExpandableTileTranslations) {\n\t\tconst valueWithDefaults = merge(this.i18n.getMultiple(\"TILES\"), value);\n\t\tthis.expand.override(valueWithDefaults.EXPAND);\n\t\tthis.collapse.override(valueWithDefaults.COLLAPSE);\n\t}\n\n\ttileMaxHeight = 0;\n\telement = this.elementRef.nativeElement;\n\n\texpand = this.i18n.getOverridable(\"TILES.EXPAND\");\n\tcollapse = this.i18n.getOverridable(\"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 = \"tile-group-unbound\";\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 = true;\t// Set to true because of the way tile group sets it up.\n\t\t\t\t\t\t// If it is first undefined then set to true, the type will change from radio to checkbox and deselects the inputs.\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@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\";\nimport { LinkModule } from \"./../link/link.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\tLinkModule\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 '../';\\nimport { RouterModule } from '@angular/router';\\nimport { APP_BASE_HREF } from '@angular/common';\\nimport { Component } from '@angular/core';\\n\\n@Component({\\n selector: 'app-bar',\\n template: '<h1>bar</h1>',\\n})\\nclass BarComponent {}\\n\\n@Component({\\n selector: 'app-foo',\\n template: '<h1>foo</h1>',\\n})\\nclass FooComponent {}\\n\\nstoriesOf('Tiles', module)\\n .addDecorator(\\n moduleMetadata({\\n declarations: [FooComponent, BarComponent],\\n imports: [\\n TilesModule,\\n DocumentationModule,\\n RouterModule.forRoot(\\n [\\n {\\n path: 'bar',\\n component: BarComponent,\\n },\\n {\\n path: 'foo',\\n component: FooComponent,\\n },\\n ],\\n {\\n initialNavigation: false,\\n useHash: true,\\n }\\n ),\\n ],\\n providers: [{ provide: APP_BASE_HREF, useValue: '/' }],\\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('Routable', () => ({\\n template: `\\n\\t\\t\\t<ibm-clickable-tile [route]=\\\"['foo']\\\">\\n\\t\\t\\t\\tClick to trigger the <code>foo</code> route\\n\\t\\t\\t</ibm-clickable-tile>\\n\\t\\t\\t<ibm-clickable-tile [route]=\\\"['bar']\\\">\\n\\t\\t\\t\\tClick to trigger the <code>bar</code> route\\n\\t\\t\\t</ibm-clickable-tile>\\n\\t\\t\\t<router-outlet></router-outlet>\\n\\t\\t`,\\n }))\\n .add('Selectable', () => ({\\n template: `\\n\\t\\t\\t<ibm-tile-group (selected)=\\\"selected($event)\\\" [multiple]=\\\"false\\\">\\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\":122},\"endLoc\":{\"col\":4,\"line\":126}},\"tiles--expandable\":{\"startLoc\":{\"col\":7,\"line\":114},\"endLoc\":{\"col\":4,\"line\":121}},\"tiles--multi-select\":{\"startLoc\":{\"col\":7,\"line\":102},\"endLoc\":{\"col\":4,\"line\":113}},\"tiles--selectable\":{\"startLoc\":{\"col\":7,\"line\":90},\"endLoc\":{\"col\":4,\"line\":101}},\"tiles--routable\":{\"startLoc\":{\"col\":7,\"line\":79},\"endLoc\":{\"col\":4,\"line\":89}},\"tiles--clickable\":{\"startLoc\":{\"col\":7,\"line\":72},\"endLoc\":{\"col\":4,\"line\":78}},\"tiles--multiple\":{\"startLoc\":{\"col\":7,\"line\":57},\"endLoc\":{\"col\":4,\"line\":71}},\"tiles--basic\":{\"startLoc\":{\"col\":7,\"line\":50},\"endLoc\":{\"col\":4,\"line\":56}}};\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 \"../\";\nimport { RouterModule } from \"@angular/router\";\nimport { APP_BASE_HREF } from \"@angular/common\";\nimport { Component } from \"@angular/core\";\n\n@Component({\n\tselector: \"app-bar\",\n\ttemplate: \"<h1>bar</h1>\"\n})\nclass BarComponent { }\n\n@Component({\n\tselector: \"app-foo\",\n\ttemplate: \"<h1>foo</h1>\"\n})\nclass FooComponent {}\n\nstoriesOf(\"Tiles\", module).addDecorator(withStorySource(__STORY__, __ADDS_MAP__))\n\t.addDecorator(\n\t\tmoduleMetadata({\n\t\t\tdeclarations: [FooComponent, BarComponent],\n\t\t\timports: [\n\t\t\t\tTilesModule,\n\t\t\t\tDocumentationModule,\n\t\t\t\tRouterModule.forRoot([\n\t\t\t\t\t{\n\t\t\t\t\t\tpath: \"bar\",\n\t\t\t\t\t\tcomponent: BarComponent\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tpath: \"foo\",\n\t\t\t\t\t\tcomponent: FooComponent\n\t\t\t\t\t}\n\t\t\t\t], {\n\t\t\t\t\tinitialNavigation: false,\n\t\t\t\t\tuseHash: true\n\t\t\t\t})\n\t\t\t],\n\t\t\tproviders: [\n\t\t\t\t{provide: APP_BASE_HREF, useValue: \"/\"}\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(\"Routable\", () => ({\n\t\ttemplate: `\n\t\t\t<ibm-clickable-tile [route]=\"['foo']\">\n\t\t\t\tClick to trigger the <code>foo</code> route\n\t\t\t</ibm-clickable-tile>\n\t\t\t<ibm-clickable-tile [route]=\"['bar']\">\n\t\t\t\tClick to trigger the <code>bar</code> route\n\t\t\t</ibm-clickable-tile>\n\t\t\t<router-outlet></router-outlet>\n\t\t`\n\t}))\n\t.add(\"Selectable\", () => ({\n\t\ttemplate: `\n\t\t\t<ibm-tile-group (selected)=\"selected($event)\" [multiple]=\"false\">\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@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@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, Overridable } from \"../i18n/i18n.module\";\nimport { Observable } from \"rxjs\";\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@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 ? getOffText() : 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 ? getOnText() : 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 | Observable<string>) {\n\t\tthis._offValues.override(value);\n\t}\n\n\tget offText() {\n\t\treturn this._offValues.value;\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 | Observable<string>) {\n\t\tthis._onValues.override(value);\n\t}\n\n\tget onText() {\n\t\treturn this._onValues.value;\n\t}\n\t/**\n\t * Text that is set as the label of the toggle.\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 _offValues = this.i18n.getOverridable(\"TOGGLE.OFF\");\n\tprotected _onValues = this.i18n.getOverridable(\"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\tgetOffText(): Observable<string> {\n\t\treturn this._offValues.subject;\n\t}\n\n\tgetOnText(): Observable<string> {\n\t\treturn this._onValues.subject;\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\\t<ibm-toggle\\n\\t\\t\\t\\t[label]=\\\"label\\\"\\n\\t\\t\\t\\t[onText]=\\\"altOnText\\\"\\n\\t\\t\\t\\t[offText]=\\\"altOffText\\\"\\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 altOffText: text('Alternative off text', 'Dark'),\\n altOnText: text('Alternative on text', 'Light'),\\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\":50},\"endLoc\":{\"col\":4,\"line\":54}},\"toggle--skeleton\":{\"startLoc\":{\"col\":7,\"line\":43},\"endLoc\":{\"col\":4,\"line\":49}},\"toggle--basic\":{\"startLoc\":{\"col\":7,\"line\":13},\"endLoc\":{\"col\":4,\"line\":42}}};\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\t<ibm-toggle\n\t\t\t\t[label]=\"label\"\n\t\t\t\t[onText]=\"altOnText\"\n\t\t\t\t[offText]=\"altOffText\"\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\taltOffText: text(\"Alternative off text\", \"Dark\"),\n\t\t\taltOnText: text(\"Alternative on text\", \"Light\")\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 {\n\tComponent,\n\tOutput,\n\tEventEmitter,\n\tInput\n} from \"@angular/core\";\nimport { I18n } from \"../../i18n/i18n.module\";\n\n/**\n * A toggle for the side navigation\n */\n@Component({\n\tselector: \"ibm-hamburger\",\n\ttemplate: `\n\t\t<button\n\t\t\ttype=\"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 bx--header__menu-toggle\"\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 */\n\t@Input() active = false;\n\n\t/**\n\t * `EventEmitter` to notify parent components of menu click events.\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 */\n\tpublic doClick() {\n\t\tthis.selected.emit(this.active);\n\t}\n}\n","import {\n\tComponent,\n\tInput,\n\tOutput,\n\tEventEmitter\n} from \"@angular/core\";\n\n/**\n * Contained by `HeaderGlobal`. Generally used to trigger `Panel`s\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/**\n\t * Title. Populates the aria-label as well as the browser `title` tooltip\n\t */\n\t@Input() title = \"\";\n\t/**\n\t * Toggles the active state. May be used to toggle a `Panel`s active state.\n\t */\n\t@Input() active = false;\n\t/**\n\t * \"Change\" emitter to allow double binding to the `active` Input.\n\t */\n\t@Input() activeChange = new EventEmitter<boolean>();\n\t/**\n\t * Emits when the action has been clicked.\n\t */\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\tthis.activeChange.emit(this.active);\n\t}\n}\n","import { Component, HostBinding } from \"@angular/core\";\n\n/**\n * Container for `HeaderAction`s.\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 {\n\tComponent,\n\tInput,\n\tOptional,\n\tEventEmitter,\n\tOutput\n} from \"@angular/core\";\nimport { DomSanitizer } from \"@angular/platform-browser\";\nimport { Router } from \"@angular/router\";\n\n/**\n * Individual item in the header. May be used a direct child of `HeaderNavigation` or `HeaderMenu`\n */\n@Component({\n\tselector: \"ibm-header-item\",\n\ttemplate: `\n\t\t<li style=\"height: 100%\">\n\t\t\t<a\n\t\t\t\tclass=\"bx--header__menu-item\"\n\t\t\t\trole=\"menuitem\"\n\t\t\t\ttabindex=\"0\"\n\t\t\t\t[href]=\"href\"\n\t\t\t\t(click)=\"navigate($event)\">\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() set href(v: string) {\n\t\tthis._href = v;\n\t}\n\n\tget href() {\n\t\treturn this.domSanitizer.bypassSecurityTrustUrl(this._href) as string;\n\t}\n\n\t/**\n\t * Array of commands to send to the router when the link is activated\n\t * See: https://angular.io/api/router/Router#navigate\n\t */\n\t@Input() route: any[];\n\n\t/**\n\t * Router options. Used in conjunction with `route`\n\t * See: https://angular.io/api/router/Router#navigate\n\t */\n\t@Input() routeExtras: any;\n\n\t/**\n\t * Emits the navigation status promise when the link is activated\n\t */\n\t@Output() navigation = new EventEmitter<Promise<boolean>>();\n\n\tprotected _href = \"javascript:void(0)\";\n\n\tconstructor(protected domSanitizer: DomSanitizer, @Optional() protected router: Router) { }\n\n\tnavigate(event) {\n\t\tif (this.router && this.route) {\n\t\t\tevent.preventDefault();\n\t\t\tconst status = this.router.navigate(this.route, this.routeExtras);\n\t\t\tthis.navigation.emit(status);\n\t\t}\n\t}\n}\n","import {\n\tComponent,\n\tInput,\n\tHostListener,\n\tElementRef\n} from \"@angular/core\";\nimport { DomSanitizer } from \"@angular/platform-browser\";\n\n/**\n * Dropdown menu container for navigation items.\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\t[href]=\"href\"\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: string;\n\t@Input() set href(v: string) {\n\t\tthis._href = v;\n\t}\n\n\tget href() {\n\t\treturn this.domSanitizer.bypassSecurityTrustUrl(this._href) as string;\n\t}\n\t@Input() trigger: \"click\" | \"mouseover\" = \"click\";\n\n\tpublic expanded = false;\n\n\tprotected _href = \"javascript:void(0)\";\n\n\tconstructor(protected domSanitizer: DomSanitizer, protected elementRef: ElementRef) { }\n\n\t@HostListener(\"click\")\n\tonClick() {\n\t\tif (this.trigger === \"click\") {\n\t\t\tthis.expanded = !this.expanded;\n\t\t}\n\t}\n\n\t@HostListener(\"mouseover\")\n\tonMouseOver() {\n\t\tif (this.trigger === \"mouseover\") {\n\t\t\tthis.expanded = true;\n\t\t}\n\t}\n\n\t@HostListener(\"mouseout\")\n\tonMouseOut() {\n\t\tif (this.trigger === \"mouseover\") {\n\t\t\tthis.expanded = false;\n\t\t}\n\t}\n\n\t@HostListener(\"focusout\", [\"$event\"])\n\tonFocusOut(event) {\n\t\tif (!this.elementRef.nativeElement.contains(event.relatedTarget)) {\n\t\t\tthis.expanded = false;\n\t\t}\n\t}\n}\n","import { Component, HostBinding, Input } from \"@angular/core\";\n\n/**\n * Container for header navigation items\n */\n@Component({\n\tselector: \"ibm-header-navigation\",\n\ttemplate: `\n\t\t<nav class=\"bx--header__nav\" [attr.aria-label]=\"ariaLabel\">\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\t@Input() ariaLabel: string;\n}\n","import { Component, Input } from \"@angular/core\";\nimport { I18n } from \"../../i18n/i18n.module\";\n\n/**\n * A fixed header and navigation.\n * Header may contain a Hamburger menu to toggle the side navigation, navigation actions,\n * and global actions (generally in the form of `Panel`s).\n *\n * [See demo](../../?path=/story/ui-shell--header)\n *\n * <example-url>../../iframe.html?id=ui-shell--header</example-url>\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/**\n\t * ID in the main body content to jump to. Used by keyboard and screen reader users to skip the header content.\n\t */\n\t@Input() skipTo: string;\n\t/**\n\t * Label that shows to the right of the `brand` text. Generally a product name.\n\t */\n\t@Input() name: string;\n\t/**\n\t * Top level branding. Defaults to \"IBM\"\n\t */\n\t@Input() brand = \"IBM\";\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 * `Panel` is a component that can be used to display content on the right side of the screen.\n * `Panel`s are generally activated by and linked to a `HeaderAction` component.\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/**\n\t * Controls the visibility of the panel\n\t */\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 { SwitcherList } from \"./switcher-list.component\";\nimport { SwitcherListItem } from \"./switcher-list-item.component\";\n\nexport {\n\tPanel,\n\tProductSwitcher,\n\tSwitcherList,\n\tSwitcherListItem\n};\n\n@NgModule({\n\tdeclarations: [\n\t\tPanel,\n\t\tProductSwitcher,\n\t\tSwitcherList,\n\t\tSwitcherListItem\n\t],\n\timports: [CommonModule, I18nModule],\n\texports: [\n\t\tPanel,\n\t\tProductSwitcher,\n\t\tSwitcherList,\n\t\tSwitcherListItem\n\t]\n})\nexport class PanelModule { }\n","import { Component, HostBinding, Input } from \"@angular/core\";\n\n/**\n * @deprecated `ibm-product-x` selectors and components are deprecated and will be removed in the next major version\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 { DomSanitizer, SafeUrl } from \"@angular/platform-browser\";\n\n/**\n * Represents an item in a switcher list.\n *\n * **Note:** `ibm-product-x` selectors and components are deprecated and will be removed in the next major version\n */\n@Component({\n\tselector: \"ibm-switcher-list-item, ibm-product-switcher-list-item, ibm-product-switcher-item\",\n\ttemplate: `\n\t\t<a\n\t\t\tclass=\"bx--switcher__item-link\"\n\t\t\t[ngClass]=\"{\n\t\t\t\t'bx--switcher__item-link--selected': active\n\t\t\t}\"\n\t\t\t[href]=\"href\">\n\t\t\t<ng-content></ng-content>\n\t\t</a>\n\t`\n})\nexport class SwitcherListItem {\n\t/**\n\t * Enables the \"active\" state for an item. Commonly used to indicate the current page or selection.\n\t */\n\t@Input() active = false;\n\n\t/**\n\t * Optional link for the underlying anchor.\n\t */\n\t@Input() set href(value: string) {\n\t\tthis._href = value;\n\t}\n\n\tget href() {\n\t\treturn this.domSanitizer.bypassSecurityTrustUrl(this._href) as string;\n\t}\n\n\tprotected _href = \"javascript:void(0)\";\n\n\tconstructor(protected domSanitizer: DomSanitizer) { }\n}\n","import { Component } from \"@angular/core\";\n\n/**\n * Container for switcher items.\n *\n * ```html\n * <ibm-switcher-list>\n * \t<ibm-switcher-list-item>one</ibm-switcher-list-item>\n * \t<ibm-switcher-list-item [active]=\"true\">two</ibm-switcher-list-item>\n * \t<ibm-switcher-list-item>three</ibm-switcher-list-item>\n * </ibm-switcher-list>\n * ```\n *\n * **Note**: `ibm-product-x` selectors and components are deprecated and will be removed in the next major version\n */\n@Component({\n\tselector: \"ibm-switcher-list, ibm-product-switcher-list\",\n\ttemplate: `\n\t\t<ul class=\"bx--switcher__item\">\n\t\t\t<ng-content></ng-content>\n\t\t</ul>\n\t`\n})\nexport class SwitcherList {}\n","import { Component, Input } from \"@angular/core\";\nimport { ListItem } from \"../../dropdown/dropdown.module\";\nimport { I18n } from \"../../i18n/i18n.module\";\n\n/**\n * @deprecated Until futher notice. Will be removed in a future version.\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 {\n\tComponent,\n\tInput,\n\tOptional,\n\tOutput,\n\tEventEmitter\n} from \"@angular/core\";\nimport { DomSanitizer } from \"@angular/platform-browser\";\nimport { Router } from \"@angular/router\";\n\n/**\n * `SideNavItem` can either be a child of `SideNav` or `SideNavMenu`\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\t[href]=\"href\"\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(click)=\"navigate($event)\">\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/**\n\t * Link for the item. NOTE: *do not* pass unsafe or untrusted values, this has the potential to open you up to XSS attacks\n\t */\n\t@Input() set href(v: string) {\n\t\tthis._href = v;\n\t}\n\n\tget href() {\n\t\treturn this.domSanitizer.bypassSecurityTrustUrl(this._href) as string;\n\t}\n\n\t/**\n\t * Toggles the active (current page) state for the link.\n\t */\n\t@Input() active = false;\n\n\t/**\n\t * Array of commands to send to the router when the link is activated\n\t * See: https://angular.io/api/router/Router#navigate\n\t */\n\t@Input() route: any[];\n\n\t/**\n\t * Router options. Used in conjunction with `route`\n\t * See: https://angular.io/api/router/Router#navigate\n\t */\n\t@Input() routeExtras: any;\n\n\t/**\n\t * Emits the navigation status promise when the link is activated\n\t */\n\t@Output() navigation = new EventEmitter<Promise<boolean>>();\n\n\tisSubMenu = false;\n\n\tprotected _href = \"javascript:void(0)\";\n\n\tconstructor(protected domSanitizer: DomSanitizer, @Optional() protected router: Router) {}\n\n\tnavigate(event) {\n\t\tif (this.router && this.route) {\n\t\t\tevent.preventDefault();\n\t\t\tconst status = this.router.navigate(this.route, this.routeExtras);\n\t\t\tthis.navigation.emit(status);\n\t\t}\n\t}\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/**\n * `SideNavMenu` provides a method to group `SideNavItem`s under a common heading.\n */\n@Component({\n\tselector: \"ibm-sidenav-menu\",\n\ttemplate: `\n\t\t<li class=\"bx--side-nav__item bx--side-nav__item--icon\">\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/**\n\t * Heading for the gorup\n\t */\n\t@Input() title: string;\n\t/**\n\t * Controls the visibility of the child `SideNavItem`s\n\t */\n\t@Input() expanded = false;\n\n\t@ContentChildren(SideNavItem) sidenavItems: QueryList<SideNavItem>;\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 * `Sidenav` is a fixed left navigation that may contain `SideNavItem`s or `SideNavMenu`s\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@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\t*ngIf=\"allowExpansion\"\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/**\n\t * Controls the expanded (`true`) or collapsed (`false`) state when on a small screen.\n\t */\n\t@HostBinding(\"class.bx--side-nav--expanded\") @Input() expanded = true;\n\t/**\n\t * Controls the hidden (`true`) or visible (`false`) state\n\t */\n\t@HostBinding(\"class.bx--side-nav--hidden\") @Input() hidden = false;\n\t@HostBinding(\"class.bx--side-nav--ux\") ux = true;\n\t@Input() allowExpansion = 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';\\nimport { Component } from '@angular/core';\\nimport { RouterModule } from '@angular/router';\\n\\n@Component({\\n selector: 'app-bar',\\n template: '<h1>bar</h1>',\\n})\\nclass BarComponent {}\\n\\n@Component({\\n selector: 'app-foo',\\n template: '<h1>foo</h1>',\\n})\\nclass FooComponent {}\\n\\nstoriesOf('UI Shell', module)\\n .addDecorator(\\n moduleMetadata({\\n declarations: [BarComponent, FooComponent],\\n imports: [\\n UIShellModule,\\n SearchModule,\\n DialogModule,\\n DocumentationModule,\\n RouterModule.forRoot(\\n [\\n {\\n path: 'bar',\\n component: BarComponent,\\n },\\n {\\n path: 'foo',\\n component: FooComponent,\\n },\\n ],\\n {\\n initialNavigation: false,\\n useHash: true,\\n }\\n ),\\n ],\\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('Header with router', () => ({\\n template: `\\n\\t\\t\\t<ibm-header name=\\\"[Platform]\\\">\\n\\t\\t\\t\\t<ibm-header-navigation>\\n\\t\\t\\t\\t\\t<ibm-header-item [route]=\\\"['foo']\\\">Catalog</ibm-header-item>\\n\\t\\t\\t\\t\\t<ibm-header-item [route]=\\\"['bar']\\\">Docs</ibm-header-item>\\n\\t\\t\\t\\t\\t<ibm-header-item [route]=\\\"['foo']\\\">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 [route]=\\\"['foo']\\\">Link 1</ibm-header-item>\\n\\t\\t\\t\\t\\t\\t<ibm-header-item [route]=\\\"['bar']\\\">Link 2</ibm-header-item>\\n\\t\\t\\t\\t\\t\\t<ibm-header-item [route]=\\\"['foo']\\\">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</ibm-header>\\n\\t\\t\\t<div style=\\\"margin-top: 2rem\\\">\\n\\t\\t\\t\\t<router-outlet></router-outlet>\\n\\t\\t\\t</div>\\n\\t\\t`,\\n props: {\\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-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('Side Navigation with router', () => ({\\n template: `\\n\\t\\t\\t<ibm-sidenav>\\n\\t\\t\\t\\t<ibm-sidenav-item [route]=\\\"['foo']\\\">\\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 [route]=\\\"['bar']\\\">\\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 [route]=\\\"['foo']\\\">Link</ibm-sidenav-item>\\n\\t\\t\\t\\t\\t<ibm-sidenav-item [route]=\\\"['bar']\\\">Link</ibm-sidenav-item>\\n\\t\\t\\t\\t\\t<ibm-sidenav-item [route]=\\\"['foo']\\\">Link</ibm-sidenav-item>\\n\\t\\t\\t\\t</ibm-sidenav-menu>\\n\\t\\t\\t</ibm-sidenav>\\n\\t\\t\\t<div>\\n\\t\\t\\t\\t<router-outlet></router-outlet>\\n\\t\\t\\t</div>\\n\\t\\t`,\\n }))\\n .add('Together', () => ({\\n template: `\\n\\t\\t\\t<ibm-header name=\\\"[Platform]\\\">\\n\\t\\t\\t\\t<ibm-hamburger *ngIf=\\\"hasHamburger\\\" [active]=\\\"active\\\" (selected)=\\\"selected()\\\"></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 [expanded]=\\\"active\\\">\\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\\\"></ibm-panel>\\n\\t\\t\\t<ibm-panel [expanded]=\\\"secondAction.active\\\">\\n\\t\\t\\t\\t<ibm-switcher-list>\\n\\t\\t\\t\\t\\t<ibm-switcher-list-item active=\\\"true\\\">Switcher item one</ibm-switcher-list-item>\\n\\t\\t\\t\\t\\t<ibm-switcher-list-item>Switcher item two</ibm-switcher-list-item>\\n\\t\\t\\t\\t\\t<ibm-switcher-list-item>Switcher item three</ibm-switcher-list-item>\\n\\t\\t\\t\\t\\t<ibm-switcher-list-item>Switcher item four</ibm-switcher-list-item>\\n\\t\\t\\t\\t</ibm-switcher-list>\\n\\t\\t\\t</ibm-panel>\\n\\t\\t`,\\n props: {\\n hasHamburger: boolean('Show Hamburger', true),\\n active: boolean('Left panel active', true),\\n selected: () => {\\n console.log('selected');\\n },\\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\":347},\"endLoc\":{\"col\":4,\"line\":351}},\"ui-shell--header-documentation\":{\"startLoc\":{\"col\":7,\"line\":342},\"endLoc\":{\"col\":4,\"line\":346}},\"ui-shell--together\":{\"startLoc\":{\"col\":7,\"line\":227},\"endLoc\":{\"col\":4,\"line\":341}},\"ui-shell--side-navigation-with-router\":{\"startLoc\":{\"col\":7,\"line\":180},\"endLoc\":{\"col\":4,\"line\":226}},\"ui-shell--side-navigation\":{\"startLoc\":{\"col\":7,\"line\":120},\"endLoc\":{\"col\":4,\"line\":179}},\"ui-shell--header-with-router\":{\"startLoc\":{\"col\":7,\"line\":98},\"endLoc\":{\"col\":4,\"line\":119}},\"ui-shell--header\":{\"startLoc\":{\"col\":7,\"line\":53},\"endLoc\":{\"col\":4,\"line\":97}}};\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\";\nimport { Component } from \"@angular/core\";\nimport { RouterModule } from \"@angular/router\";\n\n@Component({\n\tselector: \"app-bar\",\n\ttemplate: \"<h1>bar</h1>\"\n})\nclass BarComponent { }\n\n@Component({\n\tselector: \"app-foo\",\n\ttemplate: \"<h1>foo</h1>\"\n})\nclass FooComponent { }\n\nstoriesOf(\"UI Shell\", module).addDecorator(withStorySource(__STORY__, __ADDS_MAP__))\n\t.addDecorator(\n\t\tmoduleMetadata({\n\t\t\tdeclarations: [BarComponent, FooComponent],\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\tRouterModule.forRoot([\n\t\t\t\t\t{\n\t\t\t\t\t\tpath: \"bar\",\n\t\t\t\t\t\tcomponent: BarComponent\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tpath: \"foo\",\n\t\t\t\t\t\tcomponent: FooComponent\n\t\t\t\t\t}\n\t\t\t\t], {\n\t\t\t\t\tinitialNavigation: false,\n\t\t\t\t\tuseHash: true\n\t\t\t\t})\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(\"Header with router\", () => ({\n\t\ttemplate: `\n\t\t\t<ibm-header name=\"[Platform]\">\n\t\t\t\t<ibm-header-navigation>\n\t\t\t\t\t<ibm-header-item [route]=\"['foo']\">Catalog</ibm-header-item>\n\t\t\t\t\t<ibm-header-item [route]=\"['bar']\">Docs</ibm-header-item>\n\t\t\t\t\t<ibm-header-item [route]=\"['foo']\">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 [route]=\"['foo']\">Link 1</ibm-header-item>\n\t\t\t\t\t\t<ibm-header-item [route]=\"['bar']\">Link 2</ibm-header-item>\n\t\t\t\t\t\t<ibm-header-item [route]=\"['foo']\">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</ibm-header>\n\t\t\t<div style=\"margin-top: 2rem\">\n\t\t\t\t<router-outlet></router-outlet>\n\t\t\t</div>\n\t\t`,\n\t\tprops: {\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-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(\"Side Navigation with router\", () => ({\n\t\ttemplate: `\n\t\t\t<ibm-sidenav>\n\t\t\t\t<ibm-sidenav-item [route]=\"['foo']\">\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 [route]=\"['bar']\">\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 [route]=\"['foo']\">Link</ibm-sidenav-item>\n\t\t\t\t\t<ibm-sidenav-item [route]=\"['bar']\">Link</ibm-sidenav-item>\n\t\t\t\t\t<ibm-sidenav-item [route]=\"['foo']\">Link</ibm-sidenav-item>\n\t\t\t\t</ibm-sidenav-menu>\n\t\t\t</ibm-sidenav>\n\t\t\t<div>\n\t\t\t\t<router-outlet></router-outlet>\n\t\t\t</div>\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\" [active]=\"active\" (selected)=\"selected()\"></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 [expanded]=\"active\">\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\"></ibm-panel>\n\t\t\t<ibm-panel [expanded]=\"secondAction.active\">\n\t\t\t\t<ibm-switcher-list>\n\t\t\t\t\t<ibm-switcher-list-item active=\"true\">Switcher item one</ibm-switcher-list-item>\n\t\t\t\t\t<ibm-switcher-list-item>Switcher item two</ibm-switcher-list-item>\n\t\t\t\t\t<ibm-switcher-list-item>Switcher item three</ibm-switcher-list-item>\n\t\t\t\t\t<ibm-switcher-list-item>Switcher item four</ibm-switcher-list-item>\n\t\t\t\t</ibm-switcher-list>\n\t\t\t</ibm-panel>\n\t\t`,\n\t\tprops: {\n\t\t\thasHamburger: boolean(\"Show Hamburger\", true),\n\t\t\tactive: boolean(\"Left panel active\", true),\n\t\t\tselected: () => { console.log(\"selected\"); },\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","import { map } from \"rxjs/operators\";\nimport { fromEvent, merge } from \"rxjs\";\n\n\n/**\n * Checks if a given element is scrollable.\n * If the element has an overflow set as part of its computed style it can scroll.\n * @param element the element to check scrollability\n */\nexport const isScrollableElement = (element: HTMLElement) => {\n\tconst computedStyle = getComputedStyle(element);\n\treturn (\n\t\tcomputedStyle.overflow === \"auto\" ||\n\t\tcomputedStyle.overflow === \"scroll\" ||\n\t\tcomputedStyle[\"overflow-y\"] === \"auto\" ||\n\t\tcomputedStyle[\"overflow-y\"] === \"scroll\" ||\n\t\tcomputedStyle[\"overflow-x\"] === \"auto\" ||\n\t\tcomputedStyle[\"overflow-x\"] === \"scroll\"\n\t);\n};\n\n/**\n * Checks if an element is visible within a container\n * @param element the element to check\n * @param container the container to check\n */\nexport const isVisibleInContainer = (element: HTMLElement, container: HTMLElement) => {\n\tconst elementRect = element.getBoundingClientRect();\n\tconst containerRect = container.getBoundingClientRect();\n\treturn elementRect.bottom <= containerRect.bottom && elementRect.top >= containerRect.top;\n};\n\n/**\n * Returns an observable that emits whenever any scrollable parent element scrolls\n *\n * @param node root element to start finding scrolling parents from\n */\nexport const scrollableParentsObservable = (node: HTMLElement) => {\n\tconst windowScroll = fromEvent(window, \"scroll\").pipe(map(event => (\n\t\t// update the event target to be something useful. In this case `body` is a sensible replacement\n\t\tObject.assign({}, event, { target: document.body }) as Event\n\t)));\n\tlet observables = [windowScroll];\n\t// walk the parents and subscribe to all the scroll events we can\n\twhile (node.parentElement && node !== document.body) {\n\t\tif (isScrollableElement(node)) {\n\t\t\tobservables.push(fromEvent(node, \"scroll\"));\n\t\t}\n\t\tnode = node.parentElement;\n\t}\n\n\treturn merge(...observables);\n};\n","export function clone(obj) {\n\treturn JSON.parse(JSON.stringify(obj));\n}\n","/* (ignored) */"],"sourceRoot":""}