@watermarkinsights/ripple 3.25.0 → 3.25.1
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-2f04ab6a.js +0 -2
- package/dist/cjs/functions-d2d99997.js +0 -2
- package/dist/{esm/global-3d0ef32b.js → cjs/global-6acc957f.js} +3 -3
- package/dist/cjs/http-service-9e8c4dd5.js +0 -2
- package/dist/cjs/index-1f84c034.js +0 -2
- package/dist/cjs/index.cjs.js +0 -2
- package/dist/cjs/interfaces-30a74c1f.js +0 -2
- package/dist/cjs/intl-a1ccf587.js +0 -2
- package/dist/cjs/loader.cjs.js +1 -3
- package/dist/cjs/priv-chart-popover.cjs.entry.js +0 -2
- package/dist/cjs/priv-datepicker.cjs.entry.js +0 -2
- package/dist/cjs/priv-navigator-button.cjs.entry.js +0 -2
- package/dist/cjs/priv-navigator-item.cjs.entry.js +0 -2
- package/dist/cjs/ripple.cjs.js +1 -3
- package/dist/cjs/wm-action-menu_2.cjs.entry.js +0 -2
- package/dist/cjs/wm-button.cjs.entry.js +0 -2
- package/dist/cjs/wm-chart-slice.cjs.entry.js +0 -2
- package/dist/cjs/wm-chart.cjs.entry.js +0 -2
- package/dist/cjs/wm-datepicker.cjs.entry.js +0 -2
- package/dist/cjs/wm-file-list.cjs.entry.js +0 -2
- package/dist/cjs/wm-file.cjs.entry.js +0 -2
- package/dist/cjs/wm-input.cjs.entry.js +0 -2
- package/dist/cjs/wm-modal-footer.cjs.entry.js +0 -2
- package/dist/cjs/wm-modal-header.cjs.entry.js +0 -2
- package/dist/cjs/wm-modal.cjs.entry.js +0 -2
- package/dist/cjs/wm-navigation_3.cjs.entry.js +0 -2
- package/dist/cjs/wm-navigator.cjs.entry.js +0 -2
- package/dist/cjs/wm-network-uploader.cjs.entry.js +0 -2
- package/dist/cjs/wm-option_2.cjs.entry.js +0 -2
- package/dist/cjs/wm-pagination.cjs.entry.js +0 -2
- package/dist/cjs/wm-progress-indicator_3.cjs.entry.js +0 -2
- package/dist/cjs/wm-search.cjs.entry.js +0 -2
- package/dist/cjs/wm-snackbar.cjs.entry.js +0 -2
- package/dist/cjs/wm-tab-item_3.cjs.entry.js +0 -2
- package/dist/cjs/wm-tag-input-row.cjs.entry.js +0 -2
- package/dist/cjs/wm-tag-input.cjs.entry.js +0 -2
- package/dist/cjs/wm-timepicker.cjs.entry.js +0 -2
- package/dist/cjs/wm-toggletip.cjs.entry.js +0 -2
- package/dist/cjs/wm-uploader.cjs.entry.js +0 -2
- package/dist/cjs/wm-wrapper.cjs.entry.js +0 -2
- package/dist/collection/components/charts/chartFunctions.js +0 -1
- package/dist/collection/components/charts/priv-chart-popover/priv-chart-popover.js +0 -1
- package/dist/collection/components/charts/wm-chart/wm-chart-slice.js +0 -1
- package/dist/collection/components/charts/wm-chart/wm-chart.js +0 -1
- package/dist/collection/components/charts/wm-progress-monitor/wm-progress-indicator.js +0 -1
- package/dist/collection/components/charts/wm-progress-monitor/wm-progress-monitor.js +0 -1
- package/dist/collection/components/charts/wm-progress-monitor/wm-progress-slice.js +0 -1
- package/dist/collection/components/wm-action-menu/wm-action-menu.js +0 -1
- package/dist/collection/components/wm-button/wm-button.js +0 -1
- package/dist/collection/components/wm-datepicker/priv-datepicker/priv-datepicker.js +0 -1
- package/dist/collection/components/wm-datepicker/wm-datepicker.js +0 -1
- package/dist/collection/components/wm-file/wm-file.js +0 -1
- package/dist/collection/components/wm-file-list/wm-file-list.js +0 -1
- package/dist/collection/components/wm-input/wm-input.js +0 -1
- package/dist/collection/components/wm-menuitem/wm-menuitem.js +0 -1
- package/dist/collection/components/wm-modal/wm-modal-footer.js +0 -1
- package/dist/collection/components/wm-modal/wm-modal-header.js +0 -1
- package/dist/collection/components/wm-modal/wm-modal.js +0 -1
- package/dist/collection/components/wm-navigation/wm-navigation-hamburger.js +0 -1
- package/dist/collection/components/wm-navigation/wm-navigation-item.js +0 -1
- package/dist/collection/components/wm-navigation/wm-navigation.js +0 -1
- package/dist/collection/components/wm-navigator/priv-navigator-button/priv-navigator-button.js +0 -1
- package/dist/collection/components/wm-navigator/priv-navigator-item/priv-navigator-item.js +0 -1
- package/dist/collection/components/wm-navigator/wm-navigator.js +0 -1
- package/dist/collection/components/wm-option/wm-option.js +0 -1
- package/dist/collection/components/wm-pagination/wm-pagination.js +0 -1
- package/dist/collection/components/wm-search/wm-search.js +0 -1
- package/dist/collection/components/wm-select/wm-select.js +0 -1
- package/dist/collection/components/wm-snackbar/wm-snackbar.js +0 -1
- package/dist/collection/components/wm-tabs/wm-tab-item/wm-tab-item.js +0 -1
- package/dist/collection/components/wm-tabs/wm-tab-list/wm-tab-list.js +0 -1
- package/dist/collection/components/wm-tabs/wm-tab-panel/wm-tab-panel.js +0 -1
- package/dist/collection/components/wm-tag-input/wm-tag-input-row/wm-tag-input-row.js +0 -1
- package/dist/collection/components/wm-tag-input/wm-tag-input.js +0 -1
- package/dist/collection/components/wm-timepicker/wm-timepicker.js +0 -1
- package/dist/collection/components/wm-toggletip/wm-toggletip.js +0 -1
- package/dist/collection/components/wm-uploader/wm-network-uploader/wm-network-uploader.js +0 -1
- package/dist/collection/components/wm-uploader/wm-uploader.js +0 -1
- package/dist/collection/components/wm-wrapper/wm-wrapper.js +0 -1
- package/dist/collection/global/__mocks__/functions.js +0 -1
- package/dist/collection/global/functions.js +0 -1
- package/dist/collection/global/global.js +0 -1
- package/dist/collection/global/interfaces.js +0 -1
- package/dist/collection/global/intl.js +0 -1
- package/dist/collection/global/services/__mocks__/http-service.js +0 -1
- package/dist/collection/global/services/http-service.js +0 -1
- package/dist/collection/lang/lang.js +0 -1
- package/dist/esm/chartFunctions-a72f5835.js +0 -2
- package/dist/esm/functions-dc9964aa.js +0 -2
- package/dist/{cjs/global-d0584d18.js → esm/global-df3a199e.js} +1 -5
- package/dist/esm/http-service-5d037e16.js +0 -2
- package/dist/esm/index-84a6ae22.js +0 -2
- package/dist/esm/index.js +0 -2
- package/dist/esm/interfaces-61c6305b.js +0 -2
- package/dist/esm/intl-4d4826dd.js +0 -2
- package/dist/esm/loader.js +1 -3
- package/dist/esm/priv-chart-popover.entry.js +0 -2
- package/dist/esm/priv-datepicker.entry.js +0 -2
- package/dist/esm/priv-navigator-button.entry.js +0 -2
- package/dist/esm/priv-navigator-item.entry.js +0 -2
- package/dist/esm/ripple.js +1 -3
- package/dist/esm/wm-action-menu_2.entry.js +0 -2
- package/dist/esm/wm-button.entry.js +0 -2
- package/dist/esm/wm-chart-slice.entry.js +0 -2
- package/dist/esm/wm-chart.entry.js +0 -2
- package/dist/esm/wm-datepicker.entry.js +0 -2
- package/dist/esm/wm-file-list.entry.js +0 -2
- package/dist/esm/wm-file.entry.js +0 -2
- package/dist/esm/wm-input.entry.js +0 -2
- package/dist/esm/wm-modal-footer.entry.js +0 -2
- package/dist/esm/wm-modal-header.entry.js +0 -2
- package/dist/esm/wm-modal.entry.js +0 -2
- package/dist/esm/wm-navigation_3.entry.js +0 -2
- package/dist/esm/wm-navigator.entry.js +0 -2
- package/dist/esm/wm-network-uploader.entry.js +0 -2
- package/dist/esm/wm-option_2.entry.js +0 -2
- package/dist/esm/wm-pagination.entry.js +0 -2
- package/dist/esm/wm-progress-indicator_3.entry.js +0 -2
- package/dist/esm/wm-search.entry.js +0 -2
- package/dist/esm/wm-snackbar.entry.js +0 -2
- package/dist/esm/wm-tab-item_3.entry.js +0 -2
- package/dist/esm/wm-tag-input-row.entry.js +0 -2
- package/dist/esm/wm-tag-input.entry.js +0 -2
- package/dist/esm/wm-timepicker.entry.js +0 -2
- package/dist/esm/wm-toggletip.entry.js +0 -2
- package/dist/esm/wm-uploader.entry.js +0 -2
- package/dist/esm/wm-wrapper.entry.js +0 -2
- package/dist/esm-es5/chartFunctions-a72f5835.js +1 -2
- package/dist/esm-es5/functions-dc9964aa.js +1 -2
- package/dist/esm-es5/{global-3d0ef32b.js → global-df3a199e.js} +1 -2
- package/dist/esm-es5/http-service-5d037e16.js +1 -2
- package/dist/esm-es5/index-84a6ae22.js +1 -2
- package/dist/esm-es5/index.js +0 -2
- package/dist/esm-es5/interfaces-61c6305b.js +1 -2
- package/dist/esm-es5/intl-4d4826dd.js +1 -2
- package/dist/esm-es5/loader.js +1 -2
- package/dist/esm-es5/priv-chart-popover.entry.js +1 -2
- package/dist/esm-es5/priv-datepicker.entry.js +1 -2
- package/dist/esm-es5/priv-navigator-button.entry.js +1 -2
- package/dist/esm-es5/priv-navigator-item.entry.js +1 -2
- package/dist/esm-es5/ripple.js +1 -2
- package/dist/esm-es5/wm-action-menu_2.entry.js +1 -2
- package/dist/esm-es5/wm-button.entry.js +1 -2
- package/dist/esm-es5/wm-chart-slice.entry.js +1 -2
- package/dist/esm-es5/wm-chart.entry.js +1 -2
- package/dist/esm-es5/wm-datepicker.entry.js +1 -2
- package/dist/esm-es5/wm-file-list.entry.js +1 -2
- package/dist/esm-es5/wm-file.entry.js +1 -2
- package/dist/esm-es5/wm-input.entry.js +1 -2
- package/dist/esm-es5/wm-modal-footer.entry.js +1 -2
- package/dist/esm-es5/wm-modal-header.entry.js +1 -2
- package/dist/esm-es5/wm-modal.entry.js +1 -2
- package/dist/esm-es5/wm-navigation_3.entry.js +1 -2
- package/dist/esm-es5/wm-navigator.entry.js +1 -2
- package/dist/esm-es5/wm-network-uploader.entry.js +1 -2
- package/dist/esm-es5/wm-option_2.entry.js +1 -2
- package/dist/esm-es5/wm-pagination.entry.js +1 -2
- package/dist/esm-es5/wm-progress-indicator_3.entry.js +1 -2
- package/dist/esm-es5/wm-search.entry.js +1 -2
- package/dist/esm-es5/wm-snackbar.entry.js +1 -2
- package/dist/esm-es5/wm-tab-item_3.entry.js +1 -2
- package/dist/esm-es5/wm-tag-input-row.entry.js +1 -2
- package/dist/esm-es5/wm-tag-input.entry.js +1 -2
- package/dist/esm-es5/wm-timepicker.entry.js +1 -2
- package/dist/esm-es5/wm-toggletip.entry.js +1 -2
- package/dist/esm-es5/wm-uploader.entry.js +1 -2
- package/dist/esm-es5/wm-wrapper.entry.js +1 -2
- package/dist/ripple/index.esm.js +0 -2
- package/dist/ripple/p-0088b69e.entry.js +1 -0
- package/dist/ripple/p-03dc49f5.entry.js +1 -0
- package/dist/ripple/p-04ae66fd.system.entry.js +1 -2
- package/dist/ripple/p-08b7ec08.system.js +1 -2
- package/dist/ripple/p-0cd13c7d.system.entry.js +1 -2
- package/dist/ripple/p-0eb7b1b7.system.entry.js +1 -2
- package/dist/ripple/p-1c23de4a.js +2 -3
- package/dist/ripple/p-1fd20e05.system.entry.js +1 -2
- package/dist/ripple/p-23fa1ff6.system.entry.js +1 -2
- package/dist/ripple/{p-c68b3798.system.js → p-2420f4a7.system.js} +1 -2
- package/dist/ripple/p-24a4cb11.system.entry.js +1 -2
- package/dist/ripple/p-2c2a7092.system.entry.js +1 -2
- package/dist/ripple/p-2e6cb291.entry.js +1 -0
- package/dist/ripple/p-313b6073.system.js +1 -2
- package/dist/ripple/p-32a0290e.entry.js +1 -0
- package/dist/ripple/p-33558ec4.system.entry.js +1 -2
- package/dist/ripple/p-33ec18d4.system.entry.js +1 -2
- package/dist/ripple/p-3759b7af.system.entry.js +1 -2
- package/dist/ripple/p-38449dff.system.entry.js +1 -2
- package/dist/ripple/p-3869a69e.system.entry.js +1 -2
- package/dist/ripple/p-41317448.entry.js +1 -0
- package/dist/ripple/p-42678edc.entry.js +1 -0
- package/dist/ripple/p-43087c29.entry.js +1 -0
- package/dist/ripple/p-4a06d0a9.system.entry.js +1 -2
- package/dist/ripple/p-4d95f00e.entry.js +1 -0
- package/dist/ripple/p-4da9a006.entry.js +1 -0
- package/dist/ripple/p-4fc5e960.entry.js +1 -0
- package/dist/ripple/p-50ea2036.system.js +1 -2
- package/dist/ripple/p-53dc8244.js +1 -0
- package/dist/ripple/p-54750f05.entry.js +1 -0
- package/dist/ripple/p-5f8ab2e0.entry.js +1 -0
- package/dist/ripple/p-62db31c4.entry.js +1 -0
- package/dist/ripple/p-6bb88663.entry.js +1 -0
- package/dist/ripple/p-6ff7d4ff.entry.js +1 -0
- package/dist/ripple/p-7b2fc615.system.js +1 -2
- package/dist/ripple/p-833c622f.system.entry.js +1 -2
- package/dist/ripple/p-8613600d.system.entry.js +1 -2
- package/dist/ripple/p-888bec42.js +1 -2
- package/dist/ripple/p-8909ff66.entry.js +1 -0
- package/dist/ripple/p-8c51e9f8.system.entry.js +1 -2
- package/dist/ripple/p-91deb45f.system.entry.js +1 -2
- package/dist/ripple/p-9338011f.system.entry.js +1 -2
- package/dist/ripple/p-976b2789.system.entry.js +1 -2
- package/dist/ripple/p-994303f2.js +1 -2
- package/dist/ripple/p-9ad1819e.entry.js +1 -0
- package/dist/ripple/p-9b2dfb54.js +1 -2
- package/dist/ripple/p-a6d64d8a.system.entry.js +1 -2
- package/dist/ripple/p-a6d6eae7.js +1 -2
- package/dist/ripple/p-a73cf968.system.entry.js +1 -2
- package/dist/ripple/p-abf0a64f.entry.js +1 -0
- package/dist/ripple/p-aed625c1.system.entry.js +1 -2
- package/dist/ripple/{p-4391166c.entry.js → p-b0bc9fd4.entry.js} +1 -2
- package/dist/ripple/p-b5b521e4.system.entry.js +1 -2
- package/dist/ripple/p-b5ffe399.entry.js +1 -0
- package/dist/ripple/p-b7451e73.system.entry.js +1 -2
- package/dist/ripple/p-bafdcb4e.system.entry.js +1 -2
- package/dist/ripple/p-bd84628c.system.entry.js +1 -2
- package/dist/ripple/p-beac2d5d.entry.js +1 -0
- package/dist/ripple/p-bfb35465.entry.js +1 -0
- package/dist/ripple/p-c36002b6.system.js +1 -2
- package/dist/ripple/p-c6a0f7e5.js +1 -2
- package/dist/ripple/p-c733a478.entry.js +1 -0
- package/dist/ripple/p-d2c26e15.entry.js +1 -0
- package/dist/ripple/p-d81bea1e.entry.js +1 -0
- package/dist/ripple/p-d8bae6cb.entry.js +1 -0
- package/dist/ripple/p-d9d21df5.entry.js +1 -0
- package/dist/ripple/p-dbfd1640.system.entry.js +1 -2
- package/dist/ripple/{p-0826dc64.system.js → p-dc80494f.system.js} +1 -2
- package/dist/ripple/p-e2d947db.entry.js +1 -0
- package/dist/ripple/p-e8b38f36.entry.js +1 -0
- package/dist/ripple/p-f0fd8695.system.js +1 -2
- package/dist/ripple/p-f312d59a.system.entry.js +1 -2
- package/dist/ripple/p-f59a495a.system.entry.js +1 -2
- package/dist/ripple/p-f80eb8a5.system.js +1 -2
- package/dist/ripple/p-fb5fe2bd.entry.js +1 -0
- package/dist/ripple/p-fb67c39e.system.entry.js +1 -2
- package/dist/ripple/ripple.esm.js +1 -2
- package/dist/ripple/ripple.js +1 -1
- package/package.json +1 -1
- package/dist/cjs/chartFunctions-2f04ab6a.js.map +0 -1
- package/dist/cjs/functions-d2d99997.js.map +0 -1
- package/dist/cjs/global-d0584d18.js.map +0 -1
- package/dist/cjs/http-service-9e8c4dd5.js.map +0 -1
- package/dist/cjs/index-1f84c034.js.map +0 -1
- package/dist/cjs/index.cjs.js.map +0 -1
- package/dist/cjs/interfaces-30a74c1f.js.map +0 -1
- package/dist/cjs/intl-a1ccf587.js.map +0 -1
- package/dist/cjs/loader.cjs.js.map +0 -1
- package/dist/cjs/priv-chart-popover.cjs.entry.js.map +0 -1
- package/dist/cjs/priv-datepicker.cjs.entry.js.map +0 -1
- package/dist/cjs/priv-navigator-button.cjs.entry.js.map +0 -1
- package/dist/cjs/priv-navigator-item.cjs.entry.js.map +0 -1
- package/dist/cjs/ripple.cjs.js.map +0 -1
- package/dist/cjs/wm-action-menu_2.cjs.entry.js.map +0 -1
- package/dist/cjs/wm-button.cjs.entry.js.map +0 -1
- package/dist/cjs/wm-chart-slice.cjs.entry.js.map +0 -1
- package/dist/cjs/wm-chart.cjs.entry.js.map +0 -1
- package/dist/cjs/wm-datepicker.cjs.entry.js.map +0 -1
- package/dist/cjs/wm-file-list.cjs.entry.js.map +0 -1
- package/dist/cjs/wm-file.cjs.entry.js.map +0 -1
- package/dist/cjs/wm-input.cjs.entry.js.map +0 -1
- package/dist/cjs/wm-modal-footer.cjs.entry.js.map +0 -1
- package/dist/cjs/wm-modal-header.cjs.entry.js.map +0 -1
- package/dist/cjs/wm-modal.cjs.entry.js.map +0 -1
- package/dist/cjs/wm-navigation_3.cjs.entry.js.map +0 -1
- package/dist/cjs/wm-navigator.cjs.entry.js.map +0 -1
- package/dist/cjs/wm-network-uploader.cjs.entry.js.map +0 -1
- package/dist/cjs/wm-option_2.cjs.entry.js.map +0 -1
- package/dist/cjs/wm-pagination.cjs.entry.js.map +0 -1
- package/dist/cjs/wm-progress-indicator_3.cjs.entry.js.map +0 -1
- package/dist/cjs/wm-search.cjs.entry.js.map +0 -1
- package/dist/cjs/wm-snackbar.cjs.entry.js.map +0 -1
- package/dist/cjs/wm-tab-item_3.cjs.entry.js.map +0 -1
- package/dist/cjs/wm-tag-input-row.cjs.entry.js.map +0 -1
- package/dist/cjs/wm-tag-input.cjs.entry.js.map +0 -1
- package/dist/cjs/wm-timepicker.cjs.entry.js.map +0 -1
- package/dist/cjs/wm-toggletip.cjs.entry.js.map +0 -1
- package/dist/cjs/wm-uploader.cjs.entry.js.map +0 -1
- package/dist/cjs/wm-wrapper.cjs.entry.js.map +0 -1
- package/dist/collection/components/charts/chartFunctions.js.map +0 -1
- package/dist/collection/components/charts/priv-chart-popover/priv-chart-popover.js.map +0 -1
- package/dist/collection/components/charts/wm-chart/wm-chart-slice.js.map +0 -1
- package/dist/collection/components/charts/wm-chart/wm-chart.js.map +0 -1
- package/dist/collection/components/charts/wm-progress-monitor/wm-progress-indicator.js.map +0 -1
- package/dist/collection/components/charts/wm-progress-monitor/wm-progress-monitor.js.map +0 -1
- package/dist/collection/components/charts/wm-progress-monitor/wm-progress-slice.js.map +0 -1
- package/dist/collection/components/wm-action-menu/wm-action-menu.js.map +0 -1
- package/dist/collection/components/wm-button/wm-button.js.map +0 -1
- package/dist/collection/components/wm-datepicker/priv-datepicker/priv-datepicker.js.map +0 -1
- package/dist/collection/components/wm-datepicker/wm-datepicker.js.map +0 -1
- package/dist/collection/components/wm-file/wm-file.js.map +0 -1
- package/dist/collection/components/wm-file-list/wm-file-list.js.map +0 -1
- package/dist/collection/components/wm-input/wm-input.js.map +0 -1
- package/dist/collection/components/wm-menuitem/wm-menuitem.js.map +0 -1
- package/dist/collection/components/wm-modal/wm-modal-footer.js.map +0 -1
- package/dist/collection/components/wm-modal/wm-modal-header.js.map +0 -1
- package/dist/collection/components/wm-modal/wm-modal.js.map +0 -1
- package/dist/collection/components/wm-navigation/wm-navigation-hamburger.js.map +0 -1
- package/dist/collection/components/wm-navigation/wm-navigation-item.js.map +0 -1
- package/dist/collection/components/wm-navigation/wm-navigation.js.map +0 -1
- package/dist/collection/components/wm-navigator/priv-navigator-button/priv-navigator-button.js.map +0 -1
- package/dist/collection/components/wm-navigator/priv-navigator-item/priv-navigator-item.js.map +0 -1
- package/dist/collection/components/wm-navigator/wm-navigator.js.map +0 -1
- package/dist/collection/components/wm-option/wm-option.js.map +0 -1
- package/dist/collection/components/wm-pagination/wm-pagination.js.map +0 -1
- package/dist/collection/components/wm-search/wm-search.js.map +0 -1
- package/dist/collection/components/wm-select/wm-select.js.map +0 -1
- package/dist/collection/components/wm-snackbar/wm-snackbar.js.map +0 -1
- package/dist/collection/components/wm-tabs/wm-tab-item/wm-tab-item.js.map +0 -1
- package/dist/collection/components/wm-tabs/wm-tab-list/wm-tab-list.js.map +0 -1
- package/dist/collection/components/wm-tabs/wm-tab-panel/wm-tab-panel.js.map +0 -1
- package/dist/collection/components/wm-tag-input/wm-tag-input-row/wm-tag-input-row.js.map +0 -1
- package/dist/collection/components/wm-tag-input/wm-tag-input.js.map +0 -1
- package/dist/collection/components/wm-timepicker/wm-timepicker.js.map +0 -1
- package/dist/collection/components/wm-toggletip/wm-toggletip.js.map +0 -1
- package/dist/collection/components/wm-uploader/wm-network-uploader/wm-network-uploader.js.map +0 -1
- package/dist/collection/components/wm-uploader/wm-uploader.js.map +0 -1
- package/dist/collection/components/wm-wrapper/wm-wrapper.js.map +0 -1
- package/dist/collection/global/__mocks__/functions.js.map +0 -1
- package/dist/collection/global/functions.js.map +0 -1
- package/dist/collection/global/global.js.map +0 -1
- package/dist/collection/global/interfaces.js.map +0 -1
- package/dist/collection/global/intl.js.map +0 -1
- package/dist/collection/global/services/__mocks__/http-service.js.map +0 -1
- package/dist/collection/global/services/http-service.js.map +0 -1
- package/dist/collection/lang/lang.js.map +0 -1
- package/dist/esm/chartFunctions-a72f5835.js.map +0 -1
- package/dist/esm/functions-dc9964aa.js.map +0 -1
- package/dist/esm/global-3d0ef32b.js.map +0 -1
- package/dist/esm/http-service-5d037e16.js.map +0 -1
- package/dist/esm/index-84a6ae22.js.map +0 -1
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/interfaces-61c6305b.js.map +0 -1
- package/dist/esm/intl-4d4826dd.js.map +0 -1
- package/dist/esm/loader.js.map +0 -1
- package/dist/esm/priv-chart-popover.entry.js.map +0 -1
- package/dist/esm/priv-datepicker.entry.js.map +0 -1
- package/dist/esm/priv-navigator-button.entry.js.map +0 -1
- package/dist/esm/priv-navigator-item.entry.js.map +0 -1
- package/dist/esm/ripple.js.map +0 -1
- package/dist/esm/wm-action-menu_2.entry.js.map +0 -1
- package/dist/esm/wm-button.entry.js.map +0 -1
- package/dist/esm/wm-chart-slice.entry.js.map +0 -1
- package/dist/esm/wm-chart.entry.js.map +0 -1
- package/dist/esm/wm-datepicker.entry.js.map +0 -1
- package/dist/esm/wm-file-list.entry.js.map +0 -1
- package/dist/esm/wm-file.entry.js.map +0 -1
- package/dist/esm/wm-input.entry.js.map +0 -1
- package/dist/esm/wm-modal-footer.entry.js.map +0 -1
- package/dist/esm/wm-modal-header.entry.js.map +0 -1
- package/dist/esm/wm-modal.entry.js.map +0 -1
- package/dist/esm/wm-navigation_3.entry.js.map +0 -1
- package/dist/esm/wm-navigator.entry.js.map +0 -1
- package/dist/esm/wm-network-uploader.entry.js.map +0 -1
- package/dist/esm/wm-option_2.entry.js.map +0 -1
- package/dist/esm/wm-pagination.entry.js.map +0 -1
- package/dist/esm/wm-progress-indicator_3.entry.js.map +0 -1
- package/dist/esm/wm-search.entry.js.map +0 -1
- package/dist/esm/wm-snackbar.entry.js.map +0 -1
- package/dist/esm/wm-tab-item_3.entry.js.map +0 -1
- package/dist/esm/wm-tag-input-row.entry.js.map +0 -1
- package/dist/esm/wm-tag-input.entry.js.map +0 -1
- package/dist/esm/wm-timepicker.entry.js.map +0 -1
- package/dist/esm/wm-toggletip.entry.js.map +0 -1
- package/dist/esm/wm-uploader.entry.js.map +0 -1
- package/dist/esm/wm-wrapper.entry.js.map +0 -1
- package/dist/esm-es5/chartFunctions-a72f5835.js.map +0 -1
- package/dist/esm-es5/functions-dc9964aa.js.map +0 -1
- package/dist/esm-es5/global-3d0ef32b.js.map +0 -1
- package/dist/esm-es5/http-service-5d037e16.js.map +0 -1
- package/dist/esm-es5/index-84a6ae22.js.map +0 -1
- package/dist/esm-es5/index.js.map +0 -1
- package/dist/esm-es5/interfaces-61c6305b.js.map +0 -1
- package/dist/esm-es5/intl-4d4826dd.js.map +0 -1
- package/dist/esm-es5/loader.js.map +0 -1
- package/dist/esm-es5/priv-chart-popover.entry.js.map +0 -1
- package/dist/esm-es5/priv-datepicker.entry.js.map +0 -1
- package/dist/esm-es5/priv-navigator-button.entry.js.map +0 -1
- package/dist/esm-es5/priv-navigator-item.entry.js.map +0 -1
- package/dist/esm-es5/ripple.js.map +0 -1
- package/dist/esm-es5/wm-action-menu_2.entry.js.map +0 -1
- package/dist/esm-es5/wm-button.entry.js.map +0 -1
- package/dist/esm-es5/wm-chart-slice.entry.js.map +0 -1
- package/dist/esm-es5/wm-chart.entry.js.map +0 -1
- package/dist/esm-es5/wm-datepicker.entry.js.map +0 -1
- package/dist/esm-es5/wm-file-list.entry.js.map +0 -1
- package/dist/esm-es5/wm-file.entry.js.map +0 -1
- package/dist/esm-es5/wm-input.entry.js.map +0 -1
- package/dist/esm-es5/wm-modal-footer.entry.js.map +0 -1
- package/dist/esm-es5/wm-modal-header.entry.js.map +0 -1
- package/dist/esm-es5/wm-modal.entry.js.map +0 -1
- package/dist/esm-es5/wm-navigation_3.entry.js.map +0 -1
- package/dist/esm-es5/wm-navigator.entry.js.map +0 -1
- package/dist/esm-es5/wm-network-uploader.entry.js.map +0 -1
- package/dist/esm-es5/wm-option_2.entry.js.map +0 -1
- package/dist/esm-es5/wm-pagination.entry.js.map +0 -1
- package/dist/esm-es5/wm-progress-indicator_3.entry.js.map +0 -1
- package/dist/esm-es5/wm-search.entry.js.map +0 -1
- package/dist/esm-es5/wm-snackbar.entry.js.map +0 -1
- package/dist/esm-es5/wm-tab-item_3.entry.js.map +0 -1
- package/dist/esm-es5/wm-tag-input-row.entry.js.map +0 -1
- package/dist/esm-es5/wm-tag-input.entry.js.map +0 -1
- package/dist/esm-es5/wm-timepicker.entry.js.map +0 -1
- package/dist/esm-es5/wm-toggletip.entry.js.map +0 -1
- package/dist/esm-es5/wm-uploader.entry.js.map +0 -1
- package/dist/esm-es5/wm-wrapper.entry.js.map +0 -1
- package/dist/ripple/index.esm.js.map +0 -1
- package/dist/ripple/p-002d067e.entry.js +0 -2
- package/dist/ripple/p-002d067e.entry.js.map +0 -1
- package/dist/ripple/p-02a1000a.entry.js +0 -2
- package/dist/ripple/p-02a1000a.entry.js.map +0 -1
- package/dist/ripple/p-04ae66fd.system.entry.js.map +0 -1
- package/dist/ripple/p-0826dc64.system.js.map +0 -1
- package/dist/ripple/p-08b7ec08.system.js.map +0 -1
- package/dist/ripple/p-0ad3a708.entry.js +0 -2
- package/dist/ripple/p-0ad3a708.entry.js.map +0 -1
- package/dist/ripple/p-0cd13c7d.system.entry.js.map +0 -1
- package/dist/ripple/p-0d7bccf7.entry.js +0 -2
- package/dist/ripple/p-0d7bccf7.entry.js.map +0 -1
- package/dist/ripple/p-0eb7b1b7.system.entry.js.map +0 -1
- package/dist/ripple/p-11124a23.entry.js +0 -2
- package/dist/ripple/p-11124a23.entry.js.map +0 -1
- package/dist/ripple/p-1808b90a.entry.js +0 -2
- package/dist/ripple/p-1808b90a.entry.js.map +0 -1
- package/dist/ripple/p-1c23de4a.js.map +0 -1
- package/dist/ripple/p-1fd20e05.system.entry.js.map +0 -1
- package/dist/ripple/p-23fa1ff6.system.entry.js.map +0 -1
- package/dist/ripple/p-24a4cb11.system.entry.js.map +0 -1
- package/dist/ripple/p-2c2a7092.system.entry.js.map +0 -1
- package/dist/ripple/p-313b6073.system.js.map +0 -1
- package/dist/ripple/p-33558ec4.system.entry.js.map +0 -1
- package/dist/ripple/p-33ec18d4.system.entry.js.map +0 -1
- package/dist/ripple/p-341aa131.entry.js +0 -2
- package/dist/ripple/p-341aa131.entry.js.map +0 -1
- package/dist/ripple/p-3759b7af.system.entry.js.map +0 -1
- package/dist/ripple/p-38449dff.system.entry.js.map +0 -1
- package/dist/ripple/p-384c4981.entry.js +0 -2
- package/dist/ripple/p-384c4981.entry.js.map +0 -1
- package/dist/ripple/p-3869a69e.system.entry.js.map +0 -1
- package/dist/ripple/p-4391166c.entry.js.map +0 -1
- package/dist/ripple/p-43be123d.entry.js +0 -2
- package/dist/ripple/p-43be123d.entry.js.map +0 -1
- package/dist/ripple/p-4a014591.entry.js +0 -2
- package/dist/ripple/p-4a014591.entry.js.map +0 -1
- package/dist/ripple/p-4a06d0a9.system.entry.js.map +0 -1
- package/dist/ripple/p-4e02e2ae.entry.js +0 -2
- package/dist/ripple/p-4e02e2ae.entry.js.map +0 -1
- package/dist/ripple/p-50ea2036.system.js.map +0 -1
- package/dist/ripple/p-56cd4d5e.entry.js +0 -2
- package/dist/ripple/p-56cd4d5e.entry.js.map +0 -1
- package/dist/ripple/p-59654f8e.entry.js +0 -2
- package/dist/ripple/p-59654f8e.entry.js.map +0 -1
- package/dist/ripple/p-5cc287d2.entry.js +0 -2
- package/dist/ripple/p-5cc287d2.entry.js.map +0 -1
- package/dist/ripple/p-7b2fc615.system.js.map +0 -1
- package/dist/ripple/p-7e0e6b00.entry.js +0 -2
- package/dist/ripple/p-7e0e6b00.entry.js.map +0 -1
- package/dist/ripple/p-833c622f.system.entry.js.map +0 -1
- package/dist/ripple/p-8613600d.system.entry.js.map +0 -1
- package/dist/ripple/p-888bec42.js.map +0 -1
- package/dist/ripple/p-889579fc.entry.js +0 -2
- package/dist/ripple/p-889579fc.entry.js.map +0 -1
- package/dist/ripple/p-8c51e9f8.system.entry.js.map +0 -1
- package/dist/ripple/p-8db604d2.entry.js +0 -2
- package/dist/ripple/p-8db604d2.entry.js.map +0 -1
- package/dist/ripple/p-91deb45f.system.entry.js.map +0 -1
- package/dist/ripple/p-9338011f.system.entry.js.map +0 -1
- package/dist/ripple/p-976b2789.system.entry.js.map +0 -1
- package/dist/ripple/p-994303f2.js.map +0 -1
- package/dist/ripple/p-9b2dfb54.js.map +0 -1
- package/dist/ripple/p-9b9eb944.entry.js +0 -2
- package/dist/ripple/p-9b9eb944.entry.js.map +0 -1
- package/dist/ripple/p-a6d64d8a.system.entry.js.map +0 -1
- package/dist/ripple/p-a6d6eae7.js.map +0 -1
- package/dist/ripple/p-a73cf968.system.entry.js.map +0 -1
- package/dist/ripple/p-aed625c1.system.entry.js.map +0 -1
- package/dist/ripple/p-b5b521e4.system.entry.js.map +0 -1
- package/dist/ripple/p-b7451e73.system.entry.js.map +0 -1
- package/dist/ripple/p-bafdcb4e.system.entry.js.map +0 -1
- package/dist/ripple/p-bb45e122.entry.js +0 -2
- package/dist/ripple/p-bb45e122.entry.js.map +0 -1
- package/dist/ripple/p-bd84628c.system.entry.js.map +0 -1
- package/dist/ripple/p-bf569af0.entry.js +0 -2
- package/dist/ripple/p-bf569af0.entry.js.map +0 -1
- package/dist/ripple/p-c094f6a8.entry.js +0 -2
- package/dist/ripple/p-c094f6a8.entry.js.map +0 -1
- package/dist/ripple/p-c36002b6.system.js.map +0 -1
- package/dist/ripple/p-c5bf7db8.entry.js +0 -2
- package/dist/ripple/p-c5bf7db8.entry.js.map +0 -1
- package/dist/ripple/p-c68b3798.system.js.map +0 -1
- package/dist/ripple/p-c6a0f7e5.js.map +0 -1
- package/dist/ripple/p-d46f5794.entry.js +0 -2
- package/dist/ripple/p-d46f5794.entry.js.map +0 -1
- package/dist/ripple/p-d48313e0.entry.js +0 -2
- package/dist/ripple/p-d48313e0.entry.js.map +0 -1
- package/dist/ripple/p-d939cb54.entry.js +0 -2
- package/dist/ripple/p-d939cb54.entry.js.map +0 -1
- package/dist/ripple/p-dbfd1640.system.entry.js.map +0 -1
- package/dist/ripple/p-e22854c1.entry.js +0 -2
- package/dist/ripple/p-e22854c1.entry.js.map +0 -1
- package/dist/ripple/p-e70bb79f.js +0 -2
- package/dist/ripple/p-e70bb79f.js.map +0 -1
- package/dist/ripple/p-ed82573a.entry.js +0 -2
- package/dist/ripple/p-ed82573a.entry.js.map +0 -1
- package/dist/ripple/p-f0fd8695.system.js.map +0 -1
- package/dist/ripple/p-f312d59a.system.entry.js.map +0 -1
- package/dist/ripple/p-f59a495a.system.entry.js.map +0 -1
- package/dist/ripple/p-f80eb8a5.system.js.map +0 -1
- package/dist/ripple/p-fb67c39e.system.entry.js.map +0 -1
- package/dist/ripple/p-fc08d5e1.entry.js +0 -2
- package/dist/ripple/p-fc08d5e1.entry.js.map +0 -1
- package/dist/ripple/p-fe7da854.entry.js +0 -2
- package/dist/ripple/p-fe7da854.entry.js.map +0 -1
- package/dist/ripple/ripple.esm.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"priv-datepicker.js","sourceRoot":"","sources":["../../../../../src/components/wm-datepicker/priv-datepicker/priv-datepicker.tsx"],"names":[],"mappings":"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","sourcesContent":["import { h, Component, Prop, Element, Event, EventEmitter, Listen, State } from \"@stencil/core\";\nimport { forceUpdate } from \"@stencil/core\";\nimport { intl, hasRoomRight, shouldOpenUp } from \"../../../global/functions\";\n\n@Component({\n tag: \"priv-datepicker\",\n styleUrl: \"priv-datepicker.scss\",\n})\nexport class PrivDatepicker {\n @Element() el!: HTMLPrivDatepickerElement;\n\n @Prop() disabled: boolean = false;\n @Prop({ mutable: true, reflect: true }) isExpanded: boolean = false;\n @Prop({ mutable: true, reflect: true }) view: string = \"day\";\n @Prop({ mutable: true, reflect: true }) date: Date = new Date();\n @Prop({ mutable: true }) selectedYear: number = this.date.getUTCFullYear();\n @Prop({ mutable: true }) selectedMonth: number = this.date.getUTCMonth() + 1;\n @Prop({ mutable: true }) selectedDay: number = this.date.getUTCDate();\n @Prop({ mutable: true }) monthInFocus: number = this.selectedMonth;\n @Prop({ mutable: true }) yearInFocus: number = this.selectedYear;\n @Prop({ mutable: true }) dayInFocus: number = this.selectedDay;\n @State() monthNumInFocus: number = this.selectedMonth;\n @Prop({ mutable: true, reflect: true }) parentId: string = \"\";\n\n @State() isTabbing: boolean = false;\n\n selectedDate!: HTMLTableCellElement;\n\n @Event() cellTriggered!: EventEmitter<HTMLElement>;\n @Event() toggleButtonClicked!: EventEmitter<HTMLButtonElement>;\n @Event() popupClosed!: EventEmitter;\n @Event() popupBlurred!: EventEmitter<{ relatedTarget: EventTarget | null }>;\n\n private popupEl?: HTMLElement;\n private buttonEl!: HTMLButtonElement;\n private popupClicked: boolean = true;\n private buttonClicked: boolean = true;\n private prevButton!: HTMLButtonElement;\n private nextButton!: HTMLButtonElement;\n private prevClicked: boolean = true;\n private nextClicked: boolean = true;\n private openUp: boolean = false;\n\n private calendar_months: Array<string> = [\n intl.formatMessage({\n id: \"date.january\",\n defaultMessage: \"January\",\n description: \"Month of the year\",\n }),\n intl.formatMessage({\n id: \"date.february\",\n defaultMessage: \"February\",\n description: \"Month of the year\",\n }),\n intl.formatMessage({\n id: \"date.march\",\n defaultMessage: \"March\",\n description: \"Month of the year\",\n }),\n intl.formatMessage({\n id: \"date.april\",\n defaultMessage: \"April\",\n description: \"Month of the year\",\n }),\n intl.formatMessage({\n id: \"date.may\",\n defaultMessage: \"May\",\n description: \"Month of the year\",\n }),\n intl.formatMessage({\n id: \"date.june\",\n defaultMessage: \"June\",\n description: \"Month of the year\",\n }),\n intl.formatMessage({\n id: \"date.july\",\n defaultMessage: \"July\",\n description: \"Month of the year\",\n }),\n intl.formatMessage({\n id: \"date.august\",\n defaultMessage: \"August\",\n description: \"Month of the year\",\n }),\n intl.formatMessage({\n id: \"date.september\",\n defaultMessage: \"September\",\n description: \"Month of the year\",\n }),\n intl.formatMessage({\n id: \"date.october\",\n defaultMessage: \"October\",\n description: \"Month of the year\",\n }),\n intl.formatMessage({\n id: \"date.november\",\n defaultMessage: \"November\",\n description: \"Month of the year\",\n }),\n intl.formatMessage({\n id: \"date.december\",\n defaultMessage: \"December\",\n description: \"Month of the year\",\n }),\n ];\n\n private weekdays: Array<string> = [\n intl.formatMessage({ id: \"date.sunday\", defaultMessage: \"Sunday\" }),\n intl.formatMessage({ id: \"date.monday\", defaultMessage: \"Monday\" }),\n intl.formatMessage({ id: \"date.tuesday\", defaultMessage: \"Tuesday\" }),\n intl.formatMessage({ id: \"date.wednesday\", defaultMessage: \"Wednesday\" }),\n intl.formatMessage({ id: \"date.thursday\", defaultMessage: \"Thursday\" }),\n intl.formatMessage({ id: \"date.friday\", defaultMessage: \"Friday\" }),\n intl.formatMessage({ id: \"date.saturday\", defaultMessage: \"Saturday\" }),\n ];\n\n @Listen(\"keydown\")\n handleKey(ev: KeyboardEvent): void {\n this.prevClicked = false;\n this.nextClicked = false;\n\n switch (ev.key) {\n case \"Enter\":\n ev.preventDefault();\n //Clunky exception for blur validation. Remove when blur reworked.\n !(ev.target as HTMLElement).id.includes(\"popup-title\") && (ev.target as HTMLElement)!.click();\n break;\n\n case \"Escape\":\n ev.preventDefault();\n if (this.isExpanded) {\n ev.stopPropagation(); // prevents closing of parent modal\n this.closePopup(true);\n }\n break;\n\n case \"PageUp\":\n ev.preventDefault();\n this.backOneMonth();\n break;\n\n case \"PageDown\":\n ev.preventDefault();\n this.forwardOneMonth();\n break;\n\n case \"Home\":\n ev.preventDefault();\n this.unfocusCell();\n this.dayInFocus = 1;\n forceUpdate(this.el);\n break;\n\n case \"End\":\n ev.preventDefault();\n this.unfocusCell();\n this.dayInFocus = this.getMonthDays(this.monthInFocus, this.yearInFocus);\n forceUpdate(this.el);\n break;\n\n case \"ArrowLeft\":\n ev.preventDefault();\n if (this.view === \"day\") {\n this.unfocusCell();\n if (this.dayInFocus === 1) {\n const newMonth = this.getPreviousMonth(this.monthInFocus, this.yearInFocus);\n this.monthInFocus = newMonth.month;\n this.yearInFocus = newMonth.year;\n this.dayInFocus = this.getMonthDays(this.monthInFocus, this.yearInFocus);\n } else {\n this.dayInFocus -= 1;\n }\n } else {\n this.unfocusMonth();\n if (this.monthNumInFocus === 0) {\n this.monthNumInFocus = 11;\n } else {\n this.monthNumInFocus -= 1;\n }\n }\n break;\n\n case \"ArrowRight\":\n ev.preventDefault();\n if (this.view === \"day\") {\n this.unfocusCell();\n if (this.dayInFocus === this.getMonthDays(this.monthInFocus, this.yearInFocus)) {\n const newMonth = this.getNextMonth(this.monthInFocus, this.yearInFocus);\n this.monthInFocus = newMonth.month;\n this.yearInFocus = newMonth.year;\n this.dayInFocus = 1;\n } else {\n this.dayInFocus += 1;\n }\n } else {\n this.unfocusMonth();\n if (this.monthNumInFocus === 11) {\n this.monthNumInFocus = 0;\n } else {\n this.monthNumInFocus += 1;\n }\n }\n break;\n\n case \"ArrowUp\":\n ev.preventDefault();\n if (this.view === \"day\") {\n this.unfocusCell();\n if (this.dayInFocus < 8) {\n const newMonth = this.getPreviousMonth(this.monthInFocus, this.yearInFocus);\n this.monthInFocus = newMonth.month;\n this.yearInFocus = newMonth.year;\n const numDaysToSubtract = 7 - this.dayInFocus;\n this.dayInFocus = this.getMonthDays(this.monthInFocus, this.yearInFocus) - numDaysToSubtract;\n } else {\n this.dayInFocus -= 7;\n }\n } else {\n this.unfocusMonth();\n if (this.monthNumInFocus < 3) {\n this.monthNumInFocus += 9;\n } else {\n this.monthNumInFocus -= 3;\n }\n }\n break;\n\n case \"ArrowDown\":\n ev.preventDefault();\n if (!this.isExpanded) {\n this.openPopup();\n } else {\n if (this.view === \"day\") {\n //If the down arrow is pressed from the month button or the arrow buttons, focus should shift to the current cell in focus\n if (!(document.activeElement!.shadowRoot! || document).activeElement!.classList.contains(\"date-cell\")) {\n this.focusCell();\n break;\n }\n\n this.unfocusCell();\n const changeoverDate = this.getMonthDays(this.monthInFocus, this.yearInFocus) - 7;\n if (this.dayInFocus > changeoverDate) {\n const newMonth = this.getNextMonth(this.monthInFocus, this.yearInFocus);\n this.monthInFocus = newMonth.month;\n this.yearInFocus = newMonth.year;\n this.dayInFocus = this.dayInFocus - changeoverDate;\n } else {\n this.dayInFocus += 7;\n }\n } else {\n //If the down arrow is pressed from the arrow buttons or the title box, focus should shift to the current month in focus\n const activeEl = (document.activeElement!.shadowRoot! || document).activeElement!;\n if (activeEl.tagName === \"BUTTON\" || activeEl.id.includes(\"popup-title-year\")) {\n this.focusMonth();\n break;\n }\n\n this.unfocusMonth();\n if (this.monthNumInFocus > 8) {\n this.monthNumInFocus -= 9;\n } else {\n this.monthNumInFocus += 3;\n }\n }\n }\n break;\n }\n }\n\n @Listen(\"keydown\")\n toggleTabbingOn(ev: KeyboardEvent) {\n const validKeys = [\"Tab\", \"ArrowUp\", \"ArrowDown\", \"ArrowLeft\", \"ArrowRight\", \"Enter\"];\n if (validKeys.includes(ev.key)) {\n this.isTabbing = true;\n }\n }\n\n //Using mousedown prevents this from running when the keydown listener emits \".click()\" for when enter is pressed.\n @Listen(\"mousedown\", { target: \"window\" })\n toggleTabbingOff() {\n this.isTabbing = false;\n }\n\n @Listen(\"click\", { target: \"document\" })\n blurHandler(ev: PointerEvent): void {\n if (!this.popupClicked && !this.buttonClicked && this.isExpanded) {\n this.closePopup();\n // in this case, the PointerEvent target is identical to the blur events relatedTarget, and is passed on as such\n this.popupBlurred.emit({ relatedTarget: ev.target });\n }\n this.popupClicked = false;\n this.buttonClicked = false;\n }\n\n @Listen(\"blur\", { target: \"window\" })\n handleBlurOnWindow(ev: FocusEvent) {\n // for cases where the user clicks or uses a shortcut to leave the document\n if (this.isExpanded) {\n this.closePopup();\n this.popupBlurred.emit({ relatedTarget: ev.target });\n }\n }\n\n componentDidUpdate() {\n this.handleSelectedDate();\n if (this.isExpanded) {\n this.prevClicked\n ? this.prevButton.focus()\n : this.nextClicked\n ? this.nextButton.focus()\n : this.view === \"day\"\n ? this.focusCell()\n : this.focusMonth();\n }\n }\n\n componentDidLoad() {\n this.handleSelectedDate();\n this.setDateValuesForView();\n }\n\n zeroPad(value: number | string, length: number) {\n if (!String.prototype.padStart) {\n String.prototype.padStart = function padStart(targetLength, padString) {\n targetLength = targetLength - this.length;\n if (targetLength > padString!.length) {\n padString += padString!.repeat(targetLength / padString!.length);\n }\n return padString!.slice(0, targetLength) + String(this);\n };\n }\n return `${value.toString()}`.padStart(length, \"0\");\n }\n\n removeZeroes(date: string): number {\n return +date < 10 ? +date.slice(1) : +date;\n }\n\n isDateToday(date: Array<string>): boolean {\n const today = new Date();\n const todayDateArray = [\n today.getFullYear().toString(),\n (today.getMonth() + 1).toString(),\n today.getDate().toString(),\n ];\n //Compare today's date to date and return true if they match\n return todayDateArray.reduce(\n (result: boolean, val: string, index: number) => result && this.removeZeroes(date[index]).toString() === val,\n true\n );\n }\n\n togglePopup() {\n this.isExpanded ? this.closePopup() : this.openPopup();\n this.buttonClicked = true;\n }\n\n closePopup(returnFocus: boolean = false) {\n this.isExpanded = false;\n this.popupEl!.classList.remove(\"open\");\n window.setTimeout(() => {\n //not using display none in order to get measurements of the popup while hidden\n this.popupEl!.style.visibility = \"hidden\";\n }, 250);\n //Reset values so that menu reopens to day view with selected date in focus\n if (this.view === \"day\") {\n this.unfocusCell();\n }\n this.monthInFocus = this.selectedMonth;\n this.yearInFocus = this.selectedYear;\n this.dayInFocus = this.selectedDay;\n this.changeView(\"day\");\n if (returnFocus) {\n this.buttonEl.focus();\n }\n }\n\n openPopup() {\n this.panelPosition();\n this.setDateValuesForView();\n this.prevClicked = false;\n this.nextClicked = false;\n this.popupEl!.style.visibility = \"visible\";\n window.requestAnimationFrame(() => {\n this.popupEl!.classList.add(\"open\");\n });\n this.isExpanded = true;\n this.focusCell();\n }\n\n getMonthDays(month: number, year: number) {\n const months30 = [4, 6, 9, 11];\n const leapYear = year % 4 === 0;\n\n return month === 2 ? (leapYear ? 29 : 28) : months30.includes(month) ? 30 : 31;\n }\n\n // 1 => Sunday, 7 => Saturday\n getMonthFirstDay(month: number, year: number) {\n return +new Date(year, month - 1, 1, 12, 0, 0).getDay() + 1;\n }\n\n getPreviousMonth(month: number, year: number) {\n const prevMonth = month > 1 ? month - 1 : 12;\n const prevMonthYear = month > 1 ? year : year - 1;\n\n return { month: prevMonth, year: prevMonthYear };\n }\n\n getNextMonth(month: number, year: number) {\n const nextMonth = month < 12 ? month + 1 : 1;\n const nextMonthYear = month < 12 ? year : year + 1;\n\n return { month: nextMonth, year: nextMonthYear };\n }\n\n getCalendarDates(month: number, year: number) {\n // Get number of days in the month and the month's first day\n const monthDays = this.getMonthDays(month, year);\n const monthFirstDay = this.getMonthFirstDay(month, year);\n\n // Get number of days to be displayed from previous and next months\n // These ensure a total of 42 days (6 weeks) displayed on the calendar\n const daysFromPrevMonth = monthFirstDay - 1;\n let daysFromNextMonth = 42 - (daysFromPrevMonth + monthDays);\n daysFromNextMonth = daysFromNextMonth > 6 ? daysFromNextMonth - 7 : daysFromNextMonth;\n\n // Get the previous and next months and years\n const { month: prevMonth, year: prevMonthYear } = this.getPreviousMonth(month, year);\n const { month: nextMonth, year: nextMonthYear } = this.getNextMonth(month, year);\n\n // Get number of days in previous month\n const prevMonthDays = this.getMonthDays(prevMonth, prevMonthYear);\n\n // Builds dates to be displayed from previous month. The initialized array is \"filled\" with an arbitrary number because IE and Edge won't map over an array with empty values.\n const prevMonthDates = [...new Array(daysFromPrevMonth).fill(\"1\")].map((_, index) => {\n const day = index + 1 + (prevMonthDays - daysFromPrevMonth);\n return [prevMonthYear.toString(), this.zeroPad(prevMonth, 2), this.zeroPad(day, 2)];\n });\n\n // Builds dates to be displayed from current month. The initialized array is \"filled\" with an arbitrary number because IE and Edge won't map over an array with empty values.\n const thisMonthDates = [...new Array(monthDays).fill(\"1\")].map((_, index) => {\n const day = index + 1;\n return [year.toString(), this.zeroPad(month, 2), this.zeroPad(day, 2)];\n });\n\n // Builds dates to be displayed from next month. The initialized array is \"filled\" with an arbitrary number because IE and Edge won't map over an array with empty values.\n const nextMonthDates = [...new Array(daysFromNextMonth).fill(\"1\")].map((_, index) => {\n const day = index + 1;\n return [nextMonthYear.toString(), this.zeroPad(nextMonth, 2), this.zeroPad(day, 2)];\n });\n\n // Combines all dates from previous, current and next months\n return [...prevMonthDates, ...thisMonthDates, ...nextMonthDates];\n }\n\n forwardOneMonth() {\n this.unfocusCell();\n const newMonth = this.getNextMonth(this.monthInFocus, this.yearInFocus);\n this.monthInFocus = newMonth.month;\n this.yearInFocus = newMonth.year;\n const totalDays = this.getMonthDays(this.monthInFocus, this.yearInFocus);\n if (this.dayInFocus > this.getMonthDays(this.monthInFocus, this.yearInFocus)) {\n this.dayInFocus = totalDays;\n }\n this.updateLiveRegion(`Displaying ${this.calendar_months[this.monthInFocus - 1]}, ${this.yearInFocus}`);\n }\n\n backOneMonth() {\n this.unfocusCell();\n const newMonth = this.getPreviousMonth(this.monthInFocus, this.yearInFocus);\n this.monthInFocus = newMonth.month;\n this.yearInFocus = newMonth.year;\n const totalDays = this.getMonthDays(this.monthInFocus, this.yearInFocus);\n if (this.dayInFocus > this.getMonthDays(this.monthInFocus, this.yearInFocus)) {\n this.dayInFocus = totalDays;\n }\n this.updateLiveRegion(`Viewing ${this.calendar_months[this.monthInFocus - 1]}, ${this.yearInFocus}`);\n }\n\n handleTriggeredDate(el: HTMLTableDataCellElement) {\n this.cellTriggered.emit(el as HTMLTableDataCellElement);\n // change of input value will trigger the function updating selectedDate\n this.closePopup(true);\n }\n\n handleSelectedDate() {\n //Remove old selection status\n if (this.selectedDate) {\n this.selectedDate.removeAttribute(\"aria-selected\");\n }\n //Update selected date to new date inputted/selected\n this.selectedDate = this.getCellById(this.selectedYear, this.selectedMonth, this.selectedDay);\n\n if (this.selectedDate) {\n this.selectedDate.setAttribute(\"aria-selected\", \"true\");\n }\n }\n\n getCellById(year: number, month: number, day: number) {\n const id = year + this.zeroPad(month, 2) + this.zeroPad(day, 2);\n return this.el.querySelector(`#cell-${id}-${this.parentId}`) as HTMLTableCellElement;\n }\n\n unfocusCell() {\n const cellToUnfocus = this.getCellById(this.yearInFocus, this.monthInFocus, this.dayInFocus);\n cellToUnfocus.tabIndex = -1;\n }\n\n focusCell() {\n //These two lines of code prevent an error from happening when the day in focus does not exist in a new month selected, e.g., May 31 is in focus, then the user selects \"November\". It will return focus in the date view to the last day of the month so that focus doesn't fly out of the popup.\n const maxDays = this.getMonthDays(this.monthInFocus, this.yearInFocus);\n this.dayInFocus = this.dayInFocus > maxDays ? maxDays : this.dayInFocus;\n\n const cellToFocus = this.getCellById(this.yearInFocus, this.monthInFocus, this.dayInFocus);\n if (cellToFocus) {\n cellToFocus.tabIndex = 0;\n cellToFocus.focus();\n }\n }\n\n unfocusMonth() {\n const monthToUnfocus = this.el.querySelector(`#month-${this.monthNumInFocus}-${this.parentId}`) as HTMLDivElement;\n monthToUnfocus.tabIndex = -1;\n }\n\n focusMonth() {\n const monthToFocus = this.el.querySelector(`#month-${this.monthNumInFocus}-${this.parentId}`) as HTMLDivElement;\n monthToFocus.tabIndex = 0;\n monthToFocus.focus();\n }\n\n trapFocusLeft(ev: KeyboardEvent) {\n if (ev.shiftKey && ev.key === \"Tab\") {\n ev.preventDefault();\n this.focusCellInView();\n }\n }\n\n trapFocusEnd(ev: KeyboardEvent) {\n if (!ev.shiftKey && ev.key === \"Tab\") {\n ev.preventDefault();\n this.prevButton.focus();\n }\n }\n\n trapFocusRight(ev: KeyboardEvent) {\n if (!ev.shiftKey && ev.key === \"Tab\") {\n ev.preventDefault();\n this.focusCellInView();\n }\n }\n\n focusCellInView() {\n if (this.view === \"day\") {\n this.focusCell();\n } else {\n this.focusMonth();\n }\n }\n\n toggleBusyAttribute(state: string) {\n (this.el.querySelector(\"#wm-container\") as HTMLElement).setAttribute(\"aria-busy\", state);\n }\n\n setDateValuesForView() {\n this.selectedYear = this.date.getUTCFullYear();\n this.selectedMonth = this.date.getUTCMonth() + 1;\n this.selectedDay = this.date.getUTCDate();\n this.monthInFocus = this.selectedMonth;\n this.yearInFocus = this.selectedYear;\n this.dayInFocus = this.selectedDay;\n this.monthNumInFocus = this.selectedMonth - 1;\n }\n\n updateLiveRegion(text: string) {\n let liveRegion = this.el.querySelector(\"#live-region\") as HTMLElement;\n liveRegion.innerHTML = text;\n }\n\n panelPosition() {\n // getting a ref to the input el (in datepicker.tsx)\n let host = document.getElementById(this.parentId) as HTMLWmDatepickerElement;\n\n const labelHeight = host.shadowRoot!.querySelector(\".label-wrapper\")!.clientHeight;\n\n this.openUp = shouldOpenUp(host, this.popupEl!, labelHeight);\n\n if (hasRoomRight(host, 336)) {\n this.popupEl!.style.left = \"0\";\n this.popupEl!.style.right = \"auto\";\n } else {\n this.popupEl!.style.right = \"0\";\n this.popupEl!.style.left = \"auto\";\n }\n }\n\n changeView(newView: string) {\n this.view = newView;\n //Ensure month view always opens to the month last visited in date view\n this.monthNumInFocus = this.monthInFocus - 1;\n }\n\n renderCalendarDate = (date: Array<string>, index: number) => {\n let monthOfDate = this.removeZeroes(String(date[1]));\n let dayOfDate = this.removeZeroes(String(date[2]));\n let isThisMonth = monthOfDate === this.monthInFocus ? \"current-month\" : \"\";\n const dateId = date[0] + date[1] + date[2];\n const isToday = this.isDateToday(date);\n\n return (\n <div\n role=\"gridcell\"\n id={`cell-${dateId}-${this.parentId}`}\n class={`date-cell ${isThisMonth}`}\n aria-selected={false}\n aria-label={`${\n isToday\n ? `${intl.formatMessage({\n id: \"date.today\",\n defaultMessage: \"today\",\n description: \"calendar button\",\n })}, `\n : \"\"\n }${this.weekdays[index]}, ${this.calendar_months[monthOfDate - 1]} ${dayOfDate}, ${date[0]}`}\n onClick={(ev) => {\n this.handleTriggeredDate(ev.target as HTMLTableDataCellElement);\n }}\n onKeyDown={(ev: KeyboardEvent) => this.trapFocusEnd(ev)}\n data-month={date[1]}\n data-year={date[0]}\n onBlur={(ev: FocusEvent) => ev.stopPropagation()}\n >\n {dayOfDate}\n </div>\n );\n };\n\n renderMonths(month: string, index: number) {\n return (\n <div\n id={`month-${index}-${this.parentId}`}\n class={`month ${this.selectedMonth - 1 === index ? \"selected\" : \"\"}`}\n role=\"gridcell\"\n tabindex={index + 1 === this.monthInFocus ? 0 : -1}\n onKeyDown={(ev: KeyboardEvent) => this.trapFocusEnd(ev)}\n onBlur={(ev: FocusEvent) => ev.stopPropagation()}\n onClick={() => {\n this.monthInFocus = index + 1;\n this.changeView(\"day\");\n }}\n >\n {month}\n </div>\n );\n }\n\n render() {\n const dates = this.getCalendarDates(this.monthInFocus, this.yearInFocus);\n\n return (\n <div class=\"container\" id=\"wm-container\">\n <button\n disabled={this.disabled}\n onClick={this.togglePopup.bind(this)}\n aria-describedby={`date-input-${this.parentId}`}\n ref={(el) => (this.buttonEl = el as HTMLButtonElement)}\n aria-expanded={`${this.isExpanded}`}\n class=\"toggle\"\n id={`toggle-${this.parentId}`}\n >\n <span\n class=\"calendar\"\n title={intl.formatMessage({\n id: \"date.calendarView\",\n defaultMessage: \"Calendar View\",\n description: \"Calendar button\",\n })}\n />\n </button>\n <div\n class={`popup ${this.view}-view ${this.openUp ? \"expand-upwards\" : \"\"} ${\n this.isTabbing ? \"user-is-tabbing\" : \"\"\n }`}\n id={`popup-${this.parentId}`}\n ref={(el) => (this.popupEl = el as HTMLElement)}\n onClick={() => (this.popupClicked = true)}\n role=\"application\"\n aria-describedby=\"application\"\n >\n {this.view === \"day\" ? (\n <div class=\"day-view\">\n <div class=\"calendar-header\">\n <button\n onClick={() => {\n this.prevClicked = true;\n this.popupClicked = true;\n this.backOneMonth();\n }}\n onKeyDown={(ev: KeyboardEvent) => this.trapFocusLeft(ev)}\n ref={(el) => (this.prevButton = el as HTMLButtonElement)}\n class=\"arw-btn\"\n aria-label={intl.formatMessage({\n id: \"date.selectPreviousMonth\",\n defaultMessage: \"Select previous month\",\n description: \"Calendar button\",\n })}\n >\n <span class=\"mdi\"></span>\n </button>\n <div\n id={`popup-title-month-${this.parentId}`}\n class=\"title-box\"\n tabindex={0}\n role=\"button\"\n onKeyDown={(ev: KeyboardEvent) => {\n if (ev.key === \"Enter\" || ev.key === \" \") {\n ev.preventDefault();\n this.changeView(\"month\");\n }\n }}\n onClick={this.changeView.bind(this, \"month\")}\n aria-label={`${intl.formatMessage({\n id: \"date.currentMonth\",\n defaultMessage: \"current month\",\n description: \"Calendar button\",\n })}: ${this.calendar_months[this.monthInFocus - 1]}\n ${this.yearInFocus}.`}\n aria-describedby=\"month-title\"\n >\n <span class=\"title\" aria-hidden=\"true\">\n {this.calendar_months[this.monthInFocus - 1]} {this.yearInFocus}\n </span>\n </div>\n <button\n onClick={() => {\n this.nextClicked = true;\n this.popupClicked = true;\n this.forwardOneMonth();\n }}\n onKeyDown={(ev: KeyboardEvent) => this.trapFocusRight(ev)}\n aria-label={intl.formatMessage({\n id: \"date.selectNextMonth\",\n defaultMessage: \"Select next month\",\n description: \"Calendar button\",\n })}\n ref={(el) => (this.nextButton = el as HTMLButtonElement)}\n class=\"arw-btn\"\n >\n <span class=\"mdi\"></span>\n </button>\n </div>\n <div aria-labelledby={`popup-title-month-${this.parentId}`} role=\"grid\" class=\"date-grid\">\n <div role=\"rowgroup\" class=\"date-header\">\n <div role=\"row\" class=\"header-row\">\n <div role=\"columnheader\" class=\"header-cell\">\n <span>\n {intl.formatMessage({\n id: \"date.su\",\n defaultMessage: \"Su\",\n description: \"Abbreviated day of the week\",\n })}\n </span>\n </div>\n <div role=\"columnheader\" class=\"header-cell\">\n <span>\n {intl.formatMessage({\n id: \"date.mo\",\n defaultMessage: \"Mo\",\n description: \"Abbreviated day of the week\",\n })}\n </span>\n </div>\n <div role=\"columnheader\" class=\"header-cell\">\n <span>\n {intl.formatMessage({\n id: \"date.tu\",\n defaultMessage: \"Tu\",\n description: \"Abbreviated day of the week\",\n })}\n </span>\n </div>\n <div role=\"columnheader\" class=\"header-cell\">\n <span>\n {intl.formatMessage({\n id: \"date.we\",\n defaultMessage: \"We\",\n description: \"Abbreviated day of the week\",\n })}\n </span>\n </div>\n <div role=\"columnheader\" class=\"header-cell\">\n <span>\n {intl.formatMessage({\n id: \"date.th\",\n defaultMessage: \"Th\",\n description: \"Abbreviated day of the week\",\n })}\n </span>\n </div>\n <div role=\"columnheader\" class=\"header-cell\">\n <span>\n {intl.formatMessage({\n id: \"date.fr\",\n defaultMessage: \"Fr\",\n description: \"Abbreviated day of the week\",\n })}\n </span>\n </div>\n <div role=\"columnheader\" class=\"header-cell\">\n <span>\n {intl.formatMessage({\n id: \"date.sa\",\n defaultMessage: \"Sa\",\n description: \"Abbreviated day of the week\",\n })}\n </span>\n </div>\n </div>\n </div>\n <div role=\"rowgroup\">\n <div role=\"row\" class=\"date-row\">\n {dates.slice(0, 7).map((date, i) => this.renderCalendarDate(date, i))}\n </div>\n <div role=\"row\">{dates.slice(7, 14).map((date, i) => this.renderCalendarDate(date, i))}</div>\n <div role=\"row\">{dates.slice(14, 21).map((date, i) => this.renderCalendarDate(date, i))}</div>\n <div role=\"row\">{dates.slice(21, 28).map((date, i) => this.renderCalendarDate(date, i))}</div>\n <div role=\"row\">{dates.slice(28, 35).map((date, i) => this.renderCalendarDate(date, i))}</div>\n {dates.length > 35 ? (\n <div role=\"row\">{dates.slice(35).map((date, i) => this.renderCalendarDate(date, i))}</div>\n ) : (\n \"\"\n )}\n </div>\n </div>\n </div>\n ) : (\n <div class=\"month-view\">\n <div class=\"calendar-header\">\n <button\n onClick={() => {\n this.prevClicked = true;\n this.popupClicked = true;\n this.yearInFocus -= 1;\n this.updateLiveRegion(`${this.yearInFocus} selected.`);\n }}\n onKeyDown={(ev: KeyboardEvent) => this.trapFocusLeft(ev)}\n aria-label={intl.formatMessage({\n id: \"date.selectPreviousYear\",\n defaultMessage: \"Select previous year\",\n description: \"Calendar button\",\n })}\n ref={(el) => (this.prevButton = el as HTMLButtonElement)}\n class=\"arw-btn\"\n >\n <span class=\"mdi\"></span>\n </button>\n <div\n id={`popup-title-year-${this.parentId}`}\n tabindex={0}\n class=\"title-box year\"\n role=\"button\"\n onClick={this.changeView.bind(this, \"day\")}\n onKeyDown={(ev: KeyboardEvent) => {\n if (ev.key === \"Enter\" || ev.key === \" \") {\n ev.preventDefault();\n this.changeView(\"day\");\n }\n }}\n aria-labelledby=\"year-title\"\n >\n <span class=\"title\">{this.yearInFocus}</span>\n </div>\n <button\n onClick={() => {\n this.nextClicked = true;\n this.popupClicked = true;\n this.yearInFocus += 1;\n this.updateLiveRegion(`${this.yearInFocus} selected.`);\n }}\n aria-label={intl.formatMessage({\n id: \"date.selectNextYear\",\n defaultMessage: \"Select next year\",\n description: \"Calendar button\",\n })}\n onKeyDown={(ev: KeyboardEvent) => this.trapFocusRight(ev)}\n ref={(el) => (this.nextButton = el as HTMLButtonElement)}\n class=\"arw-btn\"\n >\n <span class=\"mdi\"></span>\n </button>\n </div>\n <div aria-labelledby={`popup-title-year-${this.parentId}`} role=\"grid\" class=\"months\">\n <div role=\"row\" class=\"month-row\">\n {this.calendar_months\n .slice(0, 3)\n .map((month: string, index: number) => this.renderMonths(month, index))}\n </div>\n <div role=\"row\" class=\"month-row\">\n {this.calendar_months\n .slice(3, 6)\n .map((month: string, index: number) => this.renderMonths(month, index + 3))}\n </div>\n <div role=\"row\" class=\"month-row\">\n {this.calendar_months\n .slice(6, 9)\n .map((month: string, index: number) => this.renderMonths(month, index + 6))}\n </div>\n <div role=\"row\" class=\"month-row\">\n {this.calendar_months\n .slice(9)\n .map((month: string, index: number) => this.renderMonths(month, index + 9))}\n </div>\n </div>\n </div>\n )}\n </div>\n {this.isExpanded && <div id=\"live-region\" aria-live=\"polite\" aria-relevant=\"text\" class=\"sr-only\" />}\n <div id=\"month-title\" class=\"sr-only\">\n {intl.formatMessage({\n id: \"date.selectMonth\",\n defaultMessage: \"Activate to select a month.\",\n description: \"Calendar button\",\n })}\n </div>\n <div id=\"year-title\" class=\"sr-only\">\n {intl.formatMessage({\n id: \"date.selectYear\",\n defaultMessage: \"Activate to select a year.\",\n description: \"Calendar button\",\n })}\n </div>\n <div id=\"application\" class=\"sr-only\">\n {intl.formatMessage({\n id: \"date.instructions\",\n defaultMessage:\n \"Use arrows to select a date in the table. Tab left or right to buttons for selecting previous month, next month, or the month selection table.\",\n })}\n </div>\n </div>\n );\n }\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"wm-datepicker.js","sourceRoot":"","sources":["../../../../src/components/wm-datepicker/wm-datepicker.tsx"],"names":[],"mappings":"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","sourcesContent":["import { h, Component, Host, Element, Event, EventEmitter, Prop, Listen, Watch, State } from \"@stencil/core\";\nimport { generateId, checkForFocusableElInShadow, intl, isRelatedTarget } from \"../../global/functions\";\n\n@Component({\n tag: \"wm-datepicker\",\n styleUrl: \"wm-datepicker.scss\",\n shadow: { delegatesFocus: true },\n})\nexport class DatePicker {\n @Element() el!: HTMLWmDatepickerElement;\n private dpWrapper!: HTMLDivElement;\n private inputEl!: HTMLInputElement;\n\n @Prop({ mutable: true }) value?: string = \"\";\n @Prop() disabled: boolean = false;\n @Prop({ mutable: true }) dateFormat: string = \"US\";\n @Prop({ reflect: true }) errorMessage: string = \"\";\n @Prop({ mutable: true }) labelPosition: \"top\" | \"left\" | \"none\" = \"top\";\n @Prop({ mutable: true }) label: string = \"\";\n @Prop() requiredField: boolean = false;\n @Prop() requiredFieldMessage?: string;\n @Prop() preventValidation?: string; // id or series of ids, validation will not occur when clicking an element with this id\n @State() displayError: string = \"\";\n @Event() wmDatepickerNewValidValue!: EventEmitter;\n\n // we only want to fire the \"change\" event if the value has actually changed (that's\n // how native elements do it), so we need to keep in state the last committed value.\n private lastCommittedValue?: string = this.value;\n private lastValidValue?: string;\n private uid!: string;\n\n // 1, 2, or 4 digits, separator, 1 or 2 digits, separator, then 1 or 2 or 4 digits\n private parsableEntry = /^(\\d{1}|\\d{2}|\\d{4})[\\-\\.\\/]\\d{1,2}[\\-\\.\\/](\\d{1}|\\d{2}|\\d{4})$/;\n private isoEntry = /^\\d\\d\\d\\d[-]\\d\\d[-]\\d\\d$/;\n private eightDigitsEntry = /^\\d{8}$/;\n\n dateFormats: any = {\n US: intl.formatMessage({\n id: \"date.formatUS\",\n defaultMessage: \"mm/dd/yyyy\",\n }),\n INT: intl.formatMessage({\n id: \"date.formatINT\",\n defaultMessage: \"dd/mm/yyyy\",\n }),\n ISO: intl.formatMessage({\n id: \"date.formatISO\",\n defaultMessage: \"yyyy/mm/dd\",\n }),\n };\n\n @Listen(\"keydown\")\n handleTabbingOn() {\n this.dpWrapper && this.dpWrapper.classList.add(\"user-is-tabbing\");\n }\n\n @Listen(\"click\")\n handleTabbingOff() {\n this.dpWrapper && this.dpWrapper.classList.remove(\"user-is-tabbing\");\n }\n\n @Watch(\"errorMessage\")\n handleError() {\n if (this.errorMessage) {\n this.generateError();\n } else {\n this.clearError();\n this.processInput();\n }\n }\n\n handleInput(ev: Event) {\n // keep component's value in sync with input's value\n // validation only happens on blur and initial load,\n // but component's value should reflect user input at any time\n this.value = (ev.target! as HTMLInputElement).value; // same as this.inputEl.value\n }\n\n // this is input blur, not component blur\n handleBlur(ev: FocusEvent) {\n // do not validate if clicking to an element that should prevent validation (e.g. close button on modal)\n const shouldPreventValidation = this.preventValidation && isRelatedTarget(ev, this.preventValidation);\n if (!shouldPreventValidation) {\n this.processInput();\n }\n this.dpWrapper.classList.remove(\"focus\");\n }\n\n // this is input focus, not component focus\n focusHandler() {\n this.dpWrapper.classList.add(\"focus\");\n }\n\n @Listen(\"popupBlurred\")\n handlePopupBlurred(ev: CustomEvent) {\n // emit blur event when leaving component from priv-datepicker\n if (ev.detail.relatedTarget !== this.el) {\n const event = new CustomEvent(\"blur\");\n // @ts-ignore\n event.relatedTarget = ev.detail.relatedTarget;\n this.el.dispatchEvent(event);\n }\n }\n\n getActiveElement() {\n return checkForFocusableElInShadow(document.activeElement as HTMLElement);\n }\n\n @Listen(\"cellTriggered\")\n handleCellTriggered(ev: CustomEvent) {\n let dateElement = ev.detail as HTMLTableCellElement;\n let isoDate =\n dateElement.getAttribute(\"data-year\")! +\n \"-\" +\n dateElement.getAttribute(\"data-month\")! +\n \"-\" +\n dateElement.textContent!;\n this.inputEl.value = this.reformatDate(this.dateFormat, isoDate);\n this.processInput();\n\n // Create event to trigger onInput function on host element, to get the updated value\n // Because there are more ways to input than just typing, we are firing this event upon cellTriggered\n const event = new CustomEvent(\"input\");\n this.el.dispatchEvent(event);\n }\n\n processInput(isFirstLoad?: boolean) {\n // The required field error should not display on first load\n const leftEmpty = !isFirstLoad && this.requiredField;\n\n let isoDate = this.inputEl.value;\n\n //If input is 8 digits, add slashes as a courtesy and process anyway\n if (this.eightDigitsEntry.test(this.inputEl.value)) {\n this.inputEl.value = this.addSlashes(this.inputEl.value);\n }\n\n // if we don't have 2 separators we can't reformat so we'll return what was passed in\n if (this.parsableEntry.test(this.inputEl.value)) {\n //ISO format for submission\n isoDate = this.reformatDate(\"ISO\", this.inputEl.value);\n\n //User-specific format for display\n this.inputEl.value = this.reformatDate(this.dateFormat, isoDate);\n\n if (this.isValidDate(isoDate)) {\n //If there's no errorMessage on state, all errors can be cleared. If there IS an error message, it will clear any internal validation errors by overriding them.\n if (this.errorMessage) {\n this.generateError();\n } else {\n this.clearError();\n }\n //Prevents error from appearing if input field is empty\n } else if (this.inputEl.value.length) {\n this.generateError();\n }\n } else if (this.inputEl.value.length || leftEmpty || this.errorMessage) {\n this.generateError();\n } else if (!this.inputEl.value.length && !leftEmpty) {\n this.clearError();\n }\n\n // value is set to the reformated date or whatever the user passed\n this.value = isoDate;\n\n if (isoDate !== this.lastCommittedValue) {\n const event = new CustomEvent(\"change\");\n this.el.dispatchEvent(event);\n this.lastCommittedValue = this.value;\n }\n\n // event must fire after we set this.value\n // only fire if new valid value is different from the previous one\n if (this.isValidDate(isoDate) && isoDate !== this.lastValidValue) {\n this.wmDatepickerNewValidValue.emit();\n //Update prop passed into calendar to valid date\n this.lastValidValue = isoDate;\n }\n }\n\n // this function reformats date strings to/from the storage format ONLY. US -> INT and vice versa is not supported.\n reformatDate(toFormat: string, date?: string): string {\n if (!date) {\n return \"\";\n } else if (!this.parsableEntry.test(date)) {\n return date;\n } else {\n let dateArr = date.replace(/[\\-\\.]/gi, \"/\").split(\"/\");\n switch (toFormat) {\n case \"US\":\n case this.dateFormats[\"US\"]:\n return dateArr[1].padStart(2, \"0\") + \"/\" + dateArr[2].padStart(2, \"0\") + \"/\" + dateArr[0].padStart(4, \"20\");\n case \"INT\":\n case this.dateFormats[\"INT\"]:\n return dateArr[2].padStart(2, \"0\") + \"/\" + dateArr[1].padStart(2, \"0\") + \"/\" + dateArr[0].padStart(4, \"20\");\n case \"ISO\":\n case this.dateFormats[\"ISO\"]:\n if (this.dateFormat === \"US\" || this.dateFormat === this.dateFormats[\"US\"]) {\n return dateArr[2].padStart(4, \"20\") + \"-\" + dateArr[0].padStart(2, \"0\") + \"-\" + dateArr[1].padStart(2, \"0\");\n } else if (this.dateFormat === \"INT\" || this.dateFormat === this.dateFormats[\"INT\"]) {\n return dateArr[2].padStart(4, \"20\") + \"-\" + dateArr[1].padStart(2, \"0\") + \"-\" + dateArr[0].padStart(2, \"0\");\n } else if (this.dateFormat === \"ISO\" || this.dateFormat === this.dateFormats[\"ISO\"]) {\n return dateArr[0].padStart(4, \"20\") + \"-\" + dateArr[1].padStart(2, \"0\") + \"-\" + dateArr[2].padStart(2, \"0\");\n }\n default:\n return dateArr.join(\"/\");\n }\n }\n }\n\n isValidDate(input?: string) {\n // if it's not ISO it's not valid\n if (!input || !this.isoEntry.test(input)) {\n return false;\n } else {\n // Parse the ISO date parts to integers\n let parts = input.split(\"-\");\n let day = parseInt(parts[2], 10);\n let month = parseInt(parts[1], 10);\n let year = parseInt(parts[0], 10);\n // Check the ranges of month and year\n if (year < 1000 || year > 3000 || month == 0 || month > 12) return false;\n let monthLength = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\n // Adjust for leap years\n if (year % 400 == 0 || (year % 100 != 0 && year % 4 == 0)) monthLength[1] = 29;\n // Check the range of the day\n return day > 0 && day <= monthLength[month - 1];\n }\n }\n\n generateError() {\n const requiredDateErr: string =\n this.requiredFieldMessage ||\n intl.formatMessage({\n id: \"date.requiredDateError\",\n defaultMessage: \"A date is required.\",\n });\n const validDateErr = intl.formatMessage(\n {\n id: \"date.invalidDate\",\n defaultMessage:\n \"Please enter a valid date in the format {dateFormat, select, us {mm/dd/yyyy} int {dd/mm/yyyy} other {yyyy/mm/dd}}.\",\n },\n { dateFormat: this.dateFormat.toLowerCase() }\n );\n if (this.errorMessage) {\n this.displayError = this.errorMessage;\n } else if (this.inputEl.value.length) {\n this.displayError = validDateErr;\n } else if (!this.inputEl.value.length && this.requiredField) {\n this.displayError = requiredDateErr;\n }\n }\n\n clearError() {\n this.displayError = \"\";\n }\n\n addSlashes(input: string) {\n if (this.dateFormat === \"ISO\" || this.dateFormat === this.dateFormats[\"ISO\"]) {\n return input.substring(0, 4) + \"/\" + input.substring(4, 6) + \"/\" + input.substring(6);\n } else {\n return input.substring(0, 2) + \"/\" + input.substring(2, 4) + \"/\" + input.substring(4);\n }\n }\n\n componentWillLoad() {\n if (this.label === \"\") {\n console.error(\n \"You must include a label prop for the datepicker input (for accessibility reasons), even if the label position is none.\"\n );\n }\n if (this.errorMessage) {\n this.generateError();\n }\n\n this.uid = this.el.id ? this.el.id : generateId();\n\n if (this.value && this.isValidDate(this.value)) {\n // update value passed into calendar so that it opens on the specified date\n this.lastValidValue = this.value;\n }\n }\n\n componentDidLoad() {\n // convert passed-in starting date from ISO to locale format, update displayed input to proper format\n this.inputEl.value = this.reformatDate(this.dateFormat, this.value);\n this.processInput(true);\n }\n\n render() {\n const dateFormat = intl.formatMessage(\n {\n id: \"date.format\",\n defaultMessage: \"{dateFormat, select, us {mm/dd/yyyy} int {dd/mm/yyyy} other {yyyy/mm/dd}}\",\n },\n { dateFormat: this.dateFormat.toLowerCase() }\n );\n return (\n <Host\n id={this.uid}\n aria-busy=\"false\"\n class={`${this.displayError ? \"invalid\" : \"\"}`}\n invalid={this.displayError ? \"true\" : null}\n >\n <div\n ref={(d) => (this.dpWrapper = d as HTMLDivElement)}\n class={`wrapper label-${this.labelPosition} ${this.displayError ? \"invalid\" : \"\"}`}\n >\n <div class=\"label-wrapper\">\n {this.labelPosition !== \"none\" && (\n <label\n id={`datepickerLabel-${this.uid}`}\n htmlFor={`date-input-${this.uid}`}\n class=\"label\"\n title={`${this.label} (${dateFormat})`}\n >\n {this.label}\n {this.requiredField && (\n <span aria-hidden=\"true\" class=\"required\">\n *\n </span>\n )}\n </label>\n )}\n </div>\n <div>\n <div class=\"inner-wrapper\">\n <input\n disabled={this.disabled}\n type=\"text\"\n id={`date-input-${this.uid}`}\n class=\"date-input\"\n name=\"date\"\n placeholder={dateFormat}\n onFocus={this.focusHandler.bind(this)}\n onInput={(ev) => this.handleInput(ev)}\n onBlur={(ev) => this.handleBlur(ev)}\n ref={(input) => (this.inputEl = input as HTMLInputElement)}\n aria-describedby={`error-${this.uid}`}\n aria-controls={`popup-${this.uid}`}\n aria-label={this.label}\n aria-required={this.requiredField ? \"true\" : null}\n />\n <priv-datepicker\n disabled={this.disabled}\n date={this.lastValidValue ? new Date(this.lastValidValue) : new Date()}\n parentId={this.uid}\n />\n </div>\n <div id={`error-${this.uid}`} class=\"error\" aria-live=\"assertive\" aria-atomic=\"true\">\n {this.displayError}\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"wm-file.js","sourceRoot":"","sources":["../../../../src/components/wm-file/wm-file.tsx"],"names":[],"mappings":"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","sourcesContent":["import { h, Component, Element, Event, EventEmitter, Prop, State, Host, forceUpdate } from \"@stencil/core\";\nimport { debounce, hideTooltip, intl, showTooltip } from \"../../global/functions\";\nimport { UploadedFile } from \"../../global/interfaces\";\n\n@Component({\n tag: \"wm-file\",\n styleUrl: \"wm-file.scss\",\n shadow: { delegatesFocus: true },\n})\nexport class File {\n @Element() el!: HTMLWmFileElement;\n @Prop() file?: string;\n @Prop() showInfo: \"time\" | \"size\" | \"none\" = \"time\";\n @Prop() errorMessage?: string;\n @State() isCondensed: boolean = false;\n @Event() wmIntFilePreviewed!: EventEmitter<string>;\n @Event() wmIntFileDownloaded!: EventEmitter<string>;\n @Event() wmIntFileDeleted!: EventEmitter<string>;\n @Event() wmFileClearErrorClicked!: EventEmitter; // undocumented event, for communication with wm-uploader\n // the file component is used within wm-uploader, which still includes legacy types 1 and 2\n // some new features are not included in these legacy types, and must use the below in conditions\n private isWithinLegacyUploader: boolean = false;\n\n get fileData(): UploadedFile {\n let data = this.file ? JSON.parse(this.file) : null;\n\n // sometimes JSON numbers can be received as strings, make sure progress is always a number\n if (data && data.progress && typeof data.progress === \"string\" && data.progress.match(/^[0-9]+$/)) {\n data.progress = parseInt(data.progress.toString());\n }\n return data;\n }\n\n get isUploading(): boolean {\n return this.fileData && this.fileData.hasOwnProperty(\"progress\") && this.fileData.progress! < 100;\n }\n\n get singleCharacterWidth() {\n return this.el.shadowRoot!.querySelector(\".ch-measure\")!.clientWidth;\n }\n\n get previewButtonTooltip() {\n return intl.formatMessage({\n id: \"file.previewButtonTooltip\",\n defaultMessage: \"Preview\",\n description: \"Tooltip of a button that triggers a file to be previewed\",\n });\n }\n\n get downloadButtonTooltip() {\n return intl.formatMessage({\n id: \"file.downloadButtonTooltip\",\n defaultMessage: \"Download\",\n description: \"Tooltip of a button that triggers a file to be downloaded\",\n });\n }\n\n get deleteButtonTooltip() {\n return intl.formatMessage({\n id: \"file.deleteButtonTooltip\",\n defaultMessage: \"Delete\",\n description: \"Tooltip of a button that triggers a file to be deleted\",\n });\n }\n\n get previewActionMessage() {\n return intl.formatMessage({\n id: \"file.previewAction\",\n defaultMessage: \"Preview File\",\n description: \"Label of a button that triggers a file to be previewed\",\n });\n }\n\n get downloadActionMessage() {\n return intl.formatMessage({\n id: \"file.downloadAction\",\n defaultMessage: \"Download File\",\n description: \"Label of a button that triggers a file to be downloaded\",\n });\n }\n\n get deleteActionMessage() {\n return intl.formatMessage({\n id: \"file.deleteAction\",\n defaultMessage: \"Delete File\",\n description: \"Label of a button that triggers a file to be delete\",\n });\n }\n\n get actionMenuLabel() {\n return intl.formatMessage({\n id: \"file.actionMenuLabel\",\n defaultMessage: \"Actions\",\n description: \"Label of a button that opens a menu of file actions\",\n });\n }\n\n get clearButtonText() {\n return intl.formatMessage({\n id: \"file.clearErrorText\",\n defaultMessage: \"Clear\",\n description: \"Text for a button used to clear an error\",\n });\n }\n\n generateClearButtonLabel(filename: string) {\n return intl.formatMessage(\n {\n id: \"file.clearErrorLabel\",\n defaultMessage: \"Clear {fileName} error\",\n description: \"Label for a button used to clear an error, including filename\",\n },\n { fileName: filename }\n );\n }\n\n componentWillLoad() {\n const shadowRootHost = (this.el.getRootNode() as ShadowRoot).host;\n\n if (shadowRootHost && shadowRootHost.nodeName === \"WM-UPLOADER\") {\n if ((shadowRootHost as HTMLWmUploaderElement).type || (shadowRootHost as HTMLWmUploaderElement).uploaderType) {\n this.isWithinLegacyUploader = true;\n }\n }\n\n // rerender on resize in case layout needs to change\n const resizeObserver = new ResizeObserver(() => this.debouncedResize());\n resizeObserver.observe(this.el);\n }\n\n componentDidRender() {\n this.truncateFileName(this.el.shadowRoot!.querySelector(\".file\")!);\n }\n\n debouncedResize = debounce(() => {\n this.isCondensed = this.el.clientWidth < 500;\n // rerender to show filename truncation changes\n forceUpdate(this.el);\n }, 50);\n\n previewFile(file: UploadedFile) {\n this.wmIntFilePreviewed.emit(file.id);\n }\n\n downloadFile(file: UploadedFile) {\n this.wmIntFileDownloaded.emit(file.id);\n }\n\n deleteFile(file: UploadedFile) {\n this.wmIntFileDeleted.emit(file.id);\n }\n\n truncateFileName(file: Element) {\n const leftGroup = file.querySelector(\".left-group\");\n const leftBoundary = leftGroup!.getBoundingClientRect().left;\n const rightGroup = file.querySelector(\".right-group\");\n const rightBoundary = rightGroup\n ? rightGroup.getBoundingClientRect().left\n : file.getBoundingClientRect().right - 20;\n const filenameEl = file.querySelector(\".filename\") as HTMLElement;\n const availableSpace = rightBoundary - leftBoundary;\n\n let filename = filenameEl.dataset.filename!;\n const canFitText = availableSpace > filename.length * this.singleCharacterWidth;\n\n if (!canFitText) {\n const extension = filename.slice(filename.lastIndexOf(\".\"));\n const numFittingCharacters = Math.floor(availableSpace / this.singleCharacterWidth);\n\n // three ellipses, three constant characters, extension\n const postEllipsesLength = 3 + 3 + extension.length;\n let preEllipsesLength = Math.max(2, numFittingCharacters - postEllipsesLength);\n const preEllipsesText = filename.slice(0, preEllipsesLength);\n const postEllipsesText = filename.slice(filename.indexOf(extension) - 3, filename.length);\n filename = `${preEllipsesText.trim()}...${postEllipsesText.trim()}`;\n }\n\n filenameEl.textContent = filename;\n }\n\n handleFilenameMouseEnter(ev: MouseEvent, filename: string) {\n // only show tooltip if file name is being truncated (has ellipses)\n if ((ev.target as HTMLElement).textContent!.includes(\"...\")) {\n showTooltip(\"bottom\", ev.target as HTMLElement, filename);\n }\n }\n\n renderFileName(filename: string, isUploading: boolean) {\n return (\n <div class=\"left-group\">\n <div class=\"name-wrapper\">\n <span class=\"sr-only\">{filename}</span>\n <span\n aria-hidden=\"true\"\n class=\"filename\"\n data-filename={filename}\n onMouseEnter={(ev) => this.handleFilenameMouseEnter(ev, filename)}\n onMouseLeave={() => hideTooltip()}\n ></span>\n {isUploading && <span class=\"sr-only\">uploading</span>}\n <div class=\"ch-measure\"></div>\n </div>\n </div>\n );\n }\n\n renderFileInfo(item: UploadedFile, showInfo: string) {\n let displayedInfo = \"\";\n if (showInfo === \"time\" && item.lastUpdated) {\n displayedInfo = item.lastUpdated;\n } else if (showInfo === \"size\" && item.size) {\n displayedInfo = item.size;\n }\n\n return <div class=\"file-info\">{displayedInfo}</div>;\n }\n\n renderActionMenu(item: UploadedFile) {\n const defaultFileActions = \"download delete\";\n const availableActions = item.fileActions || defaultFileActions;\n const previewItem = (\n <wm-menuitem icon=\"f208\" onClick={() => this.previewFile(item)}>\n {this.previewActionMessage}\n </wm-menuitem>\n );\n const downloadItem = (\n <wm-menuitem icon=\"f1da\" onClick={() => this.downloadFile(item)}>\n {this.downloadActionMessage}\n </wm-menuitem>\n );\n const deleteItem = (\n <wm-menuitem icon=\"f1c0\" onClick={() => this.deleteFile(item)}>\n {this.deleteActionMessage}\n </wm-menuitem>\n );\n return (\n <wm-action-menu\n action-menu-type=\"icon\"\n tooltip={this.actionMenuLabel}\n tooltip-position=\"bottom\"\n label-for-identical-buttons={`${item.name} ${this.actionMenuLabel}`}\n >\n {availableActions.includes(\"preview\") && previewItem}\n {availableActions.includes(\"download\") && downloadItem}\n {availableActions.includes(\"delete\") && deleteItem}\n </wm-action-menu>\n );\n }\n\n renderFileActionButtons(item: UploadedFile) {\n const defaultFileActions = \"download delete\";\n const availableActions = item.fileActions || defaultFileActions;\n\n const previewButton = (\n <wm-button\n class=\"preview-button\"\n button-type=\"icononly\"\n tooltip={this.previewButtonTooltip}\n tooltip-position=\"bottom\"\n label-for-identical-buttons={`preview ${item.name}`}\n icon=\"f208\"\n onClick={() => this.previewFile(item)}\n ></wm-button>\n );\n const downloadButton = (\n <wm-button\n class=\"download-button\"\n button-type=\"icononly\"\n tooltip={this.downloadButtonTooltip}\n tooltip-position=\"bottom\"\n label-for-identical-buttons={`download ${item.name}`}\n icon=\"f1da\"\n onClick={() => this.downloadFile(item)}\n ></wm-button>\n );\n const deleteButton = (\n <wm-button\n class=\"delete-button\"\n button-type=\"icononly\"\n tooltip={this.deleteButtonTooltip}\n tooltip-position=\"bottom\"\n label-for-identical-buttons={`delete ${item.name}`}\n icon=\"f1c0\"\n onClick={() => this.deleteFile(item)}\n ></wm-button>\n );\n\n return (\n <div class=\"file-controls\">\n {availableActions.includes(\"preview\") && previewButton}\n {availableActions.includes(\"download\") && downloadButton}\n {availableActions.includes(\"delete\") && deleteButton}\n </div>\n );\n }\n\n renderFileInProgress(item: UploadedFile) {\n const filename = item.type ? `${item.name}.${item.type}` : item.name;\n return (\n <div class=\"file-wrapper\">\n <div class=\"file --progress\">\n <div\n class=\"progress\"\n style={{\n background: `linear-gradient(to right, rgba(67, 126, 142, 1) ${item.progress}%, transparent ${item.progress}%)`,\n }}\n ></div>\n {this.renderFileName(filename, this.isUploading)}\n </div>\n </div>\n );\n }\n\n renderFileControls(item: UploadedFile) {\n const hasSingleFileAction = item.fileActions && item.fileActions.split(\" \").length === 1;\n const showActionMenu = this.isCondensed && !hasSingleFileAction;\n\n return showActionMenu ? this.renderActionMenu(item) : this.renderFileActionButtons(item);\n }\n\n renderFile(item: UploadedFile) {\n const filename = item.type ? `${item.name}.${item.type}` : item.name;\n const showCheckmark = !this.isWithinLegacyUploader && item.progress === 100;\n\n return (\n <div class={`file-wrapper ${showCheckmark ? \"checked\" : \"\"}`}>\n <div class={`file ${this.errorMessage ? \"--error\" : \"\"}`}>\n {this.renderFileName(filename, this.isUploading)}\n {!this.errorMessage && (\n <div class={`right-group ${this.isCondensed ? \"condensed\" : \"\"}`}>\n {this.showInfo !== \"none\" && this.renderFileInfo(item, this.showInfo)}\n {item.fileActions !== \"\" && this.renderFileControls(item)}\n </div>\n )}\n {this.errorMessage && (\n <wm-button\n permanently-delete\n button-type=\"textonly\"\n label-for-identical-buttons={this.generateClearButtonLabel(item.name)}\n onClick={() => this.wmFileClearErrorClicked.emit({ name: item.name })}\n >\n {this.clearButtonText}\n </wm-button>\n )}\n </div>\n {this.errorMessage && <div class=\"error-message\">{this.errorMessage}</div>}\n </div>\n );\n }\n\n render() {\n return (\n <Host role=\"listitem\">\n {this.isUploading ? this.renderFileInProgress(this.fileData) : this.renderFile(this.fileData)}\n </Host>\n );\n }\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"wm-file-list.js","sourceRoot":"","sources":["../../../../src/components/wm-file-list/wm-file-list.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAgB,MAAM,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAQzF,MAAM,OAAO,QAAQ;;;oBAG0B,MAAM;;EAMnD,IAAI,QAAQ;IACV,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;EAClD,CAAC;EAGD,oBAAoB,CAAC,EAAe;IAClC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;EACtC,CAAC;EAGD,mBAAmB,CAAC,EAAe;IACjC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;EACrC,CAAC;EAGD,iBAAiB,CAAC,EAAe;IAC/B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;EACpC,CAAC;EAED,UAAU,CAAC,IAAkB;IAC3B,oDAAoD;IACpD,yCAAyC;IACzC,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,EAAE;MAClC,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;KACvB;IACD,OAAO,eAAS,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,eAAa,IAAI,CAAC,QAAQ,GAAY,CAAC;EACnF,CAAC;EAED,MAAM;IACJ,OAAO,CACL,WAAK,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,cAAc,IAClC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAkB,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAC7D,CACP,CAAC;EACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { h, Component, Element, Event, EventEmitter, Listen, Prop } from \"@stencil/core\";\nimport { UploadedFile } from \"../../global/interfaces\";\n\n@Component({\n tag: \"wm-file-list\",\n styleUrl: \"wm-file-list.scss\",\n shadow: { delegatesFocus: true },\n})\nexport class FileList {\n @Element() el!: HTMLWmFileListElement;\n @Prop() files?: string;\n @Prop() showInfo: \"time\" | \"size\" | \"none\" = \"time\";\n\n @Event() wmFileDelete!: EventEmitter<string>;\n @Event() wmFileDownload!: EventEmitter<string>;\n @Event() wmFilePreview!: EventEmitter<string>;\n\n get fileList(): [UploadedFile] {\n return this.files ? JSON.parse(this.files) : [];\n }\n\n @Listen(\"wmIntFileDownloaded\")\n handleFileDownloaded(ev: CustomEvent) {\n this.wmFileDownload.emit(ev.detail);\n }\n\n @Listen(\"wmIntFilePreviewed\")\n handleFilePreviewed(ev: CustomEvent) {\n this.wmFilePreview.emit(ev.detail);\n }\n\n @Listen(\"wmIntFileDeleted\")\n handleFileDeleted(ev: CustomEvent) {\n this.wmFileDelete.emit(ev.detail);\n }\n\n renderFile(file: UploadedFile) {\n // file list does not allow for default file actions\n // if none are passed, display no buttons\n if (file.fileActions === undefined) {\n file.fileActions = \"\";\n }\n return <wm-file file={JSON.stringify(file)} show-info={this.showInfo}></wm-file>;\n }\n\n render() {\n return (\n <div role=\"list\" class=\"list-wrapper\">\n {this.fileList.map((file: UploadedFile) => this.renderFile(file))}\n </div>\n );\n }\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"wm-input.js","sourceRoot":"","sources":["../../../../src/components/wm-input/wm-input.tsx"],"names":[],"mappings":"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","sourcesContent":["import { h, Component, Element, Event, EventEmitter, Host, Prop, State, Watch } from \"@stencil/core\";\nimport { intl, generateId, isRelatedTarget } from \"../../global/functions\";\nimport { globalMessages } from \"../../global/intl\";\n\n@Component({\n tag: \"wm-input\",\n styleUrl: \"wm-input.scss\",\n shadow: { delegatesFocus: true },\n})\nexport class Input {\n @Element() el!: HTMLWmInputElement;\n private inputEl!: HTMLInputElement;\n private inputWrapperEl!: HTMLDivElement;\n private liveRegionEl!: HTMLDivElement;\n\n @Prop() label!: string;\n @Prop() labelPosition: \"top\" | \"left\" | \"none\" = \"top\";\n @Prop({ reflect: true, mutable: true }) value: string = \"\";\n @Prop({ reflect: true }) disabled: boolean = false;\n @Prop() info?: string;\n @Prop() placeholder: string = \"\";\n @Prop() requiredField: boolean = false;\n @Prop() requiredFieldMessage?: string;\n @Prop() errorMessage?: string;\n @Prop() characterLimit?: number;\n @Prop() preventValidation?: string; // id or series of ids, validation will not occur when clicking an element with this id\n @Prop() type: \"number\" | \"text\" = \"text\";\n @Prop() step?: number = 1;\n @Prop() min?: number;\n @Prop() max?: number;\n\n get charCount(): number {\n return this.value.length;\n }\n\n @State() announcement: string = \"\";\n\n @Event() wmInputValueChanged!: EventEmitter<{ value: string }>;\n @State() displayedErrorMessage: string = \"\";\n\n private uid: string = \"\";\n private previousBlurredValue: string = \"\";\n private numberErrorMessage = intl.formatMessage({\n id: \"input.numberError\",\n defaultMessage: \"Please enter a valid number.\",\n });\n\n componentWillLoad() {\n this.uid = this.el.id ? this.el.id : generateId();\n\n if (!this.label) {\n console.error(\"wm-input requires the label property\");\n }\n }\n\n componentDidLoad() {\n if (this.value) {\n this.inputEl.value = this.value;\n this.previousBlurredValue = this.inputEl.value;\n }\n }\n\n @Watch(\"errorMessage\")\n handleErrorMessage(newValue: string) {\n this.displayedErrorMessage = newValue;\n }\n\n handleKeyDown(ev: KeyboardEvent) {\n // in most browsers, onInput doesn't fire if the input's maxLength is reached\n // to handle the case where a user continues to type after reaching the character limit, the keyDown event must be used\n const isModifierKey = ev.ctrlKey || ev.metaKey || ev.altKey;\n const isCharacter = /^.$/.test(ev.key) && !isModifierKey;\n const hasReachedCharacterLimit =\n isCharacter && this.characterLimit && this.inputEl.value.length >= this.characterLimit;\n\n if (hasReachedCharacterLimit) {\n this.announce(this.generateCharacterLimitWarning(this.charCount, this.characterLimit!));\n }\n }\n\n handleBlur(ev: FocusEvent) {\n if (this.value !== this.previousBlurredValue) {\n this.wmInputValueChanged.emit({ value: this.value });\n }\n this.previousBlurredValue = this.value;\n // do not validate if clicking to an element that should prevent validation (e.g. close button on modal)\n const shouldPreventValidation = this.preventValidation && isRelatedTarget(ev, this.preventValidation);\n if (!shouldPreventValidation) {\n this.displayedErrorMessage = this.validate();\n }\n this.inputWrapperEl.classList.remove(\"focus\");\n }\n\n handleInput(ev: Event) {\n this.value = (ev.target as HTMLInputElement).value;\n if (this.characterLimit && this.charCount >= this.characterLimit - 5) {\n this.announce(this.generateCharacterLimitWarning(this.charCount, this.characterLimit));\n }\n }\n\n handleFocus() {\n this.inputWrapperEl.classList.add(\"focus\");\n }\n\n validate() {\n // These rules are in priority order\n // i.e. an input that is triggering both required and number errors will only show the number one but it's first\n const validationRules = [this.validateNumber.bind(this), this.validateRequired.bind(this)];\n\n if (this.errorMessage) {\n return this.errorMessage;\n } else {\n // sets newError to first rule that returns an error\n return validationRules.reduce((prev, current) => (prev ? prev : current()), \"\");\n }\n }\n\n validateRequired(): string {\n const reqMsg = this.requiredFieldMessage || globalMessages.requiredError;\n return this.requiredField && this.value === \"\" ? reqMsg : \"\";\n }\n\n validateNumber(): string {\n return this.type === \"number\" && this.inputEl.validity.badInput ? this.numberErrorMessage : \"\";\n }\n\n announce(message: string) {\n if (this.liveRegionEl.textContent === message) {\n message += \"\\u00A0\";\n }\n this.announcement = message;\n }\n\n generateCharacterLimitWarning(charCount: number, charLimit: number): string {\n let message = globalMessages.getCharactersEntered(charCount, charLimit);\n if (charCount >= charLimit) {\n message += ` ${globalMessages.characterLimitReached}`;\n }\n return message;\n }\n\n renderErrorMessage() {\n return this.errorMessage || this.displayedErrorMessage;\n }\n\n render() {\n return (\n <Host id={this.uid}>\n <div\n class={`wrapper label-${this.labelPosition} ${\n this.errorMessage || this.displayedErrorMessage ? \"invalid\" : \"\"\n }`}\n ref={(el) => (this.inputWrapperEl = el as HTMLDivElement)}\n >\n <div class=\"label-wrapper\">\n {this.labelPosition !== \"none\" && (\n <label htmlFor={`inputfield-${this.uid}`} class=\"label\">\n {this.label}\n {this.requiredField && (\n <span class=\"required\" aria-hidden=\"true\">\n *\n </span>\n )}\n </label>\n )}\n </div>\n <div class=\"inner-wrapper\">\n <div class=\"inputfield-wrapper\">\n <input\n ref={(el) => (this.inputEl = el as HTMLInputElement)}\n id={`inputfield-${this.uid}`}\n disabled={this.disabled}\n aria-label={`${this.label}${\n this.characterLimit ? \" \" + globalMessages.getCharacterLimit(this.characterLimit) : \"\"\n }`}\n aria-describedby={`info-${this.uid} error-${this.uid}`}\n onInput={(ev) => this.handleInput(ev)}\n onKeyDown={(ev) => this.handleKeyDown(ev)}\n onBlur={(ev) => this.handleBlur(ev)}\n onFocus={this.handleFocus.bind(this)}\n placeholder={this.placeholder}\n autocomplete=\"off\"\n aria-required={this.requiredField ? \"true\" : null}\n maxLength={this.characterLimit || undefined}\n type={this.type}\n step={this.step}\n max={this.max}\n min={this.min}\n />\n {this.characterLimit && typeof this.characterLimit === \"number\" ? (\n <div class=\"character-count\">\n {this.charCount}/{this.characterLimit}\n </div>\n ) : (\n \"\"\n )}\n </div>\n {this.info && (\n <div id={`info-${this.uid}`} class=\"info\">\n {this.info}\n </div>\n )}\n <div id={`error-${this.uid}`} aria-live=\"assertive\" class=\"error-message\" aria-atomic=\"true\">\n {this.renderErrorMessage()}\n </div>\n <div\n class=\"sr-only\"\n aria-live=\"polite\"\n aria-atomic=\"true\"\n ref={(el) => (this.liveRegionEl = el as HTMLDivElement)}\n >\n {this.announcement}\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"wm-menuitem.js","sourceRoot":"","sources":["../../../../src/components/wm-menuitem/wm-menuitem.tsx"],"names":[],"mappings":"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","sourcesContent":["import { h, Component, Element, Event, EventEmitter, Listen, Prop, State, Host, Watch } from \"@stencil/core\";\nimport { getIconCodeFromName } from \"../../global/interfaces\";\n\n@Component({\n tag: \"wm-menuitem\",\n styleUrl: \"wm-menuitem.scss\",\n shadow: true,\n})\nexport class Menuitem {\n @Element() el!: HTMLWmMenuitemElement;\n private iconEl?: HTMLSpanElement;\n\n @Prop() disabled = false;\n @Prop() focused = false;\n @Prop({ mutable: true }) icon?: string = undefined;\n @Prop() description?: string = undefined;\n\n @Event() wmMenuitemClicked!: EventEmitter<HTMLWmMenuitemElement>;\n @Event() wmKeyUpPressed!: EventEmitter<HTMLWmMenuitemElement>;\n @Event() wmKeyDownPressed!: EventEmitter<HTMLWmMenuitemElement>;\n @Event() wmEscKeyPressed!: EventEmitter<HTMLWmMenuitemElement>;\n @Event() wmHomeKeyPressed!: EventEmitter<HTMLWmMenuitemElement>;\n @Event() wmEndKeyPressed!: EventEmitter<HTMLWmMenuitemElement>;\n @Event() wmPageDownItems!: EventEmitter<HTMLWmMenuitemElement>;\n @Event() wmPageUpItems!: EventEmitter<HTMLWmMenuitemElement>;\n @Event() wmTabKeyPressed!: EventEmitter<HTMLWmMenuitemElement>;\n @Event() wmLetterPressed!: EventEmitter;\n @Event() wmMenuitemBlurred!: EventEmitter<{ relatedTarget: EventTarget | null }>;\n private onClickFunc!: (this: GlobalEventHandlers, ev: MouseEvent) => any;\n private descriptionCharLimit = 100;\n\n @State() isKeying: boolean = false;\n\n @Listen(\"wmUserIsKeying\", { target: \"window\" })\n @Listen(\"wmUserIsTabbing\", { target: \"window\" })\n toggleKeyingOn() {\n this.isKeying = true;\n }\n\n @Listen(\"wmUserIsNotKeying\", { target: \"window\" })\n @Listen(\"wmUserIsNotTabbing\", { target: \"window\" })\n toggleKeyingOff() {\n this.isKeying = false;\n }\n\n @Listen(\"keydown\")\n handleKeydown(ev: KeyboardEvent) {\n const modifierKeyUsed = ev.altKey || ev.ctrlKey || ev.metaKey;\n const isSingleCharacter = /^.$/.test(ev.key);\n const isCharacterEntry = isSingleCharacter && !modifierKeyUsed;\n switch (ev.key) {\n case \"ArrowUp\":\n ev.preventDefault();\n this.wmKeyUpPressed.emit(this.el as HTMLWmMenuitemElement);\n break;\n case \"ArrowDown\":\n ev.preventDefault();\n this.wmKeyDownPressed.emit(this.el as HTMLWmMenuitemElement);\n break;\n case \"Enter\":\n ev.preventDefault();\n if (!this.disabled) {\n this.el.click();\n }\n break;\n case \"Escape\":\n ev.preventDefault();\n ev.stopPropagation(); // prevents closing of parent modal\n this.wmEscKeyPressed.emit();\n break;\n case \"Home\":\n ev.preventDefault();\n this.wmHomeKeyPressed.emit();\n break;\n case \"End\":\n ev.preventDefault();\n this.wmEndKeyPressed.emit();\n break;\n case \"Tab\":\n this.wmTabKeyPressed.emit();\n break;\n default:\n if (isCharacterEntry) {\n ev.preventDefault();\n this.wmLetterPressed.emit(ev.key);\n }\n }\n }\n\n @Listen(\"click\")\n handleClick() {\n if (!this.disabled) {\n this.wmMenuitemClicked.emit();\n }\n }\n\n @Listen(\"blur\")\n handleBlur(ev: FocusEvent) {\n this.wmMenuitemBlurred.emit({ relatedTarget: ev.relatedTarget });\n }\n\n @Watch(\"disabled\")\n setOnClick() {\n if (this.disabled && this.el.onclick) {\n this.onClickFunc = this.el.onclick;\n this.el.onclick = null;\n } else if (!this.disabled && this.onClickFunc) {\n this.el.onclick = this.onClickFunc;\n }\n }\n\n componentWillLoad() {\n if (this.icon) {\n // in case a name was passed instead of a code, convert it to code (for backwards compatibility)\n this.icon = getIconCodeFromName(this.icon);\n }\n\n if (this.description) {\n if (this.description.length > this.descriptionCharLimit) {\n console.error(`wm-menuitem description is above the character limit of ${this.descriptionCharLimit}`);\n }\n if (this.icon) {\n console.error(\"wm-menuitems with descriptions do not support the use of icons\");\n }\n }\n\n this.setOnClick();\n }\n\n componentDidLoad() {\n if (this.icon) {\n this.iconEl!.classList.add(\"mdi\");\n this.iconEl!.innerHTML = `&#x${this.icon};`;\n }\n }\n\n render() {\n return (\n <Host tabindex={-1} role=\"menuitem\" aria-disabled={this.disabled ? \"true\" : null}>\n <div\n class={`wrapper ${this.focused && this.isKeying ? \"focus\" : \"\"}`}\n aria-disabled={this.disabled ? \"true\" : null}\n >\n <span ref={(el) => (this.iconEl = el)} />\n <slot />\n {this.description ? <div class=\"description\">{this.description}</div> : \"\"}\n </div>\n </Host>\n );\n }\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"wm-modal-footer.js","sourceRoot":"","sources":["../../../../src/components/wm-modal/wm-modal-footer.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAM5D,MAAM,OAAO,WAAW;;yBAGW,EAAE;uBACJ,EAAE;oBACL,EAAE;iCACW,KAAK;uBACf,KAAK;;EAIpC,iBAAiB;IACf,IAAI,CAAC,GAAG,GAAI,IAAI,CAAC,EAAE,CAAC,aAAoC,CAAC,GAAG,CAAC;IAE7D,8DAA8D;IAC9D,8EAA8E;IAC9E,6EAA6E;IAC7E,IAAI,CAAC,EAAE,CAAC,aAAc,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,GAAG,EAAE;MAC/D,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;IAC3B,CAAC,CAAC,CAAC;EACL,CAAC;EAED,sBAAsB;IACpB,MAAM,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC;IAC1C,YAAY;IACZ,WAAW,CAAC,gBAAgB,EAAE,CAAC;EACjC,CAAC;EAED,wBAAwB;IACtB,MAAM,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC;IAC1C,YAAY;IACZ,WAAW,CAAC,kBAAkB,EAAE,CAAC;EACnC,CAAC;EAED,MAAM;IACJ,OAAO,CACL,WAAK,KAAK,EAAE,cAAc,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,EAAE;MAC7D,WAAK,KAAK,EAAC,SAAS,eAAW,QAAQ,IAAE,IAAI,CAAC,QAAQ,CAAO;MAC7D,WAAK,KAAK,EAAC,sBAAsB;QAC9B,IAAI,CAAC,aAAa,IAAI,CACrB,iBACE,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,wBAAwB,EAAE,EAC9C,EAAE,EAAE,gBAAgB,IAAI,CAAC,GAAG,EAAE,EAC9B,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,GAAG,EAAiB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAExF,IAAI,CAAC,aAAa,CACT,CACb;QACD,gCACe,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,wBACnC,IAAI,CAAC,WAAW,EACpC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,sBAAsB,EAAE,EAC5C,QAAQ,EAAE,IAAI,CAAC,qBAAqB,EACpC,EAAE,EAAE,cAAc,IAAI,CAAC,GAAG,EAAE,EAC5B,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,GAAG,EAAiB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAEzF,IAAI,CAAC,WAAW,CACP,CACR,CACF,CACP,CAAC;EACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { h, Component, Element, Prop } from \"@stencil/core\";\n\n@Component({\n tag: \"wm-modal-footer\",\n styleUrl: \"wm-modal-footer.scss\",\n})\nexport class ModalFooter {\n @Element() el!: HTMLElement;\n\n @Prop() secondaryText?: string = \"\";\n @Prop() primaryText?: string = \"\";\n @Prop() infoText?: string = \"\";\n @Prop() primaryActionDisabled: boolean = false;\n @Prop() deleteStyle: boolean = false;\n private uid!: string;\n private lastElement!: HTMLElement;\n\n componentWillLoad() {\n this.uid = (this.el.parentElement as HTMLWmModalElement).uid;\n\n // Trap focus when user shift+tabs past first element in modal\n // NB @Listen doesn't allow to listen on a specific element (the parent modal)\n // if we listen to the whole doc each modal on the page reacts to every event\n this.el.parentElement!.addEventListener(\"focusLastElement\", () => {\n this.lastElement.focus();\n });\n }\n\n emitParentPrimaryEvent() {\n const parentModal = this.el.parentElement;\n //@ts-ignore\n parentModal.emitPrimaryEvent();\n }\n\n emitParentSecondaryEvent() {\n const parentModal = this.el.parentElement;\n //@ts-ignore\n parentModal.emitSecondaryEvent();\n }\n\n render() {\n return (\n <div class={`wm-wrapper ${this.infoText ? \" footer-text\" : \"\"}`}>\n <div class=\"wm-info\" aria-live=\"polite\">{this.infoText}</div>\n <div class=\"wm-button-collection\">\n {this.secondaryText && (\n <wm-button\n onClick={() => this.emitParentSecondaryEvent()}\n id={`wm-secondary-${this.uid}`}\n ref={(el) => (this.primaryActionDisabled ? (this.lastElement = el as HTMLElement) : null)}\n >\n {this.secondaryText}\n </wm-button>\n )}\n <wm-button\n button-type={this.deleteStyle ? \"secondary\" : \"primary\"}\n permanently-delete={this.deleteStyle}\n onClick={() => this.emitParentPrimaryEvent()}\n disabled={this.primaryActionDisabled}\n id={`wm-primary-${this.uid}`}\n ref={(el) => (!this.primaryActionDisabled ? (this.lastElement = el as HTMLElement) : null)}\n >\n {this.primaryText}\n </wm-button>\n </div>\n </div>\n );\n }\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"wm-modal-header.js","sourceRoot":"","sources":["../../../../src/components/wm-modal/wm-modal-header.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAMnD,MAAM,OAAO,WAAW;;mBAIK,EAAE;sBACC,EAAE;;EAGhC,iBAAiB;IACf,IAAI,CAAC,GAAG,GAAI,IAAI,CAAC,EAAE,CAAC,aAAoC,CAAC,GAAG,CAAC;IAE7D,uDAAuD;IACvD,8EAA8E;IAC9E,6EAA6E;IAC7E,IAAI,CAAC,EAAE,CAAC,aAAc,CAAC,gBAAgB,CAAC,mBAAmB,EAAE,GAAG,EAAE;MAChE,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;IAC7B,CAAC,CAAC,CAAC;EACL,CAAC;EAED,oBAAoB;IAClB,MAAM,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC;IAC1C,YAAY;IACZ,WAAW,CAAC,cAAc,EAAE,CAAC;EAC/B,CAAC;EAED,mBAAmB;EACnB,yBAAyB;EACzB,sCAAsC;EACtC,iCAAiC;EACjC,IAAI;EAEJ,MAAM;IACJ,OAAO,CACL,EAAC,IAAI;MACH,WAAK,KAAK,EAAC,YAAY;QACrB;UACE,UACE,KAAK,EAAC,OAAO,EACb,EAAE,EAAE,yBAAyB,IAAI,CAAC,GAAG,EAAE;YAItC,IAAI,CAAC,OAAO;YACb,YAAM,KAAK,EAAC,UAAU,IAAE,IAAI,CAAC,UAAU,CAAQ,CAC5C,CACD;QACN,gCACc,cAAc,EAC1B,IAAI,EAAC,MAAM,EACX,OAAO,EAAE,cAAc,CAAC,KAAK,sBACZ,MAAM,EACvB,EAAE,EAAE,kBAAkB,IAAI,CAAC,GAAG,EAAE,EAChC,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,GAAG,EAAiB,CAAC,EACrD,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,oBAAoB,EAAE,GAC1C,CACE,CACD,CACR,CAAC;EACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { h, Component, Element, Prop, Host } from \"@stencil/core\";\nimport { globalMessages } from \"../../global/intl\";\n\n@Component({\n tag: \"wm-modal-header\",\n styleUrl: \"wm-modal-header.scss\",\n})\nexport class ModalHeader {\n @Element() el!: HTMLElement;\n private closeButtonEl!: HTMLElement;\n\n @Prop() heading?: string = \"\";\n @Prop() subheading?: string = \"\";\n private uid!: string;\n\n componentWillLoad() {\n this.uid = (this.el.parentElement as HTMLWmModalElement).uid;\n\n // Trap focus when user tabs past last element in modal\n // NB @Listen doesn't allow to listen on a specific element (the parent modal)\n // if we listen to the whole doc each modal on the page reacts to every event\n this.el.parentElement!.addEventListener(\"focusFirstElement\", () => {\n this.closeButtonEl.focus();\n });\n }\n\n emitParentCloseEvent() {\n const parentModal = this.el.parentElement;\n //@ts-ignore\n parentModal.emitCloseEvent();\n }\n\n // @Listen(\"click\")\n // directFocusOnClick() {\n // this.headingElement.tabIndex = 0;\n // this.headingElement.focus();\n // }\n\n render() {\n return (\n <Host>\n <div class=\"wm-wrapper\">\n <div>\n <h2\n class=\"title\"\n id={`wm-modal-heading-text-${this.uid}`}\n // ref={el => (this.headingElement = el as HTMLElement)}\n // onBlur={() => (this.headingElement.tabIndex = -1)}\n >\n {this.heading}\n <span class=\"subtitle\">{this.subheading}</span>\n </h2>\n </div>\n <wm-button\n button-type=\"navigational\"\n icon=\"f156\"\n tooltip={globalMessages.close}\n tooltip-position=\"left\"\n id={`wm-modal-close-${this.uid}`}\n ref={(el) => (this.closeButtonEl = el as HTMLElement)}\n onClick={() => this.emitParentCloseEvent()}\n />\n </div>\n </Host>\n );\n }\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"wm-modal.js","sourceRoot":"","sources":["../../../../src/components/wm-modal/wm-modal.tsx"],"names":[],"mappings":"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","sourcesContent":["import { h, Component, Element, Listen, Host, Prop, Watch, Event, EventEmitter, Method } from \"@stencil/core\";\nimport { checkForActiveElInShadow } from \"../../global/functions\";\nimport { generateId } from \"../../global/functions\";\n\n@Component({\n tag: \"wm-modal\",\n styleUrl: \"wm-modal.scss\",\n})\nexport class Modal {\n @Element() el!: HTMLWmModalElement;\n @Prop({ reflect: true, mutable: true }) open: boolean = false;\n @Prop({ reflect: true, mutable: true }) isOpen: boolean = false; // DEPRECATED in favor of open\n get tempOpen() {\n // instances of this.tempOpen should be replaced with this.open once isOpen is fully phased out\n return this.open || this.isOpen;\n }\n @Prop({ mutable: true }) elementToFocus: \"primary\" | \"secondary\" | string = \"\"; // primary and secondary point to the corresponding buttons, otherwise focus based on element id\n @Prop({ reflect: true }) modalType: \"modal\" | \"dialog\" | null = null;\n @Prop({ reflect: true }) isTypeDialog: boolean | null = null;\n get tempModalType() {\n return this.modalType ? this.modalType : this.isTypeDialog ? \"dialog\" : \"modal\";\n }\n @Prop({ mutable: true, reflect: true }) uid!: string;\n private focusOnCloseEl!: HTMLElement;\n private overlayEl!: HTMLDivElement;\n private bodyFocusListener: () => void = () => this.redirectFocusFromBody();\n\n @Event({ bubbles: false }) focusLastElement!: EventEmitter;\n @Event({ bubbles: false }) focusFirstElement!: EventEmitter;\n // wmModalCloseTriggered does not bubble, prevent nested modals from closing all at once\n @Event({ bubbles: false }) wmModalCloseTriggered!: EventEmitter;\n @Event() wmCloseTriggered!: EventEmitter; // deprecated in favor of wmModalCloseTriggered\n @Event() wmModalPrimaryTriggered!: EventEmitter;\n @Event() wmPrimaryTriggered!: EventEmitter; // deprecated in favor of wmModalPrimaryTriggered\n @Event() wmModalSecondaryTriggered!: EventEmitter;\n @Event() wmSecondaryTriggered!: EventEmitter; // deprecated in favor of wmModalSecondaryTriggered\n\n get focusOnOpenEl(): HTMLElement {\n let customElementToFocus: HTMLElement | null = null;\n\n if (this.elementToFocus === \"primary\" || this.elementToFocus === \"secondary\") {\n customElementToFocus = this.el.querySelector<HTMLElement>(`#wm-${this.elementToFocus}-${this.uid}`);\n } else if (this.elementToFocus) {\n customElementToFocus = this.el.querySelector<HTMLElement>(\"#\" + this.elementToFocus);\n !customElementToFocus &&\n console.warn(\n \"Ripple Component Library: The modal component couldn't find an element matching the id you passed for 'elementToFocus'. It will fall back to the default and focus the close button when the modal opens.\"\n );\n }\n\n const closeButtonEl = this.el.querySelector<HTMLElement>(`#wm-modal-close-${this.uid}`)!;\n return customElementToFocus ? customElementToFocus : closeButtonEl;\n }\n\n //App can open modal by toggling the prop\n @Watch(\"open\")\n @Watch(\"isOpen\")\n toggleModal() {\n this.tempOpen ? this.showModal() : this.hideModal();\n }\n\n //The below not implemented in light of the fact that the app does often need to keep track of the modal's state itself so that it can update the data displayed in the body:\n //App can also open modal by emitting wmShowModal event. Event needs to include the modal's unique id as the event detail, or else all modals on the page will open when wmShowModal event is dispatched.\n // @Listen(\"wmShowModal\", { target: \"window\" })\n // doesEventMatchId(ev: CustomEvent) {\n // ev.detail === this.uid && this.showModal();\n // }\n\n @Listen(\"click\")\n handleClick(ev: MouseEvent & { target: HTMLElement }) {\n this.tempOpen && ev.target === this.overlayEl && this.focusOnOpenEl.focus();\n }\n\n @Listen(\"keydown\")\n closeModalOnEscape(ev: KeyboardEvent) {\n if (ev.key === \"Escape\") {\n // stops propagation prevents nested modal from closing all at once\n ev.stopPropagation();\n this.wmModalCloseTriggered.emit();\n this.wmCloseTriggered.emit(); // deprecated\n this.open = false;\n }\n }\n\n showModal() {\n this.setAriaDescribedbyOnModal();\n this.setElToFocusOnClose(); //Record where the user was before the modal opened so that focus can return to it when the modal closes\n document.body.style.overflow = \"hidden\"; //Keeps the page below the modal from scrolling\n\n //Focus listeners as a general catch for keeping focus in case of errors in finding element with id passed in by dev (element is removed from DOM, etc.) or other scenarios\n document.body.tabIndex = 0;\n document.body.removeEventListener(\"focus\", this.bodyFocusListener, true);\n document.body.addEventListener(\"focus\", this.bodyFocusListener, true);\n\n window.requestAnimationFrame(() => {\n // nested requestAnimationFrames allow all elements to become visible on page before assigning focus\n window.requestAnimationFrame(() => this.focusOnOpenEl.focus()); //Bring focus to element inside modal\n });\n }\n\n //Close the modal and focus the triggering element when the modal buttons emit their events\n hideModal() {\n document.body.style.overflow = \"visible\";\n document.body.tabIndex = -1;\n document.body.removeEventListener(\"focus\", this.bodyFocusListener, true);\n window.requestAnimationFrame(() => this.focusOnCloseEl.focus()); //Return focus\n }\n\n componentWillLoad() {\n if (this.isOpen) {\n console.warn(\"wm-modal: is-open has been deprecated as of v3.1.0. Please use open instead.\");\n }\n if (this.isTypeDialog) {\n console.warn(\"wm-modal: is-type-dialog has been deprecated as of v3.1.0. Please use modal-type instead.\");\n }\n if (this.elementToFocus === \"primary\" || this.elementToFocus === \"secondary\") {\n if (!this.el.id) {\n console.error(\n \"You are telling the modal to focus an element in the footer when it opens. That's fine! But when you do that, you also need to give the wm-modal-wrapper an ID and set the ID of the modal body to 'content-[id of wm-modal-wrapper]. This is for accessibility purposes.\"\n );\n }\n }\n\n this.el.focus = () => {\n this.focusOnOpenEl.focus();\n };\n\n this.uid = this.el.id ? this.el.id : generateId();\n }\n\n componentDidLoad() {\n if (this.tempOpen) {\n this.showModal();\n }\n }\n\n @Method()\n async emitCloseEvent() {\n this.wmModalCloseTriggered.emit();\n this.wmCloseTriggered.emit(); // deprecated\n }\n\n @Method()\n async emitPrimaryEvent() {\n this.wmModalPrimaryTriggered.emit();\n this.wmPrimaryTriggered.emit(); // deprecated\n }\n\n @Method()\n async emitSecondaryEvent() {\n this.wmModalSecondaryTriggered.emit();\n this.wmSecondaryTriggered.emit(); // deprecated\n }\n\n setAriaDescribedbyOnModal() {\n const modalBody = document.getElementById(`content-${this.uid}`);\n\n if (!modalBody) {\n console.warn(\n \"Ripple Component Library: The element containing the body of the modal must include an id in the format 'content-[id of modal]' for accessibility purposes.\"\n );\n } else {\n this.el.setAttribute(\"aria-describedby\", `wm-modal-heading-text-${this.uid} content-${this.uid}`);\n }\n }\n\n setElToFocusOnClose() {\n const elToFocus = document.activeElement as HTMLElement;\n if (elToFocus.tagName === \"WM-MENUITEM\") {\n this.focusOnCloseEl = elToFocus.parentElement!;\n } else {\n this.focusOnCloseEl = checkForActiveElInShadow(elToFocus);\n }\n }\n\n redirectFocusFromBody() {\n if ((document.activeElement as HTMLElement).tagName === \"BODY\") {\n this.focusOnOpenEl.focus();\n }\n }\n\n render() {\n return (\n <Host\n class={`${this.tempOpen ? \"\" : \"hide \"}${\"wm-\" + this.tempModalType}`}\n role=\"dialog\"\n aria-describedby={`wm-modal-heading-text-${this.uid}`}\n aria-modal=\"true\"\n tabindex={this.tempOpen ? 0 : null}\n onFocus={() => {\n this.focusLastElement.emit();\n }}\n >\n <div class=\"overlay\" ref={(el) => (this.overlayEl = el as HTMLDivElement)} />\n <div\n class=\"sr-only\"\n tabIndex={0}\n onFocus={() => {\n this.focusFirstElement.emit();\n }}\n />\n </Host>\n );\n }\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"wm-navigation-hamburger.js","sourceRoot":"","sources":["../../../../src/components/wm-navigation/wm-navigation-hamburger.tsx"],"names":[],"mappings":"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","sourcesContent":["import { h, Component, Element, Host, Prop, Listen, Event, EventEmitter, State } from \"@stencil/core\";\nimport { intl } from \"../../global/functions\";\n\n@Component({\n tag: \"wm-navigation-hamburger\",\n styleUrl: \"wm-navigation-hamburger.scss\",\n shadow: { delegatesFocus: true },\n})\nexport class NavigationHamburger {\n @Element() el!: HTMLWmNavigationHamburgerElement;\n nav!: HTMLWmNavigationElement;\n\n @Prop() navId?: string;\n @Prop({ mutable: true }) tooltipVisible = false; // this is not part of the documented API but we need to expose as prop in order to change it from the focus method defined in WillLoad()\n\n @State() isTabbing?: boolean = false;\n @State() open: boolean = false;\n\n @Event() wmNavigationHamburgerClicked!: EventEmitter;\n\n showNavMessage = intl.formatMessage({\n id: \"navigation.showNavigation\",\n defaultMessage: \"Show navigation\",\n description: \"For user interface element opening a navigation menu\",\n });\n\n get tooltipEl(): HTMLElement {\n return document.getElementById(\"wm-tooltip\")!;\n }\n\n @Listen(\"wmUserIsTabbing\", { target: \"window\" })\n toggleTabbingOn() {\n this.isTabbing = true;\n }\n\n @Listen(\"wmUserIsNotTabbing\", { target: \"window\" })\n toggleTabbingOff() {\n this.isTabbing = false;\n }\n\n // this also works on initial load because event is fired then\n @Listen(\"wmNavigationStateChanged\", { target: \"document\" })\n handleNavigationStateChanged(ev: CustomEvent) {\n this.open = (ev.target! as HTMLWmNavigationElement).open;\n }\n\n componentWillLoad() {\n if (document.body.classList.contains(\"wmcl-user-is-tabbing\")) {\n this.toggleTabbingOn();\n }\n if (!this.navId) {\n console.error(\"wm-navigation-hamburger: nav-id is a required prop\");\n }\n }\n\n showTooltip() {\n const tooltipText = this.showNavMessage;\n this.tooltipEl.textContent = tooltipText;\n this.tooltipEl.style.setProperty(\"--wmTooltipTop\", \"1.125rem\");\n this.tooltipEl.style.setProperty(\"--wmTooltipLeft\", \"2.75rem\");\n this.tooltipEl.style.transitionDelay = \"500ms\";\n this.tooltipEl.style.opacity = \"1\";\n\n // tooltip only has a maxWidth if it contains whitespace and can break\n const hasNoWhitespace = tooltipText!.match(/^[^\\s]+$/);\n if (hasNoWhitespace) {\n this.tooltipEl.classList.add(\"single-word\");\n this.tooltipEl.style.setProperty(\"--wmTooltipMaxWidth\", \"none\");\n } else {\n this.tooltipEl.classList.remove(\"single-word\");\n this.tooltipEl.style.removeProperty(\"--wmTooltipMaxWidth\");\n }\n\n // tooltip is only visible after the transition delay.\n // This also fixes an issue for keyboard users:\n // if they tab to a button out of screen bounds, the page scrolls\n // and hideTooltip() would be triggered before the tooltip would show\n setTimeout(() => {\n this.tooltipVisible = true;\n }, 500);\n }\n\n hideTooltip() {\n this.tooltipEl.style.transitionDelay = \"0s\";\n this.tooltipEl.style.opacity = \"0\";\n this.tooltipVisible = false;\n }\n\n showTooltipForKeyboardUsers() {\n if (this.isTabbing) {\n this.showTooltip();\n }\n }\n\n handleClick() {\n this.hideTooltip();\n this.wmNavigationHamburgerClicked.emit();\n }\n\n render() {\n return (\n <Host class={`hamburger ${this.open ? \"nav-open\" : \"nav-closed\"}`}>\n <button\n class={this.isTabbing ? \"user-is-tabbing\" : undefined}\n aria-expanded={this.open}\n aria-controls={this.navId}\n aria-label={this.showNavMessage}\n onMouseEnter={() => this.showTooltip()}\n onMouseLeave={() => this.hideTooltip()}\n onFocus={() => this.showTooltipForKeyboardUsers()}\n onBlur={() => this.hideTooltip()}\n onClick={() => this.handleClick()}\n >\n <span class=\"icon\"></span>\n </button>\n </Host>\n );\n }\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"wm-navigation-item.js","sourceRoot":"","sources":["../../../../src/components/wm-navigation/wm-navigation-item.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAgB,MAAM,eAAe,CAAC;AAOtG,MAAM,OAAO,cAAc;;;;;qBAMM,KAAK;;EAIpC,eAAe;IACb,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;EACxB,CAAC;EAGD,gBAAgB;IACd,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;EACzB,CAAC;EAED,iBAAiB;IACf,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,sBAAsB,CAAC,EAAE;MAC5D,IAAI,CAAC,eAAe,EAAE,CAAC;KACxB;EACH,CAAC;EAED,MAAM;IACJ,OAAO,CACL,EAAC,IAAI,IAAC,IAAI,EAAC,UAAU;MACnB,SACE,KAAK,EAAE,QAAQ,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,EAAE,EACvF,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,uBAAuB,CAAC,IAAI,EAAE;QAElD,WAAK,KAAK,EAAC,MAAM,iBAAa,MAAM;UAClC,eAAQ,CACJ;QACN,WAAK,KAAK,EAAC,MAAM,IAAE,IAAI,CAAC,IAAI,CAAO,CACjC,CACC,CACR,CAAC;EACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { h, Component, Prop, Element, Host, State, Listen, Event, EventEmitter } from \"@stencil/core\";\n\n@Component({\n tag: \"wm-navigation-item\",\n styleUrl: \"wm-navigation-item.scss\",\n shadow: { delegatesFocus: true },\n})\nexport class NavigationItem {\n @Element() el!: HTMLWmNavigationItemElement;\n @Prop() href?: string;\n @Prop() text?: string;\n @Prop() active?: boolean;\n\n @State() isTabbing?: boolean = false;\n @Event() wmNavigationItemClicked!: EventEmitter;\n\n @Listen(\"wmUserIsTabbing\", { target: \"window\" })\n toggleTabbingOn() {\n this.isTabbing = true;\n }\n\n @Listen(\"wmUserIsNotTabbing\", { target: \"window\" })\n toggleTabbingOff() {\n this.isTabbing = false;\n }\n\n componentWillLoad() {\n if (document.body.classList.contains(\"wmcl-user-is-tabbing\")) {\n this.toggleTabbingOn();\n }\n }\n\n render() {\n return (\n <Host role=\"listitem\">\n <a\n class={`link ${this.active ? \"active\" : \"\"} ${this.isTabbing ? \"user-is-tabbing\" : \"\"}`}\n href={this.href}\n onClick={() => this.wmNavigationItemClicked.emit()}\n >\n <div class=\"icon\" aria-hidden=\"true\">\n <slot />\n </div>\n <div class=\"text\">{this.text}</div>\n </a>\n </Host>\n );\n }\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"wm-navigation.js","sourceRoot":"","sources":["../../../../src/components/wm-navigation/wm-navigation.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n h,\n Component,\n Element,\n Prop,\n State,\n Listen,\n Host,\n Watch,\n Event,\n EventEmitter,\n forceUpdate,\n} from \"@stencil/core\";\nimport { intl, throttle } from \"../../global/functions\";\nimport { globalMessages } from \"../../global/intl\";\n\n@Component({\n tag: \"wm-navigation\",\n styleUrl: \"wm-navigation.scss\",\n shadow: { delegatesFocus: true },\n})\nexport class Navigation {\n @Element() el!: HTMLWmNavigationElement;\n toggleEl!: HTMLWmButtonElement;\n @Prop({ reflect: true, mutable: true }) open: boolean = false;\n\n @State() isTabbing: boolean = false;\n @Event() wmNavigationStateChanged!: EventEmitter;\n\n private mainNavigationMessage: string = intl.formatMessage({\n id: \"navigation.mainNavigation\",\n defaultMessage: \"Main\",\n description: \"Label describing the site navigation, for screen reader users\",\n });\n\n get isCollapsible() {\n return window.innerWidth < 1024;\n }\n\n get ariaExpanded() {\n return this.isCollapsible\n ? // if component is in collapsible mode, set aria-expanded according to expanded state\n this.open.toString()\n : // otherwise, do not render attr at all\n undefined;\n }\n\n @Listen(\"wmUserIsTabbing\", { target: \"window\" })\n toggleTabbingOn() {\n this.isTabbing = true;\n }\n\n @Listen(\"wmUserIsNotTabbing\", { target: \"window\" })\n toggleTabbingOff() {\n this.isTabbing = false;\n }\n\n @Listen(\"keydown\")\n closeOnEscape(ev: KeyboardEvent) {\n if (ev.key === \"Escape\") {\n this.open = false;\n }\n }\n\n throttledRerender = throttle(() => forceUpdate(this.el), 50);\n\n @Listen(\"resize\", { target: \"window\" })\n handleWindowResize() {\n // for component to react when breakpoint is crossed\n // (doesn't rerender on window resize)\n this.throttledRerender();\n }\n\n @Listen(\"wmNavigationHamburgerClicked\", { target: \"window\" })\n handleHamburgerClicked() {\n this.open = !this.open;\n }\n\n @Listen(\"wmNavigationItemClicked\")\n handleClickOnItem() {\n this.open = false;\n }\n\n @Watch(\"open\")\n handleStateChange() {\n if (this.isCollapsible) {\n this.wmNavigationStateChanged.emit();\n this.open ? this.expand() : this.collapse();\n }\n }\n\n componentWillLoad() {\n if (document.body.classList.contains(\"wmcl-user-is-tabbing\")) {\n this.toggleTabbingOn();\n }\n\n this.el.focus = () => {\n // in addition to delegatesFocus, we need to highjack the focus method to send focus to the appropriate element based on the navigation's state\n const btn = this.open\n ? (this.el.shadowRoot!.querySelector(\".toggle\")! as HTMLWmButtonElement)\n : (document.querySelector(\"wm-navigation-hamburger\") as HTMLWmNavigationHamburgerElement);\n const firstItem = this.el.querySelector(\"wm-navigation-item\")! as HTMLWmNavigationItemElement;\n this.isCollapsible ? btn.focus() : firstItem.focus();\n };\n\n if (this.isCollapsible && this.open) {\n // hamburger needs to know if open was initially set to true\n this.wmNavigationStateChanged.emit();\n this.expand();\n }\n }\n\n redirectFocusFromBody(ev: FocusEvent) {\n // the 2nd check excludes the case when user clicks on the page when the nav is open,\n // which should not redirect focus\n if ((document.activeElement as HTMLElement).tagName === \"BODY\" && !ev.relatedTarget) {\n this.el.focus();\n }\n }\n\n expand() {\n // listen to focus on body and redirect to the component\n // this is to handle trap focus when user has left the page (e.g. went to the address bar)\n // and is tabbing back in\n document.body.tabIndex = 0;\n document.body.addEventListener(\"focus\", this.redirectFocusFromBody.bind(this), true);\n\n // wait for nav to be expanded otherwise tooltip will be misplaced.\n setTimeout(() => this.toggleEl.focus(), 250);\n //document.querySelector(\"wm-navigation\")!.shadowRoot!.querySelector(\".toggle\")!.focus()\n }\n\n collapse() {\n // rm event listener on body\n document.body.tabIndex = -1;\n document.body.removeEventListener(\"focus\", this.redirectFocusFromBody.bind(this));\n\n const hamburgerBtn = document.querySelector(\"wm-navigation-hamburger\");\n // should fail silently if el doesn't exist\n // (dev may have chosen not to use the hamburger component)\n if (hamburgerBtn) hamburgerBtn.focus();\n }\n\n focusLastItem() {\n const items = this.el.querySelectorAll(\"wm-navigation-item\");\n const lastItem = Array.from(items).pop() as HTMLWmNavigationItemElement;\n lastItem.focus();\n }\n\n renderOverlay() {\n return (\n <div\n class=\"overlay\"\n onClick={() => {\n this.open = false;\n }}\n ></div>\n );\n }\n\n render() {\n return (\n <Host role=\"navigation\" aria-expanded={this.ariaExpanded} aria-label={this.mainNavigationMessage}>\n {this.open ? this.renderOverlay() : \"\"}\n {this.isCollapsible && (\n <div class=\"trapfocus\" tabindex={this.open ? 0 : undefined} onFocus={() => this.focusLastItem()}></div>\n )}\n <div class=\"tray\">\n <div class=\"toggle-wrapper\">\n <wm-button\n ref={(el) => (this.toggleEl = el as HTMLWmButtonElement)}\n class={`toggle ${this.isTabbing ? \"user-is-tabbing\" : \"\"}`}\n button-type=\"navigational\"\n icon={this.open ? \"f156\" : \"f35c\"}\n icon-size=\"2rem\"\n tooltip={this.open ? globalMessages.close : globalMessages.open}\n tooltip-position=\"left\"\n tabIndex={this.open ? undefined : -1}\n onClick={() => {\n this.open = !this.open;\n }}\n />\n </div>\n <ul class=\"navlist\">\n <slot />\n </ul>\n </div>\n {this.isCollapsible && (\n <div class=\"trapfocus\" tabindex={this.open ? 0 : undefined} onFocus={() => this.toggleEl.focus()}></div>\n )}\n </Host>\n );\n }\n}\n"]}
|
package/dist/collection/components/wm-navigator/priv-navigator-button/priv-navigator-button.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"priv-navigator-button.js","sourceRoot":"","sources":["../../../../../src/components/wm-navigator/priv-navigator-button/priv-navigator-button.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAgB,MAAM,eAAe,CAAC;AAOjF,MAAM,OAAO,mBAAmB;;oBAEe,KAAK;mBACxB,EAAE;qBACkB,KAAK;;EAKnD,WAAW;IACT,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;EAC9B,CAAC;EAED,MAAM;IACJ,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IACtC,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;IAE7D,OAAO,CACL,+BACiB,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,EACvC,KAAK,EAAE,aAAa,YAAY,EAAE,EAClC,OAAO,EAAE,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,gBACnB,OAAO,GACX,CACX,CAAC;EACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Element, h, Prop, Event, EventEmitter } from \"@stencil/core\";\n\n@Component({\n tag: \"priv-navigator-button\",\n styleUrl: \"priv-navigator-button.scss\",\n shadow: { delegatesFocus: true },\n})\nexport class PrivNavigatorButton {\n @Element() el!: any;\n @Prop({ mutable: true }) expanded: boolean = false;\n @Prop() altText: string = \"\";\n @Prop({ mutable: true }) isTabbing: boolean = false;\n // @Prop({ attribute: \"mode\", reflect: true, mutable: true })\n // mode: string = \"planning\";\n @Event() buttonActivated!: EventEmitter;\n\n handleClick() {\n this.buttonActivated.emit();\n }\n\n render() {\n const { handleClick, altText } = this;\n const tabbingClass = this.isTabbing ? \"user-is-tabbing\" : \"\";\n\n return (\n <button\n aria-expanded={this.expanded.toString()}\n class={`navigator ${tabbingClass}`}\n onClick={handleClick.bind(this)}\n aria-label={altText}\n ></button>\n );\n }\n}\n"]}
|
package/dist/collection/components/wm-navigator/priv-navigator-item/priv-navigator-item.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"priv-navigator-item.js","sourceRoot":"","sources":["../../../../../src/components/wm-navigator/priv-navigator-item/priv-navigator-item.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAgB,MAAM,EAAE,MAAM,eAAe,CAAC;AAOzF,MAAM,OAAO,iBAAiB;;oBAEiB,KAAK;mBACN,KAAK;gBACT,EAAE;;EAO1C,aAAa,CAAC,EAAiB;IAC7B,MAAM,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC;IACnB,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;IACnB,IAAI,GAAG,KAAK,KAAK,EAAE;MACjB,EAAE,CAAC,cAAc,EAAE,CAAC;KACrB;IACD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;EACxD,CAAC;EAED,MAAM;IACJ,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;IACtD,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;IAEnD,OAAO,CACL,WAAK,KAAK,EAAE,aAAa,aAAa,IAAI,YAAY,EAAE;MACtD,eAAQ,CACJ,CACP,CAAC;EACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Element, h, Prop, Event, EventEmitter, Listen } from \"@stencil/core\";\n\n@Component({\n tag: \"priv-navigator-item\",\n styleUrl: \"priv-navigator-item.scss\",\n shadow: true,\n})\nexport class PrivNavigatorItem {\n @Element() el!: any;\n @Prop({ mutable: true }) selected: boolean = false;\n @Prop({ mutable: true }) focused: boolean = false;\n @Prop({ mutable: true }) link: string = \"\";\n @Event() keydownOnNavItem!: EventEmitter<{\n navItem: HTMLPrivNavigatorItemElement;\n key: string;\n }>;\n\n @Listen(\"keydown\")\n handleKeyDown(ev: KeyboardEvent) {\n const key = ev.key;\n const el = this.el;\n if (key !== \"Tab\") {\n ev.preventDefault();\n }\n this.keydownOnNavItem.emit({ navItem: el, key: key });\n }\n\n render() {\n const selectedClass = this.selected ? \"selected\" : \"\";\n const focusedClass = this.focused ? \"focused\" : \"\";\n\n return (\n <div class={`navoption ${selectedClass} ${focusedClass}`}>\n <slot />\n </div>\n );\n }\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"wm-navigator.js","sourceRoot":"","sources":["../../../../src/components/wm-navigator/wm-navigator.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Element, h, Host, Prop, State, Listen, EventEmitter, Event, Watch } from \"@stencil/core\";\nimport { getWmMode, Product, NavigatorPayload } from \"../../global/interfaces\";\nimport { intl, snakeCaseToCamelCase, getNewIndexToFocus } from \"../../global/functions\";\nimport { getRequest } from \"../../global/services/http-service\";\n\n@Component({\n tag: \"wm-navigator\",\n styleUrl: \"wm-navigator.scss\",\n shadow: { delegatesFocus: true },\n})\nexport class Navigator {\n @Element() el!: any;\n private wrapperEl?: HTMLDivElement;\n\n // Component can receive user info and products as props (this is how it worked before)\n @Prop() userName?: string;\n @Prop() email?: string;\n @Prop() authType: number = 1; // 1: none or off, 2: username-password or username_password_sso, 3: saml or saml_sso\n @Prop() connectionName?: string;\n @Prop() logoutUrl?: string;\n @Prop() products?: string | []; // products as JSON string, parsed on load\n\n // The new way is to retrieve user info from an endpoint\n // dev needs to opt-in by setting loadFromUserinfo to true\n @Prop() loadFromUserinfo: boolean = false;\n // comp can check whether the info was successfully retrieved with:\n private retrievedInfo: boolean = !this.loadFromUserinfo; // when in endpoint mode, only render after get request completed\n\n // used either way to store the products\n parsedProducts: Array<Product> = [];\n\n /**\n * Event emitted from child wm-navigator-button updates the state, which is then passed down as a prop by wm-navigator.\n */\n @State() isOpen: boolean = false;\n private openRight: boolean = false; // whether the menu should open on the right side\n\n @State() isTabbing: boolean = false;\n\n /**\n * Value is set to the index of the current product on load.\n * Keyboard navigation updates the state to keep track of focus in the dropdown.\n * State resets to the index of the current product when the dropdown closes.\n */\n @State() itemIndexToFocus: number = 0;\n\n @Event() wmNavigatorLogout!: EventEmitter;\n\n private currentProductId!: string;\n\n async componentWillLoad() {\n if (!this.userName) {\n console.error(\"wm-navigator: user-name is a required property.\");\n }\n\n await this.parseData();\n this.setFocusIndex();\n }\n\n // async because we need the http request to complete before proceeding\n @Watch(\"products\")\n async parseData() {\n if (!!this.loadFromUserinfo) {\n await getRequest(\"/platform/navigator/userinfo\")\n .then((response: NavigatorPayload) => {\n this.email = response.email;\n this.currentProductId = response.current_product_id;\n this.parsedProducts = this.productKeysToCamelCase(response.products);\n this.logoutUrl = this.logoutUrl ? this.logoutUrl : response.logout_url;\n this.connectionName = this.connectionName ? this.connectionName : response.connection_name;\n if (!!this.email && !!this.currentProductId) {\n this.retrievedInfo = true;\n }\n })\n .catch((errStatus) => {\n console.error(errStatus);\n });\n } else {\n this.currentProductId = getWmMode(this.el);\n if (!!this.products) {\n if (typeof this.products === \"string\") {\n this.parsedProducts = JSON.parse(this.products);\n } else {\n this.parsedProducts = this.products;\n }\n this.parsedProducts = this.productKeysToCamelCase(this.parsedProducts);\n }\n }\n // products is initialized as empty array in case nothing is passed\n this.parsedProducts.sort((a, b) => (a.name < b.name ? -1 : 1));\n }\n\n productKeysToCamelCase(products: object[]): Product[] {\n products = products.map((product: any) => {\n const keys = Object.keys(product);\n let newProduct: { [key: string]: string } = {};\n keys.forEach((key) => {\n newProduct[snakeCaseToCamelCase(key)] = product[key];\n });\n return newProduct;\n });\n return products as Product[];\n }\n\n /**\n * Sets index to focus on open to the selected product. This index resets it when the menu closes.\n */\n setFocusIndex() {\n if (this.parsedProducts.length > 1) {\n const currentProduct = this.getProduct(this.currentProductId);\n\n if (currentProduct) {\n this.itemIndexToFocus = this.parsedProducts.indexOf(currentProduct);\n }\n }\n }\n\n @Listen(\"wmUserIsTabbing\", { target: \"window\" })\n toggleTabbingOn() {\n this.isTabbing = true;\n }\n\n @Listen(\"wmUserIsNotTabbing\", { target: \"window\" })\n toggleTabbingOff() {\n this.isTabbing = false;\n }\n\n @Listen(\"keydown\")\n handleKeys(ev: KeyboardEvent) {\n switch (ev.key) {\n case \"Escape\":\n ev.preventDefault();\n this.closeMenu();\n break;\n case \"ArrowDown\":\n case \"ArrowUp\":\n ev.preventDefault();\n if (!this.isOpen) {\n this.itemIndexToFocus = getNewIndexToFocus(this.itemIndexToFocus, ev.key, this.navigatorItems.length);\n this.openMenu();\n }\n break;\n }\n }\n\n @Listen(\"keydownOnNavItem\")\n handleKeydown(ev: CustomEvent) {\n const key = ev.detail.key;\n const item = ev.detail.navItem;\n switch (key) {\n case \"Tab\":\n this.closeMenu();\n break;\n case \"Enter\":\n case \" \":\n item.click();\n break;\n case \"ArrowDown\":\n case \"ArrowUp\":\n const oldIndex = this.itemIndexToFocus;\n this.itemIndexToFocus = getNewIndexToFocus(this.itemIndexToFocus, key, this.navigatorItems.length);\n this.focusItem();\n this.unfocusItem(oldIndex);\n break;\n }\n }\n\n @Listen(\"click\", { target: \"document\" })\n handleClick(ev: MouseEvent) {\n const isElOrChild = ev.target === this.el || this.el.contains(ev.target as Node);\n\n if (!isElOrChild && this.isOpen) {\n this.closeMenu();\n }\n }\n\n @Listen(\"buttonActivated\")\n handleButtonClick() {\n this.isOpen ? this.closeMenu() : this.openMenu();\n }\n\n openMenu() {\n if (this.wrapperEl) {\n const wrapperWidth = this.wrapperEl.clientWidth;\n const spaceLeft = this.el.getBoundingClientRect().left;\n const spaceRight = document.documentElement.clientWidth - this.el.getBoundingClientRect().right;\n this.openRight = wrapperWidth > spaceLeft && spaceRight > spaceLeft;\n }\n this.isOpen = true;\n this.focusItem();\n }\n\n closeMenu() {\n this.isOpen = false;\n this.buttonFocusHandler();\n this.unfocusItem(this.itemIndexToFocus);\n this.setFocusIndex();\n }\n\n focusItem() {\n const newSelection = this.navigatorItems[this.itemIndexToFocus];\n newSelection.tabIndex = 0;\n newSelection.focused = true;\n window.requestAnimationFrame(() => newSelection.focus());\n }\n\n unfocusItem(index: number) {\n const oldSelection = this.navigatorItems[index];\n oldSelection.tabIndex = -1;\n oldSelection.focused = false;\n }\n\n buttonFocusHandler() {\n const hostButton = this.el.shadowRoot.querySelector(\"priv-navigator-button\");\n const button = hostButton.shadowRoot.querySelector(\"button\");\n window.requestAnimationFrame(() => button.focus());\n }\n\n /**\n * HELPERS FOR RENDER\n */\n renderUserInfo() {\n return (\n <div\n class=\"user\"\n id=\"wm-nav-user\"\n aria-label={intl.formatMessage(\n {\n id: \"navigator.userinfoLabel\",\n defaultMessage: \"for {name}, email {email}\",\n },\n { name: this.userName, email: this.email }\n )}\n >\n <p>{this.userName}</p>\n <p>{this.email}</p>\n </div>\n );\n }\n\n setAltText(): string {\n if (this.parsedProducts.length > 1) {\n return intl.formatMessage({\n id: \"navigator.userinfoAndProductNavigator\",\n defaultMessage: \"User information and product navigator\",\n });\n } else {\n return intl.formatMessage({\n id: \"navigator.userinfo\",\n defaultMessage: \"User information\",\n });\n }\n }\n\n renderHeading() {\n return (\n <h2>\n {intl.formatMessage({\n id: \"navigator.watermarkApps\",\n defaultMessage: \"Watermark Apps\",\n description: \"Applications made by Watermark Insights\",\n })}\n </h2>\n );\n }\n\n renderList() {\n return (\n <ul\n role=\"listbox\"\n aria-label={`${intl.formatMessage({\n id: \"navigator.WatermarkAppNavigation\",\n defaultMessage: \"Watermark App Navigation\",\n description: \"list of applications by Watermark Insights\",\n })}`}\n aria-describedby=\"wm-nav-user\"\n >\n {this.parsedProducts.length > 1 && this.renderProductOptions()}\n {this.renderLogoutOption()}\n </ul>\n );\n }\n\n renderProductOptions(): Array<HTMLPrivNavigatorItemElement> {\n return this.parsedProducts.map((product: Product) => {\n let name: string | undefined, icon: string | undefined, isSelected: boolean, clickRedirect: any;\n\n name = product.name;\n icon = (product as Product).iconUrl;\n\n clickRedirect = this.setProductOnClick(product.id);\n\n if (!!name && !!icon) {\n isSelected = this.currentProductId === product.id;\n\n return (\n <priv-navigator-item\n selected={isSelected}\n id={product.id}\n onClick={clickRedirect}\n role=\"option\"\n aria-label={name}\n >\n <img src={icon} alt={name} />\n </priv-navigator-item>\n );\n }\n });\n }\n\n setProductOnClick(productId: string) {\n const product = this.getProduct(productId);\n\n if (this.currentProductId === productId) {\n return () => {};\n } else if (product) {\n if (!!this.loadFromUserinfo || this.authType === 2) {\n return () => (window.location.href = (product as Product).linkUrl);\n } else if (this.authType === 3) {\n // products passed as prop, saml\n const connName = this.connectionName ? `/?connection_name=${this.connectionName}` : \"\";\n return () => (window.location.href = (product as Product).samlLinkUrl + connName);\n }\n }\n }\n\n renderLogoutOption() {\n return (\n <priv-navigator-item\n class=\"logout\"\n selected={!(this.parsedProducts.length > 1)}\n id=\"nav-logout\"\n onClick={this.setLogoutOnclick()}\n role=\"option\"\n >\n <span class=\"logout\">\n {intl.formatMessage({\n id: \"navigator.logout\",\n defaultMessage: \"Log Out\",\n })}\n </span>\n </priv-navigator-item>\n );\n }\n\n setLogoutOnclick() {\n // The logout item will always emit a custom event on click so that the dev can run any business logic specific to the app on logout (e.g., clearing local storage).\n // It will only redirect if the dev has set the logoutUrl. If some sort of custom redirect is needed, the logoutUrl should not be set.\n return () => {\n this.wmNavigatorLogout.emit();\n if (this.logoutUrl) {\n window.location.href = this.logoutUrl;\n }\n };\n }\n\n private get navigatorItems(): Array<HTMLPrivNavigatorItemElement> {\n return Array.from(this.el.shadowRoot.querySelectorAll(\"priv-navigator-item\"));\n }\n\n private getProduct(id: string): Product | undefined {\n return this.parsedProducts.find((product) => product.id === id);\n }\n\n render() {\n return this.retrievedInfo ? (\n <Host class={this.isTabbing ? \"user-is-tabbing\" : \"\"}>\n <priv-navigator-button expanded={this.isOpen} altText={this.setAltText()} isTabbing={this.isTabbing} />\n <div\n class={`wrapper ${this.isOpen ? \"\" : \"hide\"} ${this.openRight ? \"right\" : \"\"}`}\n ref={(el) => (this.wrapperEl = el as HTMLDivElement)}\n >\n {this.renderUserInfo()}\n {this.parsedProducts.length > 1 && this.renderHeading()}\n {this.renderList()}\n </div>\n </Host>\n ) : (\n \"\"\n );\n }\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"wm-option.js","sourceRoot":"","sources":["../../../../src/components/wm-option/wm-option.tsx"],"names":[],"mappings":"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","sourcesContent":["import { h, Component, Element, Event, EventEmitter, Host, Listen, Prop, State, Watch } from \"@stencil/core\";\n\n@Component({\n tag: \"wm-option\",\n styleUrl: \"wm-option.scss\",\n shadow: true,\n})\nexport class Option {\n @Element() el!: HTMLElement;\n\n @Prop() value?: string | null; // if devs pass a value as attribute they should be able to retrieve it by querying the property. This is untouched by the component.\n @Prop({ mutable: true }) subinfo?: string = undefined;\n @Prop({ reflect: true }) disabled: boolean = false;\n @Prop({ reflect: true }) selected: boolean = false;\n @Prop() focused: boolean = false;\n\n @Event() wmOptionSelected!: EventEmitter<HTMLWmOptionElement>;\n @Event() wmKeyUpPressed!: EventEmitter<HTMLWmOptionElement>;\n @Event() wmKeyDownPressed!: EventEmitter<HTMLWmOptionElement>;\n @Event() wmEscKeyPressed!: EventEmitter<HTMLWmOptionElement>;\n @Event() wmHomeKeyPressed!: EventEmitter<HTMLWmOptionElement>;\n @Event() wmEndKeyPressed!: EventEmitter<HTMLWmOptionElement>;\n @Event() wmEnterKeyPressed!: EventEmitter<HTMLWmOptionElement>;\n @Event() wmLetterPressed!: EventEmitter<string>;\n @Event() wmOptionBlurred!: EventEmitter<{ relatedTarget: EventTarget | null }>;\n\n private onClickFunc!: (this: GlobalEventHandlers, ev: MouseEvent) => any;\n @State() searchTerm: string = \"\";\n private textEl!: HTMLDivElement;\n\n get hostClasses() {\n let classes = [];\n if (this.subinfo) {\n classes.push(\"hassubinfo\");\n }\n if (this.parentSelectEl.multiple) {\n classes.push(\"multi-option\");\n }\n if (!this.el.textContent!.toLowerCase().includes(this.searchTerm)) {\n classes.push(\"filtered-out\");\n }\n return classes.join(\" \");\n }\n\n get parentSelectEl() {\n return this.el.parentElement?.nodeName !== \"WM-SELECT\"\n ? ((this.el.getRootNode() as ShadowRoot).host as HTMLWmSelectElement)\n : (this.el.parentElement as HTMLWmSelectElement);\n }\n\n @Listen(\"keydown\")\n handleKeydown(ev: KeyboardEvent) {\n switch (ev.key) {\n case \"ArrowUp\":\n ev.preventDefault();\n this.wmKeyUpPressed.emit(this.el as HTMLWmOptionElement);\n break;\n\n case \"ArrowDown\":\n ev.preventDefault();\n this.wmKeyDownPressed.emit(this.el as HTMLWmOptionElement);\n break;\n\n case \"Enter\":\n ev.preventDefault();\n if (!this.disabled) {\n this.el.click();\n this.wmEnterKeyPressed.emit(this.el as HTMLWmOptionElement);\n }\n break;\n\n case \" \":\n ev.preventDefault();\n this.el.click();\n break;\n\n case \"Escape\":\n ev.preventDefault();\n ev.stopPropagation(); // for instance if select is in a modal, esc should close the select but not the modal\n this.wmEscKeyPressed.emit();\n break;\n\n case \"Home\":\n ev.preventDefault();\n this.wmHomeKeyPressed.emit();\n break;\n\n case \"End\":\n ev.preventDefault();\n this.wmEndKeyPressed.emit();\n break;\n\n default:\n if (ev.key.length === 1) {\n // emit for single characters (\"a\",\"l\",\"5\", etc), avoid others (\"shift\", \"control\", etc)\n this.wmLetterPressed.emit(ev.key);\n }\n }\n }\n\n @Listen(\"click\")\n handleSelection() {\n if (!this.disabled) {\n // the parent wm-select is in charge of the actual selection\n // using ev.detail because ev.target returns the wm-select for duplicate options\n this.wmOptionSelected.emit(this.el as HTMLWmOptionElement);\n }\n }\n\n @Listen(\"blur\")\n handleBlur(ev: FocusEvent) {\n this.wmOptionBlurred.emit({ relatedTarget: ev.relatedTarget });\n }\n\n @Watch(\"selected\")\n syncAriaSelected() {\n // this function only keeps the aria-selected attr in sync with the selected prop\n // all the logic for selecting / deselecting happens in the parent wm-select\n this.selected ? this.el.setAttribute(\"aria-selected\", \"true\") : this.el.removeAttribute(\"aria-selected\");\n }\n\n @Watch(\"disabled\")\n syncAriaDisabled() {\n this.disabled ? this.el.setAttribute(\"aria-disabled\", \"true\") : this.el.removeAttribute(\"aria-disabled\");\n }\n\n @Watch(\"disabled\")\n updateDisabledOnClick() {\n if (this.disabled && this.el.onclick) {\n this.onClickFunc = this.el.onclick;\n this.el.onclick = null;\n } else if (!this.disabled && this.onClickFunc) {\n this.el.onclick = this.onClickFunc;\n }\n }\n\n handleSearch(ev: CustomEvent) {\n // filter is case-insensitive, so\n this.searchTerm = ev.detail.searchTerm.toLowerCase();\n\n if (this.searchTerm) {\n const regexp = new RegExp(`${this.searchTerm}`, \"gi\");\n const boldedText = this.el.textContent!.replace(regexp, (match) => `<strong>${match}</strong>`);\n // for voiceover, text splitting is read as separate phrases. i.e. hel<b>lo</b> will be read as \"hel lo\"\n // aria-hidden and sr-only is used to circumvent this\n this.textEl.innerHTML = boldedText;\n } else {\n this.textEl.innerHTML = this.el.textContent!;\n }\n }\n\n componentWillLoad() {\n this.syncAriaSelected();\n this.syncAriaDisabled();\n this.updateDisabledOnClick();\n\n this.parentSelectEl.addEventListener(\"wmSelectSearchChanged\", (ev) => this.handleSearch(ev as CustomEvent));\n }\n\n render() {\n return (\n <Host role=\"option\" tabindex={this.focused ? 0 : -1} class={this.hostClasses}>\n <div class={`option-wrapper ${this.parentSelectEl.multiple ? \"checkbox\" : \"\"}`}>\n <span aria-hidden=\"true\" ref={(el) => (this.textEl = el as HTMLDivElement)}>\n {this.el.textContent}\n </span>\n <span class=\"sr-only\">{this.el.textContent}</span>\n </div>\n <div class=\"subinfo\">{this.subinfo}</div>\n </Host>\n );\n }\n}\n"]}
|