@watermarkinsights/ripple 3.25.0-2 → 3.25.0
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-9dce0ea3.js → chartFunctions-2f04ab6a.js} +591 -591
- package/dist/cjs/chartFunctions-2f04ab6a.js.map +1 -0
- package/dist/cjs/{functions-53aff314.js → functions-d2d99997.js} +478 -478
- package/dist/cjs/{functions-53aff314.js.map → functions-d2d99997.js.map} +1 -1
- package/dist/cjs/{global-c22b1249.js → global-d0584d18.js} +63 -63
- package/dist/cjs/global-d0584d18.js.map +1 -0
- package/dist/cjs/{http-service-494d81de.js → http-service-9e8c4dd5.js} +50 -50
- package/dist/cjs/http-service-9e8c4dd5.js.map +1 -0
- package/dist/cjs/{interfaces-a3338581.js → interfaces-30a74c1f.js} +30 -30
- package/dist/cjs/interfaces-30a74c1f.js.map +1 -0
- package/dist/cjs/intl-a1ccf587.js +140 -0
- package/dist/cjs/intl-a1ccf587.js.map +1 -0
- package/dist/cjs/loader.cjs.js +2 -2
- 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 +2 -2
- 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 +264 -264
- 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 +124 -140
- 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 +32 -32
- 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 +225 -230
- 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 +465 -467
- package/dist/cjs/wm-network-uploader.cjs.entry.js.map +1 -1
- package/dist/cjs/wm-option_2.cjs.entry.js +769 -772
- 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 +185 -192
- package/dist/cjs/wm-search.cjs.entry.js.map +1 -1
- package/dist/cjs/wm-snackbar.cjs.entry.js +155 -159
- 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 +912 -924
- package/dist/cjs/wm-tag-input.cjs.entry.js.map +1 -1
- package/dist/cjs/wm-timepicker.cjs.entry.js +386 -386
- 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 +441 -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 -557
- package/dist/collection/components/charts/chartFunctions.js.map +1 -1
- package/dist/collection/components/charts/priv-chart-popover/priv-chart-popover.js +268 -270
- 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.css +4 -4
- 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.css +4 -4
- package/dist/collection/components/wm-input/wm-input.js +428 -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 +83 -83
- 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 +218 -223
- 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.css +5 -3
- package/dist/collection/components/wm-search/wm-search.js +440 -447
- package/dist/collection/components/wm-search/wm-search.js.map +1 -1
- package/dist/collection/components/wm-select/wm-select.css +4 -4
- package/dist/collection/components/wm-select/wm-select.js +1055 -1058
- package/dist/collection/components/wm-select/wm-select.js.map +1 -1
- package/dist/collection/components/wm-snackbar/wm-snackbar.js +283 -287
- 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.css +4 -4
- package/dist/collection/components/wm-tag-input/wm-tag-input.js +1267 -1279
- package/dist/collection/components/wm-tag-input/wm-tag-input.js.map +1 -1
- package/dist/collection/components/wm-timepicker/wm-timepicker.css +4 -4
- 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 +773 -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 +965 -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 +521 -521
- 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/intl.js +133 -7
- package/dist/collection/global/intl.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-1df8043a.js → chartFunctions-a72f5835.js} +591 -591
- package/dist/esm/chartFunctions-a72f5835.js.map +1 -0
- package/dist/esm/{functions-bb1309d0.js → functions-dc9964aa.js} +478 -478
- package/dist/esm/{functions-bb1309d0.js.map → functions-dc9964aa.js.map} +1 -1
- package/dist/esm/{global-2c5c2727.js → global-3d0ef32b.js} +63 -63
- package/dist/esm/global-3d0ef32b.js.map +1 -0
- package/dist/esm/{http-service-3dc3b3e7.js → http-service-5d037e16.js} +50 -50
- package/dist/esm/http-service-5d037e16.js.map +1 -0
- package/dist/esm/{interfaces-2b97fab2.js → interfaces-61c6305b.js} +30 -30
- package/dist/esm/interfaces-61c6305b.js.map +1 -0
- package/dist/esm/intl-4d4826dd.js +137 -0
- package/dist/esm/intl-4d4826dd.js.map +1 -0
- package/dist/esm/loader.js +2 -2
- 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 +2 -2
- 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 +264 -264
- 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 +124 -140
- 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 +32 -32
- 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 +225 -230
- 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 +465 -467
- package/dist/esm/wm-network-uploader.entry.js.map +1 -1
- package/dist/esm/wm-option_2.entry.js +769 -772
- 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 +185 -192
- package/dist/esm/wm-search.entry.js.map +1 -1
- package/dist/esm/wm-snackbar.entry.js +155 -159
- 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 +912 -924
- package/dist/esm/wm-tag-input.entry.js.map +1 -1
- package/dist/esm/wm-timepicker.entry.js +386 -386
- 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 +441 -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-1df8043a.js → chartFunctions-a72f5835.js} +2 -2
- package/dist/esm-es5/chartFunctions-a72f5835.js.map +1 -0
- package/dist/esm-es5/{functions-bb1309d0.js → functions-dc9964aa.js} +1 -1
- package/dist/esm-es5/{functions-bb1309d0.js.map → functions-dc9964aa.js.map} +1 -1
- package/dist/esm-es5/global-3d0ef32b.js +2 -0
- package/dist/esm-es5/global-3d0ef32b.js.map +1 -0
- package/dist/esm-es5/{http-service-3dc3b3e7.js → http-service-5d037e16.js} +1 -1
- package/dist/esm-es5/http-service-5d037e16.js.map +1 -0
- package/dist/esm-es5/{interfaces-2b97fab2.js → interfaces-61c6305b.js} +1 -1
- package/dist/esm-es5/interfaces-61c6305b.js.map +1 -0
- package/dist/esm-es5/intl-4d4826dd.js +2 -0
- package/dist/esm-es5/intl-4d4826dd.js.map +1 -0
- package/dist/esm-es5/loader.js +1 -1
- package/dist/esm-es5/loader.js.map +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/ripple.js.map +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-3f6c7e6c.entry.js → p-002d067e.entry.js} +2 -2
- package/dist/ripple/p-002d067e.entry.js.map +1 -0
- package/dist/ripple/p-02a1000a.entry.js +2 -0
- package/dist/ripple/p-02a1000a.entry.js.map +1 -0
- package/dist/ripple/{p-21bb563a.system.entry.js → p-04ae66fd.system.entry.js} +2 -2
- package/dist/ripple/p-04ae66fd.system.entry.js.map +1 -0
- package/dist/ripple/{p-c38f6103.system.js → p-0826dc64.system.js} +2 -2
- package/dist/ripple/{p-c38f6103.system.js.map → p-0826dc64.system.js.map} +1 -1
- package/dist/ripple/{p-f5df5903.system.js → p-08b7ec08.system.js} +1 -1
- package/dist/ripple/p-08b7ec08.system.js.map +1 -0
- package/dist/ripple/{p-d5b0809e.entry.js → p-0ad3a708.entry.js} +2 -2
- package/dist/ripple/p-0ad3a708.entry.js.map +1 -0
- package/dist/ripple/p-0cd13c7d.system.entry.js +2 -0
- package/dist/ripple/p-0cd13c7d.system.entry.js.map +1 -0
- package/dist/ripple/p-0d7bccf7.entry.js.map +1 -1
- package/dist/ripple/p-0eb7b1b7.system.entry.js +2 -0
- package/dist/ripple/p-0eb7b1b7.system.entry.js.map +1 -0
- package/dist/ripple/{p-70768add.entry.js → p-11124a23.entry.js} +2 -2
- package/dist/ripple/p-11124a23.entry.js.map +1 -0
- package/dist/ripple/p-1808b90a.entry.js +2 -0
- package/dist/ripple/p-1808b90a.entry.js.map +1 -0
- package/dist/ripple/p-1fd20e05.system.entry.js +2 -0
- package/dist/ripple/p-1fd20e05.system.entry.js.map +1 -0
- package/dist/ripple/{p-f36b1c58.system.entry.js → p-23fa1ff6.system.entry.js} +2 -2
- package/dist/ripple/p-23fa1ff6.system.entry.js.map +1 -0
- package/dist/ripple/p-24a4cb11.system.entry.js.map +1 -1
- package/dist/ripple/p-2c2a7092.system.entry.js.map +1 -1
- package/dist/ripple/{p-9d02957d.system.js → p-313b6073.system.js} +1 -1
- package/dist/ripple/p-313b6073.system.js.map +1 -0
- package/dist/ripple/p-33558ec4.system.entry.js.map +1 -1
- package/dist/ripple/{p-28c12986.system.entry.js → p-33ec18d4.system.entry.js} +2 -2
- package/dist/ripple/p-33ec18d4.system.entry.js.map +1 -0
- package/dist/ripple/{p-7d0f3abe.entry.js → p-341aa131.entry.js} +2 -2
- package/dist/ripple/p-341aa131.entry.js.map +1 -0
- package/dist/ripple/p-3759b7af.system.entry.js.map +1 -1
- package/dist/ripple/p-38449dff.system.entry.js +2 -0
- package/dist/ripple/p-38449dff.system.entry.js.map +1 -0
- package/dist/ripple/{p-ee97c3f6.entry.js → p-384c4981.entry.js} +2 -2
- package/dist/ripple/p-384c4981.entry.js.map +1 -0
- package/dist/ripple/{p-b81ce905.system.entry.js → p-3869a69e.system.entry.js} +2 -2
- package/dist/ripple/p-3869a69e.system.entry.js.map +1 -0
- package/dist/ripple/p-4391166c.entry.js.map +1 -1
- package/dist/ripple/{p-e6e7cb2d.entry.js → p-43be123d.entry.js} +2 -2
- package/dist/ripple/p-43be123d.entry.js.map +1 -0
- package/dist/ripple/p-4a014591.entry.js.map +1 -1
- package/dist/ripple/p-4a06d0a9.system.entry.js +2 -0
- package/dist/ripple/p-4a06d0a9.system.entry.js.map +1 -0
- package/dist/ripple/p-4e02e2ae.entry.js +2 -0
- package/dist/ripple/p-4e02e2ae.entry.js.map +1 -0
- package/dist/ripple/p-56cd4d5e.entry.js +2 -0
- package/dist/ripple/p-56cd4d5e.entry.js.map +1 -0
- package/dist/ripple/p-59654f8e.entry.js.map +1 -1
- package/dist/ripple/p-5cc287d2.entry.js +2 -0
- package/dist/ripple/p-5cc287d2.entry.js.map +1 -0
- package/dist/ripple/{p-8eebf787.entry.js → p-7e0e6b00.entry.js} +2 -2
- package/dist/ripple/p-7e0e6b00.entry.js.map +1 -0
- package/dist/ripple/{p-0400599e.system.entry.js → p-833c622f.system.entry.js} +2 -2
- package/dist/ripple/p-833c622f.system.entry.js.map +1 -0
- package/dist/ripple/{p-b00991d9.system.entry.js → p-8613600d.system.entry.js} +2 -2
- package/dist/ripple/p-8613600d.system.entry.js.map +1 -0
- package/dist/ripple/{p-43f1298b.js → p-888bec42.js} +1 -1
- package/dist/ripple/p-888bec42.js.map +1 -0
- package/dist/ripple/p-889579fc.entry.js +2 -0
- package/dist/ripple/p-889579fc.entry.js.map +1 -0
- package/dist/ripple/p-8c51e9f8.system.entry.js.map +1 -1
- package/dist/ripple/{p-42158d44.entry.js → p-8db604d2.entry.js} +2 -2
- package/dist/ripple/p-8db604d2.entry.js.map +1 -0
- package/dist/ripple/{p-24ef6556.system.entry.js → p-91deb45f.system.entry.js} +2 -2
- package/dist/ripple/p-91deb45f.system.entry.js.map +1 -0
- package/dist/ripple/p-9338011f.system.entry.js +2 -0
- package/dist/ripple/p-9338011f.system.entry.js.map +1 -0
- package/dist/ripple/p-976b2789.system.entry.js.map +1 -1
- package/dist/ripple/{p-1aa16d42.js → p-994303f2.js} +2 -2
- package/dist/ripple/p-994303f2.js.map +1 -0
- package/dist/ripple/p-9b2dfb54.js +2 -0
- package/dist/ripple/p-9b2dfb54.js.map +1 -0
- package/dist/ripple/p-9b9eb944.entry.js.map +1 -1
- package/dist/ripple/{p-980afed1.system.entry.js → p-a6d64d8a.system.entry.js} +2 -2
- package/dist/ripple/p-a6d64d8a.system.entry.js.map +1 -0
- package/dist/ripple/{p-fd8070fb.js → p-a6d6eae7.js} +1 -1
- package/dist/ripple/p-a6d6eae7.js.map +1 -0
- package/dist/ripple/{p-219fbe2b.system.entry.js → p-a73cf968.system.entry.js} +2 -2
- package/dist/ripple/p-a73cf968.system.entry.js.map +1 -0
- package/dist/ripple/{p-76aafb99.system.entry.js → p-aed625c1.system.entry.js} +2 -2
- package/dist/ripple/p-aed625c1.system.entry.js.map +1 -0
- package/dist/ripple/{p-0d36ceba.system.entry.js → p-b5b521e4.system.entry.js} +2 -2
- package/dist/ripple/p-b5b521e4.system.entry.js.map +1 -0
- package/dist/ripple/{p-47d223f1.system.entry.js → p-b7451e73.system.entry.js} +2 -2
- package/dist/ripple/p-b7451e73.system.entry.js.map +1 -0
- package/dist/ripple/p-bafdcb4e.system.entry.js +2 -0
- package/dist/ripple/p-bafdcb4e.system.entry.js.map +1 -0
- package/dist/ripple/{p-262713b9.entry.js → p-bb45e122.entry.js} +2 -2
- package/dist/ripple/p-bb45e122.entry.js.map +1 -0
- package/dist/ripple/p-bd84628c.system.entry.js +2 -0
- package/dist/ripple/p-bd84628c.system.entry.js.map +1 -0
- package/dist/ripple/p-bf569af0.entry.js.map +1 -1
- package/dist/ripple/p-c094f6a8.entry.js +2 -0
- package/dist/ripple/p-c094f6a8.entry.js.map +1 -0
- package/dist/ripple/p-c36002b6.system.js +2 -0
- package/dist/ripple/p-c36002b6.system.js.map +1 -0
- package/dist/ripple/p-c5bf7db8.entry.js +2 -0
- package/dist/ripple/p-c5bf7db8.entry.js.map +1 -0
- package/dist/ripple/p-c68b3798.system.js +2 -0
- package/dist/ripple/p-c68b3798.system.js.map +1 -0
- package/dist/ripple/{p-05e0f901.js → p-c6a0f7e5.js} +1 -1
- package/dist/ripple/{p-05e0f901.js.map → p-c6a0f7e5.js.map} +1 -1
- package/dist/ripple/{p-bcba3ce8.entry.js → p-d46f5794.entry.js} +2 -2
- package/dist/ripple/p-d46f5794.entry.js.map +1 -0
- package/dist/ripple/{p-d7ffac2f.entry.js → p-d48313e0.entry.js} +2 -2
- package/dist/ripple/p-d48313e0.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-d7c55ce1.entry.js → p-e22854c1.entry.js} +2 -2
- package/dist/ripple/p-e22854c1.entry.js.map +1 -0
- package/dist/ripple/p-e70bb79f.js +2 -0
- package/dist/ripple/p-e70bb79f.js.map +1 -0
- package/dist/ripple/{p-e99a7f36.entry.js → p-ed82573a.entry.js} +2 -2
- package/dist/ripple/p-ed82573a.entry.js.map +1 -0
- package/dist/ripple/{p-bc28c815.system.js → p-f0fd8695.system.js} +1 -1
- package/dist/ripple/{p-bc28c815.system.js.map → p-f0fd8695.system.js.map} +1 -1
- package/dist/ripple/{p-e5f84104.system.entry.js → p-f312d59a.system.entry.js} +2 -2
- package/dist/ripple/p-f312d59a.system.entry.js.map +1 -0
- package/dist/ripple/{p-c19ddc00.system.entry.js → p-f59a495a.system.entry.js} +2 -2
- package/dist/ripple/p-f59a495a.system.entry.js.map +1 -0
- package/dist/ripple/{p-cc8ca6bd.system.js → p-f80eb8a5.system.js} +2 -2
- package/dist/ripple/p-f80eb8a5.system.js.map +1 -0
- package/dist/ripple/{p-1be55579.system.entry.js → p-fb67c39e.system.entry.js} +2 -2
- package/dist/ripple/p-fb67c39e.system.entry.js.map +1 -0
- package/dist/ripple/{p-20d0d019.entry.js → p-fc08d5e1.entry.js} +2 -2
- package/dist/ripple/p-fc08d5e1.entry.js.map +1 -0
- package/dist/ripple/{p-d7b946ed.entry.js → p-fe7da854.entry.js} +2 -2
- package/dist/ripple/p-fe7da854.entry.js.map +1 -0
- package/dist/ripple/ripple.esm.js +1 -1
- package/dist/ripple/ripple.esm.js.map +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 -0
- 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 -0
- package/dist/types/components/charts/wm-progress-monitor/wm-progress-indicator.d.ts +29 -0
- package/dist/types/components/charts/wm-progress-monitor/wm-progress-monitor.d.ts +20 -0
- 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 -0
- package/dist/types/components/wm-button/wm-button.d.ts +49 -0
- package/dist/types/components/wm-datepicker/priv-datepicker/priv-datepicker.d.ts +80 -0
- package/dist/types/components/wm-datepicker/wm-datepicker.d.ts +42 -0
- package/dist/types/components/wm-file/wm-file.d.ts +42 -0
- package/dist/types/components/wm-file-list/wm-file-list.d.ts +16 -0
- package/dist/types/components/wm-input/wm-input.d.ts +45 -0
- package/dist/types/components/wm-menuitem/wm-menuitem.d.ts +34 -0
- package/dist/types/components/wm-modal/wm-modal-footer.d.ts +14 -14
- package/dist/types/components/wm-modal/wm-modal-header.d.ts +10 -10
- package/dist/types/components/wm-modal/wm-modal.d.ts +40 -0
- package/dist/types/components/wm-navigation/wm-navigation-hamburger.d.ts +21 -0
- package/dist/types/components/wm-navigation/wm-navigation-item.d.ts +13 -0
- package/dist/types/components/wm-navigation/wm-navigation.d.ts +26 -0
- 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 -0
- package/dist/types/components/wm-navigator/wm-navigator.d.ts +61 -0
- package/dist/types/components/wm-option/wm-option.d.ts +34 -0
- package/dist/types/components/wm-pagination/wm-pagination.d.ts +32 -32
- package/dist/types/components/wm-search/wm-search.d.ts +77 -0
- package/dist/types/components/wm-select/wm-select.d.ts +101 -0
- package/dist/types/components/wm-snackbar/wm-snackbar.d.ts +31 -32
- package/dist/types/components/wm-tabs/wm-tab-item/wm-tab-item.d.ts +37 -0
- package/dist/types/components/wm-tabs/wm-tab-list/wm-tab-list.d.ts +52 -0
- package/dist/types/components/wm-tabs/wm-tab-panel/wm-tab-panel.d.ts +20 -0
- package/dist/types/components/wm-tag-input/wm-tag-input-row/wm-tag-input-row.d.ts +11 -0
- package/dist/types/components/wm-tag-input/wm-tag-input.d.ts +135 -0
- package/dist/types/components/wm-timepicker/wm-timepicker.d.ts +62 -0
- package/dist/types/components/wm-toggletip/wm-toggletip.d.ts +28 -0
- package/dist/types/components/wm-uploader/wm-network-uploader/wm-network-uploader.d.ts +85 -0
- package/dist/types/components/wm-uploader/wm-uploader.d.ts +99 -0
- 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 +48 -48
- package/dist/types/global/global.d.ts +1 -1
- package/dist/types/global/interfaces.d.ts +74 -74
- package/dist/types/global/intl.d.ts +29 -1
- 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-9dce0ea3.js.map +0 -1
- package/dist/cjs/global-c22b1249.js.map +0 -1
- package/dist/cjs/http-service-494d81de.js.map +0 -1
- package/dist/cjs/interfaces-a3338581.js.map +0 -1
- package/dist/cjs/intl-e14dc0a1.js +0 -13
- package/dist/cjs/intl-e14dc0a1.js.map +0 -1
- package/dist/esm/chartFunctions-1df8043a.js.map +0 -1
- package/dist/esm/global-2c5c2727.js.map +0 -1
- package/dist/esm/http-service-3dc3b3e7.js.map +0 -1
- package/dist/esm/interfaces-2b97fab2.js.map +0 -1
- package/dist/esm/intl-4153b9ef.js +0 -11
- package/dist/esm/intl-4153b9ef.js.map +0 -1
- package/dist/esm-es5/chartFunctions-1df8043a.js.map +0 -1
- package/dist/esm-es5/global-2c5c2727.js +0 -2
- package/dist/esm-es5/global-2c5c2727.js.map +0 -1
- package/dist/esm-es5/http-service-3dc3b3e7.js.map +0 -1
- package/dist/esm-es5/interfaces-2b97fab2.js.map +0 -1
- package/dist/esm-es5/intl-4153b9ef.js +0 -2
- package/dist/esm-es5/intl-4153b9ef.js.map +0 -1
- package/dist/ripple/p-0400599e.system.entry.js.map +0 -1
- package/dist/ripple/p-075607ac.entry.js +0 -2
- package/dist/ripple/p-075607ac.entry.js.map +0 -1
- package/dist/ripple/p-08d17d5a.entry.js +0 -2
- package/dist/ripple/p-08d17d5a.entry.js.map +0 -1
- package/dist/ripple/p-0d36ceba.system.entry.js.map +0 -1
- package/dist/ripple/p-124da634.entry.js +0 -2
- package/dist/ripple/p-124da634.entry.js.map +0 -1
- package/dist/ripple/p-1aa16d42.js.map +0 -1
- package/dist/ripple/p-1be55579.system.entry.js.map +0 -1
- package/dist/ripple/p-20d0d019.entry.js.map +0 -1
- package/dist/ripple/p-219fbe2b.system.entry.js.map +0 -1
- package/dist/ripple/p-21bb563a.system.entry.js.map +0 -1
- package/dist/ripple/p-241d4d41.system.entry.js +0 -2
- package/dist/ripple/p-241d4d41.system.entry.js.map +0 -1
- package/dist/ripple/p-24ef6556.system.entry.js.map +0 -1
- package/dist/ripple/p-262713b9.entry.js.map +0 -1
- package/dist/ripple/p-28c12986.system.entry.js.map +0 -1
- package/dist/ripple/p-3f6c7e6c.entry.js.map +0 -1
- package/dist/ripple/p-42158d44.entry.js.map +0 -1
- package/dist/ripple/p-43f1298b.js.map +0 -1
- package/dist/ripple/p-47d223f1.system.entry.js.map +0 -1
- package/dist/ripple/p-4d30004f.entry.js +0 -2
- package/dist/ripple/p-4d30004f.entry.js.map +0 -1
- package/dist/ripple/p-58b1415e.system.js +0 -2
- package/dist/ripple/p-58b1415e.system.js.map +0 -1
- package/dist/ripple/p-5cda4e9c.system.entry.js +0 -2
- package/dist/ripple/p-5cda4e9c.system.entry.js.map +0 -1
- package/dist/ripple/p-64f15a9e.system.entry.js +0 -2
- package/dist/ripple/p-64f15a9e.system.entry.js.map +0 -1
- package/dist/ripple/p-6e6b5b2c.system.entry.js +0 -2
- package/dist/ripple/p-6e6b5b2c.system.entry.js.map +0 -1
- package/dist/ripple/p-70768add.entry.js.map +0 -1
- package/dist/ripple/p-76aafb99.system.entry.js.map +0 -1
- package/dist/ripple/p-7d0f3abe.entry.js.map +0 -1
- package/dist/ripple/p-8aa85021.system.entry.js +0 -2
- package/dist/ripple/p-8aa85021.system.entry.js.map +0 -1
- package/dist/ripple/p-8eebf787.entry.js.map +0 -1
- package/dist/ripple/p-96b0ca93.system.js +0 -2
- package/dist/ripple/p-96b0ca93.system.js.map +0 -1
- package/dist/ripple/p-980afed1.system.entry.js.map +0 -1
- package/dist/ripple/p-9d02957d.system.js.map +0 -1
- package/dist/ripple/p-adbeb6a8.system.entry.js +0 -2
- package/dist/ripple/p-adbeb6a8.system.entry.js.map +0 -1
- package/dist/ripple/p-b00991d9.system.entry.js.map +0 -1
- package/dist/ripple/p-b81ce905.system.entry.js.map +0 -1
- package/dist/ripple/p-bcba3ce8.entry.js.map +0 -1
- package/dist/ripple/p-bf808ec4.entry.js +0 -2
- package/dist/ripple/p-bf808ec4.entry.js.map +0 -1
- package/dist/ripple/p-c19ddc00.system.entry.js.map +0 -1
- package/dist/ripple/p-cc8ca6bd.system.js.map +0 -1
- package/dist/ripple/p-ce52357e.js +0 -2
- package/dist/ripple/p-ce52357e.js.map +0 -1
- package/dist/ripple/p-d0f5773a.entry.js +0 -2
- package/dist/ripple/p-d0f5773a.entry.js.map +0 -1
- package/dist/ripple/p-d5b0809e.entry.js.map +0 -1
- package/dist/ripple/p-d7b946ed.entry.js.map +0 -1
- package/dist/ripple/p-d7c55ce1.entry.js.map +0 -1
- package/dist/ripple/p-d7ffac2f.entry.js.map +0 -1
- package/dist/ripple/p-dbf657c5.js +0 -2
- package/dist/ripple/p-dbf657c5.js.map +0 -1
- package/dist/ripple/p-e1b812ed.entry.js +0 -2
- package/dist/ripple/p-e1b812ed.entry.js.map +0 -1
- package/dist/ripple/p-e5f84104.system.entry.js.map +0 -1
- package/dist/ripple/p-e6e7cb2d.entry.js.map +0 -1
- package/dist/ripple/p-e99a7f36.entry.js.map +0 -1
- package/dist/ripple/p-ed14d37c.system.entry.js +0 -2
- package/dist/ripple/p-ed14d37c.system.entry.js.map +0 -1
- package/dist/ripple/p-ee97c3f6.entry.js.map +0 -1
- package/dist/ripple/p-f3130941.entry.js +0 -2
- package/dist/ripple/p-f3130941.entry.js.map +0 -1
- package/dist/ripple/p-f36b1c58.system.entry.js.map +0 -1
- package/dist/ripple/p-f4a622a9.system.entry.js +0 -2
- package/dist/ripple/p-f4a622a9.system.entry.js.map +0 -1
- package/dist/ripple/p-f5df5903.system.js.map +0 -1
- package/dist/ripple/p-fd8070fb.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"functions.js","sourceRoot":"","sources":["../../../src/global/functions.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as lang from \"../lang/lang\";\r\nimport { createIntl, createIntlCache } from \"@formatjs/intl\";\r\nimport { TooltipPlacement } from \"./interfaces\";\r\n\r\nconst DEFAULT_LANGUAGE = \"en\";\r\nfunction getBrowserLang(): string {\r\n const langAttr = document.documentElement.getAttribute(\"lang\");\r\n if (!!langAttr) {\r\n return langAttr;\r\n } else if (window.navigator && window.navigator.language) {\r\n const lang = window.navigator.languages ? window.navigator.languages[0] : window.navigator.language;\r\n return lang.slice(0, 2);\r\n } else {\r\n return DEFAULT_LANGUAGE;\r\n }\r\n}\r\n\r\n// prevents memory leak\r\nconst cache = createIntlCache();\r\nconst locale = getBrowserLang();\r\nexport const intl = createIntl(\r\n {\r\n locale: locale,\r\n defaultLocale: \"en\",\r\n messages: (lang as any)[locale] || lang.en,\r\n },\r\n cache\r\n);\r\n\r\nexport function generateId(): string {\r\n return \"wmcl-\" + Math.random().toString(36).substr(2, 10);\r\n}\r\n\r\n// limits how many times a function fires\r\n// use when the function should run periodically, but not too often (e.g. window resize)\r\nexport function throttle(fn: any, wait: number) {\r\n let timeout: any;\r\n let shouldWait = false;\r\n\r\n return function (this: any) {\r\n const context = this;\r\n if (!shouldWait) {\r\n fn.apply(context, arguments);\r\n shouldWait = true;\r\n clearTimeout(timeout);\r\n timeout = setTimeout(function () {\r\n shouldWait = false;\r\n }, wait);\r\n }\r\n };\r\n}\r\n\r\n// waits until it hasn't been called for [timeout] ms.\r\n// use when the function should run only after something (event) is done firing\r\nexport function debounce(fn: any, wait: number) {\r\n let timeout: any;\r\n\r\n return function (this: any) {\r\n const context = this;\r\n const functionCall = () => fn.apply(context, arguments);\r\n\r\n clearTimeout(timeout);\r\n timeout = setTimeout(functionCall, wait);\r\n };\r\n}\r\n\r\nexport function getTextDir() {\r\n const dir = document.querySelector(\"html\")!.getAttribute(\"dir\");\r\n return dir ? dir.toLowerCase() : \"\";\r\n}\r\n\r\nexport function getPosition(el: HTMLElement) {\r\n const coords = el.getBoundingClientRect() as DOMRect;\r\n let x = coords.x;\r\n let y = coords.y;\r\n // Edge doesn't have x and y\r\n if (!x) {\r\n if (getTextDir() === \"rtl\") {\r\n x = coords.right;\r\n } else {\r\n x = coords.left;\r\n }\r\n y = coords.top;\r\n }\r\n return { x, y };\r\n}\r\n\r\nexport function findParentWithScrollbar(el: HTMLElement) {\r\n while (!!el) {\r\n if (el.scrollHeight > el.clientHeight && [\"scroll\", \"auto\"].includes(window.getComputedStyle(el).overflowY!)) {\r\n return el;\r\n }\r\n el = el.parentElement as HTMLElement;\r\n }\r\n}\r\n\r\nexport function findParentWithHiddenOverflow(el: HTMLElement) {\r\n while (!!el) {\r\n if (window.getComputedStyle(el).overflowY! !== \"visible\") {\r\n return el;\r\n }\r\n el = el.parentElement as HTMLElement;\r\n }\r\n}\r\n\r\nexport function getClosableElementMeasurements(fixedEl: HTMLElement, closableEl: HTMLElement) {\r\n const parent = findParentWithHiddenOverflow(fixedEl);\r\n // if parent is not found, measurements are checked against the viewport\r\n return {\r\n closableElHeight: closableEl.clientHeight,\r\n closableElWidth: closableEl.clientWidth,\r\n // NB boundingClientRect.bottom is space from top of viewport to bottom of el\r\n // to get space below the el -> height of viewport minus boundingClientRect.bottom\r\n spaceAbove: parent\r\n ? fixedEl.getBoundingClientRect().top - parent.getBoundingClientRect().top\r\n : fixedEl.getBoundingClientRect().top,\r\n // NB boundingClientRect.bottom is space from top of viewport to bottom of el\r\n // to get space below the el -> height of viewport minus boundingClientRect.bottom\r\n spaceBelow: parent\r\n ? parent.getBoundingClientRect().bottom - fixedEl.getBoundingClientRect().bottom\r\n : document.documentElement.clientHeight - fixedEl.getBoundingClientRect().bottom,\r\n spaceLeft: parent\r\n ? fixedEl.getBoundingClientRect().left - parent.getBoundingClientRect().left\r\n : fixedEl.getBoundingClientRect().left,\r\n spaceRight: parent\r\n ? parent.getBoundingClientRect().right - fixedEl.getBoundingClientRect().right\r\n : document.documentElement.clientWidth - fixedEl.getBoundingClientRect().right,\r\n };\r\n}\r\n\r\nexport function shouldOpenUp(\r\n fixedEl: HTMLElement, //the element visible on the page when the component is closed\r\n closableEl: HTMLElement, //the dropdown/popup/etc that becomes visible when the component is open\r\n offsetAbove: number = 0, // if closableEl covers a part of fixedEl, that part should be offset\r\n offsetBelow: number = 0 // if closableEl covers a part of fixedEl, that part should be offset\r\n) {\r\n const { closableElHeight, spaceAbove, spaceBelow } = getClosableElementMeasurements(fixedEl, closableEl);\r\n //we want to open up only if there's not enough space below AND there is enough space above\r\n const openUp = closableElHeight > spaceBelow + offsetBelow && closableElHeight <= spaceAbove + offsetAbove;\r\n return openUp;\r\n}\r\n\r\nexport function shouldOpenDown(\r\n fixedEl: HTMLElement, //the element visible on the page when the component is closed\r\n closableEl: HTMLElement, //the dropdown/popup/etc that becomes visible when the component is open\r\n offsetAbove: number = 0, // if closableEl covers a part of fixedEl, that part should be offset\r\n offsetBelow: number = 0 // if closableEl covers a part of fixedEl, that part should be offset\r\n) {\r\n const { closableElHeight, spaceAbove, spaceBelow } = getClosableElementMeasurements(fixedEl, closableEl);\r\n //we want to open up only if there's not enough space below AND there is enough space above\r\n const openDown = closableElHeight > spaceAbove + offsetAbove && closableElHeight <= spaceBelow + offsetBelow;\r\n return openDown;\r\n}\r\n\r\nexport function shouldShiftRight(fixedEl: HTMLElement, closableEl: HTMLElement) {\r\n const { closableElWidth, spaceLeft, spaceRight } = getClosableElementMeasurements(fixedEl, closableEl);\r\n const needsSpaceLeft = closableElWidth > spaceLeft && spaceRight > spaceLeft;\r\n return needsSpaceLeft;\r\n}\r\n\r\nexport function shouldShiftLeft(fixedEl: HTMLElement, closableEl: HTMLElement) {\r\n const { closableElWidth, spaceLeft, spaceRight } = getClosableElementMeasurements(fixedEl, closableEl);\r\n const needsSpaceRight = closableElWidth > spaceRight && spaceLeft > spaceRight;\r\n return needsSpaceRight;\r\n}\r\n\r\nexport function adjustTooltipPlacement(tPos: TooltipPlacement, el: HTMLElement, tooltipEl: HTMLElement) {\r\n const { spaceLeft, spaceRight, spaceBelow, spaceAbove } = getClosableElementMeasurements(el, tooltipEl);\r\n const tooltipWidth = tooltipEl.getBoundingClientRect().width;\r\n const tooltipHeight = tooltipEl.getBoundingClientRect().height;\r\n const enoughSpaceAbove = spaceAbove > tooltipHeight;\r\n const enoughSpaceBelow = spaceBelow > tooltipHeight;\r\n // a tooltip should never be closer than 24px to the edge of a screen\r\n const enoughSpaceLeft = spaceLeft - 24 > tooltipWidth;\r\n const enoughSpaceRight = spaceRight - 24 > tooltipWidth;\r\n\r\n const swapAbove = (position: string) => {\r\n return !enoughSpaceAbove ? position.replace(\"top\", \"bottom\") : position;\r\n };\r\n const swapBelow = (position: string) => {\r\n return !enoughSpaceBelow && enoughSpaceAbove ? position.replace(\"bottom\", \"top\") : position;\r\n };\r\n const swapLeft = (position: string, centeredPosition: string) => {\r\n if (!enoughSpaceLeft && enoughSpaceRight) {\r\n position = position.replace(\"left\", \"right\");\r\n } else if (!enoughSpaceLeft && !enoughSpaceRight) {\r\n position = centeredPosition;\r\n }\r\n return position;\r\n };\r\n const swapRight = (position: string, centeredPosition: string) => {\r\n if (!enoughSpaceRight && enoughSpaceLeft) {\r\n position = position.replace(\"right\", \"left\");\r\n } else if (!enoughSpaceRight && !enoughSpaceLeft) {\r\n position = centeredPosition;\r\n }\r\n return position;\r\n };\r\n\r\n // horizontal checks must occur before vertical checks, because horizontal can affect vertical positioning but not vice versa\r\n switch (tPos) {\r\n case \"left\":\r\n tPos = swapLeft(tPos, \"bottom\") as TooltipPlacement;\r\n case \"right\":\r\n tPos = swapRight(tPos, \"bottom\") as TooltipPlacement;\r\n case \"top-left\":\r\n tPos = swapLeft(tPos, \"top\") as TooltipPlacement;\r\n tPos = swapAbove(tPos) as TooltipPlacement;\r\n case \"top-right\":\r\n tPos = swapRight(tPos, \"top\") as TooltipPlacement;\r\n tPos = swapAbove(tPos) as TooltipPlacement;\r\n case \"bottom-left\":\r\n tPos = swapLeft(tPos, \"bottom\") as TooltipPlacement;\r\n tPos = swapBelow(tPos) as TooltipPlacement;\r\n case \"bottom-right\":\r\n tPos = swapRight(tPos, \"bottom\") as TooltipPlacement;\r\n tPos = swapBelow(tPos) as TooltipPlacement;\r\n case \"top\":\r\n tPos = swapAbove(tPos) as TooltipPlacement;\r\n case \"bottom\":\r\n tPos = swapBelow(tPos) as TooltipPlacement;\r\n }\r\n return tPos;\r\n}\r\n\r\nexport function showTooltip(position: string, anchorEl: HTMLElement, tooltipText: string) {\r\n const tooltipEl = document.getElementById(\"wm-tooltip\")!;\r\n tooltipEl.textContent = tooltipText;\r\n\r\n // tooltip only has a maxWidth if it contains whitespace and can break\r\n const hasNoWhitespace = tooltipText!.match(/^[^\\s]+$/);\r\n if (hasNoWhitespace) {\r\n tooltipEl.classList.add(\"single-word\");\r\n tooltipEl.style.setProperty(\"--wmTooltipMaxWidth\", \"none\");\r\n } else {\r\n tooltipEl.classList.remove(\"single-word\");\r\n tooltipEl.style.removeProperty(\"--wmTooltipMaxWidth\");\r\n }\r\n positionTooltip(position, anchorEl, tooltipEl);\r\n\r\n tooltipEl.style.transitionDelay = \"500ms\";\r\n tooltipEl.style.opacity = \"1\";\r\n}\r\n\r\nexport function hideTooltip() {\r\n const tooltipEl = document.getElementById(\"wm-tooltip\")!;\r\n tooltipEl.style.transitionDelay = \"0s\";\r\n tooltipEl.style.opacity = \"0\";\r\n}\r\n\r\nexport function positionTooltip(tPos: string, anchorEl: HTMLElement, tooltipEl: HTMLElement) {\r\n const tooltipHeight = tooltipEl.getBoundingClientRect().height;\r\n const tooltipWidth = tooltipEl.getBoundingClientRect().width;\r\n // to get the center positions, calculate the difference between the button width and the tooltip width\r\n const verticalDiff = (anchorEl.getBoundingClientRect().height - tooltipHeight) / 2;\r\n const horizontalDiff = (anchorEl.getBoundingClientRect().width - tooltipWidth) / 2;\r\n\r\n // the naming convention defaults to center in the absence of a value\r\n // \"top\" and \"bottom\" imply centering horizontally; \"right\" and \"left\" imply centering vertically\r\n // therefore we first set to center and adjust accordingly\r\n let verticalPos = anchorEl.getBoundingClientRect().top + verticalDiff;\r\n let horizontalPos = anchorEl.getBoundingClientRect().left + horizontalDiff;\r\n\r\n if (tPos.includes(\"top\")) {\r\n verticalPos = anchorEl.getBoundingClientRect().top - tooltipHeight - 8;\r\n }\r\n if (tPos.includes(\"bottom\")) {\r\n verticalPos = anchorEl.getBoundingClientRect().bottom + 8;\r\n }\r\n if (tPos.includes(\"left\")) {\r\n horizontalPos = anchorEl.getBoundingClientRect().left - tooltipWidth - 8;\r\n }\r\n if (tPos.includes(\"right\")) {\r\n horizontalPos = anchorEl.getBoundingClientRect().right + 8;\r\n }\r\n\r\n // after all positioning has been calculated, if tooltip is off-screen or closer than 24px it is readjusted\r\n // this only occurs when the tooltip is overflowing to the left and is positioned top or bottom\r\n // (button placed too far left, or screen size under 268px)\r\n horizontalPos = Math.max(horizontalPos, 24);\r\n tooltipEl.style.setProperty(\"--wmTooltipTop\", verticalPos + \"px\");\r\n tooltipEl.style.setProperty(\"--wmTooltipLeft\", horizontalPos + \"px\");\r\n}\r\n\r\nexport function hasRoomRight(x: any, spaceNeeded: number) {\r\n let horizOffset = 0;\r\n // if (getTextDir() === \"ltr\") {\r\n if (x.type === \"click\") {\r\n // if it's a mouse event, deal with mouse coords\r\n horizOffset = x.clientX;\r\n // if it's a focus event, the offset is 0\r\n } else if (x.type === \"focus\") {\r\n horizOffset = 0;\r\n } else {\r\n // otherwise an element was passed, calculate how far it is from the edge of the window\r\n let el = x as HTMLElement; // re-assignment is for clarity\r\n while (el) {\r\n if (el.tagName == \"BODY\") {\r\n // deal with browser quirks with body/window/document and page scroll\r\n var xScroll = el.scrollLeft || document.documentElement.scrollLeft;\r\n horizOffset += el.offsetLeft - xScroll + el.clientLeft;\r\n } else {\r\n // for all other non-BODY elements\r\n horizOffset += el.offsetLeft - el.scrollLeft + el.clientLeft;\r\n }\r\n el = el.offsetParent as HTMLElement;\r\n }\r\n // }\r\n }\r\n return window.innerWidth - horizOffset >= spaceNeeded;\r\n}\r\n\r\nexport function checkForActiveElInShadow(element: HTMLElement) {\r\n while (element && element.shadowRoot) {\r\n element = element.shadowRoot.activeElement as HTMLElement;\r\n }\r\n return element;\r\n}\r\n\r\nexport function checkForFocusableElInShadow(element: HTMLElement) {\r\n const selectors = [\r\n \"button\",\r\n \"a\",\r\n \"input\",\r\n \"select\",\r\n \"textarea\",\r\n \"wm-button\",\r\n \"wm-search\",\r\n \"wm-select\",\r\n \"wm-action-menu\",\r\n \"wm-tab-item\",\r\n \"wm-datepicker\",\r\n ];\r\n let focusableEl = element;\r\n selectors.forEach((selector) => {\r\n if (focusableEl && focusableEl.shadowRoot) {\r\n let elInShadow = focusableEl.shadowRoot!.querySelector(selector);\r\n if (elInShadow) {\r\n if (selector.startsWith(\"wm-\")) {\r\n focusableEl = checkForFocusableElInShadow(elInShadow as HTMLElement);\r\n } else {\r\n focusableEl = elInShadow as HTMLElement;\r\n }\r\n }\r\n }\r\n });\r\n return focusableEl;\r\n}\r\n\r\nexport function isFocusable(element: any) {\r\n if (element.tabIndex > 0 || (element.tabIndex === 0 && element.getAttribute(\"tabIndex\") !== null)) {\r\n return true;\r\n }\r\n\r\n if (element.disabled) {\r\n return false;\r\n }\r\n switch (element.nodeName) {\r\n case \"A\":\r\n return !!element.href && element.rel != \"ignore\";\r\n case \"INPUT\":\r\n return element.type != \"hidden\" && element.type != \"file\";\r\n case \"BUTTON\":\r\n case \"SELECT\":\r\n case \"TEXTAREA\":\r\n case \"WM-BUTTON\":\r\n case \"WM-SELECT\":\r\n case \"WM-ACTION-MENU\":\r\n case \"WM-DATEPICKER\":\r\n case \"WM-TIMEPICKER\":\r\n case \"WM-INPUT\":\r\n case \"WM-TAG-INPUT\":\r\n case \"WM-TAB-ITEM\":\r\n case \"WM-SEARCH\":\r\n return true;\r\n default:\r\n return false;\r\n }\r\n}\r\n\r\nexport function getFirstFocusableDescendant(element: HTMLElement) {\r\n if (isFocusable(element)) {\r\n return checkForFocusableElInShadow(element);\r\n } else if (element.childNodes.length > 0) {\r\n element.childNodes.forEach((i) => {\r\n const childEl = getFirstFocusableDescendant(i as HTMLElement);\r\n return childEl && checkForFocusableElInShadow(childEl);\r\n });\r\n }\r\n}\r\n\r\nexport function hasValidType(file: File, types: string) {\r\n const acceptedExtensions = types.split(\" \");\r\n const parts = file.name && file.name.split(\".\");\r\n const ext = parts && parts.length > 1 && parts[parts.length - 1];\r\n return ext\r\n ? acceptedExtensions.includes(ext.toLowerCase())\r\n : // fallback: if we couldn't obtain an extension,\r\n // validate based on MIME type...\r\n !!file.type\r\n ? getAcceptedMimeTypesList(acceptedExtensions).includes(file.type)\r\n : // ...and if that failed too, accept the file\r\n // as it's preferable to accept an invalid file\r\n // than refusing a valid one (back-end will take care of what slips through)\r\n true;\r\n}\r\n\r\n// takes a string (space separated list of extensions), returns an array of strings (corresponding MIME types)\r\nexport function getAcceptedMimeTypesList(acceptedExtensions: string[]) {\r\n // this is just a list of common file types (regardless of whether they are/can be valid or not)\r\n // front end checks are just a convenience to users, independent of security.\r\n // it allows users to be notified of an invalid type as soon as they select the file, rather than when it gets uploaded\r\n const lookupTable: { [ext: string]: string | string[] } = {\r\n aac: [\"audio/aac\"],\r\n abw: [\"application/x-abiword\"],\r\n arc: [\"application/x-freearc\"],\r\n avi: [\"video/x-msvideo\"],\r\n azw: [\"application/vnd.amazon.ebook\"],\r\n bin: [\"application/octet-stream\"],\r\n bmp: [\"image/bmp\"],\r\n bz: [\"application/x-bzip\"],\r\n bz2: [\"application/x-bzip2\"],\r\n csh: [\"application/x-csh\"],\r\n css: [\"text/css\"],\r\n csv: [\"text/csv\"],\r\n doc: [\"application/msword\"],\r\n docx: [\"application/vnd.openxmlformats-officedocument.wordprocessingml.document\"],\r\n eot: [\"application/vnd.ms-fontobject\"],\r\n epub: [\"application/epub+zip\"],\r\n gz: [\"application/gzip\"],\r\n gif: [\"image/gif\"],\r\n htm: [\"text/html\"],\r\n html: [\"text/html\"],\r\n ico: [\"image/vnd.microsoft.icon\"],\r\n ics: [\"text/calendar\"],\r\n jar: [\"application/java-archive\"],\r\n jpeg: [\"image/jpeg\"],\r\n jpg: [\"image/jpeg\"],\r\n js: [\"text/javascript\"],\r\n json: [\"application/json\"],\r\n jsonld: [\"application/ld+json\"],\r\n log: [\"text/plain\"],\r\n mid: [\"audio/x-midi\"],\r\n midi: [\"audio/x-midi\"],\r\n mjs: [\"text/javascript\"],\r\n mp3: [\"audio/mpeg\"],\r\n mpeg: [\"video/mpeg\"],\r\n mpkg: [\"application/vnd.apple.installer+xml\"],\r\n odp: [\"application/vnd.oasis.opendocument.presentation\"],\r\n ods: [\"application/vnd.oasis.opendocument.spreadsheet\"],\r\n odt: [\"application/vnd.oasis.opendocument.text\"],\r\n oga: [\"audio/ogg\"],\r\n ogv: [\"video/ogg\"],\r\n ogx: [\"application/ogg\"],\r\n opus: [\"audio/opus\"],\r\n otf: [\"font/otf\"],\r\n png: [\"image/png\"],\r\n pdf: [\"application/pdf\"],\r\n php: [\"application/php\"],\r\n ppt: [\"application/vnd.ms-powerpoint\"],\r\n pptx: [\"application/vnd.openxmlformats-officedocument.presentationml.presentation\"],\r\n rar: [\"application/vnd.rar\", \"application/x-rar\", \"application/x-rar-compressed\"],\r\n rtf: [\"application/rtf\"],\r\n sh: [\"application/x-sh\"],\r\n svg: [\"image/svg+xml\"],\r\n swf: [\"application/x-shockwave-flash\"],\r\n tar: [\"application/x-tar\"],\r\n tif: [\"image/tiff\"],\r\n tiff: [\"image/tiff\"],\r\n ts: [\"video/mp2t\"],\r\n ttf: [\"font/ttf\"],\r\n txt: [\"text/plain\"],\r\n vsd: [\"application/vnd.visio\"],\r\n wav: [\"audio/wav\"],\r\n weba: [\"audio/webm\"],\r\n webm: [\"video/webm\"],\r\n webp: [\"image/webp\"],\r\n woff: [\"font/woff\"],\r\n woff2: [\"font/woff2\"],\r\n xhtml: [\"application/xhtml+xml\"],\r\n xls: [\"application/vnd.ms-excel\"],\r\n xlsx: [\"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\"],\r\n xml: [\"application/xml\", \"text/xml\"],\r\n xul: [\"application/vnd.mozilla.xul+xml\"],\r\n zip: [\"application/zip\", \"application/x-zip-compressed\", \"multipart/x-zip\"],\r\n \"3gp\": [\"video/3gpp\", \"audio/3gpp\"],\r\n \"3g2\": [\"video/3gpp2\", \"audio/3gpp2\"],\r\n \"7z\": [\"application/x-7z-compressed\"],\r\n };\r\n\r\n return acceptedExtensions.reduce((acc: any, ext: string) => acc.concat(lookupTable[ext]), []);\r\n}\r\n\r\nexport function snakeCaseToCamelCase(str: string) {\r\n const snakeCaseRegexp = /^([a-z0-9]*)(_[a-z0-9]*)*$/g;\r\n if (snakeCaseRegexp.test(str)) {\r\n let camelCase = \"\";\r\n let arr = str.split(\"_\");\r\n arr.forEach((word, idx) => {\r\n camelCase += idx === 0 ? word.toLowerCase() : word.charAt(0).toUpperCase() + word.slice(1);\r\n });\r\n return camelCase;\r\n } else {\r\n return str;\r\n }\r\n}\r\n\r\nexport function csvToArray(csv: string): string[] {\r\n return csv ? csv.split(/, ?/) : [];\r\n}\r\n\r\nexport function getNewIndexToFocus(currentIndex: number, direction: string, listLength: number) {\r\n let newIndex = currentIndex;\r\n if (direction === \"ArrowDown\") {\r\n newIndex = (currentIndex + 1) % listLength;\r\n }\r\n if (direction === \"ArrowUp\") {\r\n newIndex = currentIndex === 0 ? listLength - 1 : currentIndex - 1;\r\n }\r\n\r\n return newIndex;\r\n}\r\n\r\nexport function isRelatedTarget(ev: FocusEvent, id: string) {\r\n // used for onBlur events to check the element that has been clicked\r\n const ids = id.split(\" \");\r\n return ev.relatedTarget && ids.includes((ev.relatedTarget as HTMLElement).id);\r\n}\r\n\r\nexport function toBool(val: any) {\r\n // string \"false\" needs to be treated as bool False because react wrappers convert bool to string.\r\n return val == \"false\" ? false : !!val;\r\n}\r\n\r\nexport function measureText(originEl: HTMLElement, placeholderText: string): DOMRect {\r\n const measurementEl = document.createElement(\"div\");\r\n const originStyles = getComputedStyle(originEl);\r\n measurementEl.style.position = \"absolute\";\r\n measurementEl.style.top = \"-100vh\";\r\n measurementEl.style.fontFamily = originStyles.fontFamily;\r\n measurementEl.style.fontWeight = originStyles.fontWeight;\r\n measurementEl.style.fontSize = originStyles.fontSize;\r\n measurementEl.textContent = placeholderText;\r\n\r\n document.body.appendChild(measurementEl);\r\n const boundingClientRect = measurementEl.getBoundingClientRect();\r\n document.body.removeChild(measurementEl);\r\n\r\n return boundingClientRect;\r\n}\r\n\r\nexport function safeParseJSON(toParse: string): JSON | null {\r\n // JSON.parse will throw an exception if the string provided is not in the proper format\r\n // instead of the exception, just return null and let other logic check\r\n try {\r\n return JSON.parse(toParse);\r\n } catch (e) {\r\n return null;\r\n }\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"functions.js","sourceRoot":"","sources":["../../../src/global/functions.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as lang from \"../lang/lang\";\nimport { createIntl, createIntlCache } from \"@formatjs/intl\";\nimport { TooltipPlacement } from \"./interfaces\";\n\nconst DEFAULT_LANGUAGE = \"en\";\nfunction getBrowserLang(): string {\n const langAttr = document.documentElement.getAttribute(\"lang\");\n if (!!langAttr) {\n return langAttr;\n } else if (window.navigator && window.navigator.language) {\n const lang = window.navigator.languages ? window.navigator.languages[0] : window.navigator.language;\n return lang.slice(0, 2);\n } else {\n return DEFAULT_LANGUAGE;\n }\n}\n\n// prevents memory leak\nconst cache = createIntlCache();\nconst locale = getBrowserLang();\nexport const intl = createIntl(\n {\n locale: locale,\n defaultLocale: \"en\",\n messages: (lang as any)[locale] || lang.en,\n },\n cache\n);\n\nexport function generateId(): string {\n return \"wmcl-\" + Math.random().toString(36).substr(2, 10);\n}\n\n// limits how many times a function fires\n// use when the function should run periodically, but not too often (e.g. window resize)\nexport function throttle(fn: any, wait: number) {\n let timeout: any;\n let shouldWait = false;\n\n return function (this: any) {\n const context = this;\n if (!shouldWait) {\n fn.apply(context, arguments);\n shouldWait = true;\n clearTimeout(timeout);\n timeout = setTimeout(function () {\n shouldWait = false;\n }, wait);\n }\n };\n}\n\n// waits until it hasn't been called for [timeout] ms.\n// use when the function should run only after something (event) is done firing\nexport function debounce(fn: any, wait: number) {\n let timeout: any;\n\n return function (this: any) {\n const context = this;\n const functionCall = () => fn.apply(context, arguments);\n\n clearTimeout(timeout);\n timeout = setTimeout(functionCall, wait);\n };\n}\n\nexport function getTextDir() {\n const dir = document.querySelector(\"html\")!.getAttribute(\"dir\");\n return dir ? dir.toLowerCase() : \"\";\n}\n\nexport function getPosition(el: HTMLElement) {\n const coords = el.getBoundingClientRect() as DOMRect;\n let x = coords.x;\n let y = coords.y;\n // Edge doesn't have x and y\n if (!x) {\n if (getTextDir() === \"rtl\") {\n x = coords.right;\n } else {\n x = coords.left;\n }\n y = coords.top;\n }\n return { x, y };\n}\n\nexport function findParentWithScrollbar(el: HTMLElement) {\n while (!!el) {\n if (el.scrollHeight > el.clientHeight && [\"scroll\", \"auto\"].includes(window.getComputedStyle(el).overflowY!)) {\n return el;\n }\n el = el.parentElement as HTMLElement;\n }\n}\n\nexport function findParentWithHiddenOverflow(el: HTMLElement) {\n while (!!el) {\n if (window.getComputedStyle(el).overflowY! !== \"visible\") {\n return el;\n }\n el = el.parentElement as HTMLElement;\n }\n}\n\nexport function getClosableElementMeasurements(fixedEl: HTMLElement, closableEl: HTMLElement) {\n const parent = findParentWithHiddenOverflow(fixedEl);\n // if parent is not found, measurements are checked against the viewport\n return {\n closableElHeight: closableEl.clientHeight,\n closableElWidth: closableEl.clientWidth,\n // NB boundingClientRect.bottom is space from top of viewport to bottom of el\n // to get space below the el -> height of viewport minus boundingClientRect.bottom\n spaceAbove: parent\n ? fixedEl.getBoundingClientRect().top - parent.getBoundingClientRect().top\n : fixedEl.getBoundingClientRect().top,\n // NB boundingClientRect.bottom is space from top of viewport to bottom of el\n // to get space below the el -> height of viewport minus boundingClientRect.bottom\n spaceBelow: parent\n ? parent.getBoundingClientRect().bottom - fixedEl.getBoundingClientRect().bottom\n : document.documentElement.clientHeight - fixedEl.getBoundingClientRect().bottom,\n spaceLeft: parent\n ? fixedEl.getBoundingClientRect().left - parent.getBoundingClientRect().left\n : fixedEl.getBoundingClientRect().left,\n spaceRight: parent\n ? parent.getBoundingClientRect().right - fixedEl.getBoundingClientRect().right\n : document.documentElement.clientWidth - fixedEl.getBoundingClientRect().right,\n };\n}\n\nexport function shouldOpenUp(\n fixedEl: HTMLElement, //the element visible on the page when the component is closed\n closableEl: HTMLElement, //the dropdown/popup/etc that becomes visible when the component is open\n offsetAbove: number = 0, // if closableEl covers a part of fixedEl, that part should be offset\n offsetBelow: number = 0 // if closableEl covers a part of fixedEl, that part should be offset\n) {\n const { closableElHeight, spaceAbove, spaceBelow } = getClosableElementMeasurements(fixedEl, closableEl);\n //we want to open up only if there's not enough space below AND there is enough space above\n const openUp = closableElHeight > spaceBelow + offsetBelow && closableElHeight <= spaceAbove + offsetAbove;\n return openUp;\n}\n\nexport function shouldOpenDown(\n fixedEl: HTMLElement, //the element visible on the page when the component is closed\n closableEl: HTMLElement, //the dropdown/popup/etc that becomes visible when the component is open\n offsetAbove: number = 0, // if closableEl covers a part of fixedEl, that part should be offset\n offsetBelow: number = 0 // if closableEl covers a part of fixedEl, that part should be offset\n) {\n const { closableElHeight, spaceAbove, spaceBelow } = getClosableElementMeasurements(fixedEl, closableEl);\n //we want to open up only if there's not enough space below AND there is enough space above\n const openDown = closableElHeight > spaceAbove + offsetAbove && closableElHeight <= spaceBelow + offsetBelow;\n return openDown;\n}\n\nexport function shouldShiftRight(fixedEl: HTMLElement, closableEl: HTMLElement) {\n const { closableElWidth, spaceLeft, spaceRight } = getClosableElementMeasurements(fixedEl, closableEl);\n const needsSpaceLeft = closableElWidth > spaceLeft && spaceRight > spaceLeft;\n return needsSpaceLeft;\n}\n\nexport function shouldShiftLeft(fixedEl: HTMLElement, closableEl: HTMLElement) {\n const { closableElWidth, spaceLeft, spaceRight } = getClosableElementMeasurements(fixedEl, closableEl);\n const needsSpaceRight = closableElWidth > spaceRight && spaceLeft > spaceRight;\n return needsSpaceRight;\n}\n\nexport function adjustTooltipPlacement(tPos: TooltipPlacement, el: HTMLElement, tooltipEl: HTMLElement) {\n const { spaceLeft, spaceRight, spaceBelow, spaceAbove } = getClosableElementMeasurements(el, tooltipEl);\n const tooltipWidth = tooltipEl.getBoundingClientRect().width;\n const tooltipHeight = tooltipEl.getBoundingClientRect().height;\n const enoughSpaceAbove = spaceAbove > tooltipHeight;\n const enoughSpaceBelow = spaceBelow > tooltipHeight;\n // a tooltip should never be closer than 24px to the edge of a screen\n const enoughSpaceLeft = spaceLeft - 24 > tooltipWidth;\n const enoughSpaceRight = spaceRight - 24 > tooltipWidth;\n\n const swapAbove = (position: string) => {\n return !enoughSpaceAbove ? position.replace(\"top\", \"bottom\") : position;\n };\n const swapBelow = (position: string) => {\n return !enoughSpaceBelow && enoughSpaceAbove ? position.replace(\"bottom\", \"top\") : position;\n };\n const swapLeft = (position: string, centeredPosition: string) => {\n if (!enoughSpaceLeft && enoughSpaceRight) {\n position = position.replace(\"left\", \"right\");\n } else if (!enoughSpaceLeft && !enoughSpaceRight) {\n position = centeredPosition;\n }\n return position;\n };\n const swapRight = (position: string, centeredPosition: string) => {\n if (!enoughSpaceRight && enoughSpaceLeft) {\n position = position.replace(\"right\", \"left\");\n } else if (!enoughSpaceRight && !enoughSpaceLeft) {\n position = centeredPosition;\n }\n return position;\n };\n\n // horizontal checks must occur before vertical checks, because horizontal can affect vertical positioning but not vice versa\n switch (tPos) {\n case \"left\":\n tPos = swapLeft(tPos, \"bottom\") as TooltipPlacement;\n case \"right\":\n tPos = swapRight(tPos, \"bottom\") as TooltipPlacement;\n case \"top-left\":\n tPos = swapLeft(tPos, \"top\") as TooltipPlacement;\n tPos = swapAbove(tPos) as TooltipPlacement;\n case \"top-right\":\n tPos = swapRight(tPos, \"top\") as TooltipPlacement;\n tPos = swapAbove(tPos) as TooltipPlacement;\n case \"bottom-left\":\n tPos = swapLeft(tPos, \"bottom\") as TooltipPlacement;\n tPos = swapBelow(tPos) as TooltipPlacement;\n case \"bottom-right\":\n tPos = swapRight(tPos, \"bottom\") as TooltipPlacement;\n tPos = swapBelow(tPos) as TooltipPlacement;\n case \"top\":\n tPos = swapAbove(tPos) as TooltipPlacement;\n case \"bottom\":\n tPos = swapBelow(tPos) as TooltipPlacement;\n }\n return tPos;\n}\n\nexport function showTooltip(position: string, anchorEl: HTMLElement, tooltipText: string) {\n const tooltipEl = document.getElementById(\"wm-tooltip\")!;\n tooltipEl.textContent = tooltipText;\n\n // tooltip only has a maxWidth if it contains whitespace and can break\n const hasNoWhitespace = tooltipText!.match(/^[^\\s]+$/);\n if (hasNoWhitespace) {\n tooltipEl.classList.add(\"single-word\");\n tooltipEl.style.setProperty(\"--wmTooltipMaxWidth\", \"none\");\n } else {\n tooltipEl.classList.remove(\"single-word\");\n tooltipEl.style.removeProperty(\"--wmTooltipMaxWidth\");\n }\n positionTooltip(position, anchorEl, tooltipEl);\n\n tooltipEl.style.transitionDelay = \"500ms\";\n tooltipEl.style.opacity = \"1\";\n}\n\nexport function hideTooltip() {\n const tooltipEl = document.getElementById(\"wm-tooltip\")!;\n tooltipEl.style.transitionDelay = \"0s\";\n tooltipEl.style.opacity = \"0\";\n}\n\nexport function positionTooltip(tPos: string, anchorEl: HTMLElement, tooltipEl: HTMLElement) {\n const tooltipHeight = tooltipEl.getBoundingClientRect().height;\n const tooltipWidth = tooltipEl.getBoundingClientRect().width;\n // to get the center positions, calculate the difference between the button width and the tooltip width\n const verticalDiff = (anchorEl.getBoundingClientRect().height - tooltipHeight) / 2;\n const horizontalDiff = (anchorEl.getBoundingClientRect().width - tooltipWidth) / 2;\n\n // the naming convention defaults to center in the absence of a value\n // \"top\" and \"bottom\" imply centering horizontally; \"right\" and \"left\" imply centering vertically\n // therefore we first set to center and adjust accordingly\n let verticalPos = anchorEl.getBoundingClientRect().top + verticalDiff;\n let horizontalPos = anchorEl.getBoundingClientRect().left + horizontalDiff;\n\n if (tPos.includes(\"top\")) {\n verticalPos = anchorEl.getBoundingClientRect().top - tooltipHeight - 8;\n }\n if (tPos.includes(\"bottom\")) {\n verticalPos = anchorEl.getBoundingClientRect().bottom + 8;\n }\n if (tPos.includes(\"left\")) {\n horizontalPos = anchorEl.getBoundingClientRect().left - tooltipWidth - 8;\n }\n if (tPos.includes(\"right\")) {\n horizontalPos = anchorEl.getBoundingClientRect().right + 8;\n }\n\n // after all positioning has been calculated, if tooltip is off-screen or closer than 24px it is readjusted\n // this only occurs when the tooltip is overflowing to the left and is positioned top or bottom\n // (button placed too far left, or screen size under 268px)\n horizontalPos = Math.max(horizontalPos, 24);\n tooltipEl.style.setProperty(\"--wmTooltipTop\", verticalPos + \"px\");\n tooltipEl.style.setProperty(\"--wmTooltipLeft\", horizontalPos + \"px\");\n}\n\nexport function hasRoomRight(x: any, spaceNeeded: number) {\n let horizOffset = 0;\n // if (getTextDir() === \"ltr\") {\n if (x.type === \"click\") {\n // if it's a mouse event, deal with mouse coords\n horizOffset = x.clientX;\n // if it's a focus event, the offset is 0\n } else if (x.type === \"focus\") {\n horizOffset = 0;\n } else {\n // otherwise an element was passed, calculate how far it is from the edge of the window\n let el = x as HTMLElement; // re-assignment is for clarity\n while (el) {\n if (el.tagName == \"BODY\") {\n // deal with browser quirks with body/window/document and page scroll\n var xScroll = el.scrollLeft || document.documentElement.scrollLeft;\n horizOffset += el.offsetLeft - xScroll + el.clientLeft;\n } else {\n // for all other non-BODY elements\n horizOffset += el.offsetLeft - el.scrollLeft + el.clientLeft;\n }\n el = el.offsetParent as HTMLElement;\n }\n // }\n }\n return window.innerWidth - horizOffset >= spaceNeeded;\n}\n\nexport function checkForActiveElInShadow(element: HTMLElement) {\n while (element && element.shadowRoot) {\n element = element.shadowRoot.activeElement as HTMLElement;\n }\n return element;\n}\n\nexport function checkForFocusableElInShadow(element: HTMLElement) {\n const selectors = [\n \"button\",\n \"a\",\n \"input\",\n \"select\",\n \"textarea\",\n \"wm-button\",\n \"wm-search\",\n \"wm-select\",\n \"wm-action-menu\",\n \"wm-tab-item\",\n \"wm-datepicker\",\n ];\n let focusableEl = element;\n selectors.forEach((selector) => {\n if (focusableEl && focusableEl.shadowRoot) {\n let elInShadow = focusableEl.shadowRoot!.querySelector(selector);\n if (elInShadow) {\n if (selector.startsWith(\"wm-\")) {\n focusableEl = checkForFocusableElInShadow(elInShadow as HTMLElement);\n } else {\n focusableEl = elInShadow as HTMLElement;\n }\n }\n }\n });\n return focusableEl;\n}\n\nexport function isFocusable(element: any) {\n if (element.tabIndex > 0 || (element.tabIndex === 0 && element.getAttribute(\"tabIndex\") !== null)) {\n return true;\n }\n\n if (element.disabled) {\n return false;\n }\n switch (element.nodeName) {\n case \"A\":\n return !!element.href && element.rel != \"ignore\";\n case \"INPUT\":\n return element.type != \"hidden\" && element.type != \"file\";\n case \"BUTTON\":\n case \"SELECT\":\n case \"TEXTAREA\":\n case \"WM-BUTTON\":\n case \"WM-SELECT\":\n case \"WM-ACTION-MENU\":\n case \"WM-DATEPICKER\":\n case \"WM-TIMEPICKER\":\n case \"WM-INPUT\":\n case \"WM-TAG-INPUT\":\n case \"WM-TAB-ITEM\":\n case \"WM-SEARCH\":\n return true;\n default:\n return false;\n }\n}\n\nexport function getFirstFocusableDescendant(element: HTMLElement) {\n if (isFocusable(element)) {\n return checkForFocusableElInShadow(element);\n } else if (element.childNodes.length > 0) {\n element.childNodes.forEach((i) => {\n const childEl = getFirstFocusableDescendant(i as HTMLElement);\n return childEl && checkForFocusableElInShadow(childEl);\n });\n }\n}\n\nexport function hasValidType(file: File, types: string) {\n const acceptedExtensions = types.split(\" \");\n const parts = file.name && file.name.split(\".\");\n const ext = parts && parts.length > 1 && parts[parts.length - 1];\n return ext\n ? acceptedExtensions.includes(ext.toLowerCase())\n : // fallback: if we couldn't obtain an extension,\n // validate based on MIME type...\n !!file.type\n ? getAcceptedMimeTypesList(acceptedExtensions).includes(file.type)\n : // ...and if that failed too, accept the file\n // as it's preferable to accept an invalid file\n // than refusing a valid one (back-end will take care of what slips through)\n true;\n}\n\n// takes a string (space separated list of extensions), returns an array of strings (corresponding MIME types)\nexport function getAcceptedMimeTypesList(acceptedExtensions: string[]) {\n // this is just a list of common file types (regardless of whether they are/can be valid or not)\n // front end checks are just a convenience to users, independent of security.\n // it allows users to be notified of an invalid type as soon as they select the file, rather than when it gets uploaded\n const lookupTable: { [ext: string]: string | string[] } = {\n aac: [\"audio/aac\"],\n abw: [\"application/x-abiword\"],\n arc: [\"application/x-freearc\"],\n avi: [\"video/x-msvideo\"],\n azw: [\"application/vnd.amazon.ebook\"],\n bin: [\"application/octet-stream\"],\n bmp: [\"image/bmp\"],\n bz: [\"application/x-bzip\"],\n bz2: [\"application/x-bzip2\"],\n csh: [\"application/x-csh\"],\n css: [\"text/css\"],\n csv: [\"text/csv\"],\n doc: [\"application/msword\"],\n docx: [\"application/vnd.openxmlformats-officedocument.wordprocessingml.document\"],\n eot: [\"application/vnd.ms-fontobject\"],\n epub: [\"application/epub+zip\"],\n gz: [\"application/gzip\"],\n gif: [\"image/gif\"],\n htm: [\"text/html\"],\n html: [\"text/html\"],\n ico: [\"image/vnd.microsoft.icon\"],\n ics: [\"text/calendar\"],\n jar: [\"application/java-archive\"],\n jpeg: [\"image/jpeg\"],\n jpg: [\"image/jpeg\"],\n js: [\"text/javascript\"],\n json: [\"application/json\"],\n jsonld: [\"application/ld+json\"],\n log: [\"text/plain\"],\n mid: [\"audio/x-midi\"],\n midi: [\"audio/x-midi\"],\n mjs: [\"text/javascript\"],\n mp3: [\"audio/mpeg\"],\n mpeg: [\"video/mpeg\"],\n mpkg: [\"application/vnd.apple.installer+xml\"],\n odp: [\"application/vnd.oasis.opendocument.presentation\"],\n ods: [\"application/vnd.oasis.opendocument.spreadsheet\"],\n odt: [\"application/vnd.oasis.opendocument.text\"],\n oga: [\"audio/ogg\"],\n ogv: [\"video/ogg\"],\n ogx: [\"application/ogg\"],\n opus: [\"audio/opus\"],\n otf: [\"font/otf\"],\n png: [\"image/png\"],\n pdf: [\"application/pdf\"],\n php: [\"application/php\"],\n ppt: [\"application/vnd.ms-powerpoint\"],\n pptx: [\"application/vnd.openxmlformats-officedocument.presentationml.presentation\"],\n rar: [\"application/vnd.rar\", \"application/x-rar\", \"application/x-rar-compressed\"],\n rtf: [\"application/rtf\"],\n sh: [\"application/x-sh\"],\n svg: [\"image/svg+xml\"],\n swf: [\"application/x-shockwave-flash\"],\n tar: [\"application/x-tar\"],\n tif: [\"image/tiff\"],\n tiff: [\"image/tiff\"],\n ts: [\"video/mp2t\"],\n ttf: [\"font/ttf\"],\n txt: [\"text/plain\"],\n vsd: [\"application/vnd.visio\"],\n wav: [\"audio/wav\"],\n weba: [\"audio/webm\"],\n webm: [\"video/webm\"],\n webp: [\"image/webp\"],\n woff: [\"font/woff\"],\n woff2: [\"font/woff2\"],\n xhtml: [\"application/xhtml+xml\"],\n xls: [\"application/vnd.ms-excel\"],\n xlsx: [\"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\"],\n xml: [\"application/xml\", \"text/xml\"],\n xul: [\"application/vnd.mozilla.xul+xml\"],\n zip: [\"application/zip\", \"application/x-zip-compressed\", \"multipart/x-zip\"],\n \"3gp\": [\"video/3gpp\", \"audio/3gpp\"],\n \"3g2\": [\"video/3gpp2\", \"audio/3gpp2\"],\n \"7z\": [\"application/x-7z-compressed\"],\n };\n\n return acceptedExtensions.reduce((acc: any, ext: string) => acc.concat(lookupTable[ext]), []);\n}\n\nexport function snakeCaseToCamelCase(str: string) {\n const snakeCaseRegexp = /^([a-z0-9]*)(_[a-z0-9]*)*$/g;\n if (snakeCaseRegexp.test(str)) {\n let camelCase = \"\";\n let arr = str.split(\"_\");\n arr.forEach((word, idx) => {\n camelCase += idx === 0 ? word.toLowerCase() : word.charAt(0).toUpperCase() + word.slice(1);\n });\n return camelCase;\n } else {\n return str;\n }\n}\n\nexport function csvToArray(csv: string): string[] {\n return csv ? csv.split(/, ?/) : [];\n}\n\nexport function getNewIndexToFocus(currentIndex: number, direction: string, listLength: number) {\n let newIndex = currentIndex;\n if (direction === \"ArrowDown\") {\n newIndex = (currentIndex + 1) % listLength;\n }\n if (direction === \"ArrowUp\") {\n newIndex = currentIndex === 0 ? listLength - 1 : currentIndex - 1;\n }\n\n return newIndex;\n}\n\nexport function isRelatedTarget(ev: FocusEvent, id: string) {\n // used for onBlur events to check the element that has been clicked\n const ids = id.split(\" \");\n return ev.relatedTarget && ids.includes((ev.relatedTarget as HTMLElement).id);\n}\n\nexport function toBool(val: any) {\n // string \"false\" needs to be treated as bool False because react wrappers convert bool to string.\n return val == \"false\" ? false : !!val;\n}\n\nexport function measureText(originEl: HTMLElement, placeholderText: string): DOMRect {\n const measurementEl = document.createElement(\"div\");\n const originStyles = getComputedStyle(originEl);\n measurementEl.style.position = \"absolute\";\n measurementEl.style.top = \"-100vh\";\n measurementEl.style.fontFamily = originStyles.fontFamily;\n measurementEl.style.fontWeight = originStyles.fontWeight;\n measurementEl.style.fontSize = originStyles.fontSize;\n measurementEl.textContent = placeholderText;\n\n document.body.appendChild(measurementEl);\n const boundingClientRect = measurementEl.getBoundingClientRect();\n document.body.removeChild(measurementEl);\n\n return boundingClientRect;\n}\n\nexport function safeParseJSON(toParse: string): JSON | null {\n // JSON.parse will throw an exception if the string provided is not in the proper format\n // instead of the exception, just return null and let other logic check\n try {\n return JSON.parse(toParse);\n } catch (e) {\n return null;\n }\n}\n"]}
|
|
@@ -1,70 +1,70 @@
|
|
|
1
|
-
import { setMode } from "@stencil/core";
|
|
2
|
-
import { version } from "../../package.json";
|
|
3
|
-
// PRINT RIPPLE VERSION IN CONSOLE
|
|
4
|
-
// test envs return 0 for plugin.length
|
|
5
|
-
// do not print version number there as it causes issues
|
|
6
|
-
if (window.navigator.plugins.length > 0) {
|
|
7
|
-
console.log("Ripple component library", version);
|
|
8
|
-
}
|
|
9
|
-
// USER-IS-TABBING CLASSES (FOR FOCUS INDICATORS)
|
|
10
|
-
// Dispatching events to track whether user is navigating with keyboard or mouse
|
|
11
|
-
function wmComponentKeys(ev) {
|
|
12
|
-
if (ev.key == "Tab") {
|
|
13
|
-
var event = new Event("wmUserIsTabbing");
|
|
14
|
-
window.dispatchEvent(event);
|
|
15
|
-
document.querySelector("body").classList.add("wmcl-user-is-tabbing");
|
|
16
|
-
}
|
|
17
|
-
if (ev.key == "ArrowLeft" || ev.key == "ArrowUp" || ev.key == "ArrowRight" || ev.key == "ArrowDown") {
|
|
18
|
-
var event = new Event("wmUserIsKeying");
|
|
19
|
-
window.dispatchEvent(event);
|
|
20
|
-
document.querySelector("body").classList.add("wmcl-user-is-keying");
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
function wmComponentMouseDownOnce() {
|
|
24
|
-
var event = new Event("wmUserIsNotTabbing");
|
|
25
|
-
window.dispatchEvent(event);
|
|
26
|
-
document.querySelector("body").classList.remove("wmcl-user-is-tabbing");
|
|
27
|
-
document.querySelector("body").classList.remove("wmcl-user-is-keying");
|
|
28
|
-
}
|
|
29
|
-
window.addEventListener("keydown", wmComponentKeys);
|
|
30
|
-
window.addEventListener("mousedown", wmComponentMouseDownOnce);
|
|
31
|
-
// MODES (FOR PRODUCT-SPECIFIC STYLING)
|
|
32
|
-
//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)
|
|
33
|
-
setMode((elm) => {
|
|
34
|
-
return elm.getAttribute("mode") || document.documentElement.getAttribute("mode") || "planning";
|
|
35
|
-
});
|
|
36
|
-
// TOOLTIP
|
|
37
|
-
// Add a tooltip element
|
|
38
|
-
// This allows tooltips to be always at the highest stacking context (always on top)
|
|
39
|
-
// Element is added withing a container to avoid performance impact
|
|
40
|
-
const tooltipContainer = document.createElement("div");
|
|
41
|
-
tooltipContainer.id = "wm-tooltip-container";
|
|
42
|
-
const tooltipEl = document.createElement("div");
|
|
43
|
-
tooltipEl.id = "wm-tooltip";
|
|
44
|
-
tooltipEl.setAttribute("aria-hidden", "true");
|
|
45
|
-
tooltipEl.style.position = "fixed";
|
|
46
|
-
tooltipEl.style.overflow = "hidden";
|
|
47
|
-
tooltipEl.style.pointerEvents = "none";
|
|
48
|
-
tooltipEl.style.lineHeight = "normal";
|
|
49
|
-
tooltipEl.style.fontFamily = "inherit";
|
|
50
|
-
tooltipEl.style.fontSize = "0.875rem";
|
|
51
|
-
tooltipEl.style.textTransform = "none";
|
|
52
|
-
tooltipEl.style.fontWeight = "normal";
|
|
53
|
-
tooltipEl.style.background = "black";
|
|
54
|
-
tooltipEl.style.color = "#fff";
|
|
55
|
-
tooltipEl.style.zIndex = "999999";
|
|
56
|
-
tooltipEl.style.maxWidth = "var(--wmTooltipMaxWidth, 13.75rem)";
|
|
57
|
-
tooltipEl.style.marginRight = "1.5rem";
|
|
58
|
-
tooltipEl.style.padding = "0.375rem";
|
|
59
|
-
tooltipEl.style.transitionProperty = "opacity";
|
|
60
|
-
tooltipEl.style.transitionDelay = "opacity";
|
|
61
|
-
tooltipEl.style.opacity = "0";
|
|
62
|
-
tooltipEl.style.top = "0";
|
|
63
|
-
tooltipEl.style.left = "0";
|
|
64
|
-
tooltipEl.style.transform = "translateZ(0)";
|
|
65
|
-
tooltipEl.style.willChange = "transform";
|
|
66
|
-
tooltipEl.style.transform = "translate(var(--wmTooltipLeft), var(--wmTooltipTop))";
|
|
67
|
-
tooltipContainer.appendChild(tooltipEl);
|
|
68
|
-
const body = document.querySelector("body");
|
|
69
|
-
body.appendChild(tooltipContainer);
|
|
70
|
-
//# sourceMappingURL=global.js.map
|
|
1
|
+
import { setMode } from "@stencil/core";
|
|
2
|
+
import { version } from "../../package.json";
|
|
3
|
+
// PRINT RIPPLE VERSION IN CONSOLE
|
|
4
|
+
// test envs return 0 for plugin.length
|
|
5
|
+
// do not print version number there as it causes issues
|
|
6
|
+
if (window.navigator.plugins.length > 0) {
|
|
7
|
+
console.log("Ripple component library", version);
|
|
8
|
+
}
|
|
9
|
+
// USER-IS-TABBING CLASSES (FOR FOCUS INDICATORS)
|
|
10
|
+
// Dispatching events to track whether user is navigating with keyboard or mouse
|
|
11
|
+
function wmComponentKeys(ev) {
|
|
12
|
+
if (ev.key == "Tab") {
|
|
13
|
+
var event = new Event("wmUserIsTabbing");
|
|
14
|
+
window.dispatchEvent(event);
|
|
15
|
+
document.querySelector("body").classList.add("wmcl-user-is-tabbing");
|
|
16
|
+
}
|
|
17
|
+
if (ev.key == "ArrowLeft" || ev.key == "ArrowUp" || ev.key == "ArrowRight" || ev.key == "ArrowDown") {
|
|
18
|
+
var event = new Event("wmUserIsKeying");
|
|
19
|
+
window.dispatchEvent(event);
|
|
20
|
+
document.querySelector("body").classList.add("wmcl-user-is-keying");
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
function wmComponentMouseDownOnce() {
|
|
24
|
+
var event = new Event("wmUserIsNotTabbing");
|
|
25
|
+
window.dispatchEvent(event);
|
|
26
|
+
document.querySelector("body").classList.remove("wmcl-user-is-tabbing");
|
|
27
|
+
document.querySelector("body").classList.remove("wmcl-user-is-keying");
|
|
28
|
+
}
|
|
29
|
+
window.addEventListener("keydown", wmComponentKeys);
|
|
30
|
+
window.addEventListener("mousedown", wmComponentMouseDownOnce);
|
|
31
|
+
// MODES (FOR PRODUCT-SPECIFIC STYLING)
|
|
32
|
+
//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)
|
|
33
|
+
setMode((elm) => {
|
|
34
|
+
return elm.getAttribute("mode") || document.documentElement.getAttribute("mode") || "planning";
|
|
35
|
+
});
|
|
36
|
+
// TOOLTIP
|
|
37
|
+
// Add a tooltip element
|
|
38
|
+
// This allows tooltips to be always at the highest stacking context (always on top)
|
|
39
|
+
// Element is added withing a container to avoid performance impact
|
|
40
|
+
const tooltipContainer = document.createElement("div");
|
|
41
|
+
tooltipContainer.id = "wm-tooltip-container";
|
|
42
|
+
const tooltipEl = document.createElement("div");
|
|
43
|
+
tooltipEl.id = "wm-tooltip";
|
|
44
|
+
tooltipEl.setAttribute("aria-hidden", "true");
|
|
45
|
+
tooltipEl.style.position = "fixed";
|
|
46
|
+
tooltipEl.style.overflow = "hidden";
|
|
47
|
+
tooltipEl.style.pointerEvents = "none";
|
|
48
|
+
tooltipEl.style.lineHeight = "normal";
|
|
49
|
+
tooltipEl.style.fontFamily = "inherit";
|
|
50
|
+
tooltipEl.style.fontSize = "0.875rem";
|
|
51
|
+
tooltipEl.style.textTransform = "none";
|
|
52
|
+
tooltipEl.style.fontWeight = "normal";
|
|
53
|
+
tooltipEl.style.background = "black";
|
|
54
|
+
tooltipEl.style.color = "#fff";
|
|
55
|
+
tooltipEl.style.zIndex = "999999";
|
|
56
|
+
tooltipEl.style.maxWidth = "var(--wmTooltipMaxWidth, 13.75rem)";
|
|
57
|
+
tooltipEl.style.marginRight = "1.5rem";
|
|
58
|
+
tooltipEl.style.padding = "0.375rem";
|
|
59
|
+
tooltipEl.style.transitionProperty = "opacity";
|
|
60
|
+
tooltipEl.style.transitionDelay = "opacity";
|
|
61
|
+
tooltipEl.style.opacity = "0";
|
|
62
|
+
tooltipEl.style.top = "0";
|
|
63
|
+
tooltipEl.style.left = "0";
|
|
64
|
+
tooltipEl.style.transform = "translateZ(0)";
|
|
65
|
+
tooltipEl.style.willChange = "transform";
|
|
66
|
+
tooltipEl.style.transform = "translate(var(--wmTooltipLeft), var(--wmTooltipTop))";
|
|
67
|
+
tooltipContainer.appendChild(tooltipEl);
|
|
68
|
+
const body = document.querySelector("body");
|
|
69
|
+
body.appendChild(tooltipContainer);
|
|
70
|
+
//# sourceMappingURL=global.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"global.js","sourceRoot":"","sources":["../../../src/global/global.ts"],"names":[],"mappings":"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","sourcesContent":["import { setMode } from \"@stencil/core\";\
|
|
1
|
+
{"version":3,"file":"global.js","sourceRoot":"","sources":["../../../src/global/global.ts"],"names":[],"mappings":"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","sourcesContent":["import { setMode } from \"@stencil/core\";\nimport { version } from \"../../package.json\";\n\n// PRINT RIPPLE VERSION IN CONSOLE\n// test envs return 0 for plugin.length\n// do not print version number there as it causes issues\nif (window.navigator.plugins.length > 0) {\n console.log(\"Ripple component library\", version);\n}\n\n// USER-IS-TABBING CLASSES (FOR FOCUS INDICATORS)\n// Dispatching events to track whether user is navigating with keyboard or mouse\nfunction wmComponentKeys(ev: KeyboardEvent) {\n if (ev.key == \"Tab\") {\n var event: Event = new Event(\"wmUserIsTabbing\");\n window.dispatchEvent(event);\n document.querySelector(\"body\")!.classList.add(\"wmcl-user-is-tabbing\");\n }\n if (ev.key == \"ArrowLeft\" || ev.key == \"ArrowUp\" || ev.key == \"ArrowRight\" || ev.key == \"ArrowDown\") {\n var event: Event = new Event(\"wmUserIsKeying\");\n window.dispatchEvent(event);\n document.querySelector(\"body\")!.classList.add(\"wmcl-user-is-keying\");\n }\n}\n\nfunction wmComponentMouseDownOnce() {\n var event = new Event(\"wmUserIsNotTabbing\");\n window.dispatchEvent(event);\n document.querySelector(\"body\")!.classList.remove(\"wmcl-user-is-tabbing\");\n document.querySelector(\"body\")!.classList.remove(\"wmcl-user-is-keying\");\n}\n\nwindow.addEventListener(\"keydown\", wmComponentKeys);\nwindow.addEventListener(\"mousedown\", wmComponentMouseDownOnce);\n\n// MODES (FOR PRODUCT-SPECIFIC STYLING)\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)\nsetMode((elm) => {\n return elm.getAttribute(\"mode\") || document.documentElement.getAttribute(\"mode\") || \"planning\";\n});\n\n// TOOLTIP\n// Add a tooltip element\n// This allows tooltips to be always at the highest stacking context (always on top)\n// Element is added withing a container to avoid performance impact\nconst tooltipContainer = document.createElement(\"div\");\ntooltipContainer.id = \"wm-tooltip-container\";\nconst tooltipEl = document.createElement(\"div\");\ntooltipEl.id = \"wm-tooltip\";\ntooltipEl.setAttribute(\"aria-hidden\", \"true\");\ntooltipEl.style.position = \"fixed\";\ntooltipEl.style.overflow = \"hidden\";\ntooltipEl.style.pointerEvents = \"none\";\ntooltipEl.style.lineHeight = \"normal\";\ntooltipEl.style.fontFamily = \"inherit\";\ntooltipEl.style.fontSize = \"0.875rem\";\ntooltipEl.style.textTransform = \"none\";\ntooltipEl.style.fontWeight = \"normal\";\ntooltipEl.style.background = \"black\";\ntooltipEl.style.color = \"#fff\";\ntooltipEl.style.zIndex = \"999999\";\ntooltipEl.style.maxWidth = \"var(--wmTooltipMaxWidth, 13.75rem)\";\ntooltipEl.style.marginRight = \"1.5rem\";\ntooltipEl.style.padding = \"0.375rem\";\ntooltipEl.style.transitionProperty = \"opacity\";\ntooltipEl.style.transitionDelay = \"opacity\";\ntooltipEl.style.opacity = \"0\";\ntooltipEl.style.top = \"0\";\ntooltipEl.style.left = \"0\";\ntooltipEl.style.transform = \"translateZ(0)\";\ntooltipEl.style.willChange = \"transform\";\ntooltipEl.style.transform = \"translate(var(--wmTooltipLeft), var(--wmTooltipTop))\";\n\ntooltipContainer.appendChild(tooltipEl);\nconst body = document.querySelector(\"body\");\nbody!.appendChild(tooltipContainer);\n"]}
|
|
@@ -1,50 +1,50 @@
|
|
|
1
|
-
//List of icon codes with more indicative descriptors to create labels for icon-only buttons
|
|
2
|
-
export const iconLabels = {
|
|
3
|
-
f156: "Close",
|
|
4
|
-
f3eb: "Edit",
|
|
5
|
-
f739: "Cancel",
|
|
6
|
-
f12c: "Save",
|
|
7
|
-
f1c0: "Delete",
|
|
8
|
-
f349: "Search",
|
|
9
|
-
f207: "Export info",
|
|
10
|
-
f1d9: "Open dropdown",
|
|
11
|
-
f04d: "Go back",
|
|
12
|
-
f054: "Go forward",
|
|
13
|
-
f141: "Left",
|
|
14
|
-
f142: "Right",
|
|
15
|
-
f35e: "Menu left",
|
|
16
|
-
f35d: "Toggle menu down",
|
|
17
|
-
f30d: "Backspace",
|
|
18
|
-
f645: "Sort hierarchically",
|
|
19
|
-
f4bb: "Sort alphabetically",
|
|
20
|
-
};
|
|
21
|
-
export function getIconCodeFromName(icon) {
|
|
22
|
-
return iconCodes[icon] || icon;
|
|
23
|
-
}
|
|
24
|
-
const iconCodes = {
|
|
25
|
-
close: "f156",
|
|
26
|
-
pencil: "f3eb",
|
|
27
|
-
cancel: "f739",
|
|
28
|
-
check: "f12c",
|
|
29
|
-
delete: "f1c0",
|
|
30
|
-
magnify: "f349",
|
|
31
|
-
export: "f207",
|
|
32
|
-
"dots-vertical": "f1d9",
|
|
33
|
-
"arrow-left": "f04d",
|
|
34
|
-
"arrow-right": "f054",
|
|
35
|
-
"chevron-left": "f141",
|
|
36
|
-
"chevron-right": "f142",
|
|
37
|
-
"menu-left": "f35e",
|
|
38
|
-
"menu-down": "f35d",
|
|
39
|
-
"keyboard-backspace": "f30d",
|
|
40
|
-
"file-tree": "f645",
|
|
41
|
-
"sort-alphabetical": "f4bb",
|
|
42
|
-
"checkbox-marked-circle": "f133",
|
|
43
|
-
"account-settings": "f630",
|
|
44
|
-
"backup-restore": "f06f",
|
|
45
|
-
};
|
|
46
|
-
export const defaultMode = "planning";
|
|
47
|
-
export const getWmMode = (ref) => {
|
|
48
|
-
return ref.getAttribute("mode") || document.documentElement.getAttribute("mode") || defaultMode;
|
|
49
|
-
};
|
|
50
|
-
//# sourceMappingURL=interfaces.js.map
|
|
1
|
+
//List of icon codes with more indicative descriptors to create labels for icon-only buttons
|
|
2
|
+
export const iconLabels = {
|
|
3
|
+
f156: "Close",
|
|
4
|
+
f3eb: "Edit",
|
|
5
|
+
f739: "Cancel",
|
|
6
|
+
f12c: "Save",
|
|
7
|
+
f1c0: "Delete",
|
|
8
|
+
f349: "Search",
|
|
9
|
+
f207: "Export info",
|
|
10
|
+
f1d9: "Open dropdown",
|
|
11
|
+
f04d: "Go back",
|
|
12
|
+
f054: "Go forward",
|
|
13
|
+
f141: "Left",
|
|
14
|
+
f142: "Right",
|
|
15
|
+
f35e: "Menu left",
|
|
16
|
+
f35d: "Toggle menu down",
|
|
17
|
+
f30d: "Backspace",
|
|
18
|
+
f645: "Sort hierarchically",
|
|
19
|
+
f4bb: "Sort alphabetically",
|
|
20
|
+
};
|
|
21
|
+
export function getIconCodeFromName(icon) {
|
|
22
|
+
return iconCodes[icon] || icon;
|
|
23
|
+
}
|
|
24
|
+
const iconCodes = {
|
|
25
|
+
close: "f156",
|
|
26
|
+
pencil: "f3eb",
|
|
27
|
+
cancel: "f739",
|
|
28
|
+
check: "f12c",
|
|
29
|
+
delete: "f1c0",
|
|
30
|
+
magnify: "f349",
|
|
31
|
+
export: "f207",
|
|
32
|
+
"dots-vertical": "f1d9",
|
|
33
|
+
"arrow-left": "f04d",
|
|
34
|
+
"arrow-right": "f054",
|
|
35
|
+
"chevron-left": "f141",
|
|
36
|
+
"chevron-right": "f142",
|
|
37
|
+
"menu-left": "f35e",
|
|
38
|
+
"menu-down": "f35d",
|
|
39
|
+
"keyboard-backspace": "f30d",
|
|
40
|
+
"file-tree": "f645",
|
|
41
|
+
"sort-alphabetical": "f4bb",
|
|
42
|
+
"checkbox-marked-circle": "f133",
|
|
43
|
+
"account-settings": "f630",
|
|
44
|
+
"backup-restore": "f06f",
|
|
45
|
+
};
|
|
46
|
+
export const defaultMode = "planning";
|
|
47
|
+
export const getWmMode = (ref) => {
|
|
48
|
+
return ref.getAttribute("mode") || document.documentElement.getAttribute("mode") || defaultMode;
|
|
49
|
+
};
|
|
50
|
+
//# sourceMappingURL=interfaces.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../../src/global/interfaces.ts"],"names":[],"mappings":"AA6CA,4FAA4F;AAC5F,MAAM,CAAC,MAAM,UAAU,GAAe;EACpC,IAAI,EAAE,OAAO;EACb,IAAI,EAAE,MAAM;EACZ,IAAI,EAAE,QAAQ;EACd,IAAI,EAAE,MAAM;EACZ,IAAI,EAAE,QAAQ;EACd,IAAI,EAAE,QAAQ;EACd,IAAI,EAAE,aAAa;EACnB,IAAI,EAAE,eAAe;EACrB,IAAI,EAAE,SAAS;EACf,IAAI,EAAE,YAAY;EAClB,IAAI,EAAE,MAAM;EACZ,IAAI,EAAE,OAAO;EACb,IAAI,EAAE,WAAW;EACjB,IAAI,EAAE,kBAAkB;EACxB,IAAI,EAAE,WAAW;EACjB,IAAI,EAAE,qBAAqB;EAC3B,IAAI,EAAE,qBAAqB;CAC5B,CAAC;AAOF,MAAM,UAAU,mBAAmB,CAAC,IAAY;EAC9C,OAAO,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;AACjC,CAAC;AAED,MAAM,SAAS,GAAc;EAC3B,KAAK,EAAE,MAAM;EACb,MAAM,EAAE,MAAM;EACd,MAAM,EAAE,MAAM;EACd,KAAK,EAAE,MAAM;EACb,MAAM,EAAE,MAAM;EACd,OAAO,EAAE,MAAM;EACf,MAAM,EAAE,MAAM;EACd,eAAe,EAAE,MAAM;EACvB,YAAY,EAAE,MAAM;EACpB,aAAa,EAAE,MAAM;EACrB,cAAc,EAAE,MAAM;EACtB,eAAe,EAAE,MAAM;EACvB,WAAW,EAAE,MAAM;EACnB,WAAW,EAAE,MAAM;EACnB,oBAAoB,EAAE,MAAM;EAC5B,WAAW,EAAE,MAAM;EACnB,mBAAmB,EAAE,MAAM;EAC3B,wBAAwB,EAAE,MAAM;EAChC,kBAAkB,EAAE,MAAM;EAC1B,gBAAgB,EAAE,MAAM;CACzB,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,UAAU,CAAC;AAEtC,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,GAAS,EAAE,EAAE;EACrC,OAAO,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAC,eAAe,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,WAAW,CAAC;AAClG,CAAC,CAAC","sourcesContent":["export type Notification = {\
|
|
1
|
+
{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../../src/global/interfaces.ts"],"names":[],"mappings":"AA6CA,4FAA4F;AAC5F,MAAM,CAAC,MAAM,UAAU,GAAe;EACpC,IAAI,EAAE,OAAO;EACb,IAAI,EAAE,MAAM;EACZ,IAAI,EAAE,QAAQ;EACd,IAAI,EAAE,MAAM;EACZ,IAAI,EAAE,QAAQ;EACd,IAAI,EAAE,QAAQ;EACd,IAAI,EAAE,aAAa;EACnB,IAAI,EAAE,eAAe;EACrB,IAAI,EAAE,SAAS;EACf,IAAI,EAAE,YAAY;EAClB,IAAI,EAAE,MAAM;EACZ,IAAI,EAAE,OAAO;EACb,IAAI,EAAE,WAAW;EACjB,IAAI,EAAE,kBAAkB;EACxB,IAAI,EAAE,WAAW;EACjB,IAAI,EAAE,qBAAqB;EAC3B,IAAI,EAAE,qBAAqB;CAC5B,CAAC;AAOF,MAAM,UAAU,mBAAmB,CAAC,IAAY;EAC9C,OAAO,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;AACjC,CAAC;AAED,MAAM,SAAS,GAAc;EAC3B,KAAK,EAAE,MAAM;EACb,MAAM,EAAE,MAAM;EACd,MAAM,EAAE,MAAM;EACd,KAAK,EAAE,MAAM;EACb,MAAM,EAAE,MAAM;EACd,OAAO,EAAE,MAAM;EACf,MAAM,EAAE,MAAM;EACd,eAAe,EAAE,MAAM;EACvB,YAAY,EAAE,MAAM;EACpB,aAAa,EAAE,MAAM;EACrB,cAAc,EAAE,MAAM;EACtB,eAAe,EAAE,MAAM;EACvB,WAAW,EAAE,MAAM;EACnB,WAAW,EAAE,MAAM;EACnB,oBAAoB,EAAE,MAAM;EAC5B,WAAW,EAAE,MAAM;EACnB,mBAAmB,EAAE,MAAM;EAC3B,wBAAwB,EAAE,MAAM;EAChC,kBAAkB,EAAE,MAAM;EAC1B,gBAAgB,EAAE,MAAM;CACzB,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,UAAU,CAAC;AAEtC,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,GAAS,EAAE,EAAE;EACrC,OAAO,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAC,eAAe,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,WAAW,CAAC;AAClG,CAAC,CAAC","sourcesContent":["export type Notification = {\n message: string;\n id: string;\n link: string;\n newWindow: boolean;\n};\n\n// Create label for icon-only buttons\nexport type label = string | undefined;\n\nexport type CssClassMap = { [className: string]: boolean };\n\ninterface IconLabels {\n [index: string]: string;\n}\n\nexport type Product = {\n description?: string;\n samlLinkUrl?: string;\n iconUrl: string;\n id: string;\n linkUrl: string;\n name: string;\n};\n\n// products retrieved from endpoint:\nexport type NavigatorPayload = {\n connection_name?: string;\n current_product_id: string;\n email: string;\n logout_url: string;\n products: Product[];\n};\n\nexport type validButtonTypes =\n | \"primary\"\n | \"secondary\"\n | \"textonly\"\n | \"icononly\"\n | \"navigational\"\n | \"selector\"\n | \"selector-primary\"\n | \"pairpositive\"\n | \"pairnegative\";\n\n//List of icon codes with more indicative descriptors to create labels for icon-only buttons\nexport const iconLabels: IconLabels = {\n f156: \"Close\",\n f3eb: \"Edit\",\n f739: \"Cancel\",\n f12c: \"Save\",\n f1c0: \"Delete\",\n f349: \"Search\",\n f207: \"Export info\",\n f1d9: \"Open dropdown\",\n f04d: \"Go back\",\n f054: \"Go forward\",\n f141: \"Left\",\n f142: \"Right\",\n f35e: \"Menu left\",\n f35d: \"Toggle menu down\",\n f30d: \"Backspace\",\n f645: \"Sort hierarchically\",\n f4bb: \"Sort alphabetically\",\n};\n\n// For backwards compatibility, the icon prop accepts the icon name minus mdi- prefix, e.g. \"icon\"\n// this function converts the name to the corresponding code or returns what it was passed\ninterface IconCodes {\n [index: string]: string;\n}\nexport function getIconCodeFromName(icon: string): string {\n return iconCodes[icon] || icon;\n}\n\nconst iconCodes: IconCodes = {\n close: \"f156\",\n pencil: \"f3eb\",\n cancel: \"f739\",\n check: \"f12c\",\n delete: \"f1c0\",\n magnify: \"f349\",\n export: \"f207\",\n \"dots-vertical\": \"f1d9\",\n \"arrow-left\": \"f04d\",\n \"arrow-right\": \"f054\",\n \"chevron-left\": \"f141\",\n \"chevron-right\": \"f142\",\n \"menu-left\": \"f35e\",\n \"menu-down\": \"f35d\",\n \"keyboard-backspace\": \"f30d\",\n \"file-tree\": \"f645\",\n \"sort-alphabetical\": \"f4bb\",\n \"checkbox-marked-circle\": \"f133\",\n \"account-settings\": \"f630\",\n \"backup-restore\": \"f06f\",\n};\n\nexport const defaultMode = \"planning\";\n\nexport const getWmMode = (ref?: any) => {\n return ref.getAttribute(\"mode\") || document.documentElement.getAttribute(\"mode\") || defaultMode;\n};\n\nexport type TooltipPlacement =\n | \"top\"\n | \"bottom\"\n | \"left\"\n | \"right\"\n | \"bottom-left\"\n | \"bottom-right\"\n | \"top-right\"\n | \"top-left\";\n\nexport type SliceElement = (SVGElement | HTMLElement);\n\nexport type SliceDetails = {\n amount: number;\n perc: number;\n legend: string | null;\n color: string;\n offset: number;\n id: string;\n title: string | null;\n text: string | null;\n buttonText: string | null;\n sliceRef: Element;\n inSmallCluster: boolean;\n coords?: {x: number, y: number};\n};\n\nexport type ChartDetails = {\n size: number;\n colors: Array<string>;\n thickness?: number;\n padding: number;\n category: \"doughnut\" | \"stackedBar\" | \"simpleBar\";\n};\n\nexport type ChartType =\n // progress monitor types\n | \"doughnut\"\n | \"bar\"\n // chart types\n | \"doughnut1\"\n | \"doughnut2\"\n | \"doughnut2plus\"\n | \"doughnut3\"\n | \"bar2\"\n | \"bar3\"\n | \"bar4\"\n | \"bar5\"\n | \"bar6\"\n | \"bar7\"\n // deprecated\n | \"doughnut0\"\n | \"bar1\";\n\nexport type LegendItem = { key: string; color: string };\n\nexport type UploadedFile = {\n name: string;\n id: string;\n type: string;\n lastUpdated: string; // in display format\n progress?: number;\n fileActions?: string;\n size?: string; // in display format\n};\n"]}
|