aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIsrael Lavi <il0695@att.com>2018-08-07 10:54:17 +0300
committerIsrael Lavi <il0695@att.com>2018-08-07 11:06:44 +0300
commitb2a3acea0d0f66028c9ce5fad02d4ecc64abf70c (patch)
tree8d70110f34cb845965c42a5915e950bca967d2c3
parent05b37297177e8a342668c15e5d6f738b51f7aedd (diff)
Initial commit.
Adding files needed for Linux Foundation. Change-Id: I9f2b4851a5ae01f83800c7f8bab8608a2221c730 Issue-ID: SDC-1608 Signed-off-by: Israel Lavi <il0695@att.com>
-rw-r--r--.babelrc4
-rw-r--r--.editorconfig19
-rw-r--r--.env1
-rw-r--r--.eslintrc135
-rw-r--r--.gitignore53
-rw-r--r--.gitreview2
-rw-r--r--.ng2-component-lab/lab-configuration.module.ts36
-rw-r--r--.ng2-component-lab/ng2-component-lab.config.js11
-rw-r--r--.ng2-component-lab/ng2-component-lab.scss58
-rw-r--r--.ng2-component-lab/themes/ng2-component-lab-theme-1802.scss58
-rw-r--r--.npmignore6
-rw-r--r--.storybook/addons.js7
-rw-r--r--.storybook/config.js15
-rw-r--r--.storybook/storybook.scss231
-rw-r--r--.storybook/tsconfig.json10
-rw-r--r--.storybook/typography.scss30
-rw-r--r--.storybook/webpack.config.js50
-rw-r--r--.travis.yml19
-rw-r--r--INFO.yaml55
-rw-r--r--README.md107
-rw-r--r--angular.json105
-rw-r--r--assets/README.md9
-rw-r--r--assets/icons/angleDoubleLeft.svg15
-rw-r--r--assets/icons/angleDoubleRight.svg11
-rw-r--r--assets/icons/angleLeft.svg9
-rw-r--r--assets/icons/angleRight.svg9
-rw-r--r--assets/icons/artifacts.svg1
-rw-r--r--assets/icons/back.svg6
-rw-r--r--assets/icons/base.svg1
-rw-r--r--assets/icons/calendar.svg1
-rw-r--r--assets/icons/caretDown.svg6
-rw-r--r--assets/icons/check.svg9
-rw-r--r--assets/icons/checkCircle.svg1
-rw-r--r--assets/icons/chevronDown.svg9
-rw-r--r--assets/icons/chevronUp.svg9
-rw-r--r--assets/icons/close.svg10
-rw-r--r--assets/icons/download.svg1
-rw-r--r--assets/icons/empty.txt0
-rw-r--r--assets/icons/env.svg1
-rw-r--r--assets/icons/error.svg1
-rw-r--r--assets/icons/errorCircle.svg1
-rw-r--r--assets/icons/exclamationTriangleFull.svg9
-rw-r--r--assets/icons/exclamationTriangleLine.svg25
-rw-r--r--assets/icons/expand.svg1
-rw-r--r--assets/icons/filter.svg9
-rw-r--r--assets/icons/locked.svg3
-rw-r--r--assets/icons/module.svg1
-rw-r--r--assets/icons/nestedHeat.svg1
-rw-r--r--assets/icons/network.svg1
-rw-r--r--assets/icons/notificationBell.svg18
-rw-r--r--assets/icons/notificationFullBell.svg11
-rw-r--r--assets/icons/others.svg1
-rw-r--r--assets/icons/pencil.svg17
-rw-r--r--assets/icons/plus.svg9
-rw-r--r--assets/icons/plusCircle.svg9
-rw-r--r--assets/icons/plusThin.svg7
-rw-r--r--assets/icons/proceedToOverview.svg1
-rw-r--r--assets/icons/questionMark.svg1
-rw-r--r--assets/icons/search.svg8
-rw-r--r--assets/icons/sliders.svg19
-rw-r--r--assets/icons/trashO.svg17
-rw-r--r--assets/icons/unlocked.svg3
-rw-r--r--assets/icons/upload.svg1
-rw-r--r--assets/icons/user.svg10
-rw-r--r--assets/icons/vendor.svg1
-rw-r--r--assets/icons/versionControllerCommit.svg1
-rw-r--r--assets/icons/versionControllerLockClosed.svg17
-rw-r--r--assets/icons/versionControllerLockOpen.svg17
-rw-r--r--assets/icons/versionControllerPermissions.svg1
-rw-r--r--assets/icons/versionControllerRevert.svg14
-rw-r--r--assets/icons/versionControllerSave.svg10
-rw-r--r--assets/icons/versionControllerSubmit.svg10
-rw-r--r--assets/icons/versionControllerSync.svg1
-rw-r--r--assets/icons/versionControllerUndo.svg1
-rw-r--r--assets/icons/viewModule.svg9
-rw-r--r--assets/icons/vlm.svg1
-rw-r--r--assets/icons/vsp.svg1
-rw-r--r--assets/icons/zip.svg1
-rw-r--r--assets/images/empty.txt0
-rw-r--r--assets/images/illustration.pngbin29534 -> 0 bytes
-rw-r--r--assets/images/logo_onap.pngbin21360 -> 0 bytes
-rw-r--r--assets/images/logo_onap_2017.pngbin21360 -> 0 bytes
-rw-r--r--assets/sdc-icons/README.md9
-rw-r--r--assets/sdc-icons/alert-triangle-o.svg3
-rw-r--r--assets/sdc-icons/alert-triangle.svg5
-rw-r--r--assets/sdc-icons/api-o.svg3
-rw-r--r--assets/sdc-icons/arrow2-right-child.svg3
-rw-r--r--assets/sdc-icons/arrow2-right.svg3
-rw-r--r--assets/sdc-icons/arrow3-down-o.svg3
-rw-r--r--assets/sdc-icons/arrow3-up-o.svg3
-rw-r--r--assets/sdc-icons/attachment.svg3
-rw-r--r--assets/sdc-icons/bedge.svg5
-rw-r--r--assets/sdc-icons/browse.svg3
-rw-r--r--assets/sdc-icons/calendar-o.svg3
-rw-r--r--assets/sdc-icons/camera-o.svg3
-rw-r--r--assets/sdc-icons/caret1-down-o.svg3
-rw-r--r--assets/sdc-icons/caret2-right-circle-o.svg3
-rw-r--r--assets/sdc-icons/caret2-right-circle.svg4
-rw-r--r--assets/sdc-icons/caret3-right.svg3
-rw-r--r--assets/sdc-icons/close.svg3
-rw-r--r--assets/sdc-icons/commit-o.svg3
-rw-r--r--assets/sdc-icons/components/checkbox_checked.svg3
-rw-r--r--assets/sdc-icons/components/checkbox_disabled.svg9
-rw-r--r--assets/sdc-icons/components/radio_checked .svg6
-rw-r--r--assets/sdc-icons/components/radio_disabled.svg6
-rw-r--r--assets/sdc-icons/composition-o.svg3
-rw-r--r--assets/sdc-icons/copy-o.svg3
-rw-r--r--assets/sdc-icons/deployment-artifacts-o.svg3
-rw-r--r--assets/sdc-icons/description-o.svg3
-rw-r--r--assets/sdc-icons/distributed.svg3
-rw-r--r--assets/sdc-icons/download-o.svg3
-rw-r--r--assets/sdc-icons/edit-file-o.svg3
-rw-r--r--assets/sdc-icons/edit-o.svg3
-rw-r--r--assets/sdc-icons/expand-o.svg3
-rw-r--r--assets/sdc-icons/eye-o.svg3
-rw-r--r--assets/sdc-icons/filter-o.svg3
-rw-r--r--assets/sdc-icons/info-circle-o.svg3
-rw-r--r--assets/sdc-icons/info-circle.svg5
-rw-r--r--assets/sdc-icons/info-square-o.svg3
-rw-r--r--assets/sdc-icons/inputs-o.svg3
-rw-r--r--assets/sdc-icons/locked.svg3
-rw-r--r--assets/sdc-icons/minus-circle.svg3
-rw-r--r--assets/sdc-icons/minus.svg3
-rw-r--r--assets/sdc-icons/notifications-o.svg3
-rw-r--r--assets/sdc-icons/plus-circle-o.svg3
-rw-r--r--assets/sdc-icons/plus-circle.svg5
-rw-r--r--assets/sdc-icons/plus.svg3
-rw-r--r--assets/sdc-icons/profile-o.svg3
-rw-r--r--assets/sdc-icons/profiles-o.svg3
-rw-r--r--assets/sdc-icons/question-mark-circle-o.svg3
-rw-r--r--assets/sdc-icons/question-mark-circle.svg5
-rw-r--r--assets/sdc-icons/req-capabilities-o.svg3
-rw-r--r--assets/sdc-icons/revert-o.svg3
-rw-r--r--assets/sdc-icons/save-o.svg3
-rw-r--r--assets/sdc-icons/search-o.svg3
-rw-r--r--assets/sdc-icons/settings-o.svg3
-rw-r--r--assets/sdc-icons/spinner.svg50
-rw-r--r--assets/sdc-icons/success-circle-o.svg3
-rw-r--r--assets/sdc-icons/success.svg3
-rw-r--r--assets/sdc-icons/sync-o.svg3
-rw-r--r--assets/sdc-icons/trash-o.svg3
-rw-r--r--assets/sdc-icons/undo-o.svg3
-rw-r--r--assets/sdc-icons/unlocked-o.svg3
-rw-r--r--assets/sdc-icons/upload-o.svg3
-rw-r--r--assets/sdc-icons/v-circle-o.svg3
-rw-r--r--assets/sdc-icons/v-circle.svg3
-rw-r--r--assets/sdc-icons/x-circle-o.svg3
-rw-r--r--assets/sdc-icons/x-circle.svg5
-rw-r--r--components/accordion/accordion-basic.html22
-rw-r--r--components/accordion/accordion.scss50
-rw-r--r--components/autocomplete/_autocomplete.scss43
-rw-r--r--components/autocomplete/autocomlete-close.html22
-rw-r--r--components/autocomplete/autocomplete-open.html24
-rw-r--r--components/button/_button.scss168
-rw-r--r--components/button/button-link-auto.html3
-rw-r--r--components/button/button-link-disabled.html3
-rw-r--r--components/button/button-link-extra-small.html3
-rw-r--r--components/button/button-link-large.html3
-rw-r--r--components/button/button-link-medium.html3
-rw-r--r--components/button/button-link-small.html3
-rw-r--r--components/button/button-link.html3
-rw-r--r--components/button/button-primary-auto.html3
-rw-r--r--components/button/button-primary-disabled.html3
-rw-r--r--components/button/button-primary-extra-small.html3
-rw-r--r--components/button/button-primary-large.html3
-rw-r--r--components/button/button-primary-medium.html3
-rw-r--r--components/button/button-primary-small.html3
-rw-r--r--components/button/button-primary.html3
-rw-r--r--components/button/button-secondary-auto.html3
-rw-r--r--components/button/button-secondary-disabled.html3
-rw-r--r--components/button/button-secondary-extra-small.html3
-rw-r--r--components/button/button-secondary-large.html3
-rw-r--r--components/button/button-secondary-medium.html3
-rw-r--r--components/button/button-secondary-small.html3
-rw-r--r--components/button/button-secondary.html3
-rw-r--r--components/checkbox/_checkbox.scss66
-rw-r--r--components/checkbox/checkbox-checked.html6
-rw-r--r--components/checkbox/checkbox-disabled-checked.html6
-rw-r--r--components/checkbox/checkbox-disabled.html6
-rw-r--r--components/checkbox/checkbox-unchecked.html6
-rw-r--r--components/checklist/_checklist.scss21
-rw-r--r--components/checklist/checklist-with-checked-items.html24
-rw-r--r--components/checklist/checklist-with-disabled-items.html25
-rw-r--r--components/checklist/multi-levels-checklist.html50
-rw-r--r--components/checklist/simple-checklist.html24
-rw-r--r--components/dropdown/_dropdown.scss346
-rw-r--r--components/dropdown/dropdown-disabled.html11
-rw-r--r--components/dropdown/dropdown-groups.html10
-rw-r--r--components/dropdown/dropdown-requiered.html18
-rw-r--r--components/dropdown/dropdown.html9
-rw-r--r--components/filter-bar/_filter-bar.scss51
-rw-r--r--components/filter-bar/filter-bar-with-text.html16
-rw-r--r--components/filter-bar/filter-bar.html17
-rw-r--r--components/icon/_icon.scss250
-rw-r--r--components/input/_input.scss78
-rw-r--r--components/input/input-disabled.html4
-rw-r--r--components/input/input-error.html17
-rw-r--r--components/input/input-number.html6
-rw-r--r--components/input/input-placeholder.html4
-rw-r--r--components/input/input-required.html4
-rw-r--r--components/input/input-view-only.html4
-rw-r--r--components/input/input.html8
-rw-r--r--components/menu/_menu.scss68
-rw-r--r--components/menu/popup-menu.html8
-rw-r--r--components/menu/relative-popup-menu.html8
-rw-r--r--components/modal/_modal.scss194
-rw-r--r--components/modal/alert-modal.html45
-rw-r--r--components/modal/custom-modal.html27
-rw-r--r--components/modal/error-modal.html32
-rw-r--r--components/modal/standard-modal.html46
-rw-r--r--components/notification/_notification.scss59
-rw-r--r--components/notification/notification-info.html3
-rw-r--r--components/notifications-container/_notifications-container.scss8
-rw-r--r--components/panel/basic-panel.html21
-rw-r--r--components/panel/panel.scss8
-rw-r--r--components/radio/_radio.scss69
-rw-r--r--components/radio/radio-checked.html4
-rw-r--r--components/radio/radio-disabled-checked.html4
-rw-r--r--components/radio/radio-disabled.html4
-rw-r--r--components/radio/radio-unchecked.html4
-rw-r--r--components/radioGroup/_radioGroup.scss20
-rw-r--r--components/radioGroup/radio-group-disabled.html13
-rw-r--r--components/radioGroup/radio-group-no-title.html12
-rw-r--r--components/radioGroup/radio-group-value.html13
-rw-r--r--components/radioGroup/radio-group.html13
-rw-r--r--components/search-bar/_search-bar.scss61
-rw-r--r--components/search-bar/search-bar-with-text.html17
-rw-r--r--components/search-bar/search-bar.html16
-rw-r--r--components/tabs/tabs-disabled.html8
-rw-r--r--components/tabs/tabs-header.html8
-rw-r--r--components/tabs/tabs-menu.html8
-rw-r--r--components/tabs/tabs.scss35
-rw-r--r--components/tag-cloud/_tag-cloud.scss116
-rw-r--r--components/tag-cloud/disabled-list.html31
-rw-r--r--components/tag-cloud/list-with-active-add-button.html50
-rw-r--r--components/tag-cloud/list-with-some-read-only-items.html61
-rw-r--r--components/tag-cloud/list-with-unique-error.html52
-rw-r--r--components/tag-cloud/simple-list.html50
-rw-r--r--components/tile/_tile.scss172
-rw-r--r--components/tile/tile-without-footer.html14
-rw-r--r--components/tile/vendor-tile.html26
-rw-r--r--components/tile/vfc-tile.html17
-rw-r--r--components/tile/vlm-tile.html22
-rw-r--r--components/tile/vsp-tile.html17
-rw-r--r--components/tooltip/_tooltip.scss124
-rw-r--r--components/validation/_validation.scss9
-rw-r--r--demo/.gitignore7
-rw-r--r--demo/README.md35
-rw-r--r--demo/assests/README.md9
-rw-r--r--demo/assests/icons/empty.txt0
-rw-r--r--demo/assests/icons/locked.svg39
-rw-r--r--demo/assests/icons/plus.svg9
-rw-r--r--demo/assests/icons/unlocked.svg39
-rw-r--r--demo/assests/icons/vendor.svg1
-rw-r--r--demo/assests/icons/vlm.svg1
-rw-r--r--demo/assests/icons/vsp.svg1
-rw-r--r--demo/assests/images/empty.txt0
-rw-r--r--demo/components/button.html15
-rw-r--r--demo/components/colors.html26
-rw-r--r--demo/components/tiles-generic.html106
-rw-r--r--demo/components/tiles.html105
-rw-r--r--demo/index.css178
-rw-r--r--demo/index.html53
-rw-r--r--demo/index.js84
-rw-r--r--demo/package.json23
-rw-r--r--designs/README.md3
-rw-r--r--jest.config.js30
-rw-r--r--json-typing.d.ts4
-rw-r--r--karma.conf.js87
-rw-r--r--karma.entry.js66
-rw-r--r--ng2-component-lab.webpack.config.js62
-rw-r--r--package-lock.json16342
-rw-r--r--package.json201
-rw-r--r--pom.xml162
-rw-r--r--rollup.angular.module.config.js33
-rw-r--r--rollup.angular.umd.config.js38
-rw-r--r--src/README.md9
-rw-r--r--src/angular/accordion/accordion.component.html.ts2
-rw-r--r--src/angular/accordion/accordion.component.ts10
-rw-r--r--src/angular/accordion/accordion.module.ts7
-rw-r--r--src/angular/autocomplete/autocomplete.component.html.ts2
-rw-r--r--src/angular/autocomplete/autocomplete.component.ts39
-rw-r--r--src/angular/autocomplete/autocomplete.module.ts17
-rw-r--r--src/angular/buttons/button-file-opener.component.html.ts18
-rw-r--r--src/angular/buttons/button-file-opener.component.ts61
-rw-r--r--src/angular/buttons/button.component.html.ts4
-rw-r--r--src/angular/buttons/button.component.ts16
-rw-r--r--src/angular/buttons/buttons.module.ts8
-rw-r--r--src/angular/buttons/ibutton.interface.ts14
-rw-r--r--src/angular/checklist/checklist.component.html.ts2
-rw-r--r--src/angular/checklist/checklist.component.ts4
-rw-r--r--src/angular/checklist/models/ChecklistItem.ts4
-rw-r--r--src/angular/common/enums.ts25
-rw-r--r--src/angular/common/index.ts7
-rw-r--r--src/angular/components.ts30
-rw-r--r--src/angular/favicon.icobin0 -> 5430 bytes
-rw-r--r--src/angular/filterbar/filter-bar.component.html.ts2
-rw-r--r--src/angular/filterbar/filter-bar.component.ts5
-rw-r--r--src/angular/filterbar/filter-bar.module.ts6
-rw-r--r--src/angular/form-elements/checkbox/checkbox.component.html.ts4
-rw-r--r--src/angular/form-elements/checkbox/checkbox.component.spec.ts1
-rw-r--r--src/angular/form-elements/checkbox/checkbox.component.ts3
-rw-r--r--src/angular/form-elements/dropdown/dropdown-models.ts14
-rw-r--r--src/angular/form-elements/dropdown/dropdown.component.html.ts2
-rw-r--r--src/angular/form-elements/dropdown/dropdown.component.ts20
-rw-r--r--src/angular/form-elements/form-elements.module.ts7
-rw-r--r--src/angular/form-elements/radios/radio-buttons-group.component.html.ts6
-rw-r--r--src/angular/form-elements/radios/radio-buttons-group.component.ts8
-rw-r--r--src/angular/form-elements/text-elements/base-text-element.component.ts (renamed from src/angular/form-elements/input/input.component.ts)16
-rw-r--r--src/angular/form-elements/text-elements/input/input.component.html.ts (renamed from src/angular/form-elements/input/input.component.html.ts)4
-rw-r--r--src/angular/form-elements/text-elements/input/input.component.ts18
-rw-r--r--src/angular/form-elements/text-elements/textarea/textarea.component.html.ts18
-rw-r--r--src/angular/form-elements/text-elements/textarea/textarea.component.ts14
-rw-r--r--src/angular/form-elements/validation/validatable.component.ts8
-rw-r--r--src/angular/form-elements/validation/validation-group.component.html.ts2
-rw-r--r--src/angular/form-elements/validation/validation-group.component.ts12
-rw-r--r--src/angular/form-elements/validation/validation.component.html.ts4
-rw-r--r--src/angular/form-elements/validation/validation.component.ts9
-rw-r--r--src/angular/form-elements/validation/validation.module.ts1
-rw-r--r--src/angular/form-elements/validation/validators/base.validator.component.html.ts4
-rw-r--r--src/angular/form-elements/validation/validators/base.validator.component.ts8
-rw-r--r--src/angular/form-elements/validation/validators/custom.validator.component.ts2
-rw-r--r--src/angular/form-elements/validation/validators/regex.validator.component.ts2
-rw-r--r--src/angular/form-elements/validation/validators/required.validator.component.ts2
-rw-r--r--src/angular/index.html14
-rw-r--r--src/angular/index.ts31
-rw-r--r--src/angular/loader/loader.component.html.ts13
-rw-r--r--src/angular/loader/loader.component.ts53
-rw-r--r--src/angular/loader/loader.module.ts21
-rw-r--r--src/angular/loader/loader.service.ts37
-rw-r--r--src/angular/modals/modal-button.component.ts10
-rw-r--r--src/angular/modals/modal-close-button.component.ts11
-rw-r--r--src/angular/modals/modal.component.html.ts24
-rw-r--r--src/angular/modals/modal.component.spec.ts129
-rw-r--r--src/angular/modals/modal.component.ts100
-rw-r--r--src/angular/modals/modal.service.ts90
-rw-r--r--src/angular/modals/models/modal-config.ts31
-rw-r--r--src/angular/multiline-ellipsis/multiline-ellipsis.component.html.ts8
-rw-r--r--src/angular/multiline-ellipsis/multiline-ellipsis.component.ts70
-rw-r--r--src/angular/multiline-ellipsis/multiline-ellipsis.module.ts11
-rw-r--r--src/angular/ng1.module.ts15
-rw-r--r--src/angular/notifications/container/notifcontainer.component.html.ts2
-rw-r--r--src/angular/notifications/container/notifcontainer.component.ts10
-rw-r--r--src/angular/notifications/notification-inner-content-example.component.ts5
-rw-r--r--src/angular/notifications/notification.module.ts5
-rw-r--r--src/angular/notifications/notification/notification.component.html.ts2
-rw-r--r--src/angular/notifications/notification/notification.component.ts18
-rw-r--r--src/angular/notifications/services/notifications.service.ts18
-rw-r--r--src/angular/notifications/utilities/notification.config.ts10
-rw-r--r--src/angular/polyfills.ts67
-rw-r--r--src/angular/popup-menu/popup-menu-item.component.spec.ts3
-rw-r--r--src/angular/popup-menu/popup-menu.module.ts1
-rw-r--r--src/angular/searchbar/search-bar.component.html.ts2
-rw-r--r--src/angular/searchbar/search-bar.component.ts11
-rw-r--r--src/angular/services.ts13
-rw-r--r--src/angular/styles.css9
-rw-r--r--src/angular/svg-icon/svg-icon-label.component.html.ts2
-rw-r--r--src/angular/svg-icon/svg-icon-label.component.ts4
-rw-r--r--src/angular/svg-icon/svg-icon.component.html.ts2
-rw-r--r--src/angular/svg-icon/svg-icon.component.ts51
-rw-r--r--src/angular/tabs/children/tab.component.html.ts2
-rw-r--r--src/angular/tabs/children/tab.component.ts2
-rw-r--r--src/angular/tabs/tabs.component.html.ts2
-rw-r--r--src/angular/tabs/tabs.component.ts31
-rw-r--r--src/angular/tabs/tabs.module.ts1
-rw-r--r--src/angular/tag-cloud/tag-cloud.component.html.ts2
-rw-r--r--src/angular/tag-cloud/tag-cloud.component.ts12
-rw-r--r--src/angular/tag-cloud/tag-item/tag-item.component.html.ts2
-rw-r--r--src/angular/tag-cloud/tag-item/tag-item.component.ts2
-rw-r--r--src/angular/test.ts29
-rw-r--r--src/angular/tiles/tile.component.html.ts2
-rw-r--r--src/angular/tiles/tile.component.ts2
-rw-r--r--src/angular/tooltip/tooltip.directive.ts2
-rw-r--r--src/angular/tooltip/tooltip.module.ts2
-rw-r--r--src/angular/tsconfig.app.json15
-rw-r--r--src/angular/tsconfig.spec.json20
-rw-r--r--src/angular/typings.d.ts10
-rw-r--r--src/angular/utils/create-dynamic-component.service.ts3
-rw-r--r--src/assets/styles/_svg_icon.scss (renamed from src/style/scss/angular/_svg_icon.scss)38
-rw-r--r--src/assets/styles/_tooltip_custom_style.scss (renamed from src/style/scss/angular/_tooltip_custom_style.scss)0
-rw-r--r--src/assets/styles/style.scss5
-rw-r--r--src/environments/environment.prod.ts3
-rw-r--r--src/environments/environment.ts7
-rw-r--r--src/react/Accordion.js40
-rw-r--r--src/react/Button.js37
-rw-r--r--src/react/Checkbox.js45
-rw-r--r--src/react/Checklist.js43
-rw-r--r--src/react/Input.js88
-rw-r--r--src/react/Modal.js55
-rw-r--r--src/react/ModalBody.js19
-rw-r--r--src/react/ModalFooter.js36
-rw-r--r--src/react/ModalHeader.js41
-rw-r--r--src/react/ModalTitle.js19
-rw-r--r--src/react/Panel.js18
-rw-r--r--src/react/PopupMenu.js39
-rw-r--r--src/react/PopupMenuItem.js34
-rw-r--r--src/react/Portal.js52
-rw-r--r--src/react/Radio.js58
-rw-r--r--src/react/RadioGroup.js40
-rw-r--r--src/react/SVGIcon.js47
-rw-r--r--src/react/Tab.js20
-rw-r--r--src/react/TabPane.js12
-rw-r--r--src/react/Tabs.js29
-rw-r--r--src/react/Tile.js33
-rw-r--r--src/react/TileFooter.js10
-rw-r--r--src/react/TileFooterCell.js7
-rw-r--r--src/react/TileInfo.js10
-rw-r--r--src/react/TileInfoLine.js7
-rw-r--r--src/react/index.js74
-rw-r--r--src/style/scss/_common.scss7
-rw-r--r--src/style/scss/_components.scss22
-rw-r--r--src/style/scss/common/_animation.scss149
-rw-r--r--src/style/scss/common/_icons.scss19
-rw-r--r--src/style/scss/common/_normalize.scss578
-rw-r--r--src/style/scss/common/_typography.scss96
-rw-r--r--src/style/scss/common/base.scss96
-rw-r--r--src/style/scss/common/mixins.scss337
-rw-r--r--src/style/scss/common/variables.scss35
-rw-r--r--src/style/scss/style.scss6
-rw-r--r--src/style/scss/themes/1802/_components.scss23
-rw-r--r--src/style/scss/themes/1802/button.scss148
-rw-r--r--src/style/scss/themes/1802/modal.scss193
-rw-r--r--src/style/scss/themes/1802/style.scss5
-rw-r--r--src/style/scss/themes/1802/tabs.scss39
-rw-r--r--stories/README.md9
-rw-r--r--stories/angular/accordion.stories.ts154
-rw-r--r--stories/angular/autocomplete.stories.ts127
-rw-r--r--stories/angular/button.stories.ts229
-rw-r--r--stories/angular/checkbox.stories.ts50
-rw-r--r--stories/angular/checklist.stories.ts51
-rw-r--r--stories/angular/colors.stories.ts81
-rw-r--r--stories/angular/dropdown.stories.ts297
-rw-r--r--stories/angular/filter-bar.stories.ts51
-rw-r--r--stories/angular/helpers/autocomplete-server-mock.json8
-rw-r--r--stories/angular/helpers/colors-table.component.ts28
-rw-r--r--stories/angular/helpers/index.ts21
-rw-r--r--stories/angular/helpers/keys.pipe.ts (renamed from stories/ng2-component-lab/utils/pipes/keys.pipe.ts)0
-rw-r--r--stories/angular/helpers/modal-consumer.component.ts151
-rw-r--r--stories/angular/helpers/modal-inner-content-example.component.ts16
-rw-r--r--stories/angular/index.ts112
-rw-r--r--stories/angular/infinite-scroll.stories.ts181
-rw-r--r--stories/angular/input.stories.ts120
-rw-r--r--stories/angular/loader.stories.ts147
-rw-r--r--stories/angular/modal.stories.ts59
-rw-r--r--stories/angular/multiline-ellipsis.stories.ts77
-rw-r--r--stories/angular/notifications.stories.ts55
-rw-r--r--stories/angular/popup-menu.stories.ts185
-rw-r--r--stories/angular/radio-button-group.stories.ts84
-rw-r--r--stories/angular/search-bar.stories.ts49
-rw-r--r--stories/angular/styles.scss104
-rw-r--r--stories/angular/svg-icon.stories.ts124
-rw-r--r--stories/angular/tabs.stories.ts55
-rw-r--r--stories/angular/tag-cloud.stories.ts64
-rw-r--r--stories/angular/tile.stories.ts81
-rw-r--r--stories/angular/tooltip.stories.ts87
-rw-r--r--stories/angular/validation.stories.ts184
-rw-r--r--stories/ng2-component-lab/accordion.component.exp.ts146
-rw-r--r--stories/ng2-component-lab/autocomplete.component.exp.ts77
-rw-r--r--stories/ng2-component-lab/button.component.exp.ts164
-rw-r--r--stories/ng2-component-lab/checkbox.component.exp.ts33
-rw-r--r--stories/ng2-component-lab/checklist.component.exp.ts213
-rw-r--r--stories/ng2-component-lab/colors.component.exp.ts42
-rw-r--r--stories/ng2-component-lab/components.module.ts45
-rw-r--r--stories/ng2-component-lab/components/colors-table.component.ts26
-rw-r--r--stories/ng2-component-lab/components/modal-consumer.component.ts106
-rw-r--r--stories/ng2-component-lab/components/modal-inner-content-example.component.ts16
-rw-r--r--stories/ng2-component-lab/components/notifications-example.component.ts57
-rw-r--r--stories/ng2-component-lab/components/svg-icons-table.component.ts189
-rw-r--r--stories/ng2-component-lab/dropdown.component.exp.ts195
-rw-r--r--stories/ng2-component-lab/filter-bar.component.exp.ts56
-rw-r--r--stories/ng2-component-lab/infinite-scroll.component.exp.ts166
-rw-r--r--stories/ng2-component-lab/input.component.exp.ts79
-rw-r--r--stories/ng2-component-lab/modals.component.exp.ts126
-rw-r--r--stories/ng2-component-lab/notification.component.exp.ts11
-rw-r--r--stories/ng2-component-lab/pipes/search-filter-pipe.ts15
-rw-r--r--stories/ng2-component-lab/popup-menu.component.exp.ts104
-rw-r--r--stories/ng2-component-lab/radio.component.exp.ts179
-rw-r--r--stories/ng2-component-lab/search-bar.component.exp.ts19
-rw-r--r--stories/ng2-component-lab/svg-icon.component.exp.ts14
-rw-r--r--stories/ng2-component-lab/tabs.component.exp.ts28
-rw-r--r--stories/ng2-component-lab/tag-cloud.component.exp.ts61
-rw-r--r--stories/ng2-component-lab/tiles.component.exp.ts194
-rw-r--r--stories/ng2-component-lab/tooltip.directive.exp.ts231
-rw-r--r--stories/ng2-component-lab/utils/mock.json6
-rw-r--r--stories/ng2-component-lab/validation.component.exp.ts162
-rw-r--r--stories/react/Accordion.stories.js16
-rw-r--r--stories/react/Checkbox.stories.js33
-rw-r--r--stories/react/Checklist.stories.js65
-rw-r--r--stories/react/Colors.stories.js53
-rw-r--r--stories/react/Input.stories.js51
-rw-r--r--stories/react/Modal.stories.js133
-rw-r--r--stories/react/Panel.stories.js22
-rw-r--r--stories/react/PopupMenu.stories.js37
-rw-r--r--stories/react/Radio.stories.js33
-rw-r--r--stories/react/RadioGroup.stories.js34
-rw-r--r--stories/react/SVGIcon.stories.js103
-rw-r--r--stories/react/Tabs.stories.js48
-rw-r--r--stories/react/Tiles.stories.js89
-rw-r--r--stories/react/Typography.stories.js62
-rw-r--r--stories/react/buttons/LinkButtons.stories.js49
-rw-r--r--stories/react/buttons/PrimaryButtons.stories.js49
-rw-r--r--stories/react/buttons/SecondaryButtons.stories.js49
-rw-r--r--stories/react/index.js66
-rw-r--r--stories/react/utils/BeautifyHTML.js33
-rw-r--r--stories/react/utils/Examples.js23
-rw-r--r--stories/react/utils/InsertSVGIcons.js15
-rw-r--r--stories/react/utils/SourceToggle.js73
-rw-r--r--stories/react/utils/components/DropdownMenu.js14
-rw-r--r--stories/react/utils/jsxToString.js74
-rw-r--r--test/react/Accordion.spec.js11
-rw-r--r--test/react/Button.spec.js77
-rw-r--r--test/react/Checkbox.spec.js60
-rw-r--r--test/react/Checklist.spec.js64
-rw-r--r--test/react/Input.spec.js69
-rw-r--r--test/react/Modal.spec.js68
-rw-r--r--test/react/ModalBody.spec.js11
-rw-r--r--test/react/ModalFooter.spec.js11
-rw-r--r--test/react/ModalHeader.spec.js11
-rw-r--r--test/react/ModalTitle.spec.js11
-rw-r--r--test/react/Panel.spec.js11
-rw-r--r--test/react/PopupMenu.spec.js62
-rw-r--r--test/react/PopupMenuItem.spec.js56
-rw-r--r--test/react/Portal.spec.js10
-rw-r--r--test/react/Radio.spec.js60
-rw-r--r--test/react/RadioGroup.spec.js69
-rw-r--r--test/react/Tabs.spec.js55
-rw-r--r--test/react/Tile.spec.js30
-rw-r--r--test/react/__snapshots__/Accordion.spec.js.snap32
-rw-r--r--test/react/__snapshots__/Button.spec.js.snap163
-rw-r--r--test/react/__snapshots__/Checkbox.spec.js.snap49
-rw-r--r--test/react/__snapshots__/Checklist.spec.js.snap165
-rw-r--r--test/react/__snapshots__/Input.spec.js.snap179
-rw-r--r--test/react/__snapshots__/Modal.spec.js.snap9
-rw-r--r--test/react/__snapshots__/ModalBody.spec.js.snap7
-rw-r--r--test/react/__snapshots__/ModalFooter.spec.js.snap17
-rw-r--r--test/react/__snapshots__/ModalHeader.spec.js.snap24
-rw-r--r--test/react/__snapshots__/ModalTitle.spec.js.snap9
-rw-r--r--test/react/__snapshots__/Panel.spec.js.snap9
-rw-r--r--test/react/__snapshots__/PopupMenu.spec.js.snap26
-rw-r--r--test/react/__snapshots__/PopupMenuItem.spec.js.snap19
-rw-r--r--test/react/__snapshots__/Radio.spec.js.snap49
-rw-r--r--test/react/__snapshots__/RadioGroup.spec.js.snap60
-rw-r--r--test/react/__snapshots__/Tabs.spec.js.snap52
-rw-r--r--test/react/__snapshots__/Tile.spec.js.snap108
-rw-r--r--test/react/utils/htmlLoader.js7
-rw-r--r--test/react/utils/svgMock.js3
-rw-r--r--tsconfig-aot.json (renamed from tsconfig.angular.build-es5.json)30
-rw-r--r--tsconfig-sitebook.json22
-rw-r--r--tsconfig.json31
-rw-r--r--tslint.json77
-rw-r--r--utils/build-demo.js73
-rw-r--r--utils/create-icon-map.js26
-rw-r--r--utils/create-svg-icons-map.js95
-rw-r--r--utils/index-for-gh-pages.html98
-rw-r--r--utils/main-page.html62
-rw-r--r--utils/scripts/map-sources.js9
-rw-r--r--webpack-umd.config.ts97
-rw-r--r--webpack.build.config.js63
-rw-r--r--webpack/helpers.js10
-rw-r--r--webpack/webpack.test.js71
-rw-r--r--wiki/Adding_a_new_component.md100
-rw-r--r--wiki/Adding_a_new_component_to_storybook.md62
-rw-r--r--wiki/Contribution_guide.md30
-rw-r--r--wiki/Deploying_storybook_to_a_forks_github_pages.md13
-rw-r--r--wiki/Understanding_project_build.md76
-rw-r--r--wiki/home.md1
566 files changed, 21223 insertions, 15325 deletions
diff --git a/.babelrc b/.babelrc
deleted file mode 100644
index a4105e9..0000000
--- a/.babelrc
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "presets": ["react", "env"],
- "plugins": ["transform-object-rest-spread"]
-} \ No newline at end of file
diff --git a/.editorconfig b/.editorconfig
index 5ba69e2..6e87a00 100644
--- a/.editorconfig
+++ b/.editorconfig
@@ -1,18 +1,13 @@
-# EditorConfig is awesome: http://EditorConfig.org
-
-# top-most EditorConfig file
+# Editor configuration, see http://editorconfig.org
root = true
-# Unix-style newlines with a newline ending every file
[*]
-end_of_line = lf
charset = utf-8
-trim_trailing_whitespace = true
+indent_style = space
+indent_size = 2
insert_final_newline = true
+trim_trailing_whitespace = true
-# tab indentation
-[framework/**.js]
-[framework/**.jsx]
-[resources/**.scss]
-indent_style = space
-indent_size = 4
+[*.md]
+max_line_length = off
+trim_trailing_whitespace = false
diff --git a/.env b/.env
new file mode 100644
index 0000000..d24e628
--- /dev/null
+++ b/.env
@@ -0,0 +1 @@
+STORYBOOK_EXAMPLE_APP=true
diff --git a/.eslintrc b/.eslintrc
deleted file mode 100644
index 5a7f317..0000000
--- a/.eslintrc
+++ /dev/null
@@ -1,135 +0,0 @@
-{
- "parser": "babel-eslint",
- "env": {
- "es6": true,
- "node": true,
- "jest": true
- },
- "plugins": [
- "react",
- "import"
- ],
- "ecmaFeatures": {
- "jsx": true,
- "classes": true,
- "modules": true
- },
- "globals": {
- "ICON_PATH": true,
- "ICON_NAMES": true
- },
- "rules": {
- "linebreak-style": 0,
- "no-unused-vars": 2,
- "no-bitwise": 0,
- "no-eq-null": 2,
- "eqeqeq": 2,
- "wrap-iife": [
- 2,
- "any"
- ],
- "no-unused-expressions": 2,
- "indent": [
- 1,
- "tab",
- {
- "SwitchCase": 1
- }
- ],
- "no-use-before-define": 2,
- "new-cap": [
- 2,
- {
- "capIsNewExceptions": [
- "DataTable",
- "V"
- ]
- }
- ],
- "no-caller": 2,
- "no-empty": 2,
- "no-undef": 2,
- "quotes": [
- 2,
- "single",
- "avoid-escape"
- ],
- "jsx-quotes": [
- 2,
- "prefer-single"
- ],
- "no-plusplus": 0,
- "no-cond-assign": [
- 2,
- "except-parens"
- ],
- "comma-style": [
- 2,
- "last"
- ],
- "no-invalid-this": 0,
- "dot-notation": 0,
- "max-len": [
- 1,
- 200
- ],
- "camelcase": [
- 2,
- {
- "properties": "never"
- }
- ],
- "curly": 2,
- "brace-style": 0,
- "semi": [
- 2,
- "always"
- ],
- "space-in-brackets": [
- 0,
- "never"
- ],
- "space-infix-ops": 2,
- "import/default": 0,
- "import/no-unresolved": 0,
- "import/no-named-as-default": 2,
- "import/no-duplicates": 0,
- "import/imports-first": 2,
- "import/export": 2,
- "react/display-name": 0,
- "react/forbid-prop-types": 0,
- "react/jsx-boolean-value": 0,
- "react/jsx-closing-bracket-location": [
- 1,
- {
- "nonEmpty": "after-props",
- "selfClosing": "after-props"
- }
- ],
- "react/jsx-curly-spacing": 0,
- "react/jsx-indent-props": [
- 1,
- "tab"
- ],
- "react/jsx-max-props-per-line": 0,
- "react/jsx-no-duplicate-props": 1,
- "react/jsx-no-literals": 0,
- "react/jsx-no-undef": 1,
- "react/jsx-sort-prop-types": 0,
- "react/jsx-sort-props": 0,
- "react/jsx-uses-react": 1,
- "react/jsx-uses-vars": 1,
- "react/no-danger": 1,
- "react/no-did-mount-set-state": 2,
- "react/no-did-update-set-state": 2,
- "react/no-direct-mutation-state": 1,
- "react/no-multi-comp": 0,
- "react/no-set-state": 0,
- "react/no-unknown-property": 1,
- "react/prop-types": 0,
- "react/react-in-jsx-scope": 1,
- "react/self-closing-comp": 1,
- "react/sort-comp": 0,
- "react/jsx-wrap-multilines": 1
- }
-}
diff --git a/.gitignore b/.gitignore
index 75d10d0..aa3e68d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,31 +1,40 @@
# See http://help.github.com/ignore-files/ for more about ignoring files.
+# compiled output
/dist
/tmp
-/lib
-/build
+/out-tsc
+/.storybook-out
+
+# dependencies
/node_modules
-npm-debug.log*
-Thumbs.db
-# IDEA files
-.idea
-.vscode
-.history
-package-lock.json
-# build files
-lib
-css
-demo/gen
-.out
-src/react/utils/iconMap.js
+# IDEs and editors
+/.idea
+.project
+.classpath
+.c9/
+*.launch
+.settings/
+*.sublime-workspace
-#coverage files
-coverage
+# IDE - VSCode
+.vscode/*
+!.vscode/settings.json
+!.vscode/tasks.json
+!.vscode/launch.json
+!.vscode/extensions.json
-#ignore generated icons files
-src/common/icons-map.ts
-src/common/icons-map.json
+# misc
+/.sass-cache
+/connect.lock
+/coverage
+/libpeerconnection.log
+npm-debug.log
+yarn-error.log
+testem.log
+/typings
-/node/*
-/yarn.lock
+# System Files
+.DS_Store
+Thumbs.db
diff --git a/.gitreview b/.gitreview
index 50cc496..6cbd413 100644
--- a/.gitreview
+++ b/.gitreview
@@ -1,4 +1,4 @@
[gerrit]
host=gerrit.onap.org
port=29418
-project=sdc/onap-ui.git
+project=sdc/onap-ui-angular.git
diff --git a/.ng2-component-lab/lab-configuration.module.ts b/.ng2-component-lab/lab-configuration.module.ts
deleted file mode 100644
index d9305dd..0000000
--- a/.ng2-component-lab/lab-configuration.module.ts
+++ /dev/null
@@ -1,36 +0,0 @@
-import { createLab } from '@islavi/ng2-component-lab';
-import { ComponentsModule } from './../stories/ng2-component-lab/components.module';
-
-const themeName:string = 'default';
-//const themeName:string = '1802';
-
-// Select the theme
-if (themeName === '1802') {
- require('./themes/ng2-component-lab-theme-1802.scss');
-} else {
- // Default theme
- require('./ng2-component-lab.scss');
-}
-
-createLab({
- /**
- * NgModule to import. All components and pipes must be exported
- * by this module to be useable in your experiments
- */
- ngModule: ComponentsModule,
- /**
- * Function that returns an array of experiments.
- *
- * Here is an example using webpack's `require.context` to
- * load all modules ending in `.exp.ts` and returning thier
- * default exports as an array:
- */
- loadExperiments() {
- const context = (require as any).context('./../stories/ng2-component-lab', true, /\.exp\.ts/);
- var result = context.keys().map(context).map(mod => mod.default);
- context.keys().forEach(key => {
- console.log("Going to require: " + key);
- });
- return result;
- }
-});
diff --git a/.ng2-component-lab/ng2-component-lab.config.js b/.ng2-component-lab/ng2-component-lab.config.js
deleted file mode 100644
index 963ac45..0000000
--- a/.ng2-component-lab/ng2-component-lab.config.js
+++ /dev/null
@@ -1,11 +0,0 @@
-var getWebPackConfig = require('../ng2-component-lab.webpack.config.js');
-
-module.exports = {
- webpackConfig: getWebPackConfig,
- host: 'localhost',
- port: 6007,
- include: [],
- suites: {
- feature: './.ng2-component-lab/lab-configuration.module.ts'
- }
-};
diff --git a/.ng2-component-lab/ng2-component-lab.scss b/.ng2-component-lab/ng2-component-lab.scss
deleted file mode 100644
index 28f0f7b..0000000
--- a/.ng2-component-lab/ng2-component-lab.scss
+++ /dev/null
@@ -1,58 +0,0 @@
-@font-face {
- font-family: 'OpenSans-Regular';
- font-style: normal;
- font-weight: 400;
- src:
- local('Open Sans Regular'),
- local('OpenSans-Regular'),
- url(https://fonts.gstatic.com/s/opensans/v15/cJZKeOuBrn4kERxqtaUH3ZBw1xU1rKptJj_0jans920.woff2) format('woff2'),
- url(http://fonts.gstatic.com/s/opensans/v15/cJZKeOuBrn4kERxqtaUH3T8E0i7KZn-EPnyo3HZu7kw.woff) format('woff');
-}
-@font-face {
- font-family: 'OpenSans-Italic';
- font-style: normal;
- font-weight: 400;
- src:
- local('Open Sans Italic'),
- local('OpenSans-Italic'),
- url(https://fonts.gstatic.com/s/opensans/v15/xjAJXh38I15wypJXxuGMBogp9Q8gbYrhqGlRav_IXfk.woff2) format('woff2'),
- url(http://fonts.gstatic.com/s/opensans/v15/xjAJXh38I15wypJXxuGMBobN6UDyHWBl620a-IRfuBk.woff) format('woff');
-}
-@font-face {
- font-family: 'OpenSans-Semibold';
- font-style: normal;
- font-weight: 400;
- src:
- local('Open Sans Semibold'),
- local('OpenSans-Semibold'),
- url(https://fonts.gstatic.com/s/opensans/v15/MTP_ySUJH_bn48VBG8sNShampu5_7CjHW5spxoeN3Vs.woff2) format('woff2'),
- url(http://fonts.gstatic.com/s/opensans/v15/MTP_ySUJH_bn48VBG8sNSnhCUOGz7vYGh680lGh-uXM.woff) format('woff');
-}
-
-@import '../src/style/scss/style.scss';
-
-.colors-table {
- width: 75%;
- display: flex;
- flex-wrap: wrap;
- justify-content: flex-start;
- font-size: 13px;
- .color-section {
- display: flex;
- flex-direction: column;
- margin: 10px 0;
- min-width: 150px;
- div {
- align-self: center;
- user-select: text;
- }
- $circle-size: 40px;
- .color-circle {
- height: $circle-size;
- width: $circle-size;
- border-radius: $circle-size;
- padding: 10px;
- text-align: center;
- }
- }
-}
diff --git a/.ng2-component-lab/themes/ng2-component-lab-theme-1802.scss b/.ng2-component-lab/themes/ng2-component-lab-theme-1802.scss
deleted file mode 100644
index 59cf05e..0000000
--- a/.ng2-component-lab/themes/ng2-component-lab-theme-1802.scss
+++ /dev/null
@@ -1,58 +0,0 @@
-@font-face {
- font-family: 'OpenSans-Regular';
- font-style: normal;
- font-weight: 400;
- src:
- local('Open Sans Regular'),
- local('OpenSans-Regular'),
- url(https://fonts.gstatic.com/s/opensans/v15/cJZKeOuBrn4kERxqtaUH3ZBw1xU1rKptJj_0jans920.woff2) format('woff2'),
- url(http://fonts.gstatic.com/s/opensans/v15/cJZKeOuBrn4kERxqtaUH3T8E0i7KZn-EPnyo3HZu7kw.woff) format('woff');
-}
-@font-face {
- font-family: 'OpenSans-Italic';
- font-style: normal;
- font-weight: 400;
- src:
- local('Open Sans Italic'),
- local('OpenSans-Italic'),
- url(https://fonts.gstatic.com/s/opensans/v15/xjAJXh38I15wypJXxuGMBogp9Q8gbYrhqGlRav_IXfk.woff2) format('woff2'),
- url(http://fonts.gstatic.com/s/opensans/v15/xjAJXh38I15wypJXxuGMBobN6UDyHWBl620a-IRfuBk.woff) format('woff');
-}
-@font-face {
- font-family: 'OpenSans-Semibold';
- font-style: normal;
- font-weight: 400;
- src:
- local('Open Sans Semibold'),
- local('OpenSans-Semibold'),
- url(https://fonts.gstatic.com/s/opensans/v15/MTP_ySUJH_bn48VBG8sNShampu5_7CjHW5spxoeN3Vs.woff2) format('woff2'),
- url(http://fonts.gstatic.com/s/opensans/v15/MTP_ySUJH_bn48VBG8sNSnhCUOGz7vYGh680lGh-uXM.woff) format('woff');
-}
-
-@import './../../src/style/scss/themes/1802/style.scss';
-
-.colors-table {
- width: 75%;
- display: flex;
- flex-wrap: wrap;
- justify-content: flex-start;
- font-size: 13px;
- .color-section {
- display: flex;
- flex-direction: column;
- margin: 10px 0;
- min-width: 150px;
- div {
- align-self: center;
- user-select: text;
- }
- $circle-size: 40px;
- .color-circle {
- height: $circle-size;
- width: $circle-size;
- border-radius: $circle-size;
- padding: 10px;
- text-align: center;
- }
- }
-}
diff --git a/.npmignore b/.npmignore
deleted file mode 100644
index 7d482d2..0000000
--- a/.npmignore
+++ /dev/null
@@ -1,6 +0,0 @@
-/dist
-
-# IDEA files
-.idea
-.vscode
-.history
diff --git a/.storybook/addons.js b/.storybook/addons.js
new file mode 100644
index 0000000..2cf64c7
--- /dev/null
+++ b/.storybook/addons.js
@@ -0,0 +1,7 @@
+import '@storybook/addon-storysource/register';
+import '@storybook/addon-actions/register';
+import '@storybook/addon-links/register';
+import '@storybook/addon-notes/register';
+import '@storybook/addon-knobs/register';
+import '@storybook/addon-options/register';
+import '@storybook/addon-backgrounds/register';
diff --git a/.storybook/config.js b/.storybook/config.js
index 5896dcc..cdfdaee 100644
--- a/.storybook/config.js
+++ b/.storybook/config.js
@@ -1,8 +1,17 @@
-import { configure } from '@storybook/react';
-import './storybook.scss';
+import { configure } from '@storybook/angular';
+import { setOptions } from '@storybook/addon-options';
+
+setOptions({
+ hierarchyRootSeparator: /\|/,
+});
function loadStories() {
- require('../stories/react');
+ // put welcome screen at the top of the list so it's the first one displayed
+ require('../stories/angular');
+
+ // automatically import all story ts files that end with *.stories.ts
+ const req = require.context('../stories/angular', true, /\.stories\.ts$/);
+ req.keys().forEach(filename => req(filename));
}
configure(loadStories, module);
diff --git a/.storybook/storybook.scss b/.storybook/storybook.scss
deleted file mode 100644
index ce905cf..0000000
--- a/.storybook/storybook.scss
+++ /dev/null
@@ -1,231 +0,0 @@
-@import 'typography.scss';
-@import '../src/style/scss/style.scss';
-@import '~prismjs/themes/prism.css';
-
-body {
- @include base-font-regular();
- margin: 15px;
- max-width: 800px;
-}
-
-a {
- color: #1474f3;
- text-decoration: none;
- border-bottom: 1px solid #1474f3;
- padding-bottom: 2px;
-}
-
-.colors-table {
- width: 100%;
- display: flex;
- flex-wrap: wrap;
- justify-content: flex-start;
- font-size: 13px;
- .color-section {
- display: flex;
- flex-direction: column;
- margin: 10px 0;
- min-width: 150px;
- div {
- align-self: center;
- user-select: text;
- }
- $circle-size: 40px;
- .color-circle {
- height: $circle-size;
- width: $circle-size;
- border-radius: $circle-size;
- padding: 10px;
- text-align: center;
- }
- }
-}
-
-.icons-screen {
- width: 1190px;
- .missing-icon-section {
- border-top: 1px solid $light-gray;
- padding-top: 10px;
- }
- .icons-option-selector {
- margin-top: 20px;
- margin-bottom: 20px;
- display: flex;
- .option-container {
- display: flex;
- flex-direction: column;
- flex-basis: 100%;
- margin-right: 20px;
- }
- }
-
- .icons-table {
- margin-top: 50px;
- width: 100%;
- display: flex;
- flex-wrap: wrap;
- border-top: 1px solid $light-gray;
- justify-content: flex-start;
- .icon-section {
- display: flex;
- flex-direction: column;
- margin: 10px;
- min-width: 150px;
- .svg-icon-wrapper {
- cursor: pointer;
- width: 20px;
- height: 42px;
- margin-left: auto;
- margin-right: auto;
- .svg-icon-label {
- font-size: 12px;
- }
- }
- }
- }
-
- .svg-icon {
- &.storybook-big {
- width: 120px;
- height: 120px;
- }
- &.storybook-small {
- width: 60px;
- height: 60px;
- }
- }
-}
-
-.sdc-popup-menu {
- @include box-shadow(0 1px 3px 0 rgba(0, 0, 0, 0.2));
- width: 200px;
- height: 200px;
- border: 1px solid $light-gray;
-}
-
-.typography-screen {
- .typography-section {
- margin: 20px 0;
- }
- ul {
- font-size: 18px;
- }
- .typo-table {
- .typo-section {
- div {
- display: inline-block;
- //border: 1px solid black;
- width: 30%;
- margin: 4px 0;
- }
- .sample-text {
- white-space: nowrap;
-
- }
- }
- }
- .heading-1 {
- @include heading-1;
- }
- .heading-2 {
- @include heading-2;
- }
- .heading-3 {
- @include heading-3;
- }
- .heading-4 {
- @include heading-4;
- }
- .heading-4-emphasis {
- @include heading-4-emphasis;
- }
- .heading-5 {
- @include heading-5;
- }
-
- .body-1 {
- @include body-1;
- }
-
- .body-1-italic {
- @include body-1-italic;
- }
-
- .body-2 {
- @include body-2;
- }
-
- .body-2-emphasis {
- @include body-2-emphasis;
- }
-
- .body-3 {
- @include body-3;
- }
-
- .body-3-emphasis {
- @include body-3-emphasis;
- }
-
- .body-4 {
- @include body-4;
- }
-}
-
-.source-toggle-wrapper {
- .source-toggle-title {
- @include heading-2;
- }
- .source-toggle {
- display: flex;
- border-top: 1px solid $light-gray;
- padding: 10px 0;
- &:first-child {
- border-top: none;
- }
- .source-toggle-example {
- flex-basis: 40%;
- flex-shrink: 0;
- }
- .source-toggle-code {
- background-color: $light-silver;
- padding: 5px;
- margin-left: 30px;
- pre {
- margin-top: 0;
- user-select: text;
- overflow-x: auto;
- overflow-y: hidden;
- max-width: 800px;
- code {
- font-size: 15px;
- font-weight: 600;
- padding: 2px 5px;
- border: 1px solid #eae9e9;
- border-radius: 4px;
- background-color: #f3f2f2;
- color: #3a3a3a;
- .token {
- line-height: 20px;
- }
- }
- }
- .source-toggle-code-tabs {
- display: flex;
- margin-bottom: 10px;
- .source-toggle-tab {
- @include body-1;
- @include base-font-semibold;
- margin-right: 20px;
- cursor: pointer;
- &.selected {
- border-bottom: 2px solid $dark-blue;
- color: $dark-blue;
- font-weight: bold;
- }
- }
- }
- }
- }
-}
-
diff --git a/.storybook/tsconfig.json b/.storybook/tsconfig.json
new file mode 100644
index 0000000..b99b549
--- /dev/null
+++ b/.storybook/tsconfig.json
@@ -0,0 +1,10 @@
+{
+ "extends": "../tsconfig-sitebook.json",
+ "exclude": [
+ "../src/angular/test.ts",
+ "../src/angular/**/*.spec.ts"
+ ],
+ "include": [
+ "../src/angular/**/*"
+ ]
+}
diff --git a/.storybook/typography.scss b/.storybook/typography.scss
deleted file mode 100644
index 36f9b02..0000000
--- a/.storybook/typography.scss
+++ /dev/null
@@ -1,30 +0,0 @@
-@font-face {
- font-family: 'OpenSans-Regular';
- font-style: normal;
- font-weight: 400;
- src:
- local('Open Sans Regular'),
- local('OpenSans-Regular'),
- url(https://fonts.gstatic.com/s/opensans/v15/cJZKeOuBrn4kERxqtaUH3ZBw1xU1rKptJj_0jans920.woff2) format('woff2'),
- url(http://fonts.gstatic.com/s/opensans/v15/cJZKeOuBrn4kERxqtaUH3T8E0i7KZn-EPnyo3HZu7kw.woff) format('woff');
-}
-@font-face {
- font-family: 'OpenSans-Italic';
- font-style: normal;
- font-weight: 400;
- src:
- local('Open Sans Italic'),
- local('OpenSans-Italic'),
- url(https://fonts.gstatic.com/s/opensans/v15/xjAJXh38I15wypJXxuGMBogp9Q8gbYrhqGlRav_IXfk.woff2) format('woff2'),
- url(http://fonts.gstatic.com/s/opensans/v15/xjAJXh38I15wypJXxuGMBobN6UDyHWBl620a-IRfuBk.woff) format('woff');
-}
-@font-face {
- font-family: 'OpenSans-Semibold';
- font-style: normal;
- font-weight: 400;
- src:
- local('Open Sans Semibold'),
- local('OpenSans-Semibold'),
- url(https://fonts.gstatic.com/s/opensans/v15/MTP_ySUJH_bn48VBG8sNShampu5_7CjHW5spxoeN3Vs.woff2) format('woff2'),
- url(http://fonts.gstatic.com/s/opensans/v15/MTP_ySUJH_bn48VBG8sNSnhCUOGz7vYGh680lGh-uXM.woff) format('woff');
-}
diff --git a/.storybook/webpack.config.js b/.storybook/webpack.config.js
index a923d80..27e132b 100644
--- a/.storybook/webpack.config.js
+++ b/.storybook/webpack.config.js
@@ -1,39 +1,19 @@
-
const path = require('path');
-const webpack = require('webpack');
-const svgFolder = './assets/icons/';
-const fs = require('fs');
-
-let iconNames = [];
-fs.readdirSync(svgFolder).forEach(file => {
- let fileName = file.split('.');
- if (fileName[0] && fileName[1] === 'svg') {
- iconNames.push(fileName[0]);
- }
-});
+module.exports = baseConfig => {
+ baseConfig.module.rules.push({
+ test: [/\.stories\.ts?$/, /index\.ts$/],
+ loaders: [
+ {
+ loader: require.resolve('@storybook/addon-storysource/loader'),
+ options: {
+ parser: 'typescript',
+ },
+ },
+ ],
+ include: [path.resolve(__dirname, '../stories/angular')],
+ enforce: 'pre',
+ });
-module.exports = {
- module: {
- rules: [
- {
- test: /.scss$/,
- use: ['style-loader', 'css-loader', 'sass-loader'],
- include: path.resolve(__dirname, '../')
- },
- {
- test: /.html$/,
- loader: 'html-loader',
- options: {
- minimize: false
- }
- }
- ]
- },
- plugins: [
- new webpack.DefinePlugin({
- 'ICON_PATH': '"./"',
- 'ICON_NAMES':JSON.stringify(iconNames)
- })
- ]
+ return baseConfig;
};
diff --git a/.travis.yml b/.travis.yml
index 3afac06..e2d84a0 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,12 +1,10 @@
language: node_js
node_js:
-- 6
+- 8
install: npm install
script:
-- npm run build-common
-- npm test
- npm run build
-- npm run build-gh-pages
+- npm run storybook:build
deploy:
- provider: npm
email: onap.sdc@gmail.com
@@ -14,18 +12,11 @@ deploy:
skip_cleanup: true
on:
tags: true
- repo: onap-sdc/sdc-ui
+ repo: onap-sdc/onap-ui-angular
- provider: pages
- repo: onap-sdc/sdc-ui
+ repo: onap-sdc/onap-ui-angular
skip_cleanup: true
github_token: $GITHUB_TOKEN
- local_dir: .out
+ local_dir: .storybook-out
on:
branch: master
- - provider: pages
- skip_cleanup: true
- github_token: $GITHUB_TOKEN
- local_dir: .out
- on:
- all_branches: true
- condition: $DEPLOY = 1
diff --git a/INFO.yaml b/INFO.yaml
deleted file mode 100644
index b7cfe73..0000000
--- a/INFO.yaml
+++ /dev/null
@@ -1,55 +0,0 @@
----
-project: 'sdc/onap-ui'
-project_creation_date: '2018-02-23'
-lifecycle_state: 'Incubation'
-project_lead: &onap_releng_ptl
- name: 'Michael Lando'
- email: 'ml636r@att.com'
- id: 'ml636r'
- company: 'ATT'
- timezone: 'Israel/Lod'
-primary_contact: *onap_releng_ptl
-issue_tracking:
- type: 'jira'
- url: 'https://jira.onap.org/projects/SDC'
- key: 'SDC'
-meetings:
- - type: 'zoom'
- agenda: ''
- url: 'https://wiki.onap.org/pages/viewpage.action?pageId=6592847'
- server: 'n/a'
- channel: 'n/a'
- repeats: 'weekly'
- time: '14:00 UTC'
-committers:
- - <<: *onap_releng_ptl
- - name: 'Idan Amit'
- email: 'ia096e@intl.att.com'
- company: 'ATT'
- id: 'idanamit'
- timezone: 'Israel/Aviv'
- - name: 'Einav Keidar'
- email: 'einavw@amdocs.com'
- company: 'ATT'
- id: 'einavk'
- timezone: 'Israel/Aviv'
- - name: 'Tal Gitelman'
- email: 'tg851x@intl.att.com'
- company: 'ATT'
- id: 'tgitelman'
- timezone: 'Israel/Aviv'
- - name: 'ELI LEVY'
- email: 'el489u@intl.att.com'
- company: 'ATT'
- id: 'el489u'
- timezone: 'Israel/Lod'
-tsc:
- approval: 'https://lists.onap.org/pipermail/onap-tsc'
- changes:
- - type: 'Addition'
- name: 'Michael Lando'
- name: 'Idan Amit'
- name: 'Einav Keidar'
- name: 'Tal Gitelman'
- name: 'ELI LEVY'
- link: 'https://wiki.onap.org/pages/viewpage.action?pageId=25435557'
diff --git a/README.md b/README.md
index e83552b..edebfc1 100644
--- a/README.md
+++ b/README.md
@@ -1,71 +1,66 @@
-# SDC-UI Style-Guide and Components
+# ONAP-UI-ANGULAR Style-Guide and Components
This project aims to create a unified UI styled components for multiple development teams who work on the same web-based applications.
This repository contains the definition of all the basic widgets and reusable controllers.
-
+Note: the project is build of 3 different projects:
+1. [onap-ui-common](https://github.com/onap-sdc/onap-ui-common) - contains HTML and SCSS files for all components
+2. [onap-ui-angular](https://github.com/onap-sdc/onap-ui-angular) - contains Angular components according to the HTML defined in onap-ui-common
+3. [onap-ui-react](https://github.com/onap-sdc/onap-ui-react) - contains React components according to the HTML defined in onap-ui-common
+
+
### Usage
-#### Link the library's CSS file
-There are several options to link to sdc-ui CSS file:
+To start using this library you need to install 2 libraris:
+1. onap-ui-angular or onap-ui-react.
+2. onap-ui-common
-###### SCSS
-```scss
-@import "path_to_node_modules/sdc-ui/css/style.css";
-```
-###### HTML
-```html
-<link rel="stylesheet" href="path_to_node_modules/sdc-ui/css/style.css">
-```
-###### As Module (Using loading tool, i.e. [Webpack](https://webpack.github.io/))
```js
-import 'sdc-ui/css/style.css';
+npm install --save-dev onap-ui-angular
+npm install --save-dev onap-ui-common
```
+
+#### Link the library's CSS file
+The main CSS file is defined in onap-ui-common library.
+There are several options to link it to your project:
+
###### Angular CLI projects
-You can add this line to style.css file:
+You can add this line to src/style.css file:
```js
-@import "../node_modules/sdc-ui/css/style.css";
+@import "node_modules/onap-ui-common/lib/style.css";
```
-#### React Code examples
-###### Importing particular component
+Angular CLI project has angular.json file, that defines location of styles files.
+By default angular.json contains the following definition:
```js
-import Button from 'sdc-ui/lib/react/Button.js';
-
-// inside component rendering...
-render(){
- return (
- <Button>I am a Button</Button>
- );
-}
+ "styles": [
+ "src/styles.css"
+ ],
```
-###### Importing particular component from the react library
-```js
-import {Button} from 'sdc-ui/lib/react';
-
-// inside component rendering...
-render(){
- return (
- <Button>I am a Button</Button>
- );
-}
+So you can add to src/styles.css import of onap-ui-common styles.
+
+###### HTML
+```html
+<link rel="stylesheet" href="node_modules/onap-ui-common/lib/style.css">
```
-###### Importing the entire library
+
+###### As Module (Using loading tool, i.e. [Webpack](https://webpack.github.io/))
```js
-import SDCUI from 'sdc-ui';
-
-// inside component rendering...
-render(){
- return (
- <SDCUI.React.Button>I am still a Button</SDCUI.React.Button>
- );
-}
+import 'onap-ui-common/lib/style.css';
```
-#### Using the library in Angular (2-5)
+###### Importing SCSS typography files
+onap-ui-common also contains to SCSS files:
+variables.scss
+mixins.scss
+
+You can import these files to your project and get the same color scheme and variables line onap-ui-common.
+
+
+#### Using the library in latest Angular (6)
###### Add the library to your module
```js
- import { SdcUiComponentsModule, SdcUiComponents } from 'sdc-ui/lib/angular';
+ import { SdcUiComponentsModule, SdcUiComponents } from 'onap-ui-angular';
@NgModule({
declarations: [
@@ -87,25 +82,23 @@ render(){
### Running storybook
-The components in this library are displayed via [storybook](https://github.com/storybooks/storybook). Head to [http://onap-sdc.github.io/sdc-ui](http://onap-sdc.github.io/sdc-ui) to see the components that are in `master`.
+The components in this library are displayed via [storybook](https://github.com/storybooks/storybook). Head to [http://onap-sdc.github.io/onap-ui-angular](http://onap-sdc.github.io/onap-ui-angular) to see the components that are in `master`.
While developing, just run `npm run storybook` in your terminal to launch a local storybook server where you can see your changes. For deploying storybook to your own fork repository, refer to the guides section below.
-### Running component-lab
-To see angular components in design run: npm run lab
+### Useful guides
+[Adding a new component](https://github.com/onap-sdc/onap-ui-angular/wiki/Adding-a-new-component)
+[Deploying storybook to a fork's github pages](https://github.com/onap-sdc/onap-ui-angular/wiki/Deploying-storybook-to-a-fork's-github-pages)
-### Useful guides
-[Adding a new component](https://github.com/onap-sdc/sdc-ui/wiki/Adding-a-new-component)
+[Understanding project build](https://github.com/onap-sdc/onap-ui-angular/wiki/Understanding-project-build)
-[Deploying storybook to a fork's github pages](https://github.com/onap-sdc/sdc-ui/wiki/Deploying-storybook-to-a-fork's-github-pages)
-
### Having some trouble? Have an issue?
-For bugs and issues, please use the [issues](https://github.com/onap-sdc/sdc-ui/issues) page
+For bugs and issues, please use the [issues](https://github.com/onap-sdc/onap-ui-angular/issues) page
### How to Contribute
**Contribution can be made only by following these guide lines**
-* This project combines both `React` & `Angular` framework libraries. Hence, every change in the basic HTML files structure, must be followed by changes on the frameworks files accordingly (under `src/react` and `src/angular`).
+* This project combines both `React` & `Angular` framework libraries. Hence, every change in the basic HTML files structure, must be followed by changes on react and angular projects ([onap-ui-angular](https://github.com/onap-sdc/onap-ui-angular), [onap-ui-react](https://github.com/onap-sdc/onap-ui-react)).
* There will be no any 3rd party UI framework imported (i.e. `Bootstrap`, `Material`, `Foundation`... etc.).
-* Contribution are done only by the [contribution guide](https://github.com/onap-sdc/sdc-ui/wiki/Contribution-guide). Contributions submitted not in this format and guidelines will not be considered.
+* Contribution are done only by the [contribution guide](https://github.com/onap-sdc/onap-ui-angular/wiki/Contribution-guide). Contributions submitted not in this format and guidelines will not be considered.
diff --git a/angular.json b/angular.json
new file mode 100644
index 0000000..318d770
--- /dev/null
+++ b/angular.json
@@ -0,0 +1,105 @@
+{
+ "$schema": "./node_modules/@angular/cli/lib/config/schema.json",
+ "version": 1,
+ "newProjectRoot": "projects",
+ "projects": {
+ "onap-ui-angular": {
+ "root": "",
+ "sourceRoot": "src",
+ "projectType": "application",
+ "prefix": "",
+ "schematics": {},
+ "architect": {
+ "build": {
+ "builder": "@angular-devkit/build-angular:browser",
+ "options": {
+ "outputPath": "dist/onap-ui-angular",
+ "index": "src/angular/index.html",
+ "main": "src/angular/index.ts",
+ "polyfills": "src/angular/polyfills.ts",
+ "tsConfig": "src/angular/tsconfig.app.json",
+ "assets": [
+ "src/angular/favicon.ico",
+ "src/assets"
+ ],
+ "styles": [
+ "src/assets/styles/style.scss"
+ ],
+ "scripts": []
+ },
+ "configurations": {
+ "production": {
+ "fileReplacements": [
+ {
+ "replace": "src/environments/environment.ts",
+ "with": "src/environments/environment.prod.ts"
+ }
+ ],
+ "optimization": true,
+ "outputHashing": "all",
+ "sourceMap": true,
+ "extractCss": true,
+ "namedChunks": false,
+ "aot": true,
+ "extractLicenses": true,
+ "vendorChunk": false,
+ "buildOptimizer": true
+ }
+ }
+ },
+ "serve": {
+ "builder": "@angular-devkit/build-angular:dev-server",
+ "options": {
+ "browserTarget": "onap-ui-angular:build"
+ },
+ "configurations": {
+ "production": {
+ "browserTarget": "onap-ui-angular:build:production"
+ }
+ }
+ },
+ "extract-i18n": {
+ "builder": "@angular-devkit/build-angular:extract-i18n",
+ "options": {
+ "browserTarget": "onap-ui-angular:build"
+ }
+ },
+ "lint": {
+ "builder": "@angular-devkit/build-angular:tslint",
+ "options": {
+ "tsConfig": [
+ "src/tsconfig.app.json",
+ "src/tsconfig.spec.json"
+ ],
+ "exclude": [
+ "**/node_modules/**"
+ ]
+ }
+ }
+ }
+ },
+ "onap-ui-angular-e2e": {
+ "root": "e2e/",
+ "projectType": "application",
+ "architect": {
+ "e2e": {
+ "builder": "@angular-devkit/build-angular:protractor",
+ "options": {
+ "protractorConfig": "e2e/protractor.conf.js",
+ "devServerTarget": "onap-ui-angular:serve"
+ }
+ },
+ "lint": {
+ "builder": "@angular-devkit/build-angular:tslint",
+ "options": {
+ "tsConfig": "e2e/tsconfig.e2e.json",
+ "exclude": [
+ "**/node_modules/**"
+ ]
+ }
+ }
+ }
+ }
+ },
+ "defaultProject": "onap-ui-angular"
+} \ No newline at end of file
diff --git a/assets/README.md b/assets/README.md
deleted file mode 100644
index 5f2681b..0000000
--- a/assets/README.md
+++ /dev/null
@@ -1,9 +0,0 @@
-
-# Folder Structure
-
-### icons
-Contains `svg` icons **ONLY**
-
-
-### images
-Contains large images (if any...)
diff --git a/assets/icons/angleDoubleLeft.svg b/assets/icons/angleDoubleLeft.svg
deleted file mode 100644
index 9e1591a..0000000
--- a/assets/icons/angleDoubleLeft.svg
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 21.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
-<svg version="1.1" id="angle-double-left_icon" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
- viewBox="0 0 9 9.9" style="enable-background:new 0 0 9 9.9;" xml:space="preserve">
-<g>
- <g transform="translate(0,-952.36218)">
- <path d="M8.5,952.4c-0.1,0-0.2,0-0.2,0.1l-5.5,4.6c-0.2,0.1-0.2,0.4,0,0.5l0,0l5.5,4.6c0.2,0.1,0.4,0.1,0.5,0
- c0.1-0.2,0.1-0.4,0-0.5l0,0l-5.2-4.3l5.2-4.3c0.2-0.1,0.2-0.4,0.1-0.5C8.7,952.4,8.6,952.4,8.5,952.4z"/>
- </g>
- <g transform="translate(0,-952.36218)">
- <path d="M5.8,952.4c-0.1,0-0.2,0-0.2,0.1l-5.5,4.6c-0.2,0.1-0.2,0.4,0,0.5l0,0l5.5,4.6c0.2,0.1,0.4,0.1,0.5,0
- c0.1-0.2,0.1-0.4,0-0.5l0,0l-5.2-4.3l5.2-4.3c0.2-0.1,0.2-0.4,0.1-0.5C6,952.4,5.9,952.4,5.8,952.4z"/>
- </g>
-</g>
-</svg>
diff --git a/assets/icons/angleDoubleRight.svg b/assets/icons/angleDoubleRight.svg
deleted file mode 100644
index e77031a..0000000
--- a/assets/icons/angleDoubleRight.svg
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 21.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
-<svg version="1.1" id="angle-double-right_icon" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
- viewBox="0 0 9 10" style="enable-background:new 0 0 9 10;" xml:space="preserve">
-<g>
- <path d="M6.2,4.8C6.2,4.7,6.1,4.7,6.2,4.8L0.6,0.1C0.5,0,0.2,0,0.1,0.1C0,0.3,0,0.5,0.1,0.7L5.3,5L0.1,9.3C0,9.5,0,9.7,0.1,9.9
- C0.2,10,0.3,10,0.4,10s0.2,0,0.2-0.1l5.5-4.6C6.3,5.2,6.3,4.9,6.2,4.8z"/>
- <path d="M8.9,4.8C8.9,4.7,8.9,4.7,8.9,4.8L3.4,0.1C3.2,0,3,0,2.8,0.1c-0.1,0.2-0.1,0.4,0,0.5L8,5L2.9,9.3C2.7,9.5,2.7,9.7,2.8,9.9
- C2.9,10,3,10,3.1,10s0.2,0,0.2-0.1l5.5-4.6C9,5.2,9,4.9,8.9,4.8z"/>
-</g>
-</svg>
diff --git a/assets/icons/angleLeft.svg b/assets/icons/angleLeft.svg
deleted file mode 100644
index b2d2f81..0000000
--- a/assets/icons/angleLeft.svg
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 21.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
-<svg version="1.1" id="angle-left_icon" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
- viewBox="0 0 6.3 9.9" style="enable-background:new 0 0 6.3 9.9;" xml:space="preserve">
-<g transform="translate(0,-952.36218)">
- <path d="M5.8,952.4c-0.1,0-0.2,0-0.2,0.1l-5.5,4.6c-0.2,0.1-0.2,0.4,0,0.5l0,0l5.5,4.6c0.2,0.1,0.4,0.1,0.5,0
- c0.1-0.2,0.1-0.4,0-0.5l0,0l-5.2-4.3l5.2-4.3c0.2-0.1,0.2-0.4,0.1-0.5C6,952.4,5.9,952.4,5.8,952.4z"/>
-</g>
-</svg>
diff --git a/assets/icons/angleRight.svg b/assets/icons/angleRight.svg
deleted file mode 100644
index f8e6efc..0000000
--- a/assets/icons/angleRight.svg
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 21.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
-<svg version="1.1" id="angle-right_icon" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
- viewBox="0 0 6.3 9.9" style="enable-background:new 0 0 6.3 9.9;" xml:space="preserve">
-<g transform="translate(0,-952.36218)">
- <path d="M0.5,962.2c0.1,0,0.2,0,0.2-0.1l5.5-4.6c0.2-0.1,0.2-0.4,0-0.5l0,0l-5.5-4.6c-0.2-0.1-0.4-0.1-0.5,0
- c-0.1,0.2-0.1,0.4,0,0.5l0,0l5.2,4.3l-5.2,4.3C0,961.6,0,961.9,0.1,962C0.3,962.1,0.4,962.2,0.5,962.2z"/>
-</g>
-</svg>
diff --git a/assets/icons/artifacts.svg b/assets/icons/artifacts.svg
deleted file mode 100644
index 41e6c8e..0000000
--- a/assets/icons/artifacts.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 20"><title>Asset 1</title><g id="Layer_2" data-name="Layer 2"><g id="Layer_1-2" data-name="Layer 1"><path d="M0,0V20H16V0ZM15,19H1V3H15Z"/><rect x="3" y="6" width="10" height="1"/><rect x="3" y="9" width="10" height="1"/><rect x="3" y="12" width="10" height="1"/><rect x="3" y="15" width="10" height="1"/></g></g></svg> \ No newline at end of file
diff --git a/assets/icons/back.svg b/assets/icons/back.svg
deleted file mode 100644
index 287355f..0000000
--- a/assets/icons/back.svg
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 21.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
-<svg version="1.1" id="back_icon" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
- viewBox="0 0 9.2 19.9" style="enable-background:new 0 0 9.2 19.9;" xml:space="preserve">
-<polygon points="7.6,19.9 0,10 7.6,0 9.2,1.2 2.5,10 9.2,18.7 "/>
-</svg>
diff --git a/assets/icons/base.svg b/assets/icons/base.svg
deleted file mode 100644
index 89fbd43..0000000
--- a/assets/icons/base.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 19.95 19.24"><title>base.volume</title><g id="Layer_2" data-name="Layer 2"><g id="Layer_1-2" data-name="Layer 1"><path d="M10,1c5,0,8.5,2.11,8.5,4S15,9,10,9s-8.5-2.11-8.5-4S5,1,10,1m0-1C4.73,0,.47,2.24.47,5s4.25,5,9.5,5,9.5-2.24,9.5-5S15.22,0,10,0Z"/><path d="M10,13.24C4.38,13.24,0,10.94,0,8A.5.5,0,0,1,1,8c0,2.3,4.11,4.24,9,4.24s9-1.94,9-4.24a.5.5,0,0,1,1,0C19.95,10.94,15.57,13.24,10,13.24Z"/><path d="M10,16.24c-5.59,0-10-2.3-10-5.24a.5.5,0,0,1,1,0c0,2.3,4.11,4.24,9,4.24s9-1.94,9-4.24a.5.5,0,0,1,1,0C19.95,13.94,15.57,16.24,10,16.24Z"/><path d="M10,19.24c-5.59,0-10-2.3-10-5.24a.5.5,0,0,1,1,0c0,2.3,4.11,4.24,9,4.24s9-1.94,9-4.24a.5.5,0,0,1,1,0C19.95,16.94,15.57,19.24,10,19.24Z"/></g></g></svg> \ No newline at end of file
diff --git a/assets/icons/calendar.svg b/assets/icons/calendar.svg
deleted file mode 100644
index 9c05902..0000000
--- a/assets/icons/calendar.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 17 18" id="calendar_icon"><title>Asset 1</title><g data-name="Layer 2"><g id="Layer_1-2" data-name="Layer 1"><path d="M15.5,2H13V0H12V2H9V0H8V2H5V0H4V2H1.5A1.5,1.5,0,0,0,0,3.5v13A1.5,1.5,0,0,0,1.5,18h14A1.5,1.5,0,0,0,17,16.5V3.5A1.5,1.5,0,0,0,15.5,2ZM16,16.5a.5.5,0,0,1-.5.5H1.5a.5.5,0,0,1-.5-.5V8H16ZM1,7V3.5A.5.5,0,0,1,1.5,3H4V5H5V3H8V5H9V3h3V5h1V3h2.5a.5.5,0,0,1,.5.5V7Z"/><path d="M4.52,13.65l.7-.09a1.55,1.55,0,0,0,.41.86,1,1,0,0,0,.71.26,1.14,1.14,0,0,0,.84-.34,1.16,1.16,0,0,0,.34-.85,1.08,1.08,0,0,0-.32-.8,1.09,1.09,0,0,0-.8-.31,2,2,0,0,0-.5.08L6,11.84H6.1a1.45,1.45,0,0,0,.81-.23.8.8,0,0,0,.36-.72A.85.85,0,0,0,7,10.25.93.93,0,0,0,6.33,10a1,1,0,0,0-.68.26A1.29,1.29,0,0,0,5.3,11l-.7-.12a1.81,1.81,0,0,1,.59-1.1,1.69,1.69,0,0,1,1.14-.39,1.86,1.86,0,0,1,.86.2,1.45,1.45,0,0,1,.6.55A1.41,1.41,0,0,1,8,10.9a1.21,1.21,0,0,1-.2.68,1.36,1.36,0,0,1-.59.48,1.33,1.33,0,0,1,.79.49,1.48,1.48,0,0,1,.28.92,1.69,1.69,0,0,1-.55,1.27,1.92,1.92,0,0,1-1.38.52,1.8,1.8,0,0,1-1.25-.45A1.74,1.74,0,0,1,4.52,13.65Z"/><path d="M11.62,15.17h-.7V10.69a3.68,3.68,0,0,1-.67.48,4.77,4.77,0,0,1-.74.36v-.68a4.26,4.26,0,0,0,1-.67,2.66,2.66,0,0,0,.63-.77h.45Z"/></g></g></svg> \ No newline at end of file
diff --git a/assets/icons/caretDown.svg b/assets/icons/caretDown.svg
deleted file mode 100644
index cfd3c57..0000000
--- a/assets/icons/caretDown.svg
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 21.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
-<svg version="1.1" id="caret-down_icon" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
- viewBox="0 0 10 5" style="enable-background:new 0 0 10 5;" xml:space="preserve">
-<path d="M0,0l5,5l5-5H0z"/>
-</svg>
diff --git a/assets/icons/check.svg b/assets/icons/check.svg
deleted file mode 100644
index 43d1881..0000000
--- a/assets/icons/check.svg
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 21.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
-<svg version="1.1" id="check_icon" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
- viewBox="0 0 14 10" style="enable-background:new 0 0 14 10;" xml:space="preserve">
-<g transform="translate(0,-952.36218)">
- <path d="M13.6,952.4c-0.1,0-0.2,0.1-0.3,0.2c-2.8,2.9-5.6,5.8-8.4,8.7l-4-3.5c-0.2-0.2-0.5-0.2-0.7,0s-0.2,0.5,0,0.7l0,0l4.4,3.7
- c0.2,0.2,0.5,0.1,0.6,0c2.9-3,5.8-6,8.7-9.1c0.2-0.2,0.2-0.5,0-0.7C13.8,952.4,13.6,952.4,13.6,952.4L13.6,952.4z"/>
-</g>
-</svg>
diff --git a/assets/icons/checkCircle.svg b/assets/icons/checkCircle.svg
deleted file mode 100644
index 313657e..0000000
--- a/assets/icons/checkCircle.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg id="check-circle_icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><g id="Layer_2" data-name="Layer 2"><g id="Layer_1-2" data-name="Layer 1"><path d="M8,16A8,8,0,1,0,0,8,8,8,0,0,0,8,16ZM4.5,6.8,6.7,9l4.4-4.3,1.2,1.2L6.7,11.5,3.2,8Z"/></g></g></svg>
diff --git a/assets/icons/chevronDown.svg b/assets/icons/chevronDown.svg
deleted file mode 100644
index 1ebd094..0000000
--- a/assets/icons/chevronDown.svg
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 21.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
-<svg version="1.1" id="chevron-down_icon" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
- viewBox="0 0 10 6.3" style="enable-background:new 0 0 10 6.3;" xml:space="preserve">
-<g transform="translate(0,-952.36218)">
- <path d="M0.1,952.8c0,0.1,0,0.2,0.1,0.2l4.6,5.5c0.1,0.2,0.4,0.2,0.5,0l0,0l4.6-5.5c0.1-0.2,0.1-0.4,0-0.5s-0.4-0.1-0.5,0l0,0
- l-4.3,5.2l-4.3-5.2c-0.1-0.2-0.4-0.2-0.5-0.1C0.1,952.5,0.1,952.6,0.1,952.8z"/>
-</g>
-</svg>
diff --git a/assets/icons/chevronUp.svg b/assets/icons/chevronUp.svg
deleted file mode 100644
index 7fce935..0000000
--- a/assets/icons/chevronUp.svg
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 21.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
-<svg version="1.1" id="chevron-up_icon" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
- viewBox="0 0 10 6.3" style="enable-background:new 0 0 10 6.3;" xml:space="preserve">
-<g transform="translate(0,-952.36218)">
- <path d="M10,958.2c0-0.1,0-0.2-0.1-0.2l-4.6-5.5c-0.1-0.2-0.4-0.2-0.5,0l0,0L0.1,958c-0.1,0.2-0.1,0.4,0,0.5s0.4,0.1,0.5,0l0,0
- l4.3-5.2l4.3,5.2c0.1,0.2,0.4,0.2,0.5,0.1C10,958.5,10,958.3,10,958.2z"/>
-</g>
-</svg>
diff --git a/assets/icons/close.svg b/assets/icons/close.svg
deleted file mode 100644
index 0decc7c..0000000
--- a/assets/icons/close.svg
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 21.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
-<svg version="1.1" id="close_icon" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
- viewBox="0 0 10.1 10.1" style="enable-background:new 0 0 10.1 10.1;" xml:space="preserve">
-<g transform="translate(0,-952.36218)">
- <path d="M0.5,952.4c-0.2,0-0.4,0.2-0.4,0.5c0,0.1,0.1,0.2,0.1,0.3l4.3,4.3l-4.3,4.3c-0.2,0.2-0.2,0.4,0,0.6c0.2,0.2,0.4,0.2,0.6,0
- l0,0l4.3-4.4l4.3,4.3c0.2,0.2,0.4,0.2,0.6,0s0.2-0.4,0-0.6l0,0l-4.3-4.3l4.3-4.3c0.2-0.2,0.2-0.4,0-0.6c-0.1-0.1-0.2-0.1-0.4-0.1
- c-0.1,0-0.2,0.1-0.3,0.1l-4.2,4.3l-4.3-4.3C0.8,952.4,0.6,952.4,0.5,952.4z"/>
-</g>
-</svg>
diff --git a/assets/icons/download.svg b/assets/icons/download.svg
deleted file mode 100644
index dd64605..0000000
--- a/assets/icons/download.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 15 11"><title>Asset 2</title><g id="Layer_2" data-name="Layer 2"><g id="Layer_1-2" data-name="Layer 1"><polygon points="14 6 14 10 1 10 1 6 0 6 0 11 15 11 15 6 14 6"/><polygon points="11.29 3.79 10.58 3.08 8 5.66 8 0 7 0 7 5.66 4.42 3.08 3.71 3.79 7.5 7.58 11.29 3.79"/></g></g></svg> \ No newline at end of file
diff --git a/assets/icons/empty.txt b/assets/icons/empty.txt
deleted file mode 100644
index e69de29..0000000
--- a/assets/icons/empty.txt
+++ /dev/null
diff --git a/assets/icons/env.svg b/assets/icons/env.svg
deleted file mode 100644
index ac68ae6..0000000
--- a/assets/icons/env.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 15 14"><title>env</title><g id="Layer_2" data-name="Layer 2"><g id="Layer_1-2" data-name="Layer 1"><rect x="3" y="6" width="9" height="1"/><rect x="3" y="8" width="9" height="1"/><rect x="5" y="10" width="5" height="1"/><path d="M8,2V0H7V2H0V14H15V2Zm6,11H1V3H7V4H8V3h6Z"/></g></g></svg> \ No newline at end of file
diff --git a/assets/icons/error.svg b/assets/icons/error.svg
deleted file mode 100644
index bafb73b..0000000
--- a/assets/icons/error.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 17 17"><title>error</title><g id="Layer_2" data-name="Layer 2"><g id="Layer_1-2" data-name="Layer 1"><path d="M8.5,1A7.5,7.5,0,1,1,1,8.5,7.51,7.51,0,0,1,8.5,1m0-1A8.5,8.5,0,1,0,17,8.5,8.5,8.5,0,0,0,8.5,0Z"/><polygon points="11.6 6.1 10.9 5.4 8.5 7.79 6.1 5.4 5.4 6.1 7.79 8.5 5.4 10.9 6.1 11.6 8.5 9.21 10.9 11.6 11.6 10.9 9.21 8.5 11.6 6.1"/></g></g></svg> \ No newline at end of file
diff --git a/assets/icons/errorCircle.svg b/assets/icons/errorCircle.svg
deleted file mode 100644
index 8234753..0000000
--- a/assets/icons/errorCircle.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" id="error-circle_icon" viewBox="0 0 16 16"><title>Asset 4</title><g id="Layer_2" data-name="Layer 2"><g id="Layer_1-2" data-name="Layer 1"><path d="M8,0a8,8,0,1,0,8,8A8,8,0,0,0,8,0Zm.9,12.4H7.1V10.6H8.9Zm0-3.6H7.1V3.5H8.9Z"/></g></g></svg> \ No newline at end of file
diff --git a/assets/icons/exclamationTriangleFull.svg b/assets/icons/exclamationTriangleFull.svg
deleted file mode 100644
index 7cab121..0000000
--- a/assets/icons/exclamationTriangleFull.svg
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 21.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
-<svg version="1.1" id="exclamation-triangle-full_icon" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
- viewBox="0 0 19.9 18" style="enable-background:new 0 0 19.9 18;" xml:space="preserve">
-<path d="M19.6,14.3L12,1.3c-0.3-0.6-0.8-1-1.4-1.2C10-0.1,9.3,0,8.7,0.3c-0.4,0.3-0.6,0.6-0.9,1l-7.6,13c-0.3,0.5-0.4,1.2-0.2,1.8
- c0.2,0.6,0.6,1.1,1.1,1.4C1.6,17.8,1.9,18,2.4,18h15.1c1.3,0,2.4-1.1,2.4-2.4C19.9,15.1,19.8,14.7,19.6,14.3z M10.5,14.2
- c0,0.3-0.2,0.5-0.5,0.5s-0.5-0.2-0.5-0.5l0-1c0-0.3,0.2-0.5,0.5-0.5s0.5,0.2,0.5,0.5L10.5,14.2z M10.5,9.9c0,0.3-0.2,0.5-0.5,0.5
- s-0.5-0.2-0.5-0.5l0-5.2c0-0.3,0.2-0.5,0.5-0.5s0.5,0.2,0.5,0.5L10.5,9.9z"/>
-</svg>
diff --git a/assets/icons/exclamationTriangleLine.svg b/assets/icons/exclamationTriangleLine.svg
deleted file mode 100644
index eae6825..0000000
--- a/assets/icons/exclamationTriangleLine.svg
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 21.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
-<svg version="1.1" id="exclamation-triangle-line_icon" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
- viewBox="0 0 19.9 18" style="enable-background:new 0 0 19.9 18;" xml:space="preserve">
-<g>
- <path d="M17.6,18H2.4c-0.5,0-0.9-0.1-1.3-0.4c-0.5-0.3-0.9-0.8-1.1-1.4c-0.2-0.6-0.1-1.3,0.2-1.8l7.6-13c0.2-0.3,0.5-0.7,0.9-1
- C9.3,0,10-0.1,10.6,0.1c0.6,0.2,1.1,0.6,1.4,1.2l7.5,13c0.2,0.4,0.4,0.8,0.4,1.3C19.9,16.9,18.9,18,17.6,18z M9.9,1
- C9.7,1,9.4,1.1,9.2,1.2C9.1,1.3,8.9,1.6,8.7,1.8l-7.5,13C1,15.1,1,15.5,1,15.9c0.1,0.4,0.3,0.7,0.6,0.8C1.9,16.9,2.1,17,2.4,17
- h15.1c0.9,0,1.4-0.7,1.4-1.4c0-0.2-0.1-0.5-0.2-0.7l0,0l-7.6-13c-0.2-0.4-0.5-0.6-0.8-0.7C10.2,1,10.1,1,9.9,1z"/>
- <g>
- <g>
- <g>
- <path d="M10,10.4L10,10.4c-0.3,0-0.5-0.2-0.5-0.5l0-5.2c0-0.3,0.2-0.5,0.5-0.5l0,0c0.3,0,0.5,0.2,0.5,0.5l0,5.2
- C10.5,10.2,10.2,10.4,10,10.4z"/>
- </g>
- </g>
- <g>
- <g>
- <path d="M10,14.7L10,14.7c-0.3,0-0.5-0.2-0.5-0.5l0-1c0-0.3,0.2-0.5,0.5-0.5l0,0c0.3,0,0.5,0.2,0.5,0.5l0,1
- C10.5,14.5,10.2,14.7,10,14.7z"/>
- </g>
- </g>
- </g>
-</g>
-</svg>
diff --git a/assets/icons/expand.svg b/assets/icons/expand.svg
deleted file mode 100644
index 4095ef5..0000000
--- a/assets/icons/expand.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><title>Asset 1</title><g id="Layer_2" data-name="Layer 2"><g id="Layer_1-2" data-name="Layer 1"><polygon points="0 6 1 6 1 1.71 5.15 5.85 5.85 5.15 1.71 1 6 1 6 0 0 0 0 6"/><polygon points="10 0 10 1 14.29 1 10.15 5.15 10.85 5.85 15 1.71 15 6 16 6 16 0 10 0"/><polygon points="15 14.29 10.85 10.15 10.15 10.85 14.29 15 10 15 10 16 16 16 16 10 15 10 15 14.29"/><polygon points="5.85 10.85 5.15 10.15 1 14.29 1 10 0 10 0 16 6 16 6 15 1.71 15 5.85 10.85"/></g></g></svg> \ No newline at end of file
diff --git a/assets/icons/filter.svg b/assets/icons/filter.svg
deleted file mode 100644
index 1c493f4..0000000
--- a/assets/icons/filter.svg
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 21.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
-<svg version="1.1" id="filter_icon" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
- viewBox="0 0 20 20" style="enable-background:new 0 0 20 20;" xml:space="preserve">
-<path d="M8.9,20c-0.2,0-0.4,0-0.6-0.1c-0.6-0.3-1-0.8-1-1.5V9L0.5,3.2C0.2,2.9,0,2.4,0,2V1.6C0,0.7,0.7,0,1.6,0h16.9
- c0.9,0,1.6,0.7,1.6,1.6v0.7c0,0.5-0.2,0.9-0.6,1.2l-7,5.5v7.5c0,0.4-0.2,0.9-0.4,1.2l-2,1.9C9.7,19.9,9.3,20,8.9,20z M1.6,1
- C1.3,1,1,1.3,1,1.6V2c0,0.2,0.1,0.4,0.2,0.4l7.1,6.1v9.8c0,0.4,0.3,0.5,0.4,0.6c0.1,0,0.4,0.1,0.7-0.1l2-1.9
- c0.1-0.1,0.1-0.3,0.1-0.4V8.6l7.4-5.9c0.1-0.1,0.2-0.2,0.2-0.4V1.6c0-0.3-0.3-0.6-0.6-0.6H1.6z"/>
-</svg>
diff --git a/assets/icons/locked.svg b/assets/icons/locked.svg
deleted file mode 100644
index ab9f0b9..0000000
--- a/assets/icons/locked.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" width="11" height="15" viewBox="0 0 11 15" id="locked_icon">
- <path id="Shape_77_copy_10" data-name="Shape 77 copy 10" class="cls-1" d="M445,359a16.71,16.71,0,0,0-2.1-.009c-1.945.045-3.195,0.049-3.9,0.009v-5a1.743,1.743,0,0,1,2-2h1a1.743,1.743,0,0,1,2,2v5c0.474,0.063.343-.073,1,0,0.266,0.029,0,.279,0,0v-5a2.726,2.726,0,0,0-3-3h-1.142c-1.72-.125-2.715,1.562-2.858,3,0.088,0.009,0,7.338,0,5h0a1.891,1.891,0,0,0-2,1.689v3.461A1.823,1.823,0,0,0,437.775,366h7.448A1.823,1.823,0,0,0,447,364.15v-3.461A2.018,2.018,0,0,0,445,359Z" transform="translate(-436 -351)"/>
-</svg>
diff --git a/assets/icons/module.svg b/assets/icons/module.svg
deleted file mode 100644
index fa3901c..0000000
--- a/assets/icons/module.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><title>module</title><g id="Layer_2" data-name="Layer 2"><g id="Layer_1-2" data-name="Layer 1"><path d="M20,20H3V14A3,3,0,0,1,3,8V3H8a3,3,0,0,1,6,0h6V9.32l-.64-.19C17.57,8.59,16,9.68,16,11s1.57,2.4,3.36,1.87l.64-.19ZM4,19H19V14c-2.12.29-4-1.17-4-3a3.35,3.35,0,0,1,4-3V4H12.84L13,3.4A2,2,0,0,0,13,3,2,2,0,0,0,9,3a2,2,0,0,0,0,.4l.12.6H4V9.16L3.4,9A2,2,0,0,0,3,9a2,2,0,0,0,0,4,2,2,0,0,0,.4,0l.6-.12Z"/></g></g></svg> \ No newline at end of file
diff --git a/assets/icons/nestedHeat.svg b/assets/icons/nestedHeat.svg
deleted file mode 100644
index 7e33068..0000000
--- a/assets/icons/nestedHeat.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 15 13"><title>nested_heat</title><g id="Layer_2" data-name="Layer 2"><g id="Layer_1-2" data-name="Layer 1"><path d="M4.16,1,5.48,2.63l.3.37H14v9H1V1H4.16m.48-1H0V13H15V2H6.26L4.64,0Z"/><rect x="4" y="7" width="7" height="1"/></g></g></svg> \ No newline at end of file
diff --git a/assets/icons/network.svg b/assets/icons/network.svg
deleted file mode 100644
index 018cd3f..0000000
--- a/assets/icons/network.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 13 13"><title>network</title><g id="Layer_2" data-name="Layer 2"><g id="Layer_1-2" data-name="Layer 1"><path d="M10.5,8a2.48,2.48,0,0,0-1.38.42l-.54-.54a2.48,2.48,0,0,0,0-2.75l.54-.54a2.51,2.51,0,1,0-.71-.71l-.54.54a2.48,2.48,0,0,0-2.75,0l-.54-.54a2.51,2.51,0,1,0-.71.71l.54.54a2.48,2.48,0,0,0,0,2.75l-.54.54a2.51,2.51,0,1,0,.71.71l.54-.54a2.48,2.48,0,0,0,2.75,0l.54.54A2.5,2.5,0,1,0,10.5,8Zm0-7A1.5,1.5,0,1,1,9,2.5,1.5,1.5,0,0,1,10.5,1Zm-8,3A1.5,1.5,0,1,1,4,2.5,1.5,1.5,0,0,1,2.5,4Zm0,8A1.5,1.5,0,1,1,4,10.5,1.5,1.5,0,0,1,2.5,12Zm4-4A1.5,1.5,0,1,1,8,6.5,1.5,1.5,0,0,1,6.5,8Zm4,4A1.5,1.5,0,1,1,12,10.5,1.5,1.5,0,0,1,10.5,12Z"/></g></g></svg> \ No newline at end of file
diff --git a/assets/icons/notificationBell.svg b/assets/icons/notificationBell.svg
deleted file mode 100644
index 6001d59..0000000
--- a/assets/icons/notificationBell.svg
+++ /dev/null
@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 21.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
-<svg version="1.1" id="notification_bell_icon" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
- viewBox="0 0 18 21.9" style="enable-background:new 0 0 18 21.9;" xml:space="preserve">
-<title>notification_icon</title>
-<g>
- <path d="M17.7,16.6c-1.8-2.3-1.8-4-1.8-6.7c0-0.2,0-0.4,0-0.6c-0.2-1.8-1-3.5-2.5-4.7c-0.8-0.7-1.8-1.2-2.8-1.4
- C10.8,2.8,11,2.4,11,2c0-1.1-0.9-2-2-2S7,0.9,7,2c0,0.4,0.1,0.8,0.4,1.2C4.2,4,2,6.8,2.1,10.1c0,2.6-0.1,4.3-1.8,6.5l0,0.1
- c-0.1,0.2-0.2,0.3-0.2,0.5C0,18,0.6,18.8,1.4,18.9l4.1,0c0.2,1.7,1.7,3,3.5,3c1.8,0,3.2-1.3,3.5-3l4.2,0c0.2,0,0.5-0.1,0.6-0.2
- C18,18.2,18.2,17.3,17.7,16.6z M9,1c0.6,0,1,0.4,1,1c0,0.5-0.3,0.8-0.7,0.9c-0.2,0-0.3,0-0.5,0C8.3,2.8,8,2.5,8,2C8,1.4,8.4,1,9,1z
- M9,20.9c-1.2,0-2.2-0.9-2.5-2l4.9,0C11.2,20.1,10.2,20.9,9,20.9z M16.7,17.8c-0.1,0-0.1,0.1-0.2,0.1l-15.1,0
- c-0.3,0-0.5-0.3-0.4-0.6c0-0.1,0-0.1,0-0.2c1.9-2.5,1.9-4.6,1.9-7C3,7,5.4,4.3,8.5,4c0,0,0,0,0.1,0C8.7,4,8.8,4,9,4
- c0.1,0,0.3,0,0.4,0c1.3,0.1,2.4,0.5,3.4,1.4c1.2,1,2,2.4,2.1,4c0,0.2,0,0.4,0,0.5c0,2.7,0,4.8,1.9,7.3C17,17.4,17,17.7,16.7,17.8z"
- />
- <path d="M8.5,5.8c-2.2,0.2-3.8,2.1-3.7,4.2c0,0.3,0.2,0.5,0.5,0.5c0,0,0,0,0,0c0.3,0,0.5-0.2,0.5-0.5c0-1.7,1.2-3,2.8-3.2
- c0.3,0,0.5-0.3,0.4-0.6C9.1,6,8.8,5.8,8.5,5.8z"/>
-</g>
-</svg>
diff --git a/assets/icons/notificationFullBell.svg b/assets/icons/notificationFullBell.svg
deleted file mode 100644
index 6e7e7cc..0000000
--- a/assets/icons/notificationFullBell.svg
+++ /dev/null
@@ -1,11 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 17.98 21.94" id="notification_full_bell_icon">
- <defs>
- <style></style>
- </defs>
- <title>notification_full</title>
- <g id="Layer_2" data-name="Layer 2">
- <g id="Layer_2-2" data-name="Layer 2">
- <path class="cls-1" d="M17.67,16.61c-1.75-2.29-1.75-4.06-1.75-6.74a7,7,0,0,0-2.24-5.1,6.88,6.88,0,0,0-3.06-1.64,2,2,0,1,0-3.28,0,7.19,7.19,0,0,0-5.29,7c0,2.59-.09,4.29-1.76,6.47a1.45,1.45,0,0,0-.15,1.53,1.43,1.43,0,0,0,1.29.8H5.53a3.48,3.48,0,0,0,6.9,0h4.1a1.43,1.43,0,0,0,1.29-.8A1.46,1.46,0,0,0,17.67,16.61ZM4.8,10.06A4.2,4.2,0,0,1,8.55,5.83a.51.51,0,0,1,.54.46.5.5,0,0,1-.46.54A3.2,3.2,0,0,0,5.8,10.06a.5.5,0,0,1-1,0Z"/>
- </g>
- </g>
-</svg>
diff --git a/assets/icons/others.svg b/assets/icons/others.svg
deleted file mode 100644
index 9a18e4a..0000000
--- a/assets/icons/others.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12 12"><title>others</title><g id="Layer_2" data-name="Layer 2"><g id="Layer_1-2" data-name="Layer 1"><path d="M5,5H0V0H5ZM1,4H4V1H1Z"/><path d="M5,12H0V7H5ZM1,11H4V8H1Z"/><path d="M12,5H7V0h5ZM8,4h3V1H8Z"/><path d="M12,12H7V7h5ZM8,11h3V8H8Z"/></g></g></svg> \ No newline at end of file
diff --git a/assets/icons/pencil.svg b/assets/icons/pencil.svg
deleted file mode 100644
index 6701a3a..0000000
--- a/assets/icons/pencil.svg
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 20.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
-<svg version="1.1" id="pencil_icon" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
- viewBox="0 0 31.7 32" style="enable-background:new 0 0 31.7 32;" xml:space="preserve">
-<g>
- <path style="fill:#5A5A5A;" d="M9.8,29.4l-7.5-7.5L23.4,0.8C23.9,0.3,24.6,0,25.2,0c0.7,0,1.3,0.3,1.8,0.8l3.9,3.9c1,1,1,2.7,0,3.7
- L9.8,29.4z M3.5,21.9l6.3,6.3L30.3,7.7C31,7,31,5.9,30.3,5.3l-3.9-3.9c-0.7-0.7-1.8-0.7-2.4,0L3.5,21.9z"/>
-
- <rect x="23.7" y="2.7" transform="matrix(0.7071 -0.7071 0.7071 0.7071 1.7119 19.3109)" style="fill:#5A5A5A;" width="0.9" height="9.8"/>
-
- <rect x="2.6" y="16.1" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -7.2669 15.5571)" style="fill:#5A5A5A;" width="25.1" height="0.9"/>
- <path style="fill:#5A5A5A;" d="M1.3,32c-0.3,0-0.6-0.1-0.9-0.4s-0.5-0.8-0.4-1.3l2.3-8.5L3.2,22l-2.3,8.5C0.8,30.8,1,30.9,1,31
- c0.1,0,0.2,0.2,0.4,0.1l8.1-2.5l0.3,0.8l-8.1,2.5C1.5,32,1.4,32,1.3,32z"/>
-
- <rect x="2.6" y="26.5" transform="matrix(0.6865 -0.7271 0.7271 0.6865 -20.0013 11.2276)" style="fill:#5A5A5A;" width="0.9" height="4.6"/>
-</g>
-</svg>
diff --git a/assets/icons/plus.svg b/assets/icons/plus.svg
deleted file mode 100644
index 36f3486..0000000
--- a/assets/icons/plus.svg
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 21.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
-<svg version="1.1" id="plus_icon" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
- viewBox="0 0 19 19" style="enable-background:new 0 0 19 19;" xml:space="preserve">
-<g>
- <rect y="8" width="19" height="3"/>
- <path id="Rectangle_2139_copy" d="M8,19V0h3v19H8z"/>
-</g>
-</svg>
diff --git a/assets/icons/plusCircle.svg b/assets/icons/plusCircle.svg
deleted file mode 100644
index 63781f5..0000000
--- a/assets/icons/plusCircle.svg
+++ /dev/null
@@ -1,9 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 19 19">
- <g>
- <g>
- <polygon points="10 14 9 14 9 10 5 10 5 9 9 9 9 5 10 5 10 9 14 9 14 10 10 10 10 14"/>
- <polygon points="10 14 9 14 9 10 5 10 5 9 9 9 9 5 10 5 10 9 14 9 14 10 10 10 10 14"/>
- <path d="M9.5,1A8.5,8.5,0,1,1,1,9.5,8.51,8.51,0,0,1,9.5,1m0-1A9.5,9.5,0,1,0,19,9.5,9.5,9.5,0,0,0,9.5,0Z"/>
- </g>
- </g>
-</svg>
diff --git a/assets/icons/plusThin.svg b/assets/icons/plusThin.svg
deleted file mode 100644
index 571c303..0000000
--- a/assets/icons/plusThin.svg
+++ /dev/null
@@ -1,7 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 9 9">
- <g>
- <g>
- <polygon points="5 9 4 9 4 5 0 5 0 4 4 4 4 0 5 0 5 4 9 4 9 5 5 5 5 9"/>
- </g>
- </g>
-</svg>
diff --git a/assets/icons/proceedToOverview.svg b/assets/icons/proceedToOverview.svg
deleted file mode 100644
index 4788106..0000000
--- a/assets/icons/proceedToOverview.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24.04 20"><title>proceed_to_overview</title><g id="Layer_2" data-name="Layer 2"><g id="Layer_1-2" data-name="Layer 1"><polygon points="16.83 20 0 20 0 0 20 0 20 10 19 10 19 1 1 1 1 19 16.83 19 16.83 20"/><rect x="3" y="10" width="14" height="1"/><rect x="3" y="13" width="14" height="1"/><path d="M17,8H3V3H17ZM4,7H16V4H4Z"/><polygon points="20.85 13.32 20.15 14.03 22.12 16 13 16 13 17 22.12 17 20.15 18.98 20.85 19.68 24.04 16.5 20.85 13.32"/></g></g></svg> \ No newline at end of file
diff --git a/assets/icons/questionMark.svg b/assets/icons/questionMark.svg
deleted file mode 100644
index 3b1c7bc..0000000
--- a/assets/icons/questionMark.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg id='question-mark_icon' xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><g id="Layer_2" data-name="Layer 2"><g id="Layer_1-2" data-name="Layer 1"><path d="M8,0a8,8,0,1,0,8,8A7.9,7.9,0,0,0,8,0ZM8,13.1A1.1,1.1,0,1,1,9.1,12,1,1,0,0,1,8,13.1Zm2.3-6.6-.4.4L9.8,7l-.2.2c-.1.1-.3.2-.3.3l-.2.3a1.45,1.45,0,0,0-.2.7v.7H7.3V8.3a2.2,2.2,0,0,1,.1-.8A2,2,0,0,1,8,6.8l.9-.9a.62.62,0,0,0,.2-.7.91.91,0,0,0-.3-.7,1,1,0,0,0-1.4,0,.91.91,0,0,0-.3.7v.1H5.4V5.2a2.43,2.43,0,0,1,.9-1.8,3,3,0,0,1,1.9-.7h.1a2.79,2.79,0,0,1,1.8.6,2,2,0,0,1,.7,1.8A2,2,0,0,1,10.3,6.5Z"/></g></g></svg> \ No newline at end of file
diff --git a/assets/icons/search.svg b/assets/icons/search.svg
deleted file mode 100644
index ce83104..0000000
--- a/assets/icons/search.svg
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 21.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
-<svg version="1.1" id="search_icon" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
- viewBox="0 0 14 14.1" style="enable-background:new 0 0 14 14.1;" xml:space="preserve">
-<path d="M13.9,13.3l-3.6-3.6c0.9-1,1.4-2.4,1.4-3.8C11.7,2.6,9.1,0,5.9,0S0,2.6,0,5.9s2.6,5.9,5.9,5.9c1.5,0,2.8-0.5,3.8-1.4
- l3.6,3.6c0.1,0.1,0.2,0.1,0.3,0.1s0.2,0,0.3-0.1C14,13.7,14,13.4,13.9,13.3z M5.9,10.9c-2.8,0-5-2.2-5-5s2.2-5,5-5s5,2.2,5,5
- S8.6,10.9,5.9,10.9z"/>
-</svg>
diff --git a/assets/icons/sliders.svg b/assets/icons/sliders.svg
deleted file mode 100644
index ade9de2..0000000
--- a/assets/icons/sliders.svg
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 21.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
-<svg version="1.1" id="sliders_icon" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
- viewBox="0 0 20 17" style="enable-background:new 0 0 20 17;" xml:space="preserve">
-<g>
- <rect y="8" width="2.8" height="1"/>
- <rect y="2" width="10.9" height="1"/>
- <rect x="15" y="2" width="5" height="1"/>
- <rect x="6.9" y="8" width="13.1" height="1"/>
- <rect y="14" width="13" height="1"/>
- <rect x="17.1" y="14" width="2.9" height="1"/>
- <path d="M13,5c-1.4,0-2.5-1.1-2.5-2.5S11.6,0,13,0s2.5,1.1,2.5,2.5S14.4,5,13,5z M13,1c-0.8,0-1.5,0.7-1.5,1.5S12.2,4,13,4
- s1.5-0.7,1.5-1.5S13.8,1,13,1z"/>
- <path d="M15,17c-1.4,0-2.5-1.1-2.5-2.5S13.6,12,15,12s2.5,1.1,2.5,2.5S16.4,17,15,17z M15,13c-0.8,0-1.5,0.7-1.5,1.5S14.2,16,15,16
- s1.5-0.7,1.5-1.5S15.8,13,15,13z"/>
- <path d="M4.9,11c-1.4,0-2.5-1.1-2.5-2.5C2.4,7.1,3.5,6,4.9,6s2.5,1.1,2.5,2.5C7.4,9.9,6.3,11,4.9,11z M4.9,7C4.1,7,3.4,7.7,3.4,8.5
- S4.1,10,4.9,10s1.5-0.7,1.5-1.5S5.7,7,4.9,7z"/>
-</g>
-</svg>
diff --git a/assets/icons/trashO.svg b/assets/icons/trashO.svg
deleted file mode 100644
index 26336f1..0000000
--- a/assets/icons/trashO.svg
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 21.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
-<svg version="1.1" id="trash-o_icon" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
- viewBox="0 0 18.9 19.9" style="enable-background:new 0 0 18.9 19.9;" xml:space="preserve">
-<g>
- <path d="M16.1,19.9H2.8c-0.8,0-1.5-0.7-1.5-1.5V3h1v15.4c0,0.3,0.3,0.5,0.5,0.5h13.3c0.3,0,0.5-0.3,0.5-0.5V3h1v15.4
- C17.6,19.2,16.9,19.9,16.1,19.9z"/>
- <path d="M13.7,3h-1V1.7C12.7,1.4,12.4,1,12,1H6.9C6.6,1,6.2,1.3,6.2,1.7V3h-1V1.7c0-1,0.9-1.7,1.7-1.7H12c1,0,1.7,0.9,1.7,1.7V3z"
- />
- <rect y="2.5" width="18.9" height="1"/>
- <g>
- <rect x="5.2" y="6.1" width="1" height="10.1"/>
- <rect x="9" y="6.1" width="1" height="10.1"/>
- <rect x="12.8" y="6.1" width="1" height="10.1"/>
- </g>
-</g>
-</svg>
diff --git a/assets/icons/unlocked.svg b/assets/icons/unlocked.svg
deleted file mode 100644
index 1e341bd..0000000
--- a/assets/icons/unlocked.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" width="11" height="18" viewBox="0 0 11 18" id="unlocked_icon">
- <path id="Shape_77_copy_16" data-name="Shape 77 copy 16" class="cls-1" d="M663,358a16.723,16.723,0,0,0-2.1-.009c-1.944.045-3.194,0.049-3.9,0.009v-7a1.743,1.743,0,0,1,2-2h1a1.743,1.743,0,0,1,2,2v2c0.474,0.064.343-.073,1,0,0.266,0.029,0,.279,0,0v-2a2.726,2.726,0,0,0-3-3h-1.142c-1.72-.125-2.715,1.562-2.858,3,0.088,0.009,0,9.338,0,7h0a1.891,1.891,0,0,0-2,1.689v4.461a1.823,1.823,0,0,0,1.775,1.85h7.448A1.823,1.823,0,0,0,665,364.15v-4.461A2.018,2.018,0,0,0,663,358Zm1.05,6.15a0.827,0.827,0,0,1-.8.836H655.8a0.827,0.827,0,0,1-.8-0.836l0-4.15a1.164,1.164,0,0,1,.8-1.147h7.448A1.129,1.129,0,0,1,664,360Z" transform="translate(-654 -348)"/>
-</svg>
diff --git a/assets/icons/upload.svg b/assets/icons/upload.svg
deleted file mode 100644
index 72e64ff..0000000
--- a/assets/icons/upload.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 15 11"><title>upload</title><g id="Layer_2" data-name="Layer 2"><g id="Layer_1-2" data-name="Layer 1"><polygon points="14 6 14 10 1 10 1 6 0 6 0 11 15 11 15 6 14 6"/><polygon points="3.71 3.79 4.42 4.5 7 1.91 7 7.58 8 7.58 8 1.91 10.58 4.5 11.29 3.79 7.5 0 3.71 3.79"/></g></g></svg> \ No newline at end of file
diff --git a/assets/icons/user.svg b/assets/icons/user.svg
deleted file mode 100644
index 3363f57..0000000
--- a/assets/icons/user.svg
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 21.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
-<svg version="1.1" id="user_icon" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
- viewBox="0 0 18 20" style="enable-background:new 0 0 18 20;" xml:space="preserve">
-
-<g>
- <ellipse class="st1" cx="9" cy="6" rx="5.5" ry="5.5"/>
- <path class="st1" d="M0.7,20c0-4.6,3.7-8.3,8.3-8.3s8.3,3.7,8.3,8.3"/>
-</g>
-</svg>
diff --git a/assets/icons/vendor.svg b/assets/icons/vendor.svg
deleted file mode 100644
index a3b8f5f..0000000
--- a/assets/icons/vendor.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 53 47" id="vendor_icon"><title>vendor</title><g id="Layer_2" data-name="Layer 2"><g id="vlm_icon" data-name="vlm icon"><path d="M49,7,38.5,7V5.92A5.92,5.92,0,0,0,32.58,0H20.42A5.92,5.92,0,0,0,14.5,5.92V7.15L4,7.2a3.8,3.8,0,0,0-4,3.5V43.5C0,45.4,2,47,4.2,47L49,46.8a3.8,3.8,0,0,0,4-3.5V10.5A3.8,3.8,0,0,0,49,7ZM16.5,5.92A3.92,3.92,0,0,1,20.42,2H32.58A3.92,3.92,0,0,1,36.5,5.92V7.06l-20,.09ZM2,10.8A1.9,1.9,0,0,1,4,9l45-.2a1.9,1.9,0,0,1,2,1.8v8.87L32.94,24.18a6.49,6.49,0,0,0-12.89,0L2,19.51V10.8ZM31,25a4.5,4.5,0,1,1-4.5-4.5A4.5,4.5,0,0,1,31,25ZM49,45,4,45.2A1.9,1.9,0,0,1,2,43.4V21.57l18.13,4.73a6.5,6.5,0,0,0,12.74,0L51,21.53V43.21A1.9,1.9,0,0,1,49,45Z"/></g></g></svg>
diff --git a/assets/icons/versionControllerCommit.svg b/assets/icons/versionControllerCommit.svg
deleted file mode 100644
index 5847c69..0000000
--- a/assets/icons/versionControllerCommit.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" id="version-controller-commit_icon" viewBox="0 0 28 19.24"><title>Asset 5</title><g id="Layer_2" data-name="Layer 2"><g id="Layer_1-2" data-name="Layer 1"><path d="M27.5,18.24c-7.13,0-12.5-5.8-12.5-13.5V2.41l2.54,2.54.71-.71L14,0,9.76,4.24l.71.71L13,2.41V4.74c0,7.7-5.37,13.5-12.5,13.5H0v1H.5C8.2,19.24,14,13,14,4.74c0,8.27,5.8,14.5,13.5,14.5H28v-1Z"/></g></g></svg> \ No newline at end of file
diff --git a/assets/icons/versionControllerLockClosed.svg b/assets/icons/versionControllerLockClosed.svg
deleted file mode 100644
index 73aae7d..0000000
--- a/assets/icons/versionControllerLockClosed.svg
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 21.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
-<svg version="1.1" id="version-controller-lock-closed_icon" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
- x="0px" y="0px" viewBox="0 0 22.1 24" style="enable-background:new 0 0 22.1 24;" xml:space="preserve">
-<g>
- <path d="M16.1,8h-1V5c0-2.2-1.8-4-4-4s-4,1.8-4,4v3h-1V5c0-2.8,2.2-5,5-5s5,2.2,5,5V8z"/>
- <g id="Rounded_Rectangle_1267">
- <path d="M19.3,24.1H2.7c-1.5,0-2.8-1.3-2.8-2.8V10.7C0,9.2,1.3,8,2.7,8h16.6c1.5,0,2.8,1.3,2.8,2.8v10.5
- C22.1,22.8,20.8,24.1,19.3,24.1z M2.7,9C1.8,9,1,9.8,0.9,10.7v10.6c0,1,0.8,1.8,1.8,1.8h16.6c1,0,1.8-0.8,1.8-1.8V10.8
- c0-1-0.8-1.8-1.8-1.8H2.7z"/>
- </g>
- <g>
- <path d="M10.9,18.6c-1.8,0-3.3-1.5-3.3-3.3S9.1,12,10.9,12s3.3,1.5,3.3,3.3S12.7,18.6,10.9,18.6z M10.9,13c-1.3,0-2.3,1-2.3,2.3
- s1,2.3,2.3,2.3s2.3-1,2.3-2.3S12.2,13,10.9,13z"/>
- </g>
-</g>
-</svg>
diff --git a/assets/icons/versionControllerLockOpen.svg b/assets/icons/versionControllerLockOpen.svg
deleted file mode 100644
index 52e0b8b..0000000
--- a/assets/icons/versionControllerLockOpen.svg
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 21.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
-<svg version="1.1" id="version-controller-lock-open_icon" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
- viewBox="0 0 25 24.1" style="enable-background:new 0 0 25 24.1;" xml:space="preserve">
-<g>
- <path d="M10,8H9V5c0-2.2-1.8-4-4-4S1,2.8,1,5v3H0V5c0-2.8,2.2-5,5-5s5,2.2,5,5V8z"/>
- <g id="Rounded_Rectangle_1267_1_">
- <path d="M22.2,24.1H5.6c-1.5,0-2.8-1.3-2.8-2.8V10.7C2.9,9.2,4.2,8,5.6,8h16.6c1.5,0,2.8,1.3,2.8,2.8v10.5
- C25,22.8,23.7,24.1,22.2,24.1z M5.6,9c-0.9,0-1.7,0.8-1.8,1.7v10.6c0,1,0.8,1.8,1.8,1.8h16.6c1,0,1.8-0.8,1.8-1.8V10.8
- c0-1-0.8-1.8-1.8-1.8H5.6z"/>
- </g>
- <g>
- <path d="M13.8,18.6c-1.8,0-3.3-1.5-3.3-3.3S12,12,13.8,12s3.3,1.5,3.3,3.3S15.6,18.6,13.8,18.6z M13.8,13c-1.3,0-2.3,1-2.3,2.3
- s1,2.3,2.3,2.3s2.3-1,2.3-2.3S15.1,13,13.8,13z"/>
- </g>
-</g>
-</svg>
diff --git a/assets/icons/versionControllerPermissions.svg b/assets/icons/versionControllerPermissions.svg
deleted file mode 100644
index 91ea9f4..0000000
--- a/assets/icons/versionControllerPermissions.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" id="version-controller-permissions_icon" viewBox="0 0 31.11 20"><title>Asset 2</title><g id="Layer_2" data-name="Layer 2"><g id="Layer_1-2" data-name="Layer 1"><path d="M24.48,11.67a6,6,0,1,0-3.84,0,8.57,8.57,0,0,0-5.08,3.43,8.57,8.57,0,0,0-5.08-3.43A6,6,0,1,0,2.59,6a6,6,0,0,0,4,5.67A8.56,8.56,0,0,0,0,20H1a7.55,7.55,0,0,1,15.11,0h1a8.49,8.49,0,0,0-1-4,7.55,7.55,0,0,1,14,4h1A8.56,8.56,0,0,0,24.48,11.67ZM3.59,6a5,5,0,1,1,5,5A5,5,0,0,1,3.59,6Zm14,0a5,5,0,1,1,5,5A5,5,0,0,1,17.59,6Z"/></g></g></svg> \ No newline at end of file
diff --git a/assets/icons/versionControllerRevert.svg b/assets/icons/versionControllerRevert.svg
deleted file mode 100644
index f9f02f9..0000000
--- a/assets/icons/versionControllerRevert.svg
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 21.0.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
-<svg version="1.1"
- id="version-controller-revert_icon" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:svg="http://www.w3.org/2000/svg"
- xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 89 87"
- style="enable-background:new 0 0 89 87;" xml:space="preserve">
-<g transform="translate(0,-952.36218)">
- <path d="M45.8,952.4c-1,0-2,1-1.9,2.1c0,1,1,2,2.1,1.9c21.6,0,39,17.4,39,39s-17.4,39-39,39s-39-17.4-39-39
- c0-9.6,4.5-19.4,10.5-26.5l1.5,11.8c0.1,1,1.2,1.9,2.3,1.8s1.9-1.2,1.8-2.3l-2-16c-0.1-1.1-1.2-1.9-2.3-1.8l-16.1,3
- c-1.1,0.1-2,1.3-1.8,2.4c0.2,1.1,1.5,1.9,2.5,1.5l10.1-1.9C7.3,975,3,985.1,3,995.4c0,23.7,19.3,43,43,43s43-19.3,43-43
- c0-23.7-19.3-43-43-43C45.9,952.4,45.9,952.4,45.8,952.4z M42.8,968.1c-1,0.1-1.8,1-1.8,2v28.2c0,1,1,2,2,2h21.8c1.1,0,2-0.9,2-2
- s-1-2-2-2H45v-26.2C45,969,43.9,968,42.8,968.1z"/>
-</g>
-</svg>
diff --git a/assets/icons/versionControllerSave.svg b/assets/icons/versionControllerSave.svg
deleted file mode 100644
index 4a05425..0000000
--- a/assets/icons/versionControllerSave.svg
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 21.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
-<svg version="1.1" id="version-controller-save_icon" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px"
- y="0px" viewBox="0 0 22 21" style="enable-background:new 0 0 22 21;" xml:space="preserve">
-<g>
- <path d="M22,21H0V0h17.7L22,4.3V21z M1,20h20V4.7L17.3,1H1V20z"/>
- <polygon points="17,8 4,8 4,0.5 5,0.5 5,7 16,7 16,0.5 17,0.5 "/>
- <polygon points="17,20.5 16,20.5 16,14 5,14 5,20.5 4,20.5 4,13 17,13 "/>
-</g>
-</svg>
diff --git a/assets/icons/versionControllerSubmit.svg b/assets/icons/versionControllerSubmit.svg
deleted file mode 100644
index 9909ab3..0000000
--- a/assets/icons/versionControllerSubmit.svg
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 21.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
-<svg version="1.1" id="version-controller-submit_icon" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px"
- y="0px" viewBox="0 0 21 21" style="enable-background:new 0 0 21 21;" xml:space="preserve">
-<g>
- <path d="M10.5,21C4.7,21,0,16.3,0,10.5C0,4.7,4.7,0,10.5,0C16.3,0,21,4.7,21,10.5C21,16.3,16.3,21,10.5,21z M10.5,1
- C5.3,1,1,5.3,1,10.5S5.3,20,10.5,20s9.5-4.3,9.5-9.5S15.7,1,10.5,1z"/>
- <path id="Shape_637_copy" d="M9.1,12.9L5.8,9.6l-0.7,0.6l4,4l6.7-6.7l-0.7-0.6L9.1,12.9z"/>
-</g>
-</svg>
diff --git a/assets/icons/versionControllerSync.svg b/assets/icons/versionControllerSync.svg
deleted file mode 100644
index dfd42d3..0000000
--- a/assets/icons/versionControllerSync.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" id="version-controller-sync_icon" viewBox="0 0 27.11 20"><g id="Layer_2" data-name="Layer 2"><g id="Layer_1-2" data-name="Layer 1"><path d="M13.72,19a9,9,0,0,1-9-9,8.9,8.9,0,0,1,.61-3.23L8.4,9.93l.71-.71L4.55,4.67,0,9.22l.71.71L4.55,6.08h0a9.82,9.82,0,0,0-.84,4A10,10,0,0,0,17.86,19.1l-.72-.72A9,9,0,0,1,13.72,19Z"/><path d="M26.41,10.07l-3.85,3.85h0a9.82,9.82,0,0,0,.84-4A10,10,0,0,0,9.25.9l.72.72A9,9,0,0,1,22.44,10a8.9,8.9,0,0,1-.61,3.23l-3.12-3.12-.71.71,4.55,4.55,4.55-4.55Z"/></g></g></svg> \ No newline at end of file
diff --git a/assets/icons/versionControllerUndo.svg b/assets/icons/versionControllerUndo.svg
deleted file mode 100644
index 8745f54..0000000
--- a/assets/icons/versionControllerUndo.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" id="version-controller-undo_icon" viewBox="0 0 20 20"><title>Asset 3</title><g id="Layer_2" data-name="Layer 2"><g id="Layer_1-2" data-name="Layer 1"><path d="M10,0A10,10,0,0,0,1,5.66V1H0V7H6V6H1.9a9,9,0,1,1-.72,6H.2A10,10,0,1,0,10,0Z"/></g></g></svg> \ No newline at end of file
diff --git a/assets/icons/viewModule.svg b/assets/icons/viewModule.svg
deleted file mode 100644
index e121d40..0000000
--- a/assets/icons/viewModule.svg
+++ /dev/null
@@ -1,9 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20.37 20.39">
- <title>viewModule</title>
- <g>
- <path class="a" d="M26.95,19.49H21.06a1.57,1.57,0,0,0-1.57,1.57V27a1.57,1.57,0,0,0,1.57,1.57h5.89A1.57,1.57,0,0,0,28.52,27V21.06A1.57,1.57,0,0,0,26.95,19.49ZM27.52,27a.57.57,0,0,1-.57.57H21.06a.57.57,0,0,1-.57-.57V21.06a.57.57,0,0,1,.57-.57h5.89a.57.57,0,0,1,.57.57Z" transform="translate(-8.15 -8.14)"/>
- <path class="a" d="M26.95,8.14H21.06a1.57,1.57,0,0,0-1.57,1.57V15.6a1.57,1.57,0,0,0,1.57,1.57h5.89a1.57,1.57,0,0,0,1.57-1.57V9.71A1.57,1.57,0,0,0,26.95,8.14Zm.57,7.46a.57.57,0,0,1-.57.57H21.06a.57.57,0,0,1-.57-.57V9.71a.57.57,0,0,1,.57-.57h5.89a.57.57,0,0,1,.57.57Z" transform="translate(-8.15 -8.14)"/>
- <path class="a" d="M15.61,19.49H9.72a1.57,1.57,0,0,0-1.57,1.57V27a1.57,1.57,0,0,0,1.57,1.57h5.89A1.57,1.57,0,0,0,17.18,27V21.06A1.57,1.57,0,0,0,15.61,19.49ZM16.18,27a.57.57,0,0,1-.57.57H9.72A.57.57,0,0,1,9.15,27V21.06a.57.57,0,0,1,.57-.57h5.89a.57.57,0,0,1,.57.57Z" transform="translate(-8.15 -8.14)"/>
- <path class="a" d="M15.61,8.14H9.72A1.57,1.57,0,0,0,8.15,9.71V15.6a1.57,1.57,0,0,0,1.57,1.57h5.89a1.57,1.57,0,0,0,1.57-1.57V9.71A1.57,1.57,0,0,0,15.61,8.14Zm.57,7.46a.57.57,0,0,1-.57.57H9.72a.57.57,0,0,1-.57-.57V9.71a.57.57,0,0,1,.57-.57h5.89a.57.57,0,0,1,.57.57Z" transform="translate(-8.15 -8.14)"/>
- </g>
-</svg>
diff --git a/assets/icons/vlm.svg b/assets/icons/vlm.svg
deleted file mode 100644
index 79b4625..0000000
--- a/assets/icons/vlm.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 45 53"><title>vlm_new_icon</title><g id="Layer_2" data-name="Layer 2"><g id="vlm_icon" data-name="vlm icon"><path d="M41,2a2,2,0,0,1,2,2l.19,45a2,2,0,0,1-2,2H4a2,2,0,0,1-2-2L1.81,4a2,2,0,0,1,2-2H41m-.15-2H4A4.2,4.2,0,0,0,0,4.24L.19,49a4,4,0,0,0,4,4H41a4,4,0,0,0,4-4L44.81,4a4,4,0,0,0-4-4Z"/><rect x="14" y="11" width="17" height="2"/><rect x="14" y="18" width="10" height="2"/><polygon points="20.56 38.85 13.87 33.14 15.16 31.62 20.39 36.08 29.08 26.63 30.55 27.98 20.56 38.85"/></g></g></svg> \ No newline at end of file
diff --git a/assets/icons/vsp.svg b/assets/icons/vsp.svg
deleted file mode 100644
index 344755c..0000000
--- a/assets/icons/vsp.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 59.5 40" id="vsp_icon"><title>vsp_new_icon</title><g id="Layer_2" data-name="Layer 2"><g id="vlm_icon" data-name="vlm icon"><path d="M58.28,30.74c-1.49-1.82-3-2.7-4.67-2.74a8.5,8.5,0,0,0-16.22-2.44,6.93,6.93,0,0,0-4.06.66A7.23,7.23,0,0,0,36.42,40H53.5a6,6,0,0,0,6-6A5.18,5.18,0,0,0,58.28,30.74ZM53.5,38H36.42a5.25,5.25,0,0,1-5.21-5.91,5.32,5.32,0,0,1,3-4.06,5,5,0,0,1,2.21-.53,5.25,5.25,0,0,1,1.35.18l.92.24L39,27A6.5,6.5,0,0,1,51.67,29v1.3l1.17-.2c1-.17,2.17-.17,3.91,2a3.18,3.18,0,0,1,.76,2A4,4,0,0,1,53.5,38Z"/><path d="M49,0,4,.17A3.79,3.79,0,0,0,0,3.69V7.94H0v2H0V36.31C0,38.35,2,40,4.25,40l20.84-.08a1,1,0,0,0,0-1.92L4,38.08a1.89,1.89,0,0,1-2-1.76V10H51v7a1,1,0,0,0,2,0V3.53A3.79,3.79,0,0,0,49,0ZM2,8V3.76A1.89,1.89,0,0,1,4,2l45-.16a1.89,1.89,0,0,1,2,1.76V8Z"/></g></g></svg>
diff --git a/assets/icons/zip.svg b/assets/icons/zip.svg
deleted file mode 100644
index 51ce7fa..0000000
--- a/assets/icons/zip.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 29 23"><title>zip</title><g id="Layer_2" data-name="Layer 2"><g id="Layer_1-2" data-name="Layer 1"><path d="M9.47,1l2.83,2.72L12.6,4H28V22H1V1H9.47m.4-1H0V23H29V3H13L9.88,0Z"/><path d="M11.65,16.61H6.25V15.9l4.17-6.32h-4V8.76h5.15v.71L7.37,15.78h4.29Z"/><path d="M14,16.61V8.76h.91v7.85Z"/><path d="M22.87,11a2.2,2.2,0,0,1-.81,1.83,3.68,3.68,0,0,1-2.33.64H18.8v3.09h-.91V8.76h2Q22.87,8.76,22.87,11ZM18.8,12.74h.82a3,3,0,0,0,1.76-.39,1.44,1.44,0,0,0,.54-1.26,1.36,1.36,0,0,0-.51-1.16,2.66,2.66,0,0,0-1.59-.38h-1Z"/></g></g></svg> \ No newline at end of file
diff --git a/assets/images/empty.txt b/assets/images/empty.txt
deleted file mode 100644
index e69de29..0000000
--- a/assets/images/empty.txt
+++ /dev/null
diff --git a/assets/images/illustration.png b/assets/images/illustration.png
deleted file mode 100644
index c0ff99a..0000000
--- a/assets/images/illustration.png
+++ /dev/null
Binary files differ
diff --git a/assets/images/logo_onap.png b/assets/images/logo_onap.png
deleted file mode 100644
index c6f6857..0000000
--- a/assets/images/logo_onap.png
+++ /dev/null
Binary files differ
diff --git a/assets/images/logo_onap_2017.png b/assets/images/logo_onap_2017.png
deleted file mode 100644
index c6f6857..0000000
--- a/assets/images/logo_onap_2017.png
+++ /dev/null
Binary files differ
diff --git a/assets/sdc-icons/README.md b/assets/sdc-icons/README.md
deleted file mode 100644
index dc3e798..0000000
--- a/assets/sdc-icons/README.md
+++ /dev/null
@@ -1,9 +0,0 @@
-components folder contain icon that are not part of sdc-icon component.
--Icon naming:
-------------------
--
--<name>-<type>-<o>
--
--name = if contains multiple words, use "_"
--type = circle/square/triangle
--o = outline (for all icons that have white background)
diff --git a/assets/sdc-icons/alert-triangle-o.svg b/assets/sdc-icons/alert-triangle-o.svg
deleted file mode 100644
index c1d8d0a..0000000
--- a/assets/sdc-icons/alert-triangle-o.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24">
- <path id="alert-a" d="M20.5815,18.7997 C20.3815,18.9997 20.0815,19.0997 19.8815,19.0997 L2.8815,19.0997 C2.6815,19.0997 2.5815,19.0997 2.3815,18.9997 C1.8815,18.6997 1.7815,18.0997 1.9815,17.5997 L10.4815,3.4997 C10.5815,3.4007 10.6815,3.1997 10.7815,3.1997 C11.2815,2.9007 11.8815,3.0997 12.1815,3.4997 L20.6825,17.5997 C20.7815,17.6997 20.7815,17.9007 20.7815,18.0997 C20.8815,18.4007 20.6825,18.5997 20.5815,18.7997 M22.3815,16.5997 L13.9815,2.4007 C13.5815,1.6997 12.8815,1.1997 12.0815,0.9997 C11.2815,0.7997 10.4815,0.9007 9.7815,1.2997 C9.3815,1.4997 8.9815,1.9007 8.7815,2.2997 L0.3815,16.5997 C-0.4185,17.9997 0.0815,19.9007 1.4815,20.6997 C1.8815,20.9997 2.3815,21.0997 2.8815,21.0997 L19.8815,21.0997 C20.6825,21.0997 21.4815,20.7997 21.9815,20.1997 C22.5815,19.5997 22.8815,18.9007 22.8815,18.0997 C22.7815,17.5997 22.6825,16.9997 22.3815,16.5997 M11,7 C10.4,7 10,7.4 10,8 L10,12 C10,12.601 10.4,13 11,13 C11.6,13 12,12.601 12,12 L12,8 C12,7.4 11.6,7 11,7 M10.3,15.3 C10.1,15.499 10,15.699 10,15.999 C10,16.3 10.1,16.499 10.3,16.699 C10.5,16.9 10.7,16.999 11,16.999 C11.3,16.999 11.5,16.9 11.7,16.699 C11.9,16.499 12,16.199 12,15.999 C12,15.8 11.9,15.499 11.7,15.3 C11.3,14.9 10.7,14.9 10.3,15.3"/>
-</svg>
diff --git a/assets/sdc-icons/alert-triangle.svg b/assets/sdc-icons/alert-triangle.svg
deleted file mode 100644
index ed3f6f8..0000000
--- a/assets/sdc-icons/alert-triangle.svg
+++ /dev/null
@@ -1,5 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24">
- <g fill-rule="evenodd" transform="translate(1 1)">
- <path id="alert-copy-a" d="M22.3815,16.5997 L13.9815,2.4007 C13.5815,1.6997 12.8815,1.1997 12.0815,0.9997 C11.2815,0.7997 10.4815,0.9007 9.7815,1.2997 C9.3815,1.4997 8.9815,1.9007 8.7815,2.2997 L0.3815,16.5997 C-0.4185,17.9997 0.0815,19.9007 1.4815,20.6997 C1.8815,20.9997 2.3815,21.0997 2.8815,21.0997 L19.8815,21.0997 C20.6825,21.0997 21.4815,20.7997 21.9815,20.1997 C22.5815,19.5997 22.8815,18.9007 22.8815,18.0997 C22.7815,17.5997 22.6825,16.9997 22.3815,16.5997 M11,7 C10.4,7 10,7.4 10,8 L10,12 C10,12.601 10.4,13 11,13 C11.6,13 12,12.601 12,12 L12,8 C12,7.4 11.6,7 11,7 M10.3,15.3 C10.1,15.499 10,15.699 10,15.999 C10,16.3 10.1,16.499 10.3,16.699 C10.5,16.9 10.7,16.999 11,16.999 C11.3,16.999 11.5,16.9 11.7,16.699 C11.9,16.499 12,16.199 12,15.999 C12,15.8 11.9,15.499 11.7,15.3 C11.3,14.9 10.7,14.9 10.3,15.3"/>
- </g>
-</svg>
diff --git a/assets/sdc-icons/api-o.svg b/assets/sdc-icons/api-o.svg
deleted file mode 100644
index 169630a..0000000
--- a/assets/sdc-icons/api-o.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24">
- <path id="api-a" d="M18,17 C18,17.6 17.6,18 17,18 L3,18 C2.4,18 2,17.6 2,17 L2,3 C2,2.4 2.4,2 3,2 L17,2 C17.6,2 18,2.4 18,3 L18,17 Z M17,0 L3,0 C1.3,0 0,1.3 0,3 L0,17 C0,18.7 1.3,20 3,20 L17,20 C18.7,20 20,18.7 20,17 L20,3 C20,1.3 18.7,0 17,0 Z M16.707,9.293 L12.707,5.293 C12.316,4.902 11.684,4.902 11.293,5.293 C10.902,5.684 10.902,6.316 11.293,6.707 L14.586,10 L11.293,13.293 C10.902,13.684 10.902,14.316 11.293,14.707 C11.488,14.902 11.744,15 12,15 C12.256,15 12.512,14.902 12.707,14.707 L16.707,10.707 C17.098,10.316 17.098,9.684 16.707,9.293 M3.293,9.293 L7.293,5.293 C7.684,4.902 8.316,4.902 8.707,5.293 C9.098,5.684 9.098,6.316 8.707,6.707 L5.414,10 L8.707,13.293 C9.098,13.684 9.098,14.316 8.707,14.707 C8.512,14.902 8.256,15 8,15 C7.744,15 7.488,14.902 7.293,14.707 L3.293,10.707 C2.902,10.316 2.902,9.684 3.293,9.293"/>
-</svg>
diff --git a/assets/sdc-icons/arrow2-right-child.svg b/assets/sdc-icons/arrow2-right-child.svg
deleted file mode 100644
index 0123a82..0000000
--- a/assets/sdc-icons/arrow2-right-child.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
- <path d="M22.9435415,14.3344739 C23.0188195,14.1839179 23.0188195,13.9580838 22.9435415,13.7322498 C22.8682635,13.6569718 22.8682635,13.5816938 22.7929855,13.5064157 L19.0290847,9.74251497 C18.7279726,9.44140291 18.2763045,9.44140291 17.9751925,9.74251497 C17.6740804,10.043627 17.6740804,10.4952951 17.9751925,10.7964072 L20.459367,13.2805817 L4.76390077,13.2805817 C3.48417451,13.2805817 2.50556031,12.3019675 2.50556031,11.0222412 L2.50556031,5.75278015 C2.50556031,5.30111206 2.20444825,5 1.75278015,5 C1.30111206,5 1,5.30111206 1,5.75278015 L1,11.0222412 C1,13.1300257 2.65611634,14.786142 4.76390077,14.786142 L20.459367,14.786142 L17.9751925,17.2703165 C17.6740804,17.5714286 17.6740804,18.0230967 17.9751925,18.3242087 C18.1257485,18.4747648 18.3515825,18.5500428 18.5021386,18.5500428 C18.6526946,18.5500428 18.8785287,18.4747648 19.0290847,18.3242087 L22.7929855,14.560308 C22.8682635,14.4850299 22.9435415,14.4097519 22.9435415,14.3344739 Z"/>
-</svg>
diff --git a/assets/sdc-icons/arrow2-right.svg b/assets/sdc-icons/arrow2-right.svg
deleted file mode 100644
index b8b808a..0000000
--- a/assets/sdc-icons/arrow2-right.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
- <path d="M22.9435415,14.3344739 C23.0188195,14.1839179 23.0188195,13.9580838 22.9435415,13.7322498 C22.8682635,13.6569718 22.8682635,13.5816938 22.7929855,13.5064157 L19.0290847,9.74251497 C18.7279726,9.44140291 18.2763045,9.44140291 17.9751925,9.74251497 C17.6740804,10.043627 17.6740804,10.4952951 17.9751925,10.7964072 L20.459367,13.2805817 L2.06347656,13.2805817 C1.51468328,13.2805817 1.37585449,14.560308 2.06347656,14.786142 L20.459367,14.786142 L17.9751925,17.2703165 C17.6740804,17.5714286 17.6740804,18.0230967 17.9751925,18.3242087 C18.1257485,18.4747648 18.3515825,18.5500428 18.5021386,18.5500428 C18.6526946,18.5500428 18.8785287,18.4747648 19.0290847,18.3242087 L22.7929855,14.560308 C22.8682635,14.4850299 22.9435415,14.4097519 22.9435415,14.3344739 Z"/>
-</svg>
diff --git a/assets/sdc-icons/arrow3-down-o.svg b/assets/sdc-icons/arrow3-down-o.svg
deleted file mode 100644
index 401a7f8..0000000
--- a/assets/sdc-icons/arrow3-down-o.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24">
- <path id="filterdown-a" d="M11.29925,18.7 C11.40025,18.8 11.49925,18.9 11.59925,18.9 C11.69925,19 11.90025,19 11.99925,19 C12.09925,19 12.29925,19 12.40025,18.9 C12.49925,18.8 12.59925,18.8 12.69925,18.7 L16.69925,14.7 C17.09925,14.3 17.09925,13.7 16.69925,13.3 C16.29925,12.9 15.69925,12.9 15.29925,13.3 L12.99925,15.599 L12.99925,4 C12.99925,3.4 12.59925,3 11.99925,3 C11.40025,3 10.99925,3.4 10.99925,4 L10.99925,15.599 L8.69925,13.3 C8.29925,12.9 7.69925,12.9 7.29925,13.3 C6.90025,13.7 6.90025,14.3 7.29925,14.7 L11.29925,18.7 Z"/>
-</svg>
diff --git a/assets/sdc-icons/arrow3-up-o.svg b/assets/sdc-icons/arrow3-up-o.svg
deleted file mode 100644
index 331634f..0000000
--- a/assets/sdc-icons/arrow3-up-o.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24">
- <path id="filterup-a" d="M11.29925,18.7 C11.40025,18.8 11.49925,18.9 11.59925,18.9 C11.69925,19 11.90025,19 11.99925,19 C12.09925,19 12.29925,19 12.40025,18.9 C12.49925,18.8 12.59925,18.8 12.69925,18.7 L16.69925,14.7 C17.09925,14.3 17.09925,13.7 16.69925,13.3 C16.29925,12.9 15.69925,12.9 15.29925,13.3 L12.99925,15.599 L12.99925,4 C12.99925,3.4 12.59925,3 11.99925,3 C11.40025,3 10.99925,3.4 10.99925,4 L10.99925,15.599 L8.69925,13.3 C8.29925,12.9 7.69925,12.9 7.29925,13.3 C6.90025,13.7 6.90025,14.3 7.29925,14.7 L11.29925,18.7 Z"/>
-</svg>
diff --git a/assets/sdc-icons/attachment.svg b/assets/sdc-icons/attachment.svg
deleted file mode 100644
index a1d7768..0000000
--- a/assets/sdc-icons/attachment.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24">
- <path id="attach-a" d="M20.67425,9.292 C20.28125,8.92 19.69125,8.92 19.29825,9.292 L10.25125,17.841 C8.28425,19.699 5.23625,19.699 3.27025,17.841 C1.30325,15.982 1.30325,13.102 3.27025,11.243 L12.31725,2.694 C13.39825,1.673 15.36425,1.673 16.44625,2.694 C17.62625,3.81 17.62625,5.575 16.44625,6.598 L7.40025,15.146 C7.00625,15.518 6.41625,15.518 6.02325,15.146 C5.92525,15.053 5.82625,14.867 5.82625,14.589 C5.82625,14.31 5.92525,14.124 6.12125,13.938 L14.48025,6.04 C14.87325,5.668 14.87325,5.11 14.48025,4.739 C14.08625,4.367 13.49625,4.367 13.10325,4.739 L4.74425,12.637 C4.15425,13.102 3.86025,13.845 3.86025,14.589 C3.86025,15.332 4.15425,16.075 4.74425,16.54 C5.92525,17.655 7.79325,17.655 8.87425,16.54 L17.92125,7.991 C19.88825,6.133 19.88825,3.252 17.92125,1.394 C17.03625,0.558 15.75825,0 14.48025,0 C13.20125,0 11.92325,0.465 11.03825,1.394 L1.99125,9.942 C-0.66375,12.451 -0.66375,16.633 1.99125,19.142 C3.36825,20.442 5.13825,21 6.90825,21 C8.67825,21 10.44725,20.35 11.82425,19.142 L20.87125,10.593 C21.06825,10.314 21.06825,9.664 20.67425,9.292"/>
-</svg>
diff --git a/assets/sdc-icons/bedge.svg b/assets/sdc-icons/bedge.svg
deleted file mode 100644
index f43ac9b..0000000
--- a/assets/sdc-icons/bedge.svg
+++ /dev/null
@@ -1,5 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 30 20">
- <g fill-rule="evenodd">
- <rect id="bedge-a" width="30" height="20" rx="8"/>
- </g>
-</svg>
diff --git a/assets/sdc-icons/browse.svg b/assets/sdc-icons/browse.svg
deleted file mode 100644
index c63620f..0000000
--- a/assets/sdc-icons/browse.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24">
- <path id="browse-a" d="M1.55555556,3.11111111 C0.696445945,3.11111111 0,2.41466517 0,1.55555556 C0,0.696445945 0.696445945,0 1.55555556,0 C2.41466517,0 3.11111111,0.696445945 3.11111111,1.55555556 C3.11111111,2.41466517 2.41466517,3.11111111 1.55555556,3.11111111 Z M12.4444444,3.11111111 C11.5853348,3.11111111 10.8888889,2.41466517 10.8888889,1.55555556 C10.8888889,0.696445945 11.5853348,0 12.4444444,0 C13.3035541,0 14,0.696445945 14,1.55555556 C14,2.41466517 13.3035541,3.11111111 12.4444444,3.11111111 Z M7,3.11111111 C6.14089039,3.11111111 5.44444444,2.41466517 5.44444444,1.55555556 C5.44444444,0.696445945 6.14089039,0 7,0 C7.85910961,0 8.55555556,0.696445945 8.55555556,1.55555556 C8.55555556,2.41466517 7.85910961,3.11111111 7,3.11111111 Z"/>
-</svg>
diff --git a/assets/sdc-icons/calendar-o.svg b/assets/sdc-icons/calendar-o.svg
deleted file mode 100644
index 93f8719..0000000
--- a/assets/sdc-icons/calendar-o.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24">
- <path id="calendar-a" d="M17,20 L3,20 C2.4,20 2,19.6 2,19 L2,10 L18,10 L18,19 C18,19.6 17.6,20 17,20 M3,4 L5,4 L5,5 C5,5.6 5.4,6 6,6 C6.6,6 7,5.6 7,5 L7,4 L13,4 L13,5 C13,5.6 13.4,6 14,6 C14.6,6 15,5.6 15,5 L15,4 L17,4 C17.6,4 18,4.4 18,5 L18,8 L2,8 L2,5 C2,4.4 2.4,4 3,4 M17,2 L15,2 L15,1 C15,0.4 14.6,0 14,0 C13.4,0 13,0.4 13,1 L13,2 L7,2 L7,1 C7,0.4 6.6,0 6,0 C5.4,0 5,0.4 5,1 L5,2 L3,2 C1.3,2 0,3.3 0,5 L0,19 C0,20.7 1.3,22 3,22 L17,22 C18.7,22 20,20.7 20,19 L20,5 C20,3.3 18.7,2 17,2"/>
-</svg>
diff --git a/assets/sdc-icons/camera-o.svg b/assets/sdc-icons/camera-o.svg
deleted file mode 100644
index 86f1f13..0000000
--- a/assets/sdc-icons/camera-o.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24">
- <path id="camera-a" d="M22,17 C22,17.6 21.6,18 21,18 L3,18 C2.4,18 2,17.6 2,17 L2,6 C2,5.4 2.4,5 3,5 L7,5 C7.3,5 7.6,4.8 7.8,4.6 L9.5,2 L14.4,2 L16.1,4.6 C16.4,4.8 16.7,5 17,5 L21,5 C21.6,5 22,5.4 22,6 L22,17 Z M21,3 L17.5,3 L15.8,0.4 C15.6,0.2 15.3,0 15,0 L9,0 C8.7,0 8.4,0.2 8.2,0.4 L6.5,3 L3,3 C1.3,3 0,4.3 0,6 L0,17 C0,18.7 1.3,20 3,20 L21,20 C22.7,20 24,18.7 24,17 L24,6 C24,4.3 22.7,3 21,3 Z M12,15 C10.3,15 9,13.7 9,12 C9,10.3 10.3,9 12,9 C13.7,9 15,10.3 15,12 C15,13.7 13.7,15 12,15 M12,7 C9.2,7 7,9.2 7,12 C7,14.8 9.2,17 12,17 C14.8,17 17,14.8 17,12 C17,9.2 14.8,7 12,7"/>
-</svg>
diff --git a/assets/sdc-icons/caret1-down-o.svg b/assets/sdc-icons/caret1-down-o.svg
deleted file mode 100644
index 724152a..0000000
--- a/assets/sdc-icons/caret1-down-o.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 14 14">
- <path id="chevron-a" d="M5.2998,6.7002 C5.4998,6.9002 5.7998,7.0002 5.9998,7.0002 C6.1998,7.0002 6.4998,6.9002 6.6998,6.7002 L11.6998,1.7002 C12.0998,1.3002 12.0998,0.7002 11.6998,0.3002 C11.2998,-0.0998 10.6998,-0.0998 10.2998,0.3002 L5.9998,4.6002 L1.6998,0.3002 C1.2998,-0.0998 0.6998,-0.0998 0.2998,0.3002 C-0.1002,0.7002 -0.1002,1.3002 0.2998,1.7002 L5.2998,6.7002 Z"/>
-</svg>
diff --git a/assets/sdc-icons/caret2-right-circle-o.svg b/assets/sdc-icons/caret2-right-circle-o.svg
deleted file mode 100644
index 2715dad..0000000
--- a/assets/sdc-icons/caret2-right-circle-o.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
- <path fill-rule="evenodd" d="M10.7522453,15.1960146 C10.5111563,15.4453129 10.5111563,15.8494423 10.7522453,16.0987406 C10.9933343,16.3480389 11.384156,16.3480389 11.625245,16.0987406 L15.1525166,12.451363 C15.3936056,12.2020647 15.3936056,11.7979353 15.1525166,11.548637 L11.625245,7.90125941 C11.384156,7.65196115 10.9933343,7.65196115 10.7522453,7.90125941 C10.5111563,8.15055767 10.5111563,8.55468711 10.7522453,8.80398537 L13.8447807,12.0018237 L10.7522453,15.1960146 Z M12,21 C7,21 3,17 3,12 C3,7 7,3 12,3 C17,3 21,7 21,12 C21,17 17,21 12,21 M12,1 C5.9,1 1,5.9 1,12 C1,18.1 5.9,23 12,23 C18.1,23 23,18.1 23,12 C23,5.9 18.1,1 12,1"/>
-</svg>
diff --git a/assets/sdc-icons/caret2-right-circle.svg b/assets/sdc-icons/caret2-right-circle.svg
deleted file mode 100644
index e585c1d..0000000
--- a/assets/sdc-icons/caret2-right-circle.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
- <circle cx="10" cy="10" r="10" fill="#000"/>
- <path fill="#FFF" d="M8.75224533,13.1960146 C8.51115632,13.4453129 8.51115632,13.8494423 8.75224533,14.0987406 C8.99333434,14.3480389 9.38415603,14.3480389 9.62524504,14.0987406 L13.1525166,10.451363 C13.3936056,10.2020647 13.3936056,9.79793528 13.1525166,9.54863702 L9.62524504,5.90125941 C9.38415603,5.65196115 8.99333434,5.65196115 8.75224533,5.90125941 C8.51115632,6.15055767 8.51115632,6.55468711 8.75224533,6.80398537 L11.8447807,10.0018237 L8.75224533,13.1960146 Z"/>
-</svg>
diff --git a/assets/sdc-icons/caret3-right.svg b/assets/sdc-icons/caret3-right.svg
deleted file mode 100644
index 1eefc47..0000000
--- a/assets/sdc-icons/caret3-right.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 14">
- <polygon fill-rule="evenodd" points="10 7 5 12 5 2"/>
-</svg>
diff --git a/assets/sdc-icons/close.svg b/assets/sdc-icons/close.svg
deleted file mode 100644
index 3c884d2..0000000
--- a/assets/sdc-icons/close.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24">
- <path id="close-a" d="M13.5996,12 L19.6576,5.942 C20.1146,5.485 20.1146,4.8 19.6576,4.343 C19.2006,3.886 18.5146,3.886 18.0576,4.343 L11.9996,10.4 L5.9426,4.343 C5.4856,3.886 4.7996,3.886 4.3426,4.343 C3.8856,4.8 3.8856,5.485 4.3426,5.942 L10.4006,12 L4.3426,18.058 C3.8856,18.515 3.8856,19.2 4.3426,19.657 C4.5716,19.886 4.7996,20 5.1426,20 C5.4856,20 5.7136,19.886 5.9426,19.657 L11.9996,13.6 L18.0576,19.657 C18.2866,19.886 18.6286,20 18.8576,20 C19.0856,20 19.4286,19.886 19.6576,19.657 C20.1146,19.2 20.1146,18.515 19.6576,18.058 L13.5996,12 Z"/>
-</svg>
diff --git a/assets/sdc-icons/commit-o.svg b/assets/sdc-icons/commit-o.svg
deleted file mode 100644
index e71c18e..0000000
--- a/assets/sdc-icons/commit-o.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24">
- <path id="commit-a" d="M19.0020067,16.993 C11.0730067,16.966 11.0170067,6.35 11.0180067,5.894 L11.0180067,3.389 L13.3420067,5.67 C13.5370067,5.862 13.7890067,5.957 14.0420067,5.957 C14.3030067,5.957 14.5620067,5.856 14.7590067,5.656 C15.1450067,5.26 15.1390067,4.624 14.7430067,4.237 L10.7160067,0.286 C10.7080067,0.279 10.6970067,0.277 10.6890067,0.269 C10.6060067,0.192 10.5130067,0.124 10.4030067,0.078 C10.3980067,0.076 10.3950067,0.076 10.3910067,0.075 C10.3740067,0.068 10.3570067,0.068 10.3410067,0.062 C10.2440067,0.029 10.1470067,0.011 10.0480067,0.008 C10.0300067,0.008 10.0140067,0.002 9.99600669,0.002 C9.99200669,0.002 9.98800669,0 9.98400669,0 C9.95900669,0 9.93800669,0.013 9.91300669,0.014 C9.85200669,0.021 9.79300669,0.033 9.73300669,0.051 C9.52300669,0.106 9.34600669,0.221 9.21400669,0.386 L5.32800669,4.217 C4.93400669,4.606 4.92800669,5.241 5.31600669,5.637 C5.70400669,6.031 6.33800669,6.036 6.73200669,5.648 L8.98200669,3.429 L8.98200669,5.899 C8.98300669,6.35 8.92700669,16.966 0.998006685,16.993 C0.445006685,16.995 -0.00199331469,17.446 6.68530859e-06,18 C0.00200668531,18.553 0.450006685,19 1.00200669,19 L1.00600669,19 C3.51500669,18.991 5.62200669,18.142 7.27100669,16.477 C8.60300669,15.131 9.45200669,13.422 10.0000067,11.771 C10.5490067,13.422 11.3980067,15.131 12.7300067,16.477 C14.3780067,18.142 16.4850067,18.991 18.9940067,19 L18.9980067,19 C19.5500067,19 19.9980067,18.553 20.0000067,18 C20.0020067,17.446 19.5550067,16.995 19.0020067,16.993"/>
-</svg>
diff --git a/assets/sdc-icons/components/checkbox_checked.svg b/assets/sdc-icons/components/checkbox_checked.svg
deleted file mode 100644
index 520c7b6..0000000
--- a/assets/sdc-icons/components/checkbox_checked.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 14 14">
- <path fill-rule="evenodd" d="M2,0 L12,-2.22044605e-16 C13.1045695,5.56104062e-16 14,0.8954305 14,2 L14,12 C14,13.1045695 13.1045695,14 12,14 L2,14 C0.8954305,14 8.94280938e-16,13.1045695 -2.22044605e-16,12 L-2.22044605e-16,2 C-3.57315355e-16,0.8954305 0.8954305,-1.91384796e-17 2,-2.22044605e-16 Z M3.85355339,7.54977605 C3.65829124,7.35451391 3.34170876,7.35451391 3.14644661,7.54977605 C2.95118446,7.7450382 2.95118446,8.06162069 3.14644661,8.25688283 L5.71469032,10.8251265 C5.93114093,11.0415771 6.28952386,11.0144698 6.47095446,10.7679244 L10.8653572,4.79638422 C11.0290275,4.57397322 10.9814087,4.26099251 10.7589977,4.09732224 C10.5365867,3.93365198 10.223606,3.98127076 10.0599357,4.20368177 L6.01038326,9.70660592 L3.85355339,7.54977605 Z"/>
-</svg>
diff --git a/assets/sdc-icons/components/checkbox_disabled.svg b/assets/sdc-icons/components/checkbox_disabled.svg
deleted file mode 100644
index a032573..0000000
--- a/assets/sdc-icons/components/checkbox_disabled.svg
+++ /dev/null
@@ -1,9 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="14" height="14" viewBox="0 0 14 14">
-
- <path id="disabled-a" d="M2,0 L12,-2.22044605e-16 C13.1045695,5.56104062e-16 14,0.8954305 14,2 L14,12 C14,13.1045695 13.1045695,14 12,14 L2,14 C0.8954305,14 8.94280938e-16,13.1045695 -2.22044605e-16,12 L-2.22044605e-16,2 C-3.57315355e-16,0.8954305 0.8954305,-1.91384796e-17 2,-2.22044605e-16 Z"/>
-
- <g fill-rule="evenodd">
- <use fill="#FFF" xlink:href="#disabled-a"/>
- <path stroke="#000" d="M2,0.5 C1.17157288,0.5 0.5,1.17157288 0.5,2 L0.5,12 C0.5,12.8284271 1.17157288,13.5 2,13.5 L12,13.5 C12.8284271,13.5 13.5,12.8284271 13.5,12 L13.5,2 C13.5,1.17157288 12.8284271,0.5 12,0.5 L2,0.5 Z"/>
-
-</svg>
diff --git a/assets/sdc-icons/components/radio_checked .svg b/assets/sdc-icons/components/radio_checked .svg
deleted file mode 100644
index 534d05d..0000000
--- a/assets/sdc-icons/components/radio_checked .svg
+++ /dev/null
@@ -1,6 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 14 14">
- <g fill-rule="evenodd">
- <path fill-rule="nonzero" d="M7,14 C3.13400675,14 0,10.8659932 0,7 C0,3.13400675 3.13400675,0 7,0 C10.8659932,0 14,3.13400675 14,7 C14,10.8659932 10.8659932,14 7,14 Z M7,13.1764706 C10.4111705,13.1764706 13.1764706,10.4111705 13.1764706,7 C13.1764706,3.58882949 10.4111705,0.823529412 7,0.823529412 C3.58882949,0.823529412 0.823529412,3.58882949 0.823529412,7 C0.823529412,10.4111705 3.58882949,13.1764706 7,13.1764706 Z"/>
- <circle cx="7" cy="7" r="4"/>
-
-</svg>
diff --git a/assets/sdc-icons/components/radio_disabled.svg b/assets/sdc-icons/components/radio_disabled.svg
deleted file mode 100644
index 0906f66..0000000
--- a/assets/sdc-icons/components/radio_disabled.svg
+++ /dev/null
@@ -1,6 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 14 14">
- <g fill-rule="evenodd">
- <path d="M7,14 C3.13400675,14 0,10.8659932 0,7 C0,3.13400675 3.13400675,0 7,0 C8.35813029,0 9.62592397,0.386776975 10.699241,1.0561909 C12.6811805,2.29230086 14,4.49213704 14,7 C14,10.8659932 10.8659932,14 7,14 Z"/>
- <path fill="#FFF" d="M7,13 C10.3137085,13 13,10.3137085 13,7 C13,3.6862915 10.3137085,1 7,1 C3.6862915,1 1,3.6862915 1,7 C1,10.3137085 3.6862915,13 7,13 Z"/>
-
-</svg>
diff --git a/assets/sdc-icons/composition-o.svg b/assets/sdc-icons/composition-o.svg
deleted file mode 100644
index 5648cda..0000000
--- a/assets/sdc-icons/composition-o.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24">
- <path id="composition-a" d="M17,18.05 C16.448,18.05 16,17.602 16,17.05 C16,16.498 16.448,16.05 17,16.05 C17.552,16.05 18,16.498 18,17.05 C18,17.602 17.552,18.05 17,18.05 M3,18.05 C2.448,18.05 2,17.602 2,17.05 C2,16.498 2.448,16.05 3,16.05 C3.552,16.05 4,16.498 4,17.05 C4,17.602 3.552,18.05 3,18.05 M3,2.05 C3.552,2.05 4,2.498 4,3.05 C4,3.602 3.552,4.05 3,4.05 C2.448,4.05 2,3.602 2,3.05 C2,2.498 2.448,2.05 3,2.05 M10,9.05 C10.552,9.05 11,9.498 11,10.05 C11,10.602 10.552,11.05 10,11.05 C9.448,11.05 9,10.602 9,10.05 C9,9.498 9.448,9.05 10,9.05 M17,14.05 C15.695,14.05 14.597,14.888 14.184,16.05 L5.816,16.05 C5.515,15.201 4.849,14.535 4,14.234 L4,11.05 L7.184,11.05 C7.597,12.212 8.695,13.05 10,13.05 C11.657,13.05 13,11.707 13,10.05 C13,8.393 11.657,7.05 10,7.05 C8.695,7.05 7.597,7.888 7.184,9.05 L4,9.05 L4,5.866 C5.162,5.453 6,4.355 6,3.05 C6,1.393 4.657,0.05 3,0.05 C1.343,0.05 0,1.393 0,3.05 C0,4.355 0.838,5.453 2,5.866 L2,14.234 C0.838,14.647 0,15.745 0,17.05 C0,18.707 1.343,20.05 3,20.05 C4.305,20.05 5.403,19.212 5.816,18.05 L14.184,18.05 C14.597,19.212 15.695,20.05 17,20.05 C18.657,20.05 20,18.707 20,17.05 C20,15.393 18.657,14.05 17,14.05"/>
-</svg>
diff --git a/assets/sdc-icons/copy-o.svg b/assets/sdc-icons/copy-o.svg
deleted file mode 100644
index eeee9aa..0000000
--- a/assets/sdc-icons/copy-o.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24">
- <path id="copy-a" d="M2,19 C2,19.6 2.4,20 3,20 L12,20 C12.6,20 13,19.6 13,19 L13,10 C13,9.4 12.6,9 12,9 L3,9 C2.4,9 2,9.4 2,10 L2,19 Z M3,7 L12,7 C13.7,7 15,8.3 15,10 L15,19 C15,20.7 13.7,22 12,22 L3,22 C1.3,22 0,20.7 0,19 L0,10 C0,8.3 1.3,7 3,7 Z M18,13 L19,13 C19.6,13 20,12.6 20,12 L20,3 C20,2.4 19.6,2 19,2 L10,2 C9.4,2 9,2.4 9,3 L9,4 C9,4.6 8.6,5 8,5 C7.4,5 7,4.6 7,4 L7,3 C7,1.3 8.3,0 10,0 L19,0 C20.7,0 22,1.3 22,3 L22,12 C22,13.7 20.7,15 19,15 L18,15 C17.4,15 17,14.6 17,14 C17,13.4 17.4,13 18,13 Z"/>
-</svg>
diff --git a/assets/sdc-icons/deployment-artifacts-o.svg b/assets/sdc-icons/deployment-artifacts-o.svg
deleted file mode 100644
index e5091cd..0000000
--- a/assets/sdc-icons/deployment-artifacts-o.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24">
- <path id="deployment_artifacts-a" d="M18,17 C18,17.6 17.6,18 17,18 L3,18 C2.4,18 2,17.6 2,17 L2,3 C2,2.4 2.4,2 3,2 L17,2 C17.6,2 18,2.4 18,3 L18,17 Z M17,0 L3,0 C1.3,0 0,1.3 0,3 L0,17 C0,18.7 1.3,20 3,20 L17,20 C18.7,20 20,18.7 20,17 L20,3 C20,1.3 18.7,0 17,0 Z M5,14 C5,13.448 5.448,13 6,13 C6.552,13 7,13.448 7,14 C7,14.552 6.552,15 6,15 C5.448,15 5,14.552 5,14 M10,5 C10.552,5 11,5.448 11,6 C11,6.552 10.552,7 10,7 C9.448,7 9,6.552 9,6 C9,5.448 9.448,5 10,5 M15,14 C15,14.552 14.552,15 14,15 C13.448,15 13,14.552 13,14 C13,13.448 13.448,13 14,13 C14.552,13 15,13.448 15,14 M7.513,11.423 L9.064,8.836 C9.36,8.935 9.671,9 10,9 C10.159,9 10.312,8.977 10.465,8.953 L12.367,11.488 C11.82,11.845 11.406,12.375 11.184,13 L8.816,13 C8.579,12.331 8.115,11.777 7.513,11.423 M8.816,15 L11.184,15 C11.597,16.162 12.695,17 14,17 C15.657,17 17,15.657 17,14 C17,12.528 15.938,11.31 14.54,11.055 L12.236,7.982 C12.706,7.453 13,6.764 13,6 C13,4.343 11.657,3 10,3 C8.343,3 7,4.343 7,6 C7,6.591 7.177,7.139 7.472,7.603 L5.397,11.061 C4.029,11.34 3,12.55 3,14 C3,15.657 4.343,17 6,17 C7.305,17 8.403,16.162 8.816,15"/>
-</svg>
diff --git a/assets/sdc-icons/description-o.svg b/assets/sdc-icons/description-o.svg
deleted file mode 100644
index d4e4345..0000000
--- a/assets/sdc-icons/description-o.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24">
- <path id="description-a" d="M10,9 C10.6,9 11,9.4 11,10 L11,14 C11,14.601 10.6,15 10,15 C9.4,15 9,14.601 9,14 L9,10 C9,9.4 9.4,9 10,9 Z M9.3,5.29925 C9.7,4.90025 10.3,4.90025 10.7,5.29925 C10.901,5.49925 11,5.69925 11,5.99925 C11,6.29925 10.901,6.49925 10.7,6.69925 C10.5,6.90025 10.3,6.99925 10,6.99925 C9.7,6.99925 9.5,6.90025 9.3,6.69925 C9.1,6.49925 9,6.29925 9,5.99925 C9,5.69925 9.1,5.49925 9.3,5.29925 Z M18,17 C18,17.6 17.6,18 17,18 L3,18 C2.4,18 2,17.6 2,17 L2,3 C2,2.4 2.4,2 3,2 L17,2 C17.6,2 18,2.4 18,3 L18,17 Z M17,0 L3,0 C1.3,0 0,1.3 0,3 L0,17 C0,18.7 1.3,20 3,20 L17,20 C18.7,20 20,18.7 20,17 L20,3 C20,1.3 18.7,0 17,0 Z"/>
-</svg>
diff --git a/assets/sdc-icons/distributed.svg b/assets/sdc-icons/distributed.svg
deleted file mode 100644
index 956c51f..0000000
--- a/assets/sdc-icons/distributed.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24">
- <path id="distributed-a" d="M18.5,13 C17.672,13 17,12.329 17,11.5 C17,10.671 17.672,10 18.5,10 C19.328,10 20,10.671 20,11.5 C20,12.329 19.328,13 18.5,13 M16.5,18 C15.672,18 15,17.329 15,16.5 C15,15.671 15.672,15 16.5,15 C17.328,15 18,15.671 18,16.5 C18,17.329 17.328,18 16.5,18 M11.5,20 C10.672,20 10,19.329 10,18.5 C10,17.671 10.672,17 11.5,17 C12.328,17 13,17.671 13,18.5 C13,19.329 12.328,20 11.5,20 M16.5,5 C17.328,5 18,5.671 18,6.5 C18,7.329 17.328,8 16.5,8 C15.672,8 15,7.329 15,6.5 C15,5.671 15.672,5 16.5,5 M6.5,18 C5.672,18 5,17.329 5,16.5 C5,15.671 5.672,15 6.5,15 C7.328,15 8,15.671 8,16.5 C8,17.329 7.328,18 6.5,18 M11,0 C8.061,0 10.968,6.138 9,8 C6.884,10.001 0,7.84 0,11 C0,17.1 4.9,22 11,22 C17.1,22 22,17.1 22,11 C22,4.9 17.1,0 11,0"/>
-</svg>
diff --git a/assets/sdc-icons/download-o.svg b/assets/sdc-icons/download-o.svg
deleted file mode 100644
index f54dba7..0000000
--- a/assets/sdc-icons/download-o.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24">
- <path id="download-a" d="M19,15 C19.6,15 20,15.4 20,16 L20,19 C20,20.7 18.7,22 17,22 L3,22 C1.3,22 0,20.7 0,19 L0,16 C0,15.4 0.4,15 1,15 C1.6,15 2,15.4 2,16 L2,19 C2,19.6 2.4,20 3,20 L17,20 C17.6,20 18,19.6 18,19 L18,16 C18,15.4 18.4,15 19,15 Z M9.29925,15.7 L5.29925,11.7 C4.90025,11.3 4.90025,10.7 5.29925,10.3 C5.69925,9.9 6.29925,9.9 6.69925,10.3 L8.99925,12.599 L8.99925,1 C8.99925,0.4 9.40025,0 9.99925,0 C10.59925,0 10.99925,0.4 10.99925,1 L10.99925,12.599 L13.29925,10.3 C13.69925,9.9 14.29925,9.9 14.69925,10.3 C15.09925,10.7 15.09925,11.3 14.69925,11.7 L10.69925,15.7 C10.59925,15.8 10.49925,15.8 10.40025,15.9 C10.29925,16 10.09925,16 9.99925,16 C9.90025,16 9.69925,16 9.59925,15.9 C9.49925,15.9 9.40025,15.8 9.29925,15.7 Z"/>
-</svg>
diff --git a/assets/sdc-icons/edit-file-o.svg b/assets/sdc-icons/edit-file-o.svg
deleted file mode 100644
index 9f17daa..0000000
--- a/assets/sdc-icons/edit-file-o.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24">
- <path id="edit_file-a" d="M19,12.7001 C19.6,12.7001 20,13.0991 20,13.7001 L20,19.0001 C20,20.7001 18.7,22.0001 17,22.0001 L3,22.0001 C1.3,22.0001 0,20.7001 0,19.0001 L0,5.0001 C0,3.3001 1.3,2.0001 3,2.0001 L8.3,2.0001 C8.9,2.0001 9.3,2.4001 9.3,3.0001 C9.3,3.5991 8.9,4.0001 8.3,4.0001 L3,4.0001 C2.4,4.0001 2,4.4001 2,5.0001 L2,19.0001 C2,19.5991 2.4,20.0001 3,20.0001 L17,20.0001 C17.6,20.0001 18,19.5991 18,19.0001 L18,13.7001 C18,13.0991 18.4,12.7001 19,12.7001 Z M10.5996,13.9999 L7.9996,13.9999 L7.9996,11.3999 L16.9996,2.3999 L19.5996,4.9999 L10.5996,13.9999 Z M21.7006,4.2999 L17.7006,0.2999 C17.2996,-0.1001 16.7006,-0.1001 16.2996,0.2999 L6.2996,10.2999 C6.0996,10.4999 5.9996,10.6999 5.9996,10.9999 L5.9996,14.9999 C5.9996,15.5999 6.4006,15.9999 6.9996,15.9999 L10.9996,15.9999 C11.2996,15.9999 11.4996,15.8999 11.7006,15.6999 L21.7006,5.6999 C22.0996,5.2999 22.0996,4.6999 21.7006,4.2999 Z"/>
-</svg>
diff --git a/assets/sdc-icons/edit-o.svg b/assets/sdc-icons/edit-o.svg
deleted file mode 100644
index bfa434e..0000000
--- a/assets/sdc-icons/edit-o.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24">
- <path id="edit-a" d="M2,12.3999 L12,2.3999 L14.6,4.9999 L4.6,14.9999 L2,14.9999 L2,12.3999 Z M1,16.9999 C0.4,16.9999 0,16.5999 0,15.9999 L0,11.9999 C0,11.6999 0.1,11.4999 0.3,11.2999 L11.3,0.2999 C11.7,-0.1001 12.3,-0.1001 12.7,0.2999 L16.7,4.2999 C17.1,4.6999 17.1,5.2999 16.7,5.6999 L5.7,16.6999 C5.5,16.8999 5.3,16.9999 5,16.9999 L1,16.9999 Z M19,20 C19.6,20 20,20.4 20,21 C20,21.6 19.6,22 19,22 L1,22 C0.4,22 0,21.6 0,21 C0,20.4 0.4,20 1,20 L19,20 Z"/>
-</svg>
diff --git a/assets/sdc-icons/expand-o.svg b/assets/sdc-icons/expand-o.svg
deleted file mode 100644
index c7127d7..0000000
--- a/assets/sdc-icons/expand-o.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24">
- <path id="expand-a" d="M19.9006,0.6 C20.0006,0.701 20.0006,0.901 20.0006,1 L20.0006,7 C20.0006,7.6 19.5996,8 19.0006,8 C18.4006,8 18.0006,7.6 18.0006,7 L18.0006,3.401 L12.7006,8.701 C12.5006,8.901 12.2006,9 12.0006,9 C11.7996,9 11.5006,8.901 11.2996,8.701 C10.9006,8.3 10.9006,7.701 11.2996,7.3 L16.5996,2 L13.0006,2 C12.4006,2 12.0006,1.6 12.0006,1 C12.0006,0.401 12.4006,0 13.0006,0 L19.0006,0 C19.0996,0 19.2996,0 19.4006,0.1 C19.5996,0.201 19.7996,0.401 19.9006,0.6 Z M7.3,11.3002 C7.7,10.9012 8.3,10.9012 8.7,11.3002 C9.1,11.7002 9.1,12.3002 8.7,12.7002 L3.401,18.0002 L7,18.0002 C7.6,18.0002 8,18.4012 8,19.0002 C8,19.6002 7.6,20.0002 7,20.0002 L1,20.0002 C0.901,20.0002 0.7,20.0002 0.6,19.9012 C0.401,19.8002 0.2,19.6002 0.1,19.4012 C0,19.3002 0,19.1002 0,19.0002 L0,13.0002 C0,12.4012 0.401,12.0002 1,12.0002 C1.6,12.0002 2,12.4012 2,13.0002 L2,16.6002 L7.3,11.3002 Z M19.4006,19.9008 C19.2996,20.0008 19.0996,20.0008 19.0006,20.0008 L13.0006,20.0008 C12.4006,20.0008 12.0006,19.5998 12.0006,19.0008 C12.0006,18.4008 12.4006,18.0008 13.0006,18.0008 L16.5996,18.0008 L11.2996,12.7008 C11.0996,12.5008 11.0006,12.2008 11.0006,12.0008 C11.0006,11.7998 11.0996,11.5008 11.2996,11.2998 C11.7006,10.9008 12.2996,10.9008 12.7006,11.2998 L18.0006,16.5998 L18.0006,13.0008 C18.0006,12.4008 18.4006,12.0008 19.0006,12.0008 C19.5996,12.0008 20.0006,12.4008 20.0006,13.0008 L20.0006,19.0008 C20.0006,19.0998 20.0006,19.2998 19.9006,19.4008 C19.7996,19.5998 19.5996,19.7998 19.4006,19.9008 Z M8.7004,7.3002 C9.0994,7.7002 9.0994,8.3002 8.7004,8.7002 C8.3004,9.1002 7.7004,9.1002 7.3004,8.7002 L2.0004,3.4012 L2.0004,7.0002 C2.0004,7.6002 1.5994,8.0002 1.0004,8.0002 C0.4004,8.0002 0.0004,7.6002 0.0004,7.0002 L0.0004,1.0002 C0.0004,0.9012 0.0004,0.7002 0.0994,0.6002 C0.2004,0.4012 0.4004,0.2002 0.5994,0.1002 C0.7004,0.0002 0.9004,0.0002 1.0004,0.0002 L7.0004,0.0002 C7.5994,0.0002 8.0004,0.4012 8.0004,1.0002 C8.0004,1.6002 7.5994,2.0002 7.0004,2.0002 L3.4004,2.0002 L8.7004,7.3002 Z"/>
-</svg>
diff --git a/assets/sdc-icons/eye-o.svg b/assets/sdc-icons/eye-o.svg
deleted file mode 100644
index 35cf012..0000000
--- a/assets/sdc-icons/eye-o.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24">
- <path id="view-a" d="M11.975,16 C6.575,16 3.075,10.6 2.075,9 C2.975,7.4 6.575,2 11.975,2 C17.375,2 20.875,7.4 21.875,9 C20.875,10.6 17.375,16 11.975,16 M23.875,8.6 C23.675,8.2 19.475,0 11.975,0 C4.475,0 0.275,8.2 0.075,8.6 C-0.025,8.9 -0.025,9.2 0.075,9.5 C0.275,9.8 4.475,18 11.975,18 C19.475,18 23.675,9.8 23.875,9.4 C23.975,9.2 23.975,8.8 23.875,8.6 M12,11 C10.9,11 10,10.1 10,9 C10,7.9 10.9,7 12,7 C13.1,7 14,7.9 14,9 C14,10.1 13.1,11 12,11 M12,5 C9.8,5 8,6.8 8,9 C8,11.2 9.8,13 12,13 C14.2,13 16,11.2 16,9 C16,6.8 14.2,5 12,5"/>
-</svg>
diff --git a/assets/sdc-icons/filter-o.svg b/assets/sdc-icons/filter-o.svg
deleted file mode 100644
index 1364bc5..0000000
--- a/assets/sdc-icons/filter-o.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24">
- <path id="filter-a" d="M12.2092536,9.8 C12.1082536,10 12.0092536,10.2 12.0092536,10.5 L12.0092536,17.401 L10.0092536,16.401 L10.0092536,10.5 C10.0092536,10.3 9.90925355,10 9.80925355,9.901 L3.20925355,2 L18.9092536,2 L12.2092536,9.8 Z M21.9092536,0.6 C21.7092536,0.2 21.4092536,0 21.0092536,0 L1.00925355,0 C0.608253553,0 0.309253553,0.2 0.108253553,0.6 C-0.0907464471,0.901 0.00925355294,1.3 0.209253553,1.6 L8.00925355,10.8 L8.00925355,17 C8.00925355,17.401 8.20925355,17.7 8.60825355,17.901 L12.6082536,19.901 C12.7092536,20 12.8092536,20 13.0092536,20 C13.2092536,20 13.4092536,20 13.5092536,19.901 C13.8092536,19.7 14.0092536,19.401 14.0092536,19 L14.0092536,10.8 L21.8092536,1.6 C22.0092536,1.3 22.1082536,0.901 21.9092536,0.6 Z"/>
-</svg>
diff --git a/assets/sdc-icons/info-circle-o.svg b/assets/sdc-icons/info-circle-o.svg
deleted file mode 100644
index 4d91259..0000000
--- a/assets/sdc-icons/info-circle-o.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24">
- <path id="info-a" d="M11,20 C6,20 2,16 2,11 C2,6 6,2 11,2 C16,2 20,6 20,11 C20,16 16,20 11,20 M11,0 C4.9,0 0,4.9 0,11 C0,17.101 4.9,22 11,22 C17.1,22 22,17.101 22,11 C22,4.9 17.1,0 11,0 M11,10 C10.4,10 10,10.4 10,11 L10,15 C10,15.601 10.4,16 11,16 C11.6,16 12,15.601 12,15 L12,11 C12,10.4 11.6,10 11,10 M10.2998,6.2998 C10.0998,6.4998 9.9998,6.6998 9.9998,6.9998 C9.9998,7.2998 10.0998,7.4998 10.2998,7.6998 C10.4998,7.9008 10.6998,7.9998 10.9998,7.9998 C11.2998,7.9998 11.4998,7.9008 11.6998,7.6998 C11.9008,7.4998 11.9998,7.2998 11.9998,6.9998 C11.9998,6.6998 11.9008,6.4998 11.6998,6.2998 C11.2998,5.9008 10.6998,5.9008 10.2998,6.2998"/>
-</svg>
diff --git a/assets/sdc-icons/info-circle.svg b/assets/sdc-icons/info-circle.svg
deleted file mode 100644
index 551966a..0000000
--- a/assets/sdc-icons/info-circle.svg
+++ /dev/null
@@ -1,5 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24">
- <g fill-rule="evenodd" transform="translate(1 1)">
- <path id="info-copy-a" d="M11,0 C4.9,0 0,4.9 0,11 C0,17.101 4.9,22 11,22 C17.1,22 22,17.101 22,11 C22,4.9 17.1,0 11,0 M11,10 C10.4,10 10,10.4 10,11 L10,15 C10,15.601 10.4,16 11,16 C11.6,16 12,15.601 12,15 L12,11 C12,10.4 11.6,10 11,10 M10.2998,6.2998 C10.0998,6.4998 9.9998,6.6998 9.9998,6.9998 C9.9998,7.2998 10.0998,7.4998 10.2998,7.6998 C10.4998,7.9008 10.6998,7.9998 10.9998,7.9998 C11.2998,7.9998 11.4998,7.9008 11.6998,7.6998 C11.9008,7.4998 11.9998,7.2998 11.9998,6.9998 C11.9998,6.6998 11.9008,6.4998 11.6998,6.2998 C11.2998,5.9008 10.6998,5.9008 10.2998,6.2998"/>
- </g>
-</svg>
diff --git a/assets/sdc-icons/info-square-o.svg b/assets/sdc-icons/info-square-o.svg
deleted file mode 100644
index 40a85c6..0000000
--- a/assets/sdc-icons/info-square-o.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24">
- <path id="information_artifacts-a" d="M10,9 C10.6,9 11,9.4 11,10 L11,14 C11,14.601 10.6,15 10,15 C9.4,15 9,14.601 9,14 L9,10 C9,9.4 9.4,9 10,9 Z M9.3,5.29925 C9.7,4.90025 10.3,4.90025 10.7,5.29925 C10.901,5.49925 11,5.69925 11,5.99925 C11,6.29925 10.901,6.49925 10.7,6.69925 C10.5,6.90025 10.3,6.99925 10,6.99925 C9.7,6.99925 9.5,6.90025 9.3,6.69925 C9.1,6.49925 9,6.29925 9,5.99925 C9,5.69925 9.1,5.49925 9.3,5.29925 Z M18,17 C18,17.6 17.6,18 17,18 L3,18 C2.4,18 2,17.6 2,17 L2,3 C2,2.4 2.4,2 3,2 L17,2 C17.6,2 18,2.4 18,3 L18,17 Z M17,0 L3,0 C1.3,0 0,1.3 0,3 L0,17 C0,18.7 1.3,20 3,20 L17,20 C18.7,20 20,18.7 20,17 L20,3 C20,1.3 18.7,0 17,0 Z"/>
-</svg>
diff --git a/assets/sdc-icons/inputs-o.svg b/assets/sdc-icons/inputs-o.svg
deleted file mode 100644
index 5120b24..0000000
--- a/assets/sdc-icons/inputs-o.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24">
- <path id="inputs-a" d="M18,17.05 C18,17.65 17.6,18.05 17,18.05 L3,18.05 C2.4,18.05 2,17.65 2,17.05 L2,3.05 C2,2.45 2.4,2.05 3,2.05 L17,2.05 C17.6,2.05 18,2.45 18,3.05 L18,17.05 Z M17,0.05 L3,0.05 C1.3,0.05 0,1.35 0,3.05 L0,17.05 C0,18.75 1.3,20.05 3,20.05 L17,20.05 C18.7,20.05 20,18.75 20,17.05 L20,3.05 C20,1.35 18.7,0.05 17,0.05 Z M15,5.05 L5,5.05 C4.45,5.05 4,5.5 4,6.05 C4,6.6 4.45,7.05 5,7.05 L15,7.05 C15.55,7.05 16,6.6 16,6.05 C16,5.5 15.55,5.05 15,5.05 M15,9.05 L5,9.05 C4.45,9.05 4,9.5 4,10.05 C4,10.6 4.45,11.05 5,11.05 L15,11.05 C15.55,11.05 16,10.6 16,10.05 C16,9.5 15.55,9.05 15,9.05"/>
-</svg>
diff --git a/assets/sdc-icons/locked.svg b/assets/sdc-icons/locked.svg
deleted file mode 100644
index 5c0939f..0000000
--- a/assets/sdc-icons/locked.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24">
- <path id="locked-a" d="M6,6 C6,3.8 7.8,2 10,2 C12.2,2 14,3.8 14,6 L14,9 L6,9 L6,6 Z M17,9 L16,9 L16,6 C16,2.7 13.3,0 10,0 C6.7,0 4,2.7 4,6 L4,9 L3,9 C1.3,9 0,10.3 0,12 L0,19 C0,20.7 1.3,22 3,22 L17,22 C18.7,22 20,20.7 20,19 L20,12 C20,10.3 18.7,9 17,9 Z"/>
-</svg>
diff --git a/assets/sdc-icons/minus-circle.svg b/assets/sdc-icons/minus-circle.svg
deleted file mode 100644
index d7755dc..0000000
--- a/assets/sdc-icons/minus-circle.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24">
- <path id="sub_2-a" d="M11,20 C6,20 2,16 2,11 C2,6 6,2 11,2 C16,2 20,6 20,11 C20,16 16,20 11,20 M11,0 C4.9,0 0,4.9 0,11 C0,17.1 4.9,22 11,22 C17.1,22 22,17.1 22,11 C22,4.9 17.1,0 11,0 M15,10 L7,10 C6.4,10 6,10.4 6,11 C6,11.6 6.4,12 7,12 L15,12 C15.6,12 16,11.6 16,11 C16,10.4 15.6,10 15,10"/>
-</svg>
diff --git a/assets/sdc-icons/minus.svg b/assets/sdc-icons/minus.svg
deleted file mode 100644
index 48fdcae..0000000
--- a/assets/sdc-icons/minus.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24">
- <rect id="sub-a" width="16" height="2" rx="1"/>
-</svg>
diff --git a/assets/sdc-icons/notifications-o.svg b/assets/sdc-icons/notifications-o.svg
deleted file mode 100644
index f52a4e3..0000000
--- a/assets/sdc-icons/notifications-o.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24">
- <path id="notifications-a" d="M4.5,15 C4.8,14.4 5,13.7 5,13 L5,8 C5,4.7 7.7,2 11,2 C14.3,2 17,4.7 17,8 L17,13 C17,13.7 17.2,14.4 17.5,15 L4.5,15 Z M21,15 C21.6,15 22,15.4 22,16 C22,16.6 21.6,17 21,17 L1,17 C0.4,17 0,16.6 0,16 C0,15.4 0.4,15 1,15 C2.1,15 3,14.1 3,13 L3,8 C3,3.6 6.6,0 11,0 C15.4,0 19,3.6 19,8 L19,13 C19,14.1 19.9,15 21,15 Z M14.0968122,19.141054 C14.5968122,19.441054 14.7968122,20.041054 14.2968122,20.541054 C13.6968122,21.541054 12.6968122,22.041054 11.6968122,22.041054 C11.1968122,22.041054 10.6968122,21.941054 10.1968122,21.641054 C9.69681223,21.341054 9.39681223,21.041054 9.09681223,20.541054 C8.89681223,20.041054 8.99581223,19.441054 9.49581223,19.141054 C9.99581223,18.941054 10.5968122,19.041054 10.8968122,19.541054 C10.9958122,19.741054 11.0968122,19.841054 11.2968122,19.941054 C11.7968122,20.141054 12.3968122,20.041054 12.6968122,19.541054 C12.9958122,19.041054 13.5968122,18.841054 14.0968122,19.141054 Z"/>
-</svg>
diff --git a/assets/sdc-icons/plus-circle-o.svg b/assets/sdc-icons/plus-circle-o.svg
deleted file mode 100644
index c87e574..0000000
--- a/assets/sdc-icons/plus-circle-o.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24">
- <path id="add_2-a" d="M11,20 C6,20 2,16 2,11 C2,6 6,2 11,2 C16,2 20,6 20,11 C20,16 16,20 11,20 M11,0 C4.9,0 0,4.9 0,11 C0,17.1 4.9,22 11,22 C17.1,22 22,17.1 22,11 C22,4.9 17.1,0 11,0 M15,10 L12,10 L12,7 C12,6.4 11.6,6 11,6 C10.4,6 10,6.4 10,7 L10,10 L7,10 C6.4,10 6,10.4 6,11 C6,11.6 6.4,12 7,12 L10,12 L10,15 C10,15.6 10.4,16 11,16 C11.6,16 12,15.6 12,15 L12,12 L15,12 C15.6,12 16,11.6 16,11 C16,10.4 15.6,10 15,10"/>
-</svg>
diff --git a/assets/sdc-icons/plus-circle.svg b/assets/sdc-icons/plus-circle.svg
deleted file mode 100644
index 62840b5..0000000
--- a/assets/sdc-icons/plus-circle.svg
+++ /dev/null
@@ -1,5 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24">
- <g fill-rule="evenodd" transform="translate(1 1)">
- <path id="add-copy-a" d="M11,0 C4.9,0 0,4.9 0,11 C0,17.1 4.9,22 11,22 C17.1,22 22,17.1 22,11 C22,4.9 17.1,0 11,0 M15,10 L12,10 L12,7 C12,6.4 11.6,6 11,6 C10.4,6 10,6.4 10,7 L10,10 L7,10 C6.4,10 6,10.4 6,11 C6,11.6 6.4,12 7,12 L10,12 L10,15 C10,15.6 10.4,16 11,16 C11.6,16 12,15.6 12,15 L12,12 L15,12 C15.6,12 16,11.6 16,11 C16,10.4 15.6,10 15,10"/>
- </g>
-</svg>
diff --git a/assets/sdc-icons/plus.svg b/assets/sdc-icons/plus.svg
deleted file mode 100644
index 00a6673..0000000
--- a/assets/sdc-icons/plus.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24">
- <path id="add-a" d="M15,7 L9,7 L9,1 C9,0.4 8.6,0 8,0 C7.4,0 7,0.4 7,1 L7,7 L1,7 C0.4,7 0,7.4 0,8 C0,8.6 0.4,9 1,9 L7,9 L7,15 C7,15.6 7.4,16 8,16 C8.6,16 9,15.6 9,15 L9,9 L15,9 C15.6,9 16,8.6 16,8 C16,7.4 15.6,7 15,7"/>
-</svg>
diff --git a/assets/sdc-icons/profile-o.svg b/assets/sdc-icons/profile-o.svg
deleted file mode 100644
index 802715e..0000000
--- a/assets/sdc-icons/profile-o.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24">
- <path id="profile-a" d="M13,12 L5,12 C2.2,12 0,14.2 0,17 L0,19 C0,19.6 0.4,20 1,20 C1.6,20 2,19.6 2,19 L2,17 C2,15.3 3.3,14 5,14 L13,14 C14.7,14 16,15.3 16,17 L16,19 C16,19.6 16.4,20 17,20 C17.6,20 18,19.6 18,19 L18,17 C18,14.2 15.8,12 13,12 M9,2 C10.7,2 12,3.3 12,5 C12,6.7 10.7,8 9,8 C7.3,8 6,6.7 6,5 C6,3.3 7.3,2 9,2 M9,10 C11.8,10 14,7.8 14,5 C14,2.2 11.8,0 9,0 C6.2,0 4,2.2 4,5 C4,7.8 6.2,10 9,10"/>
-</svg>
diff --git a/assets/sdc-icons/profiles-o.svg b/assets/sdc-icons/profiles-o.svg
deleted file mode 100644
index ac9c673..0000000
--- a/assets/sdc-icons/profiles-o.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24">
- <path id="permissions-a" d="M13,12 L5,12 C2.2,12 0,14.2 0,17 L0,19 C0,19.6 0.4,20 1,20 C1.6,20 2,19.6 2,19 L2,17 C2,15.3 3.3,14 5,14 L13,14 C14.7,14 16,15.3 16,17 L16,19 C16,19.6 16.4,20 17,20 C17.6,20 18,19.6 18,19 L18,17 C18,14.2 15.8,12 13,12 M9,2 C10.7,2 12,3.3 12,5 C12,6.7 10.7,8 9,8 C7.3,8 6,6.7 6,5 C6,3.3 7.3,2 9,2 M9,10 C11.8,10 14,7.8 14,5 C14,2.2 11.8,0 9,0 C6.2,0 4,2.2 4,5 C4,7.8 6.2,10 9,10 M20.2191602,12.0191602 C19.7191602,11.9191602 19.1181602,12.2191602 19.0191602,12.7191602 C18.9191602,13.2191602 19.2191602,13.8191602 19.7191602,13.9191602 C21.0191602,14.2191602 21.9191602,15.4191602 21.9191602,16.8191602 L21.9191602,18.8191602 C21.9191602,19.4191602 22.3191602,19.8191602 22.9191602,19.8191602 C23.5191602,19.8191602 23.9191602,19.4191602 23.9191602,18.8191602 L23.9191602,16.8191602 C24.0191602,14.5191602 22.5191602,12.5191602 20.2191602,12.0191602 M16.2525961,0.0617044797 C15.7525961,-0.13829552 15.2525961,0.16170448 15.0525961,0.76170448 C14.9525961,1.26170448 15.2525961,1.86170448 15.7525961,1.96170448 C17.3525961,2.36170448 18.3525961,3.96170448 17.9525961,5.66170448 C17.6515961,6.76170448 16.8525961,7.56170448 15.7525961,7.86170448 C15.2525961,7.96170448 14.8525961,8.56170448 15.0525961,9.06170448 C15.1515961,9.56170448 15.5525961,9.86170448 16.0525961,9.86170448 L16.2525961,9.86170448 C18.0525961,9.36170448 19.4525961,8.06170448 19.8525961,6.26170448 C20.5525961,3.46170448 18.9525961,0.66170448 16.2525961,0.0617044797"/>
-</svg>
diff --git a/assets/sdc-icons/question-mark-circle-o.svg b/assets/sdc-icons/question-mark-circle-o.svg
deleted file mode 100644
index 59dabde..0000000
--- a/assets/sdc-icons/question-mark-circle-o.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24">
- <path id="?-a" d="M12.1251444,5.21141885 C10.0241444,4.51141885 7.72514439,5.61041885 7.02414439,7.61141885 C6.92514439,8.21141885 7.12514439,8.81141885 7.72514439,8.91141885 C8.22514439,9.11141885 8.82514439,8.81141885 9.02414439,8.31141885 C9.42514439,7.31141885 10.5241444,6.71141885 11.6251444,7.11141885 C12.4251444,7.41141885 12.9251444,8.11141885 12.9251444,9.01141885 C12.9251444,10.0114188 11.2251444,10.8114188 10.6251444,11.1114188 C10.1251444,11.3114188 9.82514439,11.8114188 10.0241444,12.4114188 C10.1251444,12.8114188 10.5241444,13.1114188 10.9251444,13.1114188 C11.0241444,13.1114188 11.1251444,13.1114188 11.2251444,13.0114188 C11.6251444,12.9114188 14.9251444,11.7114188 14.9251444,9.11141885 C14.8251444,7.31141885 13.7251444,5.81141885 12.1251444,5.21141885 M11,20 C6,20 2,16 2,11 C2,6 6,2 11,2 C16,2 20,6 20,11 C20,16 16,20 11,20 M11,0 C4.9,0 0,4.9 0,11 C0,17.101 4.9,22 11,22 C17.1,22 22,17.101 22,11 C22,4.9 17.1,0 11,0 M10.3,15.29925 C10.1,15.49925 10,15.69925 10,15.99925 C10,16.29925 10.1,16.49925 10.3,16.69925 C10.5,16.90025 10.7,16.99925 11,16.99925 C11.3,16.99925 11.5,16.90025 11.7,16.69925 C11.901,16.49925 12,16.19925 12,15.99925 C12,15.79925 11.901,15.49925 11.7,15.29925 C11.3,14.90025 10.7,14.90025 10.3,15.29925"/>
-</svg>
diff --git a/assets/sdc-icons/question-mark-circle.svg b/assets/sdc-icons/question-mark-circle.svg
deleted file mode 100644
index ae5541a..0000000
--- a/assets/sdc-icons/question-mark-circle.svg
+++ /dev/null
@@ -1,5 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="24" height="24" viewBox="0 0 24 24">
- <g fill-rule="evenodd" transform="translate(1 1)">
- <path id="?-copy-a" d="M12.1251444,5.21141885 C10.0241444,4.51141885 7.72514439,5.61041885 7.02414439,7.61141885 C6.92514439,8.21141885 7.12514439,8.81141885 7.72514439,8.91141885 C8.22514439,9.11141885 8.82514439,8.81141885 9.02414439,8.31141885 C9.42514439,7.31141885 10.5241444,6.71141885 11.6251444,7.11141885 C12.4251444,7.41141885 12.9251444,8.11141885 12.9251444,9.01141885 C12.9251444,10.0114188 11.2251444,10.8114188 10.6251444,11.1114188 C10.1251444,11.3114188 9.82514439,11.8114188 10.0241444,12.4114188 C10.1251444,12.8114188 10.5241444,13.1114188 10.9251444,13.1114188 C11.0241444,13.1114188 11.1251444,13.1114188 11.2251444,13.0114188 C11.6251444,12.9114188 14.9251444,11.7114188 14.9251444,9.11141885 C14.8251444,7.31141885 13.7251444,5.81141885 12.1251444,5.21141885 M11,0 C4.9,0 0,4.9 0,11 C0,17.101 4.9,22 11,22 C17.1,22 22,17.101 22,11 C22,4.9 17.1,0 11,0 M10.3,15.29925 C10.1,15.49925 10,15.69925 10,15.99925 C10,16.29925 10.1,16.49925 10.3,16.69925 C10.5,16.90025 10.7,16.99925 11,16.99925 C11.3,16.99925 11.5,16.90025 11.7,16.69925 C11.901,16.49925 12,16.19925 12,15.99925 C12,15.79925 11.901,15.49925 11.7,15.29925 C11.3,14.90025 10.7,14.90025 10.3,15.29925"/>
- </g>
-</svg>
diff --git a/assets/sdc-icons/req-capabilities-o.svg b/assets/sdc-icons/req-capabilities-o.svg
deleted file mode 100644
index 88ace7d..0000000
--- a/assets/sdc-icons/req-capabilities-o.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24">
- <path id="req.&amp;capabilities-a" d="M19,20 C19,20.6 18.6,21 18,21 L6,21 C5.4,21 5,20.6 5,20 L5,6 C5,5.4 5.4,5 6,5 L7,5 C7,6.1 7.9,7 9,7 L15,7 C16.1,7 17,6.1 17,5 L18,5 C18.6,5 19,5.4 19,6 L19,20 Z M9,3 L15,3 L15,5 L9,5 L9,4 L9,3 Z M18,3 L17,3 C17,1.9 16.1,1 15,1 L9,1 C7.9,1 7,1.9 7,3 L6,3 C4.3,3 3,4.3 3,6 L3,20 C3,21.7 4.3,23 6,23 L18,23 C19.7,23 21,21.7 21,20 L21,6 C21,4.3 19.7,3 18,3 Z M17,10 L7,10 C6.45,10 6,10.45 6,11 C6,11.55 6.45,12 7,12 L17,12 C17.55,12 18,11.55 18,11 C18,10.45 17.55,10 17,10 M17,14 L7,14 C6.45,14 6,14.45 6,15 C6,15.55 6.45,16 7,16 L17,16 C17.55,16 18,15.55 18,15 C18,14.45 17.55,14 17,14"/>
-</svg>
diff --git a/assets/sdc-icons/revert-o.svg b/assets/sdc-icons/revert-o.svg
deleted file mode 100644
index d48b8d0..0000000
--- a/assets/sdc-icons/revert-o.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24">
- <path id="revert-a" d="M13,10.6 L15.7,13.3 C16.1,13.7 16.1,14.3 15.7,14.7 C15.5,14.9 15.2,15 15,15 C14.8,15 14.5,14.9 14.3,14.7 L11.3,11.7 C11.1,11.5 11,11.3 11,11 L11,5 C11,4.4 11.4,4 12,4 C12.6,4 13,4.4 13,5 L13,10.6 Z M21.4037815,6.69868189 C23.3027815,11.8986819 20.5037815,17.5986819 15.3027815,19.3986819 C14.2037815,19.7986819 13.1027815,19.9986819 12.0037815,19.9986819 C7.90378148,19.9986819 4.00378148,17.3986819 2.50378148,13.2986819 C2.30278148,12.7986819 2.60278148,12.1986819 3.10278148,11.9986819 C3.60278148,11.7986819 4.20378148,12.0986819 4.40378148,12.5986819 C5.90378148,16.7986819 10.4037815,18.9986819 14.6027815,17.4986819 C16.7037815,16.7986819 18.3027815,15.2986819 19.2037815,13.3986819 C20.1027815,11.4986819 20.2037815,9.29868189 19.5037815,7.29868189 C18.8027815,5.19868189 17.3027815,3.59868189 15.4037815,2.69868189 C13.5037815,1.79868189 11.3027815,1.69868189 9.30278148,2.39868189 C8.20378148,2.79868189 7.10278148,3.49868189 6.30278148,4.29868189 L3.50378148,6.99868189 L7.00378148,6.99868189 C7.60278148,6.99868189 7.80278148,7.19868189 7.80278148,7.79868189 C7.80278148,8.39868189 7.40378148,8.79868189 6.80278148,8.79868189 L0.802781478,8.79868189 L0.602781478,8.79868189 L0.503781478,8.79868189 L0.403781478,8.69868189 C0.302781478,8.69868189 0.302781478,8.69868189 0.203781478,8.59868189 C0.102781478,8.59868189 0.102781478,8.49868189 0.102781478,8.49868189 C0.102781478,8.39868189 0.00378147753,8.39868189 0.00378147753,8.29868189 L0.00378147753,8.09868189 L0.00378147753,7.99868189 L0.00378147753,1.99868189 C0.00378147753,1.39868189 0.403781478,0.998681894 1.00378148,0.998681894 C1.60278148,0.998681894 2.00378148,1.39868189 2.00378148,1.99868189 L2.00378148,5.69868189 L5.00378148,2.89868189 C6.00378148,1.89868189 7.30278148,1.09868189 8.70378148,0.598681894 C11.2037815,-0.301318106 13.9037815,-0.201318106 16.3027815,0.998681894 C18.7037815,2.19868189 20.5037815,4.19868189 21.4037815,6.69868189 Z"/>
-</svg>
diff --git a/assets/sdc-icons/save-o.svg b/assets/sdc-icons/save-o.svg
deleted file mode 100644
index 3b95518..0000000
--- a/assets/sdc-icons/save-o.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24">
- <path id="save-a" d="M18,17 C18,17.6 17.6,18 17,18 L16,18 L16,11 C16,10.4 15.6,10 15,10 L5,10 C4.4,10 4,10.4 4,11 L4,18 L3,18 C2.4,18 2,17.6 2,17 L2,3 C2,2.4 2.4,2 3,2 L4,2 L4,6 C4,6.6 4.4,7 5,7 L13,7 C13.6,7 14,6.6 14,6 C14,5.4 13.6,5 13,5 L6,5 L6,2 L13.6,2 L18,6.4 L18,17 Z M6,18 L14,18 L14,12 L6,12 L6,18 Z M19.7,5.3 L14.7,0.3 C14.5,0.1 14.3,0 14,0 L3,0 C1.3,0 0,1.3 0,3 L0,17 C0,18.7 1.3,20 3,20 L17,20 C18.7,20 20,18.7 20,17 L20,6 C20,5.7 19.9,5.5 19.7,5.3 Z"/>
-</svg>
diff --git a/assets/sdc-icons/search-o.svg b/assets/sdc-icons/search-o.svg
deleted file mode 100644
index 312e21a..0000000
--- a/assets/sdc-icons/search-o.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24">
- <path id="search-a" d="M2,8.5 C2,4.9 4.9,2 8.5,2 C12.1,2 15,4.9 15,8.5 C15,10.3 14.3,11.9 13.1,13.1 C11.9,14.3 10.3,15 8.5,15 C4.9,15 2,12.1 2,8.5 M19.7,18.3 L15.2,13.8 C16.3,12.4 17,10.5 17,8.5 C17,3.8 13.2,0 8.5,0 C3.8,0 0,3.8 0,8.5 C0,13.2 3.8,17 8.5,17 C10.5,17 12.3,16.3 13.8,15.2 L18.3,19.7 C18.5,19.9 18.8,20 19,20 C19.2,20 19.5,19.9 19.7,19.7 C20.1,19.3 20.1,18.7 19.7,18.3"/>
-</svg>
diff --git a/assets/sdc-icons/settings-o.svg b/assets/sdc-icons/settings-o.svg
deleted file mode 100644
index 888be2e..0000000
--- a/assets/sdc-icons/settings-o.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24">
- <path id="settings-a" d="M12.0004,14.0004 C10.9004,14.0004 10.0004,13.1004 10.0004,12.0004 C10.0004,10.8994 10.9004,10.0004 12.0004,10.0004 C13.1004,10.0004 14.0004,10.8994 14.0004,12.0004 C14.0004,13.1004 13.1004,14.0004 12.0004,14.0004 M12.0004,8.0004 C9.8004,8.0004 8.0004,9.8004 8.0004,12.0004 C8.0004,14.2004 9.8004,16.0004 12.0004,16.0004 C14.2004,16.0004 16.0004,14.2004 16.0004,12.0004 C16.0004,9.8004 14.2004,8.0004 12.0004,8.0004 M19.1,17.6 C19.3,17.8 19.401,18 19.401,18.3 C19.401,18.6 19.3,18.8 19.1,19 C18.901,19.201 18.701,19.3 18.401,19.3 C18.1,19.3 17.901,19.201 17.6,18.9 C16.8,18.1 15.701,17.9 14.701,18.4 C13.701,18.8 13.1,19.8 13.1,20.8 L13.1,21 C13.1,21.6 12.701,22 12.1,22 C11.5,22 11.1,21.6 11.1,21 L11.1,20.9 C11.1,19.8 10.401,18.9 9.401,18.5 C9.1,18.3 8.701,18.3 8.3,18.3 C7.6,18.3 6.901,18.6 6.401,19.1 C6,19.5 5.5,19.5 5.1,19.201 L4.901,18.8 L4.8,18.8 C4.701,18.701 4.701,18.5 4.701,18.4 C4.701,18.1 4.8,17.9 5.1,17.6 C5.901,16.8 6.1,15.701 5.6,14.701 C5.201,13.701 4.201,13.1 3.201,13.1 L3,13.1 C2.401,13.1 2,12.701 2,12.1 C2,11.5 2.401,11.1 3,11.1 L3.1,11.1 C4.201,11.1 5.1,10.4 5.5,9.4 C5.901,8.4 5.701,7.3 4.901,6.4 C4.5,6 4.5,5.4 4.901,5 C5.3,4.6 5.901,4.6 6.401,5.1 C7.1,5.8 8.201,6 9.1,5.701 L9.401,5.6 C10.401,5.201 11,4.201 11,3.201 L11,3 C11,2.4 11.401,2 12,2 C12.6,2 13,2.4 13,3.1 C13,4.201 13.6,5.1 14.6,5.5 C15.6,5.9 16.701,5.701 17.6,4.9 C17.8,4.701 18,4.6 18.3,4.6 C18.6,4.6 18.8,4.701 19,4.9 C19.401,5.3 19.401,5.9 18.901,6.4 C18.201,7.1 18,8.201 18.3,9.1 L18.401,9.4 C18.8,10.4 19.8,11 20.8,11 L21,11 C21.6,11 22,11.4 22,12 C22,12.6 21.6,13 20.901,13 C19.8,13 18.901,13.6 18.5,14.6 C18,15.6 18.3,16.701 19.1,17.6 M20.3,15.4 C20.401,15.201 20.6,15 21,15 C22.701,15 24,13.701 24,12 C24,10.3 22.701,9 21,9 L20.8,9 C20.6,9 20.401,8.9 20.3,8.701 L20.201,8.5 C20.1,8.3 20.1,8 20.401,7.701 C21.5,6.6 21.6,5 20.701,3.8 L20.701,3.5 L20.3,3.3 C19.8,2.8 19.1,2.5 18.3,2.5 C17.5,2.5 16.701,2.8 16.1,3.4 C15.901,3.6 15.6,3.6 15.401,3.5 C15.201,3.6 15,3.3 15,3 C15,1.3 13.701,0 12,0 C10.3,0 9,1.3 9,3 L9,3.201 C9,3.4 8.901,3.6 8.701,3.701 L8.5,3.8 C8.3,3.9 8,3.8 7.701,3.6 C6.5,2.4 4.6,2.4 3.5,3.6 C2.3,4.8 2.3,6.701 3.6,7.9 C3.8,8.1 3.8,8.4 3.701,8.701 C3.6,8.9 3.3,9.1 3,9.1 C1.3,9.1 0,10.4 0,12.1 C0,13.8 1.3,15.1 3,15.1 L3.201,15.1 C3.5,15.1 3.701,15.3 3.8,15.5 C3.901,15.701 3.901,16 3.6,16.3 C3,16.9 2.701,17.6 2.701,18.4 C2.701,19.1 3,19.8 3.5,20.4 L3.6,20.5 L3.901,20.8 C5.1,21.701 6.701,21.6 7.901,20.5 C8.1,20.3 8.401,20.3 8.701,20.4 C9,20.5 9.1,20.701 9.1,21.1 C9.1,22.8 10.401,24.1 12.1,24.1 C13.8,24.1 15.1,22.8 15.1,21.1 L15.1,20.9 C15.1,20.6 15.3,20.4 15.5,20.3 C15.701,20.201 16,20.201 16.3,20.5 C17.5,21.701 19.401,21.701 20.5,20.5 C21.701,19.3 21.701,17.4 20.401,16.201 C20.3,15.9 20.201,15.6 20.3,15.4"/>
-</svg>
diff --git a/assets/sdc-icons/spinner.svg b/assets/sdc-icons/spinner.svg
deleted file mode 100644
index 9d0efb8..0000000
--- a/assets/sdc-icons/spinner.svg
+++ /dev/null
@@ -1,50 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg id="master-artboard" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" style="enable-background:new 0 0 850.4 1133.9;" width="24px" height="24px"><rect id="ee-background" x="0" y="0" width="24" height="24" style="fill: white; fill-opacity: 0; pointer-events: none;"/><g transform="matrix(0.3846159279346466, 0, 0, 0.3846159875392914, -7.18846321105957, -7.272071838378907)"><g transform="rotate(0 50 50)">
- <path d="M 50 24 H 50 A 3 4.8 0 0 1 53 28.8 V 31.2 A 3 4.8 0 0 1 50 36 H 50 A 3 4.8 0 0 1 47 31.2 V 28.8 A 3 4.8 0 0 1 50 24 Z" fill="#0568ae">
- <animate attributeName="opacity" values="1;0" keyTimes="0;1" dur="1s" begin="-0.9166666666666666s" repeatCount="indefinite"/>
- </path>
-</g><g transform="rotate(30 50 50)">
- <path d="M 50 24 H 50 A 3 4.8 0 0 1 53 28.8 V 31.2 A 3 4.8 0 0 1 50 36 H 50 A 3 4.8 0 0 1 47 31.2 V 28.8 A 3 4.8 0 0 1 50 24 Z" fill="#0568ae">
- <animate attributeName="opacity" values="1;0" keyTimes="0;1" dur="1s" begin="-0.8333333333333334s" repeatCount="indefinite"/>
- </path>
-</g><g transform="rotate(60 50 50)">
- <path d="M 50 24 H 50 A 3 4.8 0 0 1 53 28.8 V 31.2 A 3 4.8 0 0 1 50 36 H 50 A 3 4.8 0 0 1 47 31.2 V 28.8 A 3 4.8 0 0 1 50 24 Z" fill="#0568ae">
- <animate attributeName="opacity" values="1;0" keyTimes="0;1" dur="1s" begin="-0.75s" repeatCount="indefinite"/>
- </path>
-</g><g transform="rotate(90 50 50)">
- <path d="M 50 24 H 50 A 3 4.8 0 0 1 53 28.8 V 31.2 A 3 4.8 0 0 1 50 36 H 50 A 3 4.8 0 0 1 47 31.2 V 28.8 A 3 4.8 0 0 1 50 24 Z" fill="#0568ae">
- <animate attributeName="opacity" values="1;0" keyTimes="0;1" dur="1s" begin="-0.6666666666666666s" repeatCount="indefinite"/>
- </path>
-</g><g transform="rotate(120 50 50)">
- <path d="M 50 24 H 50 A 3 4.8 0 0 1 53 28.8 V 31.2 A 3 4.8 0 0 1 50 36 H 50 A 3 4.8 0 0 1 47 31.2 V 28.8 A 3 4.8 0 0 1 50 24 Z" fill="#0568ae">
- <animate attributeName="opacity" values="1;0" keyTimes="0;1" dur="1s" begin="-0.5833333333333334s" repeatCount="indefinite"/>
- </path>
-</g><g transform="rotate(150 50 50)">
- <path d="M 50 24 H 50 A 3 4.8 0 0 1 53 28.8 V 31.2 A 3 4.8 0 0 1 50 36 H 50 A 3 4.8 0 0 1 47 31.2 V 28.8 A 3 4.8 0 0 1 50 24 Z" fill="#0568ae">
- <animate attributeName="opacity" values="1;0" keyTimes="0;1" dur="1s" begin="-0.5s" repeatCount="indefinite"/>
- </path>
-</g><g transform="rotate(180 50 50)">
- <path d="M 50 24 H 50 A 3 4.8 0 0 1 53 28.8 V 31.2 A 3 4.8 0 0 1 50 36 H 50 A 3 4.8 0 0 1 47 31.2 V 28.8 A 3 4.8 0 0 1 50 24 Z" fill="#0568ae">
- <animate attributeName="opacity" values="1;0" keyTimes="0;1" dur="1s" begin="-0.4166666666666667s" repeatCount="indefinite"/>
- </path>
-</g><g transform="rotate(210 50 50)">
- <path d="M 50 24 H 50 A 3 4.8 0 0 1 53 28.8 V 31.2 A 3 4.8 0 0 1 50 36 H 50 A 3 4.8 0 0 1 47 31.2 V 28.8 A 3 4.8 0 0 1 50 24 Z" fill="#0568ae">
- <animate attributeName="opacity" values="1;0" keyTimes="0;1" dur="1s" begin="-0.3333333333333333s" repeatCount="indefinite"/>
- </path>
-</g><g transform="rotate(240 50 50)">
- <path d="M 50 24 H 50 A 3 4.8 0 0 1 53 28.8 V 31.2 A 3 4.8 0 0 1 50 36 H 50 A 3 4.8 0 0 1 47 31.2 V 28.8 A 3 4.8 0 0 1 50 24 Z" fill="#0568ae">
- <animate attributeName="opacity" values="1;0" keyTimes="0;1" dur="1s" begin="-0.25s" repeatCount="indefinite"/>
- </path>
-</g><g transform="rotate(270 50 50)">
- <path d="M 50 24 H 50 A 3 4.8 0 0 1 53 28.8 V 31.2 A 3 4.8 0 0 1 50 36 H 50 A 3 4.8 0 0 1 47 31.2 V 28.8 A 3 4.8 0 0 1 50 24 Z" fill="#0568ae">
- <animate attributeName="opacity" values="1;0" keyTimes="0;1" dur="1s" begin="-0.16666666666666666s" repeatCount="indefinite"/>
- </path>
-</g><g transform="rotate(300 50 50)">
- <path d="M 50 24 H 50 A 3 4.8 0 0 1 53 28.8 V 31.2 A 3 4.8 0 0 1 50 36 H 50 A 3 4.8 0 0 1 47 31.2 V 28.8 A 3 4.8 0 0 1 50 24 Z" fill="#0568ae">
- <animate attributeName="opacity" values="1;0" keyTimes="0;1" dur="1s" begin="-0.08333333333333333s" repeatCount="indefinite"/>
- </path>
-</g><g transform="rotate(330 50 50)">
- <path d="M 50 24 H 50 A 3 4.8 0 0 1 53 28.8 V 31.2 A 3 4.8 0 0 1 50 36 H 50 A 3 4.8 0 0 1 47 31.2 V 28.8 A 3 4.8 0 0 1 50 24 Z" fill="#0568ae">
- <animate attributeName="opacity" values="1;0" keyTimes="0;1" dur="1s" begin="0s" repeatCount="indefinite"/>
- </path>
-</g></g></svg> \ No newline at end of file
diff --git a/assets/sdc-icons/success-circle-o.svg b/assets/sdc-icons/success-circle-o.svg
deleted file mode 100644
index 2d58e6c..0000000
--- a/assets/sdc-icons/success-circle-o.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24">
- <path id="success+20-a" d="M20.1825992,10.445793 C20.6735306,10.445793 21.0008182,10.7730806 21.0008182,11.264012 L21.0008182,12.0004091 C21.0008182,16.9915451 16.9915451,21 12.0004091,21 C7.00927315,21 3,16.9915451 3,12.0004091 C3,7.00927315 7.00927315,3 12.0004091,3 C13.3095595,3 14.536888,3.3272876 15.6823947,3.81821901 C16.0915042,3.98186281 16.255148,4.47279422 16.0915042,4.88190372 C15.9278604,5.29101323 15.436929,5.45465703 15.0278194,5.29101323 C14.0459566,4.88190372 13.0640938,4.63643802 12.0004091,4.63643802 C7.90931406,4.63643802 4.63643802,7.90931406 4.63643802,12.0004091 C4.63643802,16.0906859 7.90931406,19.363562 12.0004091,19.363562 C16.0915042,19.363562 19.3643802,16.0906859 19.3643802,12.0004091 L19.3643802,11.264012 C19.3643802,10.7730806 19.6916678,10.445793 20.1825992,10.445793 Z M21.5737352,4.06343925 C21.9002046,4.39072685 21.9002046,4.88165826 21.5737352,5.20894586 L12.5733261,14.209355 C12.4096823,14.3729988 12.1642166,14.4548207 12.0005728,14.4548207 C11.836929,14.4548207 11.5914632,14.3729988 11.4278194,14.209355 L8.97316242,11.7546979 C8.64587481,11.4274103 8.64587481,10.9364789 8.97316242,10.6091913 C9.30045002,10.2819037 9.79138143,10.2819037 10.118669,10.6091913 L12.0005728,12.491095 L20.4282286,4.06343925 C20.7555162,3.73615164 21.2464476,3.73615164 21.5737352,4.06343925 Z"/>
-</svg>
diff --git a/assets/sdc-icons/success.svg b/assets/sdc-icons/success.svg
deleted file mode 100644
index 918833b..0000000
--- a/assets/sdc-icons/success.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24">
- <path id="success-a" d="M16.667,0.3232 C16.223,-0.1078 15.556,-0.1078 15.111,0.3232 L6.667,12.4152 L1.889,7.7842 C1.444,7.3542 0.777,7.3542 0.333,7.7842 C-0.111,8.2152 -0.111,8.8612 0.333,9.2922 L5.889,14.6772 C6.111,14.8922 6.333,15.0002 6.667,15.0002 C7,15.0002 7.223,14.8922 7.444,14.6772 L16.667,1.8302 C17.111,1.4002 17.111,0.7542 16.667,0.3232"/>
-</svg>
diff --git a/assets/sdc-icons/sync-o.svg b/assets/sdc-icons/sync-o.svg
deleted file mode 100644
index 88a64d1..0000000
--- a/assets/sdc-icons/sync-o.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24">
- <path id="sync-a" d="M20.6,12.1 C21.1,12.2 21.401,12.8 21.3,13.4 C20.8,14.8 19.901,16.1 18.901,17.1 C17,19 14.5,20 11.8,20 C9.1,20 6.6,19 4.901,17.1 L2,14.3 L2,18 C2,18.6 1.6,19 1,19 C0.401,19 0,18.6 0,18 L0,12 L0,11.9 L0,11.7 C0,11.6 0.1,11.6 0.1,11.5 C0.201,11.5 0.201,11.4 0.201,11.4 C0.201,11.3 0.3,11.2 0.401,11.2 C0.401,11.1 0.5,11.1 0.5,11.1 L0.6,11.1 C0.6,11 0.701,11 0.8,11 L6.8,11 C7.401,11 7.8,11.4 7.8,12 C7.8,12.6 7.401,13 6.8,13 L3.3,13 L6.1,15.6 C7.701,17.2 9.701,18 11.8,18 C13.901,18 16,17.2 17.401,15.7 C18.3,14.9 18.901,13.8 19.3,12.7 C19.5,12.2 20.1,11.9 20.6,12.1 Z M22.4626462,1.01696034 C23.0626462,1.01696034 23.4626462,1.41696034 23.4626462,2.01696034 L23.4626462,8.01696034 L23.4626462,8.11696034 C23.4626462,8.21696034 23.4626462,8.31696034 23.3626462,8.41696034 C23.3626462,8.51696034 23.2626462,8.51696034 23.2626462,8.61696034 C23.1626462,8.61696034 23.1626462,8.71696034 23.1626462,8.71696034 C23.0626462,8.81696034 22.9626462,8.81696034 22.8626462,8.91696034 C22.7626462,9.01696034 22.5626462,9.01696034 22.4626462,9.01696034 L16.4626462,9.01696034 C15.8626462,9.01696034 15.4626462,8.61696034 15.4626462,8.01696034 C15.4626462,7.41696034 15.8626462,7.01696034 16.4626462,7.01696034 L19.9626462,7.01696034 L17.1626462,4.31696034 C16.3626462,3.41696034 15.2626462,2.81696034 14.1626462,2.41696034 C12.1626462,1.71696034 9.96264622,1.81696034 8.06264622,2.71696034 C6.16264622,3.71696034 4.66264622,5.31696034 3.96264622,7.31696034 C3.76264622,7.81696034 3.16264622,8.11696034 2.66264622,7.91696034 C2.16264622,7.81696034 1.86264622,7.21696034 2.06264622,6.71696034 C2.96264622,4.11696034 4.76264622,2.11696034 7.16264622,1.01696034 C9.56264622,-0.183039661 12.2626462,-0.283039661 14.8626462,0.516960339 C16.2626462,1.01696034 17.5626462,1.91696034 18.5626462,2.91696034 L21.4626462,5.71696034 L21.4626462,2.01696034 C21.4626462,1.41696034 21.8626462,1.01696034 22.4626462,1.01696034 Z"/>
-</svg>
diff --git a/assets/sdc-icons/trash-o.svg b/assets/sdc-icons/trash-o.svg
deleted file mode 100644
index 7a841fb..0000000
--- a/assets/sdc-icons/trash-o.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24">
- <path id="trash-a" d="M16,19 C16,19.6 15.6,20 15,20 L5,20 C4.4,20 4,19.6 4,19 L4,6 L16,6 L16,19 Z M7,3 C7,2.4 7.4,2 8,2 L12,2 C12.6,2 13,2.4 13,3 L13,4 L7,4 L7,3 Z M19,4 L15,4 L15,3 C15,1.3 13.7,0 12,0 L8,0 C6.3,0 5,1.3 5,3 L5,4 L1,4 C0.4,4 0,4.4 0,5 C0,5.6 0.4,6 1,6 L2,6 L2,19 C2,20.7 3.3,22 5,22 L15,22 C16.7,22 18,20.7 18,19 L18,6 L19,6 C19.6,6 20,5.6 20,5 C20,4.4 19.6,4 19,4 Z M8,17.0001 C8.6,17.0001 9,16.6001 9,16.0001 L9,10.0001 C9,9.4001 8.6,9.0001 8,9.0001 C7.4,9.0001 7,9.4001 7,10.0001 L7,16.0001 C7,16.6001 7.4,17.0001 8,17.0001 M12,17.0001 C12.6,17.0001 13,16.6001 13,16.0001 L13,10.0001 C13,9.4001 12.6,9.0001 12,9.0001 C11.4,9.0001 11,9.4001 11,10.0001 L11,16.0001 C11,16.6001 11.4,17.0001 12,17.0001"/>
-</svg>
diff --git a/assets/sdc-icons/undo-o.svg b/assets/sdc-icons/undo-o.svg
deleted file mode 100644
index f6f0dd1..0000000
--- a/assets/sdc-icons/undo-o.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24">
- <path id="undo-a" d="M21.4,6.69868189 C20.5,4.19868189 18.7,2.19868189 16.299,0.998681894 C13.9,-0.201318106 11.2,-0.301318106 8.7,0.598681894 C7.299,1.09868189 6,1.89868189 5,2.89868189 L2,5.69868189 L2,1.99868189 C2,1.39868189 1.599,0.998681894 1,0.998681894 C0.4,0.998681894 0,1.39868189 0,1.99868189 L0,7.99868189 L0,8.09868189 L0,8.29868189 C0,8.39868189 0.099,8.39868189 0.099,8.49868189 C0.099,8.49868189 0.099,8.59868189 0.2,8.59868189 C0.299,8.69868189 0.299,8.69868189 0.4,8.69868189 L0.5,8.79868189 L0.599,8.79868189 L0.799,8.79868189 L6.799,8.79868189 C7.4,8.79868189 7.799,8.39868189 7.799,7.79868189 C7.799,7.19868189 7.599,6.99868189 7,6.99868189 L3.5,6.99868189 L6.299,4.29868189 C7.099,3.49868189 8.2,2.79868189 9.299,2.39868189 C11.299,1.69868189 13.5,1.79868189 15.4,2.69868189 C17.299,3.59868189 18.799,5.19868189 19.5,7.29868189 C20.2,9.29868189 20.099,11.4986819 19.2,13.3986819 C18.299,15.2986819 16.7,16.7986819 14.599,17.4986819 C10.4,18.9986819 5.9,16.7986819 4.4,12.5986819 C4.2,12.0986819 3.599,11.7986819 3.099,11.9986819 C2.599,12.1986819 2.299,12.7986819 2.5,13.2986819 C4,17.3986819 7.9,19.9986819 12,19.9986819 C13.099,19.9986819 14.2,19.7986819 15.299,19.3986819 C20.5,17.5986819 23.299,11.8986819 21.4,6.69868189"/>
-</svg>
diff --git a/assets/sdc-icons/unlocked-o.svg b/assets/sdc-icons/unlocked-o.svg
deleted file mode 100644
index 6e677e0..0000000
--- a/assets/sdc-icons/unlocked-o.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24">
- <path id="unlocked-a" d="M18,18.9999 C18,19.5999 17.6,19.9999 17,19.9999 L3,19.9999 C2.4,19.9999 2,19.5999 2,18.9999 L2,11.9999 C2,11.3999 2.4,10.9999 3,10.9999 L17,10.9999 C17.6,10.9999 18,11.3999 18,11.9999 L18,18.9999 Z M17,8.9999 L6,8.9999 L6,5.9999 C6,4.8999 6.4,3.8999 7.2,3.1999 C7.9,2.3999 8.9,1.9999 10,1.9999 C11.9,1.9999 13.5,3.2999 13.9,5.1999 C14,5.6999 14.6,6.0999 15.1,5.9999 C15.6,5.8999 16,5.3999 15.9,4.7999 C15.3,1.9999 12.8,-0.0001 10,-0.0001 C8.4,-0.0001 6.9,0.5999 5.8,1.7999 C4.6,2.8999 4,4.3999 4,5.9999 L4,8.9999 L3,8.9999 C1.3,8.9999 0,10.2999 0,11.9999 L0,18.9999 C0,20.6999 1.3,21.9999 3,21.9999 L17,21.9999 C18.7,21.9999 20,20.6999 20,18.9999 L20,11.9999 C20,10.2999 18.7,8.9999 17,8.9999 Z"/>
-</svg>
diff --git a/assets/sdc-icons/upload-o.svg b/assets/sdc-icons/upload-o.svg
deleted file mode 100644
index bf62707..0000000
--- a/assets/sdc-icons/upload-o.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24">
- <path id="upload-a" d="M19,15 C19.6,15 20,15.4 20,16 L20,19 C20,20.7 18.7,22 17,22 L3,22 C1.3,22 0,20.7 0,19 L0,16 C0,15.4 0.4,15 1,15 C1.6,15 2,15.4 2,16 L2,19 C2,19.6 2.4,20 3,20 L17,20 C17.6,20 18,19.6 18,19 L18,16 C18,15.4 18.4,15 19,15 Z M6.7,5.67525 C6.3,6.07425 5.7,6.07425 5.3,5.67525 C4.9,5.27525 4.9,4.67525 5.3,4.27525 L9.3,0.27525 C9.4,0.17525 9.5,0.17525 9.599,0.07425 C9.9,-0.02475 10.2,-0.02475 10.4,0.07425 C10.5,0.07425 10.599,0.17525 10.7,0.27525 L14.7,4.27525 C15.099,4.67525 15.099,5.27525 14.7,5.67525 C14.5,5.87525 14.3,5.97525 14,5.97525 C13.7,5.97525 13.5,5.87525 13.3,5.67525 L11,3.37525 L11,14.97525 C11,15.57425 10.599,15.97525 10,15.97525 C9.4,15.97525 9,15.57425 9,14.97525 L9,3.37525 L6.7,5.67525 Z"/>
-</svg>
diff --git a/assets/sdc-icons/v-circle-o.svg b/assets/sdc-icons/v-circle-o.svg
deleted file mode 100644
index 1d6f737..0000000
--- a/assets/sdc-icons/v-circle-o.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24">
- <path id="success-a" d="M11,20 C6,20 2,16 2,11 C2,6 6,2 11,2 C16,2 20,6 20,11 C20,16 16,20 11,20 M11,0 C4.9,0 0,4.9 0,11 C0,17.1 4.9,22 11,22 C17.1,22 22,17.1 22,11 C22,4.9 17.1,0 11,0 M15.2471,6.3413 L8.9511,13.5373 L5.7071,10.2933 C5.3161,9.9023 4.6841,9.9023 4.2931,10.2933 C3.9021,10.6833 3.9021,11.3163 4.2931,11.7073 L8.2931,15.7073 C8.4801,15.8953 8.7351,16.0003 9.0001,16.0003 C9.0111,16.0003 9.0221,16.0003 9.0331,15.9993 C9.3101,15.9903 9.5701,15.8663 9.7531,15.6583 L16.7531,7.6583 C17.1161,7.2423 17.0741,6.6113 16.6581,6.2473 C16.2441,5.8833 15.6111,5.9243 15.2471,6.3413"/>
-</svg>
diff --git a/assets/sdc-icons/v-circle.svg b/assets/sdc-icons/v-circle.svg
deleted file mode 100644
index 9baa0f2..0000000
--- a/assets/sdc-icons/v-circle.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24">
- <path id="success-copy-a" d="M16.753,7.659 L9.753,15.659 C9.57,15.867 9.31,15.991 9.033,16 C9.023,16 9.011,16 9,16 C8.735,16 8.481,15.895 8.293,15.707 L4.293,11.707 C3.902,11.317 3.902,10.684 4.293,10.293 C4.684,9.903 5.316,9.903 5.707,10.293 L8.951,13.537 L15.247,6.342 C15.611,5.925 16.244,5.884 16.658,6.248 C17.074,6.612 17.116,7.243 16.753,7.659 M11,0 C4.9,0 0,4.9 0,11 C0,17.1 4.9,22 11,22 C17.1,22 22,17.1 22,11 C22,4.9 17.1,0 11,0"/>
-</svg>
diff --git a/assets/sdc-icons/x-circle-o.svg b/assets/sdc-icons/x-circle-o.svg
deleted file mode 100644
index ec0d80b..0000000
--- a/assets/sdc-icons/x-circle-o.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24">
- <path id="x_o_20-a" d="M9,16.3636364 C4.90909091,16.3636364 1.63636364,13.0909091 1.63636364,9 C1.63636364,4.90909091 4.90909091,1.63636364 9,1.63636364 C13.0909091,1.63636364 16.3636364,4.90909091 16.3636364,9 C16.3636364,13.0909091 13.0909091,16.3636364 9,16.3636364 M9,0 C4.00909091,0 0,4.00909091 0,9 C0,13.9909091 4.00909091,18 9,18 C13.9909091,18 18,13.9909091 18,9 C18,4.00909091 13.9909091,0 9,0 M12.0272727,5.97211364 C11.7,5.64565909 11.2090909,5.64565909 10.8818182,5.97211364 L9,7.85393182 L7.11818182,5.97211364 C6.79090909,5.64565909 6.3,5.64565909 5.97272727,5.97211364 C5.64545455,6.29938636 5.64545455,6.79029545 5.97272727,7.11756818 L7.85372727,8.99938636 L5.97272727,10.8812045 C5.64545455,11.2084773 5.64545455,11.6993864 5.97272727,12.0266591 C6.13636364,12.1911136 6.3,12.2721136 6.54545455,12.2721136 C6.79090909,12.2721136 6.95454545,12.1911136 7.11818182,12.0266591 L9,10.1456591 L10.8818182,12.0266591 C11.0454545,12.1911136 11.2909091,12.2721136 11.4545455,12.2721136 C11.6181818,12.2721136 11.8636364,12.1911136 12.0272727,12.0266591 C12.3537273,11.6993864 12.3537273,11.2084773 12.0272727,10.8812045 L10.1454545,8.99938636 L12.0272727,7.11756818 C12.3537273,6.79029545 12.3537273,6.29938636 12.0272727,5.97211364"/>
-</svg>
diff --git a/assets/sdc-icons/x-circle.svg b/assets/sdc-icons/x-circle.svg
deleted file mode 100644
index 15982ce..0000000
--- a/assets/sdc-icons/x-circle.svg
+++ /dev/null
@@ -1,5 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="24" height="24" viewBox="0 0 24 24">
- <g fill-rule="evenodd" transform="translate(1 1)">
- <path id="x-copy-a" d="M11,0 C4.9,0 0,4.9 0,11 C0,17.1 4.9,22 11,22 C17.1,22 22,17.1 22,11 C22,4.9 17.1,0 11,0 M14.2591,7.29935 C13.8591,6.90035 13.2591,6.90035 12.8591,7.29935 L10.5591,9.59935 L8.2591,7.29935 C7.8591,6.90035 7.2591,6.90035 6.8591,7.29935 C6.4591,7.69935 6.4591,8.29935 6.8591,8.69935 L9.1581,10.99935 L6.8591,13.29935 C6.4591,13.69935 6.4591,14.29935 6.8591,14.69935 C7.0591,14.90035 7.2591,14.99935 7.5591,14.99935 C7.8591,14.99935 8.0591,14.90035 8.2591,14.69935 L10.5591,12.40035 L12.8591,14.69935 C13.0591,14.90035 13.3591,14.99935 13.5591,14.99935 C13.7591,14.99935 14.0591,14.90035 14.2591,14.69935 C14.6581,14.29935 14.6581,13.69935 14.2591,13.29935 L11.9591,10.99935 L14.2591,8.69935 C14.6581,8.29935 14.6581,7.69935 14.2591,7.29935"/>
- </g>
-</svg>
diff --git a/components/accordion/accordion-basic.html b/components/accordion/accordion-basic.html
deleted file mode 100644
index fe85473..0000000
--- a/components/accordion/accordion-basic.html
+++ /dev/null
@@ -1,22 +0,0 @@
-<div class="sdc-accordion ">
- <div class="sdc-accordion-header">
- <div class="svg-icon-wrapper bottom">
- <svg class="svg-icon __chevronUp" version="1.1" id="chevron-up_icon" x="0px" y="0px" viewBox="0 0 10 6.3" style="enable-background:new 0 0 10 6.3;"
- xml:space="preserve">
- <g transform="translate(0,-952.36218)">
- <path d="M10,958.2c0-0.1,0-0.2-0.1-0.2l-4.6-5.5c-0.1-0.2-0.4-0.2-0.5,0l0,0L0.1,958c-0.1,0.2-0.1,0.4,0,0.5s0.4,0.1,0.5,0l0,0
- l4.3-5.2l4.3,5.2c0.1,0.2,0.4,0.2,0.5,0.1C10,958.5,10,958.3,10,958.2z">
- </path>
- </g>
- </svg>
- </div>
- <div class="title">
- Accordion Title
- </div>
- </div>
- <div class="sdc-accordion-body ">
- <div>
- Accordion body
- </div>
- </div>
-</div> \ No newline at end of file
diff --git a/components/accordion/accordion.scss b/components/accordion/accordion.scss
deleted file mode 100644
index ef65b9c..0000000
--- a/components/accordion/accordion.scss
+++ /dev/null
@@ -1,50 +0,0 @@
-.sdc-accordion {
- display: flex;
- flex-direction: column;
- margin-bottom: 10px;
- &.disabled {
- opacity: .4;
- pointer-events: none;
- }
- &:not(.disabled) {
- .sdc-accordion-header {
- cursor: pointer;
- }
- }
- .sdc-accordion-header {
- display: flex;
- flex-direction: row;
- .svg-icon-wrapper {
- margin-right: 20px;
- transition: transform 0.4s;
- &.down {
- transform: rotate(180deg);
- }
- .svg-icon {
- fill: $gray;
- width: 14px;
- height: 8px;
- }
- }
- &.arrow-right {
- justify-content: space-between;
- .svg-icon-wrapper{
- order:1;
- margin:0;
- }
- }
- }
- .sdc-accordion-body {
- padding-left: 10px;
- opacity: 0;
- overflow-y: hidden;
- max-height: 0;
- padding-top: 0px;
- transition: opacity 0.33s linear, padding-top 0.3s linear;
- &.open {
- padding-top: 5px;
- opacity: 1;
- max-height: 9999px;
- }
- }
-}
diff --git a/components/autocomplete/_autocomplete.scss b/components/autocomplete/_autocomplete.scss
deleted file mode 100644
index 7275156..0000000
--- a/components/autocomplete/_autocomplete.scss
+++ /dev/null
@@ -1,43 +0,0 @@
-.sdc-autocomplete-container{
- position: relative;
-
- &.results-shown{
- .sdc-input__input{
- border-bottom-right-radius: 0;
- border-bottom-left-radius: 0;
- }
- }
-
- ul.autocomplete-results {
- opacity: 0;
- border: solid 1px $blue;
- border-bottom-left-radius: 4px;
- border-bottom-right-radius: 4px;
- border-top:none;
- background-color: $white;
- max-height: 200px;
- box-shadow: 0 3px 7px -3px $dark-gray;
- overflow-y: scroll;
- overflow-x: hidden;
- position: absolute;
- box-sizing: border-box;
- width: 100%;
- left: 0;
- top: 100%;
-
- li {
- color:$text-black;
- text-indent: 10px;
- line-height: 30px;
- cursor:pointer;
- @include body-1;
-
- &:hover {
- background-color: $lighter-blue;
- color: $blue;
- }
- }
-
- }
-
- }
diff --git a/components/autocomplete/autocomlete-close.html b/components/autocomplete/autocomlete-close.html
deleted file mode 100644
index 93946bb..0000000
--- a/components/autocomplete/autocomlete-close.html
+++ /dev/null
@@ -1,22 +0,0 @@
-<div class="sdc-autocomplete-container">
- <div class="search-bar-container">
- <div class="sdc-input">
- <label class="sdc-input__label">search by color:</label>
- <input class="sdc-input__input" type="text" name="undefined" placeholder="search text">
- </div>
- <span class="search-bar-button">
- <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="24" height="24" viewBox="0 0 24 24">
- <defs>
- <path id="search-a" d="M2,8.5 C2,4.9 4.9,2 8.5,2 C12.1,2 15,4.9 15,8.5 C15,10.3 14.3,11.9 13.1,13.1 C11.9,14.3 10.3,15 8.5,15 C4.9,15 2,12.1 2,8.5 M19.7,18.3 L15.2,13.8 C16.3,12.4 17,10.5 17,8.5 C17,3.8 13.2,0 8.5,0 C3.8,0 0,3.8 0,8.5 C0,13.2 3.8,17 8.5,17 C10.5,17 12.3,16.3 13.8,15.2 L18.3,19.7 C18.5,19.9 18.8,20 19,20 C19.2,20 19.5,19.9 19.7,19.7 C20.1,19.3 20.1,18.7 19.7,18.3"/>
- </defs>
- <g fill="none" fill-rule="evenodd" transform="translate(2 2)">
- <use fill="#000" xlink:href="#search-a"/>
- </g>
- </svg>
- </span>
- </div>
- <div class="autocomplete-results" style="height: 0px; opacity: 0;">
-
- </div>
-</div>
-
diff --git a/components/autocomplete/autocomplete-open.html b/components/autocomplete/autocomplete-open.html
deleted file mode 100644
index 01b1f40..0000000
--- a/components/autocomplete/autocomplete-open.html
+++ /dev/null
@@ -1,24 +0,0 @@
-<div class="sdc-autocomplete-container">
- <div class="search-bar-container">
- <div class="sdc-input">
- <label class="sdc-input__label">search by color:</label>
- <input class="sdc-input__input" type="text" name="undefined" placeholder="search text">
- </div>
- <span class="clear-search-x">
- <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="24" height="24" viewBox="0 0 24 24">
- <defs>
- <path id="close-a" d="M13.5996,12 L19.6576,5.942 C20.1146,5.485 20.1146,4.8 19.6576,4.343 C19.2006,3.886 18.5146,3.886 18.0576,4.343 L11.9996,10.4 L5.9426,4.343 C5.4856,3.886 4.7996,3.886 4.3426,4.343 C3.8856,4.8 3.8856,5.485 4.3426,5.942 L10.4006,12 L4.3426,18.058 C3.8856,18.515 3.8856,19.2 4.3426,19.657 C4.5716,19.886 4.7996,20 5.1426,20 C5.4856,20 5.7136,19.886 5.9426,19.657 L11.9996,13.6 L18.0576,19.657 C18.2866,19.886 18.6286,20 18.8576,20 C19.0856,20 19.4286,19.886 19.6576,19.657 C20.1146,19.2 20.1146,18.515 19.6576,18.058 L13.5996,12 Z"/>
- </defs>
- <g fill="none" fill-rule="evenodd">
- <use fill="#000" xlink:href="#close-a"/>
- </g>
- </svg>
- </span>
- </div>
- <div class="autocomplete-results">
- <div class="autocomplete-result-item">red</div>
- <div class="autocomplete-result-item">yellow</div>
- <div class="autocomplete-result-item">orange</div>
- <div class="autocomplete-result-item">green</div>
- </div>
-</div>
diff --git a/components/button/_button.scss b/components/button/_button.scss
deleted file mode 100644
index 3c21a45..0000000
--- a/components/button/_button.scss
+++ /dev/null
@@ -1,168 +0,0 @@
-.sdc-button {
- order:1;
- @include box-sizing;
- display: inline-flex;
- align-items: center;
- justify-content: center;
- flex-direction: row;
- outline: none;
- border-radius: 2px;
- padding: 0 12px;
- height: 36px;
- line-height: 36px;
- width: 120px;
- min-width: 90px;
- cursor: pointer;
- text-align: center;
- text-transform: uppercase;
- @include body-1;
-
- &:disabled {
- cursor: default;
- }
-
- // Primary button
- &.sdc-button__primary {
- border: 1px solid transparent;
- background-color: $blue;
- color: $white;
-
- &:not(:disabled) {
- &:hover, &:active {
- background-color: $light-blue;
- }
- &:focus:not(:active) {
- border: 1px solid $white;
- background-color: $light-blue;
- box-shadow: 0px 0px 0px 1px $light-blue;
- }
- }
-
- &:disabled{
- background: $blue-disabled;
- }
- }
-
- // Secondary button
- &.sdc-button__secondary {
- border: 1px solid $blue;
- background-color: transparent;
- color: $blue;
-
- &:not(:disabled) {
- &:hover, &:active {
- background-color: $light-blue;
- color:$white;
- }
- &:focus:not(:active) {
- color: $light-blue;
- box-shadow: inset 0px 0px 0px 0px $dark-blue, 0px 0px 0px 1px $blue;
- &:hover {
- color: $white;
- }
- }
- }
-
- &:disabled {
- color: $blue-disabled;
- border-color: $blue-disabled;
- }
- }
-
- // Link button
- &.sdc-button__link {
- background-color: transparent;
- color: $blue;
- fill: $blue;
- border: none;
-
- &:not(:disabled) {
- &:hover, &:active {
- color: $light-blue;
- }
- &:focus:not(:active) {
- border: 1px solid $dark-blue;
- color: $light-blue;
- }
- }
-
- &:disabled{
- color: $blue-disabled;
- }
- }
-
-
- // alert button
- &.sdc-button__alert {
- border: none;
- background-color: $red;
- color: $white;
-
- &:not(:disabled) {
- &:hover, &:active {
- background-color: $light-red;
- }
- &:focus:not(:active) {
- border: 0.5px solid $white;
- background-color: $light-red;
- box-shadow: 0px 0px 0px 1px $light-red;
- }
- }
-
- &:disabled{
- background: $disabled-red;
- }
- }
-
-
- /*** Sizes ***/
- &.btn-large{
- width: $btn-large;
- }
-
- &.btn-medium{
- width: $btn-medium;
- }
-
- &.btn-small{
- width: $btn-small;
- }
-
- &.btn-x-small{
- width: $btn-extra-small;
- }
-
- &.btn-default{
- width: $btn-default;
- }
-
- /*** Buttons with icons ***/
- &.sdc-icon-right {
- flex-direction: row-reverse;
- .svg-icon {
- margin-left: 15px;
- }
- }
-
- &.sdc-icon-left {
- flex-direction: row;
- .svg-icon {
- margin-right: 15px;
- }
- }
-
- svg {
- display: inline-block;
- vertical-align: middle;
- }
-}
-.sdc-button__wrapper {
- display: inline-flex;
-}
-.sdc-button__spinner {
- padding-top: 6px;
- margin:0 2px;
- &.left {
- order:2;
- }
-}
diff --git a/components/button/button-link-auto.html b/components/button/button-link-auto.html
deleted file mode 100644
index 22ac4c8..0000000
--- a/components/button/button-link-auto.html
+++ /dev/null
@@ -1,3 +0,0 @@
-<button class="sdc-button sdc-button__link btn-default">
- Click Me
-</button>
diff --git a/components/button/button-link-disabled.html b/components/button/button-link-disabled.html
deleted file mode 100644
index 9267620..0000000
--- a/components/button/button-link-disabled.html
+++ /dev/null
@@ -1,3 +0,0 @@
-<button class="sdc-button sdc-button__link" disabled>
- Click Me
-</button>
diff --git a/components/button/button-link-extra-small.html b/components/button/button-link-extra-small.html
deleted file mode 100644
index 245f885..0000000
--- a/components/button/button-link-extra-small.html
+++ /dev/null
@@ -1,3 +0,0 @@
-<button class="sdc-button sdc-button__link btn-x-small">
- Click Me
-</button>
diff --git a/components/button/button-link-large.html b/components/button/button-link-large.html
deleted file mode 100644
index 6d1780c..0000000
--- a/components/button/button-link-large.html
+++ /dev/null
@@ -1,3 +0,0 @@
-<button class="sdc-button sdc-button__link btn-large">
- Click Me
-</button>
diff --git a/components/button/button-link-medium.html b/components/button/button-link-medium.html
deleted file mode 100644
index cb0293d..0000000
--- a/components/button/button-link-medium.html
+++ /dev/null
@@ -1,3 +0,0 @@
-<button class="sdc-button sdc-button__link btn-medium">
- Click Me
-</button>
diff --git a/components/button/button-link-small.html b/components/button/button-link-small.html
deleted file mode 100644
index 5c195fa..0000000
--- a/components/button/button-link-small.html
+++ /dev/null
@@ -1,3 +0,0 @@
-<button class="sdc-button sdc-button__link btn-small">
- Click Me
-</button>
diff --git a/components/button/button-link.html b/components/button/button-link.html
deleted file mode 100644
index 5c2070b..0000000
--- a/components/button/button-link.html
+++ /dev/null
@@ -1,3 +0,0 @@
-<button class="sdc-button sdc-button__link">
- Click Me
-</button>
diff --git a/components/button/button-primary-auto.html b/components/button/button-primary-auto.html
deleted file mode 100644
index 125276f..0000000
--- a/components/button/button-primary-auto.html
+++ /dev/null
@@ -1,3 +0,0 @@
-<button class="sdc-button sdc-button__primary btn-default">
- Click Me
-</button>
diff --git a/components/button/button-primary-disabled.html b/components/button/button-primary-disabled.html
deleted file mode 100644
index b2ef842..0000000
--- a/components/button/button-primary-disabled.html
+++ /dev/null
@@ -1,3 +0,0 @@
-<button class="sdc-button sdc-button__primary" disabled>
- Click Me
-</button>
diff --git a/components/button/button-primary-extra-small.html b/components/button/button-primary-extra-small.html
deleted file mode 100644
index a3be965..0000000
--- a/components/button/button-primary-extra-small.html
+++ /dev/null
@@ -1,3 +0,0 @@
-<button class="sdc-button sdc-button__primary btn-x-small">
- Click Me
-</button>
diff --git a/components/button/button-primary-large.html b/components/button/button-primary-large.html
deleted file mode 100644
index c0a41b1..0000000
--- a/components/button/button-primary-large.html
+++ /dev/null
@@ -1,3 +0,0 @@
-<button class="sdc-button sdc-button__primary btn-large">
- Click Me
-</button>
diff --git a/components/button/button-primary-medium.html b/components/button/button-primary-medium.html
deleted file mode 100644
index 9ddedc5..0000000
--- a/components/button/button-primary-medium.html
+++ /dev/null
@@ -1,3 +0,0 @@
-<button class="sdc-button sdc-button__primary btn-medium">
- Click Me
-</button>
diff --git a/components/button/button-primary-small.html b/components/button/button-primary-small.html
deleted file mode 100644
index 847f753..0000000
--- a/components/button/button-primary-small.html
+++ /dev/null
@@ -1,3 +0,0 @@
-<button class="sdc-button sdc-button__primary btn-small">
- Click Me
-</button>
diff --git a/components/button/button-primary.html b/components/button/button-primary.html
deleted file mode 100644
index b1524bf..0000000
--- a/components/button/button-primary.html
+++ /dev/null
@@ -1,3 +0,0 @@
-<button class="sdc-button sdc-button__primary">
- Click Me
-</button>
diff --git a/components/button/button-secondary-auto.html b/components/button/button-secondary-auto.html
deleted file mode 100644
index a183ad8..0000000
--- a/components/button/button-secondary-auto.html
+++ /dev/null
@@ -1,3 +0,0 @@
-<button class="sdc-button sdc-button__secondary btn-default">
- Click Me
-</button>
diff --git a/components/button/button-secondary-disabled.html b/components/button/button-secondary-disabled.html
deleted file mode 100644
index 4125328..0000000
--- a/components/button/button-secondary-disabled.html
+++ /dev/null
@@ -1,3 +0,0 @@
-<button class="sdc-button sdc-button__secondary" disabled>
- Click Me
-</button>
diff --git a/components/button/button-secondary-extra-small.html b/components/button/button-secondary-extra-small.html
deleted file mode 100644
index 92c4784..0000000
--- a/components/button/button-secondary-extra-small.html
+++ /dev/null
@@ -1,3 +0,0 @@
-<button class="sdc-button sdc-button__secondary btn-x-small">
- Click Me
-</button>
diff --git a/components/button/button-secondary-large.html b/components/button/button-secondary-large.html
deleted file mode 100644
index 958c151..0000000
--- a/components/button/button-secondary-large.html
+++ /dev/null
@@ -1,3 +0,0 @@
-<button class="sdc-button sdc-button__secondary btn-large">
- Click Me
-</button>
diff --git a/components/button/button-secondary-medium.html b/components/button/button-secondary-medium.html
deleted file mode 100644
index 67f9741..0000000
--- a/components/button/button-secondary-medium.html
+++ /dev/null
@@ -1,3 +0,0 @@
-<button class="sdc-button sdc-button__secondary btn-medium">
- Click Me
-</button>
diff --git a/components/button/button-secondary-small.html b/components/button/button-secondary-small.html
deleted file mode 100644
index d9d8cd7..0000000
--- a/components/button/button-secondary-small.html
+++ /dev/null
@@ -1,3 +0,0 @@
-<button class="sdc-button sdc-button__secondary btn-small">
- Click Me
-</button>
diff --git a/components/button/button-secondary.html b/components/button/button-secondary.html
deleted file mode 100644
index 64967cc..0000000
--- a/components/button/button-secondary.html
+++ /dev/null
@@ -1,3 +0,0 @@
-<button class="sdc-button sdc-button__secondary">
- Click Me
-</button>
diff --git a/components/checkbox/_checkbox.scss b/components/checkbox/_checkbox.scss
deleted file mode 100644
index c35c8e0..0000000
--- a/components/checkbox/_checkbox.scss
+++ /dev/null
@@ -1,66 +0,0 @@
-.sdc-checkbox {
- line-height: 14px;
-
- label {
- position: relative;
- display: block;
- padding-left: 14px;
- }
-
- .sdc-checkbox__input {
- appearance: none;
- -moz-appearance: none;
- -webkit-appearance: none;
- position: absolute;
- z-index: -1;
- opacity: 0;
-
- // Checkbox not checked
- + .sdc-checkbox__label:before {
- display: inline-block;
- position: absolute;
- left: 0;
- top: 0;
- content: "";
- width: 14px;
- height: 14px;
- box-sizing: content-box;
- background: no-repeat url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20width%3D%2214%22%20height%3D%2214%22%20viewBox%3D%220%200%2014%2014%22%3E%20%3Cdefs%3E%20%3Cpath%20id%3D%22disabled-a%22%20d%3D%22M2%2C0%20L12%2C-2.22044605e-16%20C13.1045695%2C5.56104062e-16%2014%2C0.8954305%2014%2C2%20L14%2C12%20C14%2C13.1045695%2013.1045695%2C14%2012%2C14%20L2%2C14%20C0.8954305%2C14%208.94280938e-16%2C13.1045695%20-2.22044605e-16%2C12%20L-2.22044605e-16%2C2%20C-3.57315355e-16%2C0.8954305%200.8954305%2C-1.91384796e-17%202%2C-2.22044605e-16%20Z%22%2F%3E%20%3C%2Fdefs%3E%20%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%20%3Cuse%20fill%3D%22%23FFFFFF%22%20xlink%3Ahref%3D%22%23disabled-a%22%2F%3E%20%3Cpath%20stroke%3D%22%23D2D2D2%22%20d%3D%22M2%2C0.5%20C1.17157288%2C0.5%200.5%2C1.17157288%200.5%2C2%20L0.5%2C12%20C0.5%2C12.8284271%201.17157288%2C13.5%202%2C13.5%20L12%2C13.5%20C12.8284271%2C13.5%2013.5%2C12.8284271%2013.5%2C12%20L13.5%2C2%20C13.5%2C1.17157288%2012.8284271%2C0.5%2012%2C0.5%20L2%2C0.5%20Z%22%2F%3E%20%3C%2Fg%3E%20%3C%2Fsvg%3E');
- }
-
- // Checkbox disabled and not checked
- &:disabled {
- + .sdc-checkbox__label {
- color: $gray;
- &:before {
- background: no-repeat url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20width%3D%2214%22%20height%3D%2214%22%20viewBox%3D%220%200%2014%2014%22%3E%20%3Cdefs%3E%20%3Cpath%20id%3D%22disabled-a%22%20d%3D%22M2%2C0%20L12%2C-2.22044605e-16%20C13.1045695%2C5.56104062e-16%2014%2C0.8954305%2014%2C2%20L14%2C12%20C14%2C13.1045695%2013.1045695%2C14%2012%2C14%20L2%2C14%20C0.8954305%2C14%208.94280938e-16%2C13.1045695%20-2.22044605e-16%2C12%20L-2.22044605e-16%2C2%20C-3.57315355e-16%2C0.8954305%200.8954305%2C-1.91384796e-17%202%2C-2.22044605e-16%20Z%22%2F%3E%20%3C%2Fdefs%3E%20%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%20%3Cuse%20fill%3D%22%23F2F2F2%22%20xlink%3Ahref%3D%22%23disabled-a%22%2F%3E%20%3Cpath%20stroke%3D%22%23D2D2D2%22%20d%3D%22M2%2C0.5%20C1.17157288%2C0.5%200.5%2C1.17157288%200.5%2C2%20L0.5%2C12%20C0.5%2C12.8284271%201.17157288%2C13.5%202%2C13.5%20L12%2C13.5%20C12.8284271%2C13.5%2013.5%2C12.8284271%2013.5%2C12%20L13.5%2C2%20C13.5%2C1.17157288%2012.8284271%2C0.5%2012%2C0.5%20L2%2C0.5%20Z%22%2F%3E%20%3C%2Fg%3E%20%3C%2Fsvg%3E');
- }
- }
- }
-
- &:checked {
- // Checkbox checked
- + .sdc-checkbox__label:before {
- background: no-repeat url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2214%22%20height%3D%2214%22%20viewBox%3D%220%200%2014%2014%22%20fill%3D%22%23009fdb%22%3E%3Cpath%20d%3D%22M2%2C0%20L12%2C-2.22044605e-16%20C13.1045695%2C5.56104062e-16%2014%2C0.8954305%2014%2C2%20L14%2C12%20C14%2C13.1045695%2013.1045695%2C14%2012%2C14%20L2%2C14%20C0.8954305%2C14%208.94280938e-16%2C13.1045695%20-2.22044605e-16%2C12%20L-2.22044605e-16%2C2%20C-3.57315355e-16%2C0.8954305%200.8954305%2C-1.91384796e-17%202%2C-2.22044605e-16%20Z%20M3.85355339%2C7.54977605%20C3.65829124%2C7.35451391%203.34170876%2C7.35451391%203.14644661%2C7.54977605%20C2.95118446%2C7.7450382%202.95118446%2C8.06162069%203.14644661%2C8.25688283%20L5.71469032%2C10.8251265%20C5.93114093%2C11.0415771%206.28952386%2C11.0144698%206.47095446%2C10.7679244%20L10.8653572%2C4.79638422%20C11.0290275%2C4.57397322%2010.9814087%2C4.26099251%2010.7589977%2C4.09732224%20C10.5365867%2C3.93365198%2010.223606%2C3.98127076%2010.0599357%2C4.20368177%20L6.01038326%2C9.70660592%20L3.85355339%2C7.54977605%20Z%22%2F%3E%3C%2Fsvg%3E');
- }
-
- // Checkbox disabled and checked
- &:disabled {
- + .sdc-checkbox__label:before {
- background: no-repeat url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2214%22%20height%3D%2214%22%20viewBox%3D%220%200%2014%2014%22%3E%3Cpath%20fill%3D%22%23d2d2d2%22%20fill-rule%3D%22evenodd%22%20d%3D%22M2%2C0%20L12%2C-2.22044605e-16%20C13.1045695%2C5.56104062e-16%2014%2C0.8954305%2014%2C2%20L14%2C12%20C14%2C13.1045695%2013.1045695%2C14%2012%2C14%20L2%2C14%20C0.8954305%2C14%208.94280938e-16%2C13.1045695%20-2.22044605e-16%2C12%20L-2.22044605e-16%2C2%20C-3.57315355e-16%2C0.8954305%200.8954305%2C-1.91384796e-17%202%2C-2.22044605e-16%20Z%20M3.85355339%2C7.54977605%20C3.65829124%2C7.35451391%203.34170876%2C7.35451391%203.14644661%2C7.54977605%20C2.95118446%2C7.7450382%202.95118446%2C8.06162069%203.14644661%2C8.25688283%20L5.71469032%2C10.8251265%20C5.93114093%2C11.0415771%206.28952386%2C11.0144698%206.47095446%2C10.7679244%20L10.8653572%2C4.79638422%20C11.0290275%2C4.57397322%2010.9814087%2C4.26099251%2010.7589977%2C4.09732224%20C10.5365867%2C3.93365198%2010.223606%2C3.98127076%2010.0599357%2C4.20368177%20L6.01038326%2C9.70660592%20L3.85355339%2C7.54977605%20Z%22%2F%3E%3C%2Fsvg%3E');
- }
- }
- }
-
- &:not(:disabled) {
- + .sdc-checkbox__label {
- cursor: pointer;
- }
- }
- }
-
- .sdc-checkbox__label:not(:empty) {
- padding-left: 14px;
- @include body-1;
- }
-}
diff --git a/components/checkbox/checkbox-checked.html b/components/checkbox/checkbox-checked.html
deleted file mode 100644
index de0c0d8..0000000
--- a/components/checkbox/checkbox-checked.html
+++ /dev/null
@@ -1,6 +0,0 @@
-<div class="sdc-checkbox">
- <label>
- <input type="checkbox" class="sdc-checkbox__input" checked>
- <span class="sdc-checkbox__label">This is the checkbox label</span>
- </label>
-</div>
diff --git a/components/checkbox/checkbox-disabled-checked.html b/components/checkbox/checkbox-disabled-checked.html
deleted file mode 100644
index 53e77ec..0000000
--- a/components/checkbox/checkbox-disabled-checked.html
+++ /dev/null
@@ -1,6 +0,0 @@
-<div class="sdc-checkbox">
- <label>
- <input type="checkbox" class="sdc-checkbox__input" checked disabled>
- <span class="sdc-checkbox__label">This is the checkbox label</span>
- </label>
-</div>
diff --git a/components/checkbox/checkbox-disabled.html b/components/checkbox/checkbox-disabled.html
deleted file mode 100644
index 2425218..0000000
--- a/components/checkbox/checkbox-disabled.html
+++ /dev/null
@@ -1,6 +0,0 @@
-<div class="sdc-checkbox">
- <label>
- <input type="checkbox" class="sdc-checkbox__input" disabled>
- <span class="sdc-checkbox__label">This is the checkbox label</span>
- </label>
-</div>
diff --git a/components/checkbox/checkbox-unchecked.html b/components/checkbox/checkbox-unchecked.html
deleted file mode 100644
index 9cc3d1c..0000000
--- a/components/checkbox/checkbox-unchecked.html
+++ /dev/null
@@ -1,6 +0,0 @@
-<div class="sdc-checkbox">
- <label>
- <input type="checkbox" class="sdc-checkbox__input">
- <span class="sdc-checkbox__label">This is the checkbox label</span>
- </label>
-</div>
diff --git a/components/checklist/_checklist.scss b/components/checklist/_checklist.scss
deleted file mode 100644
index 248993d..0000000
--- a/components/checklist/_checklist.scss
+++ /dev/null
@@ -1,21 +0,0 @@
-$space-lines: 14px;
-$padding-for-sub-level: 28px;
-.checkbox-item{
- margin: $space-lines 0;
- .sdc-checkbox__label{
- @include body-2-emphasis;
- }
- .semi-checked{
- .sdc-checkbox__label:before{
- background: no-repeat url('data:image/svg+xml;utf8,<svg width="14px" height="14px" viewBox="0 0 14 14" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path d="M2,0 L12,-2.22044605e-16 C13.1045695,5.56104062e-16 14,0.8954305 14,2 L14,12 C14,13.1045695 13.1045695,14 12,14 L2,14 C0.8954305,14 8.94280938e-16,13.1045695 -2.22044605e-16,12 L-2.22044605e-16,2 C-3.57315355e-16,0.8954305 0.8954305,-1.91384796e-17 2,-2.22044605e-16 Z" id="path-1"></path><rect id="path-2" x="3" y="6" width="8" height="2" rx="1"></rect></defs><g id="Symbols-" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"><g id="icons/checkbox/semiselected"><g id="form/checkbox_checked-copy-3"><g id="Rectangle-Copy-2"><use fill="#FFFFFF" fill-rule="evenodd" xlink:href="#path-1"></use><path stroke="#D2D2D2" stroke-width="1" d="M2,0.5 C1.17157288,0.5 0.5,1.17157288 0.5,2 L0.5,12 C0.5,12.8284271 1.17157288,13.5 2,13.5 L12,13.5 C12.8284271,13.5 13.5,12.8284271 13.5,12 L13.5,2 C13.5,1.17157288 12.8284271,0.5 12,0.5 L2,0.5 Z"></path></g></g><mask id="mask-3" fill="white"><use xlink:href="#path-2"></use></mask><use id="Mask" fill="#009FDB" xlink:href="#path-2"></use></g></g></svg>');
- }
- }
-}
-.checkbox-sublist{
- padding-left: $padding-for-sub-level;
- .checkbox-item{
- .sdc-checkbox__label{
- @include body-2;
- }
- }
-}
diff --git a/components/checklist/checklist-with-checked-items.html b/components/checklist/checklist-with-checked-items.html
deleted file mode 100644
index e1adbd7..0000000
--- a/components/checklist/checklist-with-checked-items.html
+++ /dev/null
@@ -1,24 +0,0 @@
-<div>
- <div class="checkbox-item">
- <div class="sdc-checkbox">
- <input class="sdc-checkbox__input" type="checkbox" checked>
- <label class="sdc-checkbox__label">apple</label>
- </div>
- </div>
-</div>
-<div>
- <div class="checkbox-item">
- <div class="sdc-checkbox">
- <input class="sdc-checkbox__input" type="checkbox">
- <label class="sdc-checkbox__label">banana</label>
- </div>
- </div>
-</div>
-<div>
- <div class="checkbox-item">
- <div class="sdc-checkbox">
- <input class="sdc-checkbox__input" type="checkbox" checked>
- <label class="sdc-checkbox__label">orange</label>
- </div>
- </div>
-</div>
diff --git a/components/checklist/checklist-with-disabled-items.html b/components/checklist/checklist-with-disabled-items.html
deleted file mode 100644
index f001ec1..0000000
--- a/components/checklist/checklist-with-disabled-items.html
+++ /dev/null
@@ -1,25 +0,0 @@
-<div>
- <div class="checkbox-item">
- <div class="sdc-checkbox">
- <input class="sdc-checkbox__input" type="checkbox" disabled>
- <label class="sdc-checkbox__label">apple</label>
- </div>
- </div>
-</div>
-<div>
- <div class="checkbox-item">
- <div class="sdc-checkbox">
- <input class="sdc-checkbox__input" type="checkbox" disabled>
- <label class="sdc-checkbox__label">banana</label>
- </div>
- </div>
-</div>
-<div>
- <div class="checkbox-item">
- <div class="sdc-checkbox">
- <input class="sdc-checkbox__input" type="checkbox">
- <label class="sdc-checkbox__label">orange</label>
- </div>
- </div>
-</div>
-
diff --git a/components/checklist/multi-levels-checklist.html b/components/checklist/multi-levels-checklist.html
deleted file mode 100644
index 9aa136e..0000000
--- a/components/checklist/multi-levels-checklist.html
+++ /dev/null
@@ -1,50 +0,0 @@
-<div>
- <div class="checkbox-item">
- <div class="sdc-checkbox">
- <input class="sdc-checkbox__input" type="checkbox">
- <label class="sdc-checkbox__label">apple</label>
- </div>
- </div>
- <div class="checkbox-sublist">
- <div>
- <div class="checkbox-item">
- <div class="sdc-checkbox">
- <input class="sdc-checkbox__input" type="checkbox">
- <label class="sdc-checkbox__label">red</label>
- </div>
- </div>
- </div>
- <div>
- <div class="checkbox-item">
- <div class="sdc-checkbox">
- <input class="sdc-checkbox__input" type="checkbox">
- <label class="sdc-checkbox__label">green</label>
- </div>
- </div>
- </div>
- <div>
- <div class="checkbox-item">
- <div class="sdc-checkbox">
- <input class="sdc-checkbox__input" type="checkbox">
- <label class="sdc-checkbox__label">yellow</label>
- </div>
- </div>
- </div>
- </div>
-</div>
-<div>
- <div class="checkbox-item">
- <div class="sdc-checkbox">
- <input class="sdc-checkbox__input" type="checkbox">
- <label class="sdc-checkbox__label">banana</label>
- </div>
- </div>
-</div>
-<div>
- <div class="checkbox-item">
- <div class="sdc-checkbox">
- <input class="sdc-checkbox__input" type="checkbox">
- <label class="sdc-checkbox__label">orange</label>
- </div>
- </div>
-</div>
diff --git a/components/checklist/simple-checklist.html b/components/checklist/simple-checklist.html
deleted file mode 100644
index 1fe55da..0000000
--- a/components/checklist/simple-checklist.html
+++ /dev/null
@@ -1,24 +0,0 @@
-<div>
- <div class="checkbox-item">
- <div class="sdc-checkbox">
- <input class="sdc-checkbox__input" type="checkbox">
- <label class="sdc-checkbox__label">apple</label>
- </div>
- </div>
-</div>
-<div>
- <div class="checkbox-item">
- <div class="sdc-checkbox">
- <input class="sdc-checkbox__input" type="checkbox">
- <label class="sdc-checkbox__label">banana</label>
- </div>
- </div>
-</div>
-<div>
- <div class="checkbox-item">
- <div class="sdc-checkbox">
- <input class="sdc-checkbox__input" type="checkbox">
- <label class="sdc-checkbox__label">orange</label>
- </div>
- </div>
-</div>
diff --git a/components/dropdown/_dropdown.scss b/components/dropdown/_dropdown.scss
deleted file mode 100644
index 908bbaa..0000000
--- a/components/dropdown/_dropdown.scss
+++ /dev/null
@@ -1,346 +0,0 @@
-.sdc-dropdown {
- @include body-1;
- position: relative;
- display: block;
-
- .sdc-dropdown__error--block {
- display: none;
- }
-
- &.headless {
- display: none;
- }
-
- /*************************************
- SDC DropDown styles
- *************************************/
- .sdc-dropdown__component-container {
- position: relative;
- height: 40px;
-
- .sdc-dropdown__header {
- background: $white;
- text-align: left;
- position: relative;
- color: $dark-gray;
- @include base-font-regular;
- font-size: 14px;
- text-indent: 6px;
- border: solid 1px $light-gray;
- width: 100%;
- height: 40px;
- line-height: 36px;
- box-sizing: border-box;
- border-radius: 2px;
-
- &.placeholder {
- @include base-font-italic;
- color: $gray;
- }
-
- &.disabled {
- border: solid 1px $light-gray;
- background-color: $light-silver;
- color: $light-gray;
- cursor: default;
-
- &:focus {
- border: solid 1px $light-gray;
- outline: none;
- .svg-icon>svg {
- fill: $light-gray;
- }
- }
- .svg-icon>svg {
- fill: $light-gray;
- }
- }
-
- &:focus {
- border: solid 1px $light-blue;
- outline: none;
- .svg-icon>svg {
- fill: $light-blue;
- }
- }
-
- .sdc-dropdown-handle {
- float: right;
- .svg-icon>svg {
- fill: $dark-gray;
- }
- }
-
- svg-icon {
- margin: 10px 6px;
- float: right;
- }
-
- }
-
- }
-
- &.open-bottom {
- .sdc-dropdown__header {
- border-bottom-left-radius: 0;
- border-bottom-right-radius: 0;
-
- border: 1px solid $light-blue;
- box-sizing: border-box;
- .svg-icon>svg {
- fill: $light-blue;
- }
-
- }
- }
-
- &.open-top {
- .sdc-dropdown__header {
- border-top-left-radius: 0;
- border-top-right-radius: 0;
- }
- }
-
- .sdc-dropdown__options-list {
- position: relative;
- opacity: 0;
- top: 100%;
- left: 0;
- width: 100%;
- max-height: 0;
- overflow-y: auto;
- box-sizing: border-box;
- border: 1px solid $light-blue;
- background-color: white;
- box-shadow: 0 3px 7px -3px $dark-gray;
- z-index: 999;
- &.sdc-dropdown__options-wrapper--top {
- bottom: 40px;
- border-top: 1px solid $light-blue;
- }
- &.sdc-dropdown__options-list--headless {
- border-top: 1px solid $light-blue;
- }
- .sdc-dropdown__option {
- @include base-font-regular;
- font-size: 14px;
- text-indent: 10px;
- padding: 10px;
- background: transparent;
- cursor: pointer;
- height: 40px;
- box-sizing: border-box;
- &.sdc-dropdown__option--hr {
- height: 1px;
- overflow: hidden;
- border-top: 1px solid $silver;
- padding: 0;
- margin: 10px 20px;
- }
- &.sdc-dropdown__option--group {
- text-indent: 30px;
- }
- &:hover {
- background-color: $light-silver;
- //@include base-font-semibold;
- }
- &.selected {
- background-color: $lighter-blue;
- color: $blue;
- @include base-font-semibold;
- }
- &.sdc-dropdown__option--header {
- @include base-font-semibold;
- color: $text-black;
- cursor: default;
- &.sdc-dropdown__option--group {
- text-indent: 10px;
- }
- &:hover {
- background-color: transparent;
- }
- }
- &.sdc-dropdown__option--disabled {
- color: $gray;
- cursor: default;
- &:hover {
- background-color: transparent;
- }
- &::after {
- color: $gray;
- }
- &:focus {
- border: solid 1px $light-gray;
- outline: none;
- }
- }
- }
- }
- .sdc-dropdown__select {
- @include base-font-regular;
- text-indent: 6px;
- border: solid 1px $light-gray;
- width: 100%;
- &.disabled {
- opacity: 0.7;
- }
- option {
- padding: 3px;
- }
- }
- .sdc-dropdown__label {
- margin-bottom: 5px;
- display: block;
- @include body-3-emphasis;
- color: $text-black;
- &.required::before {
- content: '*';
- color: $red;
- margin: 0 4px 0 0;
- }
- }
-
- /*************************************
- SDC Auto-DropDown styles
- *************************************/
- &.open-bottom {
- .sdc-dropdown-auto__wrapper {
- border: 1px solid $light-blue;
- box-sizing: border-box;
- .svg-icon>svg {
- fill: $light-blue;
- }
- }
- }
-
- .sdc-dropdown-auto__wrapper {
- display: flex;
- border: solid 1px $light-gray;
- border-radius: 2px;
-
- .sdc-dropdown__header {
- border: none;
- color: $gray;
-
- &:focus {
- border: none;
- }
- }
-
- svg-icon {
- margin: 12px 10px;
- float: right;
- }
- }
-
- /*************************************
- SDC Error styles
- *************************************/
- &.sdc-dropdown__error {
- .sdc-dropdown__header {
- border: solid 1px $red;
- @include font-error;
- &::after {
- @include font-error;
- }
- &:focus {
- border: solid 1px $red;
- .sdc-dropdown-handle {
- use {
- fill: $red;
- }
- }
- }
- .sdc-dropdown-handle {
- use {
- fill: $red;
- }
- }
- }
- .sdc-dropdown__error--block {
- display: block;
- @include font-error;
- margin: 4px 0;
- @include body-3;
- }
- .sdc-dropdown__options-wrapper--frame {
- .sdc-dropdown__options-list {
- border: 1px solid $red;
- border-top: none;
- }
- &.sdc-dropdown__options-wrapper--top {
- .sdc-dropdown__options-list {
- border-top: 1px solid $red;
- }
- }
- }
- .svg-icon.__exclamationTriangleFull {
- width: 12px;
- height: 10px;
- margin-right: 6px;
- }
- }
-}
-
-.sdc-dropdown__error--icon {
- fill: $red;
-}
-
-/********************************************************/
-
-/* Animation */
-
-/********************************************************/
-
-@include keyframes-expand-animation('top-to-bottom-exp', 244px);
-@include keyframes-collapse-animation('top-to-bottom', 244px);
-@include keyframes-expand-animation('bottom-to-top-exp', 244px);
-@include keyframes-collapse-animation('bottom-to-top', 244px);
-.sdc-dropdown__options-wrapper--frame {
- overflow: hidden;
- position: absolute;
- top: auto;
- width: 100%;
- &.sdc-dropdown__options-wrapper--top {
- bottom: 40px;
- top: auto;
- padding: 10px 0 0 0;
- /* Expend animation from bottom to top */
- .sdc-dropdown__options-list {
- border-top: 1px solid $light-blue;
- box-shadow: 0 0 7px -1px $dark-gray;
- &.sdc-dropdown__options-list--animation-init {
- border-bottom: none;
- padding: 0;
- animation: bottom-to-top .0s forwards;
- }
- }
- &.sdc-dropdown__options-wrapper--uncollapsed {
- .sdc-dropdown__options-list {
- animation: bottom-to-top-exp .0s forwards;
- }
- }
- }
-}
-
-/**
-Fold animation from top to bottom
- */
-
-.sdc-dropdown {
- .sdc-dropdown__options-list.sdc-dropdown__options-list--animation-init {
- animation: top-to-bottom .0s forwards;
- }
-}
-
-/**
-Expend animation from top to bottom
- */
-
-.sdc-dropdown {
- .sdc-dropdown__options-wrapper--uncollapsed {
- .sdc-dropdown__options-list.sdc-dropdown__options-list--animation-init {
- animation: top-to-bottom-exp .0s forwards;
- }
- }
-}
diff --git a/components/dropdown/dropdown-disabled.html b/components/dropdown/dropdown-disabled.html
deleted file mode 100644
index 9e0bd86..0000000
--- a/components/dropdown/dropdown-disabled.html
+++ /dev/null
@@ -1,11 +0,0 @@
-<div class="sdc-dropdown">
- <label class="sdc-dropdown__label">DropDown example</label>
- <button class="sdc-dropdown__header disabled">Please choose option</button>
- <!--[This part won't be created on disabled drop-down]-->
- <ul class="sdc-dropdown__options-list">
- <li class="sdc-dropdown__option selected">First Option</li>
- <li class="sdc-dropdown__option">Second Option</li>
- <li class="sdc-dropdown__option">Third Option</li>
- </ul>
- <!--[...]-->
-</div>
diff --git a/components/dropdown/dropdown-groups.html b/components/dropdown/dropdown-groups.html
deleted file mode 100644
index 3e32f16..0000000
--- a/components/dropdown/dropdown-groups.html
+++ /dev/null
@@ -1,10 +0,0 @@
-<div class="sdc-dropdown">
- <label class="sdc-dropdown__label">DropDown example</label>
- <button class="sdc-dropdown__header">Please choose option</button>
- <ul class="sdc-dropdown__options-list">
- <li class="sdc-dropdown__option sdc-dropdown__option--group sdc-dropdown__option--header">Group 1 title</li>
- <li class="sdc-dropdown__option sdc-dropdown__option--group selected">First Option</li>
- <li class="sdc-dropdown__option sdc-dropdown__option--group">Second Option</li>
- <li class="sdc-dropdown__option sdc-dropdown__option--group">Third Option</li>
- </ul>
-</div>
diff --git a/components/dropdown/dropdown-requiered.html b/components/dropdown/dropdown-requiered.html
deleted file mode 100644
index 4fd555d..0000000
--- a/components/dropdown/dropdown-requiered.html
+++ /dev/null
@@ -1,18 +0,0 @@
-<div class="sdc-dropdown">
- <label class="sdc-dropdown__label">DropDown example</label>
- <button class="sdc-dropdown__header">Please choose option</button>
- <ul class="sdc-dropdown__options-list">
- <li class="sdc-dropdown__option selected">First Option</li>
- <li class="sdc-dropdown__option">Second Option</li>
- <li class="sdc-dropdown__option">Third Option</li>
- </ul>
- <div class="sdc-dropdown__error">
- <!--[Will be replaced by the correct error icon]-->
- <svg class="svg-icon __exclamationTriangleFull" version="1.1" id="exclamation-triangle-full_icon" x="0px" y="0px" viewBox="0 0 19.9 18" xml:space="preserve"><path class="sdc-dropdown__error--icon" d="M19.6,14.3L12,1.3c-0.3-0.6-0.8-1-1.4-1.2C10-0.1,9.3,0,8.7,0.3c-0.4,0.3-0.6,0.6-0.9,1l-7.6,13c-0.3,0.5-0.4,1.2-0.2,1.8
- c0.2,0.6,0.6,1.1,1.1,1.4C1.6,17.8,1.9,18,2.4,18h15.1c1.3,0,2.4-1.1,2.4-2.4C19.9,15.1,19.8,14.7,19.6,14.3z M10.5,14.2
- c0,0.3-0.2,0.5-0.5,0.5s-0.5-0.2-0.5-0.5l0-1c0-0.3,0.2-0.5,0.5-0.5s0.5,0.2,0.5,0.5L10.5,14.2z M10.5,9.9c0,0.3-0.2,0.5-0.5,0.5
- s-0.5-0.2-0.5-0.5l0-5.2c0-0.3,0.2-0.5,0.5-0.5s0.5,0.2,0.5,0.5L10.5,9.9z"></path></svg>
- Error message!
- </div>
-</div>
-
diff --git a/components/dropdown/dropdown.html b/components/dropdown/dropdown.html
deleted file mode 100644
index 440f70b..0000000
--- a/components/dropdown/dropdown.html
+++ /dev/null
@@ -1,9 +0,0 @@
-<div class="sdc-dropdown">
- <label class="sdc-dropdown__label">DropDown example</label>
- <button class="sdc-dropdown__header">Please choose option</button>
- <ul class="sdc-dropdown__options-list">
- <li class="sdc-dropdown__option selected">First Option</li>
- <li class="sdc-dropdown__option">Second Option</li>
- <li class="sdc-dropdown__option">Third Option</li>
- </ul>
-</div>
diff --git a/components/filter-bar/_filter-bar.scss b/components/filter-bar/_filter-bar.scss
deleted file mode 100644
index f48a3df..0000000
--- a/components/filter-bar/_filter-bar.scss
+++ /dev/null
@@ -1,51 +0,0 @@
-$inputHeight: 38px;
-
-.sdc-filter-bar {
- .sdc-input {
- margin: 0;
- .sdc-input__input{
- padding-right: 40px;
- }
- }
-
- .filter-button{
- position: relative;
- float: right;
- bottom: $inputHeight;
- height: $inputHeight;
- right: 11px;
- svg{
- position: relative;
- top: 50%;
- transform: translateY(-50%);
- }
- }
-
- .magnify-button {
- svg{
- height: 20px;
- width: 20px;
- path{
- fill: $dark-gray;
- }
- }
- }
-
- .clear-search-x {
- cursor: pointer;
- svg{
- height: 14px;
- width: 14px;
- path{
- fill: $dark-gray;
- }
- &:hover{
- path{
- fill: $blue;
- }
- }
- }
- }
-}
-
-
diff --git a/components/filter-bar/filter-bar-with-text.html b/components/filter-bar/filter-bar-with-text.html
deleted file mode 100644
index de7a225..0000000
--- a/components/filter-bar/filter-bar-with-text.html
+++ /dev/null
@@ -1,16 +0,0 @@
-<div class="sdc-filter-bar">
- <div class="search-bar-container">
- <label class="sdc-input__label">search box example:</label>
- <input class="sdc-input__input" type="text" name="undefined" placeholder="search text">
- <span class="filter-button clear-search-x">
- <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="24" height="24" viewBox="0 0 24 24">
- <defs>
- <path id="close-a" d="M13.5996,12 L19.6576,5.942 C20.1146,5.485 20.1146,4.8 19.6576,4.343 C19.2006,3.886 18.5146,3.886 18.0576,4.343 L11.9996,10.4 L5.9426,4.343 C5.4856,3.886 4.7996,3.886 4.3426,4.343 C3.8856,4.8 3.8856,5.485 4.3426,5.942 L10.4006,12 L4.3426,18.058 C3.8856,18.515 3.8856,19.2 4.3426,19.657 C4.5716,19.886 4.7996,20 5.1426,20 C5.4856,20 5.7136,19.886 5.9426,19.657 L11.9996,13.6 L18.0576,19.657 C18.2866,19.886 18.6286,20 18.8576,20 C19.0856,20 19.4286,19.886 19.6576,19.657 C20.1146,19.2 20.1146,18.515 19.6576,18.058 L13.5996,12 Z"/>
- </defs>
- <g fill="none" fill-rule="evenodd">
- <use fill="#000" xlink:href="#close-a"/>
- </g>
- </svg>
- </span>
- </div>
-</div>
diff --git a/components/filter-bar/filter-bar.html b/components/filter-bar/filter-bar.html
deleted file mode 100644
index 90f580d..0000000
--- a/components/filter-bar/filter-bar.html
+++ /dev/null
@@ -1,17 +0,0 @@
-<div class="sdc-filter-bar">
- <div class="search-bar-container">
- <label class="sdc-input__label">search box example:</label>
- <input class="sdc-input__input" type="text" name="undefined" placeholder="search text">
- <span class="filter-button magnify-button">
- <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="24" height="24" viewBox="0 0 24 24">
- <defs>
- <path id="search-a" d="M2,8.5 C2,4.9 4.9,2 8.5,2 C12.1,2 15,4.9 15,8.5 C15,10.3 14.3,11.9 13.1,13.1 C11.9,14.3 10.3,15 8.5,15 C4.9,15 2,12.1 2,8.5 M19.7,18.3 L15.2,13.8 C16.3,12.4 17,10.5 17,8.5 C17,3.8 13.2,0 8.5,0 C3.8,0 0,3.8 0,8.5 C0,13.2 3.8,17 8.5,17 C10.5,17 12.3,16.3 13.8,15.2 L18.3,19.7 C18.5,19.9 18.8,20 19,20 C19.2,20 19.5,19.9 19.7,19.7 C20.1,19.3 20.1,18.7 19.7,18.3"/>
- </defs>
- <g fill="none" fill-rule="evenodd" transform="translate(2 2)">
- <use fill="#000" xlink:href="#search-a"/>
- </g>
- </svg>
- </span>
- </div>
-</div>
-
diff --git a/components/icon/_icon.scss b/components/icon/_icon.scss
deleted file mode 100644
index cd94eb7..0000000
--- a/components/icon/_icon.scss
+++ /dev/null
@@ -1,250 +0,0 @@
-@mixin color-icon($primary-color, $secondary-color) {
- color: $primary-color;
- fill: $primary-color;
- span{
- color: $primary-color;
- }
- &:not([disabled]):hover, &:active, &:focus {
- &.clickable {
- color: $secondary-color;
- fill: $secondary-color;
- }
- }
-}
-
-.svg-icon-wrapper {
- display: inline-flex;
- justify-content: center;
- align-items: center;
-
- &[disabled] {
- opacity: 0.7;
- }
-
- &.bottom {
- flex-direction: column;
- .svg-icon-label {
- margin-bottom: 5px;
- }
- }
-
- &.right {
- float: none;
- .svg-icon-label {
- margin-left: 5px;
- }
- }
-
- &.top {
- flex-direction: column-reverse;
- .svg-icon-label {
- margin-top: 5px;
- }
- }
-
- &.left {
- flex-direction: row-reverse;
- .svg-icon-label {
- margin-right: 5px;
- }
- }
-
- &.__warning {
- @include color-icon($yellow, $yellow);
- }
-
- &.__primary {
- @include color-icon($blue, $light-blue);
- }
-
- &.__secondary {
- @include color-icon($gray, $dark-gray);
- }
-
- &.__positive {
- @include color-icon($green, $green);
- }
-
- &.__negative {
- @include color-icon($red, $red);
- }
-}
-
-
-.svg-icon {
- width: 20px;
- height: 20px;
-
- &.__angleDoubleLeft {
- width: 14px;
- height: 14px;
- }
- &.__angleDoubleRight {
- width: 14px;
- height: 14px;
- }
- &.__angleLeft {
- width: 14px;
- height: 14px;
- }
- &.__angleRight {
- width: 14px;
- height: 14px;
- }
- &.__artifacts {
- width: 16px;
- height: 20px;
- }
- &.__back {
- width: 25px;
- height: 25px;
- }
- &.__base {
- //
- }
- &.__calendar {
- //
- }
- &.__caretDown {
- }
- &.__check {
- }
- &.__checkCircle {
- width: 16px;
- height: 16px;
- }
- &.__chevronDown{
- width: 10px;
- height: 7px;
- }
- &.__chevronUp {
- width: 11px;
- height: 7px;
- }
- &.__close {
- width: 10px;
- height: 10px;
- }
- &.__download {
- width: 15px;
- height: 11px;
- }
- &.__env {
- width: 15px;
- height: 14px;
- }
- &.__error {
- width: 14px;
- height: 14px;
- }
- &.__errorCircle {
- width: 16px;
- height: 16px;
- }
- &.__exclamationTriangleFull {
- width: 15px;
- height: 13px;
- }
- &.__exclamationTriangleLine {
- width: 15px;
- height: 13px;
- }
- &.__filter {
- //
- }
- &.__locked {
- width: 11px;
- }
- &.__module {
- //
- }
- &.__nestedHeat {
- width: 15px;
- height: 13px;
- }
- &.__network {
- width: 13px;
- height: 13px;
- }
- &.__others {
- width: 12px;
- height: 12px;
- }
- &.__pencil {
- width: 15px;
- height: 15px;
- }
- &.__plus {
- width: 9px;
- height: 9px;
- }
- &.__plusCircle {
- width: 19px;
- height: 19px;
- }
- &.__plusThin {
- width: 9px;
- height: 9px;
- }
- &.__proceedToOverview {
- width: 24px;
- height: 20px;
- }
- &.__search {
- //
- }
- &.__sliders {
- }
- &.__trashO {
- width: 15px;
- height: 16px;
- }
- &.__unlocked {
- width: 11px;
- }
- &.__upload {
- width: 15px;
- height: 11px;
- }
- &.__vendor {
- width: 53px;
- height: 47px;
- }
- &.__versionControllerLockClosed {
- width: 21px;
- height: 23px;
- }
- &.__versionControllerLockOpen {
- width: 24px;
- height: 28px;
- }
- &.__versionControllerRevert {
- //
- }
- &.__versionControllerSave {
- //
- }
- &.__versionControllerSubmit {
- //
- }
- &.__versionControllerPermissions {
- //
- }
- &.__vlm {
- width: 53px;
- height: 47px;
- }
- &.__vsp {
- width: 53px;
- height: 47px;
- }
- &.__zip {
- width: 29px;
- height: 23px;
- }
-}
-
-.svg-icon-missing {
- @include body-2;
- @include font-error;
-}
diff --git a/components/input/_input.scss b/components/input/_input.scss
deleted file mode 100644
index a84d312..0000000
--- a/components/input/_input.scss
+++ /dev/null
@@ -1,78 +0,0 @@
-.sdc-input {
- margin-bottom: 10px;
-
- .sdc-input__label {
- margin-bottom: 5px;
- display: block;
- @include body-3-emphasis;
-
- &.required::before {
- content: '*';
- color: $red;
- margin: 0 4px 0 0;
- }
- }
-
- .sdc-input__input {
- @include box-sizing;
- padding: 0 10px;
- height: 38px;
- width: 100%;//415px;
- border: solid 1px $light-gray;
- border-radius:2px;
- color: $dark-gray;
-
- &.error, &.error:focus, &.error:disabled {
- border: solid 1px $red;
- color: $red;
- outline: none;
- }
-
- &:read-only{
- border: none;
- outline: none;
- color: $text-black
- }
- &:-moz-read-only { /* For Firefox */
- border: none;
- outline: none;
- color: $text-black
- }
-
- &:focus {
- border-color: $blue;
- outline: 0 none;
- color: $text-black;
- }
-
- &:disabled {
- background: $light-silver;
- color: $gray;
- }
-
- &::-webkit-input-placeholder /* Chrome/Opera/Safari */ {
- color: $gray;
- @include base-font-italic;
- }
- &::-moz-placeholder /* Firefox 19+ */ {
- color: $gray;
- @include base-font-italic;
- }
- &:-moz-placeholder /* Firefox 18- */ {
- color: $gray;
- @include base-font-italic;
- }
- &:-ms-input-placeholder /* IE 10+ */
- {
- color: $gray;
- @include base-font-italic;
- }
- }
-
- .sdc-label__error{
- margin-top: 2px;
- margin-left: 2px;
- @include body-3;
- }
-
-} \ No newline at end of file
diff --git a/components/input/input-disabled.html b/components/input/input-disabled.html
deleted file mode 100644
index bea21b4..0000000
--- a/components/input/input-disabled.html
+++ /dev/null
@@ -1,4 +0,0 @@
-<div class="sdc-input __disabled">
- <label class="sdc-input__label">I am a label</label>
- <input class="sdc-input__input" type="text" disabled value="Default"/>
-</div>
diff --git a/components/input/input-error.html b/components/input/input-error.html
deleted file mode 100644
index aafee55..0000000
--- a/components/input/input-error.html
+++ /dev/null
@@ -1,17 +0,0 @@
-<div class="sdc-input">
- <label class="sdc-input__label">I am a label</label>
- <input class="sdc-input__input error" type="text" value="Default"/>
- <div class="sdc-label__error ">
- <div class="svg-icon-wrapper __negative">
- <svg class="svg-icon __exclamationTriangleFull __negative" version="1.1" id="exclamation-triangle-full_icon" x="0px" y="0px" viewBox="0 0 19.9 18" style="enable-background:new 0 0 19.9 18;" xml:space="preserve">
- <path d="M19.6,14.3L12,1.3c-0.3-0.6-0.8-1-1.4-1.2C10-0.1,9.3,0,8.7,0.3c-0.4,0.3-0.6,0.6-0.9,1l-7.6,13c-0.3,0.5-0.4,1.2-0.2,1.8
- c0.2,0.6,0.6,1.1,1.1,1.4C1.6,17.8,1.9,18,2.4,18h15.1c1.3,0,2.4-1.1,2.4-2.4C19.9,15.1,19.8,14.7,19.6,14.3z M10.5,14.2
- c0,0.3-0.2,0.5-0.5,0.5s-0.5-0.2-0.5-0.5l0-1c0-0.3,0.2-0.5,0.5-0.5s0.5,0.2,0.5,0.5L10.5,14.2z M10.5,9.9c0,0.3-0.2,0.5-0.5,0.5
- s-0.5-0.2-0.5-0.5l0-5.2c0-0.3,0.2-0.5,0.5-0.5s0.5,0.2,0.5,0.5L10.5,9.9z">
- </path>
- </svg>
- <span class="svg-icon-label __negative">This is the error message.
- </span>
- </div>
- </div>
-</div> \ No newline at end of file
diff --git a/components/input/input-number.html b/components/input/input-number.html
deleted file mode 100644
index 59ef93c..0000000
--- a/components/input/input-number.html
+++ /dev/null
@@ -1,6 +0,0 @@
-<div class="sdc-input">
- <label class="sdc-input__label">I am a label</label>
- <div>
- <input class="sdc-input__input" type="number"/>
- </div>
-</div> \ No newline at end of file
diff --git a/components/input/input-placeholder.html b/components/input/input-placeholder.html
deleted file mode 100644
index b07d75d..0000000
--- a/components/input/input-placeholder.html
+++ /dev/null
@@ -1,4 +0,0 @@
-<div class="sdc-input">
- <label class="sdc-input__label">I am a label</label>
- <input class="sdc-input__input" placeholder="Write Here..." type="text"/>
-</div>
diff --git a/components/input/input-required.html b/components/input/input-required.html
deleted file mode 100644
index f9dbb16..0000000
--- a/components/input/input-required.html
+++ /dev/null
@@ -1,4 +0,0 @@
-<div class="sdc-input">
- <label class="sdc-input__label required">I am a label</label>
- <input class="sdc-input__input" value="Default" type="text"/>
-</div>
diff --git a/components/input/input-view-only.html b/components/input/input-view-only.html
deleted file mode 100644
index 4381b22..0000000
--- a/components/input/input-view-only.html
+++ /dev/null
@@ -1,4 +0,0 @@
-<div class="sdc-input">
- <label class="sdc-input__label">I am a label</label>
- <input class="sdc-input__input view-only" type="text" value="Default"/>
-</div> \ No newline at end of file
diff --git a/components/input/input.html b/components/input/input.html
deleted file mode 100644
index ef2ba61..0000000
--- a/components/input/input.html
+++ /dev/null
@@ -1,8 +0,0 @@
-<div class="sdc-input">
- <label class="sdc-input__label">I am a label</label>
- <input
- class="sdc-input__input"
- value="Default"
- type="text"
- />
-</div> \ No newline at end of file
diff --git a/components/menu/_menu.scss b/components/menu/_menu.scss
deleted file mode 100644
index fe32f32..0000000
--- a/components/menu/_menu.scss
+++ /dev/null
@@ -1,68 +0,0 @@
-.sdc-menu-list {
- position: static;
- @include box-sizing;
- @include box-shadow(0 2px 4px 0 rgba($black, 0.3));
- @include border-radius(2px);
- border: 1px solid $light-gray;
- border-top: solid 3px $blue;
- background: $white;
- min-width: 150px;
- width: -webkit-max-content;
- width: -moz-max-content;
- width: max-content;
-
- .sdc-menu-item:not(.separator) {
- @include body-1;
- height: 40px;
- color: $dark-gray;
- padding: 0 12px;
- display: flex;
- align-items: center;
-
- svg {
- margin-right: 16px;
- g, path {
- fill: $dark-gray;
- }
- }
-
- &:hover {
- &:not(.disabled) {
- cursor: pointer;
- &:not(.selected) {
- background: $light-silver;
- color: $text-black;
- g, path {
- fill: $dark-gray;
- }
- }
- }
- }
-
- &.disabled {
- color: $gray;
- g, path {
- fill: $light-gray;
- }
- }
-
- &.selected {
- background: $lighter-blue;
- color: $light-blue;
- g, path {
- fill: $dark-gray;
- }
- }
- }
-
- &.relative {
- position: relative;
- }
-
- .separator {
- cursor: default;
- border-top: 1px solid $silver;
- margin: 0 0;
- height: 0;
- }
-}
diff --git a/components/menu/popup-menu.html b/components/menu/popup-menu.html
deleted file mode 100644
index f4f1cbd..0000000
--- a/components/menu/popup-menu.html
+++ /dev/null
@@ -1,8 +0,0 @@
-
-<ul class="sdc-menu-list static">
- <li class="sdc-menu-item selected">item 1 (selected)</li>
- <li class="sdc-menu-item disabled">item 2</li>
- <li class="separator"/>
- <li class="sdc-menu-item">item 3</li>
- <li class="sdc-menu-item">custom action</li>
-</ul> \ No newline at end of file
diff --git a/components/menu/relative-popup-menu.html b/components/menu/relative-popup-menu.html
deleted file mode 100644
index e5a5449..0000000
--- a/components/menu/relative-popup-menu.html
+++ /dev/null
@@ -1,8 +0,0 @@
-<div class="sdc-popup-menu">
- <ul class="sdc-menu-list relative" style="top: 10px; left: 10px;">
- <li class="sdc-menu-item selected">item 1 (selected)</li>
- <li class="sdc-menu-item disabled">item 2</li>
- <li class="separator"/>
- <li class="sdc-menu-item">item 3</li>
- </ul>
-</div> \ No newline at end of file
diff --git a/components/modal/_modal.scss b/components/modal/_modal.scss
deleted file mode 100644
index e87e516..0000000
--- a/components/modal/_modal.scss
+++ /dev/null
@@ -1,194 +0,0 @@
-.sdc-modal {
- position: fixed;
- top: 0;
- right: 0;
- bottom: 0;
- left: 0;
- overflow: auto;
- margin: auto;
- display: flex;
- align-items: center;
- z-index: 1001;
- svg path {
- fill: inherit;
- }
- .sdc-modal__wrapper {
- @include body-1;
- background: $white;
- width: 100%;
- @include box-shadow(0 0 4px 0 rgba(0, 0, 0, 0.50));
- color: $text-black;
- display: flex;
- flex-direction: column;
- &.sdc-modal-type-info {
- border-top: solid 6px $blue;
- .sdc-modal__svg-use {
- fill: $blue;
- }
- .svg-icon {
- &.__errorCircle {
- width: 30px;
- height: 30px;
- }
- }
- }
- &.sdc-modal-type-alert {
- border-top: solid 6px $yellow;
- .sdc-modal__svg-use {
- fill: $yellow;
- }
- .svg-icon {
- &.__exclamationTriangleLine {
- width: 30px;
- height: 30px;
- }
- }
- }
- &.sdc-modal-type-error {
- border-top: solid 6px $red;
- .sdc-modal__svg-use {
- fill: $red;
- }
- .svg-icon {
- &.__error {
- width: 30px;
- height: 30px;
- }
- }
- }
- &.sdc-modal-type-custom {
- padding: 0px;
- border-top: none;
- .sdc-custom__header {
- @include box-sizing;
- background-color: $blue;
- color: $white;
- height: 50px;
- align-items: center;
- padding-top: 0px;
- .title {
- color: $white;
- padding-top: 0px;
- @include heading-3;
- }
- .sdc-modal__close-button {
- margin-top: 0px;
- width: 16px;
- height: 16px;
- line-height: 16px;
- .svg-icon > svg {
- fill: $white;
- color: $white;
- }
- &.disabled {
- cursor: default;
- .svg-icon > svg {
- fill: $silver;
- color: $silver;
- }
- }
- }
- .sdc-modal__close-button-svg {
- width: 16px;
- height: 16px;
- .sdc-modal__svg-use {
- fill: $white;
- }
- .svg-icon {
- height: 16px;
- width: 16px;
- fill: $white;
- }
- }
- }
- .sdc-modal__content {
- padding: 20px 40px;
- }
- }
- .sdc-modal__header {
- padding: 20px 20px 0 20px;
- display: flex;
- justify-content: space-between;
- text-align: left;
- height: 30px;
- line-height: 30px;
- .sdc-modal__icon {
- margin-right: 10px;
- }
- .title {
- @include heading-2;
- flex: 1 1 auto;
- color: $text-black;
- }
- .sdc-modal__close-button {
- order: 3;
- width: 14px;
- height: 14px;
- line-height: 14px;
- cursor: pointer;
- .sdc-modal__svg-use {
- fill: $black;
- }
- &.disabled {
- cursor: default;
- }
- }
- }
- .sdc-modal__content {
- order: 2;
- padding: 10px 60px 20px 60px;
- }
- .sdc-modal__footer {
- order: 3;
- background-color: $white;
- border-top: solid 1px $silver;
- padding: 10px;
- display: flex;
- justify-content: flex-end;
- button {
- margin-left: 10px;
- }
- }
- }
-}
-
-.modal-background {
- position: fixed;
- top: 0;
- right: 0;
- bottom: 0;
- left: 0;
- background-color: $black;
- opacity: 0.70;
- z-index: 1000;
- &.show {
- z-index: 1000;
- opacity: 0.70;
- transition: opacity .3s ease, z-index .3s;
- }
- &.hide {
- z-index: -1;
- opacity: 0;
- transition: opacity .35s ease, z-index .35s;
- }
-}
-
-.xl {
- width: 1200px;
-}
-
-.l {
- width: 875px;
-}
-
-.md {
- width: 650px;
-}
-
-.sm {
- width: 500px;
-}
-
-.xsm {
- width: 432px;
-}
diff --git a/components/modal/alert-modal.html b/components/modal/alert-modal.html
deleted file mode 100644
index 1ed72e8..0000000
--- a/components/modal/alert-modal.html
+++ /dev/null
@@ -1,45 +0,0 @@
-<div class="sdc-modal sm">
- <div class="sdc-modal__wrapper sdc-modal-type-alert">
- <div class="sdc-modal__header">
- <div class="svg-icon-wrapper sdc-modal__icon sdc-modal__svg-use bottom">
- <svg class="svg-icon __exclamationTriangleLine" version="1.1" id="exclamation-triangle-line_icon" x="0px" y="0px" viewBox="0 0 19.9 18" xml:space="preserve">
- <g>
- <path d="M17.6,18H2.4c-0.5,0-0.9-0.1-1.3-0.4c-0.5-0.3-0.9-0.8-1.1-1.4c-0.2-0.6-0.1-1.3,0.2-1.8l7.6-13c0.2-0.3,0.5-0.7,0.9-1
- C9.3,0,10-0.1,10.6,0.1c0.6,0.2,1.1,0.6,1.4,1.2l7.5,13c0.2,0.4,0.4,0.8,0.4,1.3C19.9,16.9,18.9,18,17.6,18z M9.9,1
- C9.7,1,9.4,1.1,9.2,1.2C9.1,1.3,8.9,1.6,8.7,1.8l-7.5,13C1,15.1,1,15.5,1,15.9c0.1,0.4,0.3,0.7,0.6,0.8C1.9,16.9,2.1,17,2.4,17
- h15.1c0.9,0,1.4-0.7,1.4-1.4c0-0.2-0.1-0.5-0.2-0.7l0,0l-7.6-13c-0.2-0.4-0.5-0.6-0.8-0.7C10.2,1,10.1,1,9.9,1z"></path>
- <g>
- <g>
- <g>
- <path d="M10,10.4L10,10.4c-0.3,0-0.5-0.2-0.5-0.5l0-5.2c0-0.3,0.2-0.5,0.5-0.5l0,0c0.3,0,0.5,0.2,0.5,0.5l0,5.2
- C10.5,10.2,10.2,10.4,10,10.4z"></path>
- </g>
- </g>
- <g>
- <g>
- <path d="M10,14.7L10,14.7c-0.3,0-0.5-0.2-0.5-0.5l0-1c0-0.3,0.2-0.5,0.5-0.5l0,0c0.3,0,0.5,0.2,0.5,0.5l0,1
- C10.5,14.5,10.2,14.7,10,14.7z"></path>
- </g>
- </g>
- </g>
- </g>
- </svg>
- </div>
- <div class="title ">Title</div>
- <div class="svg-icon-wrapper sdc-modal__close-button-svg sdc-modal__close-button clickable bottom">
- <svg class="svg-icon __close" version="1.1" id="close_icon" x="0px" y="0px" viewBox="0 0 10.1 10.1" xml:space="preserve">
- <g transform="translate(0,-952.36218)">
- <path d="M0.5,952.4c-0.2,0-0.4,0.2-0.4,0.5c0,0.1,0.1,0.2,0.1,0.3l4.3,4.3l-4.3,4.3c-0.2,0.2-0.2,0.4,0,0.6c0.2,0.2,0.4,0.2,0.6,0
- l0,0l4.3-4.4l4.3,4.3c0.2,0.2,0.4,0.2,0.6,0s0.2-0.4,0-0.6l0,0l-4.3-4.3l4.3-4.3c0.2-0.2,0.2-0.4,0-0.6c-0.1-0.1-0.2-0.1-0.4-0.1
- c-0.1,0-0.2,0.1-0.3,0.1l-4.2,4.3l-4.3-4.3C0.8,952.4,0.6,952.4,0.5,952.4z"></path>
- </g>
- </svg>
- </div>
- </div>
- <div class="sdc-modal__content ">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed risus nisl, egestas vitae erat non,pulvinar lacinia libero. Integer pulvinar pellentesque accumsan. Sed hendrerit lacus eu tempus pharetra</div>
- <div class="sdc-modal__footer">
- <div><button class="sdc-button sdc-button__primary ">Ok</button></div>
- </div>
- </div>
-</div>
-<div class="modal-background"></div> \ No newline at end of file
diff --git a/components/modal/custom-modal.html b/components/modal/custom-modal.html
deleted file mode 100644
index 1011ca6..0000000
--- a/components/modal/custom-modal.html
+++ /dev/null
@@ -1,27 +0,0 @@
-<div class="sdc-modal md">
- <div class="sdc-modal__wrapper sdc-modal-type-custom">
- <div class="sdc-custom__header sdc-modal__header">
- <div class="title ">Title</div>
- <div class="svg-icon-wrapper sdc-modal__close-button-svg sdc-modal__close-button clickable bottom">
- <svg class="svg-icon __close" version="1.1" id="close_icon" x="0px" y="0px" viewBox="0 0 10.1 10.1" xml:space="preserve">
- <g transform="translate(0,-952.36218)">
- <path d="M0.5,952.4c-0.2,0-0.4,0.2-0.4,0.5c0,0.1,0.1,0.2,0.1,0.3l4.3,4.3l-4.3,4.3c-0.2,0.2-0.2,0.4,0,0.6c0.2,0.2,0.4,0.2,0.6,0
- l0,0l4.3-4.4l4.3,4.3c0.2,0.2,0.4,0.2,0.6,0s0.2-0.4,0-0.6l0,0l-4.3-4.3l4.3-4.3c0.2-0.2,0.2-0.4,0-0.6c-0.1-0.1-0.2-0.1-0.4-0.1
- c-0.1,0-0.2,0.1-0.3,0.1l-4.2,4.3l-4.3-4.3C0.8,952.4,0.6,952.4,0.5,952.4z"></path>
- </g>
- </svg>
- </div>
- </div>
- <div class="sdc-modal__content ">
- <div>
- <div class="sdc-input "><label class="sdc-input__label " for="input1">I am a label</label><input type="text" class="sdc-input__input " id="input1" name="input1" value="Default"></div>
- <div class="sdc-input "><label class="sdc-input__label " for="input1">I am a label</label><input type="text" class="sdc-input__input " id="input1" name="input1" value="Default"></div>
- <div class="sdc-input "><label class="sdc-input__label " for="input1">I am a label</label><input type="text" class="sdc-input__input " id="input1" name="input1" value="Default"></div>
- </div>
- </div>
- <div class="sdc-modal__footer">
- <div><button class="sdc-button sdc-button__primary ">Ok</button><button class="sdc-button sdc-button__secondary">Close</button></div>
- </div>
- </div>
-</div>
-<div class="modal-background"></div> \ No newline at end of file
diff --git a/components/modal/error-modal.html b/components/modal/error-modal.html
deleted file mode 100644
index 5a3b5fb..0000000
--- a/components/modal/error-modal.html
+++ /dev/null
@@ -1,32 +0,0 @@
-<div class="sdc-modal sm">
- <div class="sdc-modal__wrapper sdc-modal-type-error">
- <div class="sdc-modal__header">
- <div class="svg-icon-wrapper sdc-modal__icon sdc-modal__svg-use bottom">
- <svg class="svg-icon __error" viewBox="0 0 17 17">
- <title>error</title>
- <g id="Layer_2" data-name="Layer 2">
- <g id="Layer_1-2" data-name="Layer 1">
- <path d="M8.5,1A7.5,7.5,0,1,1,1,8.5,7.51,7.51,0,0,1,8.5,1m0-1A8.5,8.5,0,1,0,17,8.5,8.5,8.5,0,0,0,8.5,0Z"></path>
- <polygon points="11.6 6.1 10.9 5.4 8.5 7.79 6.1 5.4 5.4 6.1 7.79 8.5 5.4 10.9 6.1 11.6 8.5 9.21 10.9 11.6 11.6 10.9 9.21 8.5 11.6 6.1"></polygon>
- </g>
- </g>
- </svg>
- </div>
- <div class="title ">Title</div>
- <div class="svg-icon-wrapper sdc-modal__close-button-svg sdc-modal__close-button clickable bottom">
- <svg class="svg-icon __close" version="1.1" id="close_icon" x="0px" y="0px" viewBox="0 0 10.1 10.1" xml:space="preserve">
- <g transform="translate(0,-952.36218)">
- <path d="M0.5,952.4c-0.2,0-0.4,0.2-0.4,0.5c0,0.1,0.1,0.2,0.1,0.3l4.3,4.3l-4.3,4.3c-0.2,0.2-0.2,0.4,0,0.6c0.2,0.2,0.4,0.2,0.6,0
- l0,0l4.3-4.4l4.3,4.3c0.2,0.2,0.4,0.2,0.6,0s0.2-0.4,0-0.6l0,0l-4.3-4.3l4.3-4.3c0.2-0.2,0.2-0.4,0-0.6c-0.1-0.1-0.2-0.1-0.4-0.1
- c-0.1,0-0.2,0.1-0.3,0.1l-4.2,4.3l-4.3-4.3C0.8,952.4,0.6,952.4,0.5,952.4z"></path>
- </g>
- </svg>
- </div>
- </div>
- <div class="sdc-modal__content ">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed risus nisl, egestas vitae erat non,pulvinar lacinia libero. Integer pulvinar pellentesque accumsan. Sed hendrerit lacus eu tempus pharetra</div>
- <div class="sdc-modal__footer">
- <div><button class="sdc-button sdc-button__primary ">Ok</button></div>
- </div>
- </div>
-</div>
-<div class="modal-background"></div> \ No newline at end of file
diff --git a/components/modal/standard-modal.html b/components/modal/standard-modal.html
deleted file mode 100644
index e367900..0000000
--- a/components/modal/standard-modal.html
+++ /dev/null
@@ -1,46 +0,0 @@
-<div class="sdc-modal sm">
- <div class="sdc-modal__wrapper sdc-modal-type-info">
- <div class="sdc-modal__header">
- <div class="svg-icon-wrapper sdc-modal__icon sdc-modal__svg-use bottom">
- <svg class="svg-icon __errorCircle" id="error-circle_icon" viewBox="0 0 16 16">
- <title>
- Asset 4
- </title>
- <g id="Layer_2" data-name="Layer 2">
- <g id="Layer_1-2" data-name="Layer 1">
- <path d="M8,0a8,8,0,1,0,8,8A8,8,0,0,0,8,0Zm.9,12.4H7.1V10.6H8.9Zm0-3.6H7.1V3.5H8.9Z">
- </path>
- </g>
- </g>
- </svg>
- </div>
- <div class="title ">
- Standard Modal
- </div>
- <div class="svg-icon-wrapper sdc-modal__close-button-svg sdc-modal__close-button bottom">
- <svg class="svg-icon __close" version="1.1" id="close_icon" x="0px" y="0px" viewBox="0 0 10.1 10.1" style="enable-background:new 0 0 10.1 10.1;" xml:space="preserve">
- <g transform="translate(0,-952.36218)">
- <path d="M0.5,952.4c-0.2,0-0.4,0.2-0.4,0.5c0,0.1,0.1,0.2,0.1,0.3l4.3,4.3l-4.3,4.3c-0.2,0.2-0.2,0.4,0,0.6c0.2,0.2,0.4,0.2,0.6,0
- l0,0l4.3-4.4l4.3,4.3c0.2,0.2,0.4,0.2,0.6,0s0.2-0.4,0-0.6l0,0l-4.3-4.3l4.3-4.3c0.2-0.2,0.2-0.4,0-0.6c-0.1-0.1-0.2-0.1-0.4-0.1
- c-0.1,0-0.2,0.1-0.3,0.1l-4.2,4.3l-4.3-4.3C0.8,952.4,0.6,952.4,0.5,952.4z">
- </path>
- </g>
- </svg>
- </div>
- </div>
- <div class="sdc-modal__content ">
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed risus nisl, egestas vitae erat non,pulvinar lacinia libero. Integer pulvinar pellentesque accumsan. Sed hendrerit lacus eu tempus pharetra
- </div>
- <div class="sdc-modal__footer">
- <div>
- <button class="sdc-button sdc-button__primary ">
- Yes
- </button>
- <button class="sdc-button sdc-button__secondary ">
- Close
- </button>
- </div>
- </div>
- </div>
- </div>
- <div class="modal-background"></div>
diff --git a/components/notification/_notification.scss b/components/notification/_notification.scss
deleted file mode 100644
index dafe8d4..0000000
--- a/components/notification/_notification.scss
+++ /dev/null
@@ -1,59 +0,0 @@
-@include mixin-keyframes-fade-in-vertically(-50px, 'keyframes-slide-notif-in');
-@include mixin-keyframes-fade-out-vertically(20px, 'keyframes-slide-notif-out');
-
-.sdc-notification {
- position:relative;
-
- .sdc-notification__wrapper {
- padding: 10px;
- margin-top:10px;
- width: 212px;
- animation: keyframes-slide-notif-in 1s;
-
- &.fade-out__animated {
- animation: keyframes-slide-notif-out 0.8s
- }
-
- &.type-info {
- background-color: #0e90d2; }
-
- &.type-error {
- background-color: #dd514c; }
-
- &.type-success {
- background-color: #5eb95e; }
-
- &.type-warn {
- background-color: #f37b1d; }
- }
-
- .sdc-notification__content {
- display:flex;
- flex-direction:row;
-
- .sdc-notification__icon {
- flex: 0 0 auto;
- height: 32px;
- width: 32px;
- margin: 0 14px 0 7px;
- background: url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2032%2032%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill%3A%2382c355%3B%7D.cls-2%7Bfill%3Anone%3Bstroke%3A%23ebf5e4%3Bstroke-miterlimit%3A10%3B%7D%3C/style%3E%3C/defs%3E%3Ctitle%3Evicon%3C/title%3E%3Cg%20id%3D%22Layer_1%22%20data-name%3D%22Layer%201%22%3E%3Ccircle%20class%3D%22cls-1%22%20cx%3D%2216%22%20cy%3D%2216%22%20r%3D%2216%22/%3E%3C/g%3E%3Cg%20id%3D%22Layer_4%22%20data-name%3D%22Layer%204%22%3E%3Cpolyline%20class%3D%22cls-2%22%20points%3D%227.46%2017.43%2015.36%2021.74%2022.54%208.57%22/%3E%3C/g%3E%3C/svg%3E')
- }
-
- .sdc-notification__message {
- flex: 1;
- text-align: left;
-
- .sdc-notification__title {
- font-size:13px;
- color: white;
- }
-
- .sdc-notification__text {
- font-size: 12px;
- color: white;
- }
- }
-
- }
-
-}
diff --git a/components/notification/notification-info.html b/components/notification/notification-info.html
deleted file mode 100644
index 6eab4c0..0000000
--- a/components/notification/notification-info.html
+++ /dev/null
@@ -1,3 +0,0 @@
-<div class="sdc-notification">
-
-</div>
diff --git a/components/notifications-container/_notifications-container.scss b/components/notifications-container/_notifications-container.scss
deleted file mode 100644
index 7a7a907..0000000
--- a/components/notifications-container/_notifications-container.scss
+++ /dev/null
@@ -1,8 +0,0 @@
-.sdc-notification-container {
-
-
- position:absolute;
- top: 10px;
- right: 10px;
- width: 232px;
-}
diff --git a/components/panel/basic-panel.html b/components/panel/basic-panel.html
deleted file mode 100644
index 14e6461..0000000
--- a/components/panel/basic-panel.html
+++ /dev/null
@@ -1,21 +0,0 @@
-<div class="sdc-panel">
- <h3>
- Panel
- </h3>
- <div class="sdc-checkbox">
- <label>
- <input type="checkbox" class="sdc-checkbox__input" />
- <span class="sdc-checkbox__label">
- filter-item
- </span>
- </label>
- </div>
- <div class="sdc-checkbox ">
- <label>
- <input type="checkbox" class="sdc-checkbox__input" checked="" />
- <span class="sdc-checkbox__label">
- filter-item-checked
- </span>
- </label>
- </div>
-</div> \ No newline at end of file
diff --git a/components/panel/panel.scss b/components/panel/panel.scss
deleted file mode 100644
index 921dd74..0000000
--- a/components/panel/panel.scss
+++ /dev/null
@@ -1,8 +0,0 @@
-.sdc-panel {
- width: 280px;
- overflow-y: auto;
- height: 100%;
- box-shadow: 1px 0px 4px 0px $light-gray;
- background-color: $white;
- padding: 0;
-} \ No newline at end of file
diff --git a/components/radio/_radio.scss b/components/radio/_radio.scss
deleted file mode 100644
index 9c51846..0000000
--- a/components/radio/_radio.scss
+++ /dev/null
@@ -1,69 +0,0 @@
-.sdc-radio {
- line-height: 14px;
-
- label {
- position: relative;
- display: block;
- padding-left: 14px;
- }
-
- .sdc-radio__input {
- appearance: none;
- -moz-appearance: none;
- -webkit-appearance: none;
- position: absolute;
- z-index: -1;
- opacity: 0;
-
- // Radio not checked
- + .sdc-radio__label:before {
- display: inline-block;
- position: absolute;
- left: 0;
- top: 0;
- content: "";
- width: 14px;
- height: 14px;
- box-sizing: content-box;
- background: no-repeat url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2214%22%20height%3D%2214%22%20viewBox%3D%220%200%2014%2014%22%3E%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Cpath%20fill%3D%22%23d2d2d2%22%20d%3D%22M7%2C14%20C3.13400675%2C14%200%2C10.8659932%200%2C7%20C0%2C3.13400675%203.13400675%2C0%207%2C0%20C8.35813029%2C0%209.62592397%2C0.386776975%2010.699241%2C1.0561909%20C12.6811805%2C2.29230086%2014%2C4.49213704%2014%2C7%20C14%2C10.8659932%2010.8659932%2C14%207%2C14%20Z%22%2F%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M7%2C13%20C10.3137085%2C13%2013%2C10.3137085%2013%2C7%20C13%2C3.6862915%2010.3137085%2C1%207%2C1%20C3.6862915%2C1%201%2C3.6862915%201%2C7%20C1%2C10.3137085%203.6862915%2C13%207%2C13%20Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E');
- }
-
- // Radio disabled and not checked
- &:disabled:not(:checked) {
- + .sdc-radio__label:before {
- background: no-repeat url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2214%22%20height%3D%2214%22%20viewBox%3D%220%200%2014%2014%22%3E%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Cpath%20fill%3D%22%23d2d2d2%22%20d%3D%22M7%2C14%20C3.13400675%2C14%200%2C10.8659932%200%2C7%20C0%2C3.13400675%203.13400675%2C0%207%2C0%20C8.35813029%2C0%209.62592397%2C0.386776975%2010.699241%2C1.0561909%20C12.6811805%2C2.29230086%2014%2C4.49213704%2014%2C7%20C14%2C10.8659932%2010.8659932%2C14%207%2C14%20Z%22%2F%3E%3Cpath%20fill%3D%22%23F2F2F2%22%20d%3D%22M7%2C13%20C10.3137085%2C13%2013%2C10.3137085%2013%2C7%20C13%2C3.6862915%2010.3137085%2C1%207%2C1%20C3.6862915%2C1%201%2C3.6862915%201%2C7%20C1%2C10.3137085%203.6862915%2C13%207%2C13%20Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E');
- }
- }
-
- &:checked {
- // Radio checked
- + .sdc-radio__label:before {
- background: no-repeat url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2214%22%20height%3D%2214%22%20viewBox%3D%220%200%2014%2014%22%3E%3Cg%20fill-rule%3D%22evenodd%22%3E%3Cpath%20fill%3D%22%23009fdb%22%20fill-rule%3D%22nonzero%22%20d%3D%22M7%2C14%20C3.13400675%2C14%200%2C10.8659932%200%2C7%20C0%2C3.13400675%203.13400675%2C0%207%2C0%20C10.8659932%2C0%2014%2C3.13400675%2014%2C7%20C14%2C10.8659932%2010.8659932%2C14%207%2C14%20Z%20M7%2C13.1764706%20C10.4111705%2C13.1764706%2013.1764706%2C10.4111705%2013.1764706%2C7%20C13.1764706%2C3.58882949%2010.4111705%2C0.823529412%207%2C0.823529412%20C3.58882949%2C0.823529412%200.823529412%2C3.58882949%200.823529412%2C7%20C0.823529412%2C10.4111705%203.58882949%2C13.1764706%207%2C13.1764706%20Z%22%2F%3E%3Ccircle%20fill%3D%22%23009fdb%22%20cx%3D%227%22%20cy%3D%227%22%20r%3D%224%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E');
- }
-
- // Radio disabled and checked
- &:disabled {
- + .sdc-radio__label:before {
- background: no-repeat url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2214%22%20height%3D%2214%22%20viewBox%3D%220%200%2014%2014%22%3E%3Cg%20fill-rule%3D%22evenodd%22%3E%3Cpath%20fill%3D%22%23d2d2d2%22%20fill-rule%3D%22nonzero%22%20d%3D%22M7%2C14%20C3.13400675%2C14%200%2C10.8659932%200%2C7%20C0%2C3.13400675%203.13400675%2C0%207%2C0%20C10.8659932%2C0%2014%2C3.13400675%2014%2C7%20C14%2C10.8659932%2010.8659932%2C14%207%2C14%20Z%20M7%2C13.1764706%20C10.4111705%2C13.1764706%2013.1764706%2C10.4111705%2013.1764706%2C7%20C13.1764706%2C3.58882949%2010.4111705%2C0.823529412%207%2C0.823529412%20C3.58882949%2C0.823529412%200.823529412%2C3.58882949%200.823529412%2C7%20C0.823529412%2C10.4111705%203.58882949%2C13.1764706%207%2C13.1764706%20Z%22%2F%3E%3Ccircle%20fill%3D%22%23d2d2d2%22%20cx%3D%227%22%20cy%3D%227%22%20r%3D%224%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E');
- }
- }
- }
-
- &:not(:disabled) {
- + .sdc-radio__label {
- cursor: pointer;
- }
- }
-
- &:disabled {
- + .sdc-radio__label {
- color: $gray;
- }
- }
- }
-
- .sdc-radio__label:not(:empty) {
- padding-left: 14px;
- @include body-1;
- }
-}
diff --git a/components/radio/radio-checked.html b/components/radio/radio-checked.html
deleted file mode 100644
index 78283b3..0000000
--- a/components/radio/radio-checked.html
+++ /dev/null
@@ -1,4 +0,0 @@
-<div class="sdc-radio">
- <input type="radio" name="grp1" checked class="sdc-radio__input" value="1">
- <label class="sdc-radio__label">This is the radio label</label>
-</div>
diff --git a/components/radio/radio-disabled-checked.html b/components/radio/radio-disabled-checked.html
deleted file mode 100644
index 9ba6f0c..0000000
--- a/components/radio/radio-disabled-checked.html
+++ /dev/null
@@ -1,4 +0,0 @@
-<div class="sdc-radio">
- <input type="radio" name="grp3" checked class="sdc-radio__input" value="1" disabled>
- <label class="sdc-radio__label">This is the radio label</label>
-</div>
diff --git a/components/radio/radio-disabled.html b/components/radio/radio-disabled.html
deleted file mode 100644
index 332435f..0000000
--- a/components/radio/radio-disabled.html
+++ /dev/null
@@ -1,4 +0,0 @@
-<div class="sdc-radio">
- <input type="radio" name="grp2" class="sdc-radio__input" value="1" disabled>
- <label class="sdc-radio__label">This is the radio label</label>
-</div>
diff --git a/components/radio/radio-unchecked.html b/components/radio/radio-unchecked.html
deleted file mode 100644
index 6f6a00d..0000000
--- a/components/radio/radio-unchecked.html
+++ /dev/null
@@ -1,4 +0,0 @@
-<div class="sdc-radio">
- <input type="radio" name="grp4" class="sdc-radio__input" value="1">
- <label class="sdc-radio__label">This is the radio label</label>
-</div>
diff --git a/components/radioGroup/_radioGroup.scss b/components/radioGroup/_radioGroup.scss
deleted file mode 100644
index 6b33a79..0000000
--- a/components/radioGroup/_radioGroup.scss
+++ /dev/null
@@ -1,20 +0,0 @@
-.sdc-radio-group {
- .sdc-radio-group__radios {
- display: flex;
- }
- .sdc-radio-group__legend {
- @include body-2-emphasis;
- display: inline-block;
- margin-bottom: 5px;
- }
- .sdc-radio__label {
- @include body-1;
- margin-right: 20px;
- }
- .vertical{
- flex-direction: column;
- .sdc-radio{
- margin-bottom: 15px;
- }
- }
-}
diff --git a/components/radioGroup/radio-group-disabled.html b/components/radioGroup/radio-group-disabled.html
deleted file mode 100644
index 3cdedc0..0000000
--- a/components/radioGroup/radio-group-disabled.html
+++ /dev/null
@@ -1,13 +0,0 @@
-<div class='sdc-radio-group'>
- <label class='sdc-radio-group__legend'>Group D</label>
- <div class='sdc-radio-group__radios'>
- <div class="sdc-radio">
- <input type="radio" name="grp4" class="sdc-radio__input" value="1" disabled>
- <label class="sdc-radio__label">option 1</label>
- </div>
- <div class="sdc-radio">
- <input type="radio" name="grp4" class="sdc-radio__input" value="2" disabled>
- <label class="sdc-radio__label">option 2</label>
- </div>
- </div>
-</div>
diff --git a/components/radioGroup/radio-group-no-title.html b/components/radioGroup/radio-group-no-title.html
deleted file mode 100644
index 76217fe..0000000
--- a/components/radioGroup/radio-group-no-title.html
+++ /dev/null
@@ -1,12 +0,0 @@
-<div class='sdc-radio-group'>
- <div class='sdc-radio-group__radios'>
- <div class="sdc-radio">
- <input type="radio" name="grp5" class="sdc-radio__input" value="1">
- <label class="sdc-radio__label">option 1</label>
- </div>
- <div class="sdc-radio">
- <input type="radio" name="grp5" class="sdc-radio__input" value="2">
- <label class="sdc-radio__label">option 2</label>
- </div>
- </div>
-</div>
diff --git a/components/radioGroup/radio-group-value.html b/components/radioGroup/radio-group-value.html
deleted file mode 100644
index ac604a6..0000000
--- a/components/radioGroup/radio-group-value.html
+++ /dev/null
@@ -1,13 +0,0 @@
-<div class='sdc-radio-group'>
- <label class='sdc-radio-group__legend'>Group B</label>
- <div class='sdc-radio-group__radios'>
- <div class="sdc-radio">
- <input type="radio" name="grp2" checked class="sdc-radio__input" value="1">
- <label class="sdc-radio__label">option 1</label>
- </div>
- <div class="sdc-radio">
- <input type="radio" name="grp2" class="sdc-radio__input" value="2">
- <label class="sdc-radio__label">option 2</label>
- </div>
- </div>
-</div>
diff --git a/components/radioGroup/radio-group.html b/components/radioGroup/radio-group.html
deleted file mode 100644
index baa1444..0000000
--- a/components/radioGroup/radio-group.html
+++ /dev/null
@@ -1,13 +0,0 @@
-<div class='sdc-radio-group'>
- <label class='sdc-radio-group__legend'>Group C</label>
- <div class='sdc-radio-group__radios'>
- <div class="sdc-radio">
- <input type="radio" name="grp3" class="sdc-radio__input" value="1">
- <label class="sdc-radio__label">option 1</label>
- </div>
- <div class="sdc-radio">
- <input type="radio" name="grp3" class="sdc-radio__input" value="2">
- <label class="sdc-radio__label">option 2</label>
- </div>
- </div>
-</div>
diff --git a/components/search-bar/_search-bar.scss b/components/search-bar/_search-bar.scss
deleted file mode 100644
index 3e2dfad..0000000
--- a/components/search-bar/_search-bar.scss
+++ /dev/null
@@ -1,61 +0,0 @@
-$inputHeight: 38px;
-.sdc-search-bar{
- .search-bar-container{
- display: flex;
- align-items: flex-end;
- .sdc-input-wrapper{
- flex-grow: 1;
- .sdc-input{
- margin: 0;
- .sdc-input__input{
- border-bottom-right-radius: 0;
- border-top-right-radius: 0;
- }
- }
- }
- .search-button{
- width: $inputHeight;
- height: $inputHeight - 2;
- border: solid 1px $light-gray;
- border-left: none;
- background-color: $light-silver;
- cursor: auto;
- border-top-right-radius: 2px;
- border-bottom-right-radius: 2px;
-
- svg{
- height: 20px;
- width: 20px;
- position: relative;
- top: 50%;
- left: 50%;
- transform: translate(-50%,-50% );
- path{
- fill: $gray;
- }
- }
- }
-
- &.not-empty{
- .sdc-input__input {
- border-color: $blue;
- }
- .search-button{
- background-color: $lighter-blue;
- border-color: $blue;
- cursor: pointer;
- svg path{
- fill: $blue;
- }
- &:hover {
- background-color: $light-blue;
- svg{
- path{
- fill: $white;
- }
- }
- }
- }
- }
- }
-}
diff --git a/components/search-bar/search-bar-with-text.html b/components/search-bar/search-bar-with-text.html
deleted file mode 100644
index f623c2f..0000000
--- a/components/search-bar/search-bar-with-text.html
+++ /dev/null
@@ -1,17 +0,0 @@
-<div class="sdc-search-bar">
- <div class="search-bar-container not-empty">
- <label class="sdc-input__label">search box example:</label>
- <input class="sdc-input__input" type="text" name="undefined" placeholder="search text">
- <span class="search-button magnify-button">
- <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="24" height="24" viewBox="0 0 24 24">
- <defs>
- <path id="search-a" d="M2,8.5 C2,4.9 4.9,2 8.5,2 C12.1,2 15,4.9 15,8.5 C15,10.3 14.3,11.9 13.1,13.1 C11.9,14.3 10.3,15 8.5,15 C4.9,15 2,12.1 2,8.5 M19.7,18.3 L15.2,13.8 C16.3,12.4 17,10.5 17,8.5 C17,3.8 13.2,0 8.5,0 C3.8,0 0,3.8 0,8.5 C0,13.2 3.8,17 8.5,17 C10.5,17 12.3,16.3 13.8,15.2 L18.3,19.7 C18.5,19.9 18.8,20 19,20 C19.2,20 19.5,19.9 19.7,19.7 C20.1,19.3 20.1,18.7 19.7,18.3"/>
- </defs>
- <g fill="none" fill-rule="evenodd" transform="translate(2 2)">
- <use fill="#000" xlink:href="#search-a"/>
- </g>
- </svg>
- </span>
- </div>
-</div>
-
diff --git a/components/search-bar/search-bar.html b/components/search-bar/search-bar.html
deleted file mode 100644
index d1b9171..0000000
--- a/components/search-bar/search-bar.html
+++ /dev/null
@@ -1,16 +0,0 @@
-<div class="sdc-search-bar">
- <div class="search-bar-container">
- <label class="sdc-input__label">search box example:</label>
- <input class="sdc-input__input" type="text" name="undefined" placeholder="search text">
- <span class="search-button magnify-button">
- <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="24" height="24" viewBox="0 0 24 24">
- <defs>
- <path id="search-a" d="M2,8.5 C2,4.9 4.9,2 8.5,2 C12.1,2 15,4.9 15,8.5 C15,10.3 14.3,11.9 13.1,13.1 C11.9,14.3 10.3,15 8.5,15 C4.9,15 2,12.1 2,8.5 M19.7,18.3 L15.2,13.8 C16.3,12.4 17,10.5 17,8.5 C17,3.8 13.2,0 8.5,0 C3.8,0 0,3.8 0,8.5 C0,13.2 3.8,17 8.5,17 C10.5,17 12.3,16.3 13.8,15.2 L18.3,19.7 C18.5,19.9 18.8,20 19,20 C19.2,20 19.5,19.9 19.7,19.7 C20.1,19.3 20.1,18.7 19.7,18.3"/>
- </defs>
- <g fill="none" fill-rule="evenodd" transform="translate(2 2)">
- <use fill="#000" xlink:href="#search-a"/>
- </g>
- </svg>
- </span>
- </div>
-</div>
diff --git a/components/tabs/tabs-disabled.html b/components/tabs/tabs-disabled.html
deleted file mode 100644
index 5e67f2a..0000000
--- a/components/tabs/tabs-disabled.html
+++ /dev/null
@@ -1,8 +0,0 @@
-<div class="sdc-tabs sdc-tabs-header">
- <ul class="sdc-tabs-list" role="tablist">
- <li class="sdc-tab sdc-tab-active" role="tab">tab 1</li>
- <li class="sdc-tab" role="tab" disabled>tab 2</li>
- <li class="sdc-tab" role="tab" disabled>tab 3</li>
- </ul>
- <div class="sdc-tab-content" role="tabpanel"><div>This is the active tab content</div></div>
-</div>
diff --git a/components/tabs/tabs-header.html b/components/tabs/tabs-header.html
deleted file mode 100644
index 622dc32..0000000
--- a/components/tabs/tabs-header.html
+++ /dev/null
@@ -1,8 +0,0 @@
-<div class="sdc-tabs sdc-tabs-header">
- <ul class="sdc-tabs-list" role="tablist">
- <li class="sdc-tab sdc-tab-active" role="tab">tab 1</li>
- <li class="sdc-tab" role="tab">tab 2</li>
- <li class="sdc-tab" role="tab">tab 3</li>
- </ul>
- <div class="sdc-tab-content" role="tabpanel"><div>This is the active tab content</div></div>
-</div>
diff --git a/components/tabs/tabs-menu.html b/components/tabs/tabs-menu.html
deleted file mode 100644
index 753886f..0000000
--- a/components/tabs/tabs-menu.html
+++ /dev/null
@@ -1,8 +0,0 @@
-<div class="sdc-tabs sdc-tabs-menu">
- <ul class="sdc-tabs-list" role="tablist">
- <li class="sdc-tab sdc-tab-active" role="tab">tab 1</li>
- <li class="sdc-tab" role="tab">tab 2</li>
- <li class="sdc-tab" role="tab">tab 3</li>
- </ul>
- <div class="sdc-tab-content" role="tabpanel"><div>This is the active tab content</div></div>
-</div>
diff --git a/components/tabs/tabs.scss b/components/tabs/tabs.scss
deleted file mode 100644
index f5df0ba..0000000
--- a/components/tabs/tabs.scss
+++ /dev/null
@@ -1,35 +0,0 @@
-.sdc-tabs {
- .sdc-tab {
- display: inline-block;
- cursor: pointer;
- text-transform: capitalize;
- color: $dark-gray;
- padding: 0px 10px 7px 10px;
- margin-right: 20px;
- &:last-child {
- margin-right: 0;
- }
- &.sdc-tab-active {
- color: $blue;
- border-bottom: 2px solid $blue;
- }
- &[disabled] {
- opacity: 0.3;
- cursor: default;
- }
- }
- &.sdc-tabs-header {
- .sdc-tab {
- @include heading-2;
- }
- }
- &.sdc-tabs-menu {
- .sdc-tab {
- @include body-1;
- padding: 0px 10px 4px 10px;
- }
- }
- .sdc-tab-content {
- margin-top: 30px;
- }
-}
diff --git a/components/tag-cloud/_tag-cloud.scss b/components/tag-cloud/_tag-cloud.scss
deleted file mode 100644
index 6a94a10..0000000
--- a/components/tag-cloud/_tag-cloud.scss
+++ /dev/null
@@ -1,116 +0,0 @@
-.sdc-tag-cloud-new-item-field{
- display: flex;
- align-items: flex-end;
- sdc-input{
- flex-grow: 1;
- .sdc-input{
- margin-bottom: 0;
- .sdc-input__input{
- border-bottom-right-radius: 0;
- border-top-right-radius: 0;
- }
- }
- }
- .not-empty{
- .sdc-input__input {
- border-color: $blue;
- }
-
- }
- .error{
- .sdc-input__input {
- border: solid 1px $red;
- color: $red;
- outline: none;
- }
- }
- .add-button{
- cursor: pointer;
- height: 36px;
- width: 36px;
- text-align: center;
- background-color: $lighter-blue;
- border: solid 1px $blue;
- border-left: none;
- border-top-right-radius: 2px;
- &.disabled{
- cursor: default;
- background-color: $light-silver;
- border-color: $light-gray;
- .plus-icon svg g{
- fill: $gray;
- }
- }
- .plus-icon{
- line-height: 46px;
- svg{
- height: 20px;
- width: 20px;
- g{
- fill: $blue;
- }
- }
- }
- }
-
- &.not-empty{
- .add-button:hover{
- background-color: $light-blue;
- svg{
- g{
- fill: $white;
- }
- }
- }
- }
-}
-
-.sdc-list-container{
- height: 120px;
- overflow-y: auto;
- border: solid 1px $light-gray;
- border-top: none;
- border-radius: 2px;
- background-color: $white;
- padding: 10px 10px 0 0;
- .sdc-tag-item{
- padding: 0 0 10px 10px;
- display: inline-block;
- .tag-item{
- min-width: 100px;
- background-color: $white;
- border: solid 1px $light-gray;
- border-radius: 20px;
- height: 28px;
- line-height: 28px;
- padding: 0 10px;
- color: $text-black;
- @include body-3;
- &.view-only{
- border-color: $silver;
- }
- .delete-item{
- cursor: pointer;
- padding-left: 10px;
- float: right;
- svg{
- height: 12px;
- width: 12px;
- margin-top: 8px;
- g{
- fill: $dark-gray;
- }
- }
- }
- &:hover:not(.view-only){
- background-color: $lighter-blue;
- border-color: $lighter-blue;
- .delete-item{
- svg g{
- fill: $blue;
- }
- }
- }
- }
- }
-}
diff --git a/components/tag-cloud/disabled-list.html b/components/tag-cloud/disabled-list.html
deleted file mode 100644
index 6091525..0000000
--- a/components/tag-cloud/disabled-list.html
+++ /dev/null
@@ -1,31 +0,0 @@
-<div class="sdc-tag-cloud-new-item-field">
- <div class="sdc-input">
- <label class="sdc-input__label">Please Enter value</label>
- <input class="sdc-input__input disabled" type="text" name="undefined" placeholder="Type a value and then click enter or '+'" disabled="disabled">
- </div>
- <div class="add-button disabled">
- <span class="plus-icon">
- <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="24" height="24" viewBox="0 0 24 24">
- <defs>
- <path id="add-a" d="M15,7 L9,7 L9,1 C9,0.4 8.6,0 8,0 C7.4,0 7,0.4 7,1 L7,7 L1,7 C0.4,7 0,7.4 0,8 C0,8.6 0.4,9 1,9 L7,9 L7,15 C7,15.6 7.4,16 8,16 C8.6,16 9,15.6 9,15 L9,9 L15,9 C15.6,9 16,8.6 16,8 C16,7.4 15.6,7 15,7"/>
- </defs>
- <g fill="none" fill-rule="evenodd" transform="translate(4 4)">
- <use xlink:href="#add-a"/>
- </g>
- </svg>
- </span>
- </div>
-</div>
-<div class="sdc-list-container">
- <div class="sdc-tag-item">
- <div class="tag-item view-only">
- <span>aaa</span>
- </div>
- </div>
-
- <div class="sdc-tag-item">
- <div class="tag-item view-only">
- <span>bbb</span>
- </div>
- </div>
-</div>
diff --git a/components/tag-cloud/list-with-active-add-button.html b/components/tag-cloud/list-with-active-add-button.html
deleted file mode 100644
index 8bde59f..0000000
--- a/components/tag-cloud/list-with-active-add-button.html
+++ /dev/null
@@ -1,50 +0,0 @@
-<div class="sdc-tag-cloud-new-item-field">
- <div class="sdc-input">
- <label class="sdc-input__label">Please Enter value</label>
- <input class="sdc-input__input" type="text" name="undefined" placeholder="Type a value and then click enter or '+'">
- </div>
- <div class="add-button">
- <span class="plus-icon">
- <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="24" height="24" viewBox="0 0 24 24">
- <defs>
- <path id="add-a" d="M15,7 L9,7 L9,1 C9,0.4 8.6,0 8,0 C7.4,0 7,0.4 7,1 L7,7 L1,7 C0.4,7 0,7.4 0,8 C0,8.6 0.4,9 1,9 L7,9 L7,15 C7,15.6 7.4,16 8,16 C8.6,16 9,15.6 9,15 L9,9 L15,9 C15.6,9 16,8.6 16,8 C16,7.4 15.6,7 15,7"/>
- </defs>
- <g fill="none" fill-rule="evenodd" transform="translate(4 4)">
- <use xlink:href="#add-a"/>
- </g>
- </svg>
- </span>
- </div>
-</div>
-<div class="sdc-list-container">
- <div class="sdc-tag-item">
- <div class="tag-item">
- <span>aaa</span>
- <span class="delete-item">
- <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="24" height="24" viewBox="0 0 24 24">
- <defs>
- <path id="close-a" d="M13.5996,12 L19.6576,5.942 C20.1146,5.485 20.1146,4.8 19.6576,4.343 C19.2006,3.886 18.5146,3.886 18.0576,4.343 L11.9996,10.4 L5.9426,4.343 C5.4856,3.886 4.7996,3.886 4.3426,4.343 C3.8856,4.8 3.8856,5.485 4.3426,5.942 L10.4006,12 L4.3426,18.058 C3.8856,18.515 3.8856,19.2 4.3426,19.657 C4.5716,19.886 4.7996,20 5.1426,20 C5.4856,20 5.7136,19.886 5.9426,19.657 L11.9996,13.6 L18.0576,19.657 C18.2866,19.886 18.6286,20 18.8576,20 C19.0856,20 19.4286,19.886 19.6576,19.657 C20.1146,19.2 20.1146,18.515 19.6576,18.058 L13.5996,12 Z"/>
- </defs>
- <g fill="none" fill-rule="evenodd">
- <use xlink:href="#close-a"/>
- </g>
- </svg>
- </span>
- </div>
- </div>
- <div class="sdc-tag-item">
- <div class="tag-item">
- <span>bbb</span>
- <span class="delete-item">
- <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="24" height="24" viewBox="0 0 24 24">
- <defs>
- <path id="close-a" d="M13.5996,12 L19.6576,5.942 C20.1146,5.485 20.1146,4.8 19.6576,4.343 C19.2006,3.886 18.5146,3.886 18.0576,4.343 L11.9996,10.4 L5.9426,4.343 C5.4856,3.886 4.7996,3.886 4.3426,4.343 C3.8856,4.8 3.8856,5.485 4.3426,5.942 L10.4006,12 L4.3426,18.058 C3.8856,18.515 3.8856,19.2 4.3426,19.657 C4.5716,19.886 4.7996,20 5.1426,20 C5.4856,20 5.7136,19.886 5.9426,19.657 L11.9996,13.6 L18.0576,19.657 C18.2866,19.886 18.6286,20 18.8576,20 C19.0856,20 19.4286,19.886 19.6576,19.657 C20.1146,19.2 20.1146,18.515 19.6576,18.058 L13.5996,12 Z"/>
- </defs>
- <g fill="none" fill-rule="evenodd">
- <use xlink:href="#close-a"/>
- </g>
- </svg>
- </span>
- </div>
- </div>
-</div>
diff --git a/components/tag-cloud/list-with-some-read-only-items.html b/components/tag-cloud/list-with-some-read-only-items.html
deleted file mode 100644
index 0db7a07..0000000
--- a/components/tag-cloud/list-with-some-read-only-items.html
+++ /dev/null
@@ -1,61 +0,0 @@
-<div class="sdc-tag-cloud-new-item-field">
- <div class="sdc-input">
- <label class="sdc-input__label">Please Enter value</label>
- <input class="sdc-input__input" type="text" name="undefined" placeholder="Type a value and then click enter or '+'">
- </div>
-
- <div class="add-button disabled">
- <span class="plus-icon">
- <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="24" height="24" viewBox="0 0 24 24">
- <defs>
- <path id="add-a" d="M15,7 L9,7 L9,1 C9,0.4 8.6,0 8,0 C7.4,0 7,0.4 7,1 L7,7 L1,7 C0.4,7 0,7.4 0,8 C0,8.6 0.4,9 1,9 L7,9 L7,15 C7,15.6 7.4,16 8,16 C8.6,16 9,15.6 9,15 L9,9 L15,9 C15.6,9 16,8.6 16,8 C16,7.4 15.6,7 15,7"/>
- </defs>
- <g fill="none" fill-rule="evenodd" transform="translate(4 4)">
- <use xlink:href="#add-a"/>
- </g>
- </svg>
- </span>
- </div>
-</div>
-<div class="sdc-list-container">
- <div class="sdc-tag-item">
- <div class="tag-item">
- <span>aaa</span>
- <span class="delete-item">
- <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="24" height="24" viewBox="0 0 24 24">
- <defs>
- <path id="close-a" d="M13.5996,12 L19.6576,5.942 C20.1146,5.485 20.1146,4.8 19.6576,4.343 C19.2006,3.886 18.5146,3.886 18.0576,4.343 L11.9996,10.4 L5.9426,4.343 C5.4856,3.886 4.7996,3.886 4.3426,4.343 C3.8856,4.8 3.8856,5.485 4.3426,5.942 L10.4006,12 L4.3426,18.058 C3.8856,18.515 3.8856,19.2 4.3426,19.657 C4.5716,19.886 4.7996,20 5.1426,20 C5.4856,20 5.7136,19.886 5.9426,19.657 L11.9996,13.6 L18.0576,19.657 C18.2866,19.886 18.6286,20 18.8576,20 C19.0856,20 19.4286,19.886 19.6576,19.657 C20.1146,19.2 20.1146,18.515 19.6576,18.058 L13.5996,12 Z"/>
- </defs>
- <g fill="none" fill-rule="evenodd">
- <use xlink:href="#close-a"/>
- </g>
- </svg>
- </span>
- </div>
- </div>
- <div class="sdc-tag-item">
- <div class="tag-item view-only">
- <span>bbb</span>
- </div>
- </div>
- <div class="sdc-tag-item">
- <div class="tag-item">
- <span>ccc</span>
- <span class="delete-item">
- <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="24" height="24" viewBox="0 0 24 24">
- <defs>
- <path id="close-a" d="M13.5996,12 L19.6576,5.942 C20.1146,5.485 20.1146,4.8 19.6576,4.343 C19.2006,3.886 18.5146,3.886 18.0576,4.343 L11.9996,10.4 L5.9426,4.343 C5.4856,3.886 4.7996,3.886 4.3426,4.343 C3.8856,4.8 3.8856,5.485 4.3426,5.942 L10.4006,12 L4.3426,18.058 C3.8856,18.515 3.8856,19.2 4.3426,19.657 C4.5716,19.886 4.7996,20 5.1426,20 C5.4856,20 5.7136,19.886 5.9426,19.657 L11.9996,13.6 L18.0576,19.657 C18.2866,19.886 18.6286,20 18.8576,20 C19.0856,20 19.4286,19.886 19.6576,19.657 C20.1146,19.2 20.1146,18.515 19.6576,18.058 L13.5996,12 Z"/>
- </defs>
- <g fill="none" fill-rule="evenodd">
- <use xlink:href="#close-a"/>
- </g>
- </svg>
- </span>
- </div>
- </div>
- <tag class="sdc-tag-item">
- <div class="tag-item view-only">
- <span>ddd</span>
- </div>
- </tag>
-</div>
diff --git a/components/tag-cloud/list-with-unique-error.html b/components/tag-cloud/list-with-unique-error.html
deleted file mode 100644
index 14de80c..0000000
--- a/components/tag-cloud/list-with-unique-error.html
+++ /dev/null
@@ -1,52 +0,0 @@
-<div class="sdc-tag-cloud-new-item-field">
- <div class="sdc-input">
- <label class="sdc-input__label">Please Enter value</label>
- <input class="sdc-input__input" type="text" name="undefined" placeholder="Type a value and then click enter or '+'">
- </div>
- <div class="add-button disabled">
- <span class="plus-icon">
- <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="24" height="24" viewBox="0 0 24 24">
- <defs>
- <path id="add-a" d="M15,7 L9,7 L9,1 C9,0.4 8.6,0 8,0 C7.4,0 7,0.4 7,1 L7,7 L1,7 C0.4,7 0,7.4 0,8 C0,8.6 0.4,9 1,9 L7,9 L7,15 C7,15.6 7.4,16 8,16 C8.6,16 9,15.6 9,15 L9,9 L15,9 C15.6,9 16,8.6 16,8 C16,7.4 15.6,7 15,7"/>
- </defs>
- <g fill="none" fill-rule="evenodd" transform="translate(4 4)">
- <use xlink:href="#add-a"/>
- </g>
- </svg>
- </span>
- </div>
-</div>
-<div class="sdc-list-container">
- <div class="sdc-tag-item">
- <div class="tag-item">
- <span>aaa</span>
- <span class="delete-item">
- <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="24" height="24" viewBox="0 0 24 24">
- <defs>
- <path id="close-a" d="M13.5996,12 L19.6576,5.942 C20.1146,5.485 20.1146,4.8 19.6576,4.343 C19.2006,3.886 18.5146,3.886 18.0576,4.343 L11.9996,10.4 L5.9426,4.343 C5.4856,3.886 4.7996,3.886 4.3426,4.343 C3.8856,4.8 3.8856,5.485 4.3426,5.942 L10.4006,12 L4.3426,18.058 C3.8856,18.515 3.8856,19.2 4.3426,19.657 C4.5716,19.886 4.7996,20 5.1426,20 C5.4856,20 5.7136,19.886 5.9426,19.657 L11.9996,13.6 L18.0576,19.657 C18.2866,19.886 18.6286,20 18.8576,20 C19.0856,20 19.4286,19.886 19.6576,19.657 C20.1146,19.2 20.1146,18.515 19.6576,18.058 L13.5996,12 Z"/>
- </defs>
- <g fill="none" fill-rule="evenodd">
- <use xlink:href="#close-a"/>
- </g>
- </svg>
- </span>
- </div>
- </div>
- <div class="sdc-tag-item">
- <div class="tag-item">
- <span>bbb</span>
- <span class="delete-item">
- <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="24" height="24" viewBox="0 0 24 24">
- <defs>
- <path id="close-a" d="M13.5996,12 L19.6576,5.942 C20.1146,5.485 20.1146,4.8 19.6576,4.343 C19.2006,3.886 18.5146,3.886 18.0576,4.343 L11.9996,10.4 L5.9426,4.343 C5.4856,3.886 4.7996,3.886 4.3426,4.343 C3.8856,4.8 3.8856,5.485 4.3426,5.942 L10.4006,12 L4.3426,18.058 C3.8856,18.515 3.8856,19.2 4.3426,19.657 C4.5716,19.886 4.7996,20 5.1426,20 C5.4856,20 5.7136,19.886 5.9426,19.657 L11.9996,13.6 L18.0576,19.657 C18.2866,19.886 18.6286,20 18.8576,20 C19.0856,20 19.4286,19.886 19.6576,19.657 C20.1146,19.2 20.1146,18.515 19.6576,18.058 L13.5996,12 Z"/>
- </defs>
- <g fill="none" fill-rule="evenodd">
- <use xlink:href="#close-a"/>
- </g>
- </svg>
- </span>
- </div>
- </div>
-</div>
-<div class="error-message">This value is already in the list</div>
-
diff --git a/components/tag-cloud/simple-list.html b/components/tag-cloud/simple-list.html
deleted file mode 100644
index 075751f..0000000
--- a/components/tag-cloud/simple-list.html
+++ /dev/null
@@ -1,50 +0,0 @@
-<div class="sdc-tag-cloud-new-item-field">
- <div class="sdc-input">
- <label class="sdc-input__label">Please Enter value</label>
- <input class="sdc-input__input" type="text" name="undefined" placeholder="Type a value and then click enter or '+'">
- </div>
- <div class="add-button disabled">
- <span class="plus-icon">
- <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="24" height="24" viewBox="0 0 24 24">
- <defs>
- <path id="add-a" d="M15,7 L9,7 L9,1 C9,0.4 8.6,0 8,0 C7.4,0 7,0.4 7,1 L7,7 L1,7 C0.4,7 0,7.4 0,8 C0,8.6 0.4,9 1,9 L7,9 L7,15 C7,15.6 7.4,16 8,16 C8.6,16 9,15.6 9,15 L9,9 L15,9 C15.6,9 16,8.6 16,8 C16,7.4 15.6,7 15,7"/>
- </defs>
- <g fill="none" fill-rule="evenodd" transform="translate(4 4)">
- <use xlink:href="#add-a"/>
- </g>
- </svg>
- </span>
- </div>
-</div>
-<div class="sdc-list-container">
- <div class="sdc-tag-item">
- <div class="tag-item">
- <span>aaa</span>
- <span class="delete-item">
- <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="24" height="24" viewBox="0 0 24 24">
- <defs>
- <path id="close-a" d="M13.5996,12 L19.6576,5.942 C20.1146,5.485 20.1146,4.8 19.6576,4.343 C19.2006,3.886 18.5146,3.886 18.0576,4.343 L11.9996,10.4 L5.9426,4.343 C5.4856,3.886 4.7996,3.886 4.3426,4.343 C3.8856,4.8 3.8856,5.485 4.3426,5.942 L10.4006,12 L4.3426,18.058 C3.8856,18.515 3.8856,19.2 4.3426,19.657 C4.5716,19.886 4.7996,20 5.1426,20 C5.4856,20 5.7136,19.886 5.9426,19.657 L11.9996,13.6 L18.0576,19.657 C18.2866,19.886 18.6286,20 18.8576,20 C19.0856,20 19.4286,19.886 19.6576,19.657 C20.1146,19.2 20.1146,18.515 19.6576,18.058 L13.5996,12 Z"/>
- </defs>
- <g fill="none" fill-rule="evenodd">
- <use xlink:href="#close-a"/>
- </g>
- </svg>
- </span>
- </div>
- </div>
- <div class="sdc-tag-item">
- <div class="tag-item">
- <span>bbb</span>
- <span class="delete-item">
- <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="24" height="24" viewBox="0 0 24 24">
- <defs>
- <path id="close-a" d="M13.5996,12 L19.6576,5.942 C20.1146,5.485 20.1146,4.8 19.6576,4.343 C19.2006,3.886 18.5146,3.886 18.0576,4.343 L11.9996,10.4 L5.9426,4.343 C5.4856,3.886 4.7996,3.886 4.3426,4.343 C3.8856,4.8 3.8856,5.485 4.3426,5.942 L10.4006,12 L4.3426,18.058 C3.8856,18.515 3.8856,19.2 4.3426,19.657 C4.5716,19.886 4.7996,20 5.1426,20 C5.4856,20 5.7136,19.886 5.9426,19.657 L11.9996,13.6 L18.0576,19.657 C18.2866,19.886 18.6286,20 18.8576,20 C19.0856,20 19.4286,19.886 19.6576,19.657 C20.1146,19.2 20.1146,18.515 19.6576,18.058 L13.5996,12 Z"/>
- </defs>
- <g fill="none" fill-rule="evenodd">
- <use xlink:href="#close-a"/>
- </g>
- </svg>
- </span>
- </div>
- </div>
-</div>
diff --git a/components/tile/_tile.scss b/components/tile/_tile.scss
deleted file mode 100644
index 80629cf..0000000
--- a/components/tile/_tile.scss
+++ /dev/null
@@ -1,172 +0,0 @@
-.sdc-tile {
- $tile-full-width: 204px;
- $tile-full-height: 204px;
- $tile-padding: 10px;
-
- $header-height: $body-font-1;
- $footer-height: 23px;
- $content-height: 100%;
-
- width: $tile-full-width;
- height: $tile-full-height;
-
- padding: $tile-padding;
- border: 1px solid $silver;
- @include border-radius(2px);
- @include box-sizing;
-
- display: flex;
- flex-direction: column;
- justify-content: space-between;
-
- position: relative;
- cursor: pointer;
- user-select: none;
-
- background: $white;
- color: $text-black;
- fill: $dark-gray;
- transition: box-shadow 0.3s ease-in-out;
- @include body-3;
- @include box-shadow(0 1px 4px 0 rgba($text-black, 0.06));
-
- &:hover {
- border-color: $light-gray;
- @include box-shadow( 0 10px 30px 0 rgba($text-black, 0.25));
- }
-
- .blue {
- color: $blue;
- fill: $blue;
- }
-
- .purple {
- color: $purple;
- fill: $purple;
- }
-
- .centered {
- &.sdc-tile-footer, .sdc-tile-info-line {
- text-align: center;
- }
- }
-
- .sdc-tile-header {
- height: 1.1em;
- line-height: 1em;
- @include ellipsis($display: block);
-
- font-size: $body-font-1;
- text-transform: uppercase;
- }
-
- .sdc-tile-content {
- display: flex;
- flex-direction: column;
- justify-content: space-between;
- height: $content-height;
-
- .sdc-tile-content-icon {
- margin-top: 27px;
- text-align: center;
-
- svg {
- width: 50px;
- height: 50px;
-
- &.__vsp {
- width: 60px;
- height: 40px;
- }
- &.__vlm {
- width: 45px;
- height: 53px;
- }
- &.__vendor {
- width: 53px;
- height: 47px;
- }
- }
- }
-
- .sdc-tile-content-info {
- display: flex;
- flex-direction: column;
-
- .sdc-tile-info-line {
- text-transform: capitalize;
- @include ellipsis($display: inline-block);
-
- button {
- height: 1.67em;
- width: initial;
- margin-bottom: 5px;
- margin-top: 1px;
- padding: 0 8px;
- font-size: inherit;
- }
- &.supertitle {
- height: 1.1em;
- line-height: 1.2;
- color: $gray;
- }
- &.title {
- height: 1.6em;
- line-height: 1.8;
- color: $text-black;
- @include heading-5;
- }
- &.subtitle {
- height: 1.5em;
- line-height: 1.6;
- color: $dark-gray;
- }
- &:last-child {
- margin-bottom: 4px;
- }
- }
- }
- }
-
- .sdc-tile-footer {
- height: $footer-height;
- @include box-sizing;
-
- border-top: 1px solid $silver;
- padding-top: 8px;
-
- color: $dark-gray;
- fill: $dark-gray;
- text-transform: capitalize;
-
- display: flex;
- align-items: center;
- justify-content: space-between;
-
- .sdc-tile-footer-cell {
- &:first-child {
- @include ellipsis;
- }
- svg{
- width: 20px;
- height: 12px;
- }
- button {
- width: initial;
- height: initial;
- @include body-2;
-
- .svg-icon-wrapper {
- .svg-icon-label {
- font-size: inherit;
- }
- svg {
- width: 9px;
- height: 9px;
- }
- }
- }
- }
-
- }
-}
diff --git a/components/tile/tile-without-footer.html b/components/tile/tile-without-footer.html
deleted file mode 100644
index 514a19e..0000000
--- a/components/tile/tile-without-footer.html
+++ /dev/null
@@ -1,14 +0,0 @@
-<div class="sdc-tile">
- <div class="sdc-tile-header blue">Header</div>
- <div class="sdc-tile-content">
- <div class="sdc-tile-content-icon blue">
- <div class="svg-icon-wrapper">
- <!-- insert SVG -->
- </div>
- </div>
- <div class="sdc-tile-content-info">
- <div class="sdc-tile-info-line supertitle">Supertitle</div>
- <div class="sdc-tile-info-line title">Title</div>
- </div>
- </div>
-</div>
diff --git a/components/tile/vendor-tile.html b/components/tile/vendor-tile.html
deleted file mode 100644
index ede3fbf..0000000
--- a/components/tile/vendor-tile.html
+++ /dev/null
@@ -1,26 +0,0 @@
-<div class="sdc-tile">
- <div class="sdc-tile-header"></div>
- <div class="sdc-tile-content">
- <div class="sdc-tile-content-icon dark-gray">
- <div class="svg-icon-wrapper">
- <!-- insert SVG -->
- </div>
- </div>
- <div class="sdc-tile-content-info centered">
- <div class="sdc-tile-info-line title">Vendor Name</div>
- <div class="sdc-tile-info-line">
- <button class="sdc-button sdc-button-outline-rounded sdc-button__dark-gray">100 VSPs</button>
- </div>
- </div>
- </div>
- <div class="sdc-tile-footer centered">
- <span class="sdc-tile-footer-cell">
- <button class="sdc-button sdc-button-link sdc-button__primary sdc-button__with-icon">
- <div class="svg-icon-wrapper sdc-button-icon right">
- <!-- insert SVG -->
- <span class="svg-icon-label sdc-button-label">Create new VSP</span>
- </div>
- </button>
- </span>
- </div>
-</div>
diff --git a/components/tile/vfc-tile.html b/components/tile/vfc-tile.html
deleted file mode 100644
index 7b4753e..0000000
--- a/components/tile/vfc-tile.html
+++ /dev/null
@@ -1,17 +0,0 @@
-<div class="sdc-tile">
- <div class="sdc-tile-header purple">VFC</div>
- <div class="sdc-tile-content">
- <div class="sdc-tile-content-icon">
- <div class="svg-icon-wrapper">
- <!-- insert SVG -->
- </div>
- </div>
- <div class="sdc-tile-content-info">
- <div class="sdc-tile-info-line title">Title</div>
- <div class="sdc-tile-info-line subtitle">V 1.0</div>
- </div>
- </div>
- <div class="sdc-tile-footer">
- <span class="sdc-tile-footer-cell">Certified</span>
- </div>
-</div>
diff --git a/components/tile/vlm-tile.html b/components/tile/vlm-tile.html
deleted file mode 100644
index be629a1..0000000
--- a/components/tile/vlm-tile.html
+++ /dev/null
@@ -1,22 +0,0 @@
-<div class="sdc-tile">
- <div class="sdc-tile-header purple">VLM</div>
- <div class="sdc-tile-content">
- <div class="sdc-tile-content-icon purple">
- <div class="svg-icon-wrapper">
- <!-- insert SVG -->
- </div>
- </div>
- <div class="sdc-tile-content-info">
- <div class="sdc-tile-info-line title">VLM Name</div>
- </div>
- </div>
- <div class="sdc-tile-footer">
- <span class="sdc-tile-footer-cell">Certified</span>
- <span class="sdc-tile-footer-cell">
- <div class="svg-icon-wrapper left">
- <!-- insert SVG -->
- <span class="svg-icon-label">Owner</span>
- </div>
- </span>
- </div>
-</div>
diff --git a/components/tile/vsp-tile.html b/components/tile/vsp-tile.html
deleted file mode 100644
index 1a3dc1d..0000000
--- a/components/tile/vsp-tile.html
+++ /dev/null
@@ -1,17 +0,0 @@
-<div class="sdc-tile">
- <div class="sdc-tile-header blue">VSP</div>
- <div class="sdc-tile-content">
- <div class="sdc-tile-content-icon blue">
- <div class="svg-icon-wrapper">
- <!-- insert SVG -->
- </div>
- </div>
- <div class="sdc-tile-content-info">
- <div class="sdc-tile-info-line supertitle">VLM</div>
- <div class="sdc-tile-info-line title">VSP Name</div>
- </div>
- </div>
- <div class="sdc-tile-footer">
- <span class="sdc-tile-footer-cell">Draft</span>
- </div>
-</div>
diff --git a/components/tooltip/_tooltip.scss b/components/tooltip/_tooltip.scss
deleted file mode 100644
index 3f255ed..0000000
--- a/components/tooltip/_tooltip.scss
+++ /dev/null
@@ -1,124 +0,0 @@
-/* Tooltip animation */
-@keyframes animation-fade-in-from-bottom {
- from {
- transform: translateY(10px);
- opacity: 0;
- }
- to {
- transform: translateY(0px);
- opacity: 1;
- }
-}
-
-/* Tooltop styles */
-.sdc-tooltip {
- @include base-font-regular;
- line-height: 14px;
- font-size: 12px;
- max-width: 223px;
- background-color: $black;
- color: $white;
- text-align: left;
- border-radius: 2px;
- padding: 5px 11px;
- position: absolute;
- z-index: 1000;
- display: block;
- opacity: 0;
- transition: opacity 300ms;
- border: solid 1px $black;
- animation: animation-fade-in-from-bottom .75s ease-in-out; /* tooltip animation */
-}
-
-.sdc-tooltip-show {
- opacity: 1;
-}
-
-.sdc-tooltip::after {
- content: "";
- position: absolute;
- border-style: solid;
-}
-
-.sdc-tooltip-top::after {
- top: 100%;
- left: 10px;
- margin-left: -5px;
- border-width: 5px;
- border-color: $black transparent transparent transparent;
-}
-.sdc-tooltip-top-right__bottom::after {
- right: 10px;
- left:auto;
-}
-.sdc-tooltip-top-center__middle::after {
- left: 50%;
-}
-
-.sdc-tooltip-bottom::after {
- bottom: 100%;
- left: 10px;
- margin-left: -5px;
- border-width: 5px;
- border-color: transparent transparent $black transparent;
-}
-.sdc-tooltip-bottom-right__bottom::after {
- right: 10px;
- left:auto;
-}
-.sdc-tooltip-bottom-center__middle::after {
- left: 50%;
-}
-
-.sdc-tooltip-left::after {
- top: 10px; /*50%;*/
- left: 100%;
- margin-top: -5px;
- border-width: 5px;
- border-color: transparent transparent transparent $black;
-}
-.sdc-tooltip-left-right__bottom::after {
- bottom: 10px;
- top: auto;
-}
-.sdc-tooltip-left-center__middle::after {
- top: 50%
-}
-
-.sdc-tooltip-right::after {
- top: 10px;
- right: 100%;
- margin-top: -5px;
- border-width: 5px;
- border-color: transparent $black transparent transparent;
-}
-.sdc-tooltip-right-right__bottom::after {
- bottom: 10px;
- top: auto;
-}
-.sdc-tooltip-right-center__middle::after {
- top: 50%
-}
-
-/* Tooltip template */
-.sdc-tooltip-template-title {
- @include base-font-regular;
- font-size: 12px;
- font-weight: normal;
- background-color: $black;
- color: $white; /* silver */
-}
-
-.sdc-tooltip-template-big-title {
- font-size: 20px;
- line-height: 24px;
-}
-
-.sdc-tooltip-template-content {
- @include base-font-regular;
- font-size: 12px;
- font-weight: normal;
- background-color: $black;
- color: $white;
- line-height: 14px;
-}
diff --git a/components/validation/_validation.scss b/components/validation/_validation.scss
deleted file mode 100644
index 771a242..0000000
--- a/components/validation/_validation.scss
+++ /dev/null
@@ -1,9 +0,0 @@
-.sdc-validation {
-
- font-size: $body-font-4;
- display: flex;
- flex-direction: column;
- justify-content: space-between;
- margin-top: 10px;
-
-}
diff --git a/demo/.gitignore b/demo/.gitignore
deleted file mode 100644
index 7788a08..0000000
--- a/demo/.gitignore
+++ /dev/null
@@ -1,7 +0,0 @@
-# See http://help.github.com/ignore-files/ for more about ignoring files.
-
-/dist
-/tmp
-/node_modules
-npm-debug.log*
-Thumbs.db
diff --git a/demo/README.md b/demo/README.md
deleted file mode 100644
index 6a478d8..0000000
--- a/demo/README.md
+++ /dev/null
@@ -1,35 +0,0 @@
-# Local DEMO
-
-### How to compile
-Go to <b>root</b> folder (sdc-ui) and run: `npm run build`
-This will compile all scss files and will copy generated style.css and assets folder to gen folder inside demo project.
-
-### How to run
-Go to <b>demo</b> and run: `npm start`
-This will open the default browser at port 2900.
-
-### How to build component HTML for DEMO
-<ul>
- <li>Create new HTML file for the component and put it in components folder</li>
- <li>In the top of the HTML add <div class='component'>Name of component</div></li>
- <li>Inside the HTML for each type of component add header <h3>sub component name</h3></li>
- <li>
- In order to show the HTML of the component to the user, add <b>data-code</b> attribute to the outerHTML of the component.
- This component outerHTML will be copied and will be shown highlighted below the component.
- <br>You can also use <b>data-code-ref</b> and <b>data-code-id</b> where data-code-ref is a reference to the
- component data-code-id, the data-code-ref will be replaced by highlighted outerHTML of the component.
- </li>
-</ul>
-For more info see example in <a href='components/tiles'>tiles.html</a> file
-
-### How add the new component to router for DEMO
-In index.html file (under id main-navigation) add new <li> with id equal to HTML file you created above
-<br><u>Example:</u>
-<div id='main-navigation'>
- <div class='title'>Components</div>
- <ul>
- <li id='colors'>Colors</li>
- <li id='button'>Buttons</li>
- <li id='tiles'>Tiles</li>
- </ul>
-</div>
diff --git a/demo/assests/README.md b/demo/assests/README.md
deleted file mode 100644
index 5f2681b..0000000
--- a/demo/assests/README.md
+++ /dev/null
@@ -1,9 +0,0 @@
-
-# Folder Structure
-
-### icons
-Contains `svg` icons **ONLY**
-
-
-### images
-Contains large images (if any...)
diff --git a/demo/assests/icons/empty.txt b/demo/assests/icons/empty.txt
deleted file mode 100644
index e69de29..0000000
--- a/demo/assests/icons/empty.txt
+++ /dev/null
diff --git a/demo/assests/icons/locked.svg b/demo/assests/icons/locked.svg
deleted file mode 100644
index 9785f8d..0000000
--- a/demo/assests/icons/locked.svg
+++ /dev/null
@@ -1,39 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" width="11" height="15" viewBox="0 0 11 15" id="locked_icon">
- <metadata><?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?>
-<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.6-c138 79.159824, 2016/09/14-01:09:01 ">
- <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
- <rdf:Description rdf:about=""/>
- </rdf:RDF>
-</x:xmpmeta>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-<?xpacket end="w"?></metadata>
-<defs>
- <style>
- .cls-1 {
- fill: #959595;
- fill-rule: evenodd;
- }
- </style>
- </defs>
- <path id="Shape_77_copy_10" data-name="Shape 77 copy 10" class="cls-1" d="M445,359a16.71,16.71,0,0,0-2.1-.009c-1.945.045-3.195,0.049-3.9,0.009v-5a1.743,1.743,0,0,1,2-2h1a1.743,1.743,0,0,1,2,2v5c0.474,0.063.343-.073,1,0,0.266,0.029,0,.279,0,0v-5a2.726,2.726,0,0,0-3-3h-1.142c-1.72-.125-2.715,1.562-2.858,3,0.088,0.009,0,7.338,0,5h0a1.891,1.891,0,0,0-2,1.689v3.461A1.823,1.823,0,0,0,437.775,366h7.448A1.823,1.823,0,0,0,447,364.15v-3.461A2.018,2.018,0,0,0,445,359Z" transform="translate(-436 -351)"/>
-</svg>
diff --git a/demo/assests/icons/plus.svg b/demo/assests/icons/plus.svg
deleted file mode 100644
index 36f3486..0000000
--- a/demo/assests/icons/plus.svg
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 21.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
-<svg version="1.1" id="plus_icon" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
- viewBox="0 0 19 19" style="enable-background:new 0 0 19 19;" xml:space="preserve">
-<g>
- <rect y="8" width="19" height="3"/>
- <path id="Rectangle_2139_copy" d="M8,19V0h3v19H8z"/>
-</g>
-</svg>
diff --git a/demo/assests/icons/unlocked.svg b/demo/assests/icons/unlocked.svg
deleted file mode 100644
index 6d94a94..0000000
--- a/demo/assests/icons/unlocked.svg
+++ /dev/null
@@ -1,39 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" width="11" height="18" viewBox="0 0 11 18" id="unlocked_icon">
- <metadata><?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?>
-<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.6-c138 79.159824, 2016/09/14-01:09:01 ">
- <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
- <rdf:Description rdf:about=""/>
- </rdf:RDF>
-</x:xmpmeta>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-<?xpacket end="w"?></metadata>
-<defs>
- <style>
- .cls-1 {
- fill: #959595;
- fill-rule: evenodd;
- }
- </style>
- </defs>
- <path id="Shape_77_copy_16" data-name="Shape 77 copy 16" class="cls-1" d="M663,358a16.723,16.723,0,0,0-2.1-.009c-1.944.045-3.194,0.049-3.9,0.009v-7a1.743,1.743,0,0,1,2-2h1a1.743,1.743,0,0,1,2,2v2c0.474,0.064.343-.073,1,0,0.266,0.029,0,.279,0,0v-2a2.726,2.726,0,0,0-3-3h-1.142c-1.72-.125-2.715,1.562-2.858,3,0.088,0.009,0,9.338,0,7h0a1.891,1.891,0,0,0-2,1.689v4.461a1.823,1.823,0,0,0,1.775,1.85h7.448A1.823,1.823,0,0,0,665,364.15v-4.461A2.018,2.018,0,0,0,663,358Zm1.05,6.15a0.827,0.827,0,0,1-.8.836H655.8a0.827,0.827,0,0,1-.8-0.836l0-4.15a1.164,1.164,0,0,1,.8-1.147h7.448A1.129,1.129,0,0,1,664,360Z" transform="translate(-654 -348)"/>
-</svg>
diff --git a/demo/assests/icons/vendor.svg b/demo/assests/icons/vendor.svg
deleted file mode 100644
index a3b8f5f..0000000
--- a/demo/assests/icons/vendor.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 53 47" id="vendor_icon"><title>vendor</title><g id="Layer_2" data-name="Layer 2"><g id="vlm_icon" data-name="vlm icon"><path d="M49,7,38.5,7V5.92A5.92,5.92,0,0,0,32.58,0H20.42A5.92,5.92,0,0,0,14.5,5.92V7.15L4,7.2a3.8,3.8,0,0,0-4,3.5V43.5C0,45.4,2,47,4.2,47L49,46.8a3.8,3.8,0,0,0,4-3.5V10.5A3.8,3.8,0,0,0,49,7ZM16.5,5.92A3.92,3.92,0,0,1,20.42,2H32.58A3.92,3.92,0,0,1,36.5,5.92V7.06l-20,.09ZM2,10.8A1.9,1.9,0,0,1,4,9l45-.2a1.9,1.9,0,0,1,2,1.8v8.87L32.94,24.18a6.49,6.49,0,0,0-12.89,0L2,19.51V10.8ZM31,25a4.5,4.5,0,1,1-4.5-4.5A4.5,4.5,0,0,1,31,25ZM49,45,4,45.2A1.9,1.9,0,0,1,2,43.4V21.57l18.13,4.73a6.5,6.5,0,0,0,12.74,0L51,21.53V43.21A1.9,1.9,0,0,1,49,45Z"/></g></g></svg>
diff --git a/demo/assests/icons/vlm.svg b/demo/assests/icons/vlm.svg
deleted file mode 100644
index 79b4625..0000000
--- a/demo/assests/icons/vlm.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 45 53"><title>vlm_new_icon</title><g id="Layer_2" data-name="Layer 2"><g id="vlm_icon" data-name="vlm icon"><path d="M41,2a2,2,0,0,1,2,2l.19,45a2,2,0,0,1-2,2H4a2,2,0,0,1-2-2L1.81,4a2,2,0,0,1,2-2H41m-.15-2H4A4.2,4.2,0,0,0,0,4.24L.19,49a4,4,0,0,0,4,4H41a4,4,0,0,0,4-4L44.81,4a4,4,0,0,0-4-4Z"/><rect x="14" y="11" width="17" height="2"/><rect x="14" y="18" width="10" height="2"/><polygon points="20.56 38.85 13.87 33.14 15.16 31.62 20.39 36.08 29.08 26.63 30.55 27.98 20.56 38.85"/></g></g></svg> \ No newline at end of file
diff --git a/demo/assests/icons/vsp.svg b/demo/assests/icons/vsp.svg
deleted file mode 100644
index 344755c..0000000
--- a/demo/assests/icons/vsp.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 59.5 40" id="vsp_icon"><title>vsp_new_icon</title><g id="Layer_2" data-name="Layer 2"><g id="vlm_icon" data-name="vlm icon"><path d="M58.28,30.74c-1.49-1.82-3-2.7-4.67-2.74a8.5,8.5,0,0,0-16.22-2.44,6.93,6.93,0,0,0-4.06.66A7.23,7.23,0,0,0,36.42,40H53.5a6,6,0,0,0,6-6A5.18,5.18,0,0,0,58.28,30.74ZM53.5,38H36.42a5.25,5.25,0,0,1-5.21-5.91,5.32,5.32,0,0,1,3-4.06,5,5,0,0,1,2.21-.53,5.25,5.25,0,0,1,1.35.18l.92.24L39,27A6.5,6.5,0,0,1,51.67,29v1.3l1.17-.2c1-.17,2.17-.17,3.91,2a3.18,3.18,0,0,1,.76,2A4,4,0,0,1,53.5,38Z"/><path d="M49,0,4,.17A3.79,3.79,0,0,0,0,3.69V7.94H0v2H0V36.31C0,38.35,2,40,4.25,40l20.84-.08a1,1,0,0,0,0-1.92L4,38.08a1.89,1.89,0,0,1-2-1.76V10H51v7a1,1,0,0,0,2,0V3.53A3.79,3.79,0,0,0,49,0ZM2,8V3.76A1.89,1.89,0,0,1,4,2l45-.16a1.89,1.89,0,0,1,2,1.76V8Z"/></g></g></svg>
diff --git a/demo/assests/images/empty.txt b/demo/assests/images/empty.txt
deleted file mode 100644
index e69de29..0000000
--- a/demo/assests/images/empty.txt
+++ /dev/null
diff --git a/demo/components/button.html b/demo/components/button.html
deleted file mode 100644
index 5a68bb5..0000000
--- a/demo/components/button.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<div class='component'>Button</div>
-
-<ul class='buttons-showcase'>
- <li>
- <button class='sdc-button' data-code>Simple Default Button</button>
- </li>
-
- <li>
- <button class='sdc-button purple' data-code>Simple Button - Purple</button>
- </li>
-
- <li>
- <button class='sdc-button blue' data-code>Simple Button - Blue</button>
- </li>
-</ul> \ No newline at end of file
diff --git a/demo/components/colors.html b/demo/components/colors.html
deleted file mode 100644
index a9bb9f9..0000000
--- a/demo/components/colors.html
+++ /dev/null
@@ -1,26 +0,0 @@
-<div class='component'>Colors</div>
-<P>
- List of supported colors. All colors are background colors.
-</P>
-<ul class='sdc-colors-showcase'>
- <li class='sdc-bc-blue'>sdc-bc-blue</li>
- <li class='sdc-bc-dark-blue'>sdc-bc-dark-blue</li>
- <li class='sdc-bc-light-blue'>sdc-bc-light-blue</li>
- <li class='sdc-bc-green'>sdc-bc-green</li>
- <li class='sdc-bc-dark-green'>sdc-bc-dark-green</li>
- <li class='sdc-bc-light-green'>sdc-bc-light-green</li>
- <li class='sdc-bc-orange'>sdc-bc-orange</li>
- <li class='sdc-bc-yellow'>sdc-bc-yellow</li>
- <li class='sdc-bc-dark-purple'>sdc-bc-dark-purple</li>
- <li class='sdc-bc-purple'>sdc-bc-purple</li>
- <li class='sdc-bc-light-purple'>sdc-bc-light-purple</li>
- <li class='sdc-bc-black'>sdc-bc-black</li>
- <li class='sdc-bc-dark-gray'>sdc-bc-dark-gray</li>
- <li class='sdc-bc-gray'>sdc-bc-gray</li>
- <li class='sdc-bc-light-gray'>sdc-bc-light-gray</li>
- <li class='sdc-bc-white'>sdc-bc-white</li>
-</ul>
-<p>Example of usage:</p>
-<code>
- &lt;div class='sdc-bc-blue'&gt;sdc-bc-blue&lt;/div&gt;
-</code> \ No newline at end of file
diff --git a/demo/components/tiles-generic.html b/demo/components/tiles-generic.html
deleted file mode 100644
index 3d03909..0000000
--- a/demo/components/tiles-generic.html
+++ /dev/null
@@ -1,106 +0,0 @@
-<div class='component'>Tiles Generic</div>
-<p>
- Tile do not have size, you can define the size in the wrapping container, or adding them
- to css in your project.
- <br><b>Note:</b> specific tiles like sdc-tile-catalog has specifc width & height.
- <br>Tiles content has overflow auto, so if the content overflow a scroll will appear.
-</p>
-
-<h3>Basic tile</h3>
-<p>Tile without width or height</p>
-<div class="sdc-tile" data-code>
- <div class='sdc-tile-content'>
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec volutpat, lorem at vulputate sollicitudin, neque magna hendrerit diam, nec sagittis eros libero ut dolor. Donec tincidunt, elit nec vestibulum tristique, nulla tellus aliquam eros, at rutrum massa purus quis ipsum. In aliquet non augue quis condimentum. Praesent efficitur tellus quis mauris auctor, vel semper erat vulputate. Mauris rhoncus nunc et ante dapibus, id luctus urna sodales. Proin eu augue efficitur ligula tincidunt placerat. Suspendisse potenti.
- </div>
-</div>
-
-<h3>Tile with header & footer</h3>
-<p>
- <b>Note:</b> The background-color is just for showing header, content & footer sections.
- This is done using inline styles which should not be included in the final component.
- <br>The content will resize automaticly his height.
-</p>
-<div class="sdc-tile" data-code>
- <div class="sdc-tile-header" style="background-color: #EEEEEE;">top</div>
- <div class='sdc-tile-content' style="background-color: #CCCCCC;">
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec volutpat, lorem at vulputate sollicitudin, neque magna hendrerit diam, nec sagittis eros libero ut dolor. Donec tincidunt, elit nec vestibulum tristique, nulla tellus aliquam eros, at rutrum massa purus quis ipsum. In aliquet non augue quis condimentum. Praesent efficitur tellus quis mauris auctor, vel semper erat vulputate. Mauris rhoncus nunc et ante dapibus, id luctus urna sodales. Proin eu augue efficitur ligula tincidunt placerat. Suspendisse potenti.
- </div>
- <div class='sdc-tile-footer' style="background-color: #EEEEEE;">footer</div>
-</div>
-
-<h3>Catalog tile (VSP)</h3>
-<p>
- Specific tile of SDC.
- <br><b>Note:</b> The differences betweeb the tiles is the color (diffrent class) and the icons.
- The div with class='sdc-tile-content-info-vendor-name' is not needed in the second tile.
-</p>
-
-<div class='sdc-tile-showcase-tiles'>
-
- <div class="sdc-tile-catalog sdc-tile-fix-width" data-code-id='catalog-sample'>
- <div class="sdc-tile-header">
- <div class='sdc-tile-header-type blue'>
- vsp
- </div>
- </div>
- <div class='sdc-tile-content'>
- <div class='sdc-tile-content-icon'>
- <svg class="svg-icon blue">
- <use href="./gen/assets/icons/vsp.svg#vsp_icon" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="./assets/icons/vsp.svg#vsp_icon"></use>
- </svg>
- </div>
- <div class='sdc-tile-content-info'>
- <div class="sdc-tile-content-info-vendor-name">vlm</div>
- <div class="sdc-tile-content-info-item-name">lilach vsp</div>
- <div class="sdc-tile-content-info-version-info">
- <div class="sdc-tile-content-info-version-info-text" data-test-id="sdc-catalog-item-version">V 0.1</div>
- </div>
- </div>
- </div>
- <div class='sdc-tile-footer'>
- <div class='sdc-tile-footer-text'>
- Footer text
- </div>
- <div class='sdc-tile-footer-icon'>
- <svg class="svg-icon unlocked black">
- <use href="./gen/assets/icons/unlocked.svg#unlocked_icon" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="./assets/icons/unlocked.svg#unlocked_icon"></use>
- </svg>
- </div>
- </div>
- </div>
-
- <div class="sdc-tile-catalog sdc-tile-fix-width sdc-code">
- <div class="sdc-tile-header">
- <div class='sdc-tile-header-type purple'>
- vlm
- </div>
- </div>
- <div class='sdc-tile-content'>
- <div class='sdc-tile-content-icon'>
- <svg class="svg-icon purple">
- <use href="./gen/assets/icons/vsp.svg#vsp_icon" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="./assets/icons/vsp.svg#vsp_icon"></use>
- </svg>
- </div>
- <div class='sdc-tile-content-info'>
- <div class="sdc-tile-content-info-item-name">vlm</div>
- <div class="sdc-tile-content-info-version-info">
- <div class="sdc-tile-content-info-version-info-text" data-test-id="sdc-catalog-item-version">V 0.1</div>
- </div>
- </div>
- </div>
- <div class='sdc-tile-footer'>
- <div class='sdc-tile-footer-text'>
- Footer text
- </div>
- <div class='sdc-tile-footer-icon'>
- <svg class="svg-icon unlocked black">
- <use href="./gen/assets/icons/locked.svg#locked_icon" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="./assets/icons/locked.svg#locked_icon"></use>
- </svg>
- </div>
- </div>
- </div>
-
-</div>
-
-<div data-code-ref='catalog-sample'></div>
-
diff --git a/demo/components/tiles.html b/demo/components/tiles.html
deleted file mode 100644
index 3519817..0000000
--- a/demo/components/tiles.html
+++ /dev/null
@@ -1,105 +0,0 @@
-<div class='component'>Tiles</div>
-
-<h3>VSP Tile</h3>
-<p>
- Example
-</p>
-<div class="catalog-tile tile software-product-type sdc-code" data-test-id="software-product-type">
- <div class="catalog-tile-top item-details">
- <div class="catalog-tile-type software-product-type">VSP</div>
- <div class="catalog-tile-icon software-product-type">
- <div class="icon">
- <div class="svg-icon-wrapper bottom">
- <svg class="svg-icon vsp ">
- <use href="./gen/assets/icons/vsp.svg#vsp_icon" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="./assets/icons/vsp.svg#vsp_icon"></use>
- </svg>
- </div>
- </div>
- </div>
- <div class="catalog-tile-entity-details">
- <div>
- <div class="catalog-tile-vendor-name">vlm</div>
- </div>
- <div>
- <div class="catalog-tile-item-name">lilach vsp</div>
- </div>
- <div class="catalog-tile-version-info">
- <div class="catalog-tile-item-version" data-test-id="catalog-item-version">V 0.1</div>
- </div>
- </div>
- <div class="catalog-tile-content software-product-type">
- <div class="catalog-tile-locking-user-name">Checked Out</div>
- <div class="catalog-tile-check-in-status">
- <div data-test-id="catalog-item-checked-out" class="svg-icon-wrapper bottom">
- <svg class="svg-icon unlocked ">
- <use href="./gen/assets/icons/unlocked.svg#unlocked_icon" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="./assets/icons/unlocked.svg#unlocked_icon"></use>
- </svg>
- </div>
- </div>
- </div>
- </div>
-</div>
-
-<h3>VLM Tile</h3>
-<div class="catalog-tile tile license-model-type sdc-code" data-test-id="license-model-type">
- <div class="catalog-tile-top item-details">
- <div class="catalog-tile-type license-model-type">VLM</div>
- <div class="catalog-tile-icon license-model-type">
- <div class="icon">
- <div class="svg-icon-wrapper bottom">
- <svg class="svg-icon vlm ">
- <use href="./gen/assets/icons/vlm.svg#vlm_icon" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="./assets/icons/vlm.svg#vlm_icon"></use>
- </svg>
- </div>
- </div>
- </div>
- <div class="catalog-tile-entity-details">
- <div>
- <div class="catalog-tile-vendor-name"></div>
- </div>
- <div>
- <div class="catalog-tile-item-name">vlm</div>
- </div>
- <div class="catalog-tile-version-info">
- <div class="catalog-tile-item-version" data-test-id="catalog-item-version">V 0.2</div>
- </div>
- </div>
- <div class="catalog-tile-content license-model-type">
- <div class="catalog-tile-locking-user-name">Checked In</div>
- <div class="catalog-tile-check-in-status">
- <div data-test-id="catalog-item-checked-in" class="svg-icon-wrapper bottom">
- <svg class="svg-icon locked ">
- <use href="./gen/assets/icons/locked.svg#locked_icon" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="./assets/icons/locked.svg#locked_icon"></use>
- </svg>
- </div>
- </div>
- </div>
- </div>
-</div>
-
-<h3>Vendor Tile</h3>
-<div class="catalog-tile tile vendor-type sdc-code" data-test-id="vendor-type">
- <div class="catalog-tile-top">
- <div class="catalog-tile-icon vendor-type">
- <div class="icon">
- <div class="svg-icon-wrapper bottom">
- <svg class="svg-icon vendor ">
- <use href="./gen/assets/icons/vendor.svg#vendor_icon" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="./assets/icons/vendor.svg#vendor_icon"></use>
- </svg>
- </div>
- </div>
- </div>
- <div class="catalog-tile-item-name">vlm</div>
- <div class="catalog-tile-vsp-count clickable" data-test-id="catalog-vsp-count">1 VSPs</div>
- <div class="catalog-tile-content" data-test-id="catalog-create-new-vsp-from-vendor">
- <div class="create-new-vsp-button">
- <div class="svg-icon-wrapper bottom">
- <svg class="svg-icon plus ">
- <use href="./gen/assets/icons/plus.svg#plus_icon" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="./assets/icons/plus.svg#plus_icon"></use>
- </svg>
- </div>
- &nbsp;&nbsp;&nbsp;Create new VSP
- </div>
- </div>
- </div>
-</div>
diff --git a/demo/index.css b/demo/index.css
deleted file mode 100644
index ef71773..0000000
--- a/demo/index.css
+++ /dev/null
@@ -1,178 +0,0 @@
-/* GENERAL */
-body {
- margin: 0;
- color: #333333;
- /*font-family: 'Open Sans Condensed';*/
- font-family: 'Overlock';
- font-size: 16px;
- display: flex;
- flex-wrap: wrap;
- height: auto;
-}
-
-h1 { font-size: 1.5em; }
-h2 { font-size: 1.3em; }
-h3 { font-size: 1.2em; }
-h1, h2, h3 { margin: 2em 0 0.5em 0; color: #009fdb; }
-p { margin: 6px 0; }
-
-/* LAYOUT */
-header {
- order: 1;
- width: 100%;
- background-color: #ffffff;
-}
-
-footer {
- order: 4;
- width: 100%;
-}
-
-#main-navigation {
- order: 2;
- width: 100%;
-}
-
-#main-content {
- order: 3;
- width: 100%;
-}
-
-/* HEADER */
-header {
- box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.33);
- height: 50px;
- line-height: 50px;
- z-index: 9;
- display: flex;
- flex-direction: row;
- padding: 0 1vw;
-}
-
-header .logo {
- font-size: 22px;
- font-weight: 700;
-}
-
-header .title {
- font-size: 20px;
- margin-left: 2vw;
-}
-
-/* FOOTER */
-footer {
- height: 50px;
- line-height: 50px;
- z-index: 6;
- display: flex;
- flex-direction: row;
- padding: 0 1vw;
- border-top: solid 1px #dddddd;
-}
-
-/* MAIN NAVIGATION */
-#main-navigation {
- align-content: stretch;
- z-index: 8;
- box-shadow: 2px 0 0 0 rgba(68,68,68,0.2);
-}
-
-#main-navigation .title {
- font-size: 20px;
- font-weight: 700;
- background-color: #ffffff;
- color: #009fdb;
- border-bottom: 1px solid #d2d2d2;
- height: 30px;
- line-height: 30px;
- padding: 0.3em;
-}
-
-#main-navigation ul {
- padding: 0;
-}
-
-#main-navigation ul li {
- background-color: #f8f8f8;
- border-bottom: 1px solid #d2d2d2;
- height: 30px;
- line-height: 30px;
- cursor: pointer;
- padding: 0.3em;
-}
-
-#main-navigation ul li.selected {
- background-color: #009fdb;
- color: #ffffff;
-}
-
-/* MAIN CONTENT */
-#main-content {
- -webkit-box-sizing: border-box; /* Safari/Chrome, other WebKit */
- -moz-box-sizing: border-box; /* Firefox, other Gecko */
- box-sizing: border-box; /* Opera/IE 8+ */
- align-content: stretch;
- padding: 2vh 2vw;
- z-index: 7;
-}
-
-/* RESPONSIVE */
-@media screen and (min-width: 800px) {
- #main-navigation { width: 20%; }
- #main-content { width: 80%; }
-}
-
-/* OTHERS */
-.component {
- background-color: #009fdb;
- color: #ffffff;
- font-size: 20px;
- padding: 0.5em 1em;
- margin: 0 0 0.5em 0;
-}
-
-pre {
- padding: 1em;
- display: block;
- margin: 1em 0;
- font-family: 'PT Sans Narrow';
- font-size: 1em;
-}
-
-/* SPECIFIC COMPONENT - TILE */
-.sdc-tile-showcase-tiles {
- display: flex;
- flex-direction: row;
-}
-.sdc-tile-showcase-tiles > div.sdc-tile-catalog {
- margin: 0 5px 5px 5px;
-}
-.sdc-tile-showcase-tiles > div.sdc-tile-catalog:first-child { margin-left: 0; }
-.sdc-tile-showcase-tiles > div.sdc-tile-catalog:last-child { margin-right: 0; }
-
-/* SPECIFIC COMPONENT - COLORS */
-.sdc-colors-showcase li {
- padding: 1vw;
- margin: 1vw;
-}
-
-/* SPECIFIC COMPONENTS - BUTTONS */
-.buttons-showcase li {
- display: flex;
- flex-direction: column;
- margin-top: 2vh;
-}
-.buttons-showcase li pre {
- flex-grow: 1;
- margin: 1vw 0 0.5vw 0;
-}
-
-@media screen and (min-width: 600px) {
- .buttons-showcase li {
- margin-top: 0;
- flex-direction: row;
- }
- .buttons-showcase li pre {
- margin: 0.5vw 0 0.5vw 2vw;
- }
-}
diff --git a/demo/index.html b/demo/index.html
deleted file mode 100644
index f3b4cb4..0000000
--- a/demo/index.html
+++ /dev/null
@@ -1,53 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <meta charset=UTF-8>
- <meta name="viewport" content="width=device-width, initial-scale=1">
-
- <!-- Componentes generates styles -->
- <link rel="stylesheet" type="text/css" href="gen/css/style.css">
-
- <!-- Html story board styles -->
- <link rel="stylesheet" type="text/css" href="index.css">
-
- <!-- Html story borad fonts -->
- <!--<link href='//fonts.googleapis.com/css?family=Open Sans Condensed:300' rel='stylesheet'>-->
- <link href='//fonts.googleapis.com/css?family=Overlock:400' rel='stylesheet'>
- <link href='//fonts.googleapis.com/css?family=PT Sans Narrow:400' rel='stylesheet'>
-
- <!-- Html story borad external libs -->
- <link href="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.10.0/styles/default.min.css" rel="stylesheet">
- <script src="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.10.0/highlight.min.js"></script>
- <script src="https://code.jquery.com/jquery-3.2.1.min.js" integrity="sha256-hwg4gsxgFZhOsEEamdOYGBf13FyQuiTwlAQgxVSNgt4=" crossorigin="anonymous"></script>
-
- <!-- Html story borad javascript -->
- <script src="index.js"></script>
-
- <title>SDC-UI Show case</title>
- </head>
- <body>
-
- <header>
- <div class='logo'>SDC-UI</div>
- <div class='title'>Show case</div>
- </header>
-
- <div id='main-navigation'>
- <div class='title'>Components</div>
- <ul>
- <li id='colors'>Colors</li>
- <li id='button'>Buttons</li>
- <li id='tiles'>Tiles</li>
- <li id='tiles-generic'>Tiles Generic</li>
- </ul>
- </div>
-
- <div id='main-content'></div>
-
- <footer>
- Copywrite 2017. All rights reserved.
- </footer>
-
- </body>
-
-</html>
diff --git a/demo/index.js b/demo/index.js
deleted file mode 100644
index 1c9a4bb..0000000
--- a/demo/index.js
+++ /dev/null
@@ -1,84 +0,0 @@
-$( document ).ready(function() {
-
- initNavigation();
- registerEvents();
- doAfterComponentHtmlLoaded();
-
-});
-
-var initNavigation = function() {
-
- // Set default page
- var page = window.location.hash;
- if (page === '') {
- page = "button";
- window.location.hash = page;
- }
-
- // Remove # at the begining
- if (page.indexOf('#')!==-1){
- page = page.substr(1);
- }
- console.log("page: " + page);
-
- // Upload the content
- $("#main-content").load( "./components/" + page + ".html" );
-
- // Set selected in navigation
- $('#main-navigation #' + page).addClass('selected');
-
-};
-
-/**
- * Simple router to load components HTML based on id.
- */
-var registerEvents = function() {
- $("#main-navigation li").click(function(e){
- page = e.target.id;
- $("#main-content").load( "./components/" + page + ".html", function() {
- doAfterComponentHtmlLoaded();
- });
- window.location.hash = page;
- $('#main-navigation li').removeClass('selected');
- $('#main-navigation #' + page).addClass('selected');
- });
-};
-
-/**
- * Wait for component to load before applying javascript actions on it.
- */
-var doAfterComponentHtmlLoaded = function() {
- window.setTimeout(function() {
- // Build code text to show to user
- buildCode();
-
- // highlight the code
- hljs.initHighlightingOnLoad();
- },1000);
-};
-
-/**
- * Build HTML code automaticly when attribute data-code exists
- * For example:
- * <button class='sdc-button' data-code>This is button</button>
- * Will add the HTML of this (highlighted) button below the button.
- */
-var buildCode = function() {
- $('[data-code]').each(function(index, element){
- var result = $(element).removeAttr('data-code')[0].outerHTML;
- var resultEncoded = $('<div/>').text(result).html();
- var newElement = $('<pre><code>' + resultEncoded + '</code></pre>')[0];
- $(element).after(newElement);
- hljs.highlightBlock(newElement);
- });
-
- $('[data-code-id]').each(function(index, element){
- var attVlue = $(element).attr('data-code-id');
- var codeHere = $('[data-code-ref='+attVlue+']');
- var result = $(element).removeAttr('data-code-id')[0].outerHTML;
- var resultEncoded = $('<div/>').text(result).html();
- var newElement = $('<pre><code>' + resultEncoded + '</code></pre>')[0];
- codeHere.replaceWith(newElement);
- hljs.highlightBlock(newElement);
- });
-};
diff --git a/demo/package.json b/demo/package.json
deleted file mode 100644
index 40a7b7d..0000000
--- a/demo/package.json
+++ /dev/null
@@ -1,23 +0,0 @@
-{
- "name": "onap-sdc",
- "preferGlobal": true,
- "version": "1.0.0",
- "author": "Onap Sdc <onap.sdc@gmail.com>",
- "description": "Styles and UI components for ONAP SDC",
- "license": "MIT",
- "engines": {
- "node": ">=0.10"
- },
- "scripts": {
- "start": "watch-http-server ./ -a 127.0.0.1 -p 2900 -o"
- },
- "dependencies": {
- "express": "~3.4.7",
- "http-server": "^0.9.0"
- },
- "devDependencies": {
- "node-sass": "^4.5.2",
- "nodemon": "^1.11.0",
- "watch-http-server": "^0.7.6"
- }
-}
diff --git a/designs/README.md b/designs/README.md
deleted file mode 100644
index 5de4d30..0000000
--- a/designs/README.md
+++ /dev/null
@@ -1,3 +0,0 @@
-# Designs
-
-Reference folder for graphics and designs
diff --git a/jest.config.js b/jest.config.js
deleted file mode 100644
index 51e3f70..0000000
--- a/jest.config.js
+++ /dev/null
@@ -1,30 +0,0 @@
-module.exports = {
- moduleFileExtensions: [
- 'js',
- 'html'
- ],
- globals: {
- ICON_PATH: './'
- },
- transform: {
- '^.+\\.js$': 'babel-jest',
- '^.+\\.html$': '<rootDir>/test/react/utils/htmlLoader.js'
- },
- moduleNameMapper: {
- '^.+\\.svg$': '<rootDir>/test/react/utils/svgMock.js'
- },
- coveragePathIgnorePatterns: [
- '<rootDir>/src/react/index.js',
- '<rootDir>/src/index.js'
- ],
- testRegex: '/test/react/.*.(spec|test)\\.jsx?$',
- testPathIgnorePatterns: [
- '<rootDir>/node_modules/',
- ],
- collectCoverageFrom: [
- 'src/**/*.{js,jsx}'
- ],
- coverageReporters: [
- 'lcov'
- ]
-};
diff --git a/json-typing.d.ts b/json-typing.d.ts
deleted file mode 100644
index 4b3471f..0000000
--- a/json-typing.d.ts
+++ /dev/null
@@ -1,4 +0,0 @@
-declare module "*.json" {
- const value: any;
- export default value;
-}
diff --git a/karma.conf.js b/karma.conf.js
deleted file mode 100644
index bc35fb7..0000000
--- a/karma.conf.js
+++ /dev/null
@@ -1,87 +0,0 @@
-/****************************************************************************************
- * Karma configuration file
- ***************************************************************************************/
-
-module.exports = function (config) {
- config.set({
- basePath:'',
- files:[
- 'karma.entry.js',
- ],
-
- /**
- * Enable / disable watching file and executing tests whenever any file changes
- */
- autoWatch: true,
-
- /**
- * Here, we tell Karma we'll be using Jasmine
- */
- frameworks:['jasmine'],
-
- /**
- * Level of logging
- * possible values: config.LOG_DISABLE || config.LOG_ERROR || config.LOG_WARN || config.LOG_INFO || config.LOG_DEBUG
- */
- logLevel: config.LOG_INFO,
-
- /**
- * Currently we have the following launchers: Firefox, Chrome, PhantomJS
- * Available browser launchers: https://npmjs.org/browse/keyword/karma-launcher
- */
- browsers: ['Firefox', 'PhantomJS'],
-
- /**
- * Tells PhantomJS to shut down if Karma throws a ResourceError, If we didn't, PhantomJS might not shut down,
- * and this would eat away at our system resources.
- */
- phantomJsLauncher: {
- exitOnResourceError: true
- },
-
- /**
- * We tell Karma to run a list of preprocessors on our karma.entry.js file
- */
- preprocessors: {
- 'karma.entry.js': ['webpack', 'sourcemap']
- },
-
-
- /**
- * dots: Tells karma to use dots reporter, which outputs a single dot for each test instead of descriptive message.
- * kjhtml - Karma Jasmine HTML Reporter. Reporter that dynamically shows tests results at debug.html page.
- */
- reporters: ['dots', 'kjhtml'],
-
- /**
- * leave Jasmine Spec Runner output visible in browser
- */
- client: {
- clearContext: false
- },
-
- /**
- * Keeps karma running after it completed it's tests for later rerun.
- */
- singleRun: false,
-
- failOnEmptyTestSuite:false,
-
- /**
- * Load webpack test configuration file
- */
- webpack: require('./webpack/webpack.test.js'),
-
- webpackMiddleware: {
- noInfo: true
- },
-
- /**
- * Hide webpack bundle information messages
- */
- webpackServer: {
- noInfo: true
- }
- })
-};
-
diff --git a/karma.entry.js b/karma.entry.js
deleted file mode 100644
index acd16cc..0000000
--- a/karma.entry.js
+++ /dev/null
@@ -1,66 +0,0 @@
-/****************************************************************************************
- * Karma entry file.
- * Starting point for pulling in our test and application files when using karma.
- ***************************************************************************************/
-
-/**
- * Load dependencies:
- * - core-js/es6 - Javascript polyfills support es6 code on unsupported browsers
- * - reflect-metadata - support for decorators and reflection.
- * - Zone library - Monkey patch all asynchronous actions and jasmine so changes could be detected
- * as well as long stack traces (To get the root cause of errors).
- */
-
-require('core-js/es6');
-
-require('reflect-metadata');
-
-require('zone.js/dist/zone');
-require('zone.js/dist/async-test');
-require('zone.js/dist/fake-async-test');
-require('zone.js/dist/long-stack-trace-zone'); // Gives us a long backward trace of actions and errors
-require('zone.js/dist/proxy');
-require('zone.js/dist/sync-test');
-require('zone.js/dist/jasmine-patch');
-
-/**
- * RxJS
- */
-require('rxjs/Rx');
-
-
-/**
- * Angular testing libraries dependencies
- */
-const browserTesting = require('@angular/platform-browser-dynamic/testing');
-const coreTesting = require('@angular/core/testing');
-
-coreTesting.TestBed.initTestEnvironment(
- browserTesting.BrowserDynamicTestingModule,
- browserTesting.platformBrowserDynamicTesting()
-);
-
-/**
- * Webpack method. requires all the files and subdirectories of a pattern.
- * Checkout {@link https://webpack.github.io/docs/context.html}
- */
-const context = require.context('./src/angular/', true, /\.spec\.ts$/);
-
-/**
- * Get all the files, for each file, call the context function
- * that will require the file and load it up here. Context will
- * loop and require those spec files here
- */
-function requireAll(requireContext) {
- return requireContext.keys().map(requireContext);
-}
-
-requireAll(context);
-
-/**
- * These lines are the Jasmine setup . We'll make sure that we get full stack traces when we have a
- * problem and that Jasmine uses two seconds as its default timeout.
- * The timeout is used when we test asynchronous processes. If we don't set this properly, some of our tests could hang forever.
- */
-Error.stackTraceLimit = Infinity;
-jasmine.DEFAULT_TIMEOUT_INTERVAL = 2000;
diff --git a/ng2-component-lab.webpack.config.js b/ng2-component-lab.webpack.config.js
deleted file mode 100644
index d2f0551..0000000
--- a/ng2-component-lab.webpack.config.js
+++ /dev/null
@@ -1,62 +0,0 @@
-var path = require('path');
-var HtmlReplaceWebpackPlugin = require('html-replace-webpack-plugin')
-var baseHref = process.env.NODE_ENV === 'build' ? '<base href="/angular/">' : '<base href="">'
-
-var webpackConfig = {
-
- devtool: 'source-map',
-
- output: {
- path: path.resolve('.out/angular'),
- publicPath: ''
- },
-
- plugins: [
- new HtmlReplaceWebpackPlugin([{
- pattern: '<base href="/">',
- replacement: baseHref
- }])
- ],
-
- module: {
- rules: [
- // .ts files for TypeScript
- {
- test: /.ts$/,
- use: [
- 'awesome-typescript-loader',
- 'angular2-template-loader',
- 'angular2-router-loader'
- ]
- },
- { test: /\.html$/, loader: "html-loader" },
- {
- test: /.scss$/,
- use: ['style-loader', 'css-loader', 'sass-loader'],
- include: path.resolve(__dirname, '../')
- },
- ]
- },
-
- resolve: {
- extensions: ['.ts', '.js'],
- modules: [path.resolve(__dirname, 'node_modules')],
- alias: {
- root: path.resolve(__dirname),
- app: path.resolve(__dirname, 'src')
- }
- },
-
- node: {
- global: true,
- crypto: 'empty',
- __dirname: true,
- __filename: true,
- process: true,
- Buffer: false,
- clearImmediate: false,
- setImmediate: false
- }
-};
-
-module.exports = webpackConfig;
diff --git a/package-lock.json b/package-lock.json
new file mode 100644
index 0000000..765851a
--- /dev/null
+++ b/package-lock.json
@@ -0,0 +1,16342 @@
+{
+ "name": "onap-ui-angular",
+ "version": "5.1.15",
+ "lockfileVersion": 1,
+ "requires": true,
+ "dependencies": {
+ "@angular-devkit/architect": {
+ "version": "0.6.8",
+ "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.6.8.tgz",
+ "integrity": "sha512-ZKTm/zC61iY9IBHOEAKoMSzZpvhkmv+1O/HHzpHEuR551jCzu6vSyCmMY9Z7GBcccscCV+hjeSMwgFrFRcqlkw==",
+ "dev": true,
+ "requires": {
+ "@angular-devkit/core": "0.6.8",
+ "rxjs": "^6.0.0"
+ }
+ },
+ "@angular-devkit/build-angular": {
+ "version": "0.6.8",
+ "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-0.6.8.tgz",
+ "integrity": "sha512-VGqYAk8jpISraz2UHfsDre270NOUmV0CTSZw2p9sm5g/XIr5m+IHetFZz3gpoAr9+If2aFTs8Rt3sGdCRzwBqA==",
+ "dev": true,
+ "requires": {
+ "@angular-devkit/architect": "0.6.8",
+ "@angular-devkit/build-optimizer": "0.6.8",
+ "@angular-devkit/core": "0.6.8",
+ "@ngtools/webpack": "6.0.8",
+ "ajv": "~6.4.0",
+ "autoprefixer": "^8.4.1",
+ "cache-loader": "^1.2.2",
+ "chalk": "~2.2.2",
+ "circular-dependency-plugin": "^5.0.2",
+ "clean-css": "^4.1.11",
+ "copy-webpack-plugin": "^4.5.1",
+ "file-loader": "^1.1.11",
+ "glob": "^7.0.3",
+ "html-webpack-plugin": "^3.0.6",
+ "istanbul": "^0.4.5",
+ "istanbul-instrumenter-loader": "^3.0.1",
+ "karma-source-map-support": "^1.2.0",
+ "less": "^3.0.4",
+ "less-loader": "^4.1.0",
+ "license-webpack-plugin": "^1.3.1",
+ "lodash": "^4.17.4",
+ "memory-fs": "^0.4.1",
+ "mini-css-extract-plugin": "~0.4.0",
+ "minimatch": "^3.0.4",
+ "node-sass": "^4.9.0",
+ "opn": "^5.1.0",
+ "parse5": "^4.0.0",
+ "portfinder": "^1.0.13",
+ "postcss": "^6.0.22",
+ "postcss-import": "^11.1.0",
+ "postcss-loader": "^2.1.5",
+ "postcss-url": "^7.3.2",
+ "raw-loader": "^0.5.1",
+ "resolve": "^1.5.0",
+ "rxjs": "^6.0.0",
+ "sass-loader": "^7.0.1",
+ "silent-error": "^1.1.0",
+ "source-map-support": "^0.5.0",
+ "stats-webpack-plugin": "^0.6.2",
+ "style-loader": "^0.21.0",
+ "stylus": "^0.54.5",
+ "stylus-loader": "^3.0.2",
+ "tree-kill": "^1.2.0",
+ "uglifyjs-webpack-plugin": "^1.2.5",
+ "url-loader": "^1.0.1",
+ "webpack": "~4.8.1",
+ "webpack-dev-middleware": "^3.1.3",
+ "webpack-dev-server": "^3.1.4",
+ "webpack-merge": "^4.1.2",
+ "webpack-sources": "^1.1.0",
+ "webpack-subresource-integrity": "^1.1.0-rc.4"
+ },
+ "dependencies": {
+ "fast-json-stable-stringify": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz",
+ "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=",
+ "dev": true
+ },
+ "istanbul-instrumenter-loader": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/istanbul-instrumenter-loader/-/istanbul-instrumenter-loader-3.0.1.tgz",
+ "integrity": "sha512-a5SPObZgS0jB/ixaKSMdn6n/gXSrK2S6q/UfRJBT3e6gQmVjwZROTODQsYW5ZNwOu78hG62Y3fWlebaVOL0C+w==",
+ "dev": true,
+ "requires": {
+ "convert-source-map": "^1.5.0",
+ "istanbul-lib-instrument": "^1.7.3",
+ "loader-utils": "^1.1.0",
+ "schema-utils": "^0.3.0"
+ }
+ },
+ "less": {
+ "version": "3.8.0",
+ "resolved": "https://registry.npmjs.org/less/-/less-3.8.0.tgz",
+ "integrity": "sha512-746DPDyL+Wsjo7h/Z3t+A3Mg/mpDTaxW4puZyLhCQJjWJJvHggN735orjuCLIYgo7jKqv1zWLiQrxkuUOg5oGA==",
+ "dev": true,
+ "requires": {
+ "errno": "^0.1.1",
+ "graceful-fs": "^4.1.2",
+ "image-size": "~0.5.0",
+ "mime": "^1.4.1",
+ "mkdirp": "^0.5.0",
+ "promise": "^7.1.1",
+ "request": "^2.83.0",
+ "source-map": "~0.6.0"
+ }
+ },
+ "node-libs-browser": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.1.0.tgz",
+ "integrity": "sha512-5AzFzdoIMb89hBGMZglEegffzgRg+ZFoUmisQ8HI4j1KDdpx13J0taNp2y9xPbur6W61gepGDDotGBVQ7mfUCg==",
+ "dev": true,
+ "requires": {
+ "assert": "^1.1.1",
+ "browserify-zlib": "^0.2.0",
+ "buffer": "^4.3.0",
+ "console-browserify": "^1.1.0",
+ "constants-browserify": "^1.0.0",
+ "crypto-browserify": "^3.11.0",
+ "domain-browser": "^1.1.1",
+ "events": "^1.0.0",
+ "https-browserify": "^1.0.0",
+ "os-browserify": "^0.3.0",
+ "path-browserify": "0.0.0",
+ "process": "^0.11.10",
+ "punycode": "^1.2.4",
+ "querystring-es3": "^0.2.0",
+ "readable-stream": "^2.3.3",
+ "stream-browserify": "^2.0.1",
+ "stream-http": "^2.7.2",
+ "string_decoder": "^1.0.0",
+ "timers-browserify": "^2.0.4",
+ "tty-browserify": "0.0.0",
+ "url": "^0.11.0",
+ "util": "^0.10.3",
+ "vm-browserify": "0.0.4"
+ }
+ },
+ "promise": {
+ "version": "7.3.1",
+ "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz",
+ "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "asap": "~2.0.3"
+ }
+ },
+ "punycode": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
+ "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=",
+ "dev": true
+ },
+ "schema-utils": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.3.0.tgz",
+ "integrity": "sha1-9YdyIs4+kx7a4DnxfrNxbnE3+M8=",
+ "dev": true,
+ "requires": {
+ "ajv": "^5.0.0"
+ },
+ "dependencies": {
+ "ajv": {
+ "version": "5.5.2",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz",
+ "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=",
+ "dev": true,
+ "requires": {
+ "co": "^4.6.0",
+ "fast-deep-equal": "^1.0.0",
+ "fast-json-stable-stringify": "^2.0.0",
+ "json-schema-traverse": "^0.3.0"
+ }
+ }
+ }
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true,
+ "optional": true
+ },
+ "stylus": {
+ "version": "0.54.5",
+ "resolved": "https://registry.npmjs.org/stylus/-/stylus-0.54.5.tgz",
+ "integrity": "sha1-QrlWCTHKcJDOhRWnmLqeaqPW3Hk=",
+ "dev": true,
+ "requires": {
+ "css-parse": "1.7.x",
+ "debug": "*",
+ "glob": "7.0.x",
+ "mkdirp": "0.5.x",
+ "sax": "0.5.x",
+ "source-map": "0.1.x"
+ },
+ "dependencies": {
+ "glob": {
+ "version": "7.0.6",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.0.6.tgz",
+ "integrity": "sha1-IRuvr0nlJbjNkyYNFKsTYVKz9Xo=",
+ "dev": true,
+ "requires": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.0.2",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ }
+ },
+ "source-map": {
+ "version": "0.1.43",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz",
+ "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=",
+ "dev": true,
+ "requires": {
+ "amdefine": ">=0.0.4"
+ }
+ }
+ }
+ },
+ "webpack": {
+ "version": "4.8.3",
+ "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.8.3.tgz",
+ "integrity": "sha512-/hfAjBISycdK597lxONjKEFX7dSIU1PsYwC3XlXUXoykWBlv9QV5HnO+ql3HvrrgfBJ7WXdnjO9iGPR2aAc5sw==",
+ "dev": true,
+ "requires": {
+ "@webassemblyjs/ast": "1.4.3",
+ "@webassemblyjs/wasm-edit": "1.4.3",
+ "@webassemblyjs/wasm-parser": "1.4.3",
+ "acorn": "^5.0.0",
+ "acorn-dynamic-import": "^3.0.0",
+ "ajv": "^6.1.0",
+ "ajv-keywords": "^3.1.0",
+ "chrome-trace-event": "^0.1.1",
+ "enhanced-resolve": "^4.0.0",
+ "eslint-scope": "^3.7.1",
+ "loader-runner": "^2.3.0",
+ "loader-utils": "^1.1.0",
+ "memory-fs": "~0.4.1",
+ "micromatch": "^3.1.8",
+ "mkdirp": "~0.5.0",
+ "neo-async": "^2.5.0",
+ "node-libs-browser": "^2.0.0",
+ "schema-utils": "^0.4.4",
+ "tapable": "^1.0.0",
+ "uglifyjs-webpack-plugin": "^1.2.4",
+ "watchpack": "^1.5.0",
+ "webpack-sources": "^1.0.1"
+ },
+ "dependencies": {
+ "schema-utils": {
+ "version": "0.4.5",
+ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.5.tgz",
+ "integrity": "sha512-yYrjb9TX2k/J1Y5UNy3KYdZq10xhYcF8nMpAW6o3hy6Q8WSIEf9lJHG/ePnOBfziPM3fvQwfOwa13U/Fh8qTfA==",
+ "dev": true,
+ "requires": {
+ "ajv": "^6.1.0",
+ "ajv-keywords": "^3.1.0"
+ }
+ }
+ }
+ },
+ "webpack-merge": {
+ "version": "4.1.4",
+ "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-4.1.4.tgz",
+ "integrity": "sha512-TmSe1HZKeOPey3oy1Ov2iS3guIZjWvMT2BBJDzzT5jScHTjVC3mpjJofgueEzaEd6ibhxRDD6MIblDr8tzh8iQ==",
+ "dev": true,
+ "requires": {
+ "lodash": "^4.17.5"
+ }
+ }
+ }
+ },
+ "@angular-devkit/build-optimizer": {
+ "version": "0.6.8",
+ "resolved": "https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.6.8.tgz",
+ "integrity": "sha512-of5syQbv3uNPp4AQkfRecfnp8AE8kvffbfYi+FFPZ6OGr7e59T1fGwk6+Zgb2qQFQg8HO2tzWI/uygtLIqmbmw==",
+ "dev": true,
+ "requires": {
+ "loader-utils": "^1.1.0",
+ "source-map": "^0.5.6",
+ "typescript": "~2.9.1",
+ "webpack-sources": "^1.1.0"
+ },
+ "dependencies": {
+ "typescript": {
+ "version": "2.9.2",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-2.9.2.tgz",
+ "integrity": "sha512-Gr4p6nFNaoufRIY4NMdpQRNmgxVIGMs4Fcu/ujdYk3nAZqk7supzBE9idmvfZIlH/Cuj//dvi+019qEue9lV0w==",
+ "dev": true
+ }
+ }
+ },
+ "@angular-devkit/core": {
+ "version": "0.6.8",
+ "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-0.6.8.tgz",
+ "integrity": "sha512-rkIa1OSVWTt4g9leLSK/PsqOj3HZbDKHbZjqlslyfVa3AyCeiumFoOgViOVXlYgPX3HHDbE5uH24nyUWSD8uww==",
+ "dev": true,
+ "requires": {
+ "ajv": "~6.4.0",
+ "chokidar": "^2.0.3",
+ "rxjs": "^6.0.0",
+ "source-map": "^0.5.6"
+ }
+ },
+ "@angular-devkit/schematics": {
+ "version": "0.7.2",
+ "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-0.7.2.tgz",
+ "integrity": "sha512-4mhLhXc4Tyu07sGXWOHV9zXZ8uthbUo5zr63lj0Z9gv5f/vrJj5fyEoTnHONBFzVPdElMYS2vhiEtwnN0hKQDA==",
+ "dev": true,
+ "requires": {
+ "@angular-devkit/core": "0.7.2",
+ "rxjs": "^6.0.0"
+ },
+ "dependencies": {
+ "@angular-devkit/core": {
+ "version": "0.7.2",
+ "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-0.7.2.tgz",
+ "integrity": "sha512-1Es9oNpabOukutBe+0txXUHyhI6ypuc7WrxTutZH7Lr3n3+CTG6oEv42rOcot1aXi1n97wNqcdY3lrENFu9vhQ==",
+ "dev": true,
+ "requires": {
+ "ajv": "~6.4.0",
+ "chokidar": "^2.0.3",
+ "rxjs": "^6.0.0",
+ "source-map": "^0.5.6"
+ }
+ }
+ }
+ },
+ "@angular/animations": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-6.1.0.tgz",
+ "integrity": "sha512-9IJs1czyoOlgcaY3QUyQI0XeTFX45Qr/o5qlPrce240gi7TXbdJs3WIbLzxx7BhMf20GholCaOvSS3BZrNlFSA==",
+ "requires": {
+ "tslib": "^1.9.0"
+ }
+ },
+ "@angular/cli": {
+ "version": "6.1.2",
+ "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-6.1.2.tgz",
+ "integrity": "sha512-uY1/rFWqmi7MibUz4bwhkiM95PmDZn0OCaMxGafZlriZgu+81on7/7biWNHgIRAd+QV1qBJlstWT2J0K8r1vLA==",
+ "dev": true,
+ "requires": {
+ "@angular-devkit/architect": "0.7.2",
+ "@angular-devkit/core": "0.7.2",
+ "@angular-devkit/schematics": "0.7.2",
+ "@schematics/angular": "0.7.2",
+ "@schematics/update": "0.7.2",
+ "opn": "^5.3.0",
+ "rxjs": "^6.0.0",
+ "semver": "^5.1.0",
+ "symbol-observable": "^1.2.0",
+ "yargs-parser": "^10.0.0"
+ },
+ "dependencies": {
+ "@angular-devkit/architect": {
+ "version": "0.7.2",
+ "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.7.2.tgz",
+ "integrity": "sha512-p7e4wE+a1AxlfCJQL1IIBltblV9VqFSMlUuPW3PUp0fguo0yaTv9paY5WlFwrj0YhypBj3zHcjSdIruHrgbErg==",
+ "dev": true,
+ "requires": {
+ "@angular-devkit/core": "0.7.2",
+ "rxjs": "^6.0.0"
+ }
+ },
+ "@angular-devkit/core": {
+ "version": "0.7.2",
+ "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-0.7.2.tgz",
+ "integrity": "sha512-1Es9oNpabOukutBe+0txXUHyhI6ypuc7WrxTutZH7Lr3n3+CTG6oEv42rOcot1aXi1n97wNqcdY3lrENFu9vhQ==",
+ "dev": true,
+ "requires": {
+ "ajv": "~6.4.0",
+ "chokidar": "^2.0.3",
+ "rxjs": "^6.0.0",
+ "source-map": "^0.5.6"
+ }
+ },
+ "@schematics/angular": {
+ "version": "0.7.2",
+ "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-0.7.2.tgz",
+ "integrity": "sha512-u92urZDC9qk/4gQliajrzxgrEz3ucvOtQ0eCzbRKU86AGWrz215hQJRmLRSDAdVy0frfc8Gg8IhdHSA2nZLgVw==",
+ "dev": true,
+ "requires": {
+ "@angular-devkit/core": "0.7.2",
+ "@angular-devkit/schematics": "0.7.2",
+ "typescript": ">=2.6.2 <2.8"
+ }
+ },
+ "camelcase": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz",
+ "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=",
+ "dev": true
+ },
+ "yargs-parser": {
+ "version": "10.1.0",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-10.1.0.tgz",
+ "integrity": "sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ==",
+ "dev": true,
+ "requires": {
+ "camelcase": "^4.1.0"
+ }
+ }
+ }
+ },
+ "@angular/common": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/@angular/common/-/common-6.1.0.tgz",
+ "integrity": "sha512-uxdjxbuTYiCsOcrfO9EumGrfXo+7nB7HlS9F4wraKcnR22oJYNUh36meFKZwpoj5pDIBLnZQu75boI16o3W+SQ==",
+ "requires": {
+ "tslib": "^1.9.0"
+ }
+ },
+ "@angular/compiler": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-6.1.0.tgz",
+ "integrity": "sha512-5c8ZYCFv0xccy0F12zBRIJX0pJd9BgCThJuhVJAuaRFFOqPZl8FKEO3SFqKJNywT0UktZD9JpYFKxhUVxuSHDg==",
+ "requires": {
+ "tslib": "^1.9.0"
+ }
+ },
+ "@angular/compiler-cli": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-6.1.0.tgz",
+ "integrity": "sha512-g4fXQwAYnxtr08BK3CiodJsUXz3fIBCVfZaWIcLMdOlyarFDEvB3TA9qfPkQtlndm87WpXjZ6Xd9OAkmG8t8dw==",
+ "dev": true,
+ "requires": {
+ "chokidar": "^1.4.2",
+ "minimist": "^1.2.0",
+ "reflect-metadata": "^0.1.2",
+ "tsickle": "^0.30.0"
+ },
+ "dependencies": {
+ "anymatch": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.2.tgz",
+ "integrity": "sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==",
+ "dev": true,
+ "requires": {
+ "micromatch": "^2.1.5",
+ "normalize-path": "^2.0.0"
+ }
+ },
+ "arr-diff": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz",
+ "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=",
+ "dev": true,
+ "requires": {
+ "arr-flatten": "^1.0.1"
+ }
+ },
+ "array-unique": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz",
+ "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=",
+ "dev": true
+ },
+ "braces": {
+ "version": "1.8.5",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz",
+ "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=",
+ "dev": true,
+ "requires": {
+ "expand-range": "^1.8.1",
+ "preserve": "^0.2.0",
+ "repeat-element": "^1.1.2"
+ }
+ },
+ "chokidar": {
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz",
+ "integrity": "sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=",
+ "dev": true,
+ "requires": {
+ "anymatch": "^1.3.0",
+ "async-each": "^1.0.0",
+ "fsevents": "^1.0.0",
+ "glob-parent": "^2.0.0",
+ "inherits": "^2.0.1",
+ "is-binary-path": "^1.0.0",
+ "is-glob": "^2.0.0",
+ "path-is-absolute": "^1.0.0",
+ "readdirp": "^2.0.0"
+ }
+ },
+ "expand-brackets": {
+ "version": "0.1.5",
+ "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz",
+ "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=",
+ "dev": true,
+ "requires": {
+ "is-posix-bracket": "^0.1.0"
+ }
+ },
+ "extglob": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz",
+ "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=",
+ "dev": true,
+ "requires": {
+ "is-extglob": "^1.0.0"
+ }
+ },
+ "glob-parent": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz",
+ "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=",
+ "dev": true,
+ "requires": {
+ "is-glob": "^2.0.0"
+ }
+ },
+ "is-extglob": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
+ "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=",
+ "dev": true
+ },
+ "is-glob": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
+ "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
+ "dev": true,
+ "requires": {
+ "is-extglob": "^1.0.0"
+ }
+ },
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ },
+ "micromatch": {
+ "version": "2.3.11",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz",
+ "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=",
+ "dev": true,
+ "requires": {
+ "arr-diff": "^2.0.0",
+ "array-unique": "^0.2.1",
+ "braces": "^1.8.2",
+ "expand-brackets": "^0.1.4",
+ "extglob": "^0.3.1",
+ "filename-regex": "^2.0.0",
+ "is-extglob": "^1.0.0",
+ "is-glob": "^2.0.1",
+ "kind-of": "^3.0.2",
+ "normalize-path": "^2.0.1",
+ "object.omit": "^2.0.0",
+ "parse-glob": "^3.0.4",
+ "regex-cache": "^0.4.2"
+ }
+ },
+ "minimist": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+ "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
+ "dev": true
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true
+ },
+ "tsickle": {
+ "version": "0.30.0",
+ "resolved": "https://registry.npmjs.org/tsickle/-/tsickle-0.30.0.tgz",
+ "integrity": "sha512-A4ALnEDQNrECn5xhgHmoXKM5qERCM395pKIfqcV57ex3zEInVogu/A191Btv8OPEINkr3xQ3Q2XRywyqkge3Qg==",
+ "dev": true,
+ "requires": {
+ "jasmine-diff": "^0.1.3",
+ "minimist": "^1.2.0",
+ "mkdirp": "^0.5.1",
+ "source-map": "^0.6.0",
+ "source-map-support": "^0.5.0"
+ }
+ }
+ }
+ },
+ "@angular/core": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/@angular/core/-/core-6.1.0.tgz",
+ "integrity": "sha512-gWu9Q7q2+fhFC5dl/BvGW7Ha7NUJtK9wQLYQlfIMim4lKTOiM1/S0MYBVMrEq58ldMr9DnA35f5jGno3x6/v+g==",
+ "requires": {
+ "tslib": "^1.9.0"
+ }
+ },
+ "@angular/forms": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-6.1.0.tgz",
+ "integrity": "sha512-6InfsKWEL9w2RvTXjy5R3F8GRjENT9d444o95aSvf+ZK7KsYOeIwcYgN2pw+LjfNu2O3EbAqps8APQ6oD/Fn3A==",
+ "requires": {
+ "tslib": "^1.9.0"
+ }
+ },
+ "@angular/platform-browser": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-6.1.0.tgz",
+ "integrity": "sha512-LcpcHLpy+fjN+gKcnTkWuTTuF+uYT350mje1kNr4Advoco76tXYBjAda/EehG+vmQmDTd5E+uxJhKJr/1POVEw==",
+ "requires": {
+ "tslib": "^1.9.0"
+ }
+ },
+ "@angular/platform-browser-dynamic": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-6.1.0.tgz",
+ "integrity": "sha512-gjOJ38ciuIgdAuG8bEs/sdJmkfm/oICLrCcQexz+EUCZAiqbKDb0HvFTDaKaLtR7iDbTXVMQhoYMOyTY40FwLQ==",
+ "requires": {
+ "tslib": "^1.9.0"
+ }
+ },
+ "@angular/upgrade": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/@angular/upgrade/-/upgrade-6.1.0.tgz",
+ "integrity": "sha512-HWpXisVY1uyIhWXz41KciweCWAD7oHajkhnDXlNBvDaIbnYkUSSr2D5DOCR8jIooV1HqJMkXCqRR0nwm3WEjJg==",
+ "requires": {
+ "tslib": "^1.9.0"
+ }
+ },
+ "@babel/code-frame": {
+ "version": "7.0.0-beta.42",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0-beta.42.tgz",
+ "integrity": "sha512-L8i94FLSyaLQpRfDo/qqSm8Ndb44zMtXParXo0MebJICG1zoCCL4+GkzUOlB4BNTRSXXQdb3feam/qw7bKPipQ==",
+ "dev": true,
+ "requires": {
+ "@babel/highlight": "7.0.0-beta.42"
+ }
+ },
+ "@babel/helper-module-imports": {
+ "version": "7.0.0-beta.51",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.0.0-beta.51.tgz",
+ "integrity": "sha1-zgBCgEX7t9XrwOp7+DV4nxU2arI=",
+ "dev": true,
+ "requires": {
+ "@babel/types": "7.0.0-beta.51",
+ "lodash": "^4.17.5"
+ }
+ },
+ "@babel/highlight": {
+ "version": "7.0.0-beta.42",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0-beta.42.tgz",
+ "integrity": "sha512-X3Ur/A/lIbbP8W0pmwgqtDXIxhQmxPaiwY9SKP7kF9wvZfjZRwMvbJE92ozUhF3UDK3DCKaV7oGqmI1rP/zqWA==",
+ "dev": true,
+ "requires": {
+ "chalk": "^2.0.0",
+ "esutils": "^2.0.2",
+ "js-tokens": "^3.0.0"
+ }
+ },
+ "@babel/types": {
+ "version": "7.0.0-beta.51",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.0.0-beta.51.tgz",
+ "integrity": "sha1-2AK3tUO1g2x3iqaReXq/APPZfqk=",
+ "dev": true,
+ "requires": {
+ "esutils": "^2.0.2",
+ "lodash": "^4.17.5",
+ "to-fast-properties": "^2.0.0"
+ },
+ "dependencies": {
+ "to-fast-properties": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
+ "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=",
+ "dev": true
+ }
+ }
+ },
+ "@emotion/babel-utils": {
+ "version": "0.6.8",
+ "resolved": "https://registry.npmjs.org/@emotion/babel-utils/-/babel-utils-0.6.8.tgz",
+ "integrity": "sha512-W+jlIJwsHxLnySwgxvVJH5ragBgxf3+zNcZEoJl6ihq6aaZAf48ub+RjzDNy2oiU272MW1YlEaW8B5//HHUucg==",
+ "dev": true,
+ "requires": {
+ "@emotion/hash": "^0.6.5",
+ "@emotion/memoize": "^0.6.5",
+ "@emotion/serialize": "^0.8.6",
+ "convert-source-map": "^1.5.1",
+ "find-root": "^1.1.0",
+ "source-map": "^0.7.2"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.7.3",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz",
+ "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==",
+ "dev": true
+ }
+ }
+ },
+ "@emotion/hash": {
+ "version": "0.6.5",
+ "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.6.5.tgz",
+ "integrity": "sha512-JlZbn5+adseTdDPTUkx/O1/UZbhaGR5fCLLWQDCIJ4eP9fJcVdP/qjlTveEX6mkNoJHWFbZ47wArWQQ0Qk6nMA==",
+ "dev": true
+ },
+ "@emotion/is-prop-valid": {
+ "version": "0.6.5",
+ "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-0.6.5.tgz",
+ "integrity": "sha512-pfjQHT3FCZkAPxqY+sI6MmMTPMCKGIV3DcC1qhf68XkE9pGtKqb5WNN2vfmLgTMGnNVXnaFyx/VjdDYmGFcRaw==",
+ "dev": true,
+ "requires": {
+ "@emotion/memoize": "^0.6.5"
+ }
+ },
+ "@emotion/memoize": {
+ "version": "0.6.5",
+ "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.6.5.tgz",
+ "integrity": "sha512-n1USr7yICA4LFIv7z6kKsXM8rZJxd1btKCBmDewlit+3OJ2j4bDfgXTAxTHYbPkHS/eztHmFWfsbxW2Pu5mDqA==",
+ "dev": true
+ },
+ "@emotion/serialize": {
+ "version": "0.8.6",
+ "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-0.8.6.tgz",
+ "integrity": "sha512-GSA3ANFCKBtfmTa+bH3+newHGeEfU0X78oDK5+Wxp65nOsOJEgzeMocmclgsbY7hZ4uhBkZf3GaGt4DXKjWlhA==",
+ "dev": true,
+ "requires": {
+ "@emotion/hash": "^0.6.5",
+ "@emotion/memoize": "^0.6.5",
+ "@emotion/unitless": "^0.6.5",
+ "@emotion/utils": "^0.8.0"
+ }
+ },
+ "@emotion/stylis": {
+ "version": "0.6.12",
+ "resolved": "https://registry.npmjs.org/@emotion/stylis/-/stylis-0.6.12.tgz",
+ "integrity": "sha512-yS+t7l5FeYeiIyADyqjFBJvdotpphHb2S3mP4qak5BpV7ODvxuyAVF24IchEslW+A1MWHAhn5SiOW6GZIumiEQ==",
+ "dev": true
+ },
+ "@emotion/unitless": {
+ "version": "0.6.5",
+ "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.6.5.tgz",
+ "integrity": "sha512-kAFHWyQTMLcOvse+RfEfJ6uwwOlVFZcUOMX0wuBvEMwnF3Zb/6VQ/xDgbx9fNlp3I6AAmijAtUtIyT2qVldpnA==",
+ "dev": true
+ },
+ "@emotion/utils": {
+ "version": "0.8.0",
+ "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-0.8.0.tgz",
+ "integrity": "sha512-VzuAGGkfxE5lt/fWqQAQWlbYf8Rl2AzVRN0aYnCLSfXaavz0DHPOOG8xq7KfJdWIQMI42+bWOoospybg54ADmA==",
+ "dev": true
+ },
+ "@ngrx/store": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/@ngrx/store/-/store-6.1.0.tgz",
+ "integrity": "sha512-H5BGym1WtAX84/R4pTQ2MrrP87qYfXc6CoPghCZCK9LYxCodsI7KeQfpyNCg5qapxdH2EDqlHXTBJfMTLRiRGg=="
+ },
+ "@ngtools/webpack": {
+ "version": "6.0.8",
+ "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-6.0.8.tgz",
+ "integrity": "sha512-jorGpTd82ILbyUwg4JQekovHFaYwSMlZan4f7x+sd3+2WgyL3Z1+ZbVSGKvXZWKS/mAVx7eLkRikzJkuC4FgHw==",
+ "dev": true,
+ "requires": {
+ "@angular-devkit/core": "0.6.8",
+ "tree-kill": "^1.0.0",
+ "webpack-sources": "^1.1.0"
+ }
+ },
+ "@nodelib/fs.stat": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.0.tgz",
+ "integrity": "sha512-LAQ1d4OPfSJ/BMbI2DuizmYrrkD9JMaTdi2hQTlI53lQ4kRQPyZQRS4CYQ7O66bnBBnP/oYdRxbk++X0xuFU6A==",
+ "dev": true
+ },
+ "@schematics/update": {
+ "version": "0.7.2",
+ "resolved": "https://registry.npmjs.org/@schematics/update/-/update-0.7.2.tgz",
+ "integrity": "sha512-YOnQhhYAAGjhWGCs7RUPKQD2G9Qg5gby4Dxa43vGP31xUcYFeYZCbU9MchnaxLPFi1NH4UEztkRFT4T3bn2d1A==",
+ "dev": true,
+ "requires": {
+ "@angular-devkit/core": "0.7.2",
+ "@angular-devkit/schematics": "0.7.2",
+ "npm-registry-client": "^8.5.1",
+ "rxjs": "^6.0.0",
+ "semver": "^5.3.0",
+ "semver-intersect": "^1.1.2"
+ },
+ "dependencies": {
+ "@angular-devkit/core": {
+ "version": "0.7.2",
+ "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-0.7.2.tgz",
+ "integrity": "sha512-1Es9oNpabOukutBe+0txXUHyhI6ypuc7WrxTutZH7Lr3n3+CTG6oEv42rOcot1aXi1n97wNqcdY3lrENFu9vhQ==",
+ "dev": true,
+ "requires": {
+ "ajv": "~6.4.0",
+ "chokidar": "^2.0.3",
+ "rxjs": "^6.0.0",
+ "source-map": "^0.5.6"
+ }
+ }
+ }
+ },
+ "@storybook/addon-actions": {
+ "version": "4.0.0-alpha.9",
+ "resolved": "https://registry.npmjs.org/@storybook/addon-actions/-/addon-actions-4.0.0-alpha.9.tgz",
+ "integrity": "sha512-fIYDdw3u+31gL1I5npP60qXDM1AwLsFKXfyQr2yQ5vGuM6G76H51Jj7VpRnu/mUkOId4WWLjSVd7zP+ppQjLJw==",
+ "dev": true,
+ "requires": {
+ "@storybook/addons": "4.0.0-alpha.9",
+ "@storybook/components": "4.0.0-alpha.9",
+ "@storybook/core-events": "4.0.0-alpha.9",
+ "babel-runtime": "^6.26.0",
+ "deep-equal": "^1.0.1",
+ "emotion": "^9.1.3",
+ "global": "^4.3.2",
+ "lodash.isequal": "^4.5.0",
+ "make-error": "^1.3.4",
+ "prop-types": "^15.6.1",
+ "react-emotion": "^9.1.3",
+ "react-inspector": "^2.3.0",
+ "uuid": "^3.2.1"
+ },
+ "dependencies": {
+ "react-emotion": {
+ "version": "9.2.6",
+ "resolved": "https://registry.npmjs.org/react-emotion/-/react-emotion-9.2.6.tgz",
+ "integrity": "sha512-3GwLQ0Vib/X0G7KWY7N1F/7NmfoBLkkg3g9Jd8t6By5QUH0PyCSUVdDmfFBbgVKsAcpkjA0vcsMbiWeZusaRrA==",
+ "dev": true,
+ "requires": {
+ "babel-plugin-emotion": "^9.2.6",
+ "create-emotion-styled": "^9.2.6"
+ }
+ }
+ }
+ },
+ "@storybook/addon-backgrounds": {
+ "version": "4.0.0-alpha.9",
+ "resolved": "https://registry.npmjs.org/@storybook/addon-backgrounds/-/addon-backgrounds-4.0.0-alpha.9.tgz",
+ "integrity": "sha512-H/qAI9PjRCyQ42g5TGqMc7IJvy+x2W8XGBnN4MW8OwEcBVFgbnxoIA5yufGLOS8u7TaLQH+x0dxFcRhhKe5o2A==",
+ "dev": true,
+ "requires": {
+ "@storybook/addons": "4.0.0-alpha.9",
+ "@storybook/core-events": "4.0.0-alpha.9",
+ "babel-runtime": "^6.26.0",
+ "emotion": "^9.1.3",
+ "global": "^4.3.2",
+ "prop-types": "^15.6.1",
+ "react-emotion": "^9.1.3",
+ "util-deprecate": "^1.0.2"
+ },
+ "dependencies": {
+ "react-emotion": {
+ "version": "9.2.6",
+ "resolved": "https://registry.npmjs.org/react-emotion/-/react-emotion-9.2.6.tgz",
+ "integrity": "sha512-3GwLQ0Vib/X0G7KWY7N1F/7NmfoBLkkg3g9Jd8t6By5QUH0PyCSUVdDmfFBbgVKsAcpkjA0vcsMbiWeZusaRrA==",
+ "dev": true,
+ "requires": {
+ "babel-plugin-emotion": "^9.2.6",
+ "create-emotion-styled": "^9.2.6"
+ }
+ }
+ }
+ },
+ "@storybook/addon-centered": {
+ "version": "4.0.0-alpha.9",
+ "resolved": "https://registry.npmjs.org/@storybook/addon-centered/-/addon-centered-4.0.0-alpha.9.tgz",
+ "integrity": "sha512-B5Ohy1Kq9hpTz2r74NTWxUrGDprp3K4AZzvlXhXKBbOXwUcJbq8RLOfV/lbHD0KR79r46IevRvdCya1M5hjCpA==",
+ "dev": true,
+ "requires": {
+ "global": "^4.3.2"
+ }
+ },
+ "@storybook/addon-jest": {
+ "version": "4.0.0-alpha.9",
+ "resolved": "https://registry.npmjs.org/@storybook/addon-jest/-/addon-jest-4.0.0-alpha.9.tgz",
+ "integrity": "sha512-MjoUkaxi/6tuVNz5ns7dVZSMfSFDYqgplGZPBEg1h/zrLWzJy2RkZRkmlohJBDmEyS45eAAzyb5k+roKG+gLpw==",
+ "dev": true,
+ "requires": {
+ "@storybook/addons": "4.0.0-alpha.9",
+ "@storybook/components": "4.0.0-alpha.9",
+ "babel-runtime": "^6.26.0",
+ "emotion": "^9.1.3",
+ "global": "^4.3.2",
+ "prop-types": "^15.6.1",
+ "react-emotion": "^9.1.3"
+ },
+ "dependencies": {
+ "react-emotion": {
+ "version": "9.2.6",
+ "resolved": "https://registry.npmjs.org/react-emotion/-/react-emotion-9.2.6.tgz",
+ "integrity": "sha512-3GwLQ0Vib/X0G7KWY7N1F/7NmfoBLkkg3g9Jd8t6By5QUH0PyCSUVdDmfFBbgVKsAcpkjA0vcsMbiWeZusaRrA==",
+ "dev": true,
+ "requires": {
+ "babel-plugin-emotion": "^9.2.6",
+ "create-emotion-styled": "^9.2.6"
+ }
+ }
+ }
+ },
+ "@storybook/addon-knobs": {
+ "version": "4.0.0-alpha.9",
+ "resolved": "https://registry.npmjs.org/@storybook/addon-knobs/-/addon-knobs-4.0.0-alpha.9.tgz",
+ "integrity": "sha512-nSRje01MVThRYgw09c1DDkSL77rYaC1qXOiTuB6btsPoIvHHc1pNQXoPdYW1bSqGZbbkZ9G6OCTgNkpbg2hC4g==",
+ "dev": true,
+ "requires": {
+ "@storybook/addons": "4.0.0-alpha.9",
+ "@storybook/components": "4.0.0-alpha.9",
+ "@storybook/core-events": "4.0.0-alpha.9",
+ "babel-runtime": "^6.26.0",
+ "deep-equal": "^1.0.1",
+ "escape-html": "^1.0.3",
+ "global": "^4.3.2",
+ "insert-css": "^2.0.0",
+ "lodash.debounce": "^4.0.8",
+ "moment": "^2.22.2",
+ "prop-types": "^15.6.1",
+ "react-color": "^2.14.1",
+ "react-datetime": "^2.14.0",
+ "react-emotion": "^9.1.3",
+ "react-lifecycles-compat": "^3.0.4",
+ "react-textarea-autosize": "^6.1.0",
+ "util-deprecate": "^1.0.2"
+ },
+ "dependencies": {
+ "react-emotion": {
+ "version": "9.2.6",
+ "resolved": "https://registry.npmjs.org/react-emotion/-/react-emotion-9.2.6.tgz",
+ "integrity": "sha512-3GwLQ0Vib/X0G7KWY7N1F/7NmfoBLkkg3g9Jd8t6By5QUH0PyCSUVdDmfFBbgVKsAcpkjA0vcsMbiWeZusaRrA==",
+ "dev": true,
+ "requires": {
+ "babel-plugin-emotion": "^9.2.6",
+ "create-emotion-styled": "^9.2.6"
+ }
+ }
+ }
+ },
+ "@storybook/addon-links": {
+ "version": "4.0.0-alpha.9",
+ "resolved": "https://registry.npmjs.org/@storybook/addon-links/-/addon-links-4.0.0-alpha.9.tgz",
+ "integrity": "sha512-OfNjsAJ+YOy4jIAADJaqtAaTpgveku5PSWhxkXTvXZPIxFxh3X59ZYkTzSj0LFVEsfp7o+Sv0VB6KuaDgY69kA==",
+ "dev": true,
+ "requires": {
+ "@storybook/addons": "4.0.0-alpha.9",
+ "@storybook/components": "4.0.0-alpha.9",
+ "@storybook/core-events": "4.0.0-alpha.9",
+ "babel-runtime": "^6.26.0",
+ "global": "^4.3.2",
+ "prop-types": "^15.6.1"
+ }
+ },
+ "@storybook/addon-notes": {
+ "version": "4.0.0-alpha.9",
+ "resolved": "https://registry.npmjs.org/@storybook/addon-notes/-/addon-notes-4.0.0-alpha.9.tgz",
+ "integrity": "sha512-nju5U4uAg0syqevQ9uh5v8jfXc0E6ZElsvyrEl1SkwOuDMogegEF85Uo+tNSbiAA+sDi7DcK6wGRK02iw8oFIg==",
+ "dev": true,
+ "requires": {
+ "@storybook/addons": "4.0.0-alpha.9",
+ "babel-runtime": "^6.26.0",
+ "emotion": "^9.1.3",
+ "marked": "^0.4.0",
+ "prop-types": "^15.6.1",
+ "react-emotion": "^9.1.3",
+ "util-deprecate": "^1.0.2"
+ },
+ "dependencies": {
+ "react-emotion": {
+ "version": "9.2.6",
+ "resolved": "https://registry.npmjs.org/react-emotion/-/react-emotion-9.2.6.tgz",
+ "integrity": "sha512-3GwLQ0Vib/X0G7KWY7N1F/7NmfoBLkkg3g9Jd8t6By5QUH0PyCSUVdDmfFBbgVKsAcpkjA0vcsMbiWeZusaRrA==",
+ "dev": true,
+ "requires": {
+ "babel-plugin-emotion": "^9.2.6",
+ "create-emotion-styled": "^9.2.6"
+ }
+ }
+ }
+ },
+ "@storybook/addon-options": {
+ "version": "4.0.0-alpha.9",
+ "resolved": "https://registry.npmjs.org/@storybook/addon-options/-/addon-options-4.0.0-alpha.9.tgz",
+ "integrity": "sha512-VNHowQzvxVoWXtBkaiMlwGwsXmbQm5Uf9QO9MSizg8DWBECfdHvPJR5QWL4ZVin3HX5loDti4LbKXojCRd3Lvg==",
+ "dev": true,
+ "requires": {
+ "@storybook/addons": "4.0.0-alpha.9",
+ "babel-runtime": "^6.26.0"
+ }
+ },
+ "@storybook/addon-storyshots": {
+ "version": "4.0.0-alpha.9",
+ "resolved": "https://registry.npmjs.org/@storybook/addon-storyshots/-/addon-storyshots-4.0.0-alpha.9.tgz",
+ "integrity": "sha512-96as774d4X8y0TaUj2+XUaes6NHijp3CXZkg8qgXgwFor9Og9sioHpPr6NszCCNzkDSB77aDreO6Z3nsZn0T9g==",
+ "dev": true,
+ "requires": {
+ "@storybook/addons": "4.0.0-alpha.9",
+ "@storybook/core": "4.0.0-alpha.9",
+ "@storybook/node-logger": "4.0.0-alpha.9",
+ "babel-runtime": "^6.26.0",
+ "glob": "^7.1.2",
+ "global": "^4.3.2",
+ "jest-image-snapshot": "^2.4.2",
+ "jest-specific-snapshot": "^0.5.0",
+ "puppeteer": "^1.4.0",
+ "read-pkg-up": "^3.0.0"
+ },
+ "dependencies": {
+ "@storybook/core": {
+ "version": "4.0.0-alpha.9",
+ "resolved": "https://registry.npmjs.org/@storybook/core/-/core-4.0.0-alpha.9.tgz",
+ "integrity": "sha512-rMmCJi5fAVHUQfBqIHrxnzprsQQZMTWkTWMM6bA7uqsp8tgqN7PUfgKRUDl7mbfTFOzjIgle7AAPO/EmqKh+vw==",
+ "dev": true,
+ "requires": {
+ "@storybook/addons": "4.0.0-alpha.9",
+ "@storybook/channel-postmessage": "4.0.0-alpha.9",
+ "@storybook/client-logger": "4.0.0-alpha.9",
+ "@storybook/core-events": "4.0.0-alpha.9",
+ "@storybook/node-logger": "4.0.0-alpha.9",
+ "@storybook/react-dev-utils": "^5.0.0",
+ "@storybook/ui": "4.0.0-alpha.9",
+ "airbnb-js-shims": "^1.6.0",
+ "autoprefixer": "^8.6.0",
+ "babel-loader": "^7.1.4",
+ "babel-plugin-macros": "^2.2.2",
+ "babel-plugin-transform-regenerator": "^6.26.0",
+ "babel-plugin-transform-runtime": "^6.23.0",
+ "babel-preset-env": "^1.7.0",
+ "babel-preset-minify": "0.4.1",
+ "babel-preset-stage-0": "^6.24.1",
+ "babel-runtime": "^6.26.0",
+ "case-sensitive-paths-webpack-plugin": "^2.1.2",
+ "chalk": "^2.4.1",
+ "commander": "^2.15.1",
+ "core-js": "^2.5.7",
+ "css-loader": "^0.28.11",
+ "dotenv": "^5.0.1",
+ "dotenv-webpack": "^1.5.6",
+ "emotion": "^9.1.3",
+ "express": "^4.16.3",
+ "file-loader": "^1.1.11",
+ "find-cache-dir": "^1.0.0",
+ "global": "^4.3.2",
+ "html-webpack-plugin": "^3.2.0",
+ "json5": "^1.0.1",
+ "postcss-flexbugs-fixes": "^3.3.1",
+ "postcss-loader": "^2.1.5",
+ "prop-types": "^15.6.1",
+ "qs": "^6.5.2",
+ "raw-loader": "^0.5.1",
+ "react-emotion": "^9.1.3",
+ "redux": "^4.0.0",
+ "serve-favicon": "^2.5.0",
+ "shelljs": "^0.8.2",
+ "style-loader": "^0.21.0",
+ "svg-url-loader": "^2.3.2",
+ "url-loader": "^1.0.1",
+ "webpack": "^4.10.2",
+ "webpack-dev-middleware": "^3.1.3",
+ "webpack-hot-middleware": "^2.22.2"
+ }
+ },
+ "@storybook/react-komposer": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/@storybook/react-komposer/-/react-komposer-2.0.4.tgz",
+ "integrity": "sha1-wsDUp12bSpwMa0bxSrBQ9FitS7A=",
+ "dev": true,
+ "requires": {
+ "@storybook/react-stubber": "^1.0.0",
+ "babel-runtime": "^6.11.6",
+ "hoist-non-react-statics": "^1.2.0",
+ "lodash.pick": "^4.4.0",
+ "shallowequal": "^0.2.2"
+ }
+ },
+ "@storybook/ui": {
+ "version": "4.0.0-alpha.9",
+ "resolved": "https://registry.npmjs.org/@storybook/ui/-/ui-4.0.0-alpha.9.tgz",
+ "integrity": "sha512-sVfYb0F6YDOcLzbIYj5lAf946exEm49yxFfvUlG9mr4IYESw6tmGLrURyzqFcmPJWgqF+4byS0d5nXp0cSUf0A==",
+ "dev": true,
+ "requires": {
+ "@storybook/components": "4.0.0-alpha.9",
+ "@storybook/core-events": "4.0.0-alpha.9",
+ "@storybook/mantra-core": "^1.7.2",
+ "@storybook/podda": "^1.2.3",
+ "@storybook/react-komposer": "^2.0.4",
+ "babel-runtime": "^6.26.0",
+ "deep-equal": "^1.0.1",
+ "emotion": "^9.1.3",
+ "events": "^2.1.0",
+ "fuse.js": "^3.2.0",
+ "global": "^4.3.2",
+ "keycode": "^2.2.0",
+ "lodash.debounce": "^4.0.8",
+ "lodash.pick": "^4.4.0",
+ "lodash.sortby": "^4.7.0",
+ "lodash.throttle": "^4.1.1",
+ "prop-types": "^15.6.1",
+ "qs": "^6.5.2",
+ "react-emotion": "^9.1.3",
+ "react-fuzzy": "^0.5.2",
+ "react-icons": "^2.2.7",
+ "react-lifecycles-compat": "^3.0.4",
+ "react-modal": "^3.4.5",
+ "react-treebeard": "^2.1.0"
+ }
+ },
+ "array-flatten": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
+ "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=",
+ "dev": true
+ },
+ "chalk": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz",
+ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ }
+ },
+ "events": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/events/-/events-2.1.0.tgz",
+ "integrity": "sha512-3Zmiobend8P9DjmKAty0Era4jV8oJ0yGYe2nJJAxgymF9+N8F2m0hhZiMoWtcfepExzNKZumFU3ksdQbInGWCg==",
+ "dev": true
+ },
+ "express": {
+ "version": "4.16.3",
+ "resolved": "https://registry.npmjs.org/express/-/express-4.16.3.tgz",
+ "integrity": "sha1-avilAjUNsyRuzEvs9rWjTSL37VM=",
+ "dev": true,
+ "requires": {
+ "accepts": "~1.3.5",
+ "array-flatten": "1.1.1",
+ "body-parser": "1.18.2",
+ "content-disposition": "0.5.2",
+ "content-type": "~1.0.4",
+ "cookie": "0.3.1",
+ "cookie-signature": "1.0.6",
+ "debug": "2.6.9",
+ "depd": "~1.1.2",
+ "encodeurl": "~1.0.2",
+ "escape-html": "~1.0.3",
+ "etag": "~1.8.1",
+ "finalhandler": "1.1.1",
+ "fresh": "0.5.2",
+ "merge-descriptors": "1.0.1",
+ "methods": "~1.1.2",
+ "on-finished": "~2.3.0",
+ "parseurl": "~1.3.2",
+ "path-to-regexp": "0.1.7",
+ "proxy-addr": "~2.0.3",
+ "qs": "6.5.1",
+ "range-parser": "~1.2.0",
+ "safe-buffer": "5.1.1",
+ "send": "0.16.2",
+ "serve-static": "1.13.2",
+ "setprototypeof": "1.1.0",
+ "statuses": "~1.4.0",
+ "type-is": "~1.6.16",
+ "utils-merge": "1.0.1",
+ "vary": "~1.1.2"
+ },
+ "dependencies": {
+ "qs": {
+ "version": "6.5.1",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz",
+ "integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A==",
+ "dev": true
+ }
+ }
+ },
+ "hoist-non-react-statics": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-1.2.0.tgz",
+ "integrity": "sha1-qkSM8JhtVcxAdzsXF0t90GbLfPs=",
+ "dev": true
+ },
+ "json5": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
+ "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
+ "dev": true,
+ "requires": {
+ "minimist": "^1.2.0"
+ }
+ },
+ "load-json-file": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz",
+ "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.1.2",
+ "parse-json": "^4.0.0",
+ "pify": "^3.0.0",
+ "strip-bom": "^3.0.0"
+ }
+ },
+ "minimist": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+ "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
+ "dev": true
+ },
+ "parse-json": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz",
+ "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=",
+ "dev": true,
+ "requires": {
+ "error-ex": "^1.3.1",
+ "json-parse-better-errors": "^1.0.1"
+ }
+ },
+ "qs": {
+ "version": "6.5.2",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz",
+ "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==",
+ "dev": true
+ },
+ "react-emotion": {
+ "version": "9.2.6",
+ "resolved": "https://registry.npmjs.org/react-emotion/-/react-emotion-9.2.6.tgz",
+ "integrity": "sha512-3GwLQ0Vib/X0G7KWY7N1F/7NmfoBLkkg3g9Jd8t6By5QUH0PyCSUVdDmfFBbgVKsAcpkjA0vcsMbiWeZusaRrA==",
+ "dev": true,
+ "requires": {
+ "babel-plugin-emotion": "^9.2.6",
+ "create-emotion-styled": "^9.2.6"
+ }
+ },
+ "read-pkg": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz",
+ "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=",
+ "dev": true,
+ "requires": {
+ "load-json-file": "^4.0.0",
+ "normalize-package-data": "^2.3.2",
+ "path-type": "^3.0.0"
+ }
+ },
+ "read-pkg-up": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz",
+ "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=",
+ "dev": true,
+ "requires": {
+ "find-up": "^2.0.0",
+ "read-pkg": "^3.0.0"
+ }
+ },
+ "safe-buffer": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz",
+ "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==",
+ "dev": true
+ },
+ "strip-bom": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
+ "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=",
+ "dev": true
+ }
+ }
+ },
+ "@storybook/addon-storysource": {
+ "version": "4.0.0-alpha.9",
+ "resolved": "https://registry.npmjs.org/@storybook/addon-storysource/-/addon-storysource-4.0.0-alpha.9.tgz",
+ "integrity": "sha512-bsN5jEAiRED//Q1/jdgDm19azEc6aeGe8yPlQSeBnVLYzf+YdLNGhq8k0FsoLHi6u5nkLIvfdv88g4AUKY8bxg==",
+ "dev": true,
+ "requires": {
+ "@storybook/addons": "4.0.0-alpha.9",
+ "@storybook/components": "4.0.0-alpha.9",
+ "babel-runtime": "^6.26.0",
+ "estraverse": "^4.2.0",
+ "loader-utils": "^1.1.0",
+ "prettier": "^1.13.4",
+ "prop-types": "^15.6.1",
+ "react-syntax-highlighter": "^7.0.4"
+ },
+ "dependencies": {
+ "estraverse": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz",
+ "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=",
+ "dev": true
+ }
+ }
+ },
+ "@storybook/addons": {
+ "version": "4.0.0-alpha.9",
+ "resolved": "https://registry.npmjs.org/@storybook/addons/-/addons-4.0.0-alpha.9.tgz",
+ "integrity": "sha512-sHnuyz21iGg2Z4FNsdBc3ATjNNgD37mo3sga85mdYLI9d094IkOjidqT7fIYbThpd5FV0FvFi6j5uCRUWrKiJQ==",
+ "dev": true,
+ "requires": {
+ "@storybook/channels": "4.0.0-alpha.9",
+ "global": "^4.3.2",
+ "util-deprecate": "^1.0.2"
+ }
+ },
+ "@storybook/angular": {
+ "version": "4.0.0-alpha.9",
+ "resolved": "https://registry.npmjs.org/@storybook/angular/-/angular-4.0.0-alpha.9.tgz",
+ "integrity": "sha512-Jb+GzQ8a7jhvutxTq4hgbVlux22KvJMho8eOHmWFJfG0HQ5r9DflCfEF5/vWIhtaeribfTFWNifmBAjj3HE/dg==",
+ "dev": true,
+ "requires": {
+ "@storybook/core": "4.0.0-alpha.9",
+ "@storybook/node-logger": "4.0.0-alpha.9",
+ "angular2-template-loader": "^0.6.2",
+ "babel-runtime": "^6.23.0",
+ "core-js": "^2.5.7",
+ "global": "^4.3.2",
+ "react": "^16.4.0",
+ "react-dom": "^16.4.0",
+ "sass-loader": "^7.0.2",
+ "ts-loader": "^4.3.1",
+ "zone.js": "^0.8.26"
+ },
+ "dependencies": {
+ "@storybook/core": {
+ "version": "4.0.0-alpha.9",
+ "resolved": "https://registry.npmjs.org/@storybook/core/-/core-4.0.0-alpha.9.tgz",
+ "integrity": "sha512-rMmCJi5fAVHUQfBqIHrxnzprsQQZMTWkTWMM6bA7uqsp8tgqN7PUfgKRUDl7mbfTFOzjIgle7AAPO/EmqKh+vw==",
+ "dev": true,
+ "requires": {
+ "@storybook/addons": "4.0.0-alpha.9",
+ "@storybook/channel-postmessage": "4.0.0-alpha.9",
+ "@storybook/client-logger": "4.0.0-alpha.9",
+ "@storybook/core-events": "4.0.0-alpha.9",
+ "@storybook/node-logger": "4.0.0-alpha.9",
+ "@storybook/react-dev-utils": "^5.0.0",
+ "@storybook/ui": "4.0.0-alpha.9",
+ "airbnb-js-shims": "^1.6.0",
+ "autoprefixer": "^8.6.0",
+ "babel-loader": "^7.1.4",
+ "babel-plugin-macros": "^2.2.2",
+ "babel-plugin-transform-regenerator": "^6.26.0",
+ "babel-plugin-transform-runtime": "^6.23.0",
+ "babel-preset-env": "^1.7.0",
+ "babel-preset-minify": "0.4.1",
+ "babel-preset-stage-0": "^6.24.1",
+ "babel-runtime": "^6.26.0",
+ "case-sensitive-paths-webpack-plugin": "^2.1.2",
+ "chalk": "^2.4.1",
+ "commander": "^2.15.1",
+ "core-js": "^2.5.7",
+ "css-loader": "^0.28.11",
+ "dotenv": "^5.0.1",
+ "dotenv-webpack": "^1.5.6",
+ "emotion": "^9.1.3",
+ "express": "^4.16.3",
+ "file-loader": "^1.1.11",
+ "find-cache-dir": "^1.0.0",
+ "global": "^4.3.2",
+ "html-webpack-plugin": "^3.2.0",
+ "json5": "^1.0.1",
+ "postcss-flexbugs-fixes": "^3.3.1",
+ "postcss-loader": "^2.1.5",
+ "prop-types": "^15.6.1",
+ "qs": "^6.5.2",
+ "raw-loader": "^0.5.1",
+ "react-emotion": "^9.1.3",
+ "redux": "^4.0.0",
+ "serve-favicon": "^2.5.0",
+ "shelljs": "^0.8.2",
+ "style-loader": "^0.21.0",
+ "svg-url-loader": "^2.3.2",
+ "url-loader": "^1.0.1",
+ "webpack": "^4.10.2",
+ "webpack-dev-middleware": "^3.1.3",
+ "webpack-hot-middleware": "^2.22.2"
+ }
+ },
+ "@storybook/react-komposer": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/@storybook/react-komposer/-/react-komposer-2.0.4.tgz",
+ "integrity": "sha1-wsDUp12bSpwMa0bxSrBQ9FitS7A=",
+ "dev": true,
+ "requires": {
+ "@storybook/react-stubber": "^1.0.0",
+ "babel-runtime": "^6.11.6",
+ "hoist-non-react-statics": "^1.2.0",
+ "lodash.pick": "^4.4.0",
+ "shallowequal": "^0.2.2"
+ }
+ },
+ "@storybook/ui": {
+ "version": "4.0.0-alpha.9",
+ "resolved": "https://registry.npmjs.org/@storybook/ui/-/ui-4.0.0-alpha.9.tgz",
+ "integrity": "sha512-sVfYb0F6YDOcLzbIYj5lAf946exEm49yxFfvUlG9mr4IYESw6tmGLrURyzqFcmPJWgqF+4byS0d5nXp0cSUf0A==",
+ "dev": true,
+ "requires": {
+ "@storybook/components": "4.0.0-alpha.9",
+ "@storybook/core-events": "4.0.0-alpha.9",
+ "@storybook/mantra-core": "^1.7.2",
+ "@storybook/podda": "^1.2.3",
+ "@storybook/react-komposer": "^2.0.4",
+ "babel-runtime": "^6.26.0",
+ "deep-equal": "^1.0.1",
+ "emotion": "^9.1.3",
+ "events": "^2.1.0",
+ "fuse.js": "^3.2.0",
+ "global": "^4.3.2",
+ "keycode": "^2.2.0",
+ "lodash.debounce": "^4.0.8",
+ "lodash.pick": "^4.4.0",
+ "lodash.sortby": "^4.7.0",
+ "lodash.throttle": "^4.1.1",
+ "prop-types": "^15.6.1",
+ "qs": "^6.5.2",
+ "react-emotion": "^9.1.3",
+ "react-fuzzy": "^0.5.2",
+ "react-icons": "^2.2.7",
+ "react-lifecycles-compat": "^3.0.4",
+ "react-modal": "^3.4.5",
+ "react-treebeard": "^2.1.0"
+ }
+ },
+ "array-flatten": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
+ "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=",
+ "dev": true
+ },
+ "chalk": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz",
+ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ }
+ },
+ "events": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/events/-/events-2.1.0.tgz",
+ "integrity": "sha512-3Zmiobend8P9DjmKAty0Era4jV8oJ0yGYe2nJJAxgymF9+N8F2m0hhZiMoWtcfepExzNKZumFU3ksdQbInGWCg==",
+ "dev": true
+ },
+ "express": {
+ "version": "4.16.3",
+ "resolved": "https://registry.npmjs.org/express/-/express-4.16.3.tgz",
+ "integrity": "sha1-avilAjUNsyRuzEvs9rWjTSL37VM=",
+ "dev": true,
+ "requires": {
+ "accepts": "~1.3.5",
+ "array-flatten": "1.1.1",
+ "body-parser": "1.18.2",
+ "content-disposition": "0.5.2",
+ "content-type": "~1.0.4",
+ "cookie": "0.3.1",
+ "cookie-signature": "1.0.6",
+ "debug": "2.6.9",
+ "depd": "~1.1.2",
+ "encodeurl": "~1.0.2",
+ "escape-html": "~1.0.3",
+ "etag": "~1.8.1",
+ "finalhandler": "1.1.1",
+ "fresh": "0.5.2",
+ "merge-descriptors": "1.0.1",
+ "methods": "~1.1.2",
+ "on-finished": "~2.3.0",
+ "parseurl": "~1.3.2",
+ "path-to-regexp": "0.1.7",
+ "proxy-addr": "~2.0.3",
+ "qs": "6.5.1",
+ "range-parser": "~1.2.0",
+ "safe-buffer": "5.1.1",
+ "send": "0.16.2",
+ "serve-static": "1.13.2",
+ "setprototypeof": "1.1.0",
+ "statuses": "~1.4.0",
+ "type-is": "~1.6.16",
+ "utils-merge": "1.0.1",
+ "vary": "~1.1.2"
+ },
+ "dependencies": {
+ "qs": {
+ "version": "6.5.1",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz",
+ "integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A==",
+ "dev": true
+ }
+ }
+ },
+ "hoist-non-react-statics": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-1.2.0.tgz",
+ "integrity": "sha1-qkSM8JhtVcxAdzsXF0t90GbLfPs=",
+ "dev": true
+ },
+ "json5": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
+ "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
+ "dev": true,
+ "requires": {
+ "minimist": "^1.2.0"
+ }
+ },
+ "minimist": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+ "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
+ "dev": true
+ },
+ "qs": {
+ "version": "6.5.2",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz",
+ "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==",
+ "dev": true
+ },
+ "react-emotion": {
+ "version": "9.2.6",
+ "resolved": "https://registry.npmjs.org/react-emotion/-/react-emotion-9.2.6.tgz",
+ "integrity": "sha512-3GwLQ0Vib/X0G7KWY7N1F/7NmfoBLkkg3g9Jd8t6By5QUH0PyCSUVdDmfFBbgVKsAcpkjA0vcsMbiWeZusaRrA==",
+ "dev": true,
+ "requires": {
+ "babel-plugin-emotion": "^9.2.6",
+ "create-emotion-styled": "^9.2.6"
+ }
+ },
+ "safe-buffer": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz",
+ "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==",
+ "dev": true
+ }
+ }
+ },
+ "@storybook/channel-postmessage": {
+ "version": "4.0.0-alpha.9",
+ "resolved": "https://registry.npmjs.org/@storybook/channel-postmessage/-/channel-postmessage-4.0.0-alpha.9.tgz",
+ "integrity": "sha512-dgGuFbqLygmzbzB/gjhZw278MIJ2gbW0edsSoTswz5gKwvKnnzw1kdZQXCmHG/9YuixNNG2Y/zipHP0gRgX/4w==",
+ "dev": true,
+ "requires": {
+ "@storybook/channels": "4.0.0-alpha.9",
+ "global": "^4.3.2",
+ "json-stringify-safe": "^5.0.1"
+ }
+ },
+ "@storybook/channels": {
+ "version": "4.0.0-alpha.9",
+ "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-4.0.0-alpha.9.tgz",
+ "integrity": "sha512-hJHRRz11HmR6WU1HjpL7YAFGdBR59Hz0aoszQQVvF7pBP9EIXIenfsBAL6cadxewhwS1Z6Yq8rMVyhFIqamVwQ==",
+ "dev": true
+ },
+ "@storybook/client-logger": {
+ "version": "4.0.0-alpha.9",
+ "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-4.0.0-alpha.9.tgz",
+ "integrity": "sha512-94XLAoHc/WZvCcaDnInkyy3Uoplj7KxWRDCnBUiGccfE1SBDbm86on0LdwzRiOeqPdsTvLr77iEalxWiJnRsvw==",
+ "dev": true
+ },
+ "@storybook/components": {
+ "version": "4.0.0-alpha.9",
+ "resolved": "https://registry.npmjs.org/@storybook/components/-/components-4.0.0-alpha.9.tgz",
+ "integrity": "sha512-OC/BoCYmfGoLTeFUoo4FNufoOPp/568A7tUrzRMISF7l5O16EdlmRSbdoou/MAKYsMxgDtlUK/+rdo0XlnCtTw==",
+ "dev": true,
+ "requires": {
+ "emotion": "^9.1.3",
+ "emotion-theming": "^9.1.2",
+ "global": "^4.3.2",
+ "lodash.pick": "^4.4.0",
+ "lodash.throttle": "^4.1.1",
+ "prop-types": "^15.6.1",
+ "react-emotion": "^9.1.3",
+ "react-split-pane": "^0.1.77"
+ },
+ "dependencies": {
+ "emotion-theming": {
+ "version": "9.2.6",
+ "resolved": "https://registry.npmjs.org/emotion-theming/-/emotion-theming-9.2.6.tgz",
+ "integrity": "sha512-sbZStubPmaDuMhs3+saH4XegnoMgbVtEY2giD1MP+maDinCnJdzf/1Apcip1wo5HMAN7vrjvpmcY13pH34xR6g==",
+ "dev": true,
+ "requires": {
+ "hoist-non-react-statics": "^2.3.1"
+ }
+ },
+ "react-emotion": {
+ "version": "9.2.6",
+ "resolved": "https://registry.npmjs.org/react-emotion/-/react-emotion-9.2.6.tgz",
+ "integrity": "sha512-3GwLQ0Vib/X0G7KWY7N1F/7NmfoBLkkg3g9Jd8t6By5QUH0PyCSUVdDmfFBbgVKsAcpkjA0vcsMbiWeZusaRrA==",
+ "dev": true,
+ "requires": {
+ "babel-plugin-emotion": "^9.2.6",
+ "create-emotion-styled": "^9.2.6"
+ }
+ }
+ }
+ },
+ "@storybook/core-events": {
+ "version": "4.0.0-alpha.9",
+ "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-4.0.0-alpha.9.tgz",
+ "integrity": "sha512-vDuWOdGQLlsBvStVf+6tinkH9iIbQ1wjoCHA1qLXUKCIjA+L51pQuroqZi/R+uEHqqHW7zR1ODv+6Lme2Y6E8w==",
+ "dev": true
+ },
+ "@storybook/mantra-core": {
+ "version": "1.7.2",
+ "resolved": "https://registry.npmjs.org/@storybook/mantra-core/-/mantra-core-1.7.2.tgz",
+ "integrity": "sha512-GD4OYJ8GsayVhIg306sfgcKDk9j8YfuSKIAWvdB/g7IDlw0pDgueONALVEEE2XWJtCwcsUyDtCYzXFgCBWLEjA==",
+ "dev": true,
+ "requires": {
+ "@storybook/react-komposer": "^2.0.1",
+ "@storybook/react-simple-di": "^1.2.1",
+ "babel-runtime": "6.x.x"
+ },
+ "dependencies": {
+ "@storybook/react-komposer": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/@storybook/react-komposer/-/react-komposer-2.0.4.tgz",
+ "integrity": "sha1-wsDUp12bSpwMa0bxSrBQ9FitS7A=",
+ "dev": true,
+ "requires": {
+ "@storybook/react-stubber": "^1.0.0",
+ "babel-runtime": "^6.11.6",
+ "hoist-non-react-statics": "^1.2.0",
+ "lodash.pick": "^4.4.0",
+ "shallowequal": "^0.2.2"
+ }
+ },
+ "hoist-non-react-statics": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-1.2.0.tgz",
+ "integrity": "sha1-qkSM8JhtVcxAdzsXF0t90GbLfPs=",
+ "dev": true
+ }
+ }
+ },
+ "@storybook/node-logger": {
+ "version": "4.0.0-alpha.9",
+ "resolved": "https://registry.npmjs.org/@storybook/node-logger/-/node-logger-4.0.0-alpha.9.tgz",
+ "integrity": "sha512-G3N5eETjT5e2HAQJp/7JMBAHWzQdGFH3Hj3fkBbwAkpPv1Pz8uutXKQABxidOwRyT8anCIBUc/SOzB+DT0SXPg==",
+ "dev": true,
+ "requires": {
+ "npmlog": "^4.1.2"
+ }
+ },
+ "@storybook/podda": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/@storybook/podda/-/podda-1.2.3.tgz",
+ "integrity": "sha512-g7dsdsn50AhlGZ8iIDKdF8bi7Am++iFOq+QN+hNKz3FvgLuf8Dz+mpC/BFl90eE9bEYxXqXKeMf87399Ec5Qhw==",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "^6.11.6",
+ "immutable": "^3.8.1"
+ }
+ },
+ "@storybook/react-dev-utils": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/@storybook/react-dev-utils/-/react-dev-utils-5.0.0.tgz",
+ "integrity": "sha1-0zprr0gKmA4TXCGt6FljKsog/ng=",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "7.0.0-beta.42",
+ "address": "1.0.3",
+ "browserslist": "3.2.0",
+ "chalk": "2.3.2",
+ "cross-spawn": "6.0.5",
+ "detect-port-alt": "1.1.5",
+ "escape-string-regexp": "1.0.5",
+ "filesize": "3.6.0",
+ "find-pkg": "1.0.0",
+ "global-modules": "1.0.0",
+ "globby": "8.0.1",
+ "gzip-size": "4.1.0",
+ "inquirer": "5.1.0",
+ "is-root": "1.0.0",
+ "opn": "5.3.0",
+ "pkg-up": "2.0.0",
+ "react-error-overlay": "^4.0.0",
+ "recursive-readdir": "2.2.2",
+ "shell-quote": "1.6.1",
+ "sockjs-client": "1.1.4",
+ "strip-ansi": "4.0.0",
+ "text-table": "0.2.0"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
+ "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
+ "dev": true
+ },
+ "browserslist": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-3.2.0.tgz",
+ "integrity": "sha512-fXFmXYMUbD9E/I81MEknzD5TJmA1dQFy+2gYHHnO08CEWGTzWNlDyawBo9pfUIncaG840+RIuScjCT4IpQxTWA==",
+ "dev": true,
+ "requires": {
+ "caniuse-lite": "^1.0.30000815",
+ "electron-to-chromium": "^1.3.39"
+ }
+ },
+ "chalk": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.2.tgz",
+ "integrity": "sha512-ZM4j2/ld/YZDc3Ma8PgN7gyAk+kHMMMyzLNryCPGhWrsfAuDVeuid5bpRFTDgMH9JBK2lA4dyyAkkZYF/WcqDQ==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ }
+ },
+ "cross-spawn": {
+ "version": "6.0.5",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
+ "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
+ "dev": true,
+ "requires": {
+ "nice-try": "^1.0.4",
+ "path-key": "^2.0.1",
+ "semver": "^5.5.0",
+ "shebang-command": "^1.2.0",
+ "which": "^1.2.9"
+ }
+ },
+ "faye-websocket": {
+ "version": "0.11.1",
+ "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.1.tgz",
+ "integrity": "sha1-8O/hjE9W5PQK/H4Gxxn9XuYYjzg=",
+ "dev": true,
+ "requires": {
+ "websocket-driver": ">=0.5.1"
+ }
+ },
+ "globby": {
+ "version": "8.0.1",
+ "resolved": "https://registry.npmjs.org/globby/-/globby-8.0.1.tgz",
+ "integrity": "sha512-oMrYrJERnKBLXNLVTqhm3vPEdJ/b2ZE28xN4YARiix1NOIOBPEpOUnm844K1iu/BkphCaf2WNFwMszv8Soi1pw==",
+ "dev": true,
+ "requires": {
+ "array-union": "^1.0.1",
+ "dir-glob": "^2.0.0",
+ "fast-glob": "^2.0.2",
+ "glob": "^7.1.2",
+ "ignore": "^3.3.5",
+ "pify": "^3.0.0",
+ "slash": "^1.0.0"
+ }
+ },
+ "inquirer": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-5.1.0.tgz",
+ "integrity": "sha512-kn7N70US1MSZHZHSGJLiZ7iCwwncc7b0gc68YtlX29OjI3Mp0tSVV+snVXpZ1G+ONS3Ac9zd1m6hve2ibLDYfA==",
+ "dev": true,
+ "requires": {
+ "ansi-escapes": "^3.0.0",
+ "chalk": "^2.0.0",
+ "cli-cursor": "^2.1.0",
+ "cli-width": "^2.0.0",
+ "external-editor": "^2.1.0",
+ "figures": "^2.0.0",
+ "lodash": "^4.3.0",
+ "mute-stream": "0.0.7",
+ "run-async": "^2.2.0",
+ "rxjs": "^5.5.2",
+ "string-width": "^2.1.0",
+ "strip-ansi": "^4.0.0",
+ "through": "^2.3.6"
+ }
+ },
+ "is-fullwidth-code-point": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
+ "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
+ "dev": true
+ },
+ "rxjs": {
+ "version": "5.5.11",
+ "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-5.5.11.tgz",
+ "integrity": "sha512-3bjO7UwWfA2CV7lmwYMBzj4fQ6Cq+ftHc2MvUe+WMS7wcdJ1LosDWmdjPQanYp2dBRj572p7PeU81JUxHKOcBA==",
+ "dev": true,
+ "requires": {
+ "symbol-observable": "1.0.1"
+ }
+ },
+ "sockjs-client": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.1.4.tgz",
+ "integrity": "sha1-W6vjhrd15M8U51IJEUUmVAFsixI=",
+ "dev": true,
+ "requires": {
+ "debug": "^2.6.6",
+ "eventsource": "0.1.6",
+ "faye-websocket": "~0.11.0",
+ "inherits": "^2.0.1",
+ "json3": "^3.3.2",
+ "url-parse": "^1.1.8"
+ }
+ },
+ "string-width": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
+ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
+ "dev": true,
+ "requires": {
+ "is-fullwidth-code-point": "^2.0.0",
+ "strip-ansi": "^4.0.0"
+ }
+ },
+ "strip-ansi": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
+ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^3.0.0"
+ }
+ },
+ "symbol-observable": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.0.1.tgz",
+ "integrity": "sha1-g0D8RwLDEi310iKI+IKD9RPT/dQ=",
+ "dev": true
+ },
+ "through": {
+ "version": "2.3.8",
+ "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
+ "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=",
+ "dev": true
+ }
+ }
+ },
+ "@storybook/react-simple-di": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/@storybook/react-simple-di/-/react-simple-di-1.3.0.tgz",
+ "integrity": "sha512-RH6gPQaYMs/VzQX2dgbZU8DQMKFXVOv1ruohHjjNPys4q+YdqMFMDe5jOP1AUE3j9g01x0eW7bVjRawSpl++Ew==",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "6.x.x",
+ "create-react-class": "^15.6.2",
+ "hoist-non-react-statics": "1.x.x",
+ "prop-types": "^15.6.0"
+ },
+ "dependencies": {
+ "hoist-non-react-statics": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-1.2.0.tgz",
+ "integrity": "sha1-qkSM8JhtVcxAdzsXF0t90GbLfPs=",
+ "dev": true
+ }
+ }
+ },
+ "@storybook/react-stubber": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/@storybook/react-stubber/-/react-stubber-1.0.1.tgz",
+ "integrity": "sha512-k+CHH+vA8bQfCmzBTtJsPkITFgD+C/w19KuByZ9WeEvNUFtnDaCqfP+Vp3/OR+3IAfAXYYOWolqPLxNPcEqEjw==",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "^6.5.0"
+ }
+ },
+ "@types/jest": {
+ "version": "22.2.3",
+ "resolved": "https://registry.npmjs.org/@types/jest/-/jest-22.2.3.tgz",
+ "integrity": "sha512-e74sM9W/4qqWB6D4TWV9FQk0WoHtX1X4FJpbjxucMSVJHtFjbQOH3H6yp+xno4br0AKG0wz/kPtaN599GUOvAg==",
+ "dev": true
+ },
+ "@types/node": {
+ "version": "9.6.25",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-9.6.25.tgz",
+ "integrity": "sha512-uZpzO9MKSHy7zBiTtziA3JgZP3upcAvLTASkKgheLj6/rNZmRX4UyvsFYaY2kbYcmmh8bNZ2T0eocBRCfZdGvQ==",
+ "dev": true
+ },
+ "@webassemblyjs/ast": {
+ "version": "1.4.3",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.4.3.tgz",
+ "integrity": "sha512-S6npYhPcTHDYe9nlsKa9CyWByFi8Vj8HovcAgtmMAQZUOczOZbQ8CnwMYKYC5HEZzxEE+oY0jfQk4cVlI3J59Q==",
+ "dev": true,
+ "requires": {
+ "@webassemblyjs/helper-wasm-bytecode": "1.4.3",
+ "@webassemblyjs/wast-parser": "1.4.3",
+ "debug": "^3.1.0",
+ "webassemblyjs": "1.4.3"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
+ "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "webassemblyjs": {
+ "version": "1.4.3",
+ "resolved": "https://registry.npmjs.org/webassemblyjs/-/webassemblyjs-1.4.3.tgz",
+ "integrity": "sha512-4lOV1Lv6olz0PJkDGQEp82HempAn147e6BXijWDzz9g7/2nSebVP9GVg62Fz5ZAs55mxq13GA0XLyvY8XkyDjg==",
+ "dev": true,
+ "requires": {
+ "@webassemblyjs/ast": "1.4.3",
+ "@webassemblyjs/validation": "1.4.3",
+ "@webassemblyjs/wasm-parser": "1.4.3",
+ "@webassemblyjs/wast-parser": "1.4.3",
+ "long": "^3.2.0"
+ }
+ }
+ }
+ },
+ "@webassemblyjs/floating-point-hex-parser": {
+ "version": "1.4.3",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.4.3.tgz",
+ "integrity": "sha512-3zTkSFswwZOPNHnzkP9ONq4bjJSeKVMcuahGXubrlLmZP8fmTIJ58dW7h/zOVWiFSuG2em3/HH3BlCN7wyu9Rw==",
+ "dev": true
+ },
+ "@webassemblyjs/helper-api-error": {
+ "version": "1.5.12",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.5.12.tgz",
+ "integrity": "sha512-Goxag86JvLq8ucHLXFNSLYzf9wrR+CJr37DsESTAzSnGoqDTgw5eqiXSQVd/D9Biih7+DIn8UIQCxMs8emRRwg==",
+ "dev": true
+ },
+ "@webassemblyjs/helper-buffer": {
+ "version": "1.4.3",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.4.3.tgz",
+ "integrity": "sha512-e8+KZHh+RV8MUvoSRtuT1sFXskFnWG9vbDy47Oa166xX+l0dD5sERJ21g5/tcH8Yo95e9IN3u7Jc3NbhnUcSkw==",
+ "dev": true,
+ "requires": {
+ "debug": "^3.1.0"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
+ "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
+ }
+ }
+ },
+ "@webassemblyjs/helper-code-frame": {
+ "version": "1.4.3",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.4.3.tgz",
+ "integrity": "sha512-9FgHEtNsZQYaKrGCtsjswBil48Qp1agrzRcPzCbQloCoaTbOXLJ9IRmqT+uEZbenpULLRNFugz3I4uw18hJM8w==",
+ "dev": true,
+ "requires": {
+ "@webassemblyjs/wast-printer": "1.4.3"
+ }
+ },
+ "@webassemblyjs/helper-fsm": {
+ "version": "1.4.3",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.4.3.tgz",
+ "integrity": "sha512-JINY76U+702IRf7ePukOt037RwmtH59JHvcdWbTTyHi18ixmQ+uOuNhcdCcQHTquDAH35/QgFlp3Y9KqtyJsCQ==",
+ "dev": true
+ },
+ "@webassemblyjs/helper-module-context": {
+ "version": "1.5.12",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.5.12.tgz",
+ "integrity": "sha512-SCXR8hPI4JOG3cdy9HAO8W5/VQ68YXG/Hfs7qDf1cd64zWuMNshyEour5NYnLMVkrrtc0XzfVS/MdeV94woFHA==",
+ "dev": true,
+ "requires": {
+ "debug": "^3.1.0",
+ "mamacro": "^0.0.3"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
+ "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
+ }
+ }
+ },
+ "@webassemblyjs/helper-wasm-bytecode": {
+ "version": "1.4.3",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.4.3.tgz",
+ "integrity": "sha512-I7bS+HaO0K07Io89qhJv+z1QipTpuramGwUSDkwEaficbSvCcL92CUZEtgykfNtk5wb0CoLQwWlmXTwGbNZUeQ==",
+ "dev": true
+ },
+ "@webassemblyjs/helper-wasm-section": {
+ "version": "1.4.3",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.4.3.tgz",
+ "integrity": "sha512-p0yeeO/h2r30PyjnJX9xXSR6EDcvJd/jC6xa/Pxg4lpfcNi7JUswOpqDToZQ55HMMVhXDih/yqkaywHWGLxqyQ==",
+ "dev": true,
+ "requires": {
+ "@webassemblyjs/ast": "1.4.3",
+ "@webassemblyjs/helper-buffer": "1.4.3",
+ "@webassemblyjs/helper-wasm-bytecode": "1.4.3",
+ "@webassemblyjs/wasm-gen": "1.4.3",
+ "debug": "^3.1.0"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
+ "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
+ }
+ }
+ },
+ "@webassemblyjs/ieee754": {
+ "version": "1.5.12",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.5.12.tgz",
+ "integrity": "sha512-F+PEv9QBzPi1ThLBouUJbuxhEr+Sy/oua1ftXFKHiaYYS5Z9tKPvK/hgCxlSdq+RY4MSG15jU2JYb/K5pkoybg==",
+ "dev": true,
+ "requires": {
+ "ieee754": "^1.1.11"
+ }
+ },
+ "@webassemblyjs/leb128": {
+ "version": "1.4.3",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.4.3.tgz",
+ "integrity": "sha512-4u0LJLSPzuRDWHwdqsrThYn+WqMFVqbI2ltNrHvZZkzFPO8XOZ0HFQ5eVc4jY/TNHgXcnwrHjONhPGYuuf//KQ==",
+ "dev": true,
+ "requires": {
+ "leb": "^0.3.0"
+ }
+ },
+ "@webassemblyjs/utf8": {
+ "version": "1.5.12",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.5.12.tgz",
+ "integrity": "sha512-FX8NYQMiTRU0TfK/tJVntsi9IEKsedSsna8qtsndWVE0x3zLndugiApxdNMIOoElBV9o4j0BUqR+iwU58QfPxQ==",
+ "dev": true
+ },
+ "@webassemblyjs/validation": {
+ "version": "1.4.3",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/validation/-/validation-1.4.3.tgz",
+ "integrity": "sha512-R+rRMKfhd9mq0rj2mhU9A9NKI2l/Rw65vIYzz4lui7eTKPcCu1l7iZNi4b9Gen8D42Sqh/KGiaQNk/x5Tn/iBQ==",
+ "dev": true,
+ "requires": {
+ "@webassemblyjs/ast": "1.4.3"
+ }
+ },
+ "@webassemblyjs/wasm-edit": {
+ "version": "1.4.3",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.4.3.tgz",
+ "integrity": "sha512-qzuwUn771PV6/LilqkXcS0ozJYAeY/OKbXIWU3a8gexuqb6De2p4ya/baBeH5JQ2WJdfhWhSvSbu86Vienttpw==",
+ "dev": true,
+ "requires": {
+ "@webassemblyjs/ast": "1.4.3",
+ "@webassemblyjs/helper-buffer": "1.4.3",
+ "@webassemblyjs/helper-wasm-bytecode": "1.4.3",
+ "@webassemblyjs/helper-wasm-section": "1.4.3",
+ "@webassemblyjs/wasm-gen": "1.4.3",
+ "@webassemblyjs/wasm-opt": "1.4.3",
+ "@webassemblyjs/wasm-parser": "1.4.3",
+ "@webassemblyjs/wast-printer": "1.4.3",
+ "debug": "^3.1.0"
+ },
+ "dependencies": {
+ "@webassemblyjs/wasm-opt": {
+ "version": "1.4.3",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.4.3.tgz",
+ "integrity": "sha512-7Gp+nschuKiDuAL1xmp4Xz0rgEbxioFXw4nCFYEmy+ytynhBnTeGc9W9cB1XRu1w8pqRU2lbj2VBBA4cL5Z2Kw==",
+ "dev": true,
+ "requires": {
+ "@webassemblyjs/ast": "1.4.3",
+ "@webassemblyjs/helper-buffer": "1.4.3",
+ "@webassemblyjs/wasm-gen": "1.4.3",
+ "@webassemblyjs/wasm-parser": "1.4.3",
+ "debug": "^3.1.0"
+ }
+ },
+ "debug": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
+ "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
+ }
+ }
+ },
+ "@webassemblyjs/wasm-gen": {
+ "version": "1.4.3",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.4.3.tgz",
+ "integrity": "sha512-eR394T8dHZfpLJ7U/Z5pFSvxl1L63JdREebpv9gYc55zLhzzdJPAuxjBYT4XqevUdW67qU2s0nNA3kBuNJHbaQ==",
+ "dev": true,
+ "requires": {
+ "@webassemblyjs/ast": "1.4.3",
+ "@webassemblyjs/helper-wasm-bytecode": "1.4.3",
+ "@webassemblyjs/leb128": "1.4.3"
+ }
+ },
+ "@webassemblyjs/wasm-parser": {
+ "version": "1.4.3",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.4.3.tgz",
+ "integrity": "sha512-KXBjtlwA3BVukR/yWHC9GF+SCzBcgj0a7lm92kTOaa4cbjaTaa47bCjXw6cX4SGQpkncB9PU2hHGYVyyI7wFRg==",
+ "dev": true,
+ "requires": {
+ "@webassemblyjs/ast": "1.4.3",
+ "@webassemblyjs/helper-wasm-bytecode": "1.4.3",
+ "@webassemblyjs/leb128": "1.4.3",
+ "@webassemblyjs/wasm-parser": "1.4.3",
+ "webassemblyjs": "1.4.3"
+ },
+ "dependencies": {
+ "webassemblyjs": {
+ "version": "1.4.3",
+ "resolved": "https://registry.npmjs.org/webassemblyjs/-/webassemblyjs-1.4.3.tgz",
+ "integrity": "sha512-4lOV1Lv6olz0PJkDGQEp82HempAn147e6BXijWDzz9g7/2nSebVP9GVg62Fz5ZAs55mxq13GA0XLyvY8XkyDjg==",
+ "dev": true,
+ "requires": {
+ "@webassemblyjs/ast": "1.4.3",
+ "@webassemblyjs/validation": "1.4.3",
+ "@webassemblyjs/wasm-parser": "1.4.3",
+ "@webassemblyjs/wast-parser": "1.4.3",
+ "long": "^3.2.0"
+ }
+ }
+ }
+ },
+ "@webassemblyjs/wast-parser": {
+ "version": "1.4.3",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.4.3.tgz",
+ "integrity": "sha512-QhCsQzqV0CpsEkRYyTzQDilCNUZ+5j92f+g35bHHNqS22FppNTywNFfHPq8ZWZfYCgbectc+PoghD+xfzVFh1Q==",
+ "dev": true,
+ "requires": {
+ "@webassemblyjs/ast": "1.4.3",
+ "@webassemblyjs/floating-point-hex-parser": "1.4.3",
+ "@webassemblyjs/helper-code-frame": "1.4.3",
+ "@webassemblyjs/helper-fsm": "1.4.3",
+ "long": "^3.2.0",
+ "webassemblyjs": "1.4.3"
+ },
+ "dependencies": {
+ "webassemblyjs": {
+ "version": "1.4.3",
+ "resolved": "https://registry.npmjs.org/webassemblyjs/-/webassemblyjs-1.4.3.tgz",
+ "integrity": "sha512-4lOV1Lv6olz0PJkDGQEp82HempAn147e6BXijWDzz9g7/2nSebVP9GVg62Fz5ZAs55mxq13GA0XLyvY8XkyDjg==",
+ "dev": true,
+ "requires": {
+ "@webassemblyjs/ast": "1.4.3",
+ "@webassemblyjs/validation": "1.4.3",
+ "@webassemblyjs/wasm-parser": "1.4.3",
+ "@webassemblyjs/wast-parser": "1.4.3",
+ "long": "^3.2.0"
+ }
+ }
+ }
+ },
+ "@webassemblyjs/wast-printer": {
+ "version": "1.4.3",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.4.3.tgz",
+ "integrity": "sha512-EgXk4anf8jKmuZJsqD8qy5bz2frEQhBvZruv+bqwNoLWUItjNSFygk8ywL3JTEz9KtxTlAmqTXNrdD1d9gNDtg==",
+ "dev": true,
+ "requires": {
+ "@webassemblyjs/ast": "1.4.3",
+ "@webassemblyjs/wast-parser": "1.4.3",
+ "long": "^3.2.0"
+ }
+ },
+ "@webpack-contrib/schema-utils": {
+ "version": "1.0.0-beta.0",
+ "resolved": "https://registry.npmjs.org/@webpack-contrib/schema-utils/-/schema-utils-1.0.0-beta.0.tgz",
+ "integrity": "sha512-LonryJP+FxQQHsjGBi6W786TQB1Oym+agTpY0c+Kj8alnIw+DLUJb6SI8Y1GHGhLCH1yPRrucjObUmxNICQ1pg==",
+ "dev": true,
+ "requires": {
+ "ajv": "^6.1.0",
+ "ajv-keywords": "^3.1.0",
+ "chalk": "^2.3.2",
+ "strip-ansi": "^4.0.0",
+ "text-table": "^0.2.0",
+ "webpack-log": "^1.1.2"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
+ "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
+ "dev": true
+ },
+ "chalk": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz",
+ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ }
+ },
+ "strip-ansi": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
+ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^3.0.0"
+ }
+ }
+ }
+ },
+ "abbrev": {
+ "version": "1.0.9",
+ "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.9.tgz",
+ "integrity": "sha1-kbR5JYinc4wl813W9jdSovh3YTU=",
+ "dev": true
+ },
+ "accepts": {
+ "version": "1.3.5",
+ "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.5.tgz",
+ "integrity": "sha1-63d99gEXI6OxTopywIBcjoZ0a9I=",
+ "dev": true,
+ "requires": {
+ "mime-types": "~2.1.18",
+ "negotiator": "0.6.1"
+ },
+ "dependencies": {
+ "negotiator": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz",
+ "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=",
+ "dev": true
+ }
+ }
+ },
+ "acorn": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.1.tgz",
+ "integrity": "sha512-d+nbxBUGKg7Arpsvbnlq61mc12ek3EY8EQldM3GPAhWJ1UVxC6TDGbIvUMNU6obBX3i1+ptCIzV4vq0gFPEGVQ==",
+ "dev": true
+ },
+ "acorn-dynamic-import": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-3.0.0.tgz",
+ "integrity": "sha512-zVWV8Z8lislJoOKKqdNMOB+s6+XV5WERty8MnKBeFgwA+19XJjJHs2RP5dzM57FftIs+jQnRToLiWazKr6sSWg==",
+ "dev": true,
+ "requires": {
+ "acorn": "^5.0.0"
+ }
+ },
+ "address": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/address/-/address-1.0.3.tgz",
+ "integrity": "sha512-z55ocwKBRLryBs394Sm3ushTtBeg6VAeuku7utSoSnsJKvKcnXFIyC6vh27n3rXyxSgkJBBCAvyOn7gSUcTYjg==",
+ "dev": true
+ },
+ "agent-base": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.2.1.tgz",
+ "integrity": "sha512-JVwXMr9nHYTUXsBFKUqhJwvlcYU/blreOEUkhNR2eXZIvwd+c+o5V4MgDPKWnMS/56awN3TRzIP+KoPn+roQtg==",
+ "dev": true,
+ "requires": {
+ "es6-promisify": "^5.0.0"
+ }
+ },
+ "airbnb-js-shims": {
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/airbnb-js-shims/-/airbnb-js-shims-1.7.0.tgz",
+ "integrity": "sha512-ZPkZPEsqQjfpWWSzKmpz6Uz1Fls+FXvLHsuZr5GboBWpEIo1dR0WSNTvTgcIjSsRjy1LVGk7gzB9WZF+tljEWQ==",
+ "dev": true,
+ "requires": {
+ "array-includes": "^3.0.3",
+ "array.prototype.flat": "^1.2.1",
+ "array.prototype.flatmap": "^1.2.1",
+ "array.prototype.flatten": "^1.2.1",
+ "es5-shim": "^4.5.10",
+ "es6-shim": "^0.35.3",
+ "function.prototype.name": "^1.1.0",
+ "object.entries": "^1.0.4",
+ "object.fromentries": "^1.0.0",
+ "object.getownpropertydescriptors": "^2.0.3",
+ "object.values": "^1.0.4",
+ "promise.prototype.finally": "^3.1.0",
+ "string.prototype.matchall": "^3.0.0",
+ "string.prototype.padend": "^3.0.0",
+ "string.prototype.padstart": "^3.0.0",
+ "symbol.prototype.description": "^1.0.0"
+ }
+ },
+ "ajv": {
+ "version": "6.4.0",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.4.0.tgz",
+ "integrity": "sha1-06/3jpJ3VJdx2vAWTP9ISCt1T8Y=",
+ "dev": true,
+ "requires": {
+ "fast-deep-equal": "^1.0.0",
+ "fast-json-stable-stringify": "^2.0.0",
+ "json-schema-traverse": "^0.3.0",
+ "uri-js": "^3.0.2"
+ },
+ "dependencies": {
+ "fast-json-stable-stringify": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz",
+ "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=",
+ "dev": true
+ },
+ "uri-js": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-3.0.2.tgz",
+ "integrity": "sha1-+QuFhQf4HepNz7s8TD2/orVX+qo=",
+ "dev": true,
+ "requires": {
+ "punycode": "^2.1.0"
+ }
+ }
+ }
+ },
+ "ajv-keywords": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.2.0.tgz",
+ "integrity": "sha1-6GuBnGAs+IIa1jdBNpjx3sAhhHo=",
+ "dev": true
+ },
+ "align-text": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz",
+ "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=",
+ "dev": true,
+ "requires": {
+ "kind-of": "^3.0.2",
+ "longest": "^1.0.1",
+ "repeat-string": "^1.5.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "alphanum-sort": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz",
+ "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=",
+ "dev": true
+ },
+ "amdefine": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz",
+ "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=",
+ "dev": true
+ },
+ "angular-base64-upload": {
+ "version": "0.1.23",
+ "resolved": "https://registry.npmjs.org/angular-base64-upload/-/angular-base64-upload-0.1.23.tgz",
+ "integrity": "sha512-vRSY+7/pag2hEdTSB90LTvT5rU5XPxBNMA1WGz60pNSpChRUzf+h5FR9lObRcGg1WUOvlYinnvoPTD6Nktcx1g=="
+ },
+ "angular2-template-loader": {
+ "version": "0.6.2",
+ "resolved": "https://registry.npmjs.org/angular2-template-loader/-/angular2-template-loader-0.6.2.tgz",
+ "integrity": "sha1-wNROkP/w+sleiyPwQ6zaf9HFHXw=",
+ "dev": true,
+ "requires": {
+ "loader-utils": "^0.2.15"
+ },
+ "dependencies": {
+ "loader-utils": {
+ "version": "0.2.17",
+ "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz",
+ "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=",
+ "dev": true,
+ "requires": {
+ "big.js": "^3.1.3",
+ "emojis-list": "^2.0.0",
+ "json5": "^0.5.0",
+ "object-assign": "^4.0.1"
+ }
+ }
+ }
+ },
+ "ansi-escapes": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.1.0.tgz",
+ "integrity": "sha512-UgAb8H9D41AQnu/PbWlCofQVcnV4Gs2bBJi9eZPxfU/hgglFh3SMDMENRIqdr7H6XFnXdoknctFByVsCOotTVw==",
+ "dev": true
+ },
+ "ansi-html": {
+ "version": "0.0.7",
+ "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz",
+ "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=",
+ "dev": true
+ },
+ "ansi-regex": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
+ "dev": true
+ },
+ "ansi-styles": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+ "dev": true,
+ "requires": {
+ "color-convert": "^1.9.0"
+ }
+ },
+ "anymatch": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz",
+ "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==",
+ "dev": true,
+ "requires": {
+ "micromatch": "^3.1.4",
+ "normalize-path": "^2.1.1"
+ }
+ },
+ "aproba": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz",
+ "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==",
+ "dev": true
+ },
+ "are-we-there-yet": {
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz",
+ "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==",
+ "dev": true,
+ "requires": {
+ "delegates": "^1.0.0",
+ "readable-stream": "^2.0.6"
+ }
+ },
+ "argparse": {
+ "version": "1.0.10",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
+ "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
+ "dev": true,
+ "requires": {
+ "sprintf-js": "~1.0.2"
+ }
+ },
+ "arr-diff": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
+ "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=",
+ "dev": true
+ },
+ "arr-flatten": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz",
+ "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==",
+ "dev": true
+ },
+ "arr-union": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz",
+ "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=",
+ "dev": true
+ },
+ "array-filter": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/array-filter/-/array-filter-0.0.1.tgz",
+ "integrity": "sha1-fajPLiZijtcygDWB/SH2fKzS7uw=",
+ "dev": true
+ },
+ "array-find": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/array-find/-/array-find-1.0.0.tgz",
+ "integrity": "sha1-bI4obRHtdoMn+OYuzuhzU8o+eLg=",
+ "dev": true
+ },
+ "array-find-index": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz",
+ "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=",
+ "dev": true
+ },
+ "array-flatten": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.1.tgz",
+ "integrity": "sha1-Qmu52oQJDBg42BLIFQryCoMx4pY=",
+ "dev": true
+ },
+ "array-includes": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.0.3.tgz",
+ "integrity": "sha1-GEtI9i2S10UrsxsyMWXH+L0CJm0=",
+ "dev": true,
+ "requires": {
+ "define-properties": "^1.1.2",
+ "es-abstract": "^1.7.0"
+ }
+ },
+ "array-map": {
+ "version": "0.0.0",
+ "resolved": "https://registry.npmjs.org/array-map/-/array-map-0.0.0.tgz",
+ "integrity": "sha1-iKK6tz0c97zVwbEYoAP2b2ZfpmI=",
+ "dev": true
+ },
+ "array-reduce": {
+ "version": "0.0.0",
+ "resolved": "https://registry.npmjs.org/array-reduce/-/array-reduce-0.0.0.tgz",
+ "integrity": "sha1-FziZ0//Rx9k4PkR5Ul2+J4yrXys=",
+ "dev": true
+ },
+ "array-union": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz",
+ "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=",
+ "dev": true,
+ "requires": {
+ "array-uniq": "^1.0.1"
+ }
+ },
+ "array-uniq": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz",
+ "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=",
+ "dev": true
+ },
+ "array-unique": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
+ "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=",
+ "dev": true
+ },
+ "array.prototype.flat": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.1.tgz",
+ "integrity": "sha512-rVqIs330nLJvfC7JqYvEWwqVr5QjYF1ib02i3YJtR/fICO6527Tjpc/e4Mvmxh3GIePPreRXMdaGyC99YphWEw==",
+ "dev": true,
+ "requires": {
+ "define-properties": "^1.1.2",
+ "es-abstract": "^1.10.0",
+ "function-bind": "^1.1.1"
+ }
+ },
+ "array.prototype.flatmap": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.2.1.tgz",
+ "integrity": "sha512-i18e2APdsiezkcqDyZor78Pbfjfds3S94dG6dgIV2ZASJaUf1N0dz2tGdrmwrmlZuNUgxH+wz6Z0zYVH2c5xzQ==",
+ "dev": true,
+ "requires": {
+ "define-properties": "^1.1.2",
+ "es-abstract": "^1.10.0",
+ "function-bind": "^1.1.1"
+ }
+ },
+ "array.prototype.flatten": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/array.prototype.flatten/-/array.prototype.flatten-1.2.1.tgz",
+ "integrity": "sha512-3GhsA78XgK//wQKbhUe6L93kknekGlTRY0kvYcpuSi0aa9rVrMr/okeIIv/XSpN8fZ5iUM+bWifhf2/7CYKtIg==",
+ "dev": true,
+ "requires": {
+ "define-properties": "^1.1.2",
+ "es-abstract": "^1.10.0",
+ "function-bind": "^1.1.1"
+ }
+ },
+ "arrify": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
+ "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=",
+ "dev": true
+ },
+ "asap": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz",
+ "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=",
+ "dev": true
+ },
+ "asn1": {
+ "version": "0.2.3",
+ "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz",
+ "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=",
+ "dev": true
+ },
+ "asn1.js": {
+ "version": "4.10.1",
+ "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz",
+ "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==",
+ "dev": true,
+ "requires": {
+ "bn.js": "^4.0.0",
+ "inherits": "^2.0.1",
+ "minimalistic-assert": "^1.0.0"
+ }
+ },
+ "assert": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/assert/-/assert-1.4.1.tgz",
+ "integrity": "sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE=",
+ "dev": true,
+ "requires": {
+ "util": "0.10.3"
+ },
+ "dependencies": {
+ "inherits": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz",
+ "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=",
+ "dev": true
+ },
+ "util": {
+ "version": "0.10.3",
+ "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz",
+ "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=",
+ "dev": true,
+ "requires": {
+ "inherits": "2.0.1"
+ }
+ }
+ }
+ },
+ "assert-plus": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+ "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
+ "dev": true
+ },
+ "assign-symbols": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz",
+ "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=",
+ "dev": true
+ },
+ "async": {
+ "version": "1.5.2",
+ "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz",
+ "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=",
+ "dev": true
+ },
+ "async-array-reduce": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/async-array-reduce/-/async-array-reduce-0.2.1.tgz",
+ "integrity": "sha1-yL4BCitc0A3qlsgRFgNGk9/dgtE=",
+ "dev": true
+ },
+ "async-each": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz",
+ "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=",
+ "dev": true
+ },
+ "async-foreach": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz",
+ "integrity": "sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI=",
+ "dev": true
+ },
+ "async-limiter": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.0.tgz",
+ "integrity": "sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg==",
+ "dev": true
+ },
+ "asynckit": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
+ "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=",
+ "dev": true
+ },
+ "atob": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.1.tgz",
+ "integrity": "sha1-ri1acpR38onWDdf5amMUoi3Wwio=",
+ "dev": true
+ },
+ "autoprefixer": {
+ "version": "8.6.5",
+ "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-8.6.5.tgz",
+ "integrity": "sha512-PLWJN3Xo/rycNkx+mp8iBDMTm3FeWe4VmYaZDSqL5QQB9sLsQkG5k8n+LNDFnhh9kdq2K+egL/icpctOmDHwig==",
+ "dev": true,
+ "requires": {
+ "browserslist": "^3.2.8",
+ "caniuse-lite": "^1.0.30000864",
+ "normalize-range": "^0.1.2",
+ "num2fraction": "^1.2.2",
+ "postcss": "^6.0.23",
+ "postcss-value-parser": "^3.2.3"
+ }
+ },
+ "awesome-typescript-loader": {
+ "version": "3.5.0",
+ "resolved": "https://registry.npmjs.org/awesome-typescript-loader/-/awesome-typescript-loader-3.5.0.tgz",
+ "integrity": "sha512-qzgm9SEvodVkSi9QY7Me1/rujg+YBNMjayNSAyzNghwTEez++gXoPCwMvpbHRG7wrOkDCiF6dquvv9ESmUBAuw==",
+ "dev": true,
+ "requires": {
+ "chalk": "^2.3.1",
+ "enhanced-resolve": "3.3.0",
+ "loader-utils": "^1.1.0",
+ "lodash": "^4.17.4",
+ "micromatch": "^3.0.3",
+ "mkdirp": "^0.5.1",
+ "source-map-support": "^0.5.3"
+ },
+ "dependencies": {
+ "chalk": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz",
+ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ }
+ },
+ "enhanced-resolve": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-3.3.0.tgz",
+ "integrity": "sha512-2qbxE7ek3YxPJ1ML6V+satHkzHpJQKWkRHmRx6mfAoW59yP8YH8BFplbegSP+u2hBd6B6KCOpvJQ3dZAP+hkpg==",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.1.2",
+ "memory-fs": "^0.4.0",
+ "object-assign": "^4.0.1",
+ "tapable": "^0.2.5"
+ }
+ },
+ "tapable": {
+ "version": "0.2.8",
+ "resolved": "https://registry.npmjs.org/tapable/-/tapable-0.2.8.tgz",
+ "integrity": "sha1-mTcqXJmb8t8WCvwNdL7U9HlIzSI=",
+ "dev": true
+ }
+ }
+ },
+ "aws-sign2": {
+ "version": "0.7.0",
+ "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
+ "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=",
+ "dev": true
+ },
+ "aws4": {
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.7.0.tgz",
+ "integrity": "sha512-32NDda82rhwD9/JBCCkB+MRYDp0oSvlo2IL6rQWA10PQi7tDUM3eqMSltXmY+Oyl/7N3P3qNtAlv7X0d9bI28w==",
+ "dev": true
+ },
+ "babel-code-frame": {
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz",
+ "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=",
+ "dev": true,
+ "requires": {
+ "chalk": "^1.1.3",
+ "esutils": "^2.0.2",
+ "js-tokens": "^3.0.2"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
+ "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
+ "dev": true
+ },
+ "chalk": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^2.2.1",
+ "escape-string-regexp": "^1.0.2",
+ "has-ansi": "^2.0.0",
+ "strip-ansi": "^3.0.0",
+ "supports-color": "^2.0.0"
+ }
+ },
+ "supports-color": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
+ "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+ "dev": true
+ }
+ }
+ },
+ "babel-core": {
+ "version": "6.26.3",
+ "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.3.tgz",
+ "integrity": "sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==",
+ "dev": true,
+ "requires": {
+ "babel-code-frame": "^6.26.0",
+ "babel-generator": "^6.26.0",
+ "babel-helpers": "^6.24.1",
+ "babel-messages": "^6.23.0",
+ "babel-register": "^6.26.0",
+ "babel-runtime": "^6.26.0",
+ "babel-template": "^6.26.0",
+ "babel-traverse": "^6.26.0",
+ "babel-types": "^6.26.0",
+ "babylon": "^6.18.0",
+ "convert-source-map": "^1.5.1",
+ "debug": "^2.6.9",
+ "json5": "^0.5.1",
+ "lodash": "^4.17.4",
+ "minimatch": "^3.0.4",
+ "path-is-absolute": "^1.0.1",
+ "private": "^0.1.8",
+ "slash": "^1.0.0",
+ "source-map": "^0.5.7"
+ }
+ },
+ "babel-generator": {
+ "version": "6.26.1",
+ "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz",
+ "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==",
+ "dev": true,
+ "requires": {
+ "babel-messages": "^6.23.0",
+ "babel-runtime": "^6.26.0",
+ "babel-types": "^6.26.0",
+ "detect-indent": "^4.0.0",
+ "jsesc": "^1.3.0",
+ "lodash": "^4.17.4",
+ "source-map": "^0.5.7",
+ "trim-right": "^1.0.1"
+ }
+ },
+ "babel-helper-bindify-decorators": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-helper-bindify-decorators/-/babel-helper-bindify-decorators-6.24.1.tgz",
+ "integrity": "sha1-FMGeXxQte0fxmlJDHlKxzLxAozA=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "^6.22.0",
+ "babel-traverse": "^6.24.1",
+ "babel-types": "^6.24.1"
+ }
+ },
+ "babel-helper-builder-binary-assignment-operator-visitor": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz",
+ "integrity": "sha1-zORReto1b0IgvK6KAsKzRvmlZmQ=",
+ "dev": true,
+ "requires": {
+ "babel-helper-explode-assignable-expression": "^6.24.1",
+ "babel-runtime": "^6.22.0",
+ "babel-types": "^6.24.1"
+ }
+ },
+ "babel-helper-call-delegate": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz",
+ "integrity": "sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340=",
+ "dev": true,
+ "requires": {
+ "babel-helper-hoist-variables": "^6.24.1",
+ "babel-runtime": "^6.22.0",
+ "babel-traverse": "^6.24.1",
+ "babel-types": "^6.24.1"
+ }
+ },
+ "babel-helper-define-map": {
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz",
+ "integrity": "sha1-pfVtq0GiX5fstJjH66ypgZ+Vvl8=",
+ "dev": true,
+ "requires": {
+ "babel-helper-function-name": "^6.24.1",
+ "babel-runtime": "^6.26.0",
+ "babel-types": "^6.26.0",
+ "lodash": "^4.17.4"
+ }
+ },
+ "babel-helper-evaluate-path": {
+ "version": "0.4.3",
+ "resolved": "https://registry.npmjs.org/babel-helper-evaluate-path/-/babel-helper-evaluate-path-0.4.3.tgz",
+ "integrity": "sha1-ComvcCwGshcCf6NxkI3UmJ0+Yz8=",
+ "dev": true
+ },
+ "babel-helper-explode-assignable-expression": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz",
+ "integrity": "sha1-8luCz33BBDPFX3BZLVdGQArCLKo=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "^6.22.0",
+ "babel-traverse": "^6.24.1",
+ "babel-types": "^6.24.1"
+ }
+ },
+ "babel-helper-explode-class": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-helper-explode-class/-/babel-helper-explode-class-6.24.1.tgz",
+ "integrity": "sha1-fcKjkQ3uAHBW4eMdZAztPVTqqes=",
+ "dev": true,
+ "requires": {
+ "babel-helper-bindify-decorators": "^6.24.1",
+ "babel-runtime": "^6.22.0",
+ "babel-traverse": "^6.24.1",
+ "babel-types": "^6.24.1"
+ }
+ },
+ "babel-helper-flip-expressions": {
+ "version": "0.4.3",
+ "resolved": "https://registry.npmjs.org/babel-helper-flip-expressions/-/babel-helper-flip-expressions-0.4.3.tgz",
+ "integrity": "sha1-NpZzahKKwYvCUlS19AoizrPB0/0=",
+ "dev": true
+ },
+ "babel-helper-function-name": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz",
+ "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=",
+ "dev": true,
+ "requires": {
+ "babel-helper-get-function-arity": "^6.24.1",
+ "babel-runtime": "^6.22.0",
+ "babel-template": "^6.24.1",
+ "babel-traverse": "^6.24.1",
+ "babel-types": "^6.24.1"
+ }
+ },
+ "babel-helper-get-function-arity": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz",
+ "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "^6.22.0",
+ "babel-types": "^6.24.1"
+ }
+ },
+ "babel-helper-hoist-variables": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz",
+ "integrity": "sha1-HssnaJydJVE+rbyZFKc/VAi+enY=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "^6.22.0",
+ "babel-types": "^6.24.1"
+ }
+ },
+ "babel-helper-is-nodes-equiv": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/babel-helper-is-nodes-equiv/-/babel-helper-is-nodes-equiv-0.0.1.tgz",
+ "integrity": "sha1-NOmzALFHnd2Y7HfqC76TQt/jloQ=",
+ "dev": true
+ },
+ "babel-helper-is-void-0": {
+ "version": "0.4.3",
+ "resolved": "https://registry.npmjs.org/babel-helper-is-void-0/-/babel-helper-is-void-0-0.4.3.tgz",
+ "integrity": "sha1-fZwBtFYee5Xb2g9u7kj1tg5nMT4=",
+ "dev": true
+ },
+ "babel-helper-mark-eval-scopes": {
+ "version": "0.4.3",
+ "resolved": "https://registry.npmjs.org/babel-helper-mark-eval-scopes/-/babel-helper-mark-eval-scopes-0.4.3.tgz",
+ "integrity": "sha1-0kSjvvmESHJgP/tG4izorN9VFWI=",
+ "dev": true
+ },
+ "babel-helper-optimise-call-expression": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz",
+ "integrity": "sha1-96E0J7qfc/j0+pk8VKl4gtEkQlc=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "^6.22.0",
+ "babel-types": "^6.24.1"
+ }
+ },
+ "babel-helper-regex": {
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz",
+ "integrity": "sha1-MlxZ+QL4LyS3T6zu0DY5VPZJXnI=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "^6.26.0",
+ "babel-types": "^6.26.0",
+ "lodash": "^4.17.4"
+ }
+ },
+ "babel-helper-remap-async-to-generator": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz",
+ "integrity": "sha1-XsWBgnrXI/7N04HxySg5BnbkVRs=",
+ "dev": true,
+ "requires": {
+ "babel-helper-function-name": "^6.24.1",
+ "babel-runtime": "^6.22.0",
+ "babel-template": "^6.24.1",
+ "babel-traverse": "^6.24.1",
+ "babel-types": "^6.24.1"
+ }
+ },
+ "babel-helper-remove-or-void": {
+ "version": "0.4.3",
+ "resolved": "https://registry.npmjs.org/babel-helper-remove-or-void/-/babel-helper-remove-or-void-0.4.3.tgz",
+ "integrity": "sha1-pPA7QAd6D/6I5F0HAQ3uJB/1rmA=",
+ "dev": true
+ },
+ "babel-helper-replace-supers": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz",
+ "integrity": "sha1-v22/5Dk40XNpohPKiov3S2qQqxo=",
+ "dev": true,
+ "requires": {
+ "babel-helper-optimise-call-expression": "^6.24.1",
+ "babel-messages": "^6.23.0",
+ "babel-runtime": "^6.22.0",
+ "babel-template": "^6.24.1",
+ "babel-traverse": "^6.24.1",
+ "babel-types": "^6.24.1"
+ }
+ },
+ "babel-helper-to-multiple-sequence-expressions": {
+ "version": "0.4.3",
+ "resolved": "https://registry.npmjs.org/babel-helper-to-multiple-sequence-expressions/-/babel-helper-to-multiple-sequence-expressions-0.4.3.tgz",
+ "integrity": "sha1-W1GLESf0ezA4dzOGoVYaK0jmMrY=",
+ "dev": true
+ },
+ "babel-helpers": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz",
+ "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "^6.22.0",
+ "babel-template": "^6.24.1"
+ }
+ },
+ "babel-loader": {
+ "version": "7.1.5",
+ "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-7.1.5.tgz",
+ "integrity": "sha512-iCHfbieL5d1LfOQeeVJEUyD9rTwBcP/fcEbRCfempxTDuqrKpu0AZjLAQHEQa3Yqyj9ORKe2iHfoj4rHLf7xpw==",
+ "dev": true,
+ "requires": {
+ "find-cache-dir": "^1.0.0",
+ "loader-utils": "^1.0.2",
+ "mkdirp": "^0.5.1"
+ }
+ },
+ "babel-messages": {
+ "version": "6.23.0",
+ "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz",
+ "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "^6.22.0"
+ }
+ },
+ "babel-plugin-check-es2015-constants": {
+ "version": "6.22.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz",
+ "integrity": "sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "^6.22.0"
+ }
+ },
+ "babel-plugin-emotion": {
+ "version": "9.2.6",
+ "resolved": "https://registry.npmjs.org/babel-plugin-emotion/-/babel-plugin-emotion-9.2.6.tgz",
+ "integrity": "sha512-aCRXUPm2pwaUqUtpQ2Gzbn5EeOD2RyUDTQDJl5Yqwg1RLQPs3OvnB6Xt6GUrMomMISxuwFrxuWfBMajHv74UjQ==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-module-imports": "7.0.0-beta.51",
+ "@emotion/babel-utils": "^0.6.4",
+ "@emotion/hash": "^0.6.2",
+ "@emotion/memoize": "^0.6.1",
+ "@emotion/stylis": "^0.6.10",
+ "babel-core": "^6.26.3",
+ "babel-plugin-macros": "^2.0.0",
+ "babel-plugin-syntax-jsx": "^6.18.0",
+ "convert-source-map": "^1.5.0",
+ "find-root": "^1.1.0",
+ "mkdirp": "^0.5.1",
+ "source-map": "^0.5.7",
+ "touch": "^1.0.0"
+ }
+ },
+ "babel-plugin-macros": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-2.3.0.tgz",
+ "integrity": "sha512-Y9h4dQMlzUUKATfNEN+sgiwND/+PGiAkjSW+qwyATIvYMk1y39XmaLHXKI2VojplqtOWQry0y6CumvDw+qETvQ==",
+ "dev": true,
+ "requires": {
+ "cosmiconfig": "^4.0.0"
+ }
+ },
+ "babel-plugin-minify-builtins": {
+ "version": "0.4.3",
+ "resolved": "https://registry.npmjs.org/babel-plugin-minify-builtins/-/babel-plugin-minify-builtins-0.4.3.tgz",
+ "integrity": "sha1-nqPVn0rEp7uVjXEtKVVqH4b3+B4=",
+ "dev": true,
+ "requires": {
+ "babel-helper-evaluate-path": "^0.4.3"
+ }
+ },
+ "babel-plugin-minify-constant-folding": {
+ "version": "0.4.3",
+ "resolved": "https://registry.npmjs.org/babel-plugin-minify-constant-folding/-/babel-plugin-minify-constant-folding-0.4.3.tgz",
+ "integrity": "sha1-MA+d6N2ghEoXaxk2U5YOJK0z4ZE=",
+ "dev": true,
+ "requires": {
+ "babel-helper-evaluate-path": "^0.4.3"
+ }
+ },
+ "babel-plugin-minify-flip-comparisons": {
+ "version": "0.4.3",
+ "resolved": "https://registry.npmjs.org/babel-plugin-minify-flip-comparisons/-/babel-plugin-minify-flip-comparisons-0.4.3.tgz",
+ "integrity": "sha1-AMqHDLjxO0XAOLPB68DyJyk8llo=",
+ "dev": true,
+ "requires": {
+ "babel-helper-is-void-0": "^0.4.3"
+ }
+ },
+ "babel-plugin-minify-guarded-expressions": {
+ "version": "0.4.3",
+ "resolved": "https://registry.npmjs.org/babel-plugin-minify-guarded-expressions/-/babel-plugin-minify-guarded-expressions-0.4.3.tgz",
+ "integrity": "sha1-zHCbRFP9IbHzAod0RMifiEJ845c=",
+ "dev": true,
+ "requires": {
+ "babel-helper-flip-expressions": "^0.4.3"
+ }
+ },
+ "babel-plugin-minify-infinity": {
+ "version": "0.4.3",
+ "resolved": "https://registry.npmjs.org/babel-plugin-minify-infinity/-/babel-plugin-minify-infinity-0.4.3.tgz",
+ "integrity": "sha1-37h2obCKBldjhO8/kuZTumB7Oco=",
+ "dev": true
+ },
+ "babel-plugin-minify-mangle-names": {
+ "version": "0.4.3",
+ "resolved": "https://registry.npmjs.org/babel-plugin-minify-mangle-names/-/babel-plugin-minify-mangle-names-0.4.3.tgz",
+ "integrity": "sha1-FvG/90t6fJPfwkHngx3V+0sCPvc=",
+ "dev": true,
+ "requires": {
+ "babel-helper-mark-eval-scopes": "^0.4.3"
+ }
+ },
+ "babel-plugin-minify-numeric-literals": {
+ "version": "0.4.3",
+ "resolved": "https://registry.npmjs.org/babel-plugin-minify-numeric-literals/-/babel-plugin-minify-numeric-literals-0.4.3.tgz",
+ "integrity": "sha1-jk/VYcefeAEob/YOjF/Z3u6TwLw=",
+ "dev": true
+ },
+ "babel-plugin-minify-replace": {
+ "version": "0.4.3",
+ "resolved": "https://registry.npmjs.org/babel-plugin-minify-replace/-/babel-plugin-minify-replace-0.4.3.tgz",
+ "integrity": "sha1-nSifS6FdTmAR6HmfpfG6d+yBIZ0=",
+ "dev": true
+ },
+ "babel-plugin-minify-simplify": {
+ "version": "0.4.3",
+ "resolved": "https://registry.npmjs.org/babel-plugin-minify-simplify/-/babel-plugin-minify-simplify-0.4.3.tgz",
+ "integrity": "sha1-N3VthcYURktLCSfytOQXGR1Vc4o=",
+ "dev": true,
+ "requires": {
+ "babel-helper-flip-expressions": "^0.4.3",
+ "babel-helper-is-nodes-equiv": "^0.0.1",
+ "babel-helper-to-multiple-sequence-expressions": "^0.4.3"
+ }
+ },
+ "babel-plugin-minify-type-constructors": {
+ "version": "0.4.3",
+ "resolved": "https://registry.npmjs.org/babel-plugin-minify-type-constructors/-/babel-plugin-minify-type-constructors-0.4.3.tgz",
+ "integrity": "sha1-G8bxW4f3qxCF1CszC3F2V6IVZQA=",
+ "dev": true,
+ "requires": {
+ "babel-helper-is-void-0": "^0.4.3"
+ }
+ },
+ "babel-plugin-syntax-async-functions": {
+ "version": "6.13.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz",
+ "integrity": "sha1-ytnK0RkbWtY0vzCuCHI5HgZHvpU=",
+ "dev": true
+ },
+ "babel-plugin-syntax-async-generators": {
+ "version": "6.13.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-syntax-async-generators/-/babel-plugin-syntax-async-generators-6.13.0.tgz",
+ "integrity": "sha1-a8lj67FuzLrmuStZbrfzXDQqi5o=",
+ "dev": true
+ },
+ "babel-plugin-syntax-class-constructor-call": {
+ "version": "6.18.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-syntax-class-constructor-call/-/babel-plugin-syntax-class-constructor-call-6.18.0.tgz",
+ "integrity": "sha1-nLnTn+Q8hgC+yBRkVt3L1OGnZBY=",
+ "dev": true
+ },
+ "babel-plugin-syntax-decorators": {
+ "version": "6.13.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-syntax-decorators/-/babel-plugin-syntax-decorators-6.13.0.tgz",
+ "integrity": "sha1-MSVjtNvePMgGzuPkFszurd0RrAs=",
+ "dev": true
+ },
+ "babel-plugin-syntax-do-expressions": {
+ "version": "6.13.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-syntax-do-expressions/-/babel-plugin-syntax-do-expressions-6.13.0.tgz",
+ "integrity": "sha1-V0d1YTmqJtOQ0JQQsDdEugfkeW0=",
+ "dev": true
+ },
+ "babel-plugin-syntax-dynamic-import": {
+ "version": "6.18.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-syntax-dynamic-import/-/babel-plugin-syntax-dynamic-import-6.18.0.tgz",
+ "integrity": "sha1-jWomIpyDdFqZgqRBBRVyyqF5sdo=",
+ "dev": true
+ },
+ "babel-plugin-syntax-exponentiation-operator": {
+ "version": "6.13.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz",
+ "integrity": "sha1-nufoM3KQ2pUoggGmpX9BcDF4MN4=",
+ "dev": true
+ },
+ "babel-plugin-syntax-export-extensions": {
+ "version": "6.13.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-syntax-export-extensions/-/babel-plugin-syntax-export-extensions-6.13.0.tgz",
+ "integrity": "sha1-cKFITw+QiaToStRLrDU8lbmxJyE=",
+ "dev": true
+ },
+ "babel-plugin-syntax-function-bind": {
+ "version": "6.13.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-syntax-function-bind/-/babel-plugin-syntax-function-bind-6.13.0.tgz",
+ "integrity": "sha1-SMSV8Xe98xqYHnMvVa3AvdJgH0Y=",
+ "dev": true
+ },
+ "babel-plugin-syntax-jsx": {
+ "version": "6.18.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz",
+ "integrity": "sha1-CvMqmm4Tyno/1QaeYtew9Y0NiUY=",
+ "dev": true
+ },
+ "babel-plugin-syntax-object-rest-spread": {
+ "version": "6.13.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz",
+ "integrity": "sha1-/WU28rzhODb/o6VFjEkDpZe7O/U=",
+ "dev": true
+ },
+ "babel-plugin-syntax-trailing-function-commas": {
+ "version": "6.22.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz",
+ "integrity": "sha1-ugNgk3+NBuQBgKQ/4NVhb/9TLPM=",
+ "dev": true
+ },
+ "babel-plugin-transform-async-generator-functions": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-async-generator-functions/-/babel-plugin-transform-async-generator-functions-6.24.1.tgz",
+ "integrity": "sha1-8FiQAUX9PpkHpt3yjaWfIVJYpds=",
+ "dev": true,
+ "requires": {
+ "babel-helper-remap-async-to-generator": "^6.24.1",
+ "babel-plugin-syntax-async-generators": "^6.5.0",
+ "babel-runtime": "^6.22.0"
+ }
+ },
+ "babel-plugin-transform-class-constructor-call": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-class-constructor-call/-/babel-plugin-transform-class-constructor-call-6.24.1.tgz",
+ "integrity": "sha1-gNwoVQWsBn3LjWxl4vbxGrd2Xvk=",
+ "dev": true,
+ "requires": {
+ "babel-plugin-syntax-class-constructor-call": "^6.18.0",
+ "babel-runtime": "^6.22.0",
+ "babel-template": "^6.24.1"
+ }
+ },
+ "babel-plugin-transform-class-properties": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-class-properties/-/babel-plugin-transform-class-properties-6.24.1.tgz",
+ "integrity": "sha1-anl2PqYdM9NvN7YRqp3vgagbRqw=",
+ "dev": true,
+ "requires": {
+ "babel-helper-function-name": "^6.24.1",
+ "babel-plugin-syntax-class-properties": "^6.8.0",
+ "babel-runtime": "^6.22.0",
+ "babel-template": "^6.24.1"
+ },
+ "dependencies": {
+ "babel-plugin-syntax-class-properties": {
+ "version": "6.13.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-syntax-class-properties/-/babel-plugin-syntax-class-properties-6.13.0.tgz",
+ "integrity": "sha1-1+sjt5oxf4VDlixQW4J8fWysJ94=",
+ "dev": true
+ }
+ }
+ },
+ "babel-plugin-transform-decorators": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-decorators/-/babel-plugin-transform-decorators-6.24.1.tgz",
+ "integrity": "sha1-eIAT2PjGtSIr33s0Q5Df13Vp4k0=",
+ "dev": true,
+ "requires": {
+ "babel-helper-explode-class": "^6.24.1",
+ "babel-plugin-syntax-decorators": "^6.13.0",
+ "babel-runtime": "^6.22.0",
+ "babel-template": "^6.24.1",
+ "babel-types": "^6.24.1"
+ }
+ },
+ "babel-plugin-transform-es2015-arrow-functions": {
+ "version": "6.22.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz",
+ "integrity": "sha1-RSaSy3EdX3ncf4XkQM5BufJE0iE=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "^6.22.0"
+ }
+ },
+ "babel-plugin-transform-es2015-block-scoped-functions": {
+ "version": "6.22.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz",
+ "integrity": "sha1-u8UbSflk1wy42OC5ToICRs46YUE=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "^6.22.0"
+ }
+ },
+ "babel-plugin-transform-es2015-block-scoping": {
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz",
+ "integrity": "sha1-1w9SmcEwjQXBL0Y4E7CgnnOxiV8=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "^6.26.0",
+ "babel-template": "^6.26.0",
+ "babel-traverse": "^6.26.0",
+ "babel-types": "^6.26.0",
+ "lodash": "^4.17.4"
+ }
+ },
+ "babel-plugin-transform-es2015-classes": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz",
+ "integrity": "sha1-WkxYpQyclGHlZLSyo7+ryXolhNs=",
+ "dev": true,
+ "requires": {
+ "babel-helper-define-map": "^6.24.1",
+ "babel-helper-function-name": "^6.24.1",
+ "babel-helper-optimise-call-expression": "^6.24.1",
+ "babel-helper-replace-supers": "^6.24.1",
+ "babel-messages": "^6.23.0",
+ "babel-runtime": "^6.22.0",
+ "babel-template": "^6.24.1",
+ "babel-traverse": "^6.24.1",
+ "babel-types": "^6.24.1"
+ }
+ },
+ "babel-plugin-transform-es2015-computed-properties": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz",
+ "integrity": "sha1-b+Ko0WiV1WNPTNmZttNICjCBWbM=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "^6.22.0",
+ "babel-template": "^6.24.1"
+ }
+ },
+ "babel-plugin-transform-es2015-destructuring": {
+ "version": "6.23.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz",
+ "integrity": "sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "^6.22.0"
+ }
+ },
+ "babel-plugin-transform-es2015-duplicate-keys": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz",
+ "integrity": "sha1-c+s9MQypaePvnskcU3QabxV2Qj4=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "^6.22.0",
+ "babel-types": "^6.24.1"
+ }
+ },
+ "babel-plugin-transform-es2015-for-of": {
+ "version": "6.23.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz",
+ "integrity": "sha1-9HyVsrYT3x0+zC/bdXNiPHUkhpE=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "^6.22.0"
+ }
+ },
+ "babel-plugin-transform-es2015-function-name": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz",
+ "integrity": "sha1-g0yJhTvDaxrw86TF26qU/Y6sqos=",
+ "dev": true,
+ "requires": {
+ "babel-helper-function-name": "^6.24.1",
+ "babel-runtime": "^6.22.0",
+ "babel-types": "^6.24.1"
+ }
+ },
+ "babel-plugin-transform-es2015-literals": {
+ "version": "6.22.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz",
+ "integrity": "sha1-T1SgLWzWbPkVKAAZox0xklN3yi4=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "^6.22.0"
+ }
+ },
+ "babel-plugin-transform-es2015-modules-amd": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz",
+ "integrity": "sha1-Oz5UAXI5hC1tGcMBHEvS8AoA0VQ=",
+ "dev": true,
+ "requires": {
+ "babel-plugin-transform-es2015-modules-commonjs": "^6.24.1",
+ "babel-runtime": "^6.22.0",
+ "babel-template": "^6.24.1"
+ }
+ },
+ "babel-plugin-transform-es2015-modules-commonjs": {
+ "version": "6.26.2",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.2.tgz",
+ "integrity": "sha512-CV9ROOHEdrjcwhIaJNBGMBCodN+1cfkwtM1SbUHmvyy35KGT7fohbpOxkE2uLz1o6odKK2Ck/tz47z+VqQfi9Q==",
+ "dev": true,
+ "requires": {
+ "babel-plugin-transform-strict-mode": "^6.24.1",
+ "babel-runtime": "^6.26.0",
+ "babel-template": "^6.26.0",
+ "babel-types": "^6.26.0"
+ }
+ },
+ "babel-plugin-transform-es2015-modules-systemjs": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz",
+ "integrity": "sha1-/4mhQrkRmpBhlfXxBuzzBdlAfSM=",
+ "dev": true,
+ "requires": {
+ "babel-helper-hoist-variables": "^6.24.1",
+ "babel-runtime": "^6.22.0",
+ "babel-template": "^6.24.1"
+ }
+ },
+ "babel-plugin-transform-es2015-modules-umd": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz",
+ "integrity": "sha1-rJl+YoXNGO1hdq22B9YCNErThGg=",
+ "dev": true,
+ "requires": {
+ "babel-plugin-transform-es2015-modules-amd": "^6.24.1",
+ "babel-runtime": "^6.22.0",
+ "babel-template": "^6.24.1"
+ }
+ },
+ "babel-plugin-transform-es2015-object-super": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz",
+ "integrity": "sha1-JM72muIcuDp/hgPa0CH1cusnj40=",
+ "dev": true,
+ "requires": {
+ "babel-helper-replace-supers": "^6.24.1",
+ "babel-runtime": "^6.22.0"
+ }
+ },
+ "babel-plugin-transform-es2015-parameters": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz",
+ "integrity": "sha1-V6w1GrScrxSpfNE7CfZv3wpiXys=",
+ "dev": true,
+ "requires": {
+ "babel-helper-call-delegate": "^6.24.1",
+ "babel-helper-get-function-arity": "^6.24.1",
+ "babel-runtime": "^6.22.0",
+ "babel-template": "^6.24.1",
+ "babel-traverse": "^6.24.1",
+ "babel-types": "^6.24.1"
+ }
+ },
+ "babel-plugin-transform-es2015-shorthand-properties": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz",
+ "integrity": "sha1-JPh11nIch2YbvZmkYi5R8U3jiqA=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "^6.22.0",
+ "babel-types": "^6.24.1"
+ }
+ },
+ "babel-plugin-transform-es2015-spread": {
+ "version": "6.22.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz",
+ "integrity": "sha1-1taKmfia7cRTbIGlQujdnxdG+NE=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "^6.22.0"
+ }
+ },
+ "babel-plugin-transform-es2015-sticky-regex": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz",
+ "integrity": "sha1-AMHNsaynERLN8M9hJsLta0V8zbw=",
+ "dev": true,
+ "requires": {
+ "babel-helper-regex": "^6.24.1",
+ "babel-runtime": "^6.22.0",
+ "babel-types": "^6.24.1"
+ }
+ },
+ "babel-plugin-transform-es2015-template-literals": {
+ "version": "6.22.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz",
+ "integrity": "sha1-qEs0UPfp+PH2g51taH2oS7EjbY0=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "^6.22.0"
+ }
+ },
+ "babel-plugin-transform-es2015-typeof-symbol": {
+ "version": "6.23.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz",
+ "integrity": "sha1-3sCfHN3/lLUqxz1QXITfWdzOs3I=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "^6.22.0"
+ }
+ },
+ "babel-plugin-transform-es2015-unicode-regex": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz",
+ "integrity": "sha1-04sS9C6nMj9yk4fxinxa4frrNek=",
+ "dev": true,
+ "requires": {
+ "babel-helper-regex": "^6.24.1",
+ "babel-runtime": "^6.22.0",
+ "regexpu-core": "^2.0.0"
+ },
+ "dependencies": {
+ "regexpu-core": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz",
+ "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=",
+ "dev": true,
+ "requires": {
+ "regenerate": "^1.2.1",
+ "regjsgen": "^0.2.0",
+ "regjsparser": "^0.1.4"
+ }
+ }
+ }
+ },
+ "babel-plugin-transform-exponentiation-operator": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz",
+ "integrity": "sha1-KrDJx/MJj6SJB3cruBP+QejeOg4=",
+ "dev": true,
+ "requires": {
+ "babel-helper-builder-binary-assignment-operator-visitor": "^6.24.1",
+ "babel-plugin-syntax-exponentiation-operator": "^6.8.0",
+ "babel-runtime": "^6.22.0"
+ }
+ },
+ "babel-plugin-transform-function-bind": {
+ "version": "6.22.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-function-bind/-/babel-plugin-transform-function-bind-6.22.0.tgz",
+ "integrity": "sha1-xvuOlqwpajELjPjqQBRiQH3fapc=",
+ "dev": true,
+ "requires": {
+ "babel-plugin-syntax-function-bind": "^6.8.0",
+ "babel-runtime": "^6.22.0"
+ }
+ },
+ "babel-plugin-transform-inline-consecutive-adds": {
+ "version": "0.4.3",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-inline-consecutive-adds/-/babel-plugin-transform-inline-consecutive-adds-0.4.3.tgz",
+ "integrity": "sha1-Mj1Ho+pjqDp6w8gRro5pQfrysNE=",
+ "dev": true
+ },
+ "babel-plugin-transform-member-expression-literals": {
+ "version": "6.9.4",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-member-expression-literals/-/babel-plugin-transform-member-expression-literals-6.9.4.tgz",
+ "integrity": "sha1-NwOcmgwzE6OUlfqsL/OmtbnQOL8=",
+ "dev": true
+ },
+ "babel-plugin-transform-merge-sibling-variables": {
+ "version": "6.9.4",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-merge-sibling-variables/-/babel-plugin-transform-merge-sibling-variables-6.9.4.tgz",
+ "integrity": "sha1-hbQi/DN3tEnJ0c3kQIcgNTJAHa4=",
+ "dev": true
+ },
+ "babel-plugin-transform-object-rest-spread": {
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz",
+ "integrity": "sha1-DzZpLVD+9rfi1LOsFHgTepY7ewY=",
+ "dev": true,
+ "requires": {
+ "babel-plugin-syntax-object-rest-spread": "^6.8.0",
+ "babel-runtime": "^6.26.0"
+ }
+ },
+ "babel-plugin-transform-property-literals": {
+ "version": "6.9.4",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-property-literals/-/babel-plugin-transform-property-literals-6.9.4.tgz",
+ "integrity": "sha1-mMHSHiVXNlc/k+zlRFn2ziSYXTk=",
+ "dev": true,
+ "requires": {
+ "esutils": "^2.0.2"
+ }
+ },
+ "babel-plugin-transform-regenerator": {
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz",
+ "integrity": "sha1-4HA2lvveJ/Cj78rPi03KL3s6jy8=",
+ "dev": true,
+ "requires": {
+ "regenerator-transform": "^0.10.0"
+ },
+ "dependencies": {
+ "regenerator-transform": {
+ "version": "0.10.1",
+ "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.10.1.tgz",
+ "integrity": "sha512-PJepbvDbuK1xgIgnau7Y90cwaAmO/LCLMI2mPvaXq2heGMR3aWW5/BQvYrhJ8jgmQjXewXvBjzfqKcVOmhjZ6Q==",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "^6.18.0",
+ "babel-types": "^6.19.0",
+ "private": "^0.1.6"
+ }
+ }
+ }
+ },
+ "babel-plugin-transform-regexp-constructors": {
+ "version": "0.4.3",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-regexp-constructors/-/babel-plugin-transform-regexp-constructors-0.4.3.tgz",
+ "integrity": "sha1-WLd3W2OvzzMyj66aX4j71PsLSWU=",
+ "dev": true
+ },
+ "babel-plugin-transform-remove-console": {
+ "version": "6.9.4",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-remove-console/-/babel-plugin-transform-remove-console-6.9.4.tgz",
+ "integrity": "sha1-uYA2DAZzhOJLNXpYjYB9PINSd4A=",
+ "dev": true
+ },
+ "babel-plugin-transform-remove-debugger": {
+ "version": "6.9.4",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-remove-debugger/-/babel-plugin-transform-remove-debugger-6.9.4.tgz",
+ "integrity": "sha1-QrcnYxyXl44estGZp67IShgznvI=",
+ "dev": true
+ },
+ "babel-plugin-transform-remove-undefined": {
+ "version": "0.4.3",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-remove-undefined/-/babel-plugin-transform-remove-undefined-0.4.3.tgz",
+ "integrity": "sha1-1AsNp/kcCMBsxyt2dHTAHEiU3gI=",
+ "dev": true,
+ "requires": {
+ "babel-helper-evaluate-path": "^0.4.3"
+ }
+ },
+ "babel-plugin-transform-runtime": {
+ "version": "6.23.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-runtime/-/babel-plugin-transform-runtime-6.23.0.tgz",
+ "integrity": "sha1-iEkNRGUC6puOfvsP4J7E2ZR5se4=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "^6.22.0"
+ }
+ },
+ "babel-plugin-transform-simplify-comparison-operators": {
+ "version": "6.9.4",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-simplify-comparison-operators/-/babel-plugin-transform-simplify-comparison-operators-6.9.4.tgz",
+ "integrity": "sha1-9ir+CWyrDh9ootdT/fKDiIRxzrk=",
+ "dev": true
+ },
+ "babel-plugin-transform-strict-mode": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz",
+ "integrity": "sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "^6.22.0",
+ "babel-types": "^6.24.1"
+ }
+ },
+ "babel-plugin-transform-undefined-to-void": {
+ "version": "6.9.4",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-undefined-to-void/-/babel-plugin-transform-undefined-to-void-6.9.4.tgz",
+ "integrity": "sha1-viQcqBQEAwZ4t0hxcyK4nQyP4oA=",
+ "dev": true
+ },
+ "babel-preset-env": {
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/babel-preset-env/-/babel-preset-env-1.7.0.tgz",
+ "integrity": "sha512-9OR2afuKDneX2/q2EurSftUYM0xGu4O2D9adAhVfADDhrYDaxXV0rBbevVYoY9n6nyX1PmQW/0jtpJvUNr9CHg==",
+ "dev": true,
+ "requires": {
+ "babel-plugin-check-es2015-constants": "^6.22.0",
+ "babel-plugin-syntax-trailing-function-commas": "^6.22.0",
+ "babel-plugin-transform-async-to-generator": "^6.22.0",
+ "babel-plugin-transform-es2015-arrow-functions": "^6.22.0",
+ "babel-plugin-transform-es2015-block-scoped-functions": "^6.22.0",
+ "babel-plugin-transform-es2015-block-scoping": "^6.23.0",
+ "babel-plugin-transform-es2015-classes": "^6.23.0",
+ "babel-plugin-transform-es2015-computed-properties": "^6.22.0",
+ "babel-plugin-transform-es2015-destructuring": "^6.23.0",
+ "babel-plugin-transform-es2015-duplicate-keys": "^6.22.0",
+ "babel-plugin-transform-es2015-for-of": "^6.23.0",
+ "babel-plugin-transform-es2015-function-name": "^6.22.0",
+ "babel-plugin-transform-es2015-literals": "^6.22.0",
+ "babel-plugin-transform-es2015-modules-amd": "^6.22.0",
+ "babel-plugin-transform-es2015-modules-commonjs": "^6.23.0",
+ "babel-plugin-transform-es2015-modules-systemjs": "^6.23.0",
+ "babel-plugin-transform-es2015-modules-umd": "^6.23.0",
+ "babel-plugin-transform-es2015-object-super": "^6.22.0",
+ "babel-plugin-transform-es2015-parameters": "^6.23.0",
+ "babel-plugin-transform-es2015-shorthand-properties": "^6.22.0",
+ "babel-plugin-transform-es2015-spread": "^6.22.0",
+ "babel-plugin-transform-es2015-sticky-regex": "^6.22.0",
+ "babel-plugin-transform-es2015-template-literals": "^6.22.0",
+ "babel-plugin-transform-es2015-typeof-symbol": "^6.23.0",
+ "babel-plugin-transform-es2015-unicode-regex": "^6.22.0",
+ "babel-plugin-transform-exponentiation-operator": "^6.22.0",
+ "babel-plugin-transform-regenerator": "^6.22.0",
+ "browserslist": "^3.2.6",
+ "invariant": "^2.2.2",
+ "semver": "^5.3.0"
+ },
+ "dependencies": {
+ "babel-plugin-transform-async-to-generator": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz",
+ "integrity": "sha1-ZTbjeK/2yx1VF6wOQOs+n8jQh2E=",
+ "dev": true,
+ "requires": {
+ "babel-helper-remap-async-to-generator": "^6.24.1",
+ "babel-plugin-syntax-async-functions": "^6.8.0",
+ "babel-runtime": "^6.22.0"
+ }
+ }
+ }
+ },
+ "babel-preset-minify": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/babel-preset-minify/-/babel-preset-minify-0.4.1.tgz",
+ "integrity": "sha1-QOPtrXQ7sQfdY8fPshxgTczYNnQ=",
+ "dev": true,
+ "requires": {
+ "babel-plugin-minify-builtins": "^0.4.1",
+ "babel-plugin-minify-constant-folding": "^0.4.1",
+ "babel-plugin-minify-dead-code-elimination": "^0.4.1",
+ "babel-plugin-minify-flip-comparisons": "^0.4.1",
+ "babel-plugin-minify-guarded-expressions": "^0.4.1",
+ "babel-plugin-minify-infinity": "^0.4.1",
+ "babel-plugin-minify-mangle-names": "^0.4.1",
+ "babel-plugin-minify-numeric-literals": "^0.4.1",
+ "babel-plugin-minify-replace": "^0.4.1",
+ "babel-plugin-minify-simplify": "^0.4.1",
+ "babel-plugin-minify-type-constructors": "^0.4.1",
+ "babel-plugin-transform-inline-consecutive-adds": "^0.4.1",
+ "babel-plugin-transform-member-expression-literals": "^6.9.2",
+ "babel-plugin-transform-merge-sibling-variables": "^6.9.2",
+ "babel-plugin-transform-minify-booleans": "^6.9.2",
+ "babel-plugin-transform-property-literals": "^6.9.2",
+ "babel-plugin-transform-regexp-constructors": "^0.4.1",
+ "babel-plugin-transform-remove-console": "^6.9.2",
+ "babel-plugin-transform-remove-debugger": "^6.9.2",
+ "babel-plugin-transform-remove-undefined": "^0.4.1",
+ "babel-plugin-transform-simplify-comparison-operators": "^6.9.2",
+ "babel-plugin-transform-undefined-to-void": "^6.9.2",
+ "lodash.isplainobject": "^4.0.6"
+ },
+ "dependencies": {
+ "babel-plugin-minify-dead-code-elimination": {
+ "version": "0.4.3",
+ "resolved": "https://registry.npmjs.org/babel-plugin-minify-dead-code-elimination/-/babel-plugin-minify-dead-code-elimination-0.4.3.tgz",
+ "integrity": "sha1-c2KCZYZPkAjQAnUG9Yq+s8HQLZg=",
+ "dev": true,
+ "requires": {
+ "babel-helper-evaluate-path": "^0.4.3",
+ "babel-helper-mark-eval-scopes": "^0.4.3",
+ "babel-helper-remove-or-void": "^0.4.3",
+ "lodash.some": "^4.6.0"
+ }
+ },
+ "babel-plugin-transform-minify-booleans": {
+ "version": "6.9.4",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-minify-booleans/-/babel-plugin-transform-minify-booleans-6.9.4.tgz",
+ "integrity": "sha1-rLs+VqNVXdI5KOS1gtKFFi3SsZg=",
+ "dev": true
+ }
+ }
+ },
+ "babel-preset-stage-0": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-preset-stage-0/-/babel-preset-stage-0-6.24.1.tgz",
+ "integrity": "sha1-VkLRUEL5E4TX5a+LyIsduVsDnmo=",
+ "dev": true,
+ "requires": {
+ "babel-plugin-transform-do-expressions": "^6.22.0",
+ "babel-plugin-transform-function-bind": "^6.22.0",
+ "babel-preset-stage-1": "^6.24.1"
+ },
+ "dependencies": {
+ "babel-plugin-transform-do-expressions": {
+ "version": "6.22.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-do-expressions/-/babel-plugin-transform-do-expressions-6.22.0.tgz",
+ "integrity": "sha1-KMyvkoEtlJws0SgfaQyP3EaK6bs=",
+ "dev": true,
+ "requires": {
+ "babel-plugin-syntax-do-expressions": "^6.8.0",
+ "babel-runtime": "^6.22.0"
+ }
+ }
+ }
+ },
+ "babel-preset-stage-1": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-preset-stage-1/-/babel-preset-stage-1-6.24.1.tgz",
+ "integrity": "sha1-dpLNfc1oSZB+auSgqFWJz7niv7A=",
+ "dev": true,
+ "requires": {
+ "babel-plugin-transform-class-constructor-call": "^6.24.1",
+ "babel-plugin-transform-export-extensions": "^6.22.0",
+ "babel-preset-stage-2": "^6.24.1"
+ },
+ "dependencies": {
+ "babel-plugin-transform-export-extensions": {
+ "version": "6.22.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-export-extensions/-/babel-plugin-transform-export-extensions-6.22.0.tgz",
+ "integrity": "sha1-U3OLR+deghhYnuqUbLvTkQm75lM=",
+ "dev": true,
+ "requires": {
+ "babel-plugin-syntax-export-extensions": "^6.8.0",
+ "babel-runtime": "^6.22.0"
+ }
+ }
+ }
+ },
+ "babel-preset-stage-2": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-preset-stage-2/-/babel-preset-stage-2-6.24.1.tgz",
+ "integrity": "sha1-2eKWD7PXEYfw5k7sYrwHdnIZvcE=",
+ "dev": true,
+ "requires": {
+ "babel-plugin-syntax-dynamic-import": "^6.18.0",
+ "babel-plugin-transform-class-properties": "^6.24.1",
+ "babel-plugin-transform-decorators": "^6.24.1",
+ "babel-preset-stage-3": "^6.24.1"
+ }
+ },
+ "babel-preset-stage-3": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-preset-stage-3/-/babel-preset-stage-3-6.24.1.tgz",
+ "integrity": "sha1-g2raCp56f6N8sTj7kyb4eTSkg5U=",
+ "dev": true,
+ "requires": {
+ "babel-plugin-syntax-trailing-function-commas": "^6.22.0",
+ "babel-plugin-transform-async-generator-functions": "^6.24.1",
+ "babel-plugin-transform-async-to-generator": "^6.24.1",
+ "babel-plugin-transform-exponentiation-operator": "^6.24.1",
+ "babel-plugin-transform-object-rest-spread": "^6.22.0"
+ },
+ "dependencies": {
+ "babel-plugin-transform-async-to-generator": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz",
+ "integrity": "sha1-ZTbjeK/2yx1VF6wOQOs+n8jQh2E=",
+ "dev": true,
+ "requires": {
+ "babel-helper-remap-async-to-generator": "^6.24.1",
+ "babel-plugin-syntax-async-functions": "^6.8.0",
+ "babel-runtime": "^6.22.0"
+ }
+ }
+ }
+ },
+ "babel-register": {
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz",
+ "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=",
+ "dev": true,
+ "requires": {
+ "babel-core": "^6.26.0",
+ "babel-runtime": "^6.26.0",
+ "core-js": "^2.5.0",
+ "home-or-tmp": "^2.0.0",
+ "lodash": "^4.17.4",
+ "mkdirp": "^0.5.1",
+ "source-map-support": "^0.4.15"
+ },
+ "dependencies": {
+ "source-map-support": {
+ "version": "0.4.18",
+ "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz",
+ "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==",
+ "dev": true,
+ "requires": {
+ "source-map": "^0.5.6"
+ }
+ }
+ }
+ },
+ "babel-runtime": {
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
+ "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=",
+ "dev": true,
+ "requires": {
+ "core-js": "^2.4.0",
+ "regenerator-runtime": "^0.11.0"
+ }
+ },
+ "babel-template": {
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz",
+ "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "^6.26.0",
+ "babel-traverse": "^6.26.0",
+ "babel-types": "^6.26.0",
+ "babylon": "^6.18.0",
+ "lodash": "^4.17.4"
+ }
+ },
+ "babel-traverse": {
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz",
+ "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=",
+ "dev": true,
+ "requires": {
+ "babel-code-frame": "^6.26.0",
+ "babel-messages": "^6.23.0",
+ "babel-runtime": "^6.26.0",
+ "babel-types": "^6.26.0",
+ "babylon": "^6.18.0",
+ "debug": "^2.6.8",
+ "globals": "^9.18.0",
+ "invariant": "^2.2.2",
+ "lodash": "^4.17.4"
+ }
+ },
+ "babel-types": {
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz",
+ "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "^6.26.0",
+ "esutils": "^2.0.2",
+ "lodash": "^4.17.4",
+ "to-fast-properties": "^1.0.3"
+ }
+ },
+ "babylon": {
+ "version": "6.18.0",
+ "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz",
+ "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==",
+ "dev": true
+ },
+ "balanced-match": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
+ "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
+ "dev": true
+ },
+ "base": {
+ "version": "0.11.2",
+ "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz",
+ "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==",
+ "dev": true,
+ "requires": {
+ "cache-base": "^1.0.1",
+ "class-utils": "^0.3.5",
+ "component-emitter": "^1.2.1",
+ "define-property": "^1.0.0",
+ "isobject": "^3.0.1",
+ "mixin-deep": "^1.2.0",
+ "pascalcase": "^0.1.1"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
+ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "^1.0.0"
+ }
+ },
+ "is-accessor-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
+ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^6.0.0"
+ }
+ },
+ "is-data-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
+ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^6.0.0"
+ }
+ },
+ "is-descriptor": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
+ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
+ "dev": true,
+ "requires": {
+ "is-accessor-descriptor": "^1.0.0",
+ "is-data-descriptor": "^1.0.0",
+ "kind-of": "^6.0.2"
+ }
+ }
+ }
+ },
+ "base64-js": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.0.tgz",
+ "integrity": "sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw==",
+ "dev": true
+ },
+ "batch": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz",
+ "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=",
+ "dev": true
+ },
+ "bcrypt-pbkdf": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
+ "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "tweetnacl": "^0.14.3"
+ }
+ },
+ "big.js": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz",
+ "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==",
+ "dev": true
+ },
+ "binary-extensions": {
+ "version": "1.11.0",
+ "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.11.0.tgz",
+ "integrity": "sha1-RqoXUftqL5PuXmibsQh9SxTGwgU=",
+ "dev": true
+ },
+ "block-stream": {
+ "version": "0.0.9",
+ "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz",
+ "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=",
+ "dev": true,
+ "requires": {
+ "inherits": "~2.0.0"
+ }
+ },
+ "bluebird": {
+ "version": "3.5.1",
+ "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.1.tgz",
+ "integrity": "sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA==",
+ "dev": true
+ },
+ "bn.js": {
+ "version": "4.11.8",
+ "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz",
+ "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==",
+ "dev": true
+ },
+ "body-parser": {
+ "version": "1.18.2",
+ "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.18.2.tgz",
+ "integrity": "sha1-h2eKGdhLR9hZuDGZvVm84iKxBFQ=",
+ "dev": true,
+ "requires": {
+ "bytes": "3.0.0",
+ "content-type": "~1.0.4",
+ "debug": "2.6.9",
+ "depd": "~1.1.1",
+ "http-errors": "~1.6.2",
+ "iconv-lite": "0.4.19",
+ "on-finished": "~2.3.0",
+ "qs": "6.5.1",
+ "raw-body": "2.3.2",
+ "type-is": "~1.6.15"
+ },
+ "dependencies": {
+ "iconv-lite": {
+ "version": "0.4.19",
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz",
+ "integrity": "sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ==",
+ "dev": true
+ },
+ "qs": {
+ "version": "6.5.1",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz",
+ "integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A==",
+ "dev": true
+ }
+ }
+ },
+ "bonjour": {
+ "version": "3.5.0",
+ "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz",
+ "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=",
+ "dev": true,
+ "requires": {
+ "array-flatten": "^2.1.0",
+ "deep-equal": "^1.0.1",
+ "dns-equal": "^1.0.0",
+ "dns-txt": "^2.0.2",
+ "multicast-dns": "^6.0.1",
+ "multicast-dns-service-types": "^1.1.0"
+ }
+ },
+ "boolbase": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz",
+ "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=",
+ "dev": true
+ },
+ "boom": {
+ "version": "2.10.1",
+ "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz",
+ "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=",
+ "dev": true,
+ "requires": {
+ "hoek": "2.x.x"
+ }
+ },
+ "bowser": {
+ "version": "1.9.4",
+ "resolved": "https://registry.npmjs.org/bowser/-/bowser-1.9.4.tgz",
+ "integrity": "sha512-9IdMmj2KjigRq6oWhmwv1W36pDuA4STQZ8q6YO9um+x07xgYNCD3Oou+WP/3L1HNz7iqythGet3/p4wvc8AAwQ==",
+ "dev": true
+ },
+ "brace-expansion": {
+ "version": "1.1.11",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+ "dev": true,
+ "requires": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "braces": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
+ "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
+ "dev": true,
+ "requires": {
+ "arr-flatten": "^1.1.0",
+ "array-unique": "^0.3.2",
+ "extend-shallow": "^2.0.1",
+ "fill-range": "^4.0.0",
+ "isobject": "^3.0.1",
+ "repeat-element": "^1.1.2",
+ "snapdragon": "^0.8.1",
+ "snapdragon-node": "^2.0.1",
+ "split-string": "^3.0.2",
+ "to-regex": "^3.0.1"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "^0.1.0"
+ }
+ },
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "dev": true,
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ },
+ "snapdragon": {
+ "version": "0.8.2",
+ "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz",
+ "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==",
+ "dev": true,
+ "requires": {
+ "base": "^0.11.1",
+ "debug": "^2.2.0",
+ "define-property": "^0.2.5",
+ "extend-shallow": "^2.0.1",
+ "map-cache": "^0.2.2",
+ "source-map": "^0.5.6",
+ "source-map-resolve": "^0.5.0",
+ "use": "^3.1.0"
+ }
+ }
+ }
+ },
+ "brorand": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz",
+ "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=",
+ "dev": true
+ },
+ "browser-resolve": {
+ "version": "1.11.3",
+ "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.3.tgz",
+ "integrity": "sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ==",
+ "dev": true,
+ "requires": {
+ "resolve": "1.1.7"
+ },
+ "dependencies": {
+ "resolve": {
+ "version": "1.1.7",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz",
+ "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=",
+ "dev": true
+ }
+ }
+ },
+ "browserify-aes": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz",
+ "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==",
+ "dev": true,
+ "requires": {
+ "buffer-xor": "^1.0.3",
+ "cipher-base": "^1.0.0",
+ "create-hash": "^1.1.0",
+ "evp_bytestokey": "^1.0.3",
+ "inherits": "^2.0.1",
+ "safe-buffer": "^5.0.1"
+ }
+ },
+ "browserify-cipher": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz",
+ "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==",
+ "dev": true,
+ "requires": {
+ "browserify-aes": "^1.0.4",
+ "browserify-des": "^1.0.0",
+ "evp_bytestokey": "^1.0.0"
+ }
+ },
+ "browserify-des": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz",
+ "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==",
+ "dev": true,
+ "requires": {
+ "cipher-base": "^1.0.1",
+ "des.js": "^1.0.0",
+ "inherits": "^2.0.1",
+ "safe-buffer": "^5.1.2"
+ }
+ },
+ "browserify-rsa": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz",
+ "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=",
+ "dev": true,
+ "requires": {
+ "bn.js": "^4.1.0",
+ "randombytes": "^2.0.1"
+ }
+ },
+ "browserify-sign": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz",
+ "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=",
+ "dev": true,
+ "requires": {
+ "bn.js": "^4.1.1",
+ "browserify-rsa": "^4.0.0",
+ "create-hash": "^1.1.0",
+ "create-hmac": "^1.1.2",
+ "elliptic": "^6.0.0",
+ "inherits": "^2.0.1",
+ "parse-asn1": "^5.0.0"
+ },
+ "dependencies": {
+ "elliptic": {
+ "version": "6.4.0",
+ "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.0.tgz",
+ "integrity": "sha1-ysmvh2LIWDYYcAPI3+GT5eLq5d8=",
+ "dev": true,
+ "requires": {
+ "bn.js": "^4.4.0",
+ "brorand": "^1.0.1",
+ "hash.js": "^1.0.0",
+ "hmac-drbg": "^1.0.0",
+ "inherits": "^2.0.1",
+ "minimalistic-assert": "^1.0.0",
+ "minimalistic-crypto-utils": "^1.0.0"
+ }
+ }
+ }
+ },
+ "browserify-zlib": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz",
+ "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==",
+ "dev": true,
+ "requires": {
+ "pako": "~1.0.5"
+ }
+ },
+ "browserslist": {
+ "version": "3.2.8",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-3.2.8.tgz",
+ "integrity": "sha512-WHVocJYavUwVgVViC0ORikPHQquXwVh939TaelZ4WDqpWgTX/FsGhl/+P4qBUAGcRvtOgDgC+xftNWWp2RUTAQ==",
+ "dev": true,
+ "requires": {
+ "caniuse-lite": "^1.0.30000844",
+ "electron-to-chromium": "^1.3.47"
+ }
+ },
+ "buffer": {
+ "version": "4.9.1",
+ "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz",
+ "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=",
+ "dev": true,
+ "requires": {
+ "base64-js": "^1.0.2",
+ "ieee754": "^1.1.4",
+ "isarray": "^1.0.0"
+ }
+ },
+ "buffer-from": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz",
+ "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==",
+ "dev": true
+ },
+ "buffer-indexof": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz",
+ "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==",
+ "dev": true
+ },
+ "buffer-xor": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz",
+ "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=",
+ "dev": true
+ },
+ "builtin-modules": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz",
+ "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=",
+ "dev": true
+ },
+ "builtin-status-codes": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz",
+ "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=",
+ "dev": true
+ },
+ "builtins": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/builtins/-/builtins-1.0.3.tgz",
+ "integrity": "sha1-y5T662HIaWRR2zZTThQi+U8K7og=",
+ "dev": true
+ },
+ "bytes": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz",
+ "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=",
+ "dev": true
+ },
+ "cacache": {
+ "version": "10.0.4",
+ "resolved": "https://registry.npmjs.org/cacache/-/cacache-10.0.4.tgz",
+ "integrity": "sha512-Dph0MzuH+rTQzGPNT9fAnrPmMmjKfST6trxJeK7NQuHRaVw24VzPRWTmg9MpcwOVQZO0E1FBICUlFeNaKPIfHA==",
+ "dev": true,
+ "requires": {
+ "bluebird": "^3.5.1",
+ "chownr": "^1.0.1",
+ "glob": "^7.1.2",
+ "graceful-fs": "^4.1.11",
+ "lru-cache": "^4.1.1",
+ "mississippi": "^2.0.0",
+ "mkdirp": "^0.5.1",
+ "move-concurrently": "^1.0.1",
+ "promise-inflight": "^1.0.1",
+ "rimraf": "^2.6.2",
+ "ssri": "^5.2.4",
+ "unique-filename": "^1.1.0",
+ "y18n": "^4.0.0"
+ }
+ },
+ "cache-base": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz",
+ "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==",
+ "dev": true,
+ "requires": {
+ "collection-visit": "^1.0.0",
+ "component-emitter": "^1.2.1",
+ "get-value": "^2.0.6",
+ "has-value": "^1.0.0",
+ "isobject": "^3.0.1",
+ "set-value": "^2.0.0",
+ "to-object-path": "^0.3.0",
+ "union-value": "^1.0.0",
+ "unset-value": "^1.0.0"
+ },
+ "dependencies": {
+ "has-values": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz",
+ "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=",
+ "dev": true
+ },
+ "unset-value": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz",
+ "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=",
+ "dev": true,
+ "requires": {
+ "has-value": "^0.3.1",
+ "isobject": "^3.0.0"
+ },
+ "dependencies": {
+ "has-value": {
+ "version": "0.3.1",
+ "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz",
+ "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=",
+ "dev": true,
+ "requires": {
+ "get-value": "^2.0.3",
+ "has-values": "^0.1.4",
+ "isobject": "^2.0.0"
+ },
+ "dependencies": {
+ "isobject": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
+ "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
+ "dev": true,
+ "requires": {
+ "isarray": "1.0.0"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "cache-loader": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/cache-loader/-/cache-loader-1.2.2.tgz",
+ "integrity": "sha512-rsGh4SIYyB9glU+d0OcHwiXHXBoUgDhHZaQ1KAbiXqfz1CDPxtTboh1gPbJ0q2qdO8a9lfcjgC5CJ2Ms32y5bw==",
+ "dev": true,
+ "requires": {
+ "loader-utils": "^1.1.0",
+ "mkdirp": "^0.5.1",
+ "neo-async": "^2.5.0",
+ "schema-utils": "^0.4.2"
+ }
+ },
+ "call-me-maybe": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz",
+ "integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms=",
+ "dev": true
+ },
+ "camel-case": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz",
+ "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=",
+ "dev": true,
+ "requires": {
+ "no-case": "^2.2.0",
+ "upper-case": "^1.1.1"
+ }
+ },
+ "camelcase": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz",
+ "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=",
+ "dev": true,
+ "optional": true
+ },
+ "camelcase-keys": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz",
+ "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=",
+ "dev": true,
+ "requires": {
+ "camelcase": "^2.0.0",
+ "map-obj": "^1.0.0"
+ },
+ "dependencies": {
+ "camelcase": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz",
+ "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=",
+ "dev": true
+ }
+ }
+ },
+ "caniuse-api": {
+ "version": "1.6.1",
+ "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-1.6.1.tgz",
+ "integrity": "sha1-tTTnxzTE+B7F++isoq0kNUuWLGw=",
+ "dev": true,
+ "requires": {
+ "browserslist": "^1.3.6",
+ "caniuse-db": "^1.0.30000529",
+ "lodash.memoize": "^4.1.2",
+ "lodash.uniq": "^4.5.0"
+ },
+ "dependencies": {
+ "browserslist": {
+ "version": "1.7.7",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz",
+ "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=",
+ "dev": true,
+ "requires": {
+ "caniuse-db": "^1.0.30000639",
+ "electron-to-chromium": "^1.2.7"
+ }
+ }
+ }
+ },
+ "caniuse-db": {
+ "version": "1.0.30000872",
+ "resolved": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30000872.tgz",
+ "integrity": "sha1-P25Ttj03N2i/meiWEz1m74nEmZk=",
+ "dev": true
+ },
+ "caniuse-lite": {
+ "version": "1.0.30000865",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000865.tgz",
+ "integrity": "sha512-vs79o1mOSKRGv/1pSkp4EXgl4ZviWeYReXw60XfacPU64uQWZwJT6vZNmxRF9O+6zu71sJwMxLK5JXxbzuVrLw==",
+ "dev": true
+ },
+ "case-sensitive-paths-webpack-plugin": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.1.2.tgz",
+ "integrity": "sha512-oEZgAFfEvKtjSRCu6VgYkuGxwrWXMnQzyBmlLPP7r6PWQVtHxP5Z5N6XsuJvtoVax78am/r7lr46bwo3IVEBOg==",
+ "dev": true
+ },
+ "caseless": {
+ "version": "0.12.0",
+ "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
+ "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=",
+ "dev": true
+ },
+ "center-align": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz",
+ "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "align-text": "^0.1.3",
+ "lazy-cache": "^1.0.3"
+ }
+ },
+ "chalk": {
+ "version": "2.2.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.2.2.tgz",
+ "integrity": "sha512-LvixLAQ4MYhbf7hgL4o5PeK32gJKvVzDRiSNIApDofQvyhl8adgG2lJVXn4+ekQoK7HL9RF8lqxwerpe0x2pCw==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^3.1.0",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^4.0.0"
+ },
+ "dependencies": {
+ "has-flag": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz",
+ "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz",
+ "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=",
+ "dev": true,
+ "requires": {
+ "has-flag": "^2.0.0"
+ }
+ }
+ }
+ },
+ "character-entities": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-1.2.2.tgz",
+ "integrity": "sha512-sMoHX6/nBiy3KKfC78dnEalnpn0Az0oSNvqUWYTtYrhRI5iUIYsROU48G+E+kMFQzqXaJ8kHJZ85n7y6/PHgwQ==",
+ "dev": true
+ },
+ "character-entities-legacy": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.2.tgz",
+ "integrity": "sha512-9NB2VbXtXYWdXzqrvAHykE/f0QJxzaKIpZ5QzNZrrgQ7Iyxr2vnfS8fCBNVW9nUEZE0lo57nxKRqnzY/dKrwlA==",
+ "dev": true
+ },
+ "character-reference-invalid": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.2.tgz",
+ "integrity": "sha512-7I/xceXfKyUJmSAn/jw8ve/9DyOP7XxufNYLI9Px7CmsKgEUaZLUTax6nZxGQtaoiZCjpu6cHPj20xC/vqRReQ==",
+ "dev": true
+ },
+ "chardet": {
+ "version": "0.4.2",
+ "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.4.2.tgz",
+ "integrity": "sha1-tUc7M9yXxCTl2Y3IfVXU2KKci/I=",
+ "dev": true
+ },
+ "chokidar": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.0.4.tgz",
+ "integrity": "sha512-z9n7yt9rOvIJrMhvDtDictKrkFHeihkNl6uWMmZlmL6tJtX9Cs+87oK+teBx+JIgzvbX3yZHT3eF8vpbDxHJXQ==",
+ "dev": true,
+ "requires": {
+ "anymatch": "^2.0.0",
+ "async-each": "^1.0.0",
+ "braces": "^2.3.0",
+ "fsevents": "^1.2.2",
+ "glob-parent": "^3.1.0",
+ "inherits": "^2.0.1",
+ "is-binary-path": "^1.0.0",
+ "is-glob": "^4.0.0",
+ "lodash.debounce": "^4.0.8",
+ "normalize-path": "^2.1.1",
+ "path-is-absolute": "^1.0.0",
+ "readdirp": "^2.0.0",
+ "upath": "^1.0.5"
+ }
+ },
+ "chownr": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.0.1.tgz",
+ "integrity": "sha1-4qdQQqlVGQi+vSW4Uj1fl2nXkYE=",
+ "dev": true
+ },
+ "chrome-trace-event": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-0.1.3.tgz",
+ "integrity": "sha512-sjndyZHrrWiu4RY7AkHgjn80GfAM2ZSzUkZLV/Js59Ldmh6JDThf0SUmOHU53rFu2rVxxfCzJ30Ukcfch3Gb/A==",
+ "dev": true
+ },
+ "cipher-base": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz",
+ "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==",
+ "dev": true,
+ "requires": {
+ "inherits": "^2.0.1",
+ "safe-buffer": "^5.0.1"
+ }
+ },
+ "circular-dependency-plugin": {
+ "version": "5.0.2",
+ "resolved": "https://registry.npmjs.org/circular-dependency-plugin/-/circular-dependency-plugin-5.0.2.tgz",
+ "integrity": "sha512-oC7/DVAyfcY3UWKm0sN/oVoDedQDQiw/vIiAnuTWTpE5s0zWf7l3WY417Xw/Fbi/QbAjctAkxgMiS9P0s3zkmA==",
+ "dev": true
+ },
+ "clap": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/clap/-/clap-1.2.3.tgz",
+ "integrity": "sha512-4CoL/A3hf90V3VIEjeuhSvlGFEHKzOz+Wfc2IVZc+FaUgU0ZQafJTP49fvnULipOPcAfqhyI2duwQyns6xqjYA==",
+ "dev": true,
+ "requires": {
+ "chalk": "^1.1.3"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
+ "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
+ "dev": true
+ },
+ "chalk": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^2.2.1",
+ "escape-string-regexp": "^1.0.2",
+ "has-ansi": "^2.0.0",
+ "strip-ansi": "^3.0.0",
+ "supports-color": "^2.0.0"
+ }
+ },
+ "supports-color": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
+ "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+ "dev": true
+ }
+ }
+ },
+ "class-utils": {
+ "version": "0.3.6",
+ "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz",
+ "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==",
+ "dev": true,
+ "requires": {
+ "arr-union": "^3.1.0",
+ "define-property": "^0.2.5",
+ "isobject": "^3.0.0",
+ "static-extend": "^0.1.1"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "^0.1.0"
+ }
+ }
+ }
+ },
+ "classnames": {
+ "version": "2.2.6",
+ "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.2.6.tgz",
+ "integrity": "sha512-JR/iSQOSt+LQIWwrwEzJ9uk0xfN3mTVYMwt1Ir5mUcSN6pU+V4zQFFaJsclJbPuAUQH+yfWef6tm7l1quW3C8Q==",
+ "dev": true
+ },
+ "clean-css": {
+ "version": "4.1.11",
+ "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.1.11.tgz",
+ "integrity": "sha1-Ls3xRaujj1R0DybO/Q/z4D4SXWo=",
+ "dev": true,
+ "requires": {
+ "source-map": "0.5.x"
+ }
+ },
+ "cli-cursor": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz",
+ "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=",
+ "dev": true,
+ "requires": {
+ "restore-cursor": "^2.0.0"
+ }
+ },
+ "cli-width": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz",
+ "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=",
+ "dev": true
+ },
+ "clipboard": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/clipboard/-/clipboard-2.0.1.tgz",
+ "integrity": "sha512-7yhQBmtN+uYZmfRjjVjKa0dZdWuabzpSKGtyQZN+9C8xlC788SSJjOHWh7tzurfwTqTD5UDYAhIv5fRJg3sHjQ==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "good-listener": "^1.2.2",
+ "select": "^1.1.2",
+ "tiny-emitter": "^2.0.0"
+ }
+ },
+ "cliui": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz",
+ "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "center-align": "^0.1.1",
+ "right-align": "^0.1.1",
+ "wordwrap": "0.0.2"
+ },
+ "dependencies": {
+ "wordwrap": {
+ "version": "0.0.2",
+ "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz",
+ "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=",
+ "dev": true,
+ "optional": true
+ }
+ }
+ },
+ "clone": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz",
+ "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=",
+ "dev": true
+ },
+ "clone-deep": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-2.0.2.tgz",
+ "integrity": "sha512-SZegPTKjCgpQH63E+eN6mVEEPdQBOUzjyJm5Pora4lrwWRFS8I0QAxV/KD6vV/i0WuijHZWQC1fMsPEdxfdVCQ==",
+ "dev": true,
+ "requires": {
+ "for-own": "^1.0.0",
+ "is-plain-object": "^2.0.4",
+ "kind-of": "^6.0.0",
+ "shallow-clone": "^1.0.0"
+ }
+ },
+ "co": {
+ "version": "4.6.0",
+ "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
+ "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=",
+ "dev": true
+ },
+ "coa": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/coa/-/coa-1.0.4.tgz",
+ "integrity": "sha1-qe8VNmDWqGqL3sAomlxoTSF0Mv0=",
+ "dev": true,
+ "requires": {
+ "q": "^1.1.2"
+ }
+ },
+ "code-point-at": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
+ "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=",
+ "dev": true
+ },
+ "collection-visit": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz",
+ "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=",
+ "dev": true,
+ "requires": {
+ "map-visit": "^1.0.0",
+ "object-visit": "^1.0.0"
+ }
+ },
+ "color": {
+ "version": "0.11.4",
+ "resolved": "https://registry.npmjs.org/color/-/color-0.11.4.tgz",
+ "integrity": "sha1-bXtcdPtl6EHNSHkq0e1eB7kE12Q=",
+ "dev": true,
+ "requires": {
+ "clone": "^1.0.2",
+ "color-convert": "^1.3.0",
+ "color-string": "^0.3.0"
+ },
+ "dependencies": {
+ "clone": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz",
+ "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=",
+ "dev": true
+ }
+ }
+ },
+ "color-convert": {
+ "version": "1.9.2",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.2.tgz",
+ "integrity": "sha512-3NUJZdhMhcdPn8vJ9v2UQJoH0qqoGUkYTgFEPZaPjEtwmmKUfNV46zZmgB2M5M4DCEQHMaCfWHCxiBflLm04Tg==",
+ "dev": true,
+ "requires": {
+ "color-name": "1.1.1"
+ }
+ },
+ "color-name": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.1.tgz",
+ "integrity": "sha1-SxQVMEz1ACjqgWQ2Q72C6gWANok=",
+ "dev": true
+ },
+ "color-string": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/color-string/-/color-string-0.3.0.tgz",
+ "integrity": "sha1-J9RvtnAlxcL6JZk7+/V55HhBuZE=",
+ "dev": true,
+ "requires": {
+ "color-name": "^1.0.0"
+ }
+ },
+ "colors": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz",
+ "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=",
+ "dev": true
+ },
+ "combined-stream": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz",
+ "integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=",
+ "dev": true,
+ "requires": {
+ "delayed-stream": "~1.0.0"
+ }
+ },
+ "comma-separated-tokens": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-1.0.5.tgz",
+ "integrity": "sha512-Cg90/fcK93n0ecgYTAz1jaA3zvnQ0ExlmKY1rdbyHqAx6BHxwoJc+J7HDu0iuQ7ixEs1qaa+WyQ6oeuBpYP1iA==",
+ "dev": true,
+ "requires": {
+ "trim": "0.0.1"
+ }
+ },
+ "commander": {
+ "version": "2.16.0",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-2.16.0.tgz",
+ "integrity": "sha512-sVXqklSaotK9at437sFlFpyOcJonxe0yST/AG9DkQKUdIE6IqGIMv4SfAQSKaJbSdVEJYItASCrBiVQHq1HQew==",
+ "dev": true
+ },
+ "commondir": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz",
+ "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=",
+ "dev": true
+ },
+ "component-emitter": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz",
+ "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=",
+ "dev": true
+ },
+ "compression": {
+ "version": "1.7.3",
+ "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.3.tgz",
+ "integrity": "sha512-HSjyBG5N1Nnz7tF2+O7A9XUhyjru71/fwgNb7oIsEVHR0WShfs2tIS/EySLgiTe98aOK18YDlMXpzjCXY/n9mg==",
+ "dev": true,
+ "requires": {
+ "accepts": "~1.3.5",
+ "bytes": "3.0.0",
+ "compressible": "~2.0.14",
+ "debug": "2.6.9",
+ "on-headers": "~1.0.1",
+ "safe-buffer": "5.1.2",
+ "vary": "~1.1.2"
+ },
+ "dependencies": {
+ "compressible": {
+ "version": "2.0.14",
+ "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.14.tgz",
+ "integrity": "sha1-MmxfUH+7BV9UEWeCuWmoG2einac=",
+ "dev": true,
+ "requires": {
+ "mime-db": ">= 1.34.0 < 2"
+ }
+ }
+ }
+ },
+ "concat-map": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
+ "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
+ "dev": true
+ },
+ "concat-stream": {
+ "version": "1.6.2",
+ "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz",
+ "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==",
+ "dev": true,
+ "requires": {
+ "buffer-from": "^1.0.0",
+ "inherits": "^2.0.3",
+ "readable-stream": "^2.2.2",
+ "typedarray": "^0.0.6"
+ }
+ },
+ "connect-history-api-fallback": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.5.0.tgz",
+ "integrity": "sha1-sGhzk0vF40T+9hGhlqb6rgruAVo=",
+ "dev": true
+ },
+ "console-browserify": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz",
+ "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=",
+ "dev": true,
+ "requires": {
+ "date-now": "^0.1.4"
+ }
+ },
+ "console-control-strings": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz",
+ "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=",
+ "dev": true
+ },
+ "constants-browserify": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz",
+ "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=",
+ "dev": true
+ },
+ "content-disposition": {
+ "version": "0.5.2",
+ "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz",
+ "integrity": "sha1-DPaLud318r55YcOoUXjLhdunjLQ=",
+ "dev": true
+ },
+ "content-type": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
+ "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==",
+ "dev": true
+ },
+ "convert-source-map": {
+ "version": "1.5.1",
+ "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.1.tgz",
+ "integrity": "sha1-uCeAl7m8IpNl3lxiz1/K7YtVmeU=",
+ "dev": true
+ },
+ "cookie": {
+ "version": "0.3.1",
+ "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz",
+ "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=",
+ "dev": true
+ },
+ "cookie-signature": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
+ "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=",
+ "dev": true
+ },
+ "copy-concurrently": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz",
+ "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==",
+ "dev": true,
+ "requires": {
+ "aproba": "^1.1.1",
+ "fs-write-stream-atomic": "^1.0.8",
+ "iferr": "^0.1.5",
+ "mkdirp": "^0.5.1",
+ "rimraf": "^2.5.4",
+ "run-queue": "^1.0.0"
+ }
+ },
+ "copy-descriptor": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz",
+ "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=",
+ "dev": true
+ },
+ "copy-webpack-plugin": {
+ "version": "4.5.2",
+ "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-4.5.2.tgz",
+ "integrity": "sha512-zmC33E8FFSq3AbflTvqvPvBo621H36Afsxlui91d+QyZxPIuXghfnTsa1CuqiAaCPgJoSUWfTFbKJnadZpKEbQ==",
+ "dev": true,
+ "requires": {
+ "cacache": "^10.0.4",
+ "find-cache-dir": "^1.0.0",
+ "globby": "^7.1.1",
+ "is-glob": "^4.0.0",
+ "loader-utils": "^1.1.0",
+ "minimatch": "^3.0.4",
+ "p-limit": "^1.0.0",
+ "serialize-javascript": "^1.4.0"
+ }
+ },
+ "core-js": {
+ "version": "2.5.7",
+ "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.7.tgz",
+ "integrity": "sha512-RszJCAxg/PP6uzXVXL6BsxSXx/B05oJAQ2vkJRjyjrEcNVycaqOmNb5OTxZPE3xa5gwZduqza6L9JOCenh/Ecw=="
+ },
+ "core-util-is": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+ "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
+ "dev": true
+ },
+ "cosmiconfig": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-4.0.0.tgz",
+ "integrity": "sha512-6e5vDdrXZD+t5v0L8CrurPeybg4Fmf+FCSYxXKYVAqLUtyCSbuyqE059d0kDthTNRzKVjL7QMgNpEUlsoYH3iQ==",
+ "dev": true,
+ "requires": {
+ "is-directory": "^0.3.1",
+ "js-yaml": "^3.9.0",
+ "parse-json": "^4.0.0",
+ "require-from-string": "^2.0.1"
+ },
+ "dependencies": {
+ "parse-json": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz",
+ "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=",
+ "dev": true,
+ "requires": {
+ "error-ex": "^1.3.1",
+ "json-parse-better-errors": "^1.0.1"
+ }
+ }
+ }
+ },
+ "create-ecdh": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz",
+ "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==",
+ "dev": true,
+ "requires": {
+ "bn.js": "^4.1.0",
+ "elliptic": "^6.0.0"
+ },
+ "dependencies": {
+ "elliptic": {
+ "version": "6.4.0",
+ "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.0.tgz",
+ "integrity": "sha1-ysmvh2LIWDYYcAPI3+GT5eLq5d8=",
+ "dev": true,
+ "requires": {
+ "bn.js": "^4.4.0",
+ "brorand": "^1.0.1",
+ "hash.js": "^1.0.0",
+ "hmac-drbg": "^1.0.0",
+ "inherits": "^2.0.1",
+ "minimalistic-assert": "^1.0.0",
+ "minimalistic-crypto-utils": "^1.0.0"
+ }
+ }
+ }
+ },
+ "create-emotion": {
+ "version": "9.2.6",
+ "resolved": "https://registry.npmjs.org/create-emotion/-/create-emotion-9.2.6.tgz",
+ "integrity": "sha512-4g46va26lw6DPfKF7HeWY3OI/qoaNSwpvO+li8dMydZfC6f6+ZffwlYHeIyAhGR8Z8C8c0H9J1pJbQRtb9LScw==",
+ "dev": true,
+ "requires": {
+ "@emotion/hash": "^0.6.2",
+ "@emotion/memoize": "^0.6.1",
+ "@emotion/stylis": "^0.6.10",
+ "@emotion/unitless": "^0.6.2",
+ "csstype": "^2.5.2",
+ "stylis": "^3.5.0",
+ "stylis-rule-sheet": "^0.0.10"
+ }
+ },
+ "create-emotion-styled": {
+ "version": "9.2.6",
+ "resolved": "https://registry.npmjs.org/create-emotion-styled/-/create-emotion-styled-9.2.6.tgz",
+ "integrity": "sha512-Kk6qWuEiHY9iptLsxzoJztHM237yedoY2Zhmc79HwkRkC+wZ7W8IFt5gP6AAGx6eN44hc3Zwc+WA5N7ku3QJfg==",
+ "dev": true,
+ "requires": {
+ "@emotion/is-prop-valid": "^0.6.1"
+ }
+ },
+ "create-hash": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz",
+ "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==",
+ "dev": true,
+ "requires": {
+ "cipher-base": "^1.0.1",
+ "inherits": "^2.0.1",
+ "md5.js": "^1.3.4",
+ "ripemd160": "^2.0.1",
+ "sha.js": "^2.4.0"
+ }
+ },
+ "create-hmac": {
+ "version": "1.1.7",
+ "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz",
+ "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==",
+ "dev": true,
+ "requires": {
+ "cipher-base": "^1.0.3",
+ "create-hash": "^1.1.0",
+ "inherits": "^2.0.1",
+ "ripemd160": "^2.0.0",
+ "safe-buffer": "^5.0.1",
+ "sha.js": "^2.4.8"
+ }
+ },
+ "create-react-class": {
+ "version": "15.6.3",
+ "resolved": "https://registry.npmjs.org/create-react-class/-/create-react-class-15.6.3.tgz",
+ "integrity": "sha512-M+/3Q6E6DLO6Yx3OwrWjwHBnvfXXYA7W+dFjt/ZDBemHO1DDZhsalX/NUtnTYclN6GfnBDRh4qRHjcDHmlJBJg==",
+ "dev": true,
+ "requires": {
+ "fbjs": "^0.8.9",
+ "loose-envify": "^1.3.1",
+ "object-assign": "^4.1.1"
+ }
+ },
+ "cross-spawn": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-3.0.1.tgz",
+ "integrity": "sha1-ElYDfsufDF9549bvE14wdwGEuYI=",
+ "dev": true,
+ "requires": {
+ "lru-cache": "^4.0.1",
+ "which": "^1.2.9"
+ }
+ },
+ "cryptiles": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz",
+ "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=",
+ "dev": true,
+ "requires": {
+ "boom": "2.x.x"
+ }
+ },
+ "crypto-browserify": {
+ "version": "3.12.0",
+ "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz",
+ "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==",
+ "dev": true,
+ "requires": {
+ "browserify-cipher": "^1.0.0",
+ "browserify-sign": "^4.0.0",
+ "create-ecdh": "^4.0.0",
+ "create-hash": "^1.1.0",
+ "create-hmac": "^1.1.0",
+ "diffie-hellman": "^5.0.0",
+ "inherits": "^2.0.1",
+ "pbkdf2": "^3.0.3",
+ "public-encrypt": "^4.0.0",
+ "randombytes": "^2.0.0",
+ "randomfill": "^1.0.3"
+ }
+ },
+ "css-color-names": {
+ "version": "0.0.4",
+ "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz",
+ "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=",
+ "dev": true
+ },
+ "css-in-js-utils": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/css-in-js-utils/-/css-in-js-utils-2.0.1.tgz",
+ "integrity": "sha512-PJF0SpJT+WdbVVt0AOYp9C8GnuruRlL/UFW7932nLWmFLQTaWEzTBQEx7/hn4BuV+WON75iAViSUJLiU3PKbpA==",
+ "dev": true,
+ "requires": {
+ "hyphenate-style-name": "^1.0.2",
+ "isobject": "^3.0.1"
+ }
+ },
+ "css-loader": {
+ "version": "0.28.11",
+ "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-0.28.11.tgz",
+ "integrity": "sha512-wovHgjAx8ZIMGSL8pTys7edA1ClmzxHeY6n/d97gg5odgsxEgKjULPR0viqyC+FWMCL9sfqoC/QCUBo62tLvPg==",
+ "dev": true,
+ "requires": {
+ "babel-code-frame": "^6.26.0",
+ "css-selector-tokenizer": "^0.7.0",
+ "cssnano": "^3.10.0",
+ "icss-utils": "^2.1.0",
+ "loader-utils": "^1.0.2",
+ "lodash.camelcase": "^4.3.0",
+ "object-assign": "^4.1.1",
+ "postcss": "^5.0.6",
+ "postcss-modules-extract-imports": "^1.2.0",
+ "postcss-modules-local-by-default": "^1.2.0",
+ "postcss-modules-scope": "^1.1.0",
+ "postcss-modules-values": "^1.3.0",
+ "postcss-value-parser": "^3.3.0",
+ "source-list-map": "^2.0.0"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
+ "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
+ "dev": true
+ },
+ "chalk": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^2.2.1",
+ "escape-string-regexp": "^1.0.2",
+ "has-ansi": "^2.0.0",
+ "strip-ansi": "^3.0.0",
+ "supports-color": "^2.0.0"
+ },
+ "dependencies": {
+ "supports-color": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
+ "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+ "dev": true
+ }
+ }
+ },
+ "has-flag": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
+ "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=",
+ "dev": true
+ },
+ "postcss": {
+ "version": "5.2.18",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz",
+ "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==",
+ "dev": true,
+ "requires": {
+ "chalk": "^1.1.3",
+ "js-base64": "^2.1.9",
+ "source-map": "^0.5.6",
+ "supports-color": "^3.2.3"
+ }
+ },
+ "supports-color": {
+ "version": "3.2.3",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
+ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+ "dev": true,
+ "requires": {
+ "has-flag": "^1.0.0"
+ }
+ }
+ }
+ },
+ "css-parse": {
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/css-parse/-/css-parse-1.7.0.tgz",
+ "integrity": "sha1-Mh9s9zeCpv91ERE5D8BeLGV9jJs=",
+ "dev": true
+ },
+ "css-select": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz",
+ "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=",
+ "dev": true,
+ "requires": {
+ "boolbase": "~1.0.0",
+ "css-what": "2.1",
+ "domutils": "1.5.1",
+ "nth-check": "~1.0.1"
+ }
+ },
+ "css-selector-tokenizer": {
+ "version": "0.7.0",
+ "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.0.tgz",
+ "integrity": "sha1-5piEdK6MlTR3v15+/s/OzNnPTIY=",
+ "dev": true,
+ "requires": {
+ "cssesc": "^0.1.0",
+ "fastparse": "^1.1.1",
+ "regexpu-core": "^1.0.0"
+ },
+ "dependencies": {
+ "regexpu-core": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-1.0.0.tgz",
+ "integrity": "sha1-hqdj9Y7k18L2sQLkdkBQ3n7ZDGs=",
+ "dev": true,
+ "requires": {
+ "regenerate": "^1.2.1",
+ "regjsgen": "^0.2.0",
+ "regjsparser": "^0.1.4"
+ }
+ }
+ }
+ },
+ "css-what": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.0.tgz",
+ "integrity": "sha1-lGfQMsOM+u+58teVASUwYvh/ob0=",
+ "dev": true
+ },
+ "cssesc": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-0.1.0.tgz",
+ "integrity": "sha1-yBSQPkViM3GgR3tAEJqq++6t27Q=",
+ "dev": true
+ },
+ "cssnano": {
+ "version": "3.10.0",
+ "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-3.10.0.tgz",
+ "integrity": "sha1-Tzj2zqK5sX+gFJDyPx3GjqZcHDg=",
+ "dev": true,
+ "requires": {
+ "autoprefixer": "^6.3.1",
+ "decamelize": "^1.1.2",
+ "defined": "^1.0.0",
+ "has": "^1.0.1",
+ "object-assign": "^4.0.1",
+ "postcss": "^5.0.14",
+ "postcss-calc": "^5.2.0",
+ "postcss-colormin": "^2.1.8",
+ "postcss-convert-values": "^2.3.4",
+ "postcss-discard-comments": "^2.0.4",
+ "postcss-discard-duplicates": "^2.0.1",
+ "postcss-discard-empty": "^2.0.1",
+ "postcss-discard-overridden": "^0.1.1",
+ "postcss-discard-unused": "^2.2.1",
+ "postcss-filter-plugins": "^2.0.0",
+ "postcss-merge-idents": "^2.1.5",
+ "postcss-merge-longhand": "^2.0.1",
+ "postcss-merge-rules": "^2.0.3",
+ "postcss-minify-font-values": "^1.0.2",
+ "postcss-minify-gradients": "^1.0.1",
+ "postcss-minify-params": "^1.0.4",
+ "postcss-minify-selectors": "^2.0.4",
+ "postcss-normalize-charset": "^1.1.0",
+ "postcss-normalize-url": "^3.0.7",
+ "postcss-ordered-values": "^2.1.0",
+ "postcss-reduce-idents": "^2.2.2",
+ "postcss-reduce-initial": "^1.0.0",
+ "postcss-reduce-transforms": "^1.0.3",
+ "postcss-svgo": "^2.1.1",
+ "postcss-unique-selectors": "^2.0.2",
+ "postcss-value-parser": "^3.2.3",
+ "postcss-zindex": "^2.0.1"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
+ "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
+ "dev": true
+ },
+ "autoprefixer": {
+ "version": "6.7.7",
+ "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-6.7.7.tgz",
+ "integrity": "sha1-Hb0cg1ZY41zj+ZhAmdsAWFx4IBQ=",
+ "dev": true,
+ "requires": {
+ "browserslist": "^1.7.6",
+ "caniuse-db": "^1.0.30000634",
+ "normalize-range": "^0.1.2",
+ "num2fraction": "^1.2.2",
+ "postcss": "^5.2.16",
+ "postcss-value-parser": "^3.2.3"
+ }
+ },
+ "browserslist": {
+ "version": "1.7.7",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz",
+ "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=",
+ "dev": true,
+ "requires": {
+ "caniuse-db": "^1.0.30000639",
+ "electron-to-chromium": "^1.2.7"
+ }
+ },
+ "chalk": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^2.2.1",
+ "escape-string-regexp": "^1.0.2",
+ "has-ansi": "^2.0.0",
+ "strip-ansi": "^3.0.0",
+ "supports-color": "^2.0.0"
+ },
+ "dependencies": {
+ "supports-color": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
+ "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+ "dev": true
+ }
+ }
+ },
+ "has-flag": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
+ "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=",
+ "dev": true
+ },
+ "postcss": {
+ "version": "5.2.18",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz",
+ "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==",
+ "dev": true,
+ "requires": {
+ "chalk": "^1.1.3",
+ "js-base64": "^2.1.9",
+ "source-map": "^0.5.6",
+ "supports-color": "^3.2.3"
+ }
+ },
+ "postcss-filter-plugins": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/postcss-filter-plugins/-/postcss-filter-plugins-2.0.3.tgz",
+ "integrity": "sha512-T53GVFsdinJhgwm7rg1BzbeBRomOg9y5MBVhGcsV0CxurUdVj1UlPdKtn7aqYA/c/QVkzKMjq2bSV5dKG5+AwQ==",
+ "dev": true,
+ "requires": {
+ "postcss": "^5.0.4"
+ }
+ },
+ "postcss-merge-longhand": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-2.0.2.tgz",
+ "integrity": "sha1-I9kM0Sewp3mUkVMyc5A0oaTz1lg=",
+ "dev": true,
+ "requires": {
+ "postcss": "^5.0.4"
+ }
+ },
+ "postcss-minify-font-values": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-1.0.5.tgz",
+ "integrity": "sha1-S1jttWZB66fIR0qzUmyv17vey2k=",
+ "dev": true,
+ "requires": {
+ "object-assign": "^4.0.1",
+ "postcss": "^5.0.4",
+ "postcss-value-parser": "^3.0.2"
+ }
+ },
+ "postcss-minify-params": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-1.2.2.tgz",
+ "integrity": "sha1-rSzgcTc7lDs9kwo/pZo1jCjW8fM=",
+ "dev": true,
+ "requires": {
+ "alphanum-sort": "^1.0.1",
+ "postcss": "^5.0.2",
+ "postcss-value-parser": "^3.0.2",
+ "uniqs": "^2.0.0"
+ }
+ },
+ "postcss-normalize-url": {
+ "version": "3.0.8",
+ "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-3.0.8.tgz",
+ "integrity": "sha1-EI90s/L82viRov+j6kWSJ5/HgiI=",
+ "dev": true,
+ "requires": {
+ "is-absolute-url": "^2.0.0",
+ "normalize-url": "^1.4.0",
+ "postcss": "^5.0.14",
+ "postcss-value-parser": "^3.2.3"
+ }
+ },
+ "postcss-reduce-initial": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-1.0.1.tgz",
+ "integrity": "sha1-aPgGlfBF0IJjqHmtJA343WT2ROo=",
+ "dev": true,
+ "requires": {
+ "postcss": "^5.0.4"
+ }
+ },
+ "supports-color": {
+ "version": "3.2.3",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
+ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+ "dev": true,
+ "requires": {
+ "has-flag": "^1.0.0"
+ }
+ }
+ }
+ },
+ "csso": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/csso/-/csso-2.3.2.tgz",
+ "integrity": "sha1-3dUsWHAz9J6Utx/FVWnyUuj/X4U=",
+ "dev": true,
+ "requires": {
+ "clap": "^1.0.9",
+ "source-map": "^0.5.3"
+ }
+ },
+ "csstype": {
+ "version": "2.5.6",
+ "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.5.6.tgz",
+ "integrity": "sha512-tKPyhy0FmfYD2KQYXD5GzkvAYLYj96cMLXr648CKGd3wBe0QqoPipImjGiLze9c8leJK8J3n7ap90tpk3E6HGQ==",
+ "dev": true
+ },
+ "cuint": {
+ "version": "0.2.2",
+ "resolved": "https://registry.npmjs.org/cuint/-/cuint-0.2.2.tgz",
+ "integrity": "sha1-QICG1AlVDCYxFVYZ6fp7ytw7mRs=",
+ "dev": true
+ },
+ "currently-unhandled": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz",
+ "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=",
+ "dev": true,
+ "requires": {
+ "array-find-index": "^1.0.1"
+ }
+ },
+ "cyclist": {
+ "version": "0.2.2",
+ "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-0.2.2.tgz",
+ "integrity": "sha1-GzN5LhHpFKL9bW7WRHRkRE5fpkA=",
+ "dev": true
+ },
+ "d": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/d/-/d-1.0.0.tgz",
+ "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=",
+ "dev": true,
+ "requires": {
+ "es5-ext": "^0.10.9"
+ },
+ "dependencies": {
+ "es5-ext": {
+ "version": "0.10.45",
+ "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.45.tgz",
+ "integrity": "sha512-FkfM6Vxxfmztilbxxz5UKSD4ICMf5tSpRFtDNtkAhOxZ0EKtX6qwmXNyH/sFyIbX2P/nU5AMiA9jilWsUGJzCQ==",
+ "dev": true,
+ "requires": {
+ "es6-iterator": "~2.0.3",
+ "es6-symbol": "~3.1.1",
+ "next-tick": "1"
+ }
+ }
+ }
+ },
+ "dashdash": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
+ "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
+ "dev": true,
+ "requires": {
+ "assert-plus": "^1.0.0"
+ }
+ },
+ "date-now": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz",
+ "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=",
+ "dev": true
+ },
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "decamelize": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
+ "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=",
+ "dev": true
+ },
+ "decode-uri-component": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz",
+ "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=",
+ "dev": true
+ },
+ "deep-equal": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz",
+ "integrity": "sha1-9dJgKStmDghO/0zbyfCK0yR0SLU=",
+ "dev": true
+ },
+ "deep-is": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz",
+ "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=",
+ "dev": true
+ },
+ "define-properties": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.2.tgz",
+ "integrity": "sha1-g6c/L+pWmJj7c3GTyPhzyvbUXJQ=",
+ "dev": true,
+ "requires": {
+ "foreach": "^2.0.5",
+ "object-keys": "^1.0.8"
+ }
+ },
+ "define-property": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
+ "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "^1.0.2",
+ "isobject": "^3.0.1"
+ },
+ "dependencies": {
+ "is-accessor-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
+ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^6.0.0"
+ }
+ },
+ "is-data-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
+ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^6.0.0"
+ }
+ },
+ "is-descriptor": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
+ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
+ "dev": true,
+ "requires": {
+ "is-accessor-descriptor": "^1.0.0",
+ "is-data-descriptor": "^1.0.0",
+ "kind-of": "^6.0.2"
+ }
+ }
+ }
+ },
+ "defined": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz",
+ "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=",
+ "dev": true
+ },
+ "del": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/del/-/del-3.0.0.tgz",
+ "integrity": "sha1-U+z2mf/LyzljdpGrE7rxYIGXZuU=",
+ "dev": true,
+ "requires": {
+ "globby": "^6.1.0",
+ "is-path-cwd": "^1.0.0",
+ "is-path-in-cwd": "^1.0.0",
+ "p-map": "^1.1.1",
+ "pify": "^3.0.0",
+ "rimraf": "^2.2.8"
+ },
+ "dependencies": {
+ "globby": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz",
+ "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=",
+ "dev": true,
+ "requires": {
+ "array-union": "^1.0.1",
+ "glob": "^7.0.3",
+ "object-assign": "^4.0.1",
+ "pify": "^2.0.0",
+ "pinkie-promise": "^2.0.0"
+ },
+ "dependencies": {
+ "pify": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+ "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
+ "dev": true
+ }
+ }
+ }
+ }
+ },
+ "delayed-stream": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
+ "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=",
+ "dev": true
+ },
+ "delegate": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/delegate/-/delegate-3.2.0.tgz",
+ "integrity": "sha512-IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw==",
+ "dev": true,
+ "optional": true
+ },
+ "delegates": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz",
+ "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=",
+ "dev": true
+ },
+ "delete": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/delete/-/delete-1.1.0.tgz",
+ "integrity": "sha512-bdhJatRNYsJnOhSRx9Eej3ABBtxQQw/uz2RprpYL5R3jCC2XMYVBcQWwvQLl+iNDk4LCLEKhdIP3uZSqRWi/tw==",
+ "dev": true,
+ "requires": {
+ "async-each": "^1.0.1",
+ "extend-shallow": "^2.0.1",
+ "matched": "^1.0.2",
+ "rimraf": "^2.6.1"
+ },
+ "dependencies": {
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "dev": true,
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ }
+ }
+ },
+ "depd": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
+ "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=",
+ "dev": true
+ },
+ "des.js": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz",
+ "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=",
+ "dev": true,
+ "requires": {
+ "inherits": "^2.0.1",
+ "minimalistic-assert": "^1.0.0"
+ }
+ },
+ "destroy": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz",
+ "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=",
+ "dev": true
+ },
+ "detect-indent": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz",
+ "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=",
+ "dev": true,
+ "requires": {
+ "repeating": "^2.0.0"
+ }
+ },
+ "detect-node": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.3.tgz",
+ "integrity": "sha1-ogM8CcyOFY03dI+951B4Mr1s4Sc=",
+ "dev": true
+ },
+ "detect-port-alt": {
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.5.tgz",
+ "integrity": "sha512-PlE9BuBz44BSDV8sJvfUxkGquPcDW4oHSYa5wY4yKj943C2I4xNU5Gd/EFroqdWNur7W6yU2zOLqvmKJCB//aA==",
+ "dev": true,
+ "requires": {
+ "address": "^1.0.1",
+ "debug": "^2.6.0"
+ }
+ },
+ "diff": {
+ "version": "3.5.0",
+ "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz",
+ "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==",
+ "dev": true
+ },
+ "diffie-hellman": {
+ "version": "5.0.3",
+ "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz",
+ "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==",
+ "dev": true,
+ "requires": {
+ "bn.js": "^4.1.0",
+ "miller-rabin": "^4.0.0",
+ "randombytes": "^2.0.0"
+ }
+ },
+ "dir-glob": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.0.0.tgz",
+ "integrity": "sha512-37qirFDz8cA5fimp9feo43fSuRo2gHwaIn6dXL8Ber1dGwUosDrGZeCCXq57WnIqE4aQ+u3eQZzsk1yOzhdwag==",
+ "dev": true,
+ "requires": {
+ "arrify": "^1.0.1",
+ "path-type": "^3.0.0"
+ }
+ },
+ "dns-equal": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz",
+ "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=",
+ "dev": true
+ },
+ "dns-packet": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.1.tgz",
+ "integrity": "sha512-0UxfQkMhYAUaZI+xrNZOz/as5KgDU0M/fQ9b6SpkyLbk3GEswDi6PADJVaYJradtRVsRIlF1zLyOodbcTCDzUg==",
+ "dev": true,
+ "requires": {
+ "ip": "^1.1.0",
+ "safe-buffer": "^5.0.1"
+ }
+ },
+ "dns-txt": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz",
+ "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=",
+ "dev": true,
+ "requires": {
+ "buffer-indexof": "^1.0.0"
+ }
+ },
+ "dom-converter": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.1.4.tgz",
+ "integrity": "sha1-pF71cnuJDJv/5tfIduexnLDhfzs=",
+ "dev": true,
+ "requires": {
+ "utila": "~0.3"
+ },
+ "dependencies": {
+ "utila": {
+ "version": "0.3.3",
+ "resolved": "https://registry.npmjs.org/utila/-/utila-0.3.3.tgz",
+ "integrity": "sha1-1+jn1+MJEHCSsF+NloiCTWM6QiY=",
+ "dev": true
+ }
+ }
+ },
+ "dom-helpers": {
+ "version": "3.3.1",
+ "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-3.3.1.tgz",
+ "integrity": "sha512-2Sm+JaYn74OiTM2wHvxJOo3roiq/h25Yi69Fqk269cNUwIXsCvATB6CRSFC9Am/20G2b28hGv/+7NiWydIrPvg==",
+ "dev": true
+ },
+ "dom-serializer": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz",
+ "integrity": "sha1-BzxpdUbOB4DOI75KKOKT5AvDDII=",
+ "dev": true,
+ "requires": {
+ "domelementtype": "~1.1.1",
+ "entities": "~1.1.1"
+ },
+ "dependencies": {
+ "domelementtype": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz",
+ "integrity": "sha1-vSh3PiZCiBrsUVRJJCmcXNgiGFs=",
+ "dev": true
+ }
+ }
+ },
+ "domain-browser": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz",
+ "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==",
+ "dev": true
+ },
+ "domelementtype": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.0.tgz",
+ "integrity": "sha1-sXrtguirWeUt2cGbF1bg/BhyBMI=",
+ "dev": true
+ },
+ "domhandler": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.1.0.tgz",
+ "integrity": "sha1-0mRvXlf2w7qxHPbLBdPArPdBJZQ=",
+ "dev": true,
+ "requires": {
+ "domelementtype": "1"
+ }
+ },
+ "domutils": {
+ "version": "1.5.1",
+ "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz",
+ "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=",
+ "dev": true,
+ "requires": {
+ "dom-serializer": "0",
+ "domelementtype": "1"
+ }
+ },
+ "dotenv": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-5.0.1.tgz",
+ "integrity": "sha512-4As8uPrjfwb7VXC+WnLCbXK7y+Ueb2B3zgNCePYfhxS1PYeaO1YTeplffTEcbfLhvFNGLAz90VvJs9yomG7bow==",
+ "dev": true
+ },
+ "dotenv-webpack": {
+ "version": "1.5.7",
+ "resolved": "https://registry.npmjs.org/dotenv-webpack/-/dotenv-webpack-1.5.7.tgz",
+ "integrity": "sha1-xEOVqyHR/SjXmpCUKnsUsd69FF8=",
+ "dev": true,
+ "requires": {
+ "dotenv": "^5.0.1"
+ }
+ },
+ "duplexer": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz",
+ "integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=",
+ "dev": true
+ },
+ "duplexify": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.6.0.tgz",
+ "integrity": "sha512-fO3Di4tBKJpYTFHAxTU00BcfWMY9w24r/x21a6rZRbsD/ToUgGxsMbiGRmB7uVAXeGKXD9MwiLZa5E97EVgIRQ==",
+ "dev": true,
+ "requires": {
+ "end-of-stream": "^1.0.0",
+ "inherits": "^2.0.1",
+ "readable-stream": "^2.0.0",
+ "stream-shift": "^1.0.0"
+ }
+ },
+ "ecc-jsbn": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
+ "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "jsbn": "~0.1.0",
+ "safer-buffer": "^2.1.0"
+ }
+ },
+ "ee-first": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
+ "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=",
+ "dev": true
+ },
+ "ejs": {
+ "version": "2.6.1",
+ "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.6.1.tgz",
+ "integrity": "sha512-0xy4A/twfrRCnkhfk8ErDi5DqdAsAqeGxht4xkCUrsvhhbQNs7E+4jV0CN7+NKIY0aHE72+XvqtBIXzD31ZbXQ==",
+ "dev": true
+ },
+ "electron-to-chromium": {
+ "version": "1.3.55",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.55.tgz",
+ "integrity": "sha1-8VDhCyC3fZ1Br8yjEu/gw7Gn/c4=",
+ "dev": true
+ },
+ "emojis-list": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz",
+ "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=",
+ "dev": true
+ },
+ "emotion": {
+ "version": "9.2.6",
+ "resolved": "https://registry.npmjs.org/emotion/-/emotion-9.2.6.tgz",
+ "integrity": "sha512-95/EiWkADklxyy1y1qlJeX5Cepa7WfpJBJSBgbLkDCBzOnP4maluvz52xcV5UaObBTfVnEBq77Go6/bgF7+xaA==",
+ "dev": true,
+ "requires": {
+ "babel-plugin-emotion": "^9.2.6",
+ "create-emotion": "^9.2.6"
+ }
+ },
+ "encodeurl": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
+ "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=",
+ "dev": true
+ },
+ "encoding": {
+ "version": "0.1.12",
+ "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz",
+ "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=",
+ "dev": true,
+ "requires": {
+ "iconv-lite": "~0.4.13"
+ },
+ "dependencies": {
+ "iconv-lite": {
+ "version": "0.4.23",
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz",
+ "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==",
+ "dev": true,
+ "requires": {
+ "safer-buffer": ">= 2.1.2 < 3"
+ }
+ }
+ }
+ },
+ "end-of-stream": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz",
+ "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==",
+ "dev": true,
+ "requires": {
+ "once": "^1.4.0"
+ }
+ },
+ "enhanced-resolve": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.1.0.tgz",
+ "integrity": "sha512-F/7vkyTtyc/llOIn8oWclcB25KdRaiPBpZYDgJHgh/UHtpgT2p2eldQgtQnLtUvfMKPKxbRaQM/hHkvLHt1Vng==",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.1.2",
+ "memory-fs": "^0.4.0",
+ "tapable": "^1.0.0"
+ }
+ },
+ "entities": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.1.tgz",
+ "integrity": "sha1-blwtClYhtdra7O+AuQ7ftc13cvA=",
+ "dev": true
+ },
+ "errno": {
+ "version": "0.1.7",
+ "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz",
+ "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==",
+ "dev": true,
+ "requires": {
+ "prr": "~1.0.1"
+ }
+ },
+ "error-ex": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
+ "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
+ "dev": true,
+ "requires": {
+ "is-arrayish": "^0.2.1"
+ }
+ },
+ "es-abstract": {
+ "version": "1.12.0",
+ "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.12.0.tgz",
+ "integrity": "sha512-C8Fx/0jFmV5IPoMOFPA9P9G5NtqW+4cOPit3MIuvR2t7Ag2K15EJTpxnHAYTzL+aYQJIESYeXZmDBfOBE1HcpA==",
+ "dev": true,
+ "requires": {
+ "es-to-primitive": "^1.1.1",
+ "function-bind": "^1.1.1",
+ "has": "^1.0.1",
+ "is-callable": "^1.1.3",
+ "is-regex": "^1.0.4"
+ }
+ },
+ "es-to-primitive": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.1.1.tgz",
+ "integrity": "sha1-RTVSSKiJeQNLZ5Lhm7gfK3l13Q0=",
+ "dev": true,
+ "requires": {
+ "is-callable": "^1.1.1",
+ "is-date-object": "^1.0.1",
+ "is-symbol": "^1.0.1"
+ }
+ },
+ "es5-shim": {
+ "version": "4.5.10",
+ "resolved": "https://registry.npmjs.org/es5-shim/-/es5-shim-4.5.10.tgz",
+ "integrity": "sha512-vmryBdqKRO8Ei9LJ4yyEk/EOmAOGIagcHDYPpTAi6pot4IMHS1AC2q5cTKPmydpijg2iX8DVmCuqgrNxIWj8Yg==",
+ "dev": true
+ },
+ "es6-iterator": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz",
+ "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=",
+ "dev": true,
+ "requires": {
+ "d": "1",
+ "es5-ext": "^0.10.35",
+ "es6-symbol": "^3.1.1"
+ },
+ "dependencies": {
+ "es5-ext": {
+ "version": "0.10.45",
+ "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.45.tgz",
+ "integrity": "sha512-FkfM6Vxxfmztilbxxz5UKSD4ICMf5tSpRFtDNtkAhOxZ0EKtX6qwmXNyH/sFyIbX2P/nU5AMiA9jilWsUGJzCQ==",
+ "dev": true,
+ "requires": {
+ "es6-iterator": "~2.0.3",
+ "es6-symbol": "~3.1.1",
+ "next-tick": "1"
+ }
+ }
+ }
+ },
+ "es6-promise": {
+ "version": "4.2.4",
+ "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.4.tgz",
+ "integrity": "sha512-/NdNZVJg+uZgtm9eS3O6lrOLYmQag2DjdEXuPaHlZ6RuVqgqaVZfgYCepEIKsLqwdQArOPtC3XzRLqGGfT8KQQ==",
+ "dev": true
+ },
+ "es6-promisify": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz",
+ "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=",
+ "dev": true,
+ "requires": {
+ "es6-promise": "^4.0.3"
+ }
+ },
+ "es6-shim": {
+ "version": "0.35.3",
+ "resolved": "https://registry.npmjs.org/es6-shim/-/es6-shim-0.35.3.tgz",
+ "integrity": "sha1-m/tzY/7//4emzbbNk+QF7DxLbyY=",
+ "dev": true
+ },
+ "es6-symbol": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz",
+ "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=",
+ "dev": true,
+ "requires": {
+ "d": "1",
+ "es5-ext": "~0.10.14"
+ },
+ "dependencies": {
+ "es5-ext": {
+ "version": "0.10.45",
+ "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.45.tgz",
+ "integrity": "sha512-FkfM6Vxxfmztilbxxz5UKSD4ICMf5tSpRFtDNtkAhOxZ0EKtX6qwmXNyH/sFyIbX2P/nU5AMiA9jilWsUGJzCQ==",
+ "dev": true,
+ "requires": {
+ "es6-iterator": "~2.0.3",
+ "es6-symbol": "~3.1.1",
+ "next-tick": "1"
+ }
+ }
+ }
+ },
+ "escape-html": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
+ "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=",
+ "dev": true
+ },
+ "escape-string-regexp": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+ "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
+ "dev": true
+ },
+ "escodegen": {
+ "version": "1.8.1",
+ "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.8.1.tgz",
+ "integrity": "sha1-WltTr0aTEQvrsIZ6o0MN07cKEBg=",
+ "dev": true,
+ "requires": {
+ "esprima": "^2.7.1",
+ "estraverse": "^1.9.1",
+ "esutils": "^2.0.2",
+ "optionator": "^0.8.1",
+ "source-map": "~0.2.0"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.2.0.tgz",
+ "integrity": "sha1-2rc/vPwrqBm03gO9b26qSBZLP50=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "amdefine": ">=0.0.4"
+ }
+ }
+ }
+ },
+ "eslint-scope": {
+ "version": "3.7.3",
+ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-3.7.3.tgz",
+ "integrity": "sha512-W+B0SvF4gamyCTmUc+uITPY0989iXVfKvhwtmJocTaYoc/3khEHmEmvfY/Gn9HA9VV75jrQECsHizkNw1b68FA==",
+ "dev": true,
+ "requires": {
+ "esrecurse": "^4.1.0",
+ "estraverse": "^4.1.1"
+ },
+ "dependencies": {
+ "estraverse": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz",
+ "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=",
+ "dev": true
+ }
+ }
+ },
+ "esprima": {
+ "version": "2.7.3",
+ "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz",
+ "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=",
+ "dev": true
+ },
+ "esrecurse": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz",
+ "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==",
+ "dev": true,
+ "requires": {
+ "estraverse": "^4.1.0"
+ },
+ "dependencies": {
+ "estraverse": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz",
+ "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=",
+ "dev": true
+ }
+ }
+ },
+ "estraverse": {
+ "version": "1.9.3",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.9.3.tgz",
+ "integrity": "sha1-r2fy3JIlgkFZUJJgkaQAXSnJu0Q=",
+ "dev": true
+ },
+ "esutils": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz",
+ "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=",
+ "dev": true
+ },
+ "etag": {
+ "version": "1.8.1",
+ "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
+ "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=",
+ "dev": true
+ },
+ "eventemitter3": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.0.tgz",
+ "integrity": "sha512-ivIvhpq/Y0uSjcHDcOIccjmYjGLcP09MFGE7ysAwkAvkXfpZlC985pH2/ui64DKazbTW/4kN3yqozUxlXzI6cA==",
+ "dev": true
+ },
+ "events": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz",
+ "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=",
+ "dev": true
+ },
+ "eventsource": {
+ "version": "0.1.6",
+ "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-0.1.6.tgz",
+ "integrity": "sha1-Cs7ehJ7X3RzMMsgRuxG5RNTykjI=",
+ "dev": true,
+ "requires": {
+ "original": ">=0.0.5"
+ }
+ },
+ "evp_bytestokey": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz",
+ "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==",
+ "dev": true,
+ "requires": {
+ "md5.js": "^1.3.4",
+ "safe-buffer": "^5.1.1"
+ }
+ },
+ "execa": {
+ "version": "0.7.0",
+ "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz",
+ "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=",
+ "dev": true,
+ "requires": {
+ "cross-spawn": "^5.0.1",
+ "get-stream": "^3.0.0",
+ "is-stream": "^1.1.0",
+ "npm-run-path": "^2.0.0",
+ "p-finally": "^1.0.0",
+ "signal-exit": "^3.0.0",
+ "strip-eof": "^1.0.0"
+ },
+ "dependencies": {
+ "cross-spawn": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz",
+ "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=",
+ "dev": true,
+ "requires": {
+ "lru-cache": "^4.0.1",
+ "shebang-command": "^1.2.0",
+ "which": "^1.2.9"
+ }
+ }
+ }
+ },
+ "exenv": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/exenv/-/exenv-1.2.2.tgz",
+ "integrity": "sha1-KueOhdmJQVhnCwPUe+wfA72Ru50=",
+ "dev": true
+ },
+ "expand-brackets": {
+ "version": "2.1.4",
+ "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
+ "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=",
+ "dev": true,
+ "requires": {
+ "debug": "^2.3.3",
+ "define-property": "^0.2.5",
+ "extend-shallow": "^2.0.1",
+ "posix-character-classes": "^0.1.0",
+ "regex-not": "^1.0.0",
+ "snapdragon": "^0.8.1",
+ "to-regex": "^3.0.1"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "^0.1.0"
+ }
+ },
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "dev": true,
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ },
+ "snapdragon": {
+ "version": "0.8.2",
+ "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz",
+ "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==",
+ "dev": true,
+ "requires": {
+ "base": "^0.11.1",
+ "debug": "^2.2.0",
+ "define-property": "^0.2.5",
+ "extend-shallow": "^2.0.1",
+ "map-cache": "^0.2.2",
+ "source-map": "^0.5.6",
+ "source-map-resolve": "^0.5.0",
+ "use": "^3.1.0"
+ }
+ }
+ }
+ },
+ "expand-range": {
+ "version": "1.8.2",
+ "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz",
+ "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=",
+ "dev": true,
+ "requires": {
+ "fill-range": "^2.1.0"
+ },
+ "dependencies": {
+ "fill-range": {
+ "version": "2.2.4",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.4.tgz",
+ "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==",
+ "dev": true,
+ "requires": {
+ "is-number": "^2.1.0",
+ "isobject": "^2.0.0",
+ "randomatic": "^3.0.0",
+ "repeat-element": "^1.1.2",
+ "repeat-string": "^1.5.2"
+ }
+ },
+ "is-number": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz",
+ "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=",
+ "dev": true,
+ "requires": {
+ "kind-of": "^3.0.2"
+ }
+ },
+ "isobject": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
+ "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
+ "dev": true,
+ "requires": {
+ "isarray": "1.0.0"
+ }
+ },
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "expand-tilde": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz",
+ "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=",
+ "dev": true,
+ "requires": {
+ "homedir-polyfill": "^1.0.1"
+ }
+ },
+ "extend": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
+ "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
+ "dev": true
+ },
+ "extend-shallow": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
+ "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
+ "dev": true,
+ "requires": {
+ "assign-symbols": "^1.0.0",
+ "is-extendable": "^1.0.1"
+ },
+ "dependencies": {
+ "is-extendable": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
+ "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
+ "dev": true,
+ "requires": {
+ "is-plain-object": "^2.0.4"
+ }
+ }
+ }
+ },
+ "external-editor": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-2.2.0.tgz",
+ "integrity": "sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==",
+ "dev": true,
+ "requires": {
+ "chardet": "^0.4.0",
+ "iconv-lite": "^0.4.17",
+ "tmp": "^0.0.33"
+ },
+ "dependencies": {
+ "iconv-lite": {
+ "version": "0.4.23",
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz",
+ "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==",
+ "dev": true,
+ "requires": {
+ "safer-buffer": ">= 2.1.2 < 3"
+ }
+ }
+ }
+ },
+ "extglob": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
+ "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==",
+ "dev": true,
+ "requires": {
+ "array-unique": "^0.3.2",
+ "define-property": "^1.0.0",
+ "expand-brackets": "^2.1.4",
+ "extend-shallow": "^2.0.1",
+ "fragment-cache": "^0.2.1",
+ "regex-not": "^1.0.0",
+ "snapdragon": "^0.8.1",
+ "to-regex": "^3.0.1"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
+ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "^1.0.0"
+ }
+ },
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "dev": true,
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ },
+ "is-accessor-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
+ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^6.0.0"
+ }
+ },
+ "is-data-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
+ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^6.0.0"
+ }
+ },
+ "is-descriptor": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
+ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
+ "dev": true,
+ "requires": {
+ "is-accessor-descriptor": "^1.0.0",
+ "is-data-descriptor": "^1.0.0",
+ "kind-of": "^6.0.2"
+ }
+ },
+ "snapdragon": {
+ "version": "0.8.2",
+ "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz",
+ "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==",
+ "dev": true,
+ "requires": {
+ "base": "^0.11.1",
+ "debug": "^2.2.0",
+ "define-property": "^0.2.5",
+ "extend-shallow": "^2.0.1",
+ "map-cache": "^0.2.2",
+ "source-map": "^0.5.6",
+ "source-map-resolve": "^0.5.0",
+ "use": "^3.1.0"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "^0.1.0"
+ }
+ },
+ "is-accessor-descriptor": {
+ "version": "0.1.6",
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
+ "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
+ "dev": true,
+ "requires": {
+ "kind-of": "^3.0.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "is-data-descriptor": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
+ "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
+ "dev": true,
+ "requires": {
+ "kind-of": "^3.0.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "is-descriptor": {
+ "version": "0.1.6",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
+ "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
+ "dev": true,
+ "requires": {
+ "is-accessor-descriptor": "^0.1.6",
+ "is-data-descriptor": "^0.1.4",
+ "kind-of": "^5.0.0"
+ }
+ },
+ "kind-of": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
+ "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
+ "dev": true
+ }
+ }
+ }
+ }
+ },
+ "extract-zip": {
+ "version": "1.6.7",
+ "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.6.7.tgz",
+ "integrity": "sha1-qEC0uK9kAyZMjbV/Txp0Mz74H+k=",
+ "dev": true,
+ "requires": {
+ "concat-stream": "1.6.2",
+ "debug": "2.6.9",
+ "mkdirp": "0.5.1",
+ "yauzl": "2.4.1"
+ }
+ },
+ "extsprintf": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
+ "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=",
+ "dev": true
+ },
+ "fast-deep-equal": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz",
+ "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=",
+ "dev": true
+ },
+ "fast-glob": {
+ "version": "2.2.2",
+ "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.2.tgz",
+ "integrity": "sha512-TR6zxCKftDQnUAPvkrCWdBgDq/gbqx8A3ApnBrR5rMvpp6+KMJI0Igw7fkWPgeVK0uhRXTXdvO3O+YP0CaUX2g==",
+ "dev": true,
+ "requires": {
+ "@mrmlnc/readdir-enhanced": "^2.2.1",
+ "@nodelib/fs.stat": "^1.0.1",
+ "glob-parent": "^3.1.0",
+ "is-glob": "^4.0.0",
+ "merge2": "^1.2.1",
+ "micromatch": "^3.1.10"
+ },
+ "dependencies": {
+ "@mrmlnc/readdir-enhanced": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz",
+ "integrity": "sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==",
+ "dev": true,
+ "requires": {
+ "call-me-maybe": "^1.0.1",
+ "glob-to-regexp": "^0.3.0"
+ }
+ }
+ }
+ },
+ "fast-levenshtein": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
+ "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=",
+ "dev": true
+ },
+ "fastparse": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.1.tgz",
+ "integrity": "sha1-0eJkOzipTXWDtHkGDmxK/8lAcfg=",
+ "dev": true
+ },
+ "fault": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/fault/-/fault-1.0.2.tgz",
+ "integrity": "sha512-o2eo/X2syzzERAtN5LcGbiVQ0WwZSlN3qLtadwAz3X8Bu+XWD16dja/KMsjZLiQr+BLGPDnHGkc4yUJf1Xpkpw==",
+ "dev": true,
+ "requires": {
+ "format": "^0.2.2"
+ }
+ },
+ "fbjs": {
+ "version": "0.8.17",
+ "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.17.tgz",
+ "integrity": "sha1-xNWY6taUkRJlPWWIsBpc3Nn5D90=",
+ "dev": true,
+ "requires": {
+ "core-js": "^1.0.0",
+ "isomorphic-fetch": "^2.1.1",
+ "loose-envify": "^1.0.0",
+ "object-assign": "^4.1.0",
+ "promise": "^7.1.1",
+ "setimmediate": "^1.0.5",
+ "ua-parser-js": "^0.7.18"
+ },
+ "dependencies": {
+ "core-js": {
+ "version": "1.2.7",
+ "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz",
+ "integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY=",
+ "dev": true
+ },
+ "promise": {
+ "version": "7.3.1",
+ "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz",
+ "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==",
+ "dev": true,
+ "requires": {
+ "asap": "~2.0.3"
+ }
+ }
+ }
+ },
+ "fd-slicer": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.0.1.tgz",
+ "integrity": "sha1-i1vL2ewyfFBBv5qwI/1nUPEXfmU=",
+ "dev": true,
+ "requires": {
+ "pend": "~1.2.0"
+ }
+ },
+ "figures": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz",
+ "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=",
+ "dev": true,
+ "requires": {
+ "escape-string-regexp": "^1.0.5"
+ }
+ },
+ "file-loader": {
+ "version": "1.1.11",
+ "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-1.1.11.tgz",
+ "integrity": "sha512-TGR4HU7HUsGg6GCOPJnFk06RhWgEWFLAGWiT6rcD+GRC2keU3s9RGJ+b3Z6/U73jwwNb2gKLJ7YCrp+jvU4ALg==",
+ "dev": true,
+ "requires": {
+ "loader-utils": "^1.0.2",
+ "schema-utils": "^0.4.5"
+ }
+ },
+ "filename-regex": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz",
+ "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=",
+ "dev": true
+ },
+ "filesize": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/filesize/-/filesize-3.6.0.tgz",
+ "integrity": "sha512-g5OWtoZWcPI56js1DFhIEqyG9tnu/7sG3foHwgS9KGYFMfsYguI3E+PRVCmtmE96VajQIEMRU2OhN+ME589Gdw==",
+ "dev": true
+ },
+ "fill-range": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
+ "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
+ "dev": true,
+ "requires": {
+ "extend-shallow": "^2.0.1",
+ "is-number": "^3.0.0",
+ "repeat-string": "^1.6.1",
+ "to-regex-range": "^2.1.0"
+ },
+ "dependencies": {
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "dev": true,
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ }
+ }
+ },
+ "finalhandler": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.1.tgz",
+ "integrity": "sha512-Y1GUDo39ez4aHAw7MysnUD5JzYX+WaIj8I57kO3aEPT1fFRL4sr7mjei97FgnwhAyyzRYmQZaTHb2+9uZ1dPtg==",
+ "dev": true,
+ "requires": {
+ "debug": "2.6.9",
+ "encodeurl": "~1.0.2",
+ "escape-html": "~1.0.3",
+ "on-finished": "~2.3.0",
+ "parseurl": "~1.3.2",
+ "statuses": "~1.4.0",
+ "unpipe": "~1.0.0"
+ }
+ },
+ "find-cache-dir": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-1.0.0.tgz",
+ "integrity": "sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=",
+ "dev": true,
+ "requires": {
+ "commondir": "^1.0.1",
+ "make-dir": "^1.0.0",
+ "pkg-dir": "^2.0.0"
+ }
+ },
+ "find-file-up": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/find-file-up/-/find-file-up-1.0.2.tgz",
+ "integrity": "sha1-TVNmS8Eoz3k5AUl/SxNVjZeXVco=",
+ "dev": true,
+ "requires": {
+ "resolve-dir": "^1.0.0"
+ }
+ },
+ "find-pkg": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/find-pkg/-/find-pkg-1.0.0.tgz",
+ "integrity": "sha1-ltskLgAcfFUCXTIhMwLqOrpncXc=",
+ "dev": true,
+ "requires": {
+ "find-file-up": "^1.0.2"
+ }
+ },
+ "find-root": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz",
+ "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==",
+ "dev": true
+ },
+ "find-up": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
+ "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=",
+ "dev": true,
+ "requires": {
+ "locate-path": "^2.0.0"
+ }
+ },
+ "flatten": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/flatten/-/flatten-1.0.2.tgz",
+ "integrity": "sha1-2uRqnXj74lKSJYzB54CkHZXAN4I=",
+ "dev": true
+ },
+ "flush-write-stream": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.0.3.tgz",
+ "integrity": "sha512-calZMC10u0FMUqoiunI2AiGIIUtUIvifNwkHhNupZH4cbNnW1Itkoh/Nf5HFYmDrwWPjrUxpkZT0KhuCq0jmGw==",
+ "dev": true,
+ "requires": {
+ "inherits": "^2.0.1",
+ "readable-stream": "^2.0.4"
+ }
+ },
+ "follow-redirects": {
+ "version": "1.5.2",
+ "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.2.tgz",
+ "integrity": "sha512-kssLorP/9acIdpQ2udQVTiCS5LQmdEz9mvdIfDcl1gYX2tPKFADHSyFdvJS040XdFsPzemWtgI3q8mFVCxtX8A==",
+ "dev": true,
+ "requires": {
+ "debug": "^3.1.0"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
+ "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
+ }
+ }
+ },
+ "for-in": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
+ "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=",
+ "dev": true
+ },
+ "for-own": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz",
+ "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=",
+ "dev": true,
+ "requires": {
+ "for-in": "^1.0.1"
+ }
+ },
+ "foreach": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz",
+ "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=",
+ "dev": true
+ },
+ "forever-agent": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
+ "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=",
+ "dev": true
+ },
+ "form-data": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.2.tgz",
+ "integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=",
+ "dev": true,
+ "requires": {
+ "asynckit": "^0.4.0",
+ "combined-stream": "1.0.6",
+ "mime-types": "^2.1.12"
+ }
+ },
+ "format": {
+ "version": "0.2.2",
+ "resolved": "https://registry.npmjs.org/format/-/format-0.2.2.tgz",
+ "integrity": "sha1-1hcBB+nv3E7TDJ3DkBbflCtctYs=",
+ "dev": true
+ },
+ "forwarded": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz",
+ "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=",
+ "dev": true
+ },
+ "fragment-cache": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
+ "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=",
+ "dev": true,
+ "requires": {
+ "map-cache": "^0.2.2"
+ }
+ },
+ "fresh": {
+ "version": "0.5.2",
+ "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
+ "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=",
+ "dev": true
+ },
+ "from2": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz",
+ "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=",
+ "dev": true,
+ "requires": {
+ "inherits": "^2.0.1",
+ "readable-stream": "^2.0.0"
+ }
+ },
+ "fs-write-stream-atomic": {
+ "version": "1.0.10",
+ "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz",
+ "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.1.2",
+ "iferr": "^0.1.5",
+ "imurmurhash": "^0.1.4",
+ "readable-stream": "1 || 2"
+ }
+ },
+ "fs.realpath": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
+ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
+ "dev": true
+ },
+ "fsevents": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.4.tgz",
+ "integrity": "sha512-z8H8/diyk76B7q5wg+Ud0+CqzcAF3mBBI/bA5ne5zrRUUIvNkJY//D3BqyH571KuAC4Nr7Rw7CjWX4r0y9DvNg==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "nan": "^2.9.2",
+ "node-pre-gyp": "^0.10.0"
+ },
+ "dependencies": {
+ "abbrev": {
+ "version": "1.1.1",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "ansi-regex": {
+ "version": "2.1.1",
+ "bundled": true,
+ "dev": true
+ },
+ "aproba": {
+ "version": "1.2.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "are-we-there-yet": {
+ "version": "1.1.4",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "delegates": "^1.0.0",
+ "readable-stream": "^2.0.6"
+ }
+ },
+ "balanced-match": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true
+ },
+ "brace-expansion": {
+ "version": "1.1.11",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "chownr": {
+ "version": "1.0.1",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "code-point-at": {
+ "version": "1.1.0",
+ "bundled": true,
+ "dev": true
+ },
+ "concat-map": {
+ "version": "0.0.1",
+ "bundled": true,
+ "dev": true
+ },
+ "console-control-strings": {
+ "version": "1.1.0",
+ "bundled": true,
+ "dev": true
+ },
+ "core-util-is": {
+ "version": "1.0.2",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "debug": {
+ "version": "2.6.9",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "deep-extend": {
+ "version": "0.5.1",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "delegates": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "detect-libc": {
+ "version": "1.0.3",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "fs-minipass": {
+ "version": "1.2.5",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "minipass": "^2.2.1"
+ }
+ },
+ "fs.realpath": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "gauge": {
+ "version": "2.7.4",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "aproba": "^1.0.3",
+ "console-control-strings": "^1.0.0",
+ "has-unicode": "^2.0.0",
+ "object-assign": "^4.1.0",
+ "signal-exit": "^3.0.0",
+ "string-width": "^1.0.1",
+ "strip-ansi": "^3.0.1",
+ "wide-align": "^1.1.0"
+ }
+ },
+ "glob": {
+ "version": "7.1.2",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.0.4",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ }
+ },
+ "has-unicode": {
+ "version": "2.0.1",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "iconv-lite": {
+ "version": "0.4.21",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "safer-buffer": "^2.1.0"
+ }
+ },
+ "ignore-walk": {
+ "version": "3.0.1",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "minimatch": "^3.0.4"
+ }
+ },
+ "inflight": {
+ "version": "1.0.6",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "once": "^1.3.0",
+ "wrappy": "1"
+ }
+ },
+ "inherits": {
+ "version": "2.0.3",
+ "bundled": true,
+ "dev": true
+ },
+ "ini": {
+ "version": "1.3.5",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "is-fullwidth-code-point": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "number-is-nan": "^1.0.0"
+ }
+ },
+ "isarray": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "minimatch": {
+ "version": "3.0.4",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "brace-expansion": "^1.1.7"
+ }
+ },
+ "minimist": {
+ "version": "0.0.8",
+ "bundled": true,
+ "dev": true
+ },
+ "minipass": {
+ "version": "2.2.4",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "safe-buffer": "^5.1.1",
+ "yallist": "^3.0.0"
+ }
+ },
+ "minizlib": {
+ "version": "1.1.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "minipass": "^2.2.1"
+ }
+ },
+ "mkdirp": {
+ "version": "0.5.1",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "minimist": "0.0.8"
+ }
+ },
+ "ms": {
+ "version": "2.0.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "nan": {
+ "version": "2.10.0",
+ "resolved": "https://registry.npmjs.org/nan/-/nan-2.10.0.tgz",
+ "integrity": "sha512-bAdJv7fBLhWC+/Bls0Oza+mvTaNQtP+1RyhhhvD95pgUJz6XM5IzgmxOkItJ9tkoCiplvAnXI1tNmmUD/eScyA==",
+ "dev": true,
+ "optional": true
+ },
+ "needle": {
+ "version": "2.2.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "debug": "^2.1.2",
+ "iconv-lite": "^0.4.4",
+ "sax": "^1.2.4"
+ }
+ },
+ "node-pre-gyp": {
+ "version": "0.10.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "detect-libc": "^1.0.2",
+ "mkdirp": "^0.5.1",
+ "needle": "^2.2.0",
+ "nopt": "^4.0.1",
+ "npm-packlist": "^1.1.6",
+ "npmlog": "^4.0.2",
+ "rc": "^1.1.7",
+ "rimraf": "^2.6.1",
+ "semver": "^5.3.0",
+ "tar": "^4"
+ }
+ },
+ "nopt": {
+ "version": "4.0.1",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "abbrev": "1",
+ "osenv": "^0.1.4"
+ }
+ },
+ "npm-bundled": {
+ "version": "1.0.3",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "npm-packlist": {
+ "version": "1.1.10",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "ignore-walk": "^3.0.1",
+ "npm-bundled": "^1.0.1"
+ }
+ },
+ "npmlog": {
+ "version": "4.1.2",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "are-we-there-yet": "~1.1.2",
+ "console-control-strings": "~1.1.0",
+ "gauge": "~2.7.3",
+ "set-blocking": "~2.0.0"
+ }
+ },
+ "number-is-nan": {
+ "version": "1.0.1",
+ "bundled": true,
+ "dev": true
+ },
+ "object-assign": {
+ "version": "4.1.1",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "once": {
+ "version": "1.4.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "wrappy": "1"
+ }
+ },
+ "os-homedir": {
+ "version": "1.0.2",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "os-tmpdir": {
+ "version": "1.0.2",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "osenv": {
+ "version": "0.1.5",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "os-homedir": "^1.0.0",
+ "os-tmpdir": "^1.0.0"
+ }
+ },
+ "path-is-absolute": {
+ "version": "1.0.1",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "process-nextick-args": {
+ "version": "2.0.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "rc": {
+ "version": "1.2.7",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "deep-extend": "^0.5.1",
+ "ini": "~1.3.0",
+ "minimist": "^1.2.0",
+ "strip-json-comments": "~2.0.1"
+ },
+ "dependencies": {
+ "minimist": {
+ "version": "1.2.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ }
+ }
+ },
+ "readable-stream": {
+ "version": "2.3.6",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.3",
+ "isarray": "~1.0.0",
+ "process-nextick-args": "~2.0.0",
+ "safe-buffer": "~5.1.1",
+ "string_decoder": "~1.1.1",
+ "util-deprecate": "~1.0.1"
+ }
+ },
+ "rimraf": {
+ "version": "2.6.2",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "glob": "^7.0.5"
+ }
+ },
+ "safe-buffer": {
+ "version": "5.1.1",
+ "bundled": true,
+ "dev": true
+ },
+ "safer-buffer": {
+ "version": "2.1.2",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "sax": {
+ "version": "1.2.4",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "semver": {
+ "version": "5.5.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "set-blocking": {
+ "version": "2.0.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "signal-exit": {
+ "version": "3.0.2",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "string-width": {
+ "version": "1.0.2",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "code-point-at": "^1.0.0",
+ "is-fullwidth-code-point": "^1.0.0",
+ "strip-ansi": "^3.0.0"
+ }
+ },
+ "string_decoder": {
+ "version": "1.1.1",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "safe-buffer": "~5.1.0"
+ }
+ },
+ "strip-ansi": {
+ "version": "3.0.1",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^2.0.0"
+ }
+ },
+ "strip-json-comments": {
+ "version": "2.0.1",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "tar": {
+ "version": "4.4.1",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "chownr": "^1.0.1",
+ "fs-minipass": "^1.2.5",
+ "minipass": "^2.2.4",
+ "minizlib": "^1.1.0",
+ "mkdirp": "^0.5.0",
+ "safe-buffer": "^5.1.1",
+ "yallist": "^3.0.2"
+ }
+ },
+ "util-deprecate": {
+ "version": "1.0.2",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "wide-align": {
+ "version": "1.1.2",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "string-width": "^1.0.2"
+ }
+ },
+ "wrappy": {
+ "version": "1.0.2",
+ "bundled": true,
+ "dev": true
+ },
+ "yallist": {
+ "version": "3.0.2",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ },
+ "fstream": {
+ "version": "1.0.11",
+ "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz",
+ "integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.1.2",
+ "inherits": "~2.0.0",
+ "mkdirp": ">=0.5 0",
+ "rimraf": "2"
+ }
+ },
+ "function-bind": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
+ "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
+ "dev": true
+ },
+ "function.prototype.name": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.0.tgz",
+ "integrity": "sha512-Bs0VRrTz4ghD8pTmbJQD1mZ8A/mN0ur/jGz+A6FBxPDUPkm1tNfF6bhTYPA7i7aF4lZJVr+OXTNNrnnIl58Wfg==",
+ "dev": true,
+ "requires": {
+ "define-properties": "^1.1.2",
+ "function-bind": "^1.1.1",
+ "is-callable": "^1.1.3"
+ }
+ },
+ "fuse.js": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/fuse.js/-/fuse.js-3.2.1.tgz",
+ "integrity": "sha1-YyDLlM5W7JdVyJred1vNuwNY1CU=",
+ "dev": true
+ },
+ "gauge": {
+ "version": "2.7.4",
+ "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz",
+ "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=",
+ "dev": true,
+ "requires": {
+ "aproba": "^1.0.3",
+ "console-control-strings": "^1.0.0",
+ "has-unicode": "^2.0.0",
+ "object-assign": "^4.1.0",
+ "signal-exit": "^3.0.0",
+ "string-width": "^1.0.1",
+ "strip-ansi": "^3.0.1",
+ "wide-align": "^1.1.0"
+ }
+ },
+ "gaze": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.3.tgz",
+ "integrity": "sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==",
+ "dev": true,
+ "requires": {
+ "globule": "^1.0.0"
+ }
+ },
+ "get-caller-file": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz",
+ "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==",
+ "dev": true
+ },
+ "get-stdin": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz",
+ "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=",
+ "dev": true
+ },
+ "get-stream": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz",
+ "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=",
+ "dev": true
+ },
+ "get-value": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
+ "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=",
+ "dev": true
+ },
+ "getpass": {
+ "version": "0.1.7",
+ "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
+ "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
+ "dev": true,
+ "requires": {
+ "assert-plus": "^1.0.0"
+ }
+ },
+ "glob": {
+ "version": "7.1.2",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
+ "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==",
+ "dev": true,
+ "requires": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.0.4",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ }
+ },
+ "glob-base": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz",
+ "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=",
+ "dev": true,
+ "requires": {
+ "glob-parent": "^2.0.0",
+ "is-glob": "^2.0.0"
+ },
+ "dependencies": {
+ "glob-parent": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz",
+ "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=",
+ "dev": true,
+ "requires": {
+ "is-glob": "^2.0.0"
+ }
+ },
+ "is-extglob": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
+ "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=",
+ "dev": true
+ },
+ "is-glob": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
+ "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
+ "dev": true,
+ "requires": {
+ "is-extglob": "^1.0.0"
+ }
+ }
+ }
+ },
+ "glob-parent": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz",
+ "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=",
+ "dev": true,
+ "requires": {
+ "is-glob": "^3.1.0",
+ "path-dirname": "^1.0.0"
+ },
+ "dependencies": {
+ "is-glob": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
+ "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
+ "dev": true,
+ "requires": {
+ "is-extglob": "^2.1.0"
+ }
+ }
+ }
+ },
+ "glob-to-regexp": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz",
+ "integrity": "sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=",
+ "dev": true
+ },
+ "global": {
+ "version": "4.3.2",
+ "resolved": "https://registry.npmjs.org/global/-/global-4.3.2.tgz",
+ "integrity": "sha1-52mJJopsdMOJCLEwWxD8DjlOnQ8=",
+ "dev": true,
+ "requires": {
+ "min-document": "^2.19.0",
+ "process": "~0.5.1"
+ },
+ "dependencies": {
+ "process": {
+ "version": "0.5.2",
+ "resolved": "https://registry.npmjs.org/process/-/process-0.5.2.tgz",
+ "integrity": "sha1-FjjYqONML0QKkduVq5rrZ3/Bhc8=",
+ "dev": true
+ }
+ }
+ },
+ "global-modules": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz",
+ "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==",
+ "dev": true,
+ "requires": {
+ "global-prefix": "^1.0.1",
+ "is-windows": "^1.0.1",
+ "resolve-dir": "^1.0.0"
+ }
+ },
+ "global-modules-path": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/global-modules-path/-/global-modules-path-2.3.0.tgz",
+ "integrity": "sha512-HchvMJNYh9dGSCy8pOQ2O8u/hoXaL+0XhnrwH0RyLiSXMMTl9W3N6KUU73+JFOg5PGjtzl6VZzUQsnrpm7Szag==",
+ "dev": true
+ },
+ "global-prefix": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz",
+ "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=",
+ "dev": true,
+ "requires": {
+ "expand-tilde": "^2.0.2",
+ "homedir-polyfill": "^1.0.1",
+ "ini": "^1.3.4",
+ "is-windows": "^1.0.1",
+ "which": "^1.2.14"
+ }
+ },
+ "globals": {
+ "version": "9.18.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz",
+ "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==",
+ "dev": true
+ },
+ "globby": {
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/globby/-/globby-7.1.1.tgz",
+ "integrity": "sha1-+yzP+UAfhgCUXfral0QMypcrhoA=",
+ "dev": true,
+ "requires": {
+ "array-union": "^1.0.1",
+ "dir-glob": "^2.0.0",
+ "glob": "^7.1.2",
+ "ignore": "^3.3.5",
+ "pify": "^3.0.0",
+ "slash": "^1.0.0"
+ }
+ },
+ "globule": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/globule/-/globule-1.2.1.tgz",
+ "integrity": "sha512-g7QtgWF4uYSL5/dn71WxubOrS7JVGCnFPEnoeChJmBnyR9Mw8nGoEwOgJL/RC2Te0WhbsEUCejfH8SZNJ+adYQ==",
+ "dev": true,
+ "requires": {
+ "glob": "~7.1.1",
+ "lodash": "~4.17.10",
+ "minimatch": "~3.0.2"
+ }
+ },
+ "good-listener": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/good-listener/-/good-listener-1.2.2.tgz",
+ "integrity": "sha1-1TswzfkxPf+33JoNR3CWqm0UXFA=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "delegate": "^3.1.2"
+ }
+ },
+ "graceful-fs": {
+ "version": "4.1.11",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
+ "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=",
+ "dev": true
+ },
+ "gzip-size": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-4.1.0.tgz",
+ "integrity": "sha1-iuCWJX6r59acRb4rZ8RIEk/7UXw=",
+ "dev": true,
+ "requires": {
+ "duplexer": "^0.1.1",
+ "pify": "^3.0.0"
+ }
+ },
+ "handle-thing": {
+ "version": "1.2.5",
+ "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-1.2.5.tgz",
+ "integrity": "sha1-/Xqtcmvxpf0W38KbL3pmAdJxOcQ=",
+ "dev": true
+ },
+ "har-schema": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
+ "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=",
+ "dev": true
+ },
+ "har-validator": {
+ "version": "5.0.3",
+ "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.0.3.tgz",
+ "integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=",
+ "dev": true,
+ "requires": {
+ "ajv": "^5.1.0",
+ "har-schema": "^2.0.0"
+ },
+ "dependencies": {
+ "ajv": {
+ "version": "5.5.2",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz",
+ "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=",
+ "dev": true,
+ "requires": {
+ "co": "^4.6.0",
+ "fast-deep-equal": "^1.0.0",
+ "fast-json-stable-stringify": "^2.0.0",
+ "json-schema-traverse": "^0.3.0"
+ }
+ },
+ "fast-json-stable-stringify": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz",
+ "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=",
+ "dev": true
+ }
+ }
+ },
+ "has": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
+ "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
+ "dev": true,
+ "requires": {
+ "function-bind": "^1.1.1"
+ }
+ },
+ "has-ansi": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
+ "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^2.0.0"
+ }
+ },
+ "has-flag": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+ "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
+ "dev": true
+ },
+ "has-glob": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/has-glob/-/has-glob-1.0.0.tgz",
+ "integrity": "sha1-mqqe7b/7G6OZCnsAEPtnjuAIEgc=",
+ "dev": true,
+ "requires": {
+ "is-glob": "^3.0.0"
+ },
+ "dependencies": {
+ "is-glob": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
+ "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
+ "dev": true,
+ "requires": {
+ "is-extglob": "^2.1.0"
+ }
+ }
+ }
+ },
+ "has-symbols": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz",
+ "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=",
+ "dev": true
+ },
+ "has-unicode": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz",
+ "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=",
+ "dev": true
+ },
+ "has-value": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz",
+ "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=",
+ "dev": true,
+ "requires": {
+ "get-value": "^2.0.6",
+ "has-values": "^1.0.0",
+ "isobject": "^3.0.0"
+ }
+ },
+ "has-values": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz",
+ "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=",
+ "dev": true,
+ "requires": {
+ "is-number": "^3.0.0",
+ "kind-of": "^4.0.0"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
+ "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "hash-base": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz",
+ "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=",
+ "dev": true,
+ "requires": {
+ "inherits": "^2.0.1",
+ "safe-buffer": "^5.0.1"
+ }
+ },
+ "hash.js": {
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.5.tgz",
+ "integrity": "sha512-eWI5HG9Np+eHV1KQhisXWwM+4EPPYe5dFX1UZZH7k/E3JzDEazVH+VGlZi6R94ZqImq+A3D1mCEtrFIfg/E7sA==",
+ "dev": true,
+ "requires": {
+ "inherits": "^2.0.3",
+ "minimalistic-assert": "^1.0.1"
+ }
+ },
+ "hast-util-parse-selector": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-2.2.0.tgz",
+ "integrity": "sha512-trw0pqZN7+sH9k7hPWCJNZUbWW2KroSIM/XpIy3G5ZMtx9LSabCyoSp4skJZ4q/eZ5UOBPtvWh4W9c+RE3HRoQ==",
+ "dev": true
+ },
+ "hastscript": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-4.0.0.tgz",
+ "integrity": "sha512-zrN3fborQZT6+DJZOCKpeafzYIjs3y4ymzHGExBmUFSqwjqrRbH8DYDDbPsNLkVW0YDvoKdQ1c6wMLcZuoZDmg==",
+ "dev": true,
+ "requires": {
+ "comma-separated-tokens": "^1.0.0",
+ "hast-util-parse-selector": "^2.2.0",
+ "property-information": "^4.0.0",
+ "space-separated-tokens": "^1.0.0"
+ }
+ },
+ "hawk": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz",
+ "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=",
+ "dev": true,
+ "requires": {
+ "boom": "2.x.x",
+ "cryptiles": "2.x.x",
+ "hoek": "2.x.x",
+ "sntp": "1.x.x"
+ }
+ },
+ "he": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/he/-/he-1.1.1.tgz",
+ "integrity": "sha1-k0EP0hsAlzUVH4howvJx80J+I/0=",
+ "dev": true
+ },
+ "highlight.js": {
+ "version": "9.12.0",
+ "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-9.12.0.tgz",
+ "integrity": "sha1-5tnb5Xy+/mB1HwKvM2GVhwyQwB4=",
+ "dev": true
+ },
+ "hmac-drbg": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz",
+ "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=",
+ "dev": true,
+ "requires": {
+ "hash.js": "^1.0.3",
+ "minimalistic-assert": "^1.0.0",
+ "minimalistic-crypto-utils": "^1.0.1"
+ }
+ },
+ "hoek": {
+ "version": "2.16.3",
+ "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz",
+ "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=",
+ "dev": true
+ },
+ "hoist-non-react-statics": {
+ "version": "2.5.5",
+ "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-2.5.5.tgz",
+ "integrity": "sha512-rqcy4pJo55FTTLWt+bU8ukscqHeE/e9KWvsOW2b/a3afxQZhwkQdT1rPPCJ0rYXdj4vNcasY8zHTH+jF/qStxw==",
+ "dev": true
+ },
+ "home-or-tmp": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz",
+ "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=",
+ "dev": true,
+ "requires": {
+ "os-homedir": "^1.0.0",
+ "os-tmpdir": "^1.0.1"
+ }
+ },
+ "homedir-polyfill": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.1.tgz",
+ "integrity": "sha1-TCu8inWJmP7r9e1oWA921GdotLw=",
+ "dev": true,
+ "requires": {
+ "parse-passwd": "^1.0.0"
+ }
+ },
+ "hosted-git-info": {
+ "version": "2.7.1",
+ "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.7.1.tgz",
+ "integrity": "sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w==",
+ "dev": true
+ },
+ "html-comment-regex": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/html-comment-regex/-/html-comment-regex-1.1.1.tgz",
+ "integrity": "sha1-ZouTd26q5V696POtRkswekljYl4=",
+ "dev": true
+ },
+ "html-entities": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.2.1.tgz",
+ "integrity": "sha1-DfKTUfByEWNRXfueVUPl9u7VFi8=",
+ "dev": true
+ },
+ "html-webpack-plugin": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-3.2.0.tgz",
+ "integrity": "sha1-sBq71yOsqqeze2r0SS69oD2d03s=",
+ "dev": true,
+ "requires": {
+ "html-minifier": "^3.2.3",
+ "loader-utils": "^0.2.16",
+ "lodash": "^4.17.3",
+ "pretty-error": "^2.0.2",
+ "tapable": "^1.0.0",
+ "toposort": "^1.0.0",
+ "util.promisify": "1.0.0"
+ },
+ "dependencies": {
+ "html-minifier": {
+ "version": "3.5.19",
+ "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-3.5.19.tgz",
+ "integrity": "sha512-Qr2JC9nsjK8oCrEmuB430ZIA8YWbF3D5LSjywD75FTuXmeqacwHgIM8wp3vHYzzPbklSjp53RdmDuzR4ub2HzA==",
+ "dev": true,
+ "requires": {
+ "camel-case": "3.0.x",
+ "clean-css": "4.1.x",
+ "commander": "2.16.x",
+ "he": "1.1.x",
+ "param-case": "2.1.x",
+ "relateurl": "0.2.x",
+ "uglify-js": "3.4.x"
+ }
+ },
+ "loader-utils": {
+ "version": "0.2.17",
+ "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz",
+ "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=",
+ "dev": true,
+ "requires": {
+ "big.js": "^3.1.3",
+ "emojis-list": "^2.0.0",
+ "json5": "^0.5.0",
+ "object-assign": "^4.0.1"
+ }
+ }
+ }
+ },
+ "http-deceiver": {
+ "version": "1.2.7",
+ "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz",
+ "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=",
+ "dev": true
+ },
+ "http-errors": {
+ "version": "1.6.3",
+ "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz",
+ "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=",
+ "dev": true,
+ "requires": {
+ "depd": "~1.1.2",
+ "inherits": "2.0.3",
+ "setprototypeof": "1.1.0",
+ "statuses": ">= 1.4.0 < 2"
+ }
+ },
+ "http-parser-js": {
+ "version": "0.4.13",
+ "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.13.tgz",
+ "integrity": "sha1-O9bW/ebjFyyTNMOzO2wZPYD+ETc=",
+ "dev": true
+ },
+ "http-proxy": {
+ "version": "1.17.0",
+ "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.17.0.tgz",
+ "integrity": "sha512-Taqn+3nNvYRfJ3bGvKfBSRwy1v6eePlm3oc/aWVxZp57DQr5Eq3xhKJi7Z4hZpS8PC3H4qI+Yly5EmFacGuA/g==",
+ "dev": true,
+ "requires": {
+ "eventemitter3": "^3.0.0",
+ "follow-redirects": "^1.0.0",
+ "requires-port": "^1.0.0"
+ }
+ },
+ "http-proxy-middleware": {
+ "version": "0.18.0",
+ "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.18.0.tgz",
+ "integrity": "sha512-Fs25KVMPAIIcgjMZkVHJoKg9VcXcC1C8yb9JUgeDvVXY0S/zgVIhMb+qVswDIgtJe2DfckMSY2d6TuTEutlk6Q==",
+ "dev": true,
+ "requires": {
+ "http-proxy": "^1.16.2",
+ "is-glob": "^4.0.0",
+ "lodash": "^4.17.5",
+ "micromatch": "^3.1.9"
+ }
+ },
+ "http-signature": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
+ "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
+ "dev": true,
+ "requires": {
+ "assert-plus": "^1.0.0",
+ "jsprim": "^1.2.2",
+ "sshpk": "^1.7.0"
+ },
+ "dependencies": {
+ "sshpk": {
+ "version": "1.14.2",
+ "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.14.2.tgz",
+ "integrity": "sha1-xvxhZIo9nE52T9P8306hBeSSupg=",
+ "dev": true,
+ "requires": {
+ "asn1": "~0.2.3",
+ "assert-plus": "^1.0.0",
+ "bcrypt-pbkdf": "^1.0.0",
+ "dashdash": "^1.12.0",
+ "ecc-jsbn": "~0.1.1",
+ "getpass": "^0.1.1",
+ "jsbn": "~0.1.0",
+ "safer-buffer": "^2.0.2",
+ "tweetnacl": "~0.14.0"
+ }
+ }
+ }
+ },
+ "https-browserify": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz",
+ "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=",
+ "dev": true
+ },
+ "https-proxy-agent": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.1.tgz",
+ "integrity": "sha512-HPCTS1LW51bcyMYbxUIOO4HEOlQ1/1qRaFWcyxvwaqUS9TY88aoEuHUY33kuAh1YhVVaDQhLZsnPd+XNARWZlQ==",
+ "dev": true,
+ "requires": {
+ "agent-base": "^4.1.0",
+ "debug": "^3.1.0"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
+ "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
+ }
+ }
+ },
+ "hyphenate-style-name": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/hyphenate-style-name/-/hyphenate-style-name-1.0.2.tgz",
+ "integrity": "sha1-MRYKNpMK2vH8BMYHT360FGXU7Es=",
+ "dev": true
+ },
+ "icss-replace-symbols": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz",
+ "integrity": "sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=",
+ "dev": true
+ },
+ "icss-utils": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-2.1.0.tgz",
+ "integrity": "sha1-g/Cg7DeL8yRheLbCrZE28TWxyWI=",
+ "dev": true,
+ "requires": {
+ "postcss": "^6.0.1"
+ }
+ },
+ "ieee754": {
+ "version": "1.1.12",
+ "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.12.tgz",
+ "integrity": "sha512-GguP+DRY+pJ3soyIiGPTvdiVXjZ+DbXOxGpXn3eMvNW4x4irjqXm4wHKscC+TfxSJ0yw/S1F24tqdMNsMZTiLA==",
+ "dev": true
+ },
+ "iferr": {
+ "version": "0.1.5",
+ "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz",
+ "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=",
+ "dev": true
+ },
+ "ignore": {
+ "version": "3.3.10",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz",
+ "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==",
+ "dev": true
+ },
+ "image-size": {
+ "version": "0.5.5",
+ "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz",
+ "integrity": "sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w=",
+ "dev": true,
+ "optional": true
+ },
+ "immutable": {
+ "version": "3.8.2",
+ "resolved": "https://registry.npmjs.org/immutable/-/immutable-3.8.2.tgz",
+ "integrity": "sha1-wkOZUUVbs5kT2vKBN28VMOEErfM=",
+ "dev": true
+ },
+ "import-cwd": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-2.1.0.tgz",
+ "integrity": "sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk=",
+ "dev": true,
+ "requires": {
+ "import-from": "^2.1.0"
+ }
+ },
+ "import-from": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/import-from/-/import-from-2.1.0.tgz",
+ "integrity": "sha1-M1238qev/VOqpHHUuAId7ja387E=",
+ "dev": true,
+ "requires": {
+ "resolve-from": "^3.0.0"
+ }
+ },
+ "import-local": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/import-local/-/import-local-1.0.0.tgz",
+ "integrity": "sha512-vAaZHieK9qjGo58agRBg+bhHX3hoTZU/Oa3GESWLz7t1U62fk63aHuDJJEteXoDeTCcPmUT+z38gkHPZkkmpmQ==",
+ "dev": true,
+ "requires": {
+ "pkg-dir": "^2.0.0",
+ "resolve-cwd": "^2.0.0"
+ }
+ },
+ "imurmurhash": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
+ "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
+ "dev": true
+ },
+ "in-publish": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/in-publish/-/in-publish-2.0.0.tgz",
+ "integrity": "sha1-4g/146KvwmkDILbcVSaCqcf631E=",
+ "dev": true
+ },
+ "indent-string": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz",
+ "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=",
+ "dev": true,
+ "requires": {
+ "repeating": "^2.0.0"
+ }
+ },
+ "indexes-of": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz",
+ "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=",
+ "dev": true
+ },
+ "indexof": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz",
+ "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=",
+ "dev": true
+ },
+ "inflight": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+ "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
+ "dev": true,
+ "requires": {
+ "once": "^1.3.0",
+ "wrappy": "1"
+ }
+ },
+ "inherits": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
+ "dev": true
+ },
+ "ini": {
+ "version": "1.3.5",
+ "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz",
+ "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==",
+ "dev": true
+ },
+ "inline-style-prefixer": {
+ "version": "3.0.8",
+ "resolved": "https://registry.npmjs.org/inline-style-prefixer/-/inline-style-prefixer-3.0.8.tgz",
+ "integrity": "sha1-hVG45bTVcyROZqNLBPfTIHaitTQ=",
+ "dev": true,
+ "requires": {
+ "bowser": "^1.7.3",
+ "css-in-js-utils": "^2.0.0"
+ }
+ },
+ "insert-css": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/insert-css/-/insert-css-2.0.0.tgz",
+ "integrity": "sha1-610Ql7dUL0x56jBg067gfQU4gPQ=",
+ "dev": true
+ },
+ "internal-ip": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-1.2.0.tgz",
+ "integrity": "sha1-rp+/k7mEh4eF1QqN4bNWlWBYz1w=",
+ "dev": true,
+ "requires": {
+ "meow": "^3.3.0"
+ }
+ },
+ "interpret": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.1.0.tgz",
+ "integrity": "sha1-ftGxQQxqDg94z5XTuEQMY/eLhhQ=",
+ "dev": true
+ },
+ "invariant": {
+ "version": "2.2.4",
+ "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz",
+ "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==",
+ "dev": true,
+ "requires": {
+ "loose-envify": "^1.0.0"
+ }
+ },
+ "invert-kv": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz",
+ "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=",
+ "dev": true
+ },
+ "ip": {
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz",
+ "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=",
+ "dev": true
+ },
+ "ipaddr.js": {
+ "version": "1.8.0",
+ "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.8.0.tgz",
+ "integrity": "sha1-6qM9bd16zo9/b+DJygRA5wZzix4=",
+ "dev": true
+ },
+ "is-absolute-url": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-2.1.0.tgz",
+ "integrity": "sha1-UFMN+4T8yap9vnhS6Do3uTufKqY=",
+ "dev": true
+ },
+ "is-accessor-descriptor": {
+ "version": "0.1.6",
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
+ "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
+ "dev": true,
+ "requires": {
+ "kind-of": "^3.0.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "is-alphabetical": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.2.tgz",
+ "integrity": "sha512-V0xN4BYezDHcBSKb1QHUFMlR4as/XEuCZBzMJUU4n7+Cbt33SmUnSol+pnXFvLxSHNq2CemUXNdaXV6Flg7+xg==",
+ "dev": true
+ },
+ "is-alphanumerical": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.2.tgz",
+ "integrity": "sha512-pyfU/0kHdISIgslFfZN9nfY1Gk3MquQgUm1mJTjdkEPpkAKNWuBTSqFwewOpR7N351VkErCiyV71zX7mlQQqsg==",
+ "dev": true,
+ "requires": {
+ "is-alphabetical": "^1.0.0",
+ "is-decimal": "^1.0.0"
+ }
+ },
+ "is-arrayish": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
+ "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=",
+ "dev": true
+ },
+ "is-binary-path": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz",
+ "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=",
+ "dev": true,
+ "requires": {
+ "binary-extensions": "^1.0.0"
+ }
+ },
+ "is-buffer": {
+ "version": "1.1.6",
+ "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
+ "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
+ "dev": true
+ },
+ "is-builtin-module": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz",
+ "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=",
+ "dev": true,
+ "requires": {
+ "builtin-modules": "^1.0.0"
+ }
+ },
+ "is-callable": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz",
+ "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==",
+ "dev": true
+ },
+ "is-data-descriptor": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
+ "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
+ "dev": true,
+ "requires": {
+ "kind-of": "^3.0.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "is-date-object": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz",
+ "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=",
+ "dev": true
+ },
+ "is-decimal": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.2.tgz",
+ "integrity": "sha512-TRzl7mOCchnhchN+f3ICUCzYvL9ul7R+TYOsZ8xia++knyZAJfv/uA1FvQXsAnYIl1T3B2X5E/J7Wb1QXiIBXg==",
+ "dev": true
+ },
+ "is-descriptor": {
+ "version": "0.1.6",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
+ "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
+ "dev": true,
+ "requires": {
+ "is-accessor-descriptor": "^0.1.6",
+ "is-data-descriptor": "^0.1.4",
+ "kind-of": "^5.0.0"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
+ "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
+ "dev": true
+ }
+ }
+ },
+ "is-directory": {
+ "version": "0.3.1",
+ "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz",
+ "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=",
+ "dev": true
+ },
+ "is-dom": {
+ "version": "1.0.9",
+ "resolved": "https://registry.npmjs.org/is-dom/-/is-dom-1.0.9.tgz",
+ "integrity": "sha1-SDgy1SlyBz3hK5/j9gMghw2oNw0=",
+ "dev": true
+ },
+ "is-dotfile": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz",
+ "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=",
+ "dev": true
+ },
+ "is-equal-shallow": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz",
+ "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=",
+ "dev": true,
+ "requires": {
+ "is-primitive": "^2.0.0"
+ }
+ },
+ "is-extendable": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
+ "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=",
+ "dev": true
+ },
+ "is-extglob": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
+ "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
+ "dev": true
+ },
+ "is-finite": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz",
+ "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=",
+ "dev": true,
+ "requires": {
+ "number-is-nan": "^1.0.0"
+ }
+ },
+ "is-fullwidth-code-point": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
+ "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
+ "dev": true,
+ "requires": {
+ "number-is-nan": "^1.0.0"
+ }
+ },
+ "is-glob": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz",
+ "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=",
+ "dev": true,
+ "requires": {
+ "is-extglob": "^2.1.1"
+ }
+ },
+ "is-hexadecimal": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.2.tgz",
+ "integrity": "sha512-but/G3sapV3MNyqiDBLrOi4x8uCIw0RY3o/Vb5GT0sMFHrVV7731wFSVy41T5FO1og7G0gXLJh0MkgPRouko/A==",
+ "dev": true
+ },
+ "is-number": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
+ "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
+ "dev": true,
+ "requires": {
+ "kind-of": "^3.0.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "is-path-cwd": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz",
+ "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=",
+ "dev": true
+ },
+ "is-path-in-cwd": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz",
+ "integrity": "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==",
+ "dev": true,
+ "requires": {
+ "is-path-inside": "^1.0.0"
+ }
+ },
+ "is-path-inside": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz",
+ "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=",
+ "dev": true,
+ "requires": {
+ "path-is-inside": "^1.0.1"
+ }
+ },
+ "is-plain-obj": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz",
+ "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=",
+ "dev": true
+ },
+ "is-plain-object": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
+ "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
+ "dev": true,
+ "requires": {
+ "isobject": "^3.0.1"
+ }
+ },
+ "is-posix-bracket": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz",
+ "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=",
+ "dev": true
+ },
+ "is-primitive": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz",
+ "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=",
+ "dev": true
+ },
+ "is-promise": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz",
+ "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=",
+ "dev": true
+ },
+ "is-regex": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz",
+ "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=",
+ "dev": true,
+ "requires": {
+ "has": "^1.0.1"
+ }
+ },
+ "is-root": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-root/-/is-root-1.0.0.tgz",
+ "integrity": "sha1-B7bCM7w5TNnQK6FclmvWZg1jQtU=",
+ "dev": true
+ },
+ "is-stream": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
+ "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=",
+ "dev": true
+ },
+ "is-svg": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-2.1.0.tgz",
+ "integrity": "sha1-z2EJDaDZ77yrhyLeum8DIgjbsOk=",
+ "dev": true,
+ "requires": {
+ "html-comment-regex": "^1.1.0"
+ }
+ },
+ "is-symbol": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.1.tgz",
+ "integrity": "sha1-PMWfAAJRlLarLjjbrmaJJWtmBXI=",
+ "dev": true
+ },
+ "is-typedarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
+ "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
+ "dev": true
+ },
+ "is-utf8": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz",
+ "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=",
+ "dev": true
+ },
+ "is-valid-glob": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-valid-glob/-/is-valid-glob-1.0.0.tgz",
+ "integrity": "sha1-Kb8+/3Ab4tTTFdusw5vDn+j2Aao=",
+ "dev": true
+ },
+ "is-windows": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz",
+ "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==",
+ "dev": true
+ },
+ "is-wsl": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz",
+ "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=",
+ "dev": true
+ },
+ "isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+ "dev": true
+ },
+ "isobject": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+ "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+ "dev": true
+ },
+ "isomorphic-fetch": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz",
+ "integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=",
+ "dev": true,
+ "requires": {
+ "node-fetch": "^1.0.1",
+ "whatwg-fetch": ">=0.10.0"
+ },
+ "dependencies": {
+ "node-fetch": {
+ "version": "1.7.3",
+ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz",
+ "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==",
+ "dev": true,
+ "requires": {
+ "encoding": "^0.1.11",
+ "is-stream": "^1.0.1"
+ }
+ }
+ }
+ },
+ "isstream": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
+ "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=",
+ "dev": true
+ },
+ "istanbul": {
+ "version": "0.4.5",
+ "resolved": "https://registry.npmjs.org/istanbul/-/istanbul-0.4.5.tgz",
+ "integrity": "sha1-ZcfXPUxNqE1POsMQuRj7C4Azczs=",
+ "dev": true,
+ "requires": {
+ "abbrev": "1.0.x",
+ "async": "1.x",
+ "escodegen": "1.8.x",
+ "esprima": "2.7.x",
+ "glob": "^5.0.15",
+ "handlebars": "^4.0.1",
+ "js-yaml": "3.x",
+ "mkdirp": "0.5.x",
+ "nopt": "3.x",
+ "once": "1.x",
+ "resolve": "1.1.x",
+ "supports-color": "^3.1.0",
+ "which": "^1.1.1",
+ "wordwrap": "^1.0.0"
+ },
+ "dependencies": {
+ "glob": {
+ "version": "5.0.15",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz",
+ "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=",
+ "dev": true,
+ "requires": {
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "2 || 3",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ }
+ },
+ "handlebars": {
+ "version": "4.0.11",
+ "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.0.11.tgz",
+ "integrity": "sha1-Ywo13+ApS8KB7a5v/F0yn8eYLcw=",
+ "dev": true,
+ "requires": {
+ "async": "^1.4.0",
+ "optimist": "^0.6.1",
+ "source-map": "^0.4.4",
+ "uglify-js": "^2.6"
+ }
+ },
+ "has-flag": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
+ "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=",
+ "dev": true
+ },
+ "resolve": {
+ "version": "1.1.7",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz",
+ "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=",
+ "dev": true
+ },
+ "source-map": {
+ "version": "0.4.4",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz",
+ "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=",
+ "dev": true,
+ "requires": {
+ "amdefine": ">=0.0.4"
+ }
+ },
+ "supports-color": {
+ "version": "3.2.3",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
+ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+ "dev": true,
+ "requires": {
+ "has-flag": "^1.0.0"
+ }
+ },
+ "uglify-js": {
+ "version": "2.8.29",
+ "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz",
+ "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "source-map": "~0.5.1",
+ "uglify-to-browserify": "~1.0.0",
+ "yargs": "~3.10.0"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+ "dev": true,
+ "optional": true
+ }
+ }
+ }
+ }
+ },
+ "istanbul-lib-coverage": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-1.2.0.tgz",
+ "integrity": "sha512-GvgM/uXRwm+gLlvkWHTjDAvwynZkL9ns15calTrmhGgowlwJBbWMYzWbKqE2DT6JDP1AFXKa+Zi0EkqNCUqY0A==",
+ "dev": true
+ },
+ "istanbul-lib-instrument": {
+ "version": "1.10.1",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-1.10.1.tgz",
+ "integrity": "sha512-1dYuzkOCbuR5GRJqySuZdsmsNKPL3PTuyPevQfoCXJePT9C8y1ga75neU+Tuy9+yS3G/dgx8wgOmp2KLpgdoeQ==",
+ "dev": true,
+ "requires": {
+ "babel-generator": "^6.18.0",
+ "babel-template": "^6.16.0",
+ "babel-traverse": "^6.18.0",
+ "babel-types": "^6.18.0",
+ "babylon": "^6.18.0",
+ "istanbul-lib-coverage": "^1.2.0",
+ "semver": "^5.3.0"
+ }
+ },
+ "jasmine-diff": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/jasmine-diff/-/jasmine-diff-0.1.3.tgz",
+ "integrity": "sha1-k8zC3MQQKMXd1GBlWAdIOfLe6qg=",
+ "dev": true,
+ "requires": {
+ "diff": "^3.2.0"
+ }
+ },
+ "jest-diff": {
+ "version": "23.2.0",
+ "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-23.2.0.tgz",
+ "integrity": "sha1-nyz0tR4Sx5FVAgCrwWtHEwrxBio=",
+ "dev": true,
+ "requires": {
+ "chalk": "^2.0.1",
+ "diff": "^3.2.0",
+ "jest-get-type": "^22.1.0",
+ "pretty-format": "^23.2.0"
+ }
+ },
+ "jest-get-type": {
+ "version": "22.4.3",
+ "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-22.4.3.tgz",
+ "integrity": "sha512-/jsz0Y+V29w1chdXVygEKSz2nBoHoYqNShPe+QgxSNjAuP1i8+k4LbQNrfoliKej0P45sivkSCh7yiD6ubHS3w==",
+ "dev": true
+ },
+ "jest-image-snapshot": {
+ "version": "2.4.3",
+ "resolved": "https://registry.npmjs.org/jest-image-snapshot/-/jest-image-snapshot-2.4.3.tgz",
+ "integrity": "sha512-3mGa/6xLhjOMTl7pd5Wuf72Juq5hOyhfCiXhlHMm1UYIVVmH/RIqBCB/5KDmkPVjdnZO4aOvaFgd+HdgC3VGMw==",
+ "dev": true,
+ "requires": {
+ "chalk": "^1.1.3",
+ "get-stdin": "^5.0.1",
+ "lodash": "^4.17.4",
+ "mkdirp": "^0.5.1",
+ "pixelmatch": "^4.0.2",
+ "pngjs": "^3.3.3",
+ "rimraf": "^2.6.2"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
+ "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
+ "dev": true
+ },
+ "chalk": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^2.2.1",
+ "escape-string-regexp": "^1.0.2",
+ "has-ansi": "^2.0.0",
+ "strip-ansi": "^3.0.0",
+ "supports-color": "^2.0.0"
+ }
+ },
+ "get-stdin": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-5.0.1.tgz",
+ "integrity": "sha1-Ei4WFZHiH/TFJTAwVpPyDmOTo5g=",
+ "dev": true
+ },
+ "pixelmatch": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/pixelmatch/-/pixelmatch-4.0.2.tgz",
+ "integrity": "sha1-j0fc7FARtHe2fbA8JDvB8wheiFQ=",
+ "dev": true,
+ "requires": {
+ "pngjs": "^3.0.0"
+ }
+ },
+ "supports-color": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
+ "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+ "dev": true
+ }
+ }
+ },
+ "jest-matcher-utils": {
+ "version": "23.2.0",
+ "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-23.2.0.tgz",
+ "integrity": "sha1-TUmB8jIT6Tnjzt8j3DTHR7WuGRM=",
+ "dev": true,
+ "requires": {
+ "chalk": "^2.0.1",
+ "jest-get-type": "^22.1.0",
+ "pretty-format": "^23.2.0"
+ }
+ },
+ "jest-message-util": {
+ "version": "23.4.0",
+ "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-23.4.0.tgz",
+ "integrity": "sha1-F2EMUJQjSVCNAaPR4L2iwHkIap8=",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.0.0-beta.35",
+ "chalk": "^2.0.1",
+ "micromatch": "^2.3.11",
+ "slash": "^1.0.0",
+ "stack-utils": "^1.0.1"
+ },
+ "dependencies": {
+ "arr-diff": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz",
+ "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=",
+ "dev": true,
+ "requires": {
+ "arr-flatten": "^1.0.1"
+ }
+ },
+ "array-unique": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz",
+ "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=",
+ "dev": true
+ },
+ "braces": {
+ "version": "1.8.5",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz",
+ "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=",
+ "dev": true,
+ "requires": {
+ "expand-range": "^1.8.1",
+ "preserve": "^0.2.0",
+ "repeat-element": "^1.1.2"
+ }
+ },
+ "expand-brackets": {
+ "version": "0.1.5",
+ "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz",
+ "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=",
+ "dev": true,
+ "requires": {
+ "is-posix-bracket": "^0.1.0"
+ }
+ },
+ "extglob": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz",
+ "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=",
+ "dev": true,
+ "requires": {
+ "is-extglob": "^1.0.0"
+ }
+ },
+ "is-extglob": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
+ "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=",
+ "dev": true
+ },
+ "is-glob": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
+ "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
+ "dev": true,
+ "requires": {
+ "is-extglob": "^1.0.0"
+ }
+ },
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ },
+ "micromatch": {
+ "version": "2.3.11",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz",
+ "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=",
+ "dev": true,
+ "requires": {
+ "arr-diff": "^2.0.0",
+ "array-unique": "^0.2.1",
+ "braces": "^1.8.2",
+ "expand-brackets": "^0.1.4",
+ "extglob": "^0.3.1",
+ "filename-regex": "^2.0.0",
+ "is-extglob": "^1.0.0",
+ "is-glob": "^2.0.1",
+ "kind-of": "^3.0.2",
+ "normalize-path": "^2.0.1",
+ "object.omit": "^2.0.0",
+ "parse-glob": "^3.0.4",
+ "regex-cache": "^0.4.2"
+ }
+ }
+ }
+ },
+ "jest-resolve": {
+ "version": "23.4.1",
+ "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-23.4.1.tgz",
+ "integrity": "sha512-VNk4YRNR5gsHhNS0Lp46/DzTT11e+ecbUC61ikE593cKbtdrhrMO+zXkOJaE8YDD5sHxH9W6OfssNn4FkZBzZQ==",
+ "dev": true,
+ "requires": {
+ "browser-resolve": "^1.11.3",
+ "chalk": "^2.0.1",
+ "realpath-native": "^1.0.0"
+ }
+ },
+ "jest-snapshot": {
+ "version": "23.4.2",
+ "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-23.4.2.tgz",
+ "integrity": "sha512-rCBxIURDlVEW1gJgJSpo8l2F2gFwp9U7Yb3CmcABUpmQ8NASpb6LJkEvtcQifAYSi22OL44TSuanq1G6x1GJwg==",
+ "dev": true,
+ "requires": {
+ "babel-types": "^6.0.0",
+ "chalk": "^2.0.1",
+ "jest-diff": "^23.2.0",
+ "jest-matcher-utils": "^23.2.0",
+ "jest-message-util": "^23.4.0",
+ "jest-resolve": "^23.4.1",
+ "mkdirp": "^0.5.1",
+ "natural-compare": "^1.4.0",
+ "pretty-format": "^23.2.0",
+ "semver": "^5.5.0"
+ }
+ },
+ "jest-specific-snapshot": {
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/jest-specific-snapshot/-/jest-specific-snapshot-0.5.0.tgz",
+ "integrity": "sha512-jtcxwY9DnK9gT7HjS1bGL8SF4NV8DL2/CzUmuL4aZxwmAk4gEW8qOnXkU6kD3B1T4Y+Zj9uvN8zWqzcftT0ERA==",
+ "dev": true,
+ "requires": {
+ "jest-snapshot": ">=20.0.3"
+ }
+ },
+ "js-base64": {
+ "version": "2.4.8",
+ "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.4.8.tgz",
+ "integrity": "sha512-hm2nYpDrwoO/OzBhdcqs/XGT6XjSuSSCVEpia+Kl2J6x4CYt5hISlVL/AYU1khoDXv0AQVgxtdJySb9gjAn56Q==",
+ "dev": true
+ },
+ "js-tokens": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz",
+ "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=",
+ "dev": true
+ },
+ "js-yaml": {
+ "version": "3.12.0",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.0.tgz",
+ "integrity": "sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A==",
+ "dev": true,
+ "requires": {
+ "argparse": "^1.0.7",
+ "esprima": "^4.0.0"
+ },
+ "dependencies": {
+ "esprima": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
+ "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
+ "dev": true
+ }
+ }
+ },
+ "jsbn": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
+ "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=",
+ "dev": true,
+ "optional": true
+ },
+ "jsesc": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz",
+ "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=",
+ "dev": true
+ },
+ "json-parse-better-errors": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz",
+ "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==",
+ "dev": true
+ },
+ "json-schema": {
+ "version": "0.2.3",
+ "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
+ "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=",
+ "dev": true
+ },
+ "json-schema-traverse": {
+ "version": "0.3.1",
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz",
+ "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=",
+ "dev": true
+ },
+ "json-stable-stringify": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz",
+ "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=",
+ "dev": true,
+ "requires": {
+ "jsonify": "~0.0.0"
+ }
+ },
+ "json-stringify-safe": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
+ "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=",
+ "dev": true
+ },
+ "json3": {
+ "version": "3.3.2",
+ "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.2.tgz",
+ "integrity": "sha1-PAQ0dD35Pi9cQq7nsZvLSDV19OE=",
+ "dev": true
+ },
+ "json5": {
+ "version": "0.5.1",
+ "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz",
+ "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=",
+ "dev": true
+ },
+ "jsonify": {
+ "version": "0.0.0",
+ "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz",
+ "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=",
+ "dev": true
+ },
+ "jsprim": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
+ "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=",
+ "dev": true,
+ "requires": {
+ "assert-plus": "1.0.0",
+ "extsprintf": "1.3.0",
+ "json-schema": "0.2.3",
+ "verror": "1.10.0"
+ }
+ },
+ "karma-source-map-support": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/karma-source-map-support/-/karma-source-map-support-1.3.0.tgz",
+ "integrity": "sha512-HcPqdAusNez/ywa+biN4EphGz62MmQyPggUsDfsHqa7tSe4jdsxgvTKuDfIazjL+IOxpVWyT7Pr4dhAV+sxX5Q==",
+ "dev": true,
+ "requires": {
+ "source-map-support": "^0.5.5"
+ }
+ },
+ "keycode": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/keycode/-/keycode-2.2.0.tgz",
+ "integrity": "sha1-PQr1bce4uOXLqNCpfxByBO7CKwQ=",
+ "dev": true
+ },
+ "killable": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.0.tgz",
+ "integrity": "sha1-2ouEvUfeU5WHj5XWTQLyRJ/gXms=",
+ "dev": true
+ },
+ "kind-of": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
+ "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
+ "dev": true
+ },
+ "lazy-cache": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz",
+ "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=",
+ "dev": true,
+ "optional": true
+ },
+ "lcid": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz",
+ "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=",
+ "dev": true,
+ "requires": {
+ "invert-kv": "^1.0.0"
+ }
+ },
+ "leb": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/leb/-/leb-0.3.0.tgz",
+ "integrity": "sha1-Mr7p+tFoMo1q6oUi2DP0GA7tHaM=",
+ "dev": true
+ },
+ "less-loader": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/less-loader/-/less-loader-4.1.0.tgz",
+ "integrity": "sha512-KNTsgCE9tMOM70+ddxp9yyt9iHqgmSs0yTZc5XH5Wo+g80RWRIYNqE58QJKm/yMud5wZEvz50ugRDuzVIkyahg==",
+ "dev": true,
+ "requires": {
+ "clone": "^2.1.1",
+ "loader-utils": "^1.1.0",
+ "pify": "^3.0.0"
+ }
+ },
+ "levn": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
+ "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=",
+ "dev": true,
+ "requires": {
+ "prelude-ls": "~1.1.2",
+ "type-check": "~0.3.2"
+ }
+ },
+ "license-webpack-plugin": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/license-webpack-plugin/-/license-webpack-plugin-1.3.1.tgz",
+ "integrity": "sha512-NqAFodJdpBUuf1iD+Ij8hQvF0rCFKlO2KaieoQzAPhFgzLCtJnC7Z7x5gQbGNjoe++wOKAtAmwVEIBLqq2Yp1A==",
+ "dev": true,
+ "requires": {
+ "ejs": "^2.5.7"
+ }
+ },
+ "load-json-file": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz",
+ "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.1.2",
+ "parse-json": "^2.2.0",
+ "pify": "^2.0.0",
+ "pinkie-promise": "^2.0.0",
+ "strip-bom": "^2.0.0"
+ },
+ "dependencies": {
+ "pify": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+ "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
+ "dev": true
+ }
+ }
+ },
+ "loader-runner": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.3.0.tgz",
+ "integrity": "sha1-9IKuqC1UPgeSFwDVpG7yb9rGuKI=",
+ "dev": true
+ },
+ "loader-utils": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz",
+ "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=",
+ "dev": true,
+ "requires": {
+ "big.js": "^3.1.3",
+ "emojis-list": "^2.0.0",
+ "json5": "^0.5.0"
+ }
+ },
+ "locate-path": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz",
+ "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=",
+ "dev": true,
+ "requires": {
+ "p-locate": "^2.0.0",
+ "path-exists": "^3.0.0"
+ }
+ },
+ "lodash": {
+ "version": "4.17.10",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz",
+ "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==",
+ "dev": true
+ },
+ "lodash._getnative": {
+ "version": "3.9.1",
+ "resolved": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz",
+ "integrity": "sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U=",
+ "dev": true
+ },
+ "lodash.assign": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz",
+ "integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=",
+ "dev": true
+ },
+ "lodash.camelcase": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz",
+ "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=",
+ "dev": true
+ },
+ "lodash.clonedeep": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz",
+ "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=",
+ "dev": true
+ },
+ "lodash.debounce": {
+ "version": "4.0.8",
+ "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz",
+ "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=",
+ "dev": true
+ },
+ "lodash.isarguments": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz",
+ "integrity": "sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo=",
+ "dev": true
+ },
+ "lodash.isarray": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz",
+ "integrity": "sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U=",
+ "dev": true
+ },
+ "lodash.isequal": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz",
+ "integrity": "sha1-QVxEePK8wwEgwizhDtMib30+GOA=",
+ "dev": true
+ },
+ "lodash.isplainobject": {
+ "version": "4.0.6",
+ "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz",
+ "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=",
+ "dev": true
+ },
+ "lodash.keys": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz",
+ "integrity": "sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=",
+ "dev": true,
+ "requires": {
+ "lodash._getnative": "^3.0.0",
+ "lodash.isarguments": "^3.0.0",
+ "lodash.isarray": "^3.0.0"
+ }
+ },
+ "lodash.memoize": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz",
+ "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=",
+ "dev": true
+ },
+ "lodash.mergewith": {
+ "version": "4.6.1",
+ "resolved": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.1.tgz",
+ "integrity": "sha512-eWw5r+PYICtEBgrBE5hhlT6aAa75f411bgDz/ZL2KZqYV03USvucsxcHUIlGTDTECs1eunpI7HOV7U+WLDvNdQ==",
+ "dev": true
+ },
+ "lodash.pick": {
+ "version": "4.4.0",
+ "resolved": "https://registry.npmjs.org/lodash.pick/-/lodash.pick-4.4.0.tgz",
+ "integrity": "sha1-UvBWEP/53tQiYRRB7R/BI6AwAbM=",
+ "dev": true
+ },
+ "lodash.some": {
+ "version": "4.6.0",
+ "resolved": "https://registry.npmjs.org/lodash.some/-/lodash.some-4.6.0.tgz",
+ "integrity": "sha1-G7nzFO9ri63tE7VJFpsqlF62jk0=",
+ "dev": true
+ },
+ "lodash.sortby": {
+ "version": "4.7.0",
+ "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz",
+ "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=",
+ "dev": true
+ },
+ "lodash.tail": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/lodash.tail/-/lodash.tail-4.1.1.tgz",
+ "integrity": "sha1-0jM6NtnncXyK0vfKyv7HwytERmQ=",
+ "dev": true
+ },
+ "lodash.throttle": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz",
+ "integrity": "sha1-wj6RtxAkKscMN/HhzaknTMOb8vQ=",
+ "dev": true
+ },
+ "lodash.uniq": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz",
+ "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=",
+ "dev": true
+ },
+ "log-symbols": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz",
+ "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==",
+ "dev": true,
+ "requires": {
+ "chalk": "^2.0.1"
+ }
+ },
+ "loglevel": {
+ "version": "1.6.1",
+ "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.6.1.tgz",
+ "integrity": "sha1-4PyVEztu8nbNyIh82vJKpvFW+Po=",
+ "dev": true
+ },
+ "loglevelnext": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/loglevelnext/-/loglevelnext-1.0.5.tgz",
+ "integrity": "sha512-V/73qkPuJmx4BcBF19xPBr+0ZRVBhc4POxvZTZdMeXpJ4NItXSJ/MSwuFT0kQJlCbXvdlZoQQ/418bS1y9Jh6A==",
+ "dev": true,
+ "requires": {
+ "es6-symbol": "^3.1.1",
+ "object.assign": "^4.1.0"
+ }
+ },
+ "long": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/long/-/long-3.2.0.tgz",
+ "integrity": "sha1-2CG3E4yhy1gcFymQ7xTbIAtcR0s=",
+ "dev": true
+ },
+ "longest": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz",
+ "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=",
+ "dev": true
+ },
+ "loose-envify": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
+ "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
+ "dev": true,
+ "requires": {
+ "js-tokens": "^3.0.0 || ^4.0.0"
+ }
+ },
+ "loud-rejection": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz",
+ "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=",
+ "dev": true,
+ "requires": {
+ "currently-unhandled": "^0.4.1",
+ "signal-exit": "^3.0.0"
+ }
+ },
+ "lower-case": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz",
+ "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=",
+ "dev": true
+ },
+ "lowlight": {
+ "version": "1.9.2",
+ "resolved": "https://registry.npmjs.org/lowlight/-/lowlight-1.9.2.tgz",
+ "integrity": "sha512-Ek18ElVCf/wF/jEm1b92gTnigh94CtBNWiZ2ad+vTgW7cTmQxUY3I98BjHK68gZAJEWmybGBZgx9qv3QxLQB/Q==",
+ "dev": true,
+ "requires": {
+ "fault": "^1.0.2",
+ "highlight.js": "~9.12.0"
+ }
+ },
+ "lru-cache": {
+ "version": "4.1.3",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz",
+ "integrity": "sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA==",
+ "dev": true,
+ "requires": {
+ "pseudomap": "^1.0.2",
+ "yallist": "^2.1.2"
+ }
+ },
+ "make-dir": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz",
+ "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==",
+ "dev": true,
+ "requires": {
+ "pify": "^3.0.0"
+ }
+ },
+ "make-error": {
+ "version": "1.3.4",
+ "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.4.tgz",
+ "integrity": "sha512-0Dab5btKVPhibSalc9QGXb559ED7G7iLjFXBaj9Wq8O3vorueR5K5jaE3hkG6ZQINyhA/JgG6Qk4qdFQjsYV6g==",
+ "dev": true
+ },
+ "mamacro": {
+ "version": "0.0.3",
+ "resolved": "https://registry.npmjs.org/mamacro/-/mamacro-0.0.3.tgz",
+ "integrity": "sha512-qMEwh+UujcQ+kbz3T6V+wAmO2U8veoq2w+3wY8MquqwVA3jChfwY+Tk52GZKDfACEPjuZ7r2oJLejwpt8jtwTA==",
+ "dev": true
+ },
+ "map-cache": {
+ "version": "0.2.2",
+ "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
+ "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=",
+ "dev": true
+ },
+ "map-obj": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz",
+ "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=",
+ "dev": true
+ },
+ "map-visit": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz",
+ "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=",
+ "dev": true,
+ "requires": {
+ "object-visit": "^1.0.0"
+ }
+ },
+ "marked": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/marked/-/marked-0.4.0.tgz",
+ "integrity": "sha512-tMsdNBgOsrUophCAFQl0XPe6Zqk/uy9gnue+jIIKhykO51hxyu6uNx7zBPy0+y/WKYVZZMspV9YeXLNdKk+iYw==",
+ "dev": true
+ },
+ "matched": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/matched/-/matched-1.0.2.tgz",
+ "integrity": "sha512-7ivM1jFZVTOOS77QsR+TtYHH0ecdLclMkqbf5qiJdX2RorqfhsL65QHySPZgDE0ZjHoh+mQUNHTanNXIlzXd0Q==",
+ "dev": true,
+ "requires": {
+ "arr-union": "^3.1.0",
+ "async-array-reduce": "^0.2.1",
+ "glob": "^7.1.2",
+ "has-glob": "^1.0.0",
+ "is-valid-glob": "^1.0.0",
+ "resolve-dir": "^1.0.0"
+ }
+ },
+ "material-colors": {
+ "version": "1.2.6",
+ "resolved": "https://registry.npmjs.org/material-colors/-/material-colors-1.2.6.tgz",
+ "integrity": "sha512-6qE4B9deFBIa9YSpOc9O0Sgc43zTeVYbgDT5veRKSlB2+ZuHNoVVxA1L/ckMUayV9Ay9y7Z/SZCLcGteW9i7bg==",
+ "dev": true
+ },
+ "math-expression-evaluator": {
+ "version": "1.2.17",
+ "resolved": "https://registry.npmjs.org/math-expression-evaluator/-/math-expression-evaluator-1.2.17.tgz",
+ "integrity": "sha1-3oGf282E3M2PrlnGrreWFbnSZqw=",
+ "dev": true
+ },
+ "math-random": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/math-random/-/math-random-1.0.1.tgz",
+ "integrity": "sha1-izqsWIuKZuSXXjzepn97sylgH6w=",
+ "dev": true
+ },
+ "md5.js": {
+ "version": "1.3.4",
+ "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.4.tgz",
+ "integrity": "sha1-6b296UogpawYsENA/Fdk1bCdkB0=",
+ "dev": true,
+ "requires": {
+ "hash-base": "^3.0.0",
+ "inherits": "^2.0.1"
+ }
+ },
+ "media-typer": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
+ "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=",
+ "dev": true
+ },
+ "mem": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz",
+ "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=",
+ "dev": true,
+ "requires": {
+ "mimic-fn": "^1.0.0"
+ }
+ },
+ "memory-fs": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz",
+ "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=",
+ "dev": true,
+ "requires": {
+ "errno": "^0.1.3",
+ "readable-stream": "^2.0.1"
+ }
+ },
+ "meow": {
+ "version": "3.7.0",
+ "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz",
+ "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=",
+ "dev": true,
+ "requires": {
+ "camelcase-keys": "^2.0.0",
+ "decamelize": "^1.1.2",
+ "loud-rejection": "^1.0.0",
+ "map-obj": "^1.0.1",
+ "minimist": "^1.1.3",
+ "normalize-package-data": "^2.3.4",
+ "object-assign": "^4.0.1",
+ "read-pkg-up": "^1.0.1",
+ "redent": "^1.0.0",
+ "trim-newlines": "^1.0.0"
+ },
+ "dependencies": {
+ "minimist": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+ "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
+ "dev": true
+ }
+ }
+ },
+ "merge-descriptors": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
+ "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=",
+ "dev": true
+ },
+ "merge2": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.2.2.tgz",
+ "integrity": "sha512-bgM8twH86rWni21thii6WCMQMRMmwqqdW3sGWi9IipnVAszdLXRjwDwAnyrVXo6DuP3AjRMMttZKUB48QWIFGg==",
+ "dev": true
+ },
+ "methods": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
+ "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=",
+ "dev": true
+ },
+ "micromatch": {
+ "version": "3.1.10",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
+ "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
+ "dev": true,
+ "requires": {
+ "arr-diff": "^4.0.0",
+ "array-unique": "^0.3.2",
+ "braces": "^2.3.1",
+ "define-property": "^2.0.2",
+ "extend-shallow": "^3.0.2",
+ "extglob": "^2.0.4",
+ "fragment-cache": "^0.2.1",
+ "kind-of": "^6.0.2",
+ "nanomatch": "^1.2.9",
+ "object.pick": "^1.3.0",
+ "regex-not": "^1.0.0",
+ "snapdragon": "^0.8.1",
+ "to-regex": "^3.0.2"
+ },
+ "dependencies": {
+ "snapdragon": {
+ "version": "0.8.2",
+ "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz",
+ "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==",
+ "dev": true,
+ "requires": {
+ "base": "^0.11.1",
+ "debug": "^2.2.0",
+ "define-property": "^0.2.5",
+ "extend-shallow": "^2.0.1",
+ "map-cache": "^0.2.2",
+ "source-map": "^0.5.6",
+ "source-map-resolve": "^0.5.0",
+ "use": "^3.1.0"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "^0.1.0"
+ }
+ },
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "dev": true,
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ }
+ }
+ }
+ }
+ },
+ "miller-rabin": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz",
+ "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==",
+ "dev": true,
+ "requires": {
+ "bn.js": "^4.0.0",
+ "brorand": "^1.0.1"
+ }
+ },
+ "mime": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
+ "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
+ "dev": true
+ },
+ "mime-db": {
+ "version": "1.35.0",
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.35.0.tgz",
+ "integrity": "sha512-JWT/IcCTsB0Io3AhWUMjRqucrHSPsSf2xKLaRldJVULioggvkJvggZ3VXNNSRkCddE6D+BUI4HEIZIA2OjwIvg==",
+ "dev": true
+ },
+ "mime-types": {
+ "version": "2.1.19",
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.19.tgz",
+ "integrity": "sha512-P1tKYHVSZ6uFo26mtnve4HQFE3koh1UWVkp8YUC+ESBHe945xWSoXuHHiGarDqcEZ+whpCDnlNw5LON0kLo+sw==",
+ "dev": true,
+ "requires": {
+ "mime-db": "~1.35.0"
+ }
+ },
+ "mimic-fn": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz",
+ "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==",
+ "dev": true
+ },
+ "min-document": {
+ "version": "2.19.0",
+ "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz",
+ "integrity": "sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=",
+ "dev": true,
+ "requires": {
+ "dom-walk": "^0.1.0"
+ },
+ "dependencies": {
+ "dom-walk": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.1.tgz",
+ "integrity": "sha1-ZyIm3HTI95mtNTB9+TaroRrNYBg=",
+ "dev": true
+ }
+ }
+ },
+ "mini-css-extract-plugin": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-0.4.1.tgz",
+ "integrity": "sha512-XWuB3G61Rtasq/gLe7cp5cuozehE6hN+E4sxCamRR/WDiHTg+f7ZIAS024r8UJQffY+e2gGELXQZgQoFDfNDCg==",
+ "dev": true,
+ "requires": {
+ "@webpack-contrib/schema-utils": "^1.0.0-beta.0",
+ "loader-utils": "^1.1.0",
+ "webpack-sources": "^1.1.0"
+ }
+ },
+ "minimalistic-assert": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz",
+ "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==",
+ "dev": true
+ },
+ "minimalistic-crypto-utils": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz",
+ "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=",
+ "dev": true
+ },
+ "minimatch": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
+ "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
+ "dev": true,
+ "requires": {
+ "brace-expansion": "^1.1.7"
+ }
+ },
+ "minimist": {
+ "version": "0.0.8",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
+ "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
+ "dev": true
+ },
+ "mississippi": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-2.0.0.tgz",
+ "integrity": "sha512-zHo8v+otD1J10j/tC+VNoGK9keCuByhKovAvdn74dmxJl9+mWHnx6EMsDN4lgRoMI/eYo2nchAxniIbUPb5onw==",
+ "dev": true,
+ "requires": {
+ "concat-stream": "^1.5.0",
+ "duplexify": "^3.4.2",
+ "end-of-stream": "^1.1.0",
+ "flush-write-stream": "^1.0.0",
+ "from2": "^2.1.0",
+ "parallel-transform": "^1.1.0",
+ "pump": "^2.0.1",
+ "pumpify": "^1.3.3",
+ "stream-each": "^1.1.0",
+ "through2": "^2.0.0"
+ }
+ },
+ "mixin-deep": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz",
+ "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==",
+ "dev": true,
+ "requires": {
+ "for-in": "^1.0.2",
+ "is-extendable": "^1.0.1"
+ },
+ "dependencies": {
+ "is-extendable": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
+ "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
+ "dev": true,
+ "requires": {
+ "is-plain-object": "^2.0.4"
+ }
+ }
+ }
+ },
+ "mixin-object": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/mixin-object/-/mixin-object-2.0.1.tgz",
+ "integrity": "sha1-T7lJRB2rGCVA8f4DW6YOGUel5X4=",
+ "dev": true,
+ "requires": {
+ "for-in": "^0.1.3",
+ "is-extendable": "^0.1.1"
+ },
+ "dependencies": {
+ "for-in": {
+ "version": "0.1.8",
+ "resolved": "https://registry.npmjs.org/for-in/-/for-in-0.1.8.tgz",
+ "integrity": "sha1-2Hc5COMSVhCZUrH9ubP6hn0ndeE=",
+ "dev": true
+ }
+ }
+ },
+ "mkdirp": {
+ "version": "0.5.1",
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
+ "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
+ "dev": true,
+ "requires": {
+ "minimist": "0.0.8"
+ }
+ },
+ "moment": {
+ "version": "2.22.2",
+ "resolved": "https://registry.npmjs.org/moment/-/moment-2.22.2.tgz",
+ "integrity": "sha1-PCV/mDn8DpP/UxSWMiOeuQeD/2Y=",
+ "dev": true
+ },
+ "move-concurrently": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz",
+ "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=",
+ "dev": true,
+ "requires": {
+ "aproba": "^1.1.1",
+ "copy-concurrently": "^1.0.0",
+ "fs-write-stream-atomic": "^1.0.8",
+ "mkdirp": "^0.5.1",
+ "rimraf": "^2.5.4",
+ "run-queue": "^1.0.3"
+ }
+ },
+ "ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
+ "dev": true
+ },
+ "multicast-dns": {
+ "version": "6.2.3",
+ "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz",
+ "integrity": "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==",
+ "dev": true,
+ "requires": {
+ "dns-packet": "^1.3.1",
+ "thunky": "^1.0.2"
+ }
+ },
+ "multicast-dns-service-types": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz",
+ "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=",
+ "dev": true
+ },
+ "mute-stream": {
+ "version": "0.0.7",
+ "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz",
+ "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=",
+ "dev": true
+ },
+ "nanomatch": {
+ "version": "1.2.13",
+ "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz",
+ "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==",
+ "dev": true,
+ "requires": {
+ "arr-diff": "^4.0.0",
+ "array-unique": "^0.3.2",
+ "define-property": "^2.0.2",
+ "extend-shallow": "^3.0.2",
+ "fragment-cache": "^0.2.1",
+ "is-windows": "^1.0.2",
+ "kind-of": "^6.0.2",
+ "object.pick": "^1.3.0",
+ "regex-not": "^1.0.0",
+ "snapdragon": "^0.8.1",
+ "to-regex": "^3.0.1"
+ },
+ "dependencies": {
+ "snapdragon": {
+ "version": "0.8.2",
+ "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz",
+ "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==",
+ "dev": true,
+ "requires": {
+ "base": "^0.11.1",
+ "debug": "^2.2.0",
+ "define-property": "^0.2.5",
+ "extend-shallow": "^2.0.1",
+ "map-cache": "^0.2.2",
+ "source-map": "^0.5.6",
+ "source-map-resolve": "^0.5.0",
+ "use": "^3.1.0"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "^0.1.0"
+ }
+ },
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "dev": true,
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ }
+ }
+ }
+ }
+ },
+ "natural-compare": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
+ "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=",
+ "dev": true
+ },
+ "neo-async": {
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.5.1.tgz",
+ "integrity": "sha512-3KL3fvuRkZ7s4IFOMfztb7zJp3QaVWnBeGoJlgB38XnCRPj/0tLzzLG5IB8NYOHbJ8g8UGrgZv44GLDk6CxTxA==",
+ "dev": true
+ },
+ "next-tick": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz",
+ "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=",
+ "dev": true
+ },
+ "nice-try": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.4.tgz",
+ "integrity": "sha512-2NpiFHqC87y/zFke0fC0spBXL3bBsoh/p5H1EFhshxjCR5+0g2d6BiXbUFz9v1sAcxsk2htp2eQnNIci2dIYcA==",
+ "dev": true
+ },
+ "no-case": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz",
+ "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==",
+ "dev": true,
+ "requires": {
+ "lower-case": "^1.1.1"
+ }
+ },
+ "node-forge": {
+ "version": "0.7.5",
+ "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.7.5.tgz",
+ "integrity": "sha512-MmbQJ2MTESTjt3Gi/3yG1wGpIMhUfcIypUCGtTizFR9IiccFwxSpfp0vtIZlkFclEqERemxfnSdZEMR9VqqEFQ==",
+ "dev": true
+ },
+ "node-sass": {
+ "version": "4.9.2",
+ "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.9.2.tgz",
+ "integrity": "sha512-LdxoJLZutx0aQXHtWIYwJKMj+9pTjneTcLWJgzf2XbGu0q5pRNqW5QvFCEdm3mc5rJOdru/mzln5d0EZLacf6g==",
+ "dev": true,
+ "requires": {
+ "async-foreach": "^0.1.3",
+ "chalk": "^1.1.1",
+ "cross-spawn": "^3.0.0",
+ "gaze": "^1.0.0",
+ "get-stdin": "^4.0.1",
+ "glob": "^7.0.3",
+ "in-publish": "^2.0.0",
+ "lodash.assign": "^4.2.0",
+ "lodash.clonedeep": "^4.3.2",
+ "lodash.mergewith": "^4.6.0",
+ "meow": "^3.7.0",
+ "mkdirp": "^0.5.1",
+ "nan": "^2.10.0",
+ "node-gyp": "^3.3.1",
+ "npmlog": "^4.0.0",
+ "request": "2.87.0",
+ "sass-graph": "^2.2.4",
+ "stdout-stream": "^1.4.0",
+ "true-case-path": "^1.0.2"
+ },
+ "dependencies": {
+ "ajv": {
+ "version": "4.11.8",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz",
+ "integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=",
+ "dev": true,
+ "requires": {
+ "co": "^4.6.0",
+ "json-stable-stringify": "^1.0.1"
+ }
+ },
+ "ansi-styles": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
+ "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
+ "dev": true
+ },
+ "assert-plus": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz",
+ "integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ=",
+ "dev": true
+ },
+ "aws-sign2": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz",
+ "integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=",
+ "dev": true
+ },
+ "chalk": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^2.2.1",
+ "escape-string-regexp": "^1.0.2",
+ "has-ansi": "^2.0.0",
+ "strip-ansi": "^3.0.0",
+ "supports-color": "^2.0.0"
+ }
+ },
+ "form-data": {
+ "version": "2.1.4",
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz",
+ "integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=",
+ "dev": true,
+ "requires": {
+ "asynckit": "^0.4.0",
+ "combined-stream": "^1.0.5",
+ "mime-types": "^2.1.12"
+ }
+ },
+ "har-schema": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-1.0.5.tgz",
+ "integrity": "sha1-0mMTX0MwfALGAq/I/pWXDAFRNp4=",
+ "dev": true
+ },
+ "har-validator": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-4.2.1.tgz",
+ "integrity": "sha1-M0gdDxu/9gDdID11gSpqX7oALio=",
+ "dev": true,
+ "requires": {
+ "ajv": "^4.9.1",
+ "har-schema": "^1.0.5"
+ }
+ },
+ "http-signature": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz",
+ "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=",
+ "dev": true,
+ "requires": {
+ "assert-plus": "^0.2.0",
+ "jsprim": "^1.2.2",
+ "sshpk": "^1.7.0"
+ }
+ },
+ "nan": {
+ "version": "2.10.0",
+ "resolved": "https://registry.npmjs.org/nan/-/nan-2.10.0.tgz",
+ "integrity": "sha512-bAdJv7fBLhWC+/Bls0Oza+mvTaNQtP+1RyhhhvD95pgUJz6XM5IzgmxOkItJ9tkoCiplvAnXI1tNmmUD/eScyA==",
+ "dev": true
+ },
+ "node-gyp": {
+ "version": "3.7.0",
+ "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.7.0.tgz",
+ "integrity": "sha512-qDQE/Ft9xXP6zphwx4sD0t+VhwV7yFaloMpfbL2QnnDZcyaiakWlLdtFGGQfTAwpFHdpbRhRxVhIHN1OKAjgbg==",
+ "dev": true,
+ "requires": {
+ "fstream": "^1.0.0",
+ "glob": "^7.0.3",
+ "graceful-fs": "^4.1.2",
+ "mkdirp": "^0.5.0",
+ "nopt": "2 || 3",
+ "npmlog": "0 || 1 || 2 || 3 || 4",
+ "osenv": "0",
+ "request": ">=2.9.0 <2.82.0",
+ "rimraf": "2",
+ "semver": "~5.3.0",
+ "tar": "^2.0.0",
+ "which": "1"
+ },
+ "dependencies": {
+ "request": {
+ "version": "2.81.0",
+ "resolved": "https://registry.npmjs.org/request/-/request-2.81.0.tgz",
+ "integrity": "sha1-xpKJRqDgbF+Nb4qTM0af/aRimKA=",
+ "dev": true,
+ "requires": {
+ "aws-sign2": "~0.6.0",
+ "aws4": "^1.2.1",
+ "caseless": "~0.12.0",
+ "combined-stream": "~1.0.5",
+ "extend": "~3.0.0",
+ "forever-agent": "~0.6.1",
+ "form-data": "~2.1.1",
+ "har-validator": "~4.2.1",
+ "hawk": "~3.1.3",
+ "http-signature": "~1.1.0",
+ "is-typedarray": "~1.0.0",
+ "isstream": "~0.1.2",
+ "json-stringify-safe": "~5.0.1",
+ "mime-types": "~2.1.7",
+ "oauth-sign": "~0.8.1",
+ "performance-now": "^0.2.0",
+ "qs": "~6.4.0",
+ "safe-buffer": "^5.0.1",
+ "stringstream": "~0.0.4",
+ "tough-cookie": "~2.3.0",
+ "tunnel-agent": "^0.6.0",
+ "uuid": "^3.0.0"
+ }
+ }
+ }
+ },
+ "performance-now": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-0.2.0.tgz",
+ "integrity": "sha1-M+8wxcd9TqIcWlOGnZG1bY8lVeU=",
+ "dev": true
+ },
+ "punycode": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
+ "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=",
+ "dev": true
+ },
+ "qs": {
+ "version": "6.4.0",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.4.0.tgz",
+ "integrity": "sha1-E+JtKK1rD/qpExLNO/cI7TUecjM=",
+ "dev": true
+ },
+ "semver": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz",
+ "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=",
+ "dev": true
+ },
+ "sshpk": {
+ "version": "1.14.2",
+ "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.14.2.tgz",
+ "integrity": "sha1-xvxhZIo9nE52T9P8306hBeSSupg=",
+ "dev": true,
+ "requires": {
+ "asn1": "~0.2.3",
+ "assert-plus": "^1.0.0",
+ "bcrypt-pbkdf": "^1.0.0",
+ "dashdash": "^1.12.0",
+ "ecc-jsbn": "~0.1.1",
+ "getpass": "^0.1.1",
+ "jsbn": "~0.1.0",
+ "safer-buffer": "^2.0.2",
+ "tweetnacl": "~0.14.0"
+ },
+ "dependencies": {
+ "assert-plus": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+ "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
+ "dev": true
+ }
+ }
+ },
+ "supports-color": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
+ "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+ "dev": true
+ },
+ "tough-cookie": {
+ "version": "2.3.4",
+ "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.4.tgz",
+ "integrity": "sha512-TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA==",
+ "dev": true,
+ "requires": {
+ "punycode": "^1.4.1"
+ }
+ }
+ }
+ },
+ "nopt": {
+ "version": "3.0.6",
+ "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz",
+ "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=",
+ "dev": true,
+ "requires": {
+ "abbrev": "1"
+ }
+ },
+ "normalize-package-data": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz",
+ "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==",
+ "dev": true,
+ "requires": {
+ "hosted-git-info": "^2.1.4",
+ "is-builtin-module": "^1.0.0",
+ "semver": "2 || 3 || 4 || 5",
+ "validate-npm-package-license": "^3.0.1"
+ }
+ },
+ "normalize-path": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
+ "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
+ "dev": true,
+ "requires": {
+ "remove-trailing-separator": "^1.0.1"
+ }
+ },
+ "normalize-range": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz",
+ "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=",
+ "dev": true
+ },
+ "normalize-url": {
+ "version": "1.9.1",
+ "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz",
+ "integrity": "sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=",
+ "dev": true,
+ "requires": {
+ "object-assign": "^4.0.1",
+ "prepend-http": "^1.0.0",
+ "query-string": "^4.1.0",
+ "sort-keys": "^1.0.0"
+ }
+ },
+ "npm-package-arg": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-6.1.0.tgz",
+ "integrity": "sha512-zYbhP2k9DbJhA0Z3HKUePUgdB1x7MfIfKssC+WLPFMKTBZKpZh5m13PgexJjCq6KW7j17r0jHWcCpxEqnnncSA==",
+ "dev": true,
+ "requires": {
+ "hosted-git-info": "^2.6.0",
+ "osenv": "^0.1.5",
+ "semver": "^5.5.0",
+ "validate-npm-package-name": "^3.0.0"
+ }
+ },
+ "npm-registry-client": {
+ "version": "8.6.0",
+ "resolved": "https://registry.npmjs.org/npm-registry-client/-/npm-registry-client-8.6.0.tgz",
+ "integrity": "sha512-Qs6P6nnopig+Y8gbzpeN/dkt+n7IyVd8f45NTMotGk6Qo7GfBmzwYx6jRLoOOgKiMnaQfYxsuyQlD8Mc3guBhg==",
+ "dev": true,
+ "requires": {
+ "concat-stream": "^1.5.2",
+ "graceful-fs": "^4.1.6",
+ "normalize-package-data": "~1.0.1 || ^2.0.0",
+ "npm-package-arg": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0",
+ "npmlog": "2 || ^3.1.0 || ^4.0.0",
+ "once": "^1.3.3",
+ "request": "^2.74.0",
+ "retry": "^0.10.0",
+ "safe-buffer": "^5.1.1",
+ "semver": "2 >=2.2.1 || 3.x || 4 || 5",
+ "slide": "^1.1.3",
+ "ssri": "^5.2.4"
+ }
+ },
+ "npm-run-path": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz",
+ "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=",
+ "dev": true,
+ "requires": {
+ "path-key": "^2.0.0"
+ }
+ },
+ "npmlog": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz",
+ "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==",
+ "dev": true,
+ "requires": {
+ "are-we-there-yet": "~1.1.2",
+ "console-control-strings": "~1.1.0",
+ "gauge": "~2.7.3",
+ "set-blocking": "~2.0.0"
+ }
+ },
+ "nth-check": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.1.tgz",
+ "integrity": "sha1-mSms32KPwsQQmN6rgqxYDPFJquQ=",
+ "dev": true,
+ "requires": {
+ "boolbase": "~1.0.0"
+ }
+ },
+ "num2fraction": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz",
+ "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=",
+ "dev": true
+ },
+ "number-is-nan": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
+ "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=",
+ "dev": true
+ },
+ "oauth-sign": {
+ "version": "0.8.2",
+ "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz",
+ "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=",
+ "dev": true
+ },
+ "object-assign": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
+ "dev": true
+ },
+ "object-keys": {
+ "version": "1.0.12",
+ "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.12.tgz",
+ "integrity": "sha512-FTMyFUm2wBcGHnH2eXmz7tC6IwlqQZ6mVZ+6dm6vZ4IQIHjs6FdNsQBuKGPuUUUY6NfJw2PshC08Tn6LzLDOag==",
+ "dev": true
+ },
+ "object-visit": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz",
+ "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=",
+ "dev": true,
+ "requires": {
+ "isobject": "^3.0.0"
+ }
+ },
+ "object.assign": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz",
+ "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==",
+ "dev": true,
+ "requires": {
+ "define-properties": "^1.1.2",
+ "function-bind": "^1.1.1",
+ "has-symbols": "^1.0.0",
+ "object-keys": "^1.0.11"
+ }
+ },
+ "object.entries": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.0.4.tgz",
+ "integrity": "sha1-G/mk3SKI9bM/Opk9JXZh8F0WGl8=",
+ "dev": true,
+ "requires": {
+ "define-properties": "^1.1.2",
+ "es-abstract": "^1.6.1",
+ "function-bind": "^1.1.0",
+ "has": "^1.0.1"
+ }
+ },
+ "object.fromentries": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-1.0.0.tgz",
+ "integrity": "sha512-F7XUm84lg0uNXNzrRAC5q8KJe0yYaxgLU9hTSqWYM6Rfnh0YjP24EG3xq7ncj2Wu1AdfueNHKCOlamIonG4UHQ==",
+ "dev": true,
+ "requires": {
+ "define-properties": "^1.1.2",
+ "es-abstract": "^1.11.0",
+ "function-bind": "^1.1.1",
+ "has": "^1.0.1"
+ }
+ },
+ "object.getownpropertydescriptors": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz",
+ "integrity": "sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY=",
+ "dev": true,
+ "requires": {
+ "define-properties": "^1.1.2",
+ "es-abstract": "^1.5.1"
+ }
+ },
+ "object.omit": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz",
+ "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=",
+ "dev": true,
+ "requires": {
+ "for-own": "^0.1.4",
+ "is-extendable": "^0.1.1"
+ },
+ "dependencies": {
+ "for-own": {
+ "version": "0.1.5",
+ "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz",
+ "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=",
+ "dev": true,
+ "requires": {
+ "for-in": "^1.0.1"
+ }
+ }
+ }
+ },
+ "object.pick": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz",
+ "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=",
+ "dev": true,
+ "requires": {
+ "isobject": "^3.0.1"
+ }
+ },
+ "object.values": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.0.4.tgz",
+ "integrity": "sha1-5STaCbT2b/Bd9FdUbscqyZ8TBpo=",
+ "dev": true,
+ "requires": {
+ "define-properties": "^1.1.2",
+ "es-abstract": "^1.6.1",
+ "function-bind": "^1.1.0",
+ "has": "^1.0.1"
+ }
+ },
+ "obuf": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz",
+ "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==",
+ "dev": true
+ },
+ "on-finished": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
+ "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=",
+ "dev": true,
+ "requires": {
+ "ee-first": "1.1.1"
+ }
+ },
+ "on-headers": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.1.tgz",
+ "integrity": "sha1-ko9dD0cNSTQmUepnlLCFfBAGk/c=",
+ "dev": true
+ },
+ "onap-ui-common": {
+ "version": "1.0.55",
+ "resolved": "https://registry.npmjs.org/onap-ui-common/-/onap-ui-common-1.0.55.tgz",
+ "integrity": "sha1-8SJt7Nt2azDu1kUZ8CW8nBX1rho=",
+ "dev": true
+ },
+ "once": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+ "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
+ "dev": true,
+ "requires": {
+ "wrappy": "1"
+ }
+ },
+ "onetime": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz",
+ "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=",
+ "dev": true,
+ "requires": {
+ "mimic-fn": "^1.0.0"
+ }
+ },
+ "opn": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/opn/-/opn-5.3.0.tgz",
+ "integrity": "sha512-bYJHo/LOmoTd+pfiYhfZDnf9zekVJrY+cnS2a5F2x+w5ppvTqObojTP7WiFG+kVZs9Inw+qQ/lw7TroWwhdd2g==",
+ "dev": true,
+ "requires": {
+ "is-wsl": "^1.1.0"
+ }
+ },
+ "optimist": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz",
+ "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=",
+ "dev": true,
+ "requires": {
+ "minimist": "~0.0.1",
+ "wordwrap": "~0.0.2"
+ },
+ "dependencies": {
+ "wordwrap": {
+ "version": "0.0.3",
+ "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz",
+ "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=",
+ "dev": true
+ }
+ }
+ },
+ "optionator": {
+ "version": "0.8.2",
+ "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz",
+ "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=",
+ "dev": true,
+ "requires": {
+ "deep-is": "~0.1.3",
+ "fast-levenshtein": "~2.0.4",
+ "levn": "~0.3.0",
+ "prelude-ls": "~1.1.2",
+ "type-check": "~0.3.2",
+ "wordwrap": "~1.0.0"
+ }
+ },
+ "original": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/original/-/original-1.0.1.tgz",
+ "integrity": "sha512-IEvtB5vM5ULvwnqMxWBLxkS13JIEXbakizMSo3yoPNPCIWzg8TG3Usn/UhXoZFM/m+FuEA20KdzPSFq/0rS+UA==",
+ "dev": true,
+ "requires": {
+ "url-parse": "~1.4.0"
+ }
+ },
+ "os-browserify": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz",
+ "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=",
+ "dev": true
+ },
+ "os-homedir": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
+ "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=",
+ "dev": true
+ },
+ "os-locale": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz",
+ "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=",
+ "dev": true,
+ "requires": {
+ "lcid": "^1.0.0"
+ }
+ },
+ "os-tmpdir": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
+ "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",
+ "dev": true
+ },
+ "osenv": {
+ "version": "0.1.5",
+ "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz",
+ "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==",
+ "dev": true,
+ "requires": {
+ "os-homedir": "^1.0.0",
+ "os-tmpdir": "^1.0.0"
+ }
+ },
+ "p-finally": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz",
+ "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=",
+ "dev": true
+ },
+ "p-limit": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz",
+ "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==",
+ "dev": true,
+ "requires": {
+ "p-try": "^1.0.0"
+ }
+ },
+ "p-locate": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz",
+ "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=",
+ "dev": true,
+ "requires": {
+ "p-limit": "^1.1.0"
+ }
+ },
+ "p-map": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/p-map/-/p-map-1.2.0.tgz",
+ "integrity": "sha512-r6zKACMNhjPJMTl8KcFH4li//gkrXWfbD6feV8l6doRHlzljFWGJ2AP6iKaCJXyZmAUMOPtvbW7EXkbWO/pLEA==",
+ "dev": true
+ },
+ "p-try": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz",
+ "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=",
+ "dev": true
+ },
+ "pako": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.6.tgz",
+ "integrity": "sha512-lQe48YPsMJAig+yngZ87Lus+NF+3mtu7DVOBu6b/gHO1YpKwIj5AWjZ/TOS7i46HD/UixzWb1zeWDZfGZ3iYcg==",
+ "dev": true
+ },
+ "parallel-transform": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.1.0.tgz",
+ "integrity": "sha1-1BDwZbBdojCB/NEPKIVMKb2jOwY=",
+ "dev": true,
+ "requires": {
+ "cyclist": "~0.2.2",
+ "inherits": "^2.0.3",
+ "readable-stream": "^2.1.5"
+ }
+ },
+ "param-case": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz",
+ "integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=",
+ "dev": true,
+ "requires": {
+ "no-case": "^2.2.0"
+ }
+ },
+ "parse-asn1": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.1.tgz",
+ "integrity": "sha512-KPx7flKXg775zZpnp9SxJlz00gTd4BmJ2yJufSc44gMCRrRQ7NSzAcSJQfifuOLgW6bEi+ftrALtsgALeB2Adw==",
+ "dev": true,
+ "requires": {
+ "asn1.js": "^4.0.0",
+ "browserify-aes": "^1.0.0",
+ "create-hash": "^1.1.0",
+ "evp_bytestokey": "^1.0.0",
+ "pbkdf2": "^3.0.3"
+ }
+ },
+ "parse-entities": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-1.1.2.tgz",
+ "integrity": "sha512-5N9lmQ7tmxfXf+hO3X6KRG6w7uYO/HL9fHalSySTdyn63C3WNvTM/1R8tn1u1larNcEbo3Slcy2bsVDQqvEpUg==",
+ "dev": true,
+ "requires": {
+ "character-entities": "^1.0.0",
+ "character-entities-legacy": "^1.0.0",
+ "character-reference-invalid": "^1.0.0",
+ "is-alphanumerical": "^1.0.0",
+ "is-decimal": "^1.0.0",
+ "is-hexadecimal": "^1.0.0"
+ }
+ },
+ "parse-glob": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz",
+ "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=",
+ "dev": true,
+ "requires": {
+ "glob-base": "^0.3.0",
+ "is-dotfile": "^1.0.0",
+ "is-extglob": "^1.0.0",
+ "is-glob": "^2.0.0"
+ },
+ "dependencies": {
+ "is-extglob": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
+ "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=",
+ "dev": true
+ },
+ "is-glob": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
+ "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
+ "dev": true,
+ "requires": {
+ "is-extglob": "^1.0.0"
+ }
+ }
+ }
+ },
+ "parse-json": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
+ "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
+ "dev": true,
+ "requires": {
+ "error-ex": "^1.2.0"
+ }
+ },
+ "parse-passwd": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz",
+ "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=",
+ "dev": true
+ },
+ "parse5": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/parse5/-/parse5-4.0.0.tgz",
+ "integrity": "sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA==",
+ "dev": true
+ },
+ "parseurl": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz",
+ "integrity": "sha1-/CidTtiZMRlGDBViUyYs3I3mW/M=",
+ "dev": true
+ },
+ "pascalcase": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz",
+ "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=",
+ "dev": true
+ },
+ "path-browserify": {
+ "version": "0.0.0",
+ "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.0.tgz",
+ "integrity": "sha1-oLhwcpquIUAFt9UDLsLLuw+0RRo=",
+ "dev": true
+ },
+ "path-dirname": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz",
+ "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=",
+ "dev": true
+ },
+ "path-exists": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
+ "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
+ "dev": true
+ },
+ "path-is-absolute": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
+ "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
+ "dev": true
+ },
+ "path-is-inside": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz",
+ "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=",
+ "dev": true
+ },
+ "path-key": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
+ "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=",
+ "dev": true
+ },
+ "path-parse": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz",
+ "integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=",
+ "dev": true
+ },
+ "path-to-regexp": {
+ "version": "0.1.7",
+ "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
+ "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=",
+ "dev": true
+ },
+ "path-type": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz",
+ "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==",
+ "dev": true,
+ "requires": {
+ "pify": "^3.0.0"
+ }
+ },
+ "pbkdf2": {
+ "version": "3.0.16",
+ "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.16.tgz",
+ "integrity": "sha512-y4CXP3thSxqf7c0qmOF+9UeOTrifiVTIM+u7NWlq+PRsHbr7r7dpCmvzrZxa96JJUNi0Y5w9VqG5ZNeCVMoDcA==",
+ "dev": true,
+ "requires": {
+ "create-hash": "^1.1.2",
+ "create-hmac": "^1.1.4",
+ "ripemd160": "^2.0.1",
+ "safe-buffer": "^5.0.1",
+ "sha.js": "^2.4.8"
+ }
+ },
+ "pend": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz",
+ "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=",
+ "dev": true
+ },
+ "performance-now": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
+ "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=",
+ "dev": true
+ },
+ "pify": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
+ "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
+ "dev": true
+ },
+ "pinkie": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz",
+ "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=",
+ "dev": true
+ },
+ "pinkie-promise": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
+ "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=",
+ "dev": true,
+ "requires": {
+ "pinkie": "^2.0.0"
+ }
+ },
+ "pkg-dir": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz",
+ "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=",
+ "dev": true,
+ "requires": {
+ "find-up": "^2.1.0"
+ }
+ },
+ "pkg-up": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-2.0.0.tgz",
+ "integrity": "sha1-yBmscoBZpGHKscOImivjxJoATX8=",
+ "dev": true,
+ "requires": {
+ "find-up": "^2.1.0"
+ }
+ },
+ "pngjs": {
+ "version": "3.3.3",
+ "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-3.3.3.tgz",
+ "integrity": "sha512-1n3Z4p3IOxArEs1VRXnZ/RXdfEniAUS9jb68g58FIXMNkPJeZd+Qh4Uq7/e0LVxAQGos1eIUrqrt4FpjdnEd+Q==",
+ "dev": true
+ },
+ "portfinder": {
+ "version": "1.0.13",
+ "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.13.tgz",
+ "integrity": "sha1-uzLs2HwnEErm7kS1o8y/Drsa7ek=",
+ "dev": true,
+ "requires": {
+ "async": "^1.5.2",
+ "debug": "^2.2.0",
+ "mkdirp": "0.5.x"
+ }
+ },
+ "posix-character-classes": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
+ "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=",
+ "dev": true
+ },
+ "postcss": {
+ "version": "6.0.23",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
+ "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
+ "dev": true,
+ "requires": {
+ "chalk": "^2.4.1",
+ "source-map": "^0.6.1",
+ "supports-color": "^5.4.0"
+ },
+ "dependencies": {
+ "chalk": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz",
+ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ }
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true
+ }
+ }
+ },
+ "postcss-calc": {
+ "version": "5.3.1",
+ "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-5.3.1.tgz",
+ "integrity": "sha1-d7rnypKK2FcW4v2kLyYb98HWW14=",
+ "dev": true,
+ "requires": {
+ "postcss": "^5.0.2",
+ "postcss-message-helpers": "^2.0.0",
+ "reduce-css-calc": "^1.2.6"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
+ "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
+ "dev": true
+ },
+ "chalk": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^2.2.1",
+ "escape-string-regexp": "^1.0.2",
+ "has-ansi": "^2.0.0",
+ "strip-ansi": "^3.0.0",
+ "supports-color": "^2.0.0"
+ },
+ "dependencies": {
+ "supports-color": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
+ "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+ "dev": true
+ }
+ }
+ },
+ "has-flag": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
+ "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=",
+ "dev": true
+ },
+ "postcss": {
+ "version": "5.2.18",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz",
+ "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==",
+ "dev": true,
+ "requires": {
+ "chalk": "^1.1.3",
+ "js-base64": "^2.1.9",
+ "source-map": "^0.5.6",
+ "supports-color": "^3.2.3"
+ }
+ },
+ "supports-color": {
+ "version": "3.2.3",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
+ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+ "dev": true,
+ "requires": {
+ "has-flag": "^1.0.0"
+ }
+ }
+ }
+ },
+ "postcss-colormin": {
+ "version": "2.2.2",
+ "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-2.2.2.tgz",
+ "integrity": "sha1-ZjFBfV8OkJo9fsJrJMio0eT5bks=",
+ "dev": true,
+ "requires": {
+ "colormin": "^1.0.5",
+ "postcss": "^5.0.13",
+ "postcss-value-parser": "^3.2.3"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
+ "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
+ "dev": true
+ },
+ "chalk": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^2.2.1",
+ "escape-string-regexp": "^1.0.2",
+ "has-ansi": "^2.0.0",
+ "strip-ansi": "^3.0.0",
+ "supports-color": "^2.0.0"
+ },
+ "dependencies": {
+ "supports-color": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
+ "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+ "dev": true
+ }
+ }
+ },
+ "colormin": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/colormin/-/colormin-1.1.2.tgz",
+ "integrity": "sha1-6i90IKcrlogaOKrlnsEkpvcpgTM=",
+ "dev": true,
+ "requires": {
+ "color": "^0.11.0",
+ "css-color-names": "0.0.4",
+ "has": "^1.0.1"
+ }
+ },
+ "has-flag": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
+ "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=",
+ "dev": true
+ },
+ "postcss": {
+ "version": "5.2.18",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz",
+ "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==",
+ "dev": true,
+ "requires": {
+ "chalk": "^1.1.3",
+ "js-base64": "^2.1.9",
+ "source-map": "^0.5.6",
+ "supports-color": "^3.2.3"
+ }
+ },
+ "supports-color": {
+ "version": "3.2.3",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
+ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+ "dev": true,
+ "requires": {
+ "has-flag": "^1.0.0"
+ }
+ }
+ }
+ },
+ "postcss-convert-values": {
+ "version": "2.6.1",
+ "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-2.6.1.tgz",
+ "integrity": "sha1-u9hZPFwf0uPRwyK7kl3K6Nrk1i0=",
+ "dev": true,
+ "requires": {
+ "postcss": "^5.0.11",
+ "postcss-value-parser": "^3.1.2"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
+ "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
+ "dev": true
+ },
+ "chalk": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^2.2.1",
+ "escape-string-regexp": "^1.0.2",
+ "has-ansi": "^2.0.0",
+ "strip-ansi": "^3.0.0",
+ "supports-color": "^2.0.0"
+ },
+ "dependencies": {
+ "supports-color": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
+ "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+ "dev": true
+ }
+ }
+ },
+ "has-flag": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
+ "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=",
+ "dev": true
+ },
+ "postcss": {
+ "version": "5.2.18",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz",
+ "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==",
+ "dev": true,
+ "requires": {
+ "chalk": "^1.1.3",
+ "js-base64": "^2.1.9",
+ "source-map": "^0.5.6",
+ "supports-color": "^3.2.3"
+ }
+ },
+ "supports-color": {
+ "version": "3.2.3",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
+ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+ "dev": true,
+ "requires": {
+ "has-flag": "^1.0.0"
+ }
+ }
+ }
+ },
+ "postcss-discard-comments": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-2.0.4.tgz",
+ "integrity": "sha1-vv6J+v1bPazlzM5Rt2uBUUvgDj0=",
+ "dev": true,
+ "requires": {
+ "postcss": "^5.0.14"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
+ "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
+ "dev": true
+ },
+ "chalk": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^2.2.1",
+ "escape-string-regexp": "^1.0.2",
+ "has-ansi": "^2.0.0",
+ "strip-ansi": "^3.0.0",
+ "supports-color": "^2.0.0"
+ },
+ "dependencies": {
+ "supports-color": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
+ "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+ "dev": true
+ }
+ }
+ },
+ "has-flag": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
+ "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=",
+ "dev": true
+ },
+ "postcss": {
+ "version": "5.2.18",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz",
+ "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==",
+ "dev": true,
+ "requires": {
+ "chalk": "^1.1.3",
+ "js-base64": "^2.1.9",
+ "source-map": "^0.5.6",
+ "supports-color": "^3.2.3"
+ }
+ },
+ "supports-color": {
+ "version": "3.2.3",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
+ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+ "dev": true,
+ "requires": {
+ "has-flag": "^1.0.0"
+ }
+ }
+ }
+ },
+ "postcss-discard-duplicates": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-2.1.0.tgz",
+ "integrity": "sha1-uavye4isGIFYpesSq8riAmO5GTI=",
+ "dev": true,
+ "requires": {
+ "postcss": "^5.0.4"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
+ "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
+ "dev": true
+ },
+ "chalk": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^2.2.1",
+ "escape-string-regexp": "^1.0.2",
+ "has-ansi": "^2.0.0",
+ "strip-ansi": "^3.0.0",
+ "supports-color": "^2.0.0"
+ },
+ "dependencies": {
+ "supports-color": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
+ "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+ "dev": true
+ }
+ }
+ },
+ "has-flag": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
+ "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=",
+ "dev": true
+ },
+ "postcss": {
+ "version": "5.2.18",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz",
+ "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==",
+ "dev": true,
+ "requires": {
+ "chalk": "^1.1.3",
+ "js-base64": "^2.1.9",
+ "source-map": "^0.5.6",
+ "supports-color": "^3.2.3"
+ }
+ },
+ "supports-color": {
+ "version": "3.2.3",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
+ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+ "dev": true,
+ "requires": {
+ "has-flag": "^1.0.0"
+ }
+ }
+ }
+ },
+ "postcss-discard-empty": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-2.1.0.tgz",
+ "integrity": "sha1-0rS9nVztXr2Nyt52QMfXzX9PkrU=",
+ "dev": true,
+ "requires": {
+ "postcss": "^5.0.14"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
+ "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
+ "dev": true
+ },
+ "chalk": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^2.2.1",
+ "escape-string-regexp": "^1.0.2",
+ "has-ansi": "^2.0.0",
+ "strip-ansi": "^3.0.0",
+ "supports-color": "^2.0.0"
+ },
+ "dependencies": {
+ "supports-color": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
+ "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+ "dev": true
+ }
+ }
+ },
+ "has-flag": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
+ "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=",
+ "dev": true
+ },
+ "postcss": {
+ "version": "5.2.18",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz",
+ "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==",
+ "dev": true,
+ "requires": {
+ "chalk": "^1.1.3",
+ "js-base64": "^2.1.9",
+ "source-map": "^0.5.6",
+ "supports-color": "^3.2.3"
+ }
+ },
+ "supports-color": {
+ "version": "3.2.3",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
+ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+ "dev": true,
+ "requires": {
+ "has-flag": "^1.0.0"
+ }
+ }
+ }
+ },
+ "postcss-discard-overridden": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-0.1.1.tgz",
+ "integrity": "sha1-ix6vVU9ob7KIzYdMVWZ7CqNmjVg=",
+ "dev": true,
+ "requires": {
+ "postcss": "^5.0.16"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
+ "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
+ "dev": true
+ },
+ "chalk": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^2.2.1",
+ "escape-string-regexp": "^1.0.2",
+ "has-ansi": "^2.0.0",
+ "strip-ansi": "^3.0.0",
+ "supports-color": "^2.0.0"
+ },
+ "dependencies": {
+ "supports-color": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
+ "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+ "dev": true
+ }
+ }
+ },
+ "has-flag": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
+ "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=",
+ "dev": true
+ },
+ "postcss": {
+ "version": "5.2.18",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz",
+ "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==",
+ "dev": true,
+ "requires": {
+ "chalk": "^1.1.3",
+ "js-base64": "^2.1.9",
+ "source-map": "^0.5.6",
+ "supports-color": "^3.2.3"
+ }
+ },
+ "supports-color": {
+ "version": "3.2.3",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
+ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+ "dev": true,
+ "requires": {
+ "has-flag": "^1.0.0"
+ }
+ }
+ }
+ },
+ "postcss-discard-unused": {
+ "version": "2.2.3",
+ "resolved": "https://registry.npmjs.org/postcss-discard-unused/-/postcss-discard-unused-2.2.3.tgz",
+ "integrity": "sha1-vOMLLMWR/8Y0Mitfs0ZLbZNPRDM=",
+ "dev": true,
+ "requires": {
+ "postcss": "^5.0.14",
+ "uniqs": "^2.0.0"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
+ "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
+ "dev": true
+ },
+ "chalk": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^2.2.1",
+ "escape-string-regexp": "^1.0.2",
+ "has-ansi": "^2.0.0",
+ "strip-ansi": "^3.0.0",
+ "supports-color": "^2.0.0"
+ },
+ "dependencies": {
+ "supports-color": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
+ "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+ "dev": true
+ }
+ }
+ },
+ "has-flag": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
+ "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=",
+ "dev": true
+ },
+ "postcss": {
+ "version": "5.2.18",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz",
+ "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==",
+ "dev": true,
+ "requires": {
+ "chalk": "^1.1.3",
+ "js-base64": "^2.1.9",
+ "source-map": "^0.5.6",
+ "supports-color": "^3.2.3"
+ }
+ },
+ "supports-color": {
+ "version": "3.2.3",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
+ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+ "dev": true,
+ "requires": {
+ "has-flag": "^1.0.0"
+ }
+ }
+ }
+ },
+ "postcss-flexbugs-fixes": {
+ "version": "3.3.1",
+ "resolved": "https://registry.npmjs.org/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-3.3.1.tgz",
+ "integrity": "sha512-9y9kDDf2F9EjKX6x9ueNa5GARvsUbXw4ezH8vXItXHwKzljbu8awP7t5dCaabKYm18Vs1lo5bKQcnc0HkISt+w==",
+ "dev": true,
+ "requires": {
+ "postcss": "^6.0.1"
+ }
+ },
+ "postcss-import": {
+ "version": "11.1.0",
+ "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-11.1.0.tgz",
+ "integrity": "sha512-5l327iI75POonjxkXgdRCUS+AlzAdBx4pOvMEhTKTCjb1p8IEeVR9yx3cPbmN7LIWJLbfnIXxAhoB4jpD0c/Cw==",
+ "dev": true,
+ "requires": {
+ "postcss": "^6.0.1",
+ "postcss-value-parser": "^3.2.3",
+ "read-cache": "^1.0.0",
+ "resolve": "^1.1.7"
+ },
+ "dependencies": {
+ "pify": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+ "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
+ "dev": true
+ },
+ "read-cache": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz",
+ "integrity": "sha1-5mTvMRYRZsl1HNvo28+GtftY93Q=",
+ "dev": true,
+ "requires": {
+ "pify": "^2.3.0"
+ }
+ }
+ }
+ },
+ "postcss-load-config": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-2.0.0.tgz",
+ "integrity": "sha512-V5JBLzw406BB8UIfsAWSK2KSwIJ5yoEIVFb4gVkXci0QdKgA24jLmHZ/ghe/GgX0lJ0/D1uUK1ejhzEY94MChQ==",
+ "dev": true,
+ "requires": {
+ "cosmiconfig": "^4.0.0",
+ "import-cwd": "^2.0.0"
+ }
+ },
+ "postcss-loader": {
+ "version": "2.1.6",
+ "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-2.1.6.tgz",
+ "integrity": "sha512-hgiWSc13xVQAq25cVw80CH0l49ZKlAnU1hKPOdRrNj89bokRr/bZF2nT+hebPPF9c9xs8c3gw3Fr2nxtmXYnNg==",
+ "dev": true,
+ "requires": {
+ "loader-utils": "^1.1.0",
+ "postcss": "^6.0.0",
+ "postcss-load-config": "^2.0.0",
+ "schema-utils": "^0.4.0"
+ }
+ },
+ "postcss-merge-idents": {
+ "version": "2.1.7",
+ "resolved": "https://registry.npmjs.org/postcss-merge-idents/-/postcss-merge-idents-2.1.7.tgz",
+ "integrity": "sha1-TFUwMTwI4dWzu/PSu8dH4njuonA=",
+ "dev": true,
+ "requires": {
+ "has": "^1.0.1",
+ "postcss": "^5.0.10",
+ "postcss-value-parser": "^3.1.1"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
+ "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
+ "dev": true
+ },
+ "chalk": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^2.2.1",
+ "escape-string-regexp": "^1.0.2",
+ "has-ansi": "^2.0.0",
+ "strip-ansi": "^3.0.0",
+ "supports-color": "^2.0.0"
+ },
+ "dependencies": {
+ "supports-color": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
+ "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+ "dev": true
+ }
+ }
+ },
+ "has-flag": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
+ "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=",
+ "dev": true
+ },
+ "postcss": {
+ "version": "5.2.18",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz",
+ "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==",
+ "dev": true,
+ "requires": {
+ "chalk": "^1.1.3",
+ "js-base64": "^2.1.9",
+ "source-map": "^0.5.6",
+ "supports-color": "^3.2.3"
+ }
+ },
+ "supports-color": {
+ "version": "3.2.3",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
+ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+ "dev": true,
+ "requires": {
+ "has-flag": "^1.0.0"
+ }
+ }
+ }
+ },
+ "postcss-merge-rules": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-2.1.2.tgz",
+ "integrity": "sha1-0d9d+qexrMO+VT8OnhDofGG19yE=",
+ "dev": true,
+ "requires": {
+ "browserslist": "^1.5.2",
+ "caniuse-api": "^1.5.2",
+ "postcss": "^5.0.4",
+ "postcss-selector-parser": "^2.2.2",
+ "vendors": "^1.0.0"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
+ "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
+ "dev": true
+ },
+ "browserslist": {
+ "version": "1.7.7",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz",
+ "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=",
+ "dev": true,
+ "requires": {
+ "caniuse-db": "^1.0.30000639",
+ "electron-to-chromium": "^1.2.7"
+ }
+ },
+ "chalk": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^2.2.1",
+ "escape-string-regexp": "^1.0.2",
+ "has-ansi": "^2.0.0",
+ "strip-ansi": "^3.0.0",
+ "supports-color": "^2.0.0"
+ },
+ "dependencies": {
+ "supports-color": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
+ "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+ "dev": true
+ }
+ }
+ },
+ "has-flag": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
+ "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=",
+ "dev": true
+ },
+ "postcss": {
+ "version": "5.2.18",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz",
+ "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==",
+ "dev": true,
+ "requires": {
+ "chalk": "^1.1.3",
+ "js-base64": "^2.1.9",
+ "source-map": "^0.5.6",
+ "supports-color": "^3.2.3"
+ }
+ },
+ "supports-color": {
+ "version": "3.2.3",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
+ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+ "dev": true,
+ "requires": {
+ "has-flag": "^1.0.0"
+ }
+ }
+ }
+ },
+ "postcss-message-helpers": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-message-helpers/-/postcss-message-helpers-2.0.0.tgz",
+ "integrity": "sha1-pPL0+rbk/gAvCu0ABHjN9S+bpg4=",
+ "dev": true
+ },
+ "postcss-minify-gradients": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-1.0.5.tgz",
+ "integrity": "sha1-Xb2hE3NwP4PPtKPqOIHY11/15uE=",
+ "dev": true,
+ "requires": {
+ "postcss": "^5.0.12",
+ "postcss-value-parser": "^3.3.0"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
+ "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
+ "dev": true
+ },
+ "chalk": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^2.2.1",
+ "escape-string-regexp": "^1.0.2",
+ "has-ansi": "^2.0.0",
+ "strip-ansi": "^3.0.0",
+ "supports-color": "^2.0.0"
+ },
+ "dependencies": {
+ "supports-color": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
+ "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+ "dev": true
+ }
+ }
+ },
+ "has-flag": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
+ "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=",
+ "dev": true
+ },
+ "postcss": {
+ "version": "5.2.18",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz",
+ "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==",
+ "dev": true,
+ "requires": {
+ "chalk": "^1.1.3",
+ "js-base64": "^2.1.9",
+ "source-map": "^0.5.6",
+ "supports-color": "^3.2.3"
+ }
+ },
+ "supports-color": {
+ "version": "3.2.3",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
+ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+ "dev": true,
+ "requires": {
+ "has-flag": "^1.0.0"
+ }
+ }
+ }
+ },
+ "postcss-minify-selectors": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-2.1.1.tgz",
+ "integrity": "sha1-ssapjAByz5G5MtGkllCBFDEXNb8=",
+ "dev": true,
+ "requires": {
+ "alphanum-sort": "^1.0.2",
+ "has": "^1.0.1",
+ "postcss": "^5.0.14",
+ "postcss-selector-parser": "^2.0.0"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
+ "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
+ "dev": true
+ },
+ "chalk": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^2.2.1",
+ "escape-string-regexp": "^1.0.2",
+ "has-ansi": "^2.0.0",
+ "strip-ansi": "^3.0.0",
+ "supports-color": "^2.0.0"
+ },
+ "dependencies": {
+ "supports-color": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
+ "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+ "dev": true
+ }
+ }
+ },
+ "has-flag": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
+ "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=",
+ "dev": true
+ },
+ "postcss": {
+ "version": "5.2.18",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz",
+ "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==",
+ "dev": true,
+ "requires": {
+ "chalk": "^1.1.3",
+ "js-base64": "^2.1.9",
+ "source-map": "^0.5.6",
+ "supports-color": "^3.2.3"
+ }
+ },
+ "supports-color": {
+ "version": "3.2.3",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
+ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+ "dev": true,
+ "requires": {
+ "has-flag": "^1.0.0"
+ }
+ }
+ }
+ },
+ "postcss-modules-extract-imports": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.2.0.tgz",
+ "integrity": "sha1-ZhQOzs447wa/DT41XWm/WdFB6oU=",
+ "dev": true,
+ "requires": {
+ "postcss": "^6.0.1"
+ }
+ },
+ "postcss-modules-local-by-default": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.2.0.tgz",
+ "integrity": "sha1-99gMOYxaOT+nlkRmvRlQCn1hwGk=",
+ "dev": true,
+ "requires": {
+ "css-selector-tokenizer": "^0.7.0",
+ "postcss": "^6.0.1"
+ }
+ },
+ "postcss-modules-scope": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-1.1.0.tgz",
+ "integrity": "sha1-1upkmUx5+XtipytCb75gVqGUu5A=",
+ "dev": true,
+ "requires": {
+ "css-selector-tokenizer": "^0.7.0",
+ "postcss": "^6.0.1"
+ }
+ },
+ "postcss-modules-values": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-1.3.0.tgz",
+ "integrity": "sha1-7P+p1+GSUYOJ9CrQ6D9yrsRW6iA=",
+ "dev": true,
+ "requires": {
+ "icss-replace-symbols": "^1.1.0",
+ "postcss": "^6.0.1"
+ }
+ },
+ "postcss-normalize-charset": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-1.1.1.tgz",
+ "integrity": "sha1-757nEhLX/nWceO0WL2HtYrXLk/E=",
+ "dev": true,
+ "requires": {
+ "postcss": "^5.0.5"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
+ "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
+ "dev": true
+ },
+ "chalk": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^2.2.1",
+ "escape-string-regexp": "^1.0.2",
+ "has-ansi": "^2.0.0",
+ "strip-ansi": "^3.0.0",
+ "supports-color": "^2.0.0"
+ },
+ "dependencies": {
+ "supports-color": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
+ "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+ "dev": true
+ }
+ }
+ },
+ "has-flag": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
+ "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=",
+ "dev": true
+ },
+ "postcss": {
+ "version": "5.2.18",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz",
+ "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==",
+ "dev": true,
+ "requires": {
+ "chalk": "^1.1.3",
+ "js-base64": "^2.1.9",
+ "source-map": "^0.5.6",
+ "supports-color": "^3.2.3"
+ }
+ },
+ "supports-color": {
+ "version": "3.2.3",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
+ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+ "dev": true,
+ "requires": {
+ "has-flag": "^1.0.0"
+ }
+ }
+ }
+ },
+ "postcss-ordered-values": {
+ "version": "2.2.3",
+ "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-2.2.3.tgz",
+ "integrity": "sha1-7sbCpntsQSqNsgQud/6NpD+VwR0=",
+ "dev": true,
+ "requires": {
+ "postcss": "^5.0.4",
+ "postcss-value-parser": "^3.0.1"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
+ "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
+ "dev": true
+ },
+ "chalk": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^2.2.1",
+ "escape-string-regexp": "^1.0.2",
+ "has-ansi": "^2.0.0",
+ "strip-ansi": "^3.0.0",
+ "supports-color": "^2.0.0"
+ },
+ "dependencies": {
+ "supports-color": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
+ "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+ "dev": true
+ }
+ }
+ },
+ "has-flag": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
+ "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=",
+ "dev": true
+ },
+ "postcss": {
+ "version": "5.2.18",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz",
+ "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==",
+ "dev": true,
+ "requires": {
+ "chalk": "^1.1.3",
+ "js-base64": "^2.1.9",
+ "source-map": "^0.5.6",
+ "supports-color": "^3.2.3"
+ }
+ },
+ "supports-color": {
+ "version": "3.2.3",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
+ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+ "dev": true,
+ "requires": {
+ "has-flag": "^1.0.0"
+ }
+ }
+ }
+ },
+ "postcss-reduce-idents": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/postcss-reduce-idents/-/postcss-reduce-idents-2.4.0.tgz",
+ "integrity": "sha1-wsbSDMlYKE9qv75j92Cb9AkFmtM=",
+ "dev": true,
+ "requires": {
+ "postcss": "^5.0.4",
+ "postcss-value-parser": "^3.0.2"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
+ "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
+ "dev": true
+ },
+ "chalk": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^2.2.1",
+ "escape-string-regexp": "^1.0.2",
+ "has-ansi": "^2.0.0",
+ "strip-ansi": "^3.0.0",
+ "supports-color": "^2.0.0"
+ },
+ "dependencies": {
+ "supports-color": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
+ "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+ "dev": true
+ }
+ }
+ },
+ "has-flag": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
+ "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=",
+ "dev": true
+ },
+ "postcss": {
+ "version": "5.2.18",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz",
+ "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==",
+ "dev": true,
+ "requires": {
+ "chalk": "^1.1.3",
+ "js-base64": "^2.1.9",
+ "source-map": "^0.5.6",
+ "supports-color": "^3.2.3"
+ }
+ },
+ "supports-color": {
+ "version": "3.2.3",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
+ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+ "dev": true,
+ "requires": {
+ "has-flag": "^1.0.0"
+ }
+ }
+ }
+ },
+ "postcss-reduce-transforms": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-1.0.4.tgz",
+ "integrity": "sha1-/3b02CEkN7McKYpC0uFEQCV3GuE=",
+ "dev": true,
+ "requires": {
+ "has": "^1.0.1",
+ "postcss": "^5.0.8",
+ "postcss-value-parser": "^3.0.1"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
+ "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
+ "dev": true
+ },
+ "chalk": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^2.2.1",
+ "escape-string-regexp": "^1.0.2",
+ "has-ansi": "^2.0.0",
+ "strip-ansi": "^3.0.0",
+ "supports-color": "^2.0.0"
+ },
+ "dependencies": {
+ "supports-color": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
+ "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+ "dev": true
+ }
+ }
+ },
+ "has-flag": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
+ "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=",
+ "dev": true
+ },
+ "postcss": {
+ "version": "5.2.18",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz",
+ "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==",
+ "dev": true,
+ "requires": {
+ "chalk": "^1.1.3",
+ "js-base64": "^2.1.9",
+ "source-map": "^0.5.6",
+ "supports-color": "^3.2.3"
+ }
+ },
+ "supports-color": {
+ "version": "3.2.3",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
+ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+ "dev": true,
+ "requires": {
+ "has-flag": "^1.0.0"
+ }
+ }
+ }
+ },
+ "postcss-selector-parser": {
+ "version": "2.2.3",
+ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-2.2.3.tgz",
+ "integrity": "sha1-+UN3iGBsPJrO4W/+jYsWKX8nu5A=",
+ "dev": true,
+ "requires": {
+ "flatten": "^1.0.2",
+ "indexes-of": "^1.0.1",
+ "uniq": "^1.0.1"
+ }
+ },
+ "postcss-svgo": {
+ "version": "2.1.6",
+ "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-2.1.6.tgz",
+ "integrity": "sha1-tt8YqmE7Zm4TPwittSGcJoSsEI0=",
+ "dev": true,
+ "requires": {
+ "is-svg": "^2.0.0",
+ "postcss": "^5.0.14",
+ "postcss-value-parser": "^3.2.3",
+ "svgo": "^0.7.0"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
+ "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
+ "dev": true
+ },
+ "chalk": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^2.2.1",
+ "escape-string-regexp": "^1.0.2",
+ "has-ansi": "^2.0.0",
+ "strip-ansi": "^3.0.0",
+ "supports-color": "^2.0.0"
+ },
+ "dependencies": {
+ "supports-color": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
+ "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+ "dev": true
+ }
+ }
+ },
+ "has-flag": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
+ "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=",
+ "dev": true
+ },
+ "js-yaml": {
+ "version": "3.7.0",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.7.0.tgz",
+ "integrity": "sha1-XJZ93YN6m/3KXy3oQlOr6KHAO4A=",
+ "dev": true,
+ "requires": {
+ "argparse": "^1.0.7",
+ "esprima": "^2.6.0"
+ }
+ },
+ "postcss": {
+ "version": "5.2.18",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz",
+ "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==",
+ "dev": true,
+ "requires": {
+ "chalk": "^1.1.3",
+ "js-base64": "^2.1.9",
+ "source-map": "^0.5.6",
+ "supports-color": "^3.2.3"
+ }
+ },
+ "sax": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
+ "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "3.2.3",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
+ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+ "dev": true,
+ "requires": {
+ "has-flag": "^1.0.0"
+ }
+ },
+ "svgo": {
+ "version": "0.7.2",
+ "resolved": "https://registry.npmjs.org/svgo/-/svgo-0.7.2.tgz",
+ "integrity": "sha1-n1dyQTlSE1xv779Ar+ak+qiLS7U=",
+ "dev": true,
+ "requires": {
+ "coa": "~1.0.1",
+ "colors": "~1.1.2",
+ "csso": "~2.3.1",
+ "js-yaml": "~3.7.0",
+ "mkdirp": "~0.5.1",
+ "sax": "~1.2.1",
+ "whet.extend": "~0.9.9"
+ }
+ }
+ }
+ },
+ "postcss-unique-selectors": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-2.0.2.tgz",
+ "integrity": "sha1-mB1X0p3csz57Hf4f1DuGSfkzyh0=",
+ "dev": true,
+ "requires": {
+ "alphanum-sort": "^1.0.1",
+ "postcss": "^5.0.4",
+ "uniqs": "^2.0.0"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
+ "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
+ "dev": true
+ },
+ "chalk": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^2.2.1",
+ "escape-string-regexp": "^1.0.2",
+ "has-ansi": "^2.0.0",
+ "strip-ansi": "^3.0.0",
+ "supports-color": "^2.0.0"
+ },
+ "dependencies": {
+ "supports-color": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
+ "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+ "dev": true
+ }
+ }
+ },
+ "has-flag": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
+ "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=",
+ "dev": true
+ },
+ "postcss": {
+ "version": "5.2.18",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz",
+ "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==",
+ "dev": true,
+ "requires": {
+ "chalk": "^1.1.3",
+ "js-base64": "^2.1.9",
+ "source-map": "^0.5.6",
+ "supports-color": "^3.2.3"
+ }
+ },
+ "supports-color": {
+ "version": "3.2.3",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
+ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+ "dev": true,
+ "requires": {
+ "has-flag": "^1.0.0"
+ }
+ }
+ }
+ },
+ "postcss-url": {
+ "version": "7.3.2",
+ "resolved": "https://registry.npmjs.org/postcss-url/-/postcss-url-7.3.2.tgz",
+ "integrity": "sha512-QMV5mA+pCYZQcUEPQkmor9vcPQ2MT+Ipuu8qdi1gVxbNiIiErEGft+eny1ak19qALoBkccS5AHaCaCDzh7b9MA==",
+ "dev": true,
+ "requires": {
+ "mime": "^1.4.1",
+ "minimatch": "^3.0.4",
+ "mkdirp": "^0.5.0",
+ "postcss": "^6.0.1",
+ "xxhashjs": "^0.2.1"
+ }
+ },
+ "postcss-value-parser": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz",
+ "integrity": "sha1-h/OPnxj3dKSrTIojL1xc6IcqnRU=",
+ "dev": true
+ },
+ "postcss-zindex": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/postcss-zindex/-/postcss-zindex-2.2.0.tgz",
+ "integrity": "sha1-0hCd3AVbka9n/EyzsCWUZjnSryI=",
+ "dev": true,
+ "requires": {
+ "has": "^1.0.1",
+ "postcss": "^5.0.4",
+ "uniqs": "^2.0.0"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
+ "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
+ "dev": true
+ },
+ "chalk": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^2.2.1",
+ "escape-string-regexp": "^1.0.2",
+ "has-ansi": "^2.0.0",
+ "strip-ansi": "^3.0.0",
+ "supports-color": "^2.0.0"
+ },
+ "dependencies": {
+ "supports-color": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
+ "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+ "dev": true
+ }
+ }
+ },
+ "has-flag": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
+ "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=",
+ "dev": true
+ },
+ "postcss": {
+ "version": "5.2.18",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz",
+ "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==",
+ "dev": true,
+ "requires": {
+ "chalk": "^1.1.3",
+ "js-base64": "^2.1.9",
+ "source-map": "^0.5.6",
+ "supports-color": "^3.2.3"
+ }
+ },
+ "supports-color": {
+ "version": "3.2.3",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
+ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+ "dev": true,
+ "requires": {
+ "has-flag": "^1.0.0"
+ }
+ }
+ }
+ },
+ "prelude-ls": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
+ "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=",
+ "dev": true
+ },
+ "prepend-http": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz",
+ "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=",
+ "dev": true
+ },
+ "preserve": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz",
+ "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=",
+ "dev": true
+ },
+ "prettier": {
+ "version": "1.14.0",
+ "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.14.0.tgz",
+ "integrity": "sha512-KtQ2EGaUwf2EyDfp1fxyEb0PqGKakVm0WyXwDt6u+cAoxbO2Z2CwKvOe3+b4+F2IlO9lYHi1kqFuRM70ddBnow==",
+ "dev": true
+ },
+ "pretty-error": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-2.1.1.tgz",
+ "integrity": "sha1-X0+HyPkeWuPzuoerTPXgOxoX8aM=",
+ "dev": true,
+ "requires": {
+ "renderkid": "^2.0.1",
+ "utila": "~0.4"
+ }
+ },
+ "pretty-format": {
+ "version": "23.2.0",
+ "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-23.2.0.tgz",
+ "integrity": "sha1-OwqqY8AYpTWDNzwcs6XZbMXoMBc=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^3.0.0",
+ "ansi-styles": "^3.2.0"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
+ "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
+ "dev": true
+ }
+ }
+ },
+ "prismjs": {
+ "version": "1.15.0",
+ "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.15.0.tgz",
+ "integrity": "sha512-Lf2JrFYx8FanHrjoV5oL8YHCclLQgbJcVZR+gikGGMqz6ub5QVWDTM6YIwm3BuPxM/LOV+rKns3LssXNLIf+DA==",
+ "dev": true,
+ "requires": {
+ "clipboard": "^2.0.0"
+ }
+ },
+ "private": {
+ "version": "0.1.8",
+ "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz",
+ "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==",
+ "dev": true
+ },
+ "process": {
+ "version": "0.11.10",
+ "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
+ "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=",
+ "dev": true
+ },
+ "process-nextick-args": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz",
+ "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==",
+ "dev": true
+ },
+ "progress": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.0.tgz",
+ "integrity": "sha1-ihvjZr+Pwj2yvSPxDG/pILQ4nR8=",
+ "dev": true
+ },
+ "promise-inflight": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz",
+ "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=",
+ "dev": true
+ },
+ "promise.prototype.finally": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/promise.prototype.finally/-/promise.prototype.finally-3.1.0.tgz",
+ "integrity": "sha512-7p/K2f6dI+dM8yjRQEGrTQs5hTQixUAdOGpMEA3+pVxpX5oHKRSKAXyLw9Q9HUWDTdwtoo39dSHGQtN90HcEwQ==",
+ "dev": true,
+ "requires": {
+ "define-properties": "^1.1.2",
+ "es-abstract": "^1.9.0",
+ "function-bind": "^1.1.1"
+ }
+ },
+ "prop-types": {
+ "version": "15.6.2",
+ "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.2.tgz",
+ "integrity": "sha512-3pboPvLiWD7dkI3qf3KbUe6hKFKa52w+AE0VCqECtf+QHAKgOL37tTaNCnuX1nAAQ4ZhyP+kYVKf8rLmJ/feDQ==",
+ "dev": true,
+ "requires": {
+ "loose-envify": "^1.3.1",
+ "object-assign": "^4.1.1"
+ }
+ },
+ "property-information": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/property-information/-/property-information-4.1.0.tgz",
+ "integrity": "sha512-bv9oWK9kX47b1rpZoLdv21FGCUAWTOClpb/wsbz2unJtyrZg05h7JBhn4mDb20KCG1jF/cbIdUa2IoYU/Wj4Hw==",
+ "dev": true,
+ "requires": {
+ "xtend": "^4.0.1"
+ }
+ },
+ "proxy-addr": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.4.tgz",
+ "integrity": "sha512-5erio2h9jp5CHGwcybmxmVqHmnCBZeewlfJ0pex+UW7Qny7OOZXTtH56TGNyBizkgiOwhJtMKrVzDTeKcySZwA==",
+ "dev": true,
+ "requires": {
+ "forwarded": "~0.1.2",
+ "ipaddr.js": "1.8.0"
+ }
+ },
+ "proxy-from-env": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.0.0.tgz",
+ "integrity": "sha1-M8UDmPcOp+uW0h97gXYwpVeRx+4=",
+ "dev": true
+ },
+ "prr": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz",
+ "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=",
+ "dev": true
+ },
+ "pseudomap": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz",
+ "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=",
+ "dev": true
+ },
+ "public-encrypt": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.2.tgz",
+ "integrity": "sha512-4kJ5Esocg8X3h8YgJsKAuoesBgB7mqH3eowiDzMUPKiRDDE7E/BqqZD1hnTByIaAFiwAw246YEltSq7tdrOH0Q==",
+ "dev": true,
+ "requires": {
+ "bn.js": "^4.1.0",
+ "browserify-rsa": "^4.0.0",
+ "create-hash": "^1.1.0",
+ "parse-asn1": "^5.0.0",
+ "randombytes": "^2.0.1"
+ }
+ },
+ "pump": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz",
+ "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==",
+ "dev": true,
+ "requires": {
+ "end-of-stream": "^1.1.0",
+ "once": "^1.3.1"
+ }
+ },
+ "pumpify": {
+ "version": "1.5.1",
+ "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz",
+ "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==",
+ "dev": true,
+ "requires": {
+ "duplexify": "^3.6.0",
+ "inherits": "^2.0.3",
+ "pump": "^2.0.0"
+ }
+ },
+ "punycode": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
+ "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
+ "dev": true
+ },
+ "puppeteer": {
+ "version": "1.6.2",
+ "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-1.6.2.tgz",
+ "integrity": "sha512-KBgMr/ZdwIwDQWTqcAlGhnQ2Vd6p+o5B89H60XUfdmCpia2KViSZsdRjvrf2wYOxXSrpYx6OuCBzV7ppLuNjNg==",
+ "dev": true,
+ "requires": {
+ "debug": "^3.1.0",
+ "extract-zip": "^1.6.6",
+ "https-proxy-agent": "^2.2.1",
+ "mime": "^2.0.3",
+ "progress": "^2.0.0",
+ "proxy-from-env": "^1.0.0",
+ "rimraf": "^2.6.1",
+ "ws": "^5.1.1"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
+ "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "mime": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/mime/-/mime-2.3.1.tgz",
+ "integrity": "sha512-OEUllcVoydBHGN1z84yfQDimn58pZNNNXgZlHXSboxMlFvgI6MXSWpWKpFRra7H1HxpVhHTkrghfRW49k6yjeg==",
+ "dev": true
+ }
+ }
+ },
+ "q": {
+ "version": "1.5.1",
+ "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz",
+ "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=",
+ "dev": true
+ },
+ "query-string": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz",
+ "integrity": "sha1-u7aTucqRXCMlFbIosaArYJBD2+s=",
+ "dev": true,
+ "requires": {
+ "object-assign": "^4.1.0",
+ "strict-uri-encode": "^1.0.0"
+ }
+ },
+ "querystring": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz",
+ "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=",
+ "dev": true
+ },
+ "querystring-es3": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz",
+ "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=",
+ "dev": true
+ },
+ "querystringify": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.0.0.tgz",
+ "integrity": "sha512-eTPo5t/4bgaMNZxyjWx6N2a6AuE0mq51KWvpc7nU/MAqixcI6v6KrGUKES0HaomdnolQBBXU/++X6/QQ9KL4tw==",
+ "dev": true
+ },
+ "randomatic": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.0.0.tgz",
+ "integrity": "sha512-VdxFOIEY3mNO5PtSRkkle/hPJDHvQhK21oa73K4yAc9qmp6N429gAyF1gZMOTMeS0/AYzaV/2Trcef+NaIonSA==",
+ "dev": true,
+ "requires": {
+ "is-number": "^4.0.0",
+ "kind-of": "^6.0.0",
+ "math-random": "^1.0.1"
+ },
+ "dependencies": {
+ "is-number": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz",
+ "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==",
+ "dev": true
+ }
+ }
+ },
+ "randombytes": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.6.tgz",
+ "integrity": "sha512-CIQ5OFxf4Jou6uOKe9t1AOgqpeU5fd70A8NPdHSGeYXqXsPe6peOwI0cUl88RWZ6sP1vPMV3avd/R6cZ5/sP1A==",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "^5.1.0"
+ }
+ },
+ "randomfill": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz",
+ "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==",
+ "dev": true,
+ "requires": {
+ "randombytes": "^2.0.5",
+ "safe-buffer": "^5.1.0"
+ }
+ },
+ "range-parser": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz",
+ "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4=",
+ "dev": true
+ },
+ "raw-body": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.2.tgz",
+ "integrity": "sha1-vNYMd9Prk83gBQKVw/N5OJvIj4k=",
+ "dev": true,
+ "requires": {
+ "bytes": "3.0.0",
+ "http-errors": "1.6.2",
+ "iconv-lite": "0.4.19",
+ "unpipe": "1.0.0"
+ },
+ "dependencies": {
+ "depd": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.1.tgz",
+ "integrity": "sha1-V4O04cRZ8G+lyif5kfPQbnoxA1k=",
+ "dev": true
+ },
+ "http-errors": {
+ "version": "1.6.2",
+ "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.2.tgz",
+ "integrity": "sha1-CgAsyFcHGSp+eUbO7cERVfYOxzY=",
+ "dev": true,
+ "requires": {
+ "depd": "1.1.1",
+ "inherits": "2.0.3",
+ "setprototypeof": "1.0.3",
+ "statuses": ">= 1.3.1 < 2"
+ }
+ },
+ "iconv-lite": {
+ "version": "0.4.19",
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz",
+ "integrity": "sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ==",
+ "dev": true
+ },
+ "setprototypeof": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.3.tgz",
+ "integrity": "sha1-ZlZ+NwQ+608E2RvWWMDL77VbjgQ=",
+ "dev": true
+ }
+ }
+ },
+ "raw-loader": {
+ "version": "0.5.1",
+ "resolved": "https://registry.npmjs.org/raw-loader/-/raw-loader-0.5.1.tgz",
+ "integrity": "sha1-DD0L6u2KAclm2Xh793goElKpeao=",
+ "dev": true
+ },
+ "react": {
+ "version": "16.4.2",
+ "resolved": "https://registry.npmjs.org/react/-/react-16.4.2.tgz",
+ "integrity": "sha512-dMv7YrbxO4y2aqnvA7f/ik9ibeLSHQJTI6TrYAenPSaQ6OXfb+Oti+oJiy8WBxgRzlKatYqtCjphTgDSCEiWFg==",
+ "dev": true,
+ "requires": {
+ "fbjs": "^0.8.16",
+ "loose-envify": "^1.1.0",
+ "object-assign": "^4.1.1",
+ "prop-types": "^15.6.0"
+ }
+ },
+ "react-color": {
+ "version": "2.14.1",
+ "resolved": "https://registry.npmjs.org/react-color/-/react-color-2.14.1.tgz",
+ "integrity": "sha512-ssv2ArSZdhTbIs29hyfw8JW+s3G4BCx/ILkwCajWZzrcx/2ZQfRpsaLVt38LAPbxe50LLszlmGtRerA14JzzRw==",
+ "dev": true,
+ "requires": {
+ "lodash": "^4.0.1",
+ "material-colors": "^1.2.1",
+ "prop-types": "^15.5.10",
+ "reactcss": "^1.2.0",
+ "tinycolor2": "^1.4.1"
+ },
+ "dependencies": {
+ "reactcss": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/reactcss/-/reactcss-1.2.3.tgz",
+ "integrity": "sha512-KiwVUcFu1RErkI97ywr8nvx8dNOpT03rbnma0SSalTYjkrPYaEajR4a/MRt6DZ46K6arDRbWMNHF+xH7G7n/8A==",
+ "dev": true,
+ "requires": {
+ "lodash": "^4.0.1"
+ }
+ }
+ }
+ },
+ "react-datetime": {
+ "version": "2.15.0",
+ "resolved": "https://registry.npmjs.org/react-datetime/-/react-datetime-2.15.0.tgz",
+ "integrity": "sha512-RP5OqXVfrhdoFALJzMU8tKxRFaIZzJZqZEpf5oK7pvwG80a/bET/TdJ7jT7W9lyAf1nKNo6zyYkvHW3ZJ/ypvg==",
+ "dev": true,
+ "requires": {
+ "create-react-class": "^15.5.2",
+ "object-assign": "^3.0.0",
+ "prop-types": "^15.5.7",
+ "react-onclickoutside": "^6.5.0"
+ },
+ "dependencies": {
+ "object-assign": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz",
+ "integrity": "sha1-m+3VygiXlJvKR+f/QIBi1Un1h/I=",
+ "dev": true
+ }
+ }
+ },
+ "react-dom": {
+ "version": "16.4.2",
+ "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.4.2.tgz",
+ "integrity": "sha512-Usl73nQqzvmJN+89r97zmeUpQDKDlh58eX6Hbs/ERdDHzeBzWy+ENk7fsGQ+5KxArV1iOFPT46/VneklK9zoWw==",
+ "dev": true,
+ "requires": {
+ "fbjs": "^0.8.16",
+ "loose-envify": "^1.1.0",
+ "object-assign": "^4.1.1",
+ "prop-types": "^15.6.0"
+ }
+ },
+ "react-error-overlay": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-4.0.0.tgz",
+ "integrity": "sha512-FlsPxavEyMuR6TjVbSSywovXSEyOg6ZDj5+Z8nbsRl9EkOzAhEIcS+GLoQDC5fz/t9suhUXWmUrOBrgeUvrMxw==",
+ "dev": true
+ },
+ "react-fuzzy": {
+ "version": "0.5.2",
+ "resolved": "https://registry.npmjs.org/react-fuzzy/-/react-fuzzy-0.5.2.tgz",
+ "integrity": "sha512-qIZZxaCheb/HhcBi5fABbiCFg85+K5r1TCps1D4uaL0LAMMD/1zm/x1/kNR130Tx7nnY9V7mbFyY0DquPYeLAw==",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "^6.23.0",
+ "classnames": "^2.2.5",
+ "fuse.js": "^3.0.1",
+ "prop-types": "^15.5.9"
+ }
+ },
+ "react-icon-base": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/react-icon-base/-/react-icon-base-2.1.0.tgz",
+ "integrity": "sha1-oZbjP98eeqof2jrvu2i9rZ6Cp50=",
+ "dev": true
+ },
+ "react-icons": {
+ "version": "2.2.7",
+ "resolved": "https://registry.npmjs.org/react-icons/-/react-icons-2.2.7.tgz",
+ "integrity": "sha512-0n4lcGqzJFcIQLoQytLdJCE0DKSA9dkwEZRYoGrIDJZFvIT6Hbajx5mv9geqhqFiNjUgtxg8kPyDfjlhymbGFg==",
+ "dev": true,
+ "requires": {
+ "react-icon-base": "2.1.0"
+ }
+ },
+ "react-inspector": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/react-inspector/-/react-inspector-2.3.0.tgz",
+ "integrity": "sha512-aIcbWb0fKFhEMB+RadoOYawlr1JoMMfrQ1oRgPUG/f/e4zERVJ6nYcIaQmrQmdHCZ63BOqe2cEkoeY0kyLBzNg==",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "^6.26.0",
+ "is-dom": "^1.0.9"
+ }
+ },
+ "react-lifecycles-compat": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz",
+ "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==",
+ "dev": true
+ },
+ "react-modal": {
+ "version": "3.5.1",
+ "resolved": "https://registry.npmjs.org/react-modal/-/react-modal-3.5.1.tgz",
+ "integrity": "sha512-GxL7ycOgKC+p641cR+V1bw5dC1faL2N86/AJlzbMVmvt1totoylgkJmn9zvLuHeuarGbB7CLfHMGpeRowaj2jQ==",
+ "dev": true,
+ "requires": {
+ "exenv": "^1.2.0",
+ "prop-types": "^15.5.10",
+ "react-lifecycles-compat": "^3.0.0",
+ "warning": "^3.0.0"
+ }
+ },
+ "react-onclickoutside": {
+ "version": "6.7.1",
+ "resolved": "https://registry.npmjs.org/react-onclickoutside/-/react-onclickoutside-6.7.1.tgz",
+ "integrity": "sha512-p84kBqGaMoa7VYT0vZ/aOYRfJB+gw34yjpda1Z5KeLflg70HipZOT+MXQenEhdkPAABuE2Astq4zEPdMqUQxcg==",
+ "dev": true
+ },
+ "react-split-pane": {
+ "version": "0.1.82",
+ "resolved": "https://registry.npmjs.org/react-split-pane/-/react-split-pane-0.1.82.tgz",
+ "integrity": "sha1-Qvu5/Ugj8F4DfeDas81s+b8M9Oo=",
+ "dev": true,
+ "requires": {
+ "inline-style-prefixer": "^3.0.6",
+ "prop-types": "^15.5.10",
+ "react-lifecycles-compat": "^3.0.4",
+ "react-style-proptype": "^3.0.0"
+ }
+ },
+ "react-style-proptype": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/react-style-proptype/-/react-style-proptype-3.2.1.tgz",
+ "integrity": "sha512-Z02QsgmdZ4wYNxJsHhNGGZsIF8+MO93fYmdPaC+ljdqX3rq8tl/fSMXOGBbofGJNzq5W/2LFcONllmV6vzyYHA==",
+ "dev": true,
+ "requires": {
+ "prop-types": "^15.5.4"
+ }
+ },
+ "react-syntax-highlighter": {
+ "version": "7.0.4",
+ "resolved": "https://registry.npmjs.org/react-syntax-highlighter/-/react-syntax-highlighter-7.0.4.tgz",
+ "integrity": "sha512-WtaHAlI5++csZ5uTnJc5+ozqqIzUkO/rnkv1GJ3CeRtjhTzbo12r9F0BICzhibr7gBWECd1Xgj1FKJEWZxcP4w==",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "^6.18.0",
+ "highlight.js": "~9.12.0",
+ "lowlight": "~1.9.1",
+ "prismjs": "^1.8.4",
+ "refractor": "^2.4.1"
+ }
+ },
+ "react-textarea-autosize": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/react-textarea-autosize/-/react-textarea-autosize-6.1.0.tgz",
+ "integrity": "sha512-F6bI1dgib6fSvG8so1HuArPUv+iVEfPliuLWusLF+gAKz0FbB4jLrWUrTAeq1afnPT2c9toEZYUdz/y1uKMy4A==",
+ "dev": true,
+ "requires": {
+ "prop-types": "^15.6.0"
+ }
+ },
+ "react-transition-group": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-2.4.0.tgz",
+ "integrity": "sha512-Xv5d55NkJUxUzLCImGSanK8Cl/30sgpOEMGc5m86t8+kZwrPxPCPcFqyx83kkr+5Lz5gs6djuvE5By+gce+VjA==",
+ "dev": true,
+ "requires": {
+ "dom-helpers": "^3.3.1",
+ "loose-envify": "^1.3.1",
+ "prop-types": "^15.6.2",
+ "react-lifecycles-compat": "^3.0.4"
+ }
+ },
+ "react-treebeard": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/react-treebeard/-/react-treebeard-2.1.0.tgz",
+ "integrity": "sha512-unoy8IJL1NR5jgTtK+CqOCZKZylh/Tlid0oYajW9bLZCbFelxzmCsF8Y2hyS6pvHqM4W501oOm5O/jvg3VZCrg==",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "^6.23.0",
+ "deep-equal": "^1.0.1",
+ "prop-types": "^15.5.8",
+ "radium": "^0.19.0",
+ "shallowequal": "^0.2.2",
+ "velocity-react": "^1.3.1"
+ },
+ "dependencies": {
+ "inline-style-prefixer": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/inline-style-prefixer/-/inline-style-prefixer-2.0.5.tgz",
+ "integrity": "sha1-wVPH6I/YT+9cYC6VqBaLJ3BnH+c=",
+ "dev": true,
+ "requires": {
+ "bowser": "^1.0.0",
+ "hyphenate-style-name": "^1.0.1"
+ }
+ },
+ "radium": {
+ "version": "0.19.6",
+ "resolved": "https://registry.npmjs.org/radium/-/radium-0.19.6.tgz",
+ "integrity": "sha512-IABYntqCwYelUUIwA52maSCgJbqtJjHKIoD21wgpw3dGhIUbJ5chDShDGdaFiEzdF03hN9jfQqlmn0bF4YhfrQ==",
+ "dev": true,
+ "requires": {
+ "array-find": "^1.0.0",
+ "exenv": "^1.2.1",
+ "inline-style-prefixer": "^2.0.5",
+ "prop-types": "^15.5.8"
+ }
+ }
+ }
+ },
+ "read-pkg": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz",
+ "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=",
+ "dev": true,
+ "requires": {
+ "load-json-file": "^1.0.0",
+ "normalize-package-data": "^2.3.2",
+ "path-type": "^1.0.0"
+ },
+ "dependencies": {
+ "path-type": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz",
+ "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.1.2",
+ "pify": "^2.0.0",
+ "pinkie-promise": "^2.0.0"
+ }
+ },
+ "pify": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+ "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
+ "dev": true
+ }
+ }
+ },
+ "read-pkg-up": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz",
+ "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=",
+ "dev": true,
+ "requires": {
+ "find-up": "^1.0.0",
+ "read-pkg": "^1.0.0"
+ },
+ "dependencies": {
+ "find-up": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz",
+ "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=",
+ "dev": true,
+ "requires": {
+ "path-exists": "^2.0.0",
+ "pinkie-promise": "^2.0.0"
+ }
+ },
+ "path-exists": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz",
+ "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=",
+ "dev": true,
+ "requires": {
+ "pinkie-promise": "^2.0.0"
+ }
+ }
+ }
+ },
+ "readable-stream": {
+ "version": "2.3.6",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
+ "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
+ "dev": true,
+ "requires": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.3",
+ "isarray": "~1.0.0",
+ "process-nextick-args": "~2.0.0",
+ "safe-buffer": "~5.1.1",
+ "string_decoder": "~1.1.1",
+ "util-deprecate": "~1.0.1"
+ }
+ },
+ "readdirp": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.1.0.tgz",
+ "integrity": "sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.1.2",
+ "minimatch": "^3.0.2",
+ "readable-stream": "^2.0.2",
+ "set-immediate-shim": "^1.0.1"
+ }
+ },
+ "realpath-native": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/realpath-native/-/realpath-native-1.0.1.tgz",
+ "integrity": "sha512-W14EcXuqUvKP8dkWkD7B95iMy77lpMnlFXbbk409bQtNCbeu0kvRE5reo+yIZ3JXxg6frbGsz2DLQ39lrCB40g==",
+ "dev": true,
+ "requires": {
+ "util.promisify": "^1.0.0"
+ }
+ },
+ "rechoir": {
+ "version": "0.6.2",
+ "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz",
+ "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=",
+ "dev": true,
+ "requires": {
+ "resolve": "^1.1.6"
+ }
+ },
+ "recursive-readdir": {
+ "version": "2.2.2",
+ "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.2.tgz",
+ "integrity": "sha512-nRCcW9Sj7NuZwa2XvH9co8NPeXUBhZP7CRKJtU+cS6PW9FpCIFoI5ib0NT1ZrbNuPoRy0ylyCaUL8Gih4LSyFg==",
+ "dev": true,
+ "requires": {
+ "minimatch": "3.0.4"
+ }
+ },
+ "redent": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz",
+ "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=",
+ "dev": true,
+ "requires": {
+ "indent-string": "^2.1.0",
+ "strip-indent": "^1.0.1"
+ }
+ },
+ "reduce-css-calc": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/reduce-css-calc/-/reduce-css-calc-1.3.0.tgz",
+ "integrity": "sha1-dHyRTgSWFKTJz7umKYca0dKSdxY=",
+ "dev": true,
+ "requires": {
+ "balanced-match": "^0.4.2",
+ "math-expression-evaluator": "^1.2.14",
+ "reduce-function-call": "^1.0.1"
+ },
+ "dependencies": {
+ "balanced-match": {
+ "version": "0.4.2",
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz",
+ "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=",
+ "dev": true
+ }
+ }
+ },
+ "reduce-function-call": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/reduce-function-call/-/reduce-function-call-1.0.2.tgz",
+ "integrity": "sha1-WiAL+S4ON3UXUv5FsKszD9S2vpk=",
+ "dev": true,
+ "requires": {
+ "balanced-match": "^0.4.2"
+ },
+ "dependencies": {
+ "balanced-match": {
+ "version": "0.4.2",
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz",
+ "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=",
+ "dev": true
+ }
+ }
+ },
+ "redux": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/redux/-/redux-4.0.0.tgz",
+ "integrity": "sha512-NnnHF0h0WVE/hXyrB6OlX67LYRuaf/rJcbWvnHHEPCF/Xa/AZpwhs/20WyqzQae5x4SD2F9nPObgBh2rxAgLiA==",
+ "dev": true,
+ "requires": {
+ "loose-envify": "^1.1.0",
+ "symbol-observable": "^1.2.0"
+ }
+ },
+ "reflect-metadata": {
+ "version": "0.1.12",
+ "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.12.tgz",
+ "integrity": "sha512-n+IyV+nGz3+0q3/Yf1ra12KpCyi001bi4XFxSjbiWWjfqb52iTTtpGXmCCAOWWIAn9KEuFZKGqBERHmrtScZ3A==",
+ "dev": true
+ },
+ "refractor": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/refractor/-/refractor-2.5.0.tgz",
+ "integrity": "sha512-npwYb3W3tHaCwYT/kcj9808BZTpeayR876Ug7RAD9+RJ7yo1cVuyx5EqhJDiZwyC+cxw7g7n5u4rmovS29vPxA==",
+ "dev": true,
+ "requires": {
+ "hastscript": "^4.0.0",
+ "parse-entities": "^1.1.2",
+ "prismjs": "~1.15.0"
+ }
+ },
+ "regenerate": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz",
+ "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==",
+ "dev": true
+ },
+ "regenerator-runtime": {
+ "version": "0.11.1",
+ "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz",
+ "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==",
+ "dev": true
+ },
+ "regex-cache": {
+ "version": "0.4.4",
+ "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz",
+ "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==",
+ "dev": true,
+ "requires": {
+ "is-equal-shallow": "^0.1.3"
+ }
+ },
+ "regex-not": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz",
+ "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==",
+ "dev": true,
+ "requires": {
+ "extend-shallow": "^3.0.2",
+ "safe-regex": "^1.1.0"
+ }
+ },
+ "regexp.prototype.flags": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.2.0.tgz",
+ "integrity": "sha512-ztaw4M1VqgMwl9HlPpOuiYgItcHlunW0He2fE6eNfT6E/CF2FtYi9ofOYe4mKntstYk0Fyh/rDRBdS3AnxjlrA==",
+ "dev": true,
+ "requires": {
+ "define-properties": "^1.1.2"
+ }
+ },
+ "regjsgen": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz",
+ "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=",
+ "dev": true
+ },
+ "regjsparser": {
+ "version": "0.1.5",
+ "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz",
+ "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=",
+ "dev": true,
+ "requires": {
+ "jsesc": "~0.5.0"
+ },
+ "dependencies": {
+ "jsesc": {
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz",
+ "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=",
+ "dev": true
+ }
+ }
+ },
+ "relateurl": {
+ "version": "0.2.7",
+ "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz",
+ "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=",
+ "dev": true
+ },
+ "remove-trailing-separator": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz",
+ "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=",
+ "dev": true
+ },
+ "renderkid": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.1.tgz",
+ "integrity": "sha1-iYyr/Ivt5Le5ETWj/9Mj5YwNsxk=",
+ "dev": true,
+ "requires": {
+ "css-select": "^1.1.0",
+ "dom-converter": "~0.1",
+ "htmlparser2": "~3.3.0",
+ "strip-ansi": "^3.0.0",
+ "utila": "~0.3"
+ },
+ "dependencies": {
+ "domutils": {
+ "version": "1.1.6",
+ "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.1.6.tgz",
+ "integrity": "sha1-vdw94Jm5ou+sxRxiPyj0FuzFdIU=",
+ "dev": true,
+ "requires": {
+ "domelementtype": "1"
+ }
+ },
+ "htmlparser2": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.3.0.tgz",
+ "integrity": "sha1-zHDQWln2VC5D8OaFyYLhTJJKnv4=",
+ "dev": true,
+ "requires": {
+ "domelementtype": "1",
+ "domhandler": "2.1",
+ "domutils": "1.1",
+ "readable-stream": "1.0"
+ }
+ },
+ "isarray": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
+ "dev": true
+ },
+ "readable-stream": {
+ "version": "1.0.34",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
+ "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
+ "dev": true,
+ "requires": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.1",
+ "isarray": "0.0.1",
+ "string_decoder": "~0.10.x"
+ }
+ },
+ "string_decoder": {
+ "version": "0.10.31",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+ "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
+ "dev": true
+ },
+ "utila": {
+ "version": "0.3.3",
+ "resolved": "https://registry.npmjs.org/utila/-/utila-0.3.3.tgz",
+ "integrity": "sha1-1+jn1+MJEHCSsF+NloiCTWM6QiY=",
+ "dev": true
+ }
+ }
+ },
+ "repeat-element": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz",
+ "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=",
+ "dev": true
+ },
+ "repeat-string": {
+ "version": "1.6.1",
+ "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
+ "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=",
+ "dev": true
+ },
+ "repeating": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz",
+ "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=",
+ "dev": true,
+ "requires": {
+ "is-finite": "^1.0.0"
+ }
+ },
+ "request": {
+ "version": "2.87.0",
+ "resolved": "https://registry.npmjs.org/request/-/request-2.87.0.tgz",
+ "integrity": "sha512-fcogkm7Az5bsS6Sl0sibkbhcKsnyon/jV1kF3ajGmF0c8HrttdKTPRT9hieOaQHA5HEq6r8OyWOo/o781C1tNw==",
+ "dev": true,
+ "requires": {
+ "aws-sign2": "~0.7.0",
+ "aws4": "^1.6.0",
+ "caseless": "~0.12.0",
+ "combined-stream": "~1.0.5",
+ "extend": "~3.0.1",
+ "forever-agent": "~0.6.1",
+ "form-data": "~2.3.1",
+ "har-validator": "~5.0.3",
+ "http-signature": "~1.2.0",
+ "is-typedarray": "~1.0.0",
+ "isstream": "~0.1.2",
+ "json-stringify-safe": "~5.0.1",
+ "mime-types": "~2.1.17",
+ "oauth-sign": "~0.8.2",
+ "performance-now": "^2.1.0",
+ "qs": "~6.5.1",
+ "safe-buffer": "^5.1.1",
+ "tough-cookie": "~2.3.3",
+ "tunnel-agent": "^0.6.0",
+ "uuid": "^3.1.0"
+ },
+ "dependencies": {
+ "punycode": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
+ "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=",
+ "dev": true
+ },
+ "qs": {
+ "version": "6.5.2",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz",
+ "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==",
+ "dev": true
+ },
+ "tough-cookie": {
+ "version": "2.3.4",
+ "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.4.tgz",
+ "integrity": "sha512-TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA==",
+ "dev": true,
+ "requires": {
+ "punycode": "^1.4.1"
+ }
+ }
+ }
+ },
+ "require-directory": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
+ "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=",
+ "dev": true
+ },
+ "require-from-string": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
+ "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==",
+ "dev": true
+ },
+ "require-main-filename": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz",
+ "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=",
+ "dev": true
+ },
+ "requires-port": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
+ "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=",
+ "dev": true
+ },
+ "resolve": {
+ "version": "1.8.1",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.8.1.tgz",
+ "integrity": "sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA==",
+ "dev": true,
+ "requires": {
+ "path-parse": "^1.0.5"
+ }
+ },
+ "resolve-cwd": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz",
+ "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=",
+ "dev": true,
+ "requires": {
+ "resolve-from": "^3.0.0"
+ }
+ },
+ "resolve-dir": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz",
+ "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=",
+ "dev": true,
+ "requires": {
+ "expand-tilde": "^2.0.0",
+ "global-modules": "^1.0.0"
+ }
+ },
+ "resolve-from": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz",
+ "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=",
+ "dev": true
+ },
+ "resolve-url": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
+ "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=",
+ "dev": true
+ },
+ "restore-cursor": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz",
+ "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=",
+ "dev": true,
+ "requires": {
+ "onetime": "^2.0.0",
+ "signal-exit": "^3.0.2"
+ }
+ },
+ "ret": {
+ "version": "0.1.15",
+ "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz",
+ "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==",
+ "dev": true
+ },
+ "retry": {
+ "version": "0.10.1",
+ "resolved": "https://registry.npmjs.org/retry/-/retry-0.10.1.tgz",
+ "integrity": "sha1-52OI0heZLCUnUCQdPTlW/tmNj/Q=",
+ "dev": true
+ },
+ "right-align": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz",
+ "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "align-text": "^0.1.1"
+ }
+ },
+ "rimraf": {
+ "version": "2.6.2",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz",
+ "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==",
+ "dev": true,
+ "requires": {
+ "glob": "^7.0.5"
+ }
+ },
+ "ripemd160": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz",
+ "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==",
+ "dev": true,
+ "requires": {
+ "hash-base": "^3.0.0",
+ "inherits": "^2.0.1"
+ }
+ },
+ "run-async": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz",
+ "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=",
+ "dev": true,
+ "requires": {
+ "is-promise": "^2.1.0"
+ }
+ },
+ "run-queue": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz",
+ "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=",
+ "dev": true,
+ "requires": {
+ "aproba": "^1.1.1"
+ }
+ },
+ "rxjs": {
+ "version": "6.2.2",
+ "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.2.2.tgz",
+ "integrity": "sha512-0MI8+mkKAXZUF9vMrEoPnaoHkfzBPP4IGwUYRJhIRJF6/w3uByO1e91bEHn8zd43RdkTMKiooYKmwz7RH6zfOQ==",
+ "requires": {
+ "tslib": "^1.9.0"
+ }
+ },
+ "rxjs-compat": {
+ "version": "6.2.2",
+ "resolved": "https://registry.npmjs.org/rxjs-compat/-/rxjs-compat-6.2.2.tgz",
+ "integrity": "sha512-h113JzEXnqBd6JQ8TYg33oDuM3baZ9WKS49rtbMX0gBW2Kz0z4wDZ0/pCA0T9sRJM1HkZT6mt45gpYOJ2MqWYQ=="
+ },
+ "safe-buffer": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
+ "dev": true
+ },
+ "safe-regex": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
+ "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=",
+ "dev": true,
+ "requires": {
+ "ret": "~0.1.10"
+ }
+ },
+ "safer-buffer": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
+ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
+ "dev": true
+ },
+ "sass-graph": {
+ "version": "2.2.4",
+ "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-2.2.4.tgz",
+ "integrity": "sha1-E/vWPNHK8JCLn9k0dq1DpR0eC0k=",
+ "dev": true,
+ "requires": {
+ "glob": "^7.0.0",
+ "lodash": "^4.0.0",
+ "scss-tokenizer": "^0.2.3",
+ "yargs": "^7.0.0"
+ },
+ "dependencies": {
+ "camelcase": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz",
+ "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=",
+ "dev": true
+ },
+ "cliui": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz",
+ "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=",
+ "dev": true,
+ "requires": {
+ "string-width": "^1.0.1",
+ "strip-ansi": "^3.0.1",
+ "wrap-ansi": "^2.0.0"
+ }
+ },
+ "y18n": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz",
+ "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=",
+ "dev": true
+ },
+ "yargs": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.0.tgz",
+ "integrity": "sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg=",
+ "dev": true,
+ "requires": {
+ "camelcase": "^3.0.0",
+ "cliui": "^3.2.0",
+ "decamelize": "^1.1.1",
+ "get-caller-file": "^1.0.1",
+ "os-locale": "^1.4.0",
+ "read-pkg-up": "^1.0.1",
+ "require-directory": "^2.1.1",
+ "require-main-filename": "^1.0.1",
+ "set-blocking": "^2.0.0",
+ "string-width": "^1.0.2",
+ "which-module": "^1.0.0",
+ "y18n": "^3.2.1",
+ "yargs-parser": "^5.0.0"
+ }
+ }
+ }
+ },
+ "sass-loader": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-7.1.0.tgz",
+ "integrity": "sha512-+G+BKGglmZM2GUSfT9TLuEp6tzehHPjAMoRRItOojWIqIGPloVCMhNIQuG639eJ+y033PaGTSjLaTHts8Kw79w==",
+ "dev": true,
+ "requires": {
+ "clone-deep": "^2.0.1",
+ "loader-utils": "^1.0.1",
+ "lodash.tail": "^4.1.1",
+ "neo-async": "^2.5.0",
+ "pify": "^3.0.0",
+ "semver": "^5.5.0"
+ }
+ },
+ "sax": {
+ "version": "0.5.8",
+ "resolved": "https://registry.npmjs.org/sax/-/sax-0.5.8.tgz",
+ "integrity": "sha1-1HLbIo6zMcJQaw6MFVJK25OdEsE=",
+ "dev": true
+ },
+ "schema-utils": {
+ "version": "0.4.5",
+ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.5.tgz",
+ "integrity": "sha512-yYrjb9TX2k/J1Y5UNy3KYdZq10xhYcF8nMpAW6o3hy6Q8WSIEf9lJHG/ePnOBfziPM3fvQwfOwa13U/Fh8qTfA==",
+ "dev": true,
+ "requires": {
+ "ajv": "^6.1.0",
+ "ajv-keywords": "^3.1.0"
+ }
+ },
+ "scss-tokenizer": {
+ "version": "0.2.3",
+ "resolved": "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz",
+ "integrity": "sha1-jrBtualyMzOCTT9VMGQRSYR85dE=",
+ "dev": true,
+ "requires": {
+ "js-base64": "^2.1.8",
+ "source-map": "^0.4.2"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.4.4",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz",
+ "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=",
+ "dev": true,
+ "requires": {
+ "amdefine": ">=0.0.4"
+ }
+ }
+ }
+ },
+ "select": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/select/-/select-1.1.2.tgz",
+ "integrity": "sha1-DnNQrN7ICxEIUoeG7B1EGNEbOW0=",
+ "dev": true,
+ "optional": true
+ },
+ "select-hose": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz",
+ "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=",
+ "dev": true
+ },
+ "selfsigned": {
+ "version": "1.10.3",
+ "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.3.tgz",
+ "integrity": "sha512-vmZenZ+8Al3NLHkWnhBQ0x6BkML1eCP2xEi3JE+f3D9wW9fipD9NNJHYtE9XJM4TsPaHGZJIamrSI6MTg1dU2Q==",
+ "dev": true,
+ "requires": {
+ "node-forge": "0.7.5"
+ }
+ },
+ "semver": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz",
+ "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==",
+ "dev": true
+ },
+ "semver-intersect": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/semver-intersect/-/semver-intersect-1.3.1.tgz",
+ "integrity": "sha1-j6hKnhAovSOeRTDRo+GB5pjYhLo=",
+ "dev": true,
+ "requires": {
+ "semver": "^5.0.0"
+ }
+ },
+ "send": {
+ "version": "0.16.2",
+ "resolved": "https://registry.npmjs.org/send/-/send-0.16.2.tgz",
+ "integrity": "sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw==",
+ "dev": true,
+ "requires": {
+ "debug": "2.6.9",
+ "depd": "~1.1.2",
+ "destroy": "~1.0.4",
+ "encodeurl": "~1.0.2",
+ "escape-html": "~1.0.3",
+ "etag": "~1.8.1",
+ "fresh": "0.5.2",
+ "http-errors": "~1.6.2",
+ "mime": "1.4.1",
+ "ms": "2.0.0",
+ "on-finished": "~2.3.0",
+ "range-parser": "~1.2.0",
+ "statuses": "~1.4.0"
+ },
+ "dependencies": {
+ "mime": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz",
+ "integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==",
+ "dev": true
+ }
+ }
+ },
+ "serialize-javascript": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-1.5.0.tgz",
+ "integrity": "sha512-Ga8c8NjAAp46Br4+0oZ2WxJCwIzwP60Gq1YPgU+39PiTVxyed/iKE/zyZI6+UlVYH5Q4PaQdHhcegIFPZTUfoQ==",
+ "dev": true
+ },
+ "serve-favicon": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/serve-favicon/-/serve-favicon-2.5.0.tgz",
+ "integrity": "sha1-k10kDN/g9YBTB/3+ln2IlCosvPA=",
+ "dev": true,
+ "requires": {
+ "etag": "~1.8.1",
+ "fresh": "0.5.2",
+ "ms": "2.1.1",
+ "parseurl": "~1.3.2",
+ "safe-buffer": "5.1.1"
+ },
+ "dependencies": {
+ "ms": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
+ "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==",
+ "dev": true
+ },
+ "safe-buffer": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz",
+ "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==",
+ "dev": true
+ }
+ }
+ },
+ "serve-index": {
+ "version": "1.9.1",
+ "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz",
+ "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=",
+ "dev": true,
+ "requires": {
+ "accepts": "~1.3.4",
+ "batch": "0.6.1",
+ "debug": "2.6.9",
+ "escape-html": "~1.0.3",
+ "http-errors": "~1.6.2",
+ "mime-types": "~2.1.17",
+ "parseurl": "~1.3.2"
+ }
+ },
+ "serve-static": {
+ "version": "1.13.2",
+ "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.2.tgz",
+ "integrity": "sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw==",
+ "dev": true,
+ "requires": {
+ "encodeurl": "~1.0.2",
+ "escape-html": "~1.0.3",
+ "parseurl": "~1.3.2",
+ "send": "0.16.2"
+ }
+ },
+ "set-blocking": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
+ "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=",
+ "dev": true
+ },
+ "set-immediate-shim": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz",
+ "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=",
+ "dev": true
+ },
+ "set-value": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz",
+ "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==",
+ "dev": true,
+ "requires": {
+ "extend-shallow": "^2.0.1",
+ "is-extendable": "^0.1.1",
+ "is-plain-object": "^2.0.3",
+ "split-string": "^3.0.1"
+ },
+ "dependencies": {
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "dev": true,
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ }
+ }
+ },
+ "setimmediate": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz",
+ "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=",
+ "dev": true
+ },
+ "setprototypeof": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz",
+ "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==",
+ "dev": true
+ },
+ "sha.js": {
+ "version": "2.4.11",
+ "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz",
+ "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==",
+ "dev": true,
+ "requires": {
+ "inherits": "^2.0.1",
+ "safe-buffer": "^5.0.1"
+ }
+ },
+ "shallow-clone": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-1.0.0.tgz",
+ "integrity": "sha512-oeXreoKR/SyNJtRJMAKPDSvd28OqEwG4eR/xc856cRGBII7gX9lvAqDxusPm0846z/w/hWYjI1NpKwJ00NHzRA==",
+ "dev": true,
+ "requires": {
+ "is-extendable": "^0.1.1",
+ "kind-of": "^5.0.0",
+ "mixin-object": "^2.0.1"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
+ "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
+ "dev": true
+ }
+ }
+ },
+ "shallowequal": {
+ "version": "0.2.2",
+ "resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-0.2.2.tgz",
+ "integrity": "sha1-HjL9W8q2rWiKSBLLDMBO/HXHAU4=",
+ "dev": true,
+ "requires": {
+ "lodash.keys": "^3.1.2"
+ }
+ },
+ "shebang-command": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
+ "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
+ "dev": true,
+ "requires": {
+ "shebang-regex": "^1.0.0"
+ }
+ },
+ "shebang-regex": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
+ "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
+ "dev": true
+ },
+ "shell-quote": {
+ "version": "1.6.1",
+ "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.6.1.tgz",
+ "integrity": "sha1-9HgZSczkAmlxJ0MOo7PFR29IF2c=",
+ "dev": true,
+ "requires": {
+ "array-filter": "~0.0.0",
+ "array-map": "~0.0.0",
+ "array-reduce": "~0.0.0",
+ "jsonify": "~0.0.0"
+ }
+ },
+ "shelljs": {
+ "version": "0.8.2",
+ "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.2.tgz",
+ "integrity": "sha512-pRXeNrCA2Wd9itwhvLp5LZQvPJ0wU6bcjaTMywHHGX5XWhVN2nzSu7WV0q+oUY7mGK3mgSkDDzP3MgjqdyIgbQ==",
+ "dev": true,
+ "requires": {
+ "glob": "^7.0.0",
+ "interpret": "^1.0.0",
+ "rechoir": "^0.6.2"
+ }
+ },
+ "signal-exit": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
+ "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=",
+ "dev": true
+ },
+ "silent-error": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/silent-error/-/silent-error-1.1.0.tgz",
+ "integrity": "sha1-IglwbxyFCp8dENDYQJGLRvJuG8k=",
+ "dev": true,
+ "requires": {
+ "debug": "^2.2.0"
+ }
+ },
+ "slash": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz",
+ "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=",
+ "dev": true
+ },
+ "slide": {
+ "version": "1.1.6",
+ "resolved": "https://registry.npmjs.org/slide/-/slide-1.1.6.tgz",
+ "integrity": "sha1-VusCfWW00tzmyy4tMsTUr8nh1wc=",
+ "dev": true
+ },
+ "snapdragon-node": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz",
+ "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==",
+ "dev": true,
+ "requires": {
+ "define-property": "^1.0.0",
+ "isobject": "^3.0.0",
+ "snapdragon-util": "^3.0.1"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
+ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "^1.0.0"
+ }
+ },
+ "is-accessor-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
+ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^6.0.0"
+ }
+ },
+ "is-data-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
+ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^6.0.0"
+ }
+ },
+ "is-descriptor": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
+ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
+ "dev": true,
+ "requires": {
+ "is-accessor-descriptor": "^1.0.0",
+ "is-data-descriptor": "^1.0.0",
+ "kind-of": "^6.0.2"
+ }
+ }
+ }
+ },
+ "snapdragon-util": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz",
+ "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^3.2.0"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "sntp": {
+ "version": "1.0.9",
+ "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz",
+ "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=",
+ "dev": true,
+ "requires": {
+ "hoek": "2.x.x"
+ }
+ },
+ "sockjs": {
+ "version": "0.3.19",
+ "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.19.tgz",
+ "integrity": "sha512-V48klKZl8T6MzatbLlzzRNhMepEys9Y4oGFpypBFFn1gLI/QQ9HtLLyWJNbPlwGLelOVOEijUbTTJeLLI59jLw==",
+ "dev": true,
+ "requires": {
+ "faye-websocket": "^0.10.0",
+ "uuid": "^3.0.1"
+ },
+ "dependencies": {
+ "faye-websocket": {
+ "version": "0.10.0",
+ "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz",
+ "integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=",
+ "dev": true,
+ "requires": {
+ "websocket-driver": ">=0.5.1"
+ }
+ }
+ }
+ },
+ "sockjs-client": {
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.1.5.tgz",
+ "integrity": "sha1-G7fA9yIsQPQq3xT0RCy9Eml3GoM=",
+ "dev": true,
+ "requires": {
+ "debug": "^2.6.6",
+ "eventsource": "0.1.6",
+ "faye-websocket": "~0.11.0",
+ "inherits": "^2.0.1",
+ "json3": "^3.3.2",
+ "url-parse": "^1.1.8"
+ },
+ "dependencies": {
+ "faye-websocket": {
+ "version": "0.11.1",
+ "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.1.tgz",
+ "integrity": "sha1-8O/hjE9W5PQK/H4Gxxn9XuYYjzg=",
+ "dev": true,
+ "requires": {
+ "websocket-driver": ">=0.5.1"
+ }
+ }
+ }
+ },
+ "sort-keys": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz",
+ "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=",
+ "dev": true,
+ "requires": {
+ "is-plain-obj": "^1.0.0"
+ }
+ },
+ "source-list-map": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.0.tgz",
+ "integrity": "sha512-I2UmuJSRr/T8jisiROLU3A3ltr+swpniSmNPI4Ml3ZCX6tVnDsuZzK7F2hl5jTqbZBWCEKlj5HRQiPExXLgE8A==",
+ "dev": true
+ },
+ "source-map": {
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+ "dev": true
+ },
+ "source-map-resolve": {
+ "version": "0.5.2",
+ "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz",
+ "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==",
+ "dev": true,
+ "requires": {
+ "atob": "^2.1.1",
+ "decode-uri-component": "^0.2.0",
+ "resolve-url": "^0.2.1",
+ "source-map-url": "^0.4.0",
+ "urix": "^0.1.0"
+ }
+ },
+ "source-map-support": {
+ "version": "0.5.6",
+ "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.6.tgz",
+ "integrity": "sha512-N4KXEz7jcKqPf2b2vZF11lQIz9W5ZMuUcIOGj243lduidkf2fjkVKJS9vNxVWn3u/uxX38AcE8U9nnH9FPcq+g==",
+ "dev": true,
+ "requires": {
+ "buffer-from": "^1.0.0",
+ "source-map": "^0.6.0"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true
+ }
+ }
+ },
+ "source-map-url": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz",
+ "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=",
+ "dev": true
+ },
+ "space-separated-tokens": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-1.1.2.tgz",
+ "integrity": "sha512-G3jprCEw+xFEs0ORweLmblJ3XLymGGr6hxZYTYZjIlvDti9vOBUjRQa1Rzjt012aRrocKstHwdNi+F7HguPsEA==",
+ "dev": true,
+ "requires": {
+ "trim": "0.0.1"
+ }
+ },
+ "spdx-correct": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.0.0.tgz",
+ "integrity": "sha512-N19o9z5cEyc8yQQPukRCZ9EUmb4HUpnrmaL/fxS2pBo2jbfcFRVuFZ/oFC+vZz0MNNk0h80iMn5/S6qGZOL5+g==",
+ "dev": true,
+ "requires": {
+ "spdx-expression-parse": "^3.0.0",
+ "spdx-license-ids": "^3.0.0"
+ }
+ },
+ "spdx-exceptions": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.1.0.tgz",
+ "integrity": "sha512-4K1NsmrlCU1JJgUrtgEeTVyfx8VaYea9J9LvARxhbHtVtohPs/gFGG5yy49beySjlIMhhXZ4QqujIZEfS4l6Cg==",
+ "dev": true
+ },
+ "spdx-expression-parse": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz",
+ "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==",
+ "dev": true,
+ "requires": {
+ "spdx-exceptions": "^2.1.0",
+ "spdx-license-ids": "^3.0.0"
+ }
+ },
+ "spdx-license-ids": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.0.tgz",
+ "integrity": "sha512-2+EPwgbnmOIl8HjGBXXMd9NAu02vLjOO1nWw4kmeRDFyHn+M/ETfHxQUK0oXg8ctgVnl9t3rosNVsZ1jG61nDA==",
+ "dev": true
+ },
+ "spdy": {
+ "version": "3.4.7",
+ "resolved": "https://registry.npmjs.org/spdy/-/spdy-3.4.7.tgz",
+ "integrity": "sha1-Qv9B7OXMD5mjpsKKq7c/XDsDrLw=",
+ "dev": true,
+ "requires": {
+ "debug": "^2.6.8",
+ "handle-thing": "^1.2.5",
+ "http-deceiver": "^1.2.7",
+ "safe-buffer": "^5.0.1",
+ "select-hose": "^2.0.0",
+ "spdy-transport": "^2.0.18"
+ },
+ "dependencies": {
+ "hpack.js": {
+ "version": "2.1.6",
+ "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz",
+ "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=",
+ "dev": true,
+ "requires": {
+ "inherits": "^2.0.1",
+ "obuf": "^1.0.0",
+ "readable-stream": "^2.0.1",
+ "wbuf": "^1.1.0"
+ }
+ },
+ "spdy-transport": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-2.1.0.tgz",
+ "integrity": "sha512-bpUeGpZcmZ692rrTiqf9/2EUakI6/kXX1Rpe0ib/DyOzbiexVfXkw6GnvI9hVGvIwVaUhkaBojjCZwLNRGQg1g==",
+ "dev": true,
+ "requires": {
+ "debug": "^2.6.8",
+ "detect-node": "^2.0.3",
+ "hpack.js": "^2.1.6",
+ "obuf": "^1.1.1",
+ "readable-stream": "^2.2.9",
+ "safe-buffer": "^5.0.1",
+ "wbuf": "^1.7.2"
+ }
+ }
+ }
+ },
+ "split-string": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz",
+ "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==",
+ "dev": true,
+ "requires": {
+ "extend-shallow": "^3.0.0"
+ }
+ },
+ "sprintf-js": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
+ "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
+ "dev": true
+ },
+ "ssri": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/ssri/-/ssri-5.3.0.tgz",
+ "integrity": "sha512-XRSIPqLij52MtgoQavH/x/dU1qVKtWUAAZeOHsR9c2Ddi4XerFy3mc1alf+dLJKl9EUIm/Ht+EowFkTUOA6GAQ==",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "^5.1.1"
+ }
+ },
+ "stack-utils": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.1.tgz",
+ "integrity": "sha1-1PM6tU6OOHeLDKXP07OvsS22hiA=",
+ "dev": true
+ },
+ "static-extend": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz",
+ "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=",
+ "dev": true,
+ "requires": {
+ "define-property": "^0.2.5",
+ "object-copy": "^0.1.0"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "^0.1.0"
+ }
+ },
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ },
+ "object-copy": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz",
+ "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=",
+ "dev": true,
+ "requires": {
+ "copy-descriptor": "^0.1.0",
+ "define-property": "^0.2.5",
+ "kind-of": "^3.0.3"
+ }
+ }
+ }
+ },
+ "stats-webpack-plugin": {
+ "version": "0.6.2",
+ "resolved": "https://registry.npmjs.org/stats-webpack-plugin/-/stats-webpack-plugin-0.6.2.tgz",
+ "integrity": "sha1-LFlJtTHgf4eojm6k3PrFOqjHWis=",
+ "dev": true,
+ "requires": {
+ "lodash": "^4.17.4"
+ }
+ },
+ "statuses": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz",
+ "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==",
+ "dev": true
+ },
+ "stdout-stream": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/stdout-stream/-/stdout-stream-1.4.0.tgz",
+ "integrity": "sha1-osfIWH5U2UJ+qe2zrD8s1SLfN4s=",
+ "dev": true,
+ "requires": {
+ "readable-stream": "^2.0.1"
+ }
+ },
+ "stream-browserify": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.1.tgz",
+ "integrity": "sha1-ZiZu5fm9uZQKTkUUyvtDu3Hlyds=",
+ "dev": true,
+ "requires": {
+ "inherits": "~2.0.1",
+ "readable-stream": "^2.0.2"
+ }
+ },
+ "stream-each": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz",
+ "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==",
+ "dev": true,
+ "requires": {
+ "end-of-stream": "^1.1.0",
+ "stream-shift": "^1.0.0"
+ }
+ },
+ "stream-http": {
+ "version": "2.8.3",
+ "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz",
+ "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==",
+ "dev": true,
+ "requires": {
+ "builtin-status-codes": "^3.0.0",
+ "inherits": "^2.0.1",
+ "readable-stream": "^2.3.6",
+ "to-arraybuffer": "^1.0.0",
+ "xtend": "^4.0.0"
+ }
+ },
+ "stream-shift": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz",
+ "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=",
+ "dev": true
+ },
+ "strict-uri-encode": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz",
+ "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=",
+ "dev": true
+ },
+ "string-width": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
+ "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
+ "dev": true,
+ "requires": {
+ "code-point-at": "^1.0.0",
+ "is-fullwidth-code-point": "^1.0.0",
+ "strip-ansi": "^3.0.0"
+ }
+ },
+ "string.prototype.matchall": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-3.0.0.tgz",
+ "integrity": "sha512-/g0YW/cEfXASRHAaLR7VZbTUlxgP14fmCsfSRFG2gvlG2S1q9rBpjYnEy/EIIzY+bjzs2nTfAHJYXmQ+zTnXSQ==",
+ "dev": true,
+ "requires": {
+ "define-properties": "^1.1.2",
+ "es-abstract": "^1.12.0",
+ "function-bind": "^1.1.1",
+ "has-symbols": "^1.0.0",
+ "regexp.prototype.flags": "^1.2.0"
+ }
+ },
+ "string.prototype.padend": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/string.prototype.padend/-/string.prototype.padend-3.0.0.tgz",
+ "integrity": "sha1-86rvfBcZ8XDF6rHDK/eA2W4h8vA=",
+ "dev": true,
+ "requires": {
+ "define-properties": "^1.1.2",
+ "es-abstract": "^1.4.3",
+ "function-bind": "^1.0.2"
+ }
+ },
+ "string.prototype.padstart": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/string.prototype.padstart/-/string.prototype.padstart-3.0.0.tgz",
+ "integrity": "sha1-W8+tOfRkm7LQMSkuGbzwtRDUskI=",
+ "dev": true,
+ "requires": {
+ "define-properties": "^1.1.2",
+ "es-abstract": "^1.4.3",
+ "function-bind": "^1.0.2"
+ }
+ },
+ "string_decoder": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "~5.1.0"
+ }
+ },
+ "stringstream": {
+ "version": "0.0.6",
+ "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.6.tgz",
+ "integrity": "sha512-87GEBAkegbBcweToUrdzf3eLhWNg06FJTebl4BVJz/JgWy8CvEr9dRtX5qWphiynMSQlxxi+QqN0z5T32SLlhA==",
+ "dev": true
+ },
+ "strip-ansi": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^2.0.0"
+ }
+ },
+ "strip-bom": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz",
+ "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=",
+ "dev": true,
+ "requires": {
+ "is-utf8": "^0.2.0"
+ }
+ },
+ "strip-eof": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz",
+ "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=",
+ "dev": true
+ },
+ "strip-indent": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz",
+ "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=",
+ "dev": true,
+ "requires": {
+ "get-stdin": "^4.0.1"
+ }
+ },
+ "style-loader": {
+ "version": "0.21.0",
+ "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-0.21.0.tgz",
+ "integrity": "sha512-T+UNsAcl3Yg+BsPKs1vd22Fr8sVT+CJMtzqc6LEw9bbJZb43lm9GoeIfUcDEefBSWC0BhYbcdupV1GtI4DGzxg==",
+ "dev": true,
+ "requires": {
+ "loader-utils": "^1.1.0",
+ "schema-utils": "^0.4.5"
+ }
+ },
+ "stylis": {
+ "version": "3.5.3",
+ "resolved": "https://registry.npmjs.org/stylis/-/stylis-3.5.3.tgz",
+ "integrity": "sha512-TxU0aAscJghF9I3V9q601xcK3Uw1JbXvpsBGj/HULqexKOKlOEzzlIpLFRbKkCK990ccuxfXUqmPbIIo7Fq/cQ==",
+ "dev": true
+ },
+ "stylis-rule-sheet": {
+ "version": "0.0.10",
+ "resolved": "https://registry.npmjs.org/stylis-rule-sheet/-/stylis-rule-sheet-0.0.10.tgz",
+ "integrity": "sha512-nTbZoaqoBnmK+ptANthb10ZRZOGC+EmTLLUxeYIuHNkEKcmKgXX1XWKkUBT2Ac4es3NybooPe0SmvKdhKJZAuw==",
+ "dev": true
+ },
+ "stylus-loader": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/stylus-loader/-/stylus-loader-3.0.2.tgz",
+ "integrity": "sha512-+VomPdZ6a0razP+zinir61yZgpw2NfljeSsdUF5kJuEzlo3khXhY19Fn6l8QQz1GRJGtMCo8nG5C04ePyV7SUA==",
+ "dev": true,
+ "requires": {
+ "loader-utils": "^1.0.2",
+ "lodash.clonedeep": "^4.5.0",
+ "when": "~3.6.x"
+ },
+ "dependencies": {
+ "when": {
+ "version": "3.6.4",
+ "resolved": "https://registry.npmjs.org/when/-/when-3.6.4.tgz",
+ "integrity": "sha1-RztRfsFZ4rhQBUl6E5g/CVQS404=",
+ "dev": true
+ }
+ }
+ },
+ "supports-color": {
+ "version": "5.4.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz",
+ "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ },
+ "svg-url-loader": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/svg-url-loader/-/svg-url-loader-2.3.2.tgz",
+ "integrity": "sha1-3YaybBn+O5FPBOoQ7zlZTq3gRGQ=",
+ "dev": true,
+ "requires": {
+ "file-loader": "1.1.11",
+ "loader-utils": "1.1.0"
+ }
+ },
+ "symbol-observable": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz",
+ "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==",
+ "dev": true
+ },
+ "symbol.prototype.description": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/symbol.prototype.description/-/symbol.prototype.description-1.0.0.tgz",
+ "integrity": "sha512-I9mrbZ5M96s7QeJDv95toF1svkUjeBybe8ydhY7foPaBmr0SPJMFupArmMkDrOKTTj0sJVr+nvQNxWLziQ7nDQ==",
+ "dev": true,
+ "requires": {
+ "has-symbols": "^1.0.0"
+ }
+ },
+ "tapable": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.0.0.tgz",
+ "integrity": "sha512-dQRhbNQkRnaqauC7WqSJ21EEksgT0fYZX2lqXzGkpo8JNig9zGZTYoMGvyI2nWmXlE2VSVXVDu7wLVGu/mQEsg==",
+ "dev": true
+ },
+ "tar": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz",
+ "integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=",
+ "dev": true,
+ "requires": {
+ "block-stream": "*",
+ "fstream": "^1.0.2",
+ "inherits": "2"
+ }
+ },
+ "text-table": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
+ "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=",
+ "dev": true
+ },
+ "through2": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz",
+ "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=",
+ "dev": true,
+ "requires": {
+ "readable-stream": "^2.1.5",
+ "xtend": "~4.0.1"
+ }
+ },
+ "thunky": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.0.2.tgz",
+ "integrity": "sha1-qGLgGOP7HqLsP85dVWBc9X8kc3E=",
+ "dev": true
+ },
+ "timers-browserify": {
+ "version": "2.0.10",
+ "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.10.tgz",
+ "integrity": "sha512-YvC1SV1XdOUaL6gx5CoGroT3Gu49pK9+TZ38ErPldOWW4j49GI1HKs9DV+KGq/w6y+LZ72W1c8cKz2vzY+qpzg==",
+ "dev": true,
+ "requires": {
+ "setimmediate": "^1.0.4"
+ }
+ },
+ "tiny-emitter": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/tiny-emitter/-/tiny-emitter-2.0.2.tgz",
+ "integrity": "sha512-2NM0auVBGft5tee/OxP4PI3d8WItkDM+fPnaRAVo6xTDI2knbz9eC5ArWGqtGlYqiH3RU5yMpdyTTO7MguC4ow==",
+ "dev": true,
+ "optional": true
+ },
+ "tinycolor2": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.4.1.tgz",
+ "integrity": "sha1-9PrTM0R7wLB9TcjpIJ2POaisd+g=",
+ "dev": true
+ },
+ "tmp": {
+ "version": "0.0.33",
+ "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
+ "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==",
+ "dev": true,
+ "requires": {
+ "os-tmpdir": "~1.0.2"
+ }
+ },
+ "to-arraybuffer": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz",
+ "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=",
+ "dev": true
+ },
+ "to-fast-properties": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz",
+ "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=",
+ "dev": true
+ },
+ "to-object-path": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz",
+ "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=",
+ "dev": true,
+ "requires": {
+ "kind-of": "^3.0.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "to-regex": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz",
+ "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==",
+ "dev": true,
+ "requires": {
+ "define-property": "^2.0.2",
+ "extend-shallow": "^3.0.2",
+ "regex-not": "^1.0.2",
+ "safe-regex": "^1.1.0"
+ }
+ },
+ "to-regex-range": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
+ "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
+ "dev": true,
+ "requires": {
+ "is-number": "^3.0.0",
+ "repeat-string": "^1.6.1"
+ }
+ },
+ "toposort": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/toposort/-/toposort-1.0.7.tgz",
+ "integrity": "sha1-LmhELZ9k7HILjMieZEOsbKqVACk=",
+ "dev": true
+ },
+ "touch": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/touch/-/touch-1.0.0.tgz",
+ "integrity": "sha1-RJy+LbrlqMgDjjDXH6D/RklHxN4=",
+ "dev": true,
+ "requires": {
+ "nopt": "~1.0.10"
+ },
+ "dependencies": {
+ "nopt": {
+ "version": "1.0.10",
+ "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz",
+ "integrity": "sha1-bd0hvSoxQXuScn3Vhfim83YI6+4=",
+ "dev": true,
+ "requires": {
+ "abbrev": "1"
+ }
+ }
+ }
+ },
+ "tree-kill": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.0.tgz",
+ "integrity": "sha512-DlX6dR0lOIRDFxI0mjL9IYg6OTncLm/Zt+JiBhE5OlFcAR8yc9S7FFXU9so0oda47frdM/JFsk7UjNt9vscKcg==",
+ "dev": true
+ },
+ "trim": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/trim/-/trim-0.0.1.tgz",
+ "integrity": "sha1-WFhUf2spB1fulczMZm+1AITEYN0=",
+ "dev": true
+ },
+ "trim-newlines": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz",
+ "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=",
+ "dev": true
+ },
+ "trim-right": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz",
+ "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=",
+ "dev": true
+ },
+ "true-case-path": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-1.0.2.tgz",
+ "integrity": "sha1-fskRMJJHZsf1c74wIMNPj9/QDWI=",
+ "dev": true,
+ "requires": {
+ "glob": "^6.0.4"
+ },
+ "dependencies": {
+ "glob": {
+ "version": "6.0.4",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz",
+ "integrity": "sha1-DwiGD2oVUSey+t1PnOJLGqtuTSI=",
+ "dev": true,
+ "requires": {
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "2 || 3",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ }
+ }
+ }
+ },
+ "ts-loader": {
+ "version": "4.4.2",
+ "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-4.4.2.tgz",
+ "integrity": "sha512-Z3Y1a7A0KZZ1s/mAZkt74l1NAF7Y5xUhD1V9VB8/1eUlUOk8Qa/oo46tO2Uu5kQ3wXypOlbv77lLQySjXEDcdw==",
+ "dev": true,
+ "requires": {
+ "chalk": "^2.3.0",
+ "enhanced-resolve": "^4.0.0",
+ "loader-utils": "^1.0.2",
+ "micromatch": "^3.1.4",
+ "semver": "^5.0.1"
+ },
+ "dependencies": {
+ "chalk": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz",
+ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ }
+ }
+ }
+ },
+ "ts-node": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-7.0.0.tgz",
+ "integrity": "sha512-klJsfswHP0FuOLsvBZ/zzCfUvakOSSxds78mVeK7I+qP76YWtxf16hEZsp3U+b0kIo82R5UatGFeblYMqabb2Q==",
+ "dev": true,
+ "requires": {
+ "arrify": "^1.0.0",
+ "buffer-from": "^1.1.0",
+ "diff": "^3.1.0",
+ "make-error": "^1.1.1",
+ "minimist": "^1.2.0",
+ "mkdirp": "^0.5.1",
+ "source-map-support": "^0.5.6",
+ "yn": "^2.0.0"
+ },
+ "dependencies": {
+ "minimist": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+ "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
+ "dev": true
+ }
+ }
+ },
+ "tslib": {
+ "version": "1.9.3",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.3.tgz",
+ "integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ=="
+ },
+ "tslint": {
+ "version": "5.11.0",
+ "resolved": "https://registry.npmjs.org/tslint/-/tslint-5.11.0.tgz",
+ "integrity": "sha1-mPMMAurjzecAYgHkwzywi0hYHu0=",
+ "dev": true,
+ "requires": {
+ "babel-code-frame": "^6.22.0",
+ "builtin-modules": "^1.1.1",
+ "chalk": "^2.3.0",
+ "commander": "^2.12.1",
+ "diff": "^3.2.0",
+ "glob": "^7.1.1",
+ "js-yaml": "^3.7.0",
+ "minimatch": "^3.0.4",
+ "resolve": "^1.3.2",
+ "semver": "^5.3.0",
+ "tslib": "^1.8.0",
+ "tsutils": "^2.27.2"
+ },
+ "dependencies": {
+ "chalk": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz",
+ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ }
+ }
+ }
+ },
+ "tsutils": {
+ "version": "2.29.0",
+ "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.29.0.tgz",
+ "integrity": "sha512-g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA==",
+ "dev": true,
+ "requires": {
+ "tslib": "^1.8.1"
+ }
+ },
+ "tty-browserify": {
+ "version": "0.0.0",
+ "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz",
+ "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=",
+ "dev": true
+ },
+ "tunnel-agent": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
+ "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "^5.0.1"
+ }
+ },
+ "tweetnacl": {
+ "version": "0.14.5",
+ "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
+ "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=",
+ "dev": true,
+ "optional": true
+ },
+ "type-check": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz",
+ "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=",
+ "dev": true,
+ "requires": {
+ "prelude-ls": "~1.1.2"
+ }
+ },
+ "type-is": {
+ "version": "1.6.16",
+ "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.16.tgz",
+ "integrity": "sha512-HRkVv/5qY2G6I8iab9cI7v1bOIdhm94dVjQCPFElW9W+3GeDOSHmy2EBYe4VTApuzolPcmgFTN3ftVJRKR2J9Q==",
+ "dev": true,
+ "requires": {
+ "media-typer": "0.3.0",
+ "mime-types": "~2.1.18"
+ }
+ },
+ "typedarray": {
+ "version": "0.0.6",
+ "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
+ "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=",
+ "dev": true
+ },
+ "typescript": {
+ "version": "2.7.2",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-2.7.2.tgz",
+ "integrity": "sha512-p5TCYZDAO0m4G344hD+wx/LATebLWZNkkh2asWUFqSsD2OrDNhbAHuSjobrmsUmdzjJjEeZVU9g1h3O6vpstnw==",
+ "dev": true
+ },
+ "ua-parser-js": {
+ "version": "0.7.18",
+ "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.18.tgz",
+ "integrity": "sha512-LtzwHlVHwFGTptfNSgezHp7WUlwiqb0gA9AALRbKaERfxwJoiX0A73QbTToxteIAuIaFshhgIZfqK8s7clqgnA==",
+ "dev": true
+ },
+ "uglify-js": {
+ "version": "3.4.6",
+ "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.6.tgz",
+ "integrity": "sha512-O1D7L6WcOzS1qW2ehopEm4cWm5yA6bQBozlks8jO8ODxYCy4zv+bR/la4Lwp01tpkYGNonnpXvUpYtrvSu8Yzg==",
+ "dev": true,
+ "requires": {
+ "commander": "~2.16.0",
+ "source-map": "~0.6.1"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true
+ }
+ }
+ },
+ "uglify-to-browserify": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz",
+ "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=",
+ "dev": true,
+ "optional": true
+ },
+ "uglifyjs-webpack-plugin": {
+ "version": "1.2.7",
+ "resolved": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-1.2.7.tgz",
+ "integrity": "sha512-1VicfKhCYHLS8m1DCApqBhoulnASsEoJ/BvpUpP4zoNAPpKzdH+ghk0olGJMmwX2/jprK2j3hAHdUbczBSy2FA==",
+ "dev": true,
+ "requires": {
+ "cacache": "^10.0.4",
+ "find-cache-dir": "^1.0.0",
+ "schema-utils": "^0.4.5",
+ "serialize-javascript": "^1.4.0",
+ "source-map": "^0.6.1",
+ "uglify-es": "^3.3.4",
+ "webpack-sources": "^1.1.0",
+ "worker-farm": "^1.5.2"
+ },
+ "dependencies": {
+ "commander": {
+ "version": "2.13.0",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-2.13.0.tgz",
+ "integrity": "sha512-MVuS359B+YzaWqjCL/c+22gfryv+mCBPHAv3zyVI2GN8EY6IRP8VwtasXn8jyyhvvq84R4ImN1OKRtcbIasjYA==",
+ "dev": true
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true
+ },
+ "uglify-es": {
+ "version": "3.3.9",
+ "resolved": "https://registry.npmjs.org/uglify-es/-/uglify-es-3.3.9.tgz",
+ "integrity": "sha512-r+MU0rfv4L/0eeW3xZrd16t4NZfK8Ld4SWVglYBb7ez5uXFWHuVRs6xCTrf1yirs9a4j4Y27nn7SRfO6v67XsQ==",
+ "dev": true,
+ "requires": {
+ "commander": "~2.13.0",
+ "source-map": "~0.6.1"
+ }
+ }
+ }
+ },
+ "union-value": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz",
+ "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=",
+ "dev": true,
+ "requires": {
+ "arr-union": "^3.1.0",
+ "get-value": "^2.0.6",
+ "is-extendable": "^0.1.1",
+ "set-value": "^0.4.3"
+ },
+ "dependencies": {
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "dev": true,
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ },
+ "set-value": {
+ "version": "0.4.3",
+ "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz",
+ "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=",
+ "dev": true,
+ "requires": {
+ "extend-shallow": "^2.0.1",
+ "is-extendable": "^0.1.1",
+ "is-plain-object": "^2.0.1",
+ "to-object-path": "^0.3.0"
+ }
+ }
+ }
+ },
+ "uniq": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz",
+ "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=",
+ "dev": true
+ },
+ "uniqs": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz",
+ "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=",
+ "dev": true
+ },
+ "unique-filename": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.0.tgz",
+ "integrity": "sha1-0F8v5AMlYIcfMOk8vnNe6iAVFPM=",
+ "dev": true,
+ "requires": {
+ "unique-slug": "^2.0.0"
+ }
+ },
+ "unique-slug": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.0.tgz",
+ "integrity": "sha1-22Z258fMBimHj/GWCXx4hVrp9Ks=",
+ "dev": true,
+ "requires": {
+ "imurmurhash": "^0.1.4"
+ }
+ },
+ "unpipe": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
+ "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=",
+ "dev": true
+ },
+ "upath": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/upath/-/upath-1.1.0.tgz",
+ "integrity": "sha512-bzpH/oBhoS/QI/YtbkqCg6VEiPYjSZtrHQM6/QnJS6OL9pKUFLqb3aFh4Scvwm45+7iAgiMkLhSbaZxUqmrprw==",
+ "dev": true
+ },
+ "upper-case": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz",
+ "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=",
+ "dev": true
+ },
+ "urix": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz",
+ "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=",
+ "dev": true
+ },
+ "url": {
+ "version": "0.11.0",
+ "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz",
+ "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=",
+ "dev": true,
+ "requires": {
+ "punycode": "1.3.2",
+ "querystring": "0.2.0"
+ },
+ "dependencies": {
+ "punycode": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz",
+ "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=",
+ "dev": true
+ }
+ }
+ },
+ "url-join": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/url-join/-/url-join-4.0.0.tgz",
+ "integrity": "sha1-TTNA6AfTdzvamZH4MFrNzCpmXSo=",
+ "dev": true
+ },
+ "url-loader": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-1.0.1.tgz",
+ "integrity": "sha512-rAonpHy7231fmweBKUFe0bYnlGDty77E+fm53NZdij7j/YOpyGzc7ttqG1nAXl3aRs0k41o0PC3TvGXQiw2Zvw==",
+ "dev": true,
+ "requires": {
+ "loader-utils": "^1.1.0",
+ "mime": "^2.0.3",
+ "schema-utils": "^0.4.3"
+ },
+ "dependencies": {
+ "mime": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/mime/-/mime-2.3.1.tgz",
+ "integrity": "sha512-OEUllcVoydBHGN1z84yfQDimn58pZNNNXgZlHXSboxMlFvgI6MXSWpWKpFRra7H1HxpVhHTkrghfRW49k6yjeg==",
+ "dev": true
+ }
+ }
+ },
+ "url-parse": {
+ "version": "1.4.3",
+ "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.3.tgz",
+ "integrity": "sha512-rh+KuAW36YKo0vClhQzLLveoj8FwPJNu65xLb7Mrt+eZht0IPT0IXgSv8gcMegZ6NvjJUALf6Mf25POlMwD1Fw==",
+ "dev": true,
+ "requires": {
+ "querystringify": "^2.0.0",
+ "requires-port": "^1.0.0"
+ }
+ },
+ "use": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz",
+ "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==",
+ "dev": true
+ },
+ "util": {
+ "version": "0.10.4",
+ "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz",
+ "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==",
+ "dev": true,
+ "requires": {
+ "inherits": "2.0.3"
+ }
+ },
+ "util-deprecate": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
+ "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
+ "dev": true
+ },
+ "util.promisify": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz",
+ "integrity": "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==",
+ "dev": true,
+ "requires": {
+ "define-properties": "^1.1.2",
+ "object.getownpropertydescriptors": "^2.0.3"
+ }
+ },
+ "utila": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz",
+ "integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=",
+ "dev": true
+ },
+ "utils-merge": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
+ "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=",
+ "dev": true
+ },
+ "uuid": {
+ "version": "3.3.2",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz",
+ "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==",
+ "dev": true
+ },
+ "v8-compile-cache": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.0.0.tgz",
+ "integrity": "sha512-qNdTUMaCjPs4eEnM3W9H94R3sU70YCuT+/ST7nUf+id1bVOrdjrpUaeZLqPBPRph3hsgn4a4BvwpxhHZx+oSDg==",
+ "dev": true
+ },
+ "validate-npm-package-license": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.3.tgz",
+ "integrity": "sha512-63ZOUnL4SIXj4L0NixR3L1lcjO38crAbgrTpl28t8jjrfuiOBL5Iygm+60qPs/KsZGzPNg6Smnc/oY16QTjF0g==",
+ "dev": true,
+ "requires": {
+ "spdx-correct": "^3.0.0",
+ "spdx-expression-parse": "^3.0.0"
+ }
+ },
+ "validate-npm-package-name": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz",
+ "integrity": "sha1-X6kS2B630MdK/BQN5zF/DKffQ34=",
+ "dev": true,
+ "requires": {
+ "builtins": "^1.0.3"
+ }
+ },
+ "vary": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
+ "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=",
+ "dev": true
+ },
+ "velocity-animate": {
+ "version": "1.5.2",
+ "resolved": "https://registry.npmjs.org/velocity-animate/-/velocity-animate-1.5.2.tgz",
+ "integrity": "sha512-m6EXlCAMetKztO1ppBhGU1/1MR3IiEevO6ESq6rcrSQ3Q77xYSW13jkfXW88o4xMrkXJhy/U7j4wFR/twMB0Eg==",
+ "dev": true
+ },
+ "velocity-react": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/velocity-react/-/velocity-react-1.4.1.tgz",
+ "integrity": "sha512-ZyXBm+9C/6kNUNyc+aeNKEhtTu/Mn+OfpsNBGuTxU8S2DUcis/KQL0rTN6jWL+7ygdOrun18qhheNZTA7YERmg==",
+ "dev": true,
+ "requires": {
+ "lodash": "^4.17.5",
+ "prop-types": "^15.5.8",
+ "react-transition-group": "^2.0.0",
+ "velocity-animate": "^1.4.0"
+ }
+ },
+ "vendors": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.2.tgz",
+ "integrity": "sha512-w/hry/368nO21AN9QljsaIhb9ZiZtZARoVH5f3CsFbawdLdayCgKRPup7CggujvySMxx0I91NOyxdVENohprLQ==",
+ "dev": true
+ },
+ "verror": {
+ "version": "1.10.0",
+ "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
+ "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
+ "dev": true,
+ "requires": {
+ "assert-plus": "^1.0.0",
+ "core-util-is": "1.0.2",
+ "extsprintf": "^1.2.0"
+ }
+ },
+ "vm-browserify": {
+ "version": "0.0.4",
+ "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz",
+ "integrity": "sha1-XX6kW7755Kb/ZflUOOCofDV9WnM=",
+ "dev": true,
+ "requires": {
+ "indexof": "0.0.1"
+ }
+ },
+ "warning": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/warning/-/warning-3.0.0.tgz",
+ "integrity": "sha1-MuU3fLVy3kqwR1O9+IIcAe1gW3w=",
+ "dev": true,
+ "requires": {
+ "loose-envify": "^1.0.0"
+ }
+ },
+ "watchpack": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.6.0.tgz",
+ "integrity": "sha512-i6dHe3EyLjMmDlU1/bGQpEw25XSjkJULPuAVKCbNRefQVq48yXKUpwg538F7AZTf9kyr57zj++pQFltUa5H7yA==",
+ "dev": true,
+ "requires": {
+ "chokidar": "^2.0.2",
+ "graceful-fs": "^4.1.2",
+ "neo-async": "^2.5.0"
+ }
+ },
+ "wbuf": {
+ "version": "1.7.3",
+ "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz",
+ "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==",
+ "dev": true,
+ "requires": {
+ "minimalistic-assert": "^1.0.0"
+ }
+ },
+ "webpack": {
+ "version": "4.12.0",
+ "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.12.0.tgz",
+ "integrity": "sha512-EJj2FfhgtjrTbJbJaNulcVpDxi9vsQVvTahHN7xJvIv6W+k4r/E6Hxy4eyOrj+IAFWqYgaUtnpxmSGYP8MSZJw==",
+ "dev": true,
+ "requires": {
+ "@webassemblyjs/ast": "1.5.12",
+ "@webassemblyjs/helper-module-context": "1.5.12",
+ "@webassemblyjs/wasm-edit": "1.5.12",
+ "@webassemblyjs/wasm-opt": "1.5.12",
+ "@webassemblyjs/wasm-parser": "1.5.12",
+ "acorn": "^5.6.2",
+ "acorn-dynamic-import": "^3.0.0",
+ "ajv": "^6.1.0",
+ "ajv-keywords": "^3.1.0",
+ "chrome-trace-event": "^1.0.0",
+ "enhanced-resolve": "^4.0.0",
+ "eslint-scope": "^3.7.1",
+ "json-parse-better-errors": "^1.0.2",
+ "loader-runner": "^2.3.0",
+ "loader-utils": "^1.1.0",
+ "memory-fs": "~0.4.1",
+ "micromatch": "^3.1.8",
+ "mkdirp": "~0.5.0",
+ "neo-async": "^2.5.0",
+ "node-libs-browser": "^2.0.0",
+ "schema-utils": "^0.4.4",
+ "tapable": "^1.0.0",
+ "uglifyjs-webpack-plugin": "^1.2.4",
+ "watchpack": "^1.5.0",
+ "webpack-sources": "^1.0.1"
+ },
+ "dependencies": {
+ "@webassemblyjs/ast": {
+ "version": "1.5.12",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.5.12.tgz",
+ "integrity": "sha512-bmTBEKuuhSU6dC95QIW250xO769cdYGx9rWn3uBLTw2pUpud0Z5kVuMw9m9fqbNzGeuOU2HpyuZa+yUt2CTEDA==",
+ "dev": true,
+ "requires": {
+ "@webassemblyjs/helper-module-context": "1.5.12",
+ "@webassemblyjs/helper-wasm-bytecode": "1.5.12",
+ "@webassemblyjs/wast-parser": "1.5.12",
+ "debug": "^3.1.0",
+ "mamacro": "^0.0.3"
+ }
+ },
+ "@webassemblyjs/floating-point-hex-parser": {
+ "version": "1.5.12",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.5.12.tgz",
+ "integrity": "sha512-epTvkdwOIPpTE9edHS+V+shetYzpTbd91XOzUli1zAS0+NSgSe6ZsNggIqUNzhma1s4bN2f/m8c6B1NMdCERAg==",
+ "dev": true
+ },
+ "@webassemblyjs/helper-buffer": {
+ "version": "1.5.12",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.5.12.tgz",
+ "integrity": "sha512-tJNUjttL5CxiiS/KLxT4/Zk0Nbl/poFhztFxktb46zoQEUWaGHR9ZJ0SnvE7DbFX5PY5JNJDMZ0Li4lm246fWw==",
+ "dev": true,
+ "requires": {
+ "debug": "^3.1.0"
+ }
+ },
+ "@webassemblyjs/helper-code-frame": {
+ "version": "1.5.12",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.5.12.tgz",
+ "integrity": "sha512-0FrJgiST+MQDMvPigzs+UIk1vslLIqGadkEWdn53Lr0NsUC2JbheG9QaO3Zf6ycK2JwsHiUpGaMFcHYXStTPMA==",
+ "dev": true,
+ "requires": {
+ "@webassemblyjs/wast-printer": "1.5.12"
+ }
+ },
+ "@webassemblyjs/helper-fsm": {
+ "version": "1.5.12",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.5.12.tgz",
+ "integrity": "sha512-QBHZ45VPUJ7UyYKvUFoaxrSS9H5hbkC9U7tdWgFHmnTMutkXSEgDg2gZg3I/QTsiKOCIwx4qJUJwPd7J4D5CNQ==",
+ "dev": true
+ },
+ "@webassemblyjs/helper-wasm-bytecode": {
+ "version": "1.5.12",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.5.12.tgz",
+ "integrity": "sha512-0Gz5lQcyvElNVbOTKwjEmIxGwdWf+zpAW/WGzGo95B7IgMEzyyfZU+PrGHDwiSH9c0knol9G7smQnY0ljrSA6g==",
+ "dev": true
+ },
+ "@webassemblyjs/helper-wasm-section": {
+ "version": "1.5.12",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.5.12.tgz",
+ "integrity": "sha512-ge/CKVKBGpiJhFN9PIOQ7sPtGYJhxm/mW1Y3SpG1L6XBunfRz0YnLjW3TmhcOEFozIVyODPS1HZ9f7VR3GBGow==",
+ "dev": true,
+ "requires": {
+ "@webassemblyjs/ast": "1.5.12",
+ "@webassemblyjs/helper-buffer": "1.5.12",
+ "@webassemblyjs/helper-wasm-bytecode": "1.5.12",
+ "@webassemblyjs/wasm-gen": "1.5.12",
+ "debug": "^3.1.0"
+ }
+ },
+ "@webassemblyjs/leb128": {
+ "version": "1.5.12",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.5.12.tgz",
+ "integrity": "sha512-cCOx/LVGiWyCwVrVlvGmTdnwHzIP4+zflLjGkZxWpYCpdNax9krVIJh1Pm7O86Ox/c5PrJpbvZU1cZLxndlPEw==",
+ "dev": true,
+ "requires": {
+ "leb": "^0.3.0"
+ }
+ },
+ "@webassemblyjs/wasm-edit": {
+ "version": "1.5.12",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.5.12.tgz",
+ "integrity": "sha512-r/oZAyC4EZl0ToOYJgvj+b0X6gVEKQMLT34pNNbtvWBehQOnaSXvVUA5FIYlH8ubWjFNAFqYaVGgQTjR1yuJdQ==",
+ "dev": true,
+ "requires": {
+ "@webassemblyjs/ast": "1.5.12",
+ "@webassemblyjs/helper-buffer": "1.5.12",
+ "@webassemblyjs/helper-wasm-bytecode": "1.5.12",
+ "@webassemblyjs/helper-wasm-section": "1.5.12",
+ "@webassemblyjs/wasm-gen": "1.5.12",
+ "@webassemblyjs/wasm-opt": "1.5.12",
+ "@webassemblyjs/wasm-parser": "1.5.12",
+ "@webassemblyjs/wast-printer": "1.5.12",
+ "debug": "^3.1.0"
+ }
+ },
+ "@webassemblyjs/wasm-gen": {
+ "version": "1.5.12",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.5.12.tgz",
+ "integrity": "sha512-LTu+cr1YRxGGiVIXWhei/35lXXEwTnQU18x4V/gE+qCSJN21QcVTMjJuasTUh8WtmBZtOlqJbOQIeN7fGnHWhg==",
+ "dev": true,
+ "requires": {
+ "@webassemblyjs/ast": "1.5.12",
+ "@webassemblyjs/helper-wasm-bytecode": "1.5.12",
+ "@webassemblyjs/ieee754": "1.5.12",
+ "@webassemblyjs/leb128": "1.5.12",
+ "@webassemblyjs/utf8": "1.5.12"
+ }
+ },
+ "@webassemblyjs/wasm-opt": {
+ "version": "1.5.12",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.5.12.tgz",
+ "integrity": "sha512-LBwG5KPA9u/uigZVyTsDpS3CVxx3AePCnTItVL+OPkRCp5LqmLsOp4a3/c5CQE0Lecm0Ss9hjUTDcbYFZkXlfQ==",
+ "dev": true,
+ "requires": {
+ "@webassemblyjs/ast": "1.5.12",
+ "@webassemblyjs/helper-buffer": "1.5.12",
+ "@webassemblyjs/wasm-gen": "1.5.12",
+ "@webassemblyjs/wasm-parser": "1.5.12",
+ "debug": "^3.1.0"
+ }
+ },
+ "@webassemblyjs/wasm-parser": {
+ "version": "1.5.12",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.5.12.tgz",
+ "integrity": "sha512-xset3+1AtoFYEfMg30nzCGBnhKmTBzbIKvMyLhqJT06TvYV+kA884AOUpUvhSmP6XPF3G+HVZPm/PbCGxH4/VQ==",
+ "dev": true,
+ "requires": {
+ "@webassemblyjs/ast": "1.5.12",
+ "@webassemblyjs/helper-api-error": "1.5.12",
+ "@webassemblyjs/helper-wasm-bytecode": "1.5.12",
+ "@webassemblyjs/ieee754": "1.5.12",
+ "@webassemblyjs/leb128": "1.5.12",
+ "@webassemblyjs/utf8": "1.5.12"
+ }
+ },
+ "@webassemblyjs/wast-parser": {
+ "version": "1.5.12",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.5.12.tgz",
+ "integrity": "sha512-QWUtzhvfY7Ue9GlJ3HeOB6w5g9vNYUUnG+Y96TWPkFHJTxZlcvGfNrUoACCw6eDb9gKaHrjt77aPq41a7y8svg==",
+ "dev": true,
+ "requires": {
+ "@webassemblyjs/ast": "1.5.12",
+ "@webassemblyjs/floating-point-hex-parser": "1.5.12",
+ "@webassemblyjs/helper-api-error": "1.5.12",
+ "@webassemblyjs/helper-code-frame": "1.5.12",
+ "@webassemblyjs/helper-fsm": "1.5.12",
+ "long": "^3.2.0",
+ "mamacro": "^0.0.3"
+ }
+ },
+ "@webassemblyjs/wast-printer": {
+ "version": "1.5.12",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.5.12.tgz",
+ "integrity": "sha512-XF9RTeckFgDyl196uRKZWHFFfbkzsMK96QTXp+TC0R9gsV9DMiDGMSIllgy/WdrZ3y3dsQp4fTA5r4GoaOBchA==",
+ "dev": true,
+ "requires": {
+ "@webassemblyjs/ast": "1.5.12",
+ "@webassemblyjs/wast-parser": "1.5.12",
+ "long": "^3.2.0"
+ }
+ },
+ "chrome-trace-event": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.0.tgz",
+ "integrity": "sha512-xDbVgyfDTT2piup/h8dK/y4QZfJRSa73bw1WZ8b4XM1o7fsFubUVGYcE+1ANtOzJJELGpYoG2961z0Z6OAld9A==",
+ "dev": true,
+ "requires": {
+ "tslib": "^1.9.0"
+ }
+ },
+ "debug": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
+ "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "node-libs-browser": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.1.0.tgz",
+ "integrity": "sha512-5AzFzdoIMb89hBGMZglEegffzgRg+ZFoUmisQ8HI4j1KDdpx13J0taNp2y9xPbur6W61gepGDDotGBVQ7mfUCg==",
+ "dev": true,
+ "requires": {
+ "assert": "^1.1.1",
+ "browserify-zlib": "^0.2.0",
+ "buffer": "^4.3.0",
+ "console-browserify": "^1.1.0",
+ "constants-browserify": "^1.0.0",
+ "crypto-browserify": "^3.11.0",
+ "domain-browser": "^1.1.1",
+ "events": "^1.0.0",
+ "https-browserify": "^1.0.0",
+ "os-browserify": "^0.3.0",
+ "path-browserify": "0.0.0",
+ "process": "^0.11.10",
+ "punycode": "^1.2.4",
+ "querystring-es3": "^0.2.0",
+ "readable-stream": "^2.3.3",
+ "stream-browserify": "^2.0.1",
+ "stream-http": "^2.7.2",
+ "string_decoder": "^1.0.0",
+ "timers-browserify": "^2.0.4",
+ "tty-browserify": "0.0.0",
+ "url": "^0.11.0",
+ "util": "^0.10.3",
+ "vm-browserify": "0.0.4"
+ }
+ },
+ "punycode": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
+ "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=",
+ "dev": true
+ }
+ }
+ },
+ "webpack-angular-externals": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/webpack-angular-externals/-/webpack-angular-externals-1.0.2.tgz",
+ "integrity": "sha1-zc/pSWo8X0ZVFEHp/NMiPEvoAtI=",
+ "dev": true,
+ "requires": {
+ "lodash.camelcase": "^4.3.0"
+ }
+ },
+ "webpack-cli": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.1.0.tgz",
+ "integrity": "sha512-p5NeKDtYwjZozUWq6kGNs9w+Gtw/CPvyuXjXn2HMdz8Tie+krjEg8oAtonvIyITZdvpF7XG9xDHwscLr2c+ugQ==",
+ "dev": true,
+ "requires": {
+ "chalk": "^2.4.1",
+ "cross-spawn": "^6.0.5",
+ "enhanced-resolve": "^4.0.0",
+ "global-modules-path": "^2.1.0",
+ "import-local": "^1.0.0",
+ "inquirer": "^6.0.0",
+ "interpret": "^1.1.0",
+ "loader-utils": "^1.1.0",
+ "supports-color": "^5.4.0",
+ "v8-compile-cache": "^2.0.0",
+ "yargs": "^12.0.1"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
+ "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
+ "dev": true
+ },
+ "camelcase": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz",
+ "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=",
+ "dev": true
+ },
+ "chalk": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz",
+ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ }
+ },
+ "chardet": {
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.5.0.tgz",
+ "integrity": "sha512-9ZTaoBaePSCFvNlNGrsyI8ZVACP2svUtq0DkM7t4K2ClAa96sqOIRjAzDTc8zXzFt1cZR46rRzLTiHFSJ+Qw0g==",
+ "dev": true
+ },
+ "cliui": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz",
+ "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==",
+ "dev": true,
+ "requires": {
+ "string-width": "^2.1.1",
+ "strip-ansi": "^4.0.0",
+ "wrap-ansi": "^2.0.0"
+ }
+ },
+ "cross-spawn": {
+ "version": "6.0.5",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
+ "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
+ "dev": true,
+ "requires": {
+ "nice-try": "^1.0.4",
+ "path-key": "^2.0.1",
+ "semver": "^5.5.0",
+ "shebang-command": "^1.2.0",
+ "which": "^1.2.9"
+ }
+ },
+ "decamelize": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-2.0.0.tgz",
+ "integrity": "sha512-Ikpp5scV3MSYxY39ymh45ZLEecsTdv/Xj2CaQfI8RLMuwi7XvjX9H/fhraiSuU+C5w5NTDu4ZU72xNiZnurBPg==",
+ "dev": true,
+ "requires": {
+ "xregexp": "4.0.0"
+ }
+ },
+ "external-editor": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.0.0.tgz",
+ "integrity": "sha512-mpkfj0FEdxrIhOC04zk85X7StNtr0yXnG7zCb+8ikO8OJi2jsHh5YGoknNTyXgsbHOf1WOOcVU3kPFWT2WgCkQ==",
+ "dev": true,
+ "requires": {
+ "chardet": "^0.5.0",
+ "iconv-lite": "^0.4.22",
+ "tmp": "^0.0.33"
+ }
+ },
+ "find-up": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
+ "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
+ "dev": true,
+ "requires": {
+ "locate-path": "^3.0.0"
+ }
+ },
+ "iconv-lite": {
+ "version": "0.4.23",
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz",
+ "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==",
+ "dev": true,
+ "requires": {
+ "safer-buffer": ">= 2.1.2 < 3"
+ }
+ },
+ "inquirer": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.0.0.tgz",
+ "integrity": "sha512-tISQWRwtcAgrz+SHPhTH7d3e73k31gsOy6i1csonLc0u1dVK/wYvuOnFeiWqC5OXFIYbmrIFInef31wbT8MEJg==",
+ "dev": true,
+ "requires": {
+ "ansi-escapes": "^3.0.0",
+ "chalk": "^2.0.0",
+ "cli-cursor": "^2.1.0",
+ "cli-width": "^2.0.0",
+ "external-editor": "^3.0.0",
+ "figures": "^2.0.0",
+ "lodash": "^4.3.0",
+ "mute-stream": "0.0.7",
+ "run-async": "^2.2.0",
+ "rxjs": "^6.1.0",
+ "string-width": "^2.1.0",
+ "strip-ansi": "^4.0.0",
+ "through": "^2.3.6"
+ }
+ },
+ "is-fullwidth-code-point": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
+ "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
+ "dev": true
+ },
+ "locate-path": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
+ "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
+ "dev": true,
+ "requires": {
+ "p-locate": "^3.0.0",
+ "path-exists": "^3.0.0"
+ }
+ },
+ "os-locale": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz",
+ "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==",
+ "dev": true,
+ "requires": {
+ "execa": "^0.7.0",
+ "lcid": "^1.0.0",
+ "mem": "^1.1.0"
+ }
+ },
+ "p-limit": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.0.0.tgz",
+ "integrity": "sha512-fl5s52lI5ahKCernzzIyAP0QAZbGIovtVHGwpcu1Jr/EpzLVDI2myISHwGqK7m8uQFugVWSrbxH7XnhGtvEc+A==",
+ "dev": true,
+ "requires": {
+ "p-try": "^2.0.0"
+ }
+ },
+ "p-locate": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
+ "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
+ "dev": true,
+ "requires": {
+ "p-limit": "^2.0.0"
+ }
+ },
+ "p-try": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.0.0.tgz",
+ "integrity": "sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ==",
+ "dev": true
+ },
+ "string-width": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
+ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
+ "dev": true,
+ "requires": {
+ "is-fullwidth-code-point": "^2.0.0",
+ "strip-ansi": "^4.0.0"
+ }
+ },
+ "strip-ansi": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
+ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^3.0.0"
+ }
+ },
+ "through": {
+ "version": "2.3.8",
+ "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
+ "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=",
+ "dev": true
+ },
+ "which-module": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz",
+ "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=",
+ "dev": true
+ },
+ "yargs": {
+ "version": "12.0.1",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.1.tgz",
+ "integrity": "sha512-B0vRAp1hRX4jgIOWFtjfNjd9OA9RWYZ6tqGA9/I/IrTMsxmKvtWy+ersM+jzpQqbC3YfLzeABPdeTgcJ9eu1qQ==",
+ "dev": true,
+ "requires": {
+ "cliui": "^4.0.0",
+ "decamelize": "^2.0.0",
+ "find-up": "^3.0.0",
+ "get-caller-file": "^1.0.1",
+ "os-locale": "^2.0.0",
+ "require-directory": "^2.1.1",
+ "require-main-filename": "^1.0.1",
+ "set-blocking": "^2.0.0",
+ "string-width": "^2.0.0",
+ "which-module": "^2.0.0",
+ "y18n": "^3.2.1 || ^4.0.0",
+ "yargs-parser": "^10.1.0"
+ }
+ },
+ "yargs-parser": {
+ "version": "10.1.0",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-10.1.0.tgz",
+ "integrity": "sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ==",
+ "dev": true,
+ "requires": {
+ "camelcase": "^4.1.0"
+ }
+ }
+ }
+ },
+ "webpack-core": {
+ "version": "0.6.9",
+ "resolved": "https://registry.npmjs.org/webpack-core/-/webpack-core-0.6.9.tgz",
+ "integrity": "sha1-/FcViMhVjad76e+23r3Fo7FyvcI=",
+ "dev": true,
+ "requires": {
+ "source-list-map": "~0.1.7",
+ "source-map": "~0.4.1"
+ },
+ "dependencies": {
+ "source-list-map": {
+ "version": "0.1.8",
+ "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-0.1.8.tgz",
+ "integrity": "sha1-xVCyq1Qn9rPyH1r+rYjE9Vh7IQY=",
+ "dev": true
+ },
+ "source-map": {
+ "version": "0.4.4",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz",
+ "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=",
+ "dev": true,
+ "requires": {
+ "amdefine": ">=0.0.4"
+ }
+ }
+ }
+ },
+ "webpack-dev-middleware": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.1.3.tgz",
+ "integrity": "sha512-I6Mmy/QjWU/kXwCSFGaiOoL5YEQIVmbb0o45xMoCyQAg/mClqZVTcsX327sPfekDyJWpCxb+04whNyLOIxpJdQ==",
+ "dev": true,
+ "requires": {
+ "loud-rejection": "^1.6.0",
+ "memory-fs": "~0.4.1",
+ "mime": "^2.1.0",
+ "path-is-absolute": "^1.0.0",
+ "range-parser": "^1.0.3",
+ "url-join": "^4.0.0",
+ "webpack-log": "^1.0.1"
+ },
+ "dependencies": {
+ "mime": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/mime/-/mime-2.3.1.tgz",
+ "integrity": "sha512-OEUllcVoydBHGN1z84yfQDimn58pZNNNXgZlHXSboxMlFvgI6MXSWpWKpFRra7H1HxpVhHTkrghfRW49k6yjeg==",
+ "dev": true
+ }
+ }
+ },
+ "webpack-dev-server": {
+ "version": "3.1.5",
+ "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.1.5.tgz",
+ "integrity": "sha512-LVHg+EPwZLHIlfvokSTgtJqO/vI5CQi89fASb5JEDtVMDjY0yuIEqPPdMiKaBJIB/Ab7v/UN/sYZ7WsZvntQKw==",
+ "dev": true,
+ "requires": {
+ "ansi-html": "0.0.7",
+ "array-includes": "^3.0.3",
+ "bonjour": "^3.5.0",
+ "chokidar": "^2.0.0",
+ "compression": "^1.5.2",
+ "connect-history-api-fallback": "^1.3.0",
+ "debug": "^3.1.0",
+ "del": "^3.0.0",
+ "express": "^4.16.2",
+ "html-entities": "^1.2.0",
+ "http-proxy-middleware": "~0.18.0",
+ "import-local": "^1.0.0",
+ "internal-ip": "1.2.0",
+ "ip": "^1.1.5",
+ "killable": "^1.0.0",
+ "loglevel": "^1.4.1",
+ "opn": "^5.1.0",
+ "portfinder": "^1.0.9",
+ "selfsigned": "^1.9.1",
+ "serve-index": "^1.7.2",
+ "sockjs": "0.3.19",
+ "sockjs-client": "1.1.5",
+ "spdy": "^3.4.1",
+ "strip-ansi": "^3.0.0",
+ "supports-color": "^5.1.0",
+ "webpack-dev-middleware": "3.1.3",
+ "webpack-log": "^1.1.2",
+ "yargs": "11.0.0"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
+ "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
+ "dev": true
+ },
+ "array-flatten": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
+ "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=",
+ "dev": true
+ },
+ "camelcase": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz",
+ "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=",
+ "dev": true
+ },
+ "cliui": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz",
+ "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==",
+ "dev": true,
+ "requires": {
+ "string-width": "^2.1.1",
+ "strip-ansi": "^4.0.0",
+ "wrap-ansi": "^2.0.0"
+ },
+ "dependencies": {
+ "strip-ansi": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
+ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^3.0.0"
+ }
+ }
+ }
+ },
+ "debug": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
+ "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "express": {
+ "version": "4.16.3",
+ "resolved": "https://registry.npmjs.org/express/-/express-4.16.3.tgz",
+ "integrity": "sha1-avilAjUNsyRuzEvs9rWjTSL37VM=",
+ "dev": true,
+ "requires": {
+ "accepts": "~1.3.5",
+ "array-flatten": "1.1.1",
+ "body-parser": "1.18.2",
+ "content-disposition": "0.5.2",
+ "content-type": "~1.0.4",
+ "cookie": "0.3.1",
+ "cookie-signature": "1.0.6",
+ "debug": "2.6.9",
+ "depd": "~1.1.2",
+ "encodeurl": "~1.0.2",
+ "escape-html": "~1.0.3",
+ "etag": "~1.8.1",
+ "finalhandler": "1.1.1",
+ "fresh": "0.5.2",
+ "merge-descriptors": "1.0.1",
+ "methods": "~1.1.2",
+ "on-finished": "~2.3.0",
+ "parseurl": "~1.3.2",
+ "path-to-regexp": "0.1.7",
+ "proxy-addr": "~2.0.3",
+ "qs": "6.5.1",
+ "range-parser": "~1.2.0",
+ "safe-buffer": "5.1.1",
+ "send": "0.16.2",
+ "serve-static": "1.13.2",
+ "setprototypeof": "1.1.0",
+ "statuses": "~1.4.0",
+ "type-is": "~1.6.16",
+ "utils-merge": "1.0.1",
+ "vary": "~1.1.2"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
+ }
+ }
+ },
+ "is-fullwidth-code-point": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
+ "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
+ "dev": true
+ },
+ "os-locale": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz",
+ "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==",
+ "dev": true,
+ "requires": {
+ "execa": "^0.7.0",
+ "lcid": "^1.0.0",
+ "mem": "^1.1.0"
+ }
+ },
+ "qs": {
+ "version": "6.5.1",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz",
+ "integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A==",
+ "dev": true
+ },
+ "safe-buffer": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz",
+ "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==",
+ "dev": true
+ },
+ "string-width": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
+ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
+ "dev": true,
+ "requires": {
+ "is-fullwidth-code-point": "^2.0.0",
+ "strip-ansi": "^4.0.0"
+ },
+ "dependencies": {
+ "strip-ansi": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
+ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^3.0.0"
+ }
+ }
+ }
+ },
+ "which-module": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz",
+ "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=",
+ "dev": true
+ },
+ "y18n": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz",
+ "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=",
+ "dev": true
+ },
+ "yargs": {
+ "version": "11.0.0",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-11.0.0.tgz",
+ "integrity": "sha512-Rjp+lMYQOWtgqojx1dEWorjCofi1YN7AoFvYV7b1gx/7dAAeuI4kN5SZiEvr0ZmsZTOpDRcCqrpI10L31tFkBw==",
+ "dev": true,
+ "requires": {
+ "cliui": "^4.0.0",
+ "decamelize": "^1.1.1",
+ "find-up": "^2.1.0",
+ "get-caller-file": "^1.0.1",
+ "os-locale": "^2.0.0",
+ "require-directory": "^2.1.1",
+ "require-main-filename": "^1.0.1",
+ "set-blocking": "^2.0.0",
+ "string-width": "^2.0.0",
+ "which-module": "^2.0.0",
+ "y18n": "^3.2.1",
+ "yargs-parser": "^9.0.2"
+ }
+ },
+ "yargs-parser": {
+ "version": "9.0.2",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-9.0.2.tgz",
+ "integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=",
+ "dev": true,
+ "requires": {
+ "camelcase": "^4.1.0"
+ }
+ }
+ }
+ },
+ "webpack-hot-middleware": {
+ "version": "2.22.3",
+ "resolved": "https://registry.npmjs.org/webpack-hot-middleware/-/webpack-hot-middleware-2.22.3.tgz",
+ "integrity": "sha512-mrG3bJGX4jgWbrpY0ghIpPgCmNhZziFMBJBmZfpIe6K/P1rWPkdkbGihbCUIufgQ8ruX4txE5/CKSeFNzDcYOw==",
+ "dev": true,
+ "requires": {
+ "ansi-html": "0.0.7",
+ "html-entities": "^1.2.0",
+ "querystring": "^0.2.0",
+ "strip-ansi": "^3.0.0"
+ }
+ },
+ "webpack-log": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-1.2.0.tgz",
+ "integrity": "sha512-U9AnICnu50HXtiqiDxuli5gLB5PGBo7VvcHx36jRZHwK4vzOYLbImqT4lwWwoMHdQWwEKw736fCHEekokTEKHA==",
+ "dev": true,
+ "requires": {
+ "chalk": "^2.1.0",
+ "log-symbols": "^2.1.0",
+ "loglevelnext": "^1.0.1",
+ "uuid": "^3.1.0"
+ }
+ },
+ "webpack-rxjs-externals": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/webpack-rxjs-externals/-/webpack-rxjs-externals-1.1.0.tgz",
+ "integrity": "sha1-Uy4yUloSuQFwJj+ZMRsEQCHmMi4=",
+ "dev": true
+ },
+ "webpack-sources": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.1.0.tgz",
+ "integrity": "sha512-aqYp18kPphgoO5c/+NaUvEeACtZjMESmDChuD3NBciVpah3XpMEU9VAAtIaB1BsfJWWTSdv8Vv1m3T0aRk2dUw==",
+ "dev": true,
+ "requires": {
+ "source-list-map": "^2.0.0",
+ "source-map": "~0.6.1"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true
+ }
+ }
+ },
+ "webpack-subresource-integrity": {
+ "version": "1.1.0-rc.4",
+ "resolved": "https://registry.npmjs.org/webpack-subresource-integrity/-/webpack-subresource-integrity-1.1.0-rc.4.tgz",
+ "integrity": "sha1-xcTj1pD50vZKlVDgeodn+Xlqpdg=",
+ "dev": true,
+ "requires": {
+ "webpack-core": "^0.6.8"
+ }
+ },
+ "websocket-driver": {
+ "version": "0.7.0",
+ "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.0.tgz",
+ "integrity": "sha1-DK+dLXVdk67gSdS90NP+LMoqJOs=",
+ "dev": true,
+ "requires": {
+ "http-parser-js": ">=0.4.0",
+ "websocket-extensions": ">=0.1.1"
+ }
+ },
+ "websocket-extensions": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.3.tgz",
+ "integrity": "sha512-nqHUnMXmBzT0w570r2JpJxfiSD1IzoI+HGVdd3aZ0yNi3ngvQ4jv1dtHt5VGxfI2yj5yqImPhOK4vmIh2xMbGg==",
+ "dev": true
+ },
+ "whatwg-fetch": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-2.0.4.tgz",
+ "integrity": "sha512-dcQ1GWpOD/eEQ97k66aiEVpNnapVj90/+R+SXTPYGHpYBBypfKJEQjLrvMZ7YXbKm21gXd4NcuxUTjiv1YtLng==",
+ "dev": true
+ },
+ "whet.extend": {
+ "version": "0.9.9",
+ "resolved": "https://registry.npmjs.org/whet.extend/-/whet.extend-0.9.9.tgz",
+ "integrity": "sha1-+HfVv2SMl+WqVC+twW1qJZucEaE=",
+ "dev": true
+ },
+ "which": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
+ "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
+ "dev": true,
+ "requires": {
+ "isexe": "^2.0.0"
+ },
+ "dependencies": {
+ "isexe": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
+ "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
+ "dev": true
+ }
+ }
+ },
+ "which-module": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz",
+ "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=",
+ "dev": true
+ },
+ "wide-align": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz",
+ "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==",
+ "dev": true,
+ "requires": {
+ "string-width": "^1.0.2 || 2"
+ }
+ },
+ "window-size": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz",
+ "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=",
+ "dev": true,
+ "optional": true
+ },
+ "wordwrap": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz",
+ "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=",
+ "dev": true
+ },
+ "worker-farm": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.6.0.tgz",
+ "integrity": "sha512-6w+3tHbM87WnSWnENBUvA2pxJPLhQUg5LKwUQHq3r+XPhIM+Gh2R5ycbwPCyuGbNg+lPgdcnQUhuC02kJCvffQ==",
+ "dev": true,
+ "requires": {
+ "errno": "~0.1.7"
+ }
+ },
+ "wrap-ansi": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz",
+ "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=",
+ "dev": true,
+ "requires": {
+ "string-width": "^1.0.1",
+ "strip-ansi": "^3.0.1"
+ }
+ },
+ "wrappy": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
+ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
+ "dev": true
+ },
+ "ws": {
+ "version": "5.2.2",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-5.2.2.tgz",
+ "integrity": "sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA==",
+ "dev": true,
+ "requires": {
+ "async-limiter": "~1.0.0"
+ }
+ },
+ "xregexp": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/xregexp/-/xregexp-4.0.0.tgz",
+ "integrity": "sha512-PHyM+sQouu7xspQQwELlGwwd05mXUFqwFYfqPO0cC7x4fxyHnnuetmQr6CjJiafIDoH4MogHb9dOoJzR/Y4rFg==",
+ "dev": true
+ },
+ "xtend": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz",
+ "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=",
+ "dev": true
+ },
+ "xxhashjs": {
+ "version": "0.2.2",
+ "resolved": "https://registry.npmjs.org/xxhashjs/-/xxhashjs-0.2.2.tgz",
+ "integrity": "sha512-AkTuIuVTET12tpsVIQo+ZU6f/qDmKuRUcjaqR+OIvm+aCBsZ95i7UVY5WJ9TMsSaZ0DA2WxoZ4acu0sPH+OKAw==",
+ "dev": true,
+ "requires": {
+ "cuint": "^0.2.2"
+ }
+ },
+ "y18n": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz",
+ "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==",
+ "dev": true
+ },
+ "yallist": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz",
+ "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=",
+ "dev": true
+ },
+ "yargs": {
+ "version": "3.10.0",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz",
+ "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "camelcase": "^1.0.2",
+ "cliui": "^2.1.0",
+ "decamelize": "^1.0.0",
+ "window-size": "0.1.0"
+ }
+ },
+ "yargs-parser": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.0.tgz",
+ "integrity": "sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=",
+ "dev": true,
+ "requires": {
+ "camelcase": "^3.0.0"
+ },
+ "dependencies": {
+ "camelcase": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz",
+ "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=",
+ "dev": true
+ }
+ }
+ },
+ "yauzl": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.4.1.tgz",
+ "integrity": "sha1-lSj0QtqxsihOWLQ3m7GU4i4MQAU=",
+ "dev": true,
+ "requires": {
+ "fd-slicer": "~1.0.1"
+ }
+ },
+ "yn": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/yn/-/yn-2.0.0.tgz",
+ "integrity": "sha1-5a2ryKz0CPY4X8dklWhMiOavaJo=",
+ "dev": true
+ },
+ "zone.js": {
+ "version": "0.8.26",
+ "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.8.26.tgz",
+ "integrity": "sha512-W9Nj+UmBJG251wkCacIkETgra4QgBo/vgoEkb4a2uoLzpQG7qF9nzwoLXWU5xj3Fg2mxGvEDh47mg24vXccYjA=="
+ }
+ }
+}
diff --git a/package.json b/package.json
index 8495da4..dea420e 100644
--- a/package.json
+++ b/package.json
@@ -1,133 +1,86 @@
{
- "name": "sdc-ui",
- "version": "1.6.42",
- "description": "This project aims to create a unified UI styled components for multiple development teams who work on the same web-based applications.",
+ "name": "onap-ui-angular",
+ "version": "5.1.17",
+ "author": "d2",
+ "private": false,
+ "main": "dist/index.umd.js",
+ "license": "MIT",
"scripts": {
- "test": "jest && npm run karma-travis",
- "test-dev": "jest --watch",
- "test-coverage": "jest --coverage && start coverage/lcov-report/index.html",
- "karma-travis": "karma start --single-run --browsers PhantomJS",
- "karma-dev": "karma start",
- "tslint": "tslint -c tslint.json 'src/**/*.ts'",
- "prebuild-clean": "rimraf lib",
- "build-demo": "node utils/build-demo.js",
- "build-icons": "node utils/create-icon-map.js",
- "build-themes": "node-sass --include-path src/style/scss/themes src/style/scss/themes/1802/style.scss css/theme_1802.css",
- "build-svg-icons": "node utils/create-svg-icons-map.js",
- "build-common": "npm run build-icons && npm run build-svg-icons && node-sass --include-path src/style/scss src/style/scss/style.scss css/style.css && npm run build-themes",
- "build-react": "babel src/react -d lib/react",
- "compile-angular": "ngc -p tsconfig.angular.build-es5.json",
- "rollup-angular:module": "rollup -c rollup.angular.module.config.js",
- "rollup-angular:umd": "rollup -c rollup.angular.umd.config.js",
- "rollup-angular:metadata": "find build/* -type f -not -name '*.js' -not -name '*.js.*' -exec cp --parents {} lib \\; && cp -rf lib/build/* lib/ && rm -r lib/build",
- "build-angular": "npm run compile-angular && npm run rollup-angular:module && npm run rollup-angular:umd && npm run rollup-angular:metadata",
- "build-style": "npm run build-style-scss && npm run build-style-less",
- "build-style-scss": "cp -rf src/style lib/",
- "build-style-less": "sass2less --cwd lib/style/scss **/*.scss ../less/{dir}/{name}.less",
- "build-pack": "cp -r css lib/ && cp -r assets lib/",
- "postbuild-clean": "rimraf build",
- "build": "npm run prebuild-clean && npm run build-common && npm run build-react && npm run build-angular && npm run build-pack && npm run build-style && npm run postbuild-clean",
- "storybook": "npm run build-common && start-storybook -p 6006",
- "build-storybook": "npm run build-common && build-storybook -c .storybook -o .out/react && ncp utils/index-for-gh-pages.html .out/index.html && ncp utils/main-page.html .out/main-page.html && ncp assets .out/assets",
- "lab": "npm run build-common && ng2-component-lab --config .ng2-component-lab/ng2-component-lab.config.js -- feature",
- "build-lab": "set NODE_ENV=build&& ng2-component-lab --config .ng2-component-lab/ng2-component-lab.config.js --build -- feature",
- "build-gh-pages": "npm run build-storybook && npm run build-lab && ncp utils/index-for-gh-pages.html .out/index.html && ncp utils/main-page.html .out/main-page.html && ncp assets .out/assets"
+ "e2e": "ng e2e --no-webdriver-update",
+ "ng": "ng",
+ "start": "ng serve",
+ "build": "npm run build:pre && npm run build:ngc && npm run build:umd",
+ "build:pre": "rimraf dist",
+ "build:ngc": "node_modules/.bin/ngc -p tsconfig-aot.json",
+ "build:umd": "webpack --config webpack-umd.config.ts --mode production",
+ "build:umd-dev": "webpack --config webpack-umd.config.ts --mode development",
+ "build:scss": "node-sass src/assets/styles/style.scss -o dist",
+ "storybook": "start-storybook -p 6007",
+ "storybook:prebuild": "npm run test:generate-output",
+ "storybook:build": "build-storybook -c .storybook -o .storybook-out ",
+ "lint:src": "npm run tslint 'src/angular/**/*.ts'",
+ "lint:stories": "npm run tslint 'stories/**/*.ts'"
},
- "repository": {
- "type": "git",
- "url": "git+https://github.com/onap-sdc/sdc-ui.git"
- },
- "author": "",
- "bugs": {
- "url": "https://github.com/onap-sdc/sdc-ui/issues"
- },
- "files": [
- "lib",
- "css",
- "assets",
- "README.md"
- ],
- "homepage": "https://github.com/onap-sdc/sdc-ui#readme",
- "peerDependencies": {
- "@angular/core": "^2.4.8"
+ "dependencies": {
+ "@angular/animations": "^6.0.3",
+ "@angular/common": "^6.0.3",
+ "@angular/compiler": "^6.0.3",
+ "@angular/core": "^6.0.3",
+ "@angular/forms": "^6.0.3",
+ "@angular/platform-browser": "^6.0.3",
+ "@angular/platform-browser-dynamic": "^6.0.3",
+ "@angular/upgrade": "^6.0.3",
+ "@ngrx/store": "^6.0.1",
+ "angular-base64-upload": "^0.1.23",
+ "core-js": "^2.5.7",
+ "rxjs": "^6.2.0",
+ "rxjs-compat": "^6.2.0",
+ "zone.js": "^0.8.26"
},
"devDependencies": {
- "@angular/compiler": "~2.4.8",
- "@angular/compiler-cli": "~2.4.8",
- "@islavi/ng2-component-lab": "^1.0.28",
- "@types/jasmine": "2.5.47",
- "@types/node": "^7.0.27",
- "angular2-router-loader": "^0.3.4",
- "angular2-template-loader": "^0.6.2",
+ "@angular-devkit/build-angular": "^0.6.0",
+ "@angular/cli": "^6.0.7",
+ "@angular/compiler-cli": "^6.0.3",
+ "@storybook/addon-actions": "4.0.0-alpha.9",
+ "@storybook/addon-backgrounds": "4.0.0-alpha.9",
+ "@storybook/addon-centered": "4.0.0-alpha.9",
+ "@storybook/addon-jest": "4.0.0-alpha.9",
+ "@storybook/addon-knobs": "4.0.0-alpha.9",
+ "@storybook/addon-links": "4.0.0-alpha.9",
+ "@storybook/addon-notes": "4.0.0-alpha.9",
+ "@storybook/addon-options": "4.0.0-alpha.9",
+ "@storybook/addon-storyshots": "4.0.0-alpha.9",
+ "@storybook/addon-storysource": "4.0.0-alpha.9",
+ "@storybook/addons": "4.0.0-alpha.9",
+ "@storybook/angular": "4.0.0-alpha.9",
+ "@types/jest": "^22.2.3",
+ "@types/node": "~9.6.20",
"awesome-typescript-loader": "^3.1.3",
- "babel-cli": "^6.24.1",
- "babel-eslint": "^7.2.3",
- "babel-plugin-transform-object-rest-spread": "^6.23.0",
- "babel-preset-env": "^1.4.0",
- "babel-preset-react": "^6.24.1",
- "babel-runtime": "^6.23.0",
- "chalk": "1.1.3",
- "codelyzer": "3.1.1",
- "css-loader": "^0.28.0",
- "enzyme": "^2.8.2",
- "eslint": "^3.19.0",
- "eslint-plugin-import": "^2.2.0",
- "eslint-plugin-react": "^7.0.1",
- "html-loader": "^0.4.5",
- "html-replace-webpack-plugin": "^2.2.6",
- "jasmine-core": "~2.5.2",
- "jasmine-spec-reporter": "^4.1.1",
- "jest": "^20.0.0",
- "karma": "~1.5.0",
- "karma-chrome-launcher": "^2.2.0",
- "karma-coverage": "~1.1.1",
- "karma-firefox-launcher": "^1.0.1",
- "karma-htmlfile-reporter": "^0.3.5",
- "karma-jasmine": "~1.1.0",
- "karma-jasmine-html-reporter": "^0.2.2",
- "karma-junit-reporter": "^1.2.0",
- "karma-phantomjs-launcher": "~1.0.4",
- "karma-remap-coverage": "0.1.4",
- "karma-sourcemap-loader": "^0.3.7",
- "karma-spec-reporter": "0.0.30",
- "karma-typescript": "^3.0.8",
- "karma-webpack": "2.0.3",
- "less-plugin-sass2less": "^1.2.0",
- "lite-server": "^2.3.0",
- "ncp": "^2.0.0",
- "node-sass": "^4.5.3",
- "prismjs": "^1.6.0",
- "protractor": "5.1.1",
- "react-test-renderer": "^15.5.4",
+ "babel-core": "^6.26.3",
+ "css-loader": "^0.28.11",
+ "delete": "^1.1.0",
+ "global": "^4.3.2",
+ "node-sass": "^4.9.2",
+ "onap-ui-common": "^1.0.57",
"rimraf": "^2.6.2",
- "rollup": "^0.51.8",
- "sass-loader": "^6.0.3",
- "sorcery": "0.10.0",
- "source-map-loader": "0.2.1",
- "style-loader": "^0.16.1",
- "tslint": "5.9.1",
- "tslint-angular": "^1.1.1",
- "typescript": "^2.6.1",
- "uglify-js": "2.8.29",
- "url-parse": "^1.1.9"
+ "sass-loader": "^7.0.3",
+ "style-loader": "^0.21.0",
+ "ts-loader": "^4.4.2",
+ "ts-node": "7.0.0",
+ "tslint": "^5.2.0",
+ "typescript": "2.7.2",
+ "webpack": "4.12.0",
+ "webpack-angular-externals": "^1.0.2",
+ "webpack-cli": "^3.0.8",
+ "webpack-rxjs-externals": "^1.0.0"
},
- "dependencies": {
- "@angular/common": "~2.4.8",
- "@angular/core": "~2.4.8",
- "@angular/forms": "~2.4.8",
- "@angular/http": "^2.4.8",
- "@angular/platform-browser": "~2.4.8",
- "@angular/platform-browser-dynamic": "~2.4.8",
- "@angular/router": "~3.2.1",
- "@angular/upgrade": "^2.4.8",
- "@storybook/react": "^3.1.5",
- "http-loader": "0.0.1",
- "prop-types": "^15.6.0",
- "react": "15.6.2",
- "react-dom": "15.6.2",
- "reflect-metadata": "^0.1.3",
- "rxjs": "5.4.2",
- "svg-react-loader": "^0.4.4",
- "zone.js": "^0.8.18"
- }
+ "peerDependencies": {
+ "@angular/common": "^6.0.3",
+ "@angular/core": "^6.0.3"
+ },
+ "files": [
+ "dist",
+ "README.md"
+ ],
+ "types": "dist/components/index.d.ts"
}
diff --git a/pom.xml b/pom.xml
deleted file mode 100644
index d3f133f..0000000
--- a/pom.xml
+++ /dev/null
@@ -1,162 +0,0 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-
- <modelVersion>4.0.0</modelVersion>
-
- <groupId>org.onap.sdc</groupId>
- <artifactId>onap-ui</artifactId>
- <version>1.0.0-SNAPSHOT</version>
- <packaging>pom</packaging>
- <name>onap-ui</name>
-
- <properties>
- <nexus.proxy>https://nexus.onap.org</nexus.proxy>
- <sitePath>/content/sites/site/org/openecomp/sdc/${project.version}</sitePath>
- <staging.profile.id>176c31dfe190a</staging.profile.id>
- <maven.build.timestamp.format>yyyyMMdd'T'HHmmss'Z'</maven.build.timestamp.format>
-
- <maven.compiler.source>1.8</maven.compiler.source>
- <maven.compiler.target>1.8</maven.compiler.target>
- </properties>
-
- <build>
- <plugins>
-
- <plugin>
- <artifactId>maven-clean-plugin</artifactId>
- <version>2.6.1</version>
- <executions>
- <execution>
- <id>clean.dist.folder</id>
- <phase>clean</phase>
- <goals>
- <goal>clean</goal>
- </goals>
- <configuration>
- <filesets>
- <fileset>
- <directory>${basedir}/node_modules</directory>
- </fileset>
- <fileset>
- <directory>${basedir}/dist</directory>
- </fileset>
- </filesets>
- </configuration>
- </execution>
- </executions>
- </plugin>
-
- <plugin>
- <groupId>com.github.eirslett</groupId>
- <artifactId>frontend-maven-plugin</artifactId>
- <version>1.6</version>
-
- <configuration>
- <installDirectory>${project.parent.basedir}</installDirectory>
- </configuration>
-
- <executions>
- <execution>
- <id>install node and npm</id>
- <goals>
- <goal>install-node-and-npm</goal>
- </goals>
- <configuration>
- <nodeVersion>v8.11.1</nodeVersion>
- <npmVersion>5.6.0</npmVersion>
- </configuration>
- </execution>
-
- <execution>
- <id>npm set progress off</id>
- <goals>
- <goal>npm</goal>
- </goals>
- <configuration>
- <arguments>set progress=false</arguments>
- </configuration>
- </execution>
-
- <execution>
- <id>npm install</id>
- <goals>
- <goal>npm</goal>
- </goals>
- <configuration>
- <arguments>install</arguments>
- </configuration>
- </execution>
-
- <execution>
- <id>npm run build</id>
- <goals>
- <goal>npm</goal>
- </goals>
- <configuration>
- <arguments>run build</arguments>
- </configuration>
- </execution>
-
- <execution>
- <id>npm test</id>
- <goals>
- <goal>npm</goal>
- </goals>
- <configuration>
- <arguments>run test</arguments>
- </configuration>
- </execution>
-
- <execution>
- <id>npm run build-gh-pages</id>
- <goals>
- <goal>npm</goal>
- </goals>
- <configuration>
- <arguments>run build-gh-pages</arguments>
- </configuration>
- </execution>
-
- </executions>
- </plugin>
-
- </plugins>
- </build>
-
- <repositories>
- <repository>
- <id>ecomp-releases</id>
- <name>Release Repository</name>
- <url>${nexus.proxy}/content/repositories/releases/</url>
- </repository>
- <repository>
- <id>ecomp-snapshots</id>
- <name>Snapshots Repository</name>
- <url>${nexus.proxy}/content/repositories/snapshots/</url>
- </repository>
- <repository>
- <id>ecomp-public</id>
- <name>Public Repository</name>
- <url>${nexus.proxy}/content/repositories/public/</url>
- </repository>
- </repositories>
-
- <distributionManagement>
- <repository>
- <id>ecomp-releases</id>
- <name>Release Repository</name>
- <url>${nexus.proxy}/content/repositories/releases/</url>
- </repository>
- <snapshotRepository>
- <id>ecomp-snapshots</id>
- <name>Snapshot Repository</name>
- <url>${nexus.proxy}/content/repositories/snapshots/</url>
- </snapshotRepository>
- <site>
- <id>ecomp-site</id>
- <url>dav:${nexus.proxy}${sitePath}</url>
- </site>
- </distributionManagement>
-
-</project>
-
diff --git a/rollup.angular.module.config.js b/rollup.angular.module.config.js
deleted file mode 100644
index 18f382b..0000000
--- a/rollup.angular.module.config.js
+++ /dev/null
@@ -1,33 +0,0 @@
-export default {
- input: './build/angular/index.js',
- output: {
- name: 'sdcUiAngular',
- file: './lib/angular/index.js',
- format: 'es',
- exports: 'named',
- },
- external: [
- '@angular/core',
- '@angular/common',
- '@angular/common/http',
- '@angular/upgrade/static',
- '@angular/forms',
- '@angular/platform-browser',
- '@angular/http',
- '@rxjs/add/operator/debounceTime',
- 'rxjs/Subject',
- 'rxjs/add/operator/debounceTime',
- 'rxjs/add/operator/map',
- 'rxjs/BehaviorSubject',
- 'rxjs/Subject'
- ],
- onwarn: function(warning) {
- // Skip certain warnings
-
- // should intercept ... but doesn't in some rollup versions
- if ( warning.code === 'THIS_IS_UNDEFINED' ) { return; }
-
- // console.warn everything else
- console.warn( warning.message );
- }
-};
diff --git a/rollup.angular.umd.config.js b/rollup.angular.umd.config.js
deleted file mode 100644
index 547c6a9..0000000
--- a/rollup.angular.umd.config.js
+++ /dev/null
@@ -1,38 +0,0 @@
-export default {
- input: './build/angular/index.js',
- output: {
- name: 'sdcUiAngular',
- file: './lib/angular/index.umd.js',
- format: 'umd',
- exports: 'named',
- globals: {
- '@angular/core': 'ngCore',
- '@angular/common': 'ngCommon',
- '@angular/forms': 'ngForms'
- }
- },
- external: [
- '@angular/core',
- '@angular/common',
- '@angular/common/http',
- '@angular/upgrade/static',
- '@angular/forms',
- '@angular/platform-browser',
- '@angular/http',
- '@rxjs/add/operator/debounceTime',
- 'rxjs/Subject',
- 'rxjs/add/operator/debounceTime',
- 'rxjs/add/operator/map',
- 'rxjs/BehaviorSubject',
- 'rxjs/Subject'
- ],
- onwarn: function(warning) {
- // Skip certain warnings
-
- // should intercept ... but doesn't in some rollup versions
- if ( warning.code === 'THIS_IS_UNDEFINED' ) { return; }
-
- // console.warn everything else
- console.warn( warning.message );
- }
-};
diff --git a/src/README.md b/src/README.md
deleted file mode 100644
index 83d47bf..0000000
--- a/src/README.md
+++ /dev/null
@@ -1,9 +0,0 @@
-
-# Folder Structure
-
-### Angular 2 Framework
-Contains **Angular 2** based components
-
-
-### React Framework
-Contains **React.js** based components
diff --git a/src/angular/accordion/accordion.component.html.ts b/src/angular/accordion/accordion.component.html.ts
index ac5f81f..2679906 100644
--- a/src/angular/accordion/accordion.component.html.ts
+++ b/src/angular/accordion/accordion.component.html.ts
@@ -1,4 +1,4 @@
-export default `
+export const template = `
<div class="sdc-accordion" [ngClass]="customCSSClass">
<div class="sdc-accordion-header" (click)="toggleAccordion()" [ngClass]="{'arrow-right': arrowDirection === accordionArrowDirection.right}">
<div class="svg-icon-wrapper bottom" [ngClass]="{'down': open}">
diff --git a/src/angular/accordion/accordion.component.ts b/src/angular/accordion/accordion.component.ts
index b16df89..e81597e 100644
--- a/src/angular/accordion/accordion.component.ts
+++ b/src/angular/accordion/accordion.component.ts
@@ -1,10 +1,6 @@
-/**
- * Created by M.S.BIT on 26/04/2018.
- */
-
-import {Component, Input, Output, EventEmitter} from "@angular/core";
-import {Placement} from "../common/enums";
-import template from './accordion.component.html';
+import { Component, Input, Output, EventEmitter } from "@angular/core";
+import { Placement } from "../common/enums";
+import { template } from './accordion.component.html';
@Component({
selector: 'sdc-accordion',
diff --git a/src/angular/accordion/accordion.module.ts b/src/angular/accordion/accordion.module.ts
index 6cda646..7b3bb95 100644
--- a/src/angular/accordion/accordion.module.ts
+++ b/src/angular/accordion/accordion.module.ts
@@ -1,10 +1,7 @@
-/**
- * Created by M.S.BIT on 26/04/2018.
- */
import { NgModule } from "@angular/core";
import { CommonModule } from "@angular/common";
-import {AccordionComponent} from "./accordion.component";
-import {SvgIconModule} from "../svg-icon/svg-icon.module";
+import { AccordionComponent } from "./accordion.component";
+import { SvgIconModule } from "../svg-icon/svg-icon.module";
@NgModule({
declarations: [
diff --git a/src/angular/autocomplete/autocomplete.component.html.ts b/src/angular/autocomplete/autocomplete.component.html.ts
index 5df7352..8e57f9e 100644
--- a/src/angular/autocomplete/autocomplete.component.html.ts
+++ b/src/angular/autocomplete/autocomplete.component.html.ts
@@ -1,4 +1,4 @@
-export default `
+export const template = `
<div class="sdc-autocomplete-container" [ngClass]="{'results-shown': autoCompleteResults.length}">
<sdc-filter-bar
[placeholder]="placeholder"
diff --git a/src/angular/autocomplete/autocomplete.component.ts b/src/angular/autocomplete/autocomplete.component.ts
index 5570eff..45718b2 100644
--- a/src/angular/autocomplete/autocomplete.component.ts
+++ b/src/angular/autocomplete/autocomplete.component.ts
@@ -1,15 +1,10 @@
-import { OnInit, animate, Component, EventEmitter, Input, Output, state, style, transition, trigger } from '@angular/core';
-import { FilterBarComponent } from "../filterbar/filter-bar.component";
-import { URLSearchParams, Http } from "@angular/http";
+import { OnInit, Component, EventEmitter, Input, Output } from '@angular/core';
+import { animate, state, style, transition, trigger } from '@angular/animations';
import { AutocompletePipe } from "./autocomplete.pipe";
-import template from "./autocomplete.component.html";
+import { template } from "./autocomplete.component.html";
+import { HttpClient, HttpParams } from '@angular/common/http';
import 'rxjs/add/operator/map';
-export interface IDataSchema {
- key: string;
- value: string;
-}
-
@Component({
selector: 'sdc-autocomplete',
template: template,
@@ -25,10 +20,9 @@ export interface IDataSchema {
})),
transition('* => *', animate('200ms'))
]),
- ],
- providers: [AutocompletePipe]
+ ]
})
-export class SearchWithAutoCompleteComponent implements OnInit {
+export class AutoCompleteComponent implements OnInit {
@Input() public data: any[] = [];
@Input() public dataSchema: IDataSchema;
@Input() public dataUrl: string;
@@ -36,12 +30,12 @@ export class SearchWithAutoCompleteComponent implements OnInit {
@Input() public placeholder: string;
@Output() public itemSelected: EventEmitter<any> = new EventEmitter<any>();
- private searchQuery: string;
+ public searchQuery: string;
private complexData: any[] = [];
- private autoCompleteResults: any[] = [];
+ public autoCompleteResults: any[] = [];
private isItemSelected: boolean = false;
- public constructor(private http: Http, private autocompletePipe: AutocompletePipe) {
+ public constructor(private http: HttpClient, private autocompletePipe: AutocompletePipe) {
}
public ngOnInit(): void {
@@ -82,18 +76,18 @@ export class SearchWithAutoCompleteComponent implements OnInit {
this.itemSelected.emit(selectedItem.key);
}
- private onSearchQueryChanged = (searchText: string): void => {
+ public onSearchQueryChanged = (searchText: string): void => {
if (searchText !== this.searchQuery) {
this.searchQuery = searchText;
if (!this.searchQuery) {
this.onClearSearch();
} else {
if (this.dataUrl) {
- const params: URLSearchParams = new URLSearchParams();
- params.set('searchQuery', this.searchQuery);
- this.http.get(this.dataUrl, {search: params})
+ const params = new HttpParams();
+ params.append('searchQuery', this.searchQuery);
+ this.http.get(this.dataUrl, {params})
.map((response) => {
- this.data = response.json();
+ this.data = JSON.parse(JSON.stringify(response));
this.handleLocalData();
this.autoCompleteResults = this.complexData;
}).subscribe();
@@ -112,3 +106,8 @@ export class SearchWithAutoCompleteComponent implements OnInit {
}
}
}
+
+export interface IDataSchema {
+ key: string;
+ value: string;
+}
diff --git a/src/angular/autocomplete/autocomplete.module.ts b/src/angular/autocomplete/autocomplete.module.ts
index 1bead47..f105669 100644
--- a/src/angular/autocomplete/autocomplete.module.ts
+++ b/src/angular/autocomplete/autocomplete.module.ts
@@ -1,23 +1,26 @@
import { NgModule } from "@angular/core";
-import { SearchWithAutoCompleteComponent } from "./autocomplete.component";
+import { AutoCompleteComponent } from "./autocomplete.component";
import { CommonModule } from "@angular/common";
import { FilterBarModule } from "../filterbar/filter-bar.module";
import { AutocompletePipe } from "./autocomplete.pipe";
-import { HttpModule } from '@angular/http';
+import { BrowserModule } from '@angular/platform-browser';
+import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
@NgModule({
declarations: [
- SearchWithAutoCompleteComponent,
+ AutoCompleteComponent,
AutocompletePipe
],
imports: [
+ BrowserModule,
+ BrowserAnimationsModule,
FilterBarModule,
- CommonModule,
- HttpModule
+ CommonModule
],
exports: [
- SearchWithAutoCompleteComponent
- ],
+ AutoCompleteComponent,
+ AutocompletePipe
+ ]
})
export class AutoCompleteModule {
}
diff --git a/src/angular/buttons/button-file-opener.component.html.ts b/src/angular/buttons/button-file-opener.component.html.ts
new file mode 100644
index 0000000..dd24be3
--- /dev/null
+++ b/src/angular/buttons/button-file-opener.component.html.ts
@@ -0,0 +1,18 @@
+export const template = `
+<div (click)="fileOpener.click()"
+ class="sdc-button sdc-button__{{ type }} btn-{{ size }} {{ iconPositionClass }}"
+ [attr.data-tests-id]="testId"
+ >
+ {{ text }}
+ <input
+ #fileOpener
+ type="file"
+ [accept]="allowedExtensions"
+ [disabled] = "disabled"
+ (change)="onFileSelect($event)"
+ base-sixty-four-input
+ />
+</div>
+`;
+
+// base-sixty-four-input
diff --git a/src/angular/buttons/button-file-opener.component.ts b/src/angular/buttons/button-file-opener.component.ts
new file mode 100644
index 0000000..399eb9a
--- /dev/null
+++ b/src/angular/buttons/button-file-opener.component.ts
@@ -0,0 +1,61 @@
+import { Component, Input, Output, EventEmitter, HostBinding, ViewChild, AfterViewInit } from '@angular/core';
+import { ButtonComponent } from './button.component';
+import { template } from "./button-file-opener.component.html";
+
+export class FileObject {
+ filesize: string;
+ filetype: string;
+ filename: string;
+ base64: string;
+}
+
+@Component({
+ selector: "sdc-button-file-opener",
+ template: template,
+ styles: [`
+ input[type=file] {
+ display: none;
+ }
+ `]
+})
+export class ButtonFileOpenerComponent extends ButtonComponent implements AfterViewInit {
+
+ @Input() public extensions: string;
+ @Output() public fileUpload: EventEmitter<any>;
+ @HostBinding('class.sdc-button__wrapper') true;
+
+ public allowedExtensions: string;
+ private fileObject: FileObject;
+
+ constructor() {
+ super();
+ this.fileUpload = new EventEmitter<any>();
+ this.fileObject = new FileObject();
+ }
+
+ ngAfterViewInit() : void {
+ this.allowedExtensions = this.extensions && this.extensions.split(',').map(x => '.' + x).join(',');
+ }
+
+ public onFileSelectaa(event): void {
+ let file = event.srcElement.files[0];
+ debugger
+ this.fileUpload.emit({file: file});
+ }
+
+ public onFileSelect(e): void {
+ var file = e.dataTransfer ? e.dataTransfer.files[0] : e.target.files[0];
+ var reader = new FileReader();
+ this.fileObject.filesize = file.size;
+ this.fileObject.filetype = file.type;
+ this.fileObject.filename = file.name;
+ reader.onload = this._handleReaderLoaded.bind(this);
+ reader.readAsDataURL(file);
+ }
+ private _handleReaderLoaded(e) {
+ let base64 = e.target.result;
+ this.fileObject.base64 = base64.split('base64,')[1];
+ this.fileUpload.emit(this.fileObject);
+ }
+
+}
diff --git a/src/angular/buttons/button.component.html.ts b/src/angular/buttons/button.component.html.ts
index f903fd1..33a630a 100644
--- a/src/angular/buttons/button.component.html.ts
+++ b/src/angular/buttons/button.component.html.ts
@@ -1,11 +1,11 @@
-export default `
+export const template = `
<button class="sdc-button sdc-button__{{ type }} btn-{{ size }} {{ iconPositionClass }}"
[disabled] = "disabled || show_spinner"
[attr.data-tests-id]="testId">
<svg-icon
*ngIf="icon_name"
[name]="icon_name"
- [mode]="iconMode"
+ [mode]="type"
[size]="'medium'"
>
</svg-icon>
diff --git a/src/angular/buttons/button.component.ts b/src/angular/buttons/button.component.ts
index 1f049dc..d57c5f1 100644
--- a/src/angular/buttons/button.component.ts
+++ b/src/angular/buttons/button.component.ts
@@ -1,16 +1,17 @@
import { Component, HostBinding, Input, OnInit } from "@angular/core";
-import { Placement } from "../common/enums";
-import template from "./button.component.html";
+import { Placement, ButtonType } from "../common/enums";
+import { IButtonComponent } from './ibutton.interface';
+import { template } from "./button.component.html";
@Component({
selector: "sdc-button",
template: template
})
-export class ButtonComponent implements OnInit {
+export class ButtonComponent implements OnInit, IButtonComponent {
@Input() public text: string;
@Input() public disabled: boolean;
- @Input() public type: string;
+ @Input() public type: ButtonType;
@Input() public size: string;
@Input() public preventDoubleClick: boolean;
@Input() public icon_name: string;
@@ -21,21 +22,18 @@ export class ButtonComponent implements OnInit {
public placement = Placement;
private lastClick: Date;
- private iconPositionClass: string;
- private iconMode: string;
+ public iconPositionClass: string;
@HostBinding('class.sdc-button__wrapper') true;
constructor() {
- this.type = "primary";
+ this.type = ButtonType.primary;
this.size = "default";
this.disabled = false;
- this.iconMode = 'primary';
}
public ngOnInit(): void {
this.iconPositionClass = this.icon_position ? 'sdc-icon-' + this.icon_position : '';
- this.iconMode = (this.type === "primary") ? 'info' : 'primary';
}
public onClick = (e): void => {
diff --git a/src/angular/buttons/buttons.module.ts b/src/angular/buttons/buttons.module.ts
index c804758..5c6bdc8 100644
--- a/src/angular/buttons/buttons.module.ts
+++ b/src/angular/buttons/buttons.module.ts
@@ -2,18 +2,20 @@ import { NgModule } from "@angular/core";
import { ButtonComponent } from "./button.component";
import { CommonModule } from "@angular/common";
import { SvgIconModule } from './../svg-icon/svg-icon.module';
+import { ButtonFileOpenerComponent } from './button-file-opener.component';
@NgModule({
declarations: [
- ButtonComponent
+ ButtonComponent,
+ ButtonFileOpenerComponent
],
imports: [
CommonModule,
SvgIconModule
],
exports: [
- ButtonComponent
-
+ ButtonComponent,
+ ButtonFileOpenerComponent
],
})
export class ButtonsModule {
diff --git a/src/angular/buttons/ibutton.interface.ts b/src/angular/buttons/ibutton.interface.ts
new file mode 100644
index 0000000..289935b
--- /dev/null
+++ b/src/angular/buttons/ibutton.interface.ts
@@ -0,0 +1,14 @@
+import { Placement, ButtonType } from "../common/enums";
+
+export interface IButtonComponent {
+ text: string;
+ disabled?: boolean;
+ type?: ButtonType;
+ testId?: string;
+ preventDoubleClick?: boolean;
+ icon_name?: string;
+ icon_position?: string;
+ show_spinner?: boolean;
+ spinner_position?: Placement;
+ size?: string;
+}
diff --git a/src/angular/checklist/checklist.component.html.ts b/src/angular/checklist/checklist.component.html.ts
index cb6f540..c48d8eb 100644
--- a/src/angular/checklist/checklist.component.html.ts
+++ b/src/angular/checklist/checklist.component.html.ts
@@ -1,4 +1,4 @@
-export default `
+export const template = `
<div *ngFor="let checkbox of checklistModel.checkboxes" #currentCheckbox>
<div class="checkbox-item">
<sdc-checkbox [label]="checkbox.label"
diff --git a/src/angular/checklist/checklist.component.ts b/src/angular/checklist/checklist.component.ts
index 386cd3e..b512378 100644
--- a/src/angular/checklist/checklist.component.ts
+++ b/src/angular/checklist/checklist.component.ts
@@ -1,7 +1,7 @@
import { Component, EventEmitter, Input, Output } from "@angular/core";
import { ChecklistModel } from "./models/Checklist";
import { ChecklistItemModel } from "./models/ChecklistItem";
-import template from "./checklist.component.html";
+import { template } from "./checklist.component.html";
@Component({
selector: 'sdc-checklist',
@@ -15,7 +15,7 @@ export class ChecklistComponent {
// push/pop the checkbox value
if (checkbox.isChecked) {
currentChecklistModel.selectedValues.push(checkbox.value);
- }else {
+ } else {
const index: number = currentChecklistModel.selectedValues.indexOf(checkbox.value);
currentChecklistModel.selectedValues.splice(index, 1);
}
diff --git a/src/angular/checklist/models/ChecklistItem.ts b/src/angular/checklist/models/ChecklistItem.ts
index e2d812a..7b1b321 100644
--- a/src/angular/checklist/models/ChecklistItem.ts
+++ b/src/angular/checklist/models/ChecklistItem.ts
@@ -6,11 +6,13 @@ export class ChecklistItemModel {
public value: any;
public disabled: boolean;
public isChecked: boolean;
+ public testId: string;
public subLevelChecklist: ChecklistModel;
- constructor(label: string, disabled?: boolean, isChecked?: boolean, subLevelChecklist?: ChecklistModel, value?: any) {
+ constructor(label: string, disabled?: boolean, isChecked?: boolean, subLevelChecklist?: ChecklistModel, testId?: string, value?: any) {
this.label = label;
this.disabled = disabled;
this.isChecked = isChecked;
+ this.testId = testId;
this.value = isUndefined(value) ? label : value;
this.subLevelChecklist = subLevelChecklist;
}
diff --git a/src/angular/common/enums.ts b/src/angular/common/enums.ts
index 0825d2f..07c1a2b 100644
--- a/src/angular/common/enums.ts
+++ b/src/angular/common/enums.ts
@@ -12,12 +12,37 @@ export enum Size {
x_small = 'x_small'
}
+export enum BackgroundShape {
+ circle = 'circle',
+ rectangle = 'rectangle'
+}
+
+export enum BackgroundColor {
+ primary = 'primary',
+ secondary = 'secondary',
+ success = 'success',
+ error = 'error',
+ warning = 'warning',
+ info = 'info'
+}
+
+// TODO: Replace this with type
export enum Mode {
primary = 'primary',
secondary = 'secondary',
success = 'success',
error = 'error',
warning = 'warning',
+ info = 'info',
+ white = 'white'
+}
+
+export enum ButtonType {
+ primary = 'primary',
+ secondary = 'secondary',
+ success = 'success',
+ error = 'error',
+ warning = 'warning',
info = 'info'
}
diff --git a/src/angular/common/index.ts b/src/angular/common/index.ts
index 839eba9..81d39b1 100644
--- a/src/angular/common/index.ts
+++ b/src/angular/common/index.ts
@@ -1,3 +1,4 @@
-import * as SdcUiCommon from './enums';
-
-export { SdcUiCommon };
+export * from './enums';
+export * from '../modals/models/modal-config';
+export * from '../checklist/models/Checklist';
+export * from '../checklist/models/ChecklistItem';
diff --git a/src/angular/components.ts b/src/angular/components.ts
index 8e06197..006bdf7 100644
--- a/src/angular/components.ts
+++ b/src/angular/components.ts
@@ -1,25 +1,25 @@
/*
- Exports all the components and services of sdc-ui.
+ Exports all the components of onap-ui-angular.
*/
// Form Elements
-export { InputComponent } from "./form-elements/input/input.component";
+export { InputComponent } from "./form-elements/text-elements/input/input.component";
export { DropDownComponent } from "./form-elements/dropdown/dropdown.component";
export { CheckboxComponent } from "./form-elements/checkbox/checkbox.component";
export { RadioGroupComponent } from "./form-elements/radios/radio-buttons-group.component";
+export { TextareaComponent } from "./form-elements/text-elements/textarea/textarea.component";
// Buttons
export { ButtonComponent } from "./buttons/button.component";
+export { ButtonFileOpenerComponent } from "./buttons/button-file-opener.component";
// Modals
export { ModalComponent } from "./modals/modal.component";
-export { ModalService } from "./modals/modal.service";
export { ModalButtonComponent } from "./modals/modal-button.component";
// Notifications
export { NotificationComponent } from "./notifications/notification/notification.component";
export { NotificationContainerComponent } from "./notifications/container/notifcontainer.component";
-export { NotificationsService } from "./notifications/services/notifications.service";
// Popup Menu
export { PopupMenuListComponent } from "./popup-menu/popup-menu-list.component";
@@ -48,3 +48,25 @@ export { SvgIconLabelComponent } from "./svg-icon/svg-icon-label.component";
// Accordion
export { AccordionComponent } from './accordion/accordion.component';
+
+// Multiline Ellipsis
+export { MultilineEllipsisComponent } from './multiline-ellipsis/multiline-ellipsis.component';
+
+// AutoComplete
+export { AutoCompleteComponent } from './autocomplete/autocomplete.component';
+export { AutocompletePipe } from './autocomplete/autocomplete.pipe';
+
+// Filter
+export { FilterBarComponent } from './filterbar/filter-bar.component';
+
+// Infinite Scroll
+export { InfiniteScrollDirective } from './infinite-scroll/infinite-scroll.directive';
+
+// Loader
+export { LoaderComponent } from './loader/loader.component';
+
+// Searchbar
+export { SearchBarComponent } from './searchbar/search-bar.component';
+
+// Tooltip
+export { TooltipDirective } from "./tooltip/tooltip.directive";
diff --git a/src/angular/favicon.ico b/src/angular/favicon.ico
new file mode 100644
index 0000000..8081c7c
--- /dev/null
+++ b/src/angular/favicon.ico
Binary files differ
diff --git a/src/angular/filterbar/filter-bar.component.html.ts b/src/angular/filterbar/filter-bar.component.html.ts
index a7d55e2..ca1c837 100644
--- a/src/angular/filterbar/filter-bar.component.html.ts
+++ b/src/angular/filterbar/filter-bar.component.html.ts
@@ -1,4 +1,4 @@
-export default `
+export const template = `
<div class="search-bar-container">
<sdc-input class="search-bar-input"
[label]="label"
diff --git a/src/angular/filterbar/filter-bar.component.ts b/src/angular/filterbar/filter-bar.component.ts
index 49cc154..fa3eac4 100644
--- a/src/angular/filterbar/filter-bar.component.ts
+++ b/src/angular/filterbar/filter-bar.component.ts
@@ -1,5 +1,5 @@
import { Component, Input, Output, EventEmitter, HostBinding } from '@angular/core';
-import template from "./filter-bar.component.html";
+import { template } from "./filter-bar.component.html";
@Component({
selector: 'sdc-filter-bar',
@@ -12,7 +12,6 @@ export class FilterBarComponent {
@Input() public placeholder: string;
@Input() public label: string;
@Input() public debounceTime: number;
-
@Input() public searchQuery: string;
@Output() public searchQueryChange: EventEmitter<any> = new EventEmitter<any>();
@@ -20,7 +19,7 @@ export class FilterBarComponent {
this.debounceTime = 200;
}
- private searchTextChange = ($event): void => {
+ public searchTextChange = ($event): void => {
this.searchQueryChange.emit($event);
}
diff --git a/src/angular/filterbar/filter-bar.module.ts b/src/angular/filterbar/filter-bar.module.ts
index c3604ed..f03caed 100644
--- a/src/angular/filterbar/filter-bar.module.ts
+++ b/src/angular/filterbar/filter-bar.module.ts
@@ -7,8 +7,10 @@ import { FormElementsModule } from "../form-elements/form-elements.module";
declarations: [
FilterBarComponent
],
- imports: [CommonModule,
- FormElementsModule],
+ imports: [
+ CommonModule,
+ FormElementsModule
+ ],
exports: [
FilterBarComponent
],
diff --git a/src/angular/form-elements/checkbox/checkbox.component.html.ts b/src/angular/form-elements/checkbox/checkbox.component.html.ts
index f4031db..3fdd53f 100644
--- a/src/angular/form-elements/checkbox/checkbox.component.html.ts
+++ b/src/angular/form-elements/checkbox/checkbox.component.html.ts
@@ -1,7 +1,7 @@
-export default `
+export const template = `
<div class="sdc-checkbox">
<label SdcRippleClickAnimation [rippleClickDisabled]="disabled">
- <input type="checkbox" class="sdc-checkbox__input" [ngModel]="checked" (ngModelChange)="toggleState($event)" [disabled]="disabled">
+ <input type="checkbox" class="sdc-checkbox__input" [ngModel]="checked" (ngModelChange)="toggleState($event)" [disabled]="disabled" [attr.data-tests-id]="testId">
<span class="sdc-checkbox__label">{{ label }}</span>
</label>
</div>
diff --git a/src/angular/form-elements/checkbox/checkbox.component.spec.ts b/src/angular/form-elements/checkbox/checkbox.component.spec.ts
index 36f478e..8fc63e2 100644
--- a/src/angular/form-elements/checkbox/checkbox.component.spec.ts
+++ b/src/angular/form-elements/checkbox/checkbox.component.spec.ts
@@ -3,7 +3,6 @@ import { CheckboxComponent } from "./checkbox.component";
import { AnimationDirectivesModule } from "../../animations/animation-directives.module";
import { FormsModule } from "@angular/forms";
-
describe("Checbox Tests", ()=>{
let component: CheckboxComponent;
beforeEach(async(() => {
diff --git a/src/angular/form-elements/checkbox/checkbox.component.ts b/src/angular/form-elements/checkbox/checkbox.component.ts
index ec05eac..2b50e6d 100644
--- a/src/angular/form-elements/checkbox/checkbox.component.ts
+++ b/src/angular/form-elements/checkbox/checkbox.component.ts
@@ -1,5 +1,5 @@
import { Component, Input, Output, EventEmitter, ViewEncapsulation } from '@angular/core';
-import template from "./checkbox.component.html";
+import { template } from "./checkbox.component.html";
@Component({
selector: 'sdc-checkbox',
@@ -10,6 +10,7 @@ export class CheckboxComponent {
@Input() label:string;
@Input() checked:boolean;
@Input() disabled:boolean;
+ @Input() testId: string;
@Output() checkedChange:EventEmitter<any> = new EventEmitter<any>();
public toggleState(newState:boolean) {
diff --git a/src/angular/form-elements/dropdown/dropdown-models.ts b/src/angular/form-elements/dropdown/dropdown-models.ts
index fa8dc23..a718c07 100644
--- a/src/angular/form-elements/dropdown/dropdown-models.ts
+++ b/src/angular/form-elements/dropdown/dropdown-models.ts
@@ -1,14 +1,14 @@
export enum DropDownTypes {
- Regular,
- Headless,
- Auto
+ Regular = "Regular",
+ Headless = "Headless",
+ Auto = "Auto"
}
export enum DropDownOptionType {
- Simple, // default
- Header,
- Disable,
- HorizontalLine
+ Simple = "Simple", // default
+ Header = "Header",
+ Disable = "Disable",
+ HorizontalLine = "HorizontalLine"
}
export interface IDropDownOption {
diff --git a/src/angular/form-elements/dropdown/dropdown.component.html.ts b/src/angular/form-elements/dropdown/dropdown.component.html.ts
index a4247a4..36ce17c 100644
--- a/src/angular/form-elements/dropdown/dropdown.component.html.ts
+++ b/src/angular/form-elements/dropdown/dropdown.component.html.ts
@@ -1,4 +1,4 @@
-export default `
+export const template = `
<div class="sdc-dropdown" #dropDownWrapper
[ngClass]="{
'headless': type === cIDropDownTypes.Headless,
diff --git a/src/angular/form-elements/dropdown/dropdown.component.ts b/src/angular/form-elements/dropdown/dropdown.component.ts
index a23072f..33f54ac 100644
--- a/src/angular/form-elements/dropdown/dropdown.component.ts
+++ b/src/angular/form-elements/dropdown/dropdown.component.ts
@@ -1,7 +1,7 @@
import { Component, EventEmitter, Input, Output, forwardRef, OnChanges, SimpleChanges, OnInit, ElementRef, ViewChild, AfterViewInit, HostListener, Renderer } from '@angular/core';
import { IDropDownOption, DropDownOptionType, DropDownTypes } from "./dropdown-models";
import { ValidatableComponent } from './../validation/validatable.component';
-import template from './dropdown.component.html';
+import { template } from './dropdown.component.html';
@Component({
selector: 'sdc-dropdown',
@@ -24,7 +24,7 @@ export class DropDownComponent extends ValidatableComponent implements OnChanges
this.onClickDocument(e);
}
- private bottomVisible = true;
+ public bottomVisible = true;
private myRenderer: Renderer;
// Drop-down show/hide flag. default is false (closed)
@@ -57,7 +57,9 @@ export class DropDownComponent extends ValidatableComponent implements OnChanges
ngOnInit(): void {
if (this.options) {
this.allOptions = this.options;
- if (this.options.find(option => option.type === DropDownOptionType.Header)) {
+ // To support ES5
+ if (this.options.filter(option => option.type === DropDownOptionType.Header).length>0) {
+ // if (this.options.find(option => option.type === DropDownOptionType.Header)) {
this.isGroupDesign = true;
}
}
@@ -114,14 +116,20 @@ export class DropDownComponent extends ValidatableComponent implements OnChanges
}
private isSelectable = (value: string): boolean => {
- const option: IDropDownOption = this.options.find(o => o.value === value);
+ // Support ES5
+ // const option: IDropDownOption = this.options.find(o => o.value === value);
+ const option: IDropDownOption = this.options.filter(o => o.value === value)[0];
if (!option) { return false; }
if (!option.type) { return true; }
- return !this.unselectableOptions.find(optionType => optionType === option.type);
+ // Support ES5
+ // return !this.unselectableOptions.find(optionType => optionType === option.type);
+ return !this.unselectableOptions.filter(optionType => optionType === option.type)[0];
}
private setSelected = (value: string): void => {
- this.selectedOption = this.options.find(o => o.value === value);
+ // Support ES5
+ // this.selectedOption = this.options.find(o => o.value === value);
+ this.selectedOption = this.options.filter(o => o.value === value)[0];
if (this.type === DropDownTypes.Auto) { this.filterValue = value; }
this.show = false;
this.changeEmitter.next(this.selectedOption);
diff --git a/src/angular/form-elements/form-elements.module.ts b/src/angular/form-elements/form-elements.module.ts
index 744f8b8..d290eda 100644
--- a/src/angular/form-elements/form-elements.module.ts
+++ b/src/angular/form-elements/form-elements.module.ts
@@ -1,6 +1,6 @@
import { NgModule } from "@angular/core";
import { FormsModule, ReactiveFormsModule } from "@angular/forms";
-import { InputComponent } from "./input/input.component";
+import { InputComponent } from "./text-elements/input/input.component";
import { DropDownComponent } from "./dropdown/dropdown.component";
import { CommonModule } from "@angular/common";
import { CheckboxComponent } from "./checkbox/checkbox.component";
@@ -9,6 +9,7 @@ import { AnimationDirectivesModule } from '../animations/animation-directives.mo
import { DropDownTriggerDirective } from "./dropdown/dropdown-trigger.directive";
import {SvgIconModule} from "../svg-icon/svg-icon.module";
import { ValidationModule } from './validation/validation.module';
+import {TextareaComponent} from "./text-elements/textarea/textarea.component";
@NgModule({
imports: [
@@ -24,6 +25,7 @@ import { ValidationModule } from './validation/validation.module';
CheckboxComponent,
RadioGroupComponent,
DropDownTriggerDirective,
+ TextareaComponent
],
exports: [
DropDownComponent,
@@ -31,7 +33,8 @@ import { ValidationModule } from './validation/validation.module';
InputComponent,
CheckboxComponent,
RadioGroupComponent,
- ValidationModule
+ ValidationModule,
+ TextareaComponent
]
})
export class FormElementsModule {
diff --git a/src/angular/form-elements/radios/radio-buttons-group.component.html.ts b/src/angular/form-elements/radios/radio-buttons-group.component.html.ts
index 28a27af..a0026f2 100644
--- a/src/angular/form-elements/radios/radio-buttons-group.component.html.ts
+++ b/src/angular/form-elements/radios/radio-buttons-group.component.html.ts
@@ -1,7 +1,7 @@
-export default `
+export const template = `
<label class='sdc-radio-group__legend'>{{legend}}</label>
<div class='sdc-radio-group__radios {{direction}}'>
- <template *ngFor="let item of options.items">
+ <div *ngFor="let item of options.items">
<div class="sdc-radio">
<label class="sdc-radio__animation-wrapper" SdcRippleClickAnimation [rippleClickDisabled]="disabled">
<input class="sdc-radio__input"
@@ -15,6 +15,6 @@ export default `
<span class="sdc-radio__label">{{ item.label }}</span>
</label>
</div>
- </template>
+ </div>
</div>
`;
diff --git a/src/angular/form-elements/radios/radio-buttons-group.component.ts b/src/angular/form-elements/radios/radio-buttons-group.component.ts
index 800d8b0..9fa6b7d 100644
--- a/src/angular/form-elements/radios/radio-buttons-group.component.ts
+++ b/src/angular/form-elements/radios/radio-buttons-group.component.ts
@@ -1,6 +1,6 @@
import { Component, Input, Output, ViewEncapsulation, EventEmitter, HostBinding } from "@angular/core";
import { Direction, IOptionGroup, IRadioButtonModel } from "./radio-button.model";
-import template from './radio-buttons-group.component.html';
+import { template } from './radio-buttons-group.component.html';
@Component({
selector: 'sdc-radio-group',
@@ -43,9 +43,11 @@ export class RadioGroupComponent {
}
private isOptionExists(value) {
- const exist = this.options.items.find((item: IRadioButtonModel) => {
+ // Support ES5
+ // const exist = this.options.items.find((item: IRadioButtonModel) => {
+ const exist = this.options.items.filter((item: IRadioButtonModel) => {
return item.value === value;
- });
+ })[0];
return exist !== undefined;
}
diff --git a/src/angular/form-elements/input/input.component.ts b/src/angular/form-elements/text-elements/base-text-element.component.ts
index af0e9f4..a87238f 100644
--- a/src/angular/form-elements/input/input.component.ts
+++ b/src/angular/form-elements/text-elements/base-text-element.component.ts
@@ -1,15 +1,9 @@
import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';
import { FormControl } from "@angular/forms";
-import { ValidationComponent } from '../validation/validation.component';
-import { ValidatableComponent } from './../validation/validatable.component';
+import { ValidatableComponent } from "../validation/validatable.component";
import 'rxjs/add/operator/debounceTime';
-import template from "./input.component.html";
-@Component({
- selector: 'sdc-input',
- template: template,
-})
-export class InputComponent extends ValidatableComponent implements OnInit {
+export class BaseTextElementComponent extends ValidatableComponent implements OnInit {
@Output('valueChange') public baseEmitter: EventEmitter<any> = new EventEmitter<any>();
@Input() public label: string;
@@ -17,7 +11,6 @@ export class InputComponent extends ValidatableComponent implements OnInit {
@Input() public name: string;
@Input() public classNames: string;
@Input() public disabled: boolean;
- @Input() public type: string;
@Input() public placeHolder: string;
@Input() public required: boolean;
@Input() public minLength: number;
@@ -25,19 +18,18 @@ export class InputComponent extends ValidatableComponent implements OnInit {
@Input() public debounceTime: number;
@Input() public testId: string;
- protected control: FormControl;
+ public control: FormControl;
constructor() {
super();
this.control = new FormControl('', []);
this.debounceTime = 0;
this.placeHolder = '';
- this.type = 'text';
}
ngOnInit() {
this.control.valueChanges.
- debounceTime(this.debounceTime)
+ debounceTime(this.debounceTime)
.subscribe((newValue: any) => {
this.baseEmitter.emit(this.value);
});
diff --git a/src/angular/form-elements/input/input.component.html.ts b/src/angular/form-elements/text-elements/input/input.component.html.ts
index f8a4609..bb5d788 100644
--- a/src/angular/form-elements/input/input.component.html.ts
+++ b/src/angular/form-elements/text-elements/input/input.component.html.ts
@@ -1,9 +1,9 @@
-export default `
+export const template = `
<div class="sdc-input ">
<label class="sdc-input__label" *ngIf="label" [ngClass]="{'required':required}">{{label}}</label>
<input
class="sdc-input__input {{classNames}}"
- [ngClass]="{'error': !valid, 'disabled':disabled}"
+ [ngClass]="{'error': (!valid && dirty), 'disabled':disabled}"
[attr.name]="name ? name : null"
[placeholder]="placeHolder"
[(ngModel)]="value"
diff --git a/src/angular/form-elements/text-elements/input/input.component.ts b/src/angular/form-elements/text-elements/input/input.component.ts
new file mode 100644
index 0000000..48b177b
--- /dev/null
+++ b/src/angular/form-elements/text-elements/input/input.component.ts
@@ -0,0 +1,18 @@
+import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';
+import { template } from "./input.component.html";
+import { BaseTextElementComponent } from "../base-text-element.component";
+import 'rxjs/add/operator/debounceTime';
+
+@Component({
+ selector: 'sdc-input',
+ template: template,
+})
+export class InputComponent extends BaseTextElementComponent {
+ @Input() public type: string;
+
+ constructor() {
+ super();
+ this.type = 'text';
+ }
+
+}
diff --git a/src/angular/form-elements/text-elements/textarea/textarea.component.html.ts b/src/angular/form-elements/text-elements/textarea/textarea.component.html.ts
new file mode 100644
index 0000000..7e976b2
--- /dev/null
+++ b/src/angular/form-elements/text-elements/textarea/textarea.component.html.ts
@@ -0,0 +1,18 @@
+export const template = `
+<div class="sdc-textarea">
+ <label class="sdc-textarea__label" *ngIf="label" [ngClass]="{'required':required}">{{label}}</label>
+ <textarea
+ class="sdc-textarea__textarea {{classNames}}"
+ [ngClass]="{'error': (!valid && dirty), 'disabled':disabled}"
+ [attr.name]="name ? name : null"
+ [placeholder]="placeHolder"
+ [(ngModel)]="value"
+ [maxlength]="maxLength"
+ [minlength]="minLength"
+ [formControl]="control"
+ [attr.disabled]="disabled ? 'disabled' : null"
+ (input)="onKeyPress($event.target.value)"
+ [attr.data-tests-id]="testId">
+ </textarea>
+</div>
+`;
diff --git a/src/angular/form-elements/text-elements/textarea/textarea.component.ts b/src/angular/form-elements/text-elements/textarea/textarea.component.ts
new file mode 100644
index 0000000..e8f0700
--- /dev/null
+++ b/src/angular/form-elements/text-elements/textarea/textarea.component.ts
@@ -0,0 +1,14 @@
+import { Component } from "@angular/core";
+import { template } from './textarea.component.html';
+import { BaseTextElementComponent } from "../base-text-element.component";
+
+@Component({
+ selector: 'sdc-textarea',
+ template: template,
+})
+
+export class TextareaComponent extends BaseTextElementComponent {
+ constructor() {
+ super();
+ }
+}
diff --git a/src/angular/form-elements/validation/validatable.component.ts b/src/angular/form-elements/validation/validatable.component.ts
index 4817dea..3201e0b 100644
--- a/src/angular/form-elements/validation/validatable.component.ts
+++ b/src/angular/form-elements/validation/validatable.component.ts
@@ -1,24 +1,24 @@
-import { Input, Component } from "@angular/core";
-import { ValidationComponent } from './validation.component';
import { Subject } from 'rxjs/Subject';
import { IValidatableComponent } from './validatable.interface';
export abstract class ValidatableComponent implements IValidatableComponent {
// Each ValidatableComponent should handle the style in case of error, according to this boolean
- public valid = true;
-
+ public valid: boolean;
+ public dirty: boolean;
// Each ValidatableComponent will notify when the value is changed.
public notifier: Subject<string>;
constructor() {
this.notifier = new Subject();
+ this.dirty = false;
}
public abstract getValue(): any;
// Each ValidatableComponent should call the valueChanged on value changed function.
protected valueChanged = (value: any): void => {
+ this.dirty = true;
this.notifier.next(value);
}
diff --git a/src/angular/form-elements/validation/validation-group.component.html.ts b/src/angular/form-elements/validation/validation-group.component.html.ts
index dff591e..4e5e362 100644
--- a/src/angular/form-elements/validation/validation-group.component.html.ts
+++ b/src/angular/form-elements/validation/validation-group.component.html.ts
@@ -1,3 +1,3 @@
-export default `
+export const template = `
<ng-content></ng-content>
`;
diff --git a/src/angular/form-elements/validation/validation-group.component.ts b/src/angular/form-elements/validation/validation-group.component.ts
index 59ecf4c..4231bbf 100644
--- a/src/angular/form-elements/validation/validation-group.component.ts
+++ b/src/angular/form-elements/validation/validation-group.component.ts
@@ -1,15 +1,7 @@
import { Input, Component, ContentChildren, EventEmitter, Output, QueryList, SimpleChanges, HostBinding, AfterContentInit } from "@angular/core";
-import { AbstractControl, FormControl } from "@angular/forms";
-import { Subscribable } from "rxjs/Observable";
-import { AnonymousSubscription } from "rxjs/Subscription";
-import { IValidator } from './validators/validator.interface';
import { ValidatorComponent } from './validators/base.validator.component';
-import { RegexValidatorComponent } from './validators/regex.validator.component';
-import { RequiredValidatorComponent } from './validators/required.validator.component';
-import { ValidatableComponent } from './validatable.component';
import { ValidationComponent } from './validation.component';
-import { CustomValidatorComponent } from './validators/custom.validator.component';
-import template from "./validation.component.html";
+import { template } from "./validation-group.component.html";
@Component({
selector: 'sdc-validation-group',
@@ -37,7 +29,7 @@ export class ValidationGroupComponent implements AfterContentInit {
let validationResult = true;
// Iterate over all validationComponent inside the group and return boolean result true in case all validations passed.
this.validationsComponents.forEach((validationComponent) => {
- if (validationComponent.validate()) {
+ if (!validationComponent.validate()) {
validationResult = false;
}
});
diff --git a/src/angular/form-elements/validation/validation.component.html.ts b/src/angular/form-elements/validation/validation.component.html.ts
index 0f11a23..438cec1 100644
--- a/src/angular/form-elements/validation/validation.component.html.ts
+++ b/src/angular/form-elements/validation/validation.component.html.ts
@@ -1,3 +1,3 @@
-export default `
-<ng-content *ngIf="!disabled"></ng-content>
+export const template = `
+<ng-content *ngIf="!disabled && (validateElement && validateElement.dirty)"></ng-content>
`;
diff --git a/src/angular/form-elements/validation/validation.component.ts b/src/angular/form-elements/validation/validation.component.ts
index 4abdd12..289aeda 100644
--- a/src/angular/form-elements/validation/validation.component.ts
+++ b/src/angular/form-elements/validation/validation.component.ts
@@ -1,14 +1,10 @@
import { Input, Component, ContentChildren, EventEmitter, Output, QueryList, SimpleChanges, HostBinding, AfterContentInit } from "@angular/core";
-import { AbstractControl, FormControl } from "@angular/forms";
-import { Subscribable } from "rxjs/Observable";
-import { AnonymousSubscription } from "rxjs/Subscription";
-import { IValidator } from './validators/validator.interface';
import { ValidatorComponent } from './validators/base.validator.component';
import { RegexValidatorComponent } from './validators/regex.validator.component';
import { RequiredValidatorComponent } from './validators/required.validator.component';
import { ValidatableComponent } from './validatable.component';
import { CustomValidatorComponent } from './validators/custom.validator.component';
-import template from "./validation.component.html";
+import { template } from "./validation.component.html";
@Component({
selector: 'sdc-validation',
@@ -47,6 +43,9 @@ export class ValidationComponent implements AfterContentInit {
},
(error) => console.log('Validation subscribe error')
);
+ // init validateElement.valid.
+ const value = this.validateElement.getValue();
+ this.validateElement.notifier.next(value);
}
public validate = (): boolean => {
diff --git a/src/angular/form-elements/validation/validation.module.ts b/src/angular/form-elements/validation/validation.module.ts
index 4213f76..a6aa41e 100644
--- a/src/angular/form-elements/validation/validation.module.ts
+++ b/src/angular/form-elements/validation/validation.module.ts
@@ -3,7 +3,6 @@ import { FormsModule, ReactiveFormsModule } from "@angular/forms";
import { CommonModule } from "@angular/common";
import { SvgIconModule } from './../../svg-icon/svg-icon.module';
import { ValidationComponent } from './validation.component';
-import { ValidatorComponent } from './validators/base.validator.component';
import { RequiredValidatorComponent } from './validators/required.validator.component';
import { RegexValidatorComponent } from './validators/regex.validator.component';
import { CustomValidatorComponent } from './validators/custom.validator.component';
diff --git a/src/angular/form-elements/validation/validators/base.validator.component.html.ts b/src/angular/form-elements/validation/validators/base.validator.component.html.ts
index aba8eed..d96ee3b 100644
--- a/src/angular/form-elements/validation/validators/base.validator.component.html.ts
+++ b/src/angular/form-elements/validation/validators/base.validator.component.html.ts
@@ -1,6 +1,6 @@
-export default `
+export const template = `
<svg-icon-label
- *ngIf="!isValid"
+ *ngIf="!isValid && !disabled"
name="alert-triangle"
mode="error"
size="small"
diff --git a/src/angular/form-elements/validation/validators/base.validator.component.ts b/src/angular/form-elements/validation/validators/base.validator.component.ts
index 3d751af..8fd0361 100644
--- a/src/angular/form-elements/validation/validators/base.validator.component.ts
+++ b/src/angular/form-elements/validation/validators/base.validator.component.ts
@@ -1,18 +1,12 @@
import { Input, Component, ContentChildren, EventEmitter, Output, QueryList, SimpleChanges, HostBinding } from "@angular/core";
-import { IValidator } from './validator.interface';
-import template from "./base.validator.component.html";
-@Component({
- selector: 'sdc-validator',
- template: template
-})
export abstract class ValidatorComponent {
@Input() public message: any;
@Input() public disabled: boolean;
@HostBinding('class') classes;
- protected isValid: boolean;
+ public isValid: boolean;
constructor() {
this.disabled = false;
diff --git a/src/angular/form-elements/validation/validators/custom.validator.component.ts b/src/angular/form-elements/validation/validators/custom.validator.component.ts
index eb09636..0ec0e68 100644
--- a/src/angular/form-elements/validation/validators/custom.validator.component.ts
+++ b/src/angular/form-elements/validation/validators/custom.validator.component.ts
@@ -1,7 +1,7 @@
import { Input, Component } from "@angular/core";
import { ValidatorComponent } from "./base.validator.component";
import { IValidator } from './validator.interface';
-import template from "./base.validator.component.html";
+import { template } from "./base.validator.component.html";
@Component({
selector: 'sdc-custom-validator',
diff --git a/src/angular/form-elements/validation/validators/regex.validator.component.ts b/src/angular/form-elements/validation/validators/regex.validator.component.ts
index 5929016..5a213a9 100644
--- a/src/angular/form-elements/validation/validators/regex.validator.component.ts
+++ b/src/angular/form-elements/validation/validators/regex.validator.component.ts
@@ -1,7 +1,7 @@
import { Input, Component } from "@angular/core";
import { ValidatorComponent } from "./base.validator.component";
import { IValidator } from './validator.interface';
-import template from "./base.validator.component.html";
+import { template } from "./base.validator.component.html";
@Component({
selector: 'sdc-regex-validator',
diff --git a/src/angular/form-elements/validation/validators/required.validator.component.ts b/src/angular/form-elements/validation/validators/required.validator.component.ts
index 7eee932..fc550ca 100644
--- a/src/angular/form-elements/validation/validators/required.validator.component.ts
+++ b/src/angular/form-elements/validation/validators/required.validator.component.ts
@@ -1,7 +1,7 @@
import { Input, Component } from "@angular/core";
import { ValidatorComponent } from "./base.validator.component";
import { IValidator } from './validator.interface';
-import template from "./base.validator.component.html";
+import { template } from "./base.validator.component.html";
@Component({
selector: 'sdc-required-validator',
diff --git a/src/angular/index.html b/src/angular/index.html
new file mode 100644
index 0000000..4d9441d
--- /dev/null
+++ b/src/angular/index.html
@@ -0,0 +1,14 @@
+<!doctype html>
+<html lang="en">
+<head>
+ <meta charset="utf-8">
+ <title>Ng5test</title>
+ <base href="/">
+
+ <meta name="viewport" content="width=device-width, initial-scale=1">
+ <link rel="icon" type="image/x-icon" href="favicon.ico">
+</head>
+<body>
+ <storybook-app-root></storybook-app-root>
+</body>
+</html>
diff --git a/src/angular/index.ts b/src/angular/index.ts
index e8a54bd..8002604 100644
--- a/src/angular/index.ts
+++ b/src/angular/index.ts
@@ -15,7 +15,9 @@ import { SearchBarModule } from "./searchbar/search-bar.module";
import { TooltipModule } from "./tooltip/tooltip.module";
import { TagCloudModule } from './tag-cloud/tag-cloud.module';
import { TabsModule } from "./tabs/tabs.module";
+import { LoaderModule } from "./loader/loader.module";
import { AccordionModule } from "./accordion/accordion.module";
+import { MultilineEllipsisModule } from "./multiline-ellipsis/multiline-ellipsis.module";
@NgModule({
imports: [
@@ -35,7 +37,9 @@ import { AccordionModule } from "./accordion/accordion.module";
SvgIconModule,
TagCloudModule,
TabsModule,
- AccordionModule
+ LoaderModule,
+ AccordionModule,
+ MultilineEllipsisModule
],
exports: [
AnimationDirectivesModule,
@@ -54,15 +58,32 @@ import { AccordionModule } from "./accordion/accordion.module";
SvgIconModule,
TagCloudModule,
TabsModule,
- AccordionModule
+ LoaderModule,
+ AccordionModule,
+ MultilineEllipsisModule
]
})
-export class SdcUiComponentsModule {
-}
+export class SdcUiComponentsModule {}
+
+export { SdcUiComponentsNg1Module } from './ng1.module';
import * as SdcUiComponents from './components';
+import * as SdcUiServices from './services';
import * as SdcUiCommon from './common/index';
-export { SdcUiComponentsNg1Module } from './ng1.module';
export { SdcUiComponents };
+export { SdcUiServices };
export { SdcUiCommon };
+
+
+
+
+// let components = SdcUiComponents;
+// let services = SdcUiServices;
+// let common = SdcUiCommon
+
+// export const SdcUi = {
+// components,
+// services,
+// common
+// };
diff --git a/src/angular/loader/loader.component.html.ts b/src/angular/loader/loader.component.html.ts
new file mode 100644
index 0000000..074854a
--- /dev/null
+++ b/src/angular/loader/loader.component.html.ts
@@ -0,0 +1,13 @@
+export const template = `
+<div class = "sdc-loader-wrapper" *ngIf="!global">
+ <div class="sdc-loader-background" *ngIf="active">
+ <div class="sdc-loader {{ size }}" *ngIf="active"></div>
+ </div>
+ <ng-content></ng-content>
+</div>
+<div *ngIf="global&&active">
+ <div class="sdc-loader-global-wrapper sdc-loader-background" >
+ <div class="sdc-loader {{ size }}"></div>
+ </div>
+</div>
+`;
diff --git a/src/angular/loader/loader.component.ts b/src/angular/loader/loader.component.ts
new file mode 100644
index 0000000..353a98c
--- /dev/null
+++ b/src/angular/loader/loader.component.ts
@@ -0,0 +1,53 @@
+import { Component, Input, ViewContainerRef, Inject, OnInit, OnDestroy, Output, EventEmitter } from "@angular/core";
+import { template } from "./loader.component.html";
+import { LoaderService } from "./loader.service";
+
+export enum LoaderSize {
+ large = 'large',
+ medium = 'medium',
+ small = 'small',
+}
+
+@Component({
+ selector: "sdc-loader",
+ template: template
+})
+
+export class LoaderComponent implements OnInit, OnDestroy {
+ @Input() active: number;
+ @Input() size?: LoaderSize; // small || medium || large
+ @Input() global?: boolean; // If is relative is set to true, loader will appear over parent element. Otherwise, will be fixed over the entire page.
+ @Input() name?: string;
+ @Output() activeChange: EventEmitter<number> = new EventEmitter<number>();
+
+ constructor(private loaderService: LoaderService) {
+ this.active = 0;
+ this.size = LoaderSize.large;
+ this.global = false;
+ }
+
+ public ngOnInit(): void {
+ if (this.name !== undefined) {
+ this.loaderService.register(this.name, this);
+ }
+ }
+
+ public ngOnDestroy(): void {
+ if (this.name !== undefined) {
+ this.loaderService.unregister(this.name);
+ }
+ }
+
+ public activate() {
+ this.active++;
+ this.activeChange.emit(this.active);
+ }
+
+ public deactivate() {
+ if (this.active > 0) {
+ this.active--;
+ this.activeChange.emit(this.active);
+ }
+ }
+
+}
diff --git a/src/angular/loader/loader.module.ts b/src/angular/loader/loader.module.ts
new file mode 100644
index 0000000..8914173
--- /dev/null
+++ b/src/angular/loader/loader.module.ts
@@ -0,0 +1,21 @@
+import { NgModule } from "@angular/core";
+import { LoaderComponent } from "./loader.component";
+import { CommonModule } from "@angular/common";
+import { LoaderService } from "./loader.service";
+
+@NgModule({
+ declarations: [
+ LoaderComponent
+ ],
+ imports: [
+ CommonModule,
+ ],
+ exports: [
+ LoaderComponent
+ ],
+ providers: [
+ LoaderService
+ ]
+})
+
+export class LoaderModule {}
diff --git a/src/angular/loader/loader.service.ts b/src/angular/loader/loader.service.ts
new file mode 100644
index 0000000..288f9bd
--- /dev/null
+++ b/src/angular/loader/loader.service.ts
@@ -0,0 +1,37 @@
+import { Injectable, Type, ComponentRef } from '@angular/core';
+import { LoaderComponent } from './loader.component';
+
+@Injectable()
+export class LoaderService {
+
+ constructor() {}
+
+ private mainLoaderName = 'general';
+
+ public registeredLoaders = {};
+
+ public register(name: string, loader: LoaderComponent) {
+ if (!this.registeredLoaders[name]) {
+ this.registeredLoaders[name] = loader;
+ }
+ }
+
+ public unregister(name: string) {
+ if (this.registeredLoaders[name]) {
+ delete this.registeredLoaders[name];
+ }
+ }
+
+ public activate(name: string = this.mainLoaderName) {
+ if (this.registeredLoaders[name]) {
+ this.registeredLoaders[name].activate();
+ }
+ }
+
+ public deactivate(name: string = this.mainLoaderName) {
+ if (this.registeredLoaders[name]) {
+ this.registeredLoaders[name].deactivate();
+ }
+ }
+
+}
diff --git a/src/angular/modals/modal-button.component.ts b/src/angular/modals/modal-button.component.ts
index 4fa5b7c..07f81dd 100644
--- a/src/angular/modals/modal-button.component.ts
+++ b/src/angular/modals/modal-button.component.ts
@@ -1,7 +1,6 @@
-import { Component, Input, HostListener } from "@angular/core";
+import { Component, Input, HostListener, EventEmitter, Output } from "@angular/core";
import { ButtonComponent } from "../buttons/button.component";
-import { ModalService } from "./modal.service";
-import template from "./../buttons/button.component.html";
+import { template } from "./../buttons/button.component.html";
@Component({
selector: "sdc-modal-button",
@@ -12,16 +11,17 @@ export class ModalButtonComponent extends ButtonComponent {
@Input() public id?: string;
@Input() public callback: Function;
@Input() public closeModal: boolean;
+ @Output() closeModalEvent: EventEmitter<any> = new EventEmitter<any>();
@HostListener('click') invokeCallback = (): void => {
if (this.callback) {
this.callback();
}
if (this.closeModal) {
- this.modalService.closeModal();
+ this.closeModalEvent.emit();
}
}
- constructor(private modalService: ModalService) {
+ constructor() {
super();
this.closeModal = false;
}
diff --git a/src/angular/modals/modal-close-button.component.ts b/src/angular/modals/modal-close-button.component.ts
index e761019..357ff72 100644
--- a/src/angular/modals/modal-close-button.component.ts
+++ b/src/angular/modals/modal-close-button.component.ts
@@ -1,7 +1,8 @@
-import { Component, Input } from "@angular/core";
-import { ButtonComponent } from "../buttons/button.component";
+import { Component, ComponentRef, Input } from "@angular/core";
import { ModalService } from "./modal.service";
import { RippleAnimationAction } from "../animations/ripple-click.animation.directive";
+import { ModalComponent } from "./modal.component";
+import { ButtonComponent } from "../buttons/button.component";
@Component({
selector: "sdc-modal-close-button",
@@ -17,18 +18,20 @@ import { RippleAnimationAction } from "../animations/ripple-click.animation.dire
</div>
`
})
-export class ModalCloseButtonComponent {
+export class ModalCloseButtonComponent extends ButtonComponent {
@Input() testId: string;
@Input() disabled: boolean;
+ @Input() modalInstanceRef: ComponentRef<ModalComponent>;
public rippleAnimationAction: RippleAnimationAction = RippleAnimationAction.MOUSE_ENTER;
constructor(private modalService: ModalService) {
+ super();
}
public closeModal = (): void => {
- this.modalService.closeModal();
+ this.modalInstanceRef.instance.closeModal();
}
}
diff --git a/src/angular/modals/modal.component.html.ts b/src/angular/modals/modal.component.html.ts
index 90119ac..058c02e 100644
--- a/src/angular/modals/modal.component.html.ts
+++ b/src/angular/modals/modal.component.html.ts
@@ -1,23 +1,20 @@
-export default `
+export const template = `
+<div class="modal-background" [@toggleBackground]="modalVisible" ></div>
<div class="sdc-modal {{size}}">
<div class="sdc-modal__wrapper sdc-modal-type-{{type}}" [@toggleModal]="modalVisible" (@toggleModal.done)="modalToggled($event)">
<div class="sdc-modal__header sdc-{{type}}__header">
- <div class="sdc-modal__icon" *ngIf="type != 'custom'">
- <div *ngIf="type == 'alert'"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="30" height="30" viewBox="0 0 24 24"><defs><path fill="#000" id="alert-a" d="M20.5815,18.7997 C20.3815,18.9997 20.0815,19.0997 19.8815,19.0997 L2.8815,19.0997 C2.6815,19.0997 2.5815,19.0997 2.3815,18.9997 C1.8815,18.6997 1.7815,18.0997 1.9815,17.5997 L10.4815,3.4997 C10.5815,3.4007 10.6815,3.1997 10.7815,3.1997 C11.2815,2.9007 11.8815,3.0997 12.1815,3.4997 L20.6825,17.5997 C20.7815,17.6997 20.7815,17.9007 20.7815,18.0997 C20.8815,18.4007 20.6825,18.5997 20.5815,18.7997 M22.3815,16.5997 L13.9815,2.4007 C13.5815,1.6997 12.8815,1.1997 12.0815,0.9997 C11.2815,0.7997 10.4815,0.9007 9.7815,1.2997 C9.3815,1.4997 8.9815,1.9007 8.7815,2.2997 L0.3815,16.5997 C-0.4185,17.9997 0.0815,19.9007 1.4815,20.6997 C1.8815,20.9997 2.3815,21.0997 2.8815,21.0997 L19.8815,21.0997 C20.6825,21.0997 21.4815,20.7997 21.9815,20.1997 C22.5815,19.5997 22.8815,18.9007 22.8815,18.0997 C22.7815,17.5997 22.6825,16.9997 22.3815,16.5997 M11,7 C10.4,7 10,7.4 10,8 L10,12 C10,12.601 10.4,13 11,13 C11.6,13 12,12.601 12,12 L12,8 C12,7.4 11.6,7 11,7 M10.3,15.3 C10.1,15.499 10,15.699 10,15.999 C10,16.3 10.1,16.499 10.3,16.699 C10.5,16.9 10.7,16.999 11,16.999 C11.3,16.999 11.5,16.9 11.7,16.699 C11.9,16.499 12,16.199 12,15.999 C12,15.8 11.9,15.499 11.7,15.3 C11.3,14.9 10.7,14.9 10.3,15.3"/></defs>
- <g fill="none" fill-rule="evenodd" transform="translate(1 1)"><use class="sdc-modal__svg-use" xlink:href="#alert-a"/></g></svg></div>
- <div *ngIf="type == 'info'"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="30" height="30" viewBox="0 0 24 24"><defs><path fill="#000" id="info-a" d="M11,20 C6,20 2,16 2,11 C2,6 6,2 11,2 C16,2 20,6 20,11 C20,16 16,20 11,20 M11,0 C4.9,0 0,4.9 0,11 C0,17.101 4.9,22 11,22 C17.1,22 22,17.101 22,11 C22,4.9 17.1,0 11,0 M11,10 C10.4,10 10,10.4 10,11 L10,15 C10,15.601 10.4,16 11,16 C11.6,16 12,15.601 12,15 L12,11 C12,10.4 11.6,10 11,10 M10.2998,6.2998 C10.0998,6.4998 9.9998,6.6998 9.9998,6.9998 C9.9998,7.2998 10.0998,7.4998 10.2998,7.6998 C10.4998,7.9008 10.6998,7.9998 10.9998,7.9998 C11.2998,7.9998 11.4998,7.9008 11.6998,7.6998 C11.9008,7.4998 11.9998,7.2998 11.9998,6.9998 C11.9998,6.6998 11.9008,6.4998 11.6998,6.2998 C11.2998,5.9008 10.6998,5.9008 10.2998,6.2998"/></defs>
- <g fill="none" fill-rule="evenodd" transform="translate(1 1)"><use class="sdc-modal__svg-use" xlink:href="#info-a"/></g></svg></div>
- <div *ngIf="type == 'error'"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="30" height="30" viewBox="0 0 24 24"><defs><path fill="#000" id="x-a" d="M11,20 C6,20 2,16 2,11 C2,6 6,2 11,2 C16,2 20,6 20,11 C20,16 16,20 11,20 M11,0 C4.9,0 0,4.9 0,11 C0,17.1 4.9,22 11,22 C17.1,22 22,17.1 22,11 C22,4.9 17.1,0 11,0 M14.2591,7.29935 C13.8591,6.90035 13.2591,6.90035 12.8591,7.29935 L10.5591,9.59935 L8.2591,7.29935 C7.8591,6.90035 7.2591,6.90035 6.8591,7.29935 C6.4591,7.69935 6.4591,8.29935 6.8591,8.69935 L9.1581,10.99935 L6.8591,13.29935 C6.4591,13.69935 6.4591,14.29935 6.8591,14.69935 C7.0591,14.90035 7.2591,14.99935 7.5591,14.99935 C7.8591,14.99935 8.0591,14.90035 8.2591,14.69935 L10.5591,12.40035 L12.8591,14.69935 C13.0591,14.90035 13.3591,14.99935 13.5591,14.99935 C13.7591,14.99935 14.0591,14.90035 14.2591,14.69935 C14.6581,14.29935 14.6581,13.69935 14.2591,13.29935 L11.9591,10.99935 L14.2591,8.69935 C14.6581,8.29935 14.6581,7.69935 14.2591,7.29935"/></defs>
- <g fill="none" fill-rule="evenodd" transform="translate(1 1)"><use class="sdc-modal__svg-use" xlink:href="#x-a"/></g></svg></div>
- </div>
+ <div class="sdc-modal__icon" *ngIf="type!='custom'" [innerHtml]="svgIconContentSafeHtml"></div>
<div *ngIf="title" class="title" >{{ title }}</div>
- <sdc-modal-close-button #modalCloseButton [testId]="getCalculatedTestId('close')"></sdc-modal-close-button>
+ <sdc-modal-close-button #modalCloseButton [testId]="getCalculatedTestId('close')" [modalInstanceRef]="instanceRef"></sdc-modal-close-button>
</div>
- <div class="sdc-modal__content" >
- <div *ngIf="message">{{message}}</div>
+
+ <div class="sdc-modal__content">
+ <div *ngIf="message" [innerHtml]="message"></div>
<div #dynamicContentContainer></div>
+ <div class="disabled-modal" *ngIf="isDisabled"></div>
</div>
+
<div class="sdc-modal__footer">
<sdc-modal-button *ngFor="let button of buttons"
[text]="button.text"
@@ -29,10 +26,11 @@ export default `
[show_spinner]="button.show_spinner"
[callback]="button.callback"
[testId]="getCalculatedTestId('button-' + button.text)"
+ (closeModalEvent)="closeModal()"
>
</sdc-modal-button>
</div>
+
</div>
</div>
-<div class="modal-background" [@toggleBackground]="modalVisible" ></div>
`;
diff --git a/src/angular/modals/modal.component.spec.ts b/src/angular/modals/modal.component.spec.ts
index 372d59d..d1f6b78 100644
--- a/src/angular/modals/modal.component.spec.ts
+++ b/src/angular/modals/modal.component.spec.ts
@@ -4,102 +4,91 @@ import { NO_ERRORS_SCHEMA } from '@angular/core/src/metadata/ng_module';
import { ModalService } from './modal.service';
import { CreateDynamicComponentService } from "../utils/create-dynamic-component.service";
import { IModalConfig, ModalType, ModalSize } from "../../../src/angular/modals/models/modal-config";
-import { ModalInnerContent } from "../../../stories/ng2-component-lab/components/modal-inner-content-example.component";
-
describe("Modal unit-tests", () => {
let testService: ModalService;
const testInputModal = {
- size: 'xl', //'xl|l|md|sm|xsm'
+ size: 'xl', // 'xl|l|md|sm|xsm'
title: 'Test_Title',
message: 'Test_Message',
modalVisible: true
};
beforeEach(async(() => {
- TestBed.configureTestingModule({
- providers:[
- ModalService,
- { provide : CreateDynamicComponentService, useClass: CreateDynamicComponentServiceTest}
- ],
- declarations: [],
- schemas:[NO_ERRORS_SCHEMA]
- })
- testService = TestBed.get(ModalService);
+ // TestBed.configureTestingModule({
+ // providers: [
+ // ModalService,
+ // { provide : CreateDynamicComponentService, useClass: CreateDynamicComponentServiceTest}
+ // ],
+ // declarations: [],
+ // schemas: [NO_ERRORS_SCHEMA]
+ // });
+ // testService = TestBed.get(ModalService);
}));
it('Modal should be open test', () => {
- let modalInstance = testService.openModal(testInputModal);
+ const modalInstance = testService.openModal(testInputModal);
expect(modalInstance).toBeTruthy();
- })
+ });
- it('Modal alert window test', () => {
- let modalInstance = testService.openAlertModal('testAlert', 'testMessage');
+ it('Modal warning window test', () => {
+ const modalInstance = testService.openWarningModal('Worning title', 'testAlert', 'testMessage');
expect(modalInstance).toBeTruthy();
- })
+ });
it('Modal info window test', () => {
- let modalInstance = testService.openErrorModal('testMessage', 'sampleTestId');
+ const modalInstance = testService.openErrorModal('Error title', 'testMessage', 'sampleTestId');
expect(modalInstance).toBeTruthy();
- })
-
-
- it('Custom Modal should be open', () => {
- let modalConfig:IModalConfig = <IModalConfig> {
- size: ModalSize.medium,
- title: 'Title',
- type: ModalType.custom,
- buttons: [{text:"Save & Close", closeModal:true},
- {text:"Save", callback:this.customModalOnSave, closeModal:false},
- {text:"Cancel", type: 'secondary', closeModal:true}]
- };
- let modalInstance = testService.openCustomModal(modalConfig, ModalInnerContent, {name: "Sample Content"});
- expect(modalInstance).toBeTruthy();
- })
-
- it('Shoul close window', () => {
- let modalInstance = testService.openModal(testInputModal);
- testService.closeModal();
- expect(modalInstance.instance.modalVisible).toBeFalsy();
- })
-})
-
+ });
+
+ // it('Custom Modal should be open', () => {
+ // const modalConfig: IModalConfig = {
+ // size: ModalSize.medium,
+ // title: 'Title',
+ // type: ModalType.custom,
+ // buttons: [{text: "Save & Close", closeModal: true},
+ // {text: "Save", callback: this.customModalOnSave, closeModal: false},
+ // {text: "Cancel", type: 'secondary', closeModal: true}]
+ // } as IModalConfig;
+ // const modalInstance = testService.openCustomModal(modalConfig, ModalInnerContent, {name: "Sample Content"});
+ // expect(modalInstance).toBeTruthy();
+ // });
+
+ // it('Should close window', () => {
+ // const modalInstance = testService.openModal(testInputModal);
+ // modalInstance.instance.closeModal();
+ // expect(modalInstance.instance.modalVisible).toBeFalsy();
+ // });
+});
const testModalInstance = {
- instance:{
- closeAnimationComplete:{
- subscribe:() => {
+ instance: {
+ closeAnimationComplete: {
+ subscribe: () => {
return true;
},
},
- _createDynamicComponentService:{
- insertComponentDynamically:() => {
+ _createDynamicComponentService: {
+ insertComponentDynamically: () => {
return true;
}
},
- modalVisible:true
- },
-
-};
-
-@Component({
- selector: 'modal-test',
- template: `<div></div>`
-})
-
-
-
-export class CreateDynamicComponentServiceTest {
- modalVisble: true;
- public createComponentDynamically = (modalInstance, customData) => {
- return testModalInstance;
- }
- public insertComponentDynamically = () =>{
- return testModalInstance;
+ modalVisible: true
}
+};
-}
-
-
-
-
+// @Component({
+// selector: 'modal-test',
+// template: `<div></div>`
+// })
+
+// export class CreateDynamicComponentServiceTest {
+// modalVisble: true;
+// public createComponentDynamically = (modalInstance, customData) => {
+// return testModalInstance;
+// }
+// public insertComponentDynamically = () => {
+// return testModalInstance;
+// }
+
+// }
diff --git a/src/angular/modals/modal.component.ts b/src/angular/modals/modal.component.ts
index 4f4d81f..c6f346c 100644
--- a/src/angular/modals/modal.component.ts
+++ b/src/angular/modals/modal.component.ts
@@ -1,33 +1,36 @@
-import { Component, Input, Output, ViewContainerRef, ViewChild, ComponentRef, trigger, state, animate, transition, style, EventEmitter, Renderer, ElementRef } from '@angular/core';
+import { Component, Input, ViewContainerRef, ViewChild, ComponentRef, Renderer, OnInit } from '@angular/core';
+import { animate, style, transition, trigger } from '@angular/animations';
import { ModalButtonComponent } from './modal-button.component';
import { LowerCasePipe } from '@angular/common';
import { ModalCloseButtonComponent } from './modal-close-button.component';
-import template from './modal.component.html';
+import { ModalType } from './models/modal-config';
+import { template } from './modal.component.html';
+import { DomSanitizer, SafeHtml } from '@angular/platform-browser';
@Component({
selector: 'sdc-modal',
template: template,
animations: [
trigger('toggleBackground', [
- transition('* => 1', [style({opacity: 0}), animate('.45s cubic-bezier(0.23, 1, 0.32, 1)')]),
- transition('1 => *', [animate('.35s cubic-bezier(0.23, 1, 0.32, 1)', style({opacity: 0}))])
+ transition('* => 1', [style({ opacity: 0 }), animate('.45s cubic-bezier(0.23, 1, 0.32, 1)')]),
+ transition('1 => *', [animate('.35s cubic-bezier(0.23, 1, 0.32, 1)', style({ opacity: 0 }))])
]),
trigger('toggleModal', [
- transition('* => 1', [style({opacity: 0, transform: 'translateY(-80px)'}), animate('.45s cubic-bezier(0.23, 1, 0.32, 1)')]),
- transition('1 => *', [style({opacity: 1, transform: 'translateY(0px)'}), animate('.35s ease-in-out', style({opacity:0, transform: 'translateY(-80px)'}))])
+ transition('* => 1', [style({ opacity: 0, transform: 'translateY(-80px)' }), animate('.45s cubic-bezier(0.23, 1, 0.32, 1)')]),
+ transition('1 => *', [style({ opacity: 1, transform: 'translateY(0px)' }), animate('.35s ease-in-out', style({ opacity: 0, transform: 'translateY(-80px)' }))])
])
]
})
-export class ModalComponent {
+export class ModalComponent implements OnInit {
@Input() size: string; 'xl|l|md|sm|xsm';
@Input() title: string;
@Input() message: string;
@Input() buttons: ModalButtonComponent[];
- @Input() type: string; 'info|error|alert|custom';
+ @Input() type: ModalType;
@Input() testId: string;
- @Output() closeAnimationComplete: EventEmitter<any> = new EventEmitter<any>();
+ @Input() instanceRef: ComponentRef<ModalComponent>; // the component ref is injected to the component in order to destroy the componet from itself
@ViewChild('modalCloseButton')
set refCloseButton(_modalCloseButton: ModalCloseButtonComponent) {
@@ -36,19 +39,68 @@ export class ModalComponent {
modalVisible: boolean;
// Allows for custom component as body instead of simple message.
- // See ModalService.createActionModal for implementation details, and HttpService's catchError() for example.
- @ViewChild('dynamicContentContainer', {read: ViewContainerRef}) dynamicContentContainer: ViewContainerRef;
- innerModalContent: ComponentRef<ModalComponent>;
+ @ViewChild('dynamicContentContainer', { read: ViewContainerRef }) dynamicContentContainer: ViewContainerRef;
+ innerModalContent: ComponentRef<any>;
public calculatedTestId: string;
public modalCloseButton: ModalCloseButtonComponent;
+ public svgIconContentSafeHtml: SafeHtml;
+ public isDisabled: boolean;
+
+ private infoSvg = `<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="30" height="30" viewBox="0 0 24 24">
+ <defs><path fill="#000" id="info-a" d="M11,20 C6,20 2,16 2,11 C2,6 6,2 11,2 C16,2 20,6 20,11 C20,16 16,20 11,20 M11,0 C4.9,0 0,4.9 0,11 C0,17.101 4.9,22 11,22 C17.1,22 22,17.101 22,11 C22,4.9 17.1,0 11,0 M11,10 C10.4,
+ 10 10,10.4 10,11 L10,15 C10,15.601 10.4,16 11,16 C11.6,16 12,15.601 12,15 L12,11 C12,10.4 11.6,10 11,10 M10.2998,6.2998 C10.0998,6.4998 9.9998,6.6998 9.9998,6.9998 C9.9998,7.2998 10.0998,7.4998 10.2998,7.6998 C10.4998,
+ 7.9008 10.6998,7.9998 10.9998,7.9998 C11.2998,7.9998 11.4998,7.9008 11.6998,7.6998 C11.9008,7.4998 11.9998,7.2998 11.9998,6.9998 C11.9998,6.6998 11.9008,6.4998 11.6998,6.2998 C11.2998,5.9008 10.6998,5.9008 10.2998,6.2998"/>
+ </defs><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><use class="sdc-modal__svg-use" xlink:href="#info-a"/></g></svg>`;
+ private warningSvg = `<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="30" height="30" viewBox="0 0 24 24"><defs><path fill="#000" id="alert-a" d="M20.5815,18.7997 C20.3815,
+ 18.9997 20.0815,19.0997 19.8815,19.0997 L2.8815,19.0997 C2.6815,19.0997 2.5815,19.0997 2.3815,18.9997 C1.8815,18.6997 1.7815,18.0997 1.9815,17.5997 L10.4815,3.4997 C10.5815,3.4007 10.6815,3.1997 10.7815,3.1997 C11.2815,
+ 2.9007 11.8815,3.0997 12.1815,3.4997 L20.6825,17.5997 C20.7815,17.6997 20.7815,17.9007 20.7815,18.0997 C20.8815,18.4007 20.6825,18.5997 20.5815,18.7997 M22.3815,16.5997 L13.9815,2.4007 C13.5815,1.6997 12.8815,1.1997 12.0815,
+ 0.9997 C11.2815,0.7997 10.4815,0.9007 9.7815,1.2997 C9.3815,1.4997 8.9815,1.9007 8.7815,2.2997 L0.3815,16.5997 C-0.4185,17.9997 0.0815,19.9007 1.4815,20.6997 C1.8815,20.9997 2.3815,21.0997 2.8815,21.0997 L19.8815,
+ 21.0997 C20.6825,21.0997 21.4815,20.7997 21.9815,20.1997 C22.5815,19.5997 22.8815,18.9007 22.8815,18.0997 C22.7815,17.5997 22.6825,16.9997 22.3815,16.5997 M11,7 C10.4,7 10,7.4 10,8 L10,12 C10,12.601 10.4,13 11,13 C11.6,13 12,
+ 12.601 12,12 L12,8 C12,7.4 11.6,7 11,7 M10.3,15.3 C10.1,15.499 10,15.699 10,15.999 C10,16.3 10.1,16.499 10.3,16.699 C10.5,16.9 10.7,16.999 11,16.999 C11.3,16.999 11.5,16.9 11.7,16.699 C11.9,16.499 12,16.199 12,15.999 C12,
+ 15.8 11.9,15.499 11.7,15.3 C11.3,14.9 10.7,14.9 10.3,15.3"/></defs><g fill="#ffb81c" fill-rule="evenodd" transform="translate(1 1)"><use class="sdc-modal__svg-use" xlink:href="#alert-a"/></g></svg>`;
+ private errorSvg = `<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="30" height="30" viewBox="0 0 24 24"><defs><path fill="#000" id="x-a" d="M11,20 C6,20 2,16 2,11 C2,6 6,2 11,
+ 2 C16,2 20,6 20,11 C20,16 16,20 11,20 M11,0 C4.9,0 0,4.9 0,11 C0,17.1 4.9,22 11,22 C17.1,22 22,17.1 22,11 C22,4.9 17.1,0 11,0 M14.2591,7.29935 C13.8591,6.90035 13.2591,6.90035 12.8591,7.29935 L10.5591,9.59935 L8.2591,
+ 7.29935 C7.8591,6.90035 7.2591,6.90035 6.8591,7.29935 C6.4591,7.69935 6.4591,8.29935 6.8591,8.69935 L9.1581,10.99935 L6.8591,13.29935 C6.4591,13.69935 6.4591,14.29935 6.8591,14.69935 C7.0591,14.90035 7.2591,14.99935 7.5591,
+ 14.99935 C7.8591,14.99935 8.0591,14.90035 8.2591,14.69935 L10.5591,12.40035 L12.8591,14.69935 C13.0591,14.90035 13.3591,14.99935 13.5591,14.99935 C13.7591,14.99935 14.0591,14.90035 14.2591,14.69935 C14.6581,14.29935 14.6581,
+ 13.69935 14.2591,13.29935 L11.9591,10.99935 L14.2591,8.69935 C14.6581,8.29935 14.6581,7.69935 14.2591,7.29935"/></defs><g fill="none" fill-rule="evenodd" transform="translate(1 1)">
+ <use class="sdc-modal__svg-use" xlink:href="#x-a"/></g></svg>`;
+ private successSvg = `<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="30" height="30" viewBox="0 0 24 24" fill="#4ca90c"><path id="success+20-a" d="M20.1825992,10.445793 C20.6735306,
+ 10.445793 21.0008182,10.7730806 21.0008182,11.264012 L21.0008182,12.0004091 C21.0008182,16.9915451 16.9915451,21 12.0004091,21 C7.00927315,21 3,16.9915451 3,12.0004091 C3,7.00927315 7.00927315,3 12.0004091,3 C13.3095595,3 14.536888,
+ 3.3272876 15.6823947,3.81821901 C16.0915042,3.98186281 16.255148,4.47279422 16.0915042,4.88190372 C15.9278604,5.29101323 15.436929,5.45465703 15.0278194,5.29101323 C14.0459566,4.88190372 13.0640938,4.63643802 12.0004091,
+ 4.63643802 C7.90931406,4.63643802 4.63643802,7.90931406 4.63643802,12.0004091 C4.63643802,16.0906859 7.90931406,19.363562 12.0004091,19.363562 C16.0915042,19.363562 19.3643802,16.0906859 19.3643802,12.0004091 L19.3643802,
+ 11.264012 C19.3643802,10.7730806 19.6916678,10.445793 20.1825992,10.445793 Z M21.5737352,4.06343925 C21.9002046,4.39072685 21.9002046,4.88165826 21.5737352,5.20894586 L12.5733261,14.209355 C12.4096823,14.3729988 12.1642166,
+ 14.4548207 12.0005728,14.4548207 C11.836929,14.4548207 11.5914632,14.3729988 11.4278194,14.209355 L8.97316242,11.7546979 C8.64587481,11.4274103 8.64587481,10.9364789 8.97316242,10.6091913 C9.30045002,10.2819037 9.79138143,
+ 10.2819037 10.118669,10.6091913 L12.0005728,12.491095 L20.4282286,4.06343925 C20.7555162,3.73615164 21.2464476,3.73615164 21.5737352,4.06343925 Z"></path></svg>`;
+ private noSvg = ``;
constructor(private renderer: Renderer,
- private lowerCasePipe: LowerCasePipe
- ) {
+ private domSanitizer: DomSanitizer,
+ private lowerCasePipe: LowerCasePipe
+ ) {
this.modalVisible = true;
}
+ ngOnInit() {
+
+ switch (this.type) {
+ case ModalType.info:
+ this.svgIconContentSafeHtml = this.domSanitizer.bypassSecurityTrustHtml(this.infoSvg);
+ break;
+ case ModalType.warning:
+ this.svgIconContentSafeHtml = this.domSanitizer.bypassSecurityTrustHtml(this.warningSvg);
+ break;
+ case ModalType.error:
+ this.svgIconContentSafeHtml = this.domSanitizer.bypassSecurityTrustHtml(this.errorSvg);
+ break;
+ case ModalType.success:
+ this.svgIconContentSafeHtml = this.domSanitizer.bypassSecurityTrustHtml(this.successSvg);
+ break;
+ default:
+ this.svgIconContentSafeHtml = this.domSanitizer.bypassSecurityTrustHtml(this.noSvg);
+ }
+ }
+
getCalculatedTestId = (buttonText: string): string => {
// TODO: Replace this
if (this.testId) {
@@ -59,7 +111,7 @@ export class ModalComponent {
public modalToggled = (toggleEvent: any) => {
if (!toggleEvent.toState) {
- this.closeAnimationComplete.emit();
+ this.instanceRef.destroy();
}
}
@@ -68,9 +120,11 @@ export class ModalComponent {
}
public getButtonById = (id: string): ModalButtonComponent => {
- return this.buttons.find((button) => {
+ // Support ES5
+ // return this.buttons.find((button) => {
+ return this.buttons.filter((button) => {
return button.id && button.id === id;
- });
+ })[0];
}
public getButtons = (): ModalButtonComponent[] => {
@@ -93,4 +147,16 @@ export class ModalComponent {
this.renderer.setElementClass(evn.target as HTMLElement, 'sdc-ripple-click__animated', true);
// evn.taregt.classList.add('sdc-ripple-click__animated');
}
+
+ public closeModal = (): void => {
+ this.modalVisible = false;
+ }
+
+ public disabledModal = (isDisabled: boolean): void => {
+ this.isDisabled = isDisabled;
+ this.buttons.forEach((button: ModalButtonComponent) => {
+ button.disabled = isDisabled;
+ });
+ this.modalCloseButton.disabled = isDisabled;
+ }
}
diff --git a/src/angular/modals/modal.service.ts b/src/angular/modals/modal.service.ts
index d80ad1f..231b062 100644
--- a/src/angular/modals/modal.service.ts
+++ b/src/angular/modals/modal.service.ts
@@ -2,99 +2,59 @@ import { Injectable, Type, ComponentRef } from '@angular/core';
import { ModalComponent } from "./modal.component";
import { CreateDynamicComponentService } from "../utils/create-dynamic-component.service";
import { IModalConfig, ModalType, ModalSize, IModalButtonComponent } from "./models/modal-config";
+import { ButtonType } from '../common/enums';
+import { ModalButtonComponent } from './modal-button.component';
@Injectable()
export class ModalService {
- private currentModal: ComponentRef<any>;
-
constructor(private createDynamicComponentService: CreateDynamicComponentService) {
}
- /* Shortcut method to open an alert modal with title, message, and close button that simply closes the modal. */
- public openAlertModal(title: string, message: string, actionButtonText?: string, actionButtonCallback?: Function, testId?: string) {
+ private getBaseModal = (type: ModalType | ButtonType, title: string, message: string, testId: string, buttons?: ModalButtonComponent[]): ModalComponent => {
const modalConfig = {
size: ModalSize.small,
title: title,
message: message,
testId: testId,
- buttons: this.createButtons('secondary', actionButtonText, actionButtonCallback),
- type: ModalType.alert
- } as IModalConfig;
- const modalInstance: ComponentRef<ModalComponent> = this.openModal(modalConfig);
- this.currentModal = modalInstance;
- return modalInstance;
- }
-
- public openActionModal = (title: string, message: string, actionButtonText?: string, actionButtonCallback?: Function, testId?: string): ComponentRef<ModalComponent> => {
- const modalConfig = {
- size: ModalSize.small,
- title: title,
- message: message,
- testId: testId,
- type: ModalType.standard,
- buttons: this.createButtons('primary', actionButtonText, actionButtonCallback)
- } as IModalConfig;
- const modalInstance: ComponentRef<ModalComponent> = this.openModal(modalConfig);
- this.currentModal = modalInstance;
- return modalInstance;
- }
-
- public openErrorModal = (errorMessage?: string, testId?: string): ComponentRef<ModalComponent> => {
- const modalConfig = {
- size: ModalSize.small,
- title: 'Error',
- message: errorMessage,
- testId: testId,
- buttons: [{text: "OK", type: "alert", closeModal: true}],
- type: ModalType.error
+ buttons: buttons ? buttons : [{ text: 'OK', type: type, closeModal: true }],
+ type: type
} as IModalConfig;
const modalInstance: ComponentRef<ModalComponent> = this.openModal(modalConfig);
- this.currentModal = modalInstance;
- return modalInstance;
+ return modalInstance.instance;
}
- public openCustomModal = (modalConfig: IModalConfig, dynamicComponentType: Type<any>, dynamicComponentInput?: any) => {
- const modalInstance: ComponentRef<ModalComponent> = this.openModal(modalConfig);
- this.createInnnerComponent(dynamicComponentType, dynamicComponentInput);
- return modalInstance;
+ /* Shortcut method to open basic modals with title, message, and OK button that simply closes the modal. */
+ public openInfoModal = (title: string, message: string, testId: string, buttons?: ModalButtonComponent[]): ModalComponent => {
+ return this.getBaseModal(ModalType.info, title, message, testId, buttons);
}
- public createInnnerComponent = (dynamicComponentType: Type<any>, dynamicComponentInput?: any): void => {
- this.currentModal.instance.innerModalContent = this.createDynamicComponentService.insertComponentDynamically(dynamicComponentType, dynamicComponentInput, this.currentModal.instance.dynamicContentContainer);
+ public openWarningModal = (title: string, message: string, testId: string, buttons?: ModalButtonComponent[]): ModalComponent => {
+ return this.getBaseModal(ModalType.warning, title, message, testId, buttons);
}
- public openModal = (customModalData: IModalConfig): ComponentRef<ModalComponent> => {
- const modalInstance: ComponentRef<ModalComponent> = this.createDynamicComponentService.createComponentDynamically(ModalComponent, customModalData);
- modalInstance.instance.closeAnimationComplete.subscribe(() => {
- this.destroyModal();
- });
- this.currentModal = modalInstance;
- return modalInstance;
+ public openErrorModal = (title: string, message: string, testId: string, buttons?: ModalButtonComponent[]): ModalComponent => {
+ return this.getBaseModal(ModalType.error, title, message, testId, buttons);
}
- public getCurrentInstance = () => {
- return this.currentModal.instance;
+ public openSuccessModal = (title: string, message: string, testId: string, buttons?: ModalButtonComponent[]): ModalComponent => {
+ return this.getBaseModal(ModalType.success, title, message, testId, buttons);
}
- public closeModal = (): void => { // triggers closeModal animation, which then triggers toggleModal.done and the subscription to destroyModal
- this.currentModal.instance.modalVisible = false;
+ public openCustomModal = (modalConfig: IModalConfig, dynamicComponentType: Type<any>, dynamicComponentInput?: any) => {
+ const modalInstance: ComponentRef<ModalComponent> = this.openModal(modalConfig);
+ this.createInnnerComponent(modalInstance, dynamicComponentType, dynamicComponentInput);
+ return modalInstance.instance;
}
- private createButtons = (type: string, actionButtonText?: string, actionButtonCallback?: Function): Array<IModalButtonComponent> => {
- const buttons: Array<IModalButtonComponent> = [];
- if (actionButtonText && actionButtonCallback) {
- buttons.push({text: actionButtonText, type: type, callback: actionButtonCallback, closeModal: true});
- buttons.push({text: 'Cancel', type: 'secondary', closeModal: true});
- } else {
- buttons.push({text: 'Cancel', type: type, closeModal: true});
- }
-
- return buttons;
+ public createInnnerComponent = (modalInstance: ComponentRef<ModalComponent>, dynamicComponentType: Type<any>, dynamicComponentInput?: any): void => {
+ modalInstance.instance.innerModalContent = this.createDynamicComponentService.insertComponentDynamically(dynamicComponentType, dynamicComponentInput, modalInstance.instance.dynamicContentContainer);
}
- private destroyModal = (): void => {
- this.currentModal.destroy();
+ public openModal = (customModalData: IModalConfig): ComponentRef<ModalComponent> => {
+ let modalInstance: ComponentRef<ModalComponent> = this.createDynamicComponentService.createComponentDynamically(ModalComponent, customModalData);
+ modalInstance.instance.instanceRef = modalInstance;
+ return modalInstance;
}
}
diff --git a/src/angular/modals/models/modal-config.ts b/src/angular/modals/models/modal-config.ts
index 635942b..8cf955e 100644
--- a/src/angular/modals/models/modal-config.ts
+++ b/src/angular/modals/models/modal-config.ts
@@ -1,4 +1,4 @@
-import { Placement } from "../../common/enums";
+import { IButtonComponent } from "../../buttons/ibutton.interface";
export interface IModalConfig {
size?: string; // xl|l|md|sm|xsm
@@ -6,33 +6,22 @@ export interface IModalConfig {
message?: string;
buttons?: IModalButtonComponent[];
testId?: string;
- type?: string; // 'info|error|alert';
+ type?: ModalType;
}
-export interface IButtonComponent {
- text: string;
- disabled?: boolean;
- type?: string;
- testId?: string;
- preventDoubleClick?: boolean;
- icon_name?: string;
- icon_position?: string;
- show_spinner?: boolean;
- spinner_position?: Placement;
- size?: string;
-}
-
-export interface IModalButtonComponent extends IButtonComponent{
+export interface IModalButtonComponent extends IButtonComponent {
id?: string;
- callback?: Function;
+ callback?: () => void;
closeModal?: boolean;
}
export enum ModalType {
- alert = "alert",
- error = "error",
- standard = "info",
- custom = "custom"
+ info = 'info',
+ warning = 'warning',
+ error = 'error',
+ success = 'success',
+ action = 'action',
+ custom = 'custom'
}
export enum ModalSize {
diff --git a/src/angular/multiline-ellipsis/multiline-ellipsis.component.html.ts b/src/angular/multiline-ellipsis/multiline-ellipsis.component.html.ts
new file mode 100644
index 0000000..ecaeb42
--- /dev/null
+++ b/src/angular/multiline-ellipsis/multiline-ellipsis.component.html.ts
@@ -0,0 +1,8 @@
+export const template = `
+<div class="multiline-ellipsis-container" [ngClass]="className" [ngStyle]="stylesContainer" #multilineEllipsisContainer>
+ <div class="multiline-ellipsis-content" [ngStyle]="stylesContent" #multilineEllipsisContent>
+ <ng-content></ng-content>
+ <div class="multiline-ellipsis-dots" [ngStyle]="stylesDots"></div>
+ </div>
+</div>
+`;
diff --git a/src/angular/multiline-ellipsis/multiline-ellipsis.component.ts b/src/angular/multiline-ellipsis/multiline-ellipsis.component.ts
new file mode 100644
index 0000000..bc7f805
--- /dev/null
+++ b/src/angular/multiline-ellipsis/multiline-ellipsis.component.ts
@@ -0,0 +1,70 @@
+import { Component, OnChanges, AfterViewChecked, ViewChild, ElementRef, Input, Output, SimpleChanges, EventEmitter } from "@angular/core";
+import { template } from './multiline-ellipsis.component.html';
+
+declare const window: any;
+
+@Component({
+ selector: 'multiline-ellipsis',
+ template: template
+})
+
+export class MultilineEllipsisComponent implements OnChanges, AfterViewChecked {
+
+ @Input() public lines: number;
+ @Input() public lineHeight: string;
+ @Input() public className: string;
+ @Output() public hasEllipsisChanged: EventEmitter<boolean>;
+
+ @ViewChild('multilineEllipsisContainer') public elmContainer: ElementRef;
+ @ViewChild('multilineEllipsisContent') public elmContent: ElementRef;
+
+ public stylesContainer: { [key: string]: string };
+ public stylesContent: { [key: string]: string };
+ public stylesDots: { [key: string]: string };
+
+ private hasEllipsis: boolean;
+
+ public constructor() {
+ this.hasEllipsisChanged = new EventEmitter<boolean>();
+ }
+
+ public ngOnChanges(changes: SimpleChanges) {
+ this.prepareStyles()
+ }
+
+ public ngAfterViewChecked() {
+ const hasEllipsis = (this.elmContainer.nativeElement.offsetHeight < this.elmContent.nativeElement.offsetHeight);
+ if (hasEllipsis !== this.hasEllipsis) {
+ this.hasEllipsis = hasEllipsis;
+ setTimeout(() => {
+ this.hasEllipsisChanged.emit(this.hasEllipsis);
+ });
+ }
+ }
+
+ private prepareStyles() {
+ const lineHeight = this.lineHeight || this.getLineHeight();
+ this.stylesContainer = {
+ 'max-height': `calc(${this.lines} * ${lineHeight})`
+ };
+ this.stylesContent = {
+ 'max-height': `calc(${this.lines + 1} * ${lineHeight})`
+ };
+ this.stylesDots = {
+ 'top': `calc(${2 * this.lines} * ${lineHeight} - 100%)`
+ };
+ }
+
+ private getLineHeight() {
+ let lineHeight: number = parseFloat(window.getComputedStyle(this.elmContainer.nativeElement)['line-height']);
+ if (!lineHeight) {
+ const oneLetterElm = window.document.createElement('div');
+ oneLetterElm.innerText = '.';
+ this.elmContainer.nativeElement.append(oneLetterElm);
+ lineHeight = oneLetterElm.clientHeight;
+ this.elmContainer.nativeElement.removeChild(oneLetterElm);
+ }
+ return `${lineHeight}px`;
+ }
+
+}
diff --git a/src/angular/multiline-ellipsis/multiline-ellipsis.module.ts b/src/angular/multiline-ellipsis/multiline-ellipsis.module.ts
new file mode 100644
index 0000000..24ed7b3
--- /dev/null
+++ b/src/angular/multiline-ellipsis/multiline-ellipsis.module.ts
@@ -0,0 +1,11 @@
+import {NgModule} from '@angular/core';
+import {CommonModule} from '@angular/common';
+import {MultilineEllipsisComponent} from './multiline-ellipsis.component';
+
+@NgModule({
+ declarations: [MultilineEllipsisComponent],
+ imports: [CommonModule],
+ exports: [MultilineEllipsisComponent],
+ entryComponents: [MultilineEllipsisComponent]
+})
+export class MultilineEllipsisModule {}
diff --git a/src/angular/ng1.module.ts b/src/angular/ng1.module.ts
index 6f636f4..4aba999 100644
--- a/src/angular/ng1.module.ts
+++ b/src/angular/ng1.module.ts
@@ -1,6 +1,6 @@
-import { SdcUiComponentsModule } from './index';
import { downgradeComponent, downgradeInjectable } from "@angular/upgrade/static";
import * as Components from './components';
+import * as Services from './services';
declare const angular: any;
let SdcUiComponentsNg1Module = null;
@@ -38,7 +38,7 @@ if (typeof angular !== "undefined") {
}));
// Modals
- SdcUiComponentsNg1Module.service('SdcModalService', downgradeInjectable(Components.ModalService));
+ SdcUiComponentsNg1Module.service('SdcModalService', downgradeInjectable(Services.ModalService));
SdcUiComponentsNg1Module.directive('sdcModal', downgradeComponent({
component: Components.ModalComponent,
inputs: ['size', 'title', 'message', 'buttons', 'type'],
@@ -50,7 +50,7 @@ if (typeof angular !== "undefined") {
}));
// Notifications
- SdcUiComponentsNg1Module.service('SdcNotificationService', downgradeInjectable(Components.NotificationsService));
+ SdcUiComponentsNg1Module.service('SdcNotificationService', downgradeInjectable(Services.NotificationsService));
SdcUiComponentsNg1Module.directive('sdcNotificationContainer', downgradeComponent({
component: Components.NotificationContainerComponent
}));
@@ -130,6 +130,13 @@ if (typeof angular !== "undefined") {
inputs: ['arrow-direction', 'css-class', 'title', 'open'],
outputs: ['accordionChanged']
}));
+
+ // Multiline Ellipsis
+ SdcUiComponentsNg1Module.directive('multilineEllipsis', downgradeComponent({
+ component: Components.MultilineEllipsisComponent,
+ inputs: ['lines', 'line-height', 'className'],
+ outputs: ['hasEllipsisChanged']
+ }));
}
-export {SdcUiComponentsNg1Module};
+export { SdcUiComponentsNg1Module };
diff --git a/src/angular/notifications/container/notifcontainer.component.html.ts b/src/angular/notifications/container/notifcontainer.component.html.ts
index df08bb4..4073f47 100644
--- a/src/angular/notifications/container/notifcontainer.component.html.ts
+++ b/src/angular/notifications/container/notifcontainer.component.html.ts
@@ -1,4 +1,4 @@
-export default `
+export const template = `
<div id="containerid" class="sdc-notification-container ntns">
<sdc-notification *ngFor="let notif of notifications" [notificationSetting]="notif" (destroyComponent)="onDestroyed(notif)" >
</sdc-notification>
diff --git a/src/angular/notifications/container/notifcontainer.component.ts b/src/angular/notifications/container/notifcontainer.component.ts
index a922dc1..d2f7ad1 100644
--- a/src/angular/notifications/container/notifcontainer.component.ts
+++ b/src/angular/notifications/container/notifcontainer.component.ts
@@ -1,8 +1,7 @@
import { Component, Input, Output, EventEmitter, OnInit } from "@angular/core";
-import { CommonModule } from "@angular/common";
import { NotificationSettings } from "../utilities/notification.config";
import { NotificationsService } from "../services/notifications.service";
-import template from "./notifcontainer.component.html";
+import { template } from "./notifcontainer.component.html";
@Component({
selector: "sdc-notification-container",
@@ -14,14 +13,13 @@ export class NotificationContainerComponent implements OnInit {
constructor(private notify: NotificationsService) {
}
- public ngOnInit(){
- this.notify.subscribe( (notif : NotificationSettings) => {
+ public ngOnInit() {
+ this.notify.subscribe((notif: NotificationSettings) => {
this.notifications.push(notif);
});
}
-
- private onDestroyed = (event : any):void =>{
+ private onDestroyed = (event: any): void => {
let index: number = this.notifications.indexOf(event);
if (index !== -1) {
this.notifications.splice(index, 1);
diff --git a/src/angular/notifications/notification-inner-content-example.component.ts b/src/angular/notifications/notification-inner-content-example.component.ts
index 552f7b0..fbda881 100644
--- a/src/angular/notifications/notification-inner-content-example.component.ts
+++ b/src/angular/notifications/notification-inner-content-example.component.ts
@@ -14,8 +14,9 @@ import { Component, Input } from "@angular/core";
</div>
`
})
+
export class InnerNotifContent {
- @Input() notifyTitle:string;
- @Input() notifyText:string;
+ @Input() notifyTitle: string;
+ @Input() notifyText: string;
}
diff --git a/src/angular/notifications/notification.module.ts b/src/angular/notifications/notification.module.ts
index 5891391..4241b5d 100644
--- a/src/angular/notifications/notification.module.ts
+++ b/src/angular/notifications/notification.module.ts
@@ -4,18 +4,21 @@ import { NotificationComponent } from "./notification/notification.component";
import { NotificationContainerComponent } from "./container/notifcontainer.component";
import { NotificationsService } from "./services/notifications.service";
import { CreateDynamicComponentService } from "../utils/create-dynamic-component.service";
-
+import { InnerNotifContent } from "./notification-inner-content-example.component";
@NgModule({
declarations: [
+ InnerNotifContent,
NotificationComponent,
NotificationContainerComponent,
],
exports: [
+ InnerNotifContent,
NotificationComponent,
NotificationContainerComponent,
],
entryComponents: [
+ InnerNotifContent,
NotificationComponent,
NotificationContainerComponent,
],
diff --git a/src/angular/notifications/notification/notification.component.html.ts b/src/angular/notifications/notification/notification.component.html.ts
index 450972e..eff98c8 100644
--- a/src/angular/notifications/notification/notification.component.html.ts
+++ b/src/angular/notifications/notification/notification.component.html.ts
@@ -1,4 +1,4 @@
-export default `
+export const template = `
<div class="sdc-notification" (click)="fadeOut()">
<div class="sdc-notification__wrapper {{'type-' + notificationSetting.type}}" [class.fade-out__animated]="fade" (animationend)="destroyMe()">
<div *ngIf="!notificationSetting.hasCustomContent" class="sdc-notification__content">
diff --git a/src/angular/notifications/notification/notification.component.ts b/src/angular/notifications/notification/notification.component.ts
index 476853c..8b89467 100644
--- a/src/angular/notifications/notification/notification.component.ts
+++ b/src/angular/notifications/notification/notification.component.ts
@@ -1,7 +1,7 @@
import { Component, Input, Output, EventEmitter, OnInit, ViewContainerRef, ViewChild } from "@angular/core";
import { NotificationSettings } from "../utilities/notification.config";
import { CreateDynamicComponentService } from "../../utils/create-dynamic-component.service";
-import template from "./notification.component.html";
+import { template } from "./notification.component.html";
@Component({
selector: 'sdc-notification',
@@ -10,31 +10,31 @@ import template from "./notification.component.html";
export class NotificationComponent implements OnInit {
- @Input() notificationSetting:NotificationSettings;
+ @Input() notificationSetting: NotificationSettings;
@Output() destroyComponent = new EventEmitter<any>();
- @ViewChild("dynamicContentContainer", {read: ViewContainerRef}) contentContainer:ViewContainerRef;
- private fade: boolean = false;
+ @ViewChild("dynamicContentContainer", { read: ViewContainerRef }) contentContainer: ViewContainerRef;
+ public fade: boolean = false;
constructor(private createDynamicComponentService: CreateDynamicComponentService) {
}
public ngOnInit() {
- if(this.notificationSetting.hasCustomContent){
+ if (this.notificationSetting.hasCustomContent) {
this.createDynamicComponentService.insertComponentDynamically(this.notificationSetting.innerComponentType, this.notificationSetting.innerComponentOptions, this.contentContainer);
}
- if(!this.notificationSetting.sticky){
+ if (!this.notificationSetting.sticky) {
setTimeout(() => this.fadeOut(), this.notificationSetting.duration);
}
}
- private fadeOut = ():void => {
+ public fadeOut = (): void => {
this.fade = true;
}
- private destroyMe() {
+ public destroyMe() {
/*Only destroy on fade out, not on entry animation */
- if(this.fade){
+ if (this.fade) {
this.destroyComponent.emit(this.notificationSetting);
}
}
diff --git a/src/angular/notifications/services/notifications.service.ts b/src/angular/notifications/services/notifications.service.ts
index 28a645c..8c77e20 100644
--- a/src/angular/notifications/services/notifications.service.ts
+++ b/src/angular/notifications/services/notifications.service.ts
@@ -3,39 +3,33 @@ import { NotificationSettings } from '../utilities/notification.config'
import { Subject } from 'rxjs/Subject';
import { Subscription } from 'rxjs/Subscription';
-
@Injectable()
export class NotificationsService {
- notifs : NotificationSettings[] = [];
+ notifs: NotificationSettings[] = [];
- notifQueue : Subject<any> = new Subject<any>();
+ notifQueue: Subject<any> = new Subject<any>();
constructor() {}
- public push(notif : NotificationSettings):void{
+ public push(notif: NotificationSettings): void {
- if( this.notifQueue.observers.length > 0 ) {
+ if ( this.notifQueue.observers.length > 0 ) {
this.notifQueue.next(notif);
} else {
this.notifs.push(notif);
}
}
-
-
- public getNotifications() : NotificationSettings[] {
+ public getNotifications(): NotificationSettings[] {
return this.notifs;
}
-
-
public subscribe(observer): Subscription {
- let s:Subscription = this.notifQueue.subscribe(observer);
+ const s: Subscription = this.notifQueue.subscribe(observer);
this.notifs.forEach(notif => this.notifQueue.next(notif));
this.notifs = [];
return s;
}
-
}
diff --git a/src/angular/notifications/utilities/notification.config.ts b/src/angular/notifications/utilities/notification.config.ts
index f469b7d..d10ce02 100644
--- a/src/angular/notifications/utilities/notification.config.ts
+++ b/src/angular/notifications/utilities/notification.config.ts
@@ -1,18 +1,18 @@
import { Type, ComponentRef } from '@angular/core';
export type NotificationType =
- "info" | "warn" | "error" | "success";
+ "info" | "warning" | "error" | "success";
export class NotificationSettings {
-
+
public type: NotificationType;
public notifyText: string;
public notifyTitle: string;
public sticky: boolean;
- public hasCustomContent :boolean;
- public duration:number;
+ public hasCustomContent: boolean;
+ public duration: number;
public innerComponentType: Type<any>;
- public innerComponentOptions : any;
+ public innerComponentOptions: any;
constructor(type: NotificationType, notifyText: string, notifyTitle: string, duration: number = 10000, sticky: boolean = false, hasCustomContent:boolean = false, innerComponentType?:Type<any>, innerComponentOptions? :any) {
diff --git a/src/angular/polyfills.ts b/src/angular/polyfills.ts
new file mode 100644
index 0000000..fbd11b8
--- /dev/null
+++ b/src/angular/polyfills.ts
@@ -0,0 +1,67 @@
+/**
+ * This file includes polyfills needed by Angular and is loaded before the app.
+ * You can add your own extra polyfills to this file.
+ *
+ * This file is divided into 2 sections:
+ * 1. Browser polyfills. These are applied before loading ZoneJS and are sorted by browsers.
+ * 2. Application imports. Files imported after ZoneJS that should be loaded before your main
+ * file.
+ *
+ * The current setup is for so-called "evergreen" browsers; the last versions of browsers that
+ * automatically update themselves. This includes Safari >= 10, Chrome >= 55 (including Opera),
+ * Edge >= 13 on the desktop, and iOS 10 and Chrome on mobile.
+ *
+ * Learn more in https://angular.io/docs/ts/latest/guide/browser-support.html
+ */
+
+/***************************************************************************************************
+ * BROWSER POLYFILLS
+ */
+
+/** IE9, IE10 and IE11 requires all of the following polyfills. **/
+// import 'core-js/es6/symbol';
+// import 'core-js/es6/object';
+// import 'core-js/es6/function';
+// import 'core-js/es6/parse-int';
+// import 'core-js/es6/parse-float';
+// import 'core-js/es6/number';
+// import 'core-js/es6/math';
+// import 'core-js/es6/string';
+// import 'core-js/es6/date';
+// import 'core-js/es6/array';
+// import 'core-js/es6/regexp';
+// import 'core-js/es6/map';
+// import 'core-js/es6/weak-map';
+// import 'core-js/es6/set';
+
+/** IE10 and IE11 requires the following for NgClass support on SVG elements */
+// import 'classlist.js'; // Run `npm install --save classlist.js`.
+
+/** Evergreen browsers require these. **/
+import 'core-js/es6/reflect';
+import 'core-js/es7/reflect';
+
+/**
+ * Required to support Web Animations `@angular/animation`.
+ * Needed for: All but Chrome, Firefox and Opera. http://caniuse.com/#feat=web-animation
+ **/
+// import 'web-animations-js'; // Run `npm install --save web-animations-js`.
+
+/***************************************************************************************************
+ * Zone JS is required by Angular itself.
+ */
+import 'zone.js/dist/zone'; // Included with Angular CLI.
+
+/***************************************************************************************************
+ * APPLICATION IMPORTS
+ */
+
+/**
+ * Date, currency, decimal and percent pipes.
+ * Needed for: All but Chrome, Firefox, Edge, IE11 and Safari 10
+ */
+// import 'intl'; // Run `npm install --save intl`.
+/**
+ * Need to import at least one locale-data with intl.
+ */
+// import 'intl/locale-data/jsonp/en';
diff --git a/src/angular/popup-menu/popup-menu-item.component.spec.ts b/src/angular/popup-menu/popup-menu-item.component.spec.ts
index 25b2694..8454317 100644
--- a/src/angular/popup-menu/popup-menu-item.component.spec.ts
+++ b/src/angular/popup-menu/popup-menu-item.component.spec.ts
@@ -1,7 +1,4 @@
-import { Component, Input, Output, ContentChildren, SimpleChanges, QueryList, EventEmitter, OnChanges, AfterContentInit } from '@angular/core';
-import { FormsModule } from "@angular/forms";
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
-import { PopupMenuItemComponent } from './popup-menu-item.component';
import { PopupMenuListComponent } from './popup-menu-list.component';
describe('Popup Menu', () => {
diff --git a/src/angular/popup-menu/popup-menu.module.ts b/src/angular/popup-menu/popup-menu.module.ts
index 3a58b91..03559f2 100644
--- a/src/angular/popup-menu/popup-menu.module.ts
+++ b/src/angular/popup-menu/popup-menu.module.ts
@@ -3,7 +3,6 @@ import { PopupMenuListComponent } from "./popup-menu-list.component";
import { PopupMenuItemComponent } from "./popup-menu-item.component";
import { CommonModule } from "@angular/common";
-
@NgModule({
declarations: [
PopupMenuListComponent,
diff --git a/src/angular/searchbar/search-bar.component.html.ts b/src/angular/searchbar/search-bar.component.html.ts
index 79153f4..5d10a87 100644
--- a/src/angular/searchbar/search-bar.component.html.ts
+++ b/src/angular/searchbar/search-bar.component.html.ts
@@ -1,4 +1,4 @@
-export default `
+export const template = `
<div class="search-bar-container" [ngClass]="{'not-empty': searchQuery}">
<sdc-input class="sdc-input-wrapper"
[label]="label"
diff --git a/src/angular/searchbar/search-bar.component.ts b/src/angular/searchbar/search-bar.component.ts
index 7f508d7..42dfaeb 100644
--- a/src/angular/searchbar/search-bar.component.ts
+++ b/src/angular/searchbar/search-bar.component.ts
@@ -1,5 +1,5 @@
import { Component, Input, Output, EventEmitter, HostBinding } from '@angular/core';
-import template from "./search-bar.component.html";
+import { template } from "./search-bar.component.html";
@Component({
selector: 'sdc-search-bar',
@@ -11,9 +11,14 @@ export class SearchBarComponent {
@Input() public placeholder: string;
@Input() public label: string;
@Input() public searchQuery: string;
+ @Input() public debounceTime: number;
@Output() public searchQueryClick: EventEmitter<string> = new EventEmitter<string>();
- private searchButtonClick = (): void => {
- this.searchQueryClick.emit(this.searchQuery);
+ // constructor() {
+ // this.debounceTime = 200;
+ // }
+
+ public searchButtonClick = (): void => {
+ this.searchQueryClick.emit(this.searchQuery);
}
}
diff --git a/src/angular/services.ts b/src/angular/services.ts
new file mode 100644
index 0000000..65d5918
--- /dev/null
+++ b/src/angular/services.ts
@@ -0,0 +1,13 @@
+/*
+ Exports all the services of onap-ui-angular.
+ */
+
+// Modals
+export { ModalService } from "./modals/modal.service";
+
+// Loader
+export { LoaderService } from './loader/loader.service';
+
+// Notifications
+export { NotificationsService } from "./notifications/services/notifications.service";
+
diff --git a/src/angular/styles.css b/src/angular/styles.css
new file mode 100644
index 0000000..1d04302
--- /dev/null
+++ b/src/angular/styles.css
@@ -0,0 +1,9 @@
+/* You can add global styles to this file, and also import other style files */
+
+.green-color {
+ color: green;
+}
+
+.css-rules-warning {
+ display: none;
+}
diff --git a/src/angular/svg-icon/svg-icon-label.component.html.ts b/src/angular/svg-icon/svg-icon-label.component.html.ts
index 558b7c4..7925739 100644
--- a/src/angular/svg-icon/svg-icon-label.component.html.ts
+++ b/src/angular/svg-icon/svg-icon-label.component.html.ts
@@ -1,4 +1,4 @@
-export default `
+export const template = `
<div class="svg-icon-wrapper" [ngClass]="[(mode) ? 'mode-'+mode : '', (size) ? 'size-'+size : '', (labelPlacement) ? 'label-placement-'+labelPlacement : '', (clickable) ? 'clickable' : '', className || '']" [attr.disabled]="disabled || undefined">
<svg-icon [name]="name" className="svg-icon"></svg-icon>
<span class="svg-icon-label" [ngClass]="[labelClassName || '']">{{ label }}</span>
diff --git a/src/angular/svg-icon/svg-icon-label.component.ts b/src/angular/svg-icon/svg-icon-label.component.ts
index 5a00c3d..c4cdae1 100644
--- a/src/angular/svg-icon/svg-icon-label.component.ts
+++ b/src/angular/svg-icon/svg-icon-label.component.ts
@@ -1,8 +1,8 @@
import { Component, Input } from "@angular/core";
import { SvgIconComponent } from './svg-icon.component';
-import { Mode, Size, Placement } from "../common/enums";
+import { Placement } from "../common/enums";
import { DomSanitizer, SafeHtml } from "@angular/platform-browser";
-import template from './svg-icon-label.component.html';
+import { template } from './svg-icon-label.component.html';
@Component({
selector: 'svg-icon-label',
diff --git a/src/angular/svg-icon/svg-icon.component.html.ts b/src/angular/svg-icon/svg-icon.component.html.ts
index 1baedbd..a991ed3 100644
--- a/src/angular/svg-icon/svg-icon.component.html.ts
+++ b/src/angular/svg-icon/svg-icon.component.html.ts
@@ -1,3 +1,3 @@
-export default `
+export const template = `
<div [ngClass]="classes" [attr.disabled]="disabled || undefined" [innerHtml]="svgIconContentSafeHtml"></div>
`;
diff --git a/src/angular/svg-icon/svg-icon.component.ts b/src/angular/svg-icon/svg-icon.component.ts
index d53981d..f41b206 100644
--- a/src/angular/svg-icon/svg-icon.component.ts
+++ b/src/angular/svg-icon/svg-icon.component.ts
@@ -1,8 +1,8 @@
import { Component, Input, OnChanges, SimpleChanges, HostBinding } from "@angular/core";
import { DomSanitizer, SafeHtml } from "@angular/platform-browser";
-import { Mode, Size } from "../common/enums";
-import iconsMap from '../../common/icons-map';
-import template from './svg-icon.component.html';
+import { Mode, Size, BackgroundShape, BackgroundColor } from "../common/enums";
+import { iconsMap } from 'onap-ui-common';
+import { template } from './svg-icon.component.html';
@Component({
selector: 'svg-icon',
@@ -16,35 +16,37 @@ import template from './svg-icon.component.html';
export class SvgIconComponent implements OnChanges {
@Input() public name: string;
+ @Input() public category: string;
@Input() public mode: Mode;
@Input() public size: Size;
+ @Input() public backgroundShape: BackgroundShape;
+ @Input() public backgroundColor: BackgroundColor;
@Input() public disabled: boolean;
@Input() public clickable: boolean;
@Input() public className: any;
-
+
public svgIconContent: string;
public svgIconContentSafeHtml: SafeHtml;
public svgIconCustomClassName: string;
- private classes: string;
+ public classes: string;
constructor(protected domSanitizer: DomSanitizer) {
this.size = Size.medium;
this.disabled = false;
+ this.category = this.category || "common";
}
- static get Icons(): {[key: string]: string} {
+ static Icons(): { [key: string]: string } {
return iconsMap;
}
public ngOnChanges(changes: SimpleChanges) {
- if (changes.name) {
- this.updateSvgIconByName();
- this.buildClasses();
- }
+ this.updateSvgIconByName();
+ this.buildClasses();
}
protected updateSvgIconByName() {
- this.svgIconContent = SvgIconComponent.Icons[this.name] || null;
+ this.svgIconContent = iconsMap[this.category][this.name] || null;
if (this.svgIconContent) {
this.svgIconContentSafeHtml = this.domSanitizer.bypassSecurityTrustHtml(this.svgIconContent);
this.svgIconCustomClassName = '__' + this.name.replace(/\s+/g, '_');
@@ -55,22 +57,17 @@ export class SvgIconComponent implements OnChanges {
}
private buildClasses = (): void => {
- const _classes = [];
- _classes.push('svg-icon');
- if (this.mode) {
- _classes.push('mode-' + this.mode);
- }
- if (this.size) {
- _classes.push('size-' + this.size);
- }
- if (this.clickable) {
- _classes.push('clickable');
- }
- if (this.svgIconCustomClassName) {
- _classes.push(this.svgIconCustomClassName);
- }
- if (this.className) {
- _classes.push(this.className);
+ const _classes = ['svg-icon'];
+ if (this.mode) { _classes.push('mode-' + this.mode); }
+ if (this.size) { _classes.push('size-' + this.size); }
+ if (this.clickable) { _classes.push('clickable'); }
+ if (this.svgIconCustomClassName) { _classes.push(this.svgIconCustomClassName); }
+ if (this.className) { _classes.push(this.className); }
+ if (this.backgroundShape) { _classes.push('bg-type-' + this.backgroundShape); }
+ if (this.backgroundShape && this.backgroundColor) {
+ _classes.push('bg-color-' + this.backgroundColor);
+ } else if (this.backgroundShape && !this.backgroundColor) {
+ _classes.push('bg-color-primary');
}
this.classes = _classes.join(" ");
}
diff --git a/src/angular/tabs/children/tab.component.html.ts b/src/angular/tabs/children/tab.component.html.ts
index 36ff413..cff7a8c 100644
--- a/src/angular/tabs/children/tab.component.html.ts
+++ b/src/angular/tabs/children/tab.component.html.ts
@@ -1,4 +1,4 @@
-export default `
+export const template = `
<div [hidden]="!active" class="sdc-tab-content" role="tabpanel">
<ng-content></ng-content>
</div>
diff --git a/src/angular/tabs/children/tab.component.ts b/src/angular/tabs/children/tab.component.ts
index 3b96e87..a289aab 100644
--- a/src/angular/tabs/children/tab.component.ts
+++ b/src/angular/tabs/children/tab.component.ts
@@ -1,6 +1,6 @@
import { Component, Input } from '@angular/core';
import { Mode } from './../../common/enums';
-import template from "./tab.component.html";
+import { template } from "./tab.component.html";
@Component({
selector: 'sdc-tab',
diff --git a/src/angular/tabs/tabs.component.html.ts b/src/angular/tabs/tabs.component.html.ts
index 2333b86..ac82dd6 100644
--- a/src/angular/tabs/tabs.component.html.ts
+++ b/src/angular/tabs/tabs.component.html.ts
@@ -1,4 +1,4 @@
-export default `
+export const template = `
<ul class="sdc-tabs-list" role="tablist">
<li *ngFor="let tab of tabs" class="sdc-tab" role="tab" (click)="selectTab(tab)" [class.sdc-tab-active]="tab.active">
<span *ngIf="tab.title">{{tab.title}}</span>
diff --git a/src/angular/tabs/tabs.component.ts b/src/angular/tabs/tabs.component.ts
index 595f304..c3b6507 100644
--- a/src/angular/tabs/tabs.component.ts
+++ b/src/angular/tabs/tabs.component.ts
@@ -1,8 +1,7 @@
-import { Component, Input, AfterContentInit, ContentChildren, QueryList, HostBinding } from '@angular/core';
+import { Component, Input, AfterContentInit, ContentChildren, QueryList, HostBinding, EventEmitter, Output } from '@angular/core';
import { TabComponent } from './children/tab.component';
-import { SvgIconComponent } from "./../../../src/angular/svg-icon/svg-icon.component";
-import { Mode, Placement, Size } from './../common/enums';
-import template from "./tabs.component.html";
+import { Mode, Size } from './../common/enums';
+import { template } from "./tabs.component.html";
@Component({
selector: 'sdc-tabs',
@@ -12,20 +11,22 @@ import template from "./tabs.component.html";
export class TabsComponent implements AfterContentInit {
@HostBinding('class') classes = 'sdc-tabs sdc-tabs-header';
- @ContentChildren(TabComponent) private tabs: QueryList<TabComponent>;
+ @ContentChildren(TabComponent) public tabs: QueryList<TabComponent>;
+ @Output() public selectedTab: EventEmitter<TabComponent> = new EventEmitter<TabComponent>();
public _size = Size.medium;
public selectTab(tab: TabComponent) {
- // deactivate all tabs
- this.tabs.toArray().forEach((_tab: TabComponent) => {
- _tab.active = false;
- _tab.titleIconMode = Mode.secondary;
- });
-
- // activate the tab the user has clicked on.
- tab.active = true;
- tab.titleIconMode = Mode.primary;
+ this.selectedTab.emit(tab);
+ // deactivate all tabs
+ this.tabs.toArray().forEach((_tab: TabComponent) => {
+ _tab.active = false;
+ _tab.titleIconMode = Mode.secondary;
+ });
+
+ // activate the tab the user has clicked on.
+ tab.active = true;
+ tab.titleIconMode = Mode.primary;
}
public ngAfterContentInit() {
@@ -38,4 +39,4 @@ export class TabsComponent implements AfterContentInit {
}
}
- }
+}
diff --git a/src/angular/tabs/tabs.module.ts b/src/angular/tabs/tabs.module.ts
index 107942d..6b42c0e 100644
--- a/src/angular/tabs/tabs.module.ts
+++ b/src/angular/tabs/tabs.module.ts
@@ -1,6 +1,5 @@
import { NgModule } from "@angular/core";
import { CommonModule } from "@angular/common";
-import { FormElementsModule } from "../form-elements/form-elements.module";
import { TabsComponent } from "./tabs.component";
import { TabComponent } from './children/tab.component';
import { SvgIconModule } from './../svg-icon/svg-icon.module';
diff --git a/src/angular/tag-cloud/tag-cloud.component.html.ts b/src/angular/tag-cloud/tag-cloud.component.html.ts
index 2ff4e8a..f3439e6 100644
--- a/src/angular/tag-cloud/tag-cloud.component.html.ts
+++ b/src/angular/tag-cloud/tag-cloud.component.html.ts
@@ -1,4 +1,4 @@
-export default `
+export const template = `
<div class="sdc-tag-cloud-new-item-field" [ngClass]="{'not-empty': newTagItem}">
<sdc-input [label]="label"
[disabled]="(isViewOnly===true)"
diff --git a/src/angular/tag-cloud/tag-cloud.component.ts b/src/angular/tag-cloud/tag-cloud.component.ts
index 1635b8d..b7a2fec 100644
--- a/src/angular/tag-cloud/tag-cloud.component.ts
+++ b/src/angular/tag-cloud/tag-cloud.component.ts
@@ -1,5 +1,5 @@
import { Component, EventEmitter, Input, Output } from "@angular/core";
-import template from "./tag-cloud.component.html";
+import { template } from "./tag-cloud.component.html";
@Component({
selector: 'sdc-tag-cloud',
@@ -7,22 +7,22 @@ import template from "./tag-cloud.component.html";
})
export class TagCloudComponent {
@Input() public list: string[];
- @Input() public isViewOnly: boolean|number[]; // get a boolean parameter or array of specific items indexes.
+ @Input() public isViewOnly: boolean | number[]; // get a boolean parameter or array of specific items indexes.
@Input() public isUniqueList: boolean;
@Input() public uniqueErrorMessage: string = "Unique error";
@Input() public label: string;
@Input() public placeholder: string;
@Output() public listChanged: EventEmitter<string[]> = new EventEmitter<string[]>();
- private newTagItem: string;
- private uniqueError: boolean;
+ public newTagItem: string;
+ public uniqueError: boolean;
- private onKeyup = (e): void => {
+ public onKeyup = (e): void => {
if (e.keyCode === 13) {
this.insertItemToList();
}
}
- private insertItemToList = (): void => {
+ public insertItemToList = (): void => {
this.validateTag();
if (!this.uniqueError && this.newTagItem.length) {
this.list.push(this.newTagItem);
diff --git a/src/angular/tag-cloud/tag-item/tag-item.component.html.ts b/src/angular/tag-cloud/tag-item/tag-item.component.html.ts
index 04112c1..db0e115 100644
--- a/src/angular/tag-cloud/tag-item/tag-item.component.html.ts
+++ b/src/angular/tag-cloud/tag-item/tag-item.component.html.ts
@@ -1,4 +1,4 @@
-export default `
+export const template = `
<div class="tag-item" [ngClass]="{'view-only':isViewOnly}">
<span>{{text}}</span>
<span class="delete-item" *ngIf="!isViewOnly" (click)="clickOnDelete.emit(index)">
diff --git a/src/angular/tag-cloud/tag-item/tag-item.component.ts b/src/angular/tag-cloud/tag-item/tag-item.component.ts
index f2e2fa7..7da8f36 100644
--- a/src/angular/tag-cloud/tag-item/tag-item.component.ts
+++ b/src/angular/tag-cloud/tag-item/tag-item.component.ts
@@ -1,5 +1,5 @@
import { Component, EventEmitter, Input, Output, HostBinding } from "@angular/core";
-import template from "./tag-item.component.html";
+import { template } from "./tag-item.component.html";
@Component({
selector: 'sdc-tag-item',
diff --git a/src/angular/test.ts b/src/angular/test.ts
new file mode 100644
index 0000000..fe4ee8c
--- /dev/null
+++ b/src/angular/test.ts
@@ -0,0 +1,29 @@
+// This file is required by karma.conf.js and loads recursively all the .spec and framework files
+
+import 'zone.js/dist/long-stack-trace-zone';
+import 'zone.js/dist/proxy.js';
+import 'zone.js/dist/sync-test';
+import 'zone.js/dist/jasmine-patch';
+import 'zone.js/dist/async-test';
+import 'zone.js/dist/fake-async-test';
+import { getTestBed } from '@angular/core/testing';
+import {
+ BrowserDynamicTestingModule,
+ platformBrowserDynamicTesting,
+} from '@angular/platform-browser-dynamic/testing';
+
+// Unfortunately there's no typing for the `__karma__` variable. Just declare it as any.
+declare const __karma__: any;
+declare const require: any;
+
+// Prevent Karma from running prematurely.
+__karma__.loaded = function() {};
+
+// First, initialize the Angular testing environment.
+getTestBed().initTestEnvironment(BrowserDynamicTestingModule, platformBrowserDynamicTesting());
+// Then we find all the tests.
+const context = require.context('./', true, /\.spec\.ts$/);
+// And load the modules.
+context.keys().map(context);
+// Finally, start Karma to run the tests.
+__karma__.start();
diff --git a/src/angular/tiles/tile.component.html.ts b/src/angular/tiles/tile.component.html.ts
index 81803d5..2e96b42 100644
--- a/src/angular/tiles/tile.component.html.ts
+++ b/src/angular/tiles/tile.component.html.ts
@@ -1,4 +1,4 @@
-export default `
+export const template = `
<ng-content select="sdc-tile-header"></ng-content>
<ng-content select="sdc-tile-content"></ng-content>
<ng-content select="sdc-tile-footer"></ng-content>
diff --git a/src/angular/tiles/tile.component.ts b/src/angular/tiles/tile.component.ts
index 3791ca0..6379294 100644
--- a/src/angular/tiles/tile.component.ts
+++ b/src/angular/tiles/tile.component.ts
@@ -1,5 +1,5 @@
import { Component, HostBinding } from '@angular/core';
-import template from "./tile.component.html";
+import { template } from "./tile.component.html";
@Component({
selector: "sdc-tile",
diff --git a/src/angular/tooltip/tooltip.directive.ts b/src/angular/tooltip/tooltip.directive.ts
index 77cec62..5489657 100644
--- a/src/angular/tooltip/tooltip.directive.ts
+++ b/src/angular/tooltip/tooltip.directive.ts
@@ -192,7 +192,7 @@ export class TooltipDirective implements OnInit {
* @returns {IPlacementData}
*/
private getPlacement(placement: TooltipPlacement,
- ...additionalPlacements: TooltipPlacement[],
+ ...additionalPlacements: TooltipPlacement[]
): IPlacementData {
const placements: TooltipPlacement[] = [placement, ...additionalPlacements];
const filterPlacements = placements
diff --git a/src/angular/tooltip/tooltip.module.ts b/src/angular/tooltip/tooltip.module.ts
index a4ad86d..8911008 100644
--- a/src/angular/tooltip/tooltip.module.ts
+++ b/src/angular/tooltip/tooltip.module.ts
@@ -1,6 +1,7 @@
import { NgModule } from '@angular/core';
import { TooltipDirective } from './tooltip.directive';
import { TooltipTemplateComponent } from './tooltip-template.component';
+import { CreateDynamicComponentService } from '../utils/create-dynamic-component.service';
@NgModule({
declarations: [
@@ -12,6 +13,7 @@ import { TooltipTemplateComponent } from './tooltip-template.component';
exports: [
TooltipDirective
],
+ providers: [CreateDynamicComponentService]
})
export class TooltipModule {
}
diff --git a/src/angular/tsconfig.app.json b/src/angular/tsconfig.app.json
new file mode 100644
index 0000000..dafdb9b
--- /dev/null
+++ b/src/angular/tsconfig.app.json
@@ -0,0 +1,15 @@
+{
+ "extends": "../../tsconfig.json",
+ "compilerOptions": {
+ "outDir": "../../out-tsc/app",
+ "baseUrl": "./",
+ "module": "es2015",
+ "types": [
+ "node"
+ ]
+ },
+ "exclude": [
+ "test.ts",
+ "**/*.spec.ts"
+ ]
+}
diff --git a/src/angular/tsconfig.spec.json b/src/angular/tsconfig.spec.json
new file mode 100644
index 0000000..c5d30ee
--- /dev/null
+++ b/src/angular/tsconfig.spec.json
@@ -0,0 +1,20 @@
+{
+ "extends": "../../tsconfig.json",
+ "compilerOptions": {
+ "outDir": "../../out-tsc/spec",
+ "baseUrl": "./",
+ "module": "commonjs",
+ "target": "es5",
+ "types": [
+ "jasmine",
+ "node"
+ ]
+ },
+ "files": [
+ "test.ts"
+ ],
+ "include": [
+ "**/*.spec.ts",
+ "**/*.d.ts"
+ ]
+}
diff --git a/src/angular/typings.d.ts b/src/angular/typings.d.ts
new file mode 100644
index 0000000..b58fa33
--- /dev/null
+++ b/src/angular/typings.d.ts
@@ -0,0 +1,10 @@
+/* SystemJS module definition */
+declare var module: NodeModule;
+interface NodeModule {
+ id: string;
+}
+
+declare module '*.json' {
+ const value: any;
+ export default value;
+}
diff --git a/src/angular/utils/create-dynamic-component.service.ts b/src/angular/utils/create-dynamic-component.service.ts
index 428dd73..506f787 100644
--- a/src/angular/utils/create-dynamic-component.service.ts
+++ b/src/angular/utils/create-dynamic-component.service.ts
@@ -17,8 +17,7 @@ export class CreateDynamicComponentService {
* @memberOf InjectionService
*/
private getRootViewContainer(): ComponentRef<any> {
- const rootComponents = this.applicationRef['_rootComponents']; // Angular2
- // const rootComponents = this.applicationRef['components']; // Angular5
+ const rootComponents = this.applicationRef['components'];
if (rootComponents.length) {
return rootComponents[0];
}
diff --git a/src/style/scss/angular/_svg_icon.scss b/src/assets/styles/_svg_icon.scss
index 16be14b..b13e7f6 100644
--- a/src/style/scss/angular/_svg_icon.scss
+++ b/src/assets/styles/_svg_icon.scss
@@ -68,6 +68,11 @@
@include color-icon-hover($dark-blue);
}
+ &.mode-white {
+ @include color-icon($white);
+ @include color-icon-hover($light-gray);
+ }
+
&.size-x_small {
width: 12px;
height: 12px;
@@ -92,6 +97,39 @@
width: 48px;
height: 48px;
}
+
+ &.bg-type-circle {
+ border-radius: 50%;
+ padding: 6px;
+ }
+
+ &.bg-type-rectangle {
+ padding: 6px;
+ }
+
+ &.bg-color-primary {
+ background-color: $purple;
+ }
+
+ &.bg-color-secondary {
+ background-color: $light-blue;
+ }
+
+ &.bg-color-success {
+ background-color: $green;
+ }
+
+ &.bg-color-error {
+ background-color: $red;
+ }
+
+ &.bg-color-warning {
+ background-color: $yellow;
+ }
+
+ &.bg-color-info {
+ background-color: $blue;
+ }
}
.svg-icon-wrapper {
diff --git a/src/style/scss/angular/_tooltip_custom_style.scss b/src/assets/styles/_tooltip_custom_style.scss
index 886b1dc..886b1dc 100644
--- a/src/style/scss/angular/_tooltip_custom_style.scss
+++ b/src/assets/styles/_tooltip_custom_style.scss
diff --git a/src/assets/styles/style.scss b/src/assets/styles/style.scss
new file mode 100644
index 0000000..3291bce
--- /dev/null
+++ b/src/assets/styles/style.scss
@@ -0,0 +1,5 @@
+@import 'node_modules/onap-ui-common/lib/style';
+@import 'node_modules/onap-ui-common/lib/scss/variables.scss';
+@import 'node_modules/onap-ui-common/lib/scss/mixins.scss';
+@import 'svg_icon.scss';
+@import 'tooltip_custom_style.scss';
diff --git a/src/environments/environment.prod.ts b/src/environments/environment.prod.ts
new file mode 100644
index 0000000..5d08331
--- /dev/null
+++ b/src/environments/environment.prod.ts
@@ -0,0 +1,3 @@
+export const environment = {
+ production: true
+};
diff --git a/src/environments/environment.ts b/src/environments/environment.ts
new file mode 100644
index 0000000..1550c85
--- /dev/null
+++ b/src/environments/environment.ts
@@ -0,0 +1,7 @@
+// The file contents for the current environment will overwrite these during build.
+// The build system defaults to the dev environment which uses `environment.ts`, but if you do
+// `ng build --env=prod` then `environment.prod.ts` will be used instead.
+// The list of which env maps to which file can be found in `angular-cli.json`.
+export const environment = {
+ production: false
+};
diff --git a/src/react/Accordion.js b/src/react/Accordion.js
deleted file mode 100644
index 3acdd24..0000000
--- a/src/react/Accordion.js
+++ /dev/null
@@ -1,40 +0,0 @@
-import React from 'react';
-import PropTypes from 'prop-types';
-import SVGIcon from './SVGIcon.js';
-
-class Accordion extends React.Component {
- constructor(props) {
- super(props);
- this.state = {
- open: props.defaultExpanded
- };
- }
- render() {
- const { children, title, className, dataTestId } = this.props;
- const { open } = this.state;
- return (
- <div className={`sdc-accordion ${className}`}>
- <div data-test-id={dataTestId} onClick={() => this.setState({ open: !open })} className='sdc-accordion-header'>
- <SVGIcon name='chevronDown' iconClassName={open ? 'down' : ''} />
- <div className='title'>{title}</div>
- </div>
- <div className={`sdc-accordion-body ${open ? 'open' : ''}`}>{children}</div>
- </div>
- );
- }
-}
-
-Accordion.propTypes = {
- title: PropTypes.string,
- children: PropTypes.node,
- expandByDefault: PropTypes.bool,
- dataTestId: PropTypes.string
-};
-
-Accordion.defaultProps = {
- title: '',
- className: '',
- defaultExpanded: false
-};
-
-export default Accordion;
diff --git a/src/react/Button.js b/src/react/Button.js
deleted file mode 100644
index c628455..0000000
--- a/src/react/Button.js
+++ /dev/null
@@ -1,37 +0,0 @@
-import React from 'react';
-import PropTypes from 'prop-types';
-import SVGIcon from './SVGIcon.js';
-
-const Button = ({btnType, size, className, iconName, onClick, disabled, children, ...other}) => (
- <button
- onClick={onClick}
- className={`sdc-button sdc-button__${btnType} ${size && `btn-${size}`} ${className} ${iconName}`}
- disabled={disabled}
- {...other}>
- {
- iconName ?
- <SVGIcon name={iconName} label={children} labelPosition='right' />
- :
- children
- }
- </button>
-);
-
-Button.propTypes = {
- btnType: PropTypes.string,
- size: PropTypes.oneOf(['', 'default', 'x-small', 'small', 'medium', 'large']),
- className: PropTypes.string,
- iconName: PropTypes.string,
- onClick: PropTypes.func,
- disabled: PropTypes.bool
-};
-
-Button.defaultProps = {
- btnType: 'primary',
- size: '',
- className: '',
- iconName: '',
- disabled: false
-};
-
-export default Button;
diff --git a/src/react/Checkbox.js b/src/react/Checkbox.js
deleted file mode 100644
index bef6945..0000000
--- a/src/react/Checkbox.js
+++ /dev/null
@@ -1,45 +0,0 @@
-import React from 'react';
-
-class Checkbox extends React.Component {
-
- render() {
- let {checked = false, disabled, value, label, inputRef, className, name} = this.props;
- let dataTestId = this.props['data-test-id'];
-
- return (
- <div className={`sdc-checkbox ${className || ''}`}>
- <label>
- <input
- className='sdc-checkbox__input'
- ref={inputRef}
- data-test-id={dataTestId}
- type='checkbox'
- checked={checked}
- name={name}
- value={value}
- onChange={(e) => this.onChange(e)}
- disabled={disabled} />
- <span className='sdc-checkbox__label'>{label}</span>
- </label>
- </div>
- );
- }
-
- onChange(e) {
- let {onChange} = this.props;
- if (onChange) {
- onChange(e.target.checked);
- }
- }
-
- getChecked() {
- return this.props.checked;
- }
-
- getValue() {
- return this.props.value;
- }
-
-}
-
-export default Checkbox;
diff --git a/src/react/Checklist.js b/src/react/Checklist.js
deleted file mode 100644
index 1a42aee..0000000
--- a/src/react/Checklist.js
+++ /dev/null
@@ -1,43 +0,0 @@
-import React from 'react';
-import PropTypes from 'prop-types';
-import Checkbox from './Checkbox.js';
-
-const Checklist = ({ items = [], className, onChange }) => (
- <div className={className}>
- {items.map((item, index) => {
- return (
- <div key={`checkbox-item-${index}`} className='checkbox-item'>
- <Checkbox
- key={`${item.label}${index}`}
- label={item.label}
- value={item.value}
- checked={item.checked}
- disabled={item.disabled}
- onChange={value => {
- let obj = {};
- obj[item.value] = value;
- onChange(obj);
- }}
- data-test-id={item.dataTestId}
- />
- </div>
- );
- })}
- </div>
-);
-
-Checklist.propTypes = {
- items: PropTypes.arrayOf(
- PropTypes.shape({
- label: PropTypes.string,
- value: PropTypes.string,
- checked: PropTypes.bool,
- disabled: PropTypes.bool,
- dataTestId: PropTypes.string
- })
- ),
- className: PropTypes.string,
- onChange: PropTypes.func
-};
-
-export default Checklist; \ No newline at end of file
diff --git a/src/react/Input.js b/src/react/Input.js
deleted file mode 100644
index 5760637..0000000
--- a/src/react/Input.js
+++ /dev/null
@@ -1,88 +0,0 @@
-import React from 'react';
-import PropTypes from 'prop-types';
-import SVGIcon from './SVGIcon.js';
-
-class Input extends React.Component {
-
- render() {
- let {className, disabled, errorMessage, readOnly, label, name, value, type, placeholder, isRequired} = this.props;
- let dataTestId = this.props['data-test-id'];
- let inputClasses = `sdc-input__input ${errorMessage ? 'error' : ''} ${readOnly ? 'view-only' : ''}`;
- let labelClasses = `sdc-input__label ${readOnly ? 'view-only' : ''} ${isRequired ? 'required' : ''}`;
-
- return (
- <div className={`sdc-input ${className || ''}`}>
-
- <label className={labelClasses} htmlFor={name}>{label}</label>
- <input className={inputClasses}
- disabled={disabled}
- readOnly={readOnly}
- type={type}
- id={name}
- name={name}
- value={this.props.value}
- placeholder={placeholder}
- data-test-id={dataTestId}
- onBlur={(e) => this.onBlur(e)}
- onKeyDown={(e) => this.onKeyDown(e)}
- onChange={(e) => this.onChange(e)}/>
- { errorMessage && <div className="sdc-label__error">
- <SVGIcon
- label={errorMessage}
- labelPosition='right'
- color='negative'
- name='exclamationTriangleFull' />
- </div>}
- </div>
- );
- }
-
- onChange(e) {
- let {onChange, readOnly, disabled} = this.props;
- if (onChange && !readOnly && !disabled) {
- onChange(e.target.value);
- }
- }
-
- onBlur(e) {
- let {onBlur, readOnly} = this.props;
- if (!readOnly && onBlur) {
- onBlur(e);
- }
- }
-
- onKeyDown(e) {
- let {onKeyDown, readOnly} = this.props;
- if (!readOnly && onKeyDown) {
- onKeyDown(e);
- }
- }
-
- getValue() {
- return this.props.value;
- }
-
-}
-Input.propTypes = {
- name: PropTypes.string,
- value: PropTypes.string,
- type: PropTypes.oneOf(['text', 'number']),
- placeholder : PropTypes.string,
- onChange: PropTypes.func,
- onBlur: PropTypes.func,
- onKeyDown: PropTypes.func,
- errorMessage: PropTypes.string,
- readOnly: PropTypes.bool,
- isRequired: PropTypes.bool,
- disabled: PropTypes.bool,
- label: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),
- className: PropTypes.string
-};
-
-Input.defaultProps = {
- type: 'text',
- readOnly: false,
- isRequired: false,
- disabled: false
-};
-export default Input;
diff --git a/src/react/Modal.js b/src/react/Modal.js
deleted file mode 100644
index ab2f7d7..0000000
--- a/src/react/Modal.js
+++ /dev/null
@@ -1,55 +0,0 @@
-import React from 'react';
-import PropTypes from 'prop-types';
-
-import Portal from './Portal.js';
-import Body from './ModalBody.js';
-import Header from './ModalHeader.js';
-import Footer from './ModalFooter.js';
-import Title from './ModalTitle.js';
-
-export const modalSize = {
- medium: 'md',
- large: 'l',
- extraLarge: 'xl',
- small: 'sm',
- extraSmall: 'xsm'
-};
-
-
-class Modal extends React.Component {
-
- render() {
- const {size, type, children, show} = this.props;
- return (
- <Portal>
- <div ref={el => { this.modalRef = el;}}>
- {show && <div className={`sdc-modal ${modalSize[size]}`}>
- <div className={`sdc-modal__wrapper sdc-modal-type-${type}`}>
- {children}
- </div>
- </div>}
- {show && <div className='modal-background' />}
- </div>
- </Portal>
- );
- }
-}
-
-Modal.defaultProps = {
- show: false,
- size: 'medium',
- type: 'info'
-};
-
-Modal.propTypes = {
- show: PropTypes.bool,
- size: PropTypes.string,
- children: PropTypes.node,
- type: PropTypes.string
-};
-
-Modal.Body = Body;
-Modal.Header = Header;
-Modal.Footer = Footer;
-Modal.Title = Title;
-export default Modal; \ No newline at end of file
diff --git a/src/react/ModalBody.js b/src/react/ModalBody.js
deleted file mode 100644
index 4fae0f6..0000000
--- a/src/react/ModalBody.js
+++ /dev/null
@@ -1,19 +0,0 @@
-import React from 'react';
-import PropTypes from 'prop-types';
-
-const ModalBody = ({children, className}) => (
- <div className={`sdc-modal__content ${className}`} >
- {children}
- </div>
-);
-
-ModalBody.propTypes = {
- children: PropTypes.node,
- className: PropTypes.string
-};
-
-ModalBody.defaultProps = {
- className: ''
-};
-
-export default ModalBody; \ No newline at end of file
diff --git a/src/react/ModalFooter.js b/src/react/ModalFooter.js
deleted file mode 100644
index 607895d..0000000
--- a/src/react/ModalFooter.js
+++ /dev/null
@@ -1,36 +0,0 @@
-import React from 'react';
-import PropTypes from 'prop-types';
-import Button from './Button.js';
-
-const Footer = ({onClose, closeButtonText, actionButtonText, actionButtonClick, withButtons, children}) => {
- const closeBtnType = actionButtonClick ? 'secondary' : 'primary';
- return (
- <div className='sdc-modal__footer'>
- {children}
- {
- withButtons && <div>
- {actionButtonClick &&
- <Button onClick={actionButtonClick}>{actionButtonText}</Button>
- }
- <Button btnType={closeBtnType} onClick={onClose}>{closeButtonText}</Button>
- </div>
- }
- </div>
- );
-};
-
-Footer.propTypes = {
- onClose: PropTypes.func,
- closeButtonText: PropTypes.string,
- actionButtonText: PropTypes.string,
- actionButtonClick: PropTypes.func,
- withButtons: PropTypes.bool,
- children: PropTypes.node
-};
-
-Footer.defaultProps = {
- closeButtonText: 'Close',
- withButtons: true
-};
-
-export default Footer; \ No newline at end of file
diff --git a/src/react/ModalHeader.js b/src/react/ModalHeader.js
deleted file mode 100644
index c6be5ef..0000000
--- a/src/react/ModalHeader.js
+++ /dev/null
@@ -1,41 +0,0 @@
-import React from 'react';
-import PropTypes from 'prop-types';
-import SVGIcon from './SVGIcon.js';
-
-const iconMaper = {
- error: 'error',
- info: 'errorCircle',
- alert: 'exclamationTriangleLine'
-};
-
-const headerTypes = {
- error: 'sdc-error__header',
- info: 'sdc-info__header',
- alert: 'sdc-alert__header',
- custom: 'sdc-custom__header'
-}
-
-
-
-const Header = ({children, onClose, type}) => (
- <div className={ headerTypes[type] + ' sdc-modal__header'} >
- {type !== 'custom'
- &&
- <SVGIcon iconClassName='sdc-modal__icon' className='sdc-modal__svg-use' name={iconMaper[type]}/>
-
- }
- {children}
- <SVGIcon iconClassName ='sdc-modal__close-button-svg' className='sdc-modal__close-button' onClick={onClose} name='close'/>
- </div>
-);
-
-Header.propTypes = {
- children: PropTypes.node,
- onClose: PropTypes.func
-};
-
-Header.defaultProps = {
- type: 'info'
-};
-
-export default Header; \ No newline at end of file
diff --git a/src/react/ModalTitle.js b/src/react/ModalTitle.js
deleted file mode 100644
index b48cc8a..0000000
--- a/src/react/ModalTitle.js
+++ /dev/null
@@ -1,19 +0,0 @@
-import React from 'react';
-import PropTypes from 'prop-types';
-
-const Title = ({children, className}) => (
- <div className={`title ${className}`} >
- {children}
- </div>
-);
-
-Title.PropTypes = {
- children: PropTypes.node,
- className: PropTypes.string
-};
-
-Title.defaultProps = {
- className: ''
-};
-
-export default Title; \ No newline at end of file
diff --git a/src/react/Panel.js b/src/react/Panel.js
deleted file mode 100644
index 34d2e62..0000000
--- a/src/react/Panel.js
+++ /dev/null
@@ -1,18 +0,0 @@
-import React from 'react';
-import PropTypes from 'prop-types';
-
-const Panel = ({ className, children }) => (
- <div className={`sdc-panel ${className}`}>
- {children}
- </div>
-);
-
-Panel.propTypes = {
- className: PropTypes.string,
- children: PropTypes.node
-};
-
-Panel.defaultProps = {
- className: ''
-};
-export default Panel; \ No newline at end of file
diff --git a/src/react/PopupMenu.js b/src/react/PopupMenu.js
deleted file mode 100644
index d2cd29a..0000000
--- a/src/react/PopupMenu.js
+++ /dev/null
@@ -1,39 +0,0 @@
-import React from 'react';
-import PropTypes from 'prop-types';
-import PopupMenuItem from './PopupMenuItem';
-
-class PopupMenu extends React.Component {
- render() {
- const {children = [], onMenuItemClick, position = {}, relative} = this.props;
- const style = relative ? {left: position.x, top: position.y} : {};
-
- return (
- <ul className={`sdc-menu-list ${relative ? 'relative' : ''}`} style={style}>
- {React.Children.toArray(children).map((child, i) => React.cloneElement(child,
- {
- onClick: child.props.onClick || onMenuItemClick,
- key: i
- }))}
- </ul>
- );
- }
-}
-
-PopupMenu.propTypes = {
- relative: PropTypes.bool,
- position: PropTypes.shape({
- x: PropTypes.number,
- y: PropTypes.number
- }),
- onMenuItemClick: PropTypes.func
-};
-
-PopupMenu.defaultProps = {
- relative: false
-};
-
-export const PopupMenuSeparator = () => <li className='separator' />;
-
-PopupMenu.Separator = PopupMenuSeparator;
-PopupMenu.Item = PopupMenuItem;
-export default PopupMenu;
diff --git a/src/react/PopupMenuItem.js b/src/react/PopupMenuItem.js
deleted file mode 100644
index 98e3f49..0000000
--- a/src/react/PopupMenuItem.js
+++ /dev/null
@@ -1,34 +0,0 @@
-import React from 'react';
-import PropTypes from 'prop-types';
-
-class PopupMenuItem extends React.Component {
- render() {
- const {itemId, value, onClick, selected, disabled} = this.props;
- const additionalClasses = selected ? 'selected' : disabled ? 'disabled' : '';
- return (
- <li
- className={`sdc-menu-item ${additionalClasses}`}
- onClick={event => {
- event.stopPropagation();
- onClick && !disabled && onClick(itemId);
- }}>
- {value}
- </li>
- );
- }
-}
-
-PopupMenuItem.propTypes = {
- itemId: PropTypes.any,
- value: PropTypes.any,
- selected: PropTypes.bool,
- onClick: PropTypes.func,
- disabled: PropTypes.bool
-};
-
-PopupMenuItem.defaultProps = {
- selected: false,
- disabled: false
-};
-
-export default PopupMenuItem;
diff --git a/src/react/Portal.js b/src/react/Portal.js
deleted file mode 100644
index 90e0675..0000000
--- a/src/react/Portal.js
+++ /dev/null
@@ -1,52 +0,0 @@
-import React from 'react';
-import PropTypes from 'prop-types';
-import ReactDOM from 'react-dom';
-
-class Portal extends React.Component {
- componentDidMount() {
- this.renderPortal();
- }
-
- componentDidUpdate() {
- this.renderPortal();
- }
-
- componentWillUnmount() {
- if (this.defaultNode) {
- document.body.removeChild(this.defaultNode);
- }
- this.defaultNode = null;
- this.portal = null;
- }
-
- renderPortal() {
- if (!this.defaultNode) {
- this.defaultNode = document.createElement('div');
- this.defaultNode.className = 'onap-sdc-portal';
- document.body.appendChild(this.defaultNode);
- }
-
- let children = this.props.children;
- if (typeof this.props.children.type === 'function') {
- children = React.cloneElement(this.props.children);
- }
- /**
- * Change this to ReactDOM.CreatePortal after upgrading to React 16
- */
- this.portal = ReactDOM.unstable_renderSubtreeIntoContainer(
- this,
- children,
- this.defaultNode
- );
- }
- render() {
- return null;
- }
-
-}
-
-Portal.propTypes = {
- children: PropTypes.node.isRequired
-};
-
-export default Portal; \ No newline at end of file
diff --git a/src/react/Radio.js b/src/react/Radio.js
deleted file mode 100644
index 483521a..0000000
--- a/src/react/Radio.js
+++ /dev/null
@@ -1,58 +0,0 @@
-import React from 'react';
-import PropTypes from 'prop-types';
-
-class Radio extends React.Component {
- render() {
- let {checked, disabled, value, label, className, inputRef, name} = this.props;
- let dataTestId = this.props['data-test-id'];
- return (
- <div className={`sdc-radio ${className}`}>
- <label>
- <input
- ref={inputRef}
- className='sdc-radio__input'
- value={value}
- data-test-id={dataTestId}
- type='radio'
- name={name}
- checked={checked}
- onChange={(e) => this.onChange(e)}
- disabled={disabled} />
- <span className='sdc-radio__label'>{label}</span>
- </label>
- </div>
- );
- }
-
- onChange(e) {
- let {onChange} = this.props;
- if (onChange) {
- onChange(e.target.checked);
- }
- }
-
- getChecked() {
- return this.props.checked;
- }
-
- getValue() {
- return this.props.value;
- }
-}
-
-Radio.propTypes = {
- checked: PropTypes.bool,
- value: PropTypes.any,
- label: PropTypes.string,
- className: PropTypes.string,
- inputRef: PropTypes.func,
- name: PropTypes.string,
- disabled: PropTypes.bool
-};
-
-Radio.defaultProps = {
- checked: false,
- className: ''
-};
-
-export default Radio;
diff --git a/src/react/RadioGroup.js b/src/react/RadioGroup.js
deleted file mode 100644
index 59eaca7..0000000
--- a/src/react/RadioGroup.js
+++ /dev/null
@@ -1,40 +0,0 @@
-import React from 'react';
-import Radio from './Radio.js';
-
-class RadioGroup extends React.Component {
- constructor(props) {
- super(props);
- this.radios = {};
- }
-
- render() {
- let {name, disabled, title, options, value, className} = this.props;
- let dataTestId = this.props['data-test-id'];
- return (<div data-test-id={dataTestId} className={`sdc-radio-group ${className || ''}`}>
- { title && <label className='sdc-radio-group__legend'>{title}</label> }
- <div className='sdc-radio-group__radios'>
- {options.map(option => {
- let rName = name + '_' + option.value;
- return (<Radio ref={(radio) => {this.radios[rName] = radio;}} data-test-id={dataTestId + '_' + option.value}
- key={rName} value={option.value}
- label={option.label} checked={value === option.value} disabled={disabled}
- name={name} onChange={() => this.onChange(rName)} />
- );})}
- </div>
- </div>);
- }
-
- onChange(rName) {
- let {onChange} = this.props;
- let val = this.radios[rName].getValue();
- if (onChange) {
- onChange(val);
- }
- }
-
- getValue() {
- return this.props.value;
- }
-}
-
-export default RadioGroup;
diff --git a/src/react/SVGIcon.js b/src/react/SVGIcon.js
deleted file mode 100644
index 8a5b1ae..0000000
--- a/src/react/SVGIcon.js
+++ /dev/null
@@ -1,47 +0,0 @@
-import React from 'react';
-import PropTypes from 'prop-types';
-
-import iconMap from './utils/iconMap.js';
-
-const SVGIcon = ({name, onClick, label, className, iconClassName, labelClassName, labelPosition, color, disabled, ...other}) => {
-
- let colorClass = (color !== '') ? '__' + color : '';
- let classes = `svg-icon-wrapper ${iconClassName} ${className} ${colorClass} ${onClick ? 'clickable' : ''} ${labelPosition}`;
- let camelCasedName = name.replace(/-([a-z])/g, function (g) { return g[1].toUpperCase(); });
- let IconComponent = iconMap[camelCasedName];
- if (!IconComponent) {
- console.error('Icon by the name ' + camelCasedName + ' is missing.');
- }
-
- return (
- <div {...other} onClick={onClick} className={classes} disabled={disabled}>
- { IconComponent && <IconComponent className={`svg-icon __${name}`} /> }
- { !IconComponent && <span className='svg-icon-missing'>Missing Icon</span> }
- {label && <span className={`svg-icon-label ${labelClassName}`}>{label}</span>}
- </div>
- );
-
-};
-
-SVGIcon.propTypes = {
- name: PropTypes.string.isRequired,
- onClick: PropTypes.func,
- label: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),
- labelPosition: PropTypes.string,
- className: PropTypes.string,
- iconClassName: PropTypes.string,
- labelClassName: PropTypes.string,
- color: PropTypes.string
-};
-
-SVGIcon.defaultProps = {
- name: '',
- label: '',
- className: '',
- iconClassName: '',
- labelClassName: '',
- labelPosition: 'bottom',
- color: ''
-};
-
-export default SVGIcon;
diff --git a/src/react/Tab.js b/src/react/Tab.js
deleted file mode 100644
index 5aa0f16..0000000
--- a/src/react/Tab.js
+++ /dev/null
@@ -1,20 +0,0 @@
-import React from 'react';
-
-class Tab extends React.Component {
- render() {
- const {activeTab, tabId, title, onClick, disabled, className = ''} = this.props;
- const dataTestId = this.props['data-test-id'];
- return (
- <li
- className={`sdc-tab ${activeTab === tabId ? 'sdc-tab-active' : ''} ${className}`}
- onClick={!disabled && onClick}
- data-test-id={dataTestId}
- role='tab'
- disabled={disabled}>
- {title}
- </li>
- );
- }
-}
-
-export default Tab;
diff --git a/src/react/TabPane.js b/src/react/TabPane.js
deleted file mode 100644
index 56a4bf0..0000000
--- a/src/react/TabPane.js
+++ /dev/null
@@ -1,12 +0,0 @@
-import React from 'react';
-
-class TabPane extends React.Component {
- render() {
- const {children} = this.props;
- return (<div className='sdc-tab-content' role='tabpanel'>
- {children}
- </div>);
- }
-}
-
-export default TabPane;
diff --git a/src/react/Tabs.js b/src/react/Tabs.js
deleted file mode 100644
index c502038..0000000
--- a/src/react/Tabs.js
+++ /dev/null
@@ -1,29 +0,0 @@
-import React from 'react';
-import TabPane from './TabPane.js';
-
-class Tabs extends React.Component {
- render() {
- const {type, children = [], activeTab, onTabClick, className} = this.props;
- return (
- <div className={type === 'header' ? `sdc-tabs sdc-tabs-header ${className || ''}` : `sdc-tabs sdc-tabs-menu ${className || ''}`} >
- <ul className='sdc-tabs-list' role='tablist'>
- {children.map(child => React.cloneElement(child,
- {
- key: child.props.tabId,
- onClick: () => onTabClick(child.props.tabId),
- activeTab
- }))}
- </ul>
- <TabPane>
- {children.map(child => {
- if (child.props.tabId === activeTab) {
- return child.props.children;
- }
- })}
- </TabPane>
- </div>
- );
- }
-}
-
-export default Tabs;
diff --git a/src/react/Tile.js b/src/react/Tile.js
deleted file mode 100644
index f47f88d..0000000
--- a/src/react/Tile.js
+++ /dev/null
@@ -1,33 +0,0 @@
-import React, {Children} from 'react';
-import PropTypes from 'prop-types';
-import TileInfo from './TileInfo.js';
-import TileFooter from './TileFooter.js';
-import SVGIcon from './SVGIcon.js';
-
-const Tile = ({headerText, headerColor, iconName, iconColor, className, onClick, children, dataTestId}) => {
- let childrenArr = Children.toArray(children);
- return (
- <div className={`sdc-tile ${className || ''}`} onClick={onClick} data-test-id={dataTestId}>
- <div className={`sdc-tile-header ${headerColor || ''}`}>{headerText}</div>
- <div className='sdc-tile-content'>
- <div className={`sdc-tile-content-icon ${iconColor || ''}`}>
- {iconName && <SVGIcon name={iconName}/>}
- </div>
- {childrenArr.find(e => e.type === TileInfo)}
- </div>
- {childrenArr.find(e => e.type === TileFooter)}
- </div>
- );
-};
-
-Tile.propTypes = {
- headerText: PropTypes.string,
- headerColor: PropTypes.string,
- iconName: PropTypes.string,
- iconColor: PropTypes.string,
- className: PropTypes.string,
- onClick: PropTypes.func,
- dataTestId: PropTypes.string
-};
-
-export default Tile;
diff --git a/src/react/TileFooter.js b/src/react/TileFooter.js
deleted file mode 100644
index 3a56908..0000000
--- a/src/react/TileFooter.js
+++ /dev/null
@@ -1,10 +0,0 @@
-import React, {Children} from 'react';
-import TileFooterCell from './TileFooterCell.js';
-
-const TileFooter = ({children, align}) => (
- <div className={`sdc-tile-footer ${align === 'center' ? 'centered' : ''}`}>
- {Children.toArray(children).filter(e => e.type === TileFooterCell)}
- </div>
-);
-
-export default TileFooter;
diff --git a/src/react/TileFooterCell.js b/src/react/TileFooterCell.js
deleted file mode 100644
index 37e6416..0000000
--- a/src/react/TileFooterCell.js
+++ /dev/null
@@ -1,7 +0,0 @@
-import React from 'react';
-
-const TileFooterCell = ({className, children, dataTestId}) => (
- <span className={`sdc-tile-footer-cell ${className || ''}`} data-test-id={dataTestId}>{children}</span>
-);
-
-export default TileFooterCell;
diff --git a/src/react/TileInfo.js b/src/react/TileInfo.js
deleted file mode 100644
index bda8e74..0000000
--- a/src/react/TileInfo.js
+++ /dev/null
@@ -1,10 +0,0 @@
-import React, {Children} from 'react';
-import TileInfoLine from './TileInfoLine.js';
-
-const TileInfo = ({align, children}) => (
- <div className={`sdc-tile-content-info ${align === 'center' ? 'centered' : ''}`}>
- {Children.toArray(children).filter(e => e.type === TileInfoLine)}
- </div>
-);
-
-export default TileInfo;
diff --git a/src/react/TileInfoLine.js b/src/react/TileInfoLine.js
deleted file mode 100644
index 5b0e2c9..0000000
--- a/src/react/TileInfoLine.js
+++ /dev/null
@@ -1,7 +0,0 @@
-import React from 'react';
-
-const TileInfoLine = ({type, className, children, dataTestId}) => (
- <div className={`sdc-tile-info-line ${type || ''} ${className || ''}`} data-test-id={dataTestId}>{children}</div>
-);
-
-export default TileInfoLine;
diff --git a/src/react/index.js b/src/react/index.js
deleted file mode 100644
index cbe0161..0000000
--- a/src/react/index.js
+++ /dev/null
@@ -1,74 +0,0 @@
-import Accordion from './Accordion.js';
-import Button from './Button.js';
-import Checkbox from './Checkbox.js';
-import Checklist from './Checklist.js';
-import Input from './Input.js';
-import Modal from './Modal.js';
-import ModalBody from './ModalBody.js';
-import ModalFooter from './ModalFooter.js';
-import ModalHeader from './ModalHeader.js';
-import ModalTitle from './ModalTitle.js';
-import Panel from './Panel.js';
-import PopupMenu from './PopupMenu.js';
-import Portal from './Portal.js';
-import Radio from './Radio.js';
-import RadioGroup from './RadioGroup.js';
-import SVGIcon from './SVGIcon.js';
-import Tab from './Tab.js';
-import Tabs from './Tabs.js';
-import Tile from './Tile.js';
-import TileInfo from './TileInfo.js';
-import TileInfoLine from './TileInfoLine.js';
-import TileFooter from './TileFooter.js';
-import TileFooterCell from './TileFooterCell.js';
-
-
-export { Accordion };
-export { Button };
-export { Checkbox };
-export { Checklist };
-export { Input };
-export { Modal };
-export { ModalBody };
-export { ModalFooter };
-export { ModalHeader };
-export { ModalTitle };
-export { Panel };
-export { PopupMenu };
-export { Portal };
-export { Radio };
-export { RadioGroup };
-export { SVGIcon };
-export { Tab };
-export { Tabs };
-export { Tile };
-export { TileInfo };
-export { TileInfoLine };
-export { TileFooter };
-export { TileFooterCell };
-
-export default {
- Accordion,
- Button,
- Checkbox,
- Checklist,
- Input,
- Modal,
- ModalBody,
- ModalFooter,
- ModalHeader,
- ModalTitle,
- Panel,
- PopupMenu,
- Portal,
- Radio,
- RadioGroup,
- SVGIcon,
- Tab,
- Tabs,
- Tile,
- TileInfo,
- TileInfoLine,
- TileFooter,
- TileFooterCell
-};
diff --git a/src/style/scss/_common.scss b/src/style/scss/_common.scss
deleted file mode 100644
index 7daac20..0000000
--- a/src/style/scss/_common.scss
+++ /dev/null
@@ -1,7 +0,0 @@
-@import "common/normalize";
-@import "common/variables";
-@import "common/mixins";
-@import "common/typography";
-@import "common/base";
-@import "common/icons";
-@import "common/animation";
diff --git a/src/style/scss/_components.scss b/src/style/scss/_components.scss
deleted file mode 100644
index 3b0d28d..0000000
--- a/src/style/scss/_components.scss
+++ /dev/null
@@ -1,22 +0,0 @@
-@import "../../../components/button/button";
-@import "../../../components/tile/tile";
-@import "../../../components/checkbox/checkbox";
-@import "../../../components/radio/radio";
-@import "../../../components/radioGroup/radioGroup";
-@import "../../../components/tabs/tabs";
-@import "../../../components/icon/icon";
-@import "../../../components/input/input";
-@import "../../../components/dropdown/dropdown";
-@import "../../../components/modal/modal";
-@import "../../../components/menu/menu";
-@import "../../../components/filter-bar/_filter-bar";
-@import "../../../components/search-bar/_search-bar";
-@import "../../../components/checklist/checklist";
-@import "../../../components/autocomplete/autocomplete";
-@import "../../../components/tooltip/tooltip";
-@import "../../../components/tag-cloud/_tag-cloud";
-@import "../../../components/notification/notification";
-@import "../../../components/notifications-container/notifications-container";
-@import "../../../components/accordion/accordion";
-@import "../../../components/panel/panel";
-@import "../../../components/validation/validation";
diff --git a/src/style/scss/common/_animation.scss b/src/style/scss/common/_animation.scss
deleted file mode 100644
index 659bd3b..0000000
--- a/src/style/scss/common/_animation.scss
+++ /dev/null
@@ -1,149 +0,0 @@
-/***********************************************************************************
- VERTICAL COLLAPSE-EXPEND TRANSITION ANIMATION PAIR.
-
- We use the 'transition-vertical-collapse' for the collapse/idle block element,
- and the 'transition-vertical-expand' to expend that element.
-
- -important: The element that will be used for the animation should be
- a block element, adn have a content or width and height settings for it to work.
-*********************************************************************************/
-
-/**
-Enable to fold an expended block element
-@param $offsetY - The top position from which the drop down should fold
- */
-@mixin keyframes-expand-animation($name, $maxHeight, $boxShadow:0 0 12px 0px rgba(0,0,0,.3), $margin:0){
- @keyframes #{$name} {
- 0% {
- opacity: 0;
- max-height: 0;
- overflow: hidden;
- box-shadow: 0 0 0px 0px rgba(0,0,0,.3);
- margin:0;
- }
- 10% {
- opacity: 1;
- margin: $margin;
- }
- 50% {
- box-shadow: $boxShadow;
- }
- 99%{
- max-height:$maxHeight;
-
- overflow: hidden;
- }
- 100%{
- opacity: 1;
- max-height:$maxHeight;
- overflow: auto;
- }
- }
-}
-
-/**
-Enable to expend a folded block element
-@param $maxHeight - most of the animation is done over the max-height property
- so we have to set the maximum height the expended element can expend to.
- */
-@mixin keyframes-collapse-animation($name, $maxHeight, $boxShadow:0 0 12px 0px rgba(0,0,0,.3)){
- @keyframes #{$name} {
- 0% {
- opacity: 1;
- max-height:$maxHeight;
- box-shadow: $boxShadow;
- overflow: hidden;
- }
- 40%{
- opacity: 1;
- }
- 99%{
- opacity: 0;
- max-height: 0;
- overflow: hidden;
- box-shadow: 0 0 0px 0px rgba(0,0,0,.3);
- }
- 100%{
- opacity: 0;
- max-height: 0;
- overflow: auto;
- }
- }
-}
-
-/********************************************************************************
- SIMPLE FADE-IN KEYFRAMES ANIMATION (Used in tooltip for example)
-
- we use 'mixin-keyframes-fade-in-vertically' to create css @keyframes rule that
- we later can use with animation property inside our prefered css rules:
- .our_class {
- ...
- animation: keyframes-fade-in-vertically 1s ease-out;
- ...
- }
-*********************************************************************************/
-@mixin mixin-keyframes-fade-in-vertically($fromRelativeHeight, $keyframesName:keyframes-fade-in-vertically){
- @keyframes #{$keyframesName} {
- from {
- transform: translateY($fromRelativeHeight);
- opacity: 0;
- }
- to {
- transform: translateY(0);
- opacity: 1;
- }
- }
-}
-
-/********************************************************************************
- SIMPLE FADE-OUT KEYFRAMES ANIMATION (Opposite of fade-in mixin above)
-*********************************************************************************/
-@mixin mixin-keyframes-fade-out-vertically($toRelativeHeight, $keyframesName:keyframes-fade-out-vertically){
- @keyframes #{$keyframesName} {
- from {
- transform: translateY(0);
- opacity: 1;
- }
- to {
- transform: translateY($toRelativeHeight);
- opacity: 0;
- }
- }
-}
-
-
-
-/********************************************************************************
- RIPPLE ANIMATION (Used for ripple-click directive)
-*********************************************************************************/
-@keyframes ripple-animation {
- from {
- transform: scale(0,0);
- opacity: 1;
- }
- to {
- transform: scale(2,2);
- opacity: 0;
- }
-}
-
-.sdc-ripple-click__animated {
- position:relative;
-}
-.sdc-ripple-click__animated::before{
- display: inline-block;
- position:absolute;
- top: 0;
- left: 0;
- content: '';
- animation: ripple-animation .3s ease-out;
- background-color: $blue;
- width: 14px;
- height: 14px;
- border-radius: 50%;
- pointer-events: none;
- opacity: 0;
-}
-
-
-
diff --git a/src/style/scss/common/_icons.scss b/src/style/scss/common/_icons.scss
deleted file mode 100644
index 00f425d..0000000
--- a/src/style/scss/common/_icons.scss
+++ /dev/null
@@ -1,19 +0,0 @@
-.sdc-icon {
- display: inline-block;
- text-rendering: auto;
- -webkit-font-smoothing: antialiased;
- -moz-osx-font-smoothing: grayscale;
- width: 16px;
- height: 16px;
-}
-
-.sdc-icon-locked {background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='11' height='15' viewBox='0 0 11 15' id='locked_icon'> <metadata><?xpacket begin='' id='W5M0MpCehiHzreSzNTczkc9d'?><x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='Adobe XMP Core 5.6-c138 79.159824, 2016/09/14-01:09:01 '> <rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'> <rdf:Description rdf:about=''/> </rdf:RDF></x:xmpmeta><?xpacket end='w'?></metadata><defs> <style> .cls-1 { fill: #959595; fill-rule: evenodd; } </style> </defs> <path id='Shape_77_copy_10' data-name='Shape 77 copy 10' class='cls-1' d='M445,359a16.71,16.71,0,0,0-2.1-.009c-1.945.045-3.195,0.049-3.9,0.009v-5a1.743,1.743,0,0,1,2-2h1a1.743,1.743,0,0,1,2,2v5c0.474,0.063.343-.073,1,0,0.266,0.029,0,.279,0,0v-5a2.726,2.726,0,0,0-3-3h-1.142c-1.72-.125-2.715,1.562-2.858,3,0.088,0.009,0,7.338,0,5h0a1.891,1.891,0,0,0-2,1.689v3.461A1.823,1.823,0,0,0,437.775,366h7.448A1.823,1.823,0,0,0,447,364.15v-3.461A2.018,2.018,0,0,0,445,359Z' transform='translate(-436 -351)'/></svg>"); background-repeat: no-repeat;}
-.sdc-icon-plus {background-image: url("data:image/svg+xml;utf8,<?xml version='1.0' encoding='utf-8'?><!-- Generator: Adobe Illustrator 21.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --><svg version='1.1' id='plus_icon' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 19 19' style='enable-background:new 0 0 19 19;' xml:space='preserve'><g><rect y='8' width='19' height='3'/><path id='Rectangle_2139_copy' d='M8,19V0h3v19H8z'/></g></svg>"); background-repeat: no-repeat;}
-.sdc-icon-unlocked {background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='11' height='18' viewBox='0 0 11 18' id='unlocked_icon'> <metadata><?xpacket begin='' id='W5M0MpCehiHzreSzNTczkc9d'?><x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='Adobe XMP Core 5.6-c138 79.159824, 2016/09/14-01:09:01 '> <rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'> <rdf:Description rdf:about=''/> </rdf:RDF></x:xmpmeta><?xpacket end='w'?></metadata><defs> <style> .cls-1 { fill: #959595; fill-rule: evenodd; } </style> </defs> <path id='Shape_77_copy_16' data-name='Shape 77 copy 16' class='cls-1' d='M663,358a16.723,16.723,0,0,0-2.1-.009c-1.944.045-3.194,0.049-3.9,0.009v-7a1.743,1.743,0,0,1,2-2h1a1.743,1.743,0,0,1,2,2v2c0.474,0.064.343-.073,1,0,0.266,0.029,0,.279,0,0v-2a2.726,2.726,0,0,0-3-3h-1.142c-1.72-.125-2.715,1.562-2.858,3,0.088,0.009,0,9.338,0,7h0a1.891,1.891,0,0,0-2,1.689v4.461a1.823,1.823,0,0,0,1.775,1.85h7.448A1.823,1.823,0,0,0,665,364.15v-4.461A2.018,2.018,0,0,0,663,358Zm1.05,6.15a0.827,0.827,0,0,1-.8.836H655.8a0.827,0.827,0,0,1-.8-0.836l0-4.15a1.164,1.164,0,0,1,.8-1.147h7.448A1.129,1.129,0,0,1,664,360Z' transform='translate(-654 -348)'/></svg>"); background-repeat: no-repeat;}
-.sdc-icon-vendor {background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 53 47' id='vendor_icon'><title>vendor</title><g id='Layer_2' data-name='Layer 2'><g id='vlm_icon' data-name='vlm icon'><path d='M49,7,38.5,7V5.92A5.92,5.92,0,0,0,32.58,0H20.42A5.92,5.92,0,0,0,14.5,5.92V7.15L4,7.2a3.8,3.8,0,0,0-4,3.5V43.5C0,45.4,2,47,4.2,47L49,46.8a3.8,3.8,0,0,0,4-3.5V10.5A3.8,3.8,0,0,0,49,7ZM16.5,5.92A3.92,3.92,0,0,1,20.42,2H32.58A3.92,3.92,0,0,1,36.5,5.92V7.06l-20,.09ZM2,10.8A1.9,1.9,0,0,1,4,9l45-.2a1.9,1.9,0,0,1,2,1.8v8.87L32.94,24.18a6.49,6.49,0,0,0-12.89,0L2,19.51V10.8ZM31,25a4.5,4.5,0,1,1-4.5-4.5A4.5,4.5,0,0,1,31,25ZM49,45,4,45.2A1.9,1.9,0,0,1,2,43.4V21.57l18.13,4.73a6.5,6.5,0,0,0,12.74,0L51,21.53V43.21A1.9,1.9,0,0,1,49,45Z'/></g></g></svg>"); background-repeat: no-repeat;}
-.sdc-icon-vlm {background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 45 53'><title>vlm_new_icon</title><g id='Layer_2' data-name='Layer 2'><g id='vlm_icon' data-name='vlm icon'><path d='M41,2a2,2,0,0,1,2,2l.19,45a2,2,0,0,1-2,2H4a2,2,0,0,1-2-2L1.81,4a2,2,0,0,1,2-2H41m-.15-2H4A4.2,4.2,0,0,0,0,4.24L.19,49a4,4,0,0,0,4,4H41a4,4,0,0,0,4-4L44.81,4a4,4,0,0,0-4-4Z'/><rect x='14' y='11' width='17' height='2'/><rect x='14' y='18' width='10' height='2'/><polygon points='20.56 38.85 13.87 33.14 15.16 31.62 20.39 36.08 29.08 26.63 30.55 27.98 20.56 38.85'/></g></g></svg>"); background-repeat: no-repeat;}
-.sdc-icon-vsp {background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 59.5 40' id='vsp_icon'><title>vsp_new_icon</title><g id='Layer_2' data-name='Layer 2'><g id='vlm_icon' data-name='vlm icon'><path d='M58.28,30.74c-1.49-1.82-3-2.7-4.67-2.74a8.5,8.5,0,0,0-16.22-2.44,6.93,6.93,0,0,0-4.06.66A7.23,7.23,0,0,0,36.42,40H53.5a6,6,0,0,0,6-6A5.18,5.18,0,0,0,58.28,30.74ZM53.5,38H36.42a5.25,5.25,0,0,1-5.21-5.91,5.32,5.32,0,0,1,3-4.06,5,5,0,0,1,2.21-.53,5.25,5.25,0,0,1,1.35.18l.92.24L39,27A6.5,6.5,0,0,1,51.67,29v1.3l1.17-.2c1-.17,2.17-.17,3.91,2a3.18,3.18,0,0,1,.76,2A4,4,0,0,1,53.5,38Z'/><path d='M49,0,4,.17A3.79,3.79,0,0,0,0,3.69V7.94H0v2H0V36.31C0,38.35,2,40,4.25,40l20.84-.08a1,1,0,0,0,0-1.92L4,38.08a1.89,1.89,0,0,1-2-1.76V10H51v7a1,1,0,0,0,2,0V3.53A3.79,3.79,0,0,0,49,0ZM2,8V3.76A1.89,1.89,0,0,1,4,2l45-.16a1.89,1.89,0,0,1,2,1.76V8Z'/></g></g></svg>"); background-repeat: no-repeat;}
-
-.sdc-icon-transform{
- transform: rotate(180deg);
-}
diff --git a/src/style/scss/common/_normalize.scss b/src/style/scss/common/_normalize.scss
deleted file mode 100644
index 9375ee9..0000000
--- a/src/style/scss/common/_normalize.scss
+++ /dev/null
@@ -1,578 +0,0 @@
-/* ==========================================================================
- Normalize.scss settings
- ========================================================================== */
-/**
- * Includes legacy browser support IE6/7
- *
- * Set to false if you want to drop support for IE6 and IE7
- */
-
-$legacy_browser_support: false !default;
-
-/* Base
- ========================================================================== */
-
-/**
- * 1. Set default font family to sans-serif.
- * 2. Prevent iOS and IE text size adjust after device orientation change,
- * without disabling user zoom.
- * 3. Corrects text resizing oddly in IE 6/7 when body `font-size` is set using
- * `em` units.
- */
-
-html {
- font-family: sans-serif; /* 1 */
- -ms-text-size-adjust: 100%; /* 2 */
- -webkit-text-size-adjust: 100%; /* 2 */
- @if $legacy_browser_support {
- *font-size: 100%; /* 3 */
- }
-}
-
-/**
- * Remove default margin.
- */
-
-body {
- margin: 0;
-}
-
-/* HTML5 display definitions
- ========================================================================== */
-
-/**
- * Correct `block` display not defined for any HTML5 element in IE 8/9.
- * Correct `block` display not defined for `details` or `summary` in IE 10/11
- * and Firefox.
- * Correct `block` display not defined for `main` in IE 11.
- */
-
-article,
-aside,
-details,
-figcaption,
-figure,
-footer,
-header,
-hgroup,
-main,
-menu,
-nav,
-section,
-summary {
- display: block;
-}
-
-/**
- * 1. Correct `inline-block` display not defined in IE 6/7/8/9 and Firefox 3.
- * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
- */
-
-audio,
-canvas,
-progress,
-video {
- display: inline-block; /* 1 */
- vertical-align: baseline; /* 2 */
- @if $legacy_browser_support {
- *display: inline;
- *zoom: 1;
- }
-}
-
-/**
- * Prevents modern browsers from displaying `audio` without controls.
- * Remove excess height in iOS 5 devices.
- */
-
-audio:not([controls]) {
- display: none;
- height: 0;
-}
-
-/**
- * Address `[hidden]` styling not present in IE 8/9/10.
- * Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22.
- */
-
-[hidden],
-template {
- display: none;
-}
-
-/* Links
- ========================================================================== */
-
-/**
- * Remove the gray background color from active links in IE 10.
- */
-
-a {
- background-color: transparent;
-}
-
-/**
- * Improve readability of focused elements when they are also in an
- * active/hover state.
- */
-
-a {
- &:active, &:hover {
- outline: 0;
- };
-}
-
-/* Text-level semantics
- ========================================================================== */
-
-/**
- * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
- */
-
-abbr[title] {
- border-bottom: 1px dotted;
-}
-
-/**
- * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
- */
-
-b,
-strong {
- font-weight: bold;
-}
-
-@if $legacy_browser_support {
- blockquote {
- margin: 1em 40px;
- }
-}
-
-/**
- * Address styling not present in Safari and Chrome.
- */
-
-dfn {
- font-style: italic;
-}
-
-/**
- * Address variable `h1` font-size and margin within `section` and `article`
- * contexts in Firefox 4+, Safari, and Chrome.
- */
-
-h1 {
- font-size: 2em;
- margin: 0.67em 0;
-}
-
-@if $legacy_browser_support {
- h2 {
- font-size: 1.5em;
- margin: 0.83em 0;
- }
-
- h3 {
- font-size: 1.17em;
- margin: 1em 0;
- }
-
- h4 {
- font-size: 1em;
- margin: 1.33em 0;
- }
-
- h5 {
- font-size: 0.83em;
- margin: 1.67em 0;
- }
-
- h6 {
- font-size: 0.67em;
- margin: 2.33em 0;
- }
-}
-
-/**
- * Addresses styling not present in IE 8/9.
- */
-
-mark {
- background: #ff0;
- color: #000;
-}
-
-@if $legacy_browser_support {
-
- /**
- * Addresses margins set differently in IE 6/7.
- */
-
- p,
- pre {
- *margin: 1em 0;
- }
-
- /*
- * Addresses CSS quotes not supported in IE 6/7.
- */
-
- q {
- *quotes: none;
- }
-
- /*
- * Addresses `quotes` property not supported in Safari 4.
- */
-
- q:before,
- q:after {
- content: '';
- content: none;
- }
-}
-
-/**
- * Address inconsistent and variable font size in all browsers.
- */
-
-small {
- font-size: 80%;
-}
-
-/**
- * Prevent `sub` and `sup` affecting `line-height` in all browsers.
- */
-
-sub,
-sup {
- font-size: 75%;
- line-height: 0;
- position: relative;
- vertical-align: baseline;
-}
-
-sup {
- top: -0.5em;
-}
-
-sub {
- bottom: -0.25em;
-}
-
-@if $legacy_browser_support {
-
- /* ==========================================================================
- Lists
- ========================================================================== */
-
- /*
- * Addresses margins set differently in IE 6/7.
- */
-
- dl,
- menu,
- ol,
- ul {
- *margin: 1em 0;
- }
-
- dd {
- *margin: 0 0 0 40px;
- }
-
- /*
- * Addresses paddings set differently in IE 6/7.
- */
-
- menu,
- ol,
- ul {
- *padding: 0 0 0 40px;
- }
-
- /*
- * Corrects list images handled incorrectly in IE 7.
- */
-
- nav ul,
- nav ol {
- *list-style: none;
- *list-style-image: none;
- }
-
-}
-
-/* Embedded content
- ========================================================================== */
-
-/**
- * 1. Remove border when inside `a` element in IE 8/9/10.
- * 2. Improves image quality when scaled in IE 7.
- */
-
-img {
- border: 0;
- @if $legacy_browser_support {
- *-ms-interpolation-mode: bicubic; /* 2 */
- }
-}
-
-/**
- * Correct overflow not hidden in IE 9/10/11.
- */
-
-svg:not(:root) {
- overflow: hidden;
-}
-
-/* Grouping content
- ========================================================================== */
-
-/**
- * Address margin not present in IE 8/9 and Safari.
- */
-
-figure {
- margin: 1em 40px;
-}
-
-/**
- * Address differences between Firefox and other browsers.
- */
-
-hr {
- box-sizing: content-box;
- height: 0;
-}
-
-/**
- * Contain overflow in all browsers.
- */
-
-pre {
- overflow: auto;
-}
-
-/**
- * Address odd `em`-unit font size rendering in all browsers.
- * Correct font family set oddly in IE 6, Safari 4/5, and Chrome.
- */
-
-code,
-kbd,
-pre,
-samp {
- font-family: monospace, monospace;
- @if $legacy_browser_support {
- _font-family: 'courier new', monospace;
- }
- font-size: 1em;
-}
-
-/* Forms
- ========================================================================== */
-
-/**
- * Known limitation: by default, Chrome and Safari on OS X allow very limited
- * styling of `select`, unless a `border` property is set.
- */
-
-/**
- * 1. Correct color not being inherited.
- * Known issue: affects color of disabled elements.
- * 2. Correct font properties not being inherited.
- * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
- * 4. Improves appearance and consistency in all browsers.
- */
-
-button,
-input,
-optgroup,
-select,
-textarea {
- color: inherit; /* 1 */
- font: inherit; /* 2 */
- margin: 0; /* 3 */
- @if $legacy_browser_support {
- vertical-align: baseline; /* 3 */
- *vertical-align: middle; /* 3 */
- }
-}
-
-/**
- * Address `overflow` set to `hidden` in IE 8/9/10/11.
- */
-
-button {
- overflow: visible;
-}
-
-/**
- * Address inconsistent `text-transform` inheritance for `button` and `select`.
- * All other form control elements do not inherit `text-transform` values.
- * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
- * Correct `select` style inheritance in Firefox.
- */
-
-button,
-select {
- text-transform: none;
-}
-
-/**
- * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
- * and `video` controls.
- * 2. Correct inability to style clickable `input` types in iOS.
- * 3. Improve usability and consistency of cursor style between image-type
- * `input` and others.
- * 4. Removes inner spacing in IE 7 without affecting normal text inputs.
- * Known issue: inner spacing remains in IE 6.
- */
-
-button,
-html input[type="button"], /* 1 */
-input[type="reset"],
-input[type="submit"] {
- -webkit-appearance: button; /* 2 */
- cursor: pointer; /* 3 */
- @if $legacy_browser_support {
- *overflow: visible; /* 4 */
- }
-}
-
-/**
- * Re-set default cursor for disabled elements.
- */
-
-button[disabled],
-html input[disabled] {
- cursor: default;
-}
-
-/**
- * Remove inner padding and border in Firefox 4+.
- */
-
-button::-moz-focus-inner,
-input::-moz-focus-inner {
- border: 0;
- padding: 0;
-}
-
-/**
- * Address Firefox 4+ setting `line-height` on `input` using `!important` in
- * the UA stylesheet.
- */
-
-input {
- line-height: normal;
-}
-
-/**
- * 1. Address box sizing set to `content-box` in IE 8/9/10.
- * 2. Remove excess padding in IE 8/9/10.
- * Known issue: excess padding remains in IE 6.
- */
-
-input[type="checkbox"],
-input[type="radio"] {
- box-sizing: border-box; /* 1 */
- padding: 0; /* 2 */
- @if $legacy_browser_support {
- *height: 13px; /* 3 */
- *width: 13px; /* 3 */
- }
-}
-
-/**
- * Fix the cursor style for Chrome's increment/decrement buttons. For certain
- * `font-size` values of the `input`, it causes the cursor style of the
- * decrement button to change from `default` to `text`.
- */
-
-input[type="number"]::-webkit-inner-spin-button,
-input[type="number"]::-webkit-outer-spin-button {
- height: auto;
-}
-
-/**
- * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
- * 2. Address `box-sizing` set to `border-box` in Safari and Chrome.
- */
-
-input[type="search"] {
- -webkit-appearance: textfield; /* 1 */
- box-sizing: content-box; /* 2 */
-}
-
-/**
- * Remove inner padding and search cancel button in Safari and Chrome on OS X.
- * Safari (but not Chrome) clips the cancel button when the search input has
- * padding (and `textfield` appearance).
- */
-
-input[type="search"]::-webkit-search-cancel-button,
-input[type="search"]::-webkit-search-decoration {
- -webkit-appearance: none;
-}
-
-/**
- * Define consistent border, margin, and padding.
- */
-
-fieldset {
- border: 1px solid #c0c0c0;
- margin: 0 2px;
- padding: 0.35em 0.625em 0.75em;
-}
-
-/**
- * 1. Correct `color` not being inherited in IE 8/9/10/11.
- * 2. Remove padding so people aren't caught out if they zero out fieldsets.
- * 3. Corrects text not wrapping in Firefox 3.
- * 4. Corrects alignment displayed oddly in IE 6/7.
- */
-
-legend {
- border: 0; /* 1 */
- padding: 0; /* 2 */
- @if $legacy_browser_support {
- white-space: normal; /* 3 */
- *margin-left: -7px; /* 4 */
- }
-}
-
-/**
- * Remove default vertical scrollbar in IE 8/9/10/11.
- */
-
-textarea {
- overflow: auto;
-}
-
-/**
- * Don't inherit the `font-weight` (applied by a rule above).
- * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
- */
-
-optgroup {
- font-weight: bold;
-}
-
-/* Tables
- ========================================================================== */
-
-/**
- * Remove most spacing between table cells.
- */
-
-table {
- border-collapse: collapse;
- border-spacing: 0;
-}
-
-td,
-th {
- padding: 0;
-}
diff --git a/src/style/scss/common/_typography.scss b/src/style/scss/common/_typography.scss
deleted file mode 100644
index 6fd59cc..0000000
--- a/src/style/scss/common/_typography.scss
+++ /dev/null
@@ -1,96 +0,0 @@
-$heading-font-1: 28px;
-$heading-font-2: 24px;
-$heading-font-3: 20px;
-$heading-font-4: 16px;
-$heading-font-5: 14px;
-
-$body-font-1: 14px;
-$body-font-2: 13px;
-$body-font-3: 12px;
-$body-font-4: 10px;
-
-@mixin base-font-regular() {
- font-family: OpenSans-Regular, Arial, sans-serif;
- font-style: normal;
- font-weight: 400;
-}
-
-@mixin base-font-italic(){
- font-family: OpenSans-Italic, OpenSans-Regular, Arial, sans-serif;
- font-style: normal;
- font-weight: 400;
-}
-
-@mixin base-font-semibold() {
- font-family: OpenSans-Semibold, Arial, sans-serif;
- font-style: normal;
- font-weight: 400;
-}
-
-@mixin font-error() {
- color: $red;
-}
-
-@mixin heading-1() {
- @include base-font-regular;
- font-size: $heading-font-1;
-}
-
-@mixin heading-2() {
- @include base-font-regular;
- font-size: $heading-font-2;
-}
-
-@mixin heading-3 {
- @include base-font-regular;
- font-size: $heading-font-3;
-}
-
-@mixin heading-4 {
- @include base-font-regular;
- font-size: $heading-font-4;
-}
-
-@mixin heading-4-emphasis {
- @include base-font-semibold;
- font-size: $heading-font-4;
-}
-
-@mixin heading-5 {
- @include base-font-semibold;
- font-size: $heading-font-5;
-}
-
-@mixin body-1 {
- @include base-font-regular;
- font-size: $body-font-1;
-}
-
-@mixin body-1-italic {
- @include base-font-italic;
- font-size: $body-font-1;
-}
-
-@mixin body-2 {
- @include base-font-regular;
- font-size: $body-font-2;
-}
-
-@mixin body-2-emphasis {
- @include base-font-semibold;
- font-size: $body-font-2;
-}
-
-@mixin body-3 {
- @include base-font-regular;
- font-size: $body-font-3;
-}
-@mixin body-3-emphasis {
- @include base-font-semibold;
- font-size: $body-font-3;
-}
-
-@mixin body-4 {
- @include base-font-regular;
- font-size: $body-font-4;
-} \ No newline at end of file
diff --git a/src/style/scss/common/base.scss b/src/style/scss/common/base.scss
deleted file mode 100644
index 02baf81..0000000
--- a/src/style/scss/common/base.scss
+++ /dev/null
@@ -1,96 +0,0 @@
-html {
- font-size: 100%;
- height: 100%;
-}
-
-body {
- /* scrollbar styling for Internet Explorer */
- scrollbar-face-color: $light-gray;
- scrollbar-track-color: $white;
- scrollbar-shadow-color:$white;
- scrollbar-arrow-color: $gray;
-
- height: 100%;
- @extend %noselect;
-}
-
-/* scrollbar styling for Google Chrome | Safari | Opera */
-::-webkit-scrollbar {
- width: 11px;
- height: 8px;
-}
-
-::-webkit-scrollbar-track {
- background-color: $white;
- border: 1px solid $light-gray;
- border-top:none;
- border-bottom:none;
-}
-
-::-webkit-scrollbar-thumb {
- border-radius: 6px;
- background-color: $gray;
- border: 2px solid rgba(0,0,0,0);
- background-clip: padding-box;
-
- &:hover {
- border-width:1px 0px 1px 1px;
- }
-}
-
-/* Mozilla Firefox currently doesn't support scrollbar styling */
-
-ul {
- list-style: none;
-}
-
-h1, h2, h3, h4, h5, h6, ul {
- margin: 0;
- padding: 0;
-}
-
-input[type='text'] {
- padding: 4px;
- width: 100%;
-}
-
-input[type="checkbox"] {
- width: auto;
-}
-
-input, select, button {
- @include body-1;
- box-sizing: border-box;
-}
-
-fieldset {
- border: none;
-}
-
-fieldset {
- label {
- display: inline-block;
- }
-}
-
-.nav-tabs > li > a:focus,
-.btn:focus,
-.btn:active:focus,
-.btn.active:focus {
- outline: none;
-}
-
-.error-message{
- color: $red;
- @include body-3;
- margin-top: 3px;
- &:before{
- content: "";
- display: inline-block;
- width: 14px;
- height: 14px;
- margin-right: 6px;
- //not correct icon
- background: no-repeat url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="14" height="14" viewBox="0 0 24 24"><defs><path id="alert-copy-a" d="M22.3815,16.5997 L13.9815,2.4007 C13.5815,1.6997 12.8815,1.1997 12.0815,0.9997 C11.2815,0.7997 10.4815,0.9007 9.7815,1.2997 C9.3815,1.4997 8.9815,1.9007 8.7815,2.2997 L0.3815,16.5997 C-0.4185,17.9997 0.0815,19.9007 1.4815,20.6997 C1.8815,20.9997 2.3815,21.0997 2.8815,21.0997 L19.8815,21.0997 C20.6825,21.0997 21.4815,20.7997 21.9815,20.1997 C22.5815,19.5997 22.8815,18.9007 22.8815,18.0997 C22.7815,17.5997 22.6825,16.9997 22.3815,16.5997 M11,7 C10.4,7 10,7.4 10,8 L10,12 C10,12.601 10.4,13 11,13 C11.6,13 12,12.601 12,12 L12,8 C12,7.4 11.6,7 11,7 M10.3,15.3 C10.1,15.499 10,15.699 10,15.999 C10,16.3 10.1,16.499 10.3,16.699 C10.5,16.9 10.7,16.999 11,16.999 C11.3,16.999 11.5,16.9 11.7,16.699 C11.9,16.499 12,16.199 12,15.999 C12,15.8 11.9,15.499 11.7,15.3 C11.3,14.9 10.7,14.9 10.3,15.3"/></defs><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><use fill="'+ $red +'" xlink:href="#alert-copy-a"/></g></svg>');
- }
-}
diff --git a/src/style/scss/common/mixins.scss b/src/style/scss/common/mixins.scss
deleted file mode 100644
index c4cb733..0000000
--- a/src/style/scss/common/mixins.scss
+++ /dev/null
@@ -1,337 +0,0 @@
-/* Colors */
-.sdc-bc-white { background-color: $white; }
-.sdc-bc-blue { background-color: $blue; }
-.sdc-bc-light-blue { background-color: $light-blue; }
-.sdc-bc-lighter-blue { background-color: $lighter-blue; }
-.sdc-bc-blue-disabled { background-color: $blue-disabled; }
-.sdc-bc-dark-blue { background-color: $dark-blue; }
-.sdc-bc-black { background-color: $black; }
-.sdc-bc-rich-black { background-color: $rich-black; }
-.sdc-bc-text-black { background-color: $text-black; }
-.sdc-bc-dark-gray { background-color: $dark-gray; }
-.sdc-bc-gray { background-color: $gray; }
-.sdc-bc-light-gray { background-color: $light-gray; }
-.sdc-bc-silver { background-color: $silver; }
-.sdc-bc-light-silver { background-color: $light-silver; }
-.sdc-bc-green { background-color: $green; }
-.sdc-bc-red { background-color: $red; }
-.sdc-bc-disabled-red { background-color: $disabled-red; }
-.sdc-bc-light-red { background-color: $light-red; }
-.sdc-bc-yellow { background-color: $yellow; }
-.sdc-bc-dark-purple { background-color: $dark-purple; }
-.sdc-bc-purple { background-color: $purple; }
-.sdc-bc-light-purple { background-color: $light-purple; }
-.sdc-bc-lighter-silver { background-color: $lighter-silver; }
-/* Prefix */
-$box-sizing-prefix: webkit moz spec;
-$border-radius-prefix: webkit spec;
-$box-shadow-radius-prefix: webkit moz spec;
-$text-shadow-radius-prefix: spec;
-$text-shadow-prefix: spec;
-$box-shadow-prefix: all;
-$linear-gradient-prefix: all;
-$transition-prefix: webkit moz o spec;
-$flex-prefix: webkit spec;
-$browserPrefixes: webkit moz o ms;
-
-@mixin prefix($property, $value, $prefixeslist: 'all') {
- @if $prefixeslist == all {
- -webkit-#{$property}: $value;
- -moz-#{$property}: $value;
- -ms-#{$property}: $value;
- -o-#{$property}: $value;
- #{$property}: $value;
- } @else {
- @each $prefix in $prefixeslist {
- @if $prefix == webkit {
- -webkit-#{$property}: $value;
- } @else if $prefix == moz {
- -moz-#{$property}: $value;
- } @else if $prefix == ms {
- -ms-#{$property}: $value;
- } @else if $prefix == o {
- -o-#{$property}: $value;
- } @else if $prefix == spec {
- #{$property}: $value;
- } @else {
- @warn "No such prefix: #{$prefix}";
- }
- }
- }
-}
-
-/* Value Prefix*/
-@mixin value-suffix-with-range($property, $valuesuffix, $from, $to, $prefixeslist) {
-
- @if $prefixeslist == all {
- #{property} : -webkit-#{$valuesuffix}($from, $to);
- #{property} : -moz-#{$valuesuffix}($from, $to);
- #{property} : -o-#{$valuesuffix}($from, $to);
- #{property} : -ms-#{$valuesuffix}($from, $to);
-
- } @else {
- @each $prefix in $prefixeslist {
- @if $prefix == webkit {
- #{property} : -webkit-#{$valuesuffix}($from, $to);
- } @else if $prefix == moz {
- #{property} : -moz-#{$valuesuffix}($from, $to);
- } @else if $prefix == ms {
- #{property} : -ms-#{$valuesuffix}($from, $to);
- } @else if $prefix == o {
- #{property} : -o-#{$valuesuffix}($from, $to);
- } @else {
- @warn "No such prefix: #{$prefix}";
- }
- }
- }
-}
-
-/* Box sizing */
-@mixin box-sizing($value: border-box) {
- @include prefix(box-sizing, $value, $box-sizing-prefix);
-}
-
-/* Borders & Shadows */
-@mixin box-shadow($value) {
- @include prefix(box-shadow, $value, $box-shadow-radius-prefix);
-}
-
-@mixin text-shadow($value) {
- @include prefix(text-shadow, $value, $text-shadow-radius-prefix);
-}
-
-@mixin border-radius($value, $positions: all) {
- @if ($positions == all) {
- @include prefix(border-radius, $value, $border-radius-prefix);
- } @else {
- @each $position in $positions {
- @include prefix(border-#{$position}-radius, $value, $border-radius-prefix);
- }
- }
-
-}
-
-@mixin transition($value) {
- @include prefix(transition, $value, $transition-prefix);
-}
-
-/* Opacity */
-@mixin opacity($alpha) {
- $ie-opacity: round($alpha * 100);
- opacity: $alpha;
- filter: unquote("alpha(opacity = #{$ie-opacity})");
-}
-
-/* Ellipsis */
-@mixin ellipsis($width: 100%, $display: inline-block, $max-width: none) {
- overflow: hidden;
- text-overflow: ellipsis;
- width: $width;
- white-space: nowrap;
- display: $display;
- max-width: $max-width;
-}
-
-@mixin multiline-ellipsis($lineHeight: 1.3em, $lineCount: 2, $bgColor: $white){
- overflow: hidden;
- position: relative;
- line-height: $lineHeight;
- max-height: $lineHeight * $lineCount;
- text-align: justify;
- // margin-right: -1em;
- padding-right: 1em;
- &:before {
- content: '...';
- position: absolute;
- right: 3px;
- bottom: 0;
- }
- &:after {
- content: '';
- position: absolute;
- right: 0;
- width: 1em;
- height: 1em;
- margin-top: 0.2em;
- background: $bgColor;
- }
-}
-
-@mixin gradient($from, $to) {
- /* fallback/image non-cover color */
- background-color: $from;
- background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, from($from), to($to));
- @include value-suffix-with-range(background-color, linear-gradient, $from, $to, $linear-gradient-prefix);
-}
-
-/* Vertical placement of multuple lines of text */
-@mixin vertical-text($height) {
- position: absolute;
- top: 50%;
- margin-top: -$height/2;
-}
-
-@mixin text-vertical-align($align: middle) {
- display: table;
- width: 100%;
-
- & > * {
- vertical-align: $align;
- display: table-cell;
- }
-}
-
-@mixin center-element($width) {
- width: $width;
- margin-left: auto;
- margin-right: auto;
-}
-
-@mixin center-content($width) {
- & > * {
- @include center-element($width);
- }
-}
-
-/* transform-rotate */
-// @mixin
-// Defines a 2D rotation, the angle is specified in the parameter
-// @param
-// $deg - angle in degrees
-@mixin transform-rotate($deg) {
- transform: rotate($deg + deg); /* IE10 and Mozilla */
- -ms-transform: rotate($deg + deg); /* IE 9 */
- -webkit-transform: rotate($deg + deg); /* Safari and Chrome */
-}
-
-/* transform-translate */
-// @mixin
-// Defines a 2D rotation, the angle is specified in the parameter
-// @param
-// $deg - angle in degrees
-@mixin transform-translate($x, $y) {
- transform: translate($x, $y); /* IE10 and Mozilla */
- -ms-transform: translate($x, $y); /* IE 9 */
- -webkit-transform: translate($x, $y); /* Safari and Chrome */
-}
-
-/* transform-scale */
-// @mixin
-// Defines a 2D scale transformation, changing the elements width and height
-// @param
-// $width - width
-// @param
-// $height - height
-@mixin transform-scale($width, $height) {
- transform: scale($width, $height); /* IE10 and Mozilla */
- -ms-transform: scale($width, $height); /* IE 9 */
- -webkit-transform: scale($width, $height); /* Safari and Chrome */
-}
-
-@mixin scrollable() {
- ::-webkit-scrollbar {
- width: 8px;
- }
-}
-
-@mixin create-circle($size, $bgcolor, $content) {
- border-radius: 50%;
- width: $size;
- height: $size;
- background: $bgcolor;
- border: 3px solid $bgcolor;
- &:after {
- content: $content;
- position: relative;
- left: 9px;
- top: 9px;
- @include base-font-semibold;
- font-size: $body-font-1;
- }
-}
-
-/**/
-@mixin keyframe-animation($animationType, $properties, $fromValue, $toValue) {
-
- @keyframes #{$animationType} {
- from {
- $startIndex: 1;
- @each $property in $properties {
- #{$property}: nth($fromValue, $startIndex);
- $startIndex: $startIndex + 1;
- }
- }
- to {
- $startIndex: 1;
- @each $property in $properties {
- #{$property}: nth($toValue, $startIndex);
- $startIndex: $startIndex + 1;
- }
- }
- }
- @-moz-keyframes #{$animationType}{
- /* Firefox */
- from {
- $startIndex: 1;
- @each $property in $properties {
- #{$property}: nth($fromValue, $startIndex);
- $startIndex: $startIndex + 1;
- }
- }
- to {
- $startIndex: 1;
- @each $property in $properties {
- #{$property}: nth($toValue, $startIndex);
- $startIndex: $startIndex + 1;
- }
- }
- }
- @-webkit-keyframes #{$animationType} {
- /* Safari and Chrome */
- from {
- $startIndex: 1;
- @each $property in $properties {
- #{$property}: nth($fromValue, $startIndex);
- $startIndex: $startIndex + 1;
- }
- }
- to {
- $startIndex: 1;
- @each $property in $properties {
- #{$property}: nth($toValue, $startIndex);
- $startIndex: $startIndex + 1;
- }
- }
- }
- @-o-keyframes #{$animationType} {
- /* Opera */
- from {
- $startIndex: 1;
- @each $property in $properties {
- #{$property}: nth($fromValue, $startIndex);
- $startIndex: $startIndex + 1;
- }
- }
- to {
- $startIndex: 1;
- @each $property in $properties {
- #{$property}: nth($toValue, $startIndex);
- $startIndex: $startIndex + 1;
- }
- }
- }
-}
-
-
-/**/
-@mixin border-shadow($xShadow: 0.545px, $yShadow: 0.839px, $blur: 4px, $spread: 0, $color: $light-gray, $opacity: 0.2) {
- @include box-shadow($xShadow $yShadow $blur $spread rgba($color, $opacity));
-}
-
-%noselect {
- -webkit-touch-callout: none;
- -webkit-user-select: none;
- -moz-user-select: none;
- -ms-user-select: none;
- user-select: none;
-}
diff --git a/src/style/scss/common/variables.scss b/src/style/scss/common/variables.scss
deleted file mode 100644
index 38eded4..0000000
--- a/src/style/scss/common/variables.scss
+++ /dev/null
@@ -1,35 +0,0 @@
-// Colors
-$black: #000000;
-$rich-black: #323943;
-$text-black: #191919;
-$blue: #009fdb;
-$dark-blue: #0568ae;
-$light-blue: #1eb9f3;
-$lighter-blue: #e6f6fb;
-$blue-disabled: #9dd9ef;
-$red: #cf2a2a;
-$light-red:#ed4141;
-$disabled-red:#f4adad;
-$purple: #9063cd;
-$dark-purple: #702f8a;
-$yellow: #ffb81c;
-$green: #4ca90c;
-$gray: #959595;
-$dark-gray: #5a5a5a;
-$light-gray: #d2d2d2;
-$light-silver: #f2f2f2;
-$silver: #eaeaea;
-
-
-$light-purple: #caa2dd;
-$lighter-silver: #f8f8f8;
-$white: #ffffff;
-
-$scroll-bar-color: $text-black;
-
-// Button Sizes
-$btn-extra-small: 90px;
-$btn-small: 110px;
-$btn-medium: 140px;
-$btn-large: 180px;
-$btn-default: auto;
diff --git a/src/style/scss/style.scss b/src/style/scss/style.scss
deleted file mode 100644
index 5512776..0000000
--- a/src/style/scss/style.scss
+++ /dev/null
@@ -1,6 +0,0 @@
-@import "common";
-@import "components";
-
-// for angular
-@import "angular/svg_icon";
-@import "angular/tooltip_custom_style";
diff --git a/src/style/scss/themes/1802/_components.scss b/src/style/scss/themes/1802/_components.scss
deleted file mode 100644
index 6800005..0000000
--- a/src/style/scss/themes/1802/_components.scss
+++ /dev/null
@@ -1,23 +0,0 @@
-/* Deafult theme */
-@import "../../../../../components/tile/tile";
-@import "../../../../../components/checkbox/checkbox";
-@import "../../../../../components/radio/radio";
-@import "../../../../../components/radioGroup/radioGroup";
-@import "../../../../../components/icon/icon";
-@import "../../../../../components/input/input";
-@import "../../../../../components/dropdown/dropdown";
-@import "../../../../../components/menu/menu";
-@import "../../../../../components/filter-bar/_filter-bar";
-@import "../../../../../components/search-bar/_search-bar";
-@import "../../../../../components/checklist/checklist";
-@import "../../../../../components/autocomplete/autocomplete";
-@import "../../../../../components/tooltip/tooltip";
-@import "../../../../../components/tag-cloud/_tag-cloud";
-@import "../../../../../components/notification/notification";
-@import "../../../../../components/notifications-container/notifications-container";
-@import "../../../../../components/validation/validation";
-
-/* 1802 theme */
-@import "button";
-@import "modal";
-@import "tabs";
diff --git a/src/style/scss/themes/1802/button.scss b/src/style/scss/themes/1802/button.scss
deleted file mode 100644
index 05d91d5..0000000
--- a/src/style/scss/themes/1802/button.scss
+++ /dev/null
@@ -1,148 +0,0 @@
-.sdc-button {
- @include box-sizing;
- display: inline-block;
-
- outline: none;
- border-radius: 2px;
- padding: 0 16px;
-
- height: 32px;
- line-height: 32px;
- width: 120px;
- min-width: 90px;
-
- cursor: pointer;
- text-align: center;
- @include body-1;
- &:disabled {
- cursor: default;
- }
-
- // Primary button
- &.sdc-button__primary {
- border: none;
- background-color: $blue;
- color: $white;
-
- &:not(:disabled) {
- &:hover, &:active {
- background-color: $light-blue;
- }
- &:focus:not(:active) {
- border: 0.5px solid $white;
- background-color: $light-blue;
- box-shadow: 0px 0px 0px 1px $light-blue;
- }
- }
-
- &:disabled{
- background: $blue-disabled;
- }
- }
-
- // Secondary button
- &.sdc-button__secondary {
- border: 1px solid $light-gray;
- background-color: transparent;
- color: $text-black;
-
- &:not(:disabled) {
- &:hover, &:active {
- background-color: transparent;
- color:$text-black;
- border: 1px solid $gray;
- }
- &:focus:not(:active) {
- color: $text-black;
- box-shadow: inset 0px 0px 0px 0px $light-gray, 0px 0px 0px 1px $gray;
- }
- }
-
- &:disabled {
- color: $blue-disabled;
- border-color: $blue-disabled;
- }
- }
-
- // Link button
- &.sdc-button__link {
- background-color: transparent;
- color: $blue;
- fill: $blue;
- border: none;
-
- &:not(:disabled) {
- &:hover, &:active {
- color: $light-blue;
- }
- &:focus:not(:active) {
- border: 1px solid $dark-blue;
- color: $light-blue;
- }
- }
-
- &:disabled{
- color: $blue-disabled;
- }
- }
-
-
- // alert button
- &.sdc-button__alert {
- border: none;
- background-color: $red;
- color: $white;
-
- &:not(:disabled) {
- &:hover, &:active {
- background-color: $light-red;
- }
- &:focus:not(:active) {
- border: 0.5px solid $white;
- background-color: $light-red;
- box-shadow: 0px 0px 0px 1px $light-red;
- }
- }
-
- &:disabled{
- background: $disabled-red;
- }
- }
-
-
- /*** Sizes ***/
- &.btn-large{
- width: $btn-large;
- }
-
- &.btn-medium{
- width: $btn-medium;
- }
-
- &.btn-small{
- width: $btn-small;
- }
-
- &.btn-x-small{
- width: $btn-extra-small;
- }
-
- &.btn-default{
- width: $btn-default;
- }
-
- /*** Buttons with icons ***/
- .sdc-icon-right{
- margin-left: 15px;
- }
-
- .sdc-icon-left{
- margin-right: 15px;
- }
-
- svg {
- display: inline-block;
- vertical-align: middle;
- }
-}
-
diff --git a/src/style/scss/themes/1802/modal.scss b/src/style/scss/themes/1802/modal.scss
deleted file mode 100644
index de99d52..0000000
--- a/src/style/scss/themes/1802/modal.scss
+++ /dev/null
@@ -1,193 +0,0 @@
-
-.sdc-modal {
- position: fixed;
- top: 0;
- right: 0;
- bottom: 0;
- left: 0;
-
- overflow: auto;
- margin: auto;
- display: flex;
- align-items: center;
- z-index: 1001;
-
-
- svg path {
- fill: inherit;
- }
-
- .sdc-modal__wrapper {
- @include body-1;
- background: $white;
- width: 100%;
-
- @include box-shadow(0 0 4px 0 rgba(0,0,0,0.50));
- color: $text-black;
- display: flex;
- flex-direction: column;
- &.sdc-modal-type-info {
- border-top: solid 6px $blue;
- .sdc-modal__svg-use {
- fill: $blue;
- }
- .svg-icon {
- &.__errorCircle {
- width: 30px;
- height: 30px;
- }
- }
- }
- &.sdc-modal-type-alert {
- border-top: solid 6px $yellow;
- .sdc-modal__svg-use {
- fill: $yellow;
- }
- .svg-icon {
- &.__exclamationTriangleLine {
- width: 30px;
- height: 30px;
- }
- }
- }
- &.sdc-modal-type-error {
- border-top: solid 6px $red;
- .sdc-modal__svg-use {
- fill: $red;
- }
- .svg-icon {
- &.__error {
- width: 30px;
- height: 30px;
- }
- }
- }
- &.sdc-modal-type-custom {
- padding: 0 30px;
- border-radius: 4px;
-
- .sdc-custom__header {
- @include box-sizing;
- color: $dark-gray;
- height: 50px;
- border-bottom: solid 3px $blue;
- padding: 0;
-
- .title {
- @include heading-3;
- color: $dark-gray;
- }
-
- .sdc-modal__close-button {
- margin-top: 0px;
- width: 20px;
- height: 14px;
- }
- .sdc-modal__close-button-svg {
- width: 20px;
- height: 20px;
- .sdc-modal__svg-use {
- fill: $white;
- }
- .svg-icon {
- height: 14px;
- width: 14px;
- fill: $white;
- }
- }
- }
- .sdc-modal__content {
- padding: 20px 40px;
- }
- }
- .sdc-modal__header {
- padding: 0px 10px 8px 14px;
- display: flex;
- justify-content: space-between;
- text-align: left;
- .sdc-modal__icon {
- padding: 20px 12px 0px 6px;
- }
-
- .title {
- @include heading-2;
- flex: 1 1 auto;
- color: $text-black;
- padding-top: 19px;
- }
-
- .sdc-modal__close-button {
- order:3;
- width: 14px;
- height: 14px;
- margin-top:10px;
- cursor: pointer;
- .sdc-modal__svg-use {
- fill: $black;
- }
- }
- }
- .sdc-modal__content {
- order:2;
- padding-left: 63px;
- padding-right: 68px;
- padding-bottom: 26px;
- }
-
- .sdc-modal__footer {
- order:3;
- background-color: $light-silver;
- border-top: solid 1px $silver;
- padding: 17px 30px;
- display: flex;
- justify-content: flex-end;
- margin: 0 -30px;
- button{
- margin-left: 10px;
- }
- }
- }
-}
-
-.modal-background {
- position: fixed;
- top: 0;
- right: 0;
- bottom: 0;
- left: 0;
- background-color: $black;
- opacity: 0.70;
- z-index: 1000;
-
- &.show {
- z-index: 1000;
- opacity: 0.70;
- transition: opacity .3s ease, z-index .3s;
- }
- &.hide {
- z-index: -1;
- opacity: 0;
- transition: opacity .35s ease, z-index .35s;
- }
-}
-
-.xl {
- width: 1200px;
-}
-
-.l {
- width: 875px;
-}
-
-.md {
- width: 650px;
-}
-
-.sm {
- width: 500px;
-}
-
-.xsm {
- width: 432px;
-}
-
diff --git a/src/style/scss/themes/1802/style.scss b/src/style/scss/themes/1802/style.scss
deleted file mode 100644
index ae314d8..0000000
--- a/src/style/scss/themes/1802/style.scss
+++ /dev/null
@@ -1,5 +0,0 @@
-@import "../../common";
-@import "components";
-
-// for angular
-@import "../../angular/svg_icon";
diff --git a/src/style/scss/themes/1802/tabs.scss b/src/style/scss/themes/1802/tabs.scss
deleted file mode 100644
index 70ee4cb..0000000
--- a/src/style/scss/themes/1802/tabs.scss
+++ /dev/null
@@ -1,39 +0,0 @@
-.sdc-tabs {
- .sdc-tab {
- background-color: $white;
- border: 1px solid $silver;
- border-left: none;
- display: inline-block;
- height: 36px;
- text-align: center;
- cursor: pointer;
- padding: 2px 10px 0 10px;
- margin: 0;
-
-
- &:first-child {
- border-left: 1px solid $silver;
- }
- &.sdc-tab-active {
- background-color: $silver;
- }
- &[disabled] {
- opacity: 0.3;
- cursor: default;
- }
- }
- &.sdc-tabs-header {
- .sdc-tab {
- @include heading-2;
- }
- }
- &.sdc-tabs-menu {
- .sdc-tab {
- @include body-1;
- padding: 0px 10px 4px 10px;
- }
- }
- .sdc-tab-content {
- margin-top: 30px;
- }
-}
diff --git a/stories/README.md b/stories/README.md
deleted file mode 100644
index 7ed8e9d..0000000
--- a/stories/README.md
+++ /dev/null
@@ -1,9 +0,0 @@
-# Storybook
-
-This is the part of the repo that is responsible for defining and building the stories for storybook. Take a look at the following guides for your assistance:
-
-## Adding a new component to storybook
-See [wiki page](https://github.com/onap-sdc/sdc-ui/wiki/Adding-a-new-component-to-storybook).
-
-## Deploying storybook to a fork's github pages
-See [wiki page](https://github.com/onap-sdc/sdc-ui/wiki/Deploying-storybook-to-a-fork's-github-pages).
diff --git a/stories/angular/accordion.stories.ts b/stories/angular/accordion.stories.ts
new file mode 100644
index 0000000..20209eb
--- /dev/null
+++ b/stories/angular/accordion.stories.ts
@@ -0,0 +1,154 @@
+import { storiesOf } from '@storybook/angular';
+import { withKnobs, text, number, boolean, array, select, color, date, button } from '@storybook/addon-knobs';
+import { withNotes } from '@storybook/addon-notes';
+import { action, configureActions } from '@storybook/addon-actions';
+import { moduleMetadata } from '@storybook/angular';
+import { AccordionComponent } from '../../src/angular/components';
+import { SvgIconModule } from '../../src/angular/svg-icon/svg-icon.module';
+
+const positions = ['right', 'left'];
+
+storiesOf('Accordion', module)
+ .addDecorator(withKnobs)
+ .addDecorator(withNotes)
+ .addDecorator(
+ moduleMetadata({
+ declarations: [AccordionComponent],
+ imports: [
+ SvgIconModule
+ ]
+ })
+ )
+ .add('Simple accordion', () => {
+ const _title = text('title', 'Accordion header');
+
+ return {
+ props: {
+ _title
+ },
+ template: `
+ <sdc-accordion [title]="_title">
+ <p>
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce consequat dictum porttitor.
+ Nam facilisis, dui nec maximus facilisis, nisl eros mattis arcu, nec pharetra nisl nisi vitae metus.
+ Vestibulum urna nunc, fringilla nec imperdiet a, varius hendrerit neque. Aliquam pulvinar turpis enim, ac hendrerit dui blandit eu.
+ Curabitur ut mollis arcu, ac iaculis turpis. Pellentesque lobortis leo justo. Morbi commodo cursus dignissim.
+ Nam orci diam, mattis eget leo vel, tincidunt interdum dui.
+ Donec dapibus mauris non sapien ornare, non pharetra mi commodo.
+ </p>
+ </sdc-accordion>
+ `
+ }})
+
+ .add('Accordion arrow position', () => {
+ const _title = text('title', 'Accordion header');
+ const _arrow_direction = select('arrow-direction', positions, 'left', '');
+
+ return {
+ props: {
+ _title, _arrow_direction
+ },
+ template: `
+ <sdc-accordion
+ [title]="_title"
+ [arrow-direction]="_arrow_direction"
+ >
+ <p>
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce consequat dictum porttitor.
+ Nam facilisis, dui nec maximus facilisis, nisl eros mattis arcu, nec pharetra nisl nisi vitae metus.
+ Vestibulum urna nunc, fringilla nec imperdiet a, varius hendrerit neque. Aliquam pulvinar turpis enim, ac hendrerit dui blandit eu.
+ Curabitur ut mollis arcu, ac iaculis turpis. Pellentesque lobortis leo justo. Morbi commodo cursus dignissim.
+ Nam orci diam, mattis eget leo vel, tincidunt interdum dui.
+ Donec dapibus mauris non sapien ornare, non pharetra mi commodo.
+ </p>
+ </sdc-accordion>
+ `
+ }})
+
+ .add('Accordion custom class', () => {
+ const _title = text('title', 'Accordion header');
+ const _arrow_direction = select('arrow-direction', positions, 'left', '');
+ const _css_class = text('css_class', 'sdc-accordion-custom-class');
+
+ return {
+ props: {
+ _title, _arrow_direction, _css_class
+ },
+ template: `
+ <sdc-accordion
+ [title]="_title"
+ [arrow-direction]="_arrow_direction"
+ [css-class]="_css_class"
+ >
+ <p>
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce consequat dictum porttitor.
+ Nam facilisis, dui nec maximus facilisis, nisl eros mattis arcu, nec pharetra nisl nisi vitae metus.
+ Vestibulum urna nunc, fringilla nec imperdiet a, varius hendrerit neque. Aliquam pulvinar turpis enim, ac hendrerit dui blandit eu.
+ Curabitur ut mollis arcu, ac iaculis turpis. Pellentesque lobortis leo justo. Morbi commodo cursus dignissim.
+ Nam orci diam, mattis eget leo vel, tincidunt interdum dui.
+ Donec dapibus mauris non sapien ornare, non pharetra mi commodo.
+ </p>
+ </sdc-accordion>
+ `
+ }})
+
+ .add('Accordion open', () => {
+ const _title = text('title', 'Accordion header');
+ const _arrow_direction = select('arrow-direction', positions, 'left', '');
+ const _css_class = text('css_class', 'custom-class');
+ const _open = boolean('open', true, '');
+
+ return {
+ props: {
+ _title, _arrow_direction, _css_class, _open
+ },
+ template: `
+ <sdc-accordion
+ [title]="_title"
+ [arrow-direction]="_arrow_direction"
+ [css-class]="_css_class"
+ [open]="_open"
+ >
+ <p>
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce consequat dictum porttitor.
+ Nam facilisis, dui nec maximus facilisis, nisl eros mattis arcu, nec pharetra nisl nisi vitae metus.
+ Vestibulum urna nunc, fringilla nec imperdiet a, varius hendrerit neque. Aliquam pulvinar turpis enim, ac hendrerit dui blandit eu.
+ Curabitur ut mollis arcu, ac iaculis turpis. Pellentesque lobortis leo justo. Morbi commodo cursus dignissim.
+ Nam orci diam, mattis eget leo vel, tincidunt interdum dui.
+ Donec dapibus mauris non sapien ornare, non pharetra mi commodo.
+ </p>
+ </sdc-accordion>
+ `
+ }})
+
+ .add('Accordion full', () => {
+ const _title = text('title', 'Accordion header');
+ const _arrow_direction = select('arrow-direction', positions, 'left', '');
+ const _css_class = text('css_class', 'custom-class');
+ const _open = boolean('open', true, '');
+ const _accordionChanged = text('(accordionChanged)', 'Accoridon changed event (see in action tab), ');
+
+ return {
+ props: {
+ accordionChanged: action('Accordion changed event '),
+ _title, _arrow_direction, _css_class, _open
+ },
+ template: `
+ <sdc-accordion
+ [title]="_title"
+ [arrow-direction]="_arrow_direction"
+ [css-class]="_css_class"
+ [open]="_open"
+ (accordionChanged)="accordionChanged($event)"
+ >
+ <p>
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce consequat dictum porttitor.
+ Nam facilisis, dui nec maximus facilisis, nisl eros mattis arcu, nec pharetra nisl nisi vitae metus.
+ Vestibulum urna nunc, fringilla nec imperdiet a, varius hendrerit neque. Aliquam pulvinar turpis enim, ac hendrerit dui blandit eu.
+ Curabitur ut mollis arcu, ac iaculis turpis. Pellentesque lobortis leo justo. Morbi commodo cursus dignissim.
+ Nam orci diam, mattis eget leo vel, tincidunt interdum dui.
+ Donec dapibus mauris non sapien ornare, non pharetra mi commodo.
+ </p>
+ </sdc-accordion>
+ `
+ }});
diff --git a/stories/angular/autocomplete.stories.ts b/stories/angular/autocomplete.stories.ts
new file mode 100644
index 0000000..89f1c23
--- /dev/null
+++ b/stories/angular/autocomplete.stories.ts
@@ -0,0 +1,127 @@
+import { storiesOf } from '@storybook/angular';
+import { withKnobs, text, number, boolean, array, select, color, date, button, object } from '@storybook/addon-knobs';
+import { withNotes } from '@storybook/addon-notes';
+import { action, configureActions } from '@storybook/addon-actions';
+import { moduleMetadata } from '@storybook/angular';
+import { AutoCompleteComponent, AutocompletePipe } from '../../src/angular/components';
+import { FilterBarModule } from '../../src/angular/filterbar/filter-bar.module';
+import { HttpClient, HttpHandler } from '@angular/common/http';
+import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
+
+storiesOf('AutoComplete', module)
+ .addDecorator(withKnobs)
+ .addDecorator(withNotes)
+ .addDecorator(
+ moduleMetadata({
+ declarations: [
+ AutoCompleteComponent
+ ],
+ imports: [
+ FilterBarModule,
+ BrowserAnimationsModule
+ ],
+ providers: [
+ HttpClient, HttpHandler, AutocompletePipe
+ ]
+ })
+ )
+ .add('Simple data', () => {
+ const sampleData = ['red', 'yellow', 'orange', 'green', 'white', 'black'];
+
+ const _label = text('label', 'Simple data (Array)');
+ const _placeholder = text('placeholder', 'Simple data');
+ const _data = array('data', sampleData, ',');
+ const _event = text('(itemSelected)', 'Event thrown when item selected');
+
+ return {
+ props: {
+ itemSelected: action('Item was selected '),
+ _label, _placeholder, _data, _event
+ },
+ template: `
+ <div class='storybook-component-wrapper'>
+ <div class='storybook-component-info'>Start writing name of color to see autocomplete in action</div>
+ <sdc-autocomplete
+ [placeholder]="_placeholder"
+ [label]="_label"
+ [data]="_data"
+ (itemSelected)="itemSelected($event)"
+ >
+ </sdc-autocomplete>
+ </div>
+ `
+ }
+ },
+ { notes: `<h2>Simple data</h2>
+ Using simple data (array), do not need to pass dataSchema.
+ `
+ }
+).add('Complex data', () => {
+ const sampleData = [
+ {id: 'redId', color: 'red'},
+ {id: 'yellowId', color: 'yellow'},
+ {id: 'orangeId', color: 'orange'},
+ {id: 'greenId', color: 'green'},
+ {id: 'whiteId', color: 'white'},
+ {id: 'blackId', color: 'black'}
+ ];
+ const sampleSchema = {key: 'id', value: 'color'};
+
+ const _label = text('label', 'Complex data (Object)');
+ const _placeholder = text('placeholder', 'Complex data');
+ const _data = array('*data', sampleData, ',');
+ const _dataSchema = object('dataSchema', sampleSchema);
+ const _event = text('*(itemSelected)', 'Event thrown when item selected');
+
+ return {
+ props: {
+ itemSelected: action('Item was selected '),
+ _label, _placeholder, _data, _dataSchema, _event
+ },
+ template: `
+ <sdc-autocomplete
+ [placeholder]="_placeholder"
+ [label]="_label"
+ [data]="_data"
+ [dataSchema]="_dataSchema"
+ (itemSelected)="itemSelected($event)"
+ >
+ </sdc-autocomplete>
+ `
+ }
+ },
+ { notes: `<h2>Complex data</h2>
+ Using complex data (object), need to pass also dataSchema.
+ `
+ }
+).add('Backend data', () => {
+ const sampleSchema = {key: 'id', value: 'color'};
+
+ const _label = text('label', 'Complex data (Object)');
+ const _placeholder = text('placeholder', 'Complex data');
+ const _dataUrl = text('dataUrl', '../angular/helpers/autocomplete-server-mock.json');
+ const _dataSchema = object('dataSchema', sampleSchema);
+ const _event = text('*(itemSelected)', 'Event thrown when item selected');
+
+ return {
+ props: {
+ itemSelected: action('Item was selected '),
+ _label, _placeholder, _dataSchema, _dataUrl, _event
+ },
+ template: `
+ <sdc-autocomplete
+ [placeholder]="_placeholder"
+ [label]="_label"
+ [dataUrl]="_dataUrl"
+ [dataSchema]="_dataSchema"
+ (itemSelected)="itemSelected($event)"
+ >
+ </sdc-autocomplete>
+ `
+ }
+ },
+ { notes: `<h2>Data from server</h2>
+ Example of auto complete with complex data from server. (In this example the data is not really filtered, because it is from mock data).
+ `
+ }
+);
diff --git a/stories/angular/button.stories.ts b/stories/angular/button.stories.ts
new file mode 100644
index 0000000..582abbf
--- /dev/null
+++ b/stories/angular/button.stories.ts
@@ -0,0 +1,229 @@
+import { storiesOf } from '@storybook/angular';
+import { ButtonComponent } from '../../src/angular/buttons/button.component';
+import { ButtonFileOpenerComponent } from '../../src/angular/buttons/button-file-opener.component';
+import { moduleMetadata } from '@storybook/angular';
+import { SvgIconModule } from '../../src/angular/svg-icon/svg-icon.module';
+import { action } from '@storybook/addon-actions';
+import { withKnobs, text, number, boolean, array, select, color, date, button } from '@storybook/addon-knobs';
+import { withNotes } from '@storybook/addon-notes';
+
+const buttonTypes = ['primary', 'secondary', 'link', 'success', 'error', 'warning', 'info'];
+const buttonSizes = ['large', 'medium', 'small', 'x-small', 'default'];
+const positions = ['right', 'left'];
+const iconsNames = ['settings-o', 'plus-circle-o', 'plus-circle', 'caret2-right-circle-o'];
+
+/**
+ * There is strange behaviour with Storybook storyname, if the name is string 'aaaa', then all stories
+ * need to be string, you can not do const aaaa = 'aaaa' and pass the parameter aaaa as storyname.
+ */
+const storiesNames = {
+ defaultButton: 'Default button',
+ typesButtons: 'Button ',
+ withIcon: 'Button with icon',
+ withSpinner: 'Button with spinner',
+ buttonFileOpener: 'Button file opener'
+}
+
+let stories = storiesOf('Form elements|Buttons', module)
+.addDecorator(withKnobs)
+.addDecorator(withNotes)
+.addDecorator(
+ moduleMetadata({
+ declarations: [
+ ButtonComponent,
+ ButtonFileOpenerComponent
+ ],
+ imports: [
+ SvgIconModule
+ ]
+ })
+);
+
+stories.add(storiesNames.defaultButton, () => {
+
+ const _text1 = text('text', 'Default button long text');
+ const _testId1 = text('testId', 'button-test-id-1');
+ const click1 = text('(click)', 'call back function');
+
+ const _text2 = text('text', 'Sample button');
+ const _testId2 = text('testId', 'button-test-id-2');
+ const click2 = text('(click)', 'call back function');
+
+ return {
+ props: {
+ buttonClick1: action('Button 1 was clicked'),
+ buttonClick2: action('Button 2 was clicked'),
+ _text1, _testId1,
+ _text2, _testId2
+ },
+ template: `
+ <div class='storybook-component-wrapper'>
+ <div class='storybook-component-info'>With large text</div>
+ <sdc-button
+ [text]="_text1"
+ [testId]="_testId1"
+ (click)="buttonClick1()"
+ >
+ </sdc-button>
+
+ <div class='storybook-component-info'>With small text</div>
+ <sdc-button
+ [text]="_text2"
+ [testId]="_testId2"
+ (click)="buttonClick2()"
+ >
+ </sdc-button>
+ </div>
+ `
+ }
+ },
+ { notes: `<h2>Default button</h2>
+ Does not need to supply type or size.
+ The size of the button set to 'default' so it will shrink or expand according to the content.`
+ }
+);
+
+buttonTypes.forEach((buttonType) => {
+
+ stories.add(storiesNames.typesButtons + buttonType, () => {
+
+ const _text = text('text', buttonType);
+ const _type = text('type', buttonType);
+ // Do not allow this, because we are showing each button type as different story.
+ // const _type = select('type', buttonTypes, buttonType, '');
+ const _testId = text('testId', 'button-test-id-' + buttonType);
+ // No need to add the size to prop, not using it
+ const _size = text('size', 'Avilable sizes: ' + buttonSizes);
+ const _disabled = boolean('disabled', true);
+ const click = text('(click)', 'call back function');
+
+ return {
+ props: {
+ buttonClick: action('Button was clicked (see in action logger tab)'),
+ _text, _testId, _type, _disabled
+ },
+ template:
+ `<div class='storybook-new-row'>` +
+ buttonSizes.map((currentSize) => `
+ <div class='storybook-component-wrapper'>
+ <div class='storybook-component-info'>${currentSize} size</div>
+ <sdc-button
+ [text]="_text"
+ [type]="_type"
+ size="${currentSize}"
+ [testId]="_testId"
+ (click)="buttonClick()">
+ </sdc-button>
+ </div>
+ `).join('\n') +
+ `</div>
+ <div class='storybook-new-row'>`
+ .concat(
+ buttonSizes.map((currentSize) => `
+ <div class='storybook-component-wrapper'>
+ <sdc-button
+ [text]="_text"
+ [type]="_type"
+ size="${currentSize}"
+ [testId]="_testId"
+ [disabled]="_disabled"
+ (click)="buttonClick()">
+ </sdc-button>
+ </div>
+ `).join('\n') +
+ '</div>'
+ )
+ };
+
+ });
+});
+
+stories.add(storiesNames.withIcon, () => {
+
+ const _text = text('text', 'Sample');
+ const _testId = text('testId', 'button-test-id-with-icon');
+ const _type = select('type', buttonTypes, 'primary', '');
+ const _icon_position = select('icon_position', positions, 'left', '');
+ const _icon_name = select('icon_name', iconsNames, 'settings-o', '');
+ const click = text('(click)', 'call back function');
+
+ return {
+ props: {
+ buttonClick: action('Button was clicked (see in action logger tab)'),
+ _text, _testId, _type, _icon_position, _icon_name
+ },
+ template: `
+ <sdc-button
+ [text]="_text"
+ [testId]="_testId"
+ [type]="_type"
+ [icon_name]="_icon_name"
+ [icon_position]="_icon_position"
+ (click)="buttonClick()"
+ >
+ </sdc-button>
+ `
+ };
+
+});
+
+stories.add(storiesNames.withSpinner, () => {
+
+ const _text = text('text', 'Spinner button');
+ const _testId = text('testId', 'button-test-id-with-icon');
+ const _type = select('type', buttonTypes, 'primary', '');
+ const _show_spinner = boolean('show_spinner', false, '');
+ const _spinner_position = select('spinner_position', positions, 'right', '');
+ const click = text('(click)', 'call back function');
+
+ return {
+ props: {
+ buttonClick: (button) => {
+ button.show_spinner = true;
+ setTimeout(() => {button.show_spinner = false},2000);
+ action('Button was clicked (see in action logger tab)');
+ },
+ _text, _testId, _type, _show_spinner, _spinner_position
+ },
+ template: `
+ <sdc-button
+ #button
+ [text]="_text"
+ [testId]="_testId"
+ [type]="_type"
+ [show_spinner]="_show_spinner"
+ [spinner_position]="_spinner_position"
+ (click)="buttonClick(button)"
+ >
+ </sdc-button>
+ `
+ };
+ });
+
+
+stories.add(storiesNames.buttonFileOpener, () => {
+
+ const _text = text('text', 'Open file');
+ const _testId = text('testId', 'button-test-id-file-opener');
+ const _type = select('type', buttonTypes, 'primary', '');
+ const _extensions = text('extensions', 'ts,js');
+ const fileUpload = text('(fileUpload)', 'call back function when file upload');
+
+ return {
+ props: {
+ fileUpload: action('File updaload action'),
+ _text, _testId, _type, _extensions
+ },
+ template: `
+ <sdc-button-file-opener
+ #button
+ [text]="_text"
+ [testId]="_testId"
+ [type]="_type"
+ [extensions]="_extensions"
+ (fileUpload)="fileUpload($event)"
+ >
+ </sdc-button-file-opener>
+ `
+ };
+ });
diff --git a/stories/angular/checkbox.stories.ts b/stories/angular/checkbox.stories.ts
new file mode 100644
index 0000000..c02e2e2
--- /dev/null
+++ b/stories/angular/checkbox.stories.ts
@@ -0,0 +1,50 @@
+import { storiesOf } from '@storybook/angular';
+import { withKnobs, text, number, boolean, array, select, color, date, button } from '@storybook/addon-knobs';
+import { withNotes } from '@storybook/addon-notes';
+import { action, configureActions } from '@storybook/addon-actions';
+import { moduleMetadata } from '@storybook/angular';
+import { CheckboxComponent } from '../../src/angular/components';
+import { RippleClickAnimationDirective } from '../../src/angular/animations/ripple-click.animation.directive';
+
+storiesOf('Form elements|Checkbox', module)
+ .addDecorator(withKnobs)
+ .addDecorator(withNotes)
+ .addDecorator(
+ moduleMetadata({
+ declarations: [
+ CheckboxComponent,
+ RippleClickAnimationDirective
+ ],
+ imports: [
+ ]
+ })
+ )
+ .add('Simple checkbox', () => {
+ const _label = text('label', 'Simple checkbox');
+ const _checked = boolean('checked', false);
+ const _disabled = boolean('disabled', false);
+ const _testId = text('testId', 'smalpe-test-id');
+ const _checkedChange = text('*(checkedChange)', 'Event throws when checked changed, see in Action logger tab.');
+
+ return {
+ props: {
+ checkedChange: action('Checkbox value changed '),
+ _label, _checked, _disabled, _testId
+ },
+ template: `
+ <sdc-checkbox
+ [label]="_label"
+ [checked]="_checked"
+ [disabled]="_disabled"
+ [testId]="_testId"
+ (checkedChange)="checkedChange($event)"
+ >
+ </sdc-checkbox>
+ `
+ }
+ },
+ { notes: `<h2>Checkbox</h2>
+ Full example of checkbox.
+ Use the KNOBS tab to change values.`
+ }
+)
diff --git a/stories/angular/checklist.stories.ts b/stories/angular/checklist.stories.ts
new file mode 100644
index 0000000..92e0ada
--- /dev/null
+++ b/stories/angular/checklist.stories.ts
@@ -0,0 +1,51 @@
+import { storiesOf } from '@storybook/angular';
+import { withKnobs, text, number, boolean, array, select, color, date, button, object } from '@storybook/addon-knobs';
+import { withNotes } from '@storybook/addon-notes';
+import { action, configureActions } from '@storybook/addon-actions';
+import { moduleMetadata } from '@storybook/angular';
+import { ChecklistComponent, CheckboxComponent } from '../../src/angular/components';
+import { ChecklistModel, ChecklistItemModel } from '../../src/angular/common';
+import { RippleAnimationAction } from '../../src/angular/animations/ripple-click.animation.directive';
+
+const checkListModelExample: ChecklistModel = new ChecklistModel([],[
+ new ChecklistItemModel('apple'),
+ new ChecklistItemModel('banana'),
+ new ChecklistItemModel('orange')
+]);
+
+storiesOf('Form elements|Checklist', module)
+ .addDecorator(withKnobs)
+ .addDecorator(withNotes)
+ .addDecorator(
+ moduleMetadata({
+ declarations: [
+ ChecklistComponent,
+ RippleAnimationAction,
+ CheckboxComponent
+ ],
+ imports: [
+ ]
+ })
+ )
+ .add('Simple checklist', () => {
+ //const _checklistModel = object('checklistModel', checkListModelExample);
+ const _checkedChange = text('*(checkedChange)', 'Event throws when checklist changed, see in Action logger tab.');
+
+ return {
+ props: {
+ checkedChange: action('Checklist changed '),
+ checkListModelExample
+ },
+ template: `
+ <sdc-checklist
+ [checklistModel]="checkListModelExample">
+ (checkedChange)="checkedChange($event)"
+ </sdc-checklist>
+ `
+ }
+ },
+ { notes: `<h2>Checklist</h2>
+ Full example of checklist.
+ Use the KNOBS tab to change values.`
+ }
+)
diff --git a/stories/angular/colors.stories.ts b/stories/angular/colors.stories.ts
new file mode 100644
index 0000000..5fc9085
--- /dev/null
+++ b/stories/angular/colors.stories.ts
@@ -0,0 +1,81 @@
+import { storiesOf } from '@storybook/angular';
+import { moduleMetadata } from '@storybook/angular';
+import { withKnobs, text, number, boolean, array, select, color, date, button, object } from '@storybook/addon-knobs';
+import { withNotes } from '@storybook/addon-notes';
+import { ColorsTable } from './helpers/colors-table.component';
+import { KeysPipe } from './helpers/keys.pipe';
+
+const colorMap = [
+ {
+ 'darker-blue': '#323943',
+ 'dark-blue': '#0568ae',
+ 'blue': '#009fdb',
+ 'light-blue': '#1eb9f3',
+ 'disabled-blue': '#9dd9ef',
+ 'lighter-blue': '#e6f6fb',
+ },
+ {
+ 'green': '#4ca90c',
+ 'light-green': '#56972b',
+ 'disabled-green': '#a8e083',
+ },
+ {
+ 'red': '#cf2a2a',
+ 'light-red': '#ed4141',
+ 'disabled-red': '#f4adad',
+ },
+ {
+ 'yellow': '#ffb81c',
+ 'light-yellow': '#dbbe7e',
+ 'disabled-yellow': '#aa8432',
+ },
+ {
+ 'dark-purple': '#702f8a',
+ 'purple': '#9063cd',
+ 'light-purple': '#caa2dd',
+ },
+ {
+ 'dark-gray': '#5a5a5a',
+ 'gray': '#959595',
+ 'light-gray': '#d2d2d2',
+ },
+ {
+ 'silver': '#eaeaea',
+ 'light-silver': '#f2f2f2',
+ 'lighter-silver': '#f8f8f8',
+ },
+ {
+ 'black': '#000000',
+ 'text-black': '#191919',
+ 'white': '#ffffff',
+ }
+];
+
+storiesOf('Typography|Colors', module)
+ .addDecorator(withKnobs)
+ .addDecorator(withNotes)
+ .addDecorator(
+ moduleMetadata({
+ declarations: [
+ ColorsTable,
+ KeysPipe
+ ],
+ imports: [
+ ]
+ })
+ )
+ .add('Colors', () => {
+
+ return {
+ props: {
+ colorMap
+ },
+ template: `
+ <colors-table tableTitle="Supported colors" [tableMapColors]="colorMap"></colors-table>
+ `
+ }
+ },
+ { notes: `<h2>Colors</h2>
+ List of supported colors.`
+ }
+)
diff --git a/stories/angular/dropdown.stories.ts b/stories/angular/dropdown.stories.ts
new file mode 100644
index 0000000..6b4a05a
--- /dev/null
+++ b/stories/angular/dropdown.stories.ts
@@ -0,0 +1,297 @@
+import { storiesOf } from '@storybook/angular';
+import { withKnobs, text, number, boolean, array, select, color, date, button, object } from '@storybook/addon-knobs';
+import { withNotes } from '@storybook/addon-notes';
+import { action, configureActions } from '@storybook/addon-actions';
+import { moduleMetadata } from '@storybook/angular';
+import { CheckboxComponent, DropDownComponent, SvgIconComponent } from '../../src/angular/components';
+import { RippleClickAnimationDirective } from '../../src/angular/animations/ripple-click.animation.directive';
+import { DropDownTypes, IDropDownOption, DropDownOptionType } from '../../src/angular/form-elements/dropdown/dropdown-models';
+import { DropDownTriggerDirective } from '../../src/angular/form-elements/dropdown/dropdown-trigger.directive';
+
+const dropdownTypes = Object.values(DropDownTypes);
+const options1: IDropDownOption[] = [
+ {
+ label: 'First Option Label',
+ value: 'firstOptionValue',
+ },
+ {
+ label: 'Second Option Label',
+ value: 'secondOptionValue',
+ },
+ {
+ label: 'Third Option Label',
+ value: 'thirdOptionValue',
+ type: DropDownOptionType.Simple
+ }
+];
+const options2: IDropDownOption[] = [
+ {
+ label: 'Header Label',
+ value: 'headerValue',
+ type: DropDownOptionType.Header
+ },
+ {
+ label: 'First Option Label',
+ value: 'firstOptionValue',
+ type: DropDownOptionType.Simple
+ },
+ {
+ label: 'Disabled Option Label',
+ value: 'headerValue',
+ type: DropDownOptionType.Disable
+ },
+ {
+ label: 'Second Option Label',
+ value: 'secondOptionValue',
+ type: DropDownOptionType.Simple
+ },
+ {
+ label: 'Ruler Label',
+ value: 'rulerValue',
+ type: DropDownOptionType.HorizontalLine
+ },
+ {
+ label: 'Third Option Label',
+ value: 'thirdOptionValue',
+ type: DropDownOptionType.Simple
+ },
+ {
+ label: 'Fourth Option Label',
+ value: 'FourthOptionValue',
+ type: DropDownOptionType.Simple
+ },
+ {
+ label: 'Fifth Option Label',
+ value: 'fifthOptionValue',
+ type: DropDownOptionType.Simple
+ },
+ {
+ label: 'Ruler Label',
+ value: 'rulerValue',
+ type: DropDownOptionType.HorizontalLine
+ },
+ {
+ label: 'Third Option Label',
+ value: 'thirdOptionValue',
+ type: DropDownOptionType.Simple
+ },
+ {
+ label: 'Fourth Option Label',
+ value: 'FourthOptionValue',
+ type: DropDownOptionType.Simple
+ },
+ {
+ label: 'Fifth Option Label',
+ value: 'fifthOptionValue',
+ type: DropDownOptionType.Simple
+ }
+];
+
+storiesOf('Form elements|Dropdown', module)
+ .addDecorator(withKnobs)
+ .addDecorator(withNotes)
+ .addDecorator(
+ moduleMetadata({
+ declarations: [
+ DropDownComponent,
+ RippleClickAnimationDirective,
+ SvgIconComponent,
+ DropDownTriggerDirective
+ ],
+ imports: [
+ ]
+ })
+ )
+ .add('All options', () => {
+ const _label = text('label', 'Simple dropdown');
+ const _placeHolder = text('placeHolder', 'Sample placeholder');
+ const _disabled = boolean('disabled', false);
+ const _options = object('options', options1);
+ const _testId = text('testId', 'smalpe-test-id');
+ const _required = boolean('required', false);
+ const _maxHeight = number('maxHeight', 20);
+ const _selectedOption = object('selectedOption', {});
+ const _type = select('type', dropdownTypes, DropDownTypes.Regular);
+ const _onChange = text('*(onChange)', 'Event throws when dropdown changed, see in Action logger tab.');
+
+ return {
+ props: {
+ onChange: action('Dropdown value changed '),
+ _label, _placeHolder, _disabled, _required, _testId, _options, _maxHeight, _selectedOption, _type
+ },
+ template: `
+ <sdc-dropdown
+ [label]="_label"
+ [placeHolder]="_placeHolder"
+ [type]="_type"
+ [disabled]="_disabled"
+ [required]="_required"
+ [maxHeight]="_maxHeight"
+ [options]="_options"
+ [selectedOption]="_selectedOption"
+ (changed)="onChange($event)"
+ >
+ </sdc-dropdown>
+ `
+ }
+ },
+ { notes: `<h2>Checkbox</h2>
+ Full example of checkbox.
+ Use the KNOBS tab to change values.`
+ }
+)
+.add('With groups', () => {
+ const _label = text('label', 'Simple dropdown');
+ const _placeHolder = text('placeHolder', 'Sample placeholder');
+ const _disabled = boolean('disabled', false);
+ const _options = object('options', options2);
+ const _testId = text('testId', 'smalpe-test-id');
+ const _required = boolean('required', false);
+ const _maxHeight = number('maxHeight', 20);
+ const _selectedOption = object('selectedOption', {});
+ const _type = select('type', dropdownTypes, DropDownTypes.Regular);
+ const _onChange = text('*(onChange)', 'Event throws when dropdown changed, see in Action logger tab.');
+
+ return {
+ props: {
+ onChange: action('Dropdown value changed '),
+ _label, _placeHolder, _disabled, _required, _testId, _options, _maxHeight, _selectedOption, _type
+ },
+ template: `
+ <sdc-dropdown
+ [label]="_label"
+ [placeHolder]="_placeHolder"
+ [type]="_type"
+ [disabled]="_disabled"
+ [required]="_required"
+ [maxHeight]="_maxHeight"
+ [options]="_options"
+ [selectedOption]="_selectedOption"
+ (changed)="onChange($event)"
+ >
+ </sdc-dropdown>
+ `
+ }
+ },
+ { notes: `<h2>Checkbox</h2>
+ Full example of checkbox with groups.
+ Use the KNOBS tab to change values.`
+ }
+)
+.add('Pre selected', () => {
+ const _label = text('label', 'Simple dropdown');
+ const _placeHolder = text('placeHolder', 'Sample placeholder');
+ const _disabled = boolean('disabled', false);
+ const _options = object('options', options2);
+ const _testId = text('testId', 'smalpe-test-id');
+ const _required = boolean('required', false);
+ const _maxHeight = number('maxHeight', 20);
+ const _selectedOption = object('selectedOption', { label: 'Second Option Label', value: 'secondOptionValue'});
+ const _type = select('type', dropdownTypes, DropDownTypes.Regular);
+ const _onChange = text('*(onChange)', 'Event throws when dropdown changed, see in Action logger tab.');
+
+ return {
+ props: {
+ onChange: action('Dropdown value changed '),
+ _label, _placeHolder, _disabled, _required, _testId, _options, _maxHeight, _selectedOption, _type
+ },
+ template: `
+ <sdc-dropdown
+ [label]="_label"
+ [placeHolder]="_placeHolder"
+ [type]="_type"
+ [disabled]="_disabled"
+ [required]="_required"
+ [maxHeight]="_maxHeight"
+ [options]="_options"
+ [selectedOption]="_selectedOption"
+ (changed)="onChange($event)"
+ >
+ </sdc-dropdown>
+ `
+ }
+ },
+ { notes: `<h2>Checkbox</h2>
+ Full example of checkbox with groups pre selected option.
+ Use the KNOBS tab to change values.`
+ }
+)
+.add('Headless mode', () => {
+ const _label = text('label', 'Simple dropdown');
+ const _placeHolder = text('placeHolder', 'Sample placeholder');
+ const _disabled = boolean('disabled', false);
+ const _options = object('options', options1);
+ const _testId = text('testId', 'smalpe-test-id');
+ const _required = boolean('required', false);
+ const _maxHeight = number('maxHeight', 20);
+ const _selectedOption = object('selectedOption', {});
+ const _type = select('type', dropdownTypes, DropDownTypes.Headless);
+ const _onChange = text('*(onChange)', 'Event throws when dropdown changed, see in Action logger tab.');
+
+ return {
+ props: {
+ onChange: action('Dropdown value changed '),
+ _label, _placeHolder, _disabled, _required, _testId, _options, _maxHeight, _selectedOption, _type
+ },
+ template: `
+ <button SdcDropdownTrigger [dropDown]="dropDown1">Click to toggle!</button>
+ <sdc-dropdown
+ #dropDown1
+ [label]="_label"
+ [placeHolder]="_placeHolder"
+ [type]="_type"
+ [disabled]="_disabled"
+ [required]="_required"
+ [maxHeight]="_maxHeight"
+ [options]="_options"
+ [selectedOption]="_selectedOption"
+ (changed)="onChange($event)"
+ >
+ </sdc-dropdown>
+ `
+ }
+ },
+ { notes: `<h2>Checkbox</h2>
+ Full example of checkbox (headless mode).
+ Use the KNOBS tab to change values.`
+ }
+)
+.add('Insert text (auto)', () => {
+ const _label = text('label', 'Simple dropdown');
+ const _placeHolder = text('placeHolder', 'Sample placeholder');
+ const _disabled = boolean('disabled', false);
+ const _options = object('options', options1);
+ const _testId = text('testId', 'smalpe-test-id');
+ const _required = boolean('required', false);
+ const _maxHeight = number('maxHeight', 20);
+ const _selectedOption = object('selectedOption', {});
+ const _type = select('type', dropdownTypes, DropDownTypes.Auto);
+ const _onChange = text('*(onChange)', 'Event throws when dropdown changed, see in Action logger tab.');
+
+ return {
+ props: {
+ onChange: action('Dropdown value changed '),
+ _label, _placeHolder, _disabled, _required, _testId, _options, _maxHeight, _selectedOption, _type
+ },
+ template: `
+ <sdc-dropdown
+ #dropDown1
+ [label]="_label"
+ [placeHolder]="_placeHolder"
+ [type]="_type"
+ [disabled]="_disabled"
+ [required]="_required"
+ [maxHeight]="_maxHeight"
+ [options]="_options"
+ [selectedOption]="_selectedOption"
+ (changed)="onChange($event)"
+ >
+ </sdc-dropdown>
+ `
+ }
+ },
+ { notes: `<h2>Checkbox</h2>
+ Full example of checkbox (auto mode).
+ Use the KNOBS tab to change values.`
+ }
+)
diff --git a/stories/angular/filter-bar.stories.ts b/stories/angular/filter-bar.stories.ts
new file mode 100644
index 0000000..a48b02f
--- /dev/null
+++ b/stories/angular/filter-bar.stories.ts
@@ -0,0 +1,51 @@
+import { storiesOf } from '@storybook/angular';
+import { withKnobs, text, number, boolean, array, select, color, date, button } from '@storybook/addon-knobs';
+import { withNotes } from '@storybook/addon-notes';
+import { action, configureActions } from '@storybook/addon-actions';
+import { moduleMetadata } from '@storybook/angular';
+import { FilterBarComponent, InputComponent } from '../../src/angular/components';
+import { FormElementsModule } from '../../src/angular/form-elements/form-elements.module';
+
+storiesOf('Form elements|Filterbar', module)
+ .addDecorator(withKnobs)
+ .addDecorator(withNotes)
+ .addDecorator(
+ moduleMetadata({
+ declarations: [
+ FilterBarComponent
+ ],
+ imports: [
+ FormElementsModule
+ ]
+ })
+ )
+ .add('Filterbar', () => {
+ const _label = text('label', 'Filterbar label');
+ const _placeholder = text('placeholder', 'Filterbar placeholder');
+ const _debounceTime = number('debounceTime', 200);
+ // const _testId = text('testId', 'smalpe-test-id');
+ const _searchQuery = text('searchQuery', '');
+ const _searchQueryOutput = text('*(searchQuery)', 'Event throws when search query changed');
+ const _searchQueryChange = text('*(searchQueryChange)', 'Event throws when search query changed, see in Action logger tab.');
+
+ return {
+ props: {
+ onChange: action('Search query value changed '),
+ _label, _searchQuery, _placeholder, _debounceTime
+ },
+ template: `
+ <sdc-filter-bar
+ [placeholder]="_placeholder"
+ [label]="_label"
+ [debounceTime]="_debounceTime"
+ [(searchQuery)]="_searchQuery"
+ (searchQueryChange)="onChange($event)">
+ </sdc-filter-bar>
+ `
+ }
+ },
+ { notes: `<h2>Filterbar</h2>
+ The filter bar component text is updated (after debounce time, default 200 miliseconds) while user write something.
+ Use the KNOBS tab to change values.`
+ }
+)
diff --git a/stories/angular/helpers/autocomplete-server-mock.json b/stories/angular/helpers/autocomplete-server-mock.json
new file mode 100644
index 0000000..2521108
--- /dev/null
+++ b/stories/angular/helpers/autocomplete-server-mock.json
@@ -0,0 +1,8 @@
+[
+ {"id": "redId", "color": "red"},
+ {"id": "yellowId", "color": "yellow"},
+ {"id": "orangeId", "color": "orange"},
+ {"id": "greenId", "color": "green"},
+ {"id": "whiteId", "color": "white"},
+ {"id": "blackId", "color": "black"}
+]
diff --git a/stories/angular/helpers/colors-table.component.ts b/stories/angular/helpers/colors-table.component.ts
new file mode 100644
index 0000000..4c8f83f
--- /dev/null
+++ b/stories/angular/helpers/colors-table.component.ts
@@ -0,0 +1,28 @@
+import { Component, Input } from "@angular/core";
+
+@Component({
+ selector: "colors-table",
+ template: `
+
+ <h1>{{tableTitle}}</h1>
+ <div class="colors-table">
+ <div class="color-group" *ngFor="let colorGroup of tableMapColors">
+ <div class="color-section" *ngFor="let color of colorGroup | keys">
+ <div class='sdc-bc-{{color}} color-circle'></div>
+ <div>{{color}}</div>
+ <div>{{colorGroup[color]}}</div>
+ </div>
+ </div>
+ </div>
+`
+})
+export class ColorsTable {
+
+ @Input() tableTitle: string;
+ @Input() tableMapColors: Object;
+
+ constructor() {
+
+ }
+
+}
diff --git a/stories/angular/helpers/index.ts b/stories/angular/helpers/index.ts
new file mode 100644
index 0000000..00c35de
--- /dev/null
+++ b/stories/angular/helpers/index.ts
@@ -0,0 +1,21 @@
+import { NgModule } from "@angular/core";
+import { KeysPipe } from "./keys.pipe";
+import { ColorsTable } from "./colors-table.component";
+import { CommonModule } from "@angular/common";
+import { FormsModule } from "@angular/forms";
+import { ButtonComponent } from "../../../src/angular/components";
+
+@NgModule({
+ declarations: [
+ ColorsTable,
+ KeysPipe,
+ ButtonComponent
+ ],
+ imports: [
+ CommonModule,
+ FormsModule,
+ ],
+ exports: []
+})
+export class SdcStoriesHelperModule {
+}
diff --git a/stories/ng2-component-lab/utils/pipes/keys.pipe.ts b/stories/angular/helpers/keys.pipe.ts
index 2a58cd8..2a58cd8 100644
--- a/stories/ng2-component-lab/utils/pipes/keys.pipe.ts
+++ b/stories/angular/helpers/keys.pipe.ts
diff --git a/stories/angular/helpers/modal-consumer.component.ts b/stories/angular/helpers/modal-consumer.component.ts
new file mode 100644
index 0000000..87450e0
--- /dev/null
+++ b/stories/angular/helpers/modal-consumer.component.ts
@@ -0,0 +1,151 @@
+import {Component, Input, Output, EventEmitter, ComponentRef} from "@angular/core";
+import { ModalService } from "../../../src/angular/modals/modal.service";
+import { IModalConfig, ModalType, ModalSize } from "../../../src/angular/modals/models/modal-config";
+import { ModalButtonComponent } from './../../../src/angular/modals/modal-button.component';
+import { Placement, ButtonType } from "../../../src/angular/common/enums";
+import { ModalComponent } from "../../../src/angular/components";
+import { ModalInnerContent } from "./modal-inner-content-example.component";
+import {ButtonComponent} from "../../../src/angular/buttons/button.component"
+
+const MODAL_CONTENT = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed risus nisl, egestas vitae erat non,' +
+'pulvinar lacinia libero. Integer pulvinar pellentesque accumsan. Sed hendrerit lacus eu tempus pharetra';
+
+@Component({
+ selector: 'modal-consumer',
+ template: `<sdc-button [text]="'View Modal'" (click)="openModal()"></sdc-button>`
+})
+export class ModalConsumerComponent {
+ @Input() action: string;
+ private customModal1: ModalComponent;
+ private customModal2: ModalComponent;
+
+ constructor(private modalService: ModalService) {
+ }
+
+ private openModal = (): void => {
+ if (this[this.action]) {
+ this[this.action]();
+ }
+ }
+
+ private openInfoModal = (): void => {
+ this.modalService.openInfoModal("Info modal title", MODAL_CONTENT, 'infoModalTestId');
+ }
+
+ private openWarningModal = (): void => {
+ this.modalService.openWarningModal("Warning modal title", MODAL_CONTENT, 'warningModalTestId');
+ }
+
+ private openErrorModal = (): void => {
+ this.modalService.openErrorModal("Error modal title", MODAL_CONTENT, 'errorModalTestId');
+ }
+
+ private openSuccessModal = (): void => {
+ this.modalService.openSuccessModal("Success modal title", MODAL_CONTENT, 'successModalTestId');
+ }
+
+ private openInfoModalWithCustomButtons = (): void => {
+ const buttons = [
+ { text: 'CONFIRM', type: ButtonType.info, callback: this.onConfirmAction, closeModal: true },
+ { text: 'CANCEL', type: ButtonType.info, closeModal: true }
+ ] as ModalButtonComponent[];
+ this.modalService.openInfoModal('Info modal title', MODAL_CONTENT, "infoModalCustomTestId", buttons);
+ }
+
+ private openWarningModalWithCustomButtons = (): void => {
+ const buttons = [
+ { text: 'SAVE', type: ButtonType.warning, callback: this.onSaveAction, closeModal: true },
+ { text: 'APPLY', type: ButtonType.warning, callback: this.onApplyAction },
+ { text: 'CANCEL', type: ButtonType.warning, closeModal: true }
+ ] as ModalButtonComponent[];
+ this.modalService.openWarningModal('Warning modal title', MODAL_CONTENT, "warningModalCustomTestId", buttons);
+ }
+
+ private onConfirmAction = (): void => {
+ alert("Action has been confirmed, modal will be closed");
+ }
+
+ private onSaveAction = (): void => {
+ alert("Action has been saved, modal will be close");
+ }
+
+ private onApplyAction = (): void => {
+ alert("Action has been applied, modal will not be close");
+ }
+
+ private openCustomModal1 = (): void => {
+ const modalConfig = {
+ size: ModalSize.medium,
+ title: 'Modal title',
+ type: ModalType.custom,
+ testId: 'sampleTestIdModal1',
+ buttons: [
+ {id: "saveButton", text: "Save", callback: this.customModalOnSave1, closeModal: false},
+ {id: "cancelButton", text: "Cancel", size: 'x-small', type: ButtonType.secondary , closeModal: true}
+ ]
+ } as IModalConfig;
+ this.customModal1 = this.modalService.openCustomModal(modalConfig, ModalInnerContent, {name: "Sample Content"});
+ }
+
+ private customModalOnSave1 = (): void => {
+ const saveButton: ModalButtonComponent = this.customModal1.getButtonById("saveButton");
+ saveButton.show_spinner = true;
+ saveButton.spinner_position = Placement.right;
+
+ // Show spinner for 2 seconds
+ console.log('Saving example, please wait ...');
+ window.setTimeout((button: ModalButtonComponent) => {
+ button.show_spinner = false;
+ console.log('Finish saving');
+ }, 2000, saveButton);
+ }
+
+ private openCustomModal2 = (): void => {
+ const modalConfig = {
+ size: ModalSize.medium,
+ title: 'Title',
+ type: ModalType.custom,
+ testId: 'sampleTestIdModal2',
+ buttons: [
+ {text: "Change title", callback: this.customModalChangeTitle2, closeModal: false},
+ {text: "Change buttons", callback: this.customModalUpdateButtons2, closeModal: false},
+ {text: "Disable close", callback: this.customModalUDisableClose2, closeModal: false}
+ ]
+ } as IModalConfig;
+ this.customModal2 = this.modalService.openCustomModal(modalConfig, ModalInnerContent, {name: "Sample Content"});
+ }
+
+ private customModalUDisableClose2 = (): void => {
+ this.customModal2.getCloseButton().disabled = true;
+ }
+
+ private customModalChangeTitle2 = (): void => {
+ this.customModal2.setTitle('New title');
+ }
+
+ private customModalUpdateButtons2 = (): void => {
+ const newButtons = [
+ {text: "Change title", callback: this.customModalChangeTitle2, closeModal: false},
+ {text: "Do nothing", closeModal: false}
+ ] as ModalButtonComponent[];
+ this.customModal2.setButtons(newButtons);
+ }
+
+ private openErrorModalFromModal = ():void => {
+ this.modalService.openErrorModal("Error", "Error example!!", "second-modal");
+ }
+
+ private openCustomModal3 = (): void => {
+ const modalConfig = {
+ size: ModalSize.medium,
+ title: 'Title',
+ type: ModalType.custom,
+ testId: 'sampleTestIdModal3',
+ buttons: [
+ {text: "Open Error", callback: this.openErrorModalFromModal, closeModal: false}
+ ]
+ } as IModalConfig;
+ this.modalService.openCustomModal(modalConfig, ModalInnerContent, {name: "Sample Content"});
+ }
+
+}
diff --git a/stories/angular/helpers/modal-inner-content-example.component.ts b/stories/angular/helpers/modal-inner-content-example.component.ts
new file mode 100644
index 0000000..7e59ab1
--- /dev/null
+++ b/stories/angular/helpers/modal-inner-content-example.component.ts
@@ -0,0 +1,16 @@
+import { Component, Input } from "@angular/core";
+
+@Component({
+ selector: "inner-content",
+ template: `
+ <div>
+ <sdc-input label="Enter value" [(value)]="name"> </sdc-input>
+ <sdc-input label="Enter value" [(value)]="name"> </sdc-input>
+ <sdc-input label="Enter value" [(value)]="name"> </sdc-input>
+ </div>
+`
+})
+export class ModalInnerContent {
+
+ @Input() name:string;
+}
diff --git a/stories/angular/index.ts b/stories/angular/index.ts
new file mode 100644
index 0000000..b42ef85
--- /dev/null
+++ b/stories/angular/index.ts
@@ -0,0 +1,112 @@
+import { storiesOf } from '@storybook/angular';
+import '!style-loader!css-loader!sass-loader!./styles.scss';
+
+storiesOf('Welcome', module).add('to Storybook', () => ({
+ template: `
+ <div class="storybook-welcome">
+ <h1>ONAP-UI-ANGULAR Style-Guide and Components</h1>
+ <p>
+ This project aims to create a unified UI styled components for multiple development teams who work on the same web-based applications.
+ This repository contains the definition of all the basic widgets and reusable controllers.
+ </p>
+ Note: the project is build of 3 different projects:
+ <ul>
+ <li><a href="https://github.com/onap-sdc/onap-ui-common">onap-ui-common</a> contains HTML and SCSS files for all components.</li>
+ <li><a href="https://github.com/onap-sdc/onap-ui-angular">onap-ui-angular</a> contains Angular components according to the HTML defined in onap-ui-common.</li>
+ <li><a href="https://github.com/onap-sdc/onap-ui-react">onap-ui-react</a> contains React components according to the HTML defined in onap-ui-common.</li>
+ </ul>
+
+ <h2>Usage</h2>
+ <h3>Link the library's CSS file</h3>
+ <p>
+ There are several options to link to onap-ui-angular CSS file:
+ </p>
+
+ <h4>SCSS</h4>
+ <code>
+ @import "path_to_node_modules/onap-ui/css/style.css";
+ </code>
+ <br><br>
+
+ <h4>HTML</h4>
+ <code>
+ <![CDATA[
+ <link rel="stylesheet" href="path_to_node_modules/onap-ui/css/style.css">
+ ]]>
+ </code>
+ <br><br>
+
+ <h4>As Module (Using loading tool, i.e. <a href="https://webpack.github.io/">Webpack</a>)</h4>
+ <code>import "onap-ui/css/style.css";</code>
+ <br><br>
+
+ <h4>Angular CLI projects</h4>
+ <p>You can add this line to style.css file:</p>
+ <code>@import "../node_modules/onap-ui/css/style.css";</code>
+ <br><br>
+
+ <h3>Using the library in latest Angular (6)</h3>
+ <h4>Add the library to your module</h4>
+ <code>
+ <![CDATA[
+ import { SdcUiComponentsModule, SdcUiComponents } from 'onap-ui-angular';
+ @NgModule({
+ declarations: [
+ AppComponent
+ ],
+ imports: [
+ BrowserModule,
+ FormsModule,
+ HttpModule,
+ SdcUiComponentsModule
+ ],
+ providers: [
+ SdcUiComponents.ModalService
+ ],
+ bootstrap: [AppComponent]
+ })
+ export class AppModule { }
+ ]]>
+ </code>
+ <br><br>
+
+ <h2>Running storybook</h2>
+ The components in this library are displayed via <a href="https://github.com/storybooks/storybook">storybook</a>.
+ Head to <a href="http://onap-sdc.github.io/onap-ui-angular">http://onap-sdc.github.io/onap-ui-angular</a> to see the components that are in <b>master</b>.
+ While developing, just run <b>npm run storybook</b> in your terminal to launch a local storybook server where you can see your changes. For deploying storybook to your own fork repository, refer to the guides section below.
+
+ <h3>Useful guides</h3>
+ <ul>
+ <li><a href="https://github.com/onap-sdc/onap-ui-angular/wiki/Adding-a-new-component">Adding a new component</a></li>
+ <li><a href="https://github.com/onap-sdc/onap-ui-angular/wiki/Deploying-storybook-to-a-fork's-github-pages">Deploying storybook to a fork's github pages</a></li>
+ <li><a href="https://github.com/onap-sdc/onap-ui-angular/wiki/Understanding-project-build">Understanding project build</a></li>
+ </ul>
+
+ <h3>Having some trouble? Have an issue?</h3>
+ For bugs and issues, please use the <a href="https://github.com/onap-sdc/onap-ui-angular/issues">issues</a> page
+
+ <h3>How to Contribute</h3>
+ <ul>
+ <li>
+ Contribution can be made only by following these guide lines
+ </li>
+ <li>
+ This project combines both <b>React</b> & <b>Angular</b> framework libraries.
+ Hence, every change in the basic HTML files structure, must be followed by changes on react and angular
+ projects (<a href="https://github.com/onap-sdc/onap-ui-angular">onap-ui-angular</a>, <a href="https://github.com/onap-sdc/onap-ui-react">onap-ui-react</a>).
+ </li>
+ <li>
+ There will be no any 3rd party UI framework imported (i.e. <b>Bootstrap</b>, <b>Material</b>, <b>Foundation</b>... etc.).
+ </li>
+ <li>
+ Contribution are done only by the <a href="https://github.com/onap-sdc/onap-ui-angular/wiki/Contribution-guide">contribution guide</a>.
+ Contributions submitted not in this format and guidelines will not be considered.
+ </li>
+ </ul>
+ </div>
+ `,
+ props: {
+ },
+ moduleMetadata: {
+ },
+}));
diff --git a/stories/angular/infinite-scroll.stories.ts b/stories/angular/infinite-scroll.stories.ts
new file mode 100644
index 0000000..3a53a4f
--- /dev/null
+++ b/stories/angular/infinite-scroll.stories.ts
@@ -0,0 +1,181 @@
+import { storiesOf } from '@storybook/angular';
+import { withKnobs, text, number, boolean, array, select, color, date, button } from '@storybook/addon-knobs';
+import { withNotes } from '@storybook/addon-notes';
+import { action, configureActions } from '@storybook/addon-actions';
+import { moduleMetadata } from '@storybook/angular';
+import { InfiniteScrollDirective } from '../../src/angular/components';
+
+const basicStyle = `
+ .scroll-container {
+ margin: 12px;
+ border: none;
+ padding: 5px;
+ width: 200px;
+ height: 100px;
+ overflow: auto;
+ font-size: 20px !important;
+ box-shadow: #666 1px 1px 10px;
+ }
+ .example-source {
+ background: #eeeeee;
+ padding: 10px;
+ border: 1px solid #999999;
+ }
+ .example-source pre {
+ overflow: hidden;
+ background: #dddddd;
+ margin-top: 5px;
+ padding: 5px;
+ user-select: text;
+ }
+`;
+
+const makeBasicStyleDistance = (distance: number) => `
+ .scroll-container::after {
+ display: block;
+ content: '';
+ height: ${distance}px;
+ background: red;
+ }
+`;
+
+storiesOf('Infinite-Scroll', module)
+ .addDecorator(withKnobs)
+ .addDecorator(withNotes)
+ .addDecorator(
+ moduleMetadata({
+ declarations: [
+ InfiniteScrollDirective
+ ],
+ imports: [
+ ]
+ })
+ )
+ .add('Simple', () => {
+ const _infiniteScroll = text('infiniteScroll', 'Event throws when scroll reach down');
+
+ return {
+ props: {
+ hitBottomCount: 0,
+ onScrollHitBottom: () => {
+ action('scroll hit bottom')();
+ this.hitBottomCount++;
+ },
+ numLines: Array(20).fill(null)
+ },
+ styles: [basicStyle],
+ template: `
+ <div (infiniteScroll)="onScrollHitBottom()" class="scroll-container">
+ <div *ngFor="let _i of numLines; let i=index">
+ Line {{i + 1}}
+ </div>
+ </div>
+ Hit bottom for <b>{{hitBottomCount}}</b> times!
+ `
+ }
+ },
+ { notes: `<h2>Infinite-Scroll</h2>
+ Simple infinite scroll, throws event when reach bottom (see in action logger).
+ Use the KNOBS tab to change values.`
+ }
+)
+.add('With bottom distance', () => {
+ const _infiniteScrollDistance = number('infiniteScrollDistance', 20);
+ const _infiniteScroll = text('infiniteScroll', 'Event throws when scroll reach down');
+
+ return {
+ props: {
+ hitBottomCount: 0,
+ onScrollHitBottom: () => {
+ action('scroll hit bottom')();
+ this.hitBottomCount++;
+ },
+ numLines: Array(20).fill(null),
+ _infiniteScrollDistance
+ },
+ styles: [basicStyle, makeBasicStyleDistance(50)],
+ template: `
+ <div (infiniteScroll)="onScrollHitBottom()" [infiniteScrollDistance]="_infiniteScrollDistance" class="scroll-container">
+ <div *ngFor="let _i of numLines; let i=index">
+ Line {{i + 1}}
+ </div>
+ </div>
+ Hit bottom for <b>{{hitBottomCount}}</b> times!
+ `
+ }
+ },
+ { notes: `<h2>Infinite-Scroll</h2>
+ Simple infinite scroll with distance at the bottom, throws event when reach bottom (see in action logger).
+ Use the KNOBS tab to change values.`
+ }
+)
+.add('Expanding content synchrony', () => {
+ const _infiniteScrollDistance = number('infiniteScrollDistance', 20);
+ const _infiniteScroll = text('infiniteScroll', 'Event throws when scroll reach down');
+
+ return {
+ props: {
+ hitBottomCount: 0,
+ onScrollHitBottom: () => {
+ action('scroll hit bottom')();
+ this.hitBottomCount++;
+ this.insertPageImmediately(this.pageCount + 1);
+ this.pageCount++;
+ },
+ numLines: Array(20).fill(null),
+ _infiniteScrollDistance
+ },
+ styles: [basicStyle, makeBasicStyleDistance(50)],
+ template: `
+ <div (infiniteScroll)="onScrollHitBottom()" [infiniteScrollDistance]="_infiniteScrollDistance" class="scroll-container">
+ <div *ngFor="let _i of numLines; let i=index">
+ Line {{i + 1}}
+ </div>
+ </div>
+ Hit bottom for <b>{{hitBottomCount}}</b> times!
+ `
+ }
+ },
+ { notes: `<h2>Infinite-Scroll</h2>
+ Simple infinite scroll with distance at the bottom, throws event when reach bottom (see in action logger).
+ Use the KNOBS tab to change values.`
+ }
+)
+.add('Expanding content asynchrony', () => {
+ const _infiniteScrollDistance = number('infiniteScrollDistance', 20);
+ const _infiniteScroll = text('infiniteScroll', 'Event throws when scroll reach down');
+
+ return {
+ props: {
+ hitBottomCount: 0,
+ onScrollHitBottom: () => {
+ action('scroll hit bottom')();
+ this.hitBottomCount++;
+ if (!this.isPageLoading) {
+ this.isPageLoading = true;
+ this.loadPageAsync(this.pageCount + 1, 5000).then(() => {
+ this.pageCount++;
+ this.isPageLoading = false;
+ });
+ }
+ },
+ numLines: Array(20).fill(null),
+ _infiniteScrollDistance
+ },
+ styles: [basicStyle, makeBasicStyleDistance(50)],
+ template: `
+ <div (infiniteScroll)="onScrollHitBottom()" [infiniteScrollDistance]="_infiniteScrollDistance" class="scroll-container">
+ <div *ngFor="let _i of numLines; let i=index">
+ Line {{i + 1}}
+ </div>
+ </div>
+ Hit bottom for <b>{{hitBottomCount}}</b> times!<br/>
+ Loaded {{pageCount}} pages! <span *ngIf="isPageLoading">LOADING page #{{this.pageCount + 1}} ...</span>
+ `
+ }
+ },
+ { notes: `<h2>Infinite-Scroll</h2>
+ Simple infinite scroll with distance at the bottom, throws event when reach bottom (see in action logger).
+ Use the KNOBS tab to change values.`
+ }
+)
diff --git a/stories/angular/input.stories.ts b/stories/angular/input.stories.ts
new file mode 100644
index 0000000..1c63427
--- /dev/null
+++ b/stories/angular/input.stories.ts
@@ -0,0 +1,120 @@
+import { storiesOf } from '@storybook/angular';
+import { withKnobs, text, number, boolean, array, select, color, date, button } from '@storybook/addon-knobs';
+import { withNotes } from '@storybook/addon-notes';
+import { action, configureActions } from '@storybook/addon-actions';
+import { moduleMetadata } from '@storybook/angular';
+import { CheckboxComponent, InputComponent } from '../../src/angular/components';
+import { RippleClickAnimationDirective } from '../../src/angular/animations/ripple-click.animation.directive';
+import { FormElementsModule } from '../../src/angular/form-elements/form-elements.module';
+
+storiesOf('Form elements|Input', module)
+ .addDecorator(withKnobs)
+ .addDecorator(withNotes)
+ .addDecorator(
+ moduleMetadata({
+ declarations: [
+ ],
+ imports: [
+ FormElementsModule
+ ]
+ })
+ )
+ .add('Simple', () => {
+ const _label = text('label', 'Please Enter value');
+ const _name = text('name', 'InputName');
+ const _testId = text('testId', 'sample-test-id');
+
+ return {
+ props: {
+ checkedChange: action('Checkbox value changed '),
+ _label, _name, _testId
+ },
+ template: `
+ <sdc-input
+ [label]="_label"
+ [name]="_name"
+ [testId]="_testId"
+ >
+ </sdc-input>
+ `
+ }
+ },
+ { notes: `<h2>Simple Input</h2>
+ Simple input example.
+ Use the KNOBS tab to change values.`
+ }
+)
+.add('With debounce', () => {
+ const _label = text('label', 'Please Enter value');
+ const _name = text('name', 'InputName');
+ const _testId = text('testId', 'sample-test-id');
+ const _debounceTime = number('debounceTime', 1000);
+ const _valueChange = text('*(valueChange)', 'Throws event when value changed.');
+
+ return {
+ props: {
+ onValueChanged: action('Input value changed '),
+ _label, _name, _testId, _debounceTime
+ },
+ template: `
+ <sdc-input
+ [label]="_label"
+ [name]="_name"
+ [testId]="_testId"
+ [debounceTime]="_debounceTime"
+ (valueChange)=onValueChanged($event);
+ >
+ </sdc-input>
+ `
+ }
+ },
+ { notes: `<h2>Input with debounce</h2>
+ Wait for 1000 miliseconds for value changed event .
+ Use the KNOBS tab to change values.`
+ }
+)
+.add('Full options', () => {
+ const _label = text('label', 'Please Enter value');
+ const _name = text('name', 'InputName');
+ const _placeHolder = text('placeHolder', 'Input placeHolder');
+ const _value = text('value', 'Some value');
+ const _type = select('type', ['text', 'number', 'email']);
+ const _disabled = boolean('disabled', false);
+ const _required = boolean('required', false);
+ const _testId = text('testId', 'sample-test-id');
+ const _debounceTime = number('debounceTime', 1000);
+ const _minLength = number('minLength', 4);
+ const _maxLength = number('maxLength', 10);
+ const _classNames = text('classNames', 'custom-input-class');
+ const _valueChange = text('*(valueChange)', 'Throws event when value changed.');
+
+ return {
+ props: {
+ onValueChanged: action('Input value changed '),
+ _label, _name, _value, _testId, _debounceTime, _type, _disabled, _placeHolder, _required, _maxLength, _minLength, _classNames
+ },
+ template: `
+ <sdc-input
+ [label]="_label"
+ [name]="_name"
+ [placeHolder]="_placeHolder"
+ [type]="_type"
+ [value]="_value"
+ [disabled]="_disabled"
+ [required]="_required"
+ [testId]="_testId"
+ [minLength]="_minLength"
+ [maxLength]="_maxLength"
+ [debounceTime]="_debounceTime"
+ [classNames]="_classNames"
+ (valueChange)=onValueChanged($event);
+ >
+ </sdc-input>
+ `
+ }
+ },
+ { notes: `<h2>Input with debounce</h2>
+ Wait for 1000 miliseconds for value changed event .
+ Use the KNOBS tab to change values.`
+ }
+)
diff --git a/stories/angular/loader.stories.ts b/stories/angular/loader.stories.ts
new file mode 100644
index 0000000..ccc4152
--- /dev/null
+++ b/stories/angular/loader.stories.ts
@@ -0,0 +1,147 @@
+import { storiesOf } from '@storybook/angular';
+import { withKnobs, text, number, boolean, array, select, color, date, button } from '@storybook/addon-knobs';
+import { withNotes } from '@storybook/addon-notes';
+import { action, configureActions } from '@storybook/addon-actions';
+import { moduleMetadata } from '@storybook/angular';
+import { LoaderComponent, ButtonComponent, InputComponent, SvgIconComponent } from '../../src/angular/components';
+import { FormElementsModule } from '../../src/angular/form-elements/form-elements.module';
+import { FormsModule, ReactiveFormsModule } from '@angular/forms';
+import { CommonModule } from '@angular/common';
+import { LoaderService } from '../../src/angular/loader/loader.service';
+import { LoaderSize } from '../../src/angular/loader/loader.component';
+
+storiesOf('Loader', module)
+ .addDecorator(withKnobs)
+ .addDecorator(withNotes)
+ .addDecorator(
+ moduleMetadata({
+ declarations: [
+ LoaderComponent,
+ ButtonComponent,
+ InputComponent,
+ SvgIconComponent
+ ],
+ imports: [
+ CommonModule,
+ FormsModule,
+ ReactiveFormsModule
+ ],
+ providers: [
+ LoaderService
+ ]
+ })
+ )
+ .add('Relative loader', () => {
+ const _size = select('size', Object.values(LoaderSize), LoaderSize.large);
+ const _name = text('name', 'RelativeLoader');
+ const _active = boolean('active', false);
+
+ return {
+ props: {
+ activateLogger: (loader) => {
+ loader.activate();
+ action('Loader activated')();
+ },
+ deactivateLogger: (loader) => {
+ loader.deactivate();
+ action('Loader deactivated')();
+ },
+ _size, _name, _active
+ },
+ template: `
+ <h2>Loader visible: {{_active}}</h2>
+ <sdc-loader #loader1 [size]="_size" [name]="_name" [(active)]="_active">
+ <div style="border:1px solid black; padding:20px 100px;">
+ <sdc-input label="Please Enter Value" required="true" [maxLength]="5"></sdc-input>
+ <sdc-input label="Please Enter Value" required="true" [maxLength]="5"></sdc-input>
+ <sdc-input label="Please Enter Value" required="true" [maxLength]="5"></sdc-input>
+ <sdc-input label="Please Enter Value" required="true" [maxLength]="5"></sdc-input>
+ </div>
+ </sdc-loader >
+ <div style="margin:10px 0px;">
+ <sdc-button text="Show loader" (click)="activateLogger(loader1)"></sdc-button>
+ <sdc-button text="Hide loader" (click)="deactivateLogger(loader1)"></sdc-button>
+ </div>
+ `
+ }
+ },
+ { notes: `<h2>Relative loader</h2>
+ Relative loader that wraps dom elements.
+ Use the KNOBS tab to change values.`
+ }
+)
+.add('Relative loader with service', () => {
+ const _size = select('size', Object.values(LoaderSize), LoaderSize.large);
+ const _name = text('name', 'RelativeLoader');
+ const _active = boolean('active', false);
+
+ return {
+ props: {
+ activateLogger: (loader) => {
+ loader.activate();
+ action('Loader activated')();
+ },
+ deactivateLogger: (loader) => {
+ loader.deactivate();
+ action('Loader deactivated')();
+ },
+ _size, _name, _active
+ },
+ template: `
+ <h2>Loader visible: {{_active}}</h2>
+ <sdc-loader #loader1 [size]="_size" [name]="_name" [(active)]="_active">
+ <div style="border:1px solid black; padding:20px 100px;">
+ <sdc-input label="Please Enter Value" required="true" [maxLength]="5"></sdc-input>
+ <sdc-input label="Please Enter Value" required="true" [maxLength]="5"></sdc-input>
+ <sdc-input label="Please Enter Value" required="true" [maxLength]="5"></sdc-input>
+ <sdc-input label="Please Enter Value" required="true" [maxLength]="5"></sdc-input>
+ </div>
+ </sdc-loader >
+ <div style="margin:10px 0px;">
+ <sdc-button text="Show loader" (click)="activateLogger(loader1)"></sdc-button>
+ <sdc-button text="Hide loader" (click)="deactivateLogger(loader1)"></sdc-button>
+ </div>
+ `
+ }
+ },
+ { notes: `<h2>Relative loader</h2>
+ Relative loader that wraps dom elements.
+ Use the KNOBS tab to change values.`
+ }
+)
+
+
+
+
+
+
+
+
+.add('General loader', () => {
+ const _size = select('size', Object.values(LoaderSize), LoaderSize.large);
+ const _name = text('name', 'global');
+ const _global = boolean('global', true);
+
+ return {
+ props: {
+ activateLogger: (loader) => {
+ loader.loaderService.activate(loader.name);
+ setTimeout(() => {
+ loader.loaderService.deactivate(loader.name);
+ }, 2000);
+ action('Global loader activated')();
+ },
+ _size, _name, _global
+ },
+ template: `
+ <sdc-loader [global]="_global" [name]="_name" [size]="_size" #globalLoader></sdc-loader>
+ <sdc-button text="Show global loader" (click)="activateLogger(globalLoader)"></sdc-button>
+ `
+ }
+ },
+ { notes: `<h2>General loader</h2>
+ General loader to hide full screen.
+ For this sample added setTimeout() function so the loader will deactivated after 2 seconds.
+ Use the KNOBS tab to change values.`
+ }
+)
diff --git a/stories/angular/modal.stories.ts b/stories/angular/modal.stories.ts
new file mode 100644
index 0000000..fdd42dc
--- /dev/null
+++ b/stories/angular/modal.stories.ts
@@ -0,0 +1,59 @@
+import { storiesOf } from '@storybook/angular';
+import { withKnobs, text, number, boolean, array, select, color, date, button } from '@storybook/addon-knobs';
+import { withNotes } from '@storybook/addon-notes';
+import { action, configureActions } from '@storybook/addon-actions';
+import { moduleMetadata } from '@storybook/angular';
+import { FormElementsModule } from '../../src/angular/form-elements/form-elements.module';
+import { ModalModule } from '../../src/angular/modals/modal.module';
+import { ModalConsumerComponent } from './helpers/modal-consumer.component';
+import { ModalService } from '../../src/angular/services';
+import { ButtonsModule } from '../../src/angular/buttons/buttons.module';
+import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
+
+let stories = storiesOf('Modal', module)
+ .addDecorator(withKnobs)
+ .addDecorator(withNotes)
+ .addDecorator(
+ moduleMetadata({
+ declarations: [
+ ModalConsumerComponent
+ ],
+ imports: [
+ ModalModule,
+ FormElementsModule,
+ ButtonsModule,
+ BrowserAnimationsModule
+ ],
+ providers: [
+ ModalService
+ ]
+ })
+ )
+ const modalTypes = ['Info', 'Warning', 'Error', 'Success'];
+
+ modalTypes.forEach((buttonType) => {
+
+ stories.add('Modal' + buttonType, () => {
+
+ return {
+ props: {
+ openModal: action('Modal opened (see in action logger tab)'),
+ buttonType
+ },
+ template:
+ `<b> ${buttonType} Modal</b><br><br>
+ <modal-consumer [action]="'open' + this.buttonType +'Modal'"></modal-consumer>`
+
+ };
+
+ },
+ { notes: `<h2>` + buttonType + ` modal</h2>
+ When click on view model ` + buttonType + ` model will open`+
+ `<br>Source Code:` +
+ `<br><b>this.modalService.open`+ buttonType + `Modal('`+ buttonType + ` modal title', '`+ buttonType +
+ ` modal content', '`+ buttonType + `ModalTestId');</b>`+
+ `<br>Use the KNOBS tab to change values.`
+ }
+
+ );
+ });
diff --git a/stories/angular/multiline-ellipsis.stories.ts b/stories/angular/multiline-ellipsis.stories.ts
new file mode 100644
index 0000000..ab830bb
--- /dev/null
+++ b/stories/angular/multiline-ellipsis.stories.ts
@@ -0,0 +1,77 @@
+import { storiesOf } from '@storybook/angular';
+import { withKnobs, text, number, boolean, array, select, color, date, button } from '@storybook/addon-knobs';
+import { withNotes } from '@storybook/addon-notes';
+import { action, configureActions } from '@storybook/addon-actions';
+import { moduleMetadata } from '@storybook/angular';
+import { MultilineEllipsisModule } from '../../src/angular/multiline-ellipsis/multiline-ellipsis.module';
+import { ButtonsModule } from '../../src/angular/buttons/buttons.module';
+import { ButtonComponent } from '../../src/angular/buttons/button.component';
+
+let stories = storiesOf('Multiline ellipsis', module)
+ .addDecorator(withKnobs)
+ .addDecorator(withNotes)
+ .addDecorator(
+ moduleMetadata({
+ declarations: [
+
+ ],
+ imports: [
+ MultilineEllipsisModule,
+ ButtonsModule
+ ]
+ })
+ )
+
+ let containslines = true;
+ let containslineHeight = true;
+ let containsClassName = true;
+ let containsChangeText = true
+
+ createStory(stories, "All options", containslines, containslineHeight, containsClassName, containsChangeText, "Multiline-ellipsis", "Full example of simple multiline ellipsis.");
+ createStory(stories, "With number of line", containslines, !containslineHeight, !containsClassName, !containsChangeText, "Multiline-ellipsis", "Example of simple multiline ellipsis With number of line.");
+ createStory(stories, "With line hight", !containslines, containslineHeight, !containsClassName, !containsChangeText, "Multiline-ellipsis", "Example of simple multiline ellipsis With line hight.");
+ createStory(stories, "With class name", !containslines, !containslineHeight, containsClassName, !containsChangeText, "Multiline-ellipsis", "Example of simple multiline ellipsis With class name.");
+ createStory(stories, "With change text", !containslines, !containslineHeight, !containsClassName, containsChangeText, "Multiline-ellipsis", "Example of simple multiline ellipsis With change text.");
+
+ function createStory(stories, title, containslines, containslineHeight, containsClassName, containsChangeText, notesTitle, notesText){
+ stories.add(title, () => {
+ const _lines = containslines || containslineHeight ? number('number of lines', 3) : null;
+ const _lineHeight = containslineHeight ? text('Line height', '18px') : null;
+ const _className = containsClassName ? text('Class name', 'yellow-ellipsis'): null;
+ const _shortText = containsChangeText ? text('Short text', 'Short text - No ellipsis!') :null;
+ const _longText = text('Long text','Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi et molestie erat, sit amet rutrum purus. Mauris tristique efficitur felis, rutrum scelerisque enim sodales eu. Cras tristique ipsum a elementum auctor. Donec et elit id sapien tempus posuere. Nulla condimentum semper nisi, ac convallis augue dignissim nec. Nunc vestibulum nisi metus, ac rutrum enim consectetur nec. Vivamus volutpat ac risus aliquet iaculis.\nVestibulum et ex egestas, scelerisque enim et, vehicula nisi. Aenean posuere ornare dolor, in laoreet turpis mattis in. Fusce sodales blandit ornare. Donec porta eros vel tellus consequat, a ultricies augue ullamcorper. Vestibulum dolor diam, auctor ac magna quis, aliquet tincidunt odio. Nulla eu cursus metus. Maecenas laoreet in risus vel suscipit. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Duis facilisis orci rhoncus pharetra pretium. Nam blandit arcu lobortis eros luctus lobortis. Integer gravida iaculis finibus.')
+ const _hasEllipsisChanged = text('*(hasEllipsisChanged)', 'Event throws when number of lines or line height or class name changed, see in Action logger tab.');
+ return {
+ props: {
+ showSortText: false,
+ hasEllipsis: true,
+ hasEllipsisChanged: action('Ellipsis changed and its'),
+ _lines, _lineHeight, _className, _shortText, _longText,
+ },
+ template: containsChangeText ? `
+ <multiline-ellipsis
+ [lines]="_lines"
+ [lineHeight]="_lineHeight"
+ [className]="_className"
+ (hasEllipsisChanged)="this.hasEllipsis = $event"
+ (hasEllipsisChanged)="hasEllipsisChanged($event)"
+ >{{ this.showSortText ? _shortText : _longText }}
+ </multiline-ellipsis>
+ <br/>
+ <sdc-button (click)="this.showSortText = !this.showSortText;" text="Toggle Text Length"></sdc-button>
+ <br/>
+ <span class="y">has ellipsis? <b>{{ this.hasEllipsis ? 'yes' : 'no' }}</b></span>`:
+ `<multiline-ellipsis
+ [lines]="_lines"
+ [lineHeight]="_lineHeight"
+ [className]="_className"
+ (hasEllipsisChanged)="this.hasEllipsis = $event"
+ (hasEllipsisChanged)="hasEllipsisChanged($event)"
+ >{{ this.showSortText ? _shortText : _longText }}
+ </multiline-ellipsis>`
+ }
+ },
+ { notes: `<h2>` + notesTitle + `</h2>` + notesText + `<br>Use the KNOBS tab to change values.`
+ }
+ )
+ }
diff --git a/stories/angular/notifications.stories.ts b/stories/angular/notifications.stories.ts
new file mode 100644
index 0000000..4e87517
--- /dev/null
+++ b/stories/angular/notifications.stories.ts
@@ -0,0 +1,55 @@
+import { storiesOf } from '@storybook/angular';
+import { withKnobs, text, number, boolean, array, select, color, date, button } from '@storybook/addon-knobs';
+import { withNotes } from '@storybook/addon-notes';
+import { action, configureActions } from '@storybook/addon-actions';
+import { moduleMetadata } from '@storybook/angular';
+import { NotificationModule } from '../../src/angular/notifications/notification.module';
+import { NotificationSettings } from '../../src/angular/notifications/utilities/notification.config';
+
+let stories = storiesOf('Notification', module)
+ .addDecorator(withKnobs)
+ .addDecorator(withNotes)
+ .addDecorator(
+ moduleMetadata({
+ declarations: [
+ ],
+ imports: [
+ NotificationModule
+
+ ]
+ })
+ )
+ createStory(stories, "All options", true, true, "Notification", "Full example of simple tabs.");
+ // createStory(stories, "Tabs with text", true, false, "Tabs with titles", "Simple tabs with text title.");
+ // createStory(stories, "Tabs with icons", false, true, "Tabs with icons", "Simple tabs with icon title.");
+
+ function createStory(stories, title, containsTitle, containsTitleIcon, notesTitle, notesText){
+ stories.add(title, () => {
+ const _type = select('Type', ["info", "warning", "error", "success"], 'left', '');
+ const _notifyText = text('Text','notif info message test');
+ const _notifyTitle = text('Title', 'Notif Titile Info');
+ const _sticky = boolean('Sticky', false);
+ const _hasCustomContent = boolean('Has customer content', false);
+ const _duration = number('Duration', 2000);
+ let _notificationSetting = new NotificationSettings(_type, _notifyText, _notifyTitle, _duration, _sticky, _hasCustomContent)
+ // const innerComponentType: Type<any>;
+ // const innerComponentOptions: any;
+
+
+ return {
+ props: {
+ selectTab: action('select tab changed'),
+ _type, _notifyText, _notifyTitle, _sticky, _hasCustomContent, _duration
+ },
+ template: `
+ <sdc-notification
+ [notificationSetting] = "_notificationSetting"
+ >
+ </sdc-notification>
+ `
+ }
+ },
+ { notes: `<h2>` + notesTitle + `</h2>` + notesText + `<br>Use the KNOBS tab to change values.`
+ }
+ )
+ }
diff --git a/stories/angular/popup-menu.stories.ts b/stories/angular/popup-menu.stories.ts
new file mode 100644
index 0000000..1fac579
--- /dev/null
+++ b/stories/angular/popup-menu.stories.ts
@@ -0,0 +1,185 @@
+import { storiesOf } from '@storybook/angular';
+import { withKnobs, text, number, boolean, array, select, color, date, button } from '@storybook/addon-knobs';
+import { withNotes } from '@storybook/addon-notes';
+import { action, configureActions } from '@storybook/addon-actions';
+import { moduleMetadata } from '@storybook/angular';
+import { PopupMenuModule } from '../../src/angular/popup-menu/popup-menu.module';
+import { ButtonsModule } from '../../src/angular/buttons/buttons.module';
+
+
+let stories = storiesOf('Menu', module)
+ .addDecorator(withKnobs)
+ .addDecorator(withNotes)
+ .addDecorator(
+ moduleMetadata({
+ declarations: [
+ ],
+ imports: [
+ PopupMenuModule,
+ ButtonsModule,
+
+ ]
+ })
+ )
+ let containsPosition = true;
+ let containsRelative = true;
+ let containsClassName = true;
+ createMenuListStory(stories, "Menu list All options", containsPosition, containsRelative, containsClassName, "Menu list", "Full example of menu list.");
+ createMenuListStory(stories, "Menu list with position", containsPosition, !containsRelative, !containsClassName, "Menu list", "Full example of menu list with position.");
+ createMenuListStory(stories, "Menu list with relative", !containsPosition, containsRelative, !containsClassName, "Menu list", "Full example of menu list with relative.");
+ createMenuListStory(stories, "Menu list with class", !containsPosition, !containsRelative, containsClassName, "Menu list", "Full example of menu list with class.");
+
+ createMenuItemStory(stories, "Menu item All options", "Tabs", "Full example of simple tabs.");
+ function createMenuListStory(stories, title, containsPosition, containsRelative, containsClassName, notesTitle, notesText){
+ stories.add(title, () => {
+ const _className = containsClassName ? text('Class name', ''): null;
+ const _relative = containsRelative ? boolean('Relative', true) : true;
+ const _positionLeft = containsPosition ? number('Position left', 0): 0;
+ const _positionTop = containsPosition ? number('Position top', 0): 0;
+ const _open = containsPosition ? boolean('Menu list open', undefined): false;
+ const _openChange = text('*(openChange)', 'Event throws when menu is open or close, see in Action logger tab.');
+ const _positionChange = text('*(positionChange)', 'Event throws when position changed, see in Action logger tab.');
+
+ return {
+ props: {
+ selectedItemValue: '',
+ selectedItemColor: '',
+ openChanged: action('Menu open status is'),
+ positionChanged: action('Menu position changed to'),
+ showSelectedItem: (itemPlace, color, selectedItem)=> {
+ selectedItem.innerText = itemPlace;
+ selectedItem.style.color = color;
+ },
+ _className, _relative, _positionLeft, _positionTop, _open
+ },
+ template: `
+ <div style="position: relative; width: 400px; height: 200px; background: blue;"
+ (click)="menu.position = {x:$event.offsetX, y:$event.offsetY}; _open=true;">
+ <span class="message">Click in the box...<br/>
+ (popup menu is {{menuStatus === undefined ? 'never opened' : (menuStatus ? 'open at '+menuPos.x+' , '+menuPos.y : 'closed')}})<br/>
+ selected: <span #selectedItem id="selectedItem" [style.color]="selectedItemColor">{{selectedItemValue}}</span>
+ </span>
+ <popup-menu-list #menu
+ [(open)]="_open"
+ [position] = "{x:_positionLeft, y:_positionTop}"
+ [relative] = "_relative"
+ [className] = "_className"
+ (openChange)="menuStatus=$event; openChanged($event)"
+ (positionChange)="menuPos=$event; positionChanged($event)">
+ <popup-menu-item (action)="showSelectedItem('First', 'red', selectedItem)">First</popup-menu-item>
+ <popup-menu-item type="disabled">Disabled</popup-menu-item>
+ <popup-menu-item type="separator"></popup-menu-item>
+ <popup-menu-item (action)="showSelectedItem('Second', 'green', selectedItem)">Second</popup-menu-item>
+ <popup-menu-item>Third (none)</popup-menu-item>
+ </popup-menu-list>
+ </div>
+ `
+ }
+ },
+ { notes: `<h2>` + notesTitle + `</h2>` + notesText + `<br>Use the KNOBS tab to change values.`
+ }
+ )
+ }
+
+ function createMenuItemStory (stories, title, notesTitle, notesText){
+ stories.add(title, () => {
+ const _item1ClassName = text('Item1 class name', '');
+ const _item1Type = text('Item1 type', '');
+
+ const _item2ClassName = text('Item2 class name', '');
+ const _item2Type = text('Item2 type', 'selected');
+
+ const _item3ClassName = text('Item3 class name', '');
+ const _item3Type = text('Item3 type', 'disabled');
+
+ const _item4ClassName = text('Item4 class name', '');
+ const _item4Type = text('Item4 type', 'separator');
+
+ const _item5ClassName = text('Item5 class name', '');
+ const _item5Type = text('Item5 type', '');
+ const _Action = text('*(action)', 'Event throws when select tab changed, see in Action logger tab.');
+
+ return {
+ props: {
+ openManu: (menu) =>{
+ menu.position = {x:400, y:500};
+ menu.open = true;
+ },
+ showSelectedItem: action('select menu item'),
+ _item1ClassName, _item1Type, _item2ClassName, _item2Type, _item3ClassName, _item3Type,
+ _item4ClassName, _item4Type, _item5ClassName, _item5Type
+ },
+ template: `
+ <div>
+ <sdc-button text="open menu" (click)="openManu(menu); openMenuList = true"></sdc-button>
+ <br><br>
+ <popup-menu-list #menu>
+ <popup-menu-item
+ [type]="_item1Type"
+ [className]="_item1ClassName"
+ (action)="showSelectedItem('First')">
+ <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="18" height="18" viewBox="0 0 24 24">
+ <defs>
+ <path id="add-copy-a1" d="M11,0 C4.9,0 0,4.9 0,11 C0,17.1 4.9,22 11,22 C17.1,22 22,17.1 22,11 C22,4.9 17.1,0 11,0 M15,10 L12,10 L12,7 C12,6.4 11.6,6 11,6 C10.4,6 10,6.4 10,7 L10,10 L7,10 C6.4,10 6,10.4 6,11 C6,11.6 6.4,12 7,12 L10,12 L10,15 C10,15.6 10.4,16 11,16 C11.6,16 12,15.6 12,15 L12,12 L15,12 C15.6,12 16,11.6 16,11 C16,10.4 15.6,10 15,10"/>
+ </defs>
+ <g fill="none" fill-rule="evenodd" transform="translate(1 1)">
+ <use xlink:href="#add-copy-a1"/>
+ </g>
+ </svg>
+ First
+ </popup-menu-item>
+ <popup-menu-item
+ [type]="_item2Type"
+ [className]="_item2ClassName"
+ (action)="showSelectedItem('Selected')">
+ <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="18" height="18" viewBox="0 0 24 24">
+ <defs>
+ <path id="add-copy-a2" d="M11,0 C4.9,0 0,4.9 0,11 C0,17.1 4.9,22 11,22 C17.1,22 22,17.1 22,11 C22,4.9 17.1,0 11,0 M15,10 L12,10 L12,7 C12,6.4 11.6,6 11,6 C10.4,6 10,6.4 10,7 L10,10 L7,10 C6.4,10 6,10.4 6,11 C6,11.6 6.4,12 7,12 L10,12 L10,15 C10,15.6 10.4,16 11,16 C11.6,16 12,15.6 12,15 L12,12 L15,12 C15.6,12 16,11.6 16,11 C16,10.4 15.6,10 15,10"/>
+ </defs>
+ <g fill="none" fill-rule="evenodd" transform="translate(1 1)">
+ <use xlink:href="#add-copy-a2"/>
+ </g>
+ </svg>
+ Selected
+ </popup-menu-item>
+ <popup-menu-item
+ [type]="_item3Type"
+ [className]="_item3ClassName">
+ <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="18" height="18" viewBox="0 0 24 24">
+ <defs>
+ <path id="add-copy-a3" d="M11,0 C4.9,0 0,4.9 0,11 C0,17.1 4.9,22 11,22 C17.1,22 22,17.1 22,11 C22,4.9 17.1,0 11,0 M15,10 L12,10 L12,7 C12,6.4 11.6,6 11,6 C10.4,6 10,6.4 10,7 L10,10 L7,10 C6.4,10 6,10.4 6,11 C6,11.6 6.4,12 7,12 L10,12 L10,15 C10,15.6 10.4,16 11,16 C11.6,16 12,15.6 12,15 L12,12 L15,12 C15.6,12 16,11.6 16,11 C16,10.4 15.6,10 15,10"/>
+ </defs>
+ <g fill="none" fill-rule="evenodd" transform="translate(1 1)">
+ <use xlink:href="#add-copy-a3"/>
+ </g>
+ </svg>
+ Disabled
+ </popup-menu-item>
+ <popup-menu-item
+ [type]="_item4Type"
+ [className]="_item4ClassName">
+ </popup-menu-item>
+ <popup-menu-item
+ [type]="_item5Type"
+ [className]="_item5ClassName"
+ (action)="showSelectedItem('Second')">
+ <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="18" height="18" viewBox="0 0 24 24">
+ <defs>
+ <path id="add-copy-a4" d="M11,0 C4.9,0 0,4.9 0,11 C0,17.1 4.9,22 11,22 C17.1,22 22,17.1 22,11 C22,4.9 17.1,0 11,0 M15,10 L12,10 L12,7 C12,6.4 11.6,6 11,6 C10.4,6 10,6.4 10,7 L10,10 L7,10 C6.4,10 6,10.4 6,11 C6,11.6 6.4,12 7,12 L10,12 L10,15 C10,15.6 10.4,16 11,16 C11.6,16 12,15.6 12,15 L12,12 L15,12 C15.6,12 16,11.6 16,11 C16,10.4 15.6,10 15,10"/>
+ </defs>
+ <g fill="none" fill-rule="evenodd" transform="translate(1 1)">
+ <use xlink:href="#add-copy-a4"/>
+ </g>
+ </svg>
+ Second
+ </popup-menu-item>
+ </popup-menu-list>
+ </div>
+ `
+ }
+ },
+ { notes: `<h2>` + notesTitle + `</h2>` + notesText + `<br>Use the KNOBS tab to change values.`
+ }
+ )
+ }
+
diff --git a/stories/angular/radio-button-group.stories.ts b/stories/angular/radio-button-group.stories.ts
new file mode 100644
index 0000000..97f1ce9
--- /dev/null
+++ b/stories/angular/radio-button-group.stories.ts
@@ -0,0 +1,84 @@
+import { storiesOf } from '@storybook/angular';
+import { withKnobs, text, number, boolean, array, select, color, date, button } from '@storybook/addon-knobs';
+import { withNotes } from '@storybook/addon-notes';
+import { action, configureActions } from '@storybook/addon-actions';
+import { moduleMetadata } from '@storybook/angular';
+import { RadioGroupComponent } from '../../src/angular/components';
+import { FormElementsModule } from '../../src/angular/form-elements/form-elements.module';
+
+let stories = storiesOf('Form elements|Radio button group', module)
+ .addDecorator(withKnobs)
+ .addDecorator(withNotes)
+ .addDecorator(
+ moduleMetadata({
+ declarations: [
+
+ ],
+ imports: [
+ FormElementsModule
+ ]
+ })
+ )
+ let containsLegend = true;
+ let containsDisabled = true;
+ let containsDirection = true;
+ createStory(stories, "All options", containsLegend, containsDisabled, containsDirection, "Radio buttons group", "Full example of radio buttons.");
+ createStory(stories, "With legend", containsLegend, !containsDisabled, !containsDirection, "Radio buttons group", "Example of radio buttons with legend.");
+ createStory(stories, "With disabled", !containsLegend, containsDisabled, !containsDirection, "Radio buttons group", "Example of radio buttons with disabled.");
+ createStory(stories, "With direction", !containsLegend, !containsDisabled, containsDirection, "Radio buttons group", "Example of radio buttons with direction.");
+ function createStory(stories, title, containsLegend, containsDisabled, containsDirection, notesTitle, notesText){
+ stories.add(title, () => {
+ const _legend = containsLegend ? text('legend','Radio Buttons Group legend') : null;
+ const _options = {
+ items: [{
+ value:'val1',
+ name: 'radio8',
+ label: 'Label of Radio1'
+ }, {
+ value:'val2',
+ name: 'radio8',
+ label: 'Label of Radio2'
+ }]
+ };
+ const _disabled = containsDisabled ? boolean('disabled', false) : null;
+ const _direction = containsDirection ? text('direction','horizontal') : null;
+ const _selectedValue = text('selected value', 'val1');
+
+ const _selectedValueChange = text('*(valueChange)', 'Event throws when selected radio button, see in Action logger tab.');
+
+ return {
+ props: {
+ selectRadioButton: action('select radio button'),
+ _legend, _disabled, _direction, _options, _selectedValue
+ },
+ template: `
+ <sdc-radio-group
+ [legend]="_legend"
+ [(value)]="_selectedValue"
+ [options] = "{
+ items: [
+ {
+ value: 'val1',
+ name: 'radio5',
+ label: 'Label of Radio 1',
+ disabled: 'false'
+ },
+ {
+ value: 'val2',
+ name: 'radio5',
+ label: 'Label of Radio 2',
+ disabled: 'false'
+ }
+ ]}"
+ [disabled]="_disabled"
+ [direction]="_direction"
+ (valueChange)= "selectRadioButton($event)"
+ ></sdc-radio-group>
+ <br><div>Selected Radio: {{_selectedValue}}</div>
+ `
+ }
+ },
+ { notes: `<h2>` + notesTitle + `</h2>` + notesText + `<br>Use the KNOBS tab to change values.`
+ }
+ )
+ }
diff --git a/stories/angular/search-bar.stories.ts b/stories/angular/search-bar.stories.ts
new file mode 100644
index 0000000..634a0c4
--- /dev/null
+++ b/stories/angular/search-bar.stories.ts
@@ -0,0 +1,49 @@
+import { storiesOf } from '@storybook/angular';
+import { withKnobs, text, number, boolean, array, select, color, date, button } from '@storybook/addon-knobs';
+import { withNotes } from '@storybook/addon-notes';
+import { action, configureActions } from '@storybook/addon-actions';
+import { moduleMetadata } from '@storybook/angular';
+import { SearchBarComponent, InputComponent } from '../../src/angular/components';
+import { FormElementsModule } from '../../src/angular/form-elements/form-elements.module';
+
+storiesOf('Form elements|Searchbar', module)
+ .addDecorator(withKnobs)
+ .addDecorator(withNotes)
+ .addDecorator(
+ moduleMetadata({
+ declarations: [
+ SearchBarComponent
+ ],
+ imports: [
+ FormElementsModule
+ ]
+ })
+ )
+ .add('Searchbar', () => {
+ const _label = text('label', 'Searchbar label');
+ const _placeholder = text('placeholder', 'Searchbar placeholder');
+ const _debounceTime = number('debounceTime', 200);
+ const _searchQuery = text('searchQuery', '');
+ const _searchQueryClick = text('*(searchQueryClick)', 'Event throws when click on search query, see in Action logger tab.');
+
+ return {
+ props: {
+ onChange: action('click on search query'),
+ _label, _searchQuery, _placeholder, _debounceTime
+ },
+ template: `
+ <sdc-search-bar
+ [placeholder]="_placeholder"
+ [label]="_label"
+ [debounceTime]="_debounceTime"
+ [(searchQuery)]="_searchQuery"
+ (searchQueryClick)="onChange($event)">
+ </sdc-search-bar>
+ `
+ }
+ },
+ { notes: `<h2>Searchrbar</h2>
+ The search bar component text is updated (after debounce time, default 200 miliseconds) while user write something.
+ Use the KNOBS tab to change values.`
+ }
+)
diff --git a/stories/angular/styles.scss b/stories/angular/styles.scss
new file mode 100644
index 0000000..19dbc57
--- /dev/null
+++ b/stories/angular/styles.scss
@@ -0,0 +1,104 @@
+/*
+Specific styles for storybook
+*/
+
+.sb-show-main {
+ padding: 20px;
+}
+
+.storybook-new-row {
+ display: flex;
+ flex-direction: row;
+}
+
+.storybook-component-wrapper {
+ margin: 10px;
+ padding: 10px;
+}
+
+.storybook-component-info {
+ display: block;
+ text-align: left;
+ margin-bottom: 10px;
+}
+
+.storybook-icons-showcase {
+ display: flex;
+ flex-direction: row;
+ flex-wrap: wrap;
+ justify-content: flex-start;
+
+ .storybook-component-wrapper {
+ width: 150px;
+ text-align: center;
+ width: 150px;
+ border: solid 1px #eeeeee;
+ border-radius: 5px;
+ }
+
+ .storybook-component-info {
+ text-align: center;
+ font-size: 11px;
+ user-select: text;
+ }
+
+ .storybook-debug-icon {
+ border: solid 1px #000000;
+ }
+}
+
+/*
+Specific styles for storybook components sample
+*/
+.sdc-accordion-custom-class .sdc-accordion-header,
+.sdc-accordion-custom-class .sdc-accordion-body.open {
+ padding: 10px;
+ border-radius: 3px;
+}
+.sdc-accordion-custom-class .sdc-accordion-header {
+ background-color: #d2d2d2;
+}
+.sdc-accordion-custom-class .sdc-accordion-body.open {
+ border: 1px solid #d2d2d2;
+ margin-top: 1px;
+ }
+
+
+
+.colors-table {
+ font-size: 13px;
+
+ .color-group {
+
+ display: flex;
+ flex-direction: row;
+ align-items: flex-start;
+
+ .color-section {
+
+ margin: 0 20px 20px 0;
+ text-align: center;
+
+ div {
+ align-self: center;
+ user-select: text;
+ }
+ $circle-size: 80px;
+ .color-circle {
+ height: $circle-size;
+ width: $circle-size;
+ border-radius: $circle-size;
+ text-align: center;
+ }
+ }
+ }
+}
+
+.storybook-welcome {
+ h1 { font-size: 30px; margin: 12px 0 12px 0; }
+ h2 { font-size: 24px; margin: 12px 0 12px 0; }
+ h3 { font-size: 20px; margin: 12px 0 12px 0; }
+ h4 { font-size: 14px; margin: 4px 0 4px 0; text-decoration: underline; }
+ code { font-family: 'Lucida Sans', 'Lucida Sans Regular', 'Lucida Grande', 'Lucida Sans Unicode', Geneva, Verdana, sans-serif; font-size: 12px; }
+ ul li { list-style: circle; list-style-position: inside; }
+} \ No newline at end of file
diff --git a/stories/angular/svg-icon.stories.ts b/stories/angular/svg-icon.stories.ts
new file mode 100644
index 0000000..785a92d
--- /dev/null
+++ b/stories/angular/svg-icon.stories.ts
@@ -0,0 +1,124 @@
+import { storiesOf } from '@storybook/angular';
+import { withKnobs, text, number, boolean, array, select, color, date, button } from '@storybook/addon-knobs';
+import { withNotes } from '@storybook/addon-notes';
+import { action, configureActions } from '@storybook/addon-actions';
+import { moduleMetadata } from '@storybook/angular';
+import { AccordionComponent, SvgIconComponent } from '../../src/angular/components';
+import { SvgIconModule } from '../../src/angular/svg-icon/svg-icon.module';
+import { Mode, Placement, Size, BackgroundShape, ButtonType, BackgroundColor } from "../../src/angular/common/enums";
+
+const mode = Object.keys(Mode);
+const size = Object.keys(Size);
+const icons_categories: Array<string> = Object.keys(SvgIconComponent.Icons());
+const background_shape: Array<string> = Object.keys(BackgroundShape);
+const background_color: Array<string> = Object.keys(BackgroundColor);
+
+const caption_full_options = 'Icon full options';
+
+let stories = storiesOf('Icons|Show case', module)
+ .addDecorator(withKnobs)
+ .addDecorator(withNotes)
+ .addDecorator(
+ moduleMetadata({
+ declarations: [SvgIconComponent],
+ imports: [
+ ]
+ })
+ );
+
+ background_shape.push(undefined);
+ background_color.push(undefined);
+
+ // resource: #9063CD
+ // services: #71C5E8
+ // red:
+
+console.log(icons_categories);
+
+icons_categories.map((category) =>
+
+ stories.add(category, () => {
+
+ let _mode = select('mode', mode, 'primary', '');
+ let _size = select('size', size, 'medium', '');
+ let _backgroundShape = select('backgroundShape', background_shape, '', '');
+ let _backgroundColor = select('backgroundColor', background_color, '', '');
+ const _debug_icon = boolean('Debug icon', false);
+
+ if (category === 'resources_60') {
+ _mode = select('mode', mode, 'white', '');
+ _size = select('size', size, 'x_large', '');
+ _backgroundShape = select('backgroundShape', background_shape, 'circle', '');
+ _backgroundColor = select('backgroundColor', background_color, 'primary', '');
+ }
+
+ return {
+ props: {
+ _debug_icon, _mode, _size, _backgroundShape, _backgroundColor
+ },
+ template:
+ `<div class='storybook-icons-showcase'>` +
+ Object.keys(SvgIconComponent.Icons()[category]).map((iconName) =>
+ `
+ <div class='storybook-component-wrapper'>
+ <div class='storybook-component-info'>${iconName}</div>
+ <svg-icon
+ [ngClass]="{'storybook-debug-icon': _debug_icon===true}"
+ category="${category}"
+ name="${iconName}"
+ [mode]="_mode"
+ [size]="_size"
+ [backgroundShape]="_backgroundShape"
+ [backgroundColor]="_backgroundColor"
+ >
+ </svg-icon>
+ </div>
+ `
+ ).join('\n') +
+ `</div>`
+ }
+ },
+ { notes: `<h2>Showcase of all icons</h2>
+ To see all the options for specific icon, select 'Icon full options' in left panel.
+ `
+ })
+);
+
+stories.add(caption_full_options, () => {
+ const _mode = select('mode', mode, 'primary', '');
+ const _size = select('size', size, 'x_large', '');
+ const _category = select('category', icons_categories, 'common', '');
+ const _name = select('name', Object.keys(SvgIconComponent.Icons().common), 'alert-triangle-o', '');
+ const _backgroundShape = select('backgroundShape', background_shape, '', '');
+ const _backgroundColor = select('backgroundColor', background_color, '', '');
+ const _disabled = boolean('disabled', false);
+ const _clickable = boolean('clickable', true);
+ const _className = text('className', '');
+
+ return {
+ props: {
+ _mode, _size, _name, _backgroundShape, _backgroundColor, _disabled, _clickable, _className, _category
+ },
+ template: `
+ <div class='storybook-component-wrapper'>
+ <div class='storybook-component-info'>Full options, look in the KNOBS options</div>
+ <svg-icon
+ [name]="_name"
+ [mode]="_mode"
+ [size]="_size"
+ [backgroundShape]="_backgroundShape"
+ [backgroundColor]="_backgroundColor"
+ [disabled]="_disabled"
+ [clickable]="_clickable"
+ [className]="_className"
+ >
+ </svg-icon>
+ </div>
+ `
+ }
+ },
+ { notes: `<h2>SVG icon full example</h2>
+ Full example of SVG icon, use the KNOBS tab to change @Inputs.
+ `
+ }
+ );
diff --git a/stories/angular/tabs.stories.ts b/stories/angular/tabs.stories.ts
new file mode 100644
index 0000000..dac99bb
--- /dev/null
+++ b/stories/angular/tabs.stories.ts
@@ -0,0 +1,55 @@
+import { storiesOf } from '@storybook/angular';
+import { withKnobs, text, number, boolean, array, select, color, date, button } from '@storybook/addon-knobs';
+import { withNotes } from '@storybook/addon-notes';
+import { action, configureActions } from '@storybook/addon-actions';
+import { moduleMetadata } from '@storybook/angular';
+import { TabsModule } from '../../src/angular/tabs/tabs.module';
+import { FormElementsModule } from '../../src/angular/form-elements/form-elements.module';
+
+let stories = storiesOf('Tabs', module)
+ .addDecorator(withKnobs)
+ .addDecorator(withNotes)
+ .addDecorator(
+ moduleMetadata({
+ declarations: [
+ ],
+ imports: [
+ TabsModule,
+ FormElementsModule
+ ]
+ })
+ )
+ let containsTitle = true;
+ let containsTitleIcon = true;
+ createStory(stories, "All options", containsTitle, containsTitleIcon, "Tabs", "Full example of simple tabs.");
+ createStory(stories, "Tabs with text", containsTitle, !containsTitleIcon, "Tabs with titles", "Simple tabs with text title.");
+ createStory(stories, "Tabs with icons", !containsTitle, containsTitleIcon, "Tabs with icons", "Simple tabs with icon title.");
+
+ function createStory(stories, title, containsTitle, containsTitleIcon, notesTitle, notesText){
+ stories.add(title, () => {
+ const _title1 = containsTitle ? text('Tab1 title', 'tab1 ') : null;
+ const _title2 = containsTitle ? text('Tab2 title', 'tab2 ') : null;
+ const _titleIcon1 = containsTitleIcon ? text('Tab1 titleIcon', 'inputs-o') : null;
+ const _titleIcon2 = containsTitleIcon ? text('Tab2 titleIcon', 'edit-file-o') : null;
+ const _active1 = boolean('Tab1 disabled', false);
+ const _active2 = boolean('Tab2 disabled', false);
+ const _selectTab = text('*(selectTab)', 'Event throws when select tab changed, see in Action logger tab.');
+
+ return {
+ props: {
+ selectTab: action('select tab changed'),
+ _title1, _titleIcon1, _active1,
+ _title2, _titleIcon2, _active2, _selectTab
+ },
+ template: `
+ <sdc-tabs (selectedTab)="selectTab($event)">
+ <sdc-tab [title]="_title1" [titleIcon]="_titleIcon1" [active]="_active1">This is tab 1</sdc-tab>
+ <sdc-tab [title]="_title2" [titleIcon]="_titleIcon2" [active]="_active2">This is tab 2</sdc-tab>
+ </sdc-tabs>
+ `
+ }
+ },
+ { notes: `<h2>` + notesTitle + `</h2>` + notesText + `<br>Use the KNOBS tab to change values.`
+ }
+ )
+ }
diff --git a/stories/angular/tag-cloud.stories.ts b/stories/angular/tag-cloud.stories.ts
new file mode 100644
index 0000000..ef5748e
--- /dev/null
+++ b/stories/angular/tag-cloud.stories.ts
@@ -0,0 +1,64 @@
+import { storiesOf } from '@storybook/angular';
+import { withKnobs, text, number, boolean, array, select, color, date, button } from '@storybook/addon-knobs';
+import { withNotes } from '@storybook/addon-notes';
+import { action, configureActions } from '@storybook/addon-actions';
+import { moduleMetadata } from '@storybook/angular';
+import { TagCloudModule } from '../../src/angular/tag-cloud/tag-cloud.module';
+
+let stories = storiesOf('Tag Cloud', module)
+ .addDecorator(withKnobs)
+ .addDecorator(withNotes)
+ .addDecorator(
+ moduleMetadata({
+ declarations: [
+ ],
+ imports: [
+ TagCloudModule,
+ ]
+ })
+ )
+ let containsViewOnlyList = true;
+ let containsViewOnly = true;
+ let containsUniqueList = true;
+ createStory(stories, "All options", !containsViewOnlyList, containsViewOnly, containsUniqueList, "Tag cloud", "Full example of simple tag cloud.");
+ createStory(stories, "View only", !containsViewOnlyList, containsViewOnly, !containsUniqueList, "Tag cloud", "Full example of simple tag cloud with View only.");
+ createStory(stories, "View only list", containsViewOnlyList, !containsViewOnly, !containsUniqueList, "Tag cloud", "Full example of simple tag cloud with View only list.");
+ createStory(stories, "Unique list", !containsViewOnlyList, !containsViewOnly, containsUniqueList, "Tag cloud", "Full example of simple tag cloud with View unique list.");
+
+ function createStory(stories, title, containsViewOnlyList, containsViewOnly, containsUniqueList, notesTitle, notesText){
+ stories.add(title, () => {
+ let _label = text('label', 'Please Enter value');
+ let _list = array('List', ['aaa', 'bbb', 'ccc'], ',');
+ let _isViewOnly = containsViewOnly ? boolean('View only', false) : null;
+ let _listViewOnly = containsViewOnlyList ? array('List of view only params', [0,3], ',') : null;
+ let _isUniqueList = containsUniqueList ? boolean('Unique list', false) : null;
+ let _uniqueErrorMessage = containsUniqueList ? text('Unique error message', 'Unique error') : null;
+ let _placeholder = text('place holder', 'Type a value and then click enter or');
+ let _listChanged = text('*(listChanged)', 'Event throws when tag cloud list changed, see in Action logger tab.');
+
+ return {
+ props: {
+ listChanged: action('tag cloud list changed'),
+ _label, _list, _isViewOnly, _listViewOnly, _isUniqueList, _uniqueErrorMessage, _placeholder,
+ containsViewOnly
+
+ },
+ template: `
+ <sdc-tag-cloud
+ #tagCloud
+ [label] = "_label"
+ [(list)] = "_list"
+ [isViewOnly] = "this.containsViewOnly ? _isViewOnly : _listViewOnly"
+ [isUniqueList] = "_isUniqueList"
+ [uniqueErrorMessage] = "_uniqueErrorMessage"
+ [placeholder] = "_placeholder"
+ (listChanged)= "listChanged($event)"
+ >
+ </sdc-tag-cloud>
+ `
+ }
+ },
+ { notes: `<h2>` + notesTitle + `</h2>` + notesText + `<br>Use the KNOBS tab to change values.`
+ }
+ )
+ }
diff --git a/stories/angular/tile.stories.ts b/stories/angular/tile.stories.ts
new file mode 100644
index 0000000..b177a7e
--- /dev/null
+++ b/stories/angular/tile.stories.ts
@@ -0,0 +1,81 @@
+import { storiesOf } from '@storybook/angular';
+import { withKnobs, text, number, boolean, array, select, color, date, button } from '@storybook/addon-knobs';
+import { withNotes } from '@storybook/addon-notes';
+import { action, configureActions } from '@storybook/addon-actions';
+import { moduleMetadata } from '@storybook/angular';
+import { TileModule } from '../../src/angular/tiles/tile.module';
+import { SvgIconModule } from '../../src/angular/svg-icon/svg-icon.module';
+import { Mode, Size, BackgroundShape, BackgroundColor } from "../../src/angular/common/enums";
+
+const mode = Object.keys(Mode);
+const size = Object.keys(Size);
+const background_shape: Array<string> = Object.keys(BackgroundShape);
+const background_color: Array<string> = Object.keys(BackgroundColor);
+
+
+let stories = storiesOf('Tiles', module)
+ .addDecorator(withKnobs)
+ .addDecorator(withNotes)
+ .addDecorator(
+ moduleMetadata({
+ declarations: [
+
+ ],
+ imports: [
+ TileModule,
+ SvgIconModule
+ ]
+ })
+ )
+
+ createStory(stories, "Tiles", "Tiles", "Full example of tiles.");
+
+ function createStory(stories, title, notesTitle, notesText){
+ stories.add(title, () => {
+ const _category = text('Category', 'resources_60')
+ const _name = text('Icon name', 'Border Element_60px')
+ const _mode = select('Mode', mode, 'primary', '');
+ const _size = select('Size', size, 'x_large', '');
+ const _backgroundShape = select('BackgroundShape', background_shape, '', '');
+ const _backgroundColor = select('BackgroundColor', background_color, '', '');
+ const _disabled = boolean('Disabled', false);
+
+ return {
+ props: {
+ _category, _name, _mode, _size, _backgroundShape, _backgroundColor, _disabled
+ },
+ template: `
+ <sdc-tile>
+ <sdc-tile-header >
+ <div class="blue">P</div>
+ </sdc-tile-header>
+ <sdc-tile-content>
+ <div class='storybook-component-wrapper blue'>
+ <svg-icon
+ [ngClass] = "{'storybook-debug-icon': _debug_icon===true}"
+ [category] = "_category"
+ [name] = "_name"
+ [mode] = "_mode"
+ [size] = "_size"
+ [backgroundShape] = "_backgroundShape"
+ [backgroundColor] = "_backgroundColor"
+ [disabled] = "_disabled"
+ >
+ </svg-icon>
+ </div>
+ <div class="sdc-tile-content-info">
+ <span class="sdc-tile-info-line title">Router</span>
+ <div class="sdc-tile-info-line subtitle">test</div>
+ </div>
+ </sdc-tile-content>
+ <sdc-tile-footer>
+ <span class="sdc-tile-footer-cell">Footer</span>
+ </sdc-tile-footer>
+ </sdc-tile>
+ `
+ }
+ },
+ { notes: `<h2>` + notesTitle + `</h2>` + notesText + `<br>Use the KNOBS tab to change values.`
+ }
+ )
+ }
diff --git a/stories/angular/tooltip.stories.ts b/stories/angular/tooltip.stories.ts
new file mode 100644
index 0000000..4f1c5f5
--- /dev/null
+++ b/stories/angular/tooltip.stories.ts
@@ -0,0 +1,87 @@
+import { storiesOf } from '@storybook/angular';
+import { withKnobs, text, number, boolean, array, select, color, date, button, object } from '@storybook/addon-knobs';
+import { withNotes } from '@storybook/addon-notes';
+import { action, configureActions } from '@storybook/addon-actions';
+import { moduleMetadata } from '@storybook/angular';
+import { TooltipModule } from '../../src/angular/tooltip/tooltip.module';
+import { TooltipPlacement, ArrowPlacement } from '../../src/angular/tooltip/tooltip.directive';
+
+let stories = storiesOf('Tooltip', module)
+ .addDecorator(withKnobs)
+ .addDecorator(withNotes)
+ .addDecorator(
+ moduleMetadata({
+ declarations: [
+ ],
+ imports: [
+ TooltipModule
+ ]
+ })
+ )
+ let containsShortText = true;
+ let containsPlaceMent = true;
+ let containsCustomCssClass = true;
+ let containsArrowOffset = true;
+ let containsArrowPlacement = true;
+ let containsTooltipOffset = true;
+ let containsTemplate = true
+ createStory(stories, "All options", containsShortText, containsPlaceMent, containsCustomCssClass, containsArrowOffset,
+ containsArrowPlacement, containsTooltipOffset, !containsTemplate, "Tooltip", "Full example of Tooltip.");
+ createStory(stories, "Multi lines", !containsShortText, !containsPlaceMent, !containsCustomCssClass, !containsArrowOffset,
+ !containsArrowPlacement, !containsTooltipOffset, !containsTemplate, "Tooltip", "Example of Tooltip with multi lines.");
+ createStory(stories, "Placement", containsShortText, containsPlaceMent, !containsCustomCssClass, !containsArrowOffset,
+ !containsArrowPlacement, !containsTooltipOffset, !containsTemplate, "Tooltip", "Example of Tooltip with placement.");
+ createStory(stories, "Customer css class", containsShortText, !containsPlaceMent, containsCustomCssClass,!containsArrowOffset,
+ !containsArrowPlacement, !containsTooltipOffset, !containsTemplate, "Tooltip", "Full example of Tooltip with customer css class.");
+ createStory(stories, "Arrow offset", containsShortText, !containsPlaceMent, !containsCustomCssClass, containsArrowOffset,
+ !containsArrowPlacement, !containsTooltipOffset, !containsTemplate, "Tooltip", "Full example of Tooltip with arrow offset.");
+ createStory(stories, "Arrow placement", containsShortText, !containsPlaceMent, !containsCustomCssClass, !containsArrowOffset,
+ containsArrowPlacement, !containsTooltipOffset, !containsTemplate, "Tooltip", "Full example of Tooltip with arrow placement.");
+ createStory(stories, "Tooltip offset", containsShortText, !containsPlaceMent, !containsCustomCssClass, !containsArrowOffset,
+ !containsArrowPlacement, containsTooltipOffset, !containsTemplate, "Tooltip", "Full example of Tooltip with tooltip offset.");
+ createStory(stories, "Tooltip with template", containsShortText, !containsPlaceMent, !containsCustomCssClass,!containsArrowOffset,
+ !containsArrowPlacement, !containsTooltipOffset, containsTemplate, "Tooltip", "Full example of Tooltip with template.");
+
+ function createStory(stories, title, containsShortText, containsPlaceMent, containsCustomCssClass, containsArrowOffset,
+ containsArrowPlacement, containsTooltipOffset, containsTemplate, notesTitle, notesText){
+ stories.add(title, () => {
+ const _text = text('Text', containsShortText ? 'A short text name, short text' : 'Lorem ipsum dolor sit amet, ' +
+ 'consectetur adipiscing elit. Sed risus nisl, egestas vitae erat non, pulvinar lacinia libero. Integer ' +
+ 'pulvinar pellentesque accumsan. Sed hendrerit lacus eu tempus pharetra');
+ const _placement = containsPlaceMent ? object('placement', TooltipPlacement.Top) : TooltipPlacement.Top;
+ const _customCssClass = containsCustomCssClass ? text('custom css class', 'sdc-custom-tooltip'): null;
+ const _arrowOffset = containsArrowOffset ? number('Arrow offset', 10) : 10;
+ const _arrowPlacement = containsArrowPlacement ? object('Arrow placement', ArrowPlacement.LeftTop) : ArrowPlacement.LeftTop;
+ const _tooltipOffset = containsTooltipOffset ? number('Tooltip offset', 3): 3;
+
+ return {
+ props: {
+ selectTab: action('select tab changed'),
+ _text, _placement, _customCssClass, _arrowOffset, _arrowPlacement, _tooltipOffset,
+ containsTemplate
+ },
+ template: `
+ <div style="padding-bottom: 20px; width: 350px;">Lorem ipsum dolor sit amet,
+ <span style="color: #009fdb"
+ sdc-tooltip
+ [tooltip-text] = "_text"
+ [tooltip-placement] = "_placement"
+ [tooltip-css-class] = "_customCssClass"
+ [tooltip-arrow-placement] = "_arrowPlacement"
+ [tooltip-arrow-offset] = "_arrowOffset"
+ [tooltip-offset] = "_tooltipOffset"
+ [tooltip-template] = "containsTemplate ? template : null"
+ >show tooltip
+ </span>
+ </div>
+ <ng-template #template>
+ <img src="../../../assets/images/logo_onap.png" class="sdc-custom-tooltip-template-image" />
+ <p class="sdc-tooltip-template-content">A long text name, very long, long text ...</p>
+ </ng-template>
+ `
+ }
+ },
+ { notes: `<h2>` + notesTitle + `</h2>` + notesText + `<br>Use the KNOBS tab to change values.`
+ }
+ )
+ }
diff --git a/stories/angular/validation.stories.ts b/stories/angular/validation.stories.ts
new file mode 100644
index 0000000..1214021
--- /dev/null
+++ b/stories/angular/validation.stories.ts
@@ -0,0 +1,184 @@
+import { storiesOf } from '@storybook/angular';
+import { withKnobs, text, number, boolean, array, select, color, date, button } from '@storybook/addon-knobs';
+import { withNotes } from '@storybook/addon-notes';
+import { action, configureActions } from '@storybook/addon-actions';
+import { moduleMetadata } from '@storybook/angular';
+import { ValidationModule } from '../../src/angular/form-elements/validation/validation.module';
+import { FormElementsModule } from '../../src/angular/form-elements/form-elements.module';
+import { RegexPatterns } from '../../src/angular/common/enums';
+import { ButtonsModule } from '../../src/angular/buttons/buttons.module';
+
+let stories = storiesOf('Validation', module)
+ .addDecorator(withKnobs)
+ .addDecorator(withNotes)
+ .addDecorator(
+ moduleMetadata({
+ declarations: [
+
+ ],
+ imports: [
+ ValidationModule,
+ FormElementsModule,
+ ButtonsModule
+
+ ]
+ })
+ )
+ let containRequiredValid = true;
+ let containRegexValid = true;
+ let containCustomValid = true;
+ let containValidationDisabled = true;
+ let containValidatorsDisabled = true;
+ createStory(stories, "All options", containRequiredValid, containRegexValid, containCustomValid, containValidationDisabled,
+ containValidatorsDisabled, "Validations", "Full example of validation.");
+ createStory(stories, "Required validator", containRequiredValid, !containRegexValid, !containCustomValid, !containValidationDisabled,
+ !containValidatorsDisabled, "Validations", "Example of validation with required validator.");
+ createStory(stories, "Regex validator", !containRequiredValid, containRegexValid, !containCustomValid, !containValidationDisabled,
+ !containValidatorsDisabled, "Validations", "Example of validation with regex validator.");
+ createStory(stories, "Custom validator", !containRequiredValid, !containRegexValid, containCustomValid, !containValidationDisabled,
+ !containValidatorsDisabled, "Validations", "Example of validation with custom validator.");
+ createStory(stories, "Validation disabled", !containRequiredValid, !containRegexValid, !containCustomValid, containValidationDisabled,
+ !containValidatorsDisabled, "Validations", "Example of validation with validation disabled.");
+ createStory(stories, "Validator disabled", !containRequiredValid, !containRegexValid, !containCustomValid, !containValidationDisabled,
+ containValidatorsDisabled, "Validations", "Example of validation with validators disabled.");
+
+ let containEnterValue = true
+ createEmailStory(stories, "Email validation", !containEnterValue, "Validations", "Example of email validation.");
+ createEmailStory(stories, "Value entered", containEnterValue, "Validations", "Example of validation with value already entered.");
+
+ function createStory(stories, title, containRequiredValid, containRegexValid, containCustomValid, containValidationDisabled,
+ containValidatorsDisabled, notesTitle, notesText){
+ stories.add(title, () => {
+ const _validationDisabled = containValidationDisabled ? boolean('Validation disabled', false): false;
+ const _requiredMessage = containRequiredValid ? text('Required Validator message', 'Field is required!'): 'Field is required!';
+ const _regexMessage = containRegexValid ? text('Regex Validator message', 'This is not a number!'): 'This is not a number!';
+ const _customMessage = containCustomValid ? text('custom Validator message', 'The number should be 100'): 'The number should be 100';
+ const _pattern = containRegexValid ? text('Regex Validator pattern', RegexPatterns.numbers): RegexPatterns.numbers;
+
+ const requiredValidDisabled = containValidatorsDisabled ? boolean('Required Validator disabled', false): false;
+ const regexValidDisabled = containValidatorsDisabled ? boolean('Regex Validator disabled', false): false;
+ const customValidDisabled = containValidatorsDisabled ? boolean('Custom Validator disabled', false): false;
+
+ const _customCallback = containCustomValid ? text ('*(Callback)', 'User function that define a validation'): null;
+ const _validityChanged = text('*(validityChanged)', 'Event throws when validation changed, see in Action logger tab.');
+
+ return {
+ props: {
+ displayRequiredValid: containRequiredValid || containValidationDisabled || containValidatorsDisabled,
+ displayRegexValid: containRegexValid || containValidatorsDisabled,
+ displayCustomValid: containCustomValid || containValidatorsDisabled,
+ onChange: action('validation valids'),
+ isValueHundred: (value: any) => {
+ return (Number(value) === 100) ? true : false;
+ },
+ _validationDisabled, _requiredMessage, _regexMessage, _customMessage, _pattern,
+ requiredValidDisabled, regexValidDisabled, customValidDisabled
+ },
+ template: `
+ <sdc-input #numberValidator label="Please enter some number" [maxLength]="10" required="true"></sdc-input>
+ <sdc-validation [validateElement]="numberValidator" (validityChanged)="onChange($event)" [disabled]="_validationDisabled">
+ <sdc-required-validator *ngIf="this.displayRequiredValid" [message]="_requiredMessage" [disabled]="requiredValidDisabled"></sdc-required-validator>
+ <sdc-regex-validator *ngIf="this.displayRegexValid" [message]="_regexMessage" [pattern]="_pattern" [disabled]="regexValidDisabled"></sdc-regex-validator>
+ <sdc-custom-validator *ngIf="this.displayCustomValid" [message]="_customMessage" [callback]="isValueHundred" [disabled]="customValidDisabled"></sdc-custom-validator>
+ </sdc-validation>
+ `
+ }
+ },
+ { notes: `<h2>` + notesTitle + `</h2>` + notesText + `<br>Use the KNOBS tab to change values.`
+ }
+ )
+ }
+ function createEmailStory(stories, title, conatainsEnterValue, notesTitle, notesText){
+ stories.add(title, () => {
+ const _message = text('Validation message','This is not a valid email!');
+ const _pattern = text('Regex validation pattern', RegexPatterns.email);
+ const validityChanged = text('*(validityChanged)', 'Event throws when validation changed, see in Action logger tab.');
+
+ return {
+ props: {
+ inputValue: conatainsEnterValue ? "firstName@" : "",
+ onChange: action('Email validation valids'),
+ _message, _pattern
+ },
+ template: `
+ <sdc-input #email label="Please enter valid email address" [maxLength]="50" required="true" [value]="inputValue"></sdc-input>
+ <sdc-validation [validateElement]="email" (validityChanged)="onChange($event)">
+ <sdc-regex-validator [message]="_message" [pattern]="_pattern" ></sdc-regex-validator>
+ </sdc-validation>
+ `
+ }
+ },
+ { notes: `<h2>` + notesTitle + `</h2>` + notesText + `<br>Use the KNOBS tab to change values.`
+ }
+ )
+ }
+
+ stories.add('Validation in drop down', () => {
+ const validityChanged = text('*(validityChanged)', 'Event throws when validation changed, see in Action logger tab.');
+
+ return {
+ props: {
+ options:[
+ {
+ "label": "First Option Label",
+ "value": "firstOptionValue"
+ },
+ {
+ "label": "Second Option Label",
+ "value": "secondOptionValue"
+ },
+ {
+ "label": "Third Option Label",
+ "value": "thirdOptionValue",
+ "type": "Simple"
+ }
+ ],
+ onChange: action('Dropdown validation valids'),
+ isThirdOption: (value: any) => {
+ return value === 'thirdOptionValue';
+ }
+ },
+ template: `
+ <sdc-dropdown #mydropdown label="Hi I am a label" placeHolder="Please choose option" [options]="options"
+ (changed)="onChange(validation.validate())"></sdc-dropdown>
+ <sdc-validation #validation [validateElement]="mydropdown" (validityChanged)="onChange($event)">
+ <sdc-required-validator message="Field is required!"></sdc-required-validator>
+ <sdc-custom-validator message="Please select the third option" [callback]="isThirdOption"></sdc-custom-validator>
+ </sdc-validation>
+ `
+ }
+},
+{ notes: `<h2>Validation in dropdown</h2> example of validation in dropdown<br>Use the KNOBS tab to change values.`
+}
+)
+
+stories.add('Validation group', () => {
+ const validityChanged = text('*(validityChanged)', 'Event throws when validation changed, see in Action logger tab.');
+
+ return {
+ props: {
+ emailPattern: RegexPatterns.email,
+ numberPattern: RegexPatterns.numbers,
+ checkValidateGroup: action('Group validation valids')
+ },
+ template: `
+ <sdc-validation-group #validationGroup>
+ <sdc-input #email label="Please enter valid email address" [maxLength]="50" required="true"></sdc-input>
+ <sdc-validation [validateElement]="email">
+ <sdc-required-validator message="Field is required!"></sdc-required-validator>
+ <sdc-regex-validator message="This is not a valid email!" [pattern]="this.emailPattern"></sdc-regex-validator>
+ </sdc-validation>
+
+ <sdc-input #numberValidator label="Please enter some number" [maxLength]="10" required="true"></sdc-input>
+ <sdc-validation [validateElement]="numberValidator">
+ <sdc-required-validator message="Field is required!"></sdc-required-validator>
+ <sdc-regex-validator message="This is not a number!" [pattern]="this.numberPattern"></sdc-regex-validator>
+ </sdc-validation>
+ <sdc-button text="validate group" (click)="checkValidateGroup(validationGroup.validate())"></sdc-button>
+ `
+ }
+},
+{ notes: `<h2>Validation in dropdown</h2> example of validation in dropdown<br>Use the KNOBS tab to change values.`
+}
+)
+
diff --git a/stories/ng2-component-lab/accordion.component.exp.ts b/stories/ng2-component-lab/accordion.component.exp.ts
deleted file mode 100644
index 480a011..0000000
--- a/stories/ng2-component-lab/accordion.component.exp.ts
+++ /dev/null
@@ -1,146 +0,0 @@
-import { experimentOn } from '@islavi/ng2-component-lab';
-import {Placement} from "../../src/angular/common/enums";
-
-
-/**************************************************
- * Adding custom styles for example
- *************************************************/
-const style = document.createElement('style');
-style.innerHTML = `
-.sdc-accordion-custom-class .sdc-accordion-header,
-.sdc-accordion-custom-class .sdc-accordion-body.open {
- padding: 10px;
- border-radius: 3px;
-}
-.sdc-accordion-custom-class .sdc-accordion-header {
- background-color: #d2d2d2;
-}
-.sdc-accordion-custom-class .sdc-accordion-body.open {
- border: 1px solid #d2d2d2;
- margin-top: 1px;
- }
-`;
-const head = document.getElementsByTagName('head');
-head[0].appendChild(style);
-
-export default experimentOn('Accordion').group('Accordion',
- [
- {
- id: 'simpleAccodion',
- title: 'Simple accordion',
- description: 'Example of accordion with default left arrow',
- showSource: true,
- template: `
- <sdc-accordion title="Accordion header">
- <p>
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce consequat dictum porttitor.
- Nam facilisis, dui nec maximus facilisis, nisl eros mattis arcu, nec pharetra nisl nisi vitae metus.
- Vestibulum urna nunc, fringilla nec imperdiet a, varius hendrerit neque. Aliquam pulvinar turpis enim, ac hendrerit dui blandit eu.
- Curabitur ut mollis arcu, ac iaculis turpis. Pellentesque lobortis leo justo. Morbi commodo cursus dignissim.
- Nam orci diam, mattis eget leo vel, tincidunt interdum dui.
- Donec dapibus mauris non sapien ornare, non pharetra mi commodo.
- </p>
- </sdc-accordion>
- `
- },
- {
- id: 'accordionRightArrow',
- title: 'Accordion with right arrow',
- description: 'Example of accordion with right arrow',
- showSource: true,
- context: {
- arrowDirection: Placement.right,
- },
- template: `
-
-
-
- <sdc-accordion
- title="Accordion header"
- [arrow-direction]="arrowDirection">
- <p>
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce consequat dictum porttitor.
- Nam facilisis, dui nec maximus facilisis, nisl eros mattis arcu, nec pharetra nisl nisi vitae metus.
- Vestibulum urna nunc, fringilla nec imperdiet a, varius hendrerit neque. Aliquam pulvinar turpis enim, ac hendrerit dui blandit eu.
- Curabitur ut mollis arcu, ac iaculis turpis. Pellentesque lobortis leo justo. Morbi commodo cursus dignissim.
- Nam orci diam, mattis eget leo vel, tincidunt interdum dui.
- Donec dapibus mauris non sapien ornare, non pharetra mi commodo.
- </p>
- </sdc-accordion>
- `
- },
- {
- id: 'accordionRightArrowStyle',
- title: 'Accordion with right arrow and custom style',
- description: 'Example of accordion with right arrow and custom style',
- showSource: true,
- context: {
- arrowDirection: Placement.right,
- },
- template: `
- <sdc-accordion
- title="Accordion header"
- css-class="sdc-accordion-custom-class"
- [arrow-direction]="arrowDirection">
- <p>
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce consequat dictum porttitor.
- Nam facilisis, dui nec maximus facilisis, nisl eros mattis arcu, nec pharetra nisl nisi vitae metus.
- Vestibulum urna nunc, fringilla nec imperdiet a, varius hendrerit neque. Aliquam pulvinar turpis enim, ac hendrerit dui blandit eu.
- Curabitur ut mollis arcu, ac iaculis turpis. Pellentesque lobortis leo justo. Morbi commodo cursus dignissim.
- Nam orci diam, mattis eget leo vel, tincidunt interdum dui.
- Donec dapibus mauris non sapien ornare, non pharetra mi commodo.
- </p>
- </sdc-accordion>
- `
- }
- ,
- {
- id: 'accordionLeftArrowStyle',
- title: 'Accordion with left arrow and custom style',
- description: 'Example of accordion with left arrow and custom style',
- showSource: true,
- context: {
- arrowDirection: Placement.left,
- },
- template: `
- <sdc-accordion
- title="Accordion header"
- css-class="sdc-accordion-custom-class"
- [arrow-direction]="arrowDirection">
- <p>
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce consequat dictum porttitor.
- Nam facilisis, dui nec maximus facilisis, nisl eros mattis arcu, nec pharetra nisl nisi vitae metus.
- Vestibulum urna nunc, fringilla nec imperdiet a, varius hendrerit neque. Aliquam pulvinar turpis enim, ac hendrerit dui blandit eu.
- Curabitur ut mollis arcu, ac iaculis turpis. Pellentesque lobortis leo justo. Morbi commodo cursus dignissim.
- Nam orci diam, mattis eget leo vel, tincidunt interdum dui.
- Donec dapibus mauris non sapien ornare, non pharetra mi commodo.
- </p>
- </sdc-accordion>
- `
- },
- {
- id: 'accordionLeftArrowStyleOpen',
- title: 'Open accordion with left arrow and custom style',
- description: 'Example of open accordion with left arrow and custom style',
- showSource: true,
- context: {
- arrowDirection: Placement.left,
- },
- template: `
- <sdc-accordion
- title="Accordion header"
- css-class="sdc-accordion-custom-class"
- [open]="true"
- [arrow-direction]="arrowDirection">
- <p>
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce consequat dictum porttitor.
- Nam facilisis, dui nec maximus facilisis, nisl eros mattis arcu, nec pharetra nisl nisi vitae metus.
- Vestibulum urna nunc, fringilla nec imperdiet a, varius hendrerit neque. Aliquam pulvinar turpis enim, ac hendrerit dui blandit eu.
- Curabitur ut mollis arcu, ac iaculis turpis. Pellentesque lobortis leo justo. Morbi commodo cursus dignissim.
- Nam orci diam, mattis eget leo vel, tincidunt interdum dui.
- Donec dapibus mauris non sapien ornare, non pharetra mi commodo.
- </p>
- </sdc-accordion>
- `
- }
- ]);
diff --git a/stories/ng2-component-lab/autocomplete.component.exp.ts b/stories/ng2-component-lab/autocomplete.component.exp.ts
deleted file mode 100644
index a1fa3dd..0000000
--- a/stories/ng2-component-lab/autocomplete.component.exp.ts
+++ /dev/null
@@ -1,77 +0,0 @@
-import { experimentOn } from '@islavi/ng2-component-lab';
-
-export default experimentOn('Autocomplete').group('Autocomplete',
-[
- {
- id: 'simpleAutocomplete',
- title: 'Simple autocomplete data',
- description: 'Example of auto complete with simple data',
- showSource: true,
- context: {
- data: ['red', 'yellow', 'orange', 'green', 'white', 'black'],
- selectedOption: '',
- showSelectedItem: ((value: string) => {
- alert(value);
- })
- },
- template: `
- <sdc-autocomplete
- placeholder="search text"
- label="search by color:"
- [data]="data"
- (itemSelected)="showSelectedItem($event)"
- >
- </sdc-autocomplete>
- `
- },
- {
- id: 'complexAutocomplete',
- title: 'Complex autocomplete data',
- description: 'Example of auto complete with complex data',
- showSource: true,
- context: {
- data: [
- {id: 'redId', color: 'red'},
- {id: 'yellowId', color: 'yellow'},
- {id: 'orangeId', color: 'orange'},
- {id: 'greenId', color: 'green'},
- {id: 'whiteId', color: 'white'},
- {id: 'blackId', color: 'black'}
- ],
- showSelectedItem: ((value: string) => {
- alert(value);
- })
- },
- template: `
- <sdc-autocomplete
- placeholder="search text"
- label="search by color:"
- [data]="data"
- [dataSchema]="{key: 'id', value: 'color'}"
- (itemSelected)="showSelectedItem($event)"
- >
- </sdc-autocomplete>
- `
- },
- {
- id: 'complexAutocompleteWithBeData',
- title: 'Complex autocomplete data from server',
- description: 'Example of auto complete with complex data from server. (In this example the data is not really filtered, because it is from mock data)',
- showSource: true,
- context: {
- showSelectedItem: ((value: string) => {
- alert(value);
- })
- },
- template: `
- <sdc-autocomplete
- placeholder="search text"
- label="search by color:"
- dataUrl="../../../stories/ng2-component-lab/utils/mock.json"
- [dataSchema]="{key: 'id', value: 'color'}"
- (itemSelected)="showSelectedItem($event)"
- >
- </sdc-autocomplete>
- `
- }
-]);
diff --git a/stories/ng2-component-lab/button.component.exp.ts b/stories/ng2-component-lab/button.component.exp.ts
deleted file mode 100644
index 6c5fb04..0000000
--- a/stories/ng2-component-lab/button.component.exp.ts
+++ /dev/null
@@ -1,164 +0,0 @@
-import { experimentOn } from '@islavi/ng2-component-lab';
-
-const buttonTypes = ['primary', 'secondary', 'link', 'alert'];
-const buttonSizes = ['large', 'medium', 'small', 'x-small', 'default'];
-const experiment = experimentOn('Button');
-
-experiment.group("Default button", [
- {
- id: "defaultButton",
- showSource: true,
- description: `Default button, does not need to supply type or size.
- <br>The size of the button set to 'default' so it will shrink or expand according to the content.
- `,
- context: {
- buttonClicked: ():void => {
- window.alert("OK");
- }
- },
- title: "Default button",
- template: `
- <sdc-button
- text="Default button long text"
- testId="longButton"
- (click)="buttonClicked()">
- </sdc-button>
- <sdc-button
- text="Sample button"
- (click)="buttonClicked()"
- [testId]="'defaultButtonTestId'"
- >
- </sdc-button>
-
-
- `
- }
-]);
-
-buttonTypes.forEach((buttonType) => {
- [false, true].forEach((buttonDisabled) => {
- experiment.group(`Button ${buttonType} ${buttonDisabled ? ' disabled' : ''}`, [ {
- id: `Button ${buttonType}${buttonDisabled ? ' disabled' : ''}`,
- showSource: true,
- context: {
- buttonClicked: ():void => {
- window.alert("OK");
- }
- },
- title: `Button ${buttonType}${buttonDisabled ? ' disabled' : ''}`,
- template: buttonSizes.map((buttonSize) =>
- `
- <span style="display: inline-block;">
- <div>${buttonSize}</div><br>
- <sdc-button
- text="Sample"
- type="${buttonType}"
- size="${buttonSize}"
- (click)="buttonClicked()"
- ${buttonDisabled ? ' [disabled]="true"' : ''}>
- </sdc-button>
- </span>
- `).join('\n')
- }
- ]);
- });
-});
-
-experiment.group("Buttons with icons", [
- {
- id: "buttonsWithIcons",
- showSource: true,
- description: `Buttons with icons forward`,
- context: {
- buttonClicked: (): void => {
- window.alert("OK");
- }
- },
- title: "Button with icons",
- template: `
- <sdc-button
- text="Default button long text"
- (click)="buttonClicked()"
- icon_name="settings-o"
- icon_position="left"
- >
- </sdc-button>
-
- <sdc-button
- text="Sample button"
- (click)="buttonClicked()"
- icon_name="plus-circle-o"
- icon_position="left"
- >
- </sdc-button>
-
- <sdc-button
- text="Sample button"
- type="secondary"
- (click)="buttonClicked()"
- icon_name="plus-circle"
- icon_position="right"
- >
- </sdc-button>
-
- <sdc-button
- text="Sample button"
- type="secondary"
- (click)="buttonClicked()"
- icon_name="caret2-right-circle-o"
- icon_position="right"
- >
- </sdc-button>
-
- `
- }
-]);
-
-experiment.group("Buttons with spinners", [
- {
- id: "buttonsWithSpinnersRight",
- showSource: true,
- description: `Click the button to see the spinner shows for 2 seconds`,
- context: {
- buttonClicked: (button): void => {
- button.show_spinner = true;
- setTimeout(() => {button.show_spinner = false},2000);
- },
- },
- title: "Button with spinner on the right",
- template: `
- <sdc-button
- text="Click to show spinner"
- (click)="buttonClicked(button)"
- [show_spinner]="false"
- spinner_position="right"
- #button
- >
- </sdc-button>
-
- `
- },
- {
- id: "buttonsWithSpinnersLeft",
- showSource: true,
- description: `Click the button to see the spinner shows for 2 seconds`,
- context: {
- buttonClicked: (button): void => {
- button.show_spinner = true;
- setTimeout(() => {button.show_spinner = false},2000);
- },
- },
- title: "Button with spinner on the left",
- template: `
- <sdc-button
- text="Click to show spinner"
- (click)="buttonClicked(button)"
- spinner_position="left"
- #button
- >
- </sdc-button>
-
- `
- }
-]);
-export default experiment;
diff --git a/stories/ng2-component-lab/checkbox.component.exp.ts b/stories/ng2-component-lab/checkbox.component.exp.ts
deleted file mode 100644
index 7ac53c9..0000000
--- a/stories/ng2-component-lab/checkbox.component.exp.ts
+++ /dev/null
@@ -1,33 +0,0 @@
-import { experimentOn } from '@islavi/ng2-component-lab';
-
-export default experimentOn('Checkbox')
- .group("Checkbox",[
- {
- id: 'checkbox',
- showSource: true,
- title: 'Regular Checkbox',
- description: 'Simple checkbox',
- template: `<sdc-checkbox label="Simple"></sdc-checkbox>`,
- },
- {
- id: 'checkboxChecked',
- showSource: true,
- title: 'Regular Checked Checkbox',
- description: 'Simple checked checkbox',
- template: `<sdc-checkbox label="Checked" [checked]="true"></sdc-checkbox>`,
- },
- {
- id: 'disabledCheckbox',
- showSource: true,
- title: 'Disabled checkbox',
- description: 'Simple disabled checkbox',
- template: `<sdc-checkbox label="Disabled"[disabled]="true"></sdc-checkbox>`,
- },
- {
- id: 'disabledCheckboxChecked',
- showSource: true,
- title: 'Disabled checked checkbox',
- description: 'Simple disabled checked checkbox',
- template: `<sdc-checkbox label="Disabled" [checked]="true" [disabled]="true"></sdc-checkbox>`,
- }
- ]);
diff --git a/stories/ng2-component-lab/checklist.component.exp.ts b/stories/ng2-component-lab/checklist.component.exp.ts
deleted file mode 100644
index 4700a74..0000000
--- a/stories/ng2-component-lab/checklist.component.exp.ts
+++ /dev/null
@@ -1,213 +0,0 @@
-import { experimentOn } from '@islavi/ng2-component-lab';
-import { ChecklistItemModel } from "../../src/angular/checklist/models/ChecklistItem";
-import { ChecklistModel } from "../../src/angular/checklist/models/Checklist";
-
-const styleCode = 'h5{color:red;} pre{background-color: #d1d1d1; padding: 10px;}';
-const checklistValuesExample1 = [];
-
-const checkListExample1: ChecklistModel = new ChecklistModel(checklistValuesExample1,
- [new ChecklistItemModel('apple'),
- new ChecklistItemModel('banana'),
- new ChecklistItemModel('orange')]);
-
-const checklistValuesExample2 = [];
-const checkListExample2: ChecklistModel = new ChecklistModel(checklistValuesExample2,
- [new ChecklistItemModel('apple', false, false, null, 0),
- new ChecklistItemModel('banana', false, false, null, 1),
- new ChecklistItemModel('orange', false, false, null, 2)]);
-
-const checklistValuesExample3 = [];
-const checkListExample3: ChecklistModel = new ChecklistModel(checklistValuesExample3,
- [new ChecklistItemModel('apple', false, true),
- new ChecklistItemModel('banana'),
- new ChecklistItemModel('orange', false, true)]);
-
-const checklistValuesExample4 = [];
-const checkListExample4: ChecklistModel = new ChecklistModel(checklistValuesExample4,
- [new ChecklistItemModel('apple', true, true),
- new ChecklistItemModel('banana', true),
- new ChecklistItemModel('orange')]);
-
-const checklistValuesExample5 = [];
-const innerChecklistValues = [];
-const checkListExample5: ChecklistModel = new ChecklistModel(checklistValuesExample5,
- [new ChecklistItemModel('apple', false, false,
- new ChecklistModel(innerChecklistValues,
- [new ChecklistItemModel('red'), new ChecklistItemModel('green'), new ChecklistItemModel('yellow')])),
- new ChecklistItemModel('banana'),
- new ChecklistItemModel('orange')]);
-
-const checklistFirstLevelValuesExample6 = [];
-const checklistSecondLevelValuesExample6 = [];
-const checklistThirdLevelValuesExample6 = [];
-const checkListExample6: ChecklistModel = new ChecklistModel(checklistFirstLevelValuesExample6,
- [new ChecklistItemModel('1', false, false,
- new ChecklistModel(checklistSecondLevelValuesExample6, [new ChecklistItemModel('1.1'),
- new ChecklistItemModel('1.2', false, false, new ChecklistModel(checklistThirdLevelValuesExample6, [new ChecklistItemModel('1.2.1'),
- new ChecklistItemModel('1.2.2'),
- new ChecklistItemModel('1.2.3')])),
- new ChecklistItemModel('1.3')])),
- new ChecklistItemModel('2'),
- new ChecklistItemModel('3')]);
-
-export default experimentOn('Checklist')
- .group("Checklist",[
- {
- id: 'checklist',
- showSource: true,
- context: {
- checklistModel: checkListExample1,
- checklistValues: checklistValuesExample1
- },
- styles: [styleCode],
- title: 'Checklist',
- description: `
- <pre>
- <h5>The checklistModel parameter:</h5>
- const checklistValues = [];
- const checklistModel: ChecklistModel =
- new ChecklistModel(checklistValues,
- [new ChecklistItemModel('apple'),
- new ChecklistItemModel('banana'),
- new ChecklistItemModel('orange')]);
- </pre>
- `,
- template: `
- <span>Selected values: {{checklistValues.toString()}}</span>
- <sdc-checklist [checklistModel]="checklistModel"></sdc-checklist>
- `,
- },
- {
- id: 'checklistWithValues',
- showSource: true,
- context: {
- checklistModel: checkListExample2,
- checklistValues: checklistValuesExample2
- },
- styles: [styleCode],
- title: 'Checklist with values',
- description: `
- <pre>
- <h5>The checklistModel parameter:</h5>
- const checklistValues = [];
- const checklistModel: ChecklistModel = new ChecklistModel(checklistValues,
- [new ChecklistItemModel('apple', false, false, null, 0),
- new ChecklistItemModel('banana', false, false, null, 1),
- new ChecklistItemModel('orange', false, false, null, 2)]);
- </pre>
- `,
- template: `
- <span>Selected values: {{checklistValues.toString()}}</span>
- <sdc-checklist [checklistModel]="checklistModel"></sdc-checklist>
- `
- },
- {
- id: 'checklistWithSomeCheckedItems',
- title: 'Checklist with some checked items',
- showSource: true,
- context: {
- checklistModel: checkListExample3,
- checklistValues: checklistValuesExample3
- },
- styles: [styleCode],
- description: `
- <pre><h5>The checklistModel parameter:</h5>
- const checklistValues = [];
- const checklistModel: ChecklistModel = new ChecklistModel(checklistValues,
- [new ChecklistItemModel('apple', false, true),
- new ChecklistItemModel('banana'),
- new ChecklistItemModel('orange', false, true)]);
- </pre>
- `,
- template: `
- <span>Selected values: {{checklistValues.toString()}}</span>
- <sdc-checklist [checklistModel]="checklistModel"></sdc-checklist>
- `
- },
- {
- id: 'checklistWithSomeDisabledItems',
- title: 'Checklist with some disabled items',
- showSource: true,
- context: {
- checklistModel: checkListExample4,
- checklistValues: checklistValuesExample4
- },
- styles: [styleCode],
- description: `
- <pre><h5>The checklistModel parameter:</h5>
- const checklistValues = [];
- const checklistModel: ChecklistModel = new ChecklistModel(checklistValues,
- [new ChecklistItemModel('apple', true, true),
- new ChecklistItemModel('banana', true),
- new ChecklistItemModel('orange')]);
- </pre>
- `,
- template: `
- <span>Selected values: {{checklistValues.toString()}}</span>
- <sdc-checklist [checklistModel]="checklistModel"></sdc-checklist>
- `
- },
- {
- id: 'twoLevelsChecklist',
- title: 'Multi-levels checklist',
- showSource: true,
- context: {
- checklistModel: checkListExample5,
- checklistValues: checklistValuesExample5,
- innerChecklistValues: innerChecklistValues
- },
- styles: [styleCode],
- description: `
- <pre>
- <h5>The checklistModel parameter:</h5>
- const checklistValues = [];
- const innerChecklistValues = [];
- const checklistModel: ChecklistModel = new ChecklistModel(checklistValues,
- [new ChecklistItemModel('apple', false, false,new ChecklistModel(innerChecklistValues,[new ChecklistItemModel('red'),
- new ChecklistItemModel('green'),
- new ChecklistItemModel('yellow')])),
- new ChecklistItemModel('banana'),
- new ChecklistItemModel('orange')]);</pre>
- `,
- template: `
- <div>Selected values: {{checklistValues.toString()}}</div>
- <div>Inner checklist selected values: {{innerChecklistValues.toString()}}</div>
- <sdc-checklist [checklistModel]="checklistModel"></sdc-checklist>
- `
- },
- {
- id: 'multiLevelsChecklist',
- title: 'Multi-levels checklist',
- showSource: true,
- context: {
- checklistModel: checkListExample6,
- checklistFirstLevelValues: checklistFirstLevelValuesExample6,
- checklistSecondLevelValues: checklistSecondLevelValuesExample6,
- checklistThirdLevelValues: checklistThirdLevelValuesExample6
- },
- styles: [styleCode],
- description: `
- <pre><h5>The checklistModel parameter:</h5>
- const checklistFirstLevelValues = [];
- const checklistSecondLevelValues = [];
- const checklistThirdLevelValues = [];
- const checklistModel: ChecklistModel = new ChecklistModel(checklistFirstLevelValues,
- [new ChecklistItemModel('1', false, false,
- new ChecklistModel(checklistSecondLevelValues, [new ChecklistItemModel('1.1'),
- new ChecklistItemModel('1.2', false, false,
- new ChecklistModel(checklistThirdLevelValues, [new ChecklistItemModel('1.2.1'),
- new ChecklistItemModel('1.2.2'),
- new ChecklistItemModel('1.2.3')])),
- new ChecklistItemModel('1.3')])),
- new ChecklistItemModel('2'),
- new ChecklistItemModel('3')]);
- </pre>
- `,
- template: `
- <div>Selected values: {{checklistFirstLevelValues.toString()}}</div>
- <div>Second level checklist selected values: {{checklistSecondLevelValues.toString()}}</div>
- <div>Third level checklist selected values: {{checklistThirdLevelValues.toString()}}</div>
- <sdc-checklist [checklistModel]="checklistModel"></sdc-checklist>
- `
- }
- ]);
diff --git a/stories/ng2-component-lab/colors.component.exp.ts b/stories/ng2-component-lab/colors.component.exp.ts
deleted file mode 100644
index f082d90..0000000
--- a/stories/ng2-component-lab/colors.component.exp.ts
+++ /dev/null
@@ -1,42 +0,0 @@
-import { experimentOn } from '@islavi/ng2-component-lab';
-
-const colorMap = {
- 'white': '#ffffff',
- 'dark-blue': '#0568ae',
- 'blue': '#009fdb',
- 'light-blue': '#1eb9f3',
- 'blue-disabled': '#9dd9ef',
- 'lighter-blue': '#e6f6fb',
- 'black': '#000000',
- 'text-black': '#191919',
- 'rich-black': '#323943',
- 'dark-gray': '#5a5a5a',
- 'gray': '#959595',
- 'light-gray': '#d2d2d2',
- 'silver': '#eaeaea',
- 'light-silver': '#f2f2f2',
- 'lighter-silver':'#f8f8f8',
- 'green': '#4ca90c',
- 'red': '#cf2a2a',
- 'light-red':'#ed4141',
- 'disabled-red':'#f4adad',
- 'yellow': '#ffb81c',
- 'dark-purple': '#702f8a',
- 'purple': '#9063cd',
- 'light-purple': '#caa2dd'
-};
-
-export default experimentOn('Colors', 1)
- .group("Color palette", [
- {
- id: 'colorPalette',
- showSource: true,
- context: {
- colorMap
- },
- title: 'Color palette',
- description: 'Supported design colors',
- template: `<colors-table [tableTitle]="'Colors'" [tableMapColors]="colorMap"></colors-table>`,
- }
- ]
- );
diff --git a/stories/ng2-component-lab/components.module.ts b/stories/ng2-component-lab/components.module.ts
deleted file mode 100644
index 266f047..0000000
--- a/stories/ng2-component-lab/components.module.ts
+++ /dev/null
@@ -1,45 +0,0 @@
-import { NgModule } from "@angular/core";
-import { CommonModule } from "@angular/common";
-import { FormsModule } from "@angular/forms";
-import { SdcUiComponentsModule } from "../../src/angular";
-import { KeysPipe } from "./utils/pipes/keys.pipe";
-import { SearchFilterPipe } from "./pipes/search-filter-pipe";
-import { ColorsTable } from "./components/colors-table.component";
-import { ModalInnerContent } from "./components/modal-inner-content-example.component";
-import { ModalConsumer } from "./components/modal-consumer.component";
-import { SvgIconsTableComponent } from "./components/svg-icons-table.component";
-import { NotificationsExample } from "./components/notifications-example.component";
-import { Mode, Placement, Size } from "./../../src/angular/common/enums";
-
-@NgModule({
- declarations: [
- ColorsTable,
- KeysPipe,
- ModalInnerContent,
- ModalConsumer,
- SearchFilterPipe,
- SvgIconsTableComponent,
- NotificationsExample
- ],
- imports: [
- CommonModule,
- FormsModule,
- SdcUiComponentsModule
- ],
- exports: [
- CommonModule,
- SdcUiComponentsModule,
- ModalInnerContent,
- NotificationsExample,
- ColorsTable,
- SvgIconsTableComponent,
- ModalConsumer,
- SearchFilterPipe
- ],
- entryComponents: [
- ModalInnerContent
- ],
- providers: [KeysPipe]
-})
-export class ComponentsModule {
-}
diff --git a/stories/ng2-component-lab/components/colors-table.component.ts b/stories/ng2-component-lab/components/colors-table.component.ts
deleted file mode 100644
index fc7bd2f..0000000
--- a/stories/ng2-component-lab/components/colors-table.component.ts
+++ /dev/null
@@ -1,26 +0,0 @@
-import { Component, Input } from "@angular/core";
-
-@Component({
- selector: "colors-table",
- template: `
-
- <h1>{{tableTitle}}</h1>
- <div class="colors-table">
- <div class="color-section" *ngFor="let color of tableMapColors | keys">
- <div class='sdc-bc-{{color}} color-circle'></div>
- <div>{{color}}</div>
- <div>{{tableMapColors[color]}}</div>
- </div>
- </div>
-`
-})
-export class ColorsTable {
-
- @Input() tableTitle:string;
- @Input() tableMapColors: Object;
-
- constructor() {
-
- }
-
-}
diff --git a/stories/ng2-component-lab/components/modal-consumer.component.ts b/stories/ng2-component-lab/components/modal-consumer.component.ts
deleted file mode 100644
index e4a3977..0000000
--- a/stories/ng2-component-lab/components/modal-consumer.component.ts
+++ /dev/null
@@ -1,106 +0,0 @@
-import { Component, Input, Output, EventEmitter } from "@angular/core";
-import { ModalService } from "../../../src/angular/modals/modal.service";
-import { IModalConfig, ModalType, ModalSize } from "../../../src/angular/modals/models/modal-config";
-import { ModalInnerContent } from "./modal-inner-content-example.component";
-import { ButtonComponent } from "../../../src/angular/buttons/button.component";
-import { ModalButtonComponent } from './../../../src/angular/modals/modal-button.component';
-import { Placement } from "../../../src/angular/common/enums";
-import { ModalComponent } from "../../../src/angular/components";
-
-const MODAL_CONTENT = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed risus nisl, egestas vitae erat non,' +
-'pulvinar lacinia libero. Integer pulvinar pellentesque accumsan. Sed hendrerit lacus eu tempus pharetra';
-
-@Component({
- selector: 'modal-consumer',
- template: `<sdc-button [text]="'View Modal'" (click)="openModal()"></sdc-button>`
-})
-export class ModalConsumer {
- @Input() action: string;
-
- constructor(private modalService: ModalService) {
- }
-
- private openModal = (): void => {
- if (this[this.action]) {
- this[this.action]();
- }
- }
-
- private openErrorModal = (): void => {
- this.modalService.openErrorModal(MODAL_CONTENT, "sampleTestId");
- }
-
- private openAlertModal = (): void => {
- this.modalService.openAlertModal("Alert Title", MODAL_CONTENT, 'Continue', this.onConfirmAction, 'sampleTestId');
- }
-
- private openActionModal = (): void => {
- this.modalService.openActionModal('Standard Modal', MODAL_CONTENT, "OK", this.onConfirmAction, "sampleTestId");
- }
-
- private onConfirmAction = (): void => {
- alert("Action has been confirmed");
- }
-
- private openCustomModal1 = (): void => {
- const modalConfig = {
- size: ModalSize.medium,
- title: 'Title',
- type: ModalType.custom,
- testId: 'sampleTestIdModal1',
- buttons: [
- {id: "saveButton", text: "Save", callback: this.customModalOnSave1, closeModal: false},
- {id: "cancelButton", text: "Cancel", size: 'x-small', type: 'secondary', closeModal: true}
- ] as ModalButtonComponent[]
- } as IModalConfig;
- this.modalService.openCustomModal(modalConfig, ModalInnerContent, {name: "Sample Content"});
- }
-
- private customModalOnSave1 = (): void => {
- const currentInstance: ModalComponent = this.modalService.getCurrentInstance();
- const saveButton: ModalButtonComponent = currentInstance.getButtonById("saveButton");
- saveButton.show_spinner = true;
- saveButton.spinner_position = Placement.right;
-
- // Show spinner for 2 seconds
- console.log('Saving example, please wait ...');
- window.setTimeout((button: ModalButtonComponent) => {
- button.show_spinner = false;
- console.log('Finish saving');
- }, 2000, saveButton);
- }
-
- private openCustomModal2 = (): void => {
- const modalConfig = {
- size: ModalSize.medium,
- title: 'Title',
- type: ModalType.custom,
- testId: 'sampleTestIdModal2',
- buttons: [
- {text: "Change title", callback: this.customModalChangeTitle2, closeModal: false},
- {text: "Change buttons", callback: this.customModalUpdateButtons2, closeModal: false},
- {text: "Disable close", callback: this.customModalUDisableClose2, closeModal: false}
- ]
- } as IModalConfig;
- this.modalService.openCustomModal(modalConfig, ModalInnerContent, {name: "Sample Content"});
- }
-
- private customModalUDisableClose2 = (): void => {
- const currentInstance: ModalComponent = this.modalService.getCurrentInstance();
- currentInstance.getCloseButton().disabled = true;
- }
-
- private customModalChangeTitle2 = (): void => {
- const currentInstance: ModalComponent = this.modalService.getCurrentInstance();
- currentInstance.setTitle('New title');
- }
-
- private customModalUpdateButtons2 = (): void => {
- const currentInstance: ModalComponent = this.modalService.getCurrentInstance();
- const newButtons = [
- {text: "Change title", callback: this.customModalChangeTitle2, closeModal: false},
- {text: "Do nothing", closeModal: false}
- ] as ModalButtonComponent[];
- currentInstance.setButtons(newButtons);
- }
-}
diff --git a/stories/ng2-component-lab/components/modal-inner-content-example.component.ts b/stories/ng2-component-lab/components/modal-inner-content-example.component.ts
deleted file mode 100644
index 1b6bed0..0000000
--- a/stories/ng2-component-lab/components/modal-inner-content-example.component.ts
+++ /dev/null
@@ -1,16 +0,0 @@
-import { Component, Input } from "@angular/core";
-
-@Component({
- selector: "inner-content",
- template: `
- <div>
- <sdc-input [label]="'Enter value'" [(value)]="name"> </sdc-input>
- <sdc-input [label]="'Enter value'" [(value)]="name"> </sdc-input>
- <sdc-input [label]="'Enter value'" [(value)]="name"> </sdc-input>
- </div>
-`
-})
-export class ModalInnerContent {
-
- @Input() name:string;
-}
diff --git a/stories/ng2-component-lab/components/notifications-example.component.ts b/stories/ng2-component-lab/components/notifications-example.component.ts
deleted file mode 100644
index 91dd95e..0000000
--- a/stories/ng2-component-lab/components/notifications-example.component.ts
+++ /dev/null
@@ -1,57 +0,0 @@
-import { Component, Input, ViewChild } from "@angular/core";
-import { NotificationsService } from "../../../src/angular/notifications/services/notifications.service";
-import { NotificationSettings } from "../../../src/angular/notifications/utilities/notification.config";
-import { InnerNotifContent } from "../../../src/angular/notifications/notification-inner-content-example.component";
-
-@Component({
- selector: "notifications-example",
- template: `
- <div>
- <span>Send Success Notification</span>
- <sdc-button (click)="sendSuccessNotif()" text="Click Me!"></sdc-button>
- </div>
- <div>
- <span>Send Warning Notification</span>
- <sdc-button (click)="sendWarnNotif()" text="Click Me!"></sdc-button>
- </div>
- <div>
- <span>Send Info Notification</span>
- <sdc-button (click)="sendInfoNotif()" text="Click Me!"></sdc-button>
- </div>
- <div>
- <span>Send Success MultipleLine Notification</span>
- <sdc-button (click)="sendMultipleLinesSuceessNotif()" text="Click Me!"></sdc-button>
- </div>
- <div>
- <span>Send Success Custom Notification</span>
- <sdc-button (click)="sendSuccessCustomNotif()" text="Click Me!"></sdc-button>
- </div>
- <sdc-notification-container>
- </sdc-notification-container>
-`
-})
-export class NotificationsExample {
-
- constructor(private notifsService : NotificationsService) {
- }
-
- sendSuccessNotif() {
- this.notifsService.push(new NotificationSettings("success", 'notif success message test', 'Notif Title Success'));
- }
-
- sendMultipleLinesSuceessNotif() {
- this.notifsService.push(new NotificationSettings("success", 'notif success message test with a lot of test so we can test multiple line case lets just add blabla bcdesfg hijklmnop qrstuvw xyz abcdesfg hijklmnop qrstuvw xyz', 'Notif Title Success'));
- }
-
- sendWarnNotif() {
- this.notifsService.push(new NotificationSettings("warn", 'notif warn message test', 'Notif Title Warn'));
- }
-
- sendInfoNotif() {
- this.notifsService.push(new NotificationSettings("info", 'notif info message test', 'Notif Title Info'));
- }
-
- sendSuccessCustomNotif() {
- this.notifsService.push(new NotificationSettings( "info", 'notif XYZ', 'Notif Custom XYZ', 10000, false, true, InnerNotifContent, { notifyText : "notif info custom inner message test", notifyTitle : "Notif Custom Inner Title Info"}));
- }
-}
diff --git a/stories/ng2-component-lab/components/svg-icons-table.component.ts b/stories/ng2-component-lab/components/svg-icons-table.component.ts
deleted file mode 100644
index 732650d..0000000
--- a/stories/ng2-component-lab/components/svg-icons-table.component.ts
+++ /dev/null
@@ -1,189 +0,0 @@
-import { Component } from "@angular/core";
-import { Mode, Placement, Size } from "../../../src/angular/common/enums";
-import { SvgIconComponent } from "../../../src/angular/svg-icon/svg-icon.component";
-import { IDropDownOption, DropDownOptionType, DropDownTypes } from "../../../src/angular/form-elements/dropdown/dropdown-models";
-
-const options1: IDropDownOption[] = [
- {
- label: 'First Option',
- value: 'First Option',
- },
- {
- label: 'Second Option',
- value: 'Second Option',
- },
- {
- label: 'Third Option',
- value: 'Third Option',
- type: DropDownOptionType.Simple
- }
-];
-
-@Component({
- selector: "svg-icons-table",
- template: `
- <div class="icon-showcase">
- <div>
- <svg-icon [name]="selectedIcon" [mode]="defaultIconSettings.mode" [size]="defaultIconSettings.size"></svg-icon>
- Selected icon: <b *ngIf="selectedIcon">{{selectedIcon}}</b><i *ngIf="!selectedIcon">None</i>
- </div>
-
- <div class="icon-options-wrapper">
-
- <div class="icon-options">
- <div class="icon-options-dropdowns">
- <sdc-dropdown label="Mode" [selectedOption]="{'value': mode, 'label': mode}" [options]="modeOptions" (changed)="mode = $event.value"></sdc-dropdown>
- <sdc-dropdown label="Label Placement" [selectedOption]="{'value': labelPlacement, 'label': labelPlacement}" [options]="labelPlacementOptions" [selectedOption]="labelPlacement" (changed)="labelPlacement = $event.value"></sdc-dropdown>
- <sdc-dropdown label="Size" [selectedOption]="{'value': size, 'label': size}" [options]="sizeOptions" [selectedOption]="size" (changed)="size = $event.value"></sdc-dropdown>
- </div>
- <div class="icon-options-checkboxes-wrapper">
- <div class="icon-options-checkboxes">
- <sdc-checkbox label="Clickable" [checked]="clickable" (checkedChange)="clickable = $event"></sdc-checkbox>
- <sdc-checkbox label="Disabled" [checked]="disabled" (checkedChange)="disabled = $event"></sdc-checkbox>
- </div>
- <div class="icon-options-label">
- <sdc-input label="Label" [(value)]="label"></sdc-input>
- </div>
- <svg-icon-label [name]="selectedIcon" [mode]="mode" [size]="size" [clickable]="clickable" [disabled]="disabled" [label]="label" [labelPlacement]="labelPlacement"></svg-icon-label>
- </div>
- </div>
-
- <div class="icon-code">
- <pre>
- &lt;svg-icon-label
- [name]="{{selectedIcon}}"
- [mode]="{{mode}}"
- [size]="{{size}}"
- [clickable]="{{clickable}}"
- [disabled]="{{disabled}}"
- [label]="{{label}}"
- [labelPlacement]="{{labelPlacement}}"&gt;
- &lt;/svg-icon-label&gt;
- </pre>
- </div>
- </div>
-
- </div>
- <div class="svg-icons-table">
- <div *ngFor="let iconName of iconsNames" class="svg-icon-cell" [ngClass]="{'selected': selectedIcon === iconName}" (click)="selectIcon(iconName)">
- <svg-icon-label [name]="iconName" [label]="iconName" labelPlacement="right"></svg-icon-label>
- </div>
- </div>
-`,
- styles: [`
- .svg-icons-table {
- display: flex;
- flex-flow: row wrap;
- justify-content: flex-start;
- align-items: stretch;
- overflow-y: auto;
- }
- .svg-icons-table .svg-icon-cell {
- border: 1px solid #999;
- padding: 5px;
- margin: 5px;
- width: 250px;
- overflow: hidden;
- display: flex;
- align-items: center;
- cursor: pointer;
- }
- .svg-icons-table .svg-icon-cell.selected {
- border-color: #1eb9f3;
- background-color: #1eb9f3;
- }
- .icon-showcase {
- margin: 20px 10px;
- padding: 10px;
- border: 1px solid #999;
- background: #eee;
- }
- .icon-options-wrapper {
- display: flex;
- flex-flow: row wrap;
- justify-content: flex-start;
- margin-top: 10px;
- }
-
- .icon-options-checkboxes-wrapper {
- display: flex;
- flex-flow: row;
- margin-top: 10px;
- }
-
- .icon-options-checkboxes {
- margin-top: 27px;
- margin-right: 30px;
- }
-
- .icon-options-label {
- margin-right: 30px;
- }
-
- .icon-code pre {
- user-select: text;
- }
-
- sdc-dropdown {
- display: inline-block;
- min-width: 160px;
- }
-
- sdc-dropdown .sdc-dropdown {
- }
-`]
-})
-export class SvgIconsTableComponent {
- public iconsNames: string[];
- public selectedIcon: string;
-
- public modeOptions;
- public sizeOptions;
- public labelPlacementOptions;
-
- private mode: Mode;
- private size: Size;
- private labelPlacement: Placement;
- private clickable: boolean;
- private disabled: boolean;
- private label: string;
-
- private defaultIconSettings: {mode: Mode, size: Size};
-
- constructor() {
- this.iconsNames = Object.keys(SvgIconComponent.Icons);
- this.mode = null;
- this.size = Size.medium;
- this.clickable = false;
- this.disabled = false;
- this.defaultIconSettings = { mode: Mode.info, size: Size.small };
-
- this.modeOptions = [{value: null, label: 'NONE'}].concat(Object.keys(Mode).map((modeKey) => ({
- value: modeKey,
- label: Mode[modeKey]
- })));
-
- this.sizeOptions = Object.keys(Size).map((sizeKey) => ({
- value: sizeKey,
- label: Size[sizeKey]
- }));
-
- this.labelPlacementOptions = Object.keys(Placement).map((placementKey) => ({
- value: placementKey,
- label: Placement[placementKey]
- }));
-
- this.setDefaults();
- }
-
- private setDefaults = (): void => {
- this.label = 'Some label';
- this.selectedIcon = "attachment";
- this.mode = Mode.primary;
- this.labelPlacement = Placement.right;
- }
-
- public selectIcon(iconName) {
- this.selectedIcon = iconName;
- }
-}
diff --git a/stories/ng2-component-lab/dropdown.component.exp.ts b/stories/ng2-component-lab/dropdown.component.exp.ts
deleted file mode 100644
index 025409e..0000000
--- a/stories/ng2-component-lab/dropdown.component.exp.ts
+++ /dev/null
@@ -1,195 +0,0 @@
-import { experimentOn } from '@islavi/ng2-component-lab';
-import { IDropDownOption, DropDownOptionType, DropDownTypes } from "../../src/angular/form-elements/dropdown/dropdown-models";
-
-const options1: IDropDownOption[] = [
- {
- label: 'First Option Label',
- value: 'firstOptionValue',
- },
- {
- label: 'Second Option Label',
- value: 'secondOptionValue',
- },
- {
- label: 'Third Option Label',
- value: 'thirdOptionValue',
- type: DropDownOptionType.Simple
- }
-];
-
-const options2: IDropDownOption[] = [
- {
- label: 'Header Label',
- value: 'headerValue',
- type: DropDownOptionType.Header
- },
- {
- label: 'First Option Label',
- value: 'firstOptionValue',
- type: DropDownOptionType.Simple
- },
- {
- label: 'Disabled Option Label',
- value: 'headerValue',
- type: DropDownOptionType.Disable
- },
- {
- label: 'Second Option Label',
- value: 'secondOptionValue',
- type: DropDownOptionType.Simple
- },
- {
- label: 'Ruler Label',
- value: 'rulerValue',
- type: DropDownOptionType.HorizontalLine
- },
- {
- label: 'Third Option Label',
- value: 'thirdOptionValue',
- type: DropDownOptionType.Simple
- },
- {
- label: 'Fourth Option Label',
- value: 'FourthOptionValue',
- type: DropDownOptionType.Simple
- },
- {
- label: 'Fifth Option Label',
- value: 'fifthOptionValue',
- type: DropDownOptionType.Simple
- },
- {
- label: 'Ruler Label',
- value: 'rulerValue',
- type: DropDownOptionType.HorizontalLine
- },
- {
- label: 'Third Option Label',
- value: 'thirdOptionValue',
- type: DropDownOptionType.Simple
- },
- {
- label: 'Fourth Option Label',
- value: 'FourthOptionValue',
- type: DropDownOptionType.Simple
- },
- {
- label: 'Fifth Option Label',
- value: 'fifthOptionValue',
- type: DropDownOptionType.Simple
- }
-];
-
-export default experimentOn('DropDown')
- .group("DropDown", [
- {
- id: 'normalDropDown',
- showSource: true,
- context: {
- options: options1,
- onChange: function(option) {
- this.valueSelected = option.value;
- }
- },
- title: 'Normal DropDown',
- description: 'Normal DropDown',
- template: `
- <sdc-dropdown label="Hi I am a label" placeHolder="Please choose option" [options]="options" (changed)="onChange($event)"></sdc-dropdown>
- <div style="margin: 10px 0 30px 0px; font-size:18px">Selected value:<strong style="font-weight: 700">{{valueSelected}}</strong></div>
- `
- }, {
- id: 'groupDropDown',
- showSource: true,
- context: {
- options: options2,
- onChange: function(option) {
- this.valueSelected = option.value;
- }
- },
- title: 'DropDown with groups',
- description: 'DropDown with groups',
- template: `
- <sdc-dropdown label="Hi I am a label" placeHolder="Please choose option" [options]="options" (changed)="onChange($event)"></sdc-dropdown>
- <div style="margin: 10px 0 30px 0px; font-size:18px">Selected value:<strong style="font-weight: 900">{{valueSelected}}</strong></div>
- `
- },
- {
- id: 'groupDropDownPreSelect',
- showSource: true,
- context: {
- options: options2,
- onChange: function(option) {
- this.valueSelected = option.value;
- }
- },
- title: 'DropDown with groups and pre-selected value',
- description: 'DropDown with groups and pre-selected value',
- template: `
- <sdc-dropdown label="Hi I am a label"
- placeHolder="Please choose option"
- [options]="options"
- [selectedOption]="{label: 'does not matter', value: 'firstOptionValue'}"
- (changed)="onChange($event)"></sdc-dropdown>
- <div style="margin: 10px 0 30px 0px; font-size:18px">Selected value:<strong style="font-weight: 900">{{valueSelected}}</strong></div>
- `
- },
- {
- id: 'headlesspDropDown',
- showSource: true,
- context: {
- options: options2,
- dropDownHedlessType: DropDownTypes.Headless,
- onChange: function(option) {
- this.valueSelected = option.value;
- }
- },
- title: 'Headless and Labeless DropDown',
- description: 'Headless and labeless DropDown',
- template: `
- <button style="margin-bottom: 10px;" SdcDropdownTrigger [dropDown]="dropDown1">Click to toggle!</button>
- <sdc-dropdown #dropDown1 [options]="options" [type]="dropDownHedlessType" (changed)="onChange($event)"></sdc-dropdown>
- <div style="margin: 10px 0 30px 0px; font-size:18px">Selected value:<strong style="font-weight: 900">{{valueSelected}}</strong></div>
- `
- },
- {
- id: 'disabledDropDown',
- showSource: true,
- context: {
- options: options2,
- onChange: function(option) {
- this.valueSelected = option.value;
- }
- },
- title: 'Disabled DropDown',
- description: 'Disabled DropDown',
- template: `
- <sdc-dropdown label="Hi I am a label"
- placeHolder="Please choose option"
- disabled="true"
- [options]="options"
- (changed)="onChange($event)"></sdc-dropdown>
- <div style="margin: 10px 0 30px 0px; font-size:18px">Selected value:<strong style="font-weight: 900">{{valueSelected}}</strong></div>
- `
- },
- {
- id: 'normalAutoDropDown',
- showSource: true,
- context: {
- options: options1,
- dropDownAutoType: DropDownTypes.Auto,
- onChange: function(option) {
- this.valueSelected = option.value;
- }
- },
- title: 'Normal Auto DropDown',
- description: 'Normal Auto DropDown',
- template: `
- <sdc-dropdown label="Hi I am a label"
- placeHolder="Please choose option"
- [type]="dropDownAutoType"
- [options]="options"
- (changed)="onChange($event)"></sdc-dropdown>
- <div style="margin: 10px 0 30px 0px; font-size:18px">Selected value:<strong style="font-weight: 900">{{valueSelected}}</strong></div>
- `
- }
- ]);
diff --git a/stories/ng2-component-lab/filter-bar.component.exp.ts b/stories/ng2-component-lab/filter-bar.component.exp.ts
deleted file mode 100644
index 12a287d..0000000
--- a/stories/ng2-component-lab/filter-bar.component.exp.ts
+++ /dev/null
@@ -1,56 +0,0 @@
-import { experimentOn } from '@islavi/ng2-component-lab';
-import { SearchFilterPipe } from './pipes/search-filter-pipe';
-
-const action = (e): void => {
- console.log("The search query was changed to: ", e);
-};
-
-export default experimentOn('Filter Bar').group('FilterBar', [
- {
- id: 'filterBar',
- title: 'Filter bar',
- description: `
- The filter bar component text is updated (after debounce time,
- default 200 miliseconds) while user write something.
- In this example the event on search query changed:
- const action = (e): void => {
- console.log("The search query was changed to: ", e);
- };
- `,
- context: {
- onChange: action
- },
- showSource: true,
- template: `
- <sdc-filter-bar placeholder="filter text"
- label="filter example:"
- [(searchQuery)]="searchText"
- (searchQueryChange)="onChange($event)">
- </sdc-filter-bar>
- <br>
- Text to search: {{searchText}}
- `
- },
- {
- id: 'filterBarWithData',
- title: 'Filter bar with data',
- description: `
- Example of filter bar component with debounce 100 miliseconds,
- and with example pipe for filterring.
- `,
- context: {
- data: ['apple', 'banana', 'orange', 'peach']
- },
- showSource: true,
- template: `
- <sdc-filter-bar placeholder="filter text"
- label="filter example:"
- [debounceTime]="100"
- [(searchQuery)]="searchText">
- </sdc-filter-bar>
- <ul style="height: 100px; background-color: #eeeeee;">
- <li *ngFor="let item of data | PipeSearchFilter:searchText">{{item}}</li>
- </ul>
- `
- }
-]);
diff --git a/stories/ng2-component-lab/infinite-scroll.component.exp.ts b/stories/ng2-component-lab/infinite-scroll.component.exp.ts
deleted file mode 100644
index bd20be5..0000000
--- a/stories/ng2-component-lab/infinite-scroll.component.exp.ts
+++ /dev/null
@@ -1,166 +0,0 @@
-import { experimentOn } from '@islavi/ng2-component-lab';
-
-const basicContext = {
- scrollContainerId: 'scrollContainer',
- numLines: Array(20).fill(null),
- hitBottomCount: 0,
- pageCount: 0,
- isPageLoading: false,
- insertPageImmediately: function(pageNum) {
- const scrollContainerElem: HTMLElement = document.getElementById(this.scrollContainerId);
- scrollContainerElem.appendChild(document.createElement('hr'));
- Array(10).fill(null).forEach((_, i) => {
- const lineElem = document.createElement('div');
- lineElem.innerHTML = `Page ${pageNum} - line ${i + 1}`;
- scrollContainerElem.appendChild(lineElem);
- });
- },
- loadPageAsync: function(pageNum, timeout) {
- return new Promise((resolve) => {
- setTimeout(() => {
- this.insertPageImmediately(pageNum);
- resolve();
- }, timeout);
- });
- },
- onScrollHitBottom: function() {
- this.hitBottomCount++;
- }
-};
-
-const basicStyle = `
- .scroll-container {
- margin: 12px;
- border: none;
- padding: 5px;
- width: 200px;
- height: 100px;
- overflow: auto;
- font-size: 20px !important;
- box-shadow: #666 1px 1px 10px;
- }
-
- .example-source {
- background: #eeeeee;
- padding: 10px;
- border: 1px solid #999999;
- }
- .example-source pre {
- overflow: hidden;
- background: #dddddd;
- margin-top: 5px;
- padding: 5px;
- user-select: text;
- }
-`;
-const makeBasicStyleDistance = (distance: number) => `
- .scroll-container::after {
- display: block;
- content: '';
- height: ${distance}px;
- background: red;
- }
-`;
-
-export default experimentOn('Infinite-Scroll')
- .group("Infinite Scroll",[
- {
- id: 'infiniteScrollUsage',
- showSource: true,
- context: Object.assign({}, basicContext),
- title: 'Infinite scroll usage',
- description: 'Infinite scroll usage',
- styles: [basicStyle],
- template: `
- <div (infiniteScroll)="onScrollHitBottom()" class="scroll-container">
- <div *ngFor="let _i of numLines; let i=index">
- Line {{i + 1}}
- </div>
- </div>
- Hit bottom for <b>{{hitBottomCount}}</b> times!
- <div class="example-source">
- <b>onScrollHitBottom declaration:</b>
- <pre>{{onScrollHitBottom}}</pre>
- </div>
- `
- },
- {
- id: 'infiniteScrollUsageWithDistance',
- showSource: true,
- title: 'Infinite scroll usage with distance',
- context: Object.assign({}, basicContext),
- styles: [basicStyle, makeBasicStyleDistance(50)],
- description: '',
- template: `
- <div (infiniteScroll)="onScrollHitBottom()" [infiniteScrollDistance]="50" class="scroll-container">
- <div *ngFor="let _i of numLines; let i=index">
- Line {{i + 1}}
- </div>
- </div>
- Hit bottom for <b>{{hitBottomCount}}</b> times!
- <div class="example-source">
- <b>onScrollHitBottom declaration:</b>
- <pre>{{onScrollHitBottom}}</pre>
- </div>
- `
- },
- {
- id: 'infiniteScrollUsageWithExpandingContent',
- title: 'Infinite scroll usage with expanding content',
- showSource: true,
- context: Object.assign({}, basicContext, {
- scrollContainerId: 'scrollContainer1',
- onScrollHitBottom: function() {
- this.hitBottomCount++;
- this.insertPageImmediately(this.pageCount + 1);
- this.pageCount++;
- }
- }),
- styles: [basicStyle, makeBasicStyleDistance(20)],
- template: `
- <div (infiniteScroll)="onScrollHitBottom()" [infiniteScrollDistance]="20" class="scroll-container" id="{{scrollContainerId}}">
- <div *ngFor="let _i of numLines; let i=index">
- Line {{i + 1}}
- </div>
- </div>
- Hit bottom for <b>{{hitBottomCount}}</b> times!<br/>
- Loaded {{pageCount}} pages!
- <div class="example-source">
- <b>onScrollHitBottom declaration:</b>
- <pre>{{onScrollHitBottom}}</pre>
- </div>
- `
- },
- {
- id: 'infiniteScrollUsageWithExpandingContentAsynchronous',
- title: 'Infinite scroll usage with expanding content asynchronous',
- showSource: true,
- context: Object.assign({}, basicContext, {
- scrollContainerId: 'scrollContainer2',
- onScrollHitBottom: function() {
- this.hitBottomCount++;
- if (!this.isPageLoading) {
- this.isPageLoading = true;
- this.loadPageAsync(this.pageCount + 1, 5000).then(() => {
- this.pageCount++;
- this.isPageLoading = false;
- });
- }
- }
- }),
- styles: [basicStyle, makeBasicStyleDistance(20)],
- template: `
- <div (infiniteScroll)="onScrollHitBottom()" [infiniteScrollDistance]="20" class="scroll-container" id="{{scrollContainerId}}">
- <div *ngFor="let _i of numLines; let i=index">
- Line {{i + 1}}
- </div>
- </div>
- Hit bottom for <b>{{hitBottomCount}}</b> times!<br/>
- Loaded {{pageCount}} pages! <span *ngIf="isPageLoading">LOADING page #{{this.pageCount + 1}} ...</span>
- <div class="example-source">
- <b>onScrollHitBottom declaration:</b>
- <pre>{{onScrollHitBottom}}</pre>
- </div>
- `
- }
- ]);
diff --git a/stories/ng2-component-lab/input.component.exp.ts b/stories/ng2-component-lab/input.component.exp.ts
deleted file mode 100644
index 7e931d6..0000000
--- a/stories/ng2-component-lab/input.component.exp.ts
+++ /dev/null
@@ -1,79 +0,0 @@
-import { experimentOn } from '@islavi/ng2-component-lab';
-
-const valueChange = (value: any): void => {
- console.log('The value was changed! >>>>', value);
-};
-
-export default experimentOn('Input')
- .group("Input",[
- {
- id: 'normalInput',
- showSource: true,
- title: 'Normal input',
- description: 'Normal input',
- template: `
- <sdc-input label="Please Enter value" name="myValue" testId="myTestId"></sdc-input>
- `
- },
- {
- id: 'disabledInput',
- showSource: true,
- title: 'Disabled input',
- description: 'Disabled input',
- template: `
- <sdc-input [disabled]="true"></sdc-input>
- `
- },
- {
- id: 'InputTypeNumber',
- showSource: true,
- title: 'Input type number',
- description: 'Input type number',
- template: `
- <sdc-input type='number'></sdc-input>
- `
- },
- {
- id: 'Input required',
- title: 'Input required',
- description: 'Input required (this add red * to the label, but does not perform validation, use sdc-validation for validation)',
- showSource: true,
- template: `
- <sdc-input label="Please Enter Value" required="true" [maxLength]="5"></sdc-input>
- `
- },
- {
- id: 'inputWithMaxLength',
- title: 'Input with max length',
- description: 'Input with max length',
- showSource: true,
- template: `
- <sdc-input [maxLength]="5"></sdc-input>
- `
- },
- {
- id: 'inputWithPlaceholder',
- title: 'Input with placeholder, custom class, and tests ID',
- description: 'Input with placeholder',
- showSource: true,
- template: `
- <sdc-input placeHolder="Text..." [classNames]="'my-custom-class another-class'" [testId]="'customTestId'"></sdc-input>
- `
- },
- {
- id: 'inputWithDebounce',
- title: 'Input with debounce time',
- description: `<pre>On value change event code:
- const valueChange = (value: any): void => {
- console.log('The value was changed! >>>>', value);
- };
- This event will happen 5 sec after the change
- </pre>`,
- showSource: true,
- context: {
- changeEvent: valueChange
- },
- template: `
- <sdc-input [debounceTime]="5000" (valueChange)="changeEvent($event)"></sdc-input>
- `
- }]);
diff --git a/stories/ng2-component-lab/modals.component.exp.ts b/stories/ng2-component-lab/modals.component.exp.ts
deleted file mode 100644
index e7e38bc..0000000
--- a/stories/ng2-component-lab/modals.component.exp.ts
+++ /dev/null
@@ -1,126 +0,0 @@
-import { experimentOn } from '@islavi/ng2-component-lab';
-
-const sourceStyles:string =`
- .example-source {
- background: #eeeeee;
- padding: 10px;
- border: 1px solid #999999;
- margin-top:30px;
- }
- .example-source pre {
- overflow: hidden;
- background: #dddddd;
- margin-top: 5px;
- padding: 5px;
- user-select: text;
- }
- .example-source pre .comment{
- color:#666;
- opacity:0.4;
- font-style:italic;
- transition: opacity 400ms ease-in;
- }
- .example-source pre:hover .comment {
- opacity:1;
- }
-`;
-
-export default experimentOn('Modals')
- .group("Modals", [
- {
- id: 'standardModal',
- showSource: false,
- title: 'Standard modal',
- description: 'Opens a modal with a custom title, message, and confirm button with a callback.',
- template: `
- <modal-consumer [action]="'openActionModal'"></modal-consumer>
- <div class="example-source">Source Code:
- <pre>
- const MODAL_CONTENT = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed risus nisl, egestas vitae erat non,' +
- 'pulvinar lacinia libero. Integer pulvinar pellentesque accumsan. Sed hendrerit lacus eu tempus pharetra';
-
- this.modalService.openActionModal('Standard Modal', MODAL_CONTENT, "OK", this.onConfirmAction, "sampleTestId");
-
- private onConfirmAction = ():void => {{ '{' }}
- alert("Action has been confirmed");
- {{ '}' }};
- </pre></div>`,
- styles: [sourceStyles]
- },
- {
- id: 'alertModal',
- showSource: false,
- title: 'Alert modal',
- description: 'Opens a standard alert modal with a custom title and message.',
- template: `
-
-
- <modal-consumer [action]="'openAlertModal'"></modal-consumer>
- <div class="example-source">Source Code:
- <pre>
- const MODAL_CONTENT = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed risus nisl, egestas vitae erat non,' +
- 'pulvinar lacinia libero. Integer pulvinar pellentesque accumsan. Sed hendrerit lacus eu tempus pharetra';
-
- this.modalService.openAlertModal("Alert Title", MODAL_CONTENT, "Continue", this.onConfirmAction, "sampleTestId");
- </pre></div>`,
- styles: [sourceStyles]
- },
- {
- id: 'errorModal',
- showSource: false,
- title: 'Error modal',
- description: `Opens a standard error modal with a custom message.`,
- template: `<modal-consumer [action]="'openErrorModal'"></modal-consumer>
- <div class="example-source">Source Code:
- <pre>
-
- this.modalService.openErrorModal("An error has occurred!", "sampleTestId");
- </pre></div>`,
- styles: [sourceStyles]
- },
- {
- id: 'customModal1',
- showSource: false,
- title: 'Custom modal 1',
- description: 'Opens a modal with dynamic inner content and customizable title, buttons, and callbacks.',
- template: `
- <modal-consumer [action]="'openCustomModal1'"></modal-consumer>
- <div class="example-source">Source Code:
- <pre>
-
- <span class="comment">//create modal config object </span>
- let modalConfig:IModalConfig = {{ '{' }}
- size: ModalSize.small,
- title: 'Title',
- type: ModalType.standard,
- buttons: [
- {{ '{' }}text:"Save", size:"'x-small'", callback:this.customModalOnSave, closeModal:false{{ '}' }},
- {{ '{' }}text:"Cancel", size:"'x-small'", closeModal:true{{ '}' }}]
- {{ '}' }};
-
- <span class="comment">//open modal with dynamically created 'modalInnerContent' example component. Send data object with input 'name'. </span>
- this.modalService.openCustomModal(modalConfig, ModalInnerContent, {{ '{' }}name: "Sample Content"{{ '}' }});
-
- private customModalOnDone = ():void => {{ '{' }}
- let currentInstance:any = this.modalService.getCurrentInstance();
- alert("Save with result: " + currentInstance.innerModalContent.instance.name);
- {{ '}' }};
-
- private customModalOnSave = ():void => {{ '{' }}
- let currentInstance:any = this.modalService.getCurrentInstance();
- alert("Save with result: " + currentInstance.innerModalContent.instance.name);
- {{ '}' }};
- </pre></div>`,
- styles: [sourceStyles]
- },
- {
- id: 'customModal2',
- showSource: false,
- title: 'Custom modal 2',
- description: 'Opens a modal with, and change his buttons and title',
- template: `
- <modal-consumer [action]="'openCustomModal2'"></modal-consumer>
- `,
- styles: [sourceStyles]
- }
- ]);
diff --git a/stories/ng2-component-lab/notification.component.exp.ts b/stories/ng2-component-lab/notification.component.exp.ts
deleted file mode 100644
index ba2ba24..0000000
--- a/stories/ng2-component-lab/notification.component.exp.ts
+++ /dev/null
@@ -1,11 +0,0 @@
-import { experimentOn } from '@islavi/ng2-component-lab';
-
-export default experimentOn('Notification')
- .group("Default Notification",[
- {
- id: 'notificationContainer',
- showSource: true,
- title: 'Notification Container',
- description: 'container example ...',
- template: `<notifications-example></notifications-example>`,
- }]);
diff --git a/stories/ng2-component-lab/pipes/search-filter-pipe.ts b/stories/ng2-component-lab/pipes/search-filter-pipe.ts
deleted file mode 100644
index 5469eb4..0000000
--- a/stories/ng2-component-lab/pipes/search-filter-pipe.ts
+++ /dev/null
@@ -1,15 +0,0 @@
-import { Pipe, PipeTransform } from '@angular/core';
-
-@Pipe ({
- name: 'PipeSearchFilter',
-})
-export class SearchFilterPipe implements PipeTransform {
- public transform(value, text: string) {
- if (!text || !text.length) {
- return value;
- }
- return value.filter((item) => {
- return item.toLowerCase().indexOf(text.toLowerCase()) > -1;
- });
- }
-}
diff --git a/stories/ng2-component-lab/popup-menu.component.exp.ts b/stories/ng2-component-lab/popup-menu.component.exp.ts
deleted file mode 100644
index 12da361..0000000
--- a/stories/ng2-component-lab/popup-menu.component.exp.ts
+++ /dev/null
@@ -1,104 +0,0 @@
-import { experimentOn } from '@islavi/ng2-component-lab';
-
-export default experimentOn('Menu')
- .group("Popups",[
- {
- id: 'basicPopupMenuStatic',
- showSource: true,
- title: 'Basic popup menu (static)',
- description: 'Basic popup menu (static)',
- template: `
- <popup-menu-list [open]="true">
- <popup-menu-item>
- <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="18" height="18" viewBox="0 0 24 24">
- <defs>
- <path id="add-copy-a1" d="M11,0 C4.9,0 0,4.9 0,11 C0,17.1 4.9,22 11,22 C17.1,22 22,17.1 22,11 C22,4.9 17.1,0 11,0 M15,10 L12,10 L12,7 C12,6.4 11.6,6 11,6 C10.4,6 10,6.4 10,7 L10,10 L7,10 C6.4,10 6,10.4 6,11 C6,11.6 6.4,12 7,12 L10,12 L10,15 C10,15.6 10.4,16 11,16 C11.6,16 12,15.6 12,15 L12,12 L15,12 C15.6,12 16,11.6 16,11 C16,10.4 15.6,10 15,10"/>
- </defs>
- <g fill="none" fill-rule="evenodd" transform="translate(1 1)">
- <use xlink:href="#add-copy-a1"/>
- </g>
- </svg>
- First
- </popup-menu-item>
- <popup-menu-item type="selected">
- <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="18" height="18" viewBox="0 0 24 24">
- <defs>
- <path id="add-copy-a2" d="M11,0 C4.9,0 0,4.9 0,11 C0,17.1 4.9,22 11,22 C17.1,22 22,17.1 22,11 C22,4.9 17.1,0 11,0 M15,10 L12,10 L12,7 C12,6.4 11.6,6 11,6 C10.4,6 10,6.4 10,7 L10,10 L7,10 C6.4,10 6,10.4 6,11 C6,11.6 6.4,12 7,12 L10,12 L10,15 C10,15.6 10.4,16 11,16 C11.6,16 12,15.6 12,15 L12,12 L15,12 C15.6,12 16,11.6 16,11 C16,10.4 15.6,10 15,10"/>
- </defs>
- <g fill="none" fill-rule="evenodd" transform="translate(1 1)">
- <use xlink:href="#add-copy-a2"/>
- </g>
- </svg>
- Selected
- </popup-menu-item>
- <popup-menu-item type="disabled">
- <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="18" height="18" viewBox="0 0 24 24">
- <defs>
- <path id="add-copy-a3" d="M11,0 C4.9,0 0,4.9 0,11 C0,17.1 4.9,22 11,22 C17.1,22 22,17.1 22,11 C22,4.9 17.1,0 11,0 M15,10 L12,10 L12,7 C12,6.4 11.6,6 11,6 C10.4,6 10,6.4 10,7 L10,10 L7,10 C6.4,10 6,10.4 6,11 C6,11.6 6.4,12 7,12 L10,12 L10,15 C10,15.6 10.4,16 11,16 C11.6,16 12,15.6 12,15 L12,12 L15,12 C15.6,12 16,11.6 16,11 C16,10.4 15.6,10 15,10"/>
- </defs>
- <g fill="none" fill-rule="evenodd" transform="translate(1 1)">
- <use xlink:href="#add-copy-a3"/>
- </g>
- </svg>
- Disabled
- </popup-menu-item>
- <popup-menu-item type="separator"></popup-menu-item>
- <popup-menu-item>
- <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="18" height="18" viewBox="0 0 24 24">
- <defs>
- <path id="add-copy-a4" d="M11,0 C4.9,0 0,4.9 0,11 C0,17.1 4.9,22 11,22 C17.1,22 22,17.1 22,11 C22,4.9 17.1,0 11,0 M15,10 L12,10 L12,7 C12,6.4 11.6,6 11,6 C10.4,6 10,6.4 10,7 L10,10 L7,10 C6.4,10 6,10.4 6,11 C6,11.6 6.4,12 7,12 L10,12 L10,15 C10,15.6 10.4,16 11,16 C11.6,16 12,15.6 12,15 L12,12 L15,12 C15.6,12 16,11.6 16,11 C16,10.4 15.6,10 15,10"/>
- </defs>
- <g fill="none" fill-rule="evenodd" transform="translate(1 1)">
- <use xlink:href="#add-copy-a4"/>
- </g>
- </svg>
- Second
- </popup-menu-item>
- </popup-menu-list>
- `
- },
- {
- id: 'basicMenuRelative',
- title: 'Basic menu (relative)',
- description: 'Basic menu (relative)',
- showSource: true,
- context: {
- showSelectedItem: (msg, color) => {
- const elm = document.getElementById('selectedItem');
- elm.style.color = color;
- elm.innerHTML = msg;
- }
- },
- styles: [`
- .message {
- position: absolute;
- top: 0; left: 0;
- color: white;
- }
- .click-area {
- position: absolute;
- width: 100%;
- height: 100%;
- }
- `],
- template:
- `
- <div style="position: relative; width: 400px; height: 200px; background: blue;">
- <span class="message">Click in the box...<br/>
- (popup menu is {{menuStatus === undefined ? 'never opened' : (menuStatus ? 'open at '+menuPos.x+' , '+menuPos.y : 'closed')}})<br/>
- selected: <span #selectedItem id="selectedItem"></span>
- </span>
- <div class="click-area"
- (click)="menu.position = {x:$event.offsetX, y:$event.offsetY}; mopen=true;">
- <popup-menu-list [(open)]="mopen" (openChange)="menuStatus=$event" (positionChange)="menuPos=$event" [relative]="true" #menu>
- <popup-menu-item (action)="showSelectedItem('First', 'red')">First</popup-menu-item>
- <popup-menu-item type="disabled">Disabled</popup-menu-item>
- <popup-menu-item type="separator"></popup-menu-item>
- <popup-menu-item (action)="showSelectedItem('Second', 'green')">Second</popup-menu-item>
- <popup-menu-item>Third (none)</popup-menu-item>
- </popup-menu-list>
- </div>
- </div>
- `
- }
- ]);
diff --git a/stories/ng2-component-lab/radio.component.exp.ts b/stories/ng2-component-lab/radio.component.exp.ts
deleted file mode 100644
index aa3959b..0000000
--- a/stories/ng2-component-lab/radio.component.exp.ts
+++ /dev/null
@@ -1,179 +0,0 @@
-import { experimentOn } from '@islavi/ng2-component-lab';
-
-export default experimentOn('Radios')
- .group("Radios",[
- {
- id: 'radioButtonsGroupTwoWaysBinding',
- showSource: true,
- context: {
- selectedValue: "val2"
- },
- title: 'Radio buttons group (two ways binding)',
- description: 'Radio buttons group (two ways binding)',
- template:
- `
- <sdc-radio-group
- [legend]="'Radio Buttons Group legend'"
- [(value)]="selectedValue"
- [options] = "{
- items: [
- {
- value: 'val1',
- name: 'radio5',
- label: 'Label of Radio 1'
- },
- {
- value: 'val2',
- name: 'radio5',
- label: 'Label of Radio 2'
- }
- ]}"
- ></sdc-radio-group>
- <br><div>Selected Radio: {{selectedValue}}</div>
- `
- },
- {
- id: 'radioButtonsGroupDisabled',
- title: 'Radio buttons group disabled',
- description: 'Radio buttons group disabled',
- showSource: true,
- context: {
- selectedValue: "val1"
- },
- template: `
- <sdc-radio-group
- [legend]="'Radio Buttons Group Disabled legend'"
- [disabled]="true"
- [value]="selectedValue"
- [options] = "{
- items: [{
- value: 'val1',
- name: 'radio6',
- label: 'Label of Radio 1'
- }, {
- value: 'val2',
- name: 'radio6',
- label: 'Label of Radio 2'
- }]
- }"></sdc-radio-group>
- <br><div>Selected Radio: {{selectedValue}}</div>
- `
- },
- {
- id: 'radioButtonsGroupPartiallyDisabled',
- title: 'Radio buttons group partially disabled',
- description: 'Radio buttons group partially disabled',
- showSource: true,
- context: {
- selectedValue: "val2"
- },
- template: `
- <sdc-radio-group
- [legend]="'Radio Buttons Group partially disabled'"
- [(value)]="selectedValue"
- [options] = "{
- items: [{
- value: 'val1',
- name: 'radio7',
- label: 'Label of Radio 1'
- }, {
- value: 'val2',
- disabled: 'true',
- name: 'radio7',
- label: 'Label of Radio 2'
- }, {
- value: 'val3',
- name: 'radio7',
- label: 'Label of Radio 3'
- }]
- }"></sdc-radio-group>
- <br><div>Selected Radio: {{selectedValue}}</div>
- `
- },
- {
- id: 'radioButtonsGroupVertical',
- title: 'Radio buttons group vertical',
- description: 'Radio buttons group vertical',
- showSource: true,
- context: {
- selectedValue: "val1"
- },
- template: `
- <sdc-radio-group
- [legend]="'Radio Buttons Group Vertical legend'"
- [(value)]="selectedValue"
- [direction]="'horizontal'"
- [options]="{
- items: [{
- value:'val1',
- name: 'radio8',
- label: 'Label of Radio1'
- }, {
- value:'val2',
- name: 'radio8',
- label: 'Label of Radio2'
- }]
- }"></sdc-radio-group>
- <br><div>Selected Radio: {{selectedValue}}</div>
- `
- },
- {
- id: 'radioButtonsGroupGetValue',
- title: 'Radio buttons group get value',
- description: 'Radio buttons group get value',
- showSource: true,
- context: {
- selectedValue: "val1",
- getSelectedValue: (val)=>{
- alert(val);
- }
- },
- template: `
- <sdc-radio-group
- #myRadioGroup
- [legend]="'Radio Buttons Group Vertical legend'"
- [(value)]="selectedValue"
- [options]="{
- items: [{
- value:'val1',
- name: 'radio8',
- label: 'Label of Radio1'
- }, {
- value:'val2',
- name: 'radio8',
- label: 'Label of Radio2'
- }]
- }"></sdc-radio-group>
- <br><div>Selected Radio: {{selectedValue}}</div>
- <br><button (click)="getSelectedValue(myRadioGroup.value)">Get selected value</button>
- `
- },
- {
- id: 'radioButtonsGroupSelectValue',
- title: 'Radio buttons group select value',
- description: 'Radio buttons group select value',
- showSource: true,
- context: {
- selectedValue: "val1"
- },
- template: `
- <sdc-radio-group
- #myRadioGroup
- [legend]="'Radio Buttons Group Vertical legend'"
- [(value)]="selectedValue"
- [options]="{
- items: [{
- value:'val1',
- name: 'radio8',
- label: 'Label of Radio1'
- }, {
- value:'val2',
- name: 'radio8',
- label: 'Label of Radio2'
- }]
- }"></sdc-radio-group>
- <br><div>Selected Radio: {{selectedValue}}</div>
- <br><button (click)="myRadioGroup.value='val2'">Set value to val2</button>
- `
- }
- ]);
diff --git a/stories/ng2-component-lab/search-bar.component.exp.ts b/stories/ng2-component-lab/search-bar.component.exp.ts
deleted file mode 100644
index 4a7e1fd..0000000
--- a/stories/ng2-component-lab/search-bar.component.exp.ts
+++ /dev/null
@@ -1,19 +0,0 @@
-import { experimentOn } from '@islavi/ng2-component-lab';
-
-export default experimentOn('Search Bar').group('SearchBar', [
- {
- id: 'search-bar',
- title: 'Search Bar',
- description: "The search text is updated on click on the magnify",
- showSource: true,
- template: `
- The text to search: {{searchText}}
- <sdc-search-bar placeholder="search text"
- label="search example:"
- [searchQuery]="searchText"
- (searchQueryClick)="searchText = $event"
- >
- </sdc-search-bar>
- `
- }
-]);
diff --git a/stories/ng2-component-lab/svg-icon.component.exp.ts b/stories/ng2-component-lab/svg-icon.component.exp.ts
deleted file mode 100644
index c87727d..0000000
--- a/stories/ng2-component-lab/svg-icon.component.exp.ts
+++ /dev/null
@@ -1,14 +0,0 @@
-import { experimentOn } from '@islavi/ng2-component-lab';
-import { Mode, Size } from "../../src/angular/common/enums";
-
-export default experimentOn('Icons')
- .group('SvgIcons', [
- {
- id: 'SvgIcons',
- showSource: false,
- title: 'SVG Icons',
- template: `
- <svg-icons-table></svg-icons-table>
- `
- }
- ]);
diff --git a/stories/ng2-component-lab/tabs.component.exp.ts b/stories/ng2-component-lab/tabs.component.exp.ts
deleted file mode 100644
index ff4c0c5..0000000
--- a/stories/ng2-component-lab/tabs.component.exp.ts
+++ /dev/null
@@ -1,28 +0,0 @@
-import { experimentOn } from '@islavi/ng2-component-lab';
-
-export default experimentOn('Tabs').group('Tabs', [
- {
- id: 'simpleTabs',
- title: 'Simple tabs with text title',
- description: "Simple tabs with text title",
- showSource: true,
- template: `
- <sdc-tabs>
- <sdc-tab title="tab1">This is tab 1</sdc-tab>
- <sdc-tab title="tab2">This is tab 2</sdc-tab>
- </sdc-tabs>
- `
- },
- {
- id: 'simpleTabsWithIcons',
- title: 'Simple tabs with icon title',
- description: "Simple tabs with icon title",
- showSource: true,
- template: `
- <sdc-tabs>
- <sdc-tab titleIcon="inputs-o">This is tab 1</sdc-tab>
- <sdc-tab titleIcon="edit-file-o">This is tab 2</sdc-tab>
- </sdc-tabs>
- `
- }
-]);
diff --git a/stories/ng2-component-lab/tag-cloud.component.exp.ts b/stories/ng2-component-lab/tag-cloud.component.exp.ts
deleted file mode 100644
index 83ad03c..0000000
--- a/stories/ng2-component-lab/tag-cloud.component.exp.ts
+++ /dev/null
@@ -1,61 +0,0 @@
-import { experimentOn } from '@islavi/ng2-component-lab';
-
-export default experimentOn('Tag Cloud').group('Tag Cloud', [
- {
- id: 'list',
- title: 'Simple tag-cloud',
- description: 'Simple tag-cloud',
- showSource: true,
- template: `
- <sdc-tag-cloud label="Please Enter value"
- placeholder="Type a value and then click enter or '+'"
- [list]="['aaa', 'bbb']">
-
- </sdc-tag-cloud>
- `
- },
- {
- id: 'unique-tag-cloud',
- title: 'List with unique validation',
- description: 'List with unique validation',
- showSource: true,
- template: `
- <sdc-tag-cloud label="Please Enter value"
- placeholder="Type a value and then click enter or '+'"
- [list]="['aaa', 'bbb']"
- [isUniqueList]="true"
- [uniqueErrorMessage]="'This value is already in the list'">
-
- </sdc-tag-cloud>
- `
- },
- {
- id: 'disabled-tag-cloud',
- title: 'Disabled tag-cloud',
- description: 'When the parameter isViewOnly = true, the tag-cloud control is disabled',
- showSource: true,
- template: `
- <sdc-tag-cloud label="Please Enter value"
- placeholder="Type a value and then click enter or '+'"
- [list]="['aaa', 'bbb']"
- [isViewOnly]="true">
-
- </sdc-tag-cloud>
- `
- },
- {
- id: 'tag-cloud-with-disabled-items',
- title: 'List with some readonly items',
- description: 'The parameter isViewOnly can get an array of indexes of tag-cloud items.',
- showSource: true,
- template: `
- <sdc-tag-cloud label="Please Enter value"
- placeholder="Type a value and then click enter or '+'"
- [list]="['aaa', 'bbb', 'ccc', 'ddd']"
- [isViewOnly]="[1,3]">
-
- </sdc-tag-cloud>
- `
- }
-]);
-
diff --git a/stories/ng2-component-lab/tiles.component.exp.ts b/stories/ng2-component-lab/tiles.component.exp.ts
deleted file mode 100644
index 572b6ca..0000000
--- a/stories/ng2-component-lab/tiles.component.exp.ts
+++ /dev/null
@@ -1,194 +0,0 @@
-import { experimentOn } from '@islavi/ng2-component-lab';
-
-const alert1 = window.alert;
-const console1 = console.log;
-
-export default experimentOn('Tiles')
- .group("Tiles",[
- {
- id: 'tileSampleBlue',
- showSource: true,
- context: {
- alert: alert1,
- console: console1
- },
- title: 'Tile sample blue',
- description: 'Tile sample blue',
- template: `
- <sdc-tile>
- <sdc-tile-header>
- <div class="blue">P</div>
- </sdc-tile-header>
- <sdc-tile-content>
- <div class="sdc-tile-content-icon blue">
- <div class="svg-icon-wrapper" >
- <svg class="svg-icon __vsp" viewBox="0 0 59.5 40" id="vsp_icon">
- <title>
- vsp_new_icon
- </title>
- <g id="Layer_2" data-name="Layer 2">
- <g id="vlm_icon" data-name="vlm icon">
- <path d="M58.28,30.74c-1.49-1.82-3-2.7-4.67-2.74a8.5,8.5,0,0,0-16.22-2.44,6.93,6.93,0,0,0-4.06.66A7.23,7.23,0,0,0,36.42,40H53.5a6,6,0,0,0,6-6A5.18,5.18,0,0,0,58.28,30.74ZM53.5,38H36.42a5.25,5.25,0,0,1-5.21-5.91,5.32,5.32,0,0,1,3-4.06,5,5,0,0,1,2.21-.53,5.25,5.25,0,0,1,1.35.18l.92.24L39,27A6.5,6.5,0,0,1,51.67,29v1.3l1.17-.2c1-.17,2.17-.17,3.91,2a3.18,3.18,0,0,1,.76,2A4,4,0,0,1,53.5,38Z">
- </path>
- <path d="M49,0,4,.17A3.79,3.79,0,0,0,0,3.69V7.94H0v2H0V36.31C0,38.35,2,40,4.25,40l20.84-.08a1,1,0,0,0,0-1.92L4,38.08a1.89,1.89,0,0,1-2-1.76V10H51v7a1,1,0,0,0,2,0V3.53A3.79,3.79,0,0,0,49,0ZM2,8V3.76A1.89,1.89,0,0,1,4,2l45-.16a1.89,1.89,0,0,1,2,1.76V8Z">
- </path>
- </g>
- </g>
- </svg>
- </div>
- </div>
- <div class="sdc-tile-content-info">
- <div class="sdc-tile-info-line title">Router</div>
- <div class="sdc-tile-info-line subtitle">test</div>
- </div>
- </sdc-tile-content>
- <sdc-tile-footer>
- <span class="sdc-tile-footer-cell">Footer</span>
- </sdc-tile-footer>
- </sdc-tile>
- `
- },
- {
- id: 'tileSamplePurple',
- title: 'Tile sample purple',
- description: 'Tile sample purple',
- showSource: true,
- template: `
- <sdc-tile>
- <sdc-tile-header>
- <div class="purple">P</div>
- </sdc-tile-header>
- <sdc-tile-content>
- <div class="sdc-tile-content-icon purple">
- <div class="svg-icon-wrapper" >
- <svg class="svg-icon __vsp" viewBox="0 0 59.5 40" id="vsp_icon">
- <title>
- vsp_new_icon
- </title>
- <g id="Layer_2" data-name="Layer 2">
- <g id="vlm_icon" data-name="vlm icon">
- <path d="M58.28,30.74c-1.49-1.82-3-2.7-4.67-2.74a8.5,8.5,0,0,0-16.22-2.44,6.93,6.93,0,0,0-4.06.66A7.23,7.23,0,0,0,36.42,40H53.5a6,6,0,0,0,6-6A5.18,5.18,0,0,0,58.28,30.74ZM53.5,38H36.42a5.25,5.25,0,0,1-5.21-5.91,5.32,5.32,0,0,1,3-4.06,5,5,0,0,1,2.21-.53,5.25,5.25,0,0,1,1.35.18l.92.24L39,27A6.5,6.5,0,0,1,51.67,29v1.3l1.17-.2c1-.17,2.17-.17,3.91,2a3.18,3.18,0,0,1,.76,2A4,4,0,0,1,53.5,38Z">
- </path>
- <path d="M49,0,4,.17A3.79,3.79,0,0,0,0,3.69V7.94H0v2H0V36.31C0,38.35,2,40,4.25,40l20.84-.08a1,1,0,0,0,0-1.92L4,38.08a1.89,1.89,0,0,1-2-1.76V10H51v7a1,1,0,0,0,2,0V3.53A3.79,3.79,0,0,0,49,0ZM2,8V3.76A1.89,1.89,0,0,1,4,2l45-.16a1.89,1.89,0,0,1,2,1.76V8Z">
- </path>
- </g>
- </g>
- </svg>
- </div>
- </div>
- <div class="sdc-tile-content-info">
- <span class="sdc-tile-info-line title">Router</span>
- <div class="sdc-tile-info-line subtitle">test</div>
- </div>
- </sdc-tile-content>
- <sdc-tile-footer>
- <span class="sdc-tile-footer-cell"> Footer </span>
- </sdc-tile-footer>
- </sdc-tile>
- `
- },
- {
- id: 'tileSampleWithoutFooter',
- title: 'Tile sample without footer',
- description: 'Tile sample without footer',
- showSource: true,
- template: `
- <sdc-tile>
- <sdc-tile-header>
- <div class="purple">P</div>
- </sdc-tile-header>
- <sdc-tile-content>
- <div class="sdc-tile-content-icon purple">
- <div class="svg-icon-wrapper" >
- <svg class="svg-icon __vsp" viewBox="0 0 59.5 40" id="vsp_icon">
- <title>
- vsp_new_icon
- </title>
- <g id="Layer_2" data-name="Layer 2">
- <g id="vlm_icon" data-name="vlm icon">
- <path d="M58.28,30.74c-1.49-1.82-3-2.7-4.67-2.74a8.5,8.5,0,0,0-16.22-2.44,6.93,6.93,0,0,0-4.06.66A7.23,7.23,0,0,0,36.42,40H53.5a6,6,0,0,0,6-6A5.18,5.18,0,0,0,58.28,30.74ZM53.5,38H36.42a5.25,5.25,0,0,1-5.21-5.91,5.32,5.32,0,0,1,3-4.06,5,5,0,0,1,2.21-.53,5.25,5.25,0,0,1,1.35.18l.92.24L39,27A6.5,6.5,0,0,1,51.67,29v1.3l1.17-.2c1-.17,2.17-.17,3.91,2a3.18,3.18,0,0,1,.76,2A4,4,0,0,1,53.5,38Z">
- </path>
- <path d="M49,0,4,.17A3.79,3.79,0,0,0,0,3.69V7.94H0v2H0V36.31C0,38.35,2,40,4.25,40l20.84-.08a1,1,0,0,0,0-1.92L4,38.08a1.89,1.89,0,0,1-2-1.76V10H51v7a1,1,0,0,0,2,0V3.53A3.79,3.79,0,0,0,49,0ZM2,8V3.76A1.89,1.89,0,0,1,4,2l45-.16a1.89,1.89,0,0,1,2,1.76V8Z">
- </path>
- </g>
- </g>
- </svg>
- </div>
- </div>
- <div class="sdc-tile-content-info">
- <span class="sdc-tile-info-line title">Router</span>
- <div class="sdc-tile-info-line subtitle">test</div>
- </div>
- </sdc-tile-content>
- </sdc-tile>
- `
- },
- {
- id: 'tileSampleWithoutHeader',
- title: 'Tile sample without header',
- description: 'Tile sample without header',
- showSource: true,
- template: `
- <sdc-tile>
- <sdc-tile-content>
- <div class="sdc-tile-content-icon purple">
- <div class="svg-icon-wrapper" >
- <svg class="svg-icon __vsp" viewBox="0 0 59.5 40" id="vsp_icon">
- <title>
- vsp_new_icon
- </title>
- <g id="Layer_2" data-name="Layer 2">
- <g id="vlm_icon" data-name="vlm icon">
- <path d="M58.28,30.74c-1.49-1.82-3-2.7-4.67-2.74a8.5,8.5,0,0,0-16.22-2.44,6.93,6.93,0,0,0-4.06.66A7.23,7.23,0,0,0,36.42,40H53.5a6,6,0,0,0,6-6A5.18,5.18,0,0,0,58.28,30.74ZM53.5,38H36.42a5.25,5.25,0,0,1-5.21-5.91,5.32,5.32,0,0,1,3-4.06,5,5,0,0,1,2.21-.53,5.25,5.25,0,0,1,1.35.18l.92.24L39,27A6.5,6.5,0,0,1,51.67,29v1.3l1.17-.2c1-.17,2.17-.17,3.91,2a3.18,3.18,0,0,1,.76,2A4,4,0,0,1,53.5,38Z">
- </path>
- <path d="M49,0,4,.17A3.79,3.79,0,0,0,0,3.69V7.94H0v2H0V36.31C0,38.35,2,40,4.25,40l20.84-.08a1,1,0,0,0,0-1.92L4,38.08a1.89,1.89,0,0,1-2-1.76V10H51v7a1,1,0,0,0,2,0V3.53A3.79,3.79,0,0,0,49,0ZM2,8V3.76A1.89,1.89,0,0,1,4,2l45-.16a1.89,1.89,0,0,1,2,1.76V8Z">
- </path>
- </g>
- </g>
- </svg>
- </div>
- </div>
- <div class="sdc-tile-content-info">
- <span class="sdc-tile-info-line title">Router</span>
- <div class="sdc-tile-info-line subtitle">test</div>
- </div>
- </sdc-tile-content>
- <sdc-tile-footer>
- <span class="sdc-tile-footer-cell"> Footer </span>
- </sdc-tile-footer>
- </sdc-tile>
- `
- },
- {
- id: 'tileJustWithInfo',
- title: 'Tile just with info',
- description: 'Tile just with info',
- showSource: true,
- template: `
- <sdc-tile>
- <sdc-tile-content>
- <div class="sdc-tile-content-icon purple">
- <div class="svg-icon-wrapper" >
- <svg class="svg-icon __vsp" viewBox="0 0 59.5 40" id="vsp_icon">
- <title>
- vsp_new_icon
- </title>
- <g id="Layer_2" data-name="Layer 2">
- <g id="vlm_icon" data-name="vlm icon">
- <path d="M58.28,30.74c-1.49-1.82-3-2.7-4.67-2.74a8.5,8.5,0,0,0-16.22-2.44,6.93,6.93,0,0,0-4.06.66A7.23,7.23,0,0,0,36.42,40H53.5a6,6,0,0,0,6-6A5.18,5.18,0,0,0,58.28,30.74ZM53.5,38H36.42a5.25,5.25,0,0,1-5.21-5.91,5.32,5.32,0,0,1,3-4.06,5,5,0,0,1,2.21-.53,5.25,5.25,0,0,1,1.35.18l.92.24L39,27A6.5,6.5,0,0,1,51.67,29v1.3l1.17-.2c1-.17,2.17-.17,3.91,2a3.18,3.18,0,0,1,.76,2A4,4,0,0,1,53.5,38Z">
- </path>
- <path d="M49,0,4,.17A3.79,3.79,0,0,0,0,3.69V7.94H0v2H0V36.31C0,38.35,2,40,4.25,40l20.84-.08a1,1,0,0,0,0-1.92L4,38.08a1.89,1.89,0,0,1-2-1.76V10H51v7a1,1,0,0,0,2,0V3.53A3.79,3.79,0,0,0,49,0ZM2,8V3.76A1.89,1.89,0,0,1,4,2l45-.16a1.89,1.89,0,0,1,2,1.76V8Z">
- </path>
- </g>
- </g>
- </svg>
- </div>
- </div>
- <div class="sdc-tile-content-info">
- <span class="sdc-tile-info-line title">Router</span>
- <div class="sdc-tile-info-line subtitle">test</div>
- </div>
- </sdc-tile-content>
- </sdc-tile>`
- }
- ]);
diff --git a/stories/ng2-component-lab/tooltip.directive.exp.ts b/stories/ng2-component-lab/tooltip.directive.exp.ts
deleted file mode 100644
index 9e1dd0b..0000000
--- a/stories/ng2-component-lab/tooltip.directive.exp.ts
+++ /dev/null
@@ -1,231 +0,0 @@
-import { experimentOn } from '@islavi/ng2-component-lab';
-import { ArrowPlacement, TooltipPlacement } from '../../src/angular/tooltip/tooltip.directive';
-
-const customTemplate = `
- .sdc-custom-tooltip-template-title {
- font-size: 20px;
- font-weight: bold;
- background-color: $black;
- color: $white;
- text-align: center;
- }
-
- .sdc-custom-tooltip-template-content {
- background-color: $black;
- color: $white;
- display: inline-block;
- text-align: center;
- }
-
- .sdc-custom-tooltip-template-image {
- width: 100%;
- height:100%;
- display: inline-block;
- text-align: center;
- background-color: #ffffff;
- }
-`;
-
-export default experimentOn('Tooltip')
- .group("Tooltip",[
- {
- id: 'leftAlignmentTextTooltip',
- showSource: true,
- title: 'Tooltip with short text (left placement)',
- description: 'left placement',
- context: {
- placement: TooltipPlacement.Left,
- arrowPlacement: ArrowPlacement.LeftTop
- },
- template: `
- <div style="padding-bottom: 20px; width: 350px;">Lorem ipsum dolor sit amet,
- <span style="color: #009fdb"
- sdc-tooltip
- tooltip-text = 'A short text name, short text'
- [tooltip-placement]= 'placement'
- [tooltip-arrow-placement] = 'arrowPlacement'>show tooltip
- </span>
- ,consectetur adipiscing elit. Sed risus nisl, egestas vitae erat non, pulvinar lacinia libero.
- Integer pulvinar pellentesque accumsan.
- <span style="color: #009fdb"
- sdc-tooltip
- tooltip-text = 'A short text name, short text'
- [tooltip-placement]= 'placement'
- [tooltip-arrow-placement] = 'arrowPlacement'>show tooltip
- </span>
- Sed hendrerit lacus eu tempus pharetra
- </div>
- `
- },
- {
- id: 'leftAlignmentMultiLineTextTooltip',
- showSource: true,
- title: 'Tooltip with multi line text (left placement)',
- description: 'left placement',
- context: {
- placement: TooltipPlacement.Left,
- arrowPlacement: ArrowPlacement.LeftTop
- },
- template: `
- <div style="padding-bottom: 20px;">
- The is text example,
- <span style="color: #009fdb"
- sdc-tooltip
- tooltip-text = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed risus nisl, egestas vitae erat non, pulvinar lacinia libero. Integer pulvinar pellentesque accumsan. Sed hendrerit lacus eu tempus pharetra'
- [tooltip-placement]= 'placement'
- [tooltip-arrow-placement] = 'arrowPlacement'>show tooltip
- </span>
- , more text
- </div>
- `
- },
- {
- id: 'customStyleTooltip',
- showSource: true,
- title: 'Tooltip with custom style',
- description: 'Tooltip with custom style, define your class and style it via css.',
- context: {
- text: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed risus nisl, egestas vitae erat non, pulvinar lacinia libero. Integer pulvinar pellentesque accumsan. Sed hendrerit lacus eu tempus pharetra'
- },
- template: `
- <![CDATA[
- .sdc-custom-tooltip {
- background-color: $dark-blue;
- border-color: $dark-blue;
- border-radius: 10px;
- }
- ]]>
- <div style="padding-bottom: 20px;">
- Some text example,
- <span style="color: #009fdb" sdc-tooltip [tooltip-text]=text tooltip-css-class='sdc-custom-tooltip'>show tooltip</span>, more text
- </div>
- `
- },
- {
- id: 'rightAlignmentHtmlTooltip',
- showSource: true,
- title: 'Tooltip with HTML template (right placement)',
- description: 'right placement',
- context: {
- placement: TooltipPlacement.Right,
- arrowPlacement: ArrowPlacement.LeftTop
- },
- styles: [customTemplate],
- template: `
- Template Input:
- <pre><![CDATA[
- <img src="../../../assets/images/logo_onap.png" class="sdc-custom-tooltip-template-image" />
- <p class="sdc-tooltip-template-content">A long text name, very long, long text ...</p>
- ]]></pre>
-
- <div style="padding-bottom: 20px;">
- The is text example,
- <span style="color: #009fdb"
- sdc-tooltip
- tooltip-text = 'This is the tooltip test'
- [tooltip-placement]= 'placement'
- [tooltip-arrow-placement] = 'arrowPlacement'
- [tooltip-template]='template'>show tooltip
- </span>
- , more text
- </div>
-
- <template #template>
- <img src="../../../assets/images/logo_onap.png" class="sdc-custom-tooltip-template-image" />
- <p class="sdc-tooltip-template-content">A long text name, very long, long text ...</p>
- </template>
- `
- },
- {
- id: 'rightAlignmentHtmlCustomStyleTooltip',
- showSource: true,
- title: 'Tooltip with HTML template and custom style (right placement)',
- description: 'right placement',
- context: {
- placement: TooltipPlacement.Right,
- arrowPlacement: ArrowPlacement.LeftTop
- },
- styles: [customTemplate],
- template: `
- Template Input:
- <pre><![CDATA[
- <p class="sdc-custom-tooltip-template-title sdc-tooltip-template-big-title">Title... Title... Title... Title... Title...</p>
- <img src="../../../assets/images/logo_onap.png" class="sdc-custom-tooltip-template-image" />
- <p class="sdc-custom-tooltip-template-content">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed risus nisl, egestas vitae erat non, pulvinar lacinia libero. Integer pulvinar pellentesque accumsan. Sed hendrerit lacus eu tempus pharetra</p>
- ]]></pre>
-
- <div style="padding-bottom: 20px;">
- The is text example,
- <span style="color: #009fdb"
- sdc-tooltip
- tooltip-text = 'This is the tooltip test'
- [tooltip-placement]= 'placement'
- tooltip-css-class = 'sdc-custom-tooltip'
- [tooltip-arrow-placement] = 'arrowPlacement'
- [tooltip-template]='template'>show tooltip
- </span>
- , more text
- </div>
-
- <template #template>
- <p class="sdc-custom-tooltip-template-title sdc-tooltip-template-big-title">Title... Title... Title... Title... Title...</p>
- <img src="../../../assets/images/logo_onap.png" class="sdc-custom-tooltip-template-image" />
- <p class="sdc-custom-tooltip-template-content">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed risus nisl, egestas vitae erat non, pulvinar lacinia libero. Integer pulvinar pellentesque accumsan. Sed hendrerit lacus eu tempus pharetra</p>
- </template>
- `
- },
- {
- id: 'topAlignmentTextTooltip',
- showSource: true,
- title: 'Tooltip with text (top placement)',
- description: 'top placement',
- context: {
- placement: TooltipPlacement.Top,
- arrowPlacement: ArrowPlacement.LeftTop
- },
- template: `
- <div style="padding-bottom: 20px;">
- The is text example,
- <span style="color: #009fdb"
- sdc-tooltip
- tooltip-text = 'A long text name, very long, long text'
- [tooltip-placement]= 'placement'
- [tooltip-arrow-placement] = 'arrowPlacement'>show tooltip
- </span>
- , more text
- </div>
- `
- },
- {
- id: 'bottomAlignmentHtmlTooltip',
- showSource: true,
- title: 'Tooltip with HTML template (bottom placement)',
- description: 'bottom placement',
- context: {
- placement: TooltipPlacement.Bottom,
- arrowPlacement: ArrowPlacement.LeftTop
- },
- template: `
- Template Input:
- <pre><![CDATA[
- <div class="sdc-tooltip-template-content">A long text name,</div>
- <div class="sdc-tooltip-template-content">very long, long text</div>
- ]]></pre>
-
- <div style="width:30%; height: 30px; text-align: center;">
- The is text example,
- <a style="color: #009fdb; font-size: small; cursor: pointer;"
- sdc-tooltip
- tooltip-text = 'This is the tooltip test'
- [tooltip-placement]= 'placement'
- [tooltip-arrow-placement] = 'arrowPlacement'
- [tooltip-template]='template' >link example</a>
- , more text
- </div>
- <template #template>
- <div class="sdc-tooltip-template-content">A long text name,</div>
- <div class="sdc-tooltip-template-content">very long, long text</div>
- </template>
- `
- },
- ]);
diff --git a/stories/ng2-component-lab/utils/mock.json b/stories/ng2-component-lab/utils/mock.json
deleted file mode 100644
index 6cdaf3b..0000000
--- a/stories/ng2-component-lab/utils/mock.json
+++ /dev/null
@@ -1,6 +0,0 @@
-[{"id": "redId", "color": "red"},
-{"id": "yellowId", "color": "yellow"},
-{"id": "orangeId", "color": "orange"},
-{"id": "greenId", "color": "green"},
-{"id": "whiteId", "color": "white"},
-{"id": "blackId", "color": "black"}]
diff --git a/stories/ng2-component-lab/validation.component.exp.ts b/stories/ng2-component-lab/validation.component.exp.ts
deleted file mode 100644
index 7f18c93..0000000
--- a/stories/ng2-component-lab/validation.component.exp.ts
+++ /dev/null
@@ -1,162 +0,0 @@
-import { experimentOn } from '@islavi/ng2-component-lab';
-import { RegexPatterns } from '../../src/angular/common/enums';
-import { DropDownOptionType, IDropDownOption } from './../../src/angular/form-elements/dropdown/dropdown-models';
-
-const options1: IDropDownOption[] = [
- {
- label: 'First Option',
- value: 'First Option',
- },
- {
- label: 'Second Option',
- value: 'Second Option',
- },
- {
- label: 'Third Option',
- value: 'Third Option',
- type: DropDownOptionType.Simple
- }
-];
-
-export default experimentOn('Validation')
- .group("Validation", [
- {
- id: 'validation1',
- showSource: true,
- title: 'Simple validation',
- description: 'Simple validation (validating that email is valid and that user inserted something in the field). \
- By default the validation starts after first key press',
- context: {
- emailPattern: RegexPatterns.email
- },
- template: `
- <sdc-input #email label="Please enter valid email address" [maxLength]="50" required="true"></sdc-input>
- <sdc-validation [validateElement]="email">
- <sdc-required-validator message="Field is required!"></sdc-required-validator>
- <sdc-regex-validator message="This is not a valid email!" [pattern]="emailPattern"></sdc-regex-validator>
- </sdc-validation>
- `
- },
- {
- id: 'validation2',
- showSource: true,
- title: 'Simple validation',
- description: 'Simple validation',
- context: {
- numbersPattern: RegexPatterns.numbers,
- isValueHundred: (value: any) => {
- return (Number(value) === 100) ? true : false;
- }
- },
- template: `
- <sdc-input #numberValidator label="Please enter some number" [maxLength]="10" required="true"></sdc-input>
- <sdc-validation [validateElement]="numberValidator">
- <sdc-regex-validator message="This is not a number!" [pattern]="numbersPattern"></sdc-regex-validator>
- <sdc-custom-validator message="The number should be 100" [callback]="isValueHundred"></sdc-custom-validator>
- </sdc-validation>
- `
- },
- {
- id: 'validation3',
- showSource: true,
- title: 'Disabled validation',
- description: 'Disabled validation',
- context: {
- emailPattern: RegexPatterns.email
- },
- template: `
- <sdc-input #email label="Please enter valid email address" [maxLength]="50" required="true"></sdc-input>
- <sdc-validation [validateElement]="email" disabled='true'>
- <sdc-required-validator message="Field is required!"></sdc-required-validator>
- <sdc-regex-validator message="This is not a valid email!" [pattern]="emailPattern"></sdc-regex-validator>
- </sdc-validation>
- `
- },
- {
- id: 'validation4',
- showSource: true,
- title: 'Validation with value already entered',
- description: 'Validation with value already entered',
- context: {
- emailPattern: RegexPatterns.email
- },
- template: `
- <sdc-input #email label="Please enter valid email address" [maxLength]="50" required="true" value="notvalidemail@"></sdc-input>
- <sdc-validation [validateElement]="email">
- <sdc-required-validator message="Field is required!"></sdc-required-validator>
- <sdc-regex-validator message="This is not a valid email!" [pattern]="emailPattern"></sdc-regex-validator>
- </sdc-validation>
- `
- },
- {
- id: 'validation5',
- showSource: true,
- title: 'Validation with validity changed callback',
- description: 'Simple validation with alert when validity changes',
- context: {
- numbersPattern: RegexPatterns.numbers,
- validityChanged: (newState: boolean) => {
- alert("Validity has changed to " + newState);
- }
- },
- template: `
- <sdc-input #validatorWithCallback label="Please enter a number" [maxLength]="10" required="true"></sdc-input>
- <sdc-validation [validateElement]="validatorWithCallback" (validityChanged)="validityChanged($event)">
- <sdc-regex-validator message="This is not a number!" [pattern]="numbersPattern"></sdc-regex-validator>
- </sdc-validation>
- `
- },
- {
- id: 'dropdownWithValidation',
- showSource: true,
- context: {
- options: options1,
- isThirdOption: (value: any) => {
- return value === 'Third Option';
- }
- },
- title: 'DropDown with validation',
- description: 'DropDown with validation',
- template: `
- <sdc-dropdown #mydropdown label="Hi I am a label" placeHolder="Please choose option" [options]="options"></sdc-dropdown>
- <sdc-validation [validateElement]="mydropdown">
- <sdc-required-validator message="Field is required!"></sdc-required-validator>
- <sdc-custom-validator message="Please select the third option" [callback]="isThirdOption"></sdc-custom-validator>
- </sdc-validation>
- `
- },
- {
- id: 'validationGroup',
- showSource: true,
- context: {
- options: options1,
- emailPattern: RegexPatterns.email,
- isThirdOption: (value: any) => {
- return value === 'Third Option';
- },
- validateGroup: (validationGroup) => {
- validationGroup.validate();
- }
- },
- title: 'Validation group',
- description: 'Validation group (activating validation from code)',
- template: `
- <sdc-validation-group #validationGroup>
-
- <sdc-input #email label="Please enter valid email address" [maxLength]="50" required="true"></sdc-input>
- <sdc-validation [validateElement]="email">
- <sdc-required-validator message="Field is required!"></sdc-required-validator>
- <sdc-regex-validator message="This is not a valid email!" [pattern]="emailPattern"></sdc-regex-validator>
- </sdc-validation>
-
- <sdc-dropdown #mydropdown label="Hi I am a label" placeHolder="Please choose option" [options]="options"></sdc-dropdown>
- <sdc-validation [validateElement]="mydropdown">
- <sdc-required-validator message="Field is required!"></sdc-required-validator>
- <sdc-custom-validator message="Please select the third option" [callback]="isThirdOption"></sdc-custom-validator>
- </sdc-validation>
-
- </sdc-validation-group>
- <sdc-button text="validate group" (click)="validateGroup(validationGroup)"></sdc-button>
- `
- }
- ]);
diff --git a/stories/react/Accordion.stories.js b/stories/react/Accordion.stories.js
deleted file mode 100644
index 85fdae3..0000000
--- a/stories/react/Accordion.stories.js
+++ /dev/null
@@ -1,16 +0,0 @@
-import React from 'react';
-import Examples from './utils/Examples.js';
-import Accordion from '../../src/react/Accordion.js';
-import HTMLBasic from '../../components/accordion/accordion-basic.html';
-let examples = {
- Basic: {
- jsx: <Accordion title='Accordion Title'><div>Accordion body</div></Accordion>,
- html: HTMLBasic
- }
-};
-
-const Checkboxes = () => (
- <Examples examples={examples} />
-);
-
-export default Checkboxes;
diff --git a/stories/react/Checkbox.stories.js b/stories/react/Checkbox.stories.js
deleted file mode 100644
index 3fb3ad1..0000000
--- a/stories/react/Checkbox.stories.js
+++ /dev/null
@@ -1,33 +0,0 @@
-import React from 'react';
-import Examples from './utils/Examples.js';
-
-import Checkbox from '../../src/react/Checkbox';
-import HTMLCheckboxChecked from '../../components/checkbox/checkbox-checked.html';
-import HTMLCheckboxUnchecked from '../../components/checkbox/checkbox-unchecked.html';
-import HTMLCheckboxDisabled from '../../components/checkbox/checkbox-disabled.html';
-import HTMLCheckboxDisabledChecked from '../../components/checkbox/checkbox-disabled-checked.html';
-
-let examples = {
- Checked: {
- jsx: <Checkbox checked={true} label='This is the checkbox label' value='myVal' onChange={()=>{}} data-test-id='mycheckbox-1' inputRef={() => {} } />,
- html: HTMLCheckboxChecked
- },
- Unchecked: {
- jsx: <Checkbox label='This is the checkbox label' value='myVal' onChange={()=>{}} data-test-id='mycheckbox-2' inputRef={() => {} } />,
- html: HTMLCheckboxUnchecked
- },
- Disabled: {
- jsx: <Checkbox label='This is the checkbox label' disabled={true} value='myVal' onChange={()=>{}} data-test-id='mycheckbox-4' inputRef={() => {} } />,
- html: HTMLCheckboxDisabled
- },
- 'Disabled and Checked': {
- jsx: <Checkbox label='This is the checkbox label' disabled={true} checked={true} value='myVal' onChange={()=>{}} data-test-id='mycheckbox-4' inputRef={() => {} } />,
- html: HTMLCheckboxDisabledChecked
- }
-};
-
-const Checkboxes = () => (
- <Examples examples={examples} />
-);
-
-export default Checkboxes;
diff --git a/stories/react/Checklist.stories.js b/stories/react/Checklist.stories.js
deleted file mode 100644
index 0fd089b..0000000
--- a/stories/react/Checklist.stories.js
+++ /dev/null
@@ -1,65 +0,0 @@
-import React from 'react';
-import Examples from './utils/Examples.js';
-import Checklist from '../../src/react/Checklist.js';
-import HTMLListChecked from '../../components/checklist/checklist-with-checked-items.html';
-import HTMLListDisabled from '../../components/checklist/checklist-with-disabled-items.html';
-const items = [
- {
- label: 'apple',
- value: 'apple',
- dataTestId: 'apple',
- checked: true
- },
- {
- label: 'banana',
- value: 'banana',
- dataTestId: 'banana',
- checked: false
- },
- {
- label: 'orange',
- value: 'orange',
- dataTestId: 'orange',
- checked: true
- }
-];
-
-const itemsDisabled = [
- {
- label: 'apple',
- value: 'apple',
- dataTestId: 'apple',
- checked: true,
- disabled: true
- },
- {
- label: 'banana',
- value: 'banana',
- dataTestId: 'banana',
- checked: false,
- disabled: true
- },
- {
- label: 'orange',
- value: 'orange',
- dataTestId: 'orange',
- checked: false
- }
-];
-
-let examples = {
- Basic: {
- jsx: <Checklist items={items} onChange={() => { }} />,
- html: HTMLListChecked
- },
- Disabled: {
- jsx: <Checklist items={itemsDisabled} onChange={() => { }} />,
- html: HTMLListDisabled
- }
-};
-
-const ChecklistStory = () => (
- <Examples examples={examples} />
-);
-
-export default ChecklistStory; \ No newline at end of file
diff --git a/stories/react/Colors.stories.js b/stories/react/Colors.stories.js
deleted file mode 100644
index d6758ce..0000000
--- a/stories/react/Colors.stories.js
+++ /dev/null
@@ -1,53 +0,0 @@
-import React, {Component} from 'react';
-
-const colorMap = {
- '$white': '#ffffff',
- '$blue': '#009fdb',
- '$light-blue': '#1eb9f3',
- '$lighter-blue': '#e6f6fb',
- '$blue-disabled': '#9dd9ef',
- '$dark-blue': '#0568ae',
- '$black': '#000000',
- '$rich-black': '#323943',
- '$text-black': '#191919',
- '$dark-gray': '#5a5a5a',
- '$gray': '#959595',
- '$light-gray': '#d2d2d2',
- '$silver': '#eaeaea',
- '$light-silver': '#f2f2f2',
- '$green': '#4ca90c',
- '$functional-red': '#cf2a2a',
- '$yellow': '#ffb81c',
- '$dark-purple': '#702f8a',
- '$purple': '#9063cd',
- '$light-purple': '#caa2dd'
-};
-
-function Color({colorName, colorValue}) {
- return (
- <div key={colorName} className='color-section'>
- <div className='color-circle' style={{backgroundColor: colorValue}} />
- <div>{colorName.replace('$', '')}</div>
- <div>{colorValue}</div>
- </div>
- );
-}
-
-class Colors extends Component {
-
- render() {
- return (
- <div>
- <h1>Colors Palette</h1>
- <div className='colors-table'>
- {
- Object.keys(colorMap).map(colorName => <Color key={colorName} colorValue={colorMap[colorName]} colorName={colorName}/>)
- }
- </div>
- </div>
- );
- }
-
-}
-
-export default Colors;
diff --git a/stories/react/Input.stories.js b/stories/react/Input.stories.js
deleted file mode 100644
index 869bafa..0000000
--- a/stories/react/Input.stories.js
+++ /dev/null
@@ -1,51 +0,0 @@
-import React from 'react';
-import { action } from '@storybook/addon-actions';
-import Examples from './utils/Examples.js';
-
-import ReactInput from '../../src/react/Input.js';
-
-import InputDefaultHtml from '../../components/input/input.html';
-import InputRequiredHtml from '../../components/input/input-required.html';
-import InputNumberHtml from '../../components/input/input-number.html';
-import InputViewOnlyHtml from '../../components/input/input-view-only.html';
-import InputDisabledHtml from '../../components/input/input-disabled.html';
-import InputPlaceholderHtml from '../../components/input/input-placeholder.html';
-import InputErrorHtml from '../../components/input/input-error.html';
-
-let examples = {
- 'Input Default': {
- jsx: <ReactInput name='input1' value='Default' label='I am a label' onChange={ action('input-change')}/>,
- html: InputDefaultHtml
- },
- 'Input Required': {
- jsx: <ReactInput name='input2' value='Default' label='I am a label' onChange={ action('input-change')} isRequired/>,
- html: InputRequiredHtml
- },
- 'Input Number': {
- jsx: <ReactInput name='input3' value='3' label='I am a label' type="number" onChange={ action('input-change')}/>,
- html: InputNumberHtml
- },
- 'Input View Only': {
- jsx: <ReactInput value='Read Only Text' label='I am a label' onChange={ action('input-change')} readOnly/>,
- html: InputViewOnlyHtml
- },
- 'Input Disabled': {
- jsx: <ReactInput value='Default' label='I am a label' onChange={ action('input-change')} disabled/>,
- html: InputDisabledHtml
- },
- 'Input Placeholder': {
- jsx: <ReactInput name='input5' placeholder='Write Here...' label='I am a label' onChange={ action('input-change')}/>,
- html: InputPlaceholderHtml
- },
- 'Input Error': {
- jsx: <ReactInput value='Default' name='input6' label='I am a label' errorMessage='This is the error message' onChange={ action('input-change')}/>,
- html: InputErrorHtml
- }
-
-}
-
-const Inputs = () => (
- <Examples examples={examples} />
-);
-
-export default Inputs;
diff --git a/stories/react/Modal.stories.js b/stories/react/Modal.stories.js
deleted file mode 100644
index 29ff7a5..0000000
--- a/stories/react/Modal.stories.js
+++ /dev/null
@@ -1,133 +0,0 @@
-import React from 'react';
-import Examples from './utils/Examples.js';
-import Button from '../../src/react/Button.js';
-import Modal from '../../src/react/Modal.js';
-import Input from '../../src/react/Input.js';
-import HTMLStandardModal from '../../components/modal/standard-modal.html';
-import HTMLAlertModal from '../../components/modal/alert-modal.html';
-import HTMLErrorModal from '../../components/modal/error-modal.html';
-import HTMLCustomModal from '../../components/modal/custom-modal.html';
-
-class Example extends React.Component {
- constructor(props) {
- super(props);
- this.state = {
- show: false
- };
- }
- render() {
- const { children } = this.props;
- const { show } = this.state;
- var childrenWithProps = React.Children.map(children, child => {
- let childChildrenWithProps = [];
- if (child.props.children) {
- let childChildren = child.props.children;
- childChildrenWithProps = React.Children.map(childChildren, child =>
- React.cloneElement(child, { onClose: ()=>this.setState({show: !show}) }));
-
- }
- return React.cloneElement(child, { show: this.state.show, onClose: ()=>this.setState({show: !show}), children: childChildrenWithProps});
- }
- );
-
- return (
- <div>
- <Button onClick={() => this.setState({show: !show})}>Modal</Button>
- {childrenWithProps}
- </div>
- );
- }
-}
-
-const ModalBody = () => {
- return (
- <div>
- <Input
- name='input1'
- value='Default'
- label='I am a label'
- type='text' />
- <Input
- name='input1'
- value='Default'
- label='I am a label'
- type='text' />
- <Input
- name='input1'
- value='Default'
- label='I am a label'
- type='text' />
-
- </div>);
-};
-
-const BODY_TEXT = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed risus nisl, egestas vitae erat non,' +
- 'pulvinar lacinia libero. Integer pulvinar pellentesque accumsan. Sed hendrerit lacus eu tempus pharetra';
-
-const isShown = false;
-
-let examples = {
- Standard: {
- jsx: <Example>
- <Modal show={() => isShown()} size='small'>
- <Modal.Header><Modal.Title>Standard Modal</Modal.Title></Modal.Header>
- <Modal.Body>
- {BODY_TEXT}
- </Modal.Body>
- <Modal.Footer actionButtonText='Yes' actionButtonClick={()=>{}}/>
- </Modal>
- </Example>,
- html: HTMLStandardModal,
- exclude: 'Example',
- renderFromJsx: true
- },
- Alert: {
- jsx: <Example>
- <Modal show={() => isShown()} type='alert' size='small'>
- <Modal.Header type='alert'><Modal.Title>Title</Modal.Title></Modal.Header>
- <Modal.Body>
- {BODY_TEXT}
- </Modal.Body>
- <Modal.Footer closeButtonText='Ok'/>
- </Modal>
- </Example>,
- html: HTMLAlertModal,
- exclude: 'Example',
- renderFromJsx: true
- },
- Error: {
- jsx: <Example>
- <Modal show={() => isShown()} size='small' type='error'>
- <Modal.Header onClose={()=>isShown(false)} type='error'><Modal.Title>Title</Modal.Title></Modal.Header>
- <Modal.Body>
- {BODY_TEXT}
- </Modal.Body>
- <Modal.Footer onClose={()=>isShown(false)} closeButtonText='Ok'/>
- </Modal>
- </Example>,
- html: HTMLErrorModal,
- exclude: 'Example',
- renderFromJsx: true
- },
-
- Custom: {
- jsx: <Example>
- <Modal show={() => isShown()} type='custom'>
- <Modal.Header type='custom'><Modal.Title>Title</Modal.Title></Modal.Header>
- <Modal.Body>
- <ModalBody/>
- </Modal.Body>
- <Modal.Footer actionButtonText='Ok' actionButtonClick={()=>{}}/>
- </Modal>
- </Example>,
- html: HTMLCustomModal,
- exclude: 'Example',
- renderFromJsx: true
- }
-};
-
-const Modals = () => (
- <Examples examples={examples}/>
-);
-
-export default Modals; \ No newline at end of file
diff --git a/stories/react/Panel.stories.js b/stories/react/Panel.stories.js
deleted file mode 100644
index f87eefb..0000000
--- a/stories/react/Panel.stories.js
+++ /dev/null
@@ -1,22 +0,0 @@
-import React from 'react';
-import Examples from './utils/Examples.js';
-import Panel from '../../src/react/Panel.js';
-import Checkbox from '../../src/react/Checkbox.js';
-import HTMLBasic from '../../components/panel/basic-panel.html';
-let examples = {
- Basic: {
- jsx:
- <Panel>
- <h3>Panel</h3>
- <Checkbox label='filter-item' />
- <Checkbox checked label='filter-item-checked' />
- </Panel>,
- html: HTMLBasic
- }
-};
-
-const PanelStory = () => (
- <Examples examples={examples} />
-);
-
-export default PanelStory;
diff --git a/stories/react/PopupMenu.stories.js b/stories/react/PopupMenu.stories.js
deleted file mode 100644
index 9d94522..0000000
--- a/stories/react/PopupMenu.stories.js
+++ /dev/null
@@ -1,37 +0,0 @@
-
-import React from 'react';
-import Examples from './utils/Examples.js';
-import PopupMenu from '../../src/react/PopupMenu.js';
-import PopupMenuItem from '../../src/react/PopupMenuItem.js';
-import HTMLPopupMenu from '../../components/menu/popup-menu.html';
-import HTMLPopupMenuRelative from '../../components/menu/relative-popup-menu.html';
-
-let examples = {
- 'Basic popup menu (static)': {
- jsx: <PopupMenu onMenuItemClick={() => {}}>
- <PopupMenuItem itemId='1' value='item 1 (selected)' selected/>
- <PopupMenuItem itemId='2' value='item 2' disabled/>
- <PopupMenu.Separator />
- <PopupMenuItem itemId='3' value='item 3'/>
- <PopupMenuItem itemId='4' value='custom action' onClick={function customCallback() {}}/>
- </PopupMenu>,
- html: HTMLPopupMenu
- },
- 'Basic popup menu (relative)': {
- jsx: <div className='sdc-popup-menu'>
- <PopupMenu onMenuItemClick={()=> {}} position={{x: 10, y: 10}} relative>
- <PopupMenuItem itemId='1' value='item 1 (selected)' selected/>
- <PopupMenuItem itemId='2' value='item 2' disabled/>
- <PopupMenu.Separator />
- <PopupMenuItem itemId='3' value='item 3' onClick={function customCallback() {}}/>
- </PopupMenu>
- </div>,
- html: HTMLPopupMenuRelative
- }
-};
-
-const PopupMenuReactComponent = () => (
- <Examples examples={examples} />
-);
-
-export default PopupMenuReactComponent; \ No newline at end of file
diff --git a/stories/react/Radio.stories.js b/stories/react/Radio.stories.js
deleted file mode 100644
index 151f947..0000000
--- a/stories/react/Radio.stories.js
+++ /dev/null
@@ -1,33 +0,0 @@
-import React from 'react';
-import Examples from './utils/Examples.js';
-
-import Radio from '../../src/react/Radio';
-import HTMLRadioChecked from '../../components/radio/radio-checked.html';
-import HTMLRadioUnchecked from '../../components/radio/radio-unchecked.html';
-import HTMLRadioDisabled from '../../components/radio/radio-disabled.html';
-import HTMLRadioDisabledChecked from '../../components/radio/radio-disabled-checked.html';
-
-let examples = {
- Checked: {
- jsx: <Radio name='grp1' checked={true} label='This is the radio label' value='myVal' onChange={()=>{}} data-test-id='myradio-1' inputRef={() => {} } />,
- html: HTMLRadioChecked
- },
- Unchecked: {
- jsx: <Radio name='grp2' label='This is the radio label' value='myVal' onChange={()=>{}} data-test-id='myradio-2' inputRef={() => {} } />,
- html: HTMLRadioUnchecked
- },
- Disabled: {
- jsx: <Radio name='grp3' label='This is the radio label' disabled={true} value='myVal' onChange={()=>{}} data-test-id='myradio-4' inputRef={() => {} } />,
- html: HTMLRadioDisabled
- },
- 'Disabled and Checked': {
- jsx: <Radio name='grp4' label='This is the radio label' disabled={true} checked={true} value='myVal' onChange={()=>{}} data-test-id='myradio-4' inputRef={() => {} } />,
- html: HTMLRadioDisabledChecked
- }
-};
-
-const Radios = () => (
- <Examples examples={examples} />
-);
-
-export default Radios;
diff --git a/stories/react/RadioGroup.stories.js b/stories/react/RadioGroup.stories.js
deleted file mode 100644
index 912f9b9..0000000
--- a/stories/react/RadioGroup.stories.js
+++ /dev/null
@@ -1,34 +0,0 @@
-import React from 'react';
-import Examples from './utils/Examples.js';
-
-import RadioGroup from '../../src/react/RadioGroup';
-import HTMLRadioGroup from '../../components/radioGroup/radio-group.html';
-import HTMLRadioGroupValue from '../../components/radioGroup/radio-group-value.html';
-import HTMLRadioGroupDisabled from '../../components/radioGroup/radio-group-disabled.html';
-import HTMLRadioGroupNoTitle from '../../components/radioGroup/radio-group-no-title.html';
-
-let examples = {
- 'Value': {
- jsx: <RadioGroup name='grp2' value='1' title='Group B' onChange={()=>{}} data-test-id='grp2' options={[{value: '1', label: 'option 1'}, {value: '2', label: 'option 2'}]} />,
- html: HTMLRadioGroupValue
- },
- 'No Value': {
- jsx: <RadioGroup name='grp3' title='Group C' onChange={()=>{}} data-test-id='grp3' options={[{value: '1', label: 'option 1'}, {value: '2', label: 'option 2'}]} />,
- html: HTMLRadioGroup
- },
- 'Disabled': {
- jsx: <RadioGroup name='grp4' disabled={true} title='Group D' onChange={()=>{}} data-test-id='grp4' options={[{value: '1', label: 'option 1'}, {value: '2', label: 'option 2'}]} />,
- html: HTMLRadioGroupDisabled
- },
- 'No title': {
- jsx: <RadioGroup name='grp5' onChange={()=>{}} data-test-id='grp4' options={[{value: '1', label: 'option 1'}, {value: '2', label: 'option 2'}]} />,
- html: HTMLRadioGroupNoTitle
- }
-
-};
-
-const RadioGroups = () => (
- <Examples examples={examples} />
-);
-
-export default RadioGroups;
diff --git a/stories/react/SVGIcon.stories.js b/stories/react/SVGIcon.stories.js
deleted file mode 100644
index 2c2ffc2..0000000
--- a/stories/react/SVGIcon.stories.js
+++ /dev/null
@@ -1,103 +0,0 @@
-import React from 'react';
-import Examples from './utils/Examples.js';
-import DropdownMenu from './utils/components/DropdownMenu.js';
-import SVGIcon from '../../src/react/SVGIcon.js';
-
-const iconLabelPositions = [
- '', 'bottom', 'top', 'left', 'right'
-];
-
-const iconColors = [
- '',
- 'primary',
- 'secondary',
- 'positive',
- 'negative',
- 'warning'
-];
-
-const disabledStates = ['false', 'true'];
-
-function buildExamples({iconName, iconLabel, labelPosition, color, disabled}) {
- return {
- Example: {
- jsx: <SVGIcon
- label={iconLabel}
- labelPosition={labelPosition}
- color={color}
- name={iconName}
- disabled={disabled === 'true'} />
- }
- };
-}
-
-const IconTable = ({onClick}) => (
- <div className='icons-table'>
- {ICON_NAMES.map(icon => (
- <div key={icon} className='icon-section'>
- <SVGIcon
- onClick={() => onClick(icon)}
- label={icon}
- iconClassName='storybook-small'
- name={icon} />
- </div>
- ))}
- </div>
-);
-
-class Icons extends React.Component {
- constructor(props) {
- super(props);
- this.state = {
- iconName: ICON_NAMES[0],
- iconLabel: '',
- labelPosition: iconLabelPositions[0],
- color : iconColors[0]
- };
- }
-
- render() {
- let {iconName, iconLabel, labelPosition, color, disabled} = this.state;
- return (
- <div className='icons-screen'>
- <h1>Icons</h1>
- <div className='icons-option-selector'>
- <DropdownMenu
- title='Icon name'
- value={iconName}
- onChange={e => this.setState({iconName: e.target.value})}
- options={ICON_NAMES} />
- <div className='option-container'>
- <label>Icon label</label>
- <input value={iconLabel} onChange={e => this.setState({iconLabel: e.target.value})}/>
- </div>
- <DropdownMenu
- title='Label position'
- value={labelPosition}
- onChange={e => this.setState({labelPosition: e.target.value})}
- options={iconLabelPositions} />
- <DropdownMenu
- title='Color'
- value={color}
- onChange={e => this.setState({color: e.target.value})}
- options={iconColors} />
- <DropdownMenu
- title='Disabled'
- value={disabled}
- onChange={e => this.setState({disabled: e.target.value})}
- options={disabledStates} />
- </div>
- <Examples examples={buildExamples({iconName, iconLabel, labelPosition, color, disabled})} />
- <IconTable onClick={icon => this.setState({iconName: icon})} />
- <div className='missing-icon-section'>
- <div >You will see the following if the icon name you used is not found:</div>
- <SVGIcon
- onClick={() => {}}
- name='MissingIcon' />
- </div>
- </div>
- );
- };
-}
-
-export default Icons;
diff --git a/stories/react/Tabs.stories.js b/stories/react/Tabs.stories.js
deleted file mode 100644
index 74f163c..0000000
--- a/stories/react/Tabs.stories.js
+++ /dev/null
@@ -1,48 +0,0 @@
-import React from 'react';
-import Examples from './utils/Examples.js';
-import {default as TabsComp} from '../../src/react/Tabs.js';
-import Tab from '../../src/react/Tab.js';
-import HTMLTabsHeader from '../../components/tabs/tabs-header.html';
-import HTMLTabsDisabled from '../../components/tabs/tabs-disabled.html';
-import HTMLTabsMenu from '../../components/tabs/tabs-menu.html';
-
-let examples = {
- 'Menu Tabs': {
- jsx: <TabsComp type='menu' activeTab='1' onTabClick={(tabId) => {console.log(tabId);}}>
- <Tab title='tab 1' tabId='1'>
- <div>This is the active tab content</div>
- </Tab>
- <Tab title='tab 2' tabId='2' />
- <Tab title='tab 3' tabId='3' />
- </TabsComp>,
- html: HTMLTabsMenu
- },
- 'Header Tabs': {
- jsx: <TabsComp type='header' activeTab='1' onTabClick={(tabId) => {console.log(tabId);}}>
- <Tab title='tab 1' tabId='1'>
- <div>This is the active tab content</div>
- </Tab>
- <Tab title='tab 2' tabId='2' />
- <Tab title='tab 3' tabId='3' />
- </TabsComp>,
- html: HTMLTabsHeader
- },
- 'Disabled Tabs': {
- jsx: (
- <TabsComp type='header' activeTab='1' onTabClick={(tabId) => {console.log(tabId);}}>
- <Tab title='tab 1' tabId='1'>
- <div>This is the active tab content</div>
- </Tab>
- <Tab title='tab 2' tabId='2' disabled/>
- <Tab title='tab 3' tabId='3' disabled/>
- </TabsComp>
- ),
- html: HTMLTabsDisabled
- }
-};
-
-const Tabs = () => (
- <Examples examples={examples} />
-);
-
-export default Tabs;
diff --git a/stories/react/Tiles.stories.js b/stories/react/Tiles.stories.js
deleted file mode 100644
index 04a6fb5..0000000
--- a/stories/react/Tiles.stories.js
+++ /dev/null
@@ -1,89 +0,0 @@
-import React from 'react';
-
-import Examples from './utils/Examples.js';
-import SVGIcon from '../../src/react/SVGIcon.js';
-import Button from '../../src/react/Button.js';
-
-import Tile from '../../src/react/Tile.js';
-import TileInfo from '../../src/react/TileInfo.js';
-import TileInfoLine from '../../src/react/TileInfoLine.js';
-import TileFooter from '../../src/react/TileFooter.js';
-import TileFooterCell from '../../src/react/TileFooterCell.js';
-
-import HTMLTileWithoutFooter from '../../components/tile/tile-without-footer.html';
-import HTMLVspTile from '../../components/tile/vsp-tile.html';
-import HTMLVlmTile from '../../components/tile/vlm-tile.html';
-import HTMLVendorTile from '../../components/tile/vendor-tile.html';
-import HTMLVfcTile from '../../components/tile/vfc-tile.html';
-
-let examples = {
- 'Without footer': {
- jsx: <Tile headerText='header' headerColor='blue' iconName='vsp' iconColor='blue'>
- <TileInfo>
- <TileInfoLine type='supertitle'>Supertitle</TileInfoLine>
- <TileInfoLine type='title'>Title</TileInfoLine>
- </TileInfo>
- </Tile>,
- html: HTMLTileWithoutFooter
- },
- VFC: {
- jsx: <Tile headerText='vfc' headerColor='purple' iconName='network'>
- <TileInfo>
- <TileInfoLine type='title'>Title</TileInfoLine>
- <TileInfoLine type='subtitle'>V 1.0</TileInfoLine>
- </TileInfo>
- <TileFooter>
- <TileFooterCell>Certified</TileFooterCell>
- </TileFooter>
- </Tile>,
- html: HTMLVfcTile
- },
- VSP: {
- jsx: <Tile headerText='vsp' headerColor='blue' iconName='vsp' iconColor='blue'>
- <TileInfo>
- <TileInfoLine type='supertitle'>VLM</TileInfoLine>
- <TileInfoLine type='title'>VSP name</TileInfoLine>
- </TileInfo>
- <TileFooter>
- <TileFooterCell>Draft</TileFooterCell>
- </TileFooter>
- </Tile>,
- html: HTMLVspTile
- },
- VLM: {
- jsx: <Tile headerText='vlm' headerColor='purple' iconName='vlm' iconColor='purple'>
- <TileInfo>
- <TileInfoLine type='title'>VLM name</TileInfoLine>
- </TileInfo>
- <TileFooter>
- <TileFooterCell>Certified</TileFooterCell>
- <TileFooterCell>
- <SVGIcon name='versionControllerPermissions' label='Owner' labelPosition='left' />
- </TileFooterCell>
- </TileFooter>
- </Tile>,
- html: HTMLVlmTile
- },
- Vendor: {
- jsx: <Tile iconName='vendor' iconColor='dark-gray'>
- <TileInfo align='center'>
- <TileInfoLine type='title'>Vendor name</TileInfoLine>
- <TileInfoLine>
- <Button btnType='primary' onClick={() => {}}>100 VSPs</Button>
- </TileInfoLine>
- </TileInfo>
- <TileFooter align='center'>
- <TileFooterCell>
- <Button btnType='link' color='primary' iconName='plusThin' onClick={() => {}}>Create new VSP</Button>
- </TileFooterCell>
- </TileFooter>
- </Tile>,
- html: HTMLVendorTile
- },
-};
-
-const Tiles = () => (
- <Examples examples={examples} />
-);
-
-export default Tiles;
diff --git a/stories/react/Typography.stories.js b/stories/react/Typography.stories.js
deleted file mode 100644
index f1475c6..0000000
--- a/stories/react/Typography.stories.js
+++ /dev/null
@@ -1,62 +0,0 @@
-import React, {Component} from 'react';
-
-const typos = [
- {className: 'heading-1', size: 28, text: 'Major Section Heading'},
- {className: 'heading-2', size: 24, text: 'Sub-Section Heading'},
- {className: 'heading-3', size: 20, text: 'Small Heading'},
- {className: 'heading-4', size: 16, text: 'Small Heading'},
- {className: 'heading-4-emphasis', size: 16, text: 'Small Heading'},
- {className: 'heading-5', size: 14, text: 'Small Heading'},
- {className: 'body-1', size: 14, text: 'Body (Standard) Text'},
- {className: 'body-1-italic', size: 14, text: 'Body (Standard) Text'},
- {className: 'body-2', size: 13, text: 'Text in Tables'},
- {className: 'body-2-emphasis', size: 13, text: 'Text in Tables'},
- {className: 'body-3', size: 12, text: 'Input Labels, Table Titles'},
- {className: 'body-3-emphasis', size: 12, text: 'Even Smaller Text'},
- {className: 'body-4', size: 10, text: 'Even Much Smaller Text'}
-];
-
-const fontWeights = ['OpenSans Regular 400', 'OpenSans Semibold 600'];
-
-function TextRow({className, size, text}) {
- return (
- <div className={`typo-section ${className}`}>
- <div>{className}</div>
- <div>{size}px</div>
- <div className='sample-text'>{text}</div>
- </div>
- );
-}
-
-class Typography extends Component {
-
- render() {
- return (
- <div className='typography-screen'>
- <h1>Typography</h1>
- <div className='typography-section'>
- <h3>Font Family</h3>
- <ul>
- <li>OpenSans</li>
- <li style={{'fontFamily': 'Arial'}}>Arial</li>
- <li style={{'fontFamily':'sans-serif'}}>sans-serif</li>
- </ul>
- </div>
- <div className='typography-section'>
- <h3>Font Weights</h3>
- <ul>{fontWeights.map(font => <li key={font} className={font}>{font}</li>)}</ul>
- </div>
- <div className='typography-section'>
- <h3>Font Size</h3>
- <div className='typo-table'>
- <TextRow className='SCSS mixin name (@include ....)' size='Size (in Pixels)' text='Sample Text'/>
- {typos.map(typo => <TextRow key={typo.className} {...typo}/>)}
- </div>
- </div>
- </div>
- );
- }
-
-}
-
-export default Typography;
diff --git a/stories/react/buttons/LinkButtons.stories.js b/stories/react/buttons/LinkButtons.stories.js
deleted file mode 100644
index ef32a22..0000000
--- a/stories/react/buttons/LinkButtons.stories.js
+++ /dev/null
@@ -1,49 +0,0 @@
-import React from 'react';
-import Examples from '../utils/Examples.js';
-
-import ReactButton from '../../../src/react/Button.js';
-
-import LinkButton from '../../../components/button/button-link.html';
-import LinkButtonDisabled from '../../../components/button/button-link-disabled.html';
-import ExtraSmall from '../../../components/button/button-link-extra-small.html';
-import Small from '../../../components/button/button-link-small.html';
-import Medium from '../../../components/button/button-link-medium.html';
-import Large from '../../../components/button/button-link-large.html';
-import Auto from '../../../components/button/button-link-auto.html';
-
-let examples = {
- 'Link Default': {
- jsx: <ReactButton btnType='link' onClick={() => {}}>Click Me</ReactButton>,
- html: LinkButton
- },
- 'Link Disabled': {
- jsx: <ReactButton btnType='link' onClick={() => {}} disabled>Click Me</ReactButton>,
- html: LinkButtonDisabled,
- },
- 'Extra Small': {
- jsx: <ReactButton btnType='link' size='x-small' onClick={() => {}}>Click Me</ReactButton>,
- html: ExtraSmall
- },
- 'Small': {
- jsx: <ReactButton btnType='link' size='small' onClick={() => {}}>Click Me</ReactButton>,
- html: Small,
- },
- 'Medium': {
- jsx: <ReactButton btnType='link' size='medium' onClick={() => {}}>Click Me</ReactButton>,
- html: Medium
- },
- 'Large': {
- jsx: <ReactButton btnType='link' size='large' onClick={() => {}}>Click Me</ReactButton>,
- html: Large,
- },
- 'Auto Sizing': {
- jsx: <ReactButton btnType='link' size='default' onClick={() => {}}>Click Me</ReactButton>,
- html: Auto,
- }
-};
-
-const DefaultButtons = () => (
- <Examples examples={examples} />
-);
-
-export default DefaultButtons;
diff --git a/stories/react/buttons/PrimaryButtons.stories.js b/stories/react/buttons/PrimaryButtons.stories.js
deleted file mode 100644
index db732b9..0000000
--- a/stories/react/buttons/PrimaryButtons.stories.js
+++ /dev/null
@@ -1,49 +0,0 @@
-import React from 'react';
-import Examples from '../utils/Examples.js';
-
-import ReactButton from '../../../src/react/Button.js';
-
-import PrimaryButton from '../../../components/button/button-primary.html';
-import PrimaryButtonDisabled from '../../../components/button/button-primary-disabled.html';
-import ExtraSmall from '../../../components/button/button-primary-extra-small.html';
-import Small from '../../../components/button/button-primary-small.html';
-import Medium from '../../../components/button/button-primary-medium.html';
-import Large from '../../../components/button/button-primary-large.html';
-import Auto from '../../../components/button/button-primary-auto.html';
-
-let examples = {
- 'Primary Default': {
- jsx: <ReactButton onClick={() => {}}>Click Me</ReactButton>,
- html: PrimaryButton
- },
- 'Primary Disabled': {
- jsx: <ReactButton onClick={() => {}} disabled>Click Me</ReactButton>,
- html: PrimaryButtonDisabled,
- },
- 'Extra Small': {
- jsx: <ReactButton size='x-small' onClick={() => {}}>Click Me</ReactButton>,
- html: ExtraSmall
- },
- 'Small': {
- jsx: <ReactButton size='small' onClick={() => {}}>Click Me</ReactButton>,
- html: Small,
- },
- 'Medium': {
- jsx: <ReactButton size='medium' onClick={() => {}}>Click Me</ReactButton>,
- html: Medium
- },
- 'Large': {
- jsx: <ReactButton size='large' onClick={() => {}}>Click Me</ReactButton>,
- html: Large,
- },
- 'Auto Sizing': {
- jsx: <ReactButton size='default' onClick={() => {}}>Click Me</ReactButton>,
- html: Auto,
- }
-};
-
-const DefaultButtons = () => (
- <Examples examples={examples} />
-);
-
-export default DefaultButtons;
diff --git a/stories/react/buttons/SecondaryButtons.stories.js b/stories/react/buttons/SecondaryButtons.stories.js
deleted file mode 100644
index 75f9d54..0000000
--- a/stories/react/buttons/SecondaryButtons.stories.js
+++ /dev/null
@@ -1,49 +0,0 @@
-import React from 'react';
-import Examples from '../utils/Examples.js';
-
-import ReactButton from '../../../src/react/Button.js';
-
-import SecondaryButton from '../../../components/button/button-secondary.html';
-import SecondaryButtonDisabled from '../../../components/button/button-secondary-disabled.html';
-import ExtraSmall from '../../../components/button/button-secondary-extra-small.html';
-import Small from '../../../components/button/button-secondary-small.html';
-import Medium from '../../../components/button/button-secondary-medium.html';
-import Large from '../../../components/button/button-secondary-large.html';
-import Auto from '../../../components/button/button-secondary-auto.html';
-
-let examples = {
- 'Secondary Default': {
- jsx: <ReactButton btnType='secondary' onClick={() => {}}>Click Me</ReactButton>,
- html: SecondaryButton
- },
- 'Secondary Disabled': {
- jsx: <ReactButton btnType='secondary' onClick={() => {}} disabled>Click Me</ReactButton>,
- html: SecondaryButtonDisabled,
- },
- 'Extra Small': {
- jsx: <ReactButton btnType='secondary' size='x-small' onClick={() => {}}>Click Me</ReactButton>,
- html: ExtraSmall
- },
- 'Small': {
- jsx: <ReactButton btnType='secondary' size='small' onClick={() => {}}>Click Me</ReactButton>,
- html: Small,
- },
- 'Medium': {
- jsx: <ReactButton btnType='secondary' size='medium' onClick={() => {}}>Click Me</ReactButton>,
- html: Medium
- },
- 'Large': {
- jsx: <ReactButton btnType='secondary' size='large' onClick={() => {}}>Click Me</ReactButton>,
- html: Large,
- },
- 'Auto Sizing': {
- jsx: <ReactButton btnType='secondary' size='default' onClick={() => {}}>Click Me</ReactButton>,
- html: Auto,
- }
-};
-
-const DefaultButtons = () => (
- <Examples examples={examples} />
-);
-
-export default DefaultButtons;
diff --git a/stories/react/index.js b/stories/react/index.js
deleted file mode 100644
index 6d425ba..0000000
--- a/stories/react/index.js
+++ /dev/null
@@ -1,66 +0,0 @@
-import React from 'react';
-import { storiesOf } from '@storybook/react';
-
-import PrimaryButtons from './buttons/PrimaryButtons.stories.js';
-import SecondaryButtons from './buttons/SecondaryButtons.stories.js';
-import LinkButtons from './buttons/LinkButtons.stories.js';
-
-import Colors from './Colors.stories.js';
-import Typography from './Typography.stories.js';
-import Checkboxes from './Checkbox.stories.js';
-import Checklist from './Checklist.stories.js';
-import Input from './Input.stories.js';
-import Icons from './SVGIcon.stories.js';
-import Tiles from './Tiles.stories.js';
-import Tabs from './Tabs.stories.js';
-import Radios from './Radio.stories.js';
-import RadioGroups from './RadioGroup.stories.js';
-import Modals from './Modal.stories.js';
-import PopupMenu from './PopupMenu.stories.js';
-import Accordion from './Accordion.stories.js';
-import Panel from './Panel.stories.js';
-
-storiesOf('Colors', module)
- .add('Color Palette', () => <Colors />);
-
-storiesOf('Typography', module)
- .add('Typography', () => <Typography />);
-
-storiesOf('Accordion', module)
- .add('Accordion', () => <Accordion />);
-
-storiesOf('Buttons', module)
- .add('Primary', () => <PrimaryButtons />)
- .add('Secondary', () => <SecondaryButtons />)
- .add('Link', () => <LinkButtons />);
-
-storiesOf('Checkboxes', module)
- .add('Checkboxes', () => <Checkboxes />);
-
-storiesOf('Checklist', module)
- .add('Checklist', () => <Checklist />);
-
-storiesOf('Input Fields', module)
- .add('Input Text', () => <Input />);
-
-storiesOf('Icons', module)
- .add('SVG Icons', () => <Icons />);
-
-storiesOf('Menu', module)
- .add('Popup Menu', () => <PopupMenu />);
-
-storiesOf('Modals', module)
- .add('Modal examples', () => <Modals />);
-
-storiesOf('Radios', module)
- .add('Radio Buttons', () => <Radios />)
- .add('Radio Button Groups', () => <RadioGroups />);
-
-storiesOf('Panel', module)
- .add('Panel', () => <Panel />);
-
-storiesOf('Tabs', module)
- .add('Tabs', () => <Tabs />);
-
-storiesOf('Tiles', module)
- .add('Tiles', () => <Tiles />);
diff --git a/stories/react/utils/BeautifyHTML.js b/stories/react/utils/BeautifyHTML.js
deleted file mode 100644
index 1a29b00..0000000
--- a/stories/react/utils/BeautifyHTML.js
+++ /dev/null
@@ -1,33 +0,0 @@
-export default function beautifyHTML({html, indentChar = ' ', startingIndentCount = 0}) {
- html = html.replace(/[ ]{2,}/g, ' ');
-
- let result = '', indentCount = startingIndentCount, parsingText = false;
- for (let i = 0; i < html.length; i++) {
-
- let startOfTag, endOfTag, closingTag, upcomingTag, afterTag, numTabs;
- if (html[i] === '<') { startOfTag = true; }
- else if (html[i] === '>') { endOfTag = true; }
- else if (html[i - 1] === '>') { afterTag = true; }
- if (html[i + 1] === '/') { closingTag = true; }
- else if (html[i + 1 ] === '<') { upcomingTag = true; }
-
- if (startOfTag) {
- if (closingTag) { numTabs = --indentCount; }
- else { numTabs = indentCount++; }
- }
-
- if (parsingText && afterTag) {
- numTabs = indentCount;
- }
-
- result += indentChar.repeat(numTabs) + html[i];
-
- if (endOfTag || parsingText && upcomingTag) {
- result += '\n';
- parsingText = false;
- if (!upcomingTag) { parsingText = true; }
- }
- }
-
- return result.slice(0, -1);
-}
diff --git a/stories/react/utils/Examples.js b/stories/react/utils/Examples.js
deleted file mode 100644
index 5948b68..0000000
--- a/stories/react/utils/Examples.js
+++ /dev/null
@@ -1,23 +0,0 @@
-import React from 'react';
-import {renderToStaticMarkup} from 'react-dom/server';
-import SourceToggle from './SourceToggle.js';
-import beautifyHTML from './BeautifyHTML.js';
-import insertSVGIcons from './InsertSVGIcons.js';
-
-const Examples = ({examples}) => (
- <div className={'examples'}>
- {Object.keys(examples).map(key => {
- let title = key;
- let {jsx, html, displayTitle = true, exclude, renderFromJsx = false} = examples[key];
- if (!html) {
- html = renderToStaticMarkup(jsx);
- html = beautifyHTML({html, indentChar: ' '});
- } else {
- html = insertSVGIcons({html, jsx});
- }
- return <SourceToggle title={displayTitle && title} jsx={jsx} html={html} key={key} exclude={exclude} renderFromJsx={renderFromJsx}/>;
- })}
- </div>
-);
-
-export default Examples;
diff --git a/stories/react/utils/InsertSVGIcons.js b/stories/react/utils/InsertSVGIcons.js
deleted file mode 100644
index 5a5e390..0000000
--- a/stories/react/utils/InsertSVGIcons.js
+++ /dev/null
@@ -1,15 +0,0 @@
-import {renderToStaticMarkup} from 'react-dom/server';
-import beautifyHTML from './BeautifyHTML.js';
-
-const insertSVGIcons = ({html, jsx, indentChar = ' '}) => {
- let svgCode = renderToStaticMarkup(jsx).match(/(<svg\b[^<>]*>)[\s\S]*?(<\/svg>)/g);
- let newHTML = html.replace(/\s*<!-- insert SVG -->/g, str => {
- let html = '\n' + svgCode.shift();
- let indentRegExp = new RegExp(`[${indentChar}]*`);
- let startingIndentCount = str.slice(2).match(indentRegExp)[0].length / indentChar.length;
- return beautifyHTML({html, startingIndentCount, indentChar});
- });
- return newHTML;
-};
-
-export default insertSVGIcons;
diff --git a/stories/react/utils/SourceToggle.js b/stories/react/utils/SourceToggle.js
deleted file mode 100644
index a05c8d0..0000000
--- a/stories/react/utils/SourceToggle.js
+++ /dev/null
@@ -1,73 +0,0 @@
-/* eslint-disable react/no-danger */
-import React from 'react';
-import jsxToString from './jsxToString.js';
-
-import Prism from 'prismjs';
-
-import PrismJsx from 'prismjs/components/prism-jsx.js'; // eslint-disable-line no-unused-vars
-
-const sources = {
- React: 'React',
- HTML: 'HTML'
-};
-
-export default class SourceToggle extends React.Component {
- constructor(props) {
- super(props);
- this.state = {
- source: sources.React
- };
- }
-
- renderFromSource() {
- let {jsx, html, renderFromJsx} = this.props;
- let {source} = this.state;
- let classname = 'source-toggle-example';
- switch (source) {
- case sources.HTML:
- return renderFromJsx ? <div className={classname}>{jsx}</div> : <div className={classname} dangerouslySetInnerHTML={{__html: html}} />;
- case sources.React:
- default:
- return <div className={classname}>{jsx}</div>;
- }
- }
-
- renderMarkdown() {
- let {jsx, html, exclude} = this.props;
- let {source} = this.state;
- switch (source) {
- case sources.HTML:
- return {__html: Prism.highlight(html, Prism.languages.html)};
- case sources.React:
- default:
- return {__html: Prism.highlight(jsxToString({jsx, exclude}), Prism.languages.jsx)};
- }
- }
-
- render() {
- let {title} = this.props;
- return (
- <div className='source-toggle-wrapper'>
- {title && <div className='source-toggle-title'>{title}</div>}
- <div className='source-toggle'>
- {this.renderFromSource()}
- <div className='source-toggle-code'>
- <div className='source-toggle-code-tabs'>
- {Object.keys(sources).map((source, i) => (
- <div
- key={i}
- className={`source-toggle-tab${this.state.source === source ? ' selected' : ''}`}
- onClick={() => this.setState({source})}>
- {source}
- </div>
- ))}
- </div>
- <pre>
- <code dangerouslySetInnerHTML={this.renderMarkdown()} />
- </pre>
- </div>
- </div>
- </div>
- );
- }
-}
diff --git a/stories/react/utils/components/DropdownMenu.js b/stories/react/utils/components/DropdownMenu.js
deleted file mode 100644
index 4a69463..0000000
--- a/stories/react/utils/components/DropdownMenu.js
+++ /dev/null
@@ -1,14 +0,0 @@
-import React from 'react';
-
-const DropdownMenu = ({title, value, onChange, options}) => (
- <div className='option-container'>
- <label>{title}</label>
- <select value={value} onChange={onChange}>
- {options.map((option, i) =>
- <option key={i} value={option}>{option}</option>
- )}
- </select>
- </div>
-);
-
-export default DropdownMenu;
diff --git a/stories/react/utils/jsxToString.js b/stories/react/utils/jsxToString.js
deleted file mode 100644
index 8b799ad..0000000
--- a/stories/react/utils/jsxToString.js
+++ /dev/null
@@ -1,74 +0,0 @@
-import React, {Children} from 'react';
-
-const INDENT = ' ';
-
-function stringRepresentationForJsx(item) {
- if (typeof item === 'string') {
- return `'${item}'`;
- } else if (typeof item === 'number') {
- return item.toString();
- } else if (Array.isArray(item)) {
- return `[${item.map(val => stringRepresentationForJsx(val)).toString()}]`;
- }
- else if (typeof item === 'boolean') {
- return item.toString();
- }
- else if (typeof item === 'function') {
- return item.toString().replace(/\s{2,}/g, ' ');
- } else if (typeof item === 'object') {
- let repr = '{';
- for (let key in item) {
- if (item.hasOwnProperty(key)) {
- repr += `${key}: ${stringRepresentationForJsx(item[key])}, `;
- }
- }
- repr = repr.slice(0, -2);
- repr += '}';
- return repr;
- }
-}
-
-function parseProps(jsx, indentCount) {
- let result = '';
- for (let prop in jsx.props) {
- let value = jsx.props[prop];
- if (prop !== 'children' && value) {
- let repr = stringRepresentationForJsx(value);
- let isString = repr.startsWith("'");
- result += `\n${INDENT.repeat(indentCount)}${prop}`;
- if (value !== true) {
- result += `=${isString ? '' : '{ '}${stringRepresentationForJsx(value)}${isString ? '' : ' }'}`;
- }
- }
- }
- return result;
-}
-
-function jsxToString({jsx, indentCount=0, exclude}) {
- if (typeof jsx === 'string'){
- return jsx;
- }
-
- let name = typeof jsx.type === 'string' ? jsx.type : jsx.type.name;
- let result = name === exclude ? ''
- : `${INDENT.repeat(indentCount)}<${name}${parseProps(jsx, indentCount + 1)}`;
-
- if (jsx.props.hasOwnProperty('children')) {
- let {children} = jsx.props;
- let childrenArr = Children.toArray(children);
- if (name !== exclude) { result += '>\n';}
- if (typeof children === 'string') {
- result += `${INDENT.repeat(indentCount + 1)}${children}\n`;
- } else {
- let newIndentCount = name === exclude ? indentCount : indentCount + 1;
- childrenArr.forEach(child => result += `${jsxToString({jsx: child, indentCount: newIndentCount})}\n`);
- }
- const closingTag = name === exclude ? ''
- : `${INDENT.repeat(indentCount)}</${name}>`;
- return result + closingTag;
- }
-
- return result + ' />';
-}
-
-export default jsxToString;
diff --git a/test/react/Accordion.spec.js b/test/react/Accordion.spec.js
deleted file mode 100644
index 614dcdd..0000000
--- a/test/react/Accordion.spec.js
+++ /dev/null
@@ -1,11 +0,0 @@
-import React from 'react';
-import Accordion from '../../src/react/Accordion.js';
-
-import renderer from 'react-test-renderer';
-
-describe('Accordion', () => {
- test('Accordion - Default', () => {
- const accordion = renderer.create(<Accordion title='Accordion'>Accordion body</Accordion>).toJSON();
- expect(accordion).toMatchSnapshot();
- });
-}); \ No newline at end of file
diff --git a/test/react/Button.spec.js b/test/react/Button.spec.js
deleted file mode 100644
index 3b3b72e..0000000
--- a/test/react/Button.spec.js
+++ /dev/null
@@ -1,77 +0,0 @@
-import React from 'react';
-import Button from '../../src/react/Button.js';
-
-import renderer from 'react-test-renderer';
-
-describe('Button', () => {
- test('Button - Default - Primary', () => {
- const button = renderer.create(<Button>Click Me</Button>).toJSON();
- expect(button).toMatchSnapshot();
- });
-
- test('Button - Default - Primary - Disabled', () => {
- const button = renderer.create(<Button disabled>Click Me</Button>).toJSON();
- expect(button).toMatchSnapshot();
- });
-
- test('Button - Default - White', () => {
- const button = renderer.create(<Button color='white'>Click Me</Button>).toJSON();
- expect(button).toMatchSnapshot();
- });
-
- test('Button - Default - Gray', () => {
- const button = renderer.create(<Button color='gray'>Click Me</Button>).toJSON();
- expect(button).toMatchSnapshot();
- });
-
- test('Button - Default - Positive', () => {
- const button = renderer.create(<Button color='positive'>Click Me</Button>).toJSON();
- expect(button).toMatchSnapshot();
- });
-
- test('Button - Default - Negative', () => {
- const button = renderer.create(<Button color='negative'>Click Me</Button>).toJSON();
- expect(button).toMatchSnapshot();
- });
-
- test('Button - Default - Warning', () => {
- const button = renderer.create(<Button color='warning'>Click Me</Button>).toJSON();
- expect(button).toMatchSnapshot();
- });
-
- test('Button - Outline - Primary', () => {
- const button = renderer.create(<Button btnType='outline'>Click Me</Button>).toJSON();
- expect(button).toMatchSnapshot();
- });
-
- test('Button - Outline - Gray', () => {
- const button = renderer.create(<Button btnType='outline' color='gray'>Click Me</Button>).toJSON();
- expect(button).toMatchSnapshot();
- });
-
- test('Button - Outline - Positive', () => {
- const button = renderer.create(<Button btnType='outline' color='positive'>Click Me</Button>).toJSON();
- expect(button).toMatchSnapshot();
- });
-
- test('Button - Outline - Negative', () => {
- const button = renderer.create(<Button btnType='outline' color='negative'>Click Me</Button>).toJSON();
- expect(button).toMatchSnapshot();
- });
-
- test('Button - Link - Primary', () => {
- const button = renderer.create(<Button btnType='link' color='primary'>Click Me</Button>).toJSON();
- expect(button).toMatchSnapshot();
- });
-
- test('Button - Link - Primary - Disabled', () => {
- const button = renderer.create(<Button btnType='link' color='primary' disabled>Click Me</Button>).toJSON();
- expect(button).toMatchSnapshot();
- });
-
- test('Button - Link - Primary - With Icon', () => {
- const button = renderer.create(<Button btnType='link' color='primary' iconName='plus'>Click Me</Button>).toJSON();
- expect(button).toMatchSnapshot();
- });
-
-});
diff --git a/test/react/Checkbox.spec.js b/test/react/Checkbox.spec.js
deleted file mode 100644
index 88ba660..0000000
--- a/test/react/Checkbox.spec.js
+++ /dev/null
@@ -1,60 +0,0 @@
-import React from 'react';
-import Checkbox from '../../src/react/Checkbox.js';
-
-import renderer from 'react-test-renderer';
-import {mount} from 'enzyme';
-
-class CheckboxForm extends React.Component {
- constructor(props) {
- super(props);
- this.state = {checked: false};
-
- this.handleChange = this.handleChange.bind(this);
- }
-
- handleChange(val) {
- this.setState({checked: val});
- }
-
- getChecked() {
- return this.checkbox.getChecked();
- }
-
- render() {
- return (
- <form >
- <Checkbox ref={(checkbox)=>{this.checkbox = checkbox;}} checked={this.state.checked} onChange={this.handleChange} label='This is the checkbox label' />
- </form>
- );
- }
-}
-
-describe('Checkbox', () => {
- test('Checkbox - unchecked', () => {
- const checkbox = renderer.create(<Checkbox label='This is the checkbox label'/>).toJSON();
- expect(checkbox).toMatchSnapshot();
- });
-
- test('Checkbox - disabled', () => {
- const checkbox = renderer.create(<Checkbox disabled={true} label='This is the checkbox label' />).toJSON();
- expect(checkbox).toMatchSnapshot();
- });
-
- test('Checkbox - checked state changes', () => {
- const checkbox = mount(<CheckboxForm />);
- expect(checkbox.instance().getChecked()).toEqual(false);
- expect(checkbox.instance().getChecked()).toEqual(checkbox.find('input').props().checked);
- checkbox.find('input').simulate('change', { target : { checked: true }});
- expect(checkbox.instance().getChecked()).toEqual(checkbox.find('input').props().checked);
- expect(checkbox.instance().getChecked()).toEqual(true);
- checkbox.find('input').simulate('change', { target : { checked: false }});
- expect(checkbox.instance().getChecked()).toEqual(false);
- expect(checkbox.instance().getChecked()).toEqual(checkbox.find('input').props().checked);
- });
-
- test('Checkbox - returns its value', () => {
- const checkbox = mount(<Checkbox label='This is the checkbox label' value='myVal' />);
- expect(checkbox.instance().getValue()).toEqual('myVal');
- });
-
-});
diff --git a/test/react/Checklist.spec.js b/test/react/Checklist.spec.js
deleted file mode 100644
index a3409ad..0000000
--- a/test/react/Checklist.spec.js
+++ /dev/null
@@ -1,64 +0,0 @@
-import React from 'react';
-import Checklist from '../../src/react/Checklist.js';
-
-import renderer from 'react-test-renderer';
-
-const items = [
- {
- label: 'apple',
- value: 'apple',
- dataTestId: 'apple',
- checked: true
- },
- {
- label: 'banana',
- value: 'banana',
- dataTestId: 'banana',
- checked: false
- },
- {
- label: 'orange',
- value: 'orange',
- dataTestId: 'orange',
- checked: true
- }
-];
-
-const itemsDisabled = [
- {
- label: 'apple',
- value: 'apple',
- dataTestId: 'apple',
- checked: true,
- disabled: true
- },
- {
- label: 'banana',
- value: 'banana',
- dataTestId: 'banana',
- checked: false,
- disabled: true
- },
- {
- label: 'orange',
- value: 'orange',
- dataTestId: 'orange',
- checked: false
- }
-];
-
-
-describe('Checklist', () => {
- test('Checklist - Default ', () => {
- const checklist = renderer.create(<Checklist items={items} onChange={() => { }} />).toJSON();
- expect(checklist).toMatchSnapshot();
- });
-
- test('Checklist - With disabled items ', () => {
- const checklist = renderer.create(<Checklist items={itemsDisabled} onChange={() => { }} />).toJSON();
- expect(checklist).toMatchSnapshot();
- });
-
-
-
-}); \ No newline at end of file
diff --git a/test/react/Input.spec.js b/test/react/Input.spec.js
deleted file mode 100644
index 3766e45..0000000
--- a/test/react/Input.spec.js
+++ /dev/null
@@ -1,69 +0,0 @@
-import React from 'react';
-import Input from '../../src/react/Input.js';
-
-import renderer from 'react-test-renderer';
-import {mount} from 'enzyme';
-
-class InputForm extends React.Component {
- constructor(props) {
- super(props);
- this.state = {value: 'Initial'};
- this.handleChange = this.handleChange.bind(this);
- }
-
- handleChange(val) {
- this.setState({value: val});
- }
-
- getValue() {
- return this.input.getValue();
- }
-
- render() {
- return (
- <form >
- <Input ref={(input)=>{this.input = input;}} value={this.state.value} name='testinput' onChange={this.handleChange} />
- </form>
- );
- }
-}
-
-describe('Input', () => {
- test('Input - default', () => {
- const input = renderer.create(<Input label='label for input' name='clickme' type='text'/>).toJSON();
- expect(input).toMatchSnapshot();
- });
-
- test('Input - required', () => {
- const input = renderer.create(<Input required label='label for input' name='clickme' type='text'/>).toJSON();
- expect(input).toMatchSnapshot();
- });
-
- test('Input - number', () => {
- const input = renderer.create(<Input label='label for input' name='clickme' type='number'/>).toJSON();
- expect(input).toMatchSnapshot();
- });
-
- test('Input - readonly', () => {
- const input = renderer.create(<Input label='label for input' name='clickme' type='text' readOnly/>).toJSON();
- expect(input).toMatchSnapshot();
- });
-
- test('Input - placeholder', () => {
- const input = renderer.create(<Input label='label for input' name='clickme' type='text' placeholder='hint'/>).toJSON();
- expect(input).toMatchSnapshot();
- });
-
- test('Input - error', () => {
- const input = renderer.create(<Input label='label for input' name='clickme' type='text' errorMessage='this is an error'/>).toJSON();
- expect(input).toMatchSnapshot();
- });
-
- test('Input - checked state value changes', () => {
- const input = mount(<InputForm />);
- expect(input.instance().getValue()).toEqual('Initial');
- input.find('input').simulate('change', { target : { value: 'Changed' }});
- expect(input.instance().getValue()).toEqual('Changed');
- expect(input.find('input').prop('value')).toEqual('Changed');
- });
-});
diff --git a/test/react/Modal.spec.js b/test/react/Modal.spec.js
deleted file mode 100644
index 7c4738f..0000000
--- a/test/react/Modal.spec.js
+++ /dev/null
@@ -1,68 +0,0 @@
-import React from 'react';
-import { mount, ReactWrapper } from 'enzyme';
-
-import Modal from '../../src/react/Modal';
-
-describe('Modal', () => {
-
- const MODAL_MESSAGE = 'Message';
- test('standard modal', ()=>{
- const modal = new ReactWrapper(mount(<Modal show={true} size='small'>
- <Modal.Header><Modal.Title>Standard Modal</Modal.Title></Modal.Header>
- <Modal.Body>
- {MODAL_MESSAGE}
- </Modal.Body>
- <Modal.Footer actionButtonText='Yes' actionButtonClick={()=>{}}/>
- </Modal>).instance().modalRef, true);
-
- expect(modal.find(Modal.Body).length).toBe(1);
- expect(modal.find(Modal.Header).length).toBe(1);
- expect(modal.find(Modal.Title).length).toBe(1);
- expect(modal.find(Modal.Body).length).toBe(1);
- expect(modal.find(Modal.Footer).length).toBe(1);
- expect(modal.find(Modal.Header).props().type).toBe('info');
- expect(modal.find(Modal.Body).text()).toBe(MODAL_MESSAGE);
- expect(modal.html()).toMatchSnapshot();
- });
-
- test('standard modal - not displayed', ()=>{
- const modal = new ReactWrapper(mount(<Modal show={false} size='small'>
- <Modal.Header><Modal.Title>Standard Modal</Modal.Title></Modal.Header>
- <Modal.Body>
- {MODAL_MESSAGE}
- </Modal.Body>
- <Modal.Footer actionButtonText='Yes' actionButtonClick={()=>{}}/>
- </Modal>).instance().modalRef, true);
- expect(modal.find(Modal.Body).length).toBe(0);
- expect(modal.html()).toMatchSnapshot();
- });
-
- test('alert modal', ()=>{
- const modal = new ReactWrapper(mount(
- <Modal show type='alert' size='small'>
- <Modal.Header type='alert'><Modal.Title>Title</Modal.Title></Modal.Header>
- <Modal.Body>
- {MODAL_MESSAGE}
- </Modal.Body>
- <Modal.Footer closeButtonText='Ok'/>
- </Modal>).instance().modalRef, true);
- expect(modal.find(Modal.Body).text()).toBe(MODAL_MESSAGE);
- expect(modal.find('.sdc-modal-type-alert').length).toBe(1);
- expect(modal.html()).toMatchSnapshot();
- });
-
- test('custom modal', ()=>{
- const modal = new ReactWrapper(mount(
- <Modal show type='custom'>
- <Modal.Header type='custom'><Modal.Title>Title</Modal.Title></Modal.Header>
- <Modal.Body>
- {MODAL_MESSAGE}
- </Modal.Body>
- <Modal.Footer actionButtonText='Ok' actionButtonClick={()=>{}}/>
- </Modal>).instance().modalRef, true);
- expect(modal.find(Modal.Body).text()).toBe(MODAL_MESSAGE);
- expect(modal.find('.sdc-modal-type-custom').length).toBe(1);
- expect(modal.html()).toMatchSnapshot();
- });
-
-});
diff --git a/test/react/ModalBody.spec.js b/test/react/ModalBody.spec.js
deleted file mode 100644
index d83c899..0000000
--- a/test/react/ModalBody.spec.js
+++ /dev/null
@@ -1,11 +0,0 @@
-import React from 'react';
-import ModalBody from '../../src/react/ModalBody.js';
-
-import renderer from 'react-test-renderer';
-
-describe('ModalBody', () => {
- test('basic test', () => {
- const header = renderer.create(<ModalBody/>).toJSON();
- expect(header).toMatchSnapshot();
- });
-}); \ No newline at end of file
diff --git a/test/react/ModalFooter.spec.js b/test/react/ModalFooter.spec.js
deleted file mode 100644
index e4e3f5b..0000000
--- a/test/react/ModalFooter.spec.js
+++ /dev/null
@@ -1,11 +0,0 @@
-import React from 'react';
-import ModalFooter from '../../src/react/ModalFooter.js';
-
-import renderer from 'react-test-renderer';
-
-describe('ModalFooter', () => {
- test('basic test', () => {
- const footer = renderer.create(<ModalFooter closeButtonText='Ok'/>).toJSON();
- expect(footer).toMatchSnapshot();
- });
-}); \ No newline at end of file
diff --git a/test/react/ModalHeader.spec.js b/test/react/ModalHeader.spec.js
deleted file mode 100644
index e9d0602..0000000
--- a/test/react/ModalHeader.spec.js
+++ /dev/null
@@ -1,11 +0,0 @@
-import React from 'react';
-import ModalHeader from '../../src/react/ModalHeader.js';
-
-import renderer from 'react-test-renderer';
-
-describe('ModalHeader', () => {
- test('basic test', () => {
- const header = renderer.create(<ModalHeader/>).toJSON();
- expect(header).toMatchSnapshot();
- });
-}); \ No newline at end of file
diff --git a/test/react/ModalTitle.spec.js b/test/react/ModalTitle.spec.js
deleted file mode 100644
index a8cf2a3..0000000
--- a/test/react/ModalTitle.spec.js
+++ /dev/null
@@ -1,11 +0,0 @@
-import React from 'react';
-import ModalTitle from '../../src/react/ModalTitle.js';
-
-import renderer from 'react-test-renderer';
-
-describe('ModalTitle', () => {
- test('basic test', () => {
- const header = renderer.create(<ModalTitle>Title</ModalTitle>).toJSON();
- expect(header).toMatchSnapshot();
- });
-}); \ No newline at end of file
diff --git a/test/react/Panel.spec.js b/test/react/Panel.spec.js
deleted file mode 100644
index acae6a9..0000000
--- a/test/react/Panel.spec.js
+++ /dev/null
@@ -1,11 +0,0 @@
-import React from 'react';
-import Panel from '../../src/react/Panel.js';
-
-import renderer from 'react-test-renderer';
-
-describe('Panel', () => {
- test('Panel - Default', () => {
- const panel = renderer.create(<Panel>Panel</Panel>).toJSON();
- expect(panel).toMatchSnapshot();
- });
-});
diff --git a/test/react/PopupMenu.spec.js b/test/react/PopupMenu.spec.js
deleted file mode 100644
index 5014728..0000000
--- a/test/react/PopupMenu.spec.js
+++ /dev/null
@@ -1,62 +0,0 @@
-import React from 'react';
-import PopupMenu from '../../src/react/PopupMenu.js';
-
-import renderer from 'react-test-renderer';
-import {mount} from 'enzyme';
-
-class MyPopupForm extends React.Component {
- constructor(props) {
- super(props);
- this.state = {position: {}};
- }
-
- handleClick(newPos) {
- this.setState({position: newPos});
- }
-
- getPosition() {
- return this.state.position;
- }
-
- render() {
- return (
- <form onClick={event => this.handleClick({
- x: event.pageX - event.target.offsetLeft,
- y: event.pageY - event.target.offsetTop
- })}>
- <PopupMenu position={this.state.position} relative onMenuItemClick={() => {}} />
- </form>
- );
- }
-}
-
-describe('PopupMenu', () => {
- test('check static menu rendered', () => {
- const menu = renderer.create(<PopupMenu onMenuItemClick={() => {}}/>).toJSON();
- expect(menu).toMatchSnapshot();
- });
-
- test('check relative menu rendered', () => {
- const menu = renderer.create(<PopupMenu onMenuItemClick={()=> {}} position={{x: 10, y: 10}} relative/>).toJSON();
- expect(menu).toMatchSnapshot();
- });
-
- test('check separator rendered', () => {
- const separator = renderer.create(<PopupMenu.Separator/>).toJSON();
- expect(separator).toMatchSnapshot();
- });
-
- test('check position changed', () => {
- const menuForm = mount(<MyPopupForm />);
- const position = menuForm.instance().getPosition();
- expect(position).toEqual({});
- expect(position).toEqual(menuForm.find('ul').props().style);
- menuForm.find('form').simulate('click', {
- target: {offsetLeft: 10, offsetTop: 20},
- pageX: 30, pageY: 50
- });
- const newPosition = menuForm.instance().getPosition();
- expect(newPosition).toEqual({x:20, y:30});
- expect({left: newPosition.x, top: newPosition.y}).toEqual(menuForm.find('ul').props().style);
- });
-}); \ No newline at end of file
diff --git a/test/react/PopupMenuItem.spec.js b/test/react/PopupMenuItem.spec.js
deleted file mode 100644
index 9262319..0000000
--- a/test/react/PopupMenuItem.spec.js
+++ /dev/null
@@ -1,56 +0,0 @@
-import React from 'react';
-import PopupMenuItem from '../../src/react/PopupMenuItem.js';
-import PopupMenu from '../../src/react/PopupMenu.js';
-
-import renderer from 'react-test-renderer';
-import {mount} from 'enzyme';
-
-describe('PopupMenuItem', () => {
- test('check selected', () => {
- const menuItem = renderer.create(<PopupMenuItem itemId='1' value='item 1' selected/>).toJSON();
- expect(menuItem).toMatchSnapshot();
- });
-
- test('check disabled', () => {
- const menuItem = renderer.create(<PopupMenuItem itemId='2' value='item 2' disabled/>).toJSON();
- expect(menuItem).toMatchSnapshot();
- });
-
- test('check parent onclick invoked by child', () => {
- const mockFunc = jest.fn();
- const menu = mount(
- <PopupMenu onMenuItemClick={mockFunc}>
- <PopupMenuItem itemId='1' value='item 1'/>
- </PopupMenu>
- );
- expect(menu.find('li')).toHaveLength(1);
- menu.find('li').simulate('click');
- expect(mockFunc).toHaveBeenCalled();
- });
-
- test('check custom onclick invoked by child', () => {
- const mockParentFunc = jest.fn();
- const mockChildFunc = jest.fn();
- const menu = mount(
- <PopupMenu onMenuItemClick={mockParentFunc}>
- <PopupMenuItem itemId='1' value='item 1' onClick={mockChildFunc}/>
- </PopupMenu>
- );
- expect(menu.find('li')).toHaveLength(1);
- menu.find('li').simulate('click');
- expect(mockChildFunc).toHaveBeenCalled();
- expect(mockParentFunc).not.toHaveBeenCalled();
- });
-
- test('check no click handler if item is disabled', () => {
- const mockFunc = jest.fn();
- const menu = mount(
- <PopupMenu onMenuItemClick={mockFunc}>
- <PopupMenuItem itemId='1' value='item 1' disabled/>
- </PopupMenu>
- );
- expect(menu.find('li')).toHaveLength(1);
- menu.find('li').simulate('click');
- expect(mockFunc).not.toHaveBeenCalled();
- });
-}); \ No newline at end of file
diff --git a/test/react/Portal.spec.js b/test/react/Portal.spec.js
deleted file mode 100644
index 864b342..0000000
--- a/test/react/Portal.spec.js
+++ /dev/null
@@ -1,10 +0,0 @@
-import React from 'react';
-import {mount} from 'enzyme';
-import Portal from '../../src/react/Portal';
-
-describe('Portal',()=>{
- test('portal basic', ()=>{
- const portal = mount(<Portal><strong>Message</strong></Portal>);
- expect(portal.find(Portal).exists()).toBe(true);
- });
-}); \ No newline at end of file
diff --git a/test/react/Radio.spec.js b/test/react/Radio.spec.js
deleted file mode 100644
index 39e33f7..0000000
--- a/test/react/Radio.spec.js
+++ /dev/null
@@ -1,60 +0,0 @@
-import React from 'react';
-import Radio from '../../src/react/Radio.js';
-
-import renderer from 'react-test-renderer';
-import {mount} from 'enzyme';
-
-class RadioForm extends React.Component {
- constructor(props) {
- super(props);
- this.state = {checked: false};
-
- this.handleChange = this.handleChange.bind(this);
- }
-
- handleChange(val) {
- this.setState({checked: val});
- }
-
- getChecked() {
- return this.radio.getChecked();
- }
-
- render() {
- return (
- <form >
- <Radio ref={(radio)=>{this.radio = radio;}} name='grp1' checked={this.state.checked} label='This is the radio label' value='1' onChange={this.handleChange} />
- </form>
- );
- }
-}
-
-describe('Radio', () => {
- test('Radio - unchecked', () => {
- const radio = renderer.create(<Radio name='grp4' label='This is the radio label' value='1' />).toJSON();
- expect(radio).toMatchSnapshot();
- });
-
- test('Radio - disabled', () => {
- const radio = renderer.create(<Radio name='grp2' disabled={true} label='This is the radio label' value='1' />).toJSON();
- expect(radio).toMatchSnapshot();
- });
-
- test('Radio - checked state changes', () => {
- const radio = mount(<RadioForm />);
- expect(radio.instance().getChecked()).toEqual(false);
- expect(radio.instance().getChecked()).toEqual(radio.find('input').props().checked);
- radio.find('input').simulate('change', { target : { checked: true }});
- expect(radio.instance().getChecked()).toEqual(true);
- expect(radio.instance().getChecked()).toEqual(radio.find('input').props().checked);
- radio.find('input').simulate('change', { target : { checked: false }});
- expect(radio.instance().getChecked()).toEqual(false);
- expect(radio.instance().getChecked()).toEqual(radio.find('input').props().checked);
- });
-
- test('Radio - returns its value', () => {
- const radio = mount(<Radio label='This is the radio label' value='myVal' />);
- expect(radio.instance().getValue()).toEqual('myVal');
- });
-
-});
diff --git a/test/react/RadioGroup.spec.js b/test/react/RadioGroup.spec.js
deleted file mode 100644
index 638b9c4..0000000
--- a/test/react/RadioGroup.spec.js
+++ /dev/null
@@ -1,69 +0,0 @@
-import React from 'react';
-import RadioGroup from '../../src/react/RadioGroup.js';
-
-import renderer from 'react-test-renderer';
-import {mount} from 'enzyme';
-
-class RadioGroupForm extends React.Component {
- constructor(props) {
- super(props);
- this.state = {value: undefined};
- this.handleChange = this.handleChange.bind(this);
- }
-
- handleChange(val) {
- this.setState({value: val});
- }
-
- getValue() {
- return this.grp.getValue();
- }
-
- render() {
- return (
- <form >
- <RadioGroup name='grp1' title='Group A' value={this.state.value} ref={(grp) => { this.grp = grp;}} onChange={this.handleChange} data-test-id='grp1'
- options={[{value: '1', label: 'option 1'}, {value: '2', label: 'option 2'}]} />
- </form>
- );
- }
-}
-
-describe('RadioGroup', () => {
- test('RadioGroup - basic rendering', () => {
- const radio = renderer.create(<RadioGroup name='grp1' defaultValue='2' value='1' title='Group A'
- onChange={()=>{}} data-test-id='grp1'
- options={[{value: '1', label: 'option 1'}, {value: '2', label: 'option 2'}]} />).toJSON();
- expect(radio).toMatchSnapshot();
- });
-
- test('RadioGroup - value overrides default value', () => {
- const radio = mount(<RadioGroup name='grp1' defaultValue='2' value='1' title='Group A'
- onChange={()=>{}} data-test-id='grp1'
- options={[{value: '1', label: 'option 1'}, {value: '2', label: 'option 2'}]} />);
- expect(radio.instance().getValue()).toEqual('1');
- });
-
- test('RadioGroup - can have no value', () => {
- const radio = mount(<RadioGroup name='grp1' title='Group A'
- onChange={()=>{}} data-test-id='grp1'
- options={[{value: '1', label: 'option 1'}, {value: '2', label: 'option 2'}]} />);
- expect(radio.instance().getValue()).toEqual(undefined);
- });
-
- test('RadioGroup - can be rendered without title', () => {
- const radio = mount(<RadioGroup name='grp1'
- onChange={()=>{}} data-test-id='grp1'
- options={[{value: '1', label: 'option 1'}, {value: '2', label: 'option 2'}]} />);
- expect(radio.find('.sdc-radio-group__legend').length).toEqual(0);
- });
-
- test('RadioGroup - value changes', () => {
- const radio = mount(<RadioGroupForm />);
- expect(radio.instance().getValue()).toEqual(undefined);
- radio.find('input[value="1"]').simulate('change', { target : { checked: true }});
- expect(radio.instance().getValue()).toEqual('1');
- radio.find('input[value="2"]').simulate('change', { target : { checked: true }});
- expect(radio.instance().getValue()).toEqual('2');
- });
-});
diff --git a/test/react/Tabs.spec.js b/test/react/Tabs.spec.js
deleted file mode 100644
index 9906708..0000000
--- a/test/react/Tabs.spec.js
+++ /dev/null
@@ -1,55 +0,0 @@
-import React from 'react';
-import Tab from '../../src/react/Tab.js';
-import Tabs from '../../src/react/Tabs.js';
-
-import renderer from 'react-test-renderer';
-import {mount} from 'enzyme';
-
-class TabsForm extends React.Component {
- constructor(props) {
- super(props);
- this.state = {tabId: '1'};
-
- this.handleChange = this.handleChange.bind(this);
- }
-
- handleChange(val) {
- this.setState({tabId: val});
- }
-
- render() {
- return (
- <form >
- <fieldset disabled={this.props.disabled}>
- <Tabs ref={(tabs) => this.tabsInst = tabs} activeTab={this.state.tabId} onTabClick={this.handleChange} >
- <Tab title='tab 1' tabId='1' data-test-id='1'>Tab #1</Tab>
- <Tab title='tab 2' tabId='2' data-test-id='2'>Tab #2</Tab>
- <Tab title='tab 3' tabId='3' data-test-id='3'>Tab #3</Tab>
- </Tabs>
- </fieldset>
-
- </form>
- );
- }
-}
-
-describe('Tabs', () => {
-
- test('Tabs - basic rendering', () => {
- const tabs = renderer.create(<TabsForm disabled={false} />).toJSON();
- expect(tabs).toMatchSnapshot();
- });
-
- test('Tabs - when active tab id is changed, the respective tab is shown', () => {
- const tabs = mount(<TabsForm disabled={false} />);
- expect(tabs.instance().tabsInst.props.activeTab).toEqual('1');
- expect(tabs.find('.sdc-tab-content').text()).toEqual('Tab #1');
- expect(tabs.find('li[data-test-id="1"]').hasClass('sdc-tab-active')).toBeTruthy();
- tabs.find('li[data-test-id="2"]').simulate('click');
- expect(tabs.instance().tabsInst.props.activeTab).toEqual('2');
- expect(tabs.find('li[data-test-id="2"]').hasClass('sdc-tab-active')).toBeTruthy();
- expect(tabs.find('li[data-test-id="1"]').hasClass('sdc-tab-active')).not.toBeTruthy();
- expect(tabs.find('.sdc-tab-content').text()).toEqual('Tab #2');
- });
-
-});
diff --git a/test/react/Tile.spec.js b/test/react/Tile.spec.js
deleted file mode 100644
index 7ce98a8..0000000
--- a/test/react/Tile.spec.js
+++ /dev/null
@@ -1,30 +0,0 @@
-import React from 'react';
-import Tile from '../../src/react/Tile.js';
-import TileInfo from '../../src/react/TileInfo.js';
-import TileInfoLine from '../../src/react/TileInfoLine.js';
-import TileFooter from '../../src/react/TileFooter.js';
-import TileFooterCell from '../../src/react/TileFooterCell.js';
-
-import renderer from 'react-test-renderer';
-
-describe('Tile', () => {
- test('Empty tile', () => {
- const tile = renderer.create(<Tile />).toJSON();
- expect(tile).toMatchSnapshot();
- });
-
- test('Tile with props', () => {
- const tile = renderer.create(<Tile headerText='header' headerColor='blue' iconName='vlm' iconColor='blue' />).toJSON();
- expect(tile).toMatchSnapshot();
- });
-
- test('Tile with content info', () => {
- const tile = renderer.create(<Tile><TileInfo align='center'><TileInfoLine type='title'>Info</TileInfoLine></TileInfo></Tile>).toJSON();
- expect(tile).toMatchSnapshot();
- });
-
- test('Tile with footer', () => {
- const tile = renderer.create(<Tile><TileFooter align='center'><TileFooterCell>Footer</TileFooterCell></TileFooter></Tile>).toJSON();
- expect(tile).toMatchSnapshot();
- });
-});
diff --git a/test/react/__snapshots__/Accordion.spec.js.snap b/test/react/__snapshots__/Accordion.spec.js.snap
deleted file mode 100644
index fe75ada..0000000
--- a/test/react/__snapshots__/Accordion.spec.js.snap
+++ /dev/null
@@ -1,32 +0,0 @@
-// Jest Snapshot v1, https://goo.gl/fbAQLP
-
-exports[`Accordion Accordion - Default 1`] = `
-<div
- className="sdc-accordion "
->
- <div
- className="sdc-accordion-header"
- data-test-id={undefined}
- onClick={[Function]}
- >
- <div
- className="svg-icon-wrapper bottom"
- disabled={undefined}
- onClick={undefined}
- >
- <svg />
-
- </div>
- <div
- className="title"
- >
- Accordion
- </div>
- </div>
- <div
- className="sdc-accordion-body "
- >
- Accordion body
- </div>
-</div>
-`;
diff --git a/test/react/__snapshots__/Button.spec.js.snap b/test/react/__snapshots__/Button.spec.js.snap
deleted file mode 100644
index 16e13bc..0000000
--- a/test/react/__snapshots__/Button.spec.js.snap
+++ /dev/null
@@ -1,163 +0,0 @@
-// Jest Snapshot v1, https://goo.gl/fbAQLP
-
-exports[`Button Button - Default - Gray 1`] = `
-<button
- className="sdc-button sdc-button__primary "
- color="gray"
- disabled={false}
- onClick={undefined}
->
- Click Me
-</button>
-`;
-
-exports[`Button Button - Default - Negative 1`] = `
-<button
- className="sdc-button sdc-button__primary "
- color="negative"
- disabled={false}
- onClick={undefined}
->
- Click Me
-</button>
-`;
-
-exports[`Button Button - Default - Positive 1`] = `
-<button
- className="sdc-button sdc-button__primary "
- color="positive"
- disabled={false}
- onClick={undefined}
->
- Click Me
-</button>
-`;
-
-exports[`Button Button - Default - Primary - Disabled 1`] = `
-<button
- className="sdc-button sdc-button__primary "
- disabled={true}
- onClick={undefined}
->
- Click Me
-</button>
-`;
-
-exports[`Button Button - Default - Primary 1`] = `
-<button
- className="sdc-button sdc-button__primary "
- disabled={false}
- onClick={undefined}
->
- Click Me
-</button>
-`;
-
-exports[`Button Button - Default - Warning 1`] = `
-<button
- className="sdc-button sdc-button__primary "
- color="warning"
- disabled={false}
- onClick={undefined}
->
- Click Me
-</button>
-`;
-
-exports[`Button Button - Default - White 1`] = `
-<button
- className="sdc-button sdc-button__primary "
- color="white"
- disabled={false}
- onClick={undefined}
->
- Click Me
-</button>
-`;
-
-exports[`Button Button - Link - Primary - Disabled 1`] = `
-<button
- className="sdc-button sdc-button__link "
- color="primary"
- disabled={true}
- onClick={undefined}
->
- Click Me
-</button>
-`;
-
-exports[`Button Button - Link - Primary - With Icon 1`] = `
-<button
- className="sdc-button sdc-button__link plus"
- color="primary"
- disabled={false}
- onClick={undefined}
->
- <div
- className="svg-icon-wrapper right"
- disabled={undefined}
- onClick={undefined}
- >
- <svg />
- <span
- className="svg-icon-label "
- >
- Click Me
- </span>
- </div>
-</button>
-`;
-
-exports[`Button Button - Link - Primary 1`] = `
-<button
- className="sdc-button sdc-button__link "
- color="primary"
- disabled={false}
- onClick={undefined}
->
- Click Me
-</button>
-`;
-
-exports[`Button Button - Outline - Gray 1`] = `
-<button
- className="sdc-button sdc-button__outline "
- color="gray"
- disabled={false}
- onClick={undefined}
->
- Click Me
-</button>
-`;
-
-exports[`Button Button - Outline - Negative 1`] = `
-<button
- className="sdc-button sdc-button__outline "
- color="negative"
- disabled={false}
- onClick={undefined}
->
- Click Me
-</button>
-`;
-
-exports[`Button Button - Outline - Positive 1`] = `
-<button
- className="sdc-button sdc-button__outline "
- color="positive"
- disabled={false}
- onClick={undefined}
->
- Click Me
-</button>
-`;
-
-exports[`Button Button - Outline - Primary 1`] = `
-<button
- className="sdc-button sdc-button__outline "
- disabled={false}
- onClick={undefined}
->
- Click Me
-</button>
-`;
diff --git a/test/react/__snapshots__/Checkbox.spec.js.snap b/test/react/__snapshots__/Checkbox.spec.js.snap
deleted file mode 100644
index fa6239b..0000000
--- a/test/react/__snapshots__/Checkbox.spec.js.snap
+++ /dev/null
@@ -1,49 +0,0 @@
-// Jest Snapshot v1, https://goo.gl/fbAQLP
-
-exports[`Checkbox Checkbox - disabled 1`] = `
-<div
- className="sdc-checkbox "
->
- <label>
- <input
- checked={false}
- className="sdc-checkbox__input"
- data-test-id={undefined}
- disabled={true}
- name={undefined}
- onChange={[Function]}
- type="checkbox"
- value={undefined}
- />
- <span
- className="sdc-checkbox__label"
- >
- This is the checkbox label
- </span>
- </label>
-</div>
-`;
-
-exports[`Checkbox Checkbox - unchecked 1`] = `
-<div
- className="sdc-checkbox "
->
- <label>
- <input
- checked={false}
- className="sdc-checkbox__input"
- data-test-id={undefined}
- disabled={undefined}
- name={undefined}
- onChange={[Function]}
- type="checkbox"
- value={undefined}
- />
- <span
- className="sdc-checkbox__label"
- >
- This is the checkbox label
- </span>
- </label>
-</div>
-`;
diff --git a/test/react/__snapshots__/Checklist.spec.js.snap b/test/react/__snapshots__/Checklist.spec.js.snap
deleted file mode 100644
index 707e910..0000000
--- a/test/react/__snapshots__/Checklist.spec.js.snap
+++ /dev/null
@@ -1,165 +0,0 @@
-// Jest Snapshot v1, https://goo.gl/fbAQLP
-
-exports[`Checklist Checklist - Default 1`] = `
-<div
- className={undefined}
->
- <div
- className="checkbox-item"
- >
- <div
- className="sdc-checkbox "
- >
- <label>
- <input
- checked={true}
- className="sdc-checkbox__input"
- data-test-id="apple"
- disabled={undefined}
- name={undefined}
- onChange={[Function]}
- type="checkbox"
- value="apple"
- />
- <span
- className="sdc-checkbox__label"
- >
- apple
- </span>
- </label>
- </div>
- </div>
- <div
- className="checkbox-item"
- >
- <div
- className="sdc-checkbox "
- >
- <label>
- <input
- checked={false}
- className="sdc-checkbox__input"
- data-test-id="banana"
- disabled={undefined}
- name={undefined}
- onChange={[Function]}
- type="checkbox"
- value="banana"
- />
- <span
- className="sdc-checkbox__label"
- >
- banana
- </span>
- </label>
- </div>
- </div>
- <div
- className="checkbox-item"
- >
- <div
- className="sdc-checkbox "
- >
- <label>
- <input
- checked={true}
- className="sdc-checkbox__input"
- data-test-id="orange"
- disabled={undefined}
- name={undefined}
- onChange={[Function]}
- type="checkbox"
- value="orange"
- />
- <span
- className="sdc-checkbox__label"
- >
- orange
- </span>
- </label>
- </div>
- </div>
-</div>
-`;
-
-exports[`Checklist Checklist - With disabled items 1`] = `
-<div
- className={undefined}
->
- <div
- className="checkbox-item"
- >
- <div
- className="sdc-checkbox "
- >
- <label>
- <input
- checked={true}
- className="sdc-checkbox__input"
- data-test-id="apple"
- disabled={true}
- name={undefined}
- onChange={[Function]}
- type="checkbox"
- value="apple"
- />
- <span
- className="sdc-checkbox__label"
- >
- apple
- </span>
- </label>
- </div>
- </div>
- <div
- className="checkbox-item"
- >
- <div
- className="sdc-checkbox "
- >
- <label>
- <input
- checked={false}
- className="sdc-checkbox__input"
- data-test-id="banana"
- disabled={true}
- name={undefined}
- onChange={[Function]}
- type="checkbox"
- value="banana"
- />
- <span
- className="sdc-checkbox__label"
- >
- banana
- </span>
- </label>
- </div>
- </div>
- <div
- className="checkbox-item"
- >
- <div
- className="sdc-checkbox "
- >
- <label>
- <input
- checked={false}
- className="sdc-checkbox__input"
- data-test-id="orange"
- disabled={undefined}
- name={undefined}
- onChange={[Function]}
- type="checkbox"
- value="orange"
- />
- <span
- className="sdc-checkbox__label"
- >
- orange
- </span>
- </label>
- </div>
- </div>
-</div>
-`;
diff --git a/test/react/__snapshots__/Input.spec.js.snap b/test/react/__snapshots__/Input.spec.js.snap
deleted file mode 100644
index 62c3e2e..0000000
--- a/test/react/__snapshots__/Input.spec.js.snap
+++ /dev/null
@@ -1,179 +0,0 @@
-// Jest Snapshot v1, https://goo.gl/fbAQLP
-
-exports[`Input Input - default 1`] = `
-<div
- className="sdc-input "
->
- <label
- className="sdc-input__label "
- htmlFor="clickme"
- >
- label for input
- </label>
- <input
- className="sdc-input__input "
- data-test-id={undefined}
- disabled={false}
- id="clickme"
- name="clickme"
- onBlur={[Function]}
- onChange={[Function]}
- onKeyDown={[Function]}
- placeholder={undefined}
- readOnly={false}
- type="text"
- value={undefined}
- />
-</div>
-`;
-
-exports[`Input Input - error 1`] = `
-<div
- className="sdc-input "
->
- <label
- className="sdc-input__label "
- htmlFor="clickme"
- >
- label for input
- </label>
- <input
- className="sdc-input__input error "
- data-test-id={undefined}
- disabled={false}
- id="clickme"
- name="clickme"
- onBlur={[Function]}
- onChange={[Function]}
- onKeyDown={[Function]}
- placeholder={undefined}
- readOnly={false}
- type="text"
- value={undefined}
- />
- <div
- className="sdc-label__error"
- >
- <div
- className="svg-icon-wrapper __negative right"
- disabled={undefined}
- onClick={undefined}
- >
- <svg />
- <span
- className="svg-icon-label "
- >
- this is an error
- </span>
- </div>
- </div>
-</div>
-`;
-
-exports[`Input Input - number 1`] = `
-<div
- className="sdc-input "
->
- <label
- className="sdc-input__label "
- htmlFor="clickme"
- >
- label for input
- </label>
- <input
- className="sdc-input__input "
- data-test-id={undefined}
- disabled={false}
- id="clickme"
- name="clickme"
- onBlur={[Function]}
- onChange={[Function]}
- onKeyDown={[Function]}
- placeholder={undefined}
- readOnly={false}
- type="number"
- value={undefined}
- />
-</div>
-`;
-
-exports[`Input Input - placeholder 1`] = `
-<div
- className="sdc-input "
->
- <label
- className="sdc-input__label "
- htmlFor="clickme"
- >
- label for input
- </label>
- <input
- className="sdc-input__input "
- data-test-id={undefined}
- disabled={false}
- id="clickme"
- name="clickme"
- onBlur={[Function]}
- onChange={[Function]}
- onKeyDown={[Function]}
- placeholder="hint"
- readOnly={false}
- type="text"
- value={undefined}
- />
-</div>
-`;
-
-exports[`Input Input - readonly 1`] = `
-<div
- className="sdc-input "
->
- <label
- className="sdc-input__label view-only "
- htmlFor="clickme"
- >
- label for input
- </label>
- <input
- className="sdc-input__input view-only"
- data-test-id={undefined}
- disabled={false}
- id="clickme"
- name="clickme"
- onBlur={[Function]}
- onChange={[Function]}
- onKeyDown={[Function]}
- placeholder={undefined}
- readOnly={true}
- type="text"
- value={undefined}
- />
-</div>
-`;
-
-exports[`Input Input - required 1`] = `
-<div
- className="sdc-input "
->
- <label
- className="sdc-input__label "
- htmlFor="clickme"
- >
- label for input
- </label>
- <input
- className="sdc-input__input "
- data-test-id={undefined}
- disabled={false}
- id="clickme"
- name="clickme"
- onBlur={[Function]}
- onChange={[Function]}
- onKeyDown={[Function]}
- placeholder={undefined}
- readOnly={false}
- type="text"
- value={undefined}
- />
-</div>
-`;
diff --git a/test/react/__snapshots__/Modal.spec.js.snap b/test/react/__snapshots__/Modal.spec.js.snap
deleted file mode 100644
index c22da8d..0000000
--- a/test/react/__snapshots__/Modal.spec.js.snap
+++ /dev/null
@@ -1,9 +0,0 @@
-// Jest Snapshot v1, https://goo.gl/fbAQLP
-
-exports[`Modal alert modal 1`] = `"<div><div class=\\"sdc-modal sm\\"><div class=\\"sdc-modal__wrapper sdc-modal-type-alert\\"><div class=\\"sdc-alert__header sdc-modal__header\\"><div class=\\"svg-icon-wrapper sdc-modal__icon sdc-modal__svg-use bottom\\"><svg></svg><!-- react-text: 7 --><!-- /react-text --></div><div class=\\"title \\">Title</div><div class=\\"svg-icon-wrapper sdc-modal__close-button-svg sdc-modal__close-button bottom\\"><svg></svg><!-- react-text: 11 --><!-- /react-text --></div></div><div class=\\"sdc-modal__content \\">Message</div><div class=\\"sdc-modal__footer\\"><div><button class=\\"sdc-button sdc-button__primary \\">Ok</button></div></div></div></div><div class=\\"modal-background\\"></div></div>"`;
-
-exports[`Modal custom modal 1`] = `"<div><div class=\\"sdc-modal md\\"><div class=\\"sdc-modal__wrapper sdc-modal-type-custom\\"><div class=\\"sdc-custom__header sdc-modal__header\\"><div class=\\"title \\">Title</div><div class=\\"svg-icon-wrapper sdc-modal__close-button-svg sdc-modal__close-button bottom\\"><svg></svg><!-- react-text: 8 --><!-- /react-text --></div></div><div class=\\"sdc-modal__content \\">Message</div><div class=\\"sdc-modal__footer\\"><div><button class=\\"sdc-button sdc-button__primary \\">Ok</button><button class=\\"sdc-button sdc-button__secondary \\">Close</button></div></div></div></div><div class=\\"modal-background\\"></div></div>"`;
-
-exports[`Modal standard modal - not displayed 1`] = `"<div></div>"`;
-
-exports[`Modal standard modal 1`] = `"<div><div class=\\"sdc-modal sm\\"><div class=\\"sdc-modal__wrapper sdc-modal-type-info\\"><div class=\\"sdc-info__header sdc-modal__header\\"><div class=\\"svg-icon-wrapper sdc-modal__icon sdc-modal__svg-use bottom\\"><svg></svg><!-- react-text: 7 --><!-- /react-text --></div><div class=\\"title \\">Standard Modal</div><div class=\\"svg-icon-wrapper sdc-modal__close-button-svg sdc-modal__close-button bottom\\"><svg></svg><!-- react-text: 11 --><!-- /react-text --></div></div><div class=\\"sdc-modal__content \\">Message</div><div class=\\"sdc-modal__footer\\"><div><button class=\\"sdc-button sdc-button__primary \\">Yes</button><button class=\\"sdc-button sdc-button__secondary \\">Close</button></div></div></div></div><div class=\\"modal-background\\"></div></div>"`;
diff --git a/test/react/__snapshots__/ModalBody.spec.js.snap b/test/react/__snapshots__/ModalBody.spec.js.snap
deleted file mode 100644
index d0fda4d..0000000
--- a/test/react/__snapshots__/ModalBody.spec.js.snap
+++ /dev/null
@@ -1,7 +0,0 @@
-// Jest Snapshot v1, https://goo.gl/fbAQLP
-
-exports[`ModalBody basic test 1`] = `
-<div
- className="sdc-modal__content "
-/>
-`;
diff --git a/test/react/__snapshots__/ModalFooter.spec.js.snap b/test/react/__snapshots__/ModalFooter.spec.js.snap
deleted file mode 100644
index ee98355..0000000
--- a/test/react/__snapshots__/ModalFooter.spec.js.snap
+++ /dev/null
@@ -1,17 +0,0 @@
-// Jest Snapshot v1, https://goo.gl/fbAQLP
-
-exports[`ModalFooter basic test 1`] = `
-<div
- className="sdc-modal__footer"
->
- <div>
- <button
- className="sdc-button sdc-button__primary "
- disabled={false}
- onClick={undefined}
- >
- Ok
- </button>
- </div>
-</div>
-`;
diff --git a/test/react/__snapshots__/ModalHeader.spec.js.snap b/test/react/__snapshots__/ModalHeader.spec.js.snap
deleted file mode 100644
index 8559925..0000000
--- a/test/react/__snapshots__/ModalHeader.spec.js.snap
+++ /dev/null
@@ -1,24 +0,0 @@
-// Jest Snapshot v1, https://goo.gl/fbAQLP
-
-exports[`ModalHeader basic test 1`] = `
-<div
- className="sdc-info__header sdc-modal__header"
->
- <div
- className="svg-icon-wrapper sdc-modal__icon sdc-modal__svg-use bottom"
- disabled={undefined}
- onClick={undefined}
- >
- <svg />
-
- </div>
- <div
- className="svg-icon-wrapper sdc-modal__close-button-svg sdc-modal__close-button bottom"
- disabled={undefined}
- onClick={undefined}
- >
- <svg />
-
- </div>
-</div>
-`;
diff --git a/test/react/__snapshots__/ModalTitle.spec.js.snap b/test/react/__snapshots__/ModalTitle.spec.js.snap
deleted file mode 100644
index 69a7734..0000000
--- a/test/react/__snapshots__/ModalTitle.spec.js.snap
+++ /dev/null
@@ -1,9 +0,0 @@
-// Jest Snapshot v1, https://goo.gl/fbAQLP
-
-exports[`ModalTitle basic test 1`] = `
-<div
- className="title "
->
- Title
-</div>
-`;
diff --git a/test/react/__snapshots__/Panel.spec.js.snap b/test/react/__snapshots__/Panel.spec.js.snap
deleted file mode 100644
index b31dda7..0000000
--- a/test/react/__snapshots__/Panel.spec.js.snap
+++ /dev/null
@@ -1,9 +0,0 @@
-// Jest Snapshot v1, https://goo.gl/fbAQLP
-
-exports[`Panel Panel - Default 1`] = `
-<div
- className="sdc-panel "
->
- Panel
-</div>
-`;
diff --git a/test/react/__snapshots__/PopupMenu.spec.js.snap b/test/react/__snapshots__/PopupMenu.spec.js.snap
deleted file mode 100644
index 7a9060f..0000000
--- a/test/react/__snapshots__/PopupMenu.spec.js.snap
+++ /dev/null
@@ -1,26 +0,0 @@
-// Jest Snapshot v1, https://goo.gl/fbAQLP
-
-exports[`PopupMenu check relative menu rendered 1`] = `
-<ul
- className="sdc-menu-list relative"
- style={
- Object {
- "left": 10,
- "top": 10,
- }
- }
-/>
-`;
-
-exports[`PopupMenu check separator rendered 1`] = `
-<li
- className="separator"
-/>
-`;
-
-exports[`PopupMenu check static menu rendered 1`] = `
-<ul
- className="sdc-menu-list "
- style={Object {}}
-/>
-`;
diff --git a/test/react/__snapshots__/PopupMenuItem.spec.js.snap b/test/react/__snapshots__/PopupMenuItem.spec.js.snap
deleted file mode 100644
index 3334afb..0000000
--- a/test/react/__snapshots__/PopupMenuItem.spec.js.snap
+++ /dev/null
@@ -1,19 +0,0 @@
-// Jest Snapshot v1, https://goo.gl/fbAQLP
-
-exports[`PopupMenuItem check disabled 1`] = `
-<li
- className="sdc-menu-item disabled"
- onClick={[Function]}
->
- item 2
-</li>
-`;
-
-exports[`PopupMenuItem check selected 1`] = `
-<li
- className="sdc-menu-item selected"
- onClick={[Function]}
->
- item 1
-</li>
-`;
diff --git a/test/react/__snapshots__/Radio.spec.js.snap b/test/react/__snapshots__/Radio.spec.js.snap
deleted file mode 100644
index a878d3a..0000000
--- a/test/react/__snapshots__/Radio.spec.js.snap
+++ /dev/null
@@ -1,49 +0,0 @@
-// Jest Snapshot v1, https://goo.gl/fbAQLP
-
-exports[`Radio Radio - disabled 1`] = `
-<div
- className="sdc-radio "
->
- <label>
- <input
- checked={false}
- className="sdc-radio__input"
- data-test-id={undefined}
- disabled={true}
- name="grp2"
- onChange={[Function]}
- type="radio"
- value="1"
- />
- <span
- className="sdc-radio__label"
- >
- This is the radio label
- </span>
- </label>
-</div>
-`;
-
-exports[`Radio Radio - unchecked 1`] = `
-<div
- className="sdc-radio "
->
- <label>
- <input
- checked={false}
- className="sdc-radio__input"
- data-test-id={undefined}
- disabled={undefined}
- name="grp4"
- onChange={[Function]}
- type="radio"
- value="1"
- />
- <span
- className="sdc-radio__label"
- >
- This is the radio label
- </span>
- </label>
-</div>
-`;
diff --git a/test/react/__snapshots__/RadioGroup.spec.js.snap b/test/react/__snapshots__/RadioGroup.spec.js.snap
deleted file mode 100644
index caf729d..0000000
--- a/test/react/__snapshots__/RadioGroup.spec.js.snap
+++ /dev/null
@@ -1,60 +0,0 @@
-// Jest Snapshot v1, https://goo.gl/fbAQLP
-
-exports[`RadioGroup RadioGroup - basic rendering 1`] = `
-<div
- className="sdc-radio-group "
- data-test-id="grp1"
->
- <label
- className="sdc-radio-group__legend"
- >
- Group A
- </label>
- <div
- className="sdc-radio-group__radios"
- >
- <div
- className="sdc-radio "
- >
- <label>
- <input
- checked={true}
- className="sdc-radio__input"
- data-test-id="grp1_1"
- disabled={undefined}
- name="grp1"
- onChange={[Function]}
- type="radio"
- value="1"
- />
- <span
- className="sdc-radio__label"
- >
- option 1
- </span>
- </label>
- </div>
- <div
- className="sdc-radio "
- >
- <label>
- <input
- checked={false}
- className="sdc-radio__input"
- data-test-id="grp1_2"
- disabled={undefined}
- name="grp1"
- onChange={[Function]}
- type="radio"
- value="2"
- />
- <span
- className="sdc-radio__label"
- >
- option 2
- </span>
- </label>
- </div>
- </div>
-</div>
-`;
diff --git a/test/react/__snapshots__/Tabs.spec.js.snap b/test/react/__snapshots__/Tabs.spec.js.snap
deleted file mode 100644
index 9a4d0a1..0000000
--- a/test/react/__snapshots__/Tabs.spec.js.snap
+++ /dev/null
@@ -1,52 +0,0 @@
-// Jest Snapshot v1, https://goo.gl/fbAQLP
-
-exports[`Tabs Tabs - basic rendering 1`] = `
-<form>
- <fieldset
- disabled={false}
- >
- <div
- className="sdc-tabs sdc-tabs-menu "
- >
- <ul
- className="sdc-tabs-list"
- role="tablist"
- >
- <li
- className="sdc-tab sdc-tab-active "
- data-test-id="1"
- disabled={undefined}
- onClick={[Function]}
- role="tab"
- >
- tab 1
- </li>
- <li
- className="sdc-tab "
- data-test-id="2"
- disabled={undefined}
- onClick={[Function]}
- role="tab"
- >
- tab 2
- </li>
- <li
- className="sdc-tab "
- data-test-id="3"
- disabled={undefined}
- onClick={[Function]}
- role="tab"
- >
- tab 3
- </li>
- </ul>
- <div
- className="sdc-tab-content"
- role="tabpanel"
- >
- Tab #1
- </div>
- </div>
- </fieldset>
-</form>
-`;
diff --git a/test/react/__snapshots__/Tile.spec.js.snap b/test/react/__snapshots__/Tile.spec.js.snap
deleted file mode 100644
index e38ffa2..0000000
--- a/test/react/__snapshots__/Tile.spec.js.snap
+++ /dev/null
@@ -1,108 +0,0 @@
-// Jest Snapshot v1, https://goo.gl/fbAQLP
-
-exports[`Tile Empty tile 1`] = `
-<div
- className="sdc-tile "
- data-test-id={undefined}
- onClick={undefined}
->
- <div
- className="sdc-tile-header "
- />
- <div
- className="sdc-tile-content"
- >
- <div
- className="sdc-tile-content-icon "
- />
- </div>
-</div>
-`;
-
-exports[`Tile Tile with content info 1`] = `
-<div
- className="sdc-tile "
- data-test-id={undefined}
- onClick={undefined}
->
- <div
- className="sdc-tile-header "
- />
- <div
- className="sdc-tile-content"
- >
- <div
- className="sdc-tile-content-icon "
- />
- <div
- className="sdc-tile-content-info centered"
- >
- <div
- className="sdc-tile-info-line title "
- data-test-id={undefined}
- >
- Info
- </div>
- </div>
- </div>
-</div>
-`;
-
-exports[`Tile Tile with footer 1`] = `
-<div
- className="sdc-tile "
- data-test-id={undefined}
- onClick={undefined}
->
- <div
- className="sdc-tile-header "
- />
- <div
- className="sdc-tile-content"
- >
- <div
- className="sdc-tile-content-icon "
- />
- </div>
- <div
- className="sdc-tile-footer centered"
- >
- <span
- className="sdc-tile-footer-cell "
- data-test-id={undefined}
- >
- Footer
- </span>
- </div>
-</div>
-`;
-
-exports[`Tile Tile with props 1`] = `
-<div
- className="sdc-tile "
- data-test-id={undefined}
- onClick={undefined}
->
- <div
- className="sdc-tile-header blue"
- >
- header
- </div>
- <div
- className="sdc-tile-content"
- >
- <div
- className="sdc-tile-content-icon blue"
- >
- <div
- className="svg-icon-wrapper bottom"
- disabled={undefined}
- onClick={undefined}
- >
- <svg />
-
- </div>
- </div>
- </div>
-</div>
-`;
diff --git a/test/react/utils/htmlLoader.js b/test/react/utils/htmlLoader.js
deleted file mode 100644
index fbdfbd8..0000000
--- a/test/react/utils/htmlLoader.js
+++ /dev/null
@@ -1,7 +0,0 @@
-const htmlLoader = require('html-loader');
-
-module.exports = {
- process(src) {
- return htmlLoader(src);
- }
-};
diff --git a/test/react/utils/svgMock.js b/test/react/utils/svgMock.js
deleted file mode 100644
index 2d6ed81..0000000
--- a/test/react/utils/svgMock.js
+++ /dev/null
@@ -1,3 +0,0 @@
-import React from 'react';
-
-module.exports = () => <svg />; \ No newline at end of file
diff --git a/tsconfig.angular.build-es5.json b/tsconfig-aot.json
index 17e51af..83f993e 100644
--- a/tsconfig.angular.build-es5.json
+++ b/tsconfig-aot.json
@@ -1,24 +1,30 @@
{
"compilerOptions": {
- "module": "es2015",
"target": "es5",
- "lib": ["es2015", "dom"],
- "skipLibCheck": true,
- "emitDecoratorMetadata": true,
- "experimentalDecorators": true,
- "sourceMap": true,
+ "module": "es2015",
"moduleResolution": "node",
+ "sourceMap": true,
"declaration": true,
- "outDir": "build",
- "rootDir": "src"
+ "removeComments": false,
+ "noImplicitAny": false,
+ "experimentalDecorators": true,
+ "emitDecoratorMetadata": true,
+ "allowUnreachableCode": false,
+ "allowUnusedLabels": false,
+ "pretty": true,
+ "stripInternal": true,
+ "skipLibCheck": true,
+ "outDir": "dist/components",
+ "rootDir": "./src/angular"
},
"files": [
- "src/angular/index.ts"
+ "./src/angular/index.ts"
],
"angularCompilerOptions": {
- "skipMetadataEmit": false,
- "strictMetadataEmit": false,
+ "genDir": "dist/components",
+ "debug": false,
"skipTemplateCodegen": true,
- "flatModuleId": "sdc-ui"
+ "skipMetadataEmit": false,
+ "strictMetadataEmit": true
}
}
diff --git a/tsconfig-sitebook.json b/tsconfig-sitebook.json
new file mode 100644
index 0000000..2508424
--- /dev/null
+++ b/tsconfig-sitebook.json
@@ -0,0 +1,22 @@
+{
+ "lerna": {
+ "disabled": true
+ },
+ "compileOnSave": false,
+ "compilerOptions": {
+ "outDir": "./dist/out-tsc",
+ "sourceMap": true,
+ "declaration": false,
+ "moduleResolution": "node",
+ "emitDecoratorMetadata": true,
+ "experimentalDecorators": true,
+ "target": "es5",
+ "typeRoots": [
+ "node_modules/@types"
+ ],
+ "lib": [
+ "es2017",
+ "dom"
+ ]
+ }
+}
diff --git a/tsconfig.json b/tsconfig.json
deleted file mode 100644
index 040ef40..0000000
--- a/tsconfig.json
+++ /dev/null
@@ -1,31 +0,0 @@
-{
- "compilerOptions": {
- "target": "es5",
- "module": "commonjs",
- "outDir": "dist",
- "rootDir": ".",
- "sourceMap": true,
- "emitDecoratorMetadata": true,
- "experimentalDecorators": true,
- "moduleResolution": "node",
- "typeRoots": [
- "node_modules/@types"
- ],
- "lib": ["es6", "dom"]
- },
- "exclude": [
- "node_modules"
- ],
- "types":[
- "jasmine"
- ],
- "awesomeTypescriptLoaderOptions": {
- "useWebpackText": true
- },
- "angularCompilerOptions": {
- "debug": true
- },
- "compileOnSave": false,
- "buildOnSave": false,
- "atom": { "rewriteTsconfig": false }
-}
diff --git a/tslint.json b/tslint.json
deleted file mode 100644
index 9aca897..0000000
--- a/tslint.json
+++ /dev/null
@@ -1,77 +0,0 @@
-{
- "extends": [
- "tslint:recommended",
- "tslint-angular"
- ],
- "rulesDirectory": [
- "node_modules/codelyzer"
- ],
- "rules": {
- "member-ordering": [
- false
- ],
- "angular-whitespace": [
- true,
- "check-interpolation",
- "check-pipe"
- ],
- "banana-in-box": true,
- "templates-no-negated-async": true,
- "directive-selector": [
- true,
- "attribute", [
- "Sdc",
- "Onap"
- ],
- "camelCase"
- ],
- "component-selector": [
- true,
- "element", [
- "sdc",
- "onap"
- ],
- "kebab-case"
- ],
- "use-input-property-decorator": true,
- "use-output-property-decorator": true,
- "use-host-property-decorator": true,
- "no-attribute-parameter-decorator": true,
- "no-input-rename": true,
- "no-output-rename": true,
- "no-forward-ref": true,
- "use-view-encapsulation": false,
- "use-life-cycle-interface": true,
- "use-pipe-transform-interface": true,
- "pipe-naming": [
- true,
- "camelCase",
- "Pipe"
- ],
- "component-class-suffix": [
- true,
- "Component"
- ],
- "directive-class-suffix": [
- true,
- "Directive"
- ],
- "templates-use-public": true,
- "no-access-missing-member": true,
- "invoke-injectable": true,
- "template-to-ng-template": true,
- "ordered-imports": [
- false
- ],
- "quotemark": [
- false
- ],
- "trailing-comma": [
- false
- ],
- "arrow-parens": false,
- "object-literal-sort-keys": false,
- "object-literal-shorthand": false,
- "max-line-length": [true, 240, "^import |^export | implements "]
- }
-}
diff --git a/utils/build-demo.js b/utils/build-demo.js
deleted file mode 100644
index 8f5edda..0000000
--- a/utils/build-demo.js
+++ /dev/null
@@ -1,73 +0,0 @@
-const ncp = require('ncp').ncp;
-const fs = require('fs');
-const path = require('path')
-const svgFolder = './assets/icons';
-const svgOutputFile = './src/style/scss/common/_icons.scss';
-
-var copyFiles = function() {
- // Copy generated style.css to demo/gen folder
- ncp('lib/css/style.css', 'demo/gen', function (err) {
- if (err) {
- return console.error(err);
- }
- });
-
- // Copy assets folder to demo/gen folder
- ncp('assets', 'demo/gen/assets', function (err) {
- if (err) {
- return console.error(err);
- }
- });
-};
-
-// var parseSvgContent = function(content) {
-// var withoutLines = (content+'').replace(/\n|\t|\r/g, '');
-// return withoutLines.replace(/"/g,'\'');
-// };
-
-// var readFile = function(filePath) {
-// return fs.readFileSync(filePath, 'utf8');
-// };
-
-// var clearFile = function(filePath) {
-// return fs.truncateSync(filePath, 0);
-// };
-
-// var writeFile = function(filePath){
-// const text = `.sdc-icon {
-// display: inline-block;
-// text-rendering: auto;
-// -webkit-font-smoothing: antialiased;
-// -moz-osx-font-smoothing: grayscale;
-// width: 16px;
-// height: 16px;
-// }\n`;
-// fs.writeFileSync(filePath, text);
-// console.log("The file was saved!");
-// };
-
-// var appendSvgIcons = function(content) {
-// fs.appendFileSync(svgOutputFile, content);
-// };
-
-// var readFolder = function(folderPath) {
-// var files = fs.readdirSync(svgFolder);
-// files.forEach(file => {
-// var extension = path.extname(file);
-// if (extension ==='.svg'){
-// console.log(folderPath + "/" + file);
-// var fileContent = readFile(folderPath + "/" + file);
-// var svgContent = parseSvgContent(fileContent);
-// var fileName = path.basename(file, '.svg')
-// var scssContent = '.sdc-icon-' + fileName + ' {background-image: url("data:image/svg+xml;utf8,' + svgContent + '"); background-repeat: no-repeat;}';
-// appendSvgIcons(scssContent+'\n');
-// }
-// });
-
-// };
-
-// Generate icons.scss file from multiple SVG files
-// clearFile(svgOutputFile);
-// writeFile(svgOutputFile);
-// readFolder(svgFolder);
-copyFiles();
diff --git a/utils/create-icon-map.js b/utils/create-icon-map.js
deleted file mode 100644
index d980895..0000000
--- a/utils/create-icon-map.js
+++ /dev/null
@@ -1,26 +0,0 @@
-
-const fs = require('fs');
-const path = require('path');
-
-const svgFolder = './assets/icons/';
-const iconMapFile = './src/react/utils/iconMap.js';
-
-let dataToWrite = '';
-let iconNames = [];
-
-let iconMapDir = path.dirname(iconMapFile);
-if (!fs.existsSync(iconMapDir)) {
- fs.mkdirSync(iconMapDir);
-};
-
-fs.readdirSync(svgFolder).forEach(file => {
- let fileName = file.split('.');
- if (fileName[0] && fileName[1] === 'svg') {
- dataToWrite += `import ${fileName[0]} from '-!svg-react-loader!../../.${svgFolder}${file}';\n`;
- iconNames.push(fileName[0]);
- }
-});
-
-dataToWrite += '\n' + `export default {\n\t${iconNames.join(',\n\t')}\n};`;
-
-fs.writeFileSync(iconMapFile, dataToWrite);
diff --git a/utils/create-svg-icons-map.js b/utils/create-svg-icons-map.js
deleted file mode 100644
index aec459c..0000000
--- a/utils/create-svg-icons-map.js
+++ /dev/null
@@ -1,95 +0,0 @@
-const fs = require('fs');
-const path = require('path');
-const svgFolder = path.resolve(__dirname + '/../assets/sdc-icons/');
-const iconMapFile = path.resolve(__dirname + '/../src/common/icons-map.json');
-const iconMapTSFile = path.resolve(__dirname + '/../src/common/icons-map.ts');
-const disallowedSvgAttributes = ['fill', 'id', 'width', 'height'];
-const disallowedSvgStyle = ['fill'];
-const disallowedSvgInlineAttributes = ['fill', 'id'];
-const disallowedSvgInlineStyle = ['fill'];
-
-function _escapeStrRegex(str) {
- return str.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
-}
-function _makeSvgAttributesRegex(attrs) {
- return new RegExp(`\s*(${attrs.map(_escapeStrRegex).join('|')})\s*=\s*("|')[^"']*\\2`, 'g');
-}
-function _makeSvgStyleRegex(attrs) {
- return new RegExp(`\s*${attrs.map(_escapeStrRegex).join('|')}\s*:[^'";]*;?`, 'g');
-}
-
-// prepare
-const disallowedSvgAttributesRegex = _makeSvgAttributesRegex(disallowedSvgAttributes);
-const disallowedSvgStyleRegex = _makeSvgStyleRegex(disallowedSvgStyle);
-const disallowedSvgInlineAttributesRegex = _makeSvgAttributesRegex(disallowedSvgInlineAttributes);
-const disallowedSvgInlineStyleRegex = _makeSvgStyleRegex(disallowedSvgInlineStyle);
-
-function addIcon(iconsObject, iconName, iconPath) {
- let iconContent = fs.readFileSync(iconPath).toString();
- if (!iconContent) {
- return;
- }
-
- let iconInfoMsg = '';
-
- // clean the first <svg> tag
- iconContent = iconContent.replace(/<svg\b[^>]*>/, (svgTag) => {
- let cleanedNum = 0;
- const disallowedSvgAttributesMatch = svgTag.match(disallowedSvgAttributesRegex);
- if (disallowedSvgAttributesMatch) {
- svgTag = svgTag.replace(disallowedSvgAttributesRegex, '');
- cleanedNum += disallowedSvgAttributesMatch.length;
- }
- const disallowedSvgStyleMatch = svgTag.match(disallowedSvgStyleRegex);
- if (disallowedSvgStyleMatch) {
- svgTag = svgTag.replace(disallowedSvgStyleRegex, '');
- cleanedNum += disallowedSvgStyleMatch.length;
- }
- iconInfoMsg += 'ADDED';
- if (cleanedNum > 0) {
- iconInfoMsg += `\n\t(cleaned ${cleanedNum} attributes and styles)`;
- }
- return svgTag;
- });
-
- const disallowedSvgInlineAttributesMatch = iconContent.match(disallowedSvgInlineAttributesRegex);
- if (disallowedSvgInlineAttributesMatch) {
- iconInfoMsg += `\n\t* CHECK for ${disallowedSvgInlineAttributesMatch.length} inline attributes [${disallowedSvgInlineAttributes.join(', ')}]`;
- }
- const disallowedSvgInlineStyleMatch = iconContent.match(disallowedSvgInlineStyleRegex);
- if (disallowedSvgInlineStyleMatch) {
- iconInfoMsg += `\n\t* CHECK for ${disallowedSvgInlineStyleMatch.length} inline styles [${disallowedSvgInlineStyle.join(', ')}]`;
- }
-
- console.log(`# ${iconName}: ${iconInfoMsg}`);
-
- iconsObject[iconName] = iconContent;
-}
-
-function main() {
- const iconMapDir = path.dirname(iconMapFile);
- if (!fs.existsSync(iconMapDir)) {
- fs.mkdirSync(iconMapDir);
- }
-
- const iconsObject = {};
- fs.readdirSync(svgFolder).forEach((file) => {
- const fileName = file.split('.', 2)[0];
- const fileExtension = file.split('.', 2)[1];
- if (fileExtension === 'svg') {
- const filePath = svgFolder + '/' + file;
- if (fs.existsSync(filePath)) {
- addIcon(iconsObject, fileName, filePath);
- }
- }
- });
-
- const dataToWrite = JSON.stringify(iconsObject);
-
- fs.writeFileSync(iconMapFile, dataToWrite);
- fs.writeFileSync(iconMapTSFile, `export default ${dataToWrite};`);
-
- console.log(`Icons Map JSON created! [${iconMapFile}]`);
-}
-
-main();
diff --git a/utils/index-for-gh-pages.html b/utils/index-for-gh-pages.html
deleted file mode 100644
index a6d7f63..0000000
--- a/utils/index-for-gh-pages.html
+++ /dev/null
@@ -1,98 +0,0 @@
-<!DOCTYPE html>
-<html>
-
-<head>
- <meta charset="utf-8">
- <meta name="viewport" content="width=device-width, initial-scale=1">
- <meta content="IE=edge" http-equiv="X-UA-Compatible" />
- <title>Storybook</title>
- <style>
- body, html {
- width: 100%;
- height: 100%;
- padding: 0;
- margin: 0;
- }
- .header {
- display: flex;
- padding: 18px 40px 0 40px;
- }
- .logo {
- margin-right: 95px;
- cursor: pointer;
- }
- img {
- width: 125px;
- height: 26px;
- }
- .showcase-header {
- display: flex;
- }
- .case-tab-name {
- font-family: OpenSans, OpenSans-Regular, 'Open Sans', Arial, sans-serif;
- font-size: 14px;
- line-height: 1.71;
- letter-spacing: -0.2px;
- margin: 0 20px;
- padding: 4px 8px 12px 8px;
- color: #5a5a5a;
- cursor: pointer;
- text-transform: uppercase;
- }
- .case-tab-name[active=true] {
- color: #009fdb;
- border-bottom: solid 2px #009fdb;
- }
- .showcase-wrapper {
- height: calc(100% - 60px);
- display: flex;
- flex-direction: column;
- background-color: #FFFFFF;
- }
- .showcase-iframe {
- height: 100%;
- border-top: solid 1px #aaaaaa;
- }
- </style>
-
- <script>
- var shows = {
- mainPage: "main-page.html",
- react: "react/index.html",
- angular: "angular/index.html"
- };
- function show(type){
- document.getElementById('showcase').src = shows[type];
- setActiveTab(type);
- }
- function setActiveTab(type) {
- var allTabs = document.getElementsByClassName('case-tab-name');
- for(var i = 0; i < allTabs.length; i++ ) {
- if(allTabs[i].getAttribute('id') === type+'-tab') {
- allTabs[i].setAttribute('active', true);
- }
- else {
- allTabs[i].setAttribute('active', false);
- }
- }
- }
- </script>
-
-</head>
-
-<body>
- <div class="header">
- <div class="logo" onClick="show('mainPage')"><img src="assets/images/logo_onap.png"/></div>
- <div class="showcase-header">
- <div class="case-tab-name" id="react-tab" onClick="show('react')">React</div>
- <div class="case-tab-name" id="angular-tab" onClick="show('angular')">Angular</div>
- </div>
- </div>
-
- <div class="showcase-wrapper">
- <iframe id="showcase" src="main-page.html" class="showcase-iframe">
- </iframe>
- </div>
-</body>
-
-</html>
diff --git a/utils/main-page.html b/utils/main-page.html
deleted file mode 100644
index 30fb10f..0000000
--- a/utils/main-page.html
+++ /dev/null
@@ -1,62 +0,0 @@
-<!DOCTYPE html>
-<html>
-
- <head>
- <meta charset="utf-8">
- <meta name="viewport" content="width=device-width, initial-scale=1">
- <meta content="IE=edge" http-equiv="X-UA-Compatible" />
- <title>Storybook</title>
-
- <style>
- body, html {
- width: 100%;
- padding: 0;
- margin: 0;
- }
- body {
- height: calc(100% - 40px);
- display: flex;
- flex-direction: column;
- background-color: #FFFFFF;
- padding: 65px 0;
- }
- .title, .description {
- text-align: center;
- align-self: center;
-
- }
- .title {
- font-family: OpenSans-Light, 'Open Sans', Arial, sans-serif;
- width: 360px;
- height: 29px;
- font-size: 28px;
- font-weight: 300;
- line-height: 0.86;
- letter-spacing: -0.4px;
- color: #191919;
- }
- .description {
- font-family: OpenSans-Regular, 'Open Sans', Arial, sans-serif;
- width: 485px;
- height: 41px;
- font-size: 16px;
- line-height: 1.5;
- letter-spacing: -0.2px;
- color: #5a5a5a;
- padding: 28px;
- }
- .main-page-img {
- margin: 15px;
- display: flex;
- align-self: center;
- }
- </style>
- </head>
-
- <body>
- <div class="title">Welcome to ONAP/UI project!</div>
- <div class="description">The aim of this project is to create a basic component library, with a unified UX and UI for both Angular and React based projects.</div>
- <img class="main-page-img" src="assets/images/illustration.png"/>
- </body>
-
-</html> \ No newline at end of file
diff --git a/utils/scripts/map-sources.js b/utils/scripts/map-sources.js
deleted file mode 100644
index 3ce6bfb..0000000
--- a/utils/scripts/map-sources.js
+++ /dev/null
@@ -1,9 +0,0 @@
-const sorcery = require('sorcery');
-
-const argv = require('yargs')
- .alias('f', 'file')
- .argv;
-
-sorcery.load(argv.file).then(function (chain) {
- chain.write();
-});
diff --git a/webpack-umd.config.ts b/webpack-umd.config.ts
new file mode 100644
index 0000000..d85ead4
--- /dev/null
+++ b/webpack-umd.config.ts
@@ -0,0 +1,97 @@
+import * as webpack from 'webpack';
+import * as path from 'path';
+import * as fs from 'fs';
+import * as angularExternals from 'webpack-angular-externals';
+import * as rxjsExternals from 'webpack-rxjs-externals';
+
+const UglifyJsPlugin = require("uglifyjs-webpack-plugin");
+const pkg = JSON.parse(fs.readFileSync('./package.json').toString());
+
+export default {
+ entry: {
+ 'index.umd': './src/angular/index.ts',
+ 'index.umd.min': './src/angular/index.ts',
+ },
+ output: {
+ path: path.join(__dirname, 'dist'),
+ filename: '[name].js',
+ libraryTarget: 'umd',
+ library: 'onap-ui-angular'
+ },
+ resolve: {
+ extensions: [ '.ts', '.js', '.json' ]
+ },
+ externals: [
+ angularExternals(),
+ rxjsExternals()
+ ],
+ devtool: 'source-map',
+ module: {
+ rules: [
+ {
+ test: /\.ts$/,
+ use: [
+ {
+ loader: 'ts-loader',
+ options: {
+ configFile: "tsconfig-aot.json"
+ }
+ },
+ {
+ loader: 'angular2-template-loader'
+ }
+ ],
+ exclude: [
+ /node_modules/,
+ /\.(spec|e2e)\.ts$/
+ ]
+ },
+
+ {
+ test: /\.json$/,
+ use: 'json-loader'
+ },
+
+ {
+ test: /\.css$/,
+ use: ['to-string-loader', 'css-loader']
+ },
+
+ {
+ test: /\.scss$/,
+ use: ['to-string-loader', 'css-loader', 'sass-loader']
+ },
+
+ {
+ test: /\.html$/,
+ use: 'raw-loader'
+ }
+ ]
+ },
+ plugins: [
+ new webpack.ContextReplacementPlugin(
+ /angular(\\|\/)core(\\|\/)@angular/,
+ path.join(__dirname, 'src/angular')
+ ),
+
+ new UglifyJsPlugin({
+ include: /\.min\.js$/,
+ sourceMap: true
+ }),
+
+ new webpack.BannerPlugin({
+ banner: `
+/**
+ * ${pkg.name} - ${pkg.description}
+ * @version v${pkg.version}
+ * @author ${pkg.author.name}
+ * @link ${pkg.homepage}
+ * @license ${pkg.license}
+ */
+ `.trim(),
+ raw: true,
+ entryOnly: true
+ })
+
+ ]
+} as webpack.Configuration;
diff --git a/webpack.build.config.js b/webpack.build.config.js
deleted file mode 100644
index 9c74402..0000000
--- a/webpack.build.config.js
+++ /dev/null
@@ -1,63 +0,0 @@
-var path = require('path');
-
-var webpackConfig = {
-
- devtool: 'source-map',
-
- entry: {},
-
- output: {
- publicPath: ''
- },
-
- plugins: [
- ],
-
- module: {
- rules: [
- // .ts files for TypeScript
- {
- test: /.ts$/,
- use: [
- 'awesome-typescript-loader',
- 'angular2-template-loader',
- 'angular2-router-loader'
- ]
- },
- {
- test: /\.html$/,
- loader: 'html-loader'
- },
- {
- test: /\.scss$/,
- use: ['style-loader', 'css-loader', 'sass-loader'],
- include: path.resolve(__dirname, '../')
- },
- {
- test: /\.json$/,
- loader: 'json',
- include: path.resolve(__dirname, '../')
-
- },
- {
- test: /\.svg$/,
- use: 'svg-sprite-loader',
- options: {
- extract: true,
-
- }
- }
- ]
- },
-
- resolve: {
- extensions: ['.ts', '.js', '.json'],
- modules: [path.resolve(__dirname, 'node_modules')],
- alias: {
- root: path.resolve(__dirname),
- app: path.resolve(__dirname, 'src')
- }
- }
-};
-
-module.exports = webpackConfig;
diff --git a/webpack/helpers.js b/webpack/helpers.js
deleted file mode 100644
index c2c3717..0000000
--- a/webpack/helpers.js
+++ /dev/null
@@ -1,10 +0,0 @@
-var path = require('path');
-
-var _root = path.resolve(__dirname, '..');
-
-function root(args) {
- args = Array.prototype.slice.call(arguments, 0);
- return path.join.apply(path, [_root].concat(args));
-}
-
-exports.root = root;
diff --git a/webpack/webpack.test.js b/webpack/webpack.test.js
deleted file mode 100644
index 9057d4e..0000000
--- a/webpack/webpack.test.js
+++ /dev/null
@@ -1,71 +0,0 @@
-/****************************************************************************************
- * Webpack test configuration file
- * Using the current configuration we are able to bundle all the files we need for our
- * unit testings.
- ***************************************************************************************/
-
-
-'use strict';
-
-/**
- * Dependencies:
- * path: node library for resolving full path names
- * webpack: for use in our testings
- */
-const path = require('path');
-const webpack = require('webpack');
-const helpers = require('./helpers');
-module.exports = {
- /**
- * Choose a developer tool to enhance debugging. inline-source-map - A SourceMap is added as DataUrl to the JavaScript file.
- */
- devtool: 'inline-source-map',
-
- /**
- * Set webpack loaders and preloaders for typescript, angular2, SASS and HTML,
- * so that webpack will be able to process and bundle them.
- */
- module: {
-
- rules: [
- {
- test: /.ts$/,
- exclude: /node_modules/,
- use: [
- 'awesome-typescript-loader',
- 'angular2-template-loader',
- 'angular2-router-loader'
- ]
- },
- { test: /\.html$/, loader: "html-loader" },
- {
- test: /.scss$/,
- use: ['style-loader', 'css-loader', 'sass-loader'],
- include: path.resolve(__dirname, '../')
- },
-
- ]
- },
-
- plugins: [
- // Workaround for angular/angular#11580
- new webpack.ContextReplacementPlugin(
- // The (\\|\/) piece accounts for path separators in *nix and Windows
- ///angular(\\|\/)core(\\|\/)@angular/,
- /@angular(\\|\/)core(\\|\/)/,
- helpers.root('./src'), // location of your src
- {} // a map of your routes
- ),
- ],
-
- /**
- * This section lets Webpack know which types of file extensions it should be loading.
- */
- resolve: {
- extensions: ['.js', '.ts'],
- modules: [
- path.resolve('.', 'src'),
- 'node_modules'
- ]
- },
-};
diff --git a/wiki/Adding_a_new_component.md b/wiki/Adding_a_new_component.md
new file mode 100644
index 0000000..7309597
--- /dev/null
+++ b/wiki/Adding_a_new_component.md
@@ -0,0 +1,100 @@
+# Adding a new component
+To add a new component to this project, and to its showcase powered by [storybook](https://github.com/storybooks/storybook), follow the following simple guidelines. Throughout this guide, we will pretend to be adding a new component called *myComponent*.
+
+Note: the project is build of 3 different projects:
+1. [onap-ui-common](https://github.com/onap-sdc/onap-ui-common) - contains HTML and SCSS files for all components
+2. [onap-ui-angular](https://github.com/onap-sdc/onap-ui-angular) - contains Angular components according to the HTML defined in onap-ui-common
+3. [onap-ui-react](https://github.com/onap-sdc/onap-ui-react) - contains React components according to the HTML defined in onap-ui-common
+
+## 1. Create a new feature branch
+In your forked repository, after making sure your `master` branch is synced with original repository's `master`, create a new branch named feature/myComponent.
+Note: This should be done in all 3 projects: onap-ui-common, onap-ui-angular, onap-ui-react
+
+## 2. Add .html and .scss files (onap-ui-common only)
+* Under the components directory (onap-ui-common) at the root of the project, create a new directory with the name of your component.
+* Create **one** .scss file, declaring the appropriate classes and rules for your component, following the css guidelines in terms of hierarchy and naming methodology. Make sure to name your file by the following convention: **_myComponent.scss**.
+* Create **multiple** .html files, one for each of the possible styles of your component, using the classes you declared in the .scss file.
+
+## 3. Import your .scss file (onap-ui-common only)
+Add the appropriate import for your new .scss file in scss/_components.scss:
+```scss
+@import ../components/myComponent.scss;
+```
+
+## 4. Implement the React and Angular2 components (onap-ui-angular / onap-ui-react)
+The next step is to use your html and scss structure and implement them in React and Angular.
+
+### React
+See [onap-ui-react](https://github.com/onap-sdc/onap-ui-react) project for more details
+
+### Angular
+Create a new folder with component name under src/angular. Inside the folder create component module, ts file and HTML file.
+Keep the names according to the rule: **MyComponent.component.ts**, and implement the component. Make sure to exporting your component.
+
+Note: due to issues compiling the HTML files, all HTML files as extension of .ts
+
+**Create component typescript file**
+```js
+// src/angular/MyComponent/my-component.component.ts
+
+import { Component, Input } from "@angular/core";
+import { template } from "./my-component.component.html";
+
+@Component({
+ selector: "my-component",
+ template: template
+})
+
+export class MyComponent {
+ @Input() public testId: string;
+ @Input() public text: string;
+
+ constructor() {}
+
+ public onClick = (e): void => {
+ // Do something
+ }
+
+}
+```
+
+**Create component HTML file**
+```js
+// src/angular/MyComponent/my-component.component.html.ts
+export const template = `
+<button class="my-button [attr.data-tests-id]="testId">{{ text }}</button>
+`;
+```
+
+**Create component module file**
+```js
+// src/angular/MyComponent/my-component.module.ts
+import { NgModule } from "@angular/core";
+import { MyComponent } from "./my-component.component";
+
+@NgModule({
+ declarations: [MyComponent],
+ imports: [],
+ exports: [MyComponent],
+})
+export class MyComponentModule {}
+```
+
+**Export the component in src\angular\components.ts file**
+
+```js
+// src/angular/components.ts
+
+export { MyComponent } from "./src/angular/my-component/my-component.component";
+```
+
+## 5. Add your component to storybook
+See [Adding a component to storybook](https://github.com/onap-sdc/onap-ui-angular/wiki/Adding-a-new-component-to-storybook).
+
+## 6. Push and create a new pull request
+Push your branch to your fork's origin/feature/myComponent, and create a new pull request from your fork to the original repo.
+
+## 7. Release if needed
+If your changes require a new release to `npm`, please contact the administrators.
+
+Hurray! your component is live at the [showcase](https://onap-sdc.github.io/onap-ui-angular/), and if it was released can be consumed from npm.
diff --git a/wiki/Adding_a_new_component_to_storybook.md b/wiki/Adding_a_new_component_to_storybook.md
new file mode 100644
index 0000000..3861b7e
--- /dev/null
+++ b/wiki/Adding_a_new_component_to_storybook.md
@@ -0,0 +1,62 @@
+# Adding a new component to storybook
+
+To add your new component to storybook, follow the steps in this document. Make sure that you added your component to the library as described in [Adding a new component](https://github.com/onap-sdc/onap-ui-angular/wiki/Adding-a-new-component). We will continue from where we took off, pretending to add our new component, MyComponent, to storybook.
+
+## 1. Create the story
+under **stories/angular** directory at the root of the project, create a new file called `mycomponents.stories.ts`.
+
+Example of component story file:
+```js
+import { storiesOf } from '@storybook/angular';
+import { withKnobs, text, number, boolean, array, select, color, date, button } from '@storybook/addon-knobs';
+import { withNotes } from '@storybook/addon-notes';
+import { action, configureActions } from '@storybook/addon-actions';
+import { moduleMetadata } from '@storybook/angular';
+import { MyComponent } from '../../src/angular/components';
+
+storiesOf('Category|MyComponent', module)
+ .addDecorator(withKnobs)
+ .addDecorator(withNotes)
+ .addDecorator(
+ moduleMetadata({
+ declarations: [
+ MyComponent
+ ],
+ imports: []
+ })
+ )
+ .add('Category name', () => {
+ const _text = text('text', 'Simple component');
+ const _checked = boolean('checked', false);
+ const _disabled = boolean('disabled', false);
+ const _testId = text('testId', 'smalpe-test-id');
+ const _checkedChange = text('*(checkedChange)', 'Event throws when checked changed, see in Action logger tab.');
+
+ return {
+ props: {
+ checkedChange: action('MyComponent value changed '),
+ _text, _checked, _disabled, _testId
+ },
+ template: `
+ <onap-component
+ [text]="_text"
+ [checked]="_checked"
+ [disabled]="_disabled"
+ [testId]="_testId"
+ (checkedChange)="checkedChange($event)"
+ >
+ </onap-component>
+ `
+ }
+ },
+ { notes: `<h2>My Component</h2>
+ Full example of my component.
+ Use the KNOBS tab to change values.`
+ }
+)
+```
+
+## 3. Run storybook
+The final step is to run storybook and make sure everything is working. just run `npm run storybook` to get a local server running, and direct your browser to the outputted address.
+
+If you want to deploy storybook to your fork's github pages, follow [Deploying storybook to a fork's github pages](https://github.com/onap-sdc/onap-ui-common/wiki/Deploying-storybook-to-a-fork's-github-pages).
diff --git a/wiki/Contribution_guide.md b/wiki/Contribution_guide.md
new file mode 100644
index 0000000..3ce4f8b
--- /dev/null
+++ b/wiki/Contribution_guide.md
@@ -0,0 +1,30 @@
+# Contribution guide
+Contribution to this project will be accepted **only** by following this guide.
+
+## 1. Fork
+Fork this repository to your own Github account.
+
+## 2. Clone
+Run `git clone https://github.com/yourusername/onap-ui-angular.git` to clone your forked repository on your local machine. Don't forget to run `npm install` in your freshly cloned repository to install all dependencies.
+
+## 3. Configure travis
+Follow the [Deploying storybook to a fork's github pages] to configure your personal travis settings.
+
+## 4. Make sure your fork is synced
+This repository has a hook (powered by [backstroke](http:/backstroke.us)), that upon each change to the `master` branch sends a pull request with the changes to all of its forks. Make sure to monitor these pull request and keep your fork in sync.
+
+## 5. Workflow
+Whenever starting to work on your new contribution, first of all make sure your fork is synced (no pending pull requests). An important rule to follow is to *never do any work and commits on your master branch*. Your fork's `master` should serve only as a copy of the original.
+Workflow is as following (on your local clone of course):
+* `git checkout master`
+* `git pull` (after you made sure your fork's master is synced)
+* `git checkout -b your-branch`
+* Do some work and commit your changes
+* If there were changes on the original repo while you were doing your work:
+ * Merge relevant pull request into your fork
+ * `git checkout master`
+ * `git pull`
+ * `git checkout your-branch`
+ * `git rebase master`
+* Push your branch to your fork
+* Create a new pull request from your branch to the original repo's master (NOTE: **do not create a pull request to your fork's master**)
diff --git a/wiki/Deploying_storybook_to_a_forks_github_pages.md b/wiki/Deploying_storybook_to_a_forks_github_pages.md
new file mode 100644
index 0000000..4c4be46
--- /dev/null
+++ b/wiki/Deploying_storybook_to_a_forks_github_pages.md
@@ -0,0 +1,13 @@
+# Deploying storybook to a fork's github pages
+By following the steps in this document, you will be able to deploy storybook to your own fork's github pages (useful for a staging environment that can be reviewed by a designer).
+
+## 1. Enable the repository in your travis homepage
+After you've forked this repository, go to [travis](https://travis-ci.org), and sign in with your Github account. Then go to your profile page by clicking your avatar in the top right corner. Inside the profile page, filck the onap-ui-angular repository switch on. Travis is now enabled for your repository.
+
+## 2. Define environment variables
+Go to your repository setting in travis. There are two environment variables you need to define:
+* GITHUB_TOKEN: your personal access token. If you don't know how to create one, follow this [guide](https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line/). When you create your token, use 'repo' permissions only. Make sure the 'Display value in build log' switch is off, so that your token will be encrypted.
+* DEPLOY: set this variable to 1 if you want builds to trigger deployment, 0 otherwise. This time, make sure the 'Display value in build log' switch is on. NOTE: setting this to 1 will trigger a deployment on **every** branch you push to your repo, not only on master (because no work should be done on your fork's master anyways.)
+
+## 3. Check that travis is working
+Push a new branch to your fork and check that travis ran a build on your branch and deployed it. The deployment address should be https://*username*.github.io/onap-ui-angular
diff --git a/wiki/Understanding_project_build.md b/wiki/Understanding_project_build.md
new file mode 100644
index 0000000..253d83f
--- /dev/null
+++ b/wiki/Understanding_project_build.md
@@ -0,0 +1,76 @@
+# Understanding project build
+
+Details about building the project for deploying as NPM module
+
+Great document clarify build process: https://medium.com/@trekhleb/how-to-create-aot-jit-compatible-angular-4-library-with-external-scss-html-templates-9da6e68dac6e
+
+## Two main builds:
+1. Build onap-ui-angular project as NPM module (npm run build), so 3rd parties can use it.
+2. Build onap-ui-angular for storybook (npm run storybook:build), to show the components in github pages.
+
+## package.json scripts
+build: main build of the project
+build:ngc: run ngc and comoile the typescript files (using NGC)
+build:umd: build 4 UMD bundled files using webpack
+storybook: start the storybook server
+storybook:prebuild: ?
+storybook:build: build the storybook code for using in github pages
+
+
+## Exclude Angular core from the bundle
+
+It might be pretty obvious but we must keep in mind that we’re writing library for Angular project. Since project itself must have Angular core as a dependency the library should not include Angular sources in the bundles it produces. To do so we need to setup peer dependencies in our package.json file.
+```js
+{
+ ...
+ "peerDependencies": {
+ "@angular/common": "^6.0.3",
+ "@angular/core": "^6.0.3"
+ }
+ ...
+}
+```
+
+## Compile using NGC
+
+Running node_modules/.bin/ngc -p tsconfig-aot.json
+
+Some important notes regarding tsconfig-aot.json file:
+```js
+{
+ "compilerOptions": {
+ "target": "es5", // Specifying ES standard
+ "module": "es2015",
+ "sourceMap": true, // Ask tsc to generate *.map.js files
+ "declaration": true, // Ask tsc to generate *.d.ts files
+ "outDir": "dist", // Specify output folder for the files
+ ...
+ },
+ "files": [ // Specify input file for tsc/ngc
+ "./src/angular/index.ts"
+ ],
+ "angularCompilerOptions": { // Angular compiler specific config
+ "genDir": "dist",
+ "skipTemplateCodegen": true, // Don't produce *.ngfactory.ts
+ ...
+ }
+}
+```
+
+## Bundle using WEBPACK
+
+We use webpack to create UMD (Universal Module Definition) file. This format is for delivering library as a bundle since it ultimately implements both AMD and CommonJS formats. In a result our bundle may be consumed even on the back-end by Node.
+
+Webpack will create 4 files:
+1. index.umd.js - Main javascript file, unminified.
+2. index.umd.min.js - For consumers convenience minified version of the bundle to decrease download time for the user.
+3. index.umd.js.map - For debuging the bundle: JavaScript SourceMaps.
+4. index.umd.min.js.map - Same map file minified.
+
+## Build files summary
+
+1. package.json - main build file, define the dependencies and node scripts, also data for deployment.
+2. tsconfig-aot.json - used by NGC to compile .ts file to .js files.
+
+
+
diff --git a/wiki/home.md b/wiki/home.md
new file mode 100644
index 0000000..5d5edf9
--- /dev/null
+++ b/wiki/home.md
@@ -0,0 +1 @@
+Welcome to the onap-ui-angular wiki!