@watermarkinsights/ripple 5.3.0-11 → 5.3.0-13
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/dist/cjs/{chartFunctions-86227b27.js → chartFunctions-0238043b.js} +3 -3
- package/dist/cjs/{functions-05e7ad5a.js → functions-3be85c6d.js} +7 -104
- package/dist/{esm/app-globals-60cf5693.js → cjs/global-042bb995.js} +2 -7
- package/dist/cjs/index-e86c28b6.js +2641 -0
- package/dist/cjs/{intl-2b550151.js → intl-567eb9d8.js} +1 -1
- package/dist/cjs/loader.cjs.js +3 -4
- package/dist/cjs/priv-calendar.cjs.entry.js +26 -27
- package/dist/cjs/priv-chart-popover.cjs.entry.js +17 -16
- package/dist/cjs/priv-navigator-button.cjs.entry.js +3 -4
- package/dist/cjs/priv-navigator-item.cjs.entry.js +3 -4
- package/dist/cjs/ripple.cjs.js +11 -12
- package/dist/cjs/wm-action-menu_2.cjs.entry.js +6 -8
- package/dist/cjs/wm-button.cjs.entry.js +4 -5
- package/dist/cjs/wm-chart-slice.cjs.entry.js +1 -1
- package/dist/cjs/wm-chart.cjs.entry.js +6 -7
- package/dist/cjs/wm-date-range.cjs.entry.js +9 -11
- package/dist/cjs/wm-datepicker.cjs.entry.js +7 -8
- package/dist/cjs/wm-file-list.cjs.entry.js +3 -4
- package/dist/cjs/wm-file.cjs.entry.js +4 -5
- package/dist/cjs/wm-input.cjs.entry.js +5 -6
- package/dist/cjs/wm-line-chart.cjs.entry.js +14 -15
- package/dist/cjs/wm-modal-footer.cjs.entry.js +3 -4
- package/dist/cjs/wm-modal-header.cjs.entry.js +5 -6
- package/dist/cjs/wm-modal.cjs.entry.js +5 -6
- package/dist/cjs/wm-navigation_3.cjs.entry.js +10 -13
- package/dist/cjs/wm-navigator.cjs.entry.js +3 -4
- package/dist/cjs/wm-option_2.cjs.entry.js +8 -10
- package/dist/cjs/wm-pagination.cjs.entry.js +4 -5
- package/dist/cjs/wm-progress-indicator_3.cjs.entry.js +7 -9
- package/dist/cjs/wm-search.cjs.entry.js +6 -7
- package/dist/cjs/wm-snackbar.cjs.entry.js +22 -23
- package/dist/cjs/wm-tab-item_3.cjs.entry.js +8 -11
- package/dist/cjs/wm-tag-input.cjs.entry.js +7 -8
- package/dist/cjs/wm-tag-option.cjs.entry.js +2 -2
- package/dist/cjs/wm-textarea.cjs.entry.js +5 -6
- package/dist/cjs/wm-timepicker.cjs.entry.js +5 -6
- package/dist/cjs/wm-toggletip.cjs.entry.js +5 -6
- package/dist/cjs/wm-uploader.cjs.entry.js +6 -7
- package/dist/cjs/wm-wrapper.cjs.entry.js +1 -1
- package/dist/collection/collection-manifest.json +2 -2
- package/dist/collection/components/charts/chartFunctions.js +1 -1
- package/dist/collection/components/charts/chartFunctions.spec.js +16 -0
- package/dist/collection/components/charts/priv-chart-popover/priv-chart-popover.e2e.js +81 -0
- package/dist/collection/components/charts/priv-chart-popover/priv-chart-popover.js +14 -12
- package/dist/collection/components/charts/screenshots.e2e.js +96 -0
- package/dist/collection/components/charts/wm-chart/wm-chart.e2e.js +213 -0
- package/dist/collection/components/charts/wm-chart/wm-chart.js +1 -1
- package/dist/collection/components/charts/wm-chart/wm-chart.spec.js +37 -0
- package/dist/collection/components/charts/wm-line-chart/wm-line-chart.e2e.js +176 -0
- package/dist/collection/components/charts/wm-line-chart/wm-line-chart.js +9 -9
- package/dist/collection/components/charts/wm-line-chart/wm-line-chart.spec.js +163 -0
- package/dist/collection/components/charts/wm-progress-monitor/wm-progress-indicator.js +1 -1
- package/dist/collection/components/charts/wm-progress-monitor/wm-progress-monitor.e2e.js +69 -0
- package/dist/collection/components/charts/wm-progress-monitor/wm-progress-monitor.js +1 -1
- package/dist/collection/components/charts/wm-progress-monitor/wm-progress-monitor.spec.js +79 -0
- package/dist/collection/components/datepickers/priv-calendar/priv-calendar.css +23 -17
- package/dist/collection/components/datepickers/priv-calendar/priv-calendar.js +22 -22
- package/dist/collection/components/datepickers/priv-calendar/priv-calendar.spec.js +89 -0
- package/dist/collection/components/datepickers/wm-date-range.e2e.js +443 -0
- package/dist/collection/components/datepickers/wm-date-range.js +14 -19
- package/dist/collection/components/datepickers/wm-date-range.spec.js +22 -0
- package/dist/collection/components/datepickers/wm-datepicker.e2e.js +382 -0
- package/dist/collection/components/datepickers/wm-datepicker.js +12 -16
- package/dist/collection/components/datepickers/wm-datepicker.spec.js +21 -0
- package/dist/collection/components/wm-action-menu/wm-action-menu.e2e.js +200 -0
- package/dist/collection/components/wm-action-menu/wm-action-menu.js +1 -1
- package/dist/collection/components/wm-action-menu/wm-action-menu.spec.js +48 -0
- package/dist/collection/components/wm-button/wm-button.e2e.js +55 -0
- package/dist/collection/components/wm-button/wm-button.js +1 -1
- package/dist/collection/components/wm-button/wm-button.spec.js +74 -0
- package/dist/collection/components/wm-file/wm-file.js +1 -1
- package/dist/collection/components/wm-file/wm-file.spec.js +194 -0
- package/dist/collection/components/wm-file-list/wm-file-list.js +1 -1
- package/dist/collection/components/wm-file-list/wm-file-list.spec.js +69 -0
- package/dist/collection/components/wm-input/wm-input.e2e.js +32 -0
- package/dist/collection/components/wm-input/wm-input.js +1 -1
- package/dist/collection/components/wm-input/wm-input.spec.js +173 -0
- package/dist/collection/components/wm-menuitem/wm-menuitem.e2e.js +23 -0
- package/dist/collection/components/wm-menuitem/wm-menuitem.js +1 -1
- package/dist/collection/components/wm-menuitem/wm-menuitem.spec.js +54 -0
- package/dist/collection/components/wm-modal/wm-modal-footer.js +1 -1
- package/dist/collection/components/wm-modal/wm-modal-footer.spec.js +11 -0
- package/dist/collection/components/wm-modal/wm-modal-header.js +1 -1
- package/dist/collection/components/wm-modal/wm-modal-header.spec.js +8 -0
- package/dist/collection/components/wm-modal/wm-modal.e2e.js +104 -0
- package/dist/collection/components/wm-modal/wm-modal.js +2 -2
- package/dist/collection/components/wm-modal/wm-modal.spec.js +30 -0
- package/dist/collection/components/wm-navigation/wm-navigation-hamburger.js +1 -1
- package/dist/collection/components/wm-navigation/wm-navigation-item.js +1 -1
- package/dist/collection/components/wm-navigation/wm-navigation.e2e.js +102 -0
- package/dist/collection/components/wm-navigation/wm-navigation.js +2 -2
- package/dist/collection/components/wm-navigation/wm-navigation.spec.js +91 -0
- package/dist/collection/components/wm-navigator/priv-navigator-button/priv-navigator-button.e2e.js +50 -0
- package/dist/collection/components/wm-navigator/priv-navigator-button/priv-navigator-button.js +1 -1
- package/dist/collection/components/wm-navigator/priv-navigator-item/priv-navigator-item.js +1 -1
- package/dist/collection/components/wm-navigator/wm-navigator.e2e.js +209 -0
- package/dist/collection/components/wm-navigator/wm-navigator.spec.js +177 -0
- package/dist/collection/components/wm-option/wm-option.e2e.js +22 -0
- package/dist/collection/components/wm-option/wm-option.js +1 -1
- package/dist/collection/components/wm-option/wm-option.spec.js +63 -0
- package/dist/collection/components/wm-pagination/wm-pagination.e2e.js +312 -0
- package/dist/collection/components/wm-pagination/wm-pagination.js +1 -1
- package/dist/collection/components/wm-search/wm-search.e2e.js +76 -0
- package/dist/collection/components/wm-search/wm-search.js +4 -5
- package/dist/collection/components/wm-search/wm-search.spec.js +71 -0
- package/dist/collection/components/wm-select/wm-select.e2e.js +521 -0
- package/dist/collection/components/wm-select/wm-select.js +2 -2
- package/dist/collection/components/wm-select/wm-select.spec.js +271 -0
- package/dist/collection/components/wm-snackbar/wm-snackbar.css +17 -17
- package/dist/collection/components/wm-snackbar/wm-snackbar.e2e.js +112 -0
- package/dist/collection/components/wm-snackbar/wm-snackbar.js +17 -17
- package/dist/collection/components/wm-snackbar/wm-snackbar.spec.js +9 -0
- package/dist/collection/components/wm-tabs/wm-tab-item/wm-tab-item.js +1 -1
- package/dist/collection/components/wm-tabs/wm-tab-list/wm-tab-list.js +1 -1
- package/dist/collection/components/wm-tabs/wm-tab-panel/wm-tab-panel.js +1 -1
- package/dist/collection/components/wm-tabs/wm-tabs.e2e.js +91 -0
- package/dist/collection/components/wm-tabs/wm-tabs.spec.js +12 -0
- package/dist/collection/components/wm-tag-input/wm-tag-input.e2e.js +204 -0
- package/dist/collection/components/wm-tag-input/wm-tag-input.js +3 -3
- package/dist/collection/components/wm-tag-input/wm-tag-input.spec.js +195 -0
- package/dist/collection/components/wm-textarea/wm-textarea.e2e.js +41 -0
- package/dist/collection/components/wm-textarea/wm-textarea.js +1 -1
- package/dist/collection/components/wm-textarea/wm-textarea.spec.js +79 -0
- package/dist/collection/components/wm-timepicker/wm-timepicker.e2e.js +163 -0
- package/dist/collection/components/wm-timepicker/wm-timepicker.js +8 -11
- package/dist/collection/components/wm-timepicker/wm-timepicker.spec.js +147 -0
- package/dist/collection/components/wm-toggletip/wm-toggletip.e2e.js +69 -0
- package/dist/collection/components/wm-toggletip/wm-toggletip.js +2 -2
- package/dist/collection/components/wm-toggletip/wm-toggletip.spec.js +21 -0
- package/dist/collection/components/wm-uploader/wm-uploader.e2e.js +70 -0
- package/dist/collection/components/wm-uploader/wm-uploader.js +2 -2
- package/dist/collection/components/wm-uploader/wm-uploader.spec.js +234 -0
- package/dist/collection/global/functions.spec.js +126 -0
- package/dist/collection/lang/lang.spec.js +20 -0
- package/dist/esm/{chartFunctions-da985798.js → chartFunctions-036fdb89.js} +3 -3
- package/dist/esm/{functions-25781571.js → functions-46843ea0.js} +8 -105
- package/dist/{cjs/app-globals-c8de33b7.js → esm/global-570a3fbb.js} +1 -10
- package/dist/esm/index-558b5a82.js +2610 -0
- package/dist/esm/{intl-df3d34d1.js → intl-8b8740b9.js} +1 -1
- package/dist/esm/loader.js +4 -5
- package/dist/esm/polyfills/core-js.js +0 -0
- package/dist/esm/polyfills/dom.js +0 -0
- package/dist/esm/polyfills/es5-html-element.js +0 -0
- package/dist/esm/polyfills/index.js +0 -0
- package/dist/esm/polyfills/system.js +0 -0
- package/dist/esm/priv-calendar.entry.js +26 -27
- package/dist/esm/priv-chart-popover.entry.js +17 -16
- package/dist/esm/priv-navigator-button.entry.js +3 -4
- package/dist/esm/priv-navigator-item.entry.js +3 -4
- package/dist/esm/ripple.js +12 -13
- package/dist/esm/wm-action-menu_2.entry.js +6 -8
- package/dist/esm/wm-button.entry.js +4 -5
- package/dist/esm/wm-chart-slice.entry.js +1 -1
- package/dist/esm/wm-chart.entry.js +6 -7
- package/dist/esm/wm-date-range.entry.js +9 -11
- package/dist/esm/wm-datepicker.entry.js +7 -8
- package/dist/esm/wm-file-list.entry.js +3 -4
- package/dist/esm/wm-file.entry.js +4 -5
- package/dist/esm/wm-input.entry.js +5 -6
- package/dist/esm/wm-line-chart.entry.js +14 -15
- package/dist/esm/wm-modal-footer.entry.js +3 -4
- package/dist/esm/wm-modal-header.entry.js +5 -6
- package/dist/esm/wm-modal.entry.js +5 -6
- package/dist/esm/wm-navigation_3.entry.js +10 -13
- package/dist/esm/wm-navigator.entry.js +3 -4
- package/dist/esm/wm-option_2.entry.js +8 -10
- package/dist/esm/wm-pagination.entry.js +4 -5
- package/dist/esm/wm-progress-indicator_3.entry.js +7 -9
- package/dist/esm/wm-search.entry.js +6 -7
- package/dist/esm/wm-snackbar.entry.js +22 -23
- package/dist/esm/wm-tab-item_3.entry.js +8 -11
- package/dist/esm/wm-tag-input.entry.js +7 -8
- package/dist/esm/wm-tag-option.entry.js +2 -2
- package/dist/esm/wm-textarea.entry.js +5 -6
- package/dist/esm/wm-timepicker.entry.js +5 -6
- package/dist/esm/wm-toggletip.entry.js +5 -6
- package/dist/esm/wm-uploader.entry.js +6 -7
- package/dist/esm/wm-wrapper.entry.js +1 -1
- package/dist/esm-es5/{chartFunctions-da985798.js → chartFunctions-036fdb89.js} +1 -1
- package/dist/esm-es5/functions-46843ea0.js +1 -0
- package/dist/esm-es5/global-570a3fbb.js +1 -0
- package/dist/esm-es5/index-558b5a82.js +1 -0
- package/dist/esm-es5/{intl-df3d34d1.js → intl-8b8740b9.js} +1 -1
- package/dist/esm-es5/loader.js +1 -1
- package/dist/esm-es5/priv-calendar.entry.js +1 -1
- package/dist/esm-es5/priv-chart-popover.entry.js +1 -1
- package/dist/esm-es5/priv-navigator-button.entry.js +1 -1
- package/dist/esm-es5/priv-navigator-item.entry.js +1 -1
- package/dist/esm-es5/ripple.js +1 -1
- package/dist/esm-es5/wm-action-menu_2.entry.js +1 -1
- package/dist/esm-es5/wm-button.entry.js +1 -1
- package/dist/esm-es5/wm-chart-slice.entry.js +1 -1
- package/dist/esm-es5/wm-chart.entry.js +1 -1
- package/dist/esm-es5/wm-date-range.entry.js +1 -1
- package/dist/esm-es5/wm-datepicker.entry.js +1 -1
- package/dist/esm-es5/wm-file-list.entry.js +1 -1
- package/dist/esm-es5/wm-file.entry.js +1 -1
- package/dist/esm-es5/wm-input.entry.js +1 -1
- package/dist/esm-es5/wm-line-chart.entry.js +1 -1
- package/dist/esm-es5/wm-modal-footer.entry.js +1 -1
- package/dist/esm-es5/wm-modal-header.entry.js +1 -1
- package/dist/esm-es5/wm-modal.entry.js +1 -1
- package/dist/esm-es5/wm-navigation_3.entry.js +1 -1
- package/dist/esm-es5/wm-navigator.entry.js +1 -1
- package/dist/esm-es5/wm-option_2.entry.js +1 -1
- package/dist/esm-es5/wm-pagination.entry.js +1 -1
- package/dist/esm-es5/wm-progress-indicator_3.entry.js +1 -1
- package/dist/esm-es5/wm-search.entry.js +1 -1
- package/dist/esm-es5/wm-snackbar.entry.js +1 -1
- package/dist/esm-es5/wm-tab-item_3.entry.js +1 -1
- package/dist/esm-es5/wm-tag-input.entry.js +1 -1
- package/dist/esm-es5/wm-tag-option.entry.js +1 -1
- package/dist/esm-es5/wm-textarea.entry.js +1 -1
- package/dist/esm-es5/wm-timepicker.entry.js +1 -1
- package/dist/esm-es5/wm-toggletip.entry.js +1 -1
- package/dist/esm-es5/wm-uploader.entry.js +1 -1
- package/dist/esm-es5/wm-wrapper.entry.js +1 -1
- package/dist/loader/cdn.js +2 -1
- package/dist/loader/index.cjs.js +2 -1
- package/dist/loader/index.d.ts +0 -3
- package/dist/loader/index.es2017.js +2 -1
- package/dist/loader/index.js +2 -1
- package/dist/ripple/p-09a31f0c.entry.js +1 -0
- package/dist/ripple/p-09dd7f17.system.entry.js +1 -0
- package/dist/ripple/p-0dc51fad.entry.js +1 -0
- package/dist/ripple/p-0ea8609b.system.entry.js +1 -0
- package/dist/ripple/{p-a9d89ac8.system.js → p-1ac66a15.system.js} +1 -1
- package/dist/ripple/p-240124b0.system.entry.js +1 -0
- package/dist/ripple/p-26fbc7f5.system.entry.js +1 -0
- package/dist/ripple/p-294b38ca.system.entry.js +1 -0
- package/dist/ripple/p-2b05bf05.entry.js +1 -0
- package/dist/ripple/{p-72bdebb5.system.entry.js → p-2ba7e68e.system.entry.js} +1 -1
- package/dist/ripple/p-311923b2.system.entry.js +1 -0
- package/dist/ripple/p-3183bba8.entry.js +1 -0
- package/dist/ripple/p-31976813.entry.js +1 -0
- package/dist/ripple/{p-823d7b4e.system.entry.js → p-32bf3f5b.system.entry.js} +1 -1
- package/dist/ripple/p-33679b9d.entry.js +1 -0
- package/dist/ripple/p-34b5830f.system.js +1 -0
- package/dist/ripple/p-3568472c.entry.js +1 -0
- package/dist/ripple/p-359d45dc.entry.js +1 -0
- package/dist/ripple/{p-67a7f0b0.entry.js → p-3a44e1c8.entry.js} +1 -1
- package/dist/ripple/{p-672ae2cb.entry.js → p-42d1c301.entry.js} +1 -1
- package/dist/ripple/{p-041e579b.entry.js → p-45abd8fe.entry.js} +1 -1
- package/dist/ripple/{p-13b1d775.entry.js → p-48e09589.entry.js} +1 -1
- package/dist/ripple/p-4e56f3f5.system.entry.js +1 -0
- package/dist/ripple/{p-9f06ed3b.system.entry.js → p-5029fcd8.system.entry.js} +1 -1
- package/dist/ripple/p-568c595f.js +2 -0
- package/dist/ripple/p-591918a4.entry.js +1 -0
- package/dist/ripple/p-5ea5c0e6.system.entry.js +1 -0
- package/dist/ripple/p-5ef5081f.entry.js +1 -0
- package/dist/ripple/{p-bee8ab6e.entry.js → p-624a2812.entry.js} +1 -1
- package/dist/ripple/p-62a8f09c.entry.js +1 -0
- package/dist/ripple/{p-043901ab.system.entry.js → p-65d26233.system.entry.js} +1 -1
- package/dist/ripple/p-75ba63ba.entry.js +1 -0
- package/dist/ripple/{p-ac40417b.system.entry.js → p-79106e23.system.entry.js} +1 -1
- package/dist/ripple/p-7e6f5a1e.system.entry.js +1 -0
- package/dist/ripple/p-8029af07.system.entry.js +1 -0
- package/dist/ripple/{p-8e72de50.entry.js → p-8159cdf5.entry.js} +1 -1
- package/dist/ripple/p-822618d7.entry.js +1 -0
- package/dist/ripple/p-86d655fb.system.entry.js +1 -0
- package/dist/ripple/p-884294c6.entry.js +1 -0
- package/dist/ripple/{p-cd0cc88d.entry.js → p-88ebddd7.entry.js} +1 -1
- package/dist/ripple/p-8fbddb6c.system.entry.js +1 -0
- package/dist/ripple/p-902a54c5.entry.js +1 -0
- package/dist/ripple/p-905dd4da.system.entry.js +1 -0
- package/dist/ripple/{p-aab56a37.system.entry.js → p-a152cf3a.system.entry.js} +1 -1
- package/dist/ripple/{p-468a0218.entry.js → p-a37cf34a.entry.js} +1 -1
- package/dist/ripple/p-a8524a48.entry.js +1 -0
- package/dist/ripple/p-ab8d78cc.system.js +2 -0
- package/dist/ripple/{p-6fe35d1e.system.entry.js → p-b7ead395.system.entry.js} +1 -1
- package/dist/ripple/p-bc5e9d24.entry.js +1 -0
- package/dist/ripple/p-c4b9d46d.entry.js +1 -0
- package/dist/ripple/p-c885c7f9.entry.js +1 -0
- package/dist/ripple/p-c91b10f3.system.entry.js +1 -0
- package/dist/ripple/p-c9543950.system.entry.js +1 -0
- package/dist/ripple/p-cacfbaf1.system.entry.js +1 -0
- package/dist/ripple/{p-2e3728f1.entry.js → p-cc4a429b.entry.js} +1 -1
- package/dist/ripple/p-ce9a8bd1.entry.js +1 -0
- package/dist/ripple/p-d24882a7.system.entry.js +1 -0
- package/dist/ripple/p-d33d6e96.system.entry.js +1 -0
- package/dist/ripple/{p-777b8ebc.system.js → p-d4b209ec.system.js} +1 -1
- package/dist/ripple/p-d6ce9a49.system.js +1 -0
- package/dist/ripple/{p-f54e9ed0.js → p-d79fdf0b.js} +1 -1
- package/dist/ripple/{p-fcf76854.js → p-d837c1f5.js} +1 -1
- package/dist/ripple/{p-d93c51dd.system.entry.js → p-df1a11f1.system.entry.js} +1 -1
- package/dist/ripple/p-df2560f3.system.entry.js +1 -0
- package/dist/ripple/p-dfa61ff5.entry.js +1 -0
- package/dist/ripple/p-e3bcdde8.system.entry.js +1 -0
- package/dist/ripple/p-e7a64841.system.entry.js +1 -0
- package/dist/ripple/p-e83a98d3.entry.js +1 -0
- package/dist/ripple/p-e995f7f0.js +1 -0
- package/dist/ripple/p-e9b9c587.js +1 -0
- package/dist/ripple/p-eaac6bcd.entry.js +1 -0
- package/dist/ripple/p-f42c3b8c.system.js +1 -0
- package/dist/ripple/p-f67fd802.system.entry.js +1 -0
- package/dist/ripple/p-fe8d02c3.system.entry.js +1 -0
- package/dist/ripple/{p-b0c566b5.system.entry.js → p-ffb31979.system.entry.js} +1 -1
- package/dist/ripple/ripple.esm.js +1 -1
- package/dist/ripple/ripple.js +1 -1
- package/dist/types/components/charts/priv-chart-popover/priv-chart-popover.d.ts +1 -2
- package/dist/types/components/wm-snackbar/wm-snackbar.d.ts +2 -2
- package/dist/types/stencil-public-runtime.d.ts +10 -3
- package/package.json +1 -1
- package/dist/cjs/index-788526f5.js +0 -1851
- package/dist/esm/index-130e07bb.js +0 -1820
- package/dist/esm-es5/app-globals-60cf5693.js +0 -1
- package/dist/esm-es5/functions-25781571.js +0 -1
- package/dist/esm-es5/index-130e07bb.js +0 -1
- package/dist/ripple/p-0abc9300.entry.js +0 -1
- package/dist/ripple/p-0af94825.entry.js +0 -1
- package/dist/ripple/p-0ff41567.system.entry.js +0 -1
- package/dist/ripple/p-13fc2164.entry.js +0 -1
- package/dist/ripple/p-155224a2.system.entry.js +0 -1
- package/dist/ripple/p-1f09134c.entry.js +0 -1
- package/dist/ripple/p-298c2675.entry.js +0 -1
- package/dist/ripple/p-31781d88.system.entry.js +0 -1
- package/dist/ripple/p-31d7ecf9.system.entry.js +0 -1
- package/dist/ripple/p-341ebafa.entry.js +0 -1
- package/dist/ripple/p-35f209d9.system.entry.js +0 -1
- package/dist/ripple/p-376efca9.entry.js +0 -1
- package/dist/ripple/p-3b5f4364.system.entry.js +0 -1
- package/dist/ripple/p-3ecaf698.system.js +0 -1
- package/dist/ripple/p-418ed08c.system.entry.js +0 -1
- package/dist/ripple/p-4539ec98.js +0 -1
- package/dist/ripple/p-4670ccb4.system.js +0 -1
- package/dist/ripple/p-488e1690.entry.js +0 -1
- package/dist/ripple/p-4978eebe.entry.js +0 -1
- package/dist/ripple/p-4b7a444c.system.entry.js +0 -1
- package/dist/ripple/p-4baaf026.entry.js +0 -1
- package/dist/ripple/p-56766bb2.entry.js +0 -1
- package/dist/ripple/p-5c54b549.system.js +0 -1
- package/dist/ripple/p-5caaf651.system.entry.js +0 -1
- package/dist/ripple/p-5d5f6511.entry.js +0 -1
- package/dist/ripple/p-5ece78e5.system.entry.js +0 -1
- package/dist/ripple/p-691ecf14.entry.js +0 -1
- package/dist/ripple/p-6d0e5159.system.entry.js +0 -1
- package/dist/ripple/p-6d56676e.system.entry.js +0 -1
- package/dist/ripple/p-71a18f64.entry.js +0 -1
- package/dist/ripple/p-799d06ad.system.entry.js +0 -1
- package/dist/ripple/p-7eab6bea.system.entry.js +0 -1
- package/dist/ripple/p-7fb95b89.entry.js +0 -1
- package/dist/ripple/p-85cbeb7d.system.entry.js +0 -1
- package/dist/ripple/p-88cfd58d.js +0 -1
- package/dist/ripple/p-8d075bcf.system.entry.js +0 -1
- package/dist/ripple/p-a2b807ba.system.entry.js +0 -1
- package/dist/ripple/p-a62e7532.entry.js +0 -1
- package/dist/ripple/p-b7307be6.system.entry.js +0 -1
- package/dist/ripple/p-baa713f1.system.entry.js +0 -1
- package/dist/ripple/p-c2181de0.entry.js +0 -1
- package/dist/ripple/p-ca76dc92.entry.js +0 -1
- package/dist/ripple/p-cef8a45b.system.js +0 -2
- package/dist/ripple/p-d5ba9de1.system.entry.js +0 -1
- package/dist/ripple/p-d9da0502.js +0 -2
- package/dist/ripple/p-db10990a.entry.js +0 -1
- package/dist/ripple/p-e2fe86a7.system.entry.js +0 -1
- package/dist/ripple/p-e85b1f40.entry.js +0 -1
- package/dist/ripple/p-ea0dfadf.system.entry.js +0 -1
- package/dist/ripple/p-eb14b354.entry.js +0 -1
- package/dist/ripple/p-f17fd62b.entry.js +0 -1
- package/dist/ripple/p-fabe4ca4.entry.js +0 -1
- package/dist/ripple/p-fbaae34d.system.entry.js +0 -1
- package/dist/types/components/datepickers/priv-calendar/priv-calendar.d.ts +0 -77
- package/dist/types/components/datepickers/wm-date-range.d.ts +0 -73
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
import { newSpecPage } from "@stencil/core/testing";
|
|
2
|
+
import { LineChart } from "./wm-line-chart";
|
|
3
|
+
// import * as globalFuncs from "../../../global/functions";
|
|
4
|
+
// jest.spyOn(globalFuncs, "generateId");
|
|
5
|
+
// // @ts-ignore
|
|
6
|
+
// globalFuncs.generateId.mockImplementation(() => "random-id");
|
|
7
|
+
// mock ResizeObserver
|
|
8
|
+
global.ResizeObserver = jest.fn().mockImplementation(() => ({
|
|
9
|
+
observe: jest.fn(),
|
|
10
|
+
unobserve: jest.fn(),
|
|
11
|
+
disconnect: jest.fn(),
|
|
12
|
+
}));
|
|
13
|
+
async function createPageHelper() {
|
|
14
|
+
return await newSpecPage({
|
|
15
|
+
components: [LineChart],
|
|
16
|
+
html: `<wm-line-chart
|
|
17
|
+
label="Regional Job Trends"
|
|
18
|
+
description="View job trends for your region compared to national tends from the past 3 years with a 3 year projection"
|
|
19
|
+
x-axis-label="Year"
|
|
20
|
+
y-axis-label="Change Since 2020"
|
|
21
|
+
line-data='{"Regional": {"2020": 5, "2021": 10, "2022": 13, "2023": null, "2024": 20, "2025": 23, "2026": 25, "2027": 32, "2028": 35, "2029": 40, "2030": 42, "2031": 52, "2032": 54, "2033": 61}, "National": {"2020": 8, "2021": 13, "2022": 16, "2023": 21, "2024": 23, "2025": 26, "2026": 28, "2027": 29, "2028": 32, "2029": 35, "2030": 39, "2031": 49, "2032": 51, "2033": 58} }'
|
|
22
|
+
units="year,%"
|
|
23
|
+
show-deltas="true"
|
|
24
|
+
y-range="0,25,50,75,100"
|
|
25
|
+
highlight-start="2026"
|
|
26
|
+
>
|
|
27
|
+
</wm-line-chart>`,
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
describe("Line Chart", () => {
|
|
31
|
+
let page;
|
|
32
|
+
it("builds", async () => {
|
|
33
|
+
page = await createPageHelper();
|
|
34
|
+
expect(page.root).toMatchSnapshot();
|
|
35
|
+
});
|
|
36
|
+
it("has proper aria properties and attributes", async () => {
|
|
37
|
+
page = await createPageHelper();
|
|
38
|
+
const componentWrapperEl = await page.root.shadowRoot.querySelector(".component-wrapper");
|
|
39
|
+
expect(componentWrapperEl).toEqualAttribute("role", "application");
|
|
40
|
+
expect(componentWrapperEl).toEqualAttribute("aria-roledescription", "Interactive chart");
|
|
41
|
+
expect(componentWrapperEl).toEqualAttribute("aria-label", "Regional Job Trends");
|
|
42
|
+
expect(componentWrapperEl).toEqualAttribute("aria-describedby", "chart-description");
|
|
43
|
+
const firstPointEl = await page.root.shadowRoot.querySelector(".point");
|
|
44
|
+
expect(firstPointEl).toEqualAttribute("role", "img");
|
|
45
|
+
});
|
|
46
|
+
it("plots all non-null data points", async () => {
|
|
47
|
+
page = await newSpecPage({
|
|
48
|
+
components: [LineChart],
|
|
49
|
+
html: `<wm-line-chart
|
|
50
|
+
label="Regional Job Trends"
|
|
51
|
+
description="View job trends for your region compared to national tends from the past 3 years with a 3 year projection"
|
|
52
|
+
x-axis-label="Year"
|
|
53
|
+
y-axis-label="Change Since 2020"
|
|
54
|
+
line-data='{"Regional": {"2020": 5, "2021": 10, "2022": 13, "2023": 15, "2024": 20}, "National": {"2020": 8, "2021": 13, "2022": null, "2023": 21, "2024": 23}, "International": {"2020": 8, "2021": null, "2022": null, "2023": 21, "2024": 23} }'
|
|
55
|
+
>
|
|
56
|
+
</wm-line-chart>`,
|
|
57
|
+
});
|
|
58
|
+
const allPointEls = await page.root.shadowRoot.querySelectorAll(".point");
|
|
59
|
+
const allLineEls = await page.root.shadowRoot.querySelectorAll(".line");
|
|
60
|
+
const firstLinePointEls = await allLineEls[0].querySelectorAll(".point");
|
|
61
|
+
const firstLineLineEls = await allLineEls[0].querySelectorAll("line");
|
|
62
|
+
const secondLinePointEls = await allLineEls[1].querySelectorAll(".point");
|
|
63
|
+
const secondLineLineEls = await allLineEls[1].querySelectorAll("line");
|
|
64
|
+
const thirdLinePointEls = await allLineEls[2].querySelectorAll(".point");
|
|
65
|
+
const thirdLineLineEls = await allLineEls[2].querySelectorAll("line");
|
|
66
|
+
// each line has 5 intervals
|
|
67
|
+
// first line has 0 nulls
|
|
68
|
+
// second line has 1 null
|
|
69
|
+
// third line has 2 nulls
|
|
70
|
+
expect(allPointEls.length).toBe(12);
|
|
71
|
+
expect(firstLinePointEls.length).toBe(5);
|
|
72
|
+
expect(firstLineLineEls.length).toBe(4);
|
|
73
|
+
expect(secondLinePointEls.length).toBe(4);
|
|
74
|
+
expect(secondLineLineEls.length).toBe(2);
|
|
75
|
+
expect(thirdLinePointEls.length).toBe(3);
|
|
76
|
+
expect(thirdLineLineEls.length).toBe(1);
|
|
77
|
+
});
|
|
78
|
+
it("calculates deltas correctly", async () => {
|
|
79
|
+
const component = await new LineChart();
|
|
80
|
+
let previousPoint = {
|
|
81
|
+
lineLabel: "fake label",
|
|
82
|
+
xValue: "2020",
|
|
83
|
+
yValue: 999,
|
|
84
|
+
xPositionPercent: 0,
|
|
85
|
+
yPositionPercent: 10,
|
|
86
|
+
highlighted: false,
|
|
87
|
+
};
|
|
88
|
+
let currentPoint = {
|
|
89
|
+
lineLabel: "fake label",
|
|
90
|
+
xValue: "2021",
|
|
91
|
+
yValue: 999,
|
|
92
|
+
xPositionPercent: 20,
|
|
93
|
+
yPositionPercent: 12,
|
|
94
|
+
highlighted: false,
|
|
95
|
+
};
|
|
96
|
+
previousPoint.yValue = 10;
|
|
97
|
+
currentPoint.yValue = 12;
|
|
98
|
+
expect(component.calcDelta(currentPoint, previousPoint)).toBe("+20%");
|
|
99
|
+
previousPoint.yValue = 10;
|
|
100
|
+
currentPoint.yValue = 7;
|
|
101
|
+
expect(component.calcDelta(currentPoint, previousPoint)).toBe("-30%");
|
|
102
|
+
previousPoint.yValue = 12;
|
|
103
|
+
currentPoint.yValue = 10;
|
|
104
|
+
expect(component.calcDelta(currentPoint, previousPoint)).toBe("-16.67%");
|
|
105
|
+
previousPoint.yValue = 0;
|
|
106
|
+
currentPoint.yValue = 1;
|
|
107
|
+
expect(component.calcDelta(currentPoint, previousPoint)).toBe("-");
|
|
108
|
+
previousPoint.yValue = 17;
|
|
109
|
+
currentPoint.yValue = 0;
|
|
110
|
+
expect(component.calcDelta(currentPoint, previousPoint)).toBe("-100%");
|
|
111
|
+
});
|
|
112
|
+
it("uses label-width to set y-axis label width", async () => {
|
|
113
|
+
page = await newSpecPage({
|
|
114
|
+
components: [LineChart],
|
|
115
|
+
html: `<wm-line-chart
|
|
116
|
+
label="Regional Job Trends"
|
|
117
|
+
description="View job trends for your region compared to national tends from the past 3 years with a 3 year projection"
|
|
118
|
+
x-axis-label="Year"
|
|
119
|
+
y-axis-label="Change Since 2020"
|
|
120
|
+
line-data='{"Regional": {"2020": 5, "2021": 10, "2022": 13, "2023": null, "2024": 20, "2025": 23, "2026": 25, "2027": 32, "2028": 35, "2029": 40, "2030": 42, "2031": 52, "2032": 54, "2033": 61}, "National": {"2020": 8, "2021": 13, "2022": 16, "2023": 21, "2024": 23, "2025": 26, "2026": 28, "2027": 29, "2028": 32, "2029": 35, "2030": 39, "2031": 49, "2032": 51, "2033": 58} }'
|
|
121
|
+
>
|
|
122
|
+
</wm-line-chart>`,
|
|
123
|
+
});
|
|
124
|
+
let yAxisLabel = await page.root.shadowRoot.querySelector(".--y-axis");
|
|
125
|
+
expect(yAxisLabel.style.cssText).toBe("--labelWidth: 120px;");
|
|
126
|
+
page = await newSpecPage({
|
|
127
|
+
components: [LineChart],
|
|
128
|
+
html: `<wm-line-chart
|
|
129
|
+
label="Regional Job Trends"
|
|
130
|
+
description="View job trends for your region compared to national tends from the past 3 years with a 3 year projection"
|
|
131
|
+
x-axis-label="Year"
|
|
132
|
+
y-axis-label="Change Since 2020"
|
|
133
|
+
line-data='{"Regional": {"2020": 5, "2021": 10, "2022": 13, "2023": null, "2024": 20, "2025": 23, "2026": 25, "2027": 32, "2028": 35, "2029": 40, "2030": 42, "2031": 52, "2032": 54, "2033": 61}, "National": {"2020": 8, "2021": 13, "2022": 16, "2023": 21, "2024": 23, "2025": 26, "2026": 28, "2027": 29, "2028": 32, "2029": 35, "2030": 39, "2031": 49, "2032": 51, "2033": 58} }'
|
|
134
|
+
label-width="23%"
|
|
135
|
+
>
|
|
136
|
+
</wm-line-chart>`,
|
|
137
|
+
});
|
|
138
|
+
yAxisLabel = await page.root.shadowRoot.querySelector(".--y-axis");
|
|
139
|
+
expect(yAxisLabel.style.cssText).toBe("--labelWidth: 23%;");
|
|
140
|
+
});
|
|
141
|
+
it("sets custom y-range if provided, abbreviates y-axis numbers of thousands", async () => {
|
|
142
|
+
page = await newSpecPage({
|
|
143
|
+
components: [LineChart],
|
|
144
|
+
html: `<wm-line-chart
|
|
145
|
+
label="Regional Job Trends"
|
|
146
|
+
description="View job trends for your region compared to national tends from the past 3 years with a 3 year projection"
|
|
147
|
+
x-axis-label="Year"
|
|
148
|
+
y-axis-label="Change Since 2020"
|
|
149
|
+
line-data='{"Regional": {"2020": -10000, "2021": 10900, "2022": 40200} }'
|
|
150
|
+
y-range="-13300,0,100,10000,20945,30099,40520"
|
|
151
|
+
>
|
|
152
|
+
</wm-line-chart>`,
|
|
153
|
+
});
|
|
154
|
+
const yIntervals = await page.root.shadowRoot.querySelectorAll(".y-interval");
|
|
155
|
+
expect(yIntervals[0].textContent).toBe("40.5K");
|
|
156
|
+
expect(yIntervals[1].textContent).toBe("30.1K");
|
|
157
|
+
expect(yIntervals[2].textContent).toBe("20.9K");
|
|
158
|
+
expect(yIntervals[3].textContent).toBe("10K");
|
|
159
|
+
expect(yIntervals[4].textContent).toBe("100");
|
|
160
|
+
expect(yIntervals[5].textContent).toBe("0");
|
|
161
|
+
expect(yIntervals[6].textContent).toBe("-13.3K");
|
|
162
|
+
});
|
|
163
|
+
});
|
|
@@ -90,7 +90,7 @@ export class ProgressIndicator {
|
|
|
90
90
|
}
|
|
91
91
|
}
|
|
92
92
|
render() {
|
|
93
|
-
return (h(Host, {
|
|
93
|
+
return (h(Host, { onBlur: () => exitChart.call(this) }, h("div", { ref: (el) => (this.componentWrapperEl = el), class: `component-wrapper ${this.mode} ${this.isTabbing && !this.userIsNavigating ? "user-is-tabbing" : ""}`, role: "application", "aria-label": this.ariaLabelText, tabindex: "0", "aria-roledescription": this.chartRoleDescription, "aria-describedby": `chart-instructions` }, h("label", { id: `label-${this.uid}`, class: `label ${this.barLabelsWidth && this.mode === "bar" ? "custom-width" : ""}`, style: { "--custom-label-width": this.barLabelsWidth }, htmlFor: `graphic-${this.uid}` }, h("span", { class: "label-text" }, this.label), this.subinfo ? h("span", { class: "subinfo" }, this.subinfo) : ""), this.mode && this.renderBarOrDoughnut(), this.mode === "doughnut" ? renderLegend.call(this, this.mode) : "", h("priv-chart-popover", { class: this.isTabbing ? "user-is-tabbing" : "", onIntChartPopoverOpenChanged: (ev) => this.handlePopoverOpenChanged(ev) }), this.mode === "doughnut" ? renderCompletionMessage.call(this) : ""), renderInstructionsText()));
|
|
94
94
|
}
|
|
95
95
|
static get is() { return "wm-progress-indicator"; }
|
|
96
96
|
static get encapsulation() { return "shadow"; }
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { newE2EPage } from "@stencil/core/testing";
|
|
2
|
+
import { AxePuppeteer } from "@axe-core/puppeteer";
|
|
3
|
+
describe("Progress Monitor", () => {
|
|
4
|
+
let page;
|
|
5
|
+
async function createPageHelper() {
|
|
6
|
+
page = await newE2EPage();
|
|
7
|
+
await page.setContent(`<html lang='en'><head><title>Page</title></head><body><main><h1>Title</h1>
|
|
8
|
+
<wm-progress-monitor id="first-monitor">
|
|
9
|
+
<wm-progress-indicator label="First Indicator">
|
|
10
|
+
<wm-progress-slice amount="5" popover-title="5/20 Completed" popover-text="Popover text" popover-button-text="Button text" legend="completed" </wm-progress-slice>
|
|
11
|
+
<wm-progress-slice amount="15" popover-title="15/20 Not completed" popover-text="Popover text" popover-button-text="Button text" legend="not completed" </wm-progress-slice>
|
|
12
|
+
</wm-progress-indicator>
|
|
13
|
+
<wm-progress-indicator label="Second Indicator">
|
|
14
|
+
<wm-progress-slice amount="3" popover-title="3/20 Completed" popover-text="Popover text" popover-button-text="Button text" legend="completed" </wm-progress-slice>
|
|
15
|
+
<wm-progress-slice amount="17" popover-title="17/20 Not completed" popover-text="Popover text" popover-button-text="Button text" legend="not completed" </wm-progress-slice>
|
|
16
|
+
</wm-progress-indicator>
|
|
17
|
+
</wm-progress-monitor>
|
|
18
|
+
</main></body></html>`);
|
|
19
|
+
}
|
|
20
|
+
it("passes Axe checks", async () => {
|
|
21
|
+
await createPageHelper();
|
|
22
|
+
const results = await new AxePuppeteer(page).analyze();
|
|
23
|
+
expect(results.violations.length).toBe(0);
|
|
24
|
+
});
|
|
25
|
+
// Monitor toggles Indicator modes
|
|
26
|
+
it("toggles indicator modes", async () => {
|
|
27
|
+
await createPageHelper();
|
|
28
|
+
const indicator = await page.find("wm-progress-indicator");
|
|
29
|
+
page.setViewport({ width: 500, height: 900 });
|
|
30
|
+
await page.waitForChanges();
|
|
31
|
+
let classes = indicator.shadowRoot.querySelector(".component-wrapper").getAttribute("class");
|
|
32
|
+
expect(classes).toContain("bar");
|
|
33
|
+
page.setViewport({ width: 700, height: 900 });
|
|
34
|
+
await page.waitForChanges();
|
|
35
|
+
classes = indicator.shadowRoot.querySelector(".component-wrapper").getAttribute("class");
|
|
36
|
+
expect(classes).toContain("doughnut");
|
|
37
|
+
});
|
|
38
|
+
/* can't get the popover to show
|
|
39
|
+
// Slices read x of y {{popover text}}
|
|
40
|
+
it("announces the slice to SR", async () => {
|
|
41
|
+
await createPageHelper();
|
|
42
|
+
const indicator = await page.find("wm-progress-indicator");
|
|
43
|
+
await page.keyboard.press("Tab");
|
|
44
|
+
await page.waitForChanges();
|
|
45
|
+
await page.keyboard.press("ArrowDown");
|
|
46
|
+
await page.waitForChanges();
|
|
47
|
+
const popover = indicator.shadowRoot.querySelector("priv-chart-popover");
|
|
48
|
+
const results = await page.compareScreenshot();
|
|
49
|
+
expect(results).toMatchScreenshot({ allowableMismatchedPixels: 100 });
|
|
50
|
+
|
|
51
|
+
popover.open = true;
|
|
52
|
+
const liveRegion = popover.querySelector(".live-region");
|
|
53
|
+
expect(liveRegion.textContent).toBe("");
|
|
54
|
+
});
|
|
55
|
+
*/
|
|
56
|
+
/*** E2E ***/
|
|
57
|
+
// Doughnuts display in row, bars display in column
|
|
58
|
+
// Popovers automatically appear when navigating via keyboard
|
|
59
|
+
// Popovers emit wmProgressIndicatorButtonTriggered
|
|
60
|
+
// Tab navigates through indicators, no tab stop on Monitor
|
|
61
|
+
// Clicking a slice opens the popover
|
|
62
|
+
// Clicking outside or hitting escape closes the popover
|
|
63
|
+
/*** CAN'T BE TESTED? ***/
|
|
64
|
+
// Default breakpoint is the width of all children
|
|
65
|
+
// Breakpoint is customizable
|
|
66
|
+
//// including "px" makes it px
|
|
67
|
+
//// # less than 100 refers to # of charts
|
|
68
|
+
//// # greater than 100 refers to px
|
|
69
|
+
});
|
|
@@ -59,7 +59,7 @@ export class ProgressMonitor {
|
|
|
59
59
|
}))));
|
|
60
60
|
}
|
|
61
61
|
render() {
|
|
62
|
-
return (h(Host, {
|
|
62
|
+
return (h(Host, { class: this.mode === "doughnut" ? "row" : "column" }, this.modeInitialized && this.groupLegend && this.mode === "bar" && this.renderLegend(), this.modeInitialized && h("slot", null)));
|
|
63
63
|
}
|
|
64
64
|
static get is() { return "wm-progress-monitor"; }
|
|
65
65
|
static get encapsulation() { return "shadow"; }
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { newSpecPage } from "@stencil/core/testing";
|
|
2
|
+
import { ProgressMonitor } from "./wm-progress-monitor";
|
|
3
|
+
import { ProgressIndicator } from "./wm-progress-indicator";
|
|
4
|
+
import { ProgressSlice } from "./wm-progress-slice";
|
|
5
|
+
import * as globalFuncs from "../../../global/functions";
|
|
6
|
+
jest.spyOn(globalFuncs, "generateId");
|
|
7
|
+
// @ts-ignore
|
|
8
|
+
globalFuncs.generateId.mockImplementation(() => "random-id");
|
|
9
|
+
// mock ResizeObserver
|
|
10
|
+
global.ResizeObserver = jest.fn().mockImplementation(() => ({
|
|
11
|
+
observe: jest.fn(),
|
|
12
|
+
unobserve: jest.fn(),
|
|
13
|
+
disconnect: jest.fn(),
|
|
14
|
+
}));
|
|
15
|
+
async function createPageHelper() {
|
|
16
|
+
return await newSpecPage({
|
|
17
|
+
components: [ProgressMonitor, ProgressIndicator, ProgressSlice],
|
|
18
|
+
html: `<wm-progress-monitor id="first-monitor">
|
|
19
|
+
<wm-progress-indicator label="First Indicator">
|
|
20
|
+
<wm-progress-slice
|
|
21
|
+
amount="5"
|
|
22
|
+
popover-title="5/20 Completed"
|
|
23
|
+
popover-text="Popover text"
|
|
24
|
+
popover-button-text="Button text"
|
|
25
|
+
legend="completed"
|
|
26
|
+
></wm-progress-slice>
|
|
27
|
+
<wm-progress-slice
|
|
28
|
+
amount="15"
|
|
29
|
+
popover-title="15/20 Not completed"
|
|
30
|
+
popover-text="Popover text"
|
|
31
|
+
popover-button-text="Button text"
|
|
32
|
+
legend="not completed"
|
|
33
|
+
></wm-progress-slice>
|
|
34
|
+
</wm-progress-indicator>
|
|
35
|
+
<wm-progress-indicator label="Second Indicator">
|
|
36
|
+
<wm-progress-slice
|
|
37
|
+
amount="3"
|
|
38
|
+
popover-title="3/20 Completed"
|
|
39
|
+
popover-text="Popover text"
|
|
40
|
+
popover-button-text="Button text"
|
|
41
|
+
legend="completed"
|
|
42
|
+
></wm-progress-slice>
|
|
43
|
+
<wm-progress-slice
|
|
44
|
+
amount="17"
|
|
45
|
+
popover-title="17/20 Not completed"
|
|
46
|
+
popover-text="Popover text"
|
|
47
|
+
popover-button-text="Button text"
|
|
48
|
+
legend="not completed"
|
|
49
|
+
></wm-progress-slice>
|
|
50
|
+
</wm-progress-indicator>
|
|
51
|
+
</wm-progress-monitor>`,
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
describe("Progress Monitor", () => {
|
|
55
|
+
it("builds", async () => {
|
|
56
|
+
const page = await createPageHelper();
|
|
57
|
+
expect(page.root).toMatchSnapshot();
|
|
58
|
+
});
|
|
59
|
+
it("properties and attributes", async () => {
|
|
60
|
+
var _a;
|
|
61
|
+
const page = await createPageHelper();
|
|
62
|
+
const indicator = page.root.querySelector("wm-progress-indicator");
|
|
63
|
+
expect(indicator).toHaveProperty("label");
|
|
64
|
+
expect(indicator).toHaveProperty("subinfo");
|
|
65
|
+
expect(indicator).toHaveProperty("completionMessage");
|
|
66
|
+
expect(indicator).toHaveProperty("showLegend");
|
|
67
|
+
const indicatorComponentWrapper = (_a = indicator.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector(".component-wrapper");
|
|
68
|
+
expect(indicatorComponentWrapper).toEqualAttribute("role", "application");
|
|
69
|
+
expect(indicatorComponentWrapper).toEqualAttribute("aria-label", "First Indicator");
|
|
70
|
+
expect(indicatorComponentWrapper).toEqualAttribute("aria-roledescription", "Interactive chart");
|
|
71
|
+
expect(indicatorComponentWrapper).toEqualAttribute("aria-describedby", "chart-instructions");
|
|
72
|
+
const slice = page.root.querySelector("wm-progress-slice");
|
|
73
|
+
expect(slice).toHaveProperty("amount");
|
|
74
|
+
expect(slice).toHaveProperty("legend");
|
|
75
|
+
expect(slice).toHaveProperty("popoverTitle");
|
|
76
|
+
expect(slice).toHaveProperty("popoverText");
|
|
77
|
+
expect(slice).toHaveProperty("popoverButtonText");
|
|
78
|
+
});
|
|
79
|
+
});
|
|
@@ -351,12 +351,16 @@
|
|
|
351
351
|
.popup-wrapper .day-view .date-grid .date-cell.in-range.preview-end, .popup-wrapper .day-view .date-grid .date-cell.in-range.preview-start {
|
|
352
352
|
background-image: radial-gradient(var(--wmcolor-datepicker-range-background-hover) 17px, var(--wmcolor-calendar-day-border-hover) 18px, var(--wmcolor-calendar-day-border-hover) 20px, transparent 21px), var(--range-background-hover);
|
|
353
353
|
}
|
|
354
|
-
.popup-wrapper .day-view .date-grid .date-cell.in-range
|
|
354
|
+
.popup-wrapper .day-view .date-grid .date-cell.in-range.preview-end:focus-visible, .popup-wrapper .day-view .date-grid .date-cell.in-range.preview-start:focus-visible {
|
|
355
|
+
outline: none;
|
|
356
|
+
border: none;
|
|
357
|
+
}
|
|
358
|
+
.popup-wrapper .day-view .date-grid .date-cell.in-range:first-of-type:not(.preview-start, .preview-end, .range-start, .range-end), .popup-wrapper .day-view .date-grid .date-cell.in-range:first-child:not(.preview-start, .preview-end, .range-start, .range-end), .popup-wrapper .day-view .date-grid .date-cell.in-range.first-of-month:not(.preview-start, .preview-end, .range-start, .range-end) {
|
|
355
359
|
background-image: radial-gradient(var(--wmcolor-datepicker-range-background-selected) 16px, transparent 17px), var(--range-background-selected);
|
|
356
360
|
background-position: -5px center, center left 17px;
|
|
357
361
|
background-repeat: no-repeat;
|
|
358
362
|
}
|
|
359
|
-
.popup-wrapper .day-view .date-grid .date-cell.in-range:first-of-type:not(.preview-start, .preview-end, .range-start, .range-end):hover, .popup-wrapper .day-view .date-grid .date-cell.in-range:first-child:not(.preview-start, .preview-end, .range-start, .range-end):hover {
|
|
363
|
+
.popup-wrapper .day-view .date-grid .date-cell.in-range:first-of-type:not(.preview-start, .preview-end, .range-start, .range-end):hover, .popup-wrapper .day-view .date-grid .date-cell.in-range:first-child:not(.preview-start, .preview-end, .range-start, .range-end):hover, .popup-wrapper .day-view .date-grid .date-cell.in-range.first-of-month:not(.preview-start, .preview-end, .range-start, .range-end):hover {
|
|
360
364
|
background-image: radial-gradient(#dbd9ef 20px, transparent 21px), radial-gradient(var(--wmcolor-datepicker-range-background-selected) 16px, transparent 17px), var(--range-background-selected);
|
|
361
365
|
background-position: center, -5px center, center left 17px;
|
|
362
366
|
background-repeat: no-repeat;
|
|
@@ -394,6 +398,15 @@
|
|
|
394
398
|
font-weight: 600;
|
|
395
399
|
color: var(--wmcolor-datepicker-day-text-selected);
|
|
396
400
|
}
|
|
401
|
+
.popup-wrapper .day-view .date-grid .date-cell.range-start:focus-visible, .popup-wrapper .day-view .date-grid .date-cell.range-end:focus-visible {
|
|
402
|
+
outline: 3px solid var(--wmcolor-interactive-focus);
|
|
403
|
+
outline-offset: -2px;
|
|
404
|
+
border: none;
|
|
405
|
+
z-index: 11;
|
|
406
|
+
}
|
|
407
|
+
.popup-wrapper .day-view .date-grid .date-cell.range-start:focus-visible[aria-selected=true], .popup-wrapper .day-view .date-grid .date-cell.range-end:focus-visible[aria-selected=true] {
|
|
408
|
+
outline-offset: 2px;
|
|
409
|
+
}
|
|
397
410
|
.popup-wrapper .day-view .date-grid .date-cell.range-start {
|
|
398
411
|
background-image: var(--range-start-svg);
|
|
399
412
|
padding-inline-end: 2px;
|
|
@@ -470,26 +483,19 @@
|
|
|
470
483
|
background-color: var(--wmcolor-datepicker-month-background-selected);
|
|
471
484
|
color: var(--wmcolor-datepicker-month-text-selected);
|
|
472
485
|
}
|
|
473
|
-
.popup-wrapper
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
z-index: 11;
|
|
478
|
-
}
|
|
479
|
-
.popup-wrapper .month.focused:focus-visible[aria-selected=true] {
|
|
480
|
-
outline-offset: 2px;
|
|
481
|
-
}
|
|
482
|
-
.popup-wrapper button:focus-visible,
|
|
483
|
-
.popup-wrapper .title-box:focus-visible,
|
|
484
|
-
.popup-wrapper .date-cell:focus-visible {
|
|
486
|
+
.popup-wrapper button:focus-visible:not(.preview-start, .preview-end),
|
|
487
|
+
.popup-wrapper .title-box:focus-visible:not(.preview-start, .preview-end),
|
|
488
|
+
.popup-wrapper .month.focused:focus-visible:not(.preview-start, .preview-end),
|
|
489
|
+
.popup-wrapper .date-cell:focus-visible:not(.preview-start, .preview-end) {
|
|
485
490
|
outline: 3px solid var(--wmcolor-interactive-focus);
|
|
486
491
|
outline-offset: -2px;
|
|
487
492
|
border: none;
|
|
488
493
|
z-index: 11;
|
|
489
494
|
}
|
|
490
|
-
.popup-wrapper button:focus-visible[aria-selected=true],
|
|
491
|
-
.popup-wrapper .title-box:focus-visible[aria-selected=true],
|
|
492
|
-
.popup-wrapper .
|
|
495
|
+
.popup-wrapper button:focus-visible:not(.preview-start, .preview-end)[aria-selected=true],
|
|
496
|
+
.popup-wrapper .title-box:focus-visible:not(.preview-start, .preview-end)[aria-selected=true],
|
|
497
|
+
.popup-wrapper .month.focused:focus-visible:not(.preview-start, .preview-end)[aria-selected=true],
|
|
498
|
+
.popup-wrapper .date-cell:focus-visible:not(.preview-start, .preview-end)[aria-selected=true] {
|
|
493
499
|
outline-offset: 2px;
|
|
494
500
|
}
|
|
495
501
|
|
|
@@ -111,7 +111,7 @@ export class PrivCalendar {
|
|
|
111
111
|
const monthOfDate = dateFind.month.asInt(date);
|
|
112
112
|
const dayOfDate = dateFind.day.asInt(date);
|
|
113
113
|
const yearOfDate = dateFind.year.asInt(date);
|
|
114
|
-
const isStartDate =
|
|
114
|
+
const isStartDate = eitherStart && eitherStart === date;
|
|
115
115
|
let selected = isStartDate ? "true" : "false";
|
|
116
116
|
const classesArr = ["date-cell"];
|
|
117
117
|
const isFocused = date === this.focusDate;
|
|
@@ -119,7 +119,7 @@ export class PrivCalendar {
|
|
|
119
119
|
if (isToday)
|
|
120
120
|
classesArr.push("today");
|
|
121
121
|
if (this.calType === "range") {
|
|
122
|
-
const isEndDate = eitherStart &&
|
|
122
|
+
const isEndDate = eitherStart && eitherEnd && eitherEnd === date && eitherStart < eitherEnd;
|
|
123
123
|
selected = isEndDate ? "true" : selected;
|
|
124
124
|
const isFirstOfMonth = dayOfDate === 1;
|
|
125
125
|
const isLastOfMonth = dayOfDate === getMonthLength(monthOfDate, yearOfDate);
|
|
@@ -133,7 +133,7 @@ export class PrivCalendar {
|
|
|
133
133
|
if (isLastOfMonth)
|
|
134
134
|
classesArr.push("last-of-month");
|
|
135
135
|
if (isStartDate) {
|
|
136
|
-
if (isInRangePreview && !isEndDate && this.hoverDate && this.hoverDate <
|
|
136
|
+
if (isInRangePreview && !isEndDate && this.hoverDate && this.hoverDate < eitherStart) {
|
|
137
137
|
// invert the arrow direction if user mouses over a prior date
|
|
138
138
|
classesArr.push("range-end");
|
|
139
139
|
}
|
|
@@ -360,42 +360,42 @@ export class PrivCalendar {
|
|
|
360
360
|
}
|
|
361
361
|
isInRange(date) {
|
|
362
362
|
if (this.otherCalEl) {
|
|
363
|
-
const
|
|
364
|
-
const
|
|
365
|
-
if (
|
|
363
|
+
const eitherStart = this.startDate || this.otherCalEl.startDate;
|
|
364
|
+
const eitherEnd = this.endDate || this.otherCalEl.endDate;
|
|
365
|
+
if (eitherStart && eitherEnd) {
|
|
366
366
|
// if both dates exist the range is shown
|
|
367
|
-
return
|
|
367
|
+
return eitherStart <= date && date <= eitherEnd;
|
|
368
368
|
}
|
|
369
369
|
}
|
|
370
370
|
return false;
|
|
371
371
|
}
|
|
372
372
|
isInRangePreview(date) {
|
|
373
373
|
if (this.otherCalEl) {
|
|
374
|
-
const
|
|
375
|
-
const
|
|
374
|
+
const eitherStart = this.startDate || this.otherCalEl.startDate;
|
|
375
|
+
const eitherEnd = this.endDate || this.otherCalEl.endDate;
|
|
376
376
|
// no preview if there's an existing range
|
|
377
|
-
if (
|
|
377
|
+
if (eitherStart && eitherEnd)
|
|
378
378
|
return false;
|
|
379
|
-
if (
|
|
379
|
+
if (eitherStart && this.hoverDate) {
|
|
380
380
|
// if only startDate exists, the hovered date functions as the other end of the range
|
|
381
|
-
if (this.hoverDate >
|
|
382
|
-
return
|
|
381
|
+
if (this.hoverDate > eitherStart) {
|
|
382
|
+
return eitherStart <= date && date <= this.hoverDate;
|
|
383
383
|
}
|
|
384
|
-
else if (this.hoverDate <
|
|
384
|
+
else if (this.hoverDate < eitherStart) {
|
|
385
385
|
// user is mousing over a date prior to the start date
|
|
386
386
|
// start date considered as end of range
|
|
387
|
-
return this.hoverDate <= date && date <=
|
|
387
|
+
return this.hoverDate <= date && date <= eitherStart;
|
|
388
388
|
} // if neither < or > then it's the same date and should return false
|
|
389
389
|
}
|
|
390
|
-
else if (
|
|
390
|
+
else if (eitherEnd && this.hoverDate) {
|
|
391
391
|
// if only endDate exists, the hovered date functions as the other end of the range
|
|
392
|
-
if (this.hoverDate <
|
|
393
|
-
return this.hoverDate <= date && date <=
|
|
392
|
+
if (this.hoverDate < eitherEnd) {
|
|
393
|
+
return this.hoverDate <= date && date <= eitherEnd;
|
|
394
394
|
}
|
|
395
|
-
else if (this.hoverDate >
|
|
395
|
+
else if (this.hoverDate > eitherEnd) {
|
|
396
396
|
// user is mousing over a date later than the end date
|
|
397
397
|
// end date considered as beggining of range
|
|
398
|
-
return
|
|
398
|
+
return eitherEnd <= date && date <= this.hoverDate;
|
|
399
399
|
}
|
|
400
400
|
}
|
|
401
401
|
}
|
|
@@ -540,11 +540,11 @@ export class PrivCalendar {
|
|
|
540
540
|
}), class: "header-btn arw-btn" }, h("span", { class: "mdi" }, "\uF142"))), h("div", { "aria-labelledby": "popup-title-year", role: "grid", class: "months" }, h("div", { role: "row", class: "month-row" }, calendar_months.slice(0, 3).map((month, index) => this.renderMonth(month, index))), h("div", { role: "row", class: "month-row" }, calendar_months.slice(3, 6).map((month, index) => this.renderMonth(month, index + 3))), h("div", { role: "row", class: "month-row" }, calendar_months.slice(6, 9).map((month, index) => this.renderMonth(month, index + 6))), h("div", { role: "row", class: "month-row" }, calendar_months.slice(9).map((month, index) => this.renderMonth(month, index + 9))))));
|
|
541
541
|
}
|
|
542
542
|
render() {
|
|
543
|
-
return (h(Host, {
|
|
543
|
+
return (h(Host, { onMouseOut: (ev) => {
|
|
544
544
|
// @ts-ignore
|
|
545
545
|
if (!this.el.parentElement.contains(ev.toElement))
|
|
546
546
|
this.outOfCal.emit();
|
|
547
|
-
}, role: "application", "aria-describedby": "application" }, this.view === "day" ? this.renderDayView() : this.renderMonthView(), h("div", {
|
|
547
|
+
}, role: "application", "aria-describedby": "application" }, this.view === "day" ? this.renderDayView() : this.renderMonthView(), h("div", { id: "application", class: "sr-only" }, this.calName, this.calInstructions)));
|
|
548
548
|
}
|
|
549
549
|
static get is() { return "priv-calendar"; }
|
|
550
550
|
static get originalStyleUrls() {
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { newSpecPage } from "@stencil/core/testing";
|
|
2
|
+
import { PrivCalendar } from "./priv-calendar";
|
|
3
|
+
import { dateFind, getMonthLength } from "../../../global/functions";
|
|
4
|
+
describe("priv-calendar", () => {
|
|
5
|
+
// ts erroneously prints a warning (unused var)
|
|
6
|
+
// @ts-ignore
|
|
7
|
+
let page, privCalendar;
|
|
8
|
+
beforeEach(async () => {
|
|
9
|
+
page = await newSpecPage({
|
|
10
|
+
components: [PrivCalendar],
|
|
11
|
+
html: "<priv-calendar></priv-calendar>",
|
|
12
|
+
});
|
|
13
|
+
privCalendar = page.root;
|
|
14
|
+
});
|
|
15
|
+
it("gets the number of days in a month", async () => {
|
|
16
|
+
expect(getMonthLength(1, 2021)).toBe(31);
|
|
17
|
+
expect(getMonthLength(2, 2021)).toBe(28);
|
|
18
|
+
expect(getMonthLength(2, 2020)).toBe(29);
|
|
19
|
+
expect(getMonthLength(11, 2067)).toBe(30);
|
|
20
|
+
expect(getMonthLength(13, 2)).toBe(31); // returns 31 by default
|
|
21
|
+
});
|
|
22
|
+
it("removes leading zeroes", async () => {
|
|
23
|
+
const pd = new PrivCalendar();
|
|
24
|
+
expect(pd.removeZeroes("12")).toBe(12);
|
|
25
|
+
expect(pd.removeZeroes("01")).toBe(1);
|
|
26
|
+
expect(pd.removeZeroes("0001312")).toBe(1312);
|
|
27
|
+
// note that the function only works for integers
|
|
28
|
+
// the following would fail
|
|
29
|
+
// expect(pd.removeZeroes("3.1415")).toBe(3.1415);
|
|
30
|
+
});
|
|
31
|
+
it("finds the first weekday of the month", async () => {
|
|
32
|
+
// 1 = Sunday, 7 = Saturday
|
|
33
|
+
const pd = new PrivCalendar();
|
|
34
|
+
expect(pd.getMonthFirstDay(2, 2021)).toBe(2); // Mon
|
|
35
|
+
expect(pd.getMonthFirstDay(7, 1986)).toBe(3); // Tue
|
|
36
|
+
expect(pd.getMonthFirstDay(12, 2030)).toBe(1); // Sun
|
|
37
|
+
});
|
|
38
|
+
it("generates the calendar dates", async () => {
|
|
39
|
+
const pd = new PrivCalendar();
|
|
40
|
+
expect(pd.getCalendarDates("2021-08-14")).toMatchSnapshot();
|
|
41
|
+
});
|
|
42
|
+
// dateFind helper
|
|
43
|
+
it("gets the right dates", async () => {
|
|
44
|
+
expect(dateFind.year.asString("2000-03-23")).toStrictEqual("2000");
|
|
45
|
+
expect(dateFind.year.asInt("2000-03-23")).toStrictEqual(2000);
|
|
46
|
+
expect(dateFind.month.asString("2000-03-23")).toStrictEqual("03");
|
|
47
|
+
expect(dateFind.month.asInt("2000-03-23")).toStrictEqual(3);
|
|
48
|
+
expect(dateFind.day.asString("2000-03-23")).toStrictEqual("23");
|
|
49
|
+
expect(dateFind.day.asInt("2000-03-23")).toStrictEqual(23);
|
|
50
|
+
let res;
|
|
51
|
+
res = dateFind.year.decrease("2000-03-23", 2);
|
|
52
|
+
expect(res).toStrictEqual("1998-03-23");
|
|
53
|
+
res = dateFind.year.increase("1998-03-23", 2);
|
|
54
|
+
expect(res).toStrictEqual("2000-03-23");
|
|
55
|
+
res = dateFind.month.decrease("2000-03-23", 3);
|
|
56
|
+
expect(res).toStrictEqual("1999-12-23");
|
|
57
|
+
res = dateFind.month.increase("2000-11-23", 2);
|
|
58
|
+
expect(res).toStrictEqual("2001-01-23");
|
|
59
|
+
res = dateFind.month.increase("2024-10-01", 1);
|
|
60
|
+
expect(res).toStrictEqual("2024-11-01");
|
|
61
|
+
res = dateFind.day.decrease("2024-03-03", 3);
|
|
62
|
+
expect(res).toStrictEqual("2024-02-29");
|
|
63
|
+
res = dateFind.day.increase("2024-09-29", 5);
|
|
64
|
+
expect(res).toStrictEqual("2024-10-04");
|
|
65
|
+
});
|
|
66
|
+
// _focus accessor
|
|
67
|
+
it("gets the right focus dates", async () => {
|
|
68
|
+
const c = new PrivCalendar();
|
|
69
|
+
c.focusDate = "2000-01-02";
|
|
70
|
+
expect(c._focus.year.asString()).toStrictEqual("2000");
|
|
71
|
+
expect(c._focus.year.asInt()).toStrictEqual(2000);
|
|
72
|
+
expect(c._focus.month.asString()).toStrictEqual("01");
|
|
73
|
+
expect(c._focus.month.asInt()).toStrictEqual(1);
|
|
74
|
+
expect(c._focus.day.asString()).toStrictEqual("02");
|
|
75
|
+
expect(c._focus.day.asInt()).toStrictEqual(2);
|
|
76
|
+
c._focus.year.decrease(2);
|
|
77
|
+
expect(c.focusDate).toStrictEqual("1998-01-02");
|
|
78
|
+
c._focus.year.increase(2);
|
|
79
|
+
expect(c.focusDate).toStrictEqual("2000-01-02");
|
|
80
|
+
c._focus.month.decrease(2);
|
|
81
|
+
expect(c.focusDate).toStrictEqual("1999-11-02");
|
|
82
|
+
c._focus.month.increase(2);
|
|
83
|
+
expect(c.focusDate).toStrictEqual("2000-01-02");
|
|
84
|
+
c._focus.day.decrease(2);
|
|
85
|
+
expect(c.focusDate).toStrictEqual("1999-12-31");
|
|
86
|
+
c._focus.day.increase(2);
|
|
87
|
+
expect(c.focusDate).toStrictEqual("2000-01-02");
|
|
88
|
+
});
|
|
89
|
+
});
|