@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":["wmTagInputCss","TagInput","this","uid","el","id","generateId","openUp","tooltipVisible","tagAreaInstructions","intl","formatMessage","defaultMessage","maxTagsReachedMessage","debouncedUpdate","debounce","forceUpdate","row","column","csvToArray","selectedTags","options","focusedElement","shadowRoot","activeElement","listItemEls","Array","from","dropdownEl","querySelectorAll","tagEls","tagAreaEl","nonLockedTagEls","filter","tag","classList","contains","optionEls","wmRowEls","localRowEls","filteredRows","colValues","col1","col2","col3","col4","join","toLowerCase","inputEl","value","includes","nonLockedTagsList","list","tagInputType","tagsList","forEach","correspondingRowEl","locked","push","tagLimitReached","maxTags","length","noResultsMessage","description","inputMinimumWidth","inputElStyles","getComputedStyle","tagElStyles","inputElBuffer","paddingLeft","paddingRight","marginLeft","marginRight","reduce","prev","curr","parseInt","replace","minimumWidth","Math","max","measureText","placeholder","width","generateTagAddedMessage","tagName","generateTagAlreadyAddedMessage","generateTagCounterMessage","x","y","generateCharacterLimitLabel","characterLimit","limit","componentWillLoad","createPlaceholderDefault","addNew","label","console","error","consolidateSelectedTags","focus","firstFocusableTag","focusTag","resizeObserver","ResizeObserver","observe","componentDidLoad","remove","componentDidRender","positionInput","includesCaseInsensitive","optionsList","hasOptions","addAndSearchPlaceholder","searchPlaceholder","addPlaceholder","reflectSelectedTags","newValue","oldValue","isAddition","changedTag","val","map","querySelector","listToCSV","detail","tagChanged","wmTagInputChanged","emit","handleRowUpdate","closeIfNotElOrChild","ev","isntElOrChild","target","isExpanded","closeDropdown","dismissTooltip","hideTooltip","handleInputKeyDown","test","key","announceCharacterLimitWarning","stopPropagation","preventDefault","handleInputEnter","handleInputArrowDown","handleInputArrowUp","tablePosition","moveLeftCell","moveRightCell","handleInputBackspace","handleInputFocus","openDropdown","clearListItemFocus","handleInputChanged","charCount","clearCellFocus","announceExistingOptions","focusedListItem","handleListItemClick","submitInput","trim","handleTableRowClick","canAddNew","hasNonWhiteSpaceCharacters","match","addTag","addOption","resetInput","moveDownRow","moveDownListItem","moveUpRow","moveUpListItem","window","requestAnimationFrame","handleListItemKeyDown","typedEvTarget","click","item","dataset","option","announce","rowId","referencedRow","isLocked","removeTag","handleTagAreaKeyDown","moveLeftTag","moveRightTag","handleTagAreaDelete","focusedTag","handleBlur","component","relatedTarget","fieldWrapperEl","handleCellMouseEnter","cell","contentWrapper","isTruncated","scrollWidth","clientWidth","showTooltip","innerText","handleTagAreaFocus","handleRemoveButtonClick","firstListItem","focusListItem","nextElementSibling","lastListItem","previousElementSibling","rowToFocus","focusCell","numCols","colHeaders","lastTag","firstTag","newOptionsList","optionAlreadyExists","concat","removeOption","filterCaseInsensitive","newTagsList","tagAlreadyAdded","tagExistsAsOption","textToAnnounce","tagRemovedMessage","devOptionsList","setAttribute","scrollIntoView","block","element","position","rowCells","cellToFocus","add","clearTagFocus","resetPosition","shouldOpenUp","clientHeight","message","liveRegionEl","textContent","liveRegionMessage","numResults","existingOptionsMessage","num","charLimit","charactersEnteredMessage","characterLimitReachedMessage","style","spaceAvailable","getBoundingClientRect","right","top","offsetTop","toString","lowercaseList","str","sortCaseInsensitive","sort","a","b","renderTags","lockedTags","unlockedTags","idx","tagText","targetList","h","class","role","tabIndex","onClick","renderDropdown","ref","renderHelpText","tabindex","renderAddNewButton","renderListItems","isFocused","isSelected","onKeyDown","onBlur","helpTextHasOptions","helpTextEditable","helpText","renderTagCounter","renderTable","onScroll","colWidths","renderTableHeaders","renderTableRows","header","overflowRule","colWrap","renderTableCells","localId","onMouseEnter","onMouseLeave","render","Host","labelPosition","htmlFor","onFocus","autocomplete","maxLength","undefined","onInput","info"],"sources":["./src/components/wm-tag-input/wm-tag-input.scss?tag=wm-tag-input&encapsulation=shadow","./src/components/wm-tag-input/wm-tag-input.tsx"],"sourcesContent":[":host,\r\nwm-tag-input {\r\n font-family: inherit;\r\n width: 100%;\r\n display: block;\r\n\r\n * {\r\n box-sizing: border-box;\r\n font-size: 14px;\r\n }\r\n\r\n @include label;\r\n\r\n .wrapper {\r\n width: 100%;\r\n height: 100%;\r\n position: relative;\r\n }\r\n\r\n .field-wrapper {\r\n position: relative;\r\n width: 100%;\r\n border: 1px solid $input-border-color;\r\n @include border-radius(3px);\r\n\r\n &.focused {\r\n @include field-focus;\r\n }\r\n }\r\n\r\n .character-count {\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n min-width: rem-calc(80);\r\n background-color: rgba(74, 74, 74, 0.05);\r\n font-size: rem-calc(14);\r\n font-weight: 500;\r\n align-self: stretch;\r\n }\r\n\r\n .tags-and-input-wrapper {\r\n position: relative;\r\n width: 100%;\r\n padding: rem-calc(8) rem-calc(4) rem-calc(8) 0;\r\n margin-bottom: rem-calc(-8);\r\n }\r\n\r\n .upper-row {\r\n width: 100%;\r\n display: flex;\r\n flex: 1;\r\n justify-content: space-between;\r\n &:before {\r\n align-self: flex-start;\r\n @include mdi-icon;\r\n content: \"\\f349\"; // magnifying glass\r\n color: $tag-input-search-icon-color;\r\n padding: rem-calc(12) rem-calc(8) rem-calc(12) rem-calc(12);\r\n }\r\n }\r\n\r\n .lower-row {\r\n width: 100%;\r\n min-height: rem-calc(30);\r\n }\r\n\r\n #max-tags {\r\n display: flex;\r\n align-items: center;\r\n min-height: rem-calc(30);\r\n background-color: $tag-input-max-tags-bg;\r\n padding: rem-calc(8) rem-calc(16);\r\n color: $tag-input-max-tags-color;\r\n font-size: rem-calc(14);\r\n border-top: 1px solid $tag-input-max-tags-border;\r\n border-radius: 0 0 3px 3px;\r\n }\r\n\r\n .tag-area {\r\n display: flex;\r\n flex-wrap: wrap;\r\n margin: 0;\r\n padding: 0;\r\n\r\n &:focus {\r\n outline: none;\r\n }\r\n\r\n [role=\"option\"] {\r\n display: inline-flex;\r\n align-items: center;\r\n height: rem-calc(28);\r\n list-style: none;\r\n color: $charcoal;\r\n background-color: rgba(3, 0, 0, 0.1);\r\n padding: rem-calc(8) rem-calc(10);\r\n margin-bottom: rem-calc(8);\r\n margin-right: rem-calc(4);\r\n margin-left: rem-calc(4);\r\n transition: background-color 0.3s cubic-bezier(0.4, 0, 0.2, 1);\r\n white-space: pre;\r\n\r\n &.highlight {\r\n animation: fadeIn 1s;\r\n @keyframes fadeIn {\r\n 0% {\r\n background-color: rgba(3, 0, 0, 0.1);\r\n }\r\n 50% {\r\n background-color: #c8dfcc;\r\n }\r\n\r\n 100% {\r\n background-color: rgba(3, 0, 0, 0.1);\r\n }\r\n }\r\n }\r\n\r\n &.focused {\r\n background-color: #d1d1d1;\r\n }\r\n\r\n &.locked {\r\n background-color: $tag-input-locked-tag-bg;\r\n color: white;\r\n }\r\n\r\n .icon {\r\n display: inline-flex;\r\n justify-content: center;\r\n align-items: center;\r\n height: rem-calc(20);\r\n width: rem-calc(20);\r\n padding: 0;\r\n margin-left: rem-calc(8);\r\n &.remove-btn {\r\n border: 1px solid $periwinkle;\r\n color: $periwinkle;\r\n border-radius: 50%;\r\n cursor: pointer;\r\n transition: background-color 500ms cubic-bezier(0.4, 0, 0.2, 1), color 500ms cubic-bezier(0.4, 0, 0.2, 1);\r\n\r\n &:hover {\r\n color: white;\r\n background-color: $periwinkle;\r\n }\r\n\r\n &:before {\r\n @include mdi-icon;\r\n content: \"\\f156\";\r\n }\r\n }\r\n\r\n &.lock {\r\n color: white;\r\n &:before {\r\n @include mdi-icon;\r\n content: \"\\f341\";\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n input {\r\n font-family: inherit;\r\n border: none;\r\n height: rem-calc(28);\r\n padding: 0;\r\n margin-bottom: rem-calc(8);\r\n margin-right: rem-calc(4);\r\n padding-left: rem-calc(8);\r\n right: 0px;\r\n\r\n &.hidden {\r\n display: none;\r\n }\r\n &:focus {\r\n outline: none;\r\n }\r\n }\r\n\r\n .dropdown-wrapper {\r\n margin: 0;\r\n padding: 0;\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: calc(100% + 2px);\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 .dropdown {\r\n -webkit-overflow-scrolling: touch;\r\n overflow: auto;\r\n max-height: rem-calc(200);\r\n margin: 0;\r\n padding: 0;\r\n }\r\n\r\n &.open {\r\n @include scale($xVal: 1, $yVal: 1);\r\n }\r\n\r\n &.upwards {\r\n top: unset;\r\n bottom: calc(100% + 2px);\r\n @include transformOrigin(center bottom);\r\n }\r\n\r\n li,\r\n div {\r\n display: flex;\r\n align-items: center;\r\n padding: 0 rem-calc(16);\r\n background: #fff;\r\n list-style: none;\r\n height: rem-calc(43);\r\n white-space: pre;\r\n\r\n &[role=\"option\"],\r\n &.add-new-btn {\r\n cursor: pointer;\r\n color: $periwinkle;\r\n font-weight: bold;\r\n width: 100%;\r\n border: none;\r\n\r\n &[aria-selected=\"true\"] {\r\n color: $gray;\r\n font-style: italic;\r\n font-weight: normal;\r\n cursor: unset;\r\n }\r\n &:hover:not([aria-selected=\"true\"]),\r\n &.focused {\r\n outline: none;\r\n background: $background;\r\n }\r\n }\r\n\r\n &.help-text {\r\n color: $charcoal;\r\n min-height: rem-calc(43);\r\n padding-top: rem-calc(4);\r\n padding-bottom: rem-calc(4);\r\n white-space: normal;\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 .info-text {\r\n font-style: italic;\r\n margin-top: rem-calc(4);\r\n }\r\n\r\n .table-wrapper {\r\n min-height: rem-calc(160);\r\n overflow: auto;\r\n margin-top: rem-calc(24);\r\n\r\n #table {\r\n width: 100%;\r\n border-spacing: 0px;\r\n &.fixed-widths {\r\n table-layout: fixed;\r\n }\r\n\r\n .headers {\r\n height: rem-calc(40);\r\n background-color: #eeedf4;\r\n th {\r\n text-align: left;\r\n font-size: rem-calc(12);\r\n font-weight: 700;\r\n text-transform: uppercase;\r\n padding: 0 rem-calc(24);\r\n }\r\n }\r\n }\r\n\r\n tr {\r\n // the following colors are in a css-specificity order, do not move\r\n &:nth-child(even) {\r\n background-color: $tag-input-row-zebra-bg;\r\n }\r\n\r\n &.selected {\r\n background-color: $tag-input-row-selected-bg;\r\n // box-shadow to add border without affecting surrounding cell borders\r\n box-shadow: inset 0 0 0 1px $tag-input-row-selected-border;\r\n font-weight: 500;\r\n }\r\n\r\n &.focused:not(.locked),\r\n &:hover:not(.locked) {\r\n background-color: $tag-input-row-focused;\r\n box-shadow: none;\r\n }\r\n\r\n &.locked {\r\n td {\r\n cursor: auto;\r\n }\r\n\r\n td:first-child {\r\n .cell-content-wrapper:before {\r\n @include mdi-icon;\r\n content: \"\\f33e\";\r\n margin-right: rem-calc(8);\r\n color: $tag-input-row-lock-color;\r\n }\r\n }\r\n }\r\n }\r\n\r\n td {\r\n height: rem-calc(60);\r\n vertical-align: middle;\r\n padding: 0 rem-calc(24);\r\n cursor: pointer;\r\n &.focused {\r\n // from wm-navigation\r\n box-shadow: inset 0 2px 2px 0 rgb(244 243 246 / 20%), inset 0 2px 2px 0 rgb(0 0 0 / 10%),\r\n inset 0 0 4px 3px #61279e;\r\n }\r\n .cell-content-wrapper.trunc {\r\n white-space: nowrap;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n }\r\n\r\n .description {\r\n display: none;\r\n }\r\n }\r\n }\r\n\r\n .no-results {\r\n padding: rem-calc(20) rem-calc(24);\r\n }\r\n\r\n .sr-only {\r\n @include srOnly;\r\n }\r\n}\r\n","import {\r\n h,\r\n Component,\r\n Host,\r\n Element,\r\n Prop,\r\n Listen,\r\n State,\r\n Event,\r\n EventEmitter,\r\n Watch,\r\n forceUpdate,\r\n} from \"@stencil/core\";\r\nimport {\r\n csvToArray,\r\n debounce,\r\n generateId,\r\n hideTooltip,\r\n intl,\r\n measureText,\r\n shouldOpenUp,\r\n showTooltip,\r\n} from \"../../global/functions\";\r\n\r\ninterface TablePosition {\r\n row: number;\r\n column: number;\r\n}\r\n\r\n@Component({\r\n tag: \"wm-tag-input\",\r\n styleUrl: \"wm-tag-input.scss\",\r\n shadow: { delegatesFocus: true },\r\n})\r\nexport class TagInput {\r\n @Element() el!: HTMLWmTagInputElement;\r\n private inputEl!: HTMLInputElement;\r\n private dropdownEl!: HTMLDivElement;\r\n private tagAreaEl!: HTMLUListElement;\r\n private liveRegionEl!: HTMLDivElement;\r\n private fieldWrapperEl!: HTMLDivElement;\r\n\r\n @Prop() label!: string;\r\n @Prop() labelPosition: \"top\" | \"left\" | \"none\" = \"top\";\r\n @Prop({ mutable: true }) options: string = \"\"; // csv\r\n @Prop({ reflect: true, mutable: true }) selectedTags: string = \"\"; // csv\r\n @Prop() info?: string;\r\n @Prop() addNew: boolean = true;\r\n @Prop({ mutable: true }) placeholder?: string;\r\n @Prop() characterLimit: number = 50;\r\n @Prop() maxTags?: number;\r\n @Prop() tagInputType: \"dropdown\" | \"table\" = \"dropdown\";\r\n @Prop() colHeaders!: string;\r\n @Prop() colWidths?: string;\r\n @Prop() colWrap?: string;\r\n @Event() wmTagInputChanged!: EventEmitter<{\r\n value: string[] | HTMLWmTagInputRowElement[];\r\n tagChanged: string | HTMLWmTagInputRowElement;\r\n }>;\r\n\r\n private uid: string = this.el.id ? this.el.id : generateId();\r\n private openUp: boolean = false;\r\n private tooltipVisible: boolean = false;\r\n @State() focusedListItem!: HTMLLIElement | null;\r\n @State() focusedTag: HTMLLIElement | null = null;\r\n @State() tablePosition: TablePosition = { row: 0, column: 1 };\r\n @State() isExpanded: boolean = false;\r\n @State() tagsList: string[] = csvToArray(this.selectedTags);\r\n @State() optionsList: string[] = csvToArray(this.options);\r\n @State() charCount: number = 0;\r\n @State() liveRegionMessage = \"\";\r\n private tagAreaInstructions = intl.formatMessage({\r\n id: \"tagInput.tagAreaInstructions\",\r\n defaultMessage: \"tag selection. Press Backspace or Delete to remove a tag.\",\r\n });\r\n private maxTagsReachedMessage = intl.formatMessage({\r\n id: \"tagInput.maxTagsReached\",\r\n defaultMessage: \"No more tags can be added because the limit has been reached.\",\r\n });\r\n\r\n get focusedElement(): Element | null {\r\n return this.el.shadowRoot!.activeElement;\r\n }\r\n get listItemEls(): HTMLLIElement[] {\r\n return Array.from(this.dropdownEl.querySelectorAll(\"li\"));\r\n }\r\n get tagEls(): HTMLLIElement[] {\r\n return this.tagAreaEl ? Array.from(this.tagAreaEl.querySelectorAll(\".tag\")) : [];\r\n }\r\n get nonLockedTagEls(): HTMLLIElement[] {\r\n return this.tagEls.filter((tag) => !tag.classList.contains(\"locked\"));\r\n }\r\n get optionEls(): HTMLLIElement[] {\r\n return Array.from(this.dropdownEl.querySelectorAll(\".option\"));\r\n }\r\n get wmRowEls(): HTMLWmTagInputRowElement[] {\r\n return Array.from(this.el.querySelectorAll(\"wm-tag-input-row\"));\r\n }\r\n get localRowEls(): HTMLElement[] {\r\n return Array.from(this.el.shadowRoot!.querySelectorAll(\"tr\"));\r\n }\r\n get filteredRows(): HTMLWmTagInputRowElement[] {\r\n return this.wmRowEls.filter((row) => {\r\n const colValues = [row.col1, row.col2, row.col3, row.col4].join(\"\").toLowerCase();\r\n return this.inputEl && this.inputEl.value ? colValues.includes(this.inputEl.value.toLowerCase()) : true;\r\n });\r\n }\r\n get nonLockedTagsList() {\r\n let list: string[] = [];\r\n\r\n if (this.tagInputType === \"table\") {\r\n this.tagsList.forEach((id) => {\r\n const correspondingRowEl = this.wmRowEls.filter((row) => id === row.id)[0];\r\n if (!correspondingRowEl.locked) {\r\n list.push(id);\r\n }\r\n });\r\n } else if (this.tagInputType === \"dropdown\") {\r\n list = this.tagsList;\r\n }\r\n\r\n return list;\r\n }\r\n get tagLimitReached(): boolean {\r\n return !!(this.maxTags && this.tagsList.length >= this.maxTags);\r\n }\r\n\r\n get noResultsMessage() {\r\n return intl.formatMessage({\r\n id: \"tagInput.noResults\",\r\n defaultMessage: \"No results match your search.\",\r\n description: \"Message displayed when a user's search returns empty.\",\r\n });\r\n }\r\n\r\n get inputMinimumWidth(): number {\r\n // 150px is the minimum width of the input field, or the length of the placeholder text\r\n const inputElStyles = getComputedStyle(this.inputEl);\r\n const tagElStyles = getComputedStyle(this.tagEls[this.tagEls.length - 1]);\r\n const inputElBuffer = [\r\n inputElStyles.paddingLeft,\r\n inputElStyles.paddingRight,\r\n inputElStyles.marginLeft,\r\n inputElStyles.marginRight,\r\n tagElStyles.marginRight,\r\n ].reduce((prev, curr) => prev + parseInt(curr.replace(\"px\", \"\")), 0);\r\n\r\n const minimumWidth = Math.max(150, measureText(this.inputEl, this.placeholder!).width + inputElBuffer);\r\n return minimumWidth;\r\n }\r\n\r\n generateTagAddedMessage(tag: string): string {\r\n return intl.formatMessage(\r\n {\r\n id: \"tagInput.tagAdded\",\r\n defaultMessage: \"{tagName} added.\",\r\n description: \"A confirmation for adding a tag.\",\r\n },\r\n { tagName: tag }\r\n );\r\n }\r\n\r\n generateTagAlreadyAddedMessage(tag: string): string {\r\n return intl.formatMessage(\r\n {\r\n id: \"tagInput.tagAlreadyAdded\",\r\n defaultMessage: \"{tagName} has already been added.\",\r\n description: \"An alert for adding a tag that is already present.\",\r\n },\r\n { tagName: tag }\r\n );\r\n }\r\n\r\n generateTagCounterMessage(x: number, y: number) {\r\n return intl.formatMessage(\r\n {\r\n id: \"tagInput.tagsAddedCounter\",\r\n defaultMessage: \"Tags added: {x, number}/{y, number}\",\r\n description: \"For the user to understand how close they are to the tag limit.\",\r\n },\r\n {\r\n x: x,\r\n y: y,\r\n }\r\n );\r\n }\r\n\r\n generateCharacterLimitLabel(characterLimit: number): string {\r\n return intl.formatMessage(\r\n {\r\n id: \"global.characterLimit\",\r\n defaultMessage: \"{limit, number} characters allowed.\",\r\n description: \"for screen readers\",\r\n },\r\n { limit: characterLimit }\r\n );\r\n }\r\n\r\n componentWillLoad() {\r\n if (!this.placeholder) {\r\n this.placeholder = this.createPlaceholderDefault(this.addNew, !!this.options);\r\n }\r\n if (!this.label) {\r\n console.error(\"wm-tag-input must have a label property\");\r\n }\r\n\r\n this.consolidateSelectedTags();\r\n\r\n this.el.focus = () => {\r\n const firstFocusableTag = this.nonLockedTagEls[0];\r\n if (firstFocusableTag) {\r\n this.tagAreaEl.focus();\r\n this.focusTag(firstFocusableTag);\r\n } else {\r\n this.inputEl.focus();\r\n }\r\n };\r\n\r\n // on resize of component, trigger componentDidRender -> positionInput\r\n const resizeObserver = new ResizeObserver(() => this.debouncedUpdate());\r\n resizeObserver.observe(this.el);\r\n }\r\n\r\n componentDidLoad() {\r\n // prevent highlighting of pre-selected tags\r\n this.tagEls.forEach((el) => el.classList.remove(\"highlight\"));\r\n }\r\n\r\n componentDidRender() {\r\n this.positionInput();\r\n }\r\n\r\n consolidateSelectedTags() {\r\n this.tagsList.forEach((tag) => {\r\n if (!this.includesCaseInsensitive(this.optionsList, tag)) {\r\n this.options += `${this.options.length > 0 ? \",\" : \"\"}${tag}`;\r\n }\r\n });\r\n\r\n this.optionsList = csvToArray(this.options);\r\n }\r\n\r\n createPlaceholderDefault(addNew: boolean, hasOptions: boolean): string {\r\n const addAndSearchPlaceholder = intl.formatMessage({\r\n id: \"tagInput.placeholderAddAndSearch\",\r\n defaultMessage: \"Add or search for a tag\",\r\n description: \"Placeholder text. Use imperative\",\r\n });\r\n const searchPlaceholder = intl.formatMessage({\r\n id: \"tagInput.placeholderSearch\",\r\n defaultMessage: \"Search and select a tag\",\r\n description: \"Placeholder text. Use imperative\",\r\n });\r\n const addPlaceholder = intl.formatMessage({\r\n id: \"tagInput.placeholderAdd\",\r\n defaultMessage: \"Add a new tag\",\r\n description: \"Placeholder text. Use imperative\",\r\n });\r\n\r\n let placeholder = \"\";\r\n if (addNew && hasOptions) {\r\n placeholder = addAndSearchPlaceholder;\r\n } else if (!addNew && hasOptions) {\r\n placeholder = searchPlaceholder;\r\n } else if (addNew) {\r\n placeholder = addPlaceholder;\r\n }\r\n return placeholder;\r\n }\r\n\r\n @Watch(\"tagsList\")\r\n reflectSelectedTags(newValue: string[], oldValue: string[]) {\r\n const isAddition = newValue.length > oldValue.length;\r\n let changedTag: string | HTMLWmTagInputRowElement = \"\";\r\n let selectedTags: string[] | HTMLWmTagInputRowElement[] = this.tagsList;\r\n\r\n if (isAddition) {\r\n changedTag = newValue.filter((val) => !oldValue.includes(val))[0];\r\n } else {\r\n changedTag = oldValue.filter((val) => !newValue.includes(val))[0];\r\n }\r\n\r\n // event emitted by type table uses element references instead of strings\r\n if (this.tagInputType === \"table\") {\r\n changedTag = this.wmRowEls.filter((row) => row.id === changedTag)[0];\r\n selectedTags = this.tagsList.map((id) => this.el.querySelector(`#${id}`) as HTMLWmTagInputRowElement);\r\n }\r\n\r\n this.selectedTags = this.listToCSV(this.tagsList);\r\n let detail = { value: selectedTags, tagChanged: changedTag };\r\n this.wmTagInputChanged.emit(detail);\r\n }\r\n\r\n @Listen(\"wmTagInputRowUpdated\")\r\n handleRowUpdate() {\r\n forceUpdate(this.el);\r\n }\r\n\r\n @Listen(\"click\", { target: \"document\" })\r\n closeIfNotElOrChild(ev: MouseEvent): void {\r\n const isntElOrChild = ev.target !== this.el && !this.el.shadowRoot!.contains(ev.target as HTMLElement);\r\n\r\n if (this.tagInputType === \"dropdown\" && isntElOrChild && this.isExpanded) {\r\n this.closeDropdown();\r\n }\r\n }\r\n\r\n // From wm-button\r\n // we need to listen for scroll events during the capture phase because they do not bubble up\r\n // there can be layouts where the main content has 100vh and overflows\r\n // in these cases window will register no scroll events unless we catch on they way down\r\n @Listen(\"scroll\", { target: \"window\", capture: true })\r\n dismissTooltip() {\r\n if (this.tooltipVisible) {\r\n hideTooltip();\r\n this.tooltipVisible = false;\r\n }\r\n }\r\n\r\n debouncedUpdate = debounce(() => forceUpdate(this.el), 30);\r\n\r\n handleInputKeyDown(ev: KeyboardEvent) {\r\n if (/^.$/.test(ev.key) && this.inputEl.value.length >= this.characterLimit) {\r\n this.announceCharacterLimitWarning(this.inputEl.value.length, this.characterLimit);\r\n }\r\n\r\n // prevent keydown triggering on tag area\r\n ev.stopPropagation();\r\n switch (ev.key) {\r\n case \"Enter\":\r\n case \",\":\r\n ev.preventDefault();\r\n this.handleInputEnter();\r\n break;\r\n case \"ArrowDown\":\r\n ev.preventDefault();\r\n this.handleInputArrowDown();\r\n break;\r\n case \"ArrowUp\":\r\n ev.preventDefault();\r\n this.handleInputArrowUp();\r\n break;\r\n case \"ArrowLeft\":\r\n ev.preventDefault();\r\n if (this.tagInputType === \"table\" && this.tablePosition.row) {\r\n this.moveLeftCell();\r\n }\r\n break;\r\n case \"ArrowRight\":\r\n ev.preventDefault();\r\n if (this.tagInputType === \"table\" && this.tablePosition.row) {\r\n this.moveRightCell();\r\n }\r\n break;\r\n case \"Escape\":\r\n if (this.tagInputType === \"dropdown\" && this.isExpanded) {\r\n this.closeDropdown();\r\n }\r\n break;\r\n case \"ArrowLeft\":\r\n case \"Backspace\":\r\n this.handleInputBackspace();\r\n break;\r\n }\r\n }\r\n\r\n handleInputFocus() {\r\n if (this.tagInputType === \"dropdown\") {\r\n this.openDropdown();\r\n this.clearListItemFocus();\r\n }\r\n // force update needed to apply styled state of field-wrapper el\r\n forceUpdate(this.el);\r\n }\r\n\r\n handleInputChanged(value: string) {\r\n this.charCount = value.length;\r\n\r\n if (this.tagInputType === \"dropdown\") {\r\n this.clearListItemFocus();\r\n if (this.charCount >= this.characterLimit - 5) {\r\n this.announceCharacterLimitWarning(this.charCount, this.characterLimit);\r\n }\r\n if (!this.isExpanded) {\r\n this.openDropdown();\r\n }\r\n } else if (this.tagInputType === \"table\") {\r\n this.clearCellFocus();\r\n }\r\n this.announceExistingOptions();\r\n }\r\n\r\n handleInputEnter() {\r\n if (this.tagInputType === \"dropdown\") {\r\n if (this.focusedListItem) {\r\n this.handleListItemClick(this.focusedListItem);\r\n } else {\r\n this.submitInput(this.addNew, this.inputEl.value.trim());\r\n }\r\n } else if (this.tagInputType === \"table\" && this.tablePosition.row > 0) {\r\n this.handleTableRowClick(this.localRowEls[this.tablePosition.row].id);\r\n }\r\n }\r\n\r\n submitInput(canAddNew: boolean, value: string) {\r\n const hasNonWhiteSpaceCharacters = value.match(/\\S/);\r\n if (canAddNew && hasNonWhiteSpaceCharacters) {\r\n this.addTag(value);\r\n this.optionsList = this.addOption(value);\r\n this.resetInput();\r\n }\r\n }\r\n\r\n handleInputArrowDown() {\r\n if (this.tagInputType === \"table\") {\r\n this.moveDownRow();\r\n } else if (this.tagInputType === \"dropdown\" && this.isExpanded) {\r\n this.moveDownListItem();\r\n } else if (this.tagInputType === \"dropdown\") {\r\n this.openDropdown();\r\n }\r\n }\r\n\r\n handleInputArrowUp() {\r\n if (this.tagInputType === \"table\") {\r\n this.moveUpRow();\r\n } else if (this.tagInputType === \"dropdown\" && this.isExpanded) {\r\n this.moveUpListItem();\r\n } else if (this.tagInputType === \"dropdown\") {\r\n this.openDropdown();\r\n }\r\n }\r\n\r\n handleInputBackspace() {\r\n if (this.inputEl.value === \"\" && this.tagsList.length > 0) {\r\n // wait for events to finish firing before redirecting focus\r\n // prevents double input in input area and tag area\r\n window.requestAnimationFrame(() => {\r\n if (this.nonLockedTagsList.length > 0) {\r\n this.tagAreaEl.focus();\r\n this.focusTag(this.tagEls[this.tagEls.length - 1]);\r\n }\r\n });\r\n }\r\n }\r\n\r\n handleListItemKeyDown(ev: KeyboardEvent) {\r\n const typedEvTarget = ev.target as HTMLElement;\r\n\r\n switch (ev.key) {\r\n case \"Enter\":\r\n case \" \":\r\n ev.preventDefault();\r\n typedEvTarget.click();\r\n break;\r\n case \"ArrowDown\":\r\n ev.preventDefault();\r\n this.moveDownListItem();\r\n break;\r\n case \"ArrowUp\":\r\n ev.preventDefault();\r\n this.moveUpListItem();\r\n break;\r\n case \"Escape\":\r\n if (this.focusedElement !== this.inputEl) {\r\n this.inputEl.focus();\r\n } else if (this.tagInputType === \"dropdown\") {\r\n this.closeDropdown();\r\n }\r\n break;\r\n }\r\n }\r\n\r\n handleListItemClick(item: HTMLElement) {\r\n const tag = item.dataset.option!.trim() || \"\";\r\n\r\n if (this.includesCaseInsensitive(this.tagsList, tag)) {\r\n this.announce(this.generateTagAlreadyAddedMessage(tag));\r\n } else {\r\n this.resetInput();\r\n this.addTag(tag);\r\n this.optionsList = this.addOption(tag);\r\n this.focusedListItem = null;\r\n }\r\n }\r\n\r\n handleTableRowClick(rowId: string) {\r\n const referencedRow = this.el.querySelector(`#${rowId}`) as HTMLWmTagInputRowElement;\r\n const isLocked = referencedRow.locked;\r\n\r\n if (!isLocked) {\r\n if (this.includesCaseInsensitive(this.tagsList, rowId)) {\r\n this.removeTag(rowId);\r\n } else if (!this.tagLimitReached) {\r\n this.addTag(rowId);\r\n this.resetInput();\r\n }\r\n }\r\n }\r\n\r\n handleTagAreaKeyDown(ev: KeyboardEvent) {\r\n switch (ev.key) {\r\n case \"ArrowLeft\":\r\n case \"ArrowUp\":\r\n ev.preventDefault();\r\n this.moveLeftTag();\r\n break;\r\n case \"ArrowRight\":\r\n case \"ArrowDown\":\r\n ev.preventDefault();\r\n this.moveRightTag();\r\n break;\r\n case \"Backspace\":\r\n case \"Delete\":\r\n this.handleTagAreaDelete();\r\n break;\r\n }\r\n }\r\n\r\n handleTagAreaDelete() {\r\n const isLocked = this.focusedTag && this.focusedTag.classList.contains(\"locked\");\r\n\r\n if (this.focusedTag && this.focusedTag.dataset.tag && !isLocked) {\r\n this.removeTag(this.focusedTag.dataset.tag);\r\n\r\n if (this.nonLockedTagsList.length === 0) {\r\n // focus input if no tags are left\r\n this.inputEl.focus();\r\n } else if (this.focusedTag === this.tagEls[this.tagEls.length - 1]) {\r\n // reassign focus if removing the last tag but there are still tags remaining\r\n this.focusedTag = this.tagEls[this.tagEls.length - 2];\r\n this.focusTag(this.focusedTag);\r\n }\r\n }\r\n }\r\n\r\n handleBlur(ev: FocusEvent, component: HTMLElement) {\r\n const isntElOrChild =\r\n ev.relatedTarget !== component && !this.el.shadowRoot!.contains(ev.relatedTarget as HTMLElement);\r\n\r\n this.dismissTooltip();\r\n this.clearCellFocus();\r\n\r\n if (isntElOrChild) {\r\n this.fieldWrapperEl.classList.remove(\"focused\");\r\n if (this.tagInputType === \"dropdown\") {\r\n this.closeDropdown();\r\n }\r\n }\r\n }\r\n\r\n handleCellMouseEnter(ev: MouseEvent) {\r\n const cell = ev.target as HTMLElement;\r\n const contentWrapper = cell.querySelector(\".cell-content-wrapper\")!;\r\n const isTruncated = contentWrapper.scrollWidth > contentWrapper.clientWidth;\r\n\r\n if (isTruncated) {\r\n // innerText is necessary vs textContent, as innerText ignores sr-only / display: none text\r\n showTooltip(\"bottom\", cell, cell.innerText!);\r\n this.tooltipVisible = true;\r\n }\r\n }\r\n\r\n handleTagAreaFocus() {\r\n if (this.tagInputType === \"dropdown\") {\r\n this.closeDropdown();\r\n }\r\n\r\n const firstFocusableTag = this.nonLockedTagEls[0];\r\n firstFocusableTag && this.focusTag(firstFocusableTag);\r\n }\r\n\r\n handleRemoveButtonClick(tag: string) {\r\n this.moveLeftTag();\r\n this.removeTag(tag);\r\n }\r\n\r\n moveDownListItem() {\r\n if (this.listItemEls.length > 0) {\r\n const firstListItem = this.listItemEls[0];\r\n\r\n if (!this.focusedListItem) {\r\n this.focusListItem(firstListItem);\r\n } else if (this.focusedListItem.nextElementSibling) {\r\n this.focusListItem(this.focusedListItem.nextElementSibling as HTMLLIElement);\r\n } else {\r\n this.focusListItem(firstListItem);\r\n }\r\n }\r\n }\r\n\r\n moveUpListItem() {\r\n if (this.listItemEls.length > 0) {\r\n const lastListItem = this.listItemEls[this.listItemEls.length - 1];\r\n\r\n if (!this.focusedListItem) {\r\n this.focusListItem(lastListItem);\r\n } else if (this.focusedListItem.previousElementSibling) {\r\n this.focusListItem(this.focusedListItem.previousElementSibling as HTMLLIElement);\r\n } else {\r\n this.clearListItemFocus();\r\n }\r\n }\r\n }\r\n\r\n moveDownRow() {\r\n if (this.filteredRows.length > 0) {\r\n if (this.tablePosition.row === 0) {\r\n this.tablePosition.row = 1;\r\n } else if (this.tablePosition.row === this.filteredRows.length) {\r\n this.tablePosition.row = 1;\r\n } else {\r\n this.tablePosition.row++;\r\n }\r\n\r\n // skip locked rows\r\n const rowToFocus = this.wmRowEls[this.tablePosition.row - 1] as HTMLWmTagInputRowElement;\r\n if (rowToFocus.locked) {\r\n this.moveDownRow();\r\n } else {\r\n this.focusCell(this.tablePosition);\r\n }\r\n }\r\n }\r\n\r\n moveUpRow() {\r\n if (this.filteredRows.length > 0) {\r\n if (this.tablePosition.row === 0) {\r\n this.tablePosition.row = this.filteredRows.length;\r\n } else if (this.tablePosition.row === 1) {\r\n this.tablePosition.row = 0;\r\n } else {\r\n this.tablePosition.row--;\r\n }\r\n\r\n // skip locked rows\r\n const rowToFocus = this.wmRowEls[this.tablePosition.row - 1] as HTMLWmTagInputRowElement;\r\n if (rowToFocus && rowToFocus.locked) {\r\n this.moveUpRow();\r\n } else if (rowToFocus) {\r\n this.focusCell(this.tablePosition);\r\n } else {\r\n this.clearCellFocus();\r\n }\r\n }\r\n }\r\n\r\n moveLeftCell() {\r\n if (this.tablePosition.column != 1) {\r\n this.tablePosition.column--;\r\n this.focusCell(this.tablePosition);\r\n }\r\n }\r\n\r\n moveRightCell() {\r\n const numCols = csvToArray(this.colHeaders).length;\r\n\r\n if (this.tablePosition.column < numCols) {\r\n this.tablePosition.column++;\r\n this.focusCell(this.tablePosition);\r\n }\r\n }\r\n\r\n moveLeftTag() {\r\n const lastTag = this.tagEls[this.tagEls.length - 1];\r\n if (this.focusedTag && this.tagEls.includes(this.focusedTag.previousElementSibling as HTMLLIElement)) {\r\n this.focusedTag = this.focusedTag.previousElementSibling as HTMLLIElement;\r\n } else {\r\n this.focusedTag = lastTag;\r\n }\r\n // skip locked tags\r\n if (this.focusedTag.classList.contains(\"locked\") && this.nonLockedTagEls.length > 0) {\r\n this.moveLeftTag();\r\n } else {\r\n this.focusTag(this.focusedTag);\r\n }\r\n }\r\n\r\n moveRightTag() {\r\n const firstTag = this.tagEls[0];\r\n if (this.focusedTag && this.tagEls.includes(this.focusedTag.nextElementSibling as HTMLLIElement)) {\r\n this.focusedTag = this.focusedTag.nextElementSibling as HTMLLIElement;\r\n } else {\r\n this.focusedTag = firstTag;\r\n }\r\n // skip locked tags\r\n if (this.focusedTag.classList.contains(\"locked\")) {\r\n this.moveRightTag();\r\n } else {\r\n this.focusTag(this.focusedTag);\r\n }\r\n }\r\n\r\n addOption(option: string): string[] {\r\n let newOptionsList = this.optionsList;\r\n const optionAlreadyExists = this.includesCaseInsensitive(this.optionsList, option);\r\n if (!optionAlreadyExists) {\r\n newOptionsList = newOptionsList.concat(option);\r\n }\r\n return newOptionsList;\r\n }\r\n\r\n removeOption(option: string) {\r\n this.optionsList = this.filterCaseInsensitive(this.optionsList, option);\r\n }\r\n\r\n addTag(tag: string): void {\r\n let newTagsList = this.tagsList;\r\n const tagAlreadyAdded = this.includesCaseInsensitive(this.tagsList, tag);\r\n const tagExistsAsOption = this.optionsList.filter((x) => x.toLowerCase() === tag.toLowerCase())[0];\r\n\r\n if (!tagAlreadyAdded) {\r\n let textToAnnounce = tag;\r\n if (this.tagInputType === \"table\") {\r\n const referencedRow = this.el.querySelector(`#${tag}`) as HTMLWmTagInputRowElement;\r\n textToAnnounce = referencedRow.col1!;\r\n }\r\n this.announce(this.generateTagAddedMessage(textToAnnounce));\r\n this.tagsList = newTagsList.concat(tagExistsAsOption || tag);\r\n // if maxTags has been reached, focus should go to the tagArea\r\n if (this.tagLimitReached) {\r\n this.tagAreaEl.focus();\r\n }\r\n }\r\n }\r\n\r\n removeTag(tag: string) {\r\n let textToAnnounce = tag;\r\n if (this.tagInputType === \"table\") {\r\n const referencedRow = this.el.querySelector(`#${tag}`) as HTMLWmTagInputRowElement;\r\n textToAnnounce = referencedRow.col1!;\r\n }\r\n const tagRemovedMessage = intl.formatMessage(\r\n { id: \"tagInput.tagRemoved\", defaultMessage: \"{tag} removed\" },\r\n { tag: textToAnnounce }\r\n );\r\n this.announce(tagRemovedMessage);\r\n this.tagsList = this.filterCaseInsensitive(this.tagsList, tag);\r\n\r\n if (this.tagInputType === \"dropdown\") {\r\n // if a tag was introduced by the user, also remove it from the dropdown options\r\n const devOptionsList = csvToArray(this.options);\r\n if (this.includesCaseInsensitive(this.optionsList, tag) && !this.includesCaseInsensitive(devOptionsList, tag)) {\r\n this.removeOption(tag);\r\n }\r\n }\r\n }\r\n\r\n focusListItem(item: HTMLLIElement): void {\r\n this.focusedListItem = item;\r\n this.inputEl.setAttribute(\"aria-activedescendant\", this.focusedListItem.id);\r\n item.scrollIntoView({ block: \"nearest\" });\r\n }\r\n\r\n focusTag(element: HTMLLIElement): void {\r\n if (element.classList.contains(\"locked\")) {\r\n this.focusedTag = null;\r\n this.tagAreaEl.setAttribute(\"aria-activedescendant\", \"\");\r\n } else {\r\n this.focusedTag = element;\r\n this.tagAreaEl.setAttribute(\"aria-activedescendant\", this.focusedTag.id);\r\n }\r\n }\r\n\r\n focusCell(position: TablePosition) {\r\n this.clearCellFocus(false);\r\n\r\n if (position.row) {\r\n const rowToFocus = this.localRowEls[position.row];\r\n const rowCells = rowToFocus.querySelectorAll(\"td\");\r\n const cellToFocus = rowCells[position.column - 1];\r\n const contentWrapper = cellToFocus.querySelector(\".cell-content-wrapper\")!;\r\n const isTruncated = contentWrapper.scrollWidth > contentWrapper.clientWidth;\r\n\r\n rowToFocus.classList.add(\"focused\");\r\n cellToFocus.classList.add(\"focused\");\r\n cellToFocus.scrollIntoView({ block: \"nearest\" });\r\n this.inputEl.setAttribute(\"aria-activedescendant\", cellToFocus.id);\r\n\r\n this.dismissTooltip();\r\n if (isTruncated) {\r\n // innerText is necessary vs textContent, as innerText ignores sr-only / display: none text\r\n showTooltip(\"bottom\", cellToFocus, cellToFocus.innerText!);\r\n this.tooltipVisible = true;\r\n }\r\n }\r\n }\r\n\r\n clearTagFocus() {\r\n this.tagAreaEl.setAttribute(\"aria-activedescendant\", \"\");\r\n this.focusedTag = null;\r\n }\r\n\r\n clearCellFocus(resetPosition: boolean = true) {\r\n this.inputEl.setAttribute(\"aria-activedescendant\", \"\");\r\n if (resetPosition) {\r\n this.tablePosition = { row: 0, column: 1 };\r\n }\r\n\r\n this.localRowEls.forEach((row) => {\r\n row.classList.remove(\"focused\");\r\n row.querySelectorAll(\"td\").forEach((cell) => {\r\n cell.classList.remove(\"focused\");\r\n });\r\n });\r\n }\r\n\r\n openDropdown() {\r\n // given an offset of -2px because the dropdown is transformed downwards to avoid overlapping the focus border\r\n this.openUp = shouldOpenUp(this.el, this.dropdownEl, this.el.clientHeight, -2);\r\n this.isExpanded = true;\r\n }\r\n\r\n closeDropdown() {\r\n this.clearListItemFocus();\r\n this.isExpanded = false;\r\n }\r\n\r\n clearListItemFocus() {\r\n this.focusedListItem = null;\r\n this.inputEl.setAttribute(\"aria-activedescendant\", \"\");\r\n\r\n this.listItemEls.forEach((el) => {\r\n el.classList.remove(\"focused\");\r\n });\r\n }\r\n\r\n resetInput() {\r\n this.charCount = 0;\r\n this.inputEl.value = \"\";\r\n }\r\n\r\n announce(message: string) {\r\n // \\u00A0 is a non-breaking space character, which causes the message to be read as a new one\r\n if (this.liveRegionEl.textContent === message) {\r\n message += \"\\u00A0\";\r\n }\r\n this.liveRegionMessage = message;\r\n }\r\n\r\n announceExistingOptions() {\r\n // request animation frame to wait for re-rendering of filtered options\r\n window.requestAnimationFrame(() => {\r\n let numResults = 0;\r\n\r\n if (this.tagInputType === \"dropdown\") {\r\n numResults = this.optionEls.length;\r\n } else if (this.tagInputType === \"table\") {\r\n numResults = this.filteredRows.length;\r\n }\r\n\r\n const existingOptionsMessage = intl.formatMessage(\r\n {\r\n id: \"tagInput.existingOptions\",\r\n defaultMessage: \"{num, plural, one {1 existing option.} other {# existing options.}}\",\r\n },\r\n { num: numResults }\r\n );\r\n\r\n this.announce(existingOptionsMessage);\r\n });\r\n }\r\n\r\n announceCharacterLimitWarning(charCount: number, charLimit: number) {\r\n const charactersEnteredMessage = intl.formatMessage(\r\n {\r\n id: \"global.charactersEntered\",\r\n defaultMessage: \"{x, number} of {y, number} characters entered.\",\r\n description: \"for screen readers\",\r\n },\r\n { x: charCount, y: charLimit }\r\n );\r\n\r\n const characterLimitReachedMessage = intl.formatMessage({\r\n id: \"global.characterLimitReached\",\r\n defaultMessage: \"No additional characters will be entered.\",\r\n description: \"for screen readers\",\r\n });\r\n\r\n this.announce(`${charactersEnteredMessage}${charCount >= charLimit ? \" \" + characterLimitReachedMessage : \"\"}`);\r\n }\r\n\r\n positionInput() {\r\n const lastTag = this.tagEls[this.tagEls.length - 1];\r\n // default placement to fall back to when no tags are present, or not enough space is available\r\n this.inputEl.style.position = \"static\";\r\n this.inputEl.style.width = \"100%\";\r\n\r\n if (lastTag) {\r\n const spaceAvailable = this.tagAreaEl.getBoundingClientRect().right - lastTag.getBoundingClientRect().right;\r\n if (spaceAvailable >= this.inputMinimumWidth) {\r\n // because the input has right: 0px\r\n // all thats needed to properly place it is setting position: absolute, top, and width\r\n this.inputEl.style.position = \"absolute\";\r\n this.inputEl.style.top = lastTag.offsetTop.toString() + \"px\";\r\n this.inputEl.style.width =\r\n (this.tagAreaEl.getBoundingClientRect().right - lastTag.getBoundingClientRect().right - 8).toString() + \"px\";\r\n }\r\n }\r\n }\r\n\r\n /// Helpers\r\n\r\n listToCSV(list: string[]): string {\r\n return list.join(\",\");\r\n }\r\n\r\n includesCaseInsensitive(list: string[], element: string): boolean {\r\n const lowercaseList = list.map((str) => str.toLowerCase());\r\n return lowercaseList.includes(element.toLowerCase());\r\n }\r\n\r\n filterCaseInsensitive(list: string[], element: string): string[] {\r\n return list.filter((x) => x.toLowerCase() !== element.toLowerCase());\r\n }\r\n\r\n sortCaseInsensitive(list: string[]) {\r\n // The vanilla .sort method places words that start with capital letters above others (ASCII order)\r\n // so we need to pass in our own compare function to sort case-insensitive\r\n return list.sort((a, b) => {\r\n a = a.toLowerCase();\r\n b = b.toLowerCase();\r\n return a > b ? 1 : a < b ? -1 : 0;\r\n });\r\n }\r\n\r\n /// Renders\r\n\r\n renderTags() {\r\n let lockedTags: HTMLLIElement[] = [];\r\n let unlockedTags: HTMLLIElement[] = [];\r\n\r\n this.tagsList.forEach((tag, idx) => {\r\n const id = `tag${idx + 1}`;\r\n let tagText = \"\";\r\n let isLocked = false;\r\n\r\n if (this.tagInputType === \"dropdown\") {\r\n tagText = tag;\r\n } else if (this.tagInputType === \"table\") {\r\n // display table tags using col1 of the row with the same id\r\n // if one can't be found, display as empty\r\n const referencedRow = this.el.querySelector(`#${tag}`) as HTMLWmTagInputRowElement;\r\n tagText = referencedRow ? referencedRow.col1! : \"\";\r\n isLocked = referencedRow ? referencedRow.locked : false;\r\n }\r\n\r\n // make sure locked tags always appear in front of list\r\n const targetList = isLocked ? lockedTags : unlockedTags;\r\n targetList.push(\r\n <li\r\n id={id}\r\n class={`tag highlight ${this.focusedTag && this.focusedTag.id === id ? \"focused\" : \"\"} ${\r\n isLocked ? \"locked\" : \"\"\r\n }`}\r\n data-tag={tag}\r\n role=\"option\"\r\n >\r\n {tagText}\r\n {isLocked ? (\r\n <div class=\"icon lock\"></div>\r\n ) : (\r\n <button class=\"icon remove-btn\" tabIndex={-1} onClick={() => this.handleRemoveButtonClick(tag)}></button>\r\n )}\r\n </li>\r\n );\r\n });\r\n\r\n return [...lockedTags, ...unlockedTags];\r\n }\r\n\r\n renderDropdown() {\r\n return (\r\n <div\r\n class={`dropdown-wrapper ${this.isExpanded ? \"open\" : \"\"} ${this.openUp ? \"upwards\" : \"\"}`}\r\n ref={(el) => (this.dropdownEl = el as HTMLDivElement)}\r\n >\r\n <div id=\"help-text\" class=\"help-text\">\r\n {this.renderHelpText()}\r\n </div>\r\n <ul\r\n class=\"dropdown\"\r\n id=\"dropdown\"\r\n role=\"listbox\"\r\n aria-multiselectable=\"true\"\r\n aria-expanded={this.isExpanded ? \"true\" : false}\r\n aria-label={this.label}\r\n tabindex={-1}\r\n >\r\n {this.inputEl && this.renderAddNewButton()}\r\n {this.renderListItems(this.optionsList)}\r\n </ul>\r\n </div>\r\n );\r\n }\r\n\r\n renderListItems(optionsList: string[]) {\r\n optionsList = this.sortCaseInsensitive(optionsList);\r\n\r\n // filter by input\r\n if (this.inputEl && this.inputEl.value) {\r\n optionsList = this.optionsList.filter((option) =>\r\n option.toLowerCase().includes(this.inputEl.value.toLowerCase())\r\n );\r\n }\r\n\r\n return optionsList.map((option, idx) => {\r\n const id = `option${idx + 1}`;\r\n const isFocused = this.focusedListItem && this.focusedListItem.id === id;\r\n const isSelected = this.includesCaseInsensitive(this.tagsList, option);\r\n\r\n return (\r\n <li\r\n class={`option ${isFocused ? \"focused\" : \"\"}`}\r\n role=\"option\"\r\n id={id}\r\n data-option={option}\r\n aria-selected={isSelected ? \"true\" : \"false\"}\r\n aria-disabled={isSelected ? \"true\" : \"false\"}\r\n onKeyDown={(ev) => this.handleListItemKeyDown(ev)}\r\n onBlur={(ev) => this.handleBlur(ev, this.el)}\r\n onClick={(ev) => this.handleListItemClick(ev.target as HTMLElement)}\r\n >\r\n {option}\r\n </li>\r\n );\r\n });\r\n }\r\n\r\n renderAddNewButton() {\r\n const hasNonWhiteSpaceCharacters = this.inputEl.value.match(/\\S/);\r\n const optionAlreadyExists = this.includesCaseInsensitive(this.optionsList, this.inputEl.value.trim());\r\n if (this.addNew && hasNonWhiteSpaceCharacters && !optionAlreadyExists) {\r\n const id = `add-new-btn`;\r\n const isFocused = this.focusedListItem && this.focusedListItem.id === id;\r\n return (\r\n <li\r\n role=\"option\"\r\n class={`add-new-btn ${isFocused ? \"focused\" : \"\"}`}\r\n id={id}\r\n data-option={this.inputEl.value}\r\n onKeyDown={(ev) => this.handleListItemKeyDown(ev)}\r\n onBlur={(ev) => this.handleBlur(ev, this.el)}\r\n onClick={(ev) => this.handleListItemClick(ev.target as HTMLElement)}\r\n tabIndex={isFocused ? 0 : -1}\r\n >\r\n {`Add \"${this.inputEl.value.trim()}\"`}\r\n </li>\r\n );\r\n } else return \"\";\r\n }\r\n\r\n renderHelpText() {\r\n const helpTextHasOptions = intl.formatMessage({\r\n id: \"tagInput.helpTextCanSelect\",\r\n defaultMessage: \"Search and select a tag.\",\r\n description: \"Placeholder text. Use imperative\",\r\n });\r\n const helpTextEditable = intl.formatMessage({\r\n id: \"tagInput.helpTextEditable\",\r\n defaultMessage: \"Press the Enter or Comma key to add a new tag.\",\r\n description: \"Placeholder text. Use imperative\",\r\n });\r\n\r\n let helpText = \"\";\r\n\r\n if (this.optionsList.length > 0) {\r\n helpText += helpTextHasOptions;\r\n }\r\n if (this.addNew) {\r\n helpText += \" \" + helpTextEditable;\r\n }\r\n\r\n return helpText;\r\n }\r\n\r\n renderTagCounter() {\r\n if (this.maxTags) {\r\n return (\r\n <div class=\"lower-row\">\r\n <div id=\"max-tags\">\r\n {this.generateTagCounterMessage(this.tagsList.length, this.maxTags)}\r\n {this.tagLimitReached && ` - ${this.maxTagsReachedMessage}`}\r\n </div>\r\n </div>\r\n );\r\n }\r\n }\r\n\r\n renderTable() {\r\n return (\r\n <div class=\"table-wrapper\" onScroll={() => this.dismissTooltip()}>\r\n <table\r\n id=\"table\"\r\n role=\"grid\"\r\n class={`${this.colWidths ? \"fixed-widths\" : \"\"}`}\r\n aria-label={this.label}\r\n aria-multiselectable=\"true\"\r\n >\r\n {this.renderTableHeaders()}\r\n {this.filteredRows.length ? this.renderTableRows() : <div class=\"no-results\">{this.noResultsMessage}</div>}\r\n </table>\r\n </div>\r\n );\r\n }\r\n\r\n renderTableHeaders() {\r\n return (\r\n <tr class=\"headers\" role=\"row\">\r\n {csvToArray(this.colHeaders).map((header, idx) => {\r\n let overflowRule = \"wrap\";\r\n if (this.colWrap && csvToArray(this.colWrap)[idx]) {\r\n overflowRule = csvToArray(this.colWrap)[idx];\r\n }\r\n return (\r\n <th\r\n class={`header-cell ${overflowRule}`}\r\n role=\"columnheader\"\r\n // @ts-ignore\r\n width={this.colWidths ? csvToArray(this.colWidths)[idx] : \"\"}\r\n >\r\n {header}\r\n </th>\r\n );\r\n })}\r\n </tr>\r\n );\r\n }\r\n\r\n renderTableRows() {\r\n return this.filteredRows.map((row) => {\r\n const isSelected: boolean = this.includesCaseInsensitive(this.tagsList, row.id);\r\n\r\n return (\r\n <tr\r\n id={row.id}\r\n class={`${row.locked ? \"locked\" : \"\"} ${isSelected ? \"selected\" : \"\"}`}\r\n role=\"row\"\r\n onClick={() => this.handleTableRowClick(row.id)}\r\n >\r\n {this.renderTableCells(row)}\r\n </tr>\r\n );\r\n });\r\n }\r\n\r\n renderTableCells(row: HTMLWmTagInputRowElement) {\r\n const colValues = [row.col1, row.col2, row.col3, row.col4].filter((val) => !!val);\r\n const isSelected: boolean = this.includesCaseInsensitive(this.tagsList, row.id);\r\n\r\n return colValues.map((val, idx) => {\r\n const localId = `${row.id}-col${idx + 1}`;\r\n let overflowRule = \"wrap\";\r\n if (this.colWrap && csvToArray(this.colWrap)[idx]) {\r\n overflowRule = csvToArray(this.colWrap)[idx];\r\n }\r\n\r\n return (\r\n <td\r\n id={localId}\r\n role=\"gridcell\"\r\n aria-describedby={`${localId}-description`}\r\n aria-selected={isSelected.toString()}\r\n onMouseEnter={(ev) => this.handleCellMouseEnter(ev)}\r\n onMouseLeave={() => this.dismissTooltip()}\r\n >\r\n <div class={`cell-content-wrapper ${overflowRule}`}>{val}</div>\r\n <div class=\"description\" id={`${localId}-description`}>\r\n {row.locked ? \"locked\" : \"\"}\r\n </div>\r\n </td>\r\n );\r\n });\r\n }\r\n\r\n render() {\r\n return (\r\n <Host id={this.uid}>\r\n <div class={`wrapper label-${this.labelPosition}`}>\r\n <div class=\"label-wrapper\">\r\n <label class=\"label\" htmlFor={`input${this.uid}`}>\r\n {this.label}\r\n </label>\r\n </div>\r\n <div\r\n class={`field-wrapper ${this.focusedElement ? \"focused\" : \"\"}`}\r\n ref={(el) => (this.fieldWrapperEl = el as HTMLDivElement)}\r\n >\r\n <div class=\"upper-row\">\r\n <div class=\"tags-and-input-wrapper\">\r\n {this.tagsList.length > 0 && (\r\n <ul\r\n ref={(el) => (this.tagAreaEl = el as HTMLUListElement)}\r\n class=\"tag-area\"\r\n role=\"listbox\"\r\n aria-activedescendant=\"\"\r\n aria-orientation=\"horizontal\"\r\n aria-label={`${this.label} ${this.tagsList.length > 0 ? this.tagAreaInstructions : \"\"}`}\r\n tabindex={this.nonLockedTagsList.length > 0 ? 0 : -1}\r\n aria-describedby={`info max-tags`}\r\n onFocus={() => this.handleTagAreaFocus()}\r\n onBlur={(ev) => {\r\n this.clearTagFocus();\r\n this.handleBlur(ev, this.el);\r\n }}\r\n onKeyDown={(ev) => this.handleTagAreaKeyDown(ev)}\r\n >\r\n {this.renderTags()}\r\n </ul>\r\n )}\r\n <input\r\n id={`input${this.uid}`}\r\n class={this.tagLimitReached ? \"hidden\" : \"\"}\r\n role=\"combobox\"\r\n ref={(el) => (this.inputEl = el as HTMLInputElement)}\r\n autocomplete=\"off\"\r\n aria-controls={this.tagInputType}\r\n aria-describedby=\"help-text\"\r\n aria-label={`${this.label} ${\r\n this.tagInputType === \"dropdown\" ? this.generateCharacterLimitLabel(this.characterLimit) : \"\"\r\n }`}\r\n aria-expanded={this.tagInputType === \"dropdown\" ? this.isExpanded.toString() : null}\r\n placeholder={this.placeholder}\r\n maxLength={this.tagInputType === \"dropdown\" ? this.characterLimit : undefined}\r\n onInput={() => this.handleInputChanged(this.inputEl.value)}\r\n onBlur={(ev) => {\r\n this.handleBlur(ev, this.el);\r\n }}\r\n onFocus={() => this.handleInputFocus()}\r\n onKeyDown={(ev) => this.handleInputKeyDown(ev)}\r\n ></input>\r\n </div>\r\n {this.tagInputType === \"dropdown\" && (\r\n <div class=\"character-count\">\r\n {this.charCount}/{this.characterLimit}\r\n </div>\r\n )}\r\n </div>\r\n {this.renderTagCounter()}\r\n {this.tagInputType === \"dropdown\" && this.renderDropdown()}\r\n </div>\r\n {this.info ? (\r\n <div id=\"info\" class=\"info-text\">\r\n {this.info}\r\n </div>\r\n ) : (\r\n \"\"\r\n )}\r\n <div\r\n class=\"sr-only\"\r\n aria-live=\"assertive\"\r\n ref={(el) => (this.liveRegionEl = el as HTMLDivElement)}\r\n aria-atomic=\"true\"\r\n >\r\n {this.liveRegionMessage}\r\n </div>\r\n {this.tagInputType === \"table\" && this.renderTable()}\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-e782194d.system.js","./p-08b7ec08.system.js"],(function(t){"use strict";var e,i,n,o,s,r,a,c,l,d;return{setters:[function(t){e=t.r;i=t.c;n=t.h;o=t.H;s=t.g},function(t){r=t.o;a=t.g;c=t.m;l=t.v},function(t){d=t.g}],execute:function(){var h=":host{position:relative;display:inline-block;width:-moz-fit-content;width:-webkit-fit-content;width:fit-content;color:#575195;font-family:inherit}:host .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(:focus){outline:none}wm-action-menu:focus{outline:none}.dropdown{position:absolute;padding:0;margin:0.25rem 0;border-radius:3px 3px 3px 3px;min-width:11.4375rem;-ms-transform:scale(1, 0);-webkit-transform:scale(1, 0);-moz-transform:scale(1, 0);transform:scale(1, 0);-ms-transition:transform 0.25s ease;-webkit-transition:transform 0.25s ease;-moz-transition:transform 0.25s ease;-webkit-transition:-webkit-transform 0.25s ease;transition:-webkit-transform 0.25s ease;transition:transform 0.25s ease;transition:transform 0.25s ease, -webkit-transform 0.25s ease;-ms-transform-origin:center top;-webkit-transform-origin:center top;-moz-transform-origin:center top;transform-origin:center top;visibility:hidden;-webkit-box-shadow:0 3px 14px 3px rgba(5, 3, 3, 0.12), 0 4px 15px 0 rgba(0, 0, 0, 0.2);-moz-box-shadow:0 3px 14px 3px rgba(5, 3, 3, 0.12), 0 4px 15px 0 rgba(0, 0, 0, 0.2);box-shadow:0 3px 14px 3px rgba(5, 3, 3, 0.12), 0 4px 15px 0 rgba(0, 0, 0, 0.2);background:#fff;z-index:10;text-align:left;white-space:nowrap}.dropdown:focus{outline:none}.dropdown.open{-ms-transform:scale(1, 1);-webkit-transform:scale(1, 1);-moz-transform:scale(1, 1);transform:scale(1, 1);visibility:visible}.dropdown.open-up{bottom:2.5rem;top:auto;-ms-transform-origin:center bottom;-webkit-transform-origin:center bottom;-moz-transform-origin:center bottom;transform-origin:center bottom}.dropdown.right{left:0}.dropdown.left{right:0}";var u=t("wm_action_menu",function(){function t(t){e(this,t);this.wmActionMenuLoaded=i(this,"wmActionMenuLoaded",7);this.menuLoaded=i(this,"menuLoaded",7);this.openUp=false;this.keysSoFar="";this.searchIndex=0;this.keyClear=null;this.isExpanded=false;this.tooltipPosition=undefined;this.actionMenuType=null;this.buttonType=null;this.buttonText=undefined;this.disabled=false;this.tooltip=undefined;this.labelForIdenticalButtons=undefined;this.darkMode=undefined}Object.defineProperty(t.prototype,"horizontalPosition",{get:function(){return!!this.el&&!!this.itemsEl&&r(this.el,this.itemsEl)?"right":"left"},enumerable:false,configurable:true});Object.defineProperty(t.prototype,"childItems",{get:function(){return Array.from(this.el.querySelectorAll("wm-menuitem"))},enumerable:false,configurable:true});Object.defineProperty(t.prototype,"internalButtonType",{get:function(){return this.tempActionMenuType==="icon"||this.tempActionMenuType==="text"?this.tempActionMenuType+"only":this.tempActionMenuType},enumerable:false,configurable:true});Object.defineProperty(t.prototype,"tempActionMenuType",{get:function(){return this.actionMenuType||this.buttonType||"icon"},enumerable:false,configurable:true});t.prototype.handleClickedItem=function(){this.close()};t.prototype.handleKeyUp=function(t){this.moveUp(t.target)};t.prototype.handleKeyDown=function(t){this.moveDown(t.detail)};t.prototype.handleHomeKey=function(){this.focusFirstItem()};t.prototype.handleEndKey=function(){this.focusLastItem()};t.prototype.handleTabKey=function(){if(this.isExpanded){this.close()}};t.prototype.handleEscKey=function(){this.close();this.wmButtonEl.focus()};t.prototype.handleKey=function(t){var e=this;switch(t.key){case"ArrowDown":if(!this.isExpanded){t.preventDefault();this.open();window.requestAnimationFrame((function(){return e.focusFirstItem()}))}break;case"ArrowUp":if(!this.isExpanded){t.preventDefault();this.open();window.requestAnimationFrame((function(){return e.focusLastItem()}))}break}};t.prototype.handleMenuitemBlur=function(t){var e=t.detail.relatedTarget===this.el||this.el.contains(t.detail.relatedTarget);if(!e){var i=new CustomEvent("blur");i.relatedTarget=t.detail.relatedTarget;this.el.dispatchEvent(i)}};t.prototype.handleButtonBlur=function(t){var e=t.relatedTarget===this.el||this.el.contains(t.relatedTarget);if(e){t.stopPropagation()}};t.prototype.componentWillLoad=function(){this.uid=this.el.id?this.el.id:a();if(this.buttonType){console.warn("wm-action-menu: button-type has been deprecated as of v3.1.0. Please use action-menu-type instead.")}};t.prototype.componentDidLoad=function(){if(this.tempActionMenuType!=="icon"&&!this.buttonText){console.error("wm-action-menu should have a valid button-text property when action-menu-type is set to 'text' or 'selector'")}if(this.tempActionMenuType==="icon"&&!this.tooltip){console.error("wm-action-menu should have a valid tooltip when action-menu-type is set to 'icon'")}this.wmActionMenuLoaded.emit();this.menuLoaded.emit()};t.prototype.moveUp=function(t){var e=this.childItems.indexOf(t);if(e===0){this.focusLastItem()}else{this.focusItem(this.childItems[e-1])}};t.prototype.moveDown=function(t){var e=this.childItems.indexOf(t);if(e===this.childItems.length-1){this.focusFirstItem()}else{this.focusItem(this.childItems[e+1])}};t.prototype.open=function(){var t=this;if(!this.disabled){this.openUp=c(this.el,this.itemsEl);this.isExpanded=true;this.itemsEl.classList.remove("hidden");window.requestAnimationFrame((function(){return t.focusFirstItem()}))}};t.prototype.close=function(t){var e=this;if(t===void 0){t=true}this.isExpanded=false;this.childItems.forEach((function(t){return t.focused=false}));window.setTimeout((function(){e.itemsEl.classList.add("hidden")}),150);window.setTimeout((function(){if(t&&(document.activeElement.tagName==="BODY"||document.activeElement.tagName==="WM-MENUITEM")){e.wmButtonEl.focus()}}),250)};t.prototype.focusItem=function(t){this.childItems.map((function(e){return e.focused=e===t}));t.focus&&t.focus()};t.prototype.focusFirstItem=function(){this.focusItem(this.childItems[0])};t.prototype.focusLastItem=function(){this.focusItem(this.childItems[this.childItems.length-1])};t.prototype.findAndFocusItem=function(t){var e=t.detail.toUpperCase();this.focusFirstItem();if(!this.keysSoFar){for(var i=0;i<this.childItems.length;i++){if(this.childItems[i]===document.activeElement){this.searchIndex=i}}}this.keysSoFar+=e;this.clearKeysSoFarAfterDelay();var n=this.findMatchInRange(this.childItems,this.searchIndex+1,this.childItems.length);if(!n){n=this.findMatchInRange(this.childItems,0,this.searchIndex)}if(n){this.focusItem(n)}};t.prototype.clearKeysSoFarAfterDelay=function(){if(this.keyClear){window.clearTimeout(this.keyClear);this.keyClear=null}this.keyClear=window.setTimeout(function(){this.keysSoFar="";this.keyClear=null}.bind(this),500)};t.prototype.findMatchInRange=function(t,e,i){for(var n=e;n<i;n++){var o=t[n].innerText;if(o&&o.toUpperCase().indexOf(this.keysSoFar)===0){return t[n]}}return null};t.prototype.render=function(){var t=this;return n(o,{onBlur:function(){return t.close(false)}},n("div",{class:l()},n("wm-button",{"button-type":this.internalButtonType,tooltip:this.tooltip,"custom-background":this.darkMode?"dark":undefined,"label-for-identical-buttons":this.labelForIdenticalButtons,icon:this.tempActionMenuType==="icon"?"f1d9":"",id:"menubtn-".concat(this.uid),onClick:function(){return t.isExpanded?t.close():t.open()},onBlur:function(e){return t.handleButtonBlur(e)},disabled:this.disabled,ref:function(e){return t.wmButtonEl=e},"tooltip-position":this.tooltipPosition||this.horizontalPosition,"aria-haspopup":"true","aria-expanded":this.isExpanded?"true":"false","aria-controls":"menu-".concat(this.uid)},this.buttonText),n("div",{class:"dropdown ".concat(this.openUp?"open-up":""," ").concat(this.horizontalPosition," ").concat(this.isExpanded?"open":""," hidden"),id:"menu-".concat(this.uid),tabindex:-1,role:"menu",ref:function(e){return t.itemsEl=e}},n("slot",null))))};Object.defineProperty(t,"delegatesFocus",{get:function(){return true},enumerable:false,configurable:true});Object.defineProperty(t.prototype,"el",{get:function(){return s(this)},enumerable:false,configurable:true});return t}());u.style=h;var m=':host,wm-menuitem{contain:content;font-family:inherit}:host .wrapper,wm-menuitem .wrapper{display:block;min-width:8.75rem;cursor:pointer;padding:1.25rem;border-radius:0px 0px 0px 0px;background:#fff;font-family:inherit;font-weight:500;list-style:none;border-bottom:2px solid rgba(46, 27, 70, 0.05);color:#575195;font-weight:700}:host .wrapper:focus,:host .wrapper.focus,wm-menuitem .wrapper:focus,wm-menuitem .wrapper.focus{outline:none;background:#f4f3f6}:host .wrapper:hover,wm-menuitem .wrapper:hover{background:#f4f3f6;outline:none}:host .wrapper .description,wm-menuitem .wrapper .description{color:#4a4a4a;font-size:0.875rem;padding-top:0.5rem;white-space:normal;font-weight:400}:host .wrapper[aria-disabled=true],wm-menuitem .wrapper[aria-disabled=true]{font-style:italic;color:#6b6b6b}:host .wrapper:not(:last-child),wm-menuitem .wrapper:not(:last-child){border-bottom:2px solid rgba(46, 27, 70, 0.05)}:host ::slotted,wm-menuitem ::slotted{font-family:inherit}:host .mdi,wm-menuitem .mdi{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-block;margin-right:0.625rem;pointer-events:none}:host(:focus),wm-menuitem:focus{outline:none;background:#f4f3f6}:host([aria-disabled=true]),wm-menuitem[aria-disabled=true]{pointer-events:none}';var p=t("wm_menuitem",function(){function t(t){e(this,t);this.wmMenuitemClicked=i(this,"wmMenuitemClicked",7);this.wmKeyUpPressed=i(this,"wmKeyUpPressed",7);this.wmKeyDownPressed=i(this,"wmKeyDownPressed",7);this.wmEscKeyPressed=i(this,"wmEscKeyPressed",7);this.wmHomeKeyPressed=i(this,"wmHomeKeyPressed",7);this.wmEndKeyPressed=i(this,"wmEndKeyPressed",7);this.wmPageDownItems=i(this,"wmPageDownItems",7);this.wmPageUpItems=i(this,"wmPageUpItems",7);this.wmTabKeyPressed=i(this,"wmTabKeyPressed",7);this.wmLetterPressed=i(this,"wmLetterPressed",7);this.wmMenuitemBlurred=i(this,"wmMenuitemBlurred",7);this.descriptionCharLimit=100;this.disabled=false;this.focused=false;this.icon=undefined;this.description=undefined;this.isKeying=false}t.prototype.toggleKeyingOn=function(){this.isKeying=true};t.prototype.toggleKeyingOff=function(){this.isKeying=false};t.prototype.handleKeydown=function(t){var e=t.altKey||t.ctrlKey||t.metaKey;var i=/^.$/.test(t.key);var n=i&&!e;switch(t.key){case"ArrowUp":t.preventDefault();this.wmKeyUpPressed.emit(this.el);break;case"ArrowDown":t.preventDefault();this.wmKeyDownPressed.emit(this.el);break;case"Enter":t.preventDefault();if(!this.disabled){this.el.click()}break;case"Escape":t.preventDefault();t.stopPropagation();this.wmEscKeyPressed.emit();break;case"Home":t.preventDefault();this.wmHomeKeyPressed.emit();break;case"End":t.preventDefault();this.wmEndKeyPressed.emit();break;case"Tab":this.wmTabKeyPressed.emit();break;default:if(n){t.preventDefault();this.wmLetterPressed.emit(t.key)}}};t.prototype.handleClick=function(){if(!this.disabled){this.wmMenuitemClicked.emit()}};t.prototype.handleBlur=function(t){this.wmMenuitemBlurred.emit({relatedTarget:t.relatedTarget})};t.prototype.setOnClick=function(){if(this.disabled&&this.el.onclick){this.onClickFunc=this.el.onclick;this.el.onclick=null}else if(!this.disabled&&this.onClickFunc){this.el.onclick=this.onClickFunc}};t.prototype.componentWillLoad=function(){if(this.icon){this.icon=d(this.icon)}if(this.description){if(this.description.length>this.descriptionCharLimit){console.error("wm-menuitem description is above the character limit of ".concat(this.descriptionCharLimit))}if(this.icon){console.error("wm-menuitems with descriptions do not support the use of icons")}}this.setOnClick()};t.prototype.componentDidLoad=function(){if(this.icon){this.iconEl.classList.add("mdi");this.iconEl.innerHTML="&#x".concat(this.icon,";")}};t.prototype.render=function(){var t=this;return n(o,{tabindex:-1,role:"menuitem","aria-disabled":this.disabled?"true":null},n("div",{class:"wrapper ".concat(this.focused&&this.isKeying?"focus":""),"aria-disabled":this.disabled?"true":null},n("span",{ref:function(e){return t.iconEl=e}}),n("slot",null),this.description?n("div",{class:"description"},this.description):""))};Object.defineProperty(t.prototype,"el",{get:function(){return s(this)},enumerable:false,configurable:true});Object.defineProperty(t,"watchers",{get:function(){return{disabled:["setOnClick"]}},enumerable:false,configurable:true});return t}());p.style=m}}}));
|
|
2
|
-
//# sourceMappingURL=p-
|
|
1
|
+
System.register(["./p-7b2fc615.system.js","./p-f08e6a5a.system.js","./p-f5df5903.system.js"],(function(t){"use strict";var e,i,n,o,s,r,a,c,l,d;return{setters:[function(t){e=t.r;i=t.c;n=t.h;o=t.H;s=t.g},function(t){r=t.o;a=t.g;c=t.m;l=t.v},function(t){d=t.g}],execute:function(){var h=":host{position:relative;display:inline-block;width:-moz-fit-content;width:-webkit-fit-content;width:fit-content;color:#575195;font-family:inherit}:host .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(:focus){outline:none}wm-action-menu:focus{outline:none}.dropdown{position:absolute;padding:0;margin:0.25rem 0;border-radius:3px 3px 3px 3px;min-width:11.4375rem;-ms-transform:scale(1, 0);-webkit-transform:scale(1, 0);-moz-transform:scale(1, 0);transform:scale(1, 0);-ms-transition:transform 0.25s ease;-webkit-transition:transform 0.25s ease;-moz-transition:transform 0.25s ease;-webkit-transition:-webkit-transform 0.25s ease;transition:-webkit-transform 0.25s ease;transition:transform 0.25s ease;transition:transform 0.25s ease, -webkit-transform 0.25s ease;-ms-transform-origin:center top;-webkit-transform-origin:center top;-moz-transform-origin:center top;transform-origin:center top;visibility:hidden;-webkit-box-shadow:0 3px 14px 3px rgba(5, 3, 3, 0.12), 0 4px 15px 0 rgba(0, 0, 0, 0.2);-moz-box-shadow:0 3px 14px 3px rgba(5, 3, 3, 0.12), 0 4px 15px 0 rgba(0, 0, 0, 0.2);box-shadow:0 3px 14px 3px rgba(5, 3, 3, 0.12), 0 4px 15px 0 rgba(0, 0, 0, 0.2);background:#fff;z-index:10;text-align:left;white-space:nowrap}.dropdown:focus{outline:none}.dropdown.open{-ms-transform:scale(1, 1);-webkit-transform:scale(1, 1);-moz-transform:scale(1, 1);transform:scale(1, 1);visibility:visible}.dropdown.open-up{bottom:2.5rem;top:auto;-ms-transform-origin:center bottom;-webkit-transform-origin:center bottom;-moz-transform-origin:center bottom;transform-origin:center bottom}.dropdown.right{left:0}.dropdown.left{right:0}";var u=t("wm_action_menu",function(){function t(t){e(this,t);this.wmActionMenuLoaded=i(this,"wmActionMenuLoaded",7);this.menuLoaded=i(this,"menuLoaded",7);this.openUp=false;this.keysSoFar="";this.searchIndex=0;this.keyClear=null;this.isExpanded=false;this.tooltipPosition=undefined;this.actionMenuType=null;this.buttonType=null;this.buttonText=undefined;this.disabled=false;this.tooltip=undefined;this.labelForIdenticalButtons=undefined;this.darkMode=undefined}Object.defineProperty(t.prototype,"horizontalPosition",{get:function(){return!!this.el&&!!this.itemsEl&&r(this.el,this.itemsEl)?"right":"left"},enumerable:false,configurable:true});Object.defineProperty(t.prototype,"childItems",{get:function(){return Array.from(this.el.querySelectorAll("wm-menuitem"))},enumerable:false,configurable:true});Object.defineProperty(t.prototype,"internalButtonType",{get:function(){return this.tempActionMenuType==="icon"||this.tempActionMenuType==="text"?this.tempActionMenuType+"only":this.tempActionMenuType},enumerable:false,configurable:true});Object.defineProperty(t.prototype,"tempActionMenuType",{get:function(){return this.actionMenuType||this.buttonType||"icon"},enumerable:false,configurable:true});t.prototype.handleClickedItem=function(){this.close()};t.prototype.handleKeyUp=function(t){this.moveUp(t.target)};t.prototype.handleKeyDown=function(t){this.moveDown(t.detail)};t.prototype.handleHomeKey=function(){this.focusFirstItem()};t.prototype.handleEndKey=function(){this.focusLastItem()};t.prototype.handleTabKey=function(){if(this.isExpanded){this.close()}};t.prototype.handleEscKey=function(){this.close();this.wmButtonEl.focus()};t.prototype.handleKey=function(t){var e=this;switch(t.key){case"ArrowDown":if(!this.isExpanded){t.preventDefault();this.open();window.requestAnimationFrame((function(){return e.focusFirstItem()}))}break;case"ArrowUp":if(!this.isExpanded){t.preventDefault();this.open();window.requestAnimationFrame((function(){return e.focusLastItem()}))}break}};t.prototype.handleMenuitemBlur=function(t){var e=t.detail.relatedTarget===this.el||this.el.contains(t.detail.relatedTarget);if(!e){var i=new CustomEvent("blur");i.relatedTarget=t.detail.relatedTarget;this.el.dispatchEvent(i)}};t.prototype.handleButtonBlur=function(t){var e=t.relatedTarget===this.el||this.el.contains(t.relatedTarget);if(e){t.stopPropagation()}};t.prototype.componentWillLoad=function(){this.uid=this.el.id?this.el.id:a();if(this.buttonType){console.warn("wm-action-menu: button-type has been deprecated as of v3.1.0. Please use action-menu-type instead.")}};t.prototype.componentDidLoad=function(){if(this.tempActionMenuType!=="icon"&&!this.buttonText){console.error("wm-action-menu should have a valid button-text property when action-menu-type is set to 'text' or 'selector'")}if(this.tempActionMenuType==="icon"&&!this.tooltip){console.error("wm-action-menu should have a valid tooltip when action-menu-type is set to 'icon'")}this.wmActionMenuLoaded.emit();this.menuLoaded.emit()};t.prototype.moveUp=function(t){var e=this.childItems.indexOf(t);if(e===0){this.focusLastItem()}else{this.focusItem(this.childItems[e-1])}};t.prototype.moveDown=function(t){var e=this.childItems.indexOf(t);if(e===this.childItems.length-1){this.focusFirstItem()}else{this.focusItem(this.childItems[e+1])}};t.prototype.open=function(){var t=this;if(!this.disabled){this.openUp=c(this.el,this.itemsEl);this.isExpanded=true;this.itemsEl.classList.remove("hidden");window.requestAnimationFrame((function(){return t.focusFirstItem()}))}};t.prototype.close=function(t){var e=this;if(t===void 0){t=true}this.isExpanded=false;this.childItems.forEach((function(t){return t.focused=false}));window.setTimeout((function(){e.itemsEl.classList.add("hidden")}),150);window.setTimeout((function(){if(t&&(document.activeElement.tagName==="BODY"||document.activeElement.tagName==="WM-MENUITEM")){e.wmButtonEl.focus()}}),250)};t.prototype.focusItem=function(t){this.childItems.map((function(e){return e.focused=e===t}));t.focus&&t.focus()};t.prototype.focusFirstItem=function(){this.focusItem(this.childItems[0])};t.prototype.focusLastItem=function(){this.focusItem(this.childItems[this.childItems.length-1])};t.prototype.findAndFocusItem=function(t){var e=t.detail.toUpperCase();this.focusFirstItem();if(!this.keysSoFar){for(var i=0;i<this.childItems.length;i++){if(this.childItems[i]===document.activeElement){this.searchIndex=i}}}this.keysSoFar+=e;this.clearKeysSoFarAfterDelay();var n=this.findMatchInRange(this.childItems,this.searchIndex+1,this.childItems.length);if(!n){n=this.findMatchInRange(this.childItems,0,this.searchIndex)}if(n){this.focusItem(n)}};t.prototype.clearKeysSoFarAfterDelay=function(){if(this.keyClear){window.clearTimeout(this.keyClear);this.keyClear=null}this.keyClear=window.setTimeout(function(){this.keysSoFar="";this.keyClear=null}.bind(this),500)};t.prototype.findMatchInRange=function(t,e,i){for(var n=e;n<i;n++){var o=t[n].innerText;if(o&&o.toUpperCase().indexOf(this.keysSoFar)===0){return t[n]}}return null};t.prototype.render=function(){var t=this;return n(o,{onBlur:function(){return t.close(false)}},n("div",{class:l()},n("wm-button",{"button-type":this.internalButtonType,tooltip:this.tooltip,"custom-background":this.darkMode?"dark":undefined,"label-for-identical-buttons":this.labelForIdenticalButtons,icon:this.tempActionMenuType==="icon"?"f1d9":"",id:"menubtn-".concat(this.uid),onClick:function(){return t.isExpanded?t.close():t.open()},onBlur:function(e){return t.handleButtonBlur(e)},disabled:this.disabled,ref:function(e){return t.wmButtonEl=e},"tooltip-position":this.tooltipPosition||this.horizontalPosition,"aria-haspopup":"true","aria-expanded":this.isExpanded?"true":"false","aria-controls":"menu-".concat(this.uid)},this.buttonText),n("div",{class:"dropdown ".concat(this.openUp?"open-up":""," ").concat(this.horizontalPosition," ").concat(this.isExpanded?"open":""," hidden"),id:"menu-".concat(this.uid),tabindex:-1,role:"menu",ref:function(e){return t.itemsEl=e}},n("slot",null))))};Object.defineProperty(t,"delegatesFocus",{get:function(){return true},enumerable:false,configurable:true});Object.defineProperty(t.prototype,"el",{get:function(){return s(this)},enumerable:false,configurable:true});return t}());u.style=h;var m=':host,wm-menuitem{contain:content;font-family:inherit}:host .wrapper,wm-menuitem .wrapper{display:block;min-width:8.75rem;cursor:pointer;padding:1.25rem;border-radius:0px 0px 0px 0px;background:#fff;font-family:inherit;font-weight:500;list-style:none;border-bottom:2px solid rgba(46, 27, 70, 0.05);color:#575195;font-weight:700}:host .wrapper:focus,:host .wrapper.focus,wm-menuitem .wrapper:focus,wm-menuitem .wrapper.focus{outline:none;background:#f4f3f6}:host .wrapper:hover,wm-menuitem .wrapper:hover{background:#f4f3f6;outline:none}:host .wrapper .description,wm-menuitem .wrapper .description{color:#4a4a4a;font-size:0.875rem;padding-top:0.5rem;white-space:normal;font-weight:400}:host .wrapper[aria-disabled=true],wm-menuitem .wrapper[aria-disabled=true]{font-style:italic;color:#6b6b6b}:host .wrapper:not(:last-child),wm-menuitem .wrapper:not(:last-child){border-bottom:2px solid rgba(46, 27, 70, 0.05)}:host ::slotted,wm-menuitem ::slotted{font-family:inherit}:host .mdi,wm-menuitem .mdi{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-block;margin-right:0.625rem;pointer-events:none}:host(:focus),wm-menuitem:focus{outline:none;background:#f4f3f6}:host([aria-disabled=true]),wm-menuitem[aria-disabled=true]{pointer-events:none}';var p=t("wm_menuitem",function(){function t(t){e(this,t);this.wmMenuitemClicked=i(this,"wmMenuitemClicked",7);this.wmKeyUpPressed=i(this,"wmKeyUpPressed",7);this.wmKeyDownPressed=i(this,"wmKeyDownPressed",7);this.wmEscKeyPressed=i(this,"wmEscKeyPressed",7);this.wmHomeKeyPressed=i(this,"wmHomeKeyPressed",7);this.wmEndKeyPressed=i(this,"wmEndKeyPressed",7);this.wmPageDownItems=i(this,"wmPageDownItems",7);this.wmPageUpItems=i(this,"wmPageUpItems",7);this.wmTabKeyPressed=i(this,"wmTabKeyPressed",7);this.wmLetterPressed=i(this,"wmLetterPressed",7);this.wmMenuitemBlurred=i(this,"wmMenuitemBlurred",7);this.descriptionCharLimit=100;this.disabled=false;this.focused=false;this.icon=undefined;this.description=undefined;this.isKeying=false}t.prototype.toggleKeyingOn=function(){this.isKeying=true};t.prototype.toggleKeyingOff=function(){this.isKeying=false};t.prototype.handleKeydown=function(t){var e=t.altKey||t.ctrlKey||t.metaKey;var i=/^.$/.test(t.key);var n=i&&!e;switch(t.key){case"ArrowUp":t.preventDefault();this.wmKeyUpPressed.emit(this.el);break;case"ArrowDown":t.preventDefault();this.wmKeyDownPressed.emit(this.el);break;case"Enter":t.preventDefault();if(!this.disabled){this.el.click()}break;case"Escape":t.preventDefault();t.stopPropagation();this.wmEscKeyPressed.emit();break;case"Home":t.preventDefault();this.wmHomeKeyPressed.emit();break;case"End":t.preventDefault();this.wmEndKeyPressed.emit();break;case"Tab":this.wmTabKeyPressed.emit();break;default:if(n){t.preventDefault();this.wmLetterPressed.emit(t.key)}}};t.prototype.handleClick=function(){if(!this.disabled){this.wmMenuitemClicked.emit()}};t.prototype.handleBlur=function(t){this.wmMenuitemBlurred.emit({relatedTarget:t.relatedTarget})};t.prototype.setOnClick=function(){if(this.disabled&&this.el.onclick){this.onClickFunc=this.el.onclick;this.el.onclick=null}else if(!this.disabled&&this.onClickFunc){this.el.onclick=this.onClickFunc}};t.prototype.componentWillLoad=function(){if(this.icon){this.icon=d(this.icon)}if(this.description){if(this.description.length>this.descriptionCharLimit){console.error("wm-menuitem description is above the character limit of ".concat(this.descriptionCharLimit))}if(this.icon){console.error("wm-menuitems with descriptions do not support the use of icons")}}this.setOnClick()};t.prototype.componentDidLoad=function(){if(this.icon){this.iconEl.classList.add("mdi");this.iconEl.innerHTML="&#x".concat(this.icon,";")}};t.prototype.render=function(){var t=this;return n(o,{tabindex:-1,role:"menuitem","aria-disabled":this.disabled?"true":null},n("div",{class:"wrapper ".concat(this.focused&&this.isKeying?"focus":""),"aria-disabled":this.disabled?"true":null},n("span",{ref:function(e){return t.iconEl=e}}),n("slot",null),this.description?n("div",{class:"description"},this.description):""))};Object.defineProperty(t.prototype,"el",{get:function(){return s(this)},enumerable:false,configurable:true});Object.defineProperty(t,"watchers",{get:function(){return{disabled:["setOnClick"]}},enumerable:false,configurable:true});return t}());p.style=m}}}));
|
|
2
|
+
//# sourceMappingURL=p-ac27d425.system.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["wmActionMenuCss","ActionMenu","exports","this","openUp","keysSoFar","searchIndex","keyClear","Object","defineProperty","class_1","prototype","el","itemsEl","shouldShiftRight","Array","from","querySelectorAll","tempActionMenuType","actionMenuType","buttonType","handleClickedItem","close","handleKeyUp","ev","moveUp","target","handleKeyDown","moveDown","detail","handleHomeKey","focusFirstItem","handleEndKey","focusLastItem","handleTabKey","isExpanded","handleEscKey","wmButtonEl","focus","handleKey","_this","key","preventDefault","open","window","requestAnimationFrame","handleMenuitemBlur","toElOrChild","relatedTarget","contains","event","CustomEvent","dispatchEvent","handleButtonBlur","stopPropagation","componentWillLoad","uid","id","generateId","console","warn","componentDidLoad","buttonText","error","tooltip","wmActionMenuLoaded","emit","menuLoaded","index","childItems","indexOf","focusItem","length","disabled","shouldOpenUp","classList","remove","returnFocus","forEach","i","focused","setTimeout","add","document","activeElement","tagName","item","map","findAndFocusItem","character","toUpperCase","clearKeysSoFarAfterDelay","nextMatch","findMatchInRange","clearTimeout","bind","list","startIndex","endIndex","n","label","innerText","render","h","Host","onBlur","class","getTextDir","internalButtonType","darkMode","undefined","labelForIdenticalButtons","icon","concat","onClick","ref","tooltipPosition","horizontalPosition","tabindex","role","wmMenuitemCss","Menuitem","descriptionCharLimit","class_2","toggleKeyingOn","isKeying","toggleKeyingOff","handleKeydown","modifierKeyUsed","altKey","ctrlKey","metaKey","isSingleCharacter","test","isCharacterEntry","wmKeyUpPressed","wmKeyDownPressed","click","wmEscKeyPressed","wmHomeKeyPressed","wmEndKeyPressed","wmTabKeyPressed","wmLetterPressed","handleClick","wmMenuitemClicked","handleBlur","wmMenuitemBlurred","setOnClick","onclick","onClickFunc","getIconCodeFromName","description","iconEl","innerHTML"],"sources":["src/components/wm-action-menu/wm-action-menu.scss?tag=wm-action-menu&encapsulation=shadow","src/components/wm-action-menu/wm-action-menu.tsx","src/components/wm-menuitem/wm-menuitem.scss?tag=wm-menuitem&encapsulation=shadow","src/components/wm-menuitem/wm-menuitem.tsx"],"sourcesContent":[":host {\r\n position: relative;\r\n display: inline-block;\r\n width: -moz-fit-content;\r\n width: fit-content;\r\n color: #575195;\r\n font-family: inherit;\r\n\r\n .sr-only {\r\n @include srOnly;\r\n }\r\n}\r\n\r\n:host(:focus) {\r\n outline: none;\r\n}\r\n\r\nwm-action-menu:focus {\r\n outline: none;\r\n}\r\n\r\n.dropdown {\r\n position: absolute;\r\n padding: 0;\r\n margin: rem-calc(4) 0;\r\n border-radius: 3px 3px 3px 3px;\r\n min-width: rem-calc(183);\r\n @include scale($xVal: 1, $yVal: 0);\r\n @include transition(transform 0.25s ease);\r\n @include transformOrigin(center top);\r\n visibility: hidden;\r\n\r\n &:focus {\r\n outline: none;\r\n }\r\n\r\n @include box-shadow(0 3px 14px 3px rgba(5, 3, 3, 0.12), 0 4px 15px 0 rgba(0, 0, 0, 0.2));\r\n background: #fff;\r\n z-index: 10;\r\n text-align: left;\r\n\r\n &.open {\r\n @include scale($xVal: 1, $yVal: 1);\r\n visibility: visible;\r\n }\r\n\r\n &.open-up {\r\n bottom: 2.5rem;\r\n top: auto;\r\n @include transformOrigin(center bottom);\r\n }\r\n\r\n &.right {\r\n // anchoring to left corner means it opens on the right side\r\n left: 0;\r\n }\r\n\r\n &.left {\r\n right: 0;\r\n }\r\n\r\n white-space: nowrap;\r\n}\r\n","import { h, Component, Element, Listen, Prop, State, Event, EventEmitter, Host } from \"@stencil/core\";\r\nimport { generateId, getTextDir, shouldOpenUp, shouldShiftRight } from \"../../global/functions\";\r\n\r\n@Component({\r\n tag: \"wm-action-menu\",\r\n styleUrl: \"wm-action-menu.scss\",\r\n shadow: { delegatesFocus: true },\r\n})\r\nexport class ActionMenu {\r\n @Element() el!: HTMLWmActionMenuElement;\r\n private wmButtonEl!: HTMLWmButtonElement;\r\n private itemsEl?: HTMLDivElement;\r\n private uid!: string;\r\n private openUp: boolean = false;\r\n get horizontalPosition(): \"right\" | \"left\" {\r\n return !!this.el && !!this.itemsEl && shouldShiftRight(this.el, this.itemsEl!) ? \"right\" : \"left\";\r\n }\r\n get childItems(): HTMLWmMenuitemElement[] {\r\n return Array.from(this.el.querySelectorAll(\"wm-menuitem\"));\r\n }\r\n get internalButtonType(): string {\r\n return this.tempActionMenuType === \"icon\" || this.tempActionMenuType === \"text\"\r\n ? this.tempActionMenuType + \"only\"\r\n : this.tempActionMenuType;\r\n }\r\n\r\n @State() isExpanded = false;\r\n @Prop() tooltipPosition?:\r\n | \"top\"\r\n | \"bottom\"\r\n | \"left\"\r\n | \"right\"\r\n | \"bottom-left\"\r\n | \"bottom-right\"\r\n | \"top-right\"\r\n | \"top-left\";\r\n @Prop() actionMenuType: \"icon\" | \"text\" | \"selector\" | \"selector-primary\" | null = null;\r\n @Prop() buttonType: \"icon\" | \"text\" | \"selector\" | null = null; // deprecated in favor of actionMenuType\r\n get tempActionMenuType(): \"icon\" | \"text\" | \"selector\" | \"selector-primary\" {\r\n // uses of this getter should be replaced with this.actionMenuType when buttonType is fully phased out\r\n // don't forget to reset this.actionMenuTypes's default value to icon\r\n return this.actionMenuType || this.buttonType || \"icon\";\r\n }\r\n @Prop() buttonText?: string;\r\n @Prop({ reflect: true }) disabled: boolean = false;\r\n @Prop() tooltip?: string;\r\n @Prop() labelForIdenticalButtons?: string;\r\n @Prop() darkMode?: boolean;\r\n @Event({ composed: true, bubbles: true }) wmActionMenuLoaded!: EventEmitter;\r\n @Event({ composed: true, bubbles: true }) menuLoaded!: EventEmitter; // deprecated in favor of wmActionMenuLoaded\r\n\r\n private keysSoFar: string = \"\";\r\n private searchIndex: number = 0;\r\n private keyClear: number | null = null;\r\n\r\n @Listen(\"wmMenuitemClicked\")\r\n handleClickedItem() {\r\n this.close();\r\n }\r\n\r\n @Listen(\"wmKeyUpPressed\")\r\n handleKeyUp(ev: CustomEvent) {\r\n this.moveUp(ev.target as HTMLWmMenuitemElement);\r\n }\r\n\r\n @Listen(\"wmKeyDownPressed\")\r\n handleKeyDown(ev: CustomEvent) {\r\n this.moveDown(ev.detail);\r\n }\r\n\r\n @Listen(\"wmHomeKeyPressed\")\r\n handleHomeKey() {\r\n this.focusFirstItem();\r\n }\r\n\r\n @Listen(\"wmEndKeyPressed\")\r\n handleEndKey() {\r\n this.focusLastItem();\r\n }\r\n\r\n @Listen(\"wmTabKeyPressed\")\r\n handleTabKey() {\r\n if (this.isExpanded) {\r\n this.close();\r\n }\r\n }\r\n\r\n @Listen(\"wmEscKeyPressed\")\r\n handleEscKey() {\r\n this.close();\r\n this.wmButtonEl.focus();\r\n }\r\n\r\n @Listen(\"keydown\")\r\n handleKey(ev: KeyboardEvent) {\r\n switch (ev.key) {\r\n case \"ArrowDown\":\r\n if (!this.isExpanded) {\r\n ev.preventDefault();\r\n this.open();\r\n window.requestAnimationFrame(() => this.focusFirstItem());\r\n }\r\n break;\r\n case \"ArrowUp\":\r\n if (!this.isExpanded) {\r\n ev.preventDefault();\r\n this.open();\r\n window.requestAnimationFrame(() => this.focusLastItem());\r\n }\r\n break;\r\n }\r\n }\r\n\r\n @Listen(\"wmMenuitemBlurred\")\r\n handleMenuitemBlur(ev: CustomEvent): void {\r\n const toElOrChild = ev.detail.relatedTarget === this.el || this.el.contains(ev.detail.relatedTarget as Node);\r\n // if the Menuitem is blurred to something other than the component, emit a blur event with the appropriate relatedTarget\r\n // keeps our component's blur events accurate, and closes when focusing browser address bar\r\n if (!toElOrChild) {\r\n const event = new CustomEvent(\"blur\");\r\n // @ts-ignore\r\n event.relatedTarget = ev.detail.relatedTarget;\r\n this.el.dispatchEvent(event);\r\n }\r\n }\r\n\r\n handleButtonBlur(ev: FocusEvent) {\r\n const toElOrChild = ev.relatedTarget === this.el || this.el.contains(ev.relatedTarget as Node);\r\n if (toElOrChild) {\r\n // do not emit a blur event when opening the dropdown and focusing the Menuitems\r\n ev.stopPropagation();\r\n }\r\n }\r\n\r\n componentWillLoad() {\r\n this.uid = this.el.id ? this.el.id : generateId();\r\n\r\n if (this.buttonType) {\r\n console.warn(\r\n \"wm-action-menu: button-type has been deprecated as of v3.1.0. Please use action-menu-type instead.\"\r\n );\r\n }\r\n }\r\n\r\n componentDidLoad() {\r\n if (this.tempActionMenuType !== \"icon\" && !this.buttonText) {\r\n console.error(\r\n \"wm-action-menu should have a valid button-text property when action-menu-type is set to 'text' or 'selector'\"\r\n );\r\n }\r\n\r\n if (this.tempActionMenuType === \"icon\" && !this.tooltip) {\r\n console.error(\"wm-action-menu should have a valid tooltip when action-menu-type is set to 'icon'\");\r\n }\r\n\r\n this.wmActionMenuLoaded.emit();\r\n this.menuLoaded.emit(); // deprecated\r\n }\r\n\r\n moveUp(el: HTMLWmMenuitemElement) {\r\n const index = this.childItems.indexOf(el);\r\n if (index === 0) {\r\n this.focusLastItem();\r\n } else {\r\n this.focusItem(this.childItems[index - 1]);\r\n }\r\n }\r\n\r\n moveDown(el: HTMLWmMenuitemElement) {\r\n const index = this.childItems.indexOf(el);\r\n if (index === this.childItems.length - 1) {\r\n this.focusFirstItem();\r\n } else {\r\n this.focusItem(this.childItems[index + 1]);\r\n }\r\n }\r\n\r\n open() {\r\n if (!this.disabled) {\r\n this.openUp = shouldOpenUp(this.el, this.itemsEl!);\r\n // action menu usually is on the right side of the screen,\r\n // so dropdown opens to the left (is anchored on the right corner)\r\n // if there is not enough space on the left and enough on the right though,\r\n // it will open on the right side\r\n\r\n this.isExpanded = true;\r\n this.itemsEl!.classList.remove(\"hidden\");\r\n window.requestAnimationFrame(() => this.focusFirstItem());\r\n }\r\n }\r\n\r\n close(returnFocus: boolean = true) {\r\n this.isExpanded = false;\r\n this.childItems.forEach((i) => (i.focused = false));\r\n\r\n window.setTimeout(() => {\r\n this.itemsEl!.classList.add(\"hidden\");\r\n }, 150);\r\n\r\n window.setTimeout(() => {\r\n // if dev omits to assign focus after an action is triggered,\r\n // the component brings the focus back on the button\r\n // Focus will only be lost (and go to the body) once the menuitem\r\n // is not visible anymore, so we need to wait for the transition to\r\n // finish and the hidden class to be applied.\r\n // also checking if focus stayed on the menuitem\r\n if (\r\n returnFocus &&\r\n (document.activeElement!.tagName === \"BODY\" || document.activeElement!.tagName === \"WM-MENUITEM\")\r\n ) {\r\n this.wmButtonEl.focus();\r\n }\r\n }, 250);\r\n }\r\n\r\n focusItem(item: HTMLWmMenuitemElement) {\r\n this.childItems.map((i: HTMLWmMenuitemElement) => (i.focused = i === item));\r\n item.focus && item.focus();\r\n }\r\n\r\n focusFirstItem() {\r\n this.focusItem(this.childItems[0]);\r\n }\r\n\r\n focusLastItem() {\r\n this.focusItem(this.childItems[this.childItems.length - 1]);\r\n }\r\n\r\n @Listen(\"wmLetterPressed\")\r\n findAndFocusItem(ev: CustomEvent) {\r\n const character = ev.detail.toUpperCase();\r\n this.focusFirstItem();\r\n if (!this.keysSoFar) {\r\n for (var i = 0; i < this.childItems.length; i++) {\r\n if (this.childItems[i] === document.activeElement) {\r\n this.searchIndex = i;\r\n }\r\n }\r\n }\r\n\r\n this.keysSoFar += character;\r\n this.clearKeysSoFarAfterDelay();\r\n\r\n var nextMatch = this.findMatchInRange(this.childItems, this.searchIndex + 1, this.childItems.length);\r\n if (!nextMatch) {\r\n nextMatch = this.findMatchInRange(this.childItems, 0, this.searchIndex);\r\n }\r\n if (nextMatch) {\r\n this.focusItem(nextMatch as HTMLWmMenuitemElement);\r\n }\r\n }\r\n\r\n clearKeysSoFarAfterDelay() {\r\n if (this.keyClear) {\r\n window.clearTimeout(this.keyClear);\r\n this.keyClear = null;\r\n }\r\n this.keyClear = window.setTimeout(\r\n function (this: ActionMenu) {\r\n this.keysSoFar = \"\";\r\n this.keyClear = null;\r\n }.bind(this),\r\n 500\r\n );\r\n }\r\n\r\n findMatchInRange(list: HTMLWmMenuitemElement[], startIndex: number, endIndex: number) {\r\n // Find the first item starting with the keysSoFar substring, searching in\r\n // the specified range of items\r\n for (var n = startIndex; n < endIndex; n++) {\r\n var label = list[n].innerText;\r\n if (label && label.toUpperCase().indexOf(this.keysSoFar) === 0) {\r\n return list[n];\r\n }\r\n }\r\n return null;\r\n }\r\n\r\n render() {\r\n return (\r\n <Host onBlur={() => this.close(false)}>\r\n <div class={getTextDir()}>\r\n <wm-button\r\n button-type={this.internalButtonType}\r\n tooltip={this.tooltip}\r\n custom-background={this.darkMode ? \"dark\" : undefined}\r\n label-for-identical-buttons={this.labelForIdenticalButtons}\r\n icon={this.tempActionMenuType === \"icon\" ? \"f1d9\" : \"\"}\r\n id={`menubtn-${this.uid}`}\r\n onClick={() => (this.isExpanded ? this.close() : this.open())}\r\n onBlur={(ev) => this.handleButtonBlur(ev)}\r\n disabled={this.disabled}\r\n ref={(el) => (this.wmButtonEl = el as HTMLWmButtonElement)}\r\n tooltip-position={this.tooltipPosition || this.horizontalPosition}\r\n aria-haspopup=\"true\"\r\n aria-expanded={this.isExpanded ? \"true\" : \"false\"}\r\n aria-controls={`menu-${this.uid}`}\r\n >\r\n {this.buttonText}\r\n </wm-button>\r\n <div\r\n class={`dropdown ${this.openUp ? \"open-up\" : \"\"} ${this.horizontalPosition} ${\r\n this.isExpanded ? \"open\" : \"\"\r\n } hidden`}\r\n id={`menu-${this.uid}`}\r\n tabindex={-1}\r\n role=\"menu\"\r\n ref={(el) => (this.itemsEl = el)}\r\n >\r\n <slot />\r\n </div>\r\n </div>\r\n </Host>\r\n );\r\n }\r\n}\r\n",":host,\r\nwm-menuitem {\r\n contain: content;\r\n font-family: inherit;\r\n\r\n .wrapper {\r\n display: block;\r\n min-width: rem-calc(140);\r\n cursor: pointer;\r\n padding: rem-calc(20);\r\n border-radius: 0px 0px 0px 0px;\r\n background: #fff;\r\n font-family: inherit;\r\n font-weight: 500;\r\n list-style: none;\r\n border-bottom: 2px solid rgba(#2e1b46, 0.05);\r\n color: $button-default-text;\r\n font-weight: 700;\r\n\r\n &:focus,\r\n &.focus {\r\n outline: none;\r\n background: #f4f3f6;\r\n }\r\n\r\n &:hover {\r\n background: #f4f3f6;\r\n outline: none;\r\n }\r\n\r\n .description {\r\n color: $charcoal;\r\n font-size: rem-calc(14);\r\n padding-top: rem-calc(8);\r\n white-space: normal;\r\n font-weight: 400;\r\n }\r\n\r\n &[aria-disabled=\"true\"] {\r\n font-style: italic;\r\n color: #6b6b6b;\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 ::slotted {\r\n font-family: inherit;\r\n }\r\n\r\n .mdi {\r\n @include mdi-icon;\r\n display: inline-block;\r\n margin-right: rem-calc(10);\r\n pointer-events: none;\r\n }\r\n}\r\n\r\n:host(:focus),\r\nwm-menuitem:focus {\r\n outline: none;\r\n background: #f4f3f6;\r\n}\r\n\r\n//Set pointer events to none on host and element in shadow dom to disable menuitem\r\n:host([aria-disabled=\"true\"]),\r\nwm-menuitem[aria-disabled=\"true\"] {\r\n pointer-events: none;\r\n}\r\n","import { h, Component, Element, Event, EventEmitter, Listen, Prop, State, Host, Watch } from \"@stencil/core\";\r\nimport { getIconCodeFromName } from \"../../global/interfaces\";\r\n\r\n@Component({\r\n tag: \"wm-menuitem\",\r\n styleUrl: \"wm-menuitem.scss\",\r\n shadow: true,\r\n})\r\nexport class Menuitem {\r\n @Element() el!: HTMLWmMenuitemElement;\r\n private iconEl?: HTMLSpanElement;\r\n\r\n @Prop() disabled = false;\r\n @Prop() focused = false;\r\n @Prop({ mutable: true }) icon?: string = undefined;\r\n @Prop() description?: string = undefined;\r\n\r\n @Event() wmMenuitemClicked!: EventEmitter<HTMLWmMenuitemElement>;\r\n @Event() wmKeyUpPressed!: EventEmitter<HTMLWmMenuitemElement>;\r\n @Event() wmKeyDownPressed!: EventEmitter<HTMLWmMenuitemElement>;\r\n @Event() wmEscKeyPressed!: EventEmitter<HTMLWmMenuitemElement>;\r\n @Event() wmHomeKeyPressed!: EventEmitter<HTMLWmMenuitemElement>;\r\n @Event() wmEndKeyPressed!: EventEmitter<HTMLWmMenuitemElement>;\r\n @Event() wmPageDownItems!: EventEmitter<HTMLWmMenuitemElement>;\r\n @Event() wmPageUpItems!: EventEmitter<HTMLWmMenuitemElement>;\r\n @Event() wmTabKeyPressed!: EventEmitter<HTMLWmMenuitemElement>;\r\n @Event() wmLetterPressed!: EventEmitter;\r\n @Event() wmMenuitemBlurred!: EventEmitter<{ relatedTarget: EventTarget | null }>;\r\n private onClickFunc!: (this: GlobalEventHandlers, ev: MouseEvent) => any;\r\n private descriptionCharLimit = 100;\r\n\r\n @State() isKeying: boolean = false;\r\n\r\n @Listen(\"wmUserIsKeying\", { target: \"window\" })\r\n @Listen(\"wmUserIsTabbing\", { target: \"window\" })\r\n toggleKeyingOn() {\r\n this.isKeying = true;\r\n }\r\n\r\n @Listen(\"wmUserIsNotKeying\", { target: \"window\" })\r\n @Listen(\"wmUserIsNotTabbing\", { target: \"window\" })\r\n toggleKeyingOff() {\r\n this.isKeying = false;\r\n }\r\n\r\n @Listen(\"keydown\")\r\n handleKeydown(ev: KeyboardEvent) {\r\n const modifierKeyUsed = ev.altKey || ev.ctrlKey || ev.metaKey;\r\n const isSingleCharacter = /^.$/.test(ev.key);\r\n const isCharacterEntry = isSingleCharacter && !modifierKeyUsed;\r\n switch (ev.key) {\r\n case \"ArrowUp\":\r\n ev.preventDefault();\r\n this.wmKeyUpPressed.emit(this.el as HTMLWmMenuitemElement);\r\n break;\r\n case \"ArrowDown\":\r\n ev.preventDefault();\r\n this.wmKeyDownPressed.emit(this.el as HTMLWmMenuitemElement);\r\n break;\r\n case \"Enter\":\r\n ev.preventDefault();\r\n if (!this.disabled) {\r\n this.el.click();\r\n }\r\n break;\r\n case \"Escape\":\r\n ev.preventDefault();\r\n ev.stopPropagation(); // prevents closing of parent modal\r\n this.wmEscKeyPressed.emit();\r\n break;\r\n case \"Home\":\r\n ev.preventDefault();\r\n this.wmHomeKeyPressed.emit();\r\n break;\r\n case \"End\":\r\n ev.preventDefault();\r\n this.wmEndKeyPressed.emit();\r\n break;\r\n case \"Tab\":\r\n this.wmTabKeyPressed.emit();\r\n break;\r\n default:\r\n if (isCharacterEntry) {\r\n ev.preventDefault();\r\n this.wmLetterPressed.emit(ev.key);\r\n }\r\n }\r\n }\r\n\r\n @Listen(\"click\")\r\n handleClick() {\r\n if (!this.disabled) {\r\n this.wmMenuitemClicked.emit();\r\n }\r\n }\r\n\r\n @Listen(\"blur\")\r\n handleBlur(ev: FocusEvent) {\r\n this.wmMenuitemBlurred.emit({ relatedTarget: ev.relatedTarget });\r\n }\r\n\r\n @Watch(\"disabled\")\r\n setOnClick() {\r\n if (this.disabled && this.el.onclick) {\r\n this.onClickFunc = this.el.onclick;\r\n this.el.onclick = null;\r\n } else if (!this.disabled && this.onClickFunc) {\r\n this.el.onclick = this.onClickFunc;\r\n }\r\n }\r\n\r\n componentWillLoad() {\r\n if (this.icon) {\r\n // in case a name was passed instead of a code, convert it to code (for backwards compatibility)\r\n this.icon = getIconCodeFromName(this.icon);\r\n }\r\n\r\n if (this.description) {\r\n if (this.description.length > this.descriptionCharLimit) {\r\n console.error(`wm-menuitem description is above the character limit of ${this.descriptionCharLimit}`);\r\n }\r\n if (this.icon) {\r\n console.error(\"wm-menuitems with descriptions do not support the use of icons\");\r\n }\r\n }\r\n\r\n this.setOnClick();\r\n }\r\n\r\n componentDidLoad() {\r\n if (this.icon) {\r\n this.iconEl!.classList.add(\"mdi\");\r\n this.iconEl!.innerHTML = `&#x${this.icon};`;\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n <Host tabindex={-1} role=\"menuitem\" aria-disabled={this.disabled ? \"true\" : null}>\r\n <div\r\n class={`wrapper ${this.focused && this.isKeying ? \"focus\" : \"\"}`}\r\n aria-disabled={this.disabled ? \"true\" : null}\r\n >\r\n <span ref={(el) => (this.iconEl = el)} />\r\n <slot />\r\n {this.description ? <div class=\"description\">{this.description}</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([],(function(){"use strict";return{execute:function(){var e="3.24.
|
|
2
|
-
//# sourceMappingURL=p-
|
|
1
|
+
System.register([],(function(){"use strict";return{execute:function(){var e="3.24.1";if(window.navigator.plugins.length>0){console.log("Ripple component library",e)}function t(e){if(e.key=="Tab"){var t=new Event("wmUserIsTabbing");window.dispatchEvent(t);document.querySelector("body").classList.add("wmcl-user-is-tabbing")}if(e.key=="ArrowLeft"||e.key=="ArrowUp"||e.key=="ArrowRight"||e.key=="ArrowDown"){var t=new Event("wmUserIsKeying");window.dispatchEvent(t);document.querySelector("body").classList.add("wmcl-user-is-keying")}}function n(){var e=new Event("wmUserIsNotTabbing");window.dispatchEvent(e);document.querySelector("body").classList.remove("wmcl-user-is-tabbing");document.querySelector("body").classList.remove("wmcl-user-is-keying")}window.addEventListener("keydown",t);window.addEventListener("mousedown",n);var o=document.createElement("div");o.id="wm-tooltip-container";var i=document.createElement("div");i.id="wm-tooltip";i.setAttribute("aria-hidden","true");i.style.position="fixed";i.style.overflow="hidden";i.style.pointerEvents="none";i.style.lineHeight="normal";i.style.fontFamily="inherit";i.style.fontSize="0.875rem";i.style.textTransform="none";i.style.fontWeight="normal";i.style.background="black";i.style.color="#fff";i.style.zIndex="999999";i.style.maxWidth="var(--wmTooltipMaxWidth, 13.75rem)";i.style.marginRight="1.5rem";i.style.padding="0.375rem";i.style.transitionProperty="opacity";i.style.transitionDelay="opacity";i.style.opacity="0";i.style.top="0";i.style.left="0";i.style.transform="translateZ(0)";i.style.willChange="transform";i.style.transform="translate(var(--wmTooltipLeft), var(--wmTooltipTop))";o.appendChild(i);var r=document.querySelector("body");r.appendChild(o)}}}));
|
|
2
|
+
//# sourceMappingURL=p-b8783b39.system.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["window","navigator","plugins","length","console","log","version","wmComponentKeys","ev","key","event","Event","dispatchEvent","document","querySelector","classList","add","wmComponentMouseDownOnce","remove","addEventListener","tooltipContainer","createElement","id","tooltipEl","setAttribute","style","position","overflow","pointerEvents","lineHeight","fontFamily","fontSize","textTransform","fontWeight","background","color","zIndex","maxWidth","marginRight","padding","transitionProperty","transitionDelay","opacity","top","left","transform","willChange","appendChild","body"],"sources":["src/global/global.ts"],"sourcesContent":["import { setMode } from \"@stencil/core\";\r\nimport { version } from \"../../package.json\";\r\n\r\n// PRINT RIPPLE VERSION IN CONSOLE\r\n// test envs return 0 for plugin.length\r\n// do not print version number there as it causes issues\r\nif (window.navigator.plugins.length > 0) {\r\n console.log(\"Ripple component library\", version);\r\n}\r\n\r\n// USER-IS-TABBING CLASSES (FOR FOCUS INDICATORS)\r\n// Dispatching events to track whether user is navigating with keyboard or mouse\r\nfunction wmComponentKeys(ev: KeyboardEvent) {\r\n if (ev.key == \"Tab\") {\r\n var event: Event = new Event(\"wmUserIsTabbing\");\r\n window.dispatchEvent(event);\r\n document.querySelector(\"body\")!.classList.add(\"wmcl-user-is-tabbing\");\r\n }\r\n if (ev.key == \"ArrowLeft\" || ev.key == \"ArrowUp\" || ev.key == \"ArrowRight\" || ev.key == \"ArrowDown\") {\r\n var event: Event = new Event(\"wmUserIsKeying\");\r\n window.dispatchEvent(event);\r\n document.querySelector(\"body\")!.classList.add(\"wmcl-user-is-keying\");\r\n }\r\n}\r\n\r\nfunction wmComponentMouseDownOnce() {\r\n var event = new Event(\"wmUserIsNotTabbing\");\r\n window.dispatchEvent(event);\r\n document.querySelector(\"body\")!.classList.remove(\"wmcl-user-is-tabbing\");\r\n document.querySelector(\"body\")!.classList.remove(\"wmcl-user-is-keying\");\r\n}\r\n\r\nwindow.addEventListener(\"keydown\", wmComponentKeys);\r\nwindow.addEventListener(\"mousedown\", wmComponentMouseDownOnce);\r\n\r\n// MODES (FOR PRODUCT-SPECIFIC STYLING)\r\n//Checks for mode attribute explicitly set on the document. If \"mode\" is set on component, it will override the global mode. Falls back to default (Planning styles)\r\nsetMode((elm) => {\r\n return elm.getAttribute(\"mode\") || document.documentElement.getAttribute(\"mode\") || \"planning\";\r\n});\r\n\r\n// TOOLTIP\r\n// Add a tooltip element\r\n// This allows tooltips to be always at the highest stacking context (always on top)\r\n// Element is added withing a container to avoid performance impact\r\nconst tooltipContainer = document.createElement(\"div\");\r\ntooltipContainer.id = \"wm-tooltip-container\";\r\nconst tooltipEl = document.createElement(\"div\");\r\ntooltipEl.id = \"wm-tooltip\";\r\ntooltipEl.setAttribute(\"aria-hidden\", \"true\");\r\ntooltipEl.style.position = \"fixed\";\r\ntooltipEl.style.overflow = \"hidden\";\r\ntooltipEl.style.pointerEvents = \"none\";\r\ntooltipEl.style.lineHeight = \"normal\";\r\ntooltipEl.style.fontFamily = \"inherit\";\r\ntooltipEl.style.fontSize = \"0.875rem\";\r\ntooltipEl.style.textTransform = \"none\";\r\ntooltipEl.style.fontWeight = \"normal\";\r\ntooltipEl.style.background = \"black\";\r\ntooltipEl.style.color = \"#fff\";\r\ntooltipEl.style.zIndex = \"999999\";\r\ntooltipEl.style.maxWidth = \"var(--wmTooltipMaxWidth, 13.75rem)\";\r\ntooltipEl.style.marginRight = \"1.5rem\";\r\ntooltipEl.style.padding = \"0.375rem\";\r\ntooltipEl.style.transitionProperty = \"opacity\";\r\ntooltipEl.style.transitionDelay = \"opacity\";\r\ntooltipEl.style.opacity = \"0\";\r\ntooltipEl.style.top = \"0\";\r\ntooltipEl.style.left = \"0\";\r\ntooltipEl.style.transform = \"translateZ(0)\";\r\ntooltipEl.style.willChange = \"transform\";\r\ntooltipEl.style.transform = \"translate(var(--wmTooltipLeft), var(--wmTooltipTop))\";\r\n\r\ntooltipContainer.appendChild(tooltipEl);\r\nconst body = document.querySelector(\"body\");\r\nbody!.appendChild(tooltipContainer);\r\n"],"mappings":"qFAMA,GAAIA,OAAOC,UAAUC,QAAQC,OAAS,EAAG,CACvCC,QAAQC,IAAI,2BAA4BC,E,CAK1C,SAASC,EAAgBC,GACvB,GAAIA,EAAGC,KAAO,MAAO,CACnB,IAAIC,EAAe,IAAIC,MAAK,mBAC5BX,OAAOY,cAAcF,GACrBG,SAASC,cAAc,QAAMC,UAAAC,IAAA,uB,CAE/B,GAAAR,EAAAC,KAAA,aAAAD,EAAAC,KAAA,WAAAD,EAAAC,KAAA,cAAAD,EAAAC,KAAA,aACE,IAAIC,EAAe,IAAIC,MAAM,kBAC7BX,OAAOY,cAAcF,GACrBG,SAASC,cAAc,QAAMC,UAAAC,IAAA,sB,CAEjC,CAEA,SAAAC,IACE,IAAIP,EAAQ,IAAIC,MAAM,sBACtBX,OAAOY,cAAcF,GACrBG,SAASC,cAAc,QAAMC,UAAAG,OAAA,wBAC7BL,SAASC,cAAc,QAASC,UAAUG,OAAO,sBACnD,CAEAlB,OAAAmB,iBAAA,UAAAZ,GACAP,OAAOmB,iBAAiB,YAAaF,GAYrC,IAAMG,EAAmBP,SAASQ,cAAc,OAChDD,EAAiBE,GAAK,uBACtB,IAAMC,EAAYV,SAASQ,cAAc,OACzCE,EAAUD,GAAK,aACfC,EAAUC,aAAa,sBACvBD,EAAUE,MAAMC,SAAW,QAC3BH,EAAUE,MAAME,SAAW,SAC3BJ,EAAUE,MAAMG,cAAgB,OAChCL,EAAUE,MAAMI,WAAa,SAC7BN,EAAUE,MAAMK,WAAa,UAC7BP,EAAUE,MAAMM,SAAW,WAC3BR,EAAUE,MAAMO,cAAgB,OAChCT,EAAUE,MAAMQ,WAAa,SAC7BV,EAAUE,MAAMS,WAAa,QAC7BX,EAAUE,MAAMU,MAAQ,OACxBZ,EAAUE,MAAMW,OAAS,SACzBb,EAAUE,MAAMY,SAAW,qCAC3Bd,EAAUE,MAAMa,YAAc,SAC9Bf,EAAUE,MAAMc,QAAU,WAC1BhB,EAAUE,MAAMe,mBAAqB,UACrCjB,EAAUE,MAAMgB,gBAAkB,UAClClB,EAAUE,MAAMiB,QAAU,IAC1BnB,EAAUE,MAAMkB,IAAM,IACtBpB,EAAUE,MAAMmB,KAAO,IACvBrB,EAAUE,MAAMoB,UAAY,gBAC5BtB,EAAUE,MAAMqB,WAAa,YAC7BvB,EAAUE,MAAMoB,UAAY,uDAE5BzB,EAAiB2B,YAAYxB,GAC7B,IAAMyB,EAAOnC,SAASC,cAAc,QACpCkC,EAAMD,YAAY3B,E"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var __awaiter=this&&this.__awaiter||function(e,r,t,a){function p(e){return e instanceof t?e:new t((function(r){r(e)}))}return new(t||(t=Promise))((function(t,n){function o(e){try{s(a.next(e))}catch(e){n(e)}}function c(e){try{s(a["throw"](e))}catch(e){n(e)}}function s(e){e.done?t(e.value):p(e.value).then(o,c)}s((a=a.apply(e,r||[])).next())}))};var __generator=this&&this.__generator||function(e,r){var t={label:0,sent:function(){if(n[0]&1)throw n[1];return n[1]},trys:[],ops:[]},a,p,n,o;return o={next:c(0),throw:c(1),return:c(2)},typeof Symbol==="function"&&(o[Symbol.iterator]=function(){return this}),o;function c(e){return function(r){return s([e,r])}}function s(c){if(a)throw new TypeError("Generator is already executing.");while(o&&(o=0,c[0]&&(t=0)),t)try{if(a=1,p&&(n=c[0]&2?p["return"]:c[0]?p["throw"]||((n=p["return"])&&n.call(p),0):p.next)&&!(n=n.call(p,c[1])).done)return n;if(p=0,n)c=[c[0]&2,n.value];switch(c[0]){case 0:case 1:n=c;break;case 4:t.label++;return{value:c[1],done:false};case 5:t.label++;p=c[1];c=[0];continue;case 7:c=t.ops.pop();t.trys.pop();continue;default:if(!(n=t.trys,n=n.length>0&&n[n.length-1])&&(c[0]===6||c[0]===2)){t=0;continue}if(c[0]===3&&(!n||c[1]>n[0]&&c[1]<n[3])){t.label=c[1];break}if(c[0]===6&&t.label<n[1]){t.label=n[1];n=c;break}if(n&&t.label<n[2]){t.label=n[2];t.ops.push(c);break}if(n[2])t.ops.pop();t.trys.pop();continue}c=r.call(e,t)}catch(e){c=[6,e];p=0}finally{a=n=0}if(c[0]&5)throw c[1];return{value:c[0]?c[1]:void 0,done:true}}};System.register(["./p-7b2fc615.system.js","./p-e782194d.system.js","./p-c25abcc5.system.js"],(function(e){"use strict";var r,t,a,p,n,o,c,s,i,m,h,l,w,b,d,u,g,f,x,y;return{setters:[function(e){r=e.r;t=e.f;a=e.h;p=e.H;n=e.g},function(e){o=e.g;c=e.d;s=e.i},function(e){i=e.g;m=e.a;h=e.h;l=e.b;w=e.r;b=e.c;d=e.d;u=e.e;g=e.f;f=e.i;x=e.j;y=e.k}],execute:function(){var v=":host,wm-chart{display:block}:host .component-wrapper,wm-chart .component-wrapper{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-align:center;align-items:center;font-size:0.875rem;position:relative;outline:none;}:host .component-wrapper .label,wm-chart .component-wrapper .label{display:block;margin:0;padding-bottom:0.25rem;font-weight:500;position:relative}:host .component-wrapper .label .subinfo,wm-chart .component-wrapper .label .subinfo{display:block;font-weight:normal;font-style:italic;bottom:0.25rem;width:100%;color:#6b6b6b}:host .component-wrapper .label.custom-width,wm-chart .component-wrapper .label.custom-width{width:var(--custom-label-width)}:host .component-wrapper .doughnut-svg,wm-chart .component-wrapper .doughnut-svg,:host .component-wrapper .inner-stacked-bar-wrapper,wm-chart .component-wrapper .inner-stacked-bar-wrapper{overflow:visible}:host .component-wrapper .bar-wrapper,wm-chart .component-wrapper .bar-wrapper{-ms-flex-positive:1;flex-grow:1;width:100%}:host .component-wrapper .bar-wrapper .inner-stacked-bar-wrapper,wm-chart .component-wrapper .bar-wrapper .inner-stacked-bar-wrapper{width:100%}:host .component-wrapper .bar-wrapper .inner-stacked-bar-wrapper .values,wm-chart .component-wrapper .bar-wrapper .inner-stacked-bar-wrapper .values{display:-ms-flexbox;display:flex}:host .component-wrapper .bar-wrapper .inner-stacked-bar-wrapper .stacked-bar-segments-wrapper,wm-chart .component-wrapper .bar-wrapper .inner-stacked-bar-wrapper .stacked-bar-segments-wrapper{display:-ms-flexbox;display:flex}:host .component-wrapper .bar-wrapper .inner-stacked-bar-wrapper .stacked-bar-segments-wrapper .stacked-bar-segment,wm-chart .component-wrapper .bar-wrapper .inner-stacked-bar-wrapper .stacked-bar-segments-wrapper .stacked-bar-segment{height:30px;cursor:pointer}:host .component-wrapper .bar-wrapper .inner-stacked-bar-wrapper .stacked-bar-segments-wrapper .stacked-bar-segment:not(.zero):not(:last-of-type),wm-chart .component-wrapper .bar-wrapper .inner-stacked-bar-wrapper .stacked-bar-segments-wrapper .stacked-bar-segment:not(.zero):not(:last-of-type){margin-right:2px}:host .component-wrapper .doughnut-wrapper,wm-chart .component-wrapper .doughnut-wrapper{-webkit-border-radius:4px;-moz-border-radius:4px;-ms-border-radius:4px;border-radius:4px}:host .component-wrapper .doughnut-wrapper .doughnut-segment,wm-chart .component-wrapper .doughnut-wrapper .doughnut-segment{cursor:pointer}:host .component-wrapper .value-wrapper,wm-chart .component-wrapper .value-wrapper{display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center}:host .component-wrapper .value-wrapper:not(:last-of-type),wm-chart .component-wrapper .value-wrapper:not(:last-of-type){margin-right:2px}:host .component-wrapper .value-wrapper .value.hidden,wm-chart .component-wrapper .value-wrapper .value.hidden{visibility:hidden}:host .component-wrapper path:active,wm-chart .component-wrapper path:active,:host .component-wrapper path:hover,wm-chart .component-wrapper path:hover,:host .component-wrapper path:focus,wm-chart .component-wrapper path:focus,:host .component-wrapper .stacked-bar-segment:active,wm-chart .component-wrapper .stacked-bar-segment:active,:host .component-wrapper .stacked-bar-segment:hover,wm-chart .component-wrapper .stacked-bar-segment:hover,:host .component-wrapper .stacked-bar-segment:focus,wm-chart .component-wrapper .stacked-bar-segment:focus{outline:none}:host .component-wrapper .stacked-bar-segment:active.stacked-bar-segment,wm-chart .component-wrapper .stacked-bar-segment:active.stacked-bar-segment,:host .component-wrapper .stacked-bar-segment:hover.stacked-bar-segment,wm-chart .component-wrapper .stacked-bar-segment:hover.stacked-bar-segment,:host .component-wrapper .stacked-bar-segment:focus.stacked-bar-segment,wm-chart .component-wrapper .stacked-bar-segment:focus.stacked-bar-segment{-webkit-box-shadow:0px 0px 6px #333;-moz-box-shadow:0px 0px 6px #333;box-shadow:0px 0px 6px #333}:host .component-wrapper path:active.doughnut-segment,wm-chart .component-wrapper path:active.doughnut-segment,:host .component-wrapper path:hover.doughnut-segment,wm-chart .component-wrapper path:hover.doughnut-segment,:host .component-wrapper path:focus.doughnut-segment,wm-chart .component-wrapper path:focus.doughnut-segment,:host .component-wrapper .stacked-bar-segment:active.doughnut-segment,wm-chart .component-wrapper .stacked-bar-segment:active.doughnut-segment,:host .component-wrapper .stacked-bar-segment:hover.doughnut-segment,wm-chart .component-wrapper .stacked-bar-segment:hover.doughnut-segment,:host .component-wrapper .stacked-bar-segment:focus.doughnut-segment,wm-chart .component-wrapper .stacked-bar-segment:focus.doughnut-segment{-webkit-filter:url(#wmHoverDropShadow);filter:url(#wmHoverDropShadow)}:host .component-wrapper path::-moz-focus-inner,wm-chart .component-wrapper path::-moz-focus-inner,:host .component-wrapper .stacked-bar-segment::-moz-focus-inner,wm-chart .component-wrapper .stacked-bar-segment::-moz-focus-inner{border:0;outline:none}:host .component-wrapper.doughnut,wm-chart .component-wrapper.doughnut{width:300px}:host .component-wrapper.doughnut1 label,wm-chart .component-wrapper.doughnut1 label,:host .component-wrapper.doughnut1 .label-text,wm-chart .component-wrapper.doughnut1 .label-text,:host .component-wrapper.doughnut2 label,wm-chart .component-wrapper.doughnut2 label,:host .component-wrapper.doughnut2 .label-text,wm-chart .component-wrapper.doughnut2 .label-text,:host .component-wrapper.doughnut2plus label,wm-chart .component-wrapper.doughnut2plus label,:host .component-wrapper.doughnut2plus .label-text,wm-chart .component-wrapper.doughnut2plus .label-text,:host .component-wrapper.doughnut3 label,wm-chart .component-wrapper.doughnut3 label,:host .component-wrapper.doughnut3 .label-text,wm-chart .component-wrapper.doughnut3 .label-text{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 .component-wrapper.doughnut0,wm-chart .component-wrapper.doughnut0,:host .component-wrapper.doughnut,wm-chart .component-wrapper.doughnut{-ms-flex-align:center;align-items:center}:host .component-wrapper.doughnut0 label,wm-chart .component-wrapper.doughnut0 label,:host .component-wrapper.doughnut label,wm-chart .component-wrapper.doughnut label{text-align:center;width:100%;padding-bottom:1.5rem}:host .component-wrapper.doughnut0 label .subinfo,wm-chart .component-wrapper.doughnut0 label .subinfo,:host .component-wrapper.doughnut label .subinfo,wm-chart .component-wrapper.doughnut label .subinfo{position:absolute}:host .component-wrapper.doughnut0 .completion-message,wm-chart .component-wrapper.doughnut0 .completion-message,:host .component-wrapper.doughnut .completion-message,wm-chart .component-wrapper.doughnut .completion-message{padding-top:0.625rem}:host .component-wrapper.bar1,wm-chart .component-wrapper.bar1,:host .component-wrapper.bar,wm-chart .component-wrapper.bar{padding:1.25rem;-ms-flex-align:start;align-items:flex-start}:host .component-wrapper.bar1 label,wm-chart .component-wrapper.bar1 label,:host .component-wrapper.bar label,wm-chart .component-wrapper.bar label{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}:host .component-wrapper.bar1 label .subinfo,wm-chart .component-wrapper.bar1 label .subinfo,:host .component-wrapper.bar label .subinfo,wm-chart .component-wrapper.bar label .subinfo{position:initial}:host .component-wrapper.bar1 .chart-wrapper,wm-chart .component-wrapper.bar1 .chart-wrapper,:host .component-wrapper.bar .chart-wrapper,wm-chart .component-wrapper.bar .chart-wrapper{display:-ms-flexbox;display:flex}:host .component-wrapper.bar1 .chart-wrapper .single-perc,wm-chart .component-wrapper.bar1 .chart-wrapper .single-perc,:host .component-wrapper.bar .chart-wrapper .single-perc,wm-chart .component-wrapper.bar .chart-wrapper .single-perc{width:4rem;-ms-flex:none;flex:none;display:-ms-flexbox;display:flex;height:30px;-ms-flex-align:center;align-items:center}:host .component-wrapper.bar1 .chart-wrapper .inner-stacked-bar-wrapper,wm-chart .component-wrapper.bar1 .chart-wrapper .inner-stacked-bar-wrapper,:host .component-wrapper.bar .chart-wrapper .inner-stacked-bar-wrapper,wm-chart .component-wrapper.bar .chart-wrapper .inner-stacked-bar-wrapper{-ms-flex:1;flex:1}:host .component-wrapper.bar1 .chart-wrapper .completion-message,wm-chart .component-wrapper.bar1 .chart-wrapper .completion-message,:host .component-wrapper.bar .chart-wrapper .completion-message,wm-chart .component-wrapper.bar .chart-wrapper .completion-message{width:100%;text-align:right;margin-top:0.25rem}@media screen and (min-width: 768px){:host .component-wrapper.bar1,wm-chart .component-wrapper.bar1,:host .component-wrapper.bar,wm-chart .component-wrapper.bar{-ms-flex-direction:row;flex-direction:row}:host .component-wrapper.bar1 label,wm-chart .component-wrapper.bar1 label,:host .component-wrapper.bar label,wm-chart .component-wrapper.bar label{display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;min-height:30px;width:12rem;text-align:left;padding-right:1.25rem;padding-bottom:0;-ms-flex:none;flex:none}:host .component-wrapper.bar1 .bar-wrapper,wm-chart .component-wrapper.bar1 .bar-wrapper,:host .component-wrapper.bar .bar-wrapper,wm-chart .component-wrapper.bar .bar-wrapper{-ms-flex-direction:row-reverse;flex-direction:row-reverse}:host .component-wrapper.bar1 .bar-wrapper .single-perc,wm-chart .component-wrapper.bar1 .bar-wrapper .single-perc,:host .component-wrapper.bar .bar-wrapper .single-perc,wm-chart .component-wrapper.bar .bar-wrapper .single-perc{text-align:center;padding-left:0.5rem;-ms-flex-pack:center;justify-content:center}}:host .component-wrapper.bar2,wm-chart .component-wrapper.bar2,:host .component-wrapper.bar3,wm-chart .component-wrapper.bar3,:host .component-wrapper.bar4,wm-chart .component-wrapper.bar4,:host .component-wrapper.bar5,wm-chart .component-wrapper.bar5{-ms-flex-align:start;align-items:flex-start}:host .component-wrapper.bar2 .inner-stacked-bar-wrapper,wm-chart .component-wrapper.bar2 .inner-stacked-bar-wrapper,:host .component-wrapper.bar4 .inner-stacked-bar-wrapper,wm-chart .component-wrapper.bar4 .inner-stacked-bar-wrapper,:host .component-wrapper.bar5 .inner-stacked-bar-wrapper,wm-chart .component-wrapper.bar5 .inner-stacked-bar-wrapper{height:30px;margin-bottom:0}:host .component-wrapper.bar2 .inner-stacked-bar-wrapper.show-values,wm-chart .component-wrapper.bar2 .inner-stacked-bar-wrapper.show-values,:host .component-wrapper.bar4 .inner-stacked-bar-wrapper.show-values,wm-chart .component-wrapper.bar4 .inner-stacked-bar-wrapper.show-values,:host .component-wrapper.bar5 .inner-stacked-bar-wrapper.show-values,wm-chart .component-wrapper.bar5 .inner-stacked-bar-wrapper.show-values{height:60px;margin-top:0}:host .component-wrapper.bar3 .chart-wrapper,wm-chart .component-wrapper.bar3 .chart-wrapper{position:relative;height:100px}:host .component-wrapper.bar3 .chart-wrapper .inner-stacked-bar-wrapper,wm-chart .component-wrapper.bar3 .chart-wrapper .inner-stacked-bar-wrapper{position:absolute;top:35px;left:0;right:0;bottom:0;height:30px}:host .component-wrapper.bar3 .chart-wrapper .inner-stacked-bar-wrapper text,wm-chart .component-wrapper.bar3 .chart-wrapper .inner-stacked-bar-wrapper text{fill:#4a4a4a}:host .component-wrapper.bar3 .chart-wrapper .axis,wm-chart .component-wrapper.bar3 .chart-wrapper .axis{position:absolute;top:0;left:0;height:90px;width:100%;overflow:visible;-webkit-transform:translateY(90px);transform:translateY(90px)}:host .component-wrapper.bar3 .chart-wrapper .axis line,wm-chart .component-wrapper.bar3 .chart-wrapper .axis line{stroke:#eeedf4;stroke-width:1px}:host .component-wrapper.bar3 .chart-wrapper .axis text,wm-chart .component-wrapper.bar3 .chart-wrapper .axis text{-webkit-transform:translate(4px, 24px);transform:translate(4px, 24px);text-anchor:middle}:host .component-wrapper.bar3 .hidden-values-warning,wm-chart .component-wrapper.bar3 .hidden-values-warning{margin-top:1.25rem}:host .component-wrapper.bar6,wm-chart .component-wrapper.bar6,:host .component-wrapper.bar7,wm-chart .component-wrapper.bar7{--chartPadding:48px;-ms-flex-align:start;align-items:flex-start}:host .component-wrapper.bar6 .chart-wrapper,wm-chart .component-wrapper.bar6 .chart-wrapper,:host .component-wrapper.bar7 .chart-wrapper,wm-chart .component-wrapper.bar7 .chart-wrapper{width:100%}:host .component-wrapper.bar6 .chart,wm-chart .component-wrapper.bar6 .chart,:host .component-wrapper.bar7 .chart,wm-chart .component-wrapper.bar7 .chart{position:relative;padding-right:var(--chartPadding)}:host .component-wrapper.bar6 .gridlines,wm-chart .component-wrapper.bar6 .gridlines,:host .component-wrapper.bar7 .gridlines,wm-chart .component-wrapper.bar7 .gridlines{position:absolute;left:var(--labelWidth);right:var(--chartPadding);top:0;bottom:0;background-image:linear-gradient(90deg, #8f8f8f 1px, transparent 1px);background-position:-1px;border-left:1px solid #8f8f8f;border-bottom:1px solid #8f8f8f;background-size:var(--backgroundSize)}:host .component-wrapper.bar6 .rows,wm-chart .component-wrapper.bar6 .rows,:host .component-wrapper.bar7 .rows,wm-chart .component-wrapper.bar7 .rows{display:grid;grid-template-columns:var(--labelWidth) auto;grid-auto-rows:minmax(30px, 1fr);-ms-flex-align:center;align-items:center;position:relative;z-index:1}:host .component-wrapper.bar6 .rows .label,wm-chart .component-wrapper.bar6 .rows .label,:host .component-wrapper.bar7 .rows .label,wm-chart .component-wrapper.bar7 .rows .label{font-weight:400;padding:0 0.75rem 0 0;text-align:right;margin:0.75rem 0}:host .component-wrapper.bar6 .rows .label.hidden,wm-chart .component-wrapper.bar6 .rows .label.hidden,:host .component-wrapper.bar7 .rows .label.hidden,wm-chart .component-wrapper.bar7 .rows .label.hidden{visibility:hidden;white-space:nowrap}:host .component-wrapper.bar6 .bar,wm-chart .component-wrapper.bar6 .bar,:host .component-wrapper.bar7 .bar,wm-chart .component-wrapper.bar7 .bar{height:30px;position:relative}:host .component-wrapper.bar6 .bar .value,wm-chart .component-wrapper.bar6 .bar .value,:host .component-wrapper.bar7 .bar .value,wm-chart .component-wrapper.bar7 .bar .value{position:absolute;top:50%;right:-0.5rem;-webkit-transform:translate(100%, -50%);transform:translate(100%, -50%)}:host .component-wrapper.bar6 .x-axis,wm-chart .component-wrapper.bar6 .x-axis,:host .component-wrapper.bar7 .x-axis,wm-chart .component-wrapper.bar7 .x-axis{margin-left:var(--labelWidth);margin-right:var(--chartPadding);display:-ms-flexbox;display:flex;postion:relative}:host .component-wrapper.bar6 .tick,wm-chart .component-wrapper.bar6 .tick,:host .component-wrapper.bar7 .tick,wm-chart .component-wrapper.bar7 .tick{-ms-flex:1;flex:1;text-align:right}:host .component-wrapper.bar6 .tick span,wm-chart .component-wrapper.bar6 .tick span,:host .component-wrapper.bar7 .tick span,wm-chart .component-wrapper.bar7 .tick span{-webkit-transform:translateX(50%);transform:translateX(50%);display:inline-block}:host .component-wrapper.bar6 .zero,wm-chart .component-wrapper.bar6 .zero,:host .component-wrapper.bar7 .zero,wm-chart .component-wrapper.bar7 .zero{position:absolute;-webkit-transform:translateX(-50%);transform:translateX(-50%)}:host .component-wrapper.bar6 .bar:active,wm-chart .component-wrapper.bar6 .bar:active,:host .component-wrapper.bar6 .bar:hover,wm-chart .component-wrapper.bar6 .bar:hover,:host .component-wrapper.bar6 .bar:focus,wm-chart .component-wrapper.bar6 .bar:focus,:host .component-wrapper.bar7 .bar:active,wm-chart .component-wrapper.bar7 .bar:active,:host .component-wrapper.bar7 .bar:hover,wm-chart .component-wrapper.bar7 .bar:hover,:host .component-wrapper.bar7 .bar:focus,wm-chart .component-wrapper.bar7 .bar:focus{outline:none}:host .component-wrapper.bar6 .bar:active.bar,wm-chart .component-wrapper.bar6 .bar:active.bar,:host .component-wrapper.bar6 .bar:hover.bar,wm-chart .component-wrapper.bar6 .bar:hover.bar,:host .component-wrapper.bar6 .bar:focus.bar,wm-chart .component-wrapper.bar6 .bar:focus.bar,:host .component-wrapper.bar7 .bar:active.bar,wm-chart .component-wrapper.bar7 .bar:active.bar,:host .component-wrapper.bar7 .bar:hover.bar,wm-chart .component-wrapper.bar7 .bar:hover.bar,:host .component-wrapper.bar7 .bar:focus.bar,wm-chart .component-wrapper.bar7 .bar:focus.bar{-webkit-box-shadow:0px 0px 6px #333;-moz-box-shadow:0px 0px 6px #333;box-shadow:0px 0px 6px #333}:host .component-wrapper.left-label,wm-chart .component-wrapper.left-label{-ms-flex-direction:row;flex-direction:row}:host .component-wrapper.left-label .label,wm-chart .component-wrapper.left-label .label{width:12rem;padding-right:1.25rem;-ms-flex:none;flex:none;-ms-flex-item-align:end;align-self:flex-end;min-height:30px;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}:host .component-wrapper .hidden-values-warning,wm-chart .component-wrapper .hidden-values-warning{font-size:0.75rem;font-style:italic;max-width:100%}:host #chart-instructions,wm-chart #chart-instructions{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 .component-wrapper .legend-wrapper,wm-chart .component-wrapper .legend-wrapper{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;text-align:center}:host .component-wrapper .legend-wrapper .legend,wm-chart .component-wrapper .legend-wrapper .legend{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-wrap:wrap;flex-wrap:wrap;text-align:center;padding-top:0.25rem;padding-bottom:0.75rem;-webkit-box-sizing:border-box;box-sizing:border-box}:host .component-wrapper .legend-wrapper .legend.bar1,wm-chart .component-wrapper .legend-wrapper .legend.bar1,:host .component-wrapper .legend-wrapper .legend.bar6,wm-chart .component-wrapper .legend-wrapper .legend.bar6{display:none}:host .component-wrapper .legend-wrapper .legend.--top,wm-chart .component-wrapper .legend-wrapper .legend.--top{margin-top:-0.75rem}:host .component-wrapper .legend-wrapper .legend.--top .legend-item,wm-chart .component-wrapper .legend-wrapper .legend.--top .legend-item{padding-top:0.75rem}:host .component-wrapper .legend-wrapper .legend.--top .legend-color,wm-chart .component-wrapper .legend-wrapper .legend.--top .legend-color{top:0.75rem}:host .component-wrapper .legend-wrapper .legend.--bottom,wm-chart .component-wrapper .legend-wrapper .legend.--bottom{margin-bottom:-0.75rem}:host .component-wrapper .legend-wrapper .legend.--bottom .legend-item,wm-chart .component-wrapper .legend-wrapper .legend.--bottom .legend-item{padding-bottom:0.75rem}:host .component-wrapper .legend-wrapper .legend.--bottom .legend-color,wm-chart .component-wrapper .legend-wrapper .legend.--bottom .legend-color{top:-0.75rem}:host .component-wrapper .legend-wrapper .legend .legend-item,wm-chart .component-wrapper .legend-wrapper .legend .legend-item{position:relative}:host .component-wrapper .legend-wrapper .legend .legend-item:not(:last-of-type),wm-chart .component-wrapper .legend-wrapper .legend .legend-item:not(:last-of-type){padding-right:1.25rem}:host .component-wrapper .legend-wrapper .legend .legend-text,wm-chart .component-wrapper .legend-wrapper .legend .legend-text{font-size:0.875rem;padding-left:1rem;line-height:1}:host .component-wrapper .legend-wrapper .legend .legend-color,wm-chart .component-wrapper .legend-wrapper .legend .legend-color{position:absolute;left:0;bottom:0;margin:auto;width:0.6875rem;height:0.6875rem}:host .component-wrapper .legend-wrapper .legend.bar3,wm-chart .component-wrapper .legend-wrapper .legend.bar3{padding-bottom:1.25rem}:host(:focus){outline:none}:host(:focus) .component-wrapper.user-is-tabbing .stacked-bar-segments-wrapper,:host(:focus) .component-wrapper.user-is-tabbing .simple-bar-wrapper,:host(:focus) .component-wrapper.user-is-tabbing .doughnut-wrapper{-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 #61279e;-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 #61279e;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 #61279e}:host(:focus) .component-wrapper.user-is-tabbing .stacked-bar-segments-wrapper::-moz-focus-inner,:host(:focus) .component-wrapper.user-is-tabbing .simple-bar-wrapper::-moz-focus-inner,:host(:focus) .component-wrapper.user-is-tabbing .doughnut-wrapper::-moz-focus-inner{border:0}";var k=e("wm_chart",function(){function e(e){var a=this;r(this,e);this.uid=o();this.slicesDetails=[];this.handleStackedBarResize=c((function(){return __awaiter(a,void 0,void 0,(function(){var e,r,t,a;return __generator(this,(function(p){e=false;r=this.el.shadowRoot.querySelectorAll(".value");if(r.length){t=r.length?r[0].getBoundingClientRect().right:0;a=4;r.forEach((function(r,p){if(p>0){var n=r.getBoundingClientRect();if(n.left-a<t){r.classList.add("hidden");e=true}else{r.classList.remove("hidden");t=n.right}}}))}this.hasHiddenBarValue=e;return[2]}))}))}),100);this.debouncedUpdate=c((function(){return __awaiter(a,void 0,void 0,(function(){return __generator(this,(function(e){t(this.el);return[2]}))}))}),10);this.debouncedSliceUpdate=c((function(){return __awaiter(a,void 0,void 0,(function(){return __generator(this,(function(e){switch(e.label){case 0:return[4,i.call(this,this.currentChartType)];case 1:e.sent();t(this.el);return[2]}}))}))}),100);this.chartType="doughnut1";this.label=undefined;this.labelWidth="150px";this.subinfo=undefined;this.completionMessage=undefined;this.valueFormat=undefined;this.showValues=undefined;this.showGrid=true;this.showLegend=true;this.showBarLegend=false;this.notStartedColor=false;this.labelPosition="top";this.isTabbing=false;this.userIsNavigating=false;this.hasHiddenBarValue=false}Object.defineProperty(e.prototype,"tempValueFormat",{get:function(){return this.valueFormat||this.showValues||"none"},enumerable:false,configurable:true});Object.defineProperty(e.prototype,"hybridType",{get:function(){return window.innerWidth>1340?"doughnut0":"bar1"},enumerable:false,configurable:true});Object.defineProperty(e.prototype,"popoverEl",{get:function(){return this.el.shadowRoot.querySelector("priv-chart-popover")},enumerable:false,configurable:true});Object.defineProperty(e.prototype,"sliceEls",{get:function(){return Array.from(this.el.shadowRoot.querySelectorAll(".segment"))},enumerable:false,configurable:true});Object.defineProperty(e.prototype,"currentChartType",{get:function(){var e=this.chartType;if(this.chartType==="hybrid"){e=this.hybridType}else if(this.chartType==="doughnut2"&&this.el.children.length>3){e="doughnut2plus"}return e},enumerable:false,configurable:true});Object.defineProperty(e.prototype,"chartDetails",{get:function(){return m[this.currentChartType]},enumerable:false,configurable:true});Object.defineProperty(e.prototype,"ariaLabelText",{get:function(){var e="".concat(this.label);if(this.subinfo){e+=" ".concat(this.subinfo)}return e},enumerable:false,configurable:true});Object.defineProperty(e.prototype,"isDoughnut",{get:function(){return this.chartDetails.category==="doughnut"},enumerable:false,configurable:true});Object.defineProperty(e.prototype,"isStackedBar",{get:function(){return this.chartDetails.category==="stackedBar"},enumerable:false,configurable:true});Object.defineProperty(e.prototype,"isSimpleBar",{get:function(){return this.chartDetails.category==="simpleBar"},enumerable:false,configurable:true});Object.defineProperty(e.prototype,"isBar",{get:function(){return this.isStackedBar||this.isSimpleBar},enumerable:false,configurable:true});Object.defineProperty(e.prototype,"chartRoleDescription",{get:function(){return s.formatMessage({id:"chart.roleDescription",defaultMessage:"Interactive chart",description:"For screen readers only, a description clarifying the role of the chart widget"})},enumerable:false,configurable:true});e.prototype.toggleTabbingOn=function(){this.isTabbing=true};e.prototype.toggleTabbingOff=function(){this.isTabbing=false};e.prototype.handleKeydown=function(e){h.call(this,e)};e.prototype.componentWillLoad=function(){return __awaiter(this,void 0,void 0,(function(){var e;var r=this;return __generator(this,(function(t){switch(t.label){case 0:if(!this.label){throw new Error("For accessibility purposes, you must provide a label for the chart. See https://components.watermarkinsights.com/chart for more information.")}if(this.showValues){console.warn("wm-chart: show-values has been deprecated as of v3.1.0. Please use value-format instead.")}return[4,i.call(this,this.currentChartType)];case 1:t.sent();if(this.chartType==="hybrid"||!this.isDoughnut){e=new ResizeObserver((function(){r.isStackedBar?r.handleStackedBarResize():r.debouncedUpdate()}));e.observe(this.el)}return[2]}}))}))};e.prototype.handleSliceUpdate=function(){this.debouncedSliceUpdate()};e.prototype.renderBarText=function(e,r){var t;if(this.tempValueFormat==="percentage"){t=e.perc===0&&e.amount>0?"<1%":"".concat(e.perc,"%")}else if(this.tempValueFormat==="amount"){t=e.amount}return a("div",{class:"value-wrapper",style:{width:"calc(".concat(l(e.amount,this.total,false),"%\n ").concat(r!==this.slicesDetails.length-1?" - 2px":"")}},a("span",{class:"value"},e.amount>0&&t))};e.prototype.drawAxis=function(){if(this.currentChartType==="bar3"){return a("svg",{class:"axis"},a("line",{x1:"0",x2:"100%",y1:"0",y2:"0"}),a("line",{x1:"0",x2:"0",y1:"0",y2:"-85px"}),a("line",{class:"tick",x1:"0.5",x2:"0.5",y1:"0",y2:"6"}),a("text",{x:"0.5",y:"-6"},"0%"),a("line",{class:"tick",x1:"100%",x2:"100%",y1:"0",y2:"6"}),a("text",{x:"100%",y:"-6"},"100%"))}};e.prototype.renderChart=function(){if(this.total>0){if(this.isStackedBar){return w.call(this,this.currentChartType)}else if(this.isSimpleBar){return b.call(this,this.currentChartType)}else if(this.isDoughnut){return d.call(this,this.currentChartType)}}};e.prototype.render=function(){var e=this;return a(p,{onBlur:function(){return y.call(e)}},a("div",{ref:function(r){return e.componentWrapperEl=r},class:"component-wrapper ".concat(this.currentChartType," ").concat(this.isTabbing&&!this.userIsNavigating?"user-is-tabbing":""," ").concat(this.labelPosition==="left"&&this.currentChartType==="bar4"?"left-label":""),role:"application","aria-label":this.ariaLabelText,tabindex:0,"aria-roledescription":this.chartRoleDescription,"aria-describedby":"chart-instructions"},a("label",{class:"label",id:"label-".concat(this.uid),htmlFor:"graphic-".concat(this.uid)},a("span",{class:"label-text"},this.label),this.subinfo?a("span",{class:"subinfo"},this.subinfo):""),this.isBar&&g.call(this,this.currentChartType),this.renderChart(),this.isDoughnut&&g.call(this,this.currentChartType),a("priv-chart-popover",{class:this.isTabbing?"user-is-tabbing":""}),this.currentChartType==="doughnut0"?f.call(this):"",this.hasHiddenBarValue&&x()),u())};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});return e}());k.style=v}}}));
|
|
2
|
-
//# sourceMappingURL=p-
|
|
1
|
+
var __awaiter=this&&this.__awaiter||function(e,r,t,a){function p(e){return e instanceof t?e:new t((function(r){r(e)}))}return new(t||(t=Promise))((function(t,n){function o(e){try{s(a.next(e))}catch(e){n(e)}}function c(e){try{s(a["throw"](e))}catch(e){n(e)}}function s(e){e.done?t(e.value):p(e.value).then(o,c)}s((a=a.apply(e,r||[])).next())}))};var __generator=this&&this.__generator||function(e,r){var t={label:0,sent:function(){if(n[0]&1)throw n[1];return n[1]},trys:[],ops:[]},a,p,n,o;return o={next:c(0),throw:c(1),return:c(2)},typeof Symbol==="function"&&(o[Symbol.iterator]=function(){return this}),o;function c(e){return function(r){return s([e,r])}}function s(c){if(a)throw new TypeError("Generator is already executing.");while(o&&(o=0,c[0]&&(t=0)),t)try{if(a=1,p&&(n=c[0]&2?p["return"]:c[0]?p["throw"]||((n=p["return"])&&n.call(p),0):p.next)&&!(n=n.call(p,c[1])).done)return n;if(p=0,n)c=[c[0]&2,n.value];switch(c[0]){case 0:case 1:n=c;break;case 4:t.label++;return{value:c[1],done:false};case 5:t.label++;p=c[1];c=[0];continue;case 7:c=t.ops.pop();t.trys.pop();continue;default:if(!(n=t.trys,n=n.length>0&&n[n.length-1])&&(c[0]===6||c[0]===2)){t=0;continue}if(c[0]===3&&(!n||c[1]>n[0]&&c[1]<n[3])){t.label=c[1];break}if(c[0]===6&&t.label<n[1]){t.label=n[1];n=c;break}if(n&&t.label<n[2]){t.label=n[2];t.ops.push(c);break}if(n[2])t.ops.pop();t.trys.pop();continue}c=r.call(e,t)}catch(e){c=[6,e];p=0}finally{a=n=0}if(c[0]&5)throw c[1];return{value:c[0]?c[1]:void 0,done:true}}};System.register(["./p-7b2fc615.system.js","./p-f08e6a5a.system.js","./p-0b21e936.system.js"],(function(e){"use strict";var r,t,a,p,n,o,c,s,i,m,h,l,w,b,d,u,g,f,x,y;return{setters:[function(e){r=e.r;t=e.f;a=e.h;p=e.H;n=e.g},function(e){o=e.g;c=e.d;s=e.i},function(e){i=e.g;m=e.a;h=e.h;l=e.b;w=e.r;b=e.c;d=e.d;u=e.e;g=e.f;f=e.i;x=e.j;y=e.k}],execute:function(){var v=":host,wm-chart{display:block}:host .component-wrapper,wm-chart .component-wrapper{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-align:center;align-items:center;font-size:0.875rem;position:relative;outline:none;}:host .component-wrapper .label,wm-chart .component-wrapper .label{display:block;margin:0;padding-bottom:0.25rem;font-weight:500;position:relative}:host .component-wrapper .label .subinfo,wm-chart .component-wrapper .label .subinfo{display:block;font-weight:normal;font-style:italic;bottom:0.25rem;width:100%;color:#6b6b6b}:host .component-wrapper .label.custom-width,wm-chart .component-wrapper .label.custom-width{width:var(--custom-label-width)}:host .component-wrapper .doughnut-svg,wm-chart .component-wrapper .doughnut-svg,:host .component-wrapper .inner-stacked-bar-wrapper,wm-chart .component-wrapper .inner-stacked-bar-wrapper{overflow:visible}:host .component-wrapper .bar-wrapper,wm-chart .component-wrapper .bar-wrapper{-ms-flex-positive:1;flex-grow:1;width:100%}:host .component-wrapper .bar-wrapper .inner-stacked-bar-wrapper,wm-chart .component-wrapper .bar-wrapper .inner-stacked-bar-wrapper{width:100%}:host .component-wrapper .bar-wrapper .inner-stacked-bar-wrapper .values,wm-chart .component-wrapper .bar-wrapper .inner-stacked-bar-wrapper .values{display:-ms-flexbox;display:flex}:host .component-wrapper .bar-wrapper .inner-stacked-bar-wrapper .stacked-bar-segments-wrapper,wm-chart .component-wrapper .bar-wrapper .inner-stacked-bar-wrapper .stacked-bar-segments-wrapper{display:-ms-flexbox;display:flex}:host .component-wrapper .bar-wrapper .inner-stacked-bar-wrapper .stacked-bar-segments-wrapper .stacked-bar-segment,wm-chart .component-wrapper .bar-wrapper .inner-stacked-bar-wrapper .stacked-bar-segments-wrapper .stacked-bar-segment{height:30px;cursor:pointer}:host .component-wrapper .bar-wrapper .inner-stacked-bar-wrapper .stacked-bar-segments-wrapper .stacked-bar-segment:not(.zero):not(:last-of-type),wm-chart .component-wrapper .bar-wrapper .inner-stacked-bar-wrapper .stacked-bar-segments-wrapper .stacked-bar-segment:not(.zero):not(:last-of-type){margin-right:2px}:host .component-wrapper .doughnut-wrapper,wm-chart .component-wrapper .doughnut-wrapper{-webkit-border-radius:4px;-moz-border-radius:4px;-ms-border-radius:4px;border-radius:4px}:host .component-wrapper .doughnut-wrapper .doughnut-segment,wm-chart .component-wrapper .doughnut-wrapper .doughnut-segment{cursor:pointer}:host .component-wrapper .value-wrapper,wm-chart .component-wrapper .value-wrapper{display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center}:host .component-wrapper .value-wrapper:not(:last-of-type),wm-chart .component-wrapper .value-wrapper:not(:last-of-type){margin-right:2px}:host .component-wrapper .value-wrapper .value.hidden,wm-chart .component-wrapper .value-wrapper .value.hidden{visibility:hidden}:host .component-wrapper path:active,wm-chart .component-wrapper path:active,:host .component-wrapper path:hover,wm-chart .component-wrapper path:hover,:host .component-wrapper path:focus,wm-chart .component-wrapper path:focus,:host .component-wrapper .stacked-bar-segment:active,wm-chart .component-wrapper .stacked-bar-segment:active,:host .component-wrapper .stacked-bar-segment:hover,wm-chart .component-wrapper .stacked-bar-segment:hover,:host .component-wrapper .stacked-bar-segment:focus,wm-chart .component-wrapper .stacked-bar-segment:focus{outline:none}:host .component-wrapper .stacked-bar-segment:active.stacked-bar-segment,wm-chart .component-wrapper .stacked-bar-segment:active.stacked-bar-segment,:host .component-wrapper .stacked-bar-segment:hover.stacked-bar-segment,wm-chart .component-wrapper .stacked-bar-segment:hover.stacked-bar-segment,:host .component-wrapper .stacked-bar-segment:focus.stacked-bar-segment,wm-chart .component-wrapper .stacked-bar-segment:focus.stacked-bar-segment{-webkit-box-shadow:0px 0px 6px #333;-moz-box-shadow:0px 0px 6px #333;box-shadow:0px 0px 6px #333}:host .component-wrapper path:active.doughnut-segment,wm-chart .component-wrapper path:active.doughnut-segment,:host .component-wrapper path:hover.doughnut-segment,wm-chart .component-wrapper path:hover.doughnut-segment,:host .component-wrapper path:focus.doughnut-segment,wm-chart .component-wrapper path:focus.doughnut-segment,:host .component-wrapper .stacked-bar-segment:active.doughnut-segment,wm-chart .component-wrapper .stacked-bar-segment:active.doughnut-segment,:host .component-wrapper .stacked-bar-segment:hover.doughnut-segment,wm-chart .component-wrapper .stacked-bar-segment:hover.doughnut-segment,:host .component-wrapper .stacked-bar-segment:focus.doughnut-segment,wm-chart .component-wrapper .stacked-bar-segment:focus.doughnut-segment{-webkit-filter:url(#wmHoverDropShadow);filter:url(#wmHoverDropShadow)}:host .component-wrapper path::-moz-focus-inner,wm-chart .component-wrapper path::-moz-focus-inner,:host .component-wrapper .stacked-bar-segment::-moz-focus-inner,wm-chart .component-wrapper .stacked-bar-segment::-moz-focus-inner{border:0;outline:none}:host .component-wrapper.doughnut,wm-chart .component-wrapper.doughnut{width:300px}:host .component-wrapper.doughnut1 label,wm-chart .component-wrapper.doughnut1 label,:host .component-wrapper.doughnut1 .label-text,wm-chart .component-wrapper.doughnut1 .label-text,:host .component-wrapper.doughnut2 label,wm-chart .component-wrapper.doughnut2 label,:host .component-wrapper.doughnut2 .label-text,wm-chart .component-wrapper.doughnut2 .label-text,:host .component-wrapper.doughnut2plus label,wm-chart .component-wrapper.doughnut2plus label,:host .component-wrapper.doughnut2plus .label-text,wm-chart .component-wrapper.doughnut2plus .label-text,:host .component-wrapper.doughnut3 label,wm-chart .component-wrapper.doughnut3 label,:host .component-wrapper.doughnut3 .label-text,wm-chart .component-wrapper.doughnut3 .label-text{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 .component-wrapper.doughnut0,wm-chart .component-wrapper.doughnut0,:host .component-wrapper.doughnut,wm-chart .component-wrapper.doughnut{-ms-flex-align:center;align-items:center}:host .component-wrapper.doughnut0 label,wm-chart .component-wrapper.doughnut0 label,:host .component-wrapper.doughnut label,wm-chart .component-wrapper.doughnut label{text-align:center;width:100%;padding-bottom:1.5rem}:host .component-wrapper.doughnut0 label .subinfo,wm-chart .component-wrapper.doughnut0 label .subinfo,:host .component-wrapper.doughnut label .subinfo,wm-chart .component-wrapper.doughnut label .subinfo{position:absolute}:host .component-wrapper.doughnut0 .completion-message,wm-chart .component-wrapper.doughnut0 .completion-message,:host .component-wrapper.doughnut .completion-message,wm-chart .component-wrapper.doughnut .completion-message{padding-top:0.625rem}:host .component-wrapper.bar1,wm-chart .component-wrapper.bar1,:host .component-wrapper.bar,wm-chart .component-wrapper.bar{padding:1.25rem;-ms-flex-align:start;align-items:flex-start}:host .component-wrapper.bar1 label,wm-chart .component-wrapper.bar1 label,:host .component-wrapper.bar label,wm-chart .component-wrapper.bar label{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}:host .component-wrapper.bar1 label .subinfo,wm-chart .component-wrapper.bar1 label .subinfo,:host .component-wrapper.bar label .subinfo,wm-chart .component-wrapper.bar label .subinfo{position:initial}:host .component-wrapper.bar1 .chart-wrapper,wm-chart .component-wrapper.bar1 .chart-wrapper,:host .component-wrapper.bar .chart-wrapper,wm-chart .component-wrapper.bar .chart-wrapper{display:-ms-flexbox;display:flex}:host .component-wrapper.bar1 .chart-wrapper .single-perc,wm-chart .component-wrapper.bar1 .chart-wrapper .single-perc,:host .component-wrapper.bar .chart-wrapper .single-perc,wm-chart .component-wrapper.bar .chart-wrapper .single-perc{width:4rem;-ms-flex:none;flex:none;display:-ms-flexbox;display:flex;height:30px;-ms-flex-align:center;align-items:center}:host .component-wrapper.bar1 .chart-wrapper .inner-stacked-bar-wrapper,wm-chart .component-wrapper.bar1 .chart-wrapper .inner-stacked-bar-wrapper,:host .component-wrapper.bar .chart-wrapper .inner-stacked-bar-wrapper,wm-chart .component-wrapper.bar .chart-wrapper .inner-stacked-bar-wrapper{-ms-flex:1;flex:1}:host .component-wrapper.bar1 .chart-wrapper .completion-message,wm-chart .component-wrapper.bar1 .chart-wrapper .completion-message,:host .component-wrapper.bar .chart-wrapper .completion-message,wm-chart .component-wrapper.bar .chart-wrapper .completion-message{width:100%;text-align:right;margin-top:0.25rem}@media screen and (min-width: 768px){:host .component-wrapper.bar1,wm-chart .component-wrapper.bar1,:host .component-wrapper.bar,wm-chart .component-wrapper.bar{-ms-flex-direction:row;flex-direction:row}:host .component-wrapper.bar1 label,wm-chart .component-wrapper.bar1 label,:host .component-wrapper.bar label,wm-chart .component-wrapper.bar label{display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;min-height:30px;width:12rem;text-align:left;padding-right:1.25rem;padding-bottom:0;-ms-flex:none;flex:none}:host .component-wrapper.bar1 .bar-wrapper,wm-chart .component-wrapper.bar1 .bar-wrapper,:host .component-wrapper.bar .bar-wrapper,wm-chart .component-wrapper.bar .bar-wrapper{-ms-flex-direction:row-reverse;flex-direction:row-reverse}:host .component-wrapper.bar1 .bar-wrapper .single-perc,wm-chart .component-wrapper.bar1 .bar-wrapper .single-perc,:host .component-wrapper.bar .bar-wrapper .single-perc,wm-chart .component-wrapper.bar .bar-wrapper .single-perc{text-align:center;padding-left:0.5rem;-ms-flex-pack:center;justify-content:center}}:host .component-wrapper.bar2,wm-chart .component-wrapper.bar2,:host .component-wrapper.bar3,wm-chart .component-wrapper.bar3,:host .component-wrapper.bar4,wm-chart .component-wrapper.bar4,:host .component-wrapper.bar5,wm-chart .component-wrapper.bar5{-ms-flex-align:start;align-items:flex-start}:host .component-wrapper.bar2 .inner-stacked-bar-wrapper,wm-chart .component-wrapper.bar2 .inner-stacked-bar-wrapper,:host .component-wrapper.bar4 .inner-stacked-bar-wrapper,wm-chart .component-wrapper.bar4 .inner-stacked-bar-wrapper,:host .component-wrapper.bar5 .inner-stacked-bar-wrapper,wm-chart .component-wrapper.bar5 .inner-stacked-bar-wrapper{height:30px;margin-bottom:0}:host .component-wrapper.bar2 .inner-stacked-bar-wrapper.show-values,wm-chart .component-wrapper.bar2 .inner-stacked-bar-wrapper.show-values,:host .component-wrapper.bar4 .inner-stacked-bar-wrapper.show-values,wm-chart .component-wrapper.bar4 .inner-stacked-bar-wrapper.show-values,:host .component-wrapper.bar5 .inner-stacked-bar-wrapper.show-values,wm-chart .component-wrapper.bar5 .inner-stacked-bar-wrapper.show-values{height:60px;margin-top:0}:host .component-wrapper.bar3 .chart-wrapper,wm-chart .component-wrapper.bar3 .chart-wrapper{position:relative;height:100px}:host .component-wrapper.bar3 .chart-wrapper .inner-stacked-bar-wrapper,wm-chart .component-wrapper.bar3 .chart-wrapper .inner-stacked-bar-wrapper{position:absolute;top:35px;left:0;right:0;bottom:0;height:30px}:host .component-wrapper.bar3 .chart-wrapper .inner-stacked-bar-wrapper text,wm-chart .component-wrapper.bar3 .chart-wrapper .inner-stacked-bar-wrapper text{fill:#4a4a4a}:host .component-wrapper.bar3 .chart-wrapper .axis,wm-chart .component-wrapper.bar3 .chart-wrapper .axis{position:absolute;top:0;left:0;height:90px;width:100%;overflow:visible;-webkit-transform:translateY(90px);transform:translateY(90px)}:host .component-wrapper.bar3 .chart-wrapper .axis line,wm-chart .component-wrapper.bar3 .chart-wrapper .axis line{stroke:#eeedf4;stroke-width:1px}:host .component-wrapper.bar3 .chart-wrapper .axis text,wm-chart .component-wrapper.bar3 .chart-wrapper .axis text{-webkit-transform:translate(4px, 24px);transform:translate(4px, 24px);text-anchor:middle}:host .component-wrapper.bar3 .hidden-values-warning,wm-chart .component-wrapper.bar3 .hidden-values-warning{margin-top:1.25rem}:host .component-wrapper.bar6,wm-chart .component-wrapper.bar6,:host .component-wrapper.bar7,wm-chart .component-wrapper.bar7{--chartPadding:48px;-ms-flex-align:start;align-items:flex-start}:host .component-wrapper.bar6 .chart-wrapper,wm-chart .component-wrapper.bar6 .chart-wrapper,:host .component-wrapper.bar7 .chart-wrapper,wm-chart .component-wrapper.bar7 .chart-wrapper{width:100%}:host .component-wrapper.bar6 .chart,wm-chart .component-wrapper.bar6 .chart,:host .component-wrapper.bar7 .chart,wm-chart .component-wrapper.bar7 .chart{position:relative;padding-right:var(--chartPadding)}:host .component-wrapper.bar6 .gridlines,wm-chart .component-wrapper.bar6 .gridlines,:host .component-wrapper.bar7 .gridlines,wm-chart .component-wrapper.bar7 .gridlines{position:absolute;left:var(--labelWidth);right:var(--chartPadding);top:0;bottom:0;background-image:linear-gradient(90deg, #8f8f8f 1px, transparent 1px);background-position:-1px;border-left:1px solid #8f8f8f;border-bottom:1px solid #8f8f8f;background-size:var(--backgroundSize)}:host .component-wrapper.bar6 .rows,wm-chart .component-wrapper.bar6 .rows,:host .component-wrapper.bar7 .rows,wm-chart .component-wrapper.bar7 .rows{display:grid;grid-template-columns:var(--labelWidth) auto;grid-auto-rows:minmax(30px, 1fr);-ms-flex-align:center;align-items:center;position:relative;z-index:1}:host .component-wrapper.bar6 .rows .label,wm-chart .component-wrapper.bar6 .rows .label,:host .component-wrapper.bar7 .rows .label,wm-chart .component-wrapper.bar7 .rows .label{font-weight:400;padding:0 0.75rem 0 0;text-align:right;margin:0.75rem 0}:host .component-wrapper.bar6 .rows .label.hidden,wm-chart .component-wrapper.bar6 .rows .label.hidden,:host .component-wrapper.bar7 .rows .label.hidden,wm-chart .component-wrapper.bar7 .rows .label.hidden{visibility:hidden;white-space:nowrap}:host .component-wrapper.bar6 .bar,wm-chart .component-wrapper.bar6 .bar,:host .component-wrapper.bar7 .bar,wm-chart .component-wrapper.bar7 .bar{height:30px;position:relative}:host .component-wrapper.bar6 .bar .value,wm-chart .component-wrapper.bar6 .bar .value,:host .component-wrapper.bar7 .bar .value,wm-chart .component-wrapper.bar7 .bar .value{position:absolute;top:50%;right:-0.5rem;-webkit-transform:translate(100%, -50%);transform:translate(100%, -50%)}:host .component-wrapper.bar6 .x-axis,wm-chart .component-wrapper.bar6 .x-axis,:host .component-wrapper.bar7 .x-axis,wm-chart .component-wrapper.bar7 .x-axis{margin-left:var(--labelWidth);margin-right:var(--chartPadding);display:-ms-flexbox;display:flex;postion:relative}:host .component-wrapper.bar6 .tick,wm-chart .component-wrapper.bar6 .tick,:host .component-wrapper.bar7 .tick,wm-chart .component-wrapper.bar7 .tick{-ms-flex:1;flex:1;text-align:right}:host .component-wrapper.bar6 .tick span,wm-chart .component-wrapper.bar6 .tick span,:host .component-wrapper.bar7 .tick span,wm-chart .component-wrapper.bar7 .tick span{-webkit-transform:translateX(50%);transform:translateX(50%);display:inline-block}:host .component-wrapper.bar6 .zero,wm-chart .component-wrapper.bar6 .zero,:host .component-wrapper.bar7 .zero,wm-chart .component-wrapper.bar7 .zero{position:absolute;-webkit-transform:translateX(-50%);transform:translateX(-50%)}:host .component-wrapper.bar6 .bar:active,wm-chart .component-wrapper.bar6 .bar:active,:host .component-wrapper.bar6 .bar:hover,wm-chart .component-wrapper.bar6 .bar:hover,:host .component-wrapper.bar6 .bar:focus,wm-chart .component-wrapper.bar6 .bar:focus,:host .component-wrapper.bar7 .bar:active,wm-chart .component-wrapper.bar7 .bar:active,:host .component-wrapper.bar7 .bar:hover,wm-chart .component-wrapper.bar7 .bar:hover,:host .component-wrapper.bar7 .bar:focus,wm-chart .component-wrapper.bar7 .bar:focus{outline:none}:host .component-wrapper.bar6 .bar:active.bar,wm-chart .component-wrapper.bar6 .bar:active.bar,:host .component-wrapper.bar6 .bar:hover.bar,wm-chart .component-wrapper.bar6 .bar:hover.bar,:host .component-wrapper.bar6 .bar:focus.bar,wm-chart .component-wrapper.bar6 .bar:focus.bar,:host .component-wrapper.bar7 .bar:active.bar,wm-chart .component-wrapper.bar7 .bar:active.bar,:host .component-wrapper.bar7 .bar:hover.bar,wm-chart .component-wrapper.bar7 .bar:hover.bar,:host .component-wrapper.bar7 .bar:focus.bar,wm-chart .component-wrapper.bar7 .bar:focus.bar{-webkit-box-shadow:0px 0px 6px #333;-moz-box-shadow:0px 0px 6px #333;box-shadow:0px 0px 6px #333}:host .component-wrapper.left-label,wm-chart .component-wrapper.left-label{-ms-flex-direction:row;flex-direction:row}:host .component-wrapper.left-label .label,wm-chart .component-wrapper.left-label .label{width:12rem;padding-right:1.25rem;-ms-flex:none;flex:none;-ms-flex-item-align:end;align-self:flex-end;min-height:30px;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}:host .component-wrapper .hidden-values-warning,wm-chart .component-wrapper .hidden-values-warning{font-size:0.75rem;font-style:italic;max-width:100%}:host #chart-instructions,wm-chart #chart-instructions{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 .component-wrapper .legend-wrapper,wm-chart .component-wrapper .legend-wrapper{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;text-align:center}:host .component-wrapper .legend-wrapper .legend,wm-chart .component-wrapper .legend-wrapper .legend{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-wrap:wrap;flex-wrap:wrap;text-align:center;padding-top:0.25rem;padding-bottom:0.75rem;-webkit-box-sizing:border-box;box-sizing:border-box}:host .component-wrapper .legend-wrapper .legend.bar1,wm-chart .component-wrapper .legend-wrapper .legend.bar1,:host .component-wrapper .legend-wrapper .legend.bar6,wm-chart .component-wrapper .legend-wrapper .legend.bar6{display:none}:host .component-wrapper .legend-wrapper .legend.--top,wm-chart .component-wrapper .legend-wrapper .legend.--top{margin-top:-0.75rem}:host .component-wrapper .legend-wrapper .legend.--top .legend-item,wm-chart .component-wrapper .legend-wrapper .legend.--top .legend-item{padding-top:0.75rem}:host .component-wrapper .legend-wrapper .legend.--top .legend-color,wm-chart .component-wrapper .legend-wrapper .legend.--top .legend-color{top:0.75rem}:host .component-wrapper .legend-wrapper .legend.--bottom,wm-chart .component-wrapper .legend-wrapper .legend.--bottom{margin-bottom:-0.75rem}:host .component-wrapper .legend-wrapper .legend.--bottom .legend-item,wm-chart .component-wrapper .legend-wrapper .legend.--bottom .legend-item{padding-bottom:0.75rem}:host .component-wrapper .legend-wrapper .legend.--bottom .legend-color,wm-chart .component-wrapper .legend-wrapper .legend.--bottom .legend-color{top:-0.75rem}:host .component-wrapper .legend-wrapper .legend .legend-item,wm-chart .component-wrapper .legend-wrapper .legend .legend-item{position:relative}:host .component-wrapper .legend-wrapper .legend .legend-item:not(:last-of-type),wm-chart .component-wrapper .legend-wrapper .legend .legend-item:not(:last-of-type){padding-right:1.25rem}:host .component-wrapper .legend-wrapper .legend .legend-text,wm-chart .component-wrapper .legend-wrapper .legend .legend-text{font-size:0.875rem;padding-left:1rem;line-height:1}:host .component-wrapper .legend-wrapper .legend .legend-color,wm-chart .component-wrapper .legend-wrapper .legend .legend-color{position:absolute;left:0;bottom:0;margin:auto;width:0.6875rem;height:0.6875rem}:host .component-wrapper .legend-wrapper .legend.bar3,wm-chart .component-wrapper .legend-wrapper .legend.bar3{padding-bottom:1.25rem}:host(:focus){outline:none}:host(:focus) .component-wrapper.user-is-tabbing .stacked-bar-segments-wrapper,:host(:focus) .component-wrapper.user-is-tabbing .simple-bar-wrapper,:host(:focus) .component-wrapper.user-is-tabbing .doughnut-wrapper{-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 #61279e;-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 #61279e;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 #61279e}:host(:focus) .component-wrapper.user-is-tabbing .stacked-bar-segments-wrapper::-moz-focus-inner,:host(:focus) .component-wrapper.user-is-tabbing .simple-bar-wrapper::-moz-focus-inner,:host(:focus) .component-wrapper.user-is-tabbing .doughnut-wrapper::-moz-focus-inner{border:0}";var k=e("wm_chart",function(){function e(e){var a=this;r(this,e);this.uid=o();this.slicesDetails=[];this.handleStackedBarResize=c((function(){return __awaiter(a,void 0,void 0,(function(){var e,r,t,a;return __generator(this,(function(p){e=false;r=this.el.shadowRoot.querySelectorAll(".value");if(r.length){t=r.length?r[0].getBoundingClientRect().right:0;a=4;r.forEach((function(r,p){if(p>0){var n=r.getBoundingClientRect();if(n.left-a<t){r.classList.add("hidden");e=true}else{r.classList.remove("hidden");t=n.right}}}))}this.hasHiddenBarValue=e;return[2]}))}))}),100);this.debouncedUpdate=c((function(){return __awaiter(a,void 0,void 0,(function(){return __generator(this,(function(e){t(this.el);return[2]}))}))}),10);this.debouncedSliceUpdate=c((function(){return __awaiter(a,void 0,void 0,(function(){return __generator(this,(function(e){switch(e.label){case 0:return[4,i.call(this,this.currentChartType)];case 1:e.sent();t(this.el);return[2]}}))}))}),100);this.chartType="doughnut1";this.label=undefined;this.labelWidth="150px";this.subinfo=undefined;this.completionMessage=undefined;this.valueFormat=undefined;this.showValues=undefined;this.showGrid=true;this.showLegend=true;this.showBarLegend=false;this.notStartedColor=false;this.labelPosition="top";this.isTabbing=false;this.userIsNavigating=false;this.hasHiddenBarValue=false}Object.defineProperty(e.prototype,"tempValueFormat",{get:function(){return this.valueFormat||this.showValues||"none"},enumerable:false,configurable:true});Object.defineProperty(e.prototype,"hybridType",{get:function(){return window.innerWidth>1340?"doughnut0":"bar1"},enumerable:false,configurable:true});Object.defineProperty(e.prototype,"popoverEl",{get:function(){return this.el.shadowRoot.querySelector("priv-chart-popover")},enumerable:false,configurable:true});Object.defineProperty(e.prototype,"sliceEls",{get:function(){return Array.from(this.el.shadowRoot.querySelectorAll(".segment"))},enumerable:false,configurable:true});Object.defineProperty(e.prototype,"currentChartType",{get:function(){var e=this.chartType;if(this.chartType==="hybrid"){e=this.hybridType}else if(this.chartType==="doughnut2"&&this.el.children.length>3){e="doughnut2plus"}return e},enumerable:false,configurable:true});Object.defineProperty(e.prototype,"chartDetails",{get:function(){return m[this.currentChartType]},enumerable:false,configurable:true});Object.defineProperty(e.prototype,"ariaLabelText",{get:function(){var e="".concat(this.label);if(this.subinfo){e+=" ".concat(this.subinfo)}return e},enumerable:false,configurable:true});Object.defineProperty(e.prototype,"isDoughnut",{get:function(){return this.chartDetails.category==="doughnut"},enumerable:false,configurable:true});Object.defineProperty(e.prototype,"isStackedBar",{get:function(){return this.chartDetails.category==="stackedBar"},enumerable:false,configurable:true});Object.defineProperty(e.prototype,"isSimpleBar",{get:function(){return this.chartDetails.category==="simpleBar"},enumerable:false,configurable:true});Object.defineProperty(e.prototype,"isBar",{get:function(){return this.isStackedBar||this.isSimpleBar},enumerable:false,configurable:true});Object.defineProperty(e.prototype,"chartRoleDescription",{get:function(){return s.formatMessage({id:"chart.roleDescription",defaultMessage:"Interactive chart",description:"For screen readers only, a description clarifying the role of the chart widget"})},enumerable:false,configurable:true});e.prototype.toggleTabbingOn=function(){this.isTabbing=true};e.prototype.toggleTabbingOff=function(){this.isTabbing=false};e.prototype.handleKeydown=function(e){h.call(this,e)};e.prototype.componentWillLoad=function(){return __awaiter(this,void 0,void 0,(function(){var e;var r=this;return __generator(this,(function(t){switch(t.label){case 0:if(!this.label){throw new Error("For accessibility purposes, you must provide a label for the chart. See https://components.watermarkinsights.com/chart for more information.")}if(this.showValues){console.warn("wm-chart: show-values has been deprecated as of v3.1.0. Please use value-format instead.")}return[4,i.call(this,this.currentChartType)];case 1:t.sent();if(this.chartType==="hybrid"||!this.isDoughnut){e=new ResizeObserver((function(){r.isStackedBar?r.handleStackedBarResize():r.debouncedUpdate()}));e.observe(this.el)}return[2]}}))}))};e.prototype.handleSliceUpdate=function(){this.debouncedSliceUpdate()};e.prototype.renderBarText=function(e,r){var t;if(this.tempValueFormat==="percentage"){t=e.perc===0&&e.amount>0?"<1%":"".concat(e.perc,"%")}else if(this.tempValueFormat==="amount"){t=e.amount}return a("div",{class:"value-wrapper",style:{width:"calc(".concat(l(e.amount,this.total,false),"%\n ").concat(r!==this.slicesDetails.length-1?" - 2px":"")}},a("span",{class:"value"},e.amount>0&&t))};e.prototype.drawAxis=function(){if(this.currentChartType==="bar3"){return a("svg",{class:"axis"},a("line",{x1:"0",x2:"100%",y1:"0",y2:"0"}),a("line",{x1:"0",x2:"0",y1:"0",y2:"-85px"}),a("line",{class:"tick",x1:"0.5",x2:"0.5",y1:"0",y2:"6"}),a("text",{x:"0.5",y:"-6"},"0%"),a("line",{class:"tick",x1:"100%",x2:"100%",y1:"0",y2:"6"}),a("text",{x:"100%",y:"-6"},"100%"))}};e.prototype.renderChart=function(){if(this.total>0){if(this.isStackedBar){return w.call(this,this.currentChartType)}else if(this.isSimpleBar){return b.call(this,this.currentChartType)}else if(this.isDoughnut){return d.call(this,this.currentChartType)}}};e.prototype.render=function(){var e=this;return a(p,{onBlur:function(){return y.call(e)}},a("div",{ref:function(r){return e.componentWrapperEl=r},class:"component-wrapper ".concat(this.currentChartType," ").concat(this.isTabbing&&!this.userIsNavigating?"user-is-tabbing":""," ").concat(this.labelPosition==="left"&&this.currentChartType==="bar4"?"left-label":""),role:"application","aria-label":this.ariaLabelText,tabindex:0,"aria-roledescription":this.chartRoleDescription,"aria-describedby":"chart-instructions"},a("label",{class:"label",id:"label-".concat(this.uid),htmlFor:"graphic-".concat(this.uid)},a("span",{class:"label-text"},this.label),this.subinfo?a("span",{class:"subinfo"},this.subinfo):""),this.isBar&&g.call(this,this.currentChartType),this.renderChart(),this.isDoughnut&&g.call(this,this.currentChartType),a("priv-chart-popover",{class:this.isTabbing?"user-is-tabbing":""}),this.currentChartType==="doughnut0"?f.call(this):"",this.hasHiddenBarValue&&x()),u())};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});return e}());k.style=v}}}));
|
|
2
|
+
//# sourceMappingURL=p-be2aab24.system.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["wmChartCss","Chart","exports","this","uid","generateId","slicesDetails","handleStackedBarResize","debounce","__awaiter","_this","hasHiddenBarValue","valueEls","el","shadowRoot","querySelectorAll","length","lastVisibleRightEdge_1","getBoundingClientRect","right","margin_1","forEach","valueEl","idx","bounds","left","classList","add","remove","debouncedUpdate","forceUpdate","debouncedSliceUpdate","getDetails","call","currentChartType","_a","sent","Object","defineProperty","class_1","prototype","valueFormat","showValues","window","innerWidth","querySelector","Array","from","current","chartType","hybridType","children","allChartsDetails","text","concat","label","subinfo","chartDetails","category","isStackedBar","isSimpleBar","intl","formatMessage","id","defaultMessage","description","toggleTabbingOn","isTabbing","toggleTabbingOff","handleKeydown","ev","handleChartKeydown","componentWillLoad","Error","console","warn","isDoughnut","resizeObserver","ResizeObserver","observe","handleSliceUpdate","renderBarText","s","val","tempValueFormat","perc","amount","h","class","style","width","amountToPercent","total","drawAxis","x1","x2","y1","y2","x","y","renderChart","renderStackedBar","renderSimpleBar","renderDoughnut","render","Host","onBlur","exitChart","ref","componentWrapperEl","userIsNavigating","labelPosition","role","ariaLabelText","tabindex","chartRoleDescription","htmlFor","isBar","renderLegend","renderCompletionMessage","renderHiddenValuesMessage","renderInstructionsText"],"sources":["src/components/charts/wm-chart/wm-chart.scss?tag=wm-chart&encapsulation=shadow","src/components/charts/wm-chart/wm-chart.tsx"],"sourcesContent":[":host,\r\nwm-chart {\r\n @extend %chart-styles;\r\n}\r\n\r\n:host(:focus) {\r\n @extend %chart-focus-styles;\r\n}\r\n","import { Component, Element, h, Host, Prop, State, Listen } from \"@stencil/core\";\r\nimport { forceUpdate } from \"@stencil/core\";\r\nimport { debounce, generateId, intl } from \"../../../global/functions\";\r\nimport {\r\n amountToPercent,\r\n exitChart,\r\n getDetails,\r\n handleChartKeydown,\r\n renderStackedBar,\r\n renderSimpleBar,\r\n renderCompletionMessage,\r\n renderDoughnut,\r\n renderHiddenValuesMessage,\r\n renderInstructionsText,\r\n renderLegend,\r\n allChartsDetails,\r\n} from \"../chartFunctions\";\r\nimport { ChartType, SliceDetails, SliceElement } from \"../../../global/interfaces\";\r\n\r\n@Component({\r\n tag: \"wm-chart\",\r\n shadow: { delegatesFocus: true },\r\n styleUrl: \"wm-chart.scss\",\r\n})\r\nexport class Chart {\r\n @Element() el!: HTMLWmChartElement;\r\n // @ts-ignore-- TS warns this is unused, but its needed in chartFunctions\r\n private componentWrapperEl!: HTMLDivElement;\r\n\r\n @Prop() chartType: ChartType | \"hybrid\" = \"doughnut1\"; // hybrid is not a real ChartType, it gets converted to something else.\r\n @Prop() label?: string;\r\n @Prop() labelWidth: string = \"150px\";\r\n @Prop() subinfo?: string;\r\n @Prop() completionMessage?: string;\r\n @Prop() valueFormat?: \"percentage\" | \"amount\";\r\n @Prop() showValues?: \"percentage\" | \"amount\"; // DEPRECATED in favor of value-format\r\n @Prop() showGrid?: boolean = true; \r\n get tempValueFormat() {\r\n // use of this getter should be replaced with dateFormat when showValues is fully phased out\r\n return this.valueFormat || this.showValues || \"none\";\r\n }\r\n @Prop() showLegend: boolean = true;\r\n @Prop() showBarLegend: boolean = false;\r\n @Prop() notStartedColor: boolean = false;\r\n // left labels are a temporary solution for the lack of a stacked bar chart and is undocumented\r\n // it only works with bar4 and should be used without a legend\r\n @Prop() labelPosition: \"left\" | \"top\" = \"top\";\r\n @State() isTabbing: boolean = false;\r\n @State() userIsNavigating: boolean = false;\r\n @State() hasHiddenBarValue: boolean = false;\r\n\r\n get hybridType(): \"doughnut0\" | \"bar1\" {\r\n return window.innerWidth > 1340 ? \"doughnut0\" : \"bar1\";\r\n }\r\n private uid: string = generateId();\r\n private total!: number;\r\n private slicesDetails: SliceDetails[] = [];\r\n\r\n get popoverEl() {\r\n return this.el.shadowRoot!.querySelector(\"priv-chart-popover\");\r\n }\r\n\r\n get sliceEls(): SliceElement[] {\r\n return Array.from(this.el.shadowRoot!.querySelectorAll(\".segment\"));\r\n }\r\n\r\n get currentChartType(): ChartType {\r\n let current = this.chartType as ChartType;\r\n\r\n if (this.chartType === \"hybrid\") {\r\n current = this.hybridType;\r\n } else if (this.chartType === \"doughnut2\" && this.el.children.length > 3) {\r\n // render an internal type (that includes an additional color) if doughnut2 has more than 3 slices\r\n current = \"doughnut2plus\";\r\n }\r\n return current; \r\n }\r\n\r\n get chartDetails() {\r\n return allChartsDetails[this.currentChartType];\r\n }\r\n\r\n get ariaLabelText() {\r\n let text = `${this.label}`;\r\n if (this.subinfo) {\r\n text += ` ${this.subinfo}`;\r\n }\r\n return text;\r\n }\r\n\r\n get isDoughnut() {\r\n return this.chartDetails.category === \"doughnut\";\r\n }\r\n\r\n get isStackedBar() {\r\n return this.chartDetails.category === \"stackedBar\";\r\n }\r\n\r\n get isSimpleBar() {\r\n return this.chartDetails.category === \"simpleBar\";\r\n }\r\n\r\n get isBar() {\r\n return this.isStackedBar || this.isSimpleBar;\r\n }\r\n\r\n get chartRoleDescription(): string {\r\n return intl.formatMessage({\r\n id: \"chart.roleDescription\",\r\n defaultMessage: \"Interactive chart\",\r\n description: \"For screen readers only, a description clarifying the role of the chart widget\",\r\n });\r\n }\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 handleKeydown(ev: KeyboardEvent) {\r\n handleChartKeydown.call(this, ev);\r\n }\r\n\r\n /* LIFECYCLE METHODS + EVENTS FROM THE CHILDREN */\r\n\r\n async componentWillLoad() {\r\n if (!this.label) {\r\n throw new Error(\r\n \"For accessibility purposes, you must provide a label for the chart. See https://components.watermarkinsights.com/chart for more information.\"\r\n );\r\n }\r\n if (this.showValues) {\r\n console.warn(\"wm-chart: show-values has been deprecated as of v3.1.0. Please use value-format instead.\");\r\n }\r\n await getDetails.call(this, this.currentChartType);\r\n\r\n // rerender on resize\r\n // unnecessary for doughnuts (except hybrid) as layout doesn't change\r\n if (this.chartType === \"hybrid\" || !this.isDoughnut) {\r\n const resizeObserver = new ResizeObserver(() => {\r\n this.isStackedBar ? this.handleStackedBarResize() : this.debouncedUpdate();\r\n });\r\n resizeObserver.observe(this.el);\r\n }\r\n }\r\n\r\n handleStackedBarResize = debounce(async () => {\r\n let hasHiddenBarValue = false;\r\n\r\n // if any value text overlaps with another, hide it and display warning\r\n const valueEls = this.el.shadowRoot!.querySelectorAll(\".value\");\r\n\r\n if (valueEls.length) {\r\n let lastVisibleRightEdge = valueEls.length ? valueEls[0].getBoundingClientRect().right : 0;\r\n let margin = 4;\r\n\r\n valueEls.forEach((valueEl, idx) => {\r\n // checks are to the left of each valueEl, so skip the first one\r\n if (idx > 0) {\r\n const bounds = valueEl.getBoundingClientRect();\r\n\r\n if (bounds.left - margin < lastVisibleRightEdge) {\r\n // left edge of current value is overlapping right edge of last visible value\r\n valueEl.classList.add(\"hidden\");\r\n hasHiddenBarValue = true;\r\n } else {\r\n valueEl.classList.remove(\"hidden\");\r\n lastVisibleRightEdge = bounds.right;\r\n }\r\n }\r\n });\r\n }\r\n\r\n this.hasHiddenBarValue = hasHiddenBarValue;\r\n }, 100);\r\n\r\n debouncedUpdate = debounce(async () => {\r\n forceUpdate(this.el);\r\n }, 10);\r\n\r\n debouncedSliceUpdate = debounce(async () => {\r\n await getDetails.call(this, this.currentChartType);\r\n forceUpdate(this.el);\r\n }, 100);\r\n\r\n @Listen(\"wmChartSliceUpdated\")\r\n handleSliceUpdate() {\r\n this.debouncedSliceUpdate();\r\n }\r\n\r\n /* RENDERING */\r\n renderBarText(s: SliceDetails, idx: number) {\r\n let val;\r\n if (this.tempValueFormat === \"percentage\") {\r\n // if segment has an amount, but \"0\" percentage (it's below 0.5% and rounded down), still display it as <1%\r\n val = s.perc === 0 && s.amount > 0 ? \"<1%\" : `${s.perc}%`;\r\n } else if (this.tempValueFormat === \"amount\") {\r\n val = s.amount;\r\n }\r\n\r\n // even though we do not display the value text if it has an amount of 0, we still want to render the value-wrapper\r\n // in order to not disturb the positioning of the other value texts in the entire row\r\n return (\r\n <div\r\n class=\"value-wrapper\"\r\n style={{\r\n width: `calc(${amountToPercent(s.amount, this.total, false)}%\r\n ${idx !== this.slicesDetails.length - 1 ? \" - 2px\" : \"\"}`,\r\n }}\r\n >\r\n <span class=\"value\">{s.amount > 0 && val}</span>\r\n </div>\r\n );\r\n }\r\n\r\n drawAxis() {\r\n if (this.currentChartType === \"bar3\") {\r\n return (\r\n <svg class=\"axis\">\r\n <line x1=\"0\" x2=\"100%\" y1=\"0\" y2=\"0\" />\r\n <line x1=\"0\" x2=\"0\" y1=\"0\" y2=\"-85px\" />\r\n <line class=\"tick\" x1=\"0.5\" x2=\"0.5\" y1=\"0\" y2=\"6\" />\r\n <text x=\"0.5\" y=\"-6\">\r\n 0%\r\n </text>\r\n <line class=\"tick\" x1=\"100%\" x2=\"100%\" y1=\"0\" y2=\"6\" />\r\n <text x=\"100%\" y=\"-6\">\r\n 100%\r\n </text>\r\n </svg>\r\n );\r\n }\r\n }\r\n\r\n renderChart() {\r\n if (this.total > 0) {\r\n if (this.isStackedBar) {\r\n return renderStackedBar.call(this, this.currentChartType);\r\n } else if (this.isSimpleBar) {\r\n return renderSimpleBar.call(this, this.currentChartType);\r\n } else if (this.isDoughnut) {\r\n return renderDoughnut.call(this, this.currentChartType);\r\n }\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n <Host onBlur={() => exitChart.call(this)}>\r\n <div\r\n ref={(el) => (this.componentWrapperEl = el as HTMLDivElement)}\r\n class={`component-wrapper ${this.currentChartType} ${\r\n this.isTabbing && !this.userIsNavigating ? \"user-is-tabbing\" : \"\"\r\n } ${this.labelPosition === \"left\" && this.currentChartType === \"bar4\" ? \"left-label\" : \"\"}`}\r\n role=\"application\"\r\n aria-label={this.ariaLabelText}\r\n tabindex={0}\r\n aria-roledescription={this.chartRoleDescription}\r\n aria-describedby=\"chart-instructions\"\r\n >\r\n <label class=\"label\" id={`label-${this.uid}`} htmlFor={`graphic-${this.uid}`}>\r\n <span class=\"label-text\">{this.label}</span>\r\n {this.subinfo ? <span class=\"subinfo\">{this.subinfo}</span> : \"\"}\r\n </label>\r\n {this.isBar && renderLegend.call(this, this.currentChartType)}\r\n {this.renderChart()}\r\n {this.isDoughnut && renderLegend.call(this, this.currentChartType)}\r\n <priv-chart-popover class={this.isTabbing ? \"user-is-tabbing\" : \"\"}></priv-chart-popover>\r\n {this.currentChartType === \"doughnut0\" ? renderCompletionMessage.call(this) : \"\"}\r\n {this.hasHiddenBarValue && renderHiddenValuesMessage()}\r\n </div>\r\n {renderInstructionsText()}\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["privNavigatorItemCss","PrivNavigatorItem","handleKeyDown","ev","key","el","this","preventDefault","keydownOnNavItem","emit","navItem","render","selectedClass","selected","focusedClass","focused","h","class"],"sources":["./src/components/wm-navigator/priv-navigator-item/priv-navigator-item.scss?tag=priv-navigator-item&encapsulation=shadow","./src/components/wm-navigator/priv-navigator-item/priv-navigator-item.tsx"],"sourcesContent":[":host,\npriv-navigator-item {\n list-style: none;\n border-bottom: 1px solid #e0dde4;\n width: 100%;\n display: block;\n cursor: pointer;\n\n .navoption {\n color: #404248;\n padding: 0.9375rem 1.25rem;\n background: #fff;\n font-size: rem-calc(14);\n\n &.selected,\n &:hover {\n background: #e5e5e5;\n }\n\n &.focused:not(.selected) {\n background: $background;\n opacity: 1;\n }\n }\n}\n","import { Component, Element, h, Prop, Event, EventEmitter, Listen } from \"@stencil/core\";\n\n@Component({\n tag: \"priv-navigator-item\",\n styleUrl: \"priv-navigator-item.scss\",\n shadow: true,\n})\nexport class PrivNavigatorItem {\n @Element() el!: any;\n @Prop({ mutable: true }) selected: boolean = false;\n @Prop({ mutable: true }) focused: boolean = false;\n @Prop({ mutable: true }) link: string = \"\";\n @Event() keydownOnNavItem!: EventEmitter<{\n navItem: HTMLPrivNavigatorItemElement;\n key: string;\n }>;\n\n @Listen(\"keydown\")\n handleKeyDown(ev: KeyboardEvent) {\n const key = ev.key;\n const el = this.el;\n if (key !== \"Tab\") {\n ev.preventDefault();\n }\n this.keydownOnNavItem.emit({ navItem: el, key: key });\n }\n\n render() {\n const selectedClass = this.selected ? \"selected\" : \"\";\n const focusedClass = this.focused ? \"focused\" : \"\";\n\n return (\n <div class={`navoption ${selectedClass} ${focusedClass}`}>\n <slot />\n </div>\n );\n }\n}\n"],"mappings":"yDAAA,MAAMA,EAAuB,4f,MCOhBC,EAAiB,M,0FAEiB,M,aACD,M,UACJ,E,CAOxCC,cAAcC,GACZ,MAAMC,EAAMD,EAAGC,IACf,MAAMC,EAAKC,KAAKD,GAChB,GAAID,IAAQ,MAAO,CACjBD,EAAGI,gB,CAELD,KAAKE,iBAAiBC,KAAK,CAAEC,QAASL,EAAID,IAAKA,G,CAGjDO,SACE,MAAMC,EAAgBN,KAAKO,SAAW,WAAa,GACnD,MAAMC,EAAeR,KAAKS,QAAU,UAAY,GAEhD,OACEC,EAAA,OAAKC,MAAO,aAAaL,KAAiBE,KACxCE,EAAA,a"}
|
|
1
|
+
{"version":3,"names":["privNavigatorItemCss","PrivNavigatorItem","handleKeyDown","ev","key","el","this","preventDefault","keydownOnNavItem","emit","navItem","render","selectedClass","selected","focusedClass","focused","h","class"],"sources":["./src/components/wm-navigator/priv-navigator-item/priv-navigator-item.scss?tag=priv-navigator-item&encapsulation=shadow","./src/components/wm-navigator/priv-navigator-item/priv-navigator-item.tsx"],"sourcesContent":[":host,\r\npriv-navigator-item {\r\n list-style: none;\r\n border-bottom: 1px solid #e0dde4;\r\n width: 100%;\r\n display: block;\r\n cursor: pointer;\r\n\r\n .navoption {\r\n color: #404248;\r\n padding: 0.9375rem 1.25rem;\r\n background: #fff;\r\n font-size: rem-calc(14);\r\n\r\n &.selected,\r\n &:hover {\r\n background: #e5e5e5;\r\n }\r\n\r\n &.focused:not(.selected) {\r\n background: $background;\r\n opacity: 1;\r\n }\r\n }\r\n}\r\n","import { Component, Element, h, Prop, Event, EventEmitter, Listen } from \"@stencil/core\";\r\n\r\n@Component({\r\n tag: \"priv-navigator-item\",\r\n styleUrl: \"priv-navigator-item.scss\",\r\n shadow: true,\r\n})\r\nexport class PrivNavigatorItem {\r\n @Element() el!: any;\r\n @Prop({ mutable: true }) selected: boolean = false;\r\n @Prop({ mutable: true }) focused: boolean = false;\r\n @Prop({ mutable: true }) link: string = \"\";\r\n @Event() keydownOnNavItem!: EventEmitter<{\r\n navItem: HTMLPrivNavigatorItemElement;\r\n key: string;\r\n }>;\r\n\r\n @Listen(\"keydown\")\r\n handleKeyDown(ev: KeyboardEvent) {\r\n const key = ev.key;\r\n const el = this.el;\r\n if (key !== \"Tab\") {\r\n ev.preventDefault();\r\n }\r\n this.keydownOnNavItem.emit({ navItem: el, key: key });\r\n }\r\n\r\n render() {\r\n const selectedClass = this.selected ? \"selected\" : \"\";\r\n const focusedClass = this.focused ? \"focused\" : \"\";\r\n\r\n return (\r\n <div class={`navoption ${selectedClass} ${focusedClass}`}>\r\n <slot />\r\n </div>\r\n );\r\n }\r\n}\r\n"],"mappings":"yDAAA,MAAMA,EAAuB,4f,MCOhBC,EAAiB,M,0FAEiB,M,aACD,M,UACJ,E,CAOxCC,cAAcC,GACZ,MAAMC,EAAMD,EAAGC,IACf,MAAMC,EAAKC,KAAKD,GAChB,GAAID,IAAQ,MAAO,CACjBD,EAAGI,gB,CAELD,KAAKE,iBAAiBC,KAAK,CAAEC,QAASL,EAAID,IAAKA,G,CAGjDO,SACE,MAAMC,EAAgBN,KAAKO,SAAW,WAAa,GACnD,MAAMC,EAAeR,KAAKS,QAAU,UAAY,GAEhD,OACEC,EAAA,OAAKC,MAAO,aAAaL,KAAiBE,KACxCE,EAAA,a"}
|