@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,878 @@
|
|
|
1
|
+
import { h, Host } from "@stencil/core";
|
|
2
|
+
import { forceUpdate } from "@stencil/core";
|
|
3
|
+
import { getTextDir, toBool, handleDisabledAttribute, showTooltip, hideTooltip, debounce, findAllScrollableParents, } from "../../../global/functions";
|
|
4
|
+
import { globalMessages, selectMessages } from "../../../global/intl";
|
|
5
|
+
/**
|
|
6
|
+
* Dropdown list of options that allows single or multi-select. Functionally similar to the
|
|
7
|
+
* native HTML `<select>` element but with Ripple styling and richer features including
|
|
8
|
+
* multiselect, search filtering, and a Select All control. Composed of a parent wm-select
|
|
9
|
+
* element and wm-option children.
|
|
10
|
+
*
|
|
11
|
+
* @category Basic Controls
|
|
12
|
+
*
|
|
13
|
+
* @keyboardInteraction
|
|
14
|
+
* - **Closed button**: Space / Enter / Arrow Down opens the dropdown and focuses the first
|
|
15
|
+
* option; Arrow Up opens and focuses the last option.
|
|
16
|
+
* - **Open dropdown**: Arrow Up / Down navigate options; Home / End jump to first / last;
|
|
17
|
+
* typing a letter jumps to the first matching option.
|
|
18
|
+
* - **Single-select**: Enter / Space / click selects and closes.
|
|
19
|
+
* - **Multi-select**: Enter / Space / click toggles selection; Tab or Escape closes.
|
|
20
|
+
* - **Shift+Tab** (from options): Closes and returns focus to the trigger button.
|
|
21
|
+
*
|
|
22
|
+
* @accessibility
|
|
23
|
+
* - `label` is required even when `label-position` is `"none"` — it is used as the dropdown's
|
|
24
|
+
* ARIA accessible name.
|
|
25
|
+
* - The dropdown renders with `role="listbox"`. Each wm-option renders with `role="option"`.
|
|
26
|
+
* - `required-field` renders a visible asterisk; the ARIA required constraint is communicated
|
|
27
|
+
* via the label rather than `aria-required` because the listbox is in a sub-component.
|
|
28
|
+
* - Validation errors are announced via an `aria-live` region when `error-message` changes.
|
|
29
|
+
*
|
|
30
|
+
* @usageNotes
|
|
31
|
+
* - Single-select: has no `placeholder` prop — a selection must always be present, and the
|
|
32
|
+
* component warns in the console if no option is initially selected. Since there's no way
|
|
33
|
+
* to distinguish "the user selected the first option" from "no selection was made," use a
|
|
34
|
+
* null-value first option to represent the unselected state and keep the component
|
|
35
|
+
* revertible to "no option chosen." That option must not be disabled, and for
|
|
36
|
+
* accessibility/consistency its label should be limited to "None", "Select an option", or
|
|
37
|
+
* "--".
|
|
38
|
+
* - Multi-select: all options deselected on load is valid; use `placeholder` for that state.
|
|
39
|
+
* - `search` is best with 50 or fewer options — it filters by visible label text only.
|
|
40
|
+
* - `select-all` requires `multiple` to be set.
|
|
41
|
+
* - Selection state is maintained via the `selected` prop on each wm-option child.
|
|
42
|
+
* - To respond to selection changes, listen for `wmOptionSelected` (declared on wm-option but
|
|
43
|
+
* bubbles to wm-select). `event.detail` is the `HTMLWmOptionElement`; read `.value` or
|
|
44
|
+
* `.textContent` to get the selected value.
|
|
45
|
+
*
|
|
46
|
+
* @example {html} Single-select
|
|
47
|
+
* <wm-select label="Program">
|
|
48
|
+
* <wm-option selected>Select a program</wm-option>
|
|
49
|
+
* <wm-option>Biology</wm-option>
|
|
50
|
+
* <wm-option>English</wm-option>
|
|
51
|
+
* </wm-select>
|
|
52
|
+
*
|
|
53
|
+
* @example {react} Single-select
|
|
54
|
+
* const [program, setProgram] = useState('');
|
|
55
|
+
*
|
|
56
|
+
* // event.detail is the selected HTMLWmOptionElement
|
|
57
|
+
* const handleSelect = (event) => {
|
|
58
|
+
* setProgram(event.detail.value ?? event.detail.textContent);
|
|
59
|
+
* };
|
|
60
|
+
*
|
|
61
|
+
* <WmSelect label="Program" onWmOptionSelected={handleSelect}>
|
|
62
|
+
* <WmOption selected>Select a program</WmOption>
|
|
63
|
+
* <WmOption value="bio">Biology</WmOption>
|
|
64
|
+
* <WmOption value="eng">English</WmOption>
|
|
65
|
+
* </WmSelect>
|
|
66
|
+
*
|
|
67
|
+
* @example {html} Multi-select with search and Select All
|
|
68
|
+
* <wm-select label="Programs" multiple search select-all
|
|
69
|
+
* placeholder="Select programs">
|
|
70
|
+
* <wm-option value="bio">Biology</wm-option>
|
|
71
|
+
* <wm-option value="eng">English</wm-option>
|
|
72
|
+
* </wm-select>
|
|
73
|
+
*
|
|
74
|
+
* @example {react} Multi-select with search and Select All
|
|
75
|
+
* const [selected, setSelected] = useState([]);
|
|
76
|
+
*
|
|
77
|
+
* // event.detail is the HTMLWmOptionElement that was selected or deselected
|
|
78
|
+
* const handleSelect = (event) => {
|
|
79
|
+
* const value = event.detail.value ?? event.detail.textContent;
|
|
80
|
+
* setSelected((prev) => [...prev, value]);
|
|
81
|
+
* };
|
|
82
|
+
*
|
|
83
|
+
* const handleDeselect = (event) => {
|
|
84
|
+
* const value = event.detail.value ?? event.detail.textContent;
|
|
85
|
+
* setSelected((prev) => prev.filter((v) => v !== value));
|
|
86
|
+
* };
|
|
87
|
+
*
|
|
88
|
+
* <WmSelect
|
|
89
|
+
* label="Programs"
|
|
90
|
+
* multiple={true}
|
|
91
|
+
* search={true}
|
|
92
|
+
* selectAll={true}
|
|
93
|
+
* placeholder="Select programs"
|
|
94
|
+
* onWmOptionSelected={handleSelect}
|
|
95
|
+
* onWmOptionDeselected={handleDeselect}
|
|
96
|
+
* >
|
|
97
|
+
* <WmOption value="bio">Biology</WmOption>
|
|
98
|
+
* <WmOption value="eng">English</WmOption>
|
|
99
|
+
* </WmSelect>
|
|
100
|
+
*
|
|
101
|
+
*/
|
|
102
|
+
export class Select {
|
|
103
|
+
constructor() {
|
|
104
|
+
this.scrollableParents = [];
|
|
105
|
+
this.returnFocus = false;
|
|
106
|
+
this.hasAnchor = CSS.supports("top", "anchor(bottom)"); // for FF polyfill
|
|
107
|
+
this.displayedOptions = [];
|
|
108
|
+
this.debouncedReposition = debounce(() => {
|
|
109
|
+
this.dropdownPosition();
|
|
110
|
+
}, 100);
|
|
111
|
+
this.disabled = false;
|
|
112
|
+
this.maxHeight = "200px";
|
|
113
|
+
this.label = undefined;
|
|
114
|
+
this.labelPosition = "top";
|
|
115
|
+
this.requiredField = false;
|
|
116
|
+
this.errorMessage = undefined;
|
|
117
|
+
this.multiple = false;
|
|
118
|
+
this.search = false;
|
|
119
|
+
this.selectAll = false;
|
|
120
|
+
this.placeholder = selectMessages.multiPlaceholder;
|
|
121
|
+
this.searchPlaceholder = selectMessages.searchPlaceholder;
|
|
122
|
+
this.allSelectedMessage = selectMessages.allSelected;
|
|
123
|
+
this.info = undefined;
|
|
124
|
+
this.isExpanded = false;
|
|
125
|
+
this.isHidden = false;
|
|
126
|
+
this.openUp = false;
|
|
127
|
+
this.announcement = "";
|
|
128
|
+
}
|
|
129
|
+
get childOptions() {
|
|
130
|
+
return Array.from(this.el.querySelectorAll("wm-option"));
|
|
131
|
+
}
|
|
132
|
+
get isDisabled() {
|
|
133
|
+
// string "false" needs to be treated as bool False because react wrappers convert bool to string.
|
|
134
|
+
return toBool(this.disabled);
|
|
135
|
+
}
|
|
136
|
+
get displayText() {
|
|
137
|
+
return this.displayedOptions.map((x) => x.textContent).join(", ");
|
|
138
|
+
}
|
|
139
|
+
get selectedOptions() {
|
|
140
|
+
return Array.from(this.el.querySelectorAll("wm-option")).filter((x) => x.selected);
|
|
141
|
+
}
|
|
142
|
+
get allSelected() {
|
|
143
|
+
return this.childOptions.every((option) => option.selected);
|
|
144
|
+
}
|
|
145
|
+
//////////////////////////////////////
|
|
146
|
+
handleOptionSelection() {
|
|
147
|
+
if (!this.multiple) {
|
|
148
|
+
this.returnFocus = true;
|
|
149
|
+
this.dropdownEl.hidePopover();
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
handleChildEnter() {
|
|
153
|
+
// only occurs for multiselects. handle the click, then close
|
|
154
|
+
this.returnFocus = true;
|
|
155
|
+
this.dropdownEl.hidePopover();
|
|
156
|
+
}
|
|
157
|
+
closeDropdownOnEscape() {
|
|
158
|
+
this.returnFocus = true;
|
|
159
|
+
this.dropdownEl.hidePopover();
|
|
160
|
+
}
|
|
161
|
+
handleToggle(ev) {
|
|
162
|
+
ev.newState === "open" ? this.onOpen() : this.onClose();
|
|
163
|
+
}
|
|
164
|
+
dropdownPosition() {
|
|
165
|
+
// polyfill for opening up or down + positioning according to screen
|
|
166
|
+
// (must recalculate on scroll, resize)
|
|
167
|
+
// Using transform for better performance - only affects composite layer, no layout recalculation
|
|
168
|
+
const buttonElRect = this.buttonEl.getBoundingClientRect();
|
|
169
|
+
const spaceAbove = buttonElRect.top;
|
|
170
|
+
const spaceBelow = document.documentElement.clientHeight - buttonElRect.bottom;
|
|
171
|
+
const dropdownHeight = this.dropdownEl.clientHeight;
|
|
172
|
+
// Clear any previously set positioning properties
|
|
173
|
+
this.el.style.removeProperty("--dropdown-translate-y");
|
|
174
|
+
this.el.style.removeProperty("--dropdown-max-height");
|
|
175
|
+
this.el.style.removeProperty("--dropdown-left");
|
|
176
|
+
// Set horizontal position and width to match button
|
|
177
|
+
this.el.style.setProperty("--dropdown-left", buttonElRect.left + "px");
|
|
178
|
+
this.el.style.setProperty("--button-width", buttonElRect.width + "px");
|
|
179
|
+
if (dropdownHeight <= spaceBelow) {
|
|
180
|
+
// Case 1: Enough space below - position dropdown below the button
|
|
181
|
+
this.el.style.setProperty("--dropdown-translate-y", buttonElRect.bottom + "px");
|
|
182
|
+
}
|
|
183
|
+
else if (dropdownHeight <= spaceAbove) {
|
|
184
|
+
// Case 2: Not enough space below, but enough above - position dropdown above the button
|
|
185
|
+
this.el.style.setProperty("--dropdown-translate-y", buttonElRect.top - dropdownHeight + "px");
|
|
186
|
+
}
|
|
187
|
+
else {
|
|
188
|
+
// Case 3: Not enough space in either direction - use the larger available space and constrain height
|
|
189
|
+
if (spaceBelow >= spaceAbove) {
|
|
190
|
+
// Use space below and constrain dropdown height
|
|
191
|
+
this.el.style.setProperty("--dropdown-translate-y", buttonElRect.bottom + "px");
|
|
192
|
+
this.el.style.setProperty("--dropdown-max-height", spaceBelow + "px");
|
|
193
|
+
}
|
|
194
|
+
else {
|
|
195
|
+
// Use space above and constrain dropdown height
|
|
196
|
+
this.el.style.setProperty("--dropdown-translate-y", "0px");
|
|
197
|
+
this.el.style.setProperty("--dropdown-max-height", spaceAbove + "px");
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
this.isHidden = false;
|
|
201
|
+
}
|
|
202
|
+
onOpen() {
|
|
203
|
+
if (!this.isExpanded && !this.isDisabled) {
|
|
204
|
+
// polyfill for browsers without anchor() support (FF)
|
|
205
|
+
if (!this.hasAnchor) {
|
|
206
|
+
this.dropdownPosition();
|
|
207
|
+
}
|
|
208
|
+
requestAnimationFrame(() => {
|
|
209
|
+
const anchorRect = this.buttonEl.getBoundingClientRect();
|
|
210
|
+
const hasSpaceBelow = this.dropdownEl.offsetHeight <= document.documentElement.clientHeight - anchorRect.bottom;
|
|
211
|
+
const hasSpaceAbove = this.dropdownEl.offsetHeight <= anchorRect.top;
|
|
212
|
+
this.openUp = !hasSpaceBelow && hasSpaceAbove;
|
|
213
|
+
if (!hasSpaceBelow && !hasSpaceAbove) {
|
|
214
|
+
// dropdown will open downwards but doesn't have enough space
|
|
215
|
+
// it needs to be absolutely positioned + html has to have overflow-y auto
|
|
216
|
+
// (the default, but could have been overriden)
|
|
217
|
+
// in order to ensure the options can be scrolled to
|
|
218
|
+
// (would already be possible if the page has content below. this is in case select was at bottom of page)
|
|
219
|
+
this.initialHtmlOverflowY = document.documentElement.style.overflowY;
|
|
220
|
+
document.documentElement.style.overflowY = "auto";
|
|
221
|
+
this.dropdownEl.style.position = "absolute";
|
|
222
|
+
}
|
|
223
|
+
this.isExpanded = true;
|
|
224
|
+
});
|
|
225
|
+
setTimeout(() => {
|
|
226
|
+
// focusing doesn't work when within requestAnimationFrame
|
|
227
|
+
this.optionListEl.handleInitialFocus(this.elToFocus);
|
|
228
|
+
this.elToFocus = undefined;
|
|
229
|
+
}, 50);
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
onClose() {
|
|
233
|
+
if (this.isExpanded) {
|
|
234
|
+
this.optionListEl.unfocusAll();
|
|
235
|
+
// see onOpen
|
|
236
|
+
document.documentElement.style.overflowY = this.initialHtmlOverflowY || "";
|
|
237
|
+
this.dropdownEl.style.position = "fixed";
|
|
238
|
+
window.setTimeout(() => {
|
|
239
|
+
if (!this.hasAnchor) {
|
|
240
|
+
this.isHidden = true;
|
|
241
|
+
}
|
|
242
|
+
if (this.optionListEl.multiple) {
|
|
243
|
+
this.optionListEl.updateOptionVisibility();
|
|
244
|
+
}
|
|
245
|
+
// clear search field, reset filtered / bolded state of wm-options
|
|
246
|
+
if (this.search) {
|
|
247
|
+
this.optionListEl.clearSearch();
|
|
248
|
+
}
|
|
249
|
+
this.isExpanded = false;
|
|
250
|
+
}, 150);
|
|
251
|
+
if (this.returnFocus) {
|
|
252
|
+
requestAnimationFrame(() => {
|
|
253
|
+
this.buttonEl.focus();
|
|
254
|
+
this.returnFocus = false;
|
|
255
|
+
});
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
handleKey(ev) {
|
|
260
|
+
switch (ev.key) {
|
|
261
|
+
case "Tab":
|
|
262
|
+
// if tabbing backwards, close and return focus to button. Otherwise, close but do not redirect focus.
|
|
263
|
+
if (this.isExpanded && ev.shiftKey) {
|
|
264
|
+
this.returnFocus = true;
|
|
265
|
+
}
|
|
266
|
+
this.dropdownEl.hidePopover();
|
|
267
|
+
break;
|
|
268
|
+
case "ArrowDown":
|
|
269
|
+
if (this.isExpanded === false) {
|
|
270
|
+
ev.preventDefault();
|
|
271
|
+
this.elToFocus = "next";
|
|
272
|
+
this.dropdownEl.showPopover();
|
|
273
|
+
}
|
|
274
|
+
break;
|
|
275
|
+
case "ArrowUp":
|
|
276
|
+
if (this.isExpanded === false) {
|
|
277
|
+
ev.preventDefault();
|
|
278
|
+
this.elToFocus = "previous";
|
|
279
|
+
this.dropdownEl.showPopover();
|
|
280
|
+
}
|
|
281
|
+
break;
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
handleResize() {
|
|
285
|
+
if (!this.hasAnchor && this.isExpanded) {
|
|
286
|
+
this.isHidden = true;
|
|
287
|
+
this.debouncedReposition();
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
handleScroll() {
|
|
291
|
+
if (this.isExpanded) {
|
|
292
|
+
this.isHidden = true;
|
|
293
|
+
this.debouncedReposition();
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
componentWillLoad() {
|
|
297
|
+
if (!this.hasAnchor) {
|
|
298
|
+
// Start hidden to prevent flash on first load
|
|
299
|
+
this.isHidden = true;
|
|
300
|
+
}
|
|
301
|
+
if (!this.label) {
|
|
302
|
+
console.error("For accessibility purposes, this component requires a label (even if `label-position` is set to `none`).");
|
|
303
|
+
}
|
|
304
|
+
if (!this.multiple && this.selectedOptions.length === 0) {
|
|
305
|
+
console.error("wm-select should have one initial option selected");
|
|
306
|
+
}
|
|
307
|
+
handleDisabledAttribute(this.el, this.isDisabled);
|
|
308
|
+
const mutationObserver = new MutationObserver((mutationRecordList) => mutationRecordList.forEach((_mutationRecord) => this.handleChildChange()));
|
|
309
|
+
mutationObserver.observe(this.el, {
|
|
310
|
+
childList: true,
|
|
311
|
+
attributes: true,
|
|
312
|
+
subtree: true,
|
|
313
|
+
attributeFilter: ["selected"],
|
|
314
|
+
});
|
|
315
|
+
}
|
|
316
|
+
handleChildChange() {
|
|
317
|
+
forceUpdate(this.el);
|
|
318
|
+
if (this.multiple) {
|
|
319
|
+
// update state of clone options
|
|
320
|
+
this.optionListEl.handleChildChange();
|
|
321
|
+
}
|
|
322
|
+
}
|
|
323
|
+
componentDidLoad() {
|
|
324
|
+
this.wmSelectDidLoad.emit();
|
|
325
|
+
if (!this.hasAnchor) {
|
|
326
|
+
this.scrollableParents = findAllScrollableParents(this.el);
|
|
327
|
+
// Add scroll listeners to all scrollable parents
|
|
328
|
+
this.scrollableParents.forEach((parent) => {
|
|
329
|
+
if (parent === document.documentElement) {
|
|
330
|
+
// For document element, listen to window scroll event
|
|
331
|
+
window.addEventListener("scroll", () => this.handleScroll());
|
|
332
|
+
}
|
|
333
|
+
else {
|
|
334
|
+
// For regular elements, listen to their scroll event
|
|
335
|
+
parent.addEventListener("scroll", () => this.handleScroll());
|
|
336
|
+
}
|
|
337
|
+
});
|
|
338
|
+
}
|
|
339
|
+
}
|
|
340
|
+
announceError() {
|
|
341
|
+
if (this.errorMessage) {
|
|
342
|
+
setTimeout(() => this.announce(this.errorMessage), 100);
|
|
343
|
+
}
|
|
344
|
+
}
|
|
345
|
+
handleDisabledChange() {
|
|
346
|
+
handleDisabledAttribute(this.el, this.isDisabled);
|
|
347
|
+
}
|
|
348
|
+
handleComponentBlur(ev) {
|
|
349
|
+
// Do not close or emit custom blur event when blurring to an element inside (wm-option)
|
|
350
|
+
if (!this.el.contains(ev.relatedTarget)) {
|
|
351
|
+
this.wmSelectBlurred.emit();
|
|
352
|
+
}
|
|
353
|
+
}
|
|
354
|
+
handleLabelMouseEnter(ev) {
|
|
355
|
+
const labelEl = ev.target;
|
|
356
|
+
if (labelEl.scrollWidth > labelEl.clientWidth) {
|
|
357
|
+
showTooltip("right", ev.target, this.label);
|
|
358
|
+
}
|
|
359
|
+
}
|
|
360
|
+
announce(message) {
|
|
361
|
+
// \u00A0 is a non-breaking space character, which causes the message to be read as a new one
|
|
362
|
+
if (this.liveRegionEl.textContent === message) {
|
|
363
|
+
message += "\u00A0";
|
|
364
|
+
}
|
|
365
|
+
this.announcement = message;
|
|
366
|
+
}
|
|
367
|
+
handleOverflow() {
|
|
368
|
+
if (!this.buttonEl) {
|
|
369
|
+
forceUpdate(this.el);
|
|
370
|
+
}
|
|
371
|
+
else {
|
|
372
|
+
// handle overflow + counter for multiselect
|
|
373
|
+
// this is a fixed measurement accounting for the max width of a 3 character overflow counter
|
|
374
|
+
const overflowCounterWidth = 38;
|
|
375
|
+
const computedStyle = window.getComputedStyle(this.buttonEl);
|
|
376
|
+
// there seems to be no quick way to get an elements width without padding, except for subtracting padding manually
|
|
377
|
+
const paddingLeft = parseInt(computedStyle.getPropertyValue("padding-left").slice(0, -2));
|
|
378
|
+
const paddingRight = parseInt(computedStyle.getPropertyValue("padding-right").slice(0, -2));
|
|
379
|
+
const availableSpace = this.buttonEl.clientWidth - paddingLeft - paddingRight - overflowCounterWidth;
|
|
380
|
+
this.overflowCount = 0;
|
|
381
|
+
this.measurementAreaEl.textContent = this.displayText;
|
|
382
|
+
let optionsTotalWidth = this.measurementAreaEl.clientWidth;
|
|
383
|
+
while (optionsTotalWidth > availableSpace && this.displayedOptions.length > 1) {
|
|
384
|
+
this.overflowCount++;
|
|
385
|
+
this.displayedOptions.pop();
|
|
386
|
+
this.measurementAreaEl.textContent = this.displayText;
|
|
387
|
+
optionsTotalWidth = this.measurementAreaEl.clientWidth;
|
|
388
|
+
}
|
|
389
|
+
}
|
|
390
|
+
}
|
|
391
|
+
setButtonText() {
|
|
392
|
+
if (!this.multiple) {
|
|
393
|
+
const selEl = this.childOptions.filter((x) => x.selected)[0];
|
|
394
|
+
return selEl ? selEl.textContent : "";
|
|
395
|
+
}
|
|
396
|
+
this.displayedOptions = this.childOptions.filter((x) => x.selected);
|
|
397
|
+
const noDisplayedOptions = this.displayedOptions.length < 1;
|
|
398
|
+
if (noDisplayedOptions) {
|
|
399
|
+
this.overflowCount = 0;
|
|
400
|
+
return this.placeholder;
|
|
401
|
+
}
|
|
402
|
+
this.handleOverflow();
|
|
403
|
+
if (this.allSelected) {
|
|
404
|
+
// Consolidated label when every option is selected; do not show the +N overflow badge.
|
|
405
|
+
// On first render, handleOverflow may not have measured yet; we still show this message.
|
|
406
|
+
this.overflowCount = 0;
|
|
407
|
+
this.buttonText = this.allSelectedMessage;
|
|
408
|
+
}
|
|
409
|
+
else {
|
|
410
|
+
// otherwise, if handleOverflow was able to calculate, it set the count and the display text
|
|
411
|
+
// if it wasn't able to calculate, the text of all the selected options will be displayed and may truncate (acceptable as fallback)
|
|
412
|
+
this.buttonText = this.displayText;
|
|
413
|
+
}
|
|
414
|
+
return this.buttonText; // multiselect value
|
|
415
|
+
}
|
|
416
|
+
renderOverflowCount() {
|
|
417
|
+
if (this.overflowCount > 0) {
|
|
418
|
+
return (h("span", null, h("span", { class: "overflow-counter" }, "+", this.overflowCount)));
|
|
419
|
+
}
|
|
420
|
+
}
|
|
421
|
+
render() {
|
|
422
|
+
const showRequired = this.labelPosition !== "none" && this.requiredField;
|
|
423
|
+
return (h(Host, { key: 'f70c523818ecb070061c5750ddd793b4375ca7d7', onBlur: (ev) => this.handleComponentBlur(ev) }, h("div", { key: '2f648b5082ffa541ed1c3d72ef1b5ebb161ea15c', class: `wrapper ${getTextDir()} label-${this.labelPosition} ${this.errorMessage ? "invalid" : ""}` }, h("div", { key: '83e582f81d749205d72ef33851bb60e471e4b859', class: "label-wrapper" }, h("label", { key: '21c8583c1f5510ed2f93094ef0d22898e298728c', class: "label", id: "label", htmlFor: "selectbtn", onMouseEnter: (ev) => this.handleLabelMouseEnter(ev), onMouseLeave: () => hideTooltip() }, this.label),
|
|
424
|
+
// we can't use aria-required because the listbox is in a sub-component and it is not announced;
|
|
425
|
+
// instead the sr-only text is included in the button's aria-labelledby below
|
|
426
|
+
showRequired && (h("span", { key: '6510b0db8f404b00c5a95b0996aac71917c1ab77', class: "required" }, h("span", { key: 'e39f5c4d7f7b432d4c3b9ff9177cf0dc0a416bb7', class: "sr-only", id: "required" }, globalMessages.requiredField), h("span", { key: '8b3c8e2c934e1faca6db74eaa9b953dad40f3570', "aria-hidden": "true" }, "*")))), h("div", { key: '74a055700ee1622c263206b45a52d19f57648807', class: "button-wrapper" }, h("button", { key: '84cb7ca0dfcb742b34fbf107e59a4859709ba7d1', id: "selectbtn", disabled: this.isDisabled, "aria-labelledby": showRequired ? "label required selectbtn" : "label selectbtn", "aria-describedby": "info error", popoverTarget: "dropdown", popoverTargetAction: "toggle", class: "displayedoption", ref: (el) => (this.buttonEl = el) }, h("span", { key: '03b78ab8e7ea097f344e5d1947387cce6b5f4d27', class: "overflowcontrol" }, h("span", { key: '675ce4e5931d8822e62d8c7eabfda07759ee8720', class: "button-text" }, this.setButtonText())), h("div", { key: '5da2f36c2438cb96a721c6f6e9412ef95a40ef03', class: `expand-icon svg-icon ${this.isExpanded ? "svg-expand-less" : "svg-expand-more"}` }), this.renderOverflowCount(), h("div", { key: '3e9f1140bee3f6825a5b3b10958f446d1b3adb41', ref: (el) => (this.measurementAreaEl = el), class: "measurement-area", "aria-hidden": "true" })), h("div", { key: '17f3c905ba01331b738e322b02cbb0f9789bff7b',
|
|
427
|
+
// is-open is for the CSS transition in modern browsers
|
|
428
|
+
// hidden is to wait for position calculations in Firefox
|
|
429
|
+
class: `dropdown ${this.isExpanded ? "is-open" : ""} ${this.isHidden ? "hidden" : ""} ${this.openUp ? "upward" : ""}`, id: "dropdown", popover: "auto", ref: (el) => (this.dropdownEl = el),
|
|
430
|
+
// @ts-ignore -- don't tell typescript but we're in the future
|
|
431
|
+
onToggle: (ev) => this.handleToggle(ev) }, h("priv-option-list", { key: '99d213da0ba3cd67dfa3da56ed16bbcad18e4cb6', ref: (el) => (this.optionListEl = el), multiple: this.multiple, search: this.search, selectAll: this.selectAll, maxHeight: this.maxHeight, searchPlaceholder: this.searchPlaceholder, onOptionListCloseRequested: () => {
|
|
432
|
+
this.dropdownEl.hidePopover();
|
|
433
|
+
}, onOptionListAllSelected: () => {
|
|
434
|
+
this.returnFocus = true;
|
|
435
|
+
this.wmSelectAllSelected.emit();
|
|
436
|
+
}, onOptionListAllDeselected: () => {
|
|
437
|
+
this.returnFocus = true;
|
|
438
|
+
this.wmSelectAllDeselected.emit();
|
|
439
|
+
} }, h("slot", { key: '989c9f0a96cc70227c497c0cb00cd0104cd71015' }))), this.info && h("div", { key: '184f9893590c433fd0eac7c9d5972dcd6980f31a', class: "info" }, this.info), h("div", { key: '0937d79b083c116e911f0cd5fefc1f6d801ffe95', id: "error", class: this.errorMessage ? "error-message" : "" }, this.errorMessage), h("div", { key: '07e61a5651ef082e844d1e74b2bb4174de5b4abf', id: "announcement", "aria-live": "polite", "aria-atomic": "true", class: "sr-only", ref: (el) => (this.liveRegionEl = el) }, this.announcement)))));
|
|
440
|
+
}
|
|
441
|
+
static get is() { return "wm-select"; }
|
|
442
|
+
static get encapsulation() { return "shadow"; }
|
|
443
|
+
static get delegatesFocus() { return true; }
|
|
444
|
+
static get originalStyleUrls() {
|
|
445
|
+
return {
|
|
446
|
+
"$": ["wm-select.scss"]
|
|
447
|
+
};
|
|
448
|
+
}
|
|
449
|
+
static get styleUrls() {
|
|
450
|
+
return {
|
|
451
|
+
"$": ["wm-select.css"]
|
|
452
|
+
};
|
|
453
|
+
}
|
|
454
|
+
static get properties() {
|
|
455
|
+
return {
|
|
456
|
+
"disabled": {
|
|
457
|
+
"type": "boolean",
|
|
458
|
+
"mutable": false,
|
|
459
|
+
"complexType": {
|
|
460
|
+
"original": "boolean",
|
|
461
|
+
"resolved": "boolean",
|
|
462
|
+
"references": {}
|
|
463
|
+
},
|
|
464
|
+
"required": false,
|
|
465
|
+
"optional": false,
|
|
466
|
+
"docs": {
|
|
467
|
+
"tags": [{
|
|
468
|
+
"name": "description",
|
|
469
|
+
"text": "Disables the entire select component, preventing all interaction."
|
|
470
|
+
}, {
|
|
471
|
+
"name": "default",
|
|
472
|
+
"text": "false"
|
|
473
|
+
}],
|
|
474
|
+
"text": ""
|
|
475
|
+
},
|
|
476
|
+
"attribute": "disabled",
|
|
477
|
+
"reflect": true,
|
|
478
|
+
"defaultValue": "false"
|
|
479
|
+
},
|
|
480
|
+
"maxHeight": {
|
|
481
|
+
"type": "string",
|
|
482
|
+
"mutable": false,
|
|
483
|
+
"complexType": {
|
|
484
|
+
"original": "string",
|
|
485
|
+
"resolved": "string",
|
|
486
|
+
"references": {}
|
|
487
|
+
},
|
|
488
|
+
"required": false,
|
|
489
|
+
"optional": false,
|
|
490
|
+
"docs": {
|
|
491
|
+
"tags": [{
|
|
492
|
+
"name": "description",
|
|
493
|
+
"text": "Overrides the maximum height of the options list. Accepts any valid CSS\nlength value (e.g. `\"20rem\"`, `\"300px\"`)."
|
|
494
|
+
}, {
|
|
495
|
+
"name": "default",
|
|
496
|
+
"text": "\"200px\""
|
|
497
|
+
}],
|
|
498
|
+
"text": ""
|
|
499
|
+
},
|
|
500
|
+
"attribute": "max-height",
|
|
501
|
+
"reflect": false,
|
|
502
|
+
"defaultValue": "\"200px\""
|
|
503
|
+
},
|
|
504
|
+
"label": {
|
|
505
|
+
"type": "string",
|
|
506
|
+
"mutable": true,
|
|
507
|
+
"complexType": {
|
|
508
|
+
"original": "string",
|
|
509
|
+
"resolved": "string | undefined",
|
|
510
|
+
"references": {}
|
|
511
|
+
},
|
|
512
|
+
"required": false,
|
|
513
|
+
"optional": true,
|
|
514
|
+
"docs": {
|
|
515
|
+
"tags": [{
|
|
516
|
+
"name": "description",
|
|
517
|
+
"text": "Accessible label for the dropdown. Required even when `label-position` is\n`\"none\"` \u2014 used as the ARIA accessible name."
|
|
518
|
+
}, {
|
|
519
|
+
"name": "required",
|
|
520
|
+
"text": undefined
|
|
521
|
+
}],
|
|
522
|
+
"text": ""
|
|
523
|
+
},
|
|
524
|
+
"attribute": "label",
|
|
525
|
+
"reflect": false
|
|
526
|
+
},
|
|
527
|
+
"labelPosition": {
|
|
528
|
+
"type": "string",
|
|
529
|
+
"mutable": false,
|
|
530
|
+
"complexType": {
|
|
531
|
+
"original": "\"top\" | \"left\" | \"none\"",
|
|
532
|
+
"resolved": "\"left\" | \"none\" | \"top\"",
|
|
533
|
+
"references": {}
|
|
534
|
+
},
|
|
535
|
+
"required": false,
|
|
536
|
+
"optional": false,
|
|
537
|
+
"docs": {
|
|
538
|
+
"tags": [{
|
|
539
|
+
"name": "description",
|
|
540
|
+
"text": "Position of the label relative to the dropdown button. `\"none\"` hides the\nlabel visually but keeps it accessible via ARIA."
|
|
541
|
+
}, {
|
|
542
|
+
"name": "default",
|
|
543
|
+
"text": "\"top\""
|
|
544
|
+
}],
|
|
545
|
+
"text": ""
|
|
546
|
+
},
|
|
547
|
+
"attribute": "label-position",
|
|
548
|
+
"reflect": false,
|
|
549
|
+
"defaultValue": "\"top\""
|
|
550
|
+
},
|
|
551
|
+
"requiredField": {
|
|
552
|
+
"type": "boolean",
|
|
553
|
+
"mutable": false,
|
|
554
|
+
"complexType": {
|
|
555
|
+
"original": "boolean",
|
|
556
|
+
"resolved": "boolean",
|
|
557
|
+
"references": {}
|
|
558
|
+
},
|
|
559
|
+
"required": false,
|
|
560
|
+
"optional": false,
|
|
561
|
+
"docs": {
|
|
562
|
+
"tags": [{
|
|
563
|
+
"name": "description",
|
|
564
|
+
"text": "Displays a required-field asterisk (*) next to the label."
|
|
565
|
+
}, {
|
|
566
|
+
"name": "default",
|
|
567
|
+
"text": "false"
|
|
568
|
+
}],
|
|
569
|
+
"text": ""
|
|
570
|
+
},
|
|
571
|
+
"attribute": "required-field",
|
|
572
|
+
"reflect": false,
|
|
573
|
+
"defaultValue": "false"
|
|
574
|
+
},
|
|
575
|
+
"errorMessage": {
|
|
576
|
+
"type": "string",
|
|
577
|
+
"mutable": true,
|
|
578
|
+
"complexType": {
|
|
579
|
+
"original": "string",
|
|
580
|
+
"resolved": "string | undefined",
|
|
581
|
+
"references": {}
|
|
582
|
+
},
|
|
583
|
+
"required": false,
|
|
584
|
+
"optional": true,
|
|
585
|
+
"docs": {
|
|
586
|
+
"tags": [{
|
|
587
|
+
"name": "description",
|
|
588
|
+
"text": "Puts the component in an error state and displays this message beneath the\ntrigger button. Use for form validation feedback."
|
|
589
|
+
}],
|
|
590
|
+
"text": ""
|
|
591
|
+
},
|
|
592
|
+
"attribute": "error-message",
|
|
593
|
+
"reflect": false
|
|
594
|
+
},
|
|
595
|
+
"multiple": {
|
|
596
|
+
"type": "boolean",
|
|
597
|
+
"mutable": false,
|
|
598
|
+
"complexType": {
|
|
599
|
+
"original": "boolean",
|
|
600
|
+
"resolved": "boolean",
|
|
601
|
+
"references": {}
|
|
602
|
+
},
|
|
603
|
+
"required": false,
|
|
604
|
+
"optional": false,
|
|
605
|
+
"docs": {
|
|
606
|
+
"tags": [{
|
|
607
|
+
"name": "description",
|
|
608
|
+
"text": "Enables multiselect mode, allowing more than one option to be selected\nsimultaneously."
|
|
609
|
+
}, {
|
|
610
|
+
"name": "default",
|
|
611
|
+
"text": "false"
|
|
612
|
+
}],
|
|
613
|
+
"text": ""
|
|
614
|
+
},
|
|
615
|
+
"attribute": "multiple",
|
|
616
|
+
"reflect": false,
|
|
617
|
+
"defaultValue": "false"
|
|
618
|
+
},
|
|
619
|
+
"search": {
|
|
620
|
+
"type": "boolean",
|
|
621
|
+
"mutable": false,
|
|
622
|
+
"complexType": {
|
|
623
|
+
"original": "boolean",
|
|
624
|
+
"resolved": "boolean",
|
|
625
|
+
"references": {}
|
|
626
|
+
},
|
|
627
|
+
"required": false,
|
|
628
|
+
"optional": false,
|
|
629
|
+
"docs": {
|
|
630
|
+
"tags": [{
|
|
631
|
+
"name": "description",
|
|
632
|
+
"text": "Adds a search input inside the dropdown that filters visible options by label\ntext. Compatible with both single and multiselect modes. Best with 50 or fewer options."
|
|
633
|
+
}, {
|
|
634
|
+
"name": "default",
|
|
635
|
+
"text": "false"
|
|
636
|
+
}],
|
|
637
|
+
"text": ""
|
|
638
|
+
},
|
|
639
|
+
"attribute": "search",
|
|
640
|
+
"reflect": false,
|
|
641
|
+
"defaultValue": "false"
|
|
642
|
+
},
|
|
643
|
+
"selectAll": {
|
|
644
|
+
"type": "boolean",
|
|
645
|
+
"mutable": false,
|
|
646
|
+
"complexType": {
|
|
647
|
+
"original": "boolean",
|
|
648
|
+
"resolved": "boolean",
|
|
649
|
+
"references": {}
|
|
650
|
+
},
|
|
651
|
+
"required": false,
|
|
652
|
+
"optional": false,
|
|
653
|
+
"docs": {
|
|
654
|
+
"tags": [{
|
|
655
|
+
"name": "description",
|
|
656
|
+
"text": "Adds a \"Select All\" / \"Deselect All\" toggle at the top of the dropdown.\nHas no effect unless `multiple` is also set."
|
|
657
|
+
}, {
|
|
658
|
+
"name": "default",
|
|
659
|
+
"text": "false"
|
|
660
|
+
}],
|
|
661
|
+
"text": ""
|
|
662
|
+
},
|
|
663
|
+
"attribute": "select-all",
|
|
664
|
+
"reflect": false,
|
|
665
|
+
"defaultValue": "false"
|
|
666
|
+
},
|
|
667
|
+
"placeholder": {
|
|
668
|
+
"type": "string",
|
|
669
|
+
"mutable": false,
|
|
670
|
+
"complexType": {
|
|
671
|
+
"original": "string",
|
|
672
|
+
"resolved": "string",
|
|
673
|
+
"references": {}
|
|
674
|
+
},
|
|
675
|
+
"required": false,
|
|
676
|
+
"optional": false,
|
|
677
|
+
"docs": {
|
|
678
|
+
"tags": [{
|
|
679
|
+
"name": "description",
|
|
680
|
+
"text": "Text displayed in the trigger button in multiselect mode when no options are\nselected. Not applicable in single-select mode \u2014 use a null-value first option instead."
|
|
681
|
+
}],
|
|
682
|
+
"text": ""
|
|
683
|
+
},
|
|
684
|
+
"attribute": "placeholder",
|
|
685
|
+
"reflect": false,
|
|
686
|
+
"defaultValue": "selectMessages.multiPlaceholder"
|
|
687
|
+
},
|
|
688
|
+
"searchPlaceholder": {
|
|
689
|
+
"type": "string",
|
|
690
|
+
"mutable": false,
|
|
691
|
+
"complexType": {
|
|
692
|
+
"original": "string",
|
|
693
|
+
"resolved": "string",
|
|
694
|
+
"references": {}
|
|
695
|
+
},
|
|
696
|
+
"required": false,
|
|
697
|
+
"optional": false,
|
|
698
|
+
"docs": {
|
|
699
|
+
"tags": [{
|
|
700
|
+
"name": "description",
|
|
701
|
+
"text": "Placeholder text displayed inside the search input when `search` is enabled."
|
|
702
|
+
}],
|
|
703
|
+
"text": ""
|
|
704
|
+
},
|
|
705
|
+
"attribute": "search-placeholder",
|
|
706
|
+
"reflect": false,
|
|
707
|
+
"defaultValue": "selectMessages.searchPlaceholder"
|
|
708
|
+
},
|
|
709
|
+
"allSelectedMessage": {
|
|
710
|
+
"type": "string",
|
|
711
|
+
"mutable": false,
|
|
712
|
+
"complexType": {
|
|
713
|
+
"original": "string",
|
|
714
|
+
"resolved": "string",
|
|
715
|
+
"references": {}
|
|
716
|
+
},
|
|
717
|
+
"required": false,
|
|
718
|
+
"optional": false,
|
|
719
|
+
"docs": {
|
|
720
|
+
"tags": [{
|
|
721
|
+
"name": "description",
|
|
722
|
+
"text": "Text displayed in the trigger button in multiselect mode when every option\nis selected."
|
|
723
|
+
}],
|
|
724
|
+
"text": ""
|
|
725
|
+
},
|
|
726
|
+
"attribute": "all-selected-message",
|
|
727
|
+
"reflect": false,
|
|
728
|
+
"defaultValue": "selectMessages.allSelected"
|
|
729
|
+
},
|
|
730
|
+
"info": {
|
|
731
|
+
"type": "string",
|
|
732
|
+
"mutable": false,
|
|
733
|
+
"complexType": {
|
|
734
|
+
"original": "string",
|
|
735
|
+
"resolved": "string | undefined",
|
|
736
|
+
"references": {}
|
|
737
|
+
},
|
|
738
|
+
"required": false,
|
|
739
|
+
"optional": true,
|
|
740
|
+
"docs": {
|
|
741
|
+
"tags": [{
|
|
742
|
+
"name": "description",
|
|
743
|
+
"text": "Informational hint text rendered beneath the dropdown button. Use for\nsupporting instructions or constraints."
|
|
744
|
+
}],
|
|
745
|
+
"text": ""
|
|
746
|
+
},
|
|
747
|
+
"attribute": "info",
|
|
748
|
+
"reflect": false
|
|
749
|
+
}
|
|
750
|
+
};
|
|
751
|
+
}
|
|
752
|
+
static get states() {
|
|
753
|
+
return {
|
|
754
|
+
"isExpanded": {},
|
|
755
|
+
"isHidden": {},
|
|
756
|
+
"openUp": {},
|
|
757
|
+
"announcement": {}
|
|
758
|
+
};
|
|
759
|
+
}
|
|
760
|
+
static get events() {
|
|
761
|
+
return [{
|
|
762
|
+
"method": "wmSelectDidLoad",
|
|
763
|
+
"name": "wmSelectDidLoad",
|
|
764
|
+
"bubbles": true,
|
|
765
|
+
"cancelable": true,
|
|
766
|
+
"composed": true,
|
|
767
|
+
"docs": {
|
|
768
|
+
"tags": [{
|
|
769
|
+
"name": "description",
|
|
770
|
+
"text": "Fires after the component has finished loading and is ready for interaction.\nUse this to read initial selection state or call methods."
|
|
771
|
+
}],
|
|
772
|
+
"text": ""
|
|
773
|
+
},
|
|
774
|
+
"complexType": {
|
|
775
|
+
"original": "void",
|
|
776
|
+
"resolved": "void",
|
|
777
|
+
"references": {}
|
|
778
|
+
}
|
|
779
|
+
}, {
|
|
780
|
+
"method": "wmSelectBlurred",
|
|
781
|
+
"name": "wmSelectBlurred",
|
|
782
|
+
"bubbles": true,
|
|
783
|
+
"cancelable": true,
|
|
784
|
+
"composed": true,
|
|
785
|
+
"docs": {
|
|
786
|
+
"tags": [{
|
|
787
|
+
"name": "description",
|
|
788
|
+
"text": "Fires when focus leaves the component entirely (not when moving between\nthe trigger and an option within the dropdown)."
|
|
789
|
+
}],
|
|
790
|
+
"text": ""
|
|
791
|
+
},
|
|
792
|
+
"complexType": {
|
|
793
|
+
"original": "void",
|
|
794
|
+
"resolved": "void",
|
|
795
|
+
"references": {}
|
|
796
|
+
}
|
|
797
|
+
}, {
|
|
798
|
+
"method": "wmSelectAllSelected",
|
|
799
|
+
"name": "wmSelectAllSelected",
|
|
800
|
+
"bubbles": true,
|
|
801
|
+
"cancelable": true,
|
|
802
|
+
"composed": true,
|
|
803
|
+
"docs": {
|
|
804
|
+
"tags": [{
|
|
805
|
+
"name": "description",
|
|
806
|
+
"text": "Fires when the user clicks \"Select All\" in multiselect mode and all options\nbecome selected."
|
|
807
|
+
}],
|
|
808
|
+
"text": ""
|
|
809
|
+
},
|
|
810
|
+
"complexType": {
|
|
811
|
+
"original": "any",
|
|
812
|
+
"resolved": "any",
|
|
813
|
+
"references": {}
|
|
814
|
+
}
|
|
815
|
+
}, {
|
|
816
|
+
"method": "wmSelectAllDeselected",
|
|
817
|
+
"name": "wmSelectAllDeselected",
|
|
818
|
+
"bubbles": true,
|
|
819
|
+
"cancelable": true,
|
|
820
|
+
"composed": true,
|
|
821
|
+
"docs": {
|
|
822
|
+
"tags": [{
|
|
823
|
+
"name": "description",
|
|
824
|
+
"text": "Fires when the user clicks \"Deselect All\" in multiselect mode and all\noptions become deselected."
|
|
825
|
+
}],
|
|
826
|
+
"text": ""
|
|
827
|
+
},
|
|
828
|
+
"complexType": {
|
|
829
|
+
"original": "any",
|
|
830
|
+
"resolved": "any",
|
|
831
|
+
"references": {}
|
|
832
|
+
}
|
|
833
|
+
}];
|
|
834
|
+
}
|
|
835
|
+
static get elementRef() { return "el"; }
|
|
836
|
+
static get watchers() {
|
|
837
|
+
return [{
|
|
838
|
+
"propName": "errorMessage",
|
|
839
|
+
"methodName": "announceError"
|
|
840
|
+
}, {
|
|
841
|
+
"propName": "disabled",
|
|
842
|
+
"methodName": "handleDisabledChange"
|
|
843
|
+
}];
|
|
844
|
+
}
|
|
845
|
+
static get listeners() {
|
|
846
|
+
return [{
|
|
847
|
+
"name": "wmOptionSelected",
|
|
848
|
+
"method": "handleOptionSelection",
|
|
849
|
+
"target": undefined,
|
|
850
|
+
"capture": false,
|
|
851
|
+
"passive": false
|
|
852
|
+
}, {
|
|
853
|
+
"name": "wmEnterKeyPressed",
|
|
854
|
+
"method": "handleChildEnter",
|
|
855
|
+
"target": undefined,
|
|
856
|
+
"capture": false,
|
|
857
|
+
"passive": false
|
|
858
|
+
}, {
|
|
859
|
+
"name": "wmEscKeyPressed",
|
|
860
|
+
"method": "closeDropdownOnEscape",
|
|
861
|
+
"target": undefined,
|
|
862
|
+
"capture": false,
|
|
863
|
+
"passive": false
|
|
864
|
+
}, {
|
|
865
|
+
"name": "keydown",
|
|
866
|
+
"method": "handleKey",
|
|
867
|
+
"target": undefined,
|
|
868
|
+
"capture": false,
|
|
869
|
+
"passive": false
|
|
870
|
+
}, {
|
|
871
|
+
"name": "resize",
|
|
872
|
+
"method": "handleResize",
|
|
873
|
+
"target": "window",
|
|
874
|
+
"capture": false,
|
|
875
|
+
"passive": true
|
|
876
|
+
}];
|
|
877
|
+
}
|
|
878
|
+
}
|