@watermarkinsights/ripple 0.0.1 → 0.1.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/app-globals-3db2fdd3.js +103 -0
- package/dist/cjs/chartFunctions-0d47b1f4.js +906 -0
- package/dist/cjs/functions-761cb9f2.js +10694 -0
- package/dist/cjs/index-bb947bd5.js +1843 -0
- package/dist/cjs/index.cjs.js +2 -0
- package/dist/cjs/interfaces-33cd6161.js +82 -0
- package/dist/cjs/intl-9e9388a7.js +291 -0
- package/dist/cjs/loader.cjs.js +15 -0
- package/dist/cjs/priv-calendar.cjs.entry.js +580 -0
- package/dist/cjs/priv-chart-popover-old.cjs.entry.js +146 -0
- package/dist/cjs/priv-chart-popover_2.cjs.entry.js +204 -0
- package/dist/cjs/priv-navigator-button.cjs.entry.js +29 -0
- package/dist/cjs/priv-navigator-item.cjs.entry.js +35 -0
- package/dist/cjs/priv-option-list.cjs.entry.js +391 -0
- package/dist/cjs/ripple.cjs.js +25 -0
- package/dist/cjs/wm-action-menu_2.cjs.entry.js +525 -0
- package/dist/cjs/wm-button.cjs.entry.js +280 -0
- package/dist/cjs/wm-chart-bar.cjs.entry.js +444 -0
- package/dist/cjs/wm-chart-column.cjs.entry.js +629 -0
- package/dist/cjs/wm-chart-slice.cjs.entry.js +27 -0
- package/dist/cjs/wm-chart-stack.cjs.entry.js +447 -0
- package/dist/cjs/wm-chart.cjs.entry.js +163 -0
- package/dist/cjs/wm-date-range.cjs.entry.js +591 -0
- package/dist/cjs/wm-datepicker.cjs.entry.js +399 -0
- package/dist/{ripple/wm-tab-panel.entry.js → cjs/wm-file-list.cjs.entry.js} +15 -24
- package/dist/cjs/wm-file.cjs.entry.js +210 -0
- package/dist/cjs/wm-flyout.cjs.entry.js +178 -0
- package/dist/{ripple/wm-modal.entry.js → cjs/wm-input.cjs.entry.js} +108 -110
- package/dist/cjs/wm-line-chart.cjs.entry.js +541 -0
- package/dist/cjs/wm-modal-pss_3.cjs.entry.js +220 -0
- package/dist/cjs/wm-modal_3.cjs.entry.js +238 -0
- package/dist/cjs/wm-navigation_3.cjs.entry.js +188 -0
- package/dist/cjs/wm-navigator.cjs.entry.js +334 -0
- package/dist/cjs/wm-nested-select.cjs.entry.js +322 -0
- package/dist/{ripple/wm-textarea.entry.js → cjs/wm-optgroup.cjs.entry.js} +62 -57
- package/dist/cjs/wm-option_2.cjs.entry.js +536 -0
- package/dist/{ripple/wm-navigation.entry.js → cjs/wm-pagination.cjs.entry.js} +204 -91
- package/dist/cjs/wm-progress-indicator_3.cjs.entry.js +204 -0
- package/dist/{ripple/wm-flyout.entry.js → cjs/wm-search.cjs.entry.js} +168 -139
- package/dist/{ripple/wm-datepicker.entry.js → cjs/wm-snackbar.cjs.entry.js} +152 -223
- package/dist/cjs/wm-tab-item_3.cjs.entry.js +357 -0
- package/dist/cjs/wm-tag-input.cjs.entry.js +985 -0
- package/dist/cjs/wm-tag-option.cjs.entry.js +51 -0
- package/dist/{ripple/wm-modal-pss.entry.js → cjs/wm-textarea.cjs.entry.js} +70 -111
- package/dist/{ripple/wm-progress-indicator.entry.js → cjs/wm-timepicker.cjs.entry.js} +296 -78
- package/dist/cjs/wm-toggletip.cjs.entry.js +252 -0
- package/dist/cjs/wm-uploader.cjs.entry.js +341 -0
- package/dist/cjs/wm-wrapper.cjs.entry.js +21 -0
- package/dist/collection/collection-manifest.json +207 -0
- package/dist/collection/components/charts/chartFunctions.js +831 -0
- package/dist/collection/components/charts/priv-chart-popover/priv-chart-popover.css +995 -0
- package/dist/collection/components/charts/priv-chart-popover/priv-chart-popover.js +345 -0
- package/dist/collection/components/charts/priv-chart-popover-old/priv-chart-popover-old.css +990 -0
- package/dist/collection/components/charts/priv-chart-popover-old/priv-chart-popover-old.js +268 -0
- package/dist/collection/components/charts/wm-chart/wm-chart-slice.js +177 -0
- package/dist/collection/components/charts/wm-chart/wm-chart.css +1326 -0
- package/dist/collection/components/charts/wm-chart/wm-chart.js +549 -0
- package/dist/collection/components/charts/wm-chart-bar/wm-chart-bar.css +1236 -0
- package/dist/collection/components/charts/wm-chart-bar/wm-chart-bar.js +725 -0
- package/dist/collection/components/charts/wm-chart-column/wm-chart-column.css +1335 -0
- package/dist/collection/components/charts/wm-chart-column/wm-chart-column.js +914 -0
- package/dist/collection/components/charts/wm-chart-legend/wm-chart-legend.css +1006 -0
- package/dist/collection/components/charts/wm-chart-legend/wm-chart-legend.js +310 -0
- package/dist/collection/components/charts/wm-chart-stack/wm-chart-stack.css +1466 -0
- package/dist/collection/components/charts/wm-chart-stack/wm-chart-stack.js +709 -0
- package/dist/collection/components/charts/wm-line-chart/wm-line-chart.css +1208 -0
- package/dist/collection/components/charts/wm-line-chart/wm-line-chart.js +999 -0
- package/dist/collection/components/charts/wm-progress-monitor/wm-progress-indicator.css +1326 -0
- package/dist/collection/components/charts/wm-progress-monitor/wm-progress-indicator.js +320 -0
- package/dist/collection/components/charts/wm-progress-monitor/wm-progress-monitor.css +967 -0
- package/dist/collection/components/charts/wm-progress-monitor/wm-progress-monitor.js +232 -0
- package/dist/collection/components/charts/wm-progress-monitor/wm-progress-slice.js +167 -0
- package/dist/collection/components/datepickers/datepicker.css +1147 -0
- package/dist/collection/components/datepickers/priv-calendar/priv-calendar.css +1415 -0
- package/dist/collection/components/datepickers/priv-calendar/priv-calendar.js +857 -0
- package/dist/collection/components/datepickers/wm-date-range.js +1158 -0
- package/dist/collection/components/datepickers/wm-datepicker.js +875 -0
- package/dist/collection/components/selects/priv-option-list/priv-option-list.css +999 -0
- package/dist/collection/components/selects/priv-option-list/priv-option-list.js +784 -0
- package/dist/collection/components/selects/wm-nested-select/wm-nested-select.css +1259 -0
- package/dist/collection/components/selects/wm-nested-select/wm-nested-select.js +805 -0
- package/dist/collection/components/selects/wm-optgroup/wm-optgroup.css +909 -0
- package/dist/collection/components/selects/wm-optgroup/wm-optgroup.js +363 -0
- package/dist/collection/components/selects/wm-option/wm-option.css +1033 -0
- package/dist/collection/components/selects/wm-option/wm-option.js +665 -0
- package/dist/collection/components/selects/wm-select/wm-select.css +1174 -0
- package/dist/collection/components/selects/wm-select/wm-select.js +878 -0
- package/dist/collection/components/wm-action-menu/wm-action-menu.css +1690 -0
- package/dist/collection/components/wm-action-menu/wm-action-menu.js +932 -0
- package/dist/collection/components/wm-button/wm-button.css +1630 -0
- package/dist/collection/components/wm-button/wm-button.js +794 -0
- package/dist/collection/components/wm-file/wm-file.css +1086 -0
- package/dist/collection/components/wm-file/wm-file.js +536 -0
- package/dist/collection/components/wm-file-list/wm-file-list.css +899 -0
- package/dist/collection/components/wm-file-list/wm-file-list.js +118 -0
- package/dist/collection/components/wm-flyout/wm-flyout.css +1091 -0
- package/dist/collection/components/wm-flyout/wm-flyout.js +651 -0
- package/dist/collection/components/wm-input/wm-input.css +1095 -0
- package/dist/collection/components/wm-input/wm-input.js +653 -0
- package/dist/collection/components/wm-menuitem/wm-menuitem.css +982 -0
- package/dist/collection/components/wm-menuitem/wm-menuitem.js +515 -0
- package/dist/collection/components/wm-modal/wm-modal-footer.css +927 -0
- package/dist/collection/components/wm-modal/wm-modal-footer.js +199 -0
- package/dist/collection/components/wm-modal/wm-modal-header.css +926 -0
- package/dist/collection/components/wm-modal/wm-modal-header.js +110 -0
- package/dist/collection/components/wm-modal/wm-modal.css +983 -0
- package/dist/collection/components/wm-modal/wm-modal.js +534 -0
- package/dist/collection/components/wm-modal-pss/wm-modal-pss-footer.css +931 -0
- package/dist/collection/components/wm-modal-pss/wm-modal-pss-footer.js +142 -0
- package/dist/collection/components/wm-modal-pss/wm-modal-pss-header.css +925 -0
- package/dist/collection/components/wm-modal-pss/wm-modal-pss-header.js +86 -0
- package/dist/collection/components/wm-modal-pss/wm-modal-pss.css +1007 -0
- package/dist/collection/components/wm-modal-pss/wm-modal-pss.js +369 -0
- package/dist/collection/components/wm-navigation/wm-navigation-hamburger.css +926 -0
- package/dist/collection/components/wm-navigation/wm-navigation-hamburger.js +153 -0
- package/dist/collection/components/wm-navigation/wm-navigation-item.css +935 -0
- package/dist/collection/components/wm-navigation/wm-navigation-item.js +140 -0
- package/dist/collection/components/wm-navigation/wm-navigation.css +977 -0
- package/dist/collection/components/wm-navigation/wm-navigation.js +246 -0
- package/dist/collection/components/wm-navigator/priv-navigator-button/priv-navigator-button.css +929 -0
- package/dist/collection/components/wm-navigator/priv-navigator-button/priv-navigator-button.js +90 -0
- package/dist/collection/components/wm-navigator/priv-navigator-item/priv-navigator-item.css +918 -0
- package/dist/collection/components/wm-navigator/priv-navigator-item/priv-navigator-item.js +128 -0
- package/dist/collection/components/wm-navigator/wm-navigator.css +990 -0
- package/dist/collection/components/wm-navigator/wm-navigator.js +597 -0
- package/dist/collection/components/wm-pagination/wm-pagination.css +1044 -0
- package/dist/collection/components/wm-pagination/wm-pagination.js +487 -0
- package/dist/collection/components/wm-search/wm-search.css +983 -0
- package/dist/collection/components/wm-search/wm-search.js +604 -0
- package/dist/collection/components/wm-snackbar/wm-snackbar.css +1150 -0
- package/dist/collection/components/wm-snackbar/wm-snackbar.js +363 -0
- package/dist/collection/components/wm-tabs/wm-tab-item/wm-tab-item.css +958 -0
- package/dist/collection/components/wm-tabs/wm-tab-item/wm-tab-item.js +233 -0
- package/dist/collection/components/wm-tabs/wm-tab-list/wm-tab-list.css +966 -0
- package/dist/collection/components/wm-tabs/wm-tab-list/wm-tab-list.js +461 -0
- package/dist/collection/components/wm-tabs/wm-tab-panel/wm-tab-panel.css +906 -0
- package/dist/collection/components/wm-tabs/wm-tab-panel/wm-tab-panel.js +132 -0
- package/dist/collection/components/wm-tag-input/wm-tag-input.css +1423 -0
- package/dist/collection/components/wm-tag-input/wm-tag-input.js +1511 -0
- package/dist/collection/components/wm-tag-input/wm-tag-option/wm-tag-option.js +328 -0
- package/dist/collection/components/wm-textarea/wm-textarea.css +1065 -0
- package/dist/collection/components/wm-textarea/wm-textarea.js +423 -0
- package/dist/collection/components/wm-timepicker/wm-timepicker.css +1174 -0
- package/dist/collection/components/wm-timepicker/wm-timepicker.js +728 -0
- package/dist/collection/components/wm-toggletip/wm-toggletip.css +1296 -0
- package/dist/collection/components/wm-toggletip/wm-toggletip.js +455 -0
- package/dist/collection/components/wm-uploader/wm-uploader.css +1987 -0
- package/dist/collection/components/wm-uploader/wm-uploader.js +760 -0
- package/dist/collection/components/wm-wrapper/wm-wrapper.js +31 -0
- package/dist/collection/dev/action-menu.js +18 -0
- package/dist/collection/dev/button.js +12 -0
- package/dist/collection/dev/chart-bar.js +430 -0
- package/dist/collection/dev/chart-column.js +459 -0
- package/dist/collection/dev/chart-small.js +56 -0
- package/dist/collection/dev/chart-stack.js +205 -0
- package/dist/collection/dev/chart.js +18 -0
- package/dist/collection/dev/date-range.js +14 -0
- package/dist/collection/dev/datepicker.js +46 -0
- package/dist/collection/dev/file-list.js +16 -0
- package/dist/collection/dev/file.js +0 -0
- package/dist/collection/dev/flyout.js +194 -0
- package/dist/collection/dev/input.js +6 -0
- package/dist/collection/dev/line-chart.js +45 -0
- package/dist/collection/dev/modal.js +48 -0
- package/dist/collection/dev/navigation.js +13 -0
- package/dist/collection/dev/navigator.js +34 -0
- package/dist/collection/dev/nested-select.js +36 -0
- package/dist/collection/dev/pagination.js +7 -0
- package/dist/collection/dev/progress-monitor.js +0 -0
- package/dist/collection/dev/pss-modal.js +8 -0
- package/dist/collection/dev/scripts.js +49 -0
- package/dist/collection/dev/search.js +72 -0
- package/dist/collection/dev/select.js +57 -0
- package/dist/collection/dev/snackbar.js +68 -0
- package/dist/collection/dev/tabs.js +44 -0
- package/dist/collection/dev/tag-input.js +32 -0
- package/dist/collection/dev/textarea.js +28 -0
- package/dist/collection/dev/timepicker.js +32 -0
- package/dist/collection/dev/toggletip.js +9 -0
- package/dist/collection/dev/uploader.js +139 -0
- package/dist/collection/global/__mocks__/functions.js +6 -0
- package/dist/collection/global/functions.js +907 -0
- package/dist/{ripple/app-globals-B7cOtGhY.js → collection/global/global.js} +16 -87
- package/dist/collection/global/interfaces.js +94 -0
- package/dist/collection/global/intl.js +281 -0
- package/dist/collection/global/services/__mocks__/http-service.js +130 -0
- package/dist/collection/global/services/http-service.js +50 -0
- package/dist/collection/lang/lang.js +5 -0
- package/dist/collection/lang/missing.js +43 -0
- package/dist/collection/lang/piglatin.js +101 -0
- package/dist/docs/docs.d.ts +435 -0
- package/dist/docs/docs.json +14178 -0
- package/dist/docs/props-reference.json +2079 -0
- package/dist/docs/skill/index.md +33 -0
- package/dist/docs/skill/wm-action-menu.md +116 -0
- package/dist/docs/skill/wm-button.md +121 -0
- package/dist/docs/skill/wm-chart-bar.md +156 -0
- package/dist/docs/skill/wm-chart-column.md +122 -0
- package/dist/docs/skill/wm-chart-legend.md +91 -0
- package/dist/docs/skill/wm-chart-slice.md +101 -0
- package/dist/docs/skill/wm-chart-stack.md +147 -0
- package/dist/docs/skill/wm-chart.md +139 -0
- package/dist/docs/skill/wm-date-range.md +176 -0
- package/dist/docs/skill/wm-datepicker.md +153 -0
- package/dist/docs/skill/wm-file-list.md +105 -0
- package/dist/docs/skill/wm-file.md +91 -0
- package/dist/docs/skill/wm-flyout.md +209 -0
- package/dist/docs/skill/wm-input.md +134 -0
- package/dist/docs/skill/wm-line-chart.md +135 -0
- package/dist/docs/skill/wm-menuitem.md +64 -0
- package/dist/docs/skill/wm-modal-footer.md +81 -0
- package/dist/docs/skill/wm-modal-header.md +71 -0
- package/dist/docs/skill/wm-modal.md +172 -0
- package/dist/docs/skill/wm-navigation-hamburger.md +61 -0
- package/dist/docs/skill/wm-navigation-item.md +78 -0
- package/dist/docs/skill/wm-navigation.md +82 -0
- package/dist/docs/skill/wm-navigator.md +106 -0
- package/dist/docs/skill/wm-nested-select.md +160 -0
- package/dist/docs/skill/wm-optgroup.md +72 -0
- package/dist/docs/skill/wm-option.md +67 -0
- package/dist/docs/skill/wm-pagination.md +114 -0
- package/dist/docs/skill/wm-progress-indicator.md +75 -0
- package/dist/docs/skill/wm-progress-monitor.md +120 -0
- package/dist/docs/skill/wm-progress-slice.md +67 -0
- package/dist/docs/skill/wm-search.md +180 -0
- package/dist/docs/skill/wm-select.md +169 -0
- package/dist/docs/skill/wm-snackbar.md +130 -0
- package/dist/docs/skill/wm-tab-item.md +45 -0
- package/dist/docs/skill/wm-tab-list.md +139 -0
- package/dist/docs/skill/wm-tab-panel.md +39 -0
- package/dist/docs/skill/wm-tag-input.md +187 -0
- package/dist/docs/skill/wm-tag-option.md +60 -0
- package/dist/docs/skill/wm-textarea.md +102 -0
- package/dist/docs/skill/wm-timepicker.md +156 -0
- package/dist/docs/skill/wm-toggletip.md +98 -0
- package/dist/docs/skill/wm-uploader.md +154 -0
- package/dist/docs/skill/wm-wrapper.md +5 -0
- package/dist/esm/app-globals-a1092590.js +101 -0
- package/dist/{ripple/chartFunctions-CmeM8Tyx.js → esm/chartFunctions-58637dc9.js} +159 -3
- package/dist/{ripple/functions-DVLl0rH_.js → esm/functions-65f1594c.js} +374 -7830
- package/dist/esm/index-3425d80d.js +1813 -0
- package/dist/esm/index.js +1 -0
- package/dist/esm/interfaces-8778346d.js +77 -0
- package/dist/{ripple/intl-7p27BJSM.js → esm/intl-d518f362.js} +11 -4
- package/dist/esm/loader.js +11 -0
- package/dist/{ripple → esm}/priv-calendar.entry.js +143 -133
- package/dist/esm/priv-chart-popover-old.entry.js +142 -0
- package/dist/esm/priv-chart-popover_2.entry.js +199 -0
- package/dist/{ripple → esm}/priv-navigator-button.entry.js +5 -4
- package/dist/{ripple → esm}/priv-navigator-item.entry.js +5 -4
- package/dist/{ripple → esm}/priv-option-list.entry.js +18 -16
- package/dist/esm/ripple.js +20 -0
- package/dist/esm/wm-action-menu_2.entry.js +520 -0
- package/dist/{ripple/wm-modal-header.entry.js → esm/wm-button.entry.js} +264 -24
- package/dist/esm/wm-chart-bar.entry.js +440 -0
- package/dist/esm/wm-chart-column.entry.js +625 -0
- package/dist/{ripple → esm}/wm-chart-slice.entry.js +6 -1
- package/dist/esm/wm-chart-stack.entry.js +443 -0
- package/dist/esm/wm-chart.entry.js +159 -0
- package/dist/{ripple → esm}/wm-date-range.entry.js +224 -114
- package/dist/esm/wm-datepicker.entry.js +395 -0
- package/dist/{ripple → esm}/wm-file-list.entry.js +5 -4
- package/dist/{ripple → esm}/wm-file.entry.js +48 -24
- package/dist/esm/wm-flyout.entry.js +174 -0
- package/dist/{ripple → esm}/wm-input.entry.js +23 -7
- package/dist/{ripple → esm}/wm-line-chart.entry.js +182 -94
- package/dist/esm/wm-modal-pss_3.entry.js +214 -0
- package/dist/esm/wm-modal_3.entry.js +232 -0
- package/dist/esm/wm-navigation_3.entry.js +182 -0
- package/dist/{ripple → esm}/wm-navigator.entry.js +26 -64
- package/dist/{ripple → esm}/wm-nested-select.entry.js +35 -25
- package/dist/{ripple → esm}/wm-optgroup.entry.js +17 -5
- package/dist/esm/wm-option_2.entry.js +531 -0
- package/dist/{ripple → esm}/wm-pagination.entry.js +16 -14
- package/dist/esm/wm-progress-indicator_3.entry.js +198 -0
- package/dist/{ripple → esm}/wm-search.entry.js +15 -31
- package/dist/{ripple → esm}/wm-snackbar.entry.js +32 -45
- package/dist/esm/wm-tab-item_3.entry.js +351 -0
- package/dist/{ripple → esm}/wm-tag-input.entry.js +169 -65
- package/dist/{ripple → esm}/wm-tag-option.entry.js +14 -2
- package/dist/{ripple/wm-menuitem.entry.js → esm/wm-textarea.entry.js} +65 -100
- package/dist/{ripple → esm}/wm-timepicker.entry.js +33 -12
- package/dist/{ripple → esm}/wm-toggletip.entry.js +105 -33
- package/dist/esm/wm-uploader.entry.js +337 -0
- package/dist/{ripple → esm}/wm-wrapper.entry.js +1 -1
- package/dist/index.cjs.js +1 -0
- package/dist/index.js +1 -0
- package/dist/loader/cdn.js +1 -0
- package/dist/loader/index.cjs.js +1 -0
- package/dist/loader/index.d.ts +24 -0
- package/dist/loader/index.es2017.js +1 -0
- package/dist/loader/index.js +2 -0
- package/dist/loader/package.json +11 -0
- package/dist/ripple/index.esm.js +0 -1
- package/dist/ripple/p-0d364411.entry.js +1 -0
- package/dist/ripple/p-156c4d1d.entry.js +1 -0
- package/dist/ripple/{wm-modal-footer.entry.js → p-26d8c356.entry.js} +1 -44
- package/dist/ripple/p-2b23ce49.entry.js +1 -0
- package/dist/ripple/p-2b7cc2c1.entry.js +1 -0
- package/dist/ripple/p-34bde06a.entry.js +1 -0
- package/dist/ripple/p-35db9386.entry.js +1 -0
- package/dist/ripple/p-38a987ac.entry.js +1 -0
- package/dist/ripple/p-38b05894.entry.js +1 -0
- package/dist/ripple/p-38dee4ab.entry.js +1 -0
- package/dist/ripple/p-3a19d019.entry.js +1 -0
- package/dist/ripple/p-451d4de2.js +1 -0
- package/dist/ripple/p-507f2cf4.entry.js +1 -0
- package/dist/ripple/p-59f74ead.entry.js +1 -0
- package/dist/ripple/p-5c2fc42a.entry.js +1 -0
- package/dist/ripple/p-680d7606.entry.js +1 -0
- package/dist/ripple/p-683264db.js +1 -0
- package/dist/ripple/p-6db681c8.entry.js +1 -0
- package/dist/ripple/p-6e3c2bbc.js +1 -0
- package/dist/ripple/p-6f1cabab.entry.js +1 -0
- package/dist/ripple/p-72d135ee.entry.js +1 -0
- package/dist/ripple/p-7799953c.entry.js +1 -0
- package/dist/ripple/p-83c3db60.js +2 -0
- package/dist/ripple/{wm-progress-monitor.entry.js → p-83cdad78.entry.js} +1 -71
- package/dist/ripple/p-87ef0cfa.entry.js +1 -0
- package/dist/ripple/p-88e44511.entry.js +1 -0
- package/dist/ripple/p-8f8e4eb8.entry.js +1 -0
- package/dist/ripple/p-936adffb.entry.js +1 -0
- package/dist/ripple/p-9755192c.entry.js +1 -0
- package/dist/ripple/p-9c5c591b.js +1 -0
- package/dist/ripple/p-9ea38d96.entry.js +1 -0
- package/dist/ripple/p-be3e4e7c.entry.js +1 -0
- package/dist/ripple/p-c9c7df12.entry.js +1 -0
- package/dist/ripple/p-d7a1be0b.entry.js +1 -0
- package/dist/ripple/p-dab86523.entry.js +1 -0
- package/dist/ripple/{wm-tab-list.entry.js → p-e4aa6e27.entry.js} +1 -175
- package/dist/ripple/p-ebe9f38c.js +1 -0
- package/dist/ripple/p-ed053612.entry.js +1 -0
- package/dist/ripple/p-f43f621b.entry.js +1 -0
- package/dist/ripple/p-f48d30d6.entry.js +1 -0
- package/dist/ripple/{wm-action-menu.entry.js → p-f6aad57c.entry.js} +1 -201
- package/dist/ripple/p-f6e1beb5.entry.js +1 -0
- package/dist/ripple/p-fc843bb8.entry.js +1 -0
- package/dist/ripple/{priv-chart-popover.entry.js → p-fd997764.entry.js} +1 -134
- package/dist/ripple/p-fffb46ad.entry.js +1 -0
- package/dist/ripple/ripple.esm.js +1 -48
- package/dist/types/components/charts/chartFunctions.d.ts +15 -2
- package/dist/types/components/charts/priv-chart-popover/priv-chart-popover.d.ts +25 -11
- package/dist/types/components/charts/priv-chart-popover-old/priv-chart-popover-old.d.ts +31 -0
- package/dist/types/components/charts/wm-chart/wm-chart-slice.d.ts +52 -0
- package/dist/types/components/charts/wm-chart/wm-chart.d.ts +113 -1
- package/dist/types/components/charts/wm-chart-bar/wm-chart-bar.d.ts +195 -0
- package/dist/types/components/charts/wm-chart-column/wm-chart-column.d.ts +184 -0
- package/dist/types/components/charts/wm-chart-legend/wm-chart-legend.d.ts +110 -0
- package/dist/types/components/charts/wm-chart-stack/wm-chart-stack.d.ts +194 -0
- package/dist/types/components/charts/wm-line-chart/wm-line-chart.d.ts +156 -11
- package/dist/types/components/charts/wm-progress-monitor/wm-progress-indicator.d.ts +53 -1
- package/dist/types/components/charts/wm-progress-monitor/wm-progress-monitor.d.ts +85 -0
- package/dist/types/components/charts/wm-progress-monitor/wm-progress-slice.d.ts +44 -0
- package/dist/types/components/datepickers/priv-calendar/priv-calendar.d.ts +19 -3
- package/dist/types/components/datepickers/wm-date-range.d.ts +205 -14
- package/dist/types/components/datepickers/wm-datepicker.d.ts +189 -11
- package/dist/types/components/selects/priv-option-list/priv-option-list.d.ts +6 -0
- package/dist/types/components/selects/wm-nested-select/wm-nested-select.d.ts +165 -1
- package/dist/types/components/selects/wm-optgroup/wm-optgroup.d.ts +87 -0
- package/dist/types/components/selects/wm-option/wm-option.d.ts +117 -0
- package/dist/types/components/selects/wm-select/wm-select.d.ts +193 -12
- package/dist/types/components/wm-action-menu/wm-action-menu.d.ts +207 -2
- package/dist/types/components/wm-button/wm-button.d.ts +191 -0
- package/dist/types/components/wm-file/wm-file.d.ts +110 -1
- package/dist/types/components/wm-file-list/wm-file-list.d.ts +72 -0
- package/dist/types/components/wm-flyout/wm-flyout.d.ts +205 -0
- package/dist/types/components/wm-input/wm-input.d.ts +161 -1
- package/dist/types/components/wm-menuitem/wm-menuitem.d.ts +79 -0
- package/dist/types/components/wm-modal/wm-modal-footer.d.ts +54 -0
- package/dist/types/components/wm-modal/wm-modal-header.d.ts +30 -0
- package/dist/types/components/wm-modal/wm-modal.d.ts +160 -0
- package/dist/types/components/wm-modal-pss/wm-modal-pss-footer.d.ts +4 -0
- package/dist/types/components/wm-modal-pss/wm-modal-pss-header.d.ts +4 -0
- package/dist/types/components/wm-modal-pss/wm-modal-pss.d.ts +6 -0
- package/dist/types/components/wm-navigation/wm-navigation-hamburger.d.ts +34 -0
- package/dist/types/components/wm-navigation/wm-navigation-item.d.ts +41 -0
- package/dist/types/components/wm-navigation/wm-navigation.d.ts +57 -0
- package/dist/types/components/wm-navigator/priv-navigator-button/priv-navigator-button.d.ts +4 -0
- package/dist/types/components/wm-navigator/priv-navigator-item/priv-navigator-item.d.ts +4 -0
- package/dist/types/components/wm-navigator/wm-navigator.d.ts +93 -4
- package/dist/types/components/wm-pagination/wm-pagination.d.ts +100 -1
- package/dist/types/components/wm-search/wm-search.d.ts +158 -6
- package/dist/types/components/wm-snackbar/wm-snackbar.d.ts +103 -1
- package/dist/types/components/wm-tabs/wm-tab-item/wm-tab-item.d.ts +55 -3
- package/dist/types/components/wm-tabs/wm-tab-list/wm-tab-list.d.ts +119 -20
- package/dist/types/components/wm-tabs/wm-tab-panel/wm-tab-panel.d.ts +35 -2
- package/dist/types/components/wm-tag-input/wm-tag-input.d.ts +199 -5
- package/dist/types/components/wm-tag-input/wm-tag-option/wm-tag-option.d.ts +68 -0
- package/dist/types/components/wm-textarea/wm-textarea.d.ts +99 -0
- package/dist/types/components/wm-timepicker/wm-timepicker.d.ts +147 -0
- package/dist/types/components/wm-toggletip/wm-toggletip.d.ts +88 -2
- package/dist/types/components/wm-uploader/wm-uploader.d.ts +145 -3
- package/dist/types/components/wm-wrapper/wm-wrapper.d.ts +3 -0
- package/dist/types/components.d.ts +11523 -95
- package/dist/types/global/functions.d.ts +7 -2
- package/dist/types/global/interfaces.d.ts +92 -2
- package/dist/types/global/intl.d.ts +3 -0
- package/dist/types/stencil-public-runtime.d.ts +0 -28
- package/package.json +4 -33
- package/dist/components/index.d.ts +0 -33
- package/dist/components/priv-calendar.d.ts +0 -11
- package/dist/components/priv-chart-popover.d.ts +0 -11
- package/dist/components/priv-navigator-button.d.ts +0 -11
- package/dist/components/priv-navigator-item.d.ts +0 -11
- package/dist/components/priv-option-list.d.ts +0 -11
- package/dist/components/wm-action-menu.d.ts +0 -11
- package/dist/components/wm-button.d.ts +0 -11
- package/dist/components/wm-chart-slice.d.ts +0 -11
- package/dist/components/wm-chart.d.ts +0 -11
- package/dist/components/wm-date-range.d.ts +0 -11
- package/dist/components/wm-datepicker.d.ts +0 -11
- package/dist/components/wm-file-list.d.ts +0 -11
- package/dist/components/wm-file.d.ts +0 -11
- package/dist/components/wm-flyout.d.ts +0 -11
- package/dist/components/wm-input.d.ts +0 -11
- package/dist/components/wm-line-chart.d.ts +0 -11
- package/dist/components/wm-menuitem.d.ts +0 -11
- package/dist/components/wm-modal-footer.d.ts +0 -11
- package/dist/components/wm-modal-header.d.ts +0 -11
- package/dist/components/wm-modal-pss-footer.d.ts +0 -11
- package/dist/components/wm-modal-pss-header.d.ts +0 -11
- package/dist/components/wm-modal-pss.d.ts +0 -11
- package/dist/components/wm-modal.d.ts +0 -11
- package/dist/components/wm-navigation-hamburger.d.ts +0 -11
- package/dist/components/wm-navigation-item.d.ts +0 -11
- package/dist/components/wm-navigation.d.ts +0 -11
- package/dist/components/wm-navigator.d.ts +0 -11
- package/dist/components/wm-nested-select.d.ts +0 -11
- package/dist/components/wm-optgroup.d.ts +0 -11
- package/dist/components/wm-option.d.ts +0 -11
- package/dist/components/wm-pagination.d.ts +0 -11
- package/dist/components/wm-progress-indicator.d.ts +0 -11
- package/dist/components/wm-progress-monitor.d.ts +0 -11
- package/dist/components/wm-progress-slice.d.ts +0 -11
- package/dist/components/wm-search.d.ts +0 -11
- package/dist/components/wm-select.d.ts +0 -11
- package/dist/components/wm-snackbar.d.ts +0 -11
- package/dist/components/wm-tab-item.d.ts +0 -11
- package/dist/components/wm-tab-list.d.ts +0 -11
- package/dist/components/wm-tab-panel.d.ts +0 -11
- package/dist/components/wm-tag-input.d.ts +0 -11
- package/dist/components/wm-tag-option.d.ts +0 -11
- package/dist/components/wm-textarea.d.ts +0 -11
- package/dist/components/wm-timepicker.d.ts +0 -11
- package/dist/components/wm-toggletip.d.ts +0 -11
- package/dist/components/wm-uploader.d.ts +0 -11
- package/dist/components/wm-wrapper.d.ts +0 -11
- package/dist/ripple/index-CU5QNCKv.js +0 -4167
- package/dist/ripple/interfaces-CrANcZM9.js +0 -53
- package/dist/ripple/wm-button.entry.js +0 -197
- package/dist/ripple/wm-chart.entry.js +0 -157
- package/dist/ripple/wm-modal-pss-footer.entry.js +0 -40
- package/dist/ripple/wm-modal-pss-header.entry.js +0 -39
- package/dist/ripple/wm-navigation-hamburger.entry.js +0 -48
- package/dist/ripple/wm-navigation-item.entry.js +0 -18
- package/dist/ripple/wm-option.entry.js +0 -171
- package/dist/ripple/wm-progress-slice.entry.js +0 -13
- package/dist/ripple/wm-select.entry.js +0 -249
- package/dist/ripple/wm-tab-item.entry.js +0 -63
- package/dist/ripple/wm-uploader.entry.js +0 -313
|
@@ -0,0 +1,932 @@
|
|
|
1
|
+
import { h, Host } from "@stencil/core";
|
|
2
|
+
import { debounce, getTextDir, hideTooltip, showTooltip, findAllScrollableParents } from "../../global/functions";
|
|
3
|
+
/**
|
|
4
|
+
* Dropdown interface that displays a list of action items. When closed it shows a text
|
|
5
|
+
* button, icon button, or selector box depending on action-menu-type. Selecting an item
|
|
6
|
+
* executes an action and closes the menu. Composed of a parent wm-action-menu element and
|
|
7
|
+
* one or more wm-menuitem children.
|
|
8
|
+
*
|
|
9
|
+
* @category Basic Controls
|
|
10
|
+
*
|
|
11
|
+
* @slot - One or more wm-menuitem elements.
|
|
12
|
+
*
|
|
13
|
+
* @keyboardInteraction
|
|
14
|
+
* - **Trigger button (closed)**: Down Arrow / Space / Enter opens the menu and focuses the first item; Up Arrow opens and focuses the last item.
|
|
15
|
+
* - **Open menu**: Up/Down Arrow navigates items (wraps around); Home/End jumps to first/last; Enter activates the focused item and closes the menu; Escape closes the menu and returns focus to the trigger; Tab closes the menu; typing a character focuses the next item starting with that letter.
|
|
16
|
+
*
|
|
17
|
+
* @accessibility
|
|
18
|
+
* - For `icon` menus, `tooltip` is required and serves as the accessible name announced by screen readers.
|
|
19
|
+
* - When multiple action menus share identical tooltips or button text, use `label-for-identical-buttons` to give each a unique `aria-label`.
|
|
20
|
+
* - Focus returns automatically to the trigger button after an item is activated, unless the action removes the trigger from the DOM — in that case, manage focus explicitly in your action handler.
|
|
21
|
+
*
|
|
22
|
+
* @usageNotes
|
|
23
|
+
* - The default type is `icon` (three-dot "more options" button). Use `text` for a labelled trigger, `selector` or `selector-primary` for a select-box appearance.
|
|
24
|
+
* - `button-text` is required when `action-menu-type` is `text`, `selector`, or `selector-primary`.
|
|
25
|
+
* - `tooltip` is required when `action-menu-type` is `icon`.
|
|
26
|
+
* - `icon` is optional for `text`, `selector`, and `selector-primary` types, rendered alongside `button-text`. For `icon` type, `icon` overrides the default "more options" icon.
|
|
27
|
+
*
|
|
28
|
+
* @example {html} Icon action menu (default)
|
|
29
|
+
* <wm-action-menu tooltip="More options">
|
|
30
|
+
* <wm-menuitem onclick="editRecord()">Edit</wm-menuitem>
|
|
31
|
+
* <wm-menuitem onclick="deleteRecord()">Delete</wm-menuitem>
|
|
32
|
+
* </wm-action-menu>
|
|
33
|
+
*
|
|
34
|
+
* @example {react} Icon action menu
|
|
35
|
+
* <WmActionMenu tooltip="More options">
|
|
36
|
+
* <WmMenuitem onClick={editRecord}>Edit</WmMenuitem>
|
|
37
|
+
* <WmMenuitem onClick={deleteRecord}>Delete</WmMenuitem>
|
|
38
|
+
* </WmActionMenu>
|
|
39
|
+
*
|
|
40
|
+
* @example {html} Icon action menu with a custom icon
|
|
41
|
+
* <wm-action-menu icon="#filter" tooltip="Filter options">
|
|
42
|
+
* <wm-menuitem>All</wm-menuitem>
|
|
43
|
+
* <wm-menuitem>Unread</wm-menuitem>
|
|
44
|
+
* </wm-action-menu>
|
|
45
|
+
*
|
|
46
|
+
* @example {react} Icon action menu with a custom icon
|
|
47
|
+
* <WmActionMenu icon="#filter" tooltip="Filter options">
|
|
48
|
+
* <WmMenuitem>All</WmMenuitem>
|
|
49
|
+
* <WmMenuitem>Unread</WmMenuitem>
|
|
50
|
+
* </WmActionMenu>
|
|
51
|
+
*
|
|
52
|
+
* @example {html} Icon action menu with a rotated icon — reuse directional icons with icon-rotate.
|
|
53
|
+
* <wm-action-menu icon="#back" icon-rotate="180" tooltip="Forward options">
|
|
54
|
+
* <wm-menuitem>Skip</wm-menuitem>
|
|
55
|
+
* <wm-menuitem>Skip all</wm-menuitem>
|
|
56
|
+
* </wm-action-menu>
|
|
57
|
+
*
|
|
58
|
+
* @example {react} Icon action menu with a rotated icon
|
|
59
|
+
* <WmActionMenu icon="#back" iconRotate={180} tooltip="Forward options">
|
|
60
|
+
* <WmMenuitem>Skip</WmMenuitem>
|
|
61
|
+
* <WmMenuitem>Skip all</WmMenuitem>
|
|
62
|
+
* </WmActionMenu>
|
|
63
|
+
*
|
|
64
|
+
* @example {html} Text action menu
|
|
65
|
+
* <wm-action-menu action-menu-type="text" button-text="Actions">
|
|
66
|
+
* <wm-menuitem onclick="editRecord()">Edit</wm-menuitem>
|
|
67
|
+
* <wm-menuitem onclick="deleteRecord()">Delete</wm-menuitem>
|
|
68
|
+
* </wm-action-menu>
|
|
69
|
+
*
|
|
70
|
+
* @example {react} Text action menu
|
|
71
|
+
* <WmActionMenu actionMenuType="text" buttonText="Actions">
|
|
72
|
+
* <WmMenuitem onClick={editRecord}>Edit</WmMenuitem>
|
|
73
|
+
* <WmMenuitem onClick={deleteRecord}>Delete</WmMenuitem>
|
|
74
|
+
* </WmActionMenu>
|
|
75
|
+
*
|
|
76
|
+
* @example {html} Text action menu with an icon
|
|
77
|
+
* <wm-action-menu action-menu-type="text" button-text="Actions" icon="#edit">
|
|
78
|
+
* <wm-menuitem>Edit</wm-menuitem>
|
|
79
|
+
* <wm-menuitem>Delete</wm-menuitem>
|
|
80
|
+
* </wm-action-menu>
|
|
81
|
+
*
|
|
82
|
+
* @example {react} Text action menu with an icon
|
|
83
|
+
* <WmActionMenu actionMenuType="text" buttonText="Actions" icon="#edit">
|
|
84
|
+
* <WmMenuitem>Edit</WmMenuitem>
|
|
85
|
+
* <WmMenuitem>Delete</WmMenuitem>
|
|
86
|
+
* </WmActionMenu>
|
|
87
|
+
*
|
|
88
|
+
* @example {html} Selector action menu
|
|
89
|
+
* <wm-action-menu action-menu-type="selector" button-text="Sort by">
|
|
90
|
+
* <wm-menuitem onclick="sortBy('name')">Name</wm-menuitem>
|
|
91
|
+
* <wm-menuitem onclick="sortBy('date')">Date</wm-menuitem>
|
|
92
|
+
* </wm-action-menu>
|
|
93
|
+
*
|
|
94
|
+
* @example {react} Selector action menu
|
|
95
|
+
* <WmActionMenu actionMenuType="selector" buttonText="Sort by">
|
|
96
|
+
* <WmMenuitem onClick={() => sortBy("name")}>Name</WmMenuitem>
|
|
97
|
+
* <WmMenuitem onClick={() => sortBy("date")}>Date</WmMenuitem>
|
|
98
|
+
* </WmActionMenu>
|
|
99
|
+
*
|
|
100
|
+
* @example {html} Menu items with icons
|
|
101
|
+
* <wm-action-menu tooltip="File actions">
|
|
102
|
+
* <wm-menuitem icon="#edit" onclick="editFile()">Edit</wm-menuitem>
|
|
103
|
+
* <wm-menuitem icon="#delete" onclick="deleteFile()">Delete</wm-menuitem>
|
|
104
|
+
* </wm-action-menu>
|
|
105
|
+
*
|
|
106
|
+
* @example {react} Menu items with icons
|
|
107
|
+
* <WmActionMenu tooltip="File actions">
|
|
108
|
+
* <WmMenuitem icon="#edit" onClick={editFile}>Edit</WmMenuitem>
|
|
109
|
+
* <WmMenuitem icon="#delete" onClick={deleteFile}>Delete</WmMenuitem>
|
|
110
|
+
* </WmActionMenu>
|
|
111
|
+
*
|
|
112
|
+
* @example {html} Identical menus — disambiguate for screen readers with label-for-identical-buttons
|
|
113
|
+
* <wm-action-menu tooltip="Actions" label-for-identical-buttons="Actions for Introduction to Biology">
|
|
114
|
+
* <wm-menuitem onclick="editCourse('bio-101')">Edit</wm-menuitem>
|
|
115
|
+
* </wm-action-menu>
|
|
116
|
+
* <wm-action-menu tooltip="Actions" label-for-identical-buttons="Actions for Advanced Chemistry">
|
|
117
|
+
* <wm-menuitem onclick="editCourse('chem-301')">Edit</wm-menuitem>
|
|
118
|
+
* </wm-action-menu>
|
|
119
|
+
*
|
|
120
|
+
* @example {react} Identical menus
|
|
121
|
+
* <WmActionMenu tooltip="Actions" labelForIdenticalButtons="Actions for Introduction to Biology">
|
|
122
|
+
* <WmMenuitem onClick={() => editCourse("bio-101")}>Edit</WmMenuitem>
|
|
123
|
+
* </WmActionMenu>
|
|
124
|
+
* <WmActionMenu tooltip="Actions" labelForIdenticalButtons="Actions for Advanced Chemistry">
|
|
125
|
+
* <WmMenuitem onClick={() => editCourse("chem-301")}>Edit</WmMenuitem>
|
|
126
|
+
* </WmActionMenu>
|
|
127
|
+
*
|
|
128
|
+
* @requiredSetup
|
|
129
|
+
* - Wire each item's action: attach an `onclick` handler to each wm-menuitem.
|
|
130
|
+
* - Slot one wm-menuitem per action as a child.
|
|
131
|
+
*
|
|
132
|
+
*/
|
|
133
|
+
export class ActionMenu {
|
|
134
|
+
constructor() {
|
|
135
|
+
this.openUp = false;
|
|
136
|
+
this.scrollableParents = [];
|
|
137
|
+
this.hasAnchor = CSS.supports("top", "anchor(bottom)");
|
|
138
|
+
this.keysSoFar = "";
|
|
139
|
+
this.searchIndex = 0;
|
|
140
|
+
this.debouncedClearKeysSoFar = debounce(() => {
|
|
141
|
+
this.keysSoFar = "";
|
|
142
|
+
}, 500);
|
|
143
|
+
this.isExpanded = false;
|
|
144
|
+
this.isTabbing = false;
|
|
145
|
+
this.isHidden = false;
|
|
146
|
+
this.tooltipPosition = undefined;
|
|
147
|
+
this.actionMenuType = "icon";
|
|
148
|
+
this.buttonText = undefined;
|
|
149
|
+
this.icon = undefined;
|
|
150
|
+
this.iconSize = undefined;
|
|
151
|
+
this.iconRotate = undefined;
|
|
152
|
+
this.iconFlip = undefined;
|
|
153
|
+
this.disabled = false;
|
|
154
|
+
this.tooltip = undefined;
|
|
155
|
+
this.labelForIdenticalButtons = undefined;
|
|
156
|
+
this.darkMode = undefined;
|
|
157
|
+
this.maxWidth = "25.875rem";
|
|
158
|
+
}
|
|
159
|
+
get horizontalPosition() {
|
|
160
|
+
var _a, _b, _c;
|
|
161
|
+
const rect = (_a = this.menubtnEl) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect();
|
|
162
|
+
const spaceLeft = rect === null || rect === void 0 ? void 0 : rect.left;
|
|
163
|
+
const spaceRight = document.documentElement.clientWidth - (rect === null || rect === void 0 ? void 0 : rect.right);
|
|
164
|
+
const pos = ((_b = this.dropdownEl) === null || _b === void 0 ? void 0 : _b.clientWidth) > spaceLeft && ((_c = this.dropdownEl) === null || _c === void 0 ? void 0 : _c.clientWidth) <= spaceRight ? "right" : "left";
|
|
165
|
+
return pos || "left";
|
|
166
|
+
}
|
|
167
|
+
get childItems() {
|
|
168
|
+
return Array.from(this.el.querySelectorAll("wm-menuitem"));
|
|
169
|
+
}
|
|
170
|
+
get internalButtonType() {
|
|
171
|
+
return this.actionMenuType === "icon" || this.actionMenuType === "text"
|
|
172
|
+
? this.actionMenuType + "only"
|
|
173
|
+
: this.actionMenuType;
|
|
174
|
+
}
|
|
175
|
+
get resolvedIcon() {
|
|
176
|
+
return this.icon || (this.actionMenuType === "icon" ? "#more-options" : undefined);
|
|
177
|
+
}
|
|
178
|
+
handleTabbingOn() {
|
|
179
|
+
this.isTabbing = true;
|
|
180
|
+
}
|
|
181
|
+
handleTabbingOff() {
|
|
182
|
+
this.isTabbing = false;
|
|
183
|
+
}
|
|
184
|
+
handleWindowScroll() {
|
|
185
|
+
hideTooltip();
|
|
186
|
+
}
|
|
187
|
+
handleClickedItem() {
|
|
188
|
+
this.close();
|
|
189
|
+
}
|
|
190
|
+
handleKeyUp(ev) {
|
|
191
|
+
this.moveUp(ev.target);
|
|
192
|
+
}
|
|
193
|
+
handleKeyDown(ev) {
|
|
194
|
+
this.moveDown(ev.detail);
|
|
195
|
+
}
|
|
196
|
+
handleHomeKey() {
|
|
197
|
+
this.focusFirstItem();
|
|
198
|
+
}
|
|
199
|
+
handleEndKey() {
|
|
200
|
+
this.focusLastItem();
|
|
201
|
+
}
|
|
202
|
+
handleTabKey() {
|
|
203
|
+
if (this.isExpanded) {
|
|
204
|
+
this.close();
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
handleEscKey() {
|
|
208
|
+
this.close();
|
|
209
|
+
this.menubtnEl.focus();
|
|
210
|
+
}
|
|
211
|
+
handleKey(ev) {
|
|
212
|
+
switch (ev.key) {
|
|
213
|
+
case "ArrowDown":
|
|
214
|
+
if (!this.isExpanded) {
|
|
215
|
+
ev.preventDefault();
|
|
216
|
+
this.elToFocus = "next";
|
|
217
|
+
this.open();
|
|
218
|
+
}
|
|
219
|
+
break;
|
|
220
|
+
case "ArrowUp":
|
|
221
|
+
if (!this.isExpanded) {
|
|
222
|
+
ev.preventDefault();
|
|
223
|
+
this.elToFocus = "previous";
|
|
224
|
+
this.open();
|
|
225
|
+
}
|
|
226
|
+
break;
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
handleMenuitemBlur(ev) {
|
|
230
|
+
const toElOrChild = ev.detail.relatedTarget === this.el || this.el.contains(ev.detail.relatedTarget);
|
|
231
|
+
// if the Menuitem is blurred to something other than the component, emit a blur event with the appropriate relatedTarget
|
|
232
|
+
// keeps our component's blur events accurate, and closes when focusing browser address bar
|
|
233
|
+
if (!toElOrChild) {
|
|
234
|
+
const event = new CustomEvent("blur");
|
|
235
|
+
// @ts-ignore
|
|
236
|
+
event.relatedTarget = ev.detail.relatedTarget;
|
|
237
|
+
this.el.dispatchEvent(event);
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
handleButtonBlur(ev) {
|
|
241
|
+
const toElOrChild = ev.relatedTarget === this.el || this.el.contains(ev.relatedTarget);
|
|
242
|
+
if (toElOrChild) {
|
|
243
|
+
// do not emit a blur event when opening the dropdown and focusing the Menuitems
|
|
244
|
+
ev.stopPropagation();
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
handleScroll() {
|
|
248
|
+
if (!this.hasAnchor && this.isExpanded) {
|
|
249
|
+
this.close();
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
componentWillLoad() {
|
|
253
|
+
if (!this.hasAnchor) {
|
|
254
|
+
this.isHidden = true;
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
componentDidLoad() {
|
|
258
|
+
if (this.actionMenuType !== "icon" && !this.buttonText) {
|
|
259
|
+
console.error("wm-action-menu should have a valid button-text property when action-menu-type is set to 'text' or 'selector'");
|
|
260
|
+
}
|
|
261
|
+
if (this.actionMenuType === "icon" && !this.tooltip) {
|
|
262
|
+
console.error("wm-action-menu should have a valid tooltip when action-menu-type is set to 'icon'");
|
|
263
|
+
}
|
|
264
|
+
if (document.body.classList.contains("wmcl-user-is-tabbing")) {
|
|
265
|
+
this.isTabbing = true;
|
|
266
|
+
}
|
|
267
|
+
if (!this.hasAnchor) {
|
|
268
|
+
this.scrollableParents = findAllScrollableParents(this.el);
|
|
269
|
+
// Add scroll listeners to all scrollable parents
|
|
270
|
+
this.scrollableParents.forEach((parent) => {
|
|
271
|
+
if (parent === document.documentElement) {
|
|
272
|
+
// For document element, listen to window scroll event
|
|
273
|
+
window.addEventListener("scroll", () => this.handleScroll());
|
|
274
|
+
}
|
|
275
|
+
else {
|
|
276
|
+
// For regular elements, listen to their scroll event
|
|
277
|
+
parent.addEventListener("scroll", () => this.handleScroll());
|
|
278
|
+
}
|
|
279
|
+
});
|
|
280
|
+
}
|
|
281
|
+
this.wmActionMenuLoaded.emit();
|
|
282
|
+
this.menuLoaded.emit(); // deprecated
|
|
283
|
+
}
|
|
284
|
+
disconnectedCallback() {
|
|
285
|
+
if (!this.hasAnchor) {
|
|
286
|
+
this.scrollableParents.forEach((parent) => {
|
|
287
|
+
if (parent === document.documentElement) {
|
|
288
|
+
window.removeEventListener("scroll", () => this.handleScroll());
|
|
289
|
+
}
|
|
290
|
+
else {
|
|
291
|
+
parent.removeEventListener("scroll", () => this.handleScroll());
|
|
292
|
+
}
|
|
293
|
+
});
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
moveUp(el) {
|
|
297
|
+
const index = this.childItems.indexOf(el);
|
|
298
|
+
if (index === 0) {
|
|
299
|
+
this.focusLastItem();
|
|
300
|
+
}
|
|
301
|
+
else {
|
|
302
|
+
this.childItems[index - 1].focus();
|
|
303
|
+
}
|
|
304
|
+
}
|
|
305
|
+
moveDown(el) {
|
|
306
|
+
const index = this.childItems.indexOf(el);
|
|
307
|
+
if (index === this.childItems.length - 1) {
|
|
308
|
+
this.focusFirstItem();
|
|
309
|
+
}
|
|
310
|
+
else {
|
|
311
|
+
this.childItems[index + 1].focus();
|
|
312
|
+
}
|
|
313
|
+
}
|
|
314
|
+
open() {
|
|
315
|
+
if (!this.disabled) {
|
|
316
|
+
this.dropdownEl.showPopover();
|
|
317
|
+
}
|
|
318
|
+
}
|
|
319
|
+
close(returnFocus = true) {
|
|
320
|
+
this.dropdownEl.hidePopover();
|
|
321
|
+
// see onOpen
|
|
322
|
+
document.documentElement.style.overflowY = this.initialHtmlOverflowY || "";
|
|
323
|
+
this.dropdownEl.style.position = "fixed";
|
|
324
|
+
window.setTimeout(() => {
|
|
325
|
+
// if dev omits to assign focus after an action is triggered,
|
|
326
|
+
// the component brings the focus back on the button
|
|
327
|
+
// Focus will only be lost (and go to the body) once the menuitem
|
|
328
|
+
// is not visible anymore, so we need to wait for the transition to
|
|
329
|
+
// finish and the hidden class to be applied.
|
|
330
|
+
// also checking if focus stayed on the menuitem
|
|
331
|
+
if (returnFocus &&
|
|
332
|
+
(document.activeElement.tagName === "BODY" || document.activeElement.tagName === "WM-MENUITEM")) {
|
|
333
|
+
this.menubtnEl.focus();
|
|
334
|
+
}
|
|
335
|
+
}, 250);
|
|
336
|
+
}
|
|
337
|
+
positionDropdown() {
|
|
338
|
+
// only for browsers not supporting anchor
|
|
339
|
+
const rect = this.menubtnEl.getBoundingClientRect();
|
|
340
|
+
const spaceAbove = rect.top;
|
|
341
|
+
const spaceBelow = document.documentElement.clientHeight - rect.bottom;
|
|
342
|
+
const spaceLeft = rect === null || rect === void 0 ? void 0 : rect.left;
|
|
343
|
+
const spaceRight = document.documentElement.clientWidth - (rect === null || rect === void 0 ? void 0 : rect.right);
|
|
344
|
+
const dropdownHeight = this.dropdownEl.clientHeight;
|
|
345
|
+
const dropdownWidth = this.dropdownEl.clientWidth;
|
|
346
|
+
// Clear any previously set positioning properties
|
|
347
|
+
this.el.style.removeProperty("--dropdown-fallback-translate-y");
|
|
348
|
+
this.el.style.removeProperty("--dropdown-fallback-max-height");
|
|
349
|
+
this.el.style.removeProperty("--dropdown-fallback-max-width");
|
|
350
|
+
this.el.style.removeProperty("--dropdown-fallback-left");
|
|
351
|
+
// HORIZONTAL POSITION
|
|
352
|
+
// action menu usually is on the right side of the screen,
|
|
353
|
+
// so dropdown opens to the left by default (is anchored on the right corner)
|
|
354
|
+
const left = this.horizontalPosition === "right"
|
|
355
|
+
? // not enough room left and enough room right: opens to the right
|
|
356
|
+
rect.left
|
|
357
|
+
: // default:
|
|
358
|
+
rect.right - this.dropdownEl.clientWidth;
|
|
359
|
+
this.el.style.setProperty("--dropdown-fallback-left", left + "px");
|
|
360
|
+
// exception: if there's not enough space to display the dropdown, show where there's the most space and constrain it.
|
|
361
|
+
if (dropdownWidth > spaceLeft && dropdownWidth > spaceRight) {
|
|
362
|
+
if (spaceLeft >= spaceRight) {
|
|
363
|
+
this.el.style.setProperty("--dropdown-fallback-left", 0 + "px");
|
|
364
|
+
this.el.style.setProperty("--dropdown-fallback-max-width", spaceLeft + dropdownWidth + "px");
|
|
365
|
+
}
|
|
366
|
+
else {
|
|
367
|
+
this.el.style.setProperty("--dropdown-fallback-left", spaceLeft + "px");
|
|
368
|
+
this.el.style.setProperty("--dropdown-fallback-max-width", spaceRight + "px");
|
|
369
|
+
}
|
|
370
|
+
}
|
|
371
|
+
// VERTICAL POSITION
|
|
372
|
+
if (dropdownHeight <= spaceBelow) {
|
|
373
|
+
// Case 1: Enough space below - position dropdown below the button
|
|
374
|
+
this.el.style.setProperty("--dropdown-fallback-translate-y", rect.bottom + "px");
|
|
375
|
+
}
|
|
376
|
+
else if (dropdownHeight <= spaceAbove) {
|
|
377
|
+
// Case 2: Not enough space below, but enough above - position dropdown above the button
|
|
378
|
+
this.el.style.setProperty("--dropdown-fallback-translate-y", rect.top - dropdownHeight + "px");
|
|
379
|
+
}
|
|
380
|
+
else {
|
|
381
|
+
// Case 3: Not enough space in either direction - use the larger available space and constrain height
|
|
382
|
+
if (spaceBelow >= spaceAbove) {
|
|
383
|
+
// Use space below and constrain dropdown height
|
|
384
|
+
this.el.style.setProperty("--dropdown-fallback-translate-y", rect.bottom + "px");
|
|
385
|
+
this.el.style.setProperty("--dropdown-fallback-max-height", spaceBelow + "px");
|
|
386
|
+
}
|
|
387
|
+
else {
|
|
388
|
+
// Use space above and constrain dropdown height
|
|
389
|
+
this.el.style.setProperty("--dropdown-fallback-translate-y", "0px");
|
|
390
|
+
this.el.style.setProperty("--dropdown-fallback-max-height", spaceAbove + "px");
|
|
391
|
+
}
|
|
392
|
+
}
|
|
393
|
+
this.isHidden = false;
|
|
394
|
+
}
|
|
395
|
+
handleToggle(ev) {
|
|
396
|
+
if (ev.newState === "open") {
|
|
397
|
+
if (!this.hasAnchor) {
|
|
398
|
+
this.positionDropdown();
|
|
399
|
+
}
|
|
400
|
+
requestAnimationFrame(() => {
|
|
401
|
+
if (this.hasAnchor) {
|
|
402
|
+
const anchorRect = this.menubtnEl.getBoundingClientRect();
|
|
403
|
+
const hasSpaceBelow = this.dropdownEl.offsetHeight <= document.documentElement.clientHeight - anchorRect.bottom;
|
|
404
|
+
const hasSpaceAbove = this.dropdownEl.offsetHeight <= anchorRect.top;
|
|
405
|
+
this.openUp = !hasSpaceBelow && hasSpaceAbove;
|
|
406
|
+
if (!hasSpaceBelow && !hasSpaceAbove) {
|
|
407
|
+
// dropdown will open downwards but doesn't have enough space
|
|
408
|
+
// it needs to be absolutely positioned + html has to have overflow-y auto
|
|
409
|
+
// (the default, but could have been overriden)
|
|
410
|
+
// in order to ensure the options can be scrolled to
|
|
411
|
+
// (would already be possible if the page has content below. this is in case select was at bottom of page)
|
|
412
|
+
this.initialHtmlOverflowY = document.documentElement.style.overflowY;
|
|
413
|
+
document.documentElement.style.overflowY = "auto";
|
|
414
|
+
this.dropdownEl.style.position = "absolute";
|
|
415
|
+
}
|
|
416
|
+
}
|
|
417
|
+
this.isExpanded = true;
|
|
418
|
+
});
|
|
419
|
+
setTimeout(() => {
|
|
420
|
+
// focusing doesn't work when within requestAnimationFrame
|
|
421
|
+
this.elToFocus === "previous" ? this.focusLastItem() : this.focusFirstItem();
|
|
422
|
+
this.elToFocus = undefined;
|
|
423
|
+
}, 50);
|
|
424
|
+
}
|
|
425
|
+
else {
|
|
426
|
+
this.isExpanded = false;
|
|
427
|
+
if (!this.hasAnchor) {
|
|
428
|
+
this.isHidden = true;
|
|
429
|
+
}
|
|
430
|
+
}
|
|
431
|
+
}
|
|
432
|
+
focusFirstItem() {
|
|
433
|
+
this.childItems[0].focus();
|
|
434
|
+
}
|
|
435
|
+
focusLastItem() {
|
|
436
|
+
this.childItems[this.childItems.length - 1].focus();
|
|
437
|
+
}
|
|
438
|
+
findAndFocusItem(ev) {
|
|
439
|
+
if (!this.keysSoFar && ev.detail == " ") {
|
|
440
|
+
// if the first key entered is space, treat as a click. Otherwise include in
|
|
441
|
+
ev.target.click();
|
|
442
|
+
}
|
|
443
|
+
else {
|
|
444
|
+
const character = ev.detail.toLowerCase();
|
|
445
|
+
this.focusFirstItem();
|
|
446
|
+
if (!this.keysSoFar) {
|
|
447
|
+
this.childItems.forEach((item, idx) => {
|
|
448
|
+
if (item === document.activeElement) {
|
|
449
|
+
this.searchIndex = idx;
|
|
450
|
+
}
|
|
451
|
+
});
|
|
452
|
+
}
|
|
453
|
+
this.keysSoFar += character;
|
|
454
|
+
let nextMatch = this.findMatchInRange(this.childItems, this.searchIndex + 1, this.childItems.length);
|
|
455
|
+
if (!nextMatch) {
|
|
456
|
+
nextMatch = this.findMatchInRange(this.childItems, 0, this.searchIndex);
|
|
457
|
+
}
|
|
458
|
+
if (nextMatch) {
|
|
459
|
+
nextMatch.focus();
|
|
460
|
+
}
|
|
461
|
+
this.debouncedClearKeysSoFar();
|
|
462
|
+
}
|
|
463
|
+
}
|
|
464
|
+
findMatchInRange(list, startIndex, endIndex) {
|
|
465
|
+
// Find the first item starting with the keysSoFar substring, searching in
|
|
466
|
+
// the specified range of items
|
|
467
|
+
for (var n = startIndex; n < endIndex; n++) {
|
|
468
|
+
var label = list[n].textContent;
|
|
469
|
+
if (label && label.toLowerCase().indexOf(this.keysSoFar) === 0) {
|
|
470
|
+
return list[n];
|
|
471
|
+
}
|
|
472
|
+
}
|
|
473
|
+
return null;
|
|
474
|
+
}
|
|
475
|
+
renderIcon() {
|
|
476
|
+
const icon = this.resolvedIcon;
|
|
477
|
+
let defaultIconSize = "";
|
|
478
|
+
switch (this.actionMenuType) {
|
|
479
|
+
case "icon":
|
|
480
|
+
defaultIconSize = "24px";
|
|
481
|
+
break;
|
|
482
|
+
case "selector":
|
|
483
|
+
case "selector-primary":
|
|
484
|
+
case "text":
|
|
485
|
+
defaultIconSize = "18px";
|
|
486
|
+
break;
|
|
487
|
+
}
|
|
488
|
+
const iconSize = this.iconSize || defaultIconSize;
|
|
489
|
+
let transform = "";
|
|
490
|
+
transform += this.iconRotate ? `rotate(${this.iconRotate}deg)` : "";
|
|
491
|
+
transform += this.iconFlip === "horizontal" ? "scaleX(-1)" : "";
|
|
492
|
+
transform += this.iconFlip === "vertical" ? "scaleY(-1)" : "";
|
|
493
|
+
const iconStyle = Object.assign(Object.assign({}, (iconSize && { "--icon-size": iconSize })), (transform && { transform }));
|
|
494
|
+
if (icon.match(/^\/\S*[#]\S*/)) {
|
|
495
|
+
// starts with /, any number of non-whitespace characters, followed by #, followed by any non-whitespace characters
|
|
496
|
+
// Relative Path & Symbol
|
|
497
|
+
return (h("svg", { xmlns: "http://www.w3.org/2000/svg", class: "svg-icon", style: Object.assign(Object.assign({}, iconStyle), { "--icon-fill": "currentColor" }), fill: "currentColor" }, h("use", { href: icon })));
|
|
498
|
+
}
|
|
499
|
+
else {
|
|
500
|
+
// Icon ID (strip the leading '#')
|
|
501
|
+
return h("span", { class: `icn svg-icon svg-${icon.replace(/^#/, "")}`, style: iconStyle });
|
|
502
|
+
}
|
|
503
|
+
}
|
|
504
|
+
render() {
|
|
505
|
+
return (h(Host, { key: 'eb20a161bd962f795c01aee20cbb6cfb38aa1298', onBlur: () => this.close(false) }, h("div", { key: '64e1cae1f801c02a3a1511daf48ed8742dd07549', class: getTextDir() }, h("button", { key: 'c13f164b91f79b04bad6ed6d600411f9403beba3', ref: (el) => (this.menubtnEl = el), id: "menubtn", class: `wm-button -${this.internalButtonType}${this.darkMode ? " dark" : ""}${this.isTabbing ? " user-is-tabbing" : ""}`, disabled: this.disabled, "aria-label": this.internalButtonType === "icononly"
|
|
506
|
+
? this.labelForIdenticalButtons || this.tooltip
|
|
507
|
+
: this.labelForIdenticalButtons || undefined, "aria-expanded": this.isExpanded ? "true" : "false", "aria-haspopup": "menu", popoverTarget: "menu", popoverTargetAction: "toggle", onMouseEnter: () => this.actionMenuType === "icon" &&
|
|
508
|
+
showTooltip(this.tooltipPosition || this.horizontalPosition, this.menubtnEl, this.tooltip), onMouseLeave: () => hideTooltip(), onFocus: () => this.isTabbing &&
|
|
509
|
+
this.actionMenuType === "icon" &&
|
|
510
|
+
showTooltip(this.tooltipPosition || this.horizontalPosition, this.menubtnEl, this.tooltip), onBlur: (ev) => {
|
|
511
|
+
hideTooltip();
|
|
512
|
+
this.handleButtonBlur(ev);
|
|
513
|
+
} }, this.resolvedIcon && this.renderIcon(), this.actionMenuType !== "icon" && h("span", { key: 'd8a78e82fe0b79a8451a291072dcbf0decfc116e', class: "button-text" }, this.buttonText), (this.actionMenuType === "selector" || this.actionMenuType === "selector-primary") && (h("div", { key: '61b47819884f55840189e002278303b64e17ec51', class: "selector-icon svg-icon svg-expand-more" }))), h("div", { key: '546fdc27f7e0243d7ceb958aed363dc390f66a2f', class: `dropdown ${this.isExpanded ? "is-open" : ""} ${this.isHidden ? "hidden" : ""} ${this.openUp ? "open-up" : ""} ${this.horizontalPosition}`, id: "menu", popover: "auto", tabindex: -1, role: "menu", style: { "--dropdown-max-width": this.maxWidth }, ref: (el) => (this.dropdownEl = el),
|
|
514
|
+
// @ts-ignore -- don't tell typescript but we're in the future
|
|
515
|
+
onToggle: (ev) => this.handleToggle(ev) }, h("slot", { key: 'c6c8ca6e6f3d81083dc3514f9362e4f0288da22e' })))));
|
|
516
|
+
}
|
|
517
|
+
static get is() { return "wm-action-menu"; }
|
|
518
|
+
static get encapsulation() { return "shadow"; }
|
|
519
|
+
static get delegatesFocus() { return true; }
|
|
520
|
+
static get originalStyleUrls() {
|
|
521
|
+
return {
|
|
522
|
+
"$": ["wm-action-menu.scss"]
|
|
523
|
+
};
|
|
524
|
+
}
|
|
525
|
+
static get styleUrls() {
|
|
526
|
+
return {
|
|
527
|
+
"$": ["wm-action-menu.css"]
|
|
528
|
+
};
|
|
529
|
+
}
|
|
530
|
+
static get properties() {
|
|
531
|
+
return {
|
|
532
|
+
"tooltipPosition": {
|
|
533
|
+
"type": "string",
|
|
534
|
+
"mutable": false,
|
|
535
|
+
"complexType": {
|
|
536
|
+
"original": "| \"top\"\n | \"bottom\"\n | \"left\"\n | \"right\"\n | \"bottom-left\"\n | \"bottom-right\"\n | \"top-right\"\n | \"top-left\"",
|
|
537
|
+
"resolved": "\"bottom\" | \"bottom-left\" | \"bottom-right\" | \"left\" | \"right\" | \"top\" | \"top-left\" | \"top-right\" | undefined",
|
|
538
|
+
"references": {}
|
|
539
|
+
},
|
|
540
|
+
"required": false,
|
|
541
|
+
"optional": true,
|
|
542
|
+
"docs": {
|
|
543
|
+
"tags": [{
|
|
544
|
+
"name": "description",
|
|
545
|
+
"text": "Position of the tooltip relative to the trigger button. Repositions automatically when there is insufficient space at the specified position."
|
|
546
|
+
}, {
|
|
547
|
+
"name": "default",
|
|
548
|
+
"text": "\"left\""
|
|
549
|
+
}],
|
|
550
|
+
"text": ""
|
|
551
|
+
},
|
|
552
|
+
"attribute": "tooltip-position",
|
|
553
|
+
"reflect": false
|
|
554
|
+
},
|
|
555
|
+
"actionMenuType": {
|
|
556
|
+
"type": "string",
|
|
557
|
+
"mutable": false,
|
|
558
|
+
"complexType": {
|
|
559
|
+
"original": "\"icon\" | \"text\" | \"selector\" | \"selector-primary\"",
|
|
560
|
+
"resolved": "\"icon\" | \"selector\" | \"selector-primary\" | \"text\"",
|
|
561
|
+
"references": {}
|
|
562
|
+
},
|
|
563
|
+
"required": false,
|
|
564
|
+
"optional": false,
|
|
565
|
+
"docs": {
|
|
566
|
+
"tags": [{
|
|
567
|
+
"name": "description",
|
|
568
|
+
"text": "Visual style of the trigger button. `'icon'` shows an icon-only button (requires `tooltip`). `'text'` shows a labelled button (requires `button-text`). `'selector'` shows a selector box that visually mimics a select control (requires `button-text`). `'selector-primary'` is a primary-styled variant of selector."
|
|
569
|
+
}, {
|
|
570
|
+
"name": "default",
|
|
571
|
+
"text": "\"icon\""
|
|
572
|
+
}],
|
|
573
|
+
"text": ""
|
|
574
|
+
},
|
|
575
|
+
"attribute": "action-menu-type",
|
|
576
|
+
"reflect": false,
|
|
577
|
+
"defaultValue": "\"icon\""
|
|
578
|
+
},
|
|
579
|
+
"buttonText": {
|
|
580
|
+
"type": "string",
|
|
581
|
+
"mutable": false,
|
|
582
|
+
"complexType": {
|
|
583
|
+
"original": "string",
|
|
584
|
+
"resolved": "string | undefined",
|
|
585
|
+
"references": {}
|
|
586
|
+
},
|
|
587
|
+
"required": false,
|
|
588
|
+
"optional": true,
|
|
589
|
+
"docs": {
|
|
590
|
+
"tags": [{
|
|
591
|
+
"name": "description",
|
|
592
|
+
"text": "Label displayed on the trigger button."
|
|
593
|
+
}, {
|
|
594
|
+
"name": "conditionallyRequired",
|
|
595
|
+
"text": "when action-menu-type is 'text', 'selector', or 'selector-primary'"
|
|
596
|
+
}],
|
|
597
|
+
"text": ""
|
|
598
|
+
},
|
|
599
|
+
"attribute": "button-text",
|
|
600
|
+
"reflect": false
|
|
601
|
+
},
|
|
602
|
+
"icon": {
|
|
603
|
+
"type": "string",
|
|
604
|
+
"mutable": false,
|
|
605
|
+
"complexType": {
|
|
606
|
+
"original": "string",
|
|
607
|
+
"resolved": "string | undefined",
|
|
608
|
+
"references": {}
|
|
609
|
+
},
|
|
610
|
+
"required": false,
|
|
611
|
+
"optional": true,
|
|
612
|
+
"docs": {
|
|
613
|
+
"tags": [{
|
|
614
|
+
"name": "description",
|
|
615
|
+
"text": "Icon to display alongside `button-text` for `text`, `selector`, and `selector-primary`\ntypes, or in place of the default \"more options\" icon for the `icon` type. Formats: `'#icon-name'`\nfor a Ripple icon (e.g. `'#edit'`), or `'/path/to/file.svg#symbol-id'` for a local SVG sprite symbol."
|
|
616
|
+
}, {
|
|
617
|
+
"name": "default",
|
|
618
|
+
"text": "\"#more-options\" when action-menu-type is 'icon'; unset otherwise"
|
|
619
|
+
}],
|
|
620
|
+
"text": ""
|
|
621
|
+
},
|
|
622
|
+
"attribute": "icon",
|
|
623
|
+
"reflect": false
|
|
624
|
+
},
|
|
625
|
+
"iconSize": {
|
|
626
|
+
"type": "string",
|
|
627
|
+
"mutable": false,
|
|
628
|
+
"complexType": {
|
|
629
|
+
"original": "string",
|
|
630
|
+
"resolved": "string | undefined",
|
|
631
|
+
"references": {}
|
|
632
|
+
},
|
|
633
|
+
"required": false,
|
|
634
|
+
"optional": true,
|
|
635
|
+
"docs": {
|
|
636
|
+
"tags": [{
|
|
637
|
+
"name": "description",
|
|
638
|
+
"text": "Change size of the icon to fine tune the visual rendering if it appears too large or small. Not\nintended for general sizing. Accepts any valid CSS size value, e.g. '22px' or '1.3rem'."
|
|
639
|
+
}],
|
|
640
|
+
"text": ""
|
|
641
|
+
},
|
|
642
|
+
"attribute": "icon-size",
|
|
643
|
+
"reflect": false
|
|
644
|
+
},
|
|
645
|
+
"iconRotate": {
|
|
646
|
+
"type": "number",
|
|
647
|
+
"mutable": false,
|
|
648
|
+
"complexType": {
|
|
649
|
+
"original": "number",
|
|
650
|
+
"resolved": "number | undefined",
|
|
651
|
+
"references": {}
|
|
652
|
+
},
|
|
653
|
+
"required": false,
|
|
654
|
+
"optional": true,
|
|
655
|
+
"docs": {
|
|
656
|
+
"tags": [{
|
|
657
|
+
"name": "description",
|
|
658
|
+
"text": "Rotates the icon by the given number of degrees. For use with the icon property."
|
|
659
|
+
}],
|
|
660
|
+
"text": ""
|
|
661
|
+
},
|
|
662
|
+
"attribute": "icon-rotate",
|
|
663
|
+
"reflect": false
|
|
664
|
+
},
|
|
665
|
+
"iconFlip": {
|
|
666
|
+
"type": "string",
|
|
667
|
+
"mutable": false,
|
|
668
|
+
"complexType": {
|
|
669
|
+
"original": "\"horizontal\" | \"vertical\"",
|
|
670
|
+
"resolved": "\"horizontal\" | \"vertical\" | undefined",
|
|
671
|
+
"references": {}
|
|
672
|
+
},
|
|
673
|
+
"required": false,
|
|
674
|
+
"optional": true,
|
|
675
|
+
"docs": {
|
|
676
|
+
"tags": [{
|
|
677
|
+
"name": "description",
|
|
678
|
+
"text": "Flips the icon along the specified axis. For use with the icon property."
|
|
679
|
+
}],
|
|
680
|
+
"text": ""
|
|
681
|
+
},
|
|
682
|
+
"attribute": "icon-flip",
|
|
683
|
+
"reflect": false
|
|
684
|
+
},
|
|
685
|
+
"disabled": {
|
|
686
|
+
"type": "boolean",
|
|
687
|
+
"mutable": false,
|
|
688
|
+
"complexType": {
|
|
689
|
+
"original": "boolean",
|
|
690
|
+
"resolved": "boolean",
|
|
691
|
+
"references": {}
|
|
692
|
+
},
|
|
693
|
+
"required": false,
|
|
694
|
+
"optional": false,
|
|
695
|
+
"docs": {
|
|
696
|
+
"tags": [{
|
|
697
|
+
"name": "description",
|
|
698
|
+
"text": "Disables the entire menu, preventing the trigger from being activated."
|
|
699
|
+
}, {
|
|
700
|
+
"name": "default",
|
|
701
|
+
"text": "false"
|
|
702
|
+
}],
|
|
703
|
+
"text": ""
|
|
704
|
+
},
|
|
705
|
+
"attribute": "disabled",
|
|
706
|
+
"reflect": true,
|
|
707
|
+
"defaultValue": "false"
|
|
708
|
+
},
|
|
709
|
+
"tooltip": {
|
|
710
|
+
"type": "string",
|
|
711
|
+
"mutable": false,
|
|
712
|
+
"complexType": {
|
|
713
|
+
"original": "string",
|
|
714
|
+
"resolved": "string | undefined",
|
|
715
|
+
"references": {}
|
|
716
|
+
},
|
|
717
|
+
"required": false,
|
|
718
|
+
"optional": true,
|
|
719
|
+
"docs": {
|
|
720
|
+
"tags": [{
|
|
721
|
+
"name": "description",
|
|
722
|
+
"text": "Tooltip text shown on hover. For `icon` menus, also serves as the accessible name announced by screen readers."
|
|
723
|
+
}, {
|
|
724
|
+
"name": "conditionallyRequired",
|
|
725
|
+
"text": "when action-menu-type is 'icon'"
|
|
726
|
+
}],
|
|
727
|
+
"text": ""
|
|
728
|
+
},
|
|
729
|
+
"attribute": "tooltip",
|
|
730
|
+
"reflect": false
|
|
731
|
+
},
|
|
732
|
+
"labelForIdenticalButtons": {
|
|
733
|
+
"type": "string",
|
|
734
|
+
"mutable": false,
|
|
735
|
+
"complexType": {
|
|
736
|
+
"original": "string",
|
|
737
|
+
"resolved": "string | undefined",
|
|
738
|
+
"references": {}
|
|
739
|
+
},
|
|
740
|
+
"required": false,
|
|
741
|
+
"optional": true,
|
|
742
|
+
"docs": {
|
|
743
|
+
"tags": [{
|
|
744
|
+
"name": "description",
|
|
745
|
+
"text": "Use only when multiple action menus on the same page share identical tooltips or button text. Set this to a more descriptive label for screen readers; the visible label stays unchanged. Sets aria-label to this value."
|
|
746
|
+
}],
|
|
747
|
+
"text": ""
|
|
748
|
+
},
|
|
749
|
+
"attribute": "label-for-identical-buttons",
|
|
750
|
+
"reflect": false
|
|
751
|
+
},
|
|
752
|
+
"darkMode": {
|
|
753
|
+
"type": "boolean",
|
|
754
|
+
"mutable": false,
|
|
755
|
+
"complexType": {
|
|
756
|
+
"original": "boolean",
|
|
757
|
+
"resolved": "boolean | undefined",
|
|
758
|
+
"references": {}
|
|
759
|
+
},
|
|
760
|
+
"required": false,
|
|
761
|
+
"optional": true,
|
|
762
|
+
"docs": {
|
|
763
|
+
"tags": [{
|
|
764
|
+
"name": "description",
|
|
765
|
+
"text": "Applies dark styling to `selector` and `selector-primary` variants. Has no effect on `icon` or `text` types."
|
|
766
|
+
}, {
|
|
767
|
+
"name": "default",
|
|
768
|
+
"text": "false"
|
|
769
|
+
}],
|
|
770
|
+
"text": ""
|
|
771
|
+
},
|
|
772
|
+
"attribute": "dark-mode",
|
|
773
|
+
"reflect": false
|
|
774
|
+
},
|
|
775
|
+
"maxWidth": {
|
|
776
|
+
"type": "string",
|
|
777
|
+
"mutable": false,
|
|
778
|
+
"complexType": {
|
|
779
|
+
"original": "string",
|
|
780
|
+
"resolved": "string",
|
|
781
|
+
"references": {}
|
|
782
|
+
},
|
|
783
|
+
"required": false,
|
|
784
|
+
"optional": false,
|
|
785
|
+
"docs": {
|
|
786
|
+
"tags": [{
|
|
787
|
+
"name": "description",
|
|
788
|
+
"text": "Maximum width of the dropdown. Accepts any valid CSS width value (e.g. \"300px\", \"20rem\", \"50%\"). The dropdown may still render narrower to fit its content or the space available."
|
|
789
|
+
}, {
|
|
790
|
+
"name": "default",
|
|
791
|
+
"text": "\"25.875rem\""
|
|
792
|
+
}],
|
|
793
|
+
"text": ""
|
|
794
|
+
},
|
|
795
|
+
"attribute": "max-width",
|
|
796
|
+
"reflect": false,
|
|
797
|
+
"defaultValue": "\"25.875rem\""
|
|
798
|
+
}
|
|
799
|
+
};
|
|
800
|
+
}
|
|
801
|
+
static get states() {
|
|
802
|
+
return {
|
|
803
|
+
"isExpanded": {},
|
|
804
|
+
"isTabbing": {},
|
|
805
|
+
"isHidden": {}
|
|
806
|
+
};
|
|
807
|
+
}
|
|
808
|
+
static get events() {
|
|
809
|
+
return [{
|
|
810
|
+
"method": "wmActionMenuLoaded",
|
|
811
|
+
"name": "wmActionMenuLoaded",
|
|
812
|
+
"bubbles": true,
|
|
813
|
+
"cancelable": true,
|
|
814
|
+
"composed": true,
|
|
815
|
+
"docs": {
|
|
816
|
+
"tags": [{
|
|
817
|
+
"name": "description",
|
|
818
|
+
"text": "Fires when the component finishes loading and child wm-menuitem elements are ready."
|
|
819
|
+
}],
|
|
820
|
+
"text": ""
|
|
821
|
+
},
|
|
822
|
+
"complexType": {
|
|
823
|
+
"original": "any",
|
|
824
|
+
"resolved": "any",
|
|
825
|
+
"references": {}
|
|
826
|
+
}
|
|
827
|
+
}, {
|
|
828
|
+
"method": "menuLoaded",
|
|
829
|
+
"name": "menuLoaded",
|
|
830
|
+
"bubbles": true,
|
|
831
|
+
"cancelable": true,
|
|
832
|
+
"composed": true,
|
|
833
|
+
"docs": {
|
|
834
|
+
"tags": [{
|
|
835
|
+
"name": "description",
|
|
836
|
+
"text": "Fires when the component finishes loading."
|
|
837
|
+
}, {
|
|
838
|
+
"name": "deprecated",
|
|
839
|
+
"text": "Use wmActionMenuLoaded instead."
|
|
840
|
+
}],
|
|
841
|
+
"text": ""
|
|
842
|
+
},
|
|
843
|
+
"complexType": {
|
|
844
|
+
"original": "any",
|
|
845
|
+
"resolved": "any",
|
|
846
|
+
"references": {}
|
|
847
|
+
}
|
|
848
|
+
}];
|
|
849
|
+
}
|
|
850
|
+
static get elementRef() { return "el"; }
|
|
851
|
+
static get listeners() {
|
|
852
|
+
return [{
|
|
853
|
+
"name": "wmUserIsTabbing",
|
|
854
|
+
"method": "handleTabbingOn",
|
|
855
|
+
"target": "window",
|
|
856
|
+
"capture": false,
|
|
857
|
+
"passive": false
|
|
858
|
+
}, {
|
|
859
|
+
"name": "wmUserIsNotTabbing",
|
|
860
|
+
"method": "handleTabbingOff",
|
|
861
|
+
"target": "window",
|
|
862
|
+
"capture": false,
|
|
863
|
+
"passive": false
|
|
864
|
+
}, {
|
|
865
|
+
"name": "scroll",
|
|
866
|
+
"method": "handleWindowScroll",
|
|
867
|
+
"target": "window",
|
|
868
|
+
"capture": true,
|
|
869
|
+
"passive": true
|
|
870
|
+
}, {
|
|
871
|
+
"name": "wmMenuitemClicked",
|
|
872
|
+
"method": "handleClickedItem",
|
|
873
|
+
"target": undefined,
|
|
874
|
+
"capture": false,
|
|
875
|
+
"passive": false
|
|
876
|
+
}, {
|
|
877
|
+
"name": "wmKeyUpPressed",
|
|
878
|
+
"method": "handleKeyUp",
|
|
879
|
+
"target": undefined,
|
|
880
|
+
"capture": false,
|
|
881
|
+
"passive": false
|
|
882
|
+
}, {
|
|
883
|
+
"name": "wmKeyDownPressed",
|
|
884
|
+
"method": "handleKeyDown",
|
|
885
|
+
"target": undefined,
|
|
886
|
+
"capture": false,
|
|
887
|
+
"passive": false
|
|
888
|
+
}, {
|
|
889
|
+
"name": "wmHomeKeyPressed",
|
|
890
|
+
"method": "handleHomeKey",
|
|
891
|
+
"target": undefined,
|
|
892
|
+
"capture": false,
|
|
893
|
+
"passive": false
|
|
894
|
+
}, {
|
|
895
|
+
"name": "wmEndKeyPressed",
|
|
896
|
+
"method": "handleEndKey",
|
|
897
|
+
"target": undefined,
|
|
898
|
+
"capture": false,
|
|
899
|
+
"passive": false
|
|
900
|
+
}, {
|
|
901
|
+
"name": "wmTabKeyPressed",
|
|
902
|
+
"method": "handleTabKey",
|
|
903
|
+
"target": undefined,
|
|
904
|
+
"capture": false,
|
|
905
|
+
"passive": false
|
|
906
|
+
}, {
|
|
907
|
+
"name": "wmEscKeyPressed",
|
|
908
|
+
"method": "handleEscKey",
|
|
909
|
+
"target": undefined,
|
|
910
|
+
"capture": false,
|
|
911
|
+
"passive": false
|
|
912
|
+
}, {
|
|
913
|
+
"name": "keydown",
|
|
914
|
+
"method": "handleKey",
|
|
915
|
+
"target": undefined,
|
|
916
|
+
"capture": false,
|
|
917
|
+
"passive": false
|
|
918
|
+
}, {
|
|
919
|
+
"name": "wmMenuitemBlurred",
|
|
920
|
+
"method": "handleMenuitemBlur",
|
|
921
|
+
"target": undefined,
|
|
922
|
+
"capture": false,
|
|
923
|
+
"passive": false
|
|
924
|
+
}, {
|
|
925
|
+
"name": "wmLetterPressed",
|
|
926
|
+
"method": "findAndFocusItem",
|
|
927
|
+
"target": undefined,
|
|
928
|
+
"capture": false,
|
|
929
|
+
"passive": false
|
|
930
|
+
}];
|
|
931
|
+
}
|
|
932
|
+
}
|