@coorpacademy/components 10.1.1 → 10.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/atom/button/index.js +3 -1
- package/es/atom/button/index.js.map +1 -1
- package/es/atom/button-link/index.js +108 -0
- package/es/atom/button-link/index.js.map +1 -0
- package/es/atom/button-link/style.css +97 -0
- package/es/atom/button-link/test/fixtures/button-dangerous-no-icon.js +10 -0
- package/es/atom/button-link/test/fixtures/button-dangerous-no-icon.js.map +1 -0
- package/es/atom/button-link/test/fixtures/button-primary-icon-left.js +14 -0
- package/es/atom/button-link/test/fixtures/button-primary-icon-left.js.map +1 -0
- package/es/atom/button-link/test/fixtures/button-primary-no-icon.js +10 -0
- package/es/atom/button-link/test/fixtures/button-primary-no-icon.js.map +1 -0
- package/es/atom/button-link/test/fixtures/button-secondary-no-icon-disabled.js +11 -0
- package/es/atom/button-link/test/fixtures/button-secondary-no-icon-disabled.js.map +1 -0
- package/es/atom/button-link/test/fixtures/button-tertiary-icon-left.js +14 -0
- package/es/atom/button-link/test/fixtures/button-tertiary-icon-left.js.map +1 -0
- package/es/atom/button-link/test/fixtures/icon-button.js +13 -0
- package/es/atom/button-link/test/fixtures/icon-button.js.map +1 -0
- package/es/atom/button-link/test/fixtures/link-primary-disabled-icon-right.js +17 -0
- package/es/atom/button-link/test/fixtures/link-primary-disabled-icon-right.js.map +1 -0
- package/es/atom/button-link/test/fixtures/link-secondary-icon-right.js +20 -0
- package/es/atom/button-link/test/fixtures/link-secondary-icon-right.js.map +1 -0
- package/es/atom/button-link/test/fixtures/link-tertiary-no-icon.js +16 -0
- package/es/atom/button-link/test/fixtures/link-tertiary-no-icon.js.map +1 -0
- package/es/atom/button-link/test/fixtures/link-text-icon-right-target-blank.js +17 -0
- package/es/atom/button-link/test/fixtures/link-text-icon-right-target-blank.js.map +1 -0
- package/es/atom/button-link/test/fixtures/link-text-no-icon-download.js +13 -0
- package/es/atom/button-link/test/fixtures/link-text-no-icon-download.js.map +1 -0
- package/es/atom/chips/index.js +8 -4
- package/es/atom/chips/index.js.map +1 -1
- package/es/atom/chips/style.css +17 -2
- package/es/atom/chips/test/fixtures/long-text.js +9 -0
- package/es/atom/chips/test/fixtures/long-text.js.map +1 -0
- package/es/atom/content-badge/index.js +4 -4
- package/es/atom/content-badge/index.js.map +1 -1
- package/es/atom/input-search/index.js +65 -0
- package/es/atom/input-search/index.js.map +1 -0
- package/es/atom/input-search/style.css +202 -0
- package/es/{molecule/search → atom/input-search}/test/change.js +0 -0
- package/es/atom/input-search/test/change.js.map +1 -0
- package/es/atom/input-search/test/fixtures/coorpmanager-with-value.js +14 -0
- package/es/atom/input-search/test/fixtures/coorpmanager-with-value.js.map +1 -0
- package/es/atom/input-search/test/fixtures/coorpmanager.js +13 -0
- package/es/atom/input-search/test/fixtures/coorpmanager.js.map +1 -0
- package/es/{molecule/search → atom/input-search}/test/fixtures/default.js +0 -0
- package/es/atom/input-search/test/fixtures/default.js.map +1 -0
- package/es/{molecule/search → atom/input-search}/test/fixtures/with-value.js +0 -0
- package/es/atom/input-search/test/fixtures/with-value.js.map +1 -0
- package/es/atom/input-text/index.js +1 -1
- package/es/atom/input-text/index.js.map +1 -1
- package/es/atom/input-text/style.css +22 -13
- package/es/atom/input-textarea/index.js +36 -11
- package/es/atom/input-textarea/index.js.map +1 -1
- package/es/atom/input-textarea/style.css +265 -0
- package/es/atom/input-textarea/test/fixtures/cm-default.js +17 -0
- package/es/atom/input-textarea/test/fixtures/cm-default.js.map +1 -0
- package/es/atom/input-textarea/test/fixtures/cm-empty.js +17 -0
- package/es/atom/input-textarea/test/fixtures/cm-empty.js.map +1 -0
- package/es/atom/tag/index.js +27 -0
- package/es/atom/tag/index.js.map +1 -0
- package/es/atom/tag/style.css +38 -0
- package/es/atom/tag/test/fixtures/archived.js +7 -0
- package/es/atom/tag/test/fixtures/archived.js.map +1 -0
- package/es/atom/tag/test/fixtures/default.js +7 -0
- package/es/atom/tag/test/fixtures/default.js.map +1 -0
- package/es/atom/tag/test/fixtures/published.js +7 -0
- package/es/atom/tag/test/fixtures/published.js.map +1 -0
- package/es/atom/tag/test/fixtures/revision.js +7 -0
- package/es/atom/tag/test/fixtures/revision.js.map +1 -0
- package/es/molecule/banner/index.js +46 -0
- package/es/molecule/banner/index.js.map +1 -0
- package/es/molecule/banner/style.css +63 -0
- package/es/molecule/banner/test/fixtures/default.js +11 -0
- package/es/molecule/banner/test/fixtures/default.js.map +1 -0
- package/es/molecule/banner/test/fixtures/error-banner.js +7 -0
- package/es/molecule/banner/test/fixtures/error-banner.js.map +1 -0
- package/es/molecule/brand-form-group/test/fixtures/cm-default.js +51 -0
- package/es/molecule/brand-form-group/test/fixtures/cm-default.js.map +1 -0
- package/es/molecule/brand-form-group/test/fixtures/default.js +12 -3
- package/es/molecule/brand-form-group/test/fixtures/default.js.map +1 -1
- package/es/molecule/card/index.js +16 -5
- package/es/molecule/card/index.js.map +1 -1
- package/es/molecule/card/selectable.css +71 -0
- package/es/molecule/card/selectable.js +32 -0
- package/es/molecule/card/selectable.js.map +1 -0
- package/es/molecule/card/test/fixtures/default.js +1 -0
- package/es/molecule/card/test/fixtures/default.js.map +1 -1
- package/es/molecule/card/test/fixtures/selectable-false.js +16 -0
- package/es/molecule/card/test/fixtures/selectable-false.js.map +1 -0
- package/es/molecule/card/test/fixtures/selectable-true.js +17 -0
- package/es/molecule/card/test/fixtures/selectable-true.js.map +1 -0
- package/es/molecule/card-content/index.js +13 -3
- package/es/molecule/card-content/index.js.map +1 -1
- package/es/molecule/card-content/style.css +13 -3
- package/es/molecule/cm-popin/index.js +82 -0
- package/es/molecule/cm-popin/index.js.map +1 -0
- package/es/molecule/cm-popin/style.css +115 -0
- package/es/molecule/cm-popin/test/fixtures/dangerous.js +19 -0
- package/es/molecule/cm-popin/test/fixtures/dangerous.js.map +1 -0
- package/es/molecule/cm-popin/test/fixtures/default.js +19 -0
- package/es/molecule/cm-popin/test/fixtures/default.js.map +1 -0
- package/es/molecule/cm-popin/test/fixtures/warning-with-close.js +20 -0
- package/es/molecule/cm-popin/test/fixtures/warning-with-close.js.map +1 -0
- package/es/molecule/cockpit-popin/test/fixtures.js +17 -0
- package/es/molecule/cockpit-popin/test/fixtures.js.map +1 -0
- package/es/molecule/feedback/test/fixtures.js +2 -0
- package/es/molecule/feedback/test/fixtures.js.map +1 -1
- package/es/molecule/search-form/index.js +1 -1
- package/es/molecule/search-form/index.js.map +1 -1
- package/es/molecule/select-multiple/index.js +113 -146
- package/es/molecule/select-multiple/index.js.map +1 -1
- package/es/molecule/select-multiple/test/index.js +20 -79
- package/es/molecule/select-multiple/test/index.js.map +1 -1
- package/es/molecule/wizard-summary/index.js +60 -25
- package/es/molecule/wizard-summary/index.js.map +1 -1
- package/es/molecule/wizard-summary/style.css +100 -20
- package/es/molecule/wizard-summary/test/fixtures/default.js +11 -4
- package/es/molecule/wizard-summary/test/fixtures/default.js.map +1 -1
- package/es/molecule/wizard-summary/test/fixtures/one-section.js +2 -1
- package/es/molecule/wizard-summary/test/fixtures/one-section.js.map +1 -1
- package/es/molecule/wizard-summary/test/fixtures/tablet-closed.js +118 -0
- package/es/molecule/wizard-summary/test/fixtures/tablet-closed.js.map +1 -0
- package/es/molecule/wizard-summary/test/fixtures/three-sections.js +2 -1
- package/es/molecule/wizard-summary/test/fixtures/three-sections.js.map +1 -1
- package/es/molecule/wizard-summary/test/fixtures/two-sections.js +2 -1
- package/es/molecule/wizard-summary/test/fixtures/two-sections.js.map +1 -1
- package/es/organism/brand-table/index.js +1 -1
- package/es/organism/brand-table/index.js.map +1 -1
- package/es/organism/mooc-header/index.js +1 -1
- package/es/organism/mooc-header/index.js.map +1 -1
- package/es/organism/mooc-header/test/fixtures/default.js +1 -1
- package/es/organism/mooc-header/test/fixtures/default.js.map +1 -1
- package/es/organism/mooc-header/test/fixtures/logged-with-battle-notifications.js +1 -1
- package/es/organism/mooc-header/test/fixtures/logged-with-battle-notifications.js.map +1 -1
- package/es/organism/search-and-chips-results/index.js +91 -0
- package/es/organism/search-and-chips-results/index.js.map +1 -0
- package/es/organism/search-and-chips-results/style.css +57 -0
- package/es/organism/search-and-chips-results/test/fixtures/default.js +46 -0
- package/es/organism/search-and-chips-results/test/fixtures/default.js.map +1 -0
- package/es/organism/search-and-chips-results/test/fixtures/empty.js +23 -0
- package/es/organism/search-and-chips-results/test/fixtures/empty.js.map +1 -0
- package/es/organism/search-and-chips-results/test/fixtures/filtered.js +26 -0
- package/es/organism/search-and-chips-results/test/fixtures/filtered.js.map +1 -0
- package/es/organism/search-and-chips-results/test/fixtures/sorted-selected.js +49 -0
- package/es/organism/search-and-chips-results/test/fixtures/sorted-selected.js.map +1 -0
- package/es/organism/search-and-chips-results/test/fixtures/unsorted-selected.js +49 -0
- package/es/organism/search-and-chips-results/test/fixtures/unsorted-selected.js.map +1 -0
- package/es/template/app-player/popin-end/test/fixtures.js +2 -0
- package/es/template/app-player/popin-end/test/fixtures.js.map +1 -1
- package/es/template/back-office/brand-list/index.js +6 -2
- package/es/template/back-office/brand-list/index.js.map +1 -1
- package/es/template/back-office/brand-list/style.css +1 -0
- package/es/variables/colors.css +7 -3
- package/lib/atom/button/index.js +3 -1
- package/lib/atom/button/index.js.map +1 -1
- package/lib/atom/button-link/index.js +125 -0
- package/lib/atom/button-link/index.js.map +1 -0
- package/lib/atom/button-link/style.css +97 -0
- package/lib/atom/button-link/test/fixtures/button-dangerous-no-icon.js +15 -0
- package/lib/atom/button-link/test/fixtures/button-dangerous-no-icon.js.map +1 -0
- package/lib/atom/button-link/test/fixtures/button-primary-icon-left.js +19 -0
- package/lib/atom/button-link/test/fixtures/button-primary-icon-left.js.map +1 -0
- package/lib/atom/button-link/test/fixtures/button-primary-no-icon.js +15 -0
- package/lib/atom/button-link/test/fixtures/button-primary-no-icon.js.map +1 -0
- package/lib/atom/button-link/test/fixtures/button-secondary-no-icon-disabled.js +16 -0
- package/lib/atom/button-link/test/fixtures/button-secondary-no-icon-disabled.js.map +1 -0
- package/lib/atom/button-link/test/fixtures/button-tertiary-icon-left.js +19 -0
- package/lib/atom/button-link/test/fixtures/button-tertiary-icon-left.js.map +1 -0
- package/lib/atom/button-link/test/fixtures/icon-button.js +18 -0
- package/lib/atom/button-link/test/fixtures/icon-button.js.map +1 -0
- package/lib/atom/button-link/test/fixtures/link-primary-disabled-icon-right.js +22 -0
- package/lib/atom/button-link/test/fixtures/link-primary-disabled-icon-right.js.map +1 -0
- package/lib/atom/button-link/test/fixtures/link-secondary-icon-right.js +25 -0
- package/lib/atom/button-link/test/fixtures/link-secondary-icon-right.js.map +1 -0
- package/lib/atom/button-link/test/fixtures/link-tertiary-no-icon.js +21 -0
- package/lib/atom/button-link/test/fixtures/link-tertiary-no-icon.js.map +1 -0
- package/lib/atom/button-link/test/fixtures/link-text-icon-right-target-blank.js +22 -0
- package/lib/atom/button-link/test/fixtures/link-text-icon-right-target-blank.js.map +1 -0
- package/lib/atom/button-link/test/fixtures/link-text-no-icon-download.js +18 -0
- package/lib/atom/button-link/test/fixtures/link-text-no-icon-download.js.map +1 -0
- package/lib/atom/chips/index.js +8 -4
- package/lib/atom/chips/index.js.map +1 -1
- package/lib/atom/chips/style.css +17 -2
- package/lib/atom/chips/test/fixtures/long-text.js +14 -0
- package/lib/atom/chips/test/fixtures/long-text.js.map +1 -0
- package/lib/atom/content-badge/index.js +4 -4
- package/lib/atom/content-badge/index.js.map +1 -1
- package/lib/{molecule/search → atom/input-search}/index.js +29 -18
- package/lib/atom/input-search/index.js.map +1 -0
- package/lib/atom/input-search/style.css +202 -0
- package/lib/{molecule/search → atom/input-search}/test/change.js +0 -0
- package/lib/atom/input-search/test/change.js.map +1 -0
- package/lib/atom/input-search/test/fixtures/coorpmanager-with-value.js +19 -0
- package/lib/atom/input-search/test/fixtures/coorpmanager-with-value.js.map +1 -0
- package/lib/atom/input-search/test/fixtures/coorpmanager.js +18 -0
- package/lib/atom/input-search/test/fixtures/coorpmanager.js.map +1 -0
- package/lib/{molecule/search → atom/input-search}/test/fixtures/default.js +0 -0
- package/lib/atom/input-search/test/fixtures/default.js.map +1 -0
- package/lib/{molecule/search → atom/input-search}/test/fixtures/with-value.js +0 -0
- package/lib/atom/input-search/test/fixtures/with-value.js.map +1 -0
- package/lib/atom/input-text/index.js +1 -1
- package/lib/atom/input-text/index.js.map +1 -1
- package/lib/atom/input-text/style.css +22 -13
- package/lib/atom/input-textarea/index.js +38 -11
- package/lib/atom/input-textarea/index.js.map +1 -1
- package/lib/atom/input-textarea/style.css +265 -0
- package/lib/atom/input-textarea/test/fixtures/cm-default.js +22 -0
- package/lib/atom/input-textarea/test/fixtures/cm-default.js.map +1 -0
- package/lib/atom/input-textarea/test/fixtures/cm-empty.js +22 -0
- package/lib/atom/input-textarea/test/fixtures/cm-empty.js.map +1 -0
- package/lib/atom/tag/index.js +39 -0
- package/lib/atom/tag/index.js.map +1 -0
- package/lib/atom/tag/style.css +38 -0
- package/lib/atom/tag/test/fixtures/archived.js +12 -0
- package/lib/atom/tag/test/fixtures/archived.js.map +1 -0
- package/lib/atom/tag/test/fixtures/default.js +12 -0
- package/lib/atom/tag/test/fixtures/default.js.map +1 -0
- package/lib/atom/tag/test/fixtures/published.js +12 -0
- package/lib/atom/tag/test/fixtures/published.js.map +1 -0
- package/lib/atom/tag/test/fixtures/revision.js +12 -0
- package/lib/atom/tag/test/fixtures/revision.js.map +1 -0
- package/lib/molecule/banner/index.js +59 -0
- package/lib/molecule/banner/index.js.map +1 -0
- package/lib/molecule/banner/style.css +63 -0
- package/lib/molecule/banner/test/fixtures/default.js +16 -0
- package/lib/molecule/banner/test/fixtures/default.js.map +1 -0
- package/lib/molecule/banner/test/fixtures/error-banner.js +12 -0
- package/lib/molecule/banner/test/fixtures/error-banner.js.map +1 -0
- package/lib/molecule/brand-form-group/test/fixtures/cm-default.js +56 -0
- package/lib/molecule/brand-form-group/test/fixtures/cm-default.js.map +1 -0
- package/lib/molecule/brand-form-group/test/fixtures/default.js +12 -3
- package/lib/molecule/brand-form-group/test/fixtures/default.js.map +1 -1
- package/lib/molecule/card/index.js +17 -5
- package/lib/molecule/card/index.js.map +1 -1
- package/lib/molecule/card/selectable.css +71 -0
- package/lib/molecule/card/selectable.js +45 -0
- package/lib/molecule/card/selectable.js.map +1 -0
- package/lib/molecule/card/test/fixtures/default.js +1 -0
- package/lib/molecule/card/test/fixtures/default.js.map +1 -1
- package/lib/molecule/card/test/fixtures/selectable-false.js +26 -0
- package/lib/molecule/card/test/fixtures/selectable-false.js.map +1 -0
- package/lib/molecule/card/test/fixtures/selectable-true.js +27 -0
- package/lib/molecule/card/test/fixtures/selectable-true.js.map +1 -0
- package/lib/molecule/card-content/index.js +14 -3
- package/lib/molecule/card-content/index.js.map +1 -1
- package/lib/molecule/card-content/style.css +13 -3
- package/lib/molecule/cm-popin/index.js +94 -0
- package/lib/molecule/cm-popin/index.js.map +1 -0
- package/lib/molecule/cm-popin/style.css +115 -0
- package/lib/molecule/cm-popin/test/fixtures/dangerous.js +24 -0
- package/lib/molecule/cm-popin/test/fixtures/dangerous.js.map +1 -0
- package/lib/molecule/cm-popin/test/fixtures/default.js +24 -0
- package/lib/molecule/cm-popin/test/fixtures/default.js.map +1 -0
- package/lib/molecule/cm-popin/test/fixtures/warning-with-close.js +25 -0
- package/lib/molecule/cm-popin/test/fixtures/warning-with-close.js.map +1 -0
- package/lib/molecule/cockpit-popin/test/fixtures.js +28 -0
- package/lib/molecule/cockpit-popin/test/fixtures.js.map +1 -0
- package/lib/molecule/feedback/test/fixtures.js +3 -0
- package/lib/molecule/feedback/test/fixtures.js.map +1 -1
- package/lib/molecule/search-form/index.js +3 -3
- package/lib/molecule/search-form/index.js.map +1 -1
- package/lib/molecule/select-multiple/index.js +117 -143
- package/lib/molecule/select-multiple/index.js.map +1 -1
- package/lib/molecule/select-multiple/test/index.js +25 -79
- package/lib/molecule/select-multiple/test/index.js.map +1 -1
- package/lib/molecule/wizard-summary/index.js +59 -23
- package/lib/molecule/wizard-summary/index.js.map +1 -1
- package/lib/molecule/wizard-summary/style.css +100 -20
- package/lib/molecule/wizard-summary/test/fixtures/default.js +11 -4
- package/lib/molecule/wizard-summary/test/fixtures/default.js.map +1 -1
- package/lib/molecule/wizard-summary/test/fixtures/one-section.js +2 -1
- package/lib/molecule/wizard-summary/test/fixtures/one-section.js.map +1 -1
- package/lib/molecule/wizard-summary/test/fixtures/tablet-closed.js +123 -0
- package/lib/molecule/wizard-summary/test/fixtures/tablet-closed.js.map +1 -0
- package/lib/molecule/wizard-summary/test/fixtures/three-sections.js +2 -1
- package/lib/molecule/wizard-summary/test/fixtures/three-sections.js.map +1 -1
- package/lib/molecule/wizard-summary/test/fixtures/two-sections.js +2 -1
- package/lib/molecule/wizard-summary/test/fixtures/two-sections.js.map +1 -1
- package/lib/organism/brand-table/index.js +3 -3
- package/lib/organism/brand-table/index.js.map +1 -1
- package/lib/organism/mooc-header/index.js +2 -2
- package/lib/organism/mooc-header/index.js.map +1 -1
- package/lib/organism/mooc-header/test/fixtures/default.js +1 -1
- package/lib/organism/mooc-header/test/fixtures/default.js.map +1 -1
- package/lib/organism/mooc-header/test/fixtures/logged-with-battle-notifications.js +1 -1
- package/lib/organism/mooc-header/test/fixtures/logged-with-battle-notifications.js.map +1 -1
- package/lib/organism/search-and-chips-results/index.js +104 -0
- package/lib/organism/search-and-chips-results/index.js.map +1 -0
- package/lib/organism/search-and-chips-results/style.css +57 -0
- package/lib/organism/search-and-chips-results/test/fixtures/default.js +51 -0
- package/lib/organism/search-and-chips-results/test/fixtures/default.js.map +1 -0
- package/lib/organism/search-and-chips-results/test/fixtures/empty.js +28 -0
- package/lib/organism/search-and-chips-results/test/fixtures/empty.js.map +1 -0
- package/lib/organism/search-and-chips-results/test/fixtures/filtered.js +31 -0
- package/lib/organism/search-and-chips-results/test/fixtures/filtered.js.map +1 -0
- package/lib/organism/search-and-chips-results/test/fixtures/sorted-selected.js +54 -0
- package/lib/organism/search-and-chips-results/test/fixtures/sorted-selected.js.map +1 -0
- package/lib/organism/search-and-chips-results/test/fixtures/unsorted-selected.js +54 -0
- package/lib/organism/search-and-chips-results/test/fixtures/unsorted-selected.js.map +1 -0
- package/lib/template/app-player/popin-end/test/fixtures.js +3 -0
- package/lib/template/app-player/popin-end/test/fixtures.js.map +1 -1
- package/lib/template/back-office/brand-list/index.js +7 -3
- package/lib/template/back-office/brand-list/index.js.map +1 -1
- package/lib/template/back-office/brand-list/style.css +1 -0
- package/lib/variables/colors.css +7 -3
- package/package.json +3 -3
- package/es/atom/chips/test/fixtures.js +0 -15
- package/es/atom/chips/test/fixtures.js.map +0 -1
- package/es/atom/content-badge/test/fixtures.js +0 -27
- package/es/atom/content-badge/test/fixtures.js.map +0 -1
- package/es/atom/wizard-steps/test/fixtures.js +0 -17
- package/es/atom/wizard-steps/test/fixtures.js.map +0 -1
- package/es/molecule/search/index.js +0 -57
- package/es/molecule/search/index.js.map +0 -1
- package/es/molecule/search/style.css +0 -86
- package/es/molecule/search/test/change.js.map +0 -1
- package/es/molecule/search/test/fixtures/default.js.map +0 -1
- package/es/molecule/search/test/fixtures/with-value.js.map +0 -1
- package/es/molecule/vertical-tabs/test/fixtures.js +0 -15
- package/es/molecule/vertical-tabs/test/fixtures.js.map +0 -1
- package/es/molecule/wizard-summary/test/fixtures.js +0 -19
- package/es/molecule/wizard-summary/test/fixtures.js.map +0 -1
- package/lib/atom/chips/test/fixtures.js +0 -25
- package/lib/atom/chips/test/fixtures.js.map +0 -1
- package/lib/atom/content-badge/test/fixtures.js +0 -43
- package/lib/atom/content-badge/test/fixtures.js.map +0 -1
- package/lib/atom/wizard-steps/test/fixtures.js +0 -28
- package/lib/atom/wizard-steps/test/fixtures.js.map +0 -1
- package/lib/molecule/search/index.js.map +0 -1
- package/lib/molecule/search/style.css +0 -86
- package/lib/molecule/search/test/change.js.map +0 -1
- package/lib/molecule/search/test/fixtures/default.js.map +0 -1
- package/lib/molecule/search/test/fixtures/with-value.js.map +0 -1
- package/lib/molecule/vertical-tabs/test/fixtures.js +0 -25
- package/lib/molecule/vertical-tabs/test/fixtures.js.map +0 -1
- package/lib/molecule/wizard-summary/test/fixtures.js +0 -31
- package/lib/molecule/wizard-summary/test/fixtures.js.map +0 -1
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
@value colors: "../../variables/colors.css";
|
|
2
|
+
@value dark from colors;
|
|
3
|
+
@value brand from colors;
|
|
4
|
+
@value light from colors;
|
|
5
|
+
@value black from colors;
|
|
6
|
+
@value cm_grey_800 from colors;
|
|
7
|
+
@value negative from colors;
|
|
8
|
+
@value lightGreen from colors;
|
|
9
|
+
@value cm_grey_50 from colors;
|
|
10
|
+
@value cm_negative_100 from colors;
|
|
11
|
+
@value cm_negative_200 from colors;
|
|
12
|
+
@value cm_primary_blue from colors;
|
|
13
|
+
@value cm_grey_100 from colors;
|
|
14
|
+
@value cm_grey_200 from colors;
|
|
15
|
+
@value cm_blue_600 from colors;
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
.background {
|
|
19
|
+
top: 0px;
|
|
20
|
+
width: 100%;
|
|
21
|
+
height: 100%;
|
|
22
|
+
margin: 0;
|
|
23
|
+
padding: 15% 25%;
|
|
24
|
+
background-color: rgba(0, 0, 0, 0.2);
|
|
25
|
+
align-items: center;
|
|
26
|
+
justify-content: center;
|
|
27
|
+
box-sizing: border-box;
|
|
28
|
+
overflow: hidden;
|
|
29
|
+
display: flex;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
.popin {
|
|
33
|
+
position: absolute;
|
|
34
|
+
overflow: auto;
|
|
35
|
+
width: 500px;
|
|
36
|
+
height: 414px;
|
|
37
|
+
flex-grow: 0;
|
|
38
|
+
margin: 16px;
|
|
39
|
+
padding: 16px 16px 20px 16px;
|
|
40
|
+
border-radius: 20px;
|
|
41
|
+
background-color: cm_grey_50;
|
|
42
|
+
display: flex;
|
|
43
|
+
flex-direction: column;
|
|
44
|
+
align-items: center;
|
|
45
|
+
justify-content: space-between;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
.contentSection {
|
|
49
|
+
display: flex;
|
|
50
|
+
flex-direction: column;
|
|
51
|
+
align-items: center;
|
|
52
|
+
justify-content: center;
|
|
53
|
+
width: 65%;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
.content {
|
|
57
|
+
font-family: Gilroy;
|
|
58
|
+
font-size: 20px;
|
|
59
|
+
font-weight: bold;
|
|
60
|
+
font-stretch: normal;
|
|
61
|
+
font-style: normal;
|
|
62
|
+
line-height: 1.4;
|
|
63
|
+
letter-spacing: normal;
|
|
64
|
+
text-align: center;
|
|
65
|
+
color: cm_grey_800;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
.buttonContainer {
|
|
69
|
+
width: 100%;
|
|
70
|
+
height: 80px;
|
|
71
|
+
display: flex;
|
|
72
|
+
align-items: center;
|
|
73
|
+
justify-content: center;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
.button {
|
|
77
|
+
width: 160px;
|
|
78
|
+
padding: 8px;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
.icon {
|
|
82
|
+
width: 60px;
|
|
83
|
+
height: 60px;
|
|
84
|
+
color: cm_grey_800;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
.headerCloseIconContainer {
|
|
88
|
+
width: 44px;
|
|
89
|
+
height: 44px;
|
|
90
|
+
display: flex;
|
|
91
|
+
flex-direction: row;
|
|
92
|
+
justify-content: center;
|
|
93
|
+
align-items: center;
|
|
94
|
+
margin-top: 16px;
|
|
95
|
+
margin-right: 16px;
|
|
96
|
+
border-radius: 7px;
|
|
97
|
+
cursor: pointer;
|
|
98
|
+
background-color: cm_grey_100;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
.headerCloseIconContainer:hover {
|
|
102
|
+
background-color: cm_grey_200;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
.headerCloseIcon {
|
|
106
|
+
width: 18px;
|
|
107
|
+
height: 18px;
|
|
108
|
+
color: cm_grey_800;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
.popinHeader {
|
|
112
|
+
width: 100%;
|
|
113
|
+
display: flex;
|
|
114
|
+
justify-content: flex-end;
|
|
115
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export default {
|
|
2
|
+
props: {
|
|
3
|
+
content: 'Are you sure to undo this changes? This will be permanent',
|
|
4
|
+
icon: 'AlertDiamond',
|
|
5
|
+
firstButton: {
|
|
6
|
+
label: 'Cancel',
|
|
7
|
+
type: 'secondary',
|
|
8
|
+
'aria-label': 'Cancel this operation',
|
|
9
|
+
handleOnClick: () => {}
|
|
10
|
+
},
|
|
11
|
+
secondButton: {
|
|
12
|
+
label: 'Undo',
|
|
13
|
+
type: 'dangerous',
|
|
14
|
+
'aria-label': 'Undo this operation',
|
|
15
|
+
handleOnClick: () => {}
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
//# sourceMappingURL=dangerous.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../src/molecule/cm-popin/test/fixtures/dangerous.js"],"names":["props","content","icon","firstButton","label","type","handleOnClick","secondButton"],"mappings":"AAAA,eAAe;AACbA,EAAAA,KAAK,EAAE;AACLC,IAAAA,OAAO,EAAE,2DADJ;AAELC,IAAAA,IAAI,EAAE,cAFD;AAGLC,IAAAA,WAAW,EAAE;AACXC,MAAAA,KAAK,EAAE,QADI;AAEXC,MAAAA,IAAI,EAAE,WAFK;AAGX,oBAAc,uBAHH;AAIXC,MAAAA,aAAa,EAAE,MAAM,CAAE;AAJZ,KAHR;AASLC,IAAAA,YAAY,EAAE;AACZH,MAAAA,KAAK,EAAE,MADK;AAEZC,MAAAA,IAAI,EAAE,WAFM;AAGZ,oBAAc,qBAHF;AAIZC,MAAAA,aAAa,EAAE,MAAM,CAAE;AAJX;AATT;AADM,CAAf","sourcesContent":["export default {\n props: {\n content: 'Are you sure to undo this changes? This will be permanent',\n icon: 'AlertDiamond',\n firstButton: {\n label: 'Cancel',\n type: 'secondary',\n 'aria-label': 'Cancel this operation',\n handleOnClick: () => {}\n },\n secondButton: {\n label: 'Undo',\n type: 'dangerous',\n 'aria-label': 'Undo this operation',\n handleOnClick: () => {}\n }\n }\n};\n"],"file":"dangerous.js"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export default {
|
|
2
|
+
props: {
|
|
3
|
+
content: 'Do you want to publish the custom playlist?',
|
|
4
|
+
icon: 'WindowUpload',
|
|
5
|
+
firstButton: {
|
|
6
|
+
label: 'Cancel',
|
|
7
|
+
type: 'secondary',
|
|
8
|
+
handleOnClick: () => {},
|
|
9
|
+
'aria-label': 'Cancel this operation'
|
|
10
|
+
},
|
|
11
|
+
secondButton: {
|
|
12
|
+
label: 'Undo',
|
|
13
|
+
type: 'primary',
|
|
14
|
+
handleOnClick: () => {},
|
|
15
|
+
'aria-label': 'Undo this operation'
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
//# sourceMappingURL=default.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../src/molecule/cm-popin/test/fixtures/default.js"],"names":["props","content","icon","firstButton","label","type","handleOnClick","secondButton"],"mappings":"AAAA,eAAe;AACbA,EAAAA,KAAK,EAAE;AACLC,IAAAA,OAAO,EAAE,6CADJ;AAELC,IAAAA,IAAI,EAAE,cAFD;AAGLC,IAAAA,WAAW,EAAE;AACXC,MAAAA,KAAK,EAAE,QADI;AAEXC,MAAAA,IAAI,EAAE,WAFK;AAGXC,MAAAA,aAAa,EAAE,MAAM,CAAE,CAHZ;AAIX,oBAAc;AAJH,KAHR;AASLC,IAAAA,YAAY,EAAE;AACZH,MAAAA,KAAK,EAAE,MADK;AAEZC,MAAAA,IAAI,EAAE,SAFM;AAGZC,MAAAA,aAAa,EAAE,MAAM,CAAE,CAHX;AAIZ,oBAAc;AAJF;AATT;AADM,CAAf","sourcesContent":["export default {\n props: {\n content: 'Do you want to publish the custom playlist?',\n icon: 'WindowUpload',\n firstButton: {\n label: 'Cancel',\n type: 'secondary',\n handleOnClick: () => {},\n 'aria-label': 'Cancel this operation'\n },\n secondButton: {\n label: 'Undo',\n type: 'primary',\n handleOnClick: () => {},\n 'aria-label': 'Undo this operation'\n }\n }\n};\n"],"file":"default.js"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export default {
|
|
2
|
+
props: {
|
|
3
|
+
content: 'Do you want to save changes before quiting?',
|
|
4
|
+
icon: 'AlertDiamond',
|
|
5
|
+
firstButton: {
|
|
6
|
+
label: 'Quit without saving',
|
|
7
|
+
type: 'secondary',
|
|
8
|
+
'aria-label': 'Quit this operation without saving',
|
|
9
|
+
handleOnClick: () => {}
|
|
10
|
+
},
|
|
11
|
+
secondButton: {
|
|
12
|
+
label: 'Save & Quit',
|
|
13
|
+
type: 'primary',
|
|
14
|
+
'aria-label': 'Save and quit',
|
|
15
|
+
handleOnClick: () => {}
|
|
16
|
+
},
|
|
17
|
+
onClose: () => console.log('onClose')
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
//# sourceMappingURL=warning-with-close.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../src/molecule/cm-popin/test/fixtures/warning-with-close.js"],"names":["props","content","icon","firstButton","label","type","handleOnClick","secondButton","onClose","console","log"],"mappings":"AAAA,eAAe;AACbA,EAAAA,KAAK,EAAE;AACLC,IAAAA,OAAO,EAAE,6CADJ;AAELC,IAAAA,IAAI,EAAE,cAFD;AAGLC,IAAAA,WAAW,EAAE;AACXC,MAAAA,KAAK,EAAE,qBADI;AAEXC,MAAAA,IAAI,EAAE,WAFK;AAGX,oBAAc,oCAHH;AAIXC,MAAAA,aAAa,EAAE,MAAM,CAAE;AAJZ,KAHR;AASLC,IAAAA,YAAY,EAAE;AACZH,MAAAA,KAAK,EAAE,aADK;AAEZC,MAAAA,IAAI,EAAE,SAFM;AAGZ,oBAAc,eAHF;AAIZC,MAAAA,aAAa,EAAE,MAAM,CAAE;AAJX,KATT;AAeLE,IAAAA,OAAO,EAAE,MAAMC,OAAO,CAACC,GAAR,CAAY,SAAZ;AAfV;AADM,CAAf","sourcesContent":["export default {\n props: {\n content: 'Do you want to save changes before quiting?',\n icon: 'AlertDiamond',\n firstButton: {\n label: 'Quit without saving',\n type: 'secondary',\n 'aria-label': 'Quit this operation without saving',\n handleOnClick: () => {}\n },\n secondButton: {\n label: 'Save & Quit',\n type: 'primary',\n 'aria-label': 'Save and quit',\n handleOnClick: () => {}\n },\n onClose: () => console.log('onClose')\n }\n};\n"],"file":"warning-with-close.js"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import test from 'ava';
|
|
2
|
+
import forEach from 'lodash/forEach';
|
|
3
|
+
import renderComponentMacro from '../../../test/helpers/render-component';
|
|
4
|
+
import MoleculeCockpitPopin from '..';
|
|
5
|
+
import fixtureDefault from './fixtures/default';
|
|
6
|
+
import fixtureLoading from './fixtures/loading';
|
|
7
|
+
import fixtureVideoTranslate from './fixtures/video-translate';
|
|
8
|
+
test('Molecule › MoleculeCockpitPopin > should have valid propTypes', t => {
|
|
9
|
+
t.pass();
|
|
10
|
+
forEach(MoleculeCockpitPopin.propTypes, (value, key) => {
|
|
11
|
+
t.not(value, undefined, `PropType for "Molecule.MoleculeCockpitPopin.propTypes.${key}" may not be undefined. Did you mistype the propTypes definition?`);
|
|
12
|
+
});
|
|
13
|
+
});
|
|
14
|
+
test('Molecule › MoleculeCockpitPopin › Default › should be rendered', renderComponentMacro, MoleculeCockpitPopin, fixtureDefault);
|
|
15
|
+
test('Molecule › MoleculeCockpitPopin › Loading › should be rendered', renderComponentMacro, MoleculeCockpitPopin, fixtureLoading);
|
|
16
|
+
test('Molecule › MoleculeCockpitPopin › VideoTranslate › should be rendered', renderComponentMacro, MoleculeCockpitPopin, fixtureVideoTranslate);
|
|
17
|
+
//# sourceMappingURL=fixtures.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/molecule/cockpit-popin/test/fixtures.js"],"names":["test","forEach","renderComponentMacro","MoleculeCockpitPopin","fixtureDefault","fixtureLoading","fixtureVideoTranslate","t","pass","propTypes","value","key","not","undefined"],"mappings":"AAAA,OAAOA,IAAP,MAAiB,KAAjB;AACA,OAAOC,OAAP,MAAoB,gBAApB;AACA,OAAOC,oBAAP,MAAiC,wCAAjC;AACA,OAAOC,oBAAP,MAAiC,IAAjC;AACA,OAAOC,cAAP,MAA2B,oBAA3B;AACA,OAAOC,cAAP,MAA2B,oBAA3B;AACA,OAAOC,qBAAP,MAAkC,4BAAlC;AAEAN,IAAI,CAAC,+DAAD,EAAkEO,CAAC,IAAI;AACzEA,EAAAA,CAAC,CAACC,IAAF;AACAP,EAAAA,OAAO,CAACE,oBAAoB,CAACM,SAAtB,EAAiC,CAACC,KAAD,EAAQC,GAAR,KAAgB;AACtDJ,IAAAA,CAAC,CAACK,GAAF,CAAMF,KAAN,EAAaG,SAAb,EAAyB,yDAAwDF,GAAI,mEAArF;AACD,GAFM,CAAP;AAGD,CALG,CAAJ;AAOAX,IAAI,CAAC,gEAAD,EAAmEE,oBAAnE,EAAyFC,oBAAzF,EAA+GC,cAA/G,CAAJ;AACAJ,IAAI,CAAC,gEAAD,EAAmEE,oBAAnE,EAAyFC,oBAAzF,EAA+GE,cAA/G,CAAJ;AACAL,IAAI,CAAC,uEAAD,EAA0EE,oBAA1E,EAAgGC,oBAAhG,EAAsHG,qBAAtH,CAAJ","sourcesContent":["import test from 'ava';\nimport forEach from 'lodash/forEach';\nimport renderComponentMacro from '../../../test/helpers/render-component';\nimport MoleculeCockpitPopin from '..';\nimport fixtureDefault from './fixtures/default';\nimport fixtureLoading from './fixtures/loading';\nimport fixtureVideoTranslate from './fixtures/video-translate';\n\ntest('Molecule › MoleculeCockpitPopin > should have valid propTypes', t => {\n t.pass();\n forEach(MoleculeCockpitPopin.propTypes, (value, key) => {\n t.not(value, undefined, `PropType for \"Molecule.MoleculeCockpitPopin.propTypes.${key}\" may not be undefined. Did you mistype the propTypes definition?`);\n });\n});\n\ntest('Molecule › MoleculeCockpitPopin › Default › should be rendered', renderComponentMacro, MoleculeCockpitPopin, fixtureDefault);\ntest('Molecule › MoleculeCockpitPopin › Loading › should be rendered', renderComponentMacro, MoleculeCockpitPopin, fixtureLoading);\ntest('Molecule › MoleculeCockpitPopin › VideoTranslate › should be rendered', renderComponentMacro, MoleculeCockpitPopin, fixtureVideoTranslate);\n"],"file":"fixtures.js"}
|
|
@@ -9,6 +9,7 @@ import fixtureSuccessExitNode from './fixtures/success-exit-node';
|
|
|
9
9
|
import fixtureSuccessWithTitleAndDescriptionAndAudio from './fixtures/success-with-title-and-description-and-audio';
|
|
10
10
|
import fixtureSuccessWithTitleAndDescriptionAndImage from './fixtures/success-with-title-and-description-and-image';
|
|
11
11
|
import fixtureSuccessWithTitleAndDescriptionAndPdf from './fixtures/success-with-title-and-description-and-pdf';
|
|
12
|
+
import fixtureSuccessWithTitleAndDescriptionAndVideo from './fixtures/success-with-title-and-description-and-video';
|
|
12
13
|
import fixtureSuccessWithTitleAndDescription from './fixtures/success-with-title-and-description';
|
|
13
14
|
test('Molecule › MoleculeFeedback > should have valid propTypes', t => {
|
|
14
15
|
t.pass();
|
|
@@ -23,5 +24,6 @@ test('Molecule › MoleculeFeedback › SuccessExitNode › should be rendered',
|
|
|
23
24
|
test('Molecule › MoleculeFeedback › SuccessWithTitleAndDescriptionAndAudio › should be rendered', renderComponentMacro, MoleculeFeedback, fixtureSuccessWithTitleAndDescriptionAndAudio);
|
|
24
25
|
test('Molecule › MoleculeFeedback › SuccessWithTitleAndDescriptionAndImage › should be rendered', renderComponentMacro, MoleculeFeedback, fixtureSuccessWithTitleAndDescriptionAndImage);
|
|
25
26
|
test('Molecule › MoleculeFeedback › SuccessWithTitleAndDescriptionAndPdf › should be rendered', renderComponentMacro, MoleculeFeedback, fixtureSuccessWithTitleAndDescriptionAndPdf);
|
|
27
|
+
test('Molecule › MoleculeFeedback › SuccessWithTitleAndDescriptionAndVideo › should be rendered', renderComponentMacro, MoleculeFeedback, fixtureSuccessWithTitleAndDescriptionAndVideo);
|
|
26
28
|
test('Molecule › MoleculeFeedback › SuccessWithTitleAndDescription › should be rendered', renderComponentMacro, MoleculeFeedback, fixtureSuccessWithTitleAndDescription);
|
|
27
29
|
//# sourceMappingURL=fixtures.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/molecule/feedback/test/fixtures.js"],"names":["test","forEach","renderComponentMacro","MoleculeFeedback","fixtureDefault","fixtureFailExitNode","fixtureFailureWithTitleAndDescriptionAndVideo","fixtureSuccessExitNode","fixtureSuccessWithTitleAndDescriptionAndAudio","fixtureSuccessWithTitleAndDescriptionAndImage","fixtureSuccessWithTitleAndDescriptionAndPdf","fixtureSuccessWithTitleAndDescription","t","pass","propTypes","value","key","not","undefined"],"mappings":"AAAA,OAAOA,IAAP,MAAiB,KAAjB;AACA,OAAOC,OAAP,MAAoB,gBAApB;AACA,OAAOC,oBAAP,MAAiC,wCAAjC;AACA,OAAOC,gBAAP,MAA6B,IAA7B;AACA,OAAOC,cAAP,MAA2B,oBAA3B;AACA,OAAOC,mBAAP,MAAgC,2BAAhC;AACA,OAAOC,6CAAP,MAA0D,yDAA1D;AACA,OAAOC,sBAAP,MAAmC,8BAAnC;AACA,OAAOC,6CAAP,MAA0D,yDAA1D;AACA,OAAOC,6CAAP,MAA0D,yDAA1D;AACA,OAAOC,2CAAP,MAAwD,uDAAxD;AACA,OAAOC,qCAAP,MAAkD,+CAAlD;
|
|
1
|
+
{"version":3,"sources":["../../../../src/molecule/feedback/test/fixtures.js"],"names":["test","forEach","renderComponentMacro","MoleculeFeedback","fixtureDefault","fixtureFailExitNode","fixtureFailureWithTitleAndDescriptionAndVideo","fixtureSuccessExitNode","fixtureSuccessWithTitleAndDescriptionAndAudio","fixtureSuccessWithTitleAndDescriptionAndImage","fixtureSuccessWithTitleAndDescriptionAndPdf","fixtureSuccessWithTitleAndDescriptionAndVideo","fixtureSuccessWithTitleAndDescription","t","pass","propTypes","value","key","not","undefined"],"mappings":"AAAA,OAAOA,IAAP,MAAiB,KAAjB;AACA,OAAOC,OAAP,MAAoB,gBAApB;AACA,OAAOC,oBAAP,MAAiC,wCAAjC;AACA,OAAOC,gBAAP,MAA6B,IAA7B;AACA,OAAOC,cAAP,MAA2B,oBAA3B;AACA,OAAOC,mBAAP,MAAgC,2BAAhC;AACA,OAAOC,6CAAP,MAA0D,yDAA1D;AACA,OAAOC,sBAAP,MAAmC,8BAAnC;AACA,OAAOC,6CAAP,MAA0D,yDAA1D;AACA,OAAOC,6CAAP,MAA0D,yDAA1D;AACA,OAAOC,2CAAP,MAAwD,uDAAxD;AACA,OAAOC,6CAAP,MAA0D,yDAA1D;AACA,OAAOC,qCAAP,MAAkD,+CAAlD;AAEAZ,IAAI,CAAC,2DAAD,EAA8Da,CAAC,IAAI;AACrEA,EAAAA,CAAC,CAACC,IAAF;AACAb,EAAAA,OAAO,CAACE,gBAAgB,CAACY,SAAlB,EAA6B,CAACC,KAAD,EAAQC,GAAR,KAAgB;AAClDJ,IAAAA,CAAC,CAACK,GAAF,CAAMF,KAAN,EAAaG,SAAb,EAAyB,qDAAoDF,GAAI,mEAAjF;AACD,GAFM,CAAP;AAGD,CALG,CAAJ;AAOAjB,IAAI,CAAC,4DAAD,EAA+DE,oBAA/D,EAAqFC,gBAArF,EAAuGC,cAAvG,CAAJ;AACAJ,IAAI,CAAC,iEAAD,EAAoEE,oBAApE,EAA0FC,gBAA1F,EAA4GE,mBAA5G,CAAJ;AACAL,IAAI,CAAC,2FAAD,EAA8FE,oBAA9F,EAAoHC,gBAApH,EAAsIG,6CAAtI,CAAJ;AACAN,IAAI,CAAC,oEAAD,EAAuEE,oBAAvE,EAA6FC,gBAA7F,EAA+GI,sBAA/G,CAAJ;AACAP,IAAI,CAAC,2FAAD,EAA8FE,oBAA9F,EAAoHC,gBAApH,EAAsIK,6CAAtI,CAAJ;AACAR,IAAI,CAAC,2FAAD,EAA8FE,oBAA9F,EAAoHC,gBAApH,EAAsIM,6CAAtI,CAAJ;AACAT,IAAI,CAAC,yFAAD,EAA4FE,oBAA5F,EAAkHC,gBAAlH,EAAoIO,2CAApI,CAAJ;AACAV,IAAI,CAAC,2FAAD,EAA8FE,oBAA9F,EAAoHC,gBAApH,EAAsIQ,6CAAtI,CAAJ;AACAX,IAAI,CAAC,mFAAD,EAAsFE,oBAAtF,EAA4GC,gBAA5G,EAA8HS,qCAA9H,CAAJ","sourcesContent":["import test from 'ava';\nimport forEach from 'lodash/forEach';\nimport renderComponentMacro from '../../../test/helpers/render-component';\nimport MoleculeFeedback from '..';\nimport fixtureDefault from './fixtures/default';\nimport fixtureFailExitNode from './fixtures/fail-exit-node';\nimport fixtureFailureWithTitleAndDescriptionAndVideo from './fixtures/failure-with-title-and-description-and-video';\nimport fixtureSuccessExitNode from './fixtures/success-exit-node';\nimport fixtureSuccessWithTitleAndDescriptionAndAudio from './fixtures/success-with-title-and-description-and-audio';\nimport fixtureSuccessWithTitleAndDescriptionAndImage from './fixtures/success-with-title-and-description-and-image';\nimport fixtureSuccessWithTitleAndDescriptionAndPdf from './fixtures/success-with-title-and-description-and-pdf';\nimport fixtureSuccessWithTitleAndDescriptionAndVideo from './fixtures/success-with-title-and-description-and-video';\nimport fixtureSuccessWithTitleAndDescription from './fixtures/success-with-title-and-description';\n\ntest('Molecule › MoleculeFeedback > should have valid propTypes', t => {\n t.pass();\n forEach(MoleculeFeedback.propTypes, (value, key) => {\n t.not(value, undefined, `PropType for \"Molecule.MoleculeFeedback.propTypes.${key}\" may not be undefined. Did you mistype the propTypes definition?`);\n });\n});\n\ntest('Molecule › MoleculeFeedback › Default › should be rendered', renderComponentMacro, MoleculeFeedback, fixtureDefault);\ntest('Molecule › MoleculeFeedback › FailExitNode › should be rendered', renderComponentMacro, MoleculeFeedback, fixtureFailExitNode);\ntest('Molecule › MoleculeFeedback › FailureWithTitleAndDescriptionAndVideo › should be rendered', renderComponentMacro, MoleculeFeedback, fixtureFailureWithTitleAndDescriptionAndVideo);\ntest('Molecule › MoleculeFeedback › SuccessExitNode › should be rendered', renderComponentMacro, MoleculeFeedback, fixtureSuccessExitNode);\ntest('Molecule › MoleculeFeedback › SuccessWithTitleAndDescriptionAndAudio › should be rendered', renderComponentMacro, MoleculeFeedback, fixtureSuccessWithTitleAndDescriptionAndAudio);\ntest('Molecule › MoleculeFeedback › SuccessWithTitleAndDescriptionAndImage › should be rendered', renderComponentMacro, MoleculeFeedback, fixtureSuccessWithTitleAndDescriptionAndImage);\ntest('Molecule › MoleculeFeedback › SuccessWithTitleAndDescriptionAndPdf › should be rendered', renderComponentMacro, MoleculeFeedback, fixtureSuccessWithTitleAndDescriptionAndPdf);\ntest('Molecule › MoleculeFeedback › SuccessWithTitleAndDescriptionAndVideo › should be rendered', renderComponentMacro, MoleculeFeedback, fixtureSuccessWithTitleAndDescriptionAndVideo);\ntest('Molecule › MoleculeFeedback › SuccessWithTitleAndDescription › should be rendered', renderComponentMacro, MoleculeFeedback, fixtureSuccessWithTitleAndDescription);\n"],"file":"fixtures.js"}
|
|
@@ -5,7 +5,7 @@ function _extends() { _extends = Object.assign || function (target) { for (var i
|
|
|
5
5
|
import React, { useMemo } from 'react';
|
|
6
6
|
import PropTypes from 'prop-types';
|
|
7
7
|
import { NovaCompositionNavigationMore as ClearIcon } from '@coorpacademy/nova-icons';
|
|
8
|
-
import Search from '
|
|
8
|
+
import Search from '../../atom/input-search';
|
|
9
9
|
import style from './style.css';
|
|
10
10
|
|
|
11
11
|
const SearchForm = (props, context) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/molecule/search-form/index.js"],"names":["React","useMemo","PropTypes","NovaCompositionNavigationMore","ClearIcon","Search","style","SearchForm","props","context","action","method","onSubmit","onReset","search","onSearchFocus","onSearchBlur","handleSubmit","evt","preventDefault","skin","dark","form","value","wrapperClear","wrapperNoClear","clear","propTypes","string","func","shape"],"mappings":";;;;AAAA,OAAOA,KAAP,IAAeC,OAAf,QAA6B,OAA7B;AACA,OAAOC,SAAP,MAAsB,YAAtB;AAEA,SAAQC,6BAA6B,IAAIC,SAAzC,QAAyD,0BAAzD;AACA,OAAOC,MAAP,MAAmB,
|
|
1
|
+
{"version":3,"sources":["../../../src/molecule/search-form/index.js"],"names":["React","useMemo","PropTypes","NovaCompositionNavigationMore","ClearIcon","Search","style","SearchForm","props","context","action","method","onSubmit","onReset","search","onSearchFocus","onSearchBlur","handleSubmit","evt","preventDefault","skin","dark","form","value","wrapperClear","wrapperNoClear","clear","propTypes","string","func","shape"],"mappings":";;;;AAAA,OAAOA,KAAP,IAAeC,OAAf,QAA6B,OAA7B;AACA,OAAOC,SAAP,MAAsB,YAAtB;AAEA,SAAQC,6BAA6B,IAAIC,SAAzC,QAAyD,0BAAzD;AACA,OAAOC,MAAP,MAAmB,yBAAnB;AACA,OAAOC,KAAP,MAAkB,aAAlB;;AAEA,MAAMC,UAAU,GAAG,CAACC,KAAD,EAAQC,OAAR,KAAoB;AACrC,QAAM;AAACC,IAAAA,MAAD;AAASC,IAAAA,MAAT;AAAiBC,IAAAA,QAAjB;AAA2BC,IAAAA,OAA3B;AAAoCC,IAAAA,MAApC;AAA4CC,IAAAA,aAA5C;AAA2DC,IAAAA;AAA3D,MAA2ER,KAAjF;AACA,QAAMS,YAAY,GAAGhB,OAAO,CAC1B,MAAMiB,GAAG,IAAI;AACXA,IAAAA,GAAG,CAACC,cAAJ;AACA,WAAOP,QAAQ,IAAIA,QAAQ,CAACM,GAAD,CAA3B;AACD,GAJyB,EAK1B,CAACN,QAAD,CAL0B,CAA5B;AAOA,QAAM;AAACQ,IAAAA;AAAD,MAASX,OAAf;;AACA,QAAMY,IAAI,GAAG,KAAI,aAAJ,EAAmBD,IAAnB,CAAb;;AAEA,sBACE;AACE,IAAA,SAAS,EAAEd,KAAK,CAACgB,IADnB;AAEE,IAAA,MAAM,EAAEZ,MAFV;AAGE,IAAA,MAAM,EAAEC,MAHV;AAIE,IAAA,QAAQ,EAAEM,YAJZ;AAKE,iBAAU;AALZ,kBAOE,oBAAC,MAAD,eAAYH,MAAZ;AAAoB,IAAA,OAAO,EAAEC,aAA7B;AAA4C,IAAA,MAAM,EAAEC;AAApD,KAPF,eAQE;AACE,iBAAU,mBADZ;AAEE,IAAA,OAAO,EAAEH,OAFX;AAGE,IAAA,SAAS,EAAEC,MAAM,CAACS,KAAP,GAAejB,KAAK,CAACkB,YAArB,GAAoClB,KAAK,CAACmB;AAHvD,kBAKE,oBAAC,SAAD;AAAW,IAAA,KAAK,EAAEJ,IAAlB;AAAwB,IAAA,SAAS,EAAEf,KAAK,CAACoB;AAAzC,IALF,CARF,CADF;AAkBD,CA9BD;;AAgCAnB,UAAU,CAACoB,SAAX,2CAAuB;AACrBjB,EAAAA,MAAM,EAAER,SAAS,CAAC0B,MADG;AAErBjB,EAAAA,MAAM,EAAET,SAAS,CAAC0B,MAFG;AAGrBhB,EAAAA,QAAQ,EAAEV,SAAS,CAAC2B,IAHC;AAIrBhB,EAAAA,OAAO,EAAEX,SAAS,CAAC2B,IAJE;AAKrBd,EAAAA,aAAa,EAAEb,SAAS,CAAC2B,IALJ;AAMrBb,EAAAA,YAAY,EAAEd,SAAS,CAAC2B,IANH;AAOrBf,EAAAA,MAAM,EAAEZ,SAAS,CAAC4B,KAAV,CAAgBzB,MAAM,CAACsB,SAAvB;AAPa,CAAvB;AAUA,eAAepB,UAAf","sourcesContent":["import React, {useMemo} from 'react';\nimport PropTypes from 'prop-types';\nimport {get} from 'lodash/fp';\nimport {NovaCompositionNavigationMore as ClearIcon} from '@coorpacademy/nova-icons';\nimport Search from '../../atom/input-search';\nimport style from './style.css';\n\nconst SearchForm = (props, context) => {\n const {action, method, onSubmit, onReset, search, onSearchFocus, onSearchBlur} = props;\n const handleSubmit = useMemo(\n () => evt => {\n evt.preventDefault();\n return onSubmit && onSubmit(evt);\n },\n [onSubmit]\n );\n const {skin} = context;\n const dark = get('common.dark', skin);\n\n return (\n <form\n className={style.form}\n action={action}\n method={method}\n onSubmit={handleSubmit}\n data-name=\"searchForm\"\n >\n <Search {...search} onFocus={onSearchFocus} onBlur={onSearchBlur} />\n <div\n data-name=\"search-form-reset\"\n onClick={onReset}\n className={search.value ? style.wrapperClear : style.wrapperNoClear}\n >\n <ClearIcon color={dark} className={style.clear} />\n </div>\n </form>\n );\n};\n\nSearchForm.propTypes = {\n action: PropTypes.string,\n method: PropTypes.string,\n onSubmit: PropTypes.func,\n onReset: PropTypes.func,\n onSearchFocus: PropTypes.func,\n onSearchBlur: PropTypes.func,\n search: PropTypes.shape(Search.propTypes)\n};\n\nexport default SearchForm;\n"],"file":"index.js"}
|
|
@@ -7,9 +7,7 @@ import _map from "lodash/fp/map";
|
|
|
7
7
|
|
|
8
8
|
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
9
9
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
import React from 'react';
|
|
10
|
+
import React, { useState, useEffect, useRef, useCallback } from 'react';
|
|
13
11
|
import PropTypes from 'prop-types';
|
|
14
12
|
import classnames from 'classnames';
|
|
15
13
|
import { NovaCompositionNavigationArrowDown as ArrowDown } from '@coorpacademy/nova-icons';
|
|
@@ -22,155 +20,124 @@ const themeStyle = {
|
|
|
22
20
|
cockpit: style.cockpit,
|
|
23
21
|
sidebar: style.sidebar
|
|
24
22
|
};
|
|
23
|
+
export const useChoices = options => {
|
|
24
|
+
const choicesRef = useRef(options);
|
|
25
25
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
_defineProperty(this, "handleOnClick", e => {
|
|
31
|
-
const {
|
|
32
|
-
opened
|
|
33
|
-
} = this.state;
|
|
34
|
-
e.preventDefault();
|
|
35
|
-
e.stopPropagation();
|
|
36
|
-
this.setState({
|
|
37
|
-
opened: !opened
|
|
38
|
-
});
|
|
39
|
-
});
|
|
40
|
-
|
|
41
|
-
_defineProperty(this, "closeHandle", e => {
|
|
42
|
-
if (this.node && !this.node.contains(e.target)) {
|
|
43
|
-
this.setState({
|
|
44
|
-
opened: false
|
|
45
|
-
});
|
|
46
|
-
}
|
|
47
|
-
});
|
|
48
|
-
|
|
49
|
-
_defineProperty(this, "handleChange", choice => {
|
|
50
|
-
const {
|
|
51
|
-
multiple,
|
|
52
|
-
onChange
|
|
53
|
-
} = this.props; // if multiple prop is turned on
|
|
54
|
-
// we return all selected choices
|
|
55
|
-
|
|
56
|
-
if (multiple) {
|
|
57
|
-
this.choices = choice;
|
|
58
|
-
return onChange(this.choices);
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
return onChange(choice);
|
|
62
|
-
});
|
|
63
|
-
|
|
64
|
-
this.state = {
|
|
65
|
-
opened: false
|
|
66
|
-
};
|
|
67
|
-
this.node = null;
|
|
26
|
+
const getChoices = () => {
|
|
27
|
+
return choicesRef.current;
|
|
28
|
+
};
|
|
68
29
|
|
|
69
|
-
|
|
70
|
-
|
|
30
|
+
const setChoices = choice => {
|
|
31
|
+
const choices = _set(`[${choice.i}].selected`, !choice.selected, getChoices());
|
|
71
32
|
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
document.addEventListener('click', this.closeHandle);
|
|
75
|
-
document.addEventListener('touchstart', this.closeHandle);
|
|
76
|
-
}
|
|
77
|
-
}
|
|
33
|
+
choicesRef.current = choices.filter(c => c.selected);
|
|
34
|
+
};
|
|
78
35
|
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
36
|
+
return [getChoices, setChoices];
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
const SelectMultiple = ({
|
|
40
|
+
title,
|
|
41
|
+
options,
|
|
42
|
+
theme,
|
|
43
|
+
placeholder,
|
|
44
|
+
description,
|
|
45
|
+
multiple,
|
|
46
|
+
onChange,
|
|
47
|
+
modified = false,
|
|
48
|
+
required = false,
|
|
49
|
+
error = false
|
|
50
|
+
}, {
|
|
51
|
+
skin
|
|
52
|
+
}) => {
|
|
53
|
+
const [isOpened, updateIsOpened] = useState(false);
|
|
54
|
+
const [getChoices, setChoices] = useChoices(options);
|
|
55
|
+
const nodeRef = useRef(null);
|
|
56
|
+
|
|
57
|
+
const defaultColor = _get('common.primary', skin);
|
|
58
|
+
|
|
59
|
+
const black = _get('common.black', skin);
|
|
60
|
+
|
|
61
|
+
const handleOnClick = useCallback(e => {
|
|
62
|
+
e.preventDefault();
|
|
63
|
+
e.stopPropagation();
|
|
64
|
+
updateIsOpened(prev => !prev);
|
|
65
|
+
}, []);
|
|
66
|
+
const closeHandle = useCallback(e => {
|
|
67
|
+
if (nodeRef && nodeRef.current && !nodeRef.current.contains(e.target)) {
|
|
68
|
+
updateIsOpened(false);
|
|
83
69
|
}
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
return
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
className: style.select,
|
|
152
|
-
title: selection || placeholder,
|
|
153
|
-
onClick: this.handleOnClick
|
|
154
|
-
}, selection || placeholder, /*#__PURE__*/React.createElement(ArrowDown, {
|
|
155
|
-
color: black,
|
|
156
|
-
className: classnames(style.arrow, {
|
|
157
|
-
[style.down]: isActive
|
|
158
|
-
})
|
|
159
|
-
})), /*#__PURE__*/React.createElement("div", {
|
|
160
|
-
className: isActive ? style.activeChoices : style.choices
|
|
161
|
-
}, /*#__PURE__*/React.createElement("ul", {
|
|
162
|
-
className: style.list
|
|
163
|
-
}, lines))), /*#__PURE__*/React.createElement("div", {
|
|
164
|
-
className: style.description
|
|
165
|
-
}, description));
|
|
166
|
-
}
|
|
167
|
-
|
|
168
|
-
}
|
|
169
|
-
|
|
170
|
-
_defineProperty(SelectMultiple, "contextTypes", {
|
|
171
|
-
skin: Provider.childContextTypes.skin
|
|
172
|
-
});
|
|
70
|
+
}, []);
|
|
71
|
+
const handleChange = useCallback(choice => {
|
|
72
|
+
// if multiple prop is turned on
|
|
73
|
+
// we return all selected choices
|
|
74
|
+
if (multiple) {
|
|
75
|
+
setChoices(choice);
|
|
76
|
+
return onChange(getChoices());
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
return onChange(choice);
|
|
80
|
+
}, [setChoices, multiple, onChange]);
|
|
81
|
+
useEffect(() => {
|
|
82
|
+
document.addEventListener('click', closeHandle);
|
|
83
|
+
document.addEventListener('touchstart', closeHandle);
|
|
84
|
+
return () => {
|
|
85
|
+
document.removeEventListener('click', closeHandle);
|
|
86
|
+
document.removeEventListener('touchstart', closeHandle);
|
|
87
|
+
};
|
|
88
|
+
}, [closeHandle]);
|
|
89
|
+
|
|
90
|
+
const lines = _map.convert({
|
|
91
|
+
cap: false
|
|
92
|
+
})((choice, i) => {
|
|
93
|
+
return /*#__PURE__*/React.createElement("li", {
|
|
94
|
+
key: i,
|
|
95
|
+
className: style.choice
|
|
96
|
+
}, /*#__PURE__*/React.createElement(TitledCheckbox, {
|
|
97
|
+
onToggle: handleChange,
|
|
98
|
+
choice: _extends(_extends({}, choice), {}, {
|
|
99
|
+
i
|
|
100
|
+
}),
|
|
101
|
+
background: defaultColor
|
|
102
|
+
}));
|
|
103
|
+
}, options);
|
|
104
|
+
|
|
105
|
+
const selection = _pipe(_filter({
|
|
106
|
+
selected: true
|
|
107
|
+
}), _map('name'), _join(', '))(options);
|
|
108
|
+
|
|
109
|
+
const _title = title && `${title}${required ? ' *' : ''}`;
|
|
110
|
+
|
|
111
|
+
const titleView = title ? /*#__PURE__*/React.createElement("span", {
|
|
112
|
+
className: style.title
|
|
113
|
+
}, _title, " ") : null;
|
|
114
|
+
const isActive = isOpened === true;
|
|
115
|
+
const mainClass = theme ? themeStyle[theme] : style.default;
|
|
116
|
+
const behaviourClassName = getClassState(style.default, style.modified, style.error, modified, error);
|
|
117
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
118
|
+
className: classnames(mainClass, behaviourClassName),
|
|
119
|
+
ref: nodeRef
|
|
120
|
+
}, /*#__PURE__*/React.createElement("label", null, titleView, /*#__PURE__*/React.createElement("div", {
|
|
121
|
+
className: style.select,
|
|
122
|
+
title: selection || placeholder,
|
|
123
|
+
onClick: handleOnClick
|
|
124
|
+
}, selection || placeholder, /*#__PURE__*/React.createElement(ArrowDown, {
|
|
125
|
+
color: black,
|
|
126
|
+
className: classnames(style.arrow, {
|
|
127
|
+
[style.down]: isActive
|
|
128
|
+
})
|
|
129
|
+
})), /*#__PURE__*/React.createElement("div", {
|
|
130
|
+
className: isActive ? style.activeChoices : style.choices
|
|
131
|
+
}, /*#__PURE__*/React.createElement("ul", {
|
|
132
|
+
className: style.list
|
|
133
|
+
}, lines))), /*#__PURE__*/React.createElement("div", {
|
|
134
|
+
className: style.description
|
|
135
|
+
}, description));
|
|
136
|
+
};
|
|
173
137
|
|
|
138
|
+
SelectMultiple.contextTypes = {
|
|
139
|
+
skin: Provider.childContextTypes.skin
|
|
140
|
+
};
|
|
174
141
|
SelectMultiple.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
175
142
|
title: PropTypes.string,
|
|
176
143
|
placeholder: PropTypes.string,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/molecule/select-multiple/index.js"],"names":["React","PropTypes","classnames","NovaCompositionNavigationArrowDown","ArrowDown","TitledCheckbox","Provider","getClassState","style","themeStyle","setup","cockpit","sidebar","SelectMultiple","Component","constructor","props","e","opened","state","preventDefault","stopPropagation","setState","node","contains","target","choice","multiple","onChange","choices","setNode","el","componentDidMount","document","addEventListener","closeHandle","componentWillUnmount","removeEventListener","i","selected","_choices","filter","c","render","skin","context","defaultColor","black","title","options","theme","placeholder","description","modified","required","error","lines","convert","cap","handleChange","selection","_title","titleView","isActive","mainClass","default","behaviourClassName","select","handleOnClick","arrow","down","activeChoices","list","childContextTypes","propTypes","string","arrayOf","func","bool"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {map, pipe, join, filter, get, set} from 'lodash/fp';\nimport {NovaCompositionNavigationArrowDown as ArrowDown} from '@coorpacademy/nova-icons';\nimport TitledCheckbox from '../titled-checkbox';\nimport Provider from '../../atom/provider';\nimport getClassState from '../../util/get-class-state';\nimport style from './style.css';\n\nconst themeStyle = {\n setup: style.setup,\n cockpit: style.cockpit,\n sidebar: style.sidebar\n};\n\nclass SelectMultiple extends React.Component {\n static propTypes = {\n title: PropTypes.string,\n placeholder: PropTypes.string,\n description: PropTypes.string,\n options: PropTypes.arrayOf(TitledCheckbox.propTypes.choice),\n onChange: PropTypes.func,\n multiple: PropTypes.bool,\n theme: PropTypes.string,\n modified: PropTypes.bool,\n required: PropTypes.bool,\n error: PropTypes.bool\n };\n\n static contextTypes = {\n skin: Provider.childContextTypes.skin\n };\n\n constructor(props) {\n super(props);\n this.state = {\n opened: false\n };\n\n this.node = null;\n this.setNode = el => (this.node = el);\n }\n\n componentDidMount() {\n if (typeof document !== 'undefined') {\n document.addEventListener('click', this.closeHandle);\n document.addEventListener('touchstart', this.closeHandle);\n }\n }\n\n componentWillUnmount() {\n if (typeof document !== 'undefined') {\n document.removeEventListener('click', this.closeHandle);\n document.removeEventListener('touchstart', this.closeHandle);\n }\n }\n\n handleOnClick = e => {\n const {opened} = this.state;\n e.preventDefault();\n e.stopPropagation();\n\n this.setState({opened: !opened});\n };\n\n closeHandle = e => {\n if (this.node && !this.node.contains(e.target)) {\n this.setState({opened: false});\n }\n };\n\n set choices(choice) {\n const choices = set(`[${choice.i}].selected`, !choice.selected, this._choices);\n\n this._choices = choices.filter(c => c.selected);\n }\n\n get choices() {\n return this._choices;\n }\n\n handleChange = choice => {\n const {multiple, onChange} = this.props;\n // if multiple prop is turned on\n // we return all selected choices\n if (multiple) {\n this.choices = choice;\n\n return onChange(this.choices);\n }\n\n return onChange(choice);\n };\n\n render() {\n const {skin} = this.context;\n const defaultColor = get('common.primary', skin);\n const black = get('common.black', skin);\n const {\n title,\n options,\n theme,\n placeholder,\n description,\n modified = false,\n required = false,\n error = false\n } = this.props;\n const {opened} = this.state;\n\n this._choices = options;\n\n const lines = map.convert({cap: false})((choice, i) => {\n return (\n <li key={i} className={style.choice}>\n <TitledCheckbox\n onToggle={this.handleChange}\n choice={{...choice, i}}\n background={defaultColor}\n />\n </li>\n );\n }, options);\n const selection = pipe(filter({selected: true}), map('name'), join(', '))(options);\n\n const _title = title && `${title}${required ? ' *' : ''}`;\n\n const titleView = title ? <span className={style.title}>{_title} </span> : null;\n const isActive = opened === true;\n const mainClass = theme ? themeStyle[theme] : style.default;\n const behaviourClassName = getClassState(\n style.default,\n style.modified,\n style.error,\n modified,\n error\n );\n\n return (\n <div className={classnames(mainClass, behaviourClassName)} ref={this.setNode}>\n <label>\n {titleView}\n <div\n className={style.select}\n title={selection || placeholder}\n onClick={this.handleOnClick}\n >\n {selection || placeholder}\n <ArrowDown\n color={black}\n className={classnames(style.arrow, {[style.down]: isActive})}\n />\n </div>\n <div className={isActive ? style.activeChoices : style.choices}>\n <ul className={style.list}>{lines}</ul>\n </div>\n </label>\n <div className={style.description}>{description}</div>\n </div>\n );\n }\n}\n\nexport default SelectMultiple;\n"],"file":"index.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/molecule/select-multiple/index.js"],"names":["React","useState","useEffect","useRef","useCallback","PropTypes","classnames","NovaCompositionNavigationArrowDown","ArrowDown","TitledCheckbox","Provider","getClassState","style","themeStyle","setup","cockpit","sidebar","useChoices","options","choicesRef","getChoices","current","setChoices","choice","choices","i","selected","filter","c","SelectMultiple","title","theme","placeholder","description","multiple","onChange","modified","required","error","skin","isOpened","updateIsOpened","nodeRef","defaultColor","black","handleOnClick","e","preventDefault","stopPropagation","prev","closeHandle","contains","target","handleChange","document","addEventListener","removeEventListener","lines","convert","cap","selection","_title","titleView","isActive","mainClass","default","behaviourClassName","select","arrow","down","activeChoices","list","contextTypes","childContextTypes","propTypes","string","arrayOf","func","bool"],"mappings":"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","sourcesContent":["import React, {useState, useEffect, useRef, useCallback} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {map, pipe, join, filter, get, set} from 'lodash/fp';\nimport {NovaCompositionNavigationArrowDown as ArrowDown} from '@coorpacademy/nova-icons';\nimport TitledCheckbox from '../titled-checkbox';\nimport Provider from '../../atom/provider';\nimport getClassState from '../../util/get-class-state';\nimport style from './style.css';\n\nconst themeStyle = {\n setup: style.setup,\n cockpit: style.cockpit,\n sidebar: style.sidebar\n};\n\nexport const useChoices = options => {\n const choicesRef = useRef(options);\n\n const getChoices = () => {\n return choicesRef.current;\n };\n\n const setChoices = choice => {\n const choices = set(`[${choice.i}].selected`, !choice.selected, getChoices());\n\n choicesRef.current = choices.filter(c => c.selected);\n };\n\n return [getChoices, setChoices];\n};\n\nconst SelectMultiple = (\n {\n title,\n options,\n theme,\n placeholder,\n description,\n multiple,\n onChange,\n modified = false,\n required = false,\n error = false\n },\n {skin}\n) => {\n const [isOpened, updateIsOpened] = useState(false);\n const [getChoices, setChoices] = useChoices(options);\n const nodeRef = useRef(null);\n\n const defaultColor = get('common.primary', skin);\n const black = get('common.black', skin);\n\n const handleOnClick = useCallback(e => {\n e.preventDefault();\n e.stopPropagation();\n\n updateIsOpened(prev => !prev);\n }, []);\n\n const closeHandle = useCallback(e => {\n if (nodeRef && nodeRef.current && !nodeRef.current.contains(e.target)) {\n updateIsOpened(false);\n }\n }, []);\n\n const handleChange = useCallback(\n choice => {\n // if multiple prop is turned on\n // we return all selected choices\n if (multiple) {\n setChoices(choice);\n\n return onChange(getChoices());\n }\n\n return onChange(choice);\n },\n [setChoices, multiple, onChange]\n );\n\n useEffect(() => {\n document.addEventListener('click', closeHandle);\n document.addEventListener('touchstart', closeHandle);\n\n return () => {\n document.removeEventListener('click', closeHandle);\n document.removeEventListener('touchstart', closeHandle);\n };\n }, [closeHandle]);\n\n const lines = map.convert({cap: false})((choice, i) => {\n return (\n <li key={i} className={style.choice}>\n <TitledCheckbox onToggle={handleChange} choice={{...choice, i}} background={defaultColor} />\n </li>\n );\n }, options);\n\n const selection = pipe(filter({selected: true}), map('name'), join(', '))(options);\n\n const _title = title && `${title}${required ? ' *' : ''}`;\n\n const titleView = title ? <span className={style.title}>{_title} </span> : null;\n const isActive = isOpened === true;\n const mainClass = theme ? themeStyle[theme] : style.default;\n const behaviourClassName = getClassState(\n style.default,\n style.modified,\n style.error,\n modified,\n error\n );\n\n return (\n <div className={classnames(mainClass, behaviourClassName)} ref={nodeRef}>\n <label>\n {titleView}\n <div className={style.select} title={selection || placeholder} onClick={handleOnClick}>\n {selection || placeholder}\n <ArrowDown color={black} className={classnames(style.arrow, {[style.down]: isActive})} />\n </div>\n <div className={isActive ? style.activeChoices : style.choices}>\n <ul className={style.list}>{lines}</ul>\n </div>\n </label>\n <div className={style.description}>{description}</div>\n </div>\n );\n};\n\nSelectMultiple.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nSelectMultiple.propTypes = {\n title: PropTypes.string,\n placeholder: PropTypes.string,\n description: PropTypes.string,\n options: PropTypes.arrayOf(TitledCheckbox.propTypes.choice),\n onChange: PropTypes.func,\n multiple: PropTypes.bool,\n theme: PropTypes.string,\n modified: PropTypes.bool,\n required: PropTypes.bool,\n error: PropTypes.bool\n};\n\nexport default SelectMultiple;\n"],"file":"index.js"}
|