@watermarkinsights/ripple 3.24.0 → 3.24.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/README.md +3 -3
- package/dist/cjs/{chartFunctions-5309f8ed.js → chartFunctions-da36e4cb.js} +591 -586
- package/dist/cjs/chartFunctions-da36e4cb.js.map +1 -0
- package/dist/cjs/{functions-6d2a5824.js → functions-9ddaeb33.js} +468 -468
- package/dist/cjs/{functions-6d2a5824.js.map → functions-9ddaeb33.js.map} +1 -1
- package/dist/cjs/{global-d20d5267.js → global-a563c2d1.js} +63 -63
- package/dist/cjs/global-a563c2d1.js.map +1 -0
- package/dist/cjs/{http-service-9e8c4dd5.js → http-service-494d81de.js} +50 -50
- package/dist/cjs/http-service-494d81de.js.map +1 -0
- package/dist/cjs/{interfaces-30a74c1f.js → interfaces-a3338581.js} +30 -30
- package/dist/cjs/interfaces-a3338581.js.map +1 -0
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/priv-chart-popover.cjs.entry.js +91 -91
- package/dist/cjs/priv-chart-popover.cjs.entry.js.map +1 -1
- package/dist/cjs/priv-datepicker.cjs.entry.js +657 -657
- package/dist/cjs/priv-datepicker.cjs.entry.js.map +1 -1
- package/dist/cjs/priv-navigator-button.cjs.entry.js +19 -19
- package/dist/cjs/priv-navigator-button.cjs.entry.js.map +1 -1
- package/dist/cjs/priv-navigator-item.cjs.entry.js +23 -23
- package/dist/cjs/priv-navigator-item.cjs.entry.js.map +1 -1
- package/dist/cjs/ripple.cjs.js +1 -1
- package/dist/cjs/wm-action-menu_2.cjs.entry.js +334 -334
- package/dist/cjs/wm-action-menu_2.cjs.entry.js.map +1 -1
- package/dist/cjs/wm-button.cjs.entry.js +260 -260
- package/dist/cjs/wm-button.cjs.entry.js.map +1 -1
- package/dist/cjs/wm-chart-slice.cjs.entry.js +18 -18
- package/dist/cjs/wm-chart-slice.cjs.entry.js.map +1 -1
- package/dist/cjs/wm-chart.cjs.entry.js +179 -179
- package/dist/cjs/wm-chart.cjs.entry.js.map +1 -1
- package/dist/cjs/wm-datepicker.cjs.entry.js +263 -263
- package/dist/cjs/wm-datepicker.cjs.entry.js.map +1 -1
- package/dist/cjs/wm-file-list.cjs.entry.js +35 -35
- package/dist/cjs/wm-file-list.cjs.entry.js.map +1 -1
- package/dist/cjs/wm-file.cjs.entry.js +201 -201
- package/dist/cjs/wm-file.cjs.entry.js.map +1 -1
- package/dist/cjs/wm-input.cjs.entry.js +139 -139
- package/dist/cjs/wm-input.cjs.entry.js.map +1 -1
- package/dist/cjs/wm-modal-footer.cjs.entry.js +33 -33
- package/dist/cjs/wm-modal-footer.cjs.entry.js.map +1 -1
- package/dist/cjs/wm-modal-header.cjs.entry.js +36 -36
- package/dist/cjs/wm-modal-header.cjs.entry.js.map +1 -1
- package/dist/cjs/wm-modal.cjs.entry.js +152 -152
- package/dist/cjs/wm-modal.cjs.entry.js.map +1 -1
- package/dist/cjs/wm-navigation_3.cjs.entry.js +234 -234
- package/dist/cjs/wm-navigation_3.cjs.entry.js.map +1 -1
- package/dist/cjs/wm-navigator.cjs.entry.js +264 -264
- package/dist/cjs/wm-navigator.cjs.entry.js.map +1 -1
- package/dist/cjs/wm-network-uploader.cjs.entry.js +467 -467
- package/dist/cjs/wm-network-uploader.cjs.entry.js.map +1 -1
- package/dist/cjs/wm-option_2.cjs.entry.js +771 -771
- package/dist/cjs/wm-option_2.cjs.entry.js.map +1 -1
- package/dist/cjs/wm-pagination.cjs.entry.js +179 -179
- package/dist/cjs/wm-pagination.cjs.entry.js.map +1 -1
- package/dist/cjs/wm-progress-indicator_3.cjs.entry.js +155 -155
- package/dist/cjs/wm-progress-indicator_3.cjs.entry.js.map +1 -1
- package/dist/cjs/wm-search.cjs.entry.js +191 -191
- package/dist/cjs/wm-search.cjs.entry.js.map +1 -1
- package/dist/cjs/wm-snackbar.cjs.entry.js +169 -169
- package/dist/cjs/wm-snackbar.cjs.entry.js.map +1 -1
- package/dist/cjs/wm-tab-item_3.cjs.entry.js +264 -264
- package/dist/cjs/wm-tab-item_3.cjs.entry.js.map +1 -1
- package/dist/cjs/wm-tag-input-row.cjs.entry.js +14 -14
- package/dist/cjs/wm-tag-input-row.cjs.entry.js.map +1 -1
- package/dist/cjs/wm-tag-input.cjs.entry.js +908 -908
- package/dist/cjs/wm-tag-input.cjs.entry.js.map +1 -1
- package/dist/cjs/wm-timepicker.cjs.entry.js +385 -385
- package/dist/cjs/wm-timepicker.cjs.entry.js.map +1 -1
- package/dist/cjs/wm-toggletip.cjs.entry.js +130 -130
- package/dist/cjs/wm-toggletip.cjs.entry.js.map +1 -1
- package/dist/cjs/wm-uploader.cjs.entry.js +510 -510
- package/dist/cjs/wm-uploader.cjs.entry.js.map +1 -1
- package/dist/cjs/wm-wrapper.cjs.entry.js +12 -12
- package/dist/cjs/wm-wrapper.cjs.entry.js.map +1 -1
- package/dist/collection/components/charts/chartFunctions.js +557 -552
- package/dist/collection/components/charts/chartFunctions.js.map +1 -1
- package/dist/collection/components/charts/priv-chart-popover/priv-chart-popover.js +268 -268
- package/dist/collection/components/charts/priv-chart-popover/priv-chart-popover.js.map +1 -1
- package/dist/collection/components/charts/wm-chart/wm-chart-slice.js +126 -126
- package/dist/collection/components/charts/wm-chart/wm-chart-slice.js.map +1 -1
- package/dist/collection/components/charts/wm-chart/wm-chart.js +447 -447
- package/dist/collection/components/charts/wm-chart/wm-chart.js.map +1 -1
- package/dist/collection/components/charts/wm-progress-monitor/wm-progress-indicator.js +208 -208
- package/dist/collection/components/charts/wm-progress-monitor/wm-progress-indicator.js.map +1 -1
- package/dist/collection/components/charts/wm-progress-monitor/wm-progress-monitor.js +144 -144
- package/dist/collection/components/charts/wm-progress-monitor/wm-progress-monitor.js.map +1 -1
- package/dist/collection/components/charts/wm-progress-monitor/wm-progress-slice.js +122 -122
- package/dist/collection/components/charts/wm-progress-monitor/wm-progress-slice.js.map +1 -1
- package/dist/collection/components/wm-action-menu/wm-action-menu.js +473 -473
- package/dist/collection/components/wm-action-menu/wm-action-menu.js.map +1 -1
- package/dist/collection/components/wm-button/wm-button.js +576 -576
- package/dist/collection/components/wm-button/wm-button.js.map +1 -1
- package/dist/collection/components/wm-datepicker/priv-datepicker/priv-datepicker.js +984 -984
- package/dist/collection/components/wm-datepicker/priv-datepicker/priv-datepicker.js.map +1 -1
- package/dist/collection/components/wm-datepicker/wm-datepicker.js +492 -492
- package/dist/collection/components/wm-datepicker/wm-datepicker.js.map +1 -1
- package/dist/collection/components/wm-file/wm-file.js +334 -334
- package/dist/collection/components/wm-file/wm-file.js.map +1 -1
- package/dist/collection/components/wm-file-list/wm-file-list.js +153 -153
- package/dist/collection/components/wm-file-list/wm-file-list.js.map +1 -1
- package/dist/collection/components/wm-input/wm-input.js +444 -444
- package/dist/collection/components/wm-input/wm-input.js.map +1 -1
- package/dist/collection/components/wm-menuitem/wm-menuitem.js +455 -455
- package/dist/collection/components/wm-menuitem/wm-menuitem.js.map +1 -1
- package/dist/collection/components/wm-modal/wm-modal-footer.js +139 -139
- package/dist/collection/components/wm-modal/wm-modal-footer.js.map +1 -1
- package/dist/collection/components/wm-modal/wm-modal-header.js +88 -88
- package/dist/collection/components/wm-modal/wm-modal-header.js.map +1 -1
- package/dist/collection/components/wm-modal/wm-modal.js +463 -463
- package/dist/collection/components/wm-modal/wm-modal.js.map +1 -1
- package/dist/collection/components/wm-navigation/wm-navigation-hamburger.js +177 -177
- package/dist/collection/components/wm-navigation/wm-navigation-hamburger.js.map +1 -1
- package/dist/collection/components/wm-navigation/wm-navigation-item.js +131 -131
- package/dist/collection/components/wm-navigation/wm-navigation-item.js.map +1 -1
- package/dist/collection/components/wm-navigation/wm-navigation.js +227 -227
- package/dist/collection/components/wm-navigation/wm-navigation.js.map +1 -1
- package/dist/collection/components/wm-navigator/priv-navigator-button/priv-navigator-button.js +107 -107
- package/dist/collection/components/wm-navigator/priv-navigator-button/priv-navigator-button.js.map +1 -1
- package/dist/collection/components/wm-navigator/priv-navigator-item/priv-navigator-item.js +124 -124
- package/dist/collection/components/wm-navigator/priv-navigator-item/priv-navigator-item.js.map +1 -1
- package/dist/collection/components/wm-navigator/wm-navigator.js +468 -468
- package/dist/collection/components/wm-navigator/wm-navigator.js.map +1 -1
- package/dist/collection/components/wm-option/wm-option.js +436 -436
- package/dist/collection/components/wm-option/wm-option.js.map +1 -1
- package/dist/collection/components/wm-pagination/wm-pagination.js +371 -371
- package/dist/collection/components/wm-pagination/wm-pagination.js.map +1 -1
- package/dist/collection/components/wm-search/wm-search.js +447 -447
- package/dist/collection/components/wm-search/wm-search.js.map +1 -1
- package/dist/collection/components/wm-select/wm-select.js +1058 -1058
- package/dist/collection/components/wm-select/wm-select.js.map +1 -1
- package/dist/collection/components/wm-snackbar/wm-snackbar.js +297 -297
- package/dist/collection/components/wm-snackbar/wm-snackbar.js.map +1 -1
- package/dist/collection/components/wm-tabs/wm-tab-item/wm-tab-item.js +212 -212
- package/dist/collection/components/wm-tabs/wm-tab-item/wm-tab-item.js.map +1 -1
- package/dist/collection/components/wm-tabs/wm-tab-list/wm-tab-list.js +328 -328
- package/dist/collection/components/wm-tabs/wm-tab-list/wm-tab-list.js.map +1 -1
- package/dist/collection/components/wm-tabs/wm-tab-panel/wm-tab-panel.js +109 -109
- package/dist/collection/components/wm-tabs/wm-tab-panel/wm-tab-panel.js.map +1 -1
- package/dist/collection/components/wm-tag-input/wm-tag-input-row/wm-tag-input-row.js +123 -123
- package/dist/collection/components/wm-tag-input/wm-tag-input-row/wm-tag-input-row.js.map +1 -1
- package/dist/collection/components/wm-tag-input/wm-tag-input.js +1209 -1209
- package/dist/collection/components/wm-tag-input/wm-tag-input.js.map +1 -1
- package/dist/collection/components/wm-timepicker/wm-timepicker.js +606 -606
- package/dist/collection/components/wm-timepicker/wm-timepicker.js.map +1 -1
- package/dist/collection/components/wm-toggletip/wm-toggletip.js +254 -254
- package/dist/collection/components/wm-toggletip/wm-toggletip.js.map +1 -1
- package/dist/collection/components/wm-uploader/wm-network-uploader/wm-network-uploader.js +775 -775
- package/dist/collection/components/wm-uploader/wm-network-uploader/wm-network-uploader.js.map +1 -1
- package/dist/collection/components/wm-uploader/wm-uploader.js +1034 -1034
- package/dist/collection/components/wm-uploader/wm-uploader.js.map +1 -1
- package/dist/collection/components/wm-wrapper/wm-wrapper.js +29 -29
- package/dist/collection/components/wm-wrapper/wm-wrapper.js.map +1 -1
- package/dist/collection/dev/scripts.js +20 -20
- package/dist/collection/global/__mocks__/functions.js +7 -7
- package/dist/collection/global/__mocks__/functions.js.map +1 -1
- package/dist/collection/global/functions.js +511 -511
- package/dist/collection/global/functions.js.map +1 -1
- package/dist/collection/global/global.js +70 -70
- package/dist/collection/global/global.js.map +1 -1
- package/dist/collection/global/interfaces.js +50 -50
- package/dist/collection/global/interfaces.js.map +1 -1
- package/dist/collection/global/services/__mocks__/http-service.js +131 -131
- package/dist/collection/global/services/__mocks__/http-service.js.map +1 -1
- package/dist/collection/global/services/http-service.js +51 -51
- package/dist/collection/global/services/http-service.js.map +1 -1
- package/dist/collection/lang/lang.js +6 -6
- package/dist/collection/lang/lang.js.map +1 -1
- package/dist/collection/lang/missing.js +43 -43
- package/dist/collection/lang/piglatin.js +93 -93
- package/dist/esm/{chartFunctions-e22110b8.js → chartFunctions-b0a9e440.js} +591 -586
- package/dist/esm/chartFunctions-b0a9e440.js.map +1 -0
- package/dist/esm/{functions-c58046f2.js → functions-1c41e984.js} +468 -468
- package/dist/esm/{functions-c58046f2.js.map → functions-1c41e984.js.map} +1 -1
- package/dist/esm/{global-fee3549b.js → global-65156bcf.js} +63 -63
- package/dist/esm/global-65156bcf.js.map +1 -0
- package/dist/esm/{http-service-5d037e16.js → http-service-3dc3b3e7.js} +50 -50
- package/dist/esm/http-service-3dc3b3e7.js.map +1 -0
- package/dist/esm/{interfaces-61c6305b.js → interfaces-2b97fab2.js} +30 -30
- package/dist/esm/interfaces-2b97fab2.js.map +1 -0
- package/dist/esm/loader.js +1 -1
- package/dist/esm/polyfills/core-js.js +0 -0
- package/dist/esm/polyfills/dom.js +0 -0
- package/dist/esm/polyfills/es5-html-element.js +0 -0
- package/dist/esm/polyfills/index.js +0 -0
- package/dist/esm/polyfills/system.js +0 -0
- package/dist/esm/priv-chart-popover.entry.js +91 -91
- package/dist/esm/priv-chart-popover.entry.js.map +1 -1
- package/dist/esm/priv-datepicker.entry.js +657 -657
- package/dist/esm/priv-datepicker.entry.js.map +1 -1
- package/dist/esm/priv-navigator-button.entry.js +19 -19
- package/dist/esm/priv-navigator-button.entry.js.map +1 -1
- package/dist/esm/priv-navigator-item.entry.js +23 -23
- package/dist/esm/priv-navigator-item.entry.js.map +1 -1
- package/dist/esm/ripple.js +1 -1
- package/dist/esm/wm-action-menu_2.entry.js +334 -334
- package/dist/esm/wm-action-menu_2.entry.js.map +1 -1
- package/dist/esm/wm-button.entry.js +260 -260
- package/dist/esm/wm-button.entry.js.map +1 -1
- package/dist/esm/wm-chart-slice.entry.js +18 -18
- package/dist/esm/wm-chart-slice.entry.js.map +1 -1
- package/dist/esm/wm-chart.entry.js +179 -179
- package/dist/esm/wm-chart.entry.js.map +1 -1
- package/dist/esm/wm-datepicker.entry.js +263 -263
- package/dist/esm/wm-datepicker.entry.js.map +1 -1
- package/dist/esm/wm-file-list.entry.js +35 -35
- package/dist/esm/wm-file-list.entry.js.map +1 -1
- package/dist/esm/wm-file.entry.js +201 -201
- package/dist/esm/wm-file.entry.js.map +1 -1
- package/dist/esm/wm-input.entry.js +139 -139
- package/dist/esm/wm-input.entry.js.map +1 -1
- package/dist/esm/wm-modal-footer.entry.js +33 -33
- package/dist/esm/wm-modal-footer.entry.js.map +1 -1
- package/dist/esm/wm-modal-header.entry.js +36 -36
- package/dist/esm/wm-modal-header.entry.js.map +1 -1
- package/dist/esm/wm-modal.entry.js +152 -152
- package/dist/esm/wm-modal.entry.js.map +1 -1
- package/dist/esm/wm-navigation_3.entry.js +234 -234
- package/dist/esm/wm-navigation_3.entry.js.map +1 -1
- package/dist/esm/wm-navigator.entry.js +264 -264
- package/dist/esm/wm-navigator.entry.js.map +1 -1
- package/dist/esm/wm-network-uploader.entry.js +467 -467
- package/dist/esm/wm-network-uploader.entry.js.map +1 -1
- package/dist/esm/wm-option_2.entry.js +771 -771
- package/dist/esm/wm-option_2.entry.js.map +1 -1
- package/dist/esm/wm-pagination.entry.js +179 -179
- package/dist/esm/wm-pagination.entry.js.map +1 -1
- package/dist/esm/wm-progress-indicator_3.entry.js +155 -155
- package/dist/esm/wm-progress-indicator_3.entry.js.map +1 -1
- package/dist/esm/wm-search.entry.js +191 -191
- package/dist/esm/wm-search.entry.js.map +1 -1
- package/dist/esm/wm-snackbar.entry.js +169 -169
- package/dist/esm/wm-snackbar.entry.js.map +1 -1
- package/dist/esm/wm-tab-item_3.entry.js +264 -264
- package/dist/esm/wm-tab-item_3.entry.js.map +1 -1
- package/dist/esm/wm-tag-input-row.entry.js +14 -14
- package/dist/esm/wm-tag-input-row.entry.js.map +1 -1
- package/dist/esm/wm-tag-input.entry.js +908 -908
- package/dist/esm/wm-tag-input.entry.js.map +1 -1
- package/dist/esm/wm-timepicker.entry.js +385 -385
- package/dist/esm/wm-timepicker.entry.js.map +1 -1
- package/dist/esm/wm-toggletip.entry.js +130 -130
- package/dist/esm/wm-toggletip.entry.js.map +1 -1
- package/dist/esm/wm-uploader.entry.js +510 -510
- package/dist/esm/wm-uploader.entry.js.map +1 -1
- package/dist/esm/wm-wrapper.entry.js +12 -12
- package/dist/esm/wm-wrapper.entry.js.map +1 -1
- package/dist/esm-es5/{chartFunctions-e22110b8.js → chartFunctions-b0a9e440.js} +2 -2
- package/dist/esm-es5/chartFunctions-b0a9e440.js.map +1 -0
- package/dist/esm-es5/{functions-c58046f2.js → functions-1c41e984.js} +1 -1
- package/dist/esm-es5/{functions-c58046f2.js.map → functions-1c41e984.js.map} +1 -1
- package/dist/esm-es5/{global-fee3549b.js → global-65156bcf.js} +2 -2
- package/dist/esm-es5/global-65156bcf.js.map +1 -0
- package/dist/esm-es5/{http-service-5d037e16.js → http-service-3dc3b3e7.js} +1 -1
- package/dist/esm-es5/http-service-3dc3b3e7.js.map +1 -0
- package/dist/esm-es5/{interfaces-61c6305b.js → interfaces-2b97fab2.js} +1 -1
- package/dist/esm-es5/interfaces-2b97fab2.js.map +1 -0
- package/dist/esm-es5/loader.js +1 -1
- package/dist/esm-es5/priv-chart-popover.entry.js +1 -1
- package/dist/esm-es5/priv-chart-popover.entry.js.map +1 -1
- package/dist/esm-es5/priv-datepicker.entry.js +1 -1
- package/dist/esm-es5/priv-datepicker.entry.js.map +1 -1
- package/dist/esm-es5/priv-navigator-button.entry.js.map +1 -1
- package/dist/esm-es5/priv-navigator-item.entry.js.map +1 -1
- package/dist/esm-es5/ripple.js +1 -1
- package/dist/esm-es5/wm-action-menu_2.entry.js +1 -1
- package/dist/esm-es5/wm-action-menu_2.entry.js.map +1 -1
- package/dist/esm-es5/wm-button.entry.js +1 -1
- package/dist/esm-es5/wm-button.entry.js.map +1 -1
- package/dist/esm-es5/wm-chart-slice.entry.js.map +1 -1
- package/dist/esm-es5/wm-chart.entry.js +1 -1
- package/dist/esm-es5/wm-chart.entry.js.map +1 -1
- package/dist/esm-es5/wm-datepicker.entry.js +1 -1
- package/dist/esm-es5/wm-datepicker.entry.js.map +1 -1
- package/dist/esm-es5/wm-file-list.entry.js.map +1 -1
- package/dist/esm-es5/wm-file.entry.js +1 -1
- package/dist/esm-es5/wm-file.entry.js.map +1 -1
- package/dist/esm-es5/wm-input.entry.js +1 -1
- package/dist/esm-es5/wm-input.entry.js.map +1 -1
- package/dist/esm-es5/wm-modal-footer.entry.js.map +1 -1
- package/dist/esm-es5/wm-modal-header.entry.js +1 -1
- package/dist/esm-es5/wm-modal-header.entry.js.map +1 -1
- package/dist/esm-es5/wm-modal.entry.js +1 -1
- package/dist/esm-es5/wm-modal.entry.js.map +1 -1
- package/dist/esm-es5/wm-navigation_3.entry.js +1 -1
- package/dist/esm-es5/wm-navigation_3.entry.js.map +1 -1
- package/dist/esm-es5/wm-navigator.entry.js +1 -1
- package/dist/esm-es5/wm-navigator.entry.js.map +1 -1
- package/dist/esm-es5/wm-network-uploader.entry.js +1 -1
- package/dist/esm-es5/wm-network-uploader.entry.js.map +1 -1
- package/dist/esm-es5/wm-option_2.entry.js +1 -1
- package/dist/esm-es5/wm-option_2.entry.js.map +1 -1
- package/dist/esm-es5/wm-pagination.entry.js +1 -1
- package/dist/esm-es5/wm-pagination.entry.js.map +1 -1
- package/dist/esm-es5/wm-progress-indicator_3.entry.js +1 -1
- package/dist/esm-es5/wm-progress-indicator_3.entry.js.map +1 -1
- package/dist/esm-es5/wm-search.entry.js +1 -1
- package/dist/esm-es5/wm-search.entry.js.map +1 -1
- package/dist/esm-es5/wm-snackbar.entry.js +1 -1
- package/dist/esm-es5/wm-snackbar.entry.js.map +1 -1
- package/dist/esm-es5/wm-tab-item_3.entry.js +1 -1
- package/dist/esm-es5/wm-tab-item_3.entry.js.map +1 -1
- package/dist/esm-es5/wm-tag-input-row.entry.js.map +1 -1
- package/dist/esm-es5/wm-tag-input.entry.js +1 -1
- package/dist/esm-es5/wm-tag-input.entry.js.map +1 -1
- package/dist/esm-es5/wm-timepicker.entry.js +1 -1
- package/dist/esm-es5/wm-timepicker.entry.js.map +1 -1
- package/dist/esm-es5/wm-toggletip.entry.js +1 -1
- package/dist/esm-es5/wm-toggletip.entry.js.map +1 -1
- package/dist/esm-es5/wm-uploader.entry.js +1 -1
- package/dist/esm-es5/wm-uploader.entry.js.map +1 -1
- package/dist/esm-es5/wm-wrapper.entry.js.map +1 -1
- package/dist/ripple/{p-8e6bd600.system.entry.js → p-010b2cac.system.entry.js} +2 -2
- package/dist/ripple/p-010b2cac.system.entry.js.map +1 -0
- package/dist/ripple/{p-b22ba3a2.system.js → p-08950379.system.js} +2 -2
- package/dist/ripple/{p-c25abcc5.system.js → p-0b21e936.system.js} +2 -2
- package/dist/ripple/p-0b21e936.system.js.map +1 -0
- package/dist/ripple/p-0d7bccf7.entry.js.map +1 -1
- package/dist/ripple/{p-98a9eb8c.entry.js → p-136460c0.entry.js} +2 -2
- package/dist/ripple/p-136460c0.entry.js.map +1 -0
- package/dist/ripple/{p-695286e7.entry.js → p-1da75922.entry.js} +2 -2
- package/dist/ripple/p-1da75922.entry.js.map +1 -0
- package/dist/ripple/{p-0a23f0fa.entry.js → p-22d9c36e.entry.js} +2 -2
- package/dist/ripple/p-22d9c36e.entry.js.map +1 -0
- package/dist/ripple/p-24a4cb11.system.entry.js.map +1 -1
- package/dist/ripple/{p-c5a50724.entry.js → p-24f7d6eb.entry.js} +2 -2
- package/dist/ripple/p-24f7d6eb.entry.js.map +1 -0
- package/dist/ripple/{p-4c383e9e.system.entry.js → p-27d3e1ab.system.entry.js} +2 -2
- package/dist/ripple/p-27d3e1ab.system.entry.js.map +1 -0
- package/dist/ripple/p-2c2a7092.system.entry.js.map +1 -1
- package/dist/ripple/{p-fe63519a.system.entry.js → p-2f4b4e3a.system.entry.js} +2 -2
- package/dist/ripple/p-2f4b4e3a.system.entry.js.map +1 -0
- package/dist/ripple/{p-e8fd25c8.js → p-3303b568.js} +2 -2
- package/dist/ripple/p-3303b568.js.map +1 -0
- package/dist/ripple/p-33558ec4.system.entry.js.map +1 -1
- package/dist/ripple/{p-1a2d8112.system.entry.js → p-337f2c82.system.entry.js} +2 -2
- package/dist/ripple/p-337f2c82.system.entry.js.map +1 -0
- package/dist/ripple/{p-bfc8d2bb.entry.js → p-34567f7e.entry.js} +2 -2
- package/dist/ripple/p-34567f7e.entry.js.map +1 -0
- package/dist/ripple/{p-67373e6f.system.entry.js → p-3655a421.system.entry.js} +2 -2
- package/dist/ripple/p-3655a421.system.entry.js.map +1 -0
- package/dist/ripple/p-3759b7af.system.entry.js.map +1 -1
- package/dist/ripple/{p-0b31c210.entry.js → p-40cc5375.entry.js} +2 -2
- package/dist/ripple/p-40cc5375.entry.js.map +1 -0
- package/dist/ripple/{p-76830e28.entry.js → p-4370bb17.entry.js} +2 -2
- package/dist/ripple/p-4370bb17.entry.js.map +1 -0
- package/dist/ripple/p-4391166c.entry.js.map +1 -1
- package/dist/ripple/{p-888bec42.js → p-43f1298b.js} +1 -1
- package/dist/ripple/p-43f1298b.js.map +1 -0
- package/dist/ripple/{p-18e58141.system.entry.js → p-48c8619f.system.entry.js} +2 -2
- package/dist/ripple/p-48c8619f.system.entry.js.map +1 -0
- package/dist/ripple/p-4a014591.entry.js.map +1 -1
- package/dist/ripple/{p-ccd0d43b.system.entry.js → p-4acc9e8d.system.entry.js} +2 -2
- package/dist/ripple/p-4acc9e8d.system.entry.js.map +1 -0
- package/dist/ripple/{p-a3b9c87d.system.entry.js → p-52655351.system.entry.js} +2 -2
- package/dist/ripple/p-52655351.system.entry.js.map +1 -0
- package/dist/ripple/{p-2a9fa9b5.entry.js → p-54df11c8.entry.js} +2 -2
- package/dist/ripple/p-54df11c8.entry.js.map +1 -0
- package/dist/ripple/p-59654f8e.entry.js.map +1 -1
- package/dist/ripple/{p-535e33d7.entry.js → p-5bf24119.entry.js} +2 -2
- package/dist/ripple/p-5bf24119.entry.js.map +1 -0
- package/dist/ripple/{p-e746fe88.system.entry.js → p-60e941cc.system.entry.js} +2 -2
- package/dist/ripple/p-60e941cc.system.entry.js.map +1 -0
- package/dist/ripple/{p-f38332ed.system.entry.js → p-684f2c1e.system.entry.js} +2 -2
- package/dist/ripple/p-684f2c1e.system.entry.js.map +1 -0
- package/dist/ripple/{p-e61d2c52.entry.js → p-75c9cad6.entry.js} +2 -2
- package/dist/ripple/p-75c9cad6.entry.js.map +1 -0
- package/dist/ripple/{p-e252738e.entry.js → p-78a7278d.entry.js} +2 -2
- package/dist/ripple/p-78a7278d.entry.js.map +1 -0
- package/dist/ripple/{p-45e7b944.entry.js → p-81c698e2.entry.js} +2 -2
- package/dist/ripple/p-81c698e2.entry.js.map +1 -0
- package/dist/ripple/{p-87da5d8e.entry.js → p-82323561.entry.js} +2 -2
- package/dist/ripple/p-82323561.entry.js.map +1 -0
- package/dist/ripple/{p-2b577e99.entry.js → p-873a5f0f.entry.js} +2 -2
- package/dist/ripple/p-873a5f0f.entry.js.map +1 -0
- package/dist/ripple/p-8c51e9f8.system.entry.js.map +1 -1
- package/dist/ripple/{p-be954fba.system.entry.js → p-8e11777d.system.entry.js} +2 -2
- package/dist/ripple/p-8e11777d.system.entry.js.map +1 -0
- package/dist/ripple/{p-63166c83.system.entry.js → p-90d67afa.system.entry.js} +2 -2
- package/dist/ripple/p-90d67afa.system.entry.js.map +1 -0
- package/dist/ripple/p-976b2789.system.entry.js.map +1 -1
- package/dist/ripple/{p-3e9da0fb.system.entry.js → p-97f0722e.system.entry.js} +2 -2
- package/dist/ripple/p-97f0722e.system.entry.js.map +1 -0
- package/dist/ripple/p-9b9eb944.entry.js.map +1 -1
- package/dist/ripple/{p-4a45a473.entry.js → p-9c9cf5e7.entry.js} +2 -2
- package/dist/ripple/p-9c9cf5e7.entry.js.map +1 -0
- package/dist/ripple/{p-313b6073.system.js → p-9d02957d.system.js} +1 -1
- package/dist/ripple/p-9d02957d.system.js.map +1 -0
- package/dist/ripple/{p-7b85f5a8.entry.js → p-a1c4d1d2.entry.js} +2 -2
- package/dist/ripple/p-a1c4d1d2.entry.js.map +1 -0
- package/dist/ripple/{p-9727c8f5.entry.js → p-a6cd8eb1.entry.js} +2 -2
- package/dist/ripple/p-a6cd8eb1.entry.js.map +1 -0
- package/dist/ripple/{p-dfeb2a0f.system.entry.js → p-ab792e0d.system.entry.js} +2 -2
- package/dist/ripple/p-ab792e0d.system.entry.js.map +1 -0
- package/dist/ripple/{p-5e2be836.entry.js → p-ab996399.entry.js} +2 -2
- package/dist/ripple/p-ab996399.entry.js.map +1 -0
- package/dist/ripple/{p-85b47217.system.entry.js → p-ac27d425.system.entry.js} +2 -2
- package/dist/ripple/p-ac27d425.system.entry.js.map +1 -0
- package/dist/ripple/{p-4091aa36.system.js → p-b8783b39.system.js} +2 -2
- package/dist/ripple/p-b8783b39.system.js.map +1 -0
- package/dist/ripple/{p-525fbd6b.system.entry.js → p-be2aab24.system.entry.js} +2 -2
- package/dist/ripple/p-be2aab24.system.entry.js.map +1 -0
- package/dist/ripple/p-bf569af0.entry.js.map +1 -1
- package/dist/ripple/{p-d6478e67.system.entry.js → p-c63b63ee.system.entry.js} +2 -2
- package/dist/ripple/p-c63b63ee.system.entry.js.map +1 -0
- package/dist/ripple/{p-90f42d65.system.entry.js → p-ce0002d4.system.entry.js} +2 -2
- package/dist/ripple/p-ce0002d4.system.entry.js.map +1 -0
- package/dist/ripple/{p-54f29e18.entry.js → p-d23db6e2.entry.js} +2 -2
- package/dist/ripple/p-d23db6e2.entry.js.map +1 -0
- package/dist/ripple/p-d939cb54.entry.js.map +1 -1
- package/dist/ripple/p-dbfd1640.system.entry.js.map +1 -1
- package/dist/ripple/{p-bc883afc.entry.js → p-e29c4789.entry.js} +2 -2
- package/dist/ripple/p-e29c4789.entry.js.map +1 -0
- package/dist/ripple/{p-0cd88c74.entry.js → p-e6b9766e.entry.js} +2 -2
- package/dist/ripple/p-e6b9766e.entry.js.map +1 -0
- package/dist/ripple/{p-2abe8404.system.entry.js → p-e8dab7c0.system.entry.js} +2 -2
- package/dist/ripple/p-e8dab7c0.system.entry.js.map +1 -0
- package/dist/ripple/{p-dcd38073.system.entry.js → p-eb64d16a.system.entry.js} +2 -2
- package/dist/ripple/p-eb64d16a.system.entry.js.map +1 -0
- package/dist/ripple/{p-a31a30ac.system.entry.js → p-eccbad16.system.entry.js} +2 -2
- package/dist/ripple/p-eccbad16.system.entry.js.map +1 -0
- package/dist/ripple/{p-054e206a.entry.js → p-edae6ef2.entry.js} +2 -2
- package/dist/ripple/p-edae6ef2.entry.js.map +1 -0
- package/dist/ripple/{p-9fd3badc.js → p-edfba0e1.js} +1 -1
- package/dist/ripple/{p-9fd3badc.js.map → p-edfba0e1.js.map} +1 -1
- package/dist/ripple/{p-d0c3d25a.entry.js → p-efc36352.entry.js} +2 -2
- package/dist/ripple/p-efc36352.entry.js.map +1 -0
- package/dist/ripple/{p-e782194d.system.js → p-f08e6a5a.system.js} +1 -1
- package/dist/ripple/{p-e782194d.system.js.map → p-f08e6a5a.system.js.map} +1 -1
- package/dist/ripple/{p-29cd07d5.system.entry.js → p-f09541fc.system.entry.js} +2 -2
- package/dist/ripple/p-f09541fc.system.entry.js.map +1 -0
- package/dist/ripple/{p-4aa0ee75.system.entry.js → p-f4487f66.system.entry.js} +2 -2
- package/dist/ripple/p-f4487f66.system.entry.js.map +1 -0
- package/dist/ripple/{p-08b7ec08.system.js → p-f5df5903.system.js} +1 -1
- package/dist/ripple/p-f5df5903.system.js.map +1 -0
- package/dist/ripple/{p-23e54ad4.js → p-f8d1e5a0.js} +2 -2
- package/dist/ripple/p-f8d1e5a0.js.map +1 -0
- package/dist/ripple/{p-a6d6eae7.js → p-fd8070fb.js} +1 -1
- package/dist/ripple/p-fd8070fb.js.map +1 -0
- package/dist/ripple/ripple.esm.js +1 -1
- package/dist/ripple/ripple.js +1 -1
- package/dist/types/components/charts/chartFunctions.d.ts +37 -37
- package/dist/types/components/charts/priv-chart-popover/priv-chart-popover.d.ts +27 -27
- package/dist/types/components/charts/wm-chart/wm-chart-slice.d.ts +11 -11
- package/dist/types/components/charts/wm-chart/wm-chart.d.ts +47 -47
- package/dist/types/components/charts/wm-progress-monitor/wm-progress-indicator.d.ts +29 -29
- package/dist/types/components/charts/wm-progress-monitor/wm-progress-monitor.d.ts +20 -20
- package/dist/types/components/charts/wm-progress-monitor/wm-progress-slice.d.ts +10 -10
- package/dist/types/components/wm-action-menu/wm-action-menu.d.ts +49 -49
- package/dist/types/components/wm-button/wm-button.d.ts +49 -49
- package/dist/types/components/wm-datepicker/priv-datepicker/priv-datepicker.d.ts +80 -80
- package/dist/types/components/wm-datepicker/wm-datepicker.d.ts +42 -42
- package/dist/types/components/wm-file/wm-file.d.ts +42 -42
- package/dist/types/components/wm-file-list/wm-file-list.d.ts +16 -16
- package/dist/types/components/wm-input/wm-input.d.ts +46 -46
- package/dist/types/components/wm-menuitem/wm-menuitem.d.ts +34 -34
- package/dist/types/components/wm-modal/wm-modal-footer.d.ts +14 -14
- package/dist/types/components/wm-modal/wm-modal-header.d.ts +11 -11
- package/dist/types/components/wm-modal/wm-modal.d.ts +40 -40
- package/dist/types/components/wm-navigation/wm-navigation-hamburger.d.ts +21 -21
- package/dist/types/components/wm-navigation/wm-navigation-item.d.ts +13 -13
- package/dist/types/components/wm-navigation/wm-navigation.d.ts +28 -28
- package/dist/types/components/wm-navigator/priv-navigator-button/priv-navigator-button.d.ts +10 -10
- package/dist/types/components/wm-navigator/priv-navigator-item/priv-navigator-item.d.ts +13 -13
- package/dist/types/components/wm-navigator/wm-navigator.d.ts +61 -61
- package/dist/types/components/wm-option/wm-option.d.ts +34 -34
- package/dist/types/components/wm-pagination/wm-pagination.d.ts +32 -32
- package/dist/types/components/wm-search/wm-search.d.ts +77 -77
- package/dist/types/components/wm-select/wm-select.d.ts +102 -102
- package/dist/types/components/wm-snackbar/wm-snackbar.d.ts +35 -35
- package/dist/types/components/wm-tabs/wm-tab-item/wm-tab-item.d.ts +37 -37
- package/dist/types/components/wm-tabs/wm-tab-list/wm-tab-list.d.ts +52 -52
- package/dist/types/components/wm-tabs/wm-tab-panel/wm-tab-panel.d.ts +20 -20
- package/dist/types/components/wm-tag-input/wm-tag-input-row/wm-tag-input-row.d.ts +11 -11
- package/dist/types/components/wm-tag-input/wm-tag-input.d.ts +127 -127
- package/dist/types/components/wm-timepicker/wm-timepicker.d.ts +62 -62
- package/dist/types/components/wm-toggletip/wm-toggletip.d.ts +28 -28
- package/dist/types/components/wm-uploader/wm-network-uploader/wm-network-uploader.d.ts +85 -85
- package/dist/types/components/wm-uploader/wm-uploader.d.ts +104 -104
- package/dist/types/components/wm-wrapper/wm-wrapper.d.ts +7 -7
- package/dist/types/components.d.ts +27 -27
- package/dist/types/global/__mocks__/functions.d.ts +6 -6
- package/dist/types/global/functions.d.ts +47 -47
- package/dist/types/global/global.d.ts +1 -1
- package/dist/types/global/interfaces.d.ts +74 -74
- package/dist/types/global/services/__mocks__/http-service.d.ts +6 -6
- package/dist/types/global/services/http-service.d.ts +4 -4
- package/dist/types/lang/lang.d.ts +5 -5
- package/package.json +46 -46
- package/dist/cjs/chartFunctions-5309f8ed.js.map +0 -1
- package/dist/cjs/global-d20d5267.js.map +0 -1
- package/dist/cjs/http-service-9e8c4dd5.js.map +0 -1
- package/dist/cjs/interfaces-30a74c1f.js.map +0 -1
- package/dist/esm/chartFunctions-e22110b8.js.map +0 -1
- package/dist/esm/global-fee3549b.js.map +0 -1
- package/dist/esm/http-service-5d037e16.js.map +0 -1
- package/dist/esm/interfaces-61c6305b.js.map +0 -1
- package/dist/esm-es5/chartFunctions-e22110b8.js.map +0 -1
- package/dist/esm-es5/global-fee3549b.js.map +0 -1
- package/dist/esm-es5/http-service-5d037e16.js.map +0 -1
- package/dist/esm-es5/interfaces-61c6305b.js.map +0 -1
- package/dist/ripple/p-054e206a.entry.js.map +0 -1
- package/dist/ripple/p-08b7ec08.system.js.map +0 -1
- package/dist/ripple/p-0a23f0fa.entry.js.map +0 -1
- package/dist/ripple/p-0b31c210.entry.js.map +0 -1
- package/dist/ripple/p-0cd88c74.entry.js.map +0 -1
- package/dist/ripple/p-18e58141.system.entry.js.map +0 -1
- package/dist/ripple/p-1a2d8112.system.entry.js.map +0 -1
- package/dist/ripple/p-23e54ad4.js.map +0 -1
- package/dist/ripple/p-29cd07d5.system.entry.js.map +0 -1
- package/dist/ripple/p-2a9fa9b5.entry.js.map +0 -1
- package/dist/ripple/p-2abe8404.system.entry.js.map +0 -1
- package/dist/ripple/p-2b577e99.entry.js.map +0 -1
- package/dist/ripple/p-313b6073.system.js.map +0 -1
- package/dist/ripple/p-3e9da0fb.system.entry.js.map +0 -1
- package/dist/ripple/p-4091aa36.system.js.map +0 -1
- package/dist/ripple/p-45e7b944.entry.js.map +0 -1
- package/dist/ripple/p-4a45a473.entry.js.map +0 -1
- package/dist/ripple/p-4aa0ee75.system.entry.js.map +0 -1
- package/dist/ripple/p-4c383e9e.system.entry.js.map +0 -1
- package/dist/ripple/p-525fbd6b.system.entry.js.map +0 -1
- package/dist/ripple/p-535e33d7.entry.js.map +0 -1
- package/dist/ripple/p-54f29e18.entry.js.map +0 -1
- package/dist/ripple/p-5e2be836.entry.js.map +0 -1
- package/dist/ripple/p-63166c83.system.entry.js.map +0 -1
- package/dist/ripple/p-67373e6f.system.entry.js.map +0 -1
- package/dist/ripple/p-695286e7.entry.js.map +0 -1
- package/dist/ripple/p-76830e28.entry.js.map +0 -1
- package/dist/ripple/p-7b85f5a8.entry.js.map +0 -1
- package/dist/ripple/p-85b47217.system.entry.js.map +0 -1
- package/dist/ripple/p-87da5d8e.entry.js.map +0 -1
- package/dist/ripple/p-888bec42.js.map +0 -1
- package/dist/ripple/p-8e6bd600.system.entry.js.map +0 -1
- package/dist/ripple/p-90f42d65.system.entry.js.map +0 -1
- package/dist/ripple/p-9727c8f5.entry.js.map +0 -1
- package/dist/ripple/p-98a9eb8c.entry.js.map +0 -1
- package/dist/ripple/p-a31a30ac.system.entry.js.map +0 -1
- package/dist/ripple/p-a3b9c87d.system.entry.js.map +0 -1
- package/dist/ripple/p-a6d6eae7.js.map +0 -1
- package/dist/ripple/p-bc883afc.entry.js.map +0 -1
- package/dist/ripple/p-be954fba.system.entry.js.map +0 -1
- package/dist/ripple/p-bfc8d2bb.entry.js.map +0 -1
- package/dist/ripple/p-c25abcc5.system.js.map +0 -1
- package/dist/ripple/p-c5a50724.entry.js.map +0 -1
- package/dist/ripple/p-ccd0d43b.system.entry.js.map +0 -1
- package/dist/ripple/p-d0c3d25a.entry.js.map +0 -1
- package/dist/ripple/p-d6478e67.system.entry.js.map +0 -1
- package/dist/ripple/p-dcd38073.system.entry.js.map +0 -1
- package/dist/ripple/p-dfeb2a0f.system.entry.js.map +0 -1
- package/dist/ripple/p-e252738e.entry.js.map +0 -1
- package/dist/ripple/p-e61d2c52.entry.js.map +0 -1
- package/dist/ripple/p-e746fe88.system.entry.js.map +0 -1
- package/dist/ripple/p-e8fd25c8.js.map +0 -1
- package/dist/ripple/p-f38332ed.system.entry.js.map +0 -1
- package/dist/ripple/p-fe63519a.system.entry.js.map +0 -1
- /package/dist/ripple/{p-b22ba3a2.system.js.map → p-08950379.system.js.map} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["wmTimepickerCss","Timepicker","this","twelveHrValid","twentyFourHrValid","uid","timeFormat","times","openUp","buttonAriaLabel","intl","formatMessage","id","defaultMessage","description","toggleTabbingOn","isTabbing","toggleTabbingOff","handleKey","ev","key","preventDefault","isExpanded","open","moveDown","selectedOption","moveUp","handleOptionClick","textContent","stopPropagation","close","focusOption","optionsList","setDropdownPosition","length","updateErrorState","displayedErrorMessage","errorMessage","componentWillLoad","label","console","error","el","generateId","generateTimes","componentDidLoad","optionsEl","classList","add","Array","from","querySelectorAll","value","processInput","isValidTime","input","test","startTime","i","h","Math","floor","hour","toString","padStart","m","min","findNearestTimeInterval","time","formattedTime","formatToStorage","minutes","parseInt","slice","roundedMinutes","round","roundedHour","replace","handleListSelection","option","filter","o","formatToDisplay","setValue","previousValue","inputEl","wmTimepickerNewValidValue","emit","wmTimepickerOnChange","isValid","newErrorMessage","determineErrorMessage","message","requiredError","requiredFieldMessage","invalidError","requiredField","splitTime","exec","hours","amPm","undefined","toUpperCase","includes","itemToSelect","shouldOpenUp","remove","window","requestAnimationFrame","returnFocus","setTimeout","buttonEl","focus","item","forEach","tabIndex","position","prevItem","previousElementSibling","scrollTop","getBoundingClientRect","top","nextItem","nextElementSibling","bottom","offsetHeight","findIndex","x","clientHeight","prevEl","nextEl","handleInput","handleInputBlur","shouldPreventValidation","preventValidation","isRelatedTarget","tpWrapper","renderOptions","map","index","role","onClick","render","Host","invalid","onBlur","class","labelPosition","ref","t","htmlFor","onInput","disabled","placeholder","autocomplete","onFocus","onMouseDown","tabindex"],"sources":["./src/components/wm-timepicker/wm-timepicker.scss?tag=wm-timepicker&encapsulation=shadow","./src/components/wm-timepicker/wm-timepicker.tsx"],"sourcesContent":[":host,\r\nwm-timepicker {\r\n font-family: inherit;\r\n\r\n * {\r\n box-sizing: border-box;\r\n }\r\n\r\n .sr-only {\r\n @include srOnly;\r\n }\r\n\r\n @include label;\r\n\r\n .wrapper {\r\n .inner-wrapper {\r\n @include displayFlex();\r\n align-items: center;\r\n height: rem-calc(40);\r\n border: 1px solid $input-border-color;\r\n @include border-radius(3px);\r\n max-width: 236px; /* input is 200px or smaller, button is 36px */\r\n justify-content: space-between;\r\n position: relative;\r\n\r\n input {\r\n -moz-border-top-left-radius: 3px;\r\n -webkit-border-top-left-radius: 3px;\r\n border-top-left-radius: 3px;\r\n -moz-border-bottom-left-radius: 3px;\r\n -webkit-border-bottom-left-radius: 3px;\r\n border-bottom-left-radius: 3px;\r\n border: none;\r\n font-size: rem-calc(14);\r\n padding: rem-calc(10 15 8);\r\n min-width: 0;\r\n height: 100%;\r\n flex: 1;\r\n margin: 0;\r\n font-family: inherit;\r\n\r\n &:disabled {\r\n background-color: $input-disabled-bg;\r\n color: $input-disabled-color;\r\n }\r\n\r\n &:focus {\r\n outline: none;\r\n }\r\n }\r\n\r\n button {\r\n all: unset;\r\n cursor: pointer;\r\n padding: rem-calc(0px 6px);\r\n height: rem-calc(38);\r\n background-color: $button-default-background;\r\n border: none;\r\n -moz-border-top-right-radius: 3px;\r\n -webkit-border-top-right-radius: 3px;\r\n border-top-right-radius: 3px;\r\n -moz-border-bottom-right-radius: 3px;\r\n -webkit-border-bottom-right-radius: 3px;\r\n border-bottom-right-radius: 3px;\r\n\r\n // reset styles inherited from Planning in browsers without shadow DOM\r\n -moz-border-top-left-radius: 0;\r\n -webkit-border-top-left-radius: 0;\r\n border-top-left-radius: 0;\r\n -moz-border-bottom-left-radius: 0;\r\n -webkit-border-bottom-left-radius: 0;\r\n border-bottom-left-radius: 0;\r\n @include box-shadow(none);\r\n\r\n .clock::after {\r\n @include mdi-icon;\r\n content: \"\\f150\";\r\n color: $button-default-text;\r\n font-size: rem-calc(24);\r\n padding: 0;\r\n line-height: rem-calc(40);\r\n }\r\n\r\n &:hover {\r\n background: mix(black, $button-default-background, 10%);\r\n @include box-shadow(none);\r\n }\r\n\r\n &:disabled {\r\n background-color: rgba(74, 74, 74, 0.05);\r\n pointer-events: none;\r\n @include box-shadow(none);\r\n .clock::after {\r\n color: #7b7b7b;\r\n }\r\n }\r\n\r\n [dir=\"RTL\"] & {\r\n right: auto;\r\n left: 0;\r\n }\r\n\r\n &:focus {\r\n outline: none;\r\n }\r\n\r\n &.user-is-tabbing:focus {\r\n @include focus-style;\r\n }\r\n\r\n &::-moz-focus-inner {\r\n border: 0;\r\n }\r\n }\r\n\r\n .options {\r\n margin: 0;\r\n padding: 0;\r\n -webkit-overflow-scrolling: touch;\r\n overflow: auto;\r\n // value can be passed in to the component and overwrite the following\r\n max-height: rem-calc(305);\r\n @include box-shadow(0 4px 15px 0 rgba(0, 0, 0, 0.2));\r\n @include transition(transform 0.25s ease);\r\n @include scale($xVal: 1, $yVal: 0);\r\n @include transformOrigin(center top);\r\n @include border-radius(3px);\r\n position: absolute;\r\n top: 2.5rem;\r\n right: 0;\r\n background: #fff;\r\n z-index: 100;\r\n width: 100%;\r\n font-size: rem-calc(14);\r\n\r\n &.upwards {\r\n top: unset;\r\n bottom: 2.5rem;\r\n @include transformOrigin(center bottom);\r\n }\r\n\r\n &.hidden {\r\n visibility: hidden;\r\n }\r\n\r\n [role=\"option\"] {\r\n display: block;\r\n cursor: pointer;\r\n position: relative;\r\n padding: rem-calc(20);\r\n background: #fff;\r\n font-family: inherit;\r\n list-style: none;\r\n color: $body-text-color;\r\n\r\n &:hover {\r\n background: $background;\r\n outline: none;\r\n }\r\n\r\n &:focus {\r\n outline: none;\r\n background: $background;\r\n }\r\n\r\n &:not(:last-child) {\r\n border-bottom: 2px solid rgba(#2e1b46, 0.05);\r\n }\r\n }\r\n }\r\n\r\n .options.open {\r\n @include scale($xVal: 1, $yVal: 1);\r\n }\r\n }\r\n\r\n &.invalid {\r\n .inner-wrapper {\r\n @include invalid;\r\n }\r\n\r\n .error {\r\n color: $firetruck;\r\n margin-top: 4px;\r\n margin-bottom: 4px;\r\n display: block;\r\n top: 100%;\r\n left: 0;\r\n font-style: italic;\r\n }\r\n }\r\n\r\n &:focus,\r\n &.focus {\r\n .inner-wrapper {\r\n @include field-focus;\r\n }\r\n }\r\n }\r\n}\r\n","import { h, Component, Host, Element, Prop, Watch, State, Listen, Event, EventEmitter } from \"@stencil/core\";\r\nimport { intl, generateId, shouldOpenUp, isRelatedTarget } from \"../../global/functions\";\r\n\r\n@Component({\r\n tag: \"wm-timepicker\",\r\n styleUrl: \"wm-timepicker.scss\",\r\n shadow: { delegatesFocus: true },\r\n})\r\nexport class Timepicker {\r\n @Element() el!: HTMLWmTimepickerElement;\r\n private inputEl!: HTMLInputElement;\r\n private optionsEl!: HTMLUListElement;\r\n private tpWrapper!: HTMLDivElement;\r\n private buttonEl!: HTMLButtonElement;\r\n private optionsList!: HTMLLIElement[];\r\n\r\n @Prop() disabled: boolean = false;\r\n @Prop({ reflect: true, mutable: true }) value: string = \"\";\r\n @Prop() errorMessage?: string | null;\r\n @Prop() label: string = \"\";\r\n @Prop() labelPosition: \"top\" | \"left\" | \"none\" = \"top\";\r\n @Prop() requiredField: boolean = false;\r\n @Prop() requiredFieldMessage?: string;\r\n @Prop() preventValidation?: string; // id or series of ids, validation will not occur when clicking an element with this id\r\n @State() selectedOption!: HTMLLIElement;\r\n @State() isExpanded: boolean = false;\r\n @State() isTabbing: boolean = false;\r\n @Event() wmTimepickerNewValidValue!: EventEmitter<{ value: string }>;\r\n @Event() wmTimepickerOnChange!: EventEmitter<{\r\n // deprecated in favor of wmTimepickerNewValidValue and standard input event\r\n value: string;\r\n isValid: boolean;\r\n }>;\r\n private twelveHrValid = /^(0?[0-9]|1[0-2])\\s*:?\\s*([0-5][0-9])?\\s?(a|p|am|pm)?$/i;\r\n private twentyFourHrValid = /^(0?[0-9]|1[0-9]|2[0-4])\\s*:?\\s*([0-5][0-9])?$/;\r\n private uid: string = \"\";\r\n private timeFormat: string = \"hh:mm\";\r\n private times: string[] = [];\r\n private openUp: boolean = false;\r\n private buttonAriaLabel: string = intl.formatMessage({\r\n id: \"time.selectTime\",\r\n defaultMessage: \"Select time\",\r\n description: \"Button text for screen readers.\",\r\n });\r\n @State() displayedErrorMessage?: string | null;\r\n\r\n @Listen(\"wmUserIsTabbing\", { target: \"window\" })\r\n toggleTabbingOn() {\r\n this.isTabbing = true;\r\n }\r\n\r\n @Listen(\"wmUserIsNotTabbing\", { target: \"window\" })\r\n toggleTabbingOff() {\r\n this.isTabbing = false;\r\n }\r\n\r\n @Listen(\"keydown\")\r\n handleKey(ev: KeyboardEvent): void {\r\n switch (ev.key) {\r\n case \"ArrowDown\":\r\n ev.preventDefault();\r\n if (this.isExpanded === false) {\r\n this.open(\"next\");\r\n } else {\r\n this.moveDown(this.selectedOption);\r\n }\r\n break;\r\n case \"ArrowUp\":\r\n ev.preventDefault();\r\n if (this.isExpanded === false) {\r\n this.open(\"previous\");\r\n } else {\r\n this.moveUp(this.selectedOption);\r\n }\r\n break;\r\n case \"Enter\":\r\n case \" \":\r\n if (this.isExpanded) {\r\n ev.preventDefault();\r\n this.handleOptionClick(this.selectedOption.textContent!);\r\n }\r\n break;\r\n case \"Escape\":\r\n ev.preventDefault();\r\n if (this.isExpanded) {\r\n ev.stopPropagation(); // for instance if select is in a modal, esc should close the select but not the modal\r\n this.close();\r\n }\r\n break;\r\n case \"Tab\":\r\n if (this.isExpanded) {\r\n this.close(false);\r\n }\r\n break;\r\n case \"Home\":\r\n ev.preventDefault();\r\n if (this.isExpanded) {\r\n this.focusOption(this.optionsList[0]);\r\n this.setDropdownPosition(\"first\");\r\n }\r\n break;\r\n case \"End\":\r\n ev.preventDefault();\r\n if (this.isExpanded) {\r\n this.focusOption(this.optionsList[this.optionsList.length - 1]);\r\n this.setDropdownPosition(\"last\");\r\n }\r\n break;\r\n }\r\n }\r\n\r\n @Watch(\"errorMessage\")\r\n updateErrorState() {\r\n this.displayedErrorMessage = this.errorMessage;\r\n }\r\n\r\n componentWillLoad() {\r\n if (this.label === \"\") {\r\n console.error(\r\n \"You must include a label prop for the timepicker (for accessibility reasons), even if the label position is none.\"\r\n );\r\n }\r\n\r\n this.uid = this.el.id ? this.el.id : generateId();\r\n this.updateErrorState();\r\n this.timeFormat = intl.formatMessage({\r\n id: \"time.timeFormat\",\r\n defaultMessage: \"hh:mm\",\r\n });\r\n\r\n this.times = this.generateTimes();\r\n }\r\n\r\n componentDidLoad() {\r\n this.optionsEl.classList.add(\"hidden\");\r\n this.optionsList = Array.from(this.optionsEl.querySelectorAll(\"li\"));\r\n\r\n if (this.value) {\r\n this.processInput();\r\n }\r\n }\r\n\r\n isValidTime(input: string) {\r\n return this.twelveHrValid.test(input) || this.twentyFourHrValid.test(input);\r\n }\r\n\r\n generateTimes() {\r\n let times = [];\r\n let startTime = 0;\r\n\r\n for (let i = 0; startTime < 24 * 60; i++) {\r\n const h = Math.floor(startTime / 60);\r\n const hour = h.toString().padStart(2, \"0\");\r\n const m = (startTime % 60).toString();\r\n const min = m.padStart(2, \"0\");\r\n times[i] = `${hour}:${min}`;\r\n startTime = startTime + 15;\r\n }\r\n\r\n return times;\r\n }\r\n\r\n findNearestTimeInterval(time: string) {\r\n let formattedTime = this.formatToStorage(time);\r\n const minutes = parseInt(formattedTime.slice(3, 5));\r\n\r\n // first find the closest 15 min increment\r\n if (minutes % 15 !== 0) {\r\n const hour = parseInt(formattedTime.slice(0, 2));\r\n let roundedMinutes = (Math.round(minutes / 15) * 15).toString().padStart(2, \"0\");\r\n if (roundedMinutes === \"60\") {\r\n roundedMinutes = \"00\";\r\n let roundedHour = hour + 1;\r\n if (roundedHour === 24) {\r\n roundedHour = 0;\r\n }\r\n formattedTime = formattedTime.replace(\r\n `${hour.toString().padStart(2, \"0\")}:`,\r\n `${roundedHour.toString().padStart(2, \"0\")}:`\r\n );\r\n }\r\n if (parseInt(roundedMinutes) < 8) {\r\n roundedMinutes = \"00\";\r\n }\r\n time = formattedTime.replace(`:${minutes.toString().padStart(2, \"0\")}`, `:${roundedMinutes}`);\r\n }\r\n\r\n return time;\r\n }\r\n\r\n handleListSelection(time: string) {\r\n time = this.findNearestTimeInterval(time);\r\n\r\n const option = this.optionsList.filter((o) => o.textContent == this.formatToDisplay(time))[0];\r\n option && this.focusOption(option);\r\n }\r\n\r\n setValue(time: string) {\r\n const previousValue = this.value;\r\n this.inputEl.value = this.formatToDisplay(time);\r\n this.value = this.formatToStorage(time);\r\n // update the selection in the list\r\n // so it opens on the closest item\r\n this.handleListSelection(time);\r\n\r\n if (previousValue !== this.value) {\r\n this.wmTimepickerNewValidValue.emit({ value: this.value });\r\n }\r\n // deprecated in favor of wmTimepickerNewValidValue and input\r\n this.wmTimepickerOnChange.emit({\r\n value: this.value,\r\n isValid: !!this.displayedErrorMessage,\r\n });\r\n }\r\n\r\n processInput() {\r\n if (this.isValidTime(this.value)) {\r\n this.setValue(this.value);\r\n }\r\n const newErrorMessage = this.determineErrorMessage();\r\n this.displayedErrorMessage = newErrorMessage;\r\n }\r\n\r\n determineErrorMessage(): string | undefined | null {\r\n let message: string | undefined | null = this.errorMessage;\r\n const requiredError =\r\n this.requiredFieldMessage ||\r\n intl.formatMessage({\r\n id: \"time.requiredError\",\r\n defaultMessage: \"A time is required.\",\r\n });\r\n const invalidError = intl.formatMessage({\r\n id: \"time.invalidTime\",\r\n defaultMessage: \"Please enter a valid time.\",\r\n });\r\n const isValid = this.isValidTime(this.value);\r\n\r\n if (isValid && !this.errorMessage) {\r\n message = null;\r\n } else if (!isValid && !this.errorMessage) {\r\n if (this.requiredField && !this.value) {\r\n message = requiredError;\r\n } else if (this.value) {\r\n message = invalidError;\r\n } else {\r\n message = null;\r\n }\r\n }\r\n\r\n return message;\r\n }\r\n\r\n splitTime(time: string): [number, string, string?] {\r\n const splitTime = this.twelveHrValid.exec(time) || this.twentyFourHrValid.exec(time);\r\n let hours = parseInt(splitTime![1]);\r\n let minutes = splitTime![2] || \"00\";\r\n let amPm = splitTime ? splitTime[3] : undefined;\r\n\r\n // handles edge case uncaught by regex '0pm'\r\n if (hours === 0 && amPm?.toUpperCase().includes(\"P\")) {\r\n // if user types '0pm' we change it to midnight\r\n amPm = \"AM\";\r\n }\r\n return [hours, minutes, amPm];\r\n }\r\n\r\n formatToDisplay(time: string) {\r\n let [hours, minutes, amPm] = this.splitTime(time);\r\n // at the moment the component only displays in 12hr AM/PM\r\n if (hours === 12 && !amPm) {\r\n amPm = \"PM\";\r\n }\r\n if (hours === 0 || hours === 24) {\r\n hours = 12;\r\n }\r\n if (hours > 12) {\r\n hours -= 12;\r\n amPm = \"PM\";\r\n }\r\n if (amPm && amPm.toUpperCase().includes(\"P\")) {\r\n amPm = \"PM\";\r\n } else {\r\n amPm = \"AM\";\r\n }\r\n\r\n return `${hours.toString().padStart(2, \"0\")}:${minutes} ${amPm}`;\r\n }\r\n\r\n formatToStorage(time: string) {\r\n let [hours, minutes, amPm] = this.splitTime(time);\r\n if (hours === 24) {\r\n hours = 0;\r\n }\r\n if (hours === 12 && amPm && amPm.toUpperCase().includes(\"A\")) {\r\n hours -= 12;\r\n }\r\n if (amPm && amPm.toUpperCase().includes(\"P\") && hours !== 12) {\r\n hours += 12;\r\n }\r\n return `${hours.toString().padStart(2, \"0\")}:${minutes}`;\r\n }\r\n\r\n open(itemToSelect?: \"next\" | \"previous\") {\r\n this.openUp = shouldOpenUp(this.el, this.optionsEl);\r\n this.isExpanded = true;\r\n this.optionsEl.classList.remove(\"hidden\");\r\n\r\n if (this.errorMessage || !this.value) {\r\n this.handleListSelection(\"09:00\");\r\n }\r\n this.setDropdownPosition(\"center\", this.selectedOption);\r\n this.focusOption(this.selectedOption);\r\n\r\n window.requestAnimationFrame(() => {\r\n if (itemToSelect === \"next\") {\r\n this.moveDown(this.selectedOption);\r\n } else if (itemToSelect === \"previous\") {\r\n this.moveUp(this.selectedOption);\r\n }\r\n });\r\n }\r\n\r\n close(returnFocus: boolean = true) {\r\n this.isExpanded = false;\r\n\r\n window.setTimeout(() => {\r\n this.optionsEl.classList.add(\"hidden\");\r\n // Returns focus to button after popup closes (no need if user is tabbing)\r\n // Delay is necessary for screenreader to get new expanded state before focus\r\n // window.requestAnimationFrame is probably enough, but since we are already using setTimeout it may as well be here\r\n // also UX wise, it makes sense for the button to only be focused after the animation is complete\r\n if (returnFocus) {\r\n this.buttonEl.focus();\r\n }\r\n }, 150);\r\n }\r\n\r\n focusOption(item: HTMLLIElement): void {\r\n this.optionsList.forEach((option) => {\r\n option.tabIndex = -1;\r\n });\r\n\r\n item.tabIndex = 0;\r\n this.selectedOption = item;\r\n item.focus();\r\n }\r\n\r\n setDropdownPosition(position: string, item?: HTMLLIElement) {\r\n switch (position) {\r\n case \"top\":\r\n const prevItem = item?.previousElementSibling as HTMLLIElement;\r\n this.optionsEl.scrollTop =\r\n prevItem.getBoundingClientRect().top - this.optionsEl.getBoundingClientRect().top + this.optionsEl.scrollTop;\r\n break;\r\n case \"bottom\":\r\n const nextItem = item?.nextElementSibling as HTMLLIElement;\r\n this.optionsEl.scrollTop =\r\n nextItem.getBoundingClientRect().bottom -\r\n this.optionsEl.getBoundingClientRect().top +\r\n this.optionsEl.scrollTop -\r\n this.optionsEl.offsetHeight;\r\n break;\r\n case \"center\":\r\n this.optionsEl.scrollTop =\r\n (this.optionsList.findIndex((x) => x.textContent === item?.textContent) - 2) * item!.offsetHeight;\r\n break;\r\n case \"first\":\r\n this.optionsEl.scrollTop = 0;\r\n break;\r\n case \"last\":\r\n this.optionsEl.scrollTop = this.optionsList[0].clientHeight * this.optionsList.length;\r\n break;\r\n }\r\n }\r\n\r\n moveUp(el: HTMLLIElement) {\r\n const prevEl = el.previousElementSibling as HTMLLIElement;\r\n if (prevEl) {\r\n // scroll option to top of dropdown if partially obscured / out of view\r\n if (prevEl.getBoundingClientRect().top < this.optionsEl.getBoundingClientRect().top) {\r\n this.setDropdownPosition(\"top\", el);\r\n }\r\n this.focusOption(prevEl);\r\n } else {\r\n this.focusOption(this.optionsList[this.optionsList.length - 1]);\r\n this.setDropdownPosition(\"last\");\r\n }\r\n }\r\n\r\n moveDown(el: HTMLLIElement) {\r\n const nextEl = el.nextElementSibling as HTMLLIElement;\r\n if (nextEl) {\r\n // scroll option to bottom of dropdown if partially obscured / out of view\r\n if (nextEl.getBoundingClientRect().bottom > this.optionsEl.getBoundingClientRect().bottom) {\r\n this.setDropdownPosition(\"bottom\", el);\r\n }\r\n this.focusOption(nextEl);\r\n } else {\r\n this.focusOption(this.optionsList[0]);\r\n this.setDropdownPosition(\"first\");\r\n }\r\n }\r\n\r\n handleOptionClick(time: string) {\r\n this.close();\r\n this.setValue(time);\r\n this.processInput();\r\n }\r\n\r\n handleInput() {\r\n this.value = this.inputEl.value;\r\n if (this.isValidTime(this.value)) {\r\n this.handleListSelection(this.findNearestTimeInterval(this.value));\r\n this.setDropdownPosition(\"center\", this.selectedOption);\r\n }\r\n }\r\n\r\n handleInputBlur(ev: FocusEvent) {\r\n // do not validate if clicking to an element that should prevent validation (e.g. close button on modal)\r\n const shouldPreventValidation = this.preventValidation && isRelatedTarget(ev, this.preventValidation);\r\n if (!shouldPreventValidation) {\r\n this.processInput();\r\n }\r\n this.tpWrapper.classList.remove(\"focus\");\r\n }\r\n\r\n renderOptions() {\r\n return this.times.map((time, index) => (\r\n <li id={`option${index + 1}`} role=\"option\" onClick={() => this.handleOptionClick(time)}>\r\n {this.formatToDisplay(time)}\r\n </li>\r\n ));\r\n }\r\n\r\n render() {\r\n return (\r\n <Host id={this.uid} invalid={!!this.displayedErrorMessage ? \"true\" : null} onBlur={() => this.close(false)}>\r\n <div\r\n class={`wrapper label-${this.labelPosition} ${!!this.displayedErrorMessage ? \"invalid\" : \"\"}`}\r\n ref={(t) => (this.tpWrapper = t as HTMLDivElement)}\r\n >\r\n <div class=\"label-wrapper\">\r\n {this.labelPosition !== \"none\" && (\r\n <label id={`label-${this.uid}`} class=\"label\" htmlFor={`time-input-${this.uid}`}>\r\n {this.label}\r\n {this.requiredField && (\r\n <span class=\"required\" aria-hidden=\"true\">\r\n *\r\n </span>\r\n )}\r\n </label>\r\n )}\r\n </div>\r\n <div>\r\n <div class=\"inner-wrapper\">\r\n <input\r\n id={`time-input-${this.uid}`}\r\n aria-label={this.label}\r\n aria-describedby={`error-${this.uid}`}\r\n ref={(el) => (this.inputEl = el as HTMLInputElement)}\r\n onBlur={(ev) => this.handleInputBlur(ev)}\r\n onInput={() => this.handleInput()}\r\n disabled={this.disabled}\r\n aria-required={this.requiredField ? \"true\" : null}\r\n placeholder={this.timeFormat}\r\n autocomplete=\"off\"\r\n onFocus={() => this.tpWrapper.classList.add(\"focus\")}\r\n />\r\n <button\r\n id={`btn-${this.uid}`}\r\n class={this.isTabbing ? \"user-is-tabbing\" : \"\"}\r\n ref={(el) => (this.buttonEl = el as HTMLButtonElement)}\r\n disabled={this.disabled}\r\n aria-controls={`list-${this.uid}`}\r\n aria-expanded={this.isExpanded ? \"true\" : \"false\"}\r\n aria-label={this.buttonAriaLabel}\r\n aria-describedby={`time-input-${this.uid}`}\r\n onClick={() => (this.isExpanded ? this.close() : this.open())}\r\n // This addresses an issue in Safari, where clicking buttons does not focus them\r\n // if the button does not receive focus when clicked, Timepicker incorrectly emits a blur event\r\n onMouseDown={(ev) => {\r\n ev.preventDefault();\r\n this.buttonEl.focus();\r\n }}\r\n >\r\n <span class=\"clock\" />\r\n </button>\r\n <ul\r\n class={`options ${this.isExpanded ? \"open\" : \"\"} ${this.openUp ? \"upwards\" : \"\"}`}\r\n id={`list-${this.uid}`}\r\n role=\"listbox\"\r\n aria-labelledby={`label-${this.uid}`}\r\n aria-describedby={this.isExpanded ? \"collapsed\" : null} //For screenreader, to announce state when expanded\r\n tabindex={-1}\r\n ref={(el) => (this.optionsEl = el as HTMLUListElement)}\r\n >\r\n {this.renderOptions()}\r\n </ul>\r\n </div>\r\n <div id={`error-${this.uid}`} class=\"error\" aria-live=\"assertive\" aria-atomic=\"true\">\r\n {this.displayedErrorMessage}\r\n </div>\r\n </div>\r\n </div>\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
System.register(["./p-7b2fc615.system.js","./p-
|
|
2
|
-
//# sourceMappingURL=p-
|
|
1
|
+
System.register(["./p-7b2fc615.system.js","./p-f08e6a5a.system.js"],(function(t){"use strict";var e,o,i,r,n,p;return{setters:[function(t){e=t.r;o=t.c;i=t.h;r=t.H;n=t.g},function(t){p=t.i}],execute:function(){var s="priv-chart-popover{position:fixed;z-index:10;border-radius:0.1875rem;-webkit-box-shadow:0 11px 15px 0 rgba(0, 0, 0, 0.2), 0 7px 20px 0 rgba(0, 0, 0, 0.12);-moz-box-shadow:0 11px 15px 0 rgba(0, 0, 0, 0.2), 0 7px 20px 0 rgba(0, 0, 0, 0.12);box-shadow:0 11px 15px 0 rgba(0, 0, 0, 0.2), 0 7px 20px 0 rgba(0, 0, 0, 0.12);background-color:#fff;font-size:0.875rem;text-align:left}priv-chart-popover.user-is-tabbing .button-text{background:-webkit-gradient(linear, left top, right top, color-stop(66%, #3862e9), color-stop(0, transparent)) repeat-x;background:linear-gradient(90deg, #3862e9 66%, transparent 0) repeat-x;background-size:6px 3px;background-position:0 1em;border-radius:0;line-height:normal}.sr-only{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;border:0 !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;-webkit-clip-path:inset(50%) !important;clip-path:inset(50%) !important;white-space:nowrap !important;margin:-1px !important}.popover{width:10.5rem;padding:0.625rem 0.9375rem;-webkit-box-sizing:border-box;box-sizing:border-box}.popover .title{font-size:1em;font-weight:500;margin:0;padding-top:0;padding-left:0;padding-bottom:0.25rem}.popover .title.positive{color:#088000}.popover .title.negative{color:#c0392b}.popover .text{margin:0;margin-bottom:0.5rem}.popover .popover-button{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;position:relative;display:inline-block;margin-left:1rem;padding-left:0;padding-right:0;height:auto;border:none;background:transparent;cursor:pointer;text-decoration:none;letter-spacing:0;text-transform:none;text-align:initial;font-size:0.875rem;font-weight:700;color:#575195;line-height:normal}.popover .popover-button .btn-icon{position:absolute;top:0.1875rem;left:-1rem}.popover .popover-button:focus{outline:none}.popover .popover-button::-moz-focus-inner{border:0;outline:none}.popover .popover-button:hover{text-decoration:none;background:none;color:#454077}.popover .popover-button:hover span{text-decoration:underline}";var a=t("priv_chart_popover",function(){function t(t){e(this,t);this.wmChartPopoverButtonTriggered=o(this,"wmChartPopoverButtonTriggered",7);this.wmProgressIndicatorButtonTriggered=o(this,"wmProgressIndicatorButtonTriggered",7);this.chartEl=this.el.parentElement.getRootNode().host;this.popoverWidth=168;this.popoverClicked=false;this.sliceRef=undefined;this.popoverTitle=undefined;this.popoverText=undefined;this.buttonText=undefined;this.open=false;this.coords={}}Object.defineProperty(t.prototype,"eventToEmit",{get:function(){return this.chartEl.nodeName==="WM-CHART"?this.wmChartPopoverButtonTriggered:this.wmProgressIndicatorButtonTriggered},enumerable:false,configurable:true});t.prototype.handleClickOnDocument=function(){this.open=this.popoverClicked;this.popoverClicked=false};t.prototype.handleClick=function(t){var e=false;if(this.btnEl){e=t.target===this.btnEl||this.btnEl.contains(t.target)}this.popoverClicked=!e&&(t.target===this.el||this.el.contains(t.target))};t.prototype.handleButtonClick=function(){if(this.sliceRef){this.sliceRef.click();this.eventToEmit.emit(this.sliceRef)}this.open=false};t.prototype.renderLiveRegion=function(){if(this.liveRegion){this.liveRegion.innerHTML="";var t=document.createElement("div");var e=document.createElement("span");e.innerHTML=this.popoverTitle+" "||"";t.appendChild(e);var o=document.createElement("span");o.innerHTML=this.popoverText+" "||"";t.appendChild(o);if(this.buttonText){var i=document.createElement("span");i.innerHTML=this.buttonText+" "+p.formatMessage({id:"chart.infoButton",defaultMessage:"Button. Click for more information."});t.appendChild(i)}this.liveRegion.appendChild(t)}};t.prototype.positionPopover=function(){this.el.style.top=this.coords.y+"px";if(window.innerWidth-this.coords.x>=this.popoverWidth+10){this.el.style.left=this.coords.x+"px"}else{this.el.style.left=this.coords.x-this.popoverWidth+"px"}};t.prototype.render=function(){var t=this;var e=this.popoverTitle&&(this.popoverTitle[0]==="-"?"negative":this.popoverTitle[0]==="+"?"positive":"");return i(r,null,!!this.open?i("div",{"aria-hidden":"true",class:"popover"},i("h1",{class:"title ".concat(e)},this.popoverTitle),i("p",{class:"text"},this.popoverText),this.buttonText?i("button",{tabindex:"-1",focusable:"false",ref:function(e){return t.btnEl=e},class:"popover-button",onClick:function(){return t.handleButtonClick()}},i("svg",{class:"btn-icon",height:"9",width:"9"},i("path",{fill:"#575195",d:"M0 3.38v2.25h9V3.38H0zM0 0v2.25h4.5V0H0zm6.19 6.75H0V9h6.19V6.75z"})),i("span",{class:"button-text"},this.buttonText)):""):"",i("div",{ref:function(e){return t.liveRegion=e},class:"live-region sr-only","aria-live":"polite","aria-atomic":"true"},this.open&&this.renderLiveRegion()))};Object.defineProperty(t.prototype,"el",{get:function(){return n(this)},enumerable:false,configurable:true});Object.defineProperty(t,"watchers",{get:function(){return{coords:["positionPopover"]}},enumerable:false,configurable:true});return t}());a.style=s}}}));
|
|
2
|
+
//# sourceMappingURL=p-e8dab7c0.system.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["privChartPopoverCss","ChartPopover","exports","this","chartEl","el","parentElement","getRootNode","host","popoverWidth","popoverClicked","Object","defineProperty","class_1","prototype","nodeName","wmChartPopoverButtonTriggered","wmProgressIndicatorButtonTriggered","handleClickOnDocument","open","handleClick","ev","popoverBtnClicked","btnEl","target","contains","handleButtonClick","sliceRef","click","eventToEmit","emit","renderLiveRegion","liveRegion","innerHTML","wrapper","document","createElement","titleEl","popoverTitle","appendChild","textEl","popoverText","buttonText","buttonEl","intl","formatMessage","id","defaultMessage","positionPopover","style","top","coords","y","window","innerWidth","x","left","render","_this","titleAffordance","h","Host","class","concat","tabindex","focusable","ref","onClick","height","width","fill","d"],"sources":["src/components/charts/priv-chart-popover/priv-chart-popover.scss?tag=priv-chart-popover","src/components/charts/priv-chart-popover/priv-chart-popover.tsx"],"sourcesContent":["priv-chart-popover {\r\n position: fixed;\r\n\r\n z-index: 10;\r\n border-radius: rem-calc(3);\r\n @include box-shadow(0 11px 15px 0 rgba(0, 0, 0, 0.2), 0 7px 20px 0 rgba(0, 0, 0, 0.12));\r\n background-color: $light-background;\r\n font-size: 0.875rem;\r\n text-align: left;\r\n\r\n &.user-is-tabbing {\r\n .button-text {\r\n background: linear-gradient(90deg, #3862e9 66%, transparent 0) repeat-x;\r\n background-size: 6px 3px;\r\n background-position: 0 1em;\r\n border-radius: 0;\r\n line-height: normal;\r\n }\r\n }\r\n}\r\n\r\n.sr-only {\r\n @include srOnly;\r\n}\r\n\r\n.popover {\r\n width: rem-calc(168);\r\n padding: rem-calc(10 15);\r\n box-sizing: border-box;\r\n\r\n & .title {\r\n font-size: 1em;\r\n font-weight: 500;\r\n margin: 0;\r\n padding-top: 0;\r\n padding-left: 0;\r\n padding-bottom: rem-calc(4);\r\n\r\n &.positive {\r\n color: $success;\r\n }\r\n\r\n &.negative {\r\n color: $error;\r\n }\r\n }\r\n\r\n & .text {\r\n margin: 0;\r\n margin-bottom: rem-calc(8);\r\n }\r\n\r\n & .popover-button {\r\n @include box-shadow(none);\r\n position: relative;\r\n display: inline-block;\r\n margin-left: rem-calc(16);\r\n padding-left: 0;\r\n padding-right: 0;\r\n height: auto;\r\n border: none;\r\n background: transparent;\r\n cursor: pointer;\r\n\r\n text-decoration: none;\r\n letter-spacing: 0;\r\n text-transform: none;\r\n text-align: initial;\r\n font-size: rem-calc(14);\r\n font-weight: 700;\r\n color: $button-default-text;\r\n line-height: normal;\r\n\r\n & .btn-icon {\r\n position: absolute;\r\n top: rem-calc(3);\r\n left: rem-calc(-16);\r\n }\r\n\r\n &:focus {\r\n outline: none;\r\n }\r\n\r\n &::-moz-focus-inner {\r\n border: 0;\r\n outline: none;\r\n }\r\n\r\n &:hover {\r\n text-decoration: none;\r\n background: none;\r\n color: #454077;\r\n span {\r\n text-decoration: underline;\r\n }\r\n }\r\n }\r\n}\r\n","import { h, Component, Prop, Host, Element, Watch, Listen, Event, EventEmitter } from \"@stencil/core\";\r\nimport { intl } from \"../../../global/functions\";\r\n\r\n@Component({\r\n tag: \"priv-chart-popover\",\r\n styleUrl: \"priv-chart-popover.scss\",\r\n})\r\nexport class ChartPopover {\r\n @Element() el!: HTMLPrivChartPopoverElement;\r\n private chartEl: Element = (this.el.parentElement!.getRootNode() as ShadowRoot).host;\r\n private btnEl?: HTMLButtonElement;\r\n private liveRegion?: HTMLDivElement;\r\n\r\n @Event()\r\n wmChartPopoverButtonTriggered!: EventEmitter<HTMLWmChartSliceElement>;\r\n @Event()\r\n wmProgressIndicatorButtonTriggered!: EventEmitter<HTMLWmProgressSliceElement>;\r\n get eventToEmit() {\r\n return this.chartEl.nodeName === \"WM-CHART\"\r\n ? this.wmChartPopoverButtonTriggered\r\n : this.wmProgressIndicatorButtonTriggered;\r\n }\r\n\r\n @Prop() sliceRef?: HTMLWmChartSliceElement;\r\n @Prop() popoverTitle?: string;\r\n @Prop() popoverText?: string;\r\n @Prop() buttonText?: string;\r\n @Prop({ mutable: true }) open: boolean = false;\r\n @Prop() coords: { x?: number; y?: number } = {};\r\n private popoverWidth: number = 168;\r\n\r\n private popoverClicked = false;\r\n\r\n @Listen(\"click\", { capture: false, target: \"document\" })\r\n handleClickOnDocument() {\r\n // because this listener is set document-wide, whenever something inside it is clicked\r\n // the event target returned will always be the host (wm-chart)\r\n // the element within wm-chart is determined by the other listener and saved as var popoverClicked for use here\r\n // capture = false in @Listen ensures order of execution\r\n this.open = this.popoverClicked;\r\n this.popoverClicked = false;\r\n }\r\n\r\n @Listen(\"click\", { capture: false })\r\n handleClick(ev: MouseEvent) {\r\n let popoverBtnClicked = false;\r\n if (this.btnEl) {\r\n popoverBtnClicked = ev.target === this.btnEl || this.btnEl.contains(ev.target as HTMLElement);\r\n }\r\n // if the click is on the popover (except the popover button),\r\n // set popoverClicked to true. It will be used by the other listener above\r\n this.popoverClicked = !popoverBtnClicked && (ev.target === this.el || this.el.contains(ev.target as HTMLElement));\r\n }\r\n\r\n handleButtonClick() {\r\n if (this.sliceRef) {\r\n this.sliceRef.click();\r\n this.eventToEmit.emit(this.sliceRef);\r\n }\r\n this.open = false;\r\n }\r\n\r\n renderLiveRegion() {\r\n if (this.liveRegion) {\r\n this.liveRegion.innerHTML = \"\";\r\n\r\n const wrapper = document.createElement(\"div\");\r\n\r\n const titleEl = document.createElement(\"span\");\r\n titleEl.innerHTML = this.popoverTitle + \" \" || \"\";\r\n wrapper.appendChild(titleEl);\r\n\r\n const textEl = document.createElement(\"span\");\r\n textEl.innerHTML = this.popoverText + \" \" || \"\";\r\n wrapper.appendChild(textEl);\r\n\r\n if (this.buttonText) {\r\n const buttonEl = document.createElement(\"span\");\r\n buttonEl.innerHTML =\r\n this.buttonText +\r\n \" \" +\r\n intl.formatMessage({\r\n id: \"chart.infoButton\",\r\n defaultMessage: \"Button. Click for more information.\",\r\n });\r\n wrapper.appendChild(buttonEl);\r\n }\r\n this.liveRegion.appendChild(wrapper);\r\n }\r\n }\r\n\r\n @Watch(\"coords\")\r\n positionPopover() {\r\n this.el!.style.top = this.coords.y + \"px\";\r\n if (window.innerWidth - this.coords.x! >= this.popoverWidth + 10) {\r\n this.el!.style.left = this.coords.x + \"px\"; // opens on the right\r\n } else {\r\n this.el!.style.left = this.coords.x! - this.popoverWidth + \"px\"; // opens on the left\r\n }\r\n }\r\n\r\n render() {\r\n const titleAffordance = this.popoverTitle && (this.popoverTitle[0] === \"-\" ? \"negative\" : this.popoverTitle[0] === \"+\" ? \"positive\" : \"\"); \r\n return (\r\n <Host>\r\n {!!this.open ? (\r\n <div aria-hidden=\"true\" class=\"popover\">\r\n <h1 class={`title ${titleAffordance}`}>{this.popoverTitle}</h1>\r\n <p class=\"text\">{this.popoverText}</p>\r\n {this.buttonText ? (\r\n // @ts-ignore\r\n <button\r\n tabindex=\"-1\"\r\n // @ts-ignore\r\n focusable=\"false\"\r\n ref={(el) => (this.btnEl = el as HTMLButtonElement)}\r\n class=\"popover-button\"\r\n onClick={() => this.handleButtonClick()}\r\n >\r\n <svg class=\"btn-icon\" height=\"9\" width=\"9\">\r\n <path fill=\"#575195\" d=\"M0 3.38v2.25h9V3.38H0zM0 0v2.25h4.5V0H0zm6.19 6.75H0V9h6.19V6.75z\" />\r\n </svg>\r\n <span class=\"button-text\">{this.buttonText}</span>\r\n </button>\r\n ) : (\r\n \"\"\r\n )}\r\n </div>\r\n ) : (\r\n \"\"\r\n )}\r\n <div\r\n ref={(el) => (this.liveRegion = el as HTMLDivElement)}\r\n class=\"live-region sr-only\"\r\n aria-live=\"polite\"\r\n aria-atomic=\"true\"\r\n >\r\n {this.open && this.renderLiveRegion()}\r\n </div>\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var __spreadArray=this&&this.__spreadArray||function(a,s,n){if(n||arguments.length===2)for(var r=0,i=s.length,t;r<i;r++){if(t||!(r in s)){if(!t)t=Array.prototype.slice.call(s,0,r);t[r]=s[r]}}return a.concat(t||Array.prototype.slice.call(s))};System.register(["./p-7b2fc615.system.js","./p-e782194d.system.js"],(function(a){"use strict";var s,n,r,i,t,e;return{setters:[function(a){s=a.r;n=a.c;r=a.h;i=a.g},function(a){t=a.i;e=a.g}],execute:function(){var o='.user-is-tabbing .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg .closesnack:focus:not(:active){-webkit-box-shadow:0 2px 2px 0 rgba(244, 243, 246, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.1), 0 0 4px 3px #c6b4e3;-moz-box-shadow:0 2px 2px 0 rgba(244, 243, 246, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.1), 0 0 4px 3px #c6b4e3;box-shadow:0 2px 2px 0 rgba(244, 243, 246, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.1), 0 0 4px 3px #c6b4e3;outline:none}:host *,wm-snackbar *{-webkit-box-sizing:border-box;box-sizing:border-box;margin:unset}:host .wm-snackbars,wm-snackbar .wm-snackbars{position:fixed;bottom:0;left:1.25rem;right:1.25rem;padding:0.25rem 0.625rem 1.875rem;z-index:2001;max-width:35.5rem;max-height:17.5rem;-webkit-overflow-scrolling:touch;overflow:auto}:host .wm-snackbars.empty,wm-snackbar .wm-snackbars.empty{-ms-transition:all 0.25s 0ms cubic-bezier(0.4, 0, 1, 1);-webkit-transition:all 0.25s 0ms cubic-bezier(0.4, 0, 1, 1);-moz-transition:all 0.25s 0ms cubic-bezier(0.4, 0, 1, 1);transition:all 0.25s 0ms cubic-bezier(0.4, 0, 1, 1);padding-top:0;padding-bottom:0}:host .wm-snackbars .wm-snack-wrapper,wm-snackbar .wm-snackbars .wm-snack-wrapper{width:100%;height:100%}:host .wm-snackbars .wm-snack-wrapper:not(:last-child),wm-snackbar .wm-snackbars .wm-snack-wrapper:not(:last-child){margin-bottom:1.25rem}:host .wm-snackbars .wm-snack-wrapper .wm-snackbar,wm-snackbar .wm-snackbars .wm-snack-wrapper .wm-snackbar{-webkit-box-shadow:0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 3px rgba(0, 0, 0, 0.12), 0 4px 15px 0 rgba(0, 0, 0, 0.2);-moz-box-shadow:0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 3px rgba(0, 0, 0, 0.12), 0 4px 15px 0 rgba(0, 0, 0, 0.2);box-shadow:0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 3px rgba(0, 0, 0, 0.12), 0 4px 15px 0 rgba(0, 0, 0, 0.2);display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-ms-transition:all 0.25s 0ms cubic-bezier(0.4, 0, 1, 1);-webkit-transition:all 0.25s 0ms cubic-bezier(0.4, 0, 1, 1);-moz-transition:all 0.25s 0ms cubic-bezier(0.4, 0, 1, 1);transition:all 0.25s 0ms cubic-bezier(0.4, 0, 1, 1);font-size:0.875rem;color:#fff;padding:0.9375rem 1.875rem;background:#4a4a4a;opacity:0;left:0;position:relative;font-family:inherit}:host .wm-snackbars .wm-snack-wrapper .wm-snackbar .link,wm-snackbar .wm-snackbars .wm-snack-wrapper .wm-snackbar .link{letter-spacing:0;text-transform:none;font-size:0.875rem;border:none;background:transparent;padding-left:0;padding-right:0;height:auto;border-radius:0;line-height:1;color:#85dadf;margin:0 3.125rem 0 0.625rem;text-decoration:none;font-weight:600;cursor:pointer}:host .wm-snackbars .wm-snack-wrapper .wm-snackbar .link.new-window::after,wm-snackbar .wm-snackbars .wm-snack-wrapper .wm-snackbar .link.new-window::after{display:inline-block;font:normal normal normal 24px/1 "Material Design Icons";font-size:inherit;text-rendering:auto;line-height:inherit;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:inline;content:"\\f137";margin-left:0.25rem}:host .wm-snackbars .wm-snack-wrapper .wm-snackbar .link:hover,wm-snackbar .wm-snackbars .wm-snack-wrapper .wm-snackbar .link:hover{text-decoration:underline}:host .wm-snackbars .wm-snack-wrapper .wm-snackbar .link:focus,wm-snackbar .wm-snackbars .wm-snack-wrapper .wm-snackbar .link:focus{outline:none;border:none}:host .wm-snackbars .wm-snack-wrapper .wm-snackbar .link::-moz-focus-inner,wm-snackbar .wm-snackbars .wm-snack-wrapper .wm-snackbar .link::-moz-focus-inner{border:0;outline:none}:host .wm-snackbars .wm-snack-wrapper .wm-snackbar:not(:last-child),wm-snackbar .wm-snackbars .wm-snack-wrapper .wm-snackbar:not(:last-child){margin-bottom:1.25rem}:host .wm-snackbars .wm-snack-wrapper .wm-snackbar.active:not(button),wm-snackbar .wm-snackbars .wm-snack-wrapper .wm-snackbar.active:not(button){opacity:1}:host .wm-snackbars .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg,wm-snackbar .wm-snackbars .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;width:100%;position:relative;padding:0}:host .wm-snackbars .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg .msgtext,wm-snackbar .wm-snackbars .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg .msgtext{width:100%}:host .wm-snackbars .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg .closesnack,wm-snackbar .wm-snackbars .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg .closesnack{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;-webkit-border-radius:50%;-moz-border-radius:50%;-ms-border-radius:50%;border-radius:50%;background-color:#3b3b3b;color:#ffffff;cursor:pointer;border:none;font-size:1rem;padding:0;height:auto;line-height:1;min-width:2.75rem;min-height:2.75rem;text-align:center;letter-spacing:normal}@media screen and (min-width: 48rem){:host .wm-snackbars .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg .closesnack,wm-snackbar .wm-snackbars .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg .closesnack{min-width:1.875rem;min-height:1.875rem}}:host .wm-snackbars .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg .closesnack:before,wm-snackbar .wm-snackbars .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg .closesnack:before{display:inline-block;font:normal normal normal 24px/1 "Material Design Icons";font-size:inherit;text-rendering:auto;line-height:inherit;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"\\f156"}:host .wm-snackbars .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg .closesnack:hover,wm-snackbar .wm-snackbars .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg .closesnack:hover{background-color:#fff;color:#4a4a4a}:host .wm-snackbars .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg .closesnack:focus,wm-snackbar .wm-snackbars .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg .closesnack:focus{outline:none}:host .wm-snackbars .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg .closesnack::-moz-focus-inner,wm-snackbar .wm-snackbars .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg .closesnack::-moz-focus-inner{border:0;outline:none}:host .wm-snackbars .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg .closesnack:active,wm-snackbar .wm-snackbars .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg .closesnack:active{-ms-transform:scale(0.9, 0.9);-webkit-transform:scale(0.9, 0.9);-moz-transform:scale(0.9, 0.9);transform:scale(0.9, 0.9)}:host .wm-snackbars .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg .closesnack>.tooltip,wm-snackbar .wm-snackbars .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg .closesnack>.tooltip{position:absolute;opacity:0;width:1px;height:1px;overflow:hidden;clip:rect(0, 0, 0, 0);font-size:0.875rem;text-transform:none;font-weight:normal;background:black;color:#fff;padding:0;line-height:normal;z-index:30}:host .wm-snackbars .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg .closesnack:hover>.tooltip,:host .wm-snackbars .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg .closesnack.user-is-tabbing:focus>.tooltip,wm-snackbar .wm-snackbars .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg .closesnack:hover>.tooltip,wm-snackbar .wm-snackbars .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg .closesnack.user-is-tabbing:focus>.tooltip{clip:auto;width:auto;height:auto;opacity:1;-webkit-transition:opacity 500ms 500ms;transition:opacity 500ms 500ms;padding:0.375rem;top:2.75rem;left:2.75rem;white-space:nowrap;-webkit-transform:translateX(-50%);transform:translateX(-50%)}@media screen and (min-width: 48rem){:host .wm-snackbars .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg .closesnack:hover>.tooltip,:host .wm-snackbars .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg .closesnack.user-is-tabbing:focus>.tooltip,wm-snackbar .wm-snackbars .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg .closesnack:hover>.tooltip,wm-snackbar .wm-snackbars .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg .closesnack.user-is-tabbing:focus>.tooltip{top:2.0625rem;left:auto}}:host .wm-snackbars .wm-snack-wrapper .wm-snackbar .sr-only,wm-snackbar .wm-snackbars .wm-snack-wrapper .wm-snackbar .sr-only{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;border:0 !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;-webkit-clip-path:inset(50%) !important;clip-path:inset(50%) !important;white-space:nowrap !important;margin:-1px !important;top:0;left:0}:host .sr-only,wm-snackbar .sr-only{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;border:0 !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;-webkit-clip-path:inset(50%) !important;clip-path:inset(50%) !important;white-space:nowrap !important;margin:-1px !important;top:0;left:0}.user-is-tabbing .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg .closesnack:focus:not(:active)>.tooltip{clip:auto;width:auto;height:auto;opacity:1;-webkit-transition:opacity 500ms 500ms;transition:opacity 500ms 500ms;padding:0.375rem;top:2.75rem;left:2.75rem;white-space:nowrap;-webkit-transform:translateX(-50%);transform:translateX(-50%)}@media screen and (min-width: 48rem){.user-is-tabbing .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg .closesnack:focus:not(:active)>.tooltip{top:2.0625rem;left:auto}}.user-is-tabbing .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg .link:focus:not(:active){outline:none;background:-webkit-gradient(linear, left top, right top, color-stop(66%, #85dadf), color-stop(0, transparent)) repeat-x;background:linear-gradient(90deg, #85dadf 66%, transparent 0) repeat-x;background-size:0.375rem 0.1875rem;background-position:0 1em;border-radius:0;line-height:normal}';var c=a("wm_snackbar",function(){function a(a){s(this,a);this.wmSnackbarSnackFinished=n(this,"wmSnackbarSnackFinished",7);this.userFinishedSnack=n(this,"userFinishedSnack",7);this.wmSnackbarActionTriggered=n(this,"wmSnackbarActionTriggered",7);this.userTriggeredAction=n(this,"userTriggeredAction",7);this.parsedNotifications=[];this.isTabbing=false;this.timers=[];this.newNotification=false;this.newWindowMessage=t.formatMessage({id:"global.newWindowLink",defaultMessage:"Opens in a new window."});this.notifications="[]"}a.prototype.updateSnacks=function(a){var s=this;var n=JSON.parse(a);var r=n.length;var i=this.parsedNotifications.length;this.parsedNotifications=[];for(var t=0;t<r;t++){var e={id:n[t].id.toString(),message:n[t].message.toString(),link:n[t].link.toString(),newWindow:!!n[t].newWindow};this.parsedNotifications=__spreadArray(__spreadArray([],this.parsedNotifications,true),[e],false)}if(i<this.parsedNotifications.length){var o=window.setTimeout((function(){return s.snackExpired()}),2e4);this.timers=__spreadArray([o],this.timers,true);this.storeElToFocusOnDismiss();this.newNotification=true}else{this.newNotification=false}};a.prototype.componentWillLoad=function(){this.uid=this.el.id?this.el.id:e()};a.prototype.componentDidUpdate=function(){this.isTabbing&&this.newNotification&&this.focusLinkAndDisableTimer();this.newNotification=false};a.prototype.checkForTabbing=function(a){if(a.key==="Tab"){this.toggleTabbingOn()}};a.prototype.handleMouse=function(){this.toggleTabbingOff()};a.prototype.focusLinkAndDisableTimer=function(){var a=this.parsedNotifications[0];if(a.link){var s=this.el.shadowRoot.querySelector("#action-".concat(a.id));s.focus();this.stopTimer(a)}};a.prototype.toggleTabbingOn=function(){this.isTabbing=true;this.snackbarEl&&this.snackbarEl.classList.add("user-is-tabbing")};a.prototype.toggleTabbingOff=function(){this.isTabbing=false;this.snackbarEl&&this.snackbarEl.classList.remove("user-is-tabbing")};a.prototype.storeElToFocusOnDismiss=function(){var a=document.activeElement;while(a&&a.shadowRoot){a=a.shadowRoot.activeElement}this.focusOnDismiss=a};a.prototype.snackDismissed=function(a){this.endSnack(a);a.link&&this.isTabbing&&this.focusOnDismiss.focus()};a.prototype.snackExpired=function(){var a=this.parsedNotifications[this.parsedNotifications.length-1];this.endSnack(a)};a.prototype.endSnack=function(a){this.stopTimer(a);this.wmSnackbarSnackFinished.emit({id:a.id,message:a.message,link:a.link,newWindow:a.newWindow});this.userFinishedSnack.emit({id:a.id,message:a.message,link:a.link})};a.prototype.snackLinkClicked=function(a){this.stopTimer(a);this.wmSnackbarActionTriggered.emit({id:a.id,message:a.message,link:a.link,newWindow:a.newWindow});this.userTriggeredAction.emit({id:a.id,message:a.message,link:a.link})};a.prototype.stopTimer=function(a){var s=this;this.parsedNotifications.forEach((function(n,r){if(n.id===a.id){clearTimeout(s.timers[r]);s.timers=s.timers.filter((function(a,s){if(s!==r){return a}}))}}))};a.prototype.renderSnackbars=function(){var a=this;return this.parsedNotifications.map((function(s){return r("div",{class:"wm-snack-wrapper"},r("div",{id:"snack-".concat(a.uid),class:"wm-snackbar active neutral"},r("div",{class:"sr-only",tabindex:s.link?0:-1,onFocus:function(){return s.link&&a.snackDismissed(s)}}),r("div",{class:"wm-snackbarmsg"},r("div",{class:"msgtext"},r("span",null,s.message),s.link&&r("a",{id:"action-".concat(s.id),class:"link ".concat(s.newWindow?"new-window":""),"aria-label":"Click to ".concat(s.link,"...").concat(s.newWindow?" "+a.newWindowMessage:""),tabindex:0,onClick:function(){a.snackLinkClicked(s)},onKeyDown:function(n){return n.key==="Enter"&&a.snackLinkClicked(s)}},r("span",{"aria-hidden":"true"},s.link))),r("button",{id:"close-button-".concat(s.id),"aria-label":"Close this notification",class:"closesnack",tabindex:s.link?0:-1,onClick:function(){return a.snackDismissed(s)}},r("span",{class:"tooltip","aria-hidden":"true"},"Close"))),r("div",{class:"sr-only",tabindex:s.link?0:-1,onFocus:function(){return s.link&&a.snackDismissed(s)}})))}))};a.prototype.renderLiveRegion=function(){var a=this.parsedNotifications[0];var s=this.isTabbing?"":a.link;var n="".concat(a.message," ").concat(s);var r=this.el.shadowRoot.querySelector("#wm-live-region-".concat(this.uid));if(r){r.innerHTML="";var i=document.createElement("span");i.innerHTML=n;r.appendChild(i)}};a.prototype.render=function(){var a=this;this.newNotification&&this.renderLiveRegion();var s=this.renderSnackbars();var n=this.parsedNotifications.length===0?"empty":"";return r("div",{ref:function(s){return a.snackbarEl=s},class:"wm-snackbars ".concat(n)},r("div",{class:"sr-only","aria-live":"polite","aria-atomic":"false",id:"wm-live-region-".concat(this.uid)}),s)};Object.defineProperty(a.prototype,"el",{get:function(){return i(this)},enumerable:false,configurable:true});Object.defineProperty(a,"watchers",{get:function(){return{notifications:["updateSnacks"]}},enumerable:false,configurable:true});return a}());c.style=o}}}));
|
|
2
|
-
//# sourceMappingURL=p-
|
|
1
|
+
var __spreadArray=this&&this.__spreadArray||function(a,s,n){if(n||arguments.length===2)for(var r=0,i=s.length,t;r<i;r++){if(t||!(r in s)){if(!t)t=Array.prototype.slice.call(s,0,r);t[r]=s[r]}}return a.concat(t||Array.prototype.slice.call(s))};System.register(["./p-7b2fc615.system.js","./p-f08e6a5a.system.js"],(function(a){"use strict";var s,n,r,i,t,e;return{setters:[function(a){s=a.r;n=a.c;r=a.h;i=a.g},function(a){t=a.i;e=a.g}],execute:function(){var o='.user-is-tabbing .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg .closesnack:focus:not(:active){-webkit-box-shadow:0 2px 2px 0 rgba(244, 243, 246, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.1), 0 0 4px 3px #c6b4e3;-moz-box-shadow:0 2px 2px 0 rgba(244, 243, 246, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.1), 0 0 4px 3px #c6b4e3;box-shadow:0 2px 2px 0 rgba(244, 243, 246, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.1), 0 0 4px 3px #c6b4e3;outline:none}:host *,wm-snackbar *{-webkit-box-sizing:border-box;box-sizing:border-box;margin:unset}:host .wm-snackbars,wm-snackbar .wm-snackbars{position:fixed;bottom:0;left:1.25rem;right:1.25rem;padding:0.25rem 0.625rem 1.875rem;z-index:2001;max-width:35.5rem;max-height:17.5rem;-webkit-overflow-scrolling:touch;overflow:auto}:host .wm-snackbars.empty,wm-snackbar .wm-snackbars.empty{-ms-transition:all 0.25s 0ms cubic-bezier(0.4, 0, 1, 1);-webkit-transition:all 0.25s 0ms cubic-bezier(0.4, 0, 1, 1);-moz-transition:all 0.25s 0ms cubic-bezier(0.4, 0, 1, 1);transition:all 0.25s 0ms cubic-bezier(0.4, 0, 1, 1);padding-top:0;padding-bottom:0}:host .wm-snackbars .wm-snack-wrapper,wm-snackbar .wm-snackbars .wm-snack-wrapper{width:100%;height:100%}:host .wm-snackbars .wm-snack-wrapper:not(:last-child),wm-snackbar .wm-snackbars .wm-snack-wrapper:not(:last-child){margin-bottom:1.25rem}:host .wm-snackbars .wm-snack-wrapper .wm-snackbar,wm-snackbar .wm-snackbars .wm-snack-wrapper .wm-snackbar{-webkit-box-shadow:0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 3px rgba(0, 0, 0, 0.12), 0 4px 15px 0 rgba(0, 0, 0, 0.2);-moz-box-shadow:0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 3px rgba(0, 0, 0, 0.12), 0 4px 15px 0 rgba(0, 0, 0, 0.2);box-shadow:0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 3px rgba(0, 0, 0, 0.12), 0 4px 15px 0 rgba(0, 0, 0, 0.2);display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-ms-transition:all 0.25s 0ms cubic-bezier(0.4, 0, 1, 1);-webkit-transition:all 0.25s 0ms cubic-bezier(0.4, 0, 1, 1);-moz-transition:all 0.25s 0ms cubic-bezier(0.4, 0, 1, 1);transition:all 0.25s 0ms cubic-bezier(0.4, 0, 1, 1);font-size:0.875rem;color:#fff;padding:0.9375rem 1.875rem;background:#4a4a4a;opacity:0;left:0;position:relative;font-family:inherit}:host .wm-snackbars .wm-snack-wrapper .wm-snackbar .link,wm-snackbar .wm-snackbars .wm-snack-wrapper .wm-snackbar .link{letter-spacing:0;text-transform:none;font-size:0.875rem;border:none;background:transparent;padding-left:0;padding-right:0;height:auto;border-radius:0;line-height:1;color:#85dadf;margin:0 3.125rem 0 0.625rem;text-decoration:none;font-weight:600;cursor:pointer}:host .wm-snackbars .wm-snack-wrapper .wm-snackbar .link.new-window::after,wm-snackbar .wm-snackbars .wm-snack-wrapper .wm-snackbar .link.new-window::after{display:inline-block;font:normal normal normal 24px/1 "Material Design Icons";font-size:inherit;text-rendering:auto;line-height:inherit;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:inline;content:"\\f137";margin-left:0.25rem}:host .wm-snackbars .wm-snack-wrapper .wm-snackbar .link:hover,wm-snackbar .wm-snackbars .wm-snack-wrapper .wm-snackbar .link:hover{text-decoration:underline}:host .wm-snackbars .wm-snack-wrapper .wm-snackbar .link:focus,wm-snackbar .wm-snackbars .wm-snack-wrapper .wm-snackbar .link:focus{outline:none;border:none}:host .wm-snackbars .wm-snack-wrapper .wm-snackbar .link::-moz-focus-inner,wm-snackbar .wm-snackbars .wm-snack-wrapper .wm-snackbar .link::-moz-focus-inner{border:0;outline:none}:host .wm-snackbars .wm-snack-wrapper .wm-snackbar:not(:last-child),wm-snackbar .wm-snackbars .wm-snack-wrapper .wm-snackbar:not(:last-child){margin-bottom:1.25rem}:host .wm-snackbars .wm-snack-wrapper .wm-snackbar.active:not(button),wm-snackbar .wm-snackbars .wm-snack-wrapper .wm-snackbar.active:not(button){opacity:1}:host .wm-snackbars .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg,wm-snackbar .wm-snackbars .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;width:100%;position:relative;padding:0}:host .wm-snackbars .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg .msgtext,wm-snackbar .wm-snackbars .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg .msgtext{width:100%}:host .wm-snackbars .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg .closesnack,wm-snackbar .wm-snackbars .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg .closesnack{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;-webkit-border-radius:50%;-moz-border-radius:50%;-ms-border-radius:50%;border-radius:50%;background-color:#3b3b3b;color:#ffffff;cursor:pointer;border:none;font-size:1rem;padding:0;height:auto;line-height:1;min-width:2.75rem;min-height:2.75rem;text-align:center;letter-spacing:normal}@media screen and (min-width: 48rem){:host .wm-snackbars .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg .closesnack,wm-snackbar .wm-snackbars .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg .closesnack{min-width:1.875rem;min-height:1.875rem}}:host .wm-snackbars .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg .closesnack:before,wm-snackbar .wm-snackbars .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg .closesnack:before{display:inline-block;font:normal normal normal 24px/1 "Material Design Icons";font-size:inherit;text-rendering:auto;line-height:inherit;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"\\f156"}:host .wm-snackbars .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg .closesnack:hover,wm-snackbar .wm-snackbars .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg .closesnack:hover{background-color:#fff;color:#4a4a4a}:host .wm-snackbars .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg .closesnack:focus,wm-snackbar .wm-snackbars .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg .closesnack:focus{outline:none}:host .wm-snackbars .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg .closesnack::-moz-focus-inner,wm-snackbar .wm-snackbars .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg .closesnack::-moz-focus-inner{border:0;outline:none}:host .wm-snackbars .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg .closesnack:active,wm-snackbar .wm-snackbars .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg .closesnack:active{-ms-transform:scale(0.9, 0.9);-webkit-transform:scale(0.9, 0.9);-moz-transform:scale(0.9, 0.9);transform:scale(0.9, 0.9)}:host .wm-snackbars .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg .closesnack>.tooltip,wm-snackbar .wm-snackbars .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg .closesnack>.tooltip{position:absolute;opacity:0;width:1px;height:1px;overflow:hidden;clip:rect(0, 0, 0, 0);font-size:0.875rem;text-transform:none;font-weight:normal;background:black;color:#fff;padding:0;line-height:normal;z-index:30}:host .wm-snackbars .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg .closesnack:hover>.tooltip,:host .wm-snackbars .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg .closesnack.user-is-tabbing:focus>.tooltip,wm-snackbar .wm-snackbars .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg .closesnack:hover>.tooltip,wm-snackbar .wm-snackbars .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg .closesnack.user-is-tabbing:focus>.tooltip{clip:auto;width:auto;height:auto;opacity:1;-webkit-transition:opacity 500ms 500ms;transition:opacity 500ms 500ms;padding:0.375rem;top:2.75rem;left:2.75rem;white-space:nowrap;-webkit-transform:translateX(-50%);transform:translateX(-50%)}@media screen and (min-width: 48rem){:host .wm-snackbars .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg .closesnack:hover>.tooltip,:host .wm-snackbars .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg .closesnack.user-is-tabbing:focus>.tooltip,wm-snackbar .wm-snackbars .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg .closesnack:hover>.tooltip,wm-snackbar .wm-snackbars .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg .closesnack.user-is-tabbing:focus>.tooltip{top:2.0625rem;left:auto}}:host .wm-snackbars .wm-snack-wrapper .wm-snackbar .sr-only,wm-snackbar .wm-snackbars .wm-snack-wrapper .wm-snackbar .sr-only{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;border:0 !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;-webkit-clip-path:inset(50%) !important;clip-path:inset(50%) !important;white-space:nowrap !important;margin:-1px !important;top:0;left:0}:host .sr-only,wm-snackbar .sr-only{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;border:0 !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;-webkit-clip-path:inset(50%) !important;clip-path:inset(50%) !important;white-space:nowrap !important;margin:-1px !important;top:0;left:0}.user-is-tabbing .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg .closesnack:focus:not(:active)>.tooltip{clip:auto;width:auto;height:auto;opacity:1;-webkit-transition:opacity 500ms 500ms;transition:opacity 500ms 500ms;padding:0.375rem;top:2.75rem;left:2.75rem;white-space:nowrap;-webkit-transform:translateX(-50%);transform:translateX(-50%)}@media screen and (min-width: 48rem){.user-is-tabbing .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg .closesnack:focus:not(:active)>.tooltip{top:2.0625rem;left:auto}}.user-is-tabbing .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg .link:focus:not(:active){outline:none;background:-webkit-gradient(linear, left top, right top, color-stop(66%, #85dadf), color-stop(0, transparent)) repeat-x;background:linear-gradient(90deg, #85dadf 66%, transparent 0) repeat-x;background-size:0.375rem 0.1875rem;background-position:0 1em;border-radius:0;line-height:normal}';var c=a("wm_snackbar",function(){function a(a){s(this,a);this.wmSnackbarSnackFinished=n(this,"wmSnackbarSnackFinished",7);this.userFinishedSnack=n(this,"userFinishedSnack",7);this.wmSnackbarActionTriggered=n(this,"wmSnackbarActionTriggered",7);this.userTriggeredAction=n(this,"userTriggeredAction",7);this.parsedNotifications=[];this.isTabbing=false;this.timers=[];this.newNotification=false;this.newWindowMessage=t.formatMessage({id:"global.newWindowLink",defaultMessage:"Opens in a new window."});this.notifications="[]"}a.prototype.updateSnacks=function(a){var s=this;var n=JSON.parse(a);var r=n.length;var i=this.parsedNotifications.length;this.parsedNotifications=[];for(var t=0;t<r;t++){var e={id:n[t].id.toString(),message:n[t].message.toString(),link:n[t].link.toString(),newWindow:!!n[t].newWindow};this.parsedNotifications=__spreadArray(__spreadArray([],this.parsedNotifications,true),[e],false)}if(i<this.parsedNotifications.length){var o=window.setTimeout((function(){return s.snackExpired()}),2e4);this.timers=__spreadArray([o],this.timers,true);this.storeElToFocusOnDismiss();this.newNotification=true}else{this.newNotification=false}};a.prototype.componentWillLoad=function(){this.uid=this.el.id?this.el.id:e()};a.prototype.componentDidUpdate=function(){this.isTabbing&&this.newNotification&&this.focusLinkAndDisableTimer();this.newNotification=false};a.prototype.checkForTabbing=function(a){if(a.key==="Tab"){this.toggleTabbingOn()}};a.prototype.handleMouse=function(){this.toggleTabbingOff()};a.prototype.focusLinkAndDisableTimer=function(){var a=this.parsedNotifications[0];if(a.link){var s=this.el.shadowRoot.querySelector("#action-".concat(a.id));s.focus();this.stopTimer(a)}};a.prototype.toggleTabbingOn=function(){this.isTabbing=true;this.snackbarEl&&this.snackbarEl.classList.add("user-is-tabbing")};a.prototype.toggleTabbingOff=function(){this.isTabbing=false;this.snackbarEl&&this.snackbarEl.classList.remove("user-is-tabbing")};a.prototype.storeElToFocusOnDismiss=function(){var a=document.activeElement;while(a&&a.shadowRoot){a=a.shadowRoot.activeElement}this.focusOnDismiss=a};a.prototype.snackDismissed=function(a){this.endSnack(a);a.link&&this.isTabbing&&this.focusOnDismiss.focus()};a.prototype.snackExpired=function(){var a=this.parsedNotifications[this.parsedNotifications.length-1];this.endSnack(a)};a.prototype.endSnack=function(a){this.stopTimer(a);this.wmSnackbarSnackFinished.emit({id:a.id,message:a.message,link:a.link,newWindow:a.newWindow});this.userFinishedSnack.emit({id:a.id,message:a.message,link:a.link})};a.prototype.snackLinkClicked=function(a){this.stopTimer(a);this.wmSnackbarActionTriggered.emit({id:a.id,message:a.message,link:a.link,newWindow:a.newWindow});this.userTriggeredAction.emit({id:a.id,message:a.message,link:a.link})};a.prototype.stopTimer=function(a){var s=this;this.parsedNotifications.forEach((function(n,r){if(n.id===a.id){clearTimeout(s.timers[r]);s.timers=s.timers.filter((function(a,s){if(s!==r){return a}}))}}))};a.prototype.renderSnackbars=function(){var a=this;return this.parsedNotifications.map((function(s){return r("div",{class:"wm-snack-wrapper"},r("div",{id:"snack-".concat(a.uid),class:"wm-snackbar active neutral"},r("div",{class:"sr-only",tabindex:s.link?0:-1,onFocus:function(){return s.link&&a.snackDismissed(s)}}),r("div",{class:"wm-snackbarmsg"},r("div",{class:"msgtext"},r("span",null,s.message),s.link&&r("a",{id:"action-".concat(s.id),class:"link ".concat(s.newWindow?"new-window":""),"aria-label":"Click to ".concat(s.link,"...").concat(s.newWindow?" "+a.newWindowMessage:""),tabindex:0,onClick:function(){a.snackLinkClicked(s)},onKeyDown:function(n){return n.key==="Enter"&&a.snackLinkClicked(s)}},r("span",{"aria-hidden":"true"},s.link))),r("button",{id:"close-button-".concat(s.id),"aria-label":"Close this notification",class:"closesnack",tabindex:s.link?0:-1,onClick:function(){return a.snackDismissed(s)}},r("span",{class:"tooltip","aria-hidden":"true"},"Close"))),r("div",{class:"sr-only",tabindex:s.link?0:-1,onFocus:function(){return s.link&&a.snackDismissed(s)}})))}))};a.prototype.renderLiveRegion=function(){var a=this.parsedNotifications[0];var s=this.isTabbing?"":a.link;var n="".concat(a.message," ").concat(s);var r=this.el.shadowRoot.querySelector("#wm-live-region-".concat(this.uid));if(r){r.innerHTML="";var i=document.createElement("span");i.innerHTML=n;r.appendChild(i)}};a.prototype.render=function(){var a=this;this.newNotification&&this.renderLiveRegion();var s=this.renderSnackbars();var n=this.parsedNotifications.length===0?"empty":"";return r("div",{ref:function(s){return a.snackbarEl=s},class:"wm-snackbars ".concat(n)},r("div",{class:"sr-only","aria-live":"polite","aria-atomic":"false",id:"wm-live-region-".concat(this.uid)}),s)};Object.defineProperty(a.prototype,"el",{get:function(){return i(this)},enumerable:false,configurable:true});Object.defineProperty(a,"watchers",{get:function(){return{notifications:["updateSnacks"]}},enumerable:false,configurable:true});return a}());c.style=o}}}));
|
|
2
|
+
//# sourceMappingURL=p-eb64d16a.system.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["wmSnackbarCss","Snackbar","exports","this","parsedNotifications","isTabbing","timers","newNotification","newWindowMessage","intl","formatMessage","id","defaultMessage","class_1","prototype","updateSnacks","newValue","_this","parsedData","JSON","parse","length","prevNotificationsLength","i","toString","message","link","newWindow","__spreadArray","newTimer","window","setTimeout","snackExpired","storeElToFocusOnDismiss","componentWillLoad","uid","el","generateId","componentDidUpdate","focusLinkAndDisableTimer","checkForTabbing","ev","key","toggleTabbingOn","handleMouse","toggleTabbingOff","latestNotification","shadowRoot","querySelector","concat","focus","stopTimer","snackbarEl","classList","add","remove","triggeringButton","document","activeElement","focusOnDismiss","snackDismissed","notification","endSnack","wmSnackbarSnackFinished","emit","userFinishedSnack","snackLinkClicked","wmSnackbarActionTriggered","userTriggeredAction","forEach","notif","index","clearTimeout","filter","timer","ind","renderSnackbars","map","h","class","tabindex","onFocus","onClick","onKeyDown","renderLiveRegion","srAnnouncement","region","innerHTML","wrapper","createElement","appendChild","render","snackbars","wrappingClass","ref"],"sources":["src/components/wm-snackbar/wm-snackbar.scss?tag=wm-snackbar&encapsulation=shadow","src/components/wm-snackbar/wm-snackbar.tsx"],"sourcesContent":[":host,\r\nwm-snackbar {\r\n * {\r\n box-sizing: border-box;\r\n margin: unset; //Edge\r\n }\r\n\r\n .wm-snackbars {\r\n position: fixed;\r\n bottom: rem-calc(0);\r\n left: rem-calc(20);\r\n right: rem-calc(20);\r\n padding: rem-calc(4 10 30);\r\n z-index: 2001;\r\n max-width: rem-calc(568);\r\n max-height: rem-calc(280);\r\n -webkit-overflow-scrolling: touch;\r\n overflow: auto;\r\n\r\n &.empty {\r\n @include transition(all 0.25s 0ms cubic-bezier(0.4, 0, 1, 1));\r\n padding-top: 0;\r\n padding-bottom: 0;\r\n }\r\n\r\n .wm-snack-wrapper {\r\n width: 100%;\r\n height: 100%;\r\n\r\n &:not(:last-child) {\r\n margin-bottom: rem-calc(20);\r\n }\r\n\r\n .wm-snackbar {\r\n @include shadow8;\r\n @include displayFlex;\r\n @include alignItems(center);\r\n @include transition(all 0.25s 0ms cubic-bezier(0.4, 0, 1, 1));\r\n font-size: rem-calc(14);\r\n color: #fff;\r\n padding: rem-calc(15 30);\r\n background: #4a4a4a;\r\n opacity: 0;\r\n left: 0;\r\n position: relative;\r\n font-family: inherit;\r\n\r\n .link {\r\n letter-spacing: 0;\r\n text-transform: none;\r\n font-size: rem-calc(14);\r\n border: none;\r\n background: transparent;\r\n padding-left: 0;\r\n padding-right: 0;\r\n height: auto;\r\n border-radius: 0;\r\n line-height: 1;\r\n color: $snackbar-link-color;\r\n margin: rem-calc(0 50 0 10);\r\n text-decoration: none;\r\n font-weight: 600;\r\n cursor: pointer;\r\n\r\n &.new-window::after {\r\n @include mdi-icon;\r\n display: inline;\r\n content: \"\\f137\";\r\n margin-left: rem-calc(4);\r\n }\r\n\r\n &:hover {\r\n text-decoration: underline;\r\n }\r\n\r\n &:focus {\r\n outline: none;\r\n border: none;\r\n }\r\n\r\n &::-moz-focus-inner {\r\n border: 0;\r\n outline: none;\r\n }\r\n }\r\n\r\n &:not(:last-child) {\r\n margin-bottom: rem-calc(20);\r\n }\r\n\r\n &.active:not(button) {\r\n opacity: 1;\r\n }\r\n\r\n .wm-snackbarmsg {\r\n @include displayFlex;\r\n @include justifyContent(space-between);\r\n @include alignItems(center);\r\n // font-size: rem-calc(14);\r\n width: 100%;\r\n position: relative;\r\n padding: 0;\r\n\r\n .msgtext {\r\n width: 100%;\r\n }\r\n\r\n .closesnack {\r\n @include box-shadow(none);\r\n @include border-radius(50%);\r\n background-color: #3b3b3b;\r\n color: #ffffff;\r\n cursor: pointer;\r\n border: none;\r\n font-size: rem-calc(16);\r\n padding: 0;\r\n height: auto;\r\n line-height: 1;\r\n min-width: rem-calc(44);\r\n min-height: rem-calc(44);\r\n text-align: center;\r\n letter-spacing: normal;\r\n\r\n @media screen and (min-width: rem-calc(768)) {\r\n min-width: rem-calc(30);\r\n min-height: rem-calc(30);\r\n }\r\n\r\n &:before {\r\n @include mdi-icon;\r\n content: \"\\f156\";\r\n }\r\n\r\n &:hover {\r\n background-color: #fff;\r\n color: $snackbar-color;\r\n }\r\n\r\n &:focus {\r\n outline: none;\r\n }\r\n\r\n &::-moz-focus-inner {\r\n border: 0;\r\n outline: none;\r\n }\r\n\r\n &:active {\r\n @include scale($xVal: 0.9, $yVal: 0.9);\r\n }\r\n\r\n > .tooltip {\r\n position: absolute;\r\n opacity: 0;\r\n width: 1px;\r\n height: 1px;\r\n overflow: hidden;\r\n clip: rect(0, 0, 0, 0);\r\n font-size: rem-calc(14);\r\n text-transform: none;\r\n font-weight: normal;\r\n background: black;\r\n color: #fff;\r\n padding: 0;\r\n line-height: normal;\r\n z-index: 30;\r\n }\r\n\r\n &:hover > .tooltip,\r\n &.user-is-tabbing:focus > .tooltip {\r\n clip: auto;\r\n width: auto;\r\n height: auto;\r\n opacity: 1;\r\n transition: opacity 500ms 500ms;\r\n padding: rem-calc(6);\r\n top: rem-calc(44);\r\n left: rem-calc(44);\r\n white-space: nowrap;\r\n transform: translateX(-50%);\r\n @media screen and (min-width: rem-calc(768)) {\r\n top: rem-calc(33);\r\n left: auto;\r\n }\r\n }\r\n }\r\n }\r\n\r\n .sr-only {\r\n @include srOnly;\r\n top: 0;\r\n left: 0;\r\n }\r\n }\r\n }\r\n }\r\n .sr-only {\r\n @include srOnly;\r\n top: 0;\r\n left: 0;\r\n }\r\n}\r\n.user-is-tabbing .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg .closesnack:focus:not(:active) {\r\n @extend %focus-on-dark;\r\n\r\n > .tooltip {\r\n clip: auto;\r\n width: auto;\r\n height: auto;\r\n opacity: 1;\r\n transition: opacity 500ms 500ms;\r\n padding: rem-calc(6);\r\n top: rem-calc(44);\r\n left: rem-calc(44);\r\n white-space: nowrap;\r\n transform: translateX(-50%);\r\n @media screen and (min-width: rem-calc(768)) {\r\n top: rem-calc(33);\r\n left: auto;\r\n }\r\n }\r\n}\r\n\r\n.user-is-tabbing .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg .link:focus:not(:active) {\r\n outline: none;\r\n background: linear-gradient(90deg, $snackbar-link-color 66%, transparent 0) repeat-x;\r\n background-size: rem-calc(6px 3px);\r\n background-position: 0 1em;\r\n border-radius: 0;\r\n line-height: normal;\r\n}\r\n","import { h, Component, Element, Prop, Event, EventEmitter, Watch, Listen } from \"@stencil/core\";\r\nimport { generateId, intl } from \"../../global/functions\";\r\nimport { Notification } from \"../../global/interfaces\";\r\n@Component({\r\n tag: \"wm-snackbar\",\r\n styleUrl: \"wm-snackbar.scss\",\r\n shadow: true,\r\n})\r\nexport class Snackbar {\r\n @Element() el!: HTMLElement;\r\n //Prop receives notifications as JSON string, which is later parsed into an array of objects.\r\n @Prop({ mutable: true, reflect: true }) notifications: string = \"[]\";\r\n\r\n private parsedNotifications: Array<Notification> = []; //Holds the parsed array\r\n private uid!: string;\r\n private focusOnDismiss!: HTMLElement;\r\n private isTabbing: boolean = false; //For screenreader purposes, to ensure link receives focus even after screenreader interprets \"enter\" as a \"click\"\r\n private timers: Array<number> = [];\r\n private newNotification: boolean = false;\r\n private snackbarEl!: HTMLDivElement;\r\n private newWindowMessage = intl.formatMessage({\r\n id: \"global.newWindowLink\",\r\n defaultMessage: \"Opens in a new window.\",\r\n });\r\n\r\n @Event() wmSnackbarSnackFinished!: EventEmitter<Object>;\r\n @Event() userFinishedSnack!: EventEmitter<Object>; // deprecated in favor of wmSnackbarSnackFinished\r\n @Event() wmSnackbarActionTriggered!: EventEmitter<Object>;\r\n @Event() userTriggeredAction!: EventEmitter<Object>; // deprecated in favor of wmSnackbarActionTriggered\r\n\r\n @Watch(\"notifications\")\r\n updateSnacks(newValue: string) {\r\n const parsedData = JSON.parse(newValue);\r\n const length = parsedData.length;\r\n const prevNotificationsLength = this.parsedNotifications.length;\r\n this.parsedNotifications = [];\r\n\r\n //Parse notifications received as props and store a reference to them\r\n for (let i = 0; i < length; i++) {\r\n let newNotification: any = {\r\n id: parsedData[i].id.toString(),\r\n message: parsedData[i].message.toString(),\r\n link: parsedData[i].link.toString(),\r\n newWindow: !!parsedData[i].newWindow,\r\n };\r\n this.parsedNotifications = [...this.parsedNotifications, newNotification];\r\n }\r\n\r\n //If a new notification was added, set a timer and store a reference to the current active element so that if focus must move to the notification, it can return the user where they were once they dismiss the notification.\r\n if (prevNotificationsLength < this.parsedNotifications.length) {\r\n const newTimer = window.setTimeout(() => this.snackExpired(), 20000);\r\n this.timers = [newTimer, ...this.timers];\r\n this.storeElToFocusOnDismiss();\r\n this.newNotification = true;\r\n } else {\r\n this.newNotification = false;\r\n }\r\n }\r\n\r\n componentWillLoad() {\r\n this.uid = this.el.id ? this.el.id : generateId();\r\n }\r\n\r\n //A change in the notificaiton prop will trigger the update function. The update's only role is to determine how focus should be managed when a notification is added.\r\n componentDidUpdate() {\r\n //If the user is tabbing and there's a new notification, focus the link and disable timer.\r\n this.isTabbing && this.newNotification && this.focusLinkAndDisableTimer();\r\n this.newNotification = false;\r\n }\r\n\r\n @Listen(\"keydown\", { target: \"document\" })\r\n checkForTabbing(ev: KeyboardEvent) {\r\n if (ev.key === \"Tab\") {\r\n this.toggleTabbingOn();\r\n }\r\n }\r\n\r\n //Workaround for screenreader's triggering click event on \"enter\".\r\n @Listen(\"mouseover\", { target: \"document\" })\r\n handleMouse() {\r\n this.toggleTabbingOff();\r\n }\r\n\r\n focusLinkAndDisableTimer() {\r\n //If the new notification has a link, focus the link and clear the timeout. This is for accessibility purposes, for keyboard/screenreader users.\r\n const latestNotification = this.parsedNotifications[0];\r\n\r\n if (latestNotification.link) {\r\n let link = this.el.shadowRoot!.querySelector(`#action-${latestNotification.id}`) as HTMLAnchorElement;\r\n link.focus();\r\n this.stopTimer(latestNotification);\r\n }\r\n }\r\n\r\n toggleTabbingOn() {\r\n this.isTabbing = true;\r\n this.snackbarEl && this.snackbarEl.classList.add(\"user-is-tabbing\");\r\n }\r\n\r\n toggleTabbingOff() {\r\n this.isTabbing = false;\r\n this.snackbarEl && this.snackbarEl.classList.remove(\"user-is-tabbing\");\r\n }\r\n\r\n storeElToFocusOnDismiss() {\r\n let triggeringButton = document.activeElement! as HTMLElement;\r\n while (triggeringButton && triggeringButton.shadowRoot) {\r\n triggeringButton = triggeringButton.shadowRoot.activeElement as HTMLButtonElement;\r\n }\r\n this.focusOnDismiss = triggeringButton;\r\n }\r\n\r\n snackDismissed(notification: Notification) {\r\n this.endSnack(notification);\r\n //Focus should only be returned if it was moved in the first place, i.e., there was a link and the user was tabbing. Otherwise, for a mouse user, the user's focus would jump back to the triggering element.\r\n notification.link && this.isTabbing && this.focusOnDismiss.focus();\r\n }\r\n\r\n //Remove snack from notification list once timer runs out\r\n snackExpired() {\r\n const notification = this.parsedNotifications[this.parsedNotifications.length - 1];\r\n this.endSnack(notification);\r\n }\r\n\r\n endSnack(notification: Notification) {\r\n //App listens for userFinishedSnack event and deletes the emitted notification.\r\n this.stopTimer(notification);\r\n this.wmSnackbarSnackFinished.emit({\r\n id: notification.id,\r\n message: notification.message,\r\n link: notification.link,\r\n newWindow: notification.newWindow,\r\n });\r\n // deprecated\r\n this.userFinishedSnack.emit({\r\n id: notification.id,\r\n message: notification.message,\r\n link: notification.link,\r\n });\r\n }\r\n\r\n snackLinkClicked(notification: Notification) {\r\n //App listens for userTriggeredAction event, deletes emitted notification, and takes over focus.\r\n this.stopTimer(notification);\r\n this.wmSnackbarActionTriggered.emit({\r\n id: notification.id,\r\n message: notification.message,\r\n link: notification.link,\r\n newWindow: notification.newWindow,\r\n });\r\n // deprecated\r\n this.userTriggeredAction.emit({\r\n id: notification.id,\r\n message: notification.message,\r\n link: notification.link,\r\n });\r\n }\r\n\r\n //Delete the timer corresponding to the dismissed notification\r\n stopTimer(notification: Notification) {\r\n this.parsedNotifications.forEach((notif, index) => {\r\n if (notif.id === notification.id) {\r\n clearTimeout(this.timers[index]);\r\n this.timers = this.timers.filter((timer, ind) => {\r\n if (ind !== index) {\r\n return timer;\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n renderSnackbars() {\r\n return this.parsedNotifications.map((notification) => (\r\n <div class=\"wm-snack-wrapper\">\r\n <div id={`snack-${this.uid}`} class=\"wm-snackbar active neutral\">\r\n <div\r\n class=\"sr-only\"\r\n tabindex={notification.link ? 0 : -1}\r\n onFocus={() => notification.link && this.snackDismissed(notification)}\r\n />\r\n\r\n <div class=\"wm-snackbarmsg\">\r\n <div class=\"msgtext\">\r\n <span>{notification.message}</span>\r\n {notification.link && (\r\n <a\r\n id={`action-${notification.id}`}\r\n class={`link ${notification.newWindow ? \"new-window\" : \"\"}`}\r\n aria-label={`Click to ${notification.link}...${\r\n notification.newWindow ? \" \" + this.newWindowMessage : \"\"\r\n }`}\r\n tabindex={0}\r\n onClick={() => {\r\n this.snackLinkClicked(notification);\r\n }}\r\n onKeyDown={(ev: KeyboardEvent) => ev.key === \"Enter\" && this.snackLinkClicked(notification)}\r\n >\r\n <span aria-hidden=\"true\">{notification.link}</span>\r\n </a>\r\n )}\r\n </div>\r\n <button\r\n id={`close-button-${notification.id}`}\r\n aria-label=\"Close this notification\"\r\n class=\"closesnack\"\r\n tabindex={notification.link ? 0 : -1}\r\n onClick={() => this.snackDismissed(notification)}\r\n >\r\n <span class=\"tooltip\" aria-hidden=\"true\">\r\n Close\r\n </span>\r\n </button>\r\n </div>\r\n <div\r\n class=\"sr-only\"\r\n tabindex={notification.link ? 0 : -1}\r\n onFocus={() => notification.link && this.snackDismissed(notification)}\r\n />\r\n </div>\r\n </div>\r\n ));\r\n }\r\n\r\n renderLiveRegion() {\r\n const latestNotification = this.parsedNotifications[0];\r\n const link = this.isTabbing ? \"\" : latestNotification.link;\r\n const srAnnouncement = `${latestNotification.message} ${link}`;\r\n\r\n const region = this.el.shadowRoot!.querySelector(`#wm-live-region-${this.uid}`) as HTMLElement;\r\n\r\n if (region) {\r\n region.innerHTML = \"\";\r\n const wrapper = document.createElement(\"span\");\r\n wrapper.innerHTML = srAnnouncement;\r\n region.appendChild(wrapper);\r\n }\r\n }\r\n\r\n render() {\r\n this.newNotification && this.renderLiveRegion();\r\n const snackbars = this.renderSnackbars();\r\n const wrappingClass = this.parsedNotifications.length === 0 ? \"empty\" : \"\";\r\n\r\n return (\r\n <div ref={(el) => (this.snackbarEl = el as HTMLDivElement)} class={`wm-snackbars ${wrappingClass}`}>\r\n <div class=\"sr-only\" aria-live=\"polite\" aria-atomic=\"false\" id={`wm-live-region-${this.uid}`}></div>\r\n {snackbars}\r\n </div>\r\n );\r\n }\r\n}\r\n"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var __awaiter=this&&this.__awaiter||function(e,t,s,i){function r(e){return e instanceof s?e:new s((function(t){t(e)}))}return new(s||(s=Promise))((function(s,n){function o(e){try{l(i.next(e))}catch(e){n(e)}}function a(e){try{l(i["throw"](e))}catch(e){n(e)}}function l(e){e.done?s(e.value):r(e.value).then(o,a)}l((i=i.apply(e,t||[])).next())}))};var __generator=this&&this.__generator||function(e,t){var s={label:0,sent:function(){if(n[0]&1)throw n[1];return n[1]},trys:[],ops:[]},i,r,n,o;return o={next:a(0),throw:a(1),return:a(2)},typeof Symbol==="function"&&(o[Symbol.iterator]=function(){return this}),o;function a(e){return function(t){return l([e,t])}}function l(a){if(i)throw new TypeError("Generator is already executing.");while(o&&(o=0,a[0]&&(s=0)),s)try{if(i=1,r&&(n=a[0]&2?r["return"]:a[0]?r["throw"]||((n=r["return"])&&n.call(r),0):r.next)&&!(n=n.call(r,a[1])).done)return n;if(r=0,n)a=[a[0]&2,n.value];switch(a[0]){case 0:case 1:n=a;break;case 4:s.label++;return{value:a[1],done:false};case 5:s.label++;r=a[1];a=[0];continue;case 7:a=s.ops.pop();s.trys.pop();continue;default:if(!(n=s.trys,n=n.length>0&&n[n.length-1])&&(a[0]===6||a[0]===2)){s=0;continue}if(a[0]===3&&(!n||a[1]>n[0]&&a[1]<n[3])){s.label=a[1];break}if(a[0]===6&&s.label<n[1]){s.label=n[1];n=a;break}if(n&&s.label<n[2]){s.label=n[2];s.ops.push(a);break}if(n[2])s.ops.pop();s.trys.pop();continue}a=t.call(e,s)}catch(e){a=[6,e];r=0}finally{i=n=0}if(a[0]&5)throw a[1];return{value:a[0]?a[1]:void 0,done:true}}};System.register(["./p-7b2fc615.system.js","./p-e782194d.system.js"],(function(e){"use strict";var t,s,i,r,n,o;return{setters:[function(e){t=e.r;s=e.c;i=e.h;r=e.H;n=e.g},function(e){o=e.i}],execute:function(){var a=':host,wm-search{width:100%;font-size:0.875rem}:host *,wm-search *{-webkit-box-sizing:border-box;box-sizing:border-box}:host .wm-search-wrapper,wm-search .wm-search-wrapper{border-radius:3px;position:relative;border:1px solid rgba(35, 35, 35, 0.6);display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-align:center;align-items:center}:host .wm-search-wrapper .search-icon,wm-search .wm-search-wrapper .search-icon{display:inline-block;font:normal normal normal 24px/1 "Material Design Icons";font-size:inherit;text-rendering:auto;line-height:inherit;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:1.0625rem;position:absolute;left:0.4375rem}:host .wm-search-wrapper input,wm-search .wm-search-wrapper input{border:none;height:40px;padding:0 1.75rem;background:transparent;overflow:visible;width:100%;-ms-flex:1;flex:1;font-family:inherit}:host .wm-search-wrapper input:focus,wm-search .wm-search-wrapper input:focus{outline:none}:host .wm-search-wrapper.focus,wm-search .wm-search-wrapper.focus{-webkit-box-shadow:0 0 0 1px #20cbd4;box-shadow:0 0 0 1px #20cbd4;border-color:#20cbd4;border-radius:3px}:host .find,wm-search .find{min-height:3rem}:host .find input,wm-search .find input{padding:16px 8px 16px 28px}:host .find .wm-find-elements,wm-search .find .wm-find-elements{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:start;justify-content:flex-start;padding-right:16px}:host .find .wm-find-elements wm-button+wm-button,wm-search .find .wm-find-elements wm-button+wm-button{margin-left:0.25rem}:host .find .wm-find-elements .results,wm-search .find .wm-find-elements .results{margin-right:0.5rem;font-style:italic}:host .sr-only,wm-search .sr-only{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;border:0 !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;-webkit-clip-path:inset(50%) !important;clip-path:inset(50%) !important;white-space:nowrap !important;margin:-1px !important}:host .show-for-tabbers,wm-search .show-for-tabbers{all:unset;color:#575195;text-decoration:none;font-weight:500;font-size:0.875rem;margin:10px 0}:host .show-for-tabbers:hover,wm-search .show-for-tabbers:hover{background:-webkit-gradient(linear, left top, left bottom, from(#575195), to(#575195)) no-repeat;background:linear-gradient(#575195, #575195) no-repeat;background-size:100% 1px;background-position:0 1.2em;padding-bottom:0.2em}:host .show-for-tabbers:focus,wm-search .show-for-tabbers:focus{outline:none;background:-webkit-gradient(linear, left top, right top, color-stop(66%, #3862e9), color-stop(0, transparent)) repeat-x;background:linear-gradient(90deg, #3862e9 66%, transparent 0) repeat-x;background-size:6px 3px;background-position:0 1.2em;padding-bottom:0.2em}';var l=e("wm_search",function(){function e(e){t(this,e);this.wmSearchBrowseResults=s(this,"wmSearchBrowseResults",7);this.wmBrowseSearchResults=s(this,"wmBrowseSearchResults",7);this.wmSearchValueChanged=s(this,"wmSearchValueChanged",7);this.wrapperEl=null;this.linkEl=null;this.searchType="basic";this.disabled=false;this.placeholder="";this.label="";this.numResults=0;this.value="";this.isTabbing=false;this.highlightedId="";this.highlightedName=null;this.highlightedNum=0;this.previousBlurredValue="";this.parentModal=undefined;this.announcement=""}Object.defineProperty(e.prototype,"resultCount",{get:function(){var e="";var t=o.formatMessage({id:"search.resultsFound",defaultMessage:"{numResults, plural, =0 {No results} one {1 result} other {# results}} found"},{numResults:this.numResults});var s=o.formatMessage({id:"search.xOfYResults",defaultMessage:"{numResults, plural, =0 {No results found} other {{current} of {numResults} results}}"},{numResults:this.numResults,current:this.highlightedNum});if(this.searchType==="basic"){e=t}else if(this.searchType==="find"){e=s}return e},enumerable:false,configurable:true});e.prototype.toggleTabbingOn=function(){this.isTabbing=true;this.linkEl&&this.linkEl.classList.remove("sr-only");this.linkEl&&this.linkEl.classList.add("show-for-tabbers")};e.prototype.toggleTabbingOff=function(){this.isTabbing=false;this.linkEl&&this.linkEl.classList.add("sr-only");this.linkEl&&this.linkEl.classList.remove("show-for-tabbers")};e.prototype.componentWillLoad=function(){if(this.placeholder===""){console.error("You must set the placeholder property for the wm-search component.")}if(this.label===""){console.error("You must set the label property for the wm-search component.")}this.hookToModal()};e.prototype.hookToModal=function(){var e=this;var t=this.el;while(!!t){if(t.tagName==="WM-MODAL"){this.parentModal=t}t=t.parentElement}if(this.parentModal){var s=["wmCloseTriggered","wmPrimaryTriggered","wmSecondaryTriggered"];s.map((function(t){e.parentModal.addEventListener(t,(function(){e.updateValue("")}))}))}};e.prototype.updateValue=function(e){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(t){this.value=e;this.resetHighlightCountToStart();if(this.value){this.announceChanges()}return[2]}))}))};e.prototype.resetHighlightCountToStart=function(){if(this.searchType==="find"){this.highlightedNum=this.numResults?1:0}};e.prototype.announce=function(e){if(this.resultsLiveRegion.textContent===e){e+=" "}this.announcement=e};e.prototype.announceChanges=function(){var e=this;window.requestAnimationFrame((function(){var t=e.resultCount;if(e.searchType==="find"&&e.highlightedName){t+=", ".concat(e.highlightedName)}e.announce(t)}))};e.prototype.changeHighlightedNum=function(e){if(this.numResults){if(e<1){this.highlightedNum=this.numResults}else if(e>this.numResults){this.highlightedNum=1}else{this.highlightedNum=e}this.wmSearchBrowseResults.emit({position:this.highlightedNum});this.wmBrowseSearchResults.emit({position:this.highlightedNum});this.announceChanges()}};e.prototype.addFocusStyle=function(){if(this.wrapperEl){this.wrapperEl.classList.add("focus")}};e.prototype.removeFocusStyle=function(){if(this.wrapperEl){this.wrapperEl.classList.remove("focus")}};e.prototype.handleBlur=function(){this.removeFocusStyle();if(this.previousBlurredValue!==this.value){this.wmSearchValueChanged.emit({value:this.value})}this.previousBlurredValue=this.value};e.prototype.renderResultsAndBrowseButtons=function(){var e=this;return i("div",{class:"wm-find-elements"},i("div",{id:"results-display",class:"results"},this.resultCount),i("div",{class:"wm-button-collection"},i("wm-button",{"button-type":"icononly",icon:"f05d",tooltip:o.formatMessage({id:"global.previous",description:"button text",defaultMessage:"previous"}),"tooltip-position":"bottom",onClick:function(){return e.changeHighlightedNum(e.highlightedNum-1)},disabled:this.disabled||this.numResults<2,"label-for-identical-buttons":o.formatMessage({id:"search.previousResult",defaultMessage:"Press to hear previous matching result"})}),i("wm-button",{"button-type":"icononly",icon:"f045",tooltip:o.formatMessage({id:"global.next",description:"button text",defaultMessage:"next"}),"tooltip-position":"bottom",onClick:function(){return e.changeHighlightedNum(e.highlightedNum+1)},disabled:this.disabled||this.numResults<2,"label-for-identical-buttons":o.formatMessage({id:"search.nextResult",defaultMessage:"Press to hear next matching result"})})))};e.prototype.renderJumpToLink=function(){var e=this;if(this.numResults&&this.highlightedId){return i("a",{ref:function(t){return e.linkEl=t},href:"#".concat(this.highlightedId),class:"sr-only"},o.formatMessage({id:"search.jumpToResult",defaultMessage:"Jump to search result in list"}))}else{return null}};e.prototype.render=function(){var e=this;return i(r,null,i("div",{id:"wm-search-wrapper",class:"wm-search-wrapper ".concat(this.searchType),ref:function(t){return e.wrapperEl=t}},i("input",{disabled:this.disabled,id:"wm-search-input",placeholder:this.placeholder,"aria-label":"".concat(this.label?this.label+". ":"").concat(o.formatMessage({id:"search.typeToFilterResults",defaultMessage:"Type to filter the results"})),onInput:function(t){return e.updateValue(t.target.value)},onFocus:function(){return e.addFocusStyle()},onBlur:function(){return e.handleBlur()},"aria-autocomplete":"none",autocomplete:"off",value:this.value}),i("span",{class:"mdi search-icon"},String.fromCodePoint(parseInt("0xf349"))),this.searchType==="find"&&this.renderResultsAndBrowseButtons(),i("div",{id:"wm-search-live",class:"sr-only","aria-live":"polite","aria-atomic":"true",ref:function(t){return e.resultsLiveRegion=t}},this.announcement)),this.searchType==="find"&&this.renderJumpToLink())};Object.defineProperty(e,"delegatesFocus",{get:function(){return true},enumerable:false,configurable:true});Object.defineProperty(e.prototype,"el",{get:function(){return n(this)},enumerable:false,configurable:true});Object.defineProperty(e,"watchers",{get:function(){return{numResults:["resetHighlightCountToStart"]}},enumerable:false,configurable:true});return e}());l.style=a}}}));
|
|
2
|
-
//# sourceMappingURL=p-
|
|
1
|
+
var __awaiter=this&&this.__awaiter||function(e,t,s,i){function r(e){return e instanceof s?e:new s((function(t){t(e)}))}return new(s||(s=Promise))((function(s,n){function o(e){try{l(i.next(e))}catch(e){n(e)}}function a(e){try{l(i["throw"](e))}catch(e){n(e)}}function l(e){e.done?s(e.value):r(e.value).then(o,a)}l((i=i.apply(e,t||[])).next())}))};var __generator=this&&this.__generator||function(e,t){var s={label:0,sent:function(){if(n[0]&1)throw n[1];return n[1]},trys:[],ops:[]},i,r,n,o;return o={next:a(0),throw:a(1),return:a(2)},typeof Symbol==="function"&&(o[Symbol.iterator]=function(){return this}),o;function a(e){return function(t){return l([e,t])}}function l(a){if(i)throw new TypeError("Generator is already executing.");while(o&&(o=0,a[0]&&(s=0)),s)try{if(i=1,r&&(n=a[0]&2?r["return"]:a[0]?r["throw"]||((n=r["return"])&&n.call(r),0):r.next)&&!(n=n.call(r,a[1])).done)return n;if(r=0,n)a=[a[0]&2,n.value];switch(a[0]){case 0:case 1:n=a;break;case 4:s.label++;return{value:a[1],done:false};case 5:s.label++;r=a[1];a=[0];continue;case 7:a=s.ops.pop();s.trys.pop();continue;default:if(!(n=s.trys,n=n.length>0&&n[n.length-1])&&(a[0]===6||a[0]===2)){s=0;continue}if(a[0]===3&&(!n||a[1]>n[0]&&a[1]<n[3])){s.label=a[1];break}if(a[0]===6&&s.label<n[1]){s.label=n[1];n=a;break}if(n&&s.label<n[2]){s.label=n[2];s.ops.push(a);break}if(n[2])s.ops.pop();s.trys.pop();continue}a=t.call(e,s)}catch(e){a=[6,e];r=0}finally{i=n=0}if(a[0]&5)throw a[1];return{value:a[0]?a[1]:void 0,done:true}}};System.register(["./p-7b2fc615.system.js","./p-f08e6a5a.system.js"],(function(e){"use strict";var t,s,i,r,n,o;return{setters:[function(e){t=e.r;s=e.c;i=e.h;r=e.H;n=e.g},function(e){o=e.i}],execute:function(){var a=':host,wm-search{width:100%;font-size:0.875rem}:host *,wm-search *{-webkit-box-sizing:border-box;box-sizing:border-box}:host .wm-search-wrapper,wm-search .wm-search-wrapper{border-radius:3px;position:relative;border:1px solid rgba(35, 35, 35, 0.6);display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-align:center;align-items:center}:host .wm-search-wrapper .search-icon,wm-search .wm-search-wrapper .search-icon{display:inline-block;font:normal normal normal 24px/1 "Material Design Icons";font-size:inherit;text-rendering:auto;line-height:inherit;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:1.0625rem;position:absolute;left:0.4375rem}:host .wm-search-wrapper input,wm-search .wm-search-wrapper input{border:none;height:40px;padding:0 1.75rem;background:transparent;overflow:visible;width:100%;-ms-flex:1;flex:1;font-family:inherit}:host .wm-search-wrapper input:focus,wm-search .wm-search-wrapper input:focus{outline:none}:host .wm-search-wrapper.focus,wm-search .wm-search-wrapper.focus{-webkit-box-shadow:0 0 0 1px #20cbd4;box-shadow:0 0 0 1px #20cbd4;border-color:#20cbd4;border-radius:3px}:host .find,wm-search .find{min-height:3rem}:host .find input,wm-search .find input{padding:16px 8px 16px 28px}:host .find .wm-find-elements,wm-search .find .wm-find-elements{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:start;justify-content:flex-start;padding-right:16px}:host .find .wm-find-elements wm-button+wm-button,wm-search .find .wm-find-elements wm-button+wm-button{margin-left:0.25rem}:host .find .wm-find-elements .results,wm-search .find .wm-find-elements .results{margin-right:0.5rem;font-style:italic}:host .sr-only,wm-search .sr-only{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;border:0 !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;-webkit-clip-path:inset(50%) !important;clip-path:inset(50%) !important;white-space:nowrap !important;margin:-1px !important}:host .show-for-tabbers,wm-search .show-for-tabbers{all:unset;color:#575195;text-decoration:none;font-weight:500;font-size:0.875rem;margin:10px 0}:host .show-for-tabbers:hover,wm-search .show-for-tabbers:hover{background:-webkit-gradient(linear, left top, left bottom, from(#575195), to(#575195)) no-repeat;background:linear-gradient(#575195, #575195) no-repeat;background-size:100% 1px;background-position:0 1.2em;padding-bottom:0.2em}:host .show-for-tabbers:focus,wm-search .show-for-tabbers:focus{outline:none;background:-webkit-gradient(linear, left top, right top, color-stop(66%, #3862e9), color-stop(0, transparent)) repeat-x;background:linear-gradient(90deg, #3862e9 66%, transparent 0) repeat-x;background-size:6px 3px;background-position:0 1.2em;padding-bottom:0.2em}';var l=e("wm_search",function(){function e(e){t(this,e);this.wmSearchBrowseResults=s(this,"wmSearchBrowseResults",7);this.wmBrowseSearchResults=s(this,"wmBrowseSearchResults",7);this.wmSearchValueChanged=s(this,"wmSearchValueChanged",7);this.wrapperEl=null;this.linkEl=null;this.searchType="basic";this.disabled=false;this.placeholder="";this.label="";this.numResults=0;this.value="";this.isTabbing=false;this.highlightedId="";this.highlightedName=null;this.highlightedNum=0;this.previousBlurredValue="";this.parentModal=undefined;this.announcement=""}Object.defineProperty(e.prototype,"resultCount",{get:function(){var e="";var t=o.formatMessage({id:"search.resultsFound",defaultMessage:"{numResults, plural, =0 {No results} one {1 result} other {# results}} found"},{numResults:this.numResults});var s=o.formatMessage({id:"search.xOfYResults",defaultMessage:"{numResults, plural, =0 {No results found} other {{current} of {numResults} results}}"},{numResults:this.numResults,current:this.highlightedNum});if(this.searchType==="basic"){e=t}else if(this.searchType==="find"){e=s}return e},enumerable:false,configurable:true});e.prototype.toggleTabbingOn=function(){this.isTabbing=true;this.linkEl&&this.linkEl.classList.remove("sr-only");this.linkEl&&this.linkEl.classList.add("show-for-tabbers")};e.prototype.toggleTabbingOff=function(){this.isTabbing=false;this.linkEl&&this.linkEl.classList.add("sr-only");this.linkEl&&this.linkEl.classList.remove("show-for-tabbers")};e.prototype.componentWillLoad=function(){if(this.placeholder===""){console.error("You must set the placeholder property for the wm-search component.")}if(this.label===""){console.error("You must set the label property for the wm-search component.")}this.hookToModal()};e.prototype.hookToModal=function(){var e=this;var t=this.el;while(!!t){if(t.tagName==="WM-MODAL"){this.parentModal=t}t=t.parentElement}if(this.parentModal){var s=["wmCloseTriggered","wmPrimaryTriggered","wmSecondaryTriggered"];s.map((function(t){e.parentModal.addEventListener(t,(function(){e.updateValue("")}))}))}};e.prototype.updateValue=function(e){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(t){this.value=e;this.resetHighlightCountToStart();if(this.value){this.announceChanges()}return[2]}))}))};e.prototype.resetHighlightCountToStart=function(){if(this.searchType==="find"){this.highlightedNum=this.numResults?1:0}};e.prototype.announce=function(e){if(this.resultsLiveRegion.textContent===e){e+=" "}this.announcement=e};e.prototype.announceChanges=function(){var e=this;window.requestAnimationFrame((function(){var t=e.resultCount;if(e.searchType==="find"&&e.highlightedName){t+=", ".concat(e.highlightedName)}e.announce(t)}))};e.prototype.changeHighlightedNum=function(e){if(this.numResults){if(e<1){this.highlightedNum=this.numResults}else if(e>this.numResults){this.highlightedNum=1}else{this.highlightedNum=e}this.wmSearchBrowseResults.emit({position:this.highlightedNum});this.wmBrowseSearchResults.emit({position:this.highlightedNum});this.announceChanges()}};e.prototype.addFocusStyle=function(){if(this.wrapperEl){this.wrapperEl.classList.add("focus")}};e.prototype.removeFocusStyle=function(){if(this.wrapperEl){this.wrapperEl.classList.remove("focus")}};e.prototype.handleBlur=function(){this.removeFocusStyle();if(this.previousBlurredValue!==this.value){this.wmSearchValueChanged.emit({value:this.value})}this.previousBlurredValue=this.value};e.prototype.renderResultsAndBrowseButtons=function(){var e=this;return i("div",{class:"wm-find-elements"},i("div",{id:"results-display",class:"results"},this.resultCount),i("div",{class:"wm-button-collection"},i("wm-button",{"button-type":"icononly",icon:"f05d",tooltip:o.formatMessage({id:"global.previous",description:"button text",defaultMessage:"previous"}),"tooltip-position":"bottom",onClick:function(){return e.changeHighlightedNum(e.highlightedNum-1)},disabled:this.disabled||this.numResults<2,"label-for-identical-buttons":o.formatMessage({id:"search.previousResult",defaultMessage:"Press to hear previous matching result"})}),i("wm-button",{"button-type":"icononly",icon:"f045",tooltip:o.formatMessage({id:"global.next",description:"button text",defaultMessage:"next"}),"tooltip-position":"bottom",onClick:function(){return e.changeHighlightedNum(e.highlightedNum+1)},disabled:this.disabled||this.numResults<2,"label-for-identical-buttons":o.formatMessage({id:"search.nextResult",defaultMessage:"Press to hear next matching result"})})))};e.prototype.renderJumpToLink=function(){var e=this;if(this.numResults&&this.highlightedId){return i("a",{ref:function(t){return e.linkEl=t},href:"#".concat(this.highlightedId),class:"sr-only"},o.formatMessage({id:"search.jumpToResult",defaultMessage:"Jump to search result in list"}))}else{return null}};e.prototype.render=function(){var e=this;return i(r,null,i("div",{id:"wm-search-wrapper",class:"wm-search-wrapper ".concat(this.searchType),ref:function(t){return e.wrapperEl=t}},i("input",{disabled:this.disabled,id:"wm-search-input",placeholder:this.placeholder,"aria-label":"".concat(this.label?this.label+". ":"").concat(o.formatMessage({id:"search.typeToFilterResults",defaultMessage:"Type to filter the results"})),onInput:function(t){return e.updateValue(t.target.value)},onFocus:function(){return e.addFocusStyle()},onBlur:function(){return e.handleBlur()},"aria-autocomplete":"none",autocomplete:"off",value:this.value}),i("span",{class:"mdi search-icon"},String.fromCodePoint(parseInt("0xf349"))),this.searchType==="find"&&this.renderResultsAndBrowseButtons(),i("div",{id:"wm-search-live",class:"sr-only","aria-live":"polite","aria-atomic":"true",ref:function(t){return e.resultsLiveRegion=t}},this.announcement)),this.searchType==="find"&&this.renderJumpToLink())};Object.defineProperty(e,"delegatesFocus",{get:function(){return true},enumerable:false,configurable:true});Object.defineProperty(e.prototype,"el",{get:function(){return n(this)},enumerable:false,configurable:true});Object.defineProperty(e,"watchers",{get:function(){return{numResults:["resetHighlightCountToStart"]}},enumerable:false,configurable:true});return e}());l.style=a}}}));
|
|
2
|
+
//# sourceMappingURL=p-eccbad16.system.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["wmSearchCss","Search","exports","this","wrapperEl","linkEl","Object","defineProperty","class_1","prototype","message","basicMessage","intl","formatMessage","id","defaultMessage","numResults","findMessage","current","highlightedNum","searchType","toggleTabbingOn","isTabbing","classList","remove","add","toggleTabbingOff","componentWillLoad","placeholder","console","error","label","hookToModal","_this","el","tagName","parentModal","parentElement","events","map","event","addEventListener","updateValue","value","resetHighlightCountToStart","announceChanges","announce","resultsLiveRegion","textContent","announcement","window","requestAnimationFrame","messageToAnnounce","resultCount","highlightedName","concat","changeHighlightedNum","newNum","wmSearchBrowseResults","emit","position","wmBrowseSearchResults","addFocusStyle","removeFocusStyle","handleBlur","previousBlurredValue","wmSearchValueChanged","renderResultsAndBrowseButtons","h","class","icon","tooltip","description","onClick","disabled","renderJumpToLink","highlightedId","ref","href","render","Host","onInput","ev","target","onFocus","onBlur","autocomplete","String","fromCodePoint","parseInt"],"sources":["src/components/wm-search/wm-search.scss?tag=wm-search&encapsulation=shadow","src/components/wm-search/wm-search.tsx"],"sourcesContent":[":host,\r\nwm-search {\r\n * {\r\n box-sizing: border-box;\r\n }\r\n width: 100%;\r\n font-size: rem-calc(14);\r\n\r\n .wm-search-wrapper {\r\n border-radius: 3px;\r\n position: relative;\r\n border: 1px solid rgba(35, 35, 35, 0.6);\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: center;\r\n\r\n .search-icon {\r\n @include mdi-icon;\r\n font-size: rem-calc(17);\r\n position: absolute;\r\n left: rem-calc(7);\r\n }\r\n\r\n input {\r\n border: none;\r\n height: 40px;\r\n padding: rem-calc(0 28);\r\n background: transparent;\r\n overflow: visible;\r\n width: 100%;\r\n flex: 1;\r\n font-family: inherit;\r\n\r\n &:focus {\r\n outline: none;\r\n }\r\n }\r\n\r\n &.focus {\r\n box-shadow: 0 0 0 1px #20cbd4;\r\n border-color: $border-focus-color;\r\n border-radius: 3px;\r\n }\r\n }\r\n\r\n .find {\r\n min-height: 3rem;\r\n\r\n input {\r\n padding: 16px 8px 16px 28px;\r\n }\r\n\r\n .wm-find-elements {\r\n display: flex;\r\n align-items: center;\r\n justify-content: flex-start;\r\n padding-right: 16px;\r\n wm-button + wm-button {\r\n margin-left: rem-calc(4);\r\n }\r\n\r\n .results {\r\n margin-right: rem-calc(8);\r\n font-style: italic;\r\n }\r\n }\r\n }\r\n\r\n .sr-only {\r\n @include srOnly;\r\n }\r\n\r\n .show-for-tabbers {\r\n all: unset;\r\n color: #575195;\r\n text-decoration: none;\r\n font-weight: 500;\r\n font-size: rem-calc(14);\r\n margin: 10px 0;\r\n\r\n &:hover {\r\n background: linear-gradient(#575195, #575195) no-repeat;\r\n background-size: 100% 1px;\r\n background-position: 0 1.2em;\r\n padding-bottom: 0.2em;\r\n }\r\n\r\n &:focus {\r\n outline: none;\r\n background: linear-gradient(90deg, #3862e9 66%, transparent 0) repeat-x;\r\n background-size: 6px 3px;\r\n background-position: 0 1.2em;\r\n padding-bottom: 0.2em;\r\n }\r\n }\r\n}\r\n","import { h, Component, Element, Prop, Watch, Host, Method, Listen, State, Event, EventEmitter } from \"@stencil/core\";\r\nimport { intl } from \"../../global/functions\";\r\n\r\n@Component({\r\n tag: \"wm-search\",\r\n styleUrl: \"wm-search.scss\",\r\n shadow: { delegatesFocus: true },\r\n})\r\nexport class Search {\r\n @Element() el!: HTMLWmSearchElement;\r\n @Prop({ mutable: true }) searchType: \"basic\" | \"find\" = \"basic\";\r\n @Prop({ reflect: true }) disabled: boolean = false;\r\n\r\n /**\r\n * Props required for both variants.\r\n */\r\n @Prop() placeholder: string = \"\";\r\n @Prop() label: string = \"\";\r\n @Prop({ mutable: true }) numResults: number = 0;\r\n\r\n /**\r\n * This exposes the input's value on the host component so that the app can access it.\r\n */\r\n @Prop({ mutable: true, reflect: true }) value: string = \"\";\r\n\r\n /**\r\n * If the user is tabbing, the search and find variant will display a link to jump to a search result.\r\n */\r\n @State() isTabbing: boolean = false;\r\n\r\n /**\r\n * Prop specifically for the search and find variant. The id points to the id of the option currently highlighted,\r\n * so that tabbing and screen reader users can jump to this option rather than tab through the list to find it.\r\n */\r\n @Prop() highlightedId: string = \"\";\r\n @Prop() highlightedName: string | null = null;\r\n\r\n /**\r\n * Indicates which of the search results is currently highlighted. It will be displayed as \"[highlightedNum] of [numResults]\" next to the input in the search and find variant.\r\n * This number updates as the user browses using the buttons.\r\n */\r\n @State() highlightedNum: number = 0;\r\n\r\n @State() previousBlurredValue: string = \"\";\r\n @State() parentModal?: HTMLWmModalElement;\r\n\r\n /**\r\n * Live region announcement\r\n */\r\n @State() announcement: string = \"\";\r\n\r\n get resultCount(): string {\r\n let message = \"\";\r\n const basicMessage = intl.formatMessage(\r\n {\r\n id: \"search.resultsFound\",\r\n defaultMessage: \"{numResults, plural, =0 {No results} one {1 result} other {# results}} found\",\r\n },\r\n { numResults: this.numResults }\r\n );\r\n const findMessage = intl.formatMessage(\r\n {\r\n id: \"search.xOfYResults\",\r\n defaultMessage: \"{numResults, plural, =0 {No results found} other {{current} of {numResults} results}}\",\r\n },\r\n { numResults: this.numResults, current: this.highlightedNum }\r\n );\r\n\r\n if (this.searchType === \"basic\") {\r\n message = basicMessage;\r\n } else if (this.searchType === \"find\") {\r\n message = findMessage;\r\n }\r\n\r\n return message;\r\n }\r\n\r\n /**\r\n * Emitted when the buttons in the search-and-find variant are pressed.\r\n */\r\n @Event() wmSearchBrowseResults!: EventEmitter<{ position: number }>;\r\n @Event() wmBrowseSearchResults!: EventEmitter<{ position: number }>; // deprecated in favor of wmSearchBrowseResults\r\n @Event() wmSearchValueChanged!: EventEmitter<{ value: string }>;\r\n\r\n /**\r\n * Element refs\r\n */\r\n private resultsLiveRegion!: HTMLElement;\r\n private wrapperEl: HTMLElement | null = null;\r\n private linkEl: HTMLElement | null = null;\r\n\r\n @Listen(\"wmUserIsTabbing\", { target: \"window\" })\r\n toggleTabbingOn() {\r\n this.isTabbing = true;\r\n this.linkEl && this.linkEl.classList.remove(\"sr-only\");\r\n this.linkEl && this.linkEl.classList.add(\"show-for-tabbers\");\r\n }\r\n\r\n @Listen(\"wmUserIsNotTabbing\", { target: \"window\" })\r\n toggleTabbingOff() {\r\n this.isTabbing = false;\r\n this.linkEl && this.linkEl.classList.add(\"sr-only\");\r\n this.linkEl && this.linkEl.classList.remove(\"show-for-tabbers\");\r\n }\r\n\r\n componentWillLoad() {\r\n if (this.placeholder === \"\") {\r\n console.error(\"You must set the placeholder property for the wm-search component.\");\r\n }\r\n\r\n if (this.label === \"\") {\r\n console.error(\"You must set the label property for the wm-search component.\");\r\n }\r\n this.hookToModal();\r\n }\r\n\r\n hookToModal() {\r\n // if the search is in a modal we want to clear the input when the modal closes\r\n let el = this.el as any;\r\n while (!!el) {\r\n if (el.tagName === \"WM-MODAL\") {\r\n this.parentModal = el as HTMLWmModalElement;\r\n }\r\n el = el.parentElement as HTMLElement;\r\n }\r\n\r\n if (this.parentModal) {\r\n const events = [\"wmCloseTriggered\", \"wmPrimaryTriggered\", \"wmSecondaryTriggered\"];\r\n events.map((event) => {\r\n this.parentModal!.addEventListener(event, () => {\r\n this.updateValue(\"\");\r\n });\r\n });\r\n }\r\n }\r\n\r\n // this undocumented method is needed in hookToModal (needs to be exposed so we can set the callback func)\r\n @Method()\r\n async updateValue(value: string) {\r\n this.value = value;\r\n\r\n //For search-and-find, the results should always restart at \"[1 or 0] of ...\" after any new input.\r\n //Reset the highlight count here just in case the new value doesn't end up changing the number of results.\r\n this.resetHighlightCountToStart();\r\n\r\n if (this.value) {\r\n this.announceChanges();\r\n }\r\n }\r\n\r\n @Watch(\"numResults\")\r\n resetHighlightCountToStart(): void {\r\n if (this.searchType === \"find\") {\r\n this.highlightedNum = this.numResults ? 1 : 0;\r\n }\r\n }\r\n\r\n announce(message: string) {\r\n if (this.resultsLiveRegion!.textContent === message) {\r\n message += \"\\u00A0\";\r\n }\r\n this.announcement = message;\r\n }\r\n\r\n announceChanges() {\r\n window.requestAnimationFrame(() => {\r\n // requestAnimationFrame to allow all changes to occur before announcing results\r\n let messageToAnnounce = this.resultCount;\r\n\r\n // if a result is found, also include it after the liveregion message\r\n if (this.searchType === \"find\" && this.highlightedName) {\r\n messageToAnnounce += `, ${this.highlightedName}`;\r\n }\r\n\r\n this.announce(messageToAnnounce);\r\n });\r\n }\r\n\r\n changeHighlightedNum(newNum: number): void {\r\n if (this.numResults) {\r\n if (newNum < 1) {\r\n // we were on the first item, going down: go to last item\r\n this.highlightedNum = this.numResults;\r\n } else if (newNum > this.numResults) {\r\n // we were on the last item, going up: go to first item\r\n this.highlightedNum = 1;\r\n } else {\r\n this.highlightedNum = newNum;\r\n }\r\n\r\n this.wmSearchBrowseResults.emit({ position: this.highlightedNum });\r\n this.wmBrowseSearchResults.emit({ position: this.highlightedNum });\r\n this.announceChanges();\r\n }\r\n }\r\n\r\n addFocusStyle() {\r\n if (this.wrapperEl) {\r\n this.wrapperEl.classList.add(\"focus\");\r\n }\r\n }\r\n\r\n removeFocusStyle() {\r\n if (this.wrapperEl) {\r\n this.wrapperEl.classList.remove(\"focus\");\r\n }\r\n }\r\n\r\n handleBlur() {\r\n this.removeFocusStyle();\r\n if (this.previousBlurredValue !== this.value) {\r\n this.wmSearchValueChanged.emit({ value: this.value });\r\n }\r\n this.previousBlurredValue = this.value;\r\n }\r\n\r\n /**\r\n * Functions that return elements specifically for search-and-find.\r\n */\r\n renderResultsAndBrowseButtons(): HTMLDivElement {\r\n return (\r\n <div class=\"wm-find-elements\">\r\n <div id=\"results-display\" class=\"results\">\r\n {this.resultCount}\r\n </div>\r\n <div class=\"wm-button-collection\">\r\n <wm-button\r\n button-type=\"icononly\"\r\n icon=\"f05d\"\r\n tooltip={intl.formatMessage({\r\n id: \"global.previous\",\r\n description: \"button text\",\r\n defaultMessage: \"previous\",\r\n })}\r\n tooltip-position=\"bottom\"\r\n onClick={() => this.changeHighlightedNum(this.highlightedNum - 1)}\r\n disabled={this.disabled || this.numResults < 2}\r\n label-for-identical-buttons={intl.formatMessage({\r\n id: \"search.previousResult\",\r\n defaultMessage: \"Press to hear previous matching result\",\r\n })}\r\n />\r\n <wm-button\r\n button-type=\"icononly\"\r\n icon=\"f045\"\r\n tooltip={intl.formatMessage({\r\n id: \"global.next\",\r\n description: \"button text\",\r\n defaultMessage: \"next\",\r\n })}\r\n tooltip-position=\"bottom\"\r\n onClick={() => this.changeHighlightedNum(this.highlightedNum + 1)}\r\n disabled={this.disabled || this.numResults < 2}\r\n label-for-identical-buttons={intl.formatMessage({\r\n id: \"search.nextResult\",\r\n defaultMessage: \"Press to hear next matching result\",\r\n })}\r\n />\r\n </div>\r\n </div>\r\n );\r\n }\r\n\r\n renderJumpToLink(): HTMLAnchorElement | null {\r\n if (this.numResults && this.highlightedId) {\r\n return (\r\n <a ref={(el) => (this.linkEl = el as HTMLAnchorElement)} href={`#${this.highlightedId}`} class=\"sr-only\">\r\n {intl.formatMessage({\r\n id: \"search.jumpToResult\",\r\n defaultMessage: \"Jump to search result in list\",\r\n })}\r\n </a>\r\n );\r\n } else {\r\n return null;\r\n }\r\n }\r\n /**\r\n * End search and find render helpers\r\n */\r\n\r\n render() {\r\n return (\r\n <Host>\r\n <div\r\n id=\"wm-search-wrapper\"\r\n class={`wm-search-wrapper ${this.searchType}`}\r\n ref={(el) => (this.wrapperEl = el as HTMLDivElement)}\r\n >\r\n <input\r\n disabled={this.disabled}\r\n id=\"wm-search-input\"\r\n placeholder={this.placeholder}\r\n aria-label={`${this.label ? this.label + \". \" : \"\"}${intl.formatMessage({\r\n id: \"search.typeToFilterResults\",\r\n defaultMessage: \"Type to filter the results\",\r\n })}`}\r\n onInput={(ev: Event) => this.updateValue((ev.target as HTMLInputElement).value)}\r\n onFocus={() => this.addFocusStyle()}\r\n onBlur={() => this.handleBlur()}\r\n aria-autocomplete=\"none\"\r\n autocomplete=\"off\"\r\n value={this.value}\r\n />\r\n <span class=\"mdi search-icon\">{String.fromCodePoint(parseInt(`0xf349`))}</span>\r\n {this.searchType === \"find\" && this.renderResultsAndBrowseButtons()}\r\n <div\r\n id=\"wm-search-live\"\r\n class=\"sr-only\"\r\n aria-live=\"polite\"\r\n aria-atomic=\"true\"\r\n ref={(el) => (this.resultsLiveRegion = el as HTMLElement)}\r\n >\r\n {this.announcement}\r\n </div>\r\n </div>\r\n {this.searchType === \"find\" && this.renderJumpToLink()}\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{r as a,c as s,h as n,g as r}from"./p-1c23de4a.js";import{i as t,g as i}from"./p-9fd3badc.js";const e='.user-is-tabbing .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg .closesnack:focus:not(:active){-webkit-box-shadow:0 2px 2px 0 rgba(244, 243, 246, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.1), 0 0 4px 3px #c6b4e3;-moz-box-shadow:0 2px 2px 0 rgba(244, 243, 246, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.1), 0 0 4px 3px #c6b4e3;box-shadow:0 2px 2px 0 rgba(244, 243, 246, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.1), 0 0 4px 3px #c6b4e3;outline:none}:host *,wm-snackbar *{-webkit-box-sizing:border-box;box-sizing:border-box;margin:unset}:host .wm-snackbars,wm-snackbar .wm-snackbars{position:fixed;bottom:0;left:1.25rem;right:1.25rem;padding:0.25rem 0.625rem 1.875rem;z-index:2001;max-width:35.5rem;max-height:17.5rem;-webkit-overflow-scrolling:touch;overflow:auto}:host .wm-snackbars.empty,wm-snackbar .wm-snackbars.empty{-ms-transition:all 0.25s 0ms cubic-bezier(0.4, 0, 1, 1);-webkit-transition:all 0.25s 0ms cubic-bezier(0.4, 0, 1, 1);-moz-transition:all 0.25s 0ms cubic-bezier(0.4, 0, 1, 1);transition:all 0.25s 0ms cubic-bezier(0.4, 0, 1, 1);padding-top:0;padding-bottom:0}:host .wm-snackbars .wm-snack-wrapper,wm-snackbar .wm-snackbars .wm-snack-wrapper{width:100%;height:100%}:host .wm-snackbars .wm-snack-wrapper:not(:last-child),wm-snackbar .wm-snackbars .wm-snack-wrapper:not(:last-child){margin-bottom:1.25rem}:host .wm-snackbars .wm-snack-wrapper .wm-snackbar,wm-snackbar .wm-snackbars .wm-snack-wrapper .wm-snackbar{-webkit-box-shadow:0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 3px rgba(0, 0, 0, 0.12), 0 4px 15px 0 rgba(0, 0, 0, 0.2);-moz-box-shadow:0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 3px rgba(0, 0, 0, 0.12), 0 4px 15px 0 rgba(0, 0, 0, 0.2);box-shadow:0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 3px rgba(0, 0, 0, 0.12), 0 4px 15px 0 rgba(0, 0, 0, 0.2);display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-ms-transition:all 0.25s 0ms cubic-bezier(0.4, 0, 1, 1);-webkit-transition:all 0.25s 0ms cubic-bezier(0.4, 0, 1, 1);-moz-transition:all 0.25s 0ms cubic-bezier(0.4, 0, 1, 1);transition:all 0.25s 0ms cubic-bezier(0.4, 0, 1, 1);font-size:0.875rem;color:#fff;padding:0.9375rem 1.875rem;background:#4a4a4a;opacity:0;left:0;position:relative;font-family:inherit}:host .wm-snackbars .wm-snack-wrapper .wm-snackbar .link,wm-snackbar .wm-snackbars .wm-snack-wrapper .wm-snackbar .link{letter-spacing:0;text-transform:none;font-size:0.875rem;border:none;background:transparent;padding-left:0;padding-right:0;height:auto;border-radius:0;line-height:1;color:#85dadf;margin:0 3.125rem 0 0.625rem;text-decoration:none;font-weight:600;cursor:pointer}:host .wm-snackbars .wm-snack-wrapper .wm-snackbar .link.new-window::after,wm-snackbar .wm-snackbars .wm-snack-wrapper .wm-snackbar .link.new-window::after{display:inline-block;font:normal normal normal 24px/1 "Material Design Icons";font-size:inherit;text-rendering:auto;line-height:inherit;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:inline;content:"\\f137";margin-left:0.25rem}:host .wm-snackbars .wm-snack-wrapper .wm-snackbar .link:hover,wm-snackbar .wm-snackbars .wm-snack-wrapper .wm-snackbar .link:hover{text-decoration:underline}:host .wm-snackbars .wm-snack-wrapper .wm-snackbar .link:focus,wm-snackbar .wm-snackbars .wm-snack-wrapper .wm-snackbar .link:focus{outline:none;border:none}:host .wm-snackbars .wm-snack-wrapper .wm-snackbar .link::-moz-focus-inner,wm-snackbar .wm-snackbars .wm-snack-wrapper .wm-snackbar .link::-moz-focus-inner{border:0;outline:none}:host .wm-snackbars .wm-snack-wrapper .wm-snackbar:not(:last-child),wm-snackbar .wm-snackbars .wm-snack-wrapper .wm-snackbar:not(:last-child){margin-bottom:1.25rem}:host .wm-snackbars .wm-snack-wrapper .wm-snackbar.active:not(button),wm-snackbar .wm-snackbars .wm-snack-wrapper .wm-snackbar.active:not(button){opacity:1}:host .wm-snackbars .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg,wm-snackbar .wm-snackbars .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;width:100%;position:relative;padding:0}:host .wm-snackbars .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg .msgtext,wm-snackbar .wm-snackbars .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg .msgtext{width:100%}:host .wm-snackbars .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg .closesnack,wm-snackbar .wm-snackbars .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg .closesnack{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;-webkit-border-radius:50%;-moz-border-radius:50%;-ms-border-radius:50%;border-radius:50%;background-color:#3b3b3b;color:#ffffff;cursor:pointer;border:none;font-size:1rem;padding:0;height:auto;line-height:1;min-width:2.75rem;min-height:2.75rem;text-align:center;letter-spacing:normal}@media screen and (min-width: 48rem){:host .wm-snackbars .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg .closesnack,wm-snackbar .wm-snackbars .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg .closesnack{min-width:1.875rem;min-height:1.875rem}}:host .wm-snackbars .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg .closesnack:before,wm-snackbar .wm-snackbars .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg .closesnack:before{display:inline-block;font:normal normal normal 24px/1 "Material Design Icons";font-size:inherit;text-rendering:auto;line-height:inherit;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"\\f156"}:host .wm-snackbars .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg .closesnack:hover,wm-snackbar .wm-snackbars .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg .closesnack:hover{background-color:#fff;color:#4a4a4a}:host .wm-snackbars .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg .closesnack:focus,wm-snackbar .wm-snackbars .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg .closesnack:focus{outline:none}:host .wm-snackbars .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg .closesnack::-moz-focus-inner,wm-snackbar .wm-snackbars .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg .closesnack::-moz-focus-inner{border:0;outline:none}:host .wm-snackbars .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg .closesnack:active,wm-snackbar .wm-snackbars .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg .closesnack:active{-ms-transform:scale(0.9, 0.9);-webkit-transform:scale(0.9, 0.9);-moz-transform:scale(0.9, 0.9);transform:scale(0.9, 0.9)}:host .wm-snackbars .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg .closesnack>.tooltip,wm-snackbar .wm-snackbars .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg .closesnack>.tooltip{position:absolute;opacity:0;width:1px;height:1px;overflow:hidden;clip:rect(0, 0, 0, 0);font-size:0.875rem;text-transform:none;font-weight:normal;background:black;color:#fff;padding:0;line-height:normal;z-index:30}:host .wm-snackbars .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg .closesnack:hover>.tooltip,:host .wm-snackbars .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg .closesnack.user-is-tabbing:focus>.tooltip,wm-snackbar .wm-snackbars .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg .closesnack:hover>.tooltip,wm-snackbar .wm-snackbars .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg .closesnack.user-is-tabbing:focus>.tooltip{clip:auto;width:auto;height:auto;opacity:1;-webkit-transition:opacity 500ms 500ms;transition:opacity 500ms 500ms;padding:0.375rem;top:2.75rem;left:2.75rem;white-space:nowrap;-webkit-transform:translateX(-50%);transform:translateX(-50%)}@media screen and (min-width: 48rem){:host .wm-snackbars .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg .closesnack:hover>.tooltip,:host .wm-snackbars .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg .closesnack.user-is-tabbing:focus>.tooltip,wm-snackbar .wm-snackbars .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg .closesnack:hover>.tooltip,wm-snackbar .wm-snackbars .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg .closesnack.user-is-tabbing:focus>.tooltip{top:2.0625rem;left:auto}}:host .wm-snackbars .wm-snack-wrapper .wm-snackbar .sr-only,wm-snackbar .wm-snackbars .wm-snack-wrapper .wm-snackbar .sr-only{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;border:0 !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;-webkit-clip-path:inset(50%) !important;clip-path:inset(50%) !important;white-space:nowrap !important;margin:-1px !important;top:0;left:0}:host .sr-only,wm-snackbar .sr-only{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;border:0 !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;-webkit-clip-path:inset(50%) !important;clip-path:inset(50%) !important;white-space:nowrap !important;margin:-1px !important;top:0;left:0}.user-is-tabbing .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg .closesnack:focus:not(:active)>.tooltip{clip:auto;width:auto;height:auto;opacity:1;-webkit-transition:opacity 500ms 500ms;transition:opacity 500ms 500ms;padding:0.375rem;top:2.75rem;left:2.75rem;white-space:nowrap;-webkit-transform:translateX(-50%);transform:translateX(-50%)}@media screen and (min-width: 48rem){.user-is-tabbing .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg .closesnack:focus:not(:active)>.tooltip{top:2.0625rem;left:auto}}.user-is-tabbing .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg .link:focus:not(:active){outline:none;background:-webkit-gradient(linear, left top, right top, color-stop(66%, #85dadf), color-stop(0, transparent)) repeat-x;background:linear-gradient(90deg, #85dadf 66%, transparent 0) repeat-x;background-size:0.375rem 0.1875rem;background-position:0 1em;border-radius:0;line-height:normal}';const c=class{constructor(n){a(this,n);this.wmSnackbarSnackFinished=s(this,"wmSnackbarSnackFinished",7);this.userFinishedSnack=s(this,"userFinishedSnack",7);this.wmSnackbarActionTriggered=s(this,"wmSnackbarActionTriggered",7);this.userTriggeredAction=s(this,"userTriggeredAction",7);this.parsedNotifications=[];this.isTabbing=false;this.timers=[];this.newNotification=false;this.newWindowMessage=t.formatMessage({id:"global.newWindowLink",defaultMessage:"Opens in a new window."});this.notifications="[]"}updateSnacks(a){const s=JSON.parse(a);const n=s.length;const r=this.parsedNotifications.length;this.parsedNotifications=[];for(let a=0;a<n;a++){let n={id:s[a].id.toString(),message:s[a].message.toString(),link:s[a].link.toString(),newWindow:!!s[a].newWindow};this.parsedNotifications=[...this.parsedNotifications,n]}if(r<this.parsedNotifications.length){const a=window.setTimeout((()=>this.snackExpired()),2e4);this.timers=[a,...this.timers];this.storeElToFocusOnDismiss();this.newNotification=true}else{this.newNotification=false}}componentWillLoad(){this.uid=this.el.id?this.el.id:i()}componentDidUpdate(){this.isTabbing&&this.newNotification&&this.focusLinkAndDisableTimer();this.newNotification=false}checkForTabbing(a){if(a.key==="Tab"){this.toggleTabbingOn()}}handleMouse(){this.toggleTabbingOff()}focusLinkAndDisableTimer(){const a=this.parsedNotifications[0];if(a.link){let s=this.el.shadowRoot.querySelector(`#action-${a.id}`);s.focus();this.stopTimer(a)}}toggleTabbingOn(){this.isTabbing=true;this.snackbarEl&&this.snackbarEl.classList.add("user-is-tabbing")}toggleTabbingOff(){this.isTabbing=false;this.snackbarEl&&this.snackbarEl.classList.remove("user-is-tabbing")}storeElToFocusOnDismiss(){let a=document.activeElement;while(a&&a.shadowRoot){a=a.shadowRoot.activeElement}this.focusOnDismiss=a}snackDismissed(a){this.endSnack(a);a.link&&this.isTabbing&&this.focusOnDismiss.focus()}snackExpired(){const a=this.parsedNotifications[this.parsedNotifications.length-1];this.endSnack(a)}endSnack(a){this.stopTimer(a);this.wmSnackbarSnackFinished.emit({id:a.id,message:a.message,link:a.link,newWindow:a.newWindow});this.userFinishedSnack.emit({id:a.id,message:a.message,link:a.link})}snackLinkClicked(a){this.stopTimer(a);this.wmSnackbarActionTriggered.emit({id:a.id,message:a.message,link:a.link,newWindow:a.newWindow});this.userTriggeredAction.emit({id:a.id,message:a.message,link:a.link})}stopTimer(a){this.parsedNotifications.forEach(((s,n)=>{if(s.id===a.id){clearTimeout(this.timers[n]);this.timers=this.timers.filter(((a,s)=>{if(s!==n){return a}}))}}))}renderSnackbars(){return this.parsedNotifications.map((a=>n("div",{class:"wm-snack-wrapper"},n("div",{id:`snack-${this.uid}`,class:"wm-snackbar active neutral"},n("div",{class:"sr-only",tabindex:a.link?0:-1,onFocus:()=>a.link&&this.snackDismissed(a)}),n("div",{class:"wm-snackbarmsg"},n("div",{class:"msgtext"},n("span",null,a.message),a.link&&n("a",{id:`action-${a.id}`,class:`link ${a.newWindow?"new-window":""}`,"aria-label":`Click to ${a.link}...${a.newWindow?" "+this.newWindowMessage:""}`,tabindex:0,onClick:()=>{this.snackLinkClicked(a)},onKeyDown:s=>s.key==="Enter"&&this.snackLinkClicked(a)},n("span",{"aria-hidden":"true"},a.link))),n("button",{id:`close-button-${a.id}`,"aria-label":"Close this notification",class:"closesnack",tabindex:a.link?0:-1,onClick:()=>this.snackDismissed(a)},n("span",{class:"tooltip","aria-hidden":"true"},"Close"))),n("div",{class:"sr-only",tabindex:a.link?0:-1,onFocus:()=>a.link&&this.snackDismissed(a)})))))}renderLiveRegion(){const a=this.parsedNotifications[0];const s=this.isTabbing?"":a.link;const n=`${a.message} ${s}`;const r=this.el.shadowRoot.querySelector(`#wm-live-region-${this.uid}`);if(r){r.innerHTML="";const a=document.createElement("span");a.innerHTML=n;r.appendChild(a)}}render(){this.newNotification&&this.renderLiveRegion();const a=this.renderSnackbars();const s=this.parsedNotifications.length===0?"empty":"";return n("div",{ref:a=>this.snackbarEl=a,class:`wm-snackbars ${s}`},n("div",{class:"sr-only","aria-live":"polite","aria-atomic":"false",id:`wm-live-region-${this.uid}`}),a)}get el(){return r(this)}static get watchers(){return{notifications:["updateSnacks"]}}};c.style=e;export{c as wm_snackbar};
|
|
2
|
-
//# sourceMappingURL=p-
|
|
1
|
+
import{r as a,c as s,h as n,g as r}from"./p-1c23de4a.js";import{i as t,g as i}from"./p-edfba0e1.js";const e='.user-is-tabbing .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg .closesnack:focus:not(:active){-webkit-box-shadow:0 2px 2px 0 rgba(244, 243, 246, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.1), 0 0 4px 3px #c6b4e3;-moz-box-shadow:0 2px 2px 0 rgba(244, 243, 246, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.1), 0 0 4px 3px #c6b4e3;box-shadow:0 2px 2px 0 rgba(244, 243, 246, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.1), 0 0 4px 3px #c6b4e3;outline:none}:host *,wm-snackbar *{-webkit-box-sizing:border-box;box-sizing:border-box;margin:unset}:host .wm-snackbars,wm-snackbar .wm-snackbars{position:fixed;bottom:0;left:1.25rem;right:1.25rem;padding:0.25rem 0.625rem 1.875rem;z-index:2001;max-width:35.5rem;max-height:17.5rem;-webkit-overflow-scrolling:touch;overflow:auto}:host .wm-snackbars.empty,wm-snackbar .wm-snackbars.empty{-ms-transition:all 0.25s 0ms cubic-bezier(0.4, 0, 1, 1);-webkit-transition:all 0.25s 0ms cubic-bezier(0.4, 0, 1, 1);-moz-transition:all 0.25s 0ms cubic-bezier(0.4, 0, 1, 1);transition:all 0.25s 0ms cubic-bezier(0.4, 0, 1, 1);padding-top:0;padding-bottom:0}:host .wm-snackbars .wm-snack-wrapper,wm-snackbar .wm-snackbars .wm-snack-wrapper{width:100%;height:100%}:host .wm-snackbars .wm-snack-wrapper:not(:last-child),wm-snackbar .wm-snackbars .wm-snack-wrapper:not(:last-child){margin-bottom:1.25rem}:host .wm-snackbars .wm-snack-wrapper .wm-snackbar,wm-snackbar .wm-snackbars .wm-snack-wrapper .wm-snackbar{-webkit-box-shadow:0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 3px rgba(0, 0, 0, 0.12), 0 4px 15px 0 rgba(0, 0, 0, 0.2);-moz-box-shadow:0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 3px rgba(0, 0, 0, 0.12), 0 4px 15px 0 rgba(0, 0, 0, 0.2);box-shadow:0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 3px rgba(0, 0, 0, 0.12), 0 4px 15px 0 rgba(0, 0, 0, 0.2);display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-ms-transition:all 0.25s 0ms cubic-bezier(0.4, 0, 1, 1);-webkit-transition:all 0.25s 0ms cubic-bezier(0.4, 0, 1, 1);-moz-transition:all 0.25s 0ms cubic-bezier(0.4, 0, 1, 1);transition:all 0.25s 0ms cubic-bezier(0.4, 0, 1, 1);font-size:0.875rem;color:#fff;padding:0.9375rem 1.875rem;background:#4a4a4a;opacity:0;left:0;position:relative;font-family:inherit}:host .wm-snackbars .wm-snack-wrapper .wm-snackbar .link,wm-snackbar .wm-snackbars .wm-snack-wrapper .wm-snackbar .link{letter-spacing:0;text-transform:none;font-size:0.875rem;border:none;background:transparent;padding-left:0;padding-right:0;height:auto;border-radius:0;line-height:1;color:#85dadf;margin:0 3.125rem 0 0.625rem;text-decoration:none;font-weight:600;cursor:pointer}:host .wm-snackbars .wm-snack-wrapper .wm-snackbar .link.new-window::after,wm-snackbar .wm-snackbars .wm-snack-wrapper .wm-snackbar .link.new-window::after{display:inline-block;font:normal normal normal 24px/1 "Material Design Icons";font-size:inherit;text-rendering:auto;line-height:inherit;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:inline;content:"\\f137";margin-left:0.25rem}:host .wm-snackbars .wm-snack-wrapper .wm-snackbar .link:hover,wm-snackbar .wm-snackbars .wm-snack-wrapper .wm-snackbar .link:hover{text-decoration:underline}:host .wm-snackbars .wm-snack-wrapper .wm-snackbar .link:focus,wm-snackbar .wm-snackbars .wm-snack-wrapper .wm-snackbar .link:focus{outline:none;border:none}:host .wm-snackbars .wm-snack-wrapper .wm-snackbar .link::-moz-focus-inner,wm-snackbar .wm-snackbars .wm-snack-wrapper .wm-snackbar .link::-moz-focus-inner{border:0;outline:none}:host .wm-snackbars .wm-snack-wrapper .wm-snackbar:not(:last-child),wm-snackbar .wm-snackbars .wm-snack-wrapper .wm-snackbar:not(:last-child){margin-bottom:1.25rem}:host .wm-snackbars .wm-snack-wrapper .wm-snackbar.active:not(button),wm-snackbar .wm-snackbars .wm-snack-wrapper .wm-snackbar.active:not(button){opacity:1}:host .wm-snackbars .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg,wm-snackbar .wm-snackbars .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;width:100%;position:relative;padding:0}:host .wm-snackbars .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg .msgtext,wm-snackbar .wm-snackbars .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg .msgtext{width:100%}:host .wm-snackbars .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg .closesnack,wm-snackbar .wm-snackbars .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg .closesnack{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;-webkit-border-radius:50%;-moz-border-radius:50%;-ms-border-radius:50%;border-radius:50%;background-color:#3b3b3b;color:#ffffff;cursor:pointer;border:none;font-size:1rem;padding:0;height:auto;line-height:1;min-width:2.75rem;min-height:2.75rem;text-align:center;letter-spacing:normal}@media screen and (min-width: 48rem){:host .wm-snackbars .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg .closesnack,wm-snackbar .wm-snackbars .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg .closesnack{min-width:1.875rem;min-height:1.875rem}}:host .wm-snackbars .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg .closesnack:before,wm-snackbar .wm-snackbars .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg .closesnack:before{display:inline-block;font:normal normal normal 24px/1 "Material Design Icons";font-size:inherit;text-rendering:auto;line-height:inherit;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"\\f156"}:host .wm-snackbars .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg .closesnack:hover,wm-snackbar .wm-snackbars .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg .closesnack:hover{background-color:#fff;color:#4a4a4a}:host .wm-snackbars .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg .closesnack:focus,wm-snackbar .wm-snackbars .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg .closesnack:focus{outline:none}:host .wm-snackbars .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg .closesnack::-moz-focus-inner,wm-snackbar .wm-snackbars .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg .closesnack::-moz-focus-inner{border:0;outline:none}:host .wm-snackbars .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg .closesnack:active,wm-snackbar .wm-snackbars .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg .closesnack:active{-ms-transform:scale(0.9, 0.9);-webkit-transform:scale(0.9, 0.9);-moz-transform:scale(0.9, 0.9);transform:scale(0.9, 0.9)}:host .wm-snackbars .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg .closesnack>.tooltip,wm-snackbar .wm-snackbars .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg .closesnack>.tooltip{position:absolute;opacity:0;width:1px;height:1px;overflow:hidden;clip:rect(0, 0, 0, 0);font-size:0.875rem;text-transform:none;font-weight:normal;background:black;color:#fff;padding:0;line-height:normal;z-index:30}:host .wm-snackbars .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg .closesnack:hover>.tooltip,:host .wm-snackbars .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg .closesnack.user-is-tabbing:focus>.tooltip,wm-snackbar .wm-snackbars .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg .closesnack:hover>.tooltip,wm-snackbar .wm-snackbars .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg .closesnack.user-is-tabbing:focus>.tooltip{clip:auto;width:auto;height:auto;opacity:1;-webkit-transition:opacity 500ms 500ms;transition:opacity 500ms 500ms;padding:0.375rem;top:2.75rem;left:2.75rem;white-space:nowrap;-webkit-transform:translateX(-50%);transform:translateX(-50%)}@media screen and (min-width: 48rem){:host .wm-snackbars .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg .closesnack:hover>.tooltip,:host .wm-snackbars .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg .closesnack.user-is-tabbing:focus>.tooltip,wm-snackbar .wm-snackbars .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg .closesnack:hover>.tooltip,wm-snackbar .wm-snackbars .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg .closesnack.user-is-tabbing:focus>.tooltip{top:2.0625rem;left:auto}}:host .wm-snackbars .wm-snack-wrapper .wm-snackbar .sr-only,wm-snackbar .wm-snackbars .wm-snack-wrapper .wm-snackbar .sr-only{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;border:0 !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;-webkit-clip-path:inset(50%) !important;clip-path:inset(50%) !important;white-space:nowrap !important;margin:-1px !important;top:0;left:0}:host .sr-only,wm-snackbar .sr-only{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;border:0 !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;-webkit-clip-path:inset(50%) !important;clip-path:inset(50%) !important;white-space:nowrap !important;margin:-1px !important;top:0;left:0}.user-is-tabbing .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg .closesnack:focus:not(:active)>.tooltip{clip:auto;width:auto;height:auto;opacity:1;-webkit-transition:opacity 500ms 500ms;transition:opacity 500ms 500ms;padding:0.375rem;top:2.75rem;left:2.75rem;white-space:nowrap;-webkit-transform:translateX(-50%);transform:translateX(-50%)}@media screen and (min-width: 48rem){.user-is-tabbing .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg .closesnack:focus:not(:active)>.tooltip{top:2.0625rem;left:auto}}.user-is-tabbing .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg .link:focus:not(:active){outline:none;background:-webkit-gradient(linear, left top, right top, color-stop(66%, #85dadf), color-stop(0, transparent)) repeat-x;background:linear-gradient(90deg, #85dadf 66%, transparent 0) repeat-x;background-size:0.375rem 0.1875rem;background-position:0 1em;border-radius:0;line-height:normal}';const o=class{constructor(n){a(this,n);this.wmSnackbarSnackFinished=s(this,"wmSnackbarSnackFinished",7);this.userFinishedSnack=s(this,"userFinishedSnack",7);this.wmSnackbarActionTriggered=s(this,"wmSnackbarActionTriggered",7);this.userTriggeredAction=s(this,"userTriggeredAction",7);this.parsedNotifications=[];this.isTabbing=false;this.timers=[];this.newNotification=false;this.newWindowMessage=t.formatMessage({id:"global.newWindowLink",defaultMessage:"Opens in a new window."});this.notifications="[]"}updateSnacks(a){const s=JSON.parse(a);const n=s.length;const r=this.parsedNotifications.length;this.parsedNotifications=[];for(let a=0;a<n;a++){let n={id:s[a].id.toString(),message:s[a].message.toString(),link:s[a].link.toString(),newWindow:!!s[a].newWindow};this.parsedNotifications=[...this.parsedNotifications,n]}if(r<this.parsedNotifications.length){const a=window.setTimeout((()=>this.snackExpired()),2e4);this.timers=[a,...this.timers];this.storeElToFocusOnDismiss();this.newNotification=true}else{this.newNotification=false}}componentWillLoad(){this.uid=this.el.id?this.el.id:i()}componentDidUpdate(){this.isTabbing&&this.newNotification&&this.focusLinkAndDisableTimer();this.newNotification=false}checkForTabbing(a){if(a.key==="Tab"){this.toggleTabbingOn()}}handleMouse(){this.toggleTabbingOff()}focusLinkAndDisableTimer(){const a=this.parsedNotifications[0];if(a.link){let s=this.el.shadowRoot.querySelector(`#action-${a.id}`);s.focus();this.stopTimer(a)}}toggleTabbingOn(){this.isTabbing=true;this.snackbarEl&&this.snackbarEl.classList.add("user-is-tabbing")}toggleTabbingOff(){this.isTabbing=false;this.snackbarEl&&this.snackbarEl.classList.remove("user-is-tabbing")}storeElToFocusOnDismiss(){let a=document.activeElement;while(a&&a.shadowRoot){a=a.shadowRoot.activeElement}this.focusOnDismiss=a}snackDismissed(a){this.endSnack(a);a.link&&this.isTabbing&&this.focusOnDismiss.focus()}snackExpired(){const a=this.parsedNotifications[this.parsedNotifications.length-1];this.endSnack(a)}endSnack(a){this.stopTimer(a);this.wmSnackbarSnackFinished.emit({id:a.id,message:a.message,link:a.link,newWindow:a.newWindow});this.userFinishedSnack.emit({id:a.id,message:a.message,link:a.link})}snackLinkClicked(a){this.stopTimer(a);this.wmSnackbarActionTriggered.emit({id:a.id,message:a.message,link:a.link,newWindow:a.newWindow});this.userTriggeredAction.emit({id:a.id,message:a.message,link:a.link})}stopTimer(a){this.parsedNotifications.forEach(((s,n)=>{if(s.id===a.id){clearTimeout(this.timers[n]);this.timers=this.timers.filter(((a,s)=>{if(s!==n){return a}}))}}))}renderSnackbars(){return this.parsedNotifications.map((a=>n("div",{class:"wm-snack-wrapper"},n("div",{id:`snack-${this.uid}`,class:"wm-snackbar active neutral"},n("div",{class:"sr-only",tabindex:a.link?0:-1,onFocus:()=>a.link&&this.snackDismissed(a)}),n("div",{class:"wm-snackbarmsg"},n("div",{class:"msgtext"},n("span",null,a.message),a.link&&n("a",{id:`action-${a.id}`,class:`link ${a.newWindow?"new-window":""}`,"aria-label":`Click to ${a.link}...${a.newWindow?" "+this.newWindowMessage:""}`,tabindex:0,onClick:()=>{this.snackLinkClicked(a)},onKeyDown:s=>s.key==="Enter"&&this.snackLinkClicked(a)},n("span",{"aria-hidden":"true"},a.link))),n("button",{id:`close-button-${a.id}`,"aria-label":"Close this notification",class:"closesnack",tabindex:a.link?0:-1,onClick:()=>this.snackDismissed(a)},n("span",{class:"tooltip","aria-hidden":"true"},"Close"))),n("div",{class:"sr-only",tabindex:a.link?0:-1,onFocus:()=>a.link&&this.snackDismissed(a)})))))}renderLiveRegion(){const a=this.parsedNotifications[0];const s=this.isTabbing?"":a.link;const n=`${a.message} ${s}`;const r=this.el.shadowRoot.querySelector(`#wm-live-region-${this.uid}`);if(r){r.innerHTML="";const a=document.createElement("span");a.innerHTML=n;r.appendChild(a)}}render(){this.newNotification&&this.renderLiveRegion();const a=this.renderSnackbars();const s=this.parsedNotifications.length===0?"empty":"";return n("div",{ref:a=>this.snackbarEl=a,class:`wm-snackbars ${s}`},n("div",{class:"sr-only","aria-live":"polite","aria-atomic":"false",id:`wm-live-region-${this.uid}`}),a)}get el(){return r(this)}static get watchers(){return{notifications:["updateSnacks"]}}};o.style=e;export{o as wm_snackbar};
|
|
2
|
+
//# sourceMappingURL=p-edae6ef2.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["wmSnackbarCss","Snackbar","this","parsedNotifications","isTabbing","timers","newNotification","newWindowMessage","intl","formatMessage","id","defaultMessage","updateSnacks","newValue","parsedData","JSON","parse","length","prevNotificationsLength","i","toString","message","link","newWindow","newTimer","window","setTimeout","snackExpired","storeElToFocusOnDismiss","componentWillLoad","uid","el","generateId","componentDidUpdate","focusLinkAndDisableTimer","checkForTabbing","ev","key","toggleTabbingOn","handleMouse","toggleTabbingOff","latestNotification","shadowRoot","querySelector","focus","stopTimer","snackbarEl","classList","add","remove","triggeringButton","document","activeElement","focusOnDismiss","snackDismissed","notification","endSnack","wmSnackbarSnackFinished","emit","userFinishedSnack","snackLinkClicked","wmSnackbarActionTriggered","userTriggeredAction","forEach","notif","index","clearTimeout","filter","timer","ind","renderSnackbars","map","h","class","tabindex","onFocus","onClick","onKeyDown","renderLiveRegion","srAnnouncement","region","innerHTML","wrapper","createElement","appendChild","render","snackbars","wrappingClass","ref"],"sources":["./src/components/wm-snackbar/wm-snackbar.scss?tag=wm-snackbar&encapsulation=shadow","./src/components/wm-snackbar/wm-snackbar.tsx"],"sourcesContent":[":host,\r\nwm-snackbar {\r\n * {\r\n box-sizing: border-box;\r\n margin: unset; //Edge\r\n }\r\n\r\n .wm-snackbars {\r\n position: fixed;\r\n bottom: rem-calc(0);\r\n left: rem-calc(20);\r\n right: rem-calc(20);\r\n padding: rem-calc(4 10 30);\r\n z-index: 2001;\r\n max-width: rem-calc(568);\r\n max-height: rem-calc(280);\r\n -webkit-overflow-scrolling: touch;\r\n overflow: auto;\r\n\r\n &.empty {\r\n @include transition(all 0.25s 0ms cubic-bezier(0.4, 0, 1, 1));\r\n padding-top: 0;\r\n padding-bottom: 0;\r\n }\r\n\r\n .wm-snack-wrapper {\r\n width: 100%;\r\n height: 100%;\r\n\r\n &:not(:last-child) {\r\n margin-bottom: rem-calc(20);\r\n }\r\n\r\n .wm-snackbar {\r\n @include shadow8;\r\n @include displayFlex;\r\n @include alignItems(center);\r\n @include transition(all 0.25s 0ms cubic-bezier(0.4, 0, 1, 1));\r\n font-size: rem-calc(14);\r\n color: #fff;\r\n padding: rem-calc(15 30);\r\n background: #4a4a4a;\r\n opacity: 0;\r\n left: 0;\r\n position: relative;\r\n font-family: inherit;\r\n\r\n .link {\r\n letter-spacing: 0;\r\n text-transform: none;\r\n font-size: rem-calc(14);\r\n border: none;\r\n background: transparent;\r\n padding-left: 0;\r\n padding-right: 0;\r\n height: auto;\r\n border-radius: 0;\r\n line-height: 1;\r\n color: $snackbar-link-color;\r\n margin: rem-calc(0 50 0 10);\r\n text-decoration: none;\r\n font-weight: 600;\r\n cursor: pointer;\r\n\r\n &.new-window::after {\r\n @include mdi-icon;\r\n display: inline;\r\n content: \"\\f137\";\r\n margin-left: rem-calc(4);\r\n }\r\n\r\n &:hover {\r\n text-decoration: underline;\r\n }\r\n\r\n &:focus {\r\n outline: none;\r\n border: none;\r\n }\r\n\r\n &::-moz-focus-inner {\r\n border: 0;\r\n outline: none;\r\n }\r\n }\r\n\r\n &:not(:last-child) {\r\n margin-bottom: rem-calc(20);\r\n }\r\n\r\n &.active:not(button) {\r\n opacity: 1;\r\n }\r\n\r\n .wm-snackbarmsg {\r\n @include displayFlex;\r\n @include justifyContent(space-between);\r\n @include alignItems(center);\r\n // font-size: rem-calc(14);\r\n width: 100%;\r\n position: relative;\r\n padding: 0;\r\n\r\n .msgtext {\r\n width: 100%;\r\n }\r\n\r\n .closesnack {\r\n @include box-shadow(none);\r\n @include border-radius(50%);\r\n background-color: #3b3b3b;\r\n color: #ffffff;\r\n cursor: pointer;\r\n border: none;\r\n font-size: rem-calc(16);\r\n padding: 0;\r\n height: auto;\r\n line-height: 1;\r\n min-width: rem-calc(44);\r\n min-height: rem-calc(44);\r\n text-align: center;\r\n letter-spacing: normal;\r\n\r\n @media screen and (min-width: rem-calc(768)) {\r\n min-width: rem-calc(30);\r\n min-height: rem-calc(30);\r\n }\r\n\r\n &:before {\r\n @include mdi-icon;\r\n content: \"\\f156\";\r\n }\r\n\r\n &:hover {\r\n background-color: #fff;\r\n color: $snackbar-color;\r\n }\r\n\r\n &:focus {\r\n outline: none;\r\n }\r\n\r\n &::-moz-focus-inner {\r\n border: 0;\r\n outline: none;\r\n }\r\n\r\n &:active {\r\n @include scale($xVal: 0.9, $yVal: 0.9);\r\n }\r\n\r\n > .tooltip {\r\n position: absolute;\r\n opacity: 0;\r\n width: 1px;\r\n height: 1px;\r\n overflow: hidden;\r\n clip: rect(0, 0, 0, 0);\r\n font-size: rem-calc(14);\r\n text-transform: none;\r\n font-weight: normal;\r\n background: black;\r\n color: #fff;\r\n padding: 0;\r\n line-height: normal;\r\n z-index: 30;\r\n }\r\n\r\n &:hover > .tooltip,\r\n &.user-is-tabbing:focus > .tooltip {\r\n clip: auto;\r\n width: auto;\r\n height: auto;\r\n opacity: 1;\r\n transition: opacity 500ms 500ms;\r\n padding: rem-calc(6);\r\n top: rem-calc(44);\r\n left: rem-calc(44);\r\n white-space: nowrap;\r\n transform: translateX(-50%);\r\n @media screen and (min-width: rem-calc(768)) {\r\n top: rem-calc(33);\r\n left: auto;\r\n }\r\n }\r\n }\r\n }\r\n\r\n .sr-only {\r\n @include srOnly;\r\n top: 0;\r\n left: 0;\r\n }\r\n }\r\n }\r\n }\r\n .sr-only {\r\n @include srOnly;\r\n top: 0;\r\n left: 0;\r\n }\r\n}\r\n.user-is-tabbing .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg .closesnack:focus:not(:active) {\r\n @extend %focus-on-dark;\r\n\r\n > .tooltip {\r\n clip: auto;\r\n width: auto;\r\n height: auto;\r\n opacity: 1;\r\n transition: opacity 500ms 500ms;\r\n padding: rem-calc(6);\r\n top: rem-calc(44);\r\n left: rem-calc(44);\r\n white-space: nowrap;\r\n transform: translateX(-50%);\r\n @media screen and (min-width: rem-calc(768)) {\r\n top: rem-calc(33);\r\n left: auto;\r\n }\r\n }\r\n}\r\n\r\n.user-is-tabbing .wm-snack-wrapper .wm-snackbar .wm-snackbarmsg .link:focus:not(:active) {\r\n outline: none;\r\n background: linear-gradient(90deg, $snackbar-link-color 66%, transparent 0) repeat-x;\r\n background-size: rem-calc(6px 3px);\r\n background-position: 0 1em;\r\n border-radius: 0;\r\n line-height: normal;\r\n}\r\n","import { h, Component, Element, Prop, Event, EventEmitter, Watch, Listen } from \"@stencil/core\";\r\nimport { generateId, intl } from \"../../global/functions\";\r\nimport { Notification } from \"../../global/interfaces\";\r\n@Component({\r\n tag: \"wm-snackbar\",\r\n styleUrl: \"wm-snackbar.scss\",\r\n shadow: true,\r\n})\r\nexport class Snackbar {\r\n @Element() el!: HTMLElement;\r\n //Prop receives notifications as JSON string, which is later parsed into an array of objects.\r\n @Prop({ mutable: true, reflect: true }) notifications: string = \"[]\";\r\n\r\n private parsedNotifications: Array<Notification> = []; //Holds the parsed array\r\n private uid!: string;\r\n private focusOnDismiss!: HTMLElement;\r\n private isTabbing: boolean = false; //For screenreader purposes, to ensure link receives focus even after screenreader interprets \"enter\" as a \"click\"\r\n private timers: Array<number> = [];\r\n private newNotification: boolean = false;\r\n private snackbarEl!: HTMLDivElement;\r\n private newWindowMessage = intl.formatMessage({\r\n id: \"global.newWindowLink\",\r\n defaultMessage: \"Opens in a new window.\",\r\n });\r\n\r\n @Event() wmSnackbarSnackFinished!: EventEmitter<Object>;\r\n @Event() userFinishedSnack!: EventEmitter<Object>; // deprecated in favor of wmSnackbarSnackFinished\r\n @Event() wmSnackbarActionTriggered!: EventEmitter<Object>;\r\n @Event() userTriggeredAction!: EventEmitter<Object>; // deprecated in favor of wmSnackbarActionTriggered\r\n\r\n @Watch(\"notifications\")\r\n updateSnacks(newValue: string) {\r\n const parsedData = JSON.parse(newValue);\r\n const length = parsedData.length;\r\n const prevNotificationsLength = this.parsedNotifications.length;\r\n this.parsedNotifications = [];\r\n\r\n //Parse notifications received as props and store a reference to them\r\n for (let i = 0; i < length; i++) {\r\n let newNotification: any = {\r\n id: parsedData[i].id.toString(),\r\n message: parsedData[i].message.toString(),\r\n link: parsedData[i].link.toString(),\r\n newWindow: !!parsedData[i].newWindow,\r\n };\r\n this.parsedNotifications = [...this.parsedNotifications, newNotification];\r\n }\r\n\r\n //If a new notification was added, set a timer and store a reference to the current active element so that if focus must move to the notification, it can return the user where they were once they dismiss the notification.\r\n if (prevNotificationsLength < this.parsedNotifications.length) {\r\n const newTimer = window.setTimeout(() => this.snackExpired(), 20000);\r\n this.timers = [newTimer, ...this.timers];\r\n this.storeElToFocusOnDismiss();\r\n this.newNotification = true;\r\n } else {\r\n this.newNotification = false;\r\n }\r\n }\r\n\r\n componentWillLoad() {\r\n this.uid = this.el.id ? this.el.id : generateId();\r\n }\r\n\r\n //A change in the notificaiton prop will trigger the update function. The update's only role is to determine how focus should be managed when a notification is added.\r\n componentDidUpdate() {\r\n //If the user is tabbing and there's a new notification, focus the link and disable timer.\r\n this.isTabbing && this.newNotification && this.focusLinkAndDisableTimer();\r\n this.newNotification = false;\r\n }\r\n\r\n @Listen(\"keydown\", { target: \"document\" })\r\n checkForTabbing(ev: KeyboardEvent) {\r\n if (ev.key === \"Tab\") {\r\n this.toggleTabbingOn();\r\n }\r\n }\r\n\r\n //Workaround for screenreader's triggering click event on \"enter\".\r\n @Listen(\"mouseover\", { target: \"document\" })\r\n handleMouse() {\r\n this.toggleTabbingOff();\r\n }\r\n\r\n focusLinkAndDisableTimer() {\r\n //If the new notification has a link, focus the link and clear the timeout. This is for accessibility purposes, for keyboard/screenreader users.\r\n const latestNotification = this.parsedNotifications[0];\r\n\r\n if (latestNotification.link) {\r\n let link = this.el.shadowRoot!.querySelector(`#action-${latestNotification.id}`) as HTMLAnchorElement;\r\n link.focus();\r\n this.stopTimer(latestNotification);\r\n }\r\n }\r\n\r\n toggleTabbingOn() {\r\n this.isTabbing = true;\r\n this.snackbarEl && this.snackbarEl.classList.add(\"user-is-tabbing\");\r\n }\r\n\r\n toggleTabbingOff() {\r\n this.isTabbing = false;\r\n this.snackbarEl && this.snackbarEl.classList.remove(\"user-is-tabbing\");\r\n }\r\n\r\n storeElToFocusOnDismiss() {\r\n let triggeringButton = document.activeElement! as HTMLElement;\r\n while (triggeringButton && triggeringButton.shadowRoot) {\r\n triggeringButton = triggeringButton.shadowRoot.activeElement as HTMLButtonElement;\r\n }\r\n this.focusOnDismiss = triggeringButton;\r\n }\r\n\r\n snackDismissed(notification: Notification) {\r\n this.endSnack(notification);\r\n //Focus should only be returned if it was moved in the first place, i.e., there was a link and the user was tabbing. Otherwise, for a mouse user, the user's focus would jump back to the triggering element.\r\n notification.link && this.isTabbing && this.focusOnDismiss.focus();\r\n }\r\n\r\n //Remove snack from notification list once timer runs out\r\n snackExpired() {\r\n const notification = this.parsedNotifications[this.parsedNotifications.length - 1];\r\n this.endSnack(notification);\r\n }\r\n\r\n endSnack(notification: Notification) {\r\n //App listens for userFinishedSnack event and deletes the emitted notification.\r\n this.stopTimer(notification);\r\n this.wmSnackbarSnackFinished.emit({\r\n id: notification.id,\r\n message: notification.message,\r\n link: notification.link,\r\n newWindow: notification.newWindow,\r\n });\r\n // deprecated\r\n this.userFinishedSnack.emit({\r\n id: notification.id,\r\n message: notification.message,\r\n link: notification.link,\r\n });\r\n }\r\n\r\n snackLinkClicked(notification: Notification) {\r\n //App listens for userTriggeredAction event, deletes emitted notification, and takes over focus.\r\n this.stopTimer(notification);\r\n this.wmSnackbarActionTriggered.emit({\r\n id: notification.id,\r\n message: notification.message,\r\n link: notification.link,\r\n newWindow: notification.newWindow,\r\n });\r\n // deprecated\r\n this.userTriggeredAction.emit({\r\n id: notification.id,\r\n message: notification.message,\r\n link: notification.link,\r\n });\r\n }\r\n\r\n //Delete the timer corresponding to the dismissed notification\r\n stopTimer(notification: Notification) {\r\n this.parsedNotifications.forEach((notif, index) => {\r\n if (notif.id === notification.id) {\r\n clearTimeout(this.timers[index]);\r\n this.timers = this.timers.filter((timer, ind) => {\r\n if (ind !== index) {\r\n return timer;\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n renderSnackbars() {\r\n return this.parsedNotifications.map((notification) => (\r\n <div class=\"wm-snack-wrapper\">\r\n <div id={`snack-${this.uid}`} class=\"wm-snackbar active neutral\">\r\n <div\r\n class=\"sr-only\"\r\n tabindex={notification.link ? 0 : -1}\r\n onFocus={() => notification.link && this.snackDismissed(notification)}\r\n />\r\n\r\n <div class=\"wm-snackbarmsg\">\r\n <div class=\"msgtext\">\r\n <span>{notification.message}</span>\r\n {notification.link && (\r\n <a\r\n id={`action-${notification.id}`}\r\n class={`link ${notification.newWindow ? \"new-window\" : \"\"}`}\r\n aria-label={`Click to ${notification.link}...${\r\n notification.newWindow ? \" \" + this.newWindowMessage : \"\"\r\n }`}\r\n tabindex={0}\r\n onClick={() => {\r\n this.snackLinkClicked(notification);\r\n }}\r\n onKeyDown={(ev: KeyboardEvent) => ev.key === \"Enter\" && this.snackLinkClicked(notification)}\r\n >\r\n <span aria-hidden=\"true\">{notification.link}</span>\r\n </a>\r\n )}\r\n </div>\r\n <button\r\n id={`close-button-${notification.id}`}\r\n aria-label=\"Close this notification\"\r\n class=\"closesnack\"\r\n tabindex={notification.link ? 0 : -1}\r\n onClick={() => this.snackDismissed(notification)}\r\n >\r\n <span class=\"tooltip\" aria-hidden=\"true\">\r\n Close\r\n </span>\r\n </button>\r\n </div>\r\n <div\r\n class=\"sr-only\"\r\n tabindex={notification.link ? 0 : -1}\r\n onFocus={() => notification.link && this.snackDismissed(notification)}\r\n />\r\n </div>\r\n </div>\r\n ));\r\n }\r\n\r\n renderLiveRegion() {\r\n const latestNotification = this.parsedNotifications[0];\r\n const link = this.isTabbing ? \"\" : latestNotification.link;\r\n const srAnnouncement = `${latestNotification.message} ${link}`;\r\n\r\n const region = this.el.shadowRoot!.querySelector(`#wm-live-region-${this.uid}`) as HTMLElement;\r\n\r\n if (region) {\r\n region.innerHTML = \"\";\r\n const wrapper = document.createElement(\"span\");\r\n wrapper.innerHTML = srAnnouncement;\r\n region.appendChild(wrapper);\r\n }\r\n }\r\n\r\n render() {\r\n this.newNotification && this.renderLiveRegion();\r\n const snackbars = this.renderSnackbars();\r\n const wrappingClass = this.parsedNotifications.length === 0 ? \"empty\" : \"\";\r\n\r\n return (\r\n <div ref={(el) => (this.snackbarEl = el as HTMLDivElement)} class={`wm-snackbars ${wrappingClass}`}>\r\n <div class=\"sr-only\" aria-live=\"polite\" aria-atomic=\"false\" id={`wm-live-region-${this.uid}`}></div>\r\n {snackbars}\r\n </div>\r\n );\r\n }\r\n}\r\n"],"mappings":"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"}
|