@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,651 @@
|
|
|
1
|
+
import { h, Host } from "@stencil/core";
|
|
2
|
+
import { csvToArray, debounce, getLastFocusableDescendant } from "../../global/functions";
|
|
3
|
+
import { globalMessages } from "../../global/intl";
|
|
4
|
+
/**
|
|
5
|
+
* Slide-in panel that renders over the main content as a modal dialog. Used for detail views,
|
|
6
|
+
* multi-step workflows, and forms that require focus without navigating away from the page.
|
|
7
|
+
*
|
|
8
|
+
* @category Communication
|
|
9
|
+
*
|
|
10
|
+
* @slot - Main content of the flyout body.
|
|
11
|
+
*
|
|
12
|
+
* @keyboardInteraction
|
|
13
|
+
* - **Escape**: Fires `wmFlyoutCloseTriggered` (the host application is responsible for setting `open` to false).
|
|
14
|
+
* - **Tab**: Cycles forward through focusable elements; wraps from the last element back to the first.
|
|
15
|
+
* - **Shift+Tab**: Cycles backward; wraps from the first element to the last footer button.
|
|
16
|
+
*
|
|
17
|
+
* @accessibility
|
|
18
|
+
* - Rendered as a `<dialog>` element with `aria-labelledby` pointing to the heading.
|
|
19
|
+
* - Focus is trapped inside the flyout while open and returns to the trigger element on close.
|
|
20
|
+
* - Call `focusHeading()` after updating content in a multi-step workflow so screen readers
|
|
21
|
+
* announce the new heading.
|
|
22
|
+
*
|
|
23
|
+
* @usageNotes
|
|
24
|
+
* - Always render the component on page load — do not conditionally mount/unmount based on
|
|
25
|
+
* visibility. Control visibility with the `open` prop instead.
|
|
26
|
+
* - The flyout does not close on outside clicks; the host application must handle close events
|
|
27
|
+
* and set `open` to false.
|
|
28
|
+
* - In React, set `open` imperatively via a ref (`ref.current.open = true/false`), and open the
|
|
29
|
+
* flyout from a click handler on the trigger element.
|
|
30
|
+
* - Use `element-to-focus` to shift initial focus away from the default close button, e.g. to
|
|
31
|
+
* the `primary` footer button or a specific element id for form workflows.
|
|
32
|
+
* - In a multi-step workflow, drive `heading`, `breadcrumb`, `primaryText`, and `secondaryText`
|
|
33
|
+
* from React state so they update on re-render. Call `ref.current.focusHeading()` inside a
|
|
34
|
+
* `useEffect` that runs after the step state change so screen readers announce the new heading.
|
|
35
|
+
* - Apply content padding via a container query on the flyout body wrapper so it reduces
|
|
36
|
+
* automatically on narrower flyout widths:
|
|
37
|
+
* ```css
|
|
38
|
+
* .flyout-content { padding: 1.25rem 1.875rem; }
|
|
39
|
+
* @container flyout (width <= 25.875rem) {
|
|
40
|
+
* .flyout-content { padding: 0.75rem 1rem; }
|
|
41
|
+
* }
|
|
42
|
+
* ```
|
|
43
|
+
*
|
|
44
|
+
* @example {html} Basic flyout
|
|
45
|
+
* <button onclick="document.getElementById('edit-profile').open = true">Open flyout</button>
|
|
46
|
+
*
|
|
47
|
+
* <wm-flyout id="edit-profile" heading="Edit profile" eyebrow="Student"
|
|
48
|
+
* subheading="Update your information below"
|
|
49
|
+
* primary-text="Save" secondary-text="Cancel" info-text="* Required fields">
|
|
50
|
+
* <div class="flyout-content">
|
|
51
|
+
* <wm-input label="First name *"></wm-input>
|
|
52
|
+
* <wm-input label="Last name *"></wm-input>
|
|
53
|
+
* <wm-input label="Email" type="email"></wm-input>
|
|
54
|
+
* </div>
|
|
55
|
+
* </wm-flyout>
|
|
56
|
+
*
|
|
57
|
+
* @example {react} Basic flyout
|
|
58
|
+
* // Set open imperatively via ref.
|
|
59
|
+
* const flyoutRef = useRef(null);
|
|
60
|
+
*
|
|
61
|
+
* const openFlyout = () => { flyoutRef.current.open = true; };
|
|
62
|
+
* const closeFlyout = () => { flyoutRef.current.open = false; };
|
|
63
|
+
*
|
|
64
|
+
* <WmButton onClick={openFlyout}>Open flyout</WmButton>
|
|
65
|
+
*
|
|
66
|
+
* <WmFlyout
|
|
67
|
+
* ref={flyoutRef}
|
|
68
|
+
* heading="Edit profile"
|
|
69
|
+
* eyebrow="Student"
|
|
70
|
+
* subheading="Update your information below"
|
|
71
|
+
* primaryText="Save"
|
|
72
|
+
* secondaryText="Cancel"
|
|
73
|
+
* infoText="* Required fields"
|
|
74
|
+
* onWmFlyoutCloseTriggered={closeFlyout}
|
|
75
|
+
* onWmFlyoutSecondaryTriggered={closeFlyout}
|
|
76
|
+
* onWmFlyoutPrimaryTriggered={closeFlyout}
|
|
77
|
+
* >
|
|
78
|
+
* <div className="flyout-content">
|
|
79
|
+
* <WmInput label="First name *" />
|
|
80
|
+
* <WmInput label="Last name *" />
|
|
81
|
+
* <WmInput label="Email" type="email" />
|
|
82
|
+
* </div>
|
|
83
|
+
* </WmFlyout>
|
|
84
|
+
*
|
|
85
|
+
* @example {html} Multi-step flyout with breadcrumbs
|
|
86
|
+
* <button onclick="document.getElementById('multi-step').open = true">Open multi-step flyout</button>
|
|
87
|
+
*
|
|
88
|
+
* <wm-flyout id="multi-step" heading="Vestibulum convallis"
|
|
89
|
+
* breadcrumb="Vestibulum convallis"
|
|
90
|
+
* primary-text="Next" secondary-text="Cancel">
|
|
91
|
+
* <div id="step1" class="flyout-content"><p>Step 1 content</p></div>
|
|
92
|
+
* <div id="step2" class="flyout-content" style="display:none"><p>Step 2 content</p></div>
|
|
93
|
+
* </wm-flyout>
|
|
94
|
+
*
|
|
95
|
+
* @example {react} Multi-step flyout with breadcrumbs
|
|
96
|
+
* // Drive heading/breadcrumb/primaryText/secondaryText from step state so React keeps them
|
|
97
|
+
* // in sync on re-render. Use useEffect to call focusHeading() after the DOM has updated.
|
|
98
|
+
* const flyoutRef = useRef(null);
|
|
99
|
+
* const [step, setStep] = useState(0);
|
|
100
|
+
* const [focusHeading, setFocusHeading] = useState(false);
|
|
101
|
+
*
|
|
102
|
+
* const steps = [
|
|
103
|
+
* { heading: "Vestibulum convallis", breadcrumb: "Vestibulum convallis", primaryText: "Next", secondaryText: "Cancel" },
|
|
104
|
+
* { heading: "Dignissim magna", breadcrumb: "Vestibulum convallis,Dignissim magna", primaryText: "Submit", secondaryText: "Back" },
|
|
105
|
+
* ];
|
|
106
|
+
*
|
|
107
|
+
* useEffect(() => {
|
|
108
|
+
* if (focusHeading) {
|
|
109
|
+
* flyoutRef.current.focusHeading();
|
|
110
|
+
* setFocusHeading(false);
|
|
111
|
+
* }
|
|
112
|
+
* }, [step, focusHeading]);
|
|
113
|
+
*
|
|
114
|
+
* const goToStep = (idx) => { setStep(idx); setFocusHeading(true); };
|
|
115
|
+
* const handlePrimary = () => { step === 0 ? goToStep(1) : (flyoutRef.current.open = false); };
|
|
116
|
+
* const handleSecondary = () => { step === 0 ? (flyoutRef.current.open = false) : goToStep(0); };
|
|
117
|
+
*
|
|
118
|
+
* <WmButton onClick={() => { setStep(0); flyoutRef.current.open = true; }}>Open flyout</WmButton>
|
|
119
|
+
*
|
|
120
|
+
* <WmFlyout
|
|
121
|
+
* ref={flyoutRef}
|
|
122
|
+
* heading={steps[step].heading}
|
|
123
|
+
* breadcrumb={steps[step].breadcrumb}
|
|
124
|
+
* primaryText={steps[step].primaryText}
|
|
125
|
+
* secondaryText={steps[step].secondaryText}
|
|
126
|
+
* onWmFlyoutPrimaryTriggered={handlePrimary}
|
|
127
|
+
* onWmFlyoutSecondaryTriggered={handleSecondary}
|
|
128
|
+
* onWmFlyoutCloseTriggered={() => { flyoutRef.current.open = false; }}
|
|
129
|
+
* onWmFlyoutBreadcrumbClicked={(ev) => goToStep(ev.detail.index)}
|
|
130
|
+
* >
|
|
131
|
+
* {step === 0 && <div className="flyout-content"><WmInput label="Program name *" /></div>}
|
|
132
|
+
* {step === 1 && <div className="flyout-content"><WmInput label="Start date" /></div>}
|
|
133
|
+
* </WmFlyout>
|
|
134
|
+
*
|
|
135
|
+
* @requiredSetup
|
|
136
|
+
* - Drive `open` from your own state: true to show the flyout, false to hide it.
|
|
137
|
+
* - Handle `wmFlyoutCloseTriggered` by setting `open = false`. It covers the close button and
|
|
138
|
+
* Escape, which are the only close paths -- there is no outside-click dismissal.
|
|
139
|
+
* - Handle `wmFlyoutPrimaryTriggered` and `wmFlyoutSecondaryTriggered` for whichever footer buttons
|
|
140
|
+
* `primary-text` and `secondary-text` render, setting `open = false` to dismiss.
|
|
141
|
+
* - For multi-step flows, drive `heading`, `breadcrumb`, and the button text from state, call
|
|
142
|
+
* `focusHeading()` after each step change, and handle `wmFlyoutBreadcrumbClicked` (`event.detail`
|
|
143
|
+
* is `{ breadcrumb, index }`) to step backwards.
|
|
144
|
+
*
|
|
145
|
+
*/
|
|
146
|
+
export class Flyout {
|
|
147
|
+
constructor() {
|
|
148
|
+
this.debouncedCheckBreadcrumbOverflow = debounce(this.checkBreadcrumbOverflow, 30);
|
|
149
|
+
this.eyebrow = undefined;
|
|
150
|
+
this.heading = undefined;
|
|
151
|
+
this.subheading = undefined;
|
|
152
|
+
this.flyoutWidth = "45rem";
|
|
153
|
+
this.primaryText = undefined;
|
|
154
|
+
this.secondaryText = undefined;
|
|
155
|
+
this.infoText = undefined;
|
|
156
|
+
this.breadcrumb = undefined;
|
|
157
|
+
this.elementToFocus = "";
|
|
158
|
+
this.open = false;
|
|
159
|
+
this.returnFocusEl = undefined;
|
|
160
|
+
this.isBreadcrumbsOverflowing = false;
|
|
161
|
+
}
|
|
162
|
+
get lastFocusableEl() {
|
|
163
|
+
if (this.primaryText) {
|
|
164
|
+
return this.el.shadowRoot.querySelector("#primary-button");
|
|
165
|
+
}
|
|
166
|
+
if (this.secondaryText) {
|
|
167
|
+
return this.el.shadowRoot.querySelector("#secondary-button");
|
|
168
|
+
}
|
|
169
|
+
let lastFocusableDescendant = null;
|
|
170
|
+
if (this.el.firstElementChild) {
|
|
171
|
+
lastFocusableDescendant = getLastFocusableDescendant(this.el.firstElementChild);
|
|
172
|
+
}
|
|
173
|
+
if (lastFocusableDescendant) {
|
|
174
|
+
return lastFocusableDescendant;
|
|
175
|
+
}
|
|
176
|
+
return this.closeButtonEl; // fallback
|
|
177
|
+
}
|
|
178
|
+
get focusOnOpenEl() {
|
|
179
|
+
let customElementToFocus = null;
|
|
180
|
+
if (this.elementToFocus === "primary" || this.elementToFocus === "secondary") {
|
|
181
|
+
customElementToFocus = this.el.shadowRoot.querySelector(`#${this.elementToFocus}-button`);
|
|
182
|
+
}
|
|
183
|
+
else if (this.elementToFocus) {
|
|
184
|
+
customElementToFocus = this.el.querySelector(`#${this.elementToFocus}`);
|
|
185
|
+
if (!customElementToFocus) {
|
|
186
|
+
console.warn(`wm-flyout: The component couldn't find an element matching the id you passed for 'elementToFocus' (${this.elementToFocus}). It will fall back to the default and focus the close button when the flyout opens.`);
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
return customElementToFocus || this.closeButtonEl;
|
|
190
|
+
}
|
|
191
|
+
componentWillLoad() {
|
|
192
|
+
if (!this.heading) {
|
|
193
|
+
console.error("wm-flyout: heading is a required property");
|
|
194
|
+
}
|
|
195
|
+
this.el.focus = () => {
|
|
196
|
+
this.focusOnOpenEl.focus();
|
|
197
|
+
};
|
|
198
|
+
this.el.style.setProperty("--flyout-width", this.flyoutWidth);
|
|
199
|
+
}
|
|
200
|
+
componentDidLoad() {
|
|
201
|
+
// Initialize and attach resize observer
|
|
202
|
+
this.resizeObserver = new ResizeObserver(() => {
|
|
203
|
+
this.debouncedCheckBreadcrumbOverflow();
|
|
204
|
+
});
|
|
205
|
+
this.resizeObserver.observe(this.dialogEl);
|
|
206
|
+
if (this.open) {
|
|
207
|
+
this.showFlyout();
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
checkBreadcrumbOverflow() {
|
|
211
|
+
if (this.breadcrumbsMeasureEl && this.breadcrumbsEl && this.open) {
|
|
212
|
+
this.isBreadcrumbsOverflowing = this.breadcrumbsMeasureEl.offsetWidth > this.breadcrumbsEl.offsetWidth;
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
handleOpenChange(newValue) {
|
|
216
|
+
if (newValue && !this.dialogEl.open) {
|
|
217
|
+
this.showFlyout();
|
|
218
|
+
}
|
|
219
|
+
else if (!newValue && this.dialogEl.open) {
|
|
220
|
+
this.hideFlyout();
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
setFlyoutWidth() {
|
|
224
|
+
this.el.style.setProperty("--flyout-width", this.flyoutWidth);
|
|
225
|
+
}
|
|
226
|
+
/**
|
|
227
|
+
* @description Moves focus to the flyout's heading element. Call this after updating flyout
|
|
228
|
+
* content in a multi-step workflow so screen readers announce the new heading to the user.
|
|
229
|
+
* @returns A promise that resolves once focus has been applied.
|
|
230
|
+
*/
|
|
231
|
+
async focusHeading() {
|
|
232
|
+
this.headingEl.focus();
|
|
233
|
+
}
|
|
234
|
+
handleKeyDown(ev) {
|
|
235
|
+
if (ev.key === "Escape") {
|
|
236
|
+
ev.preventDefault();
|
|
237
|
+
ev.stopPropagation();
|
|
238
|
+
this.wmFlyoutCloseTriggered.emit();
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
handleEndBookendFocus() {
|
|
242
|
+
const firstBreadcrumbButton = this.el.shadowRoot.querySelector(".breadcrumb-button");
|
|
243
|
+
if (firstBreadcrumbButton) {
|
|
244
|
+
firstBreadcrumbButton.focus();
|
|
245
|
+
}
|
|
246
|
+
else {
|
|
247
|
+
this.closeButtonEl.focus();
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
showFlyout() {
|
|
251
|
+
this.returnFocusEl = document.activeElement;
|
|
252
|
+
this.initialBodyOverflow = document.body.style.overflow;
|
|
253
|
+
document.body.style.overflow = "hidden"; // Prevents background scrolling
|
|
254
|
+
this.dialogEl.showModal();
|
|
255
|
+
requestAnimationFrame(() => {
|
|
256
|
+
this.checkBreadcrumbOverflow();
|
|
257
|
+
this.focusOnOpenEl.focus();
|
|
258
|
+
});
|
|
259
|
+
}
|
|
260
|
+
hideFlyout() {
|
|
261
|
+
document.body.style.overflow = this.initialBodyOverflow; // TypeScript doesn't like that this can be undefined, but we do want to assign undefined if that's what initialBodyOverFlow is set to.
|
|
262
|
+
this.dialogEl.close();
|
|
263
|
+
// Return focus to the trigger once the dialog has closed, if focus fell back to the body.
|
|
264
|
+
setTimeout(() => {
|
|
265
|
+
if (this.returnFocusEl && document.activeElement === document.body) {
|
|
266
|
+
if (this.returnFocusEl.tagName === "WM-MENUITEM") {
|
|
267
|
+
this.returnFocusEl = this.returnFocusEl.parentElement;
|
|
268
|
+
}
|
|
269
|
+
this.returnFocusEl.focus();
|
|
270
|
+
}
|
|
271
|
+
}, 20);
|
|
272
|
+
}
|
|
273
|
+
renderBreadcrumbList() {
|
|
274
|
+
if (this.breadcrumb) {
|
|
275
|
+
const breadcrumbNames = csvToArray(this.breadcrumb);
|
|
276
|
+
const shouldTruncate = this.isBreadcrumbsOverflowing && breadcrumbNames.length > 2;
|
|
277
|
+
const breadcrumbsToRender = shouldTruncate ? breadcrumbNames.slice(-2) : breadcrumbNames;
|
|
278
|
+
return (h("div", { class: "breadcrumbs" }, h("div", { class: "breadcrumbs-measure", ref: (el) => (this.breadcrumbsMeasureEl = el) }, breadcrumbNames.map((name, idx) => (h("span", { class: "breadcrumb-item" }, h("span", null, name), idx < breadcrumbNames.length - 1 && h("span", { class: "separator" }, ">"))))), h("div", { class: "breadcrumbs-container", ref: (el) => (this.breadcrumbsEl = el) }, shouldTruncate && (h("span", { class: "breadcrumb-item" }, h("span", { class: "ellipsis" }, "..."), h("span", { class: "separator" }, ">"))), breadcrumbsToRender.map((breadcrumbName, idx) => this.renderBreadcrumb(breadcrumbName, shouldTruncate ? idx === 1 : idx === breadcrumbNames.length - 1)))));
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
renderBreadcrumb(breadcrumbName, isLast) {
|
|
282
|
+
return (h("span", { class: "breadcrumb-item" }, isLast ? (h("span", { class: "current" }, breadcrumbName)) : (h("wm-button", { class: "breadcrumb-button", "button-type": "textonly", onClick: () => this.wmFlyoutBreadcrumbClicked.emit({
|
|
283
|
+
breadcrumb: breadcrumbName,
|
|
284
|
+
index: csvToArray(this.breadcrumb).indexOf(breadcrumbName),
|
|
285
|
+
}) }, breadcrumbName)), !isLast && h("span", { class: "separator" }, ">")));
|
|
286
|
+
}
|
|
287
|
+
renderHeader() {
|
|
288
|
+
return (h("div", { class: "flyout-header" }, h("div", { class: "header-left" }, this.renderBreadcrumbList(), this.eyebrow && h("div", { class: "eyebrow" }, this.eyebrow), h("h2", { id: "heading", class: "heading", tabIndex: -1, ref: (el) => (this.headingEl = el) }, this.heading), this.subheading && h("p", { class: "subheading" }, this.subheading)), h("div", { class: "header-right" }, h("wm-button", { ref: (el) => (this.closeButtonEl = el), class: "close-button", "button-type": "navigational", icon: "#close", tooltip: globalMessages.close, onClick: () => this.wmFlyoutCloseTriggered.emit() }))));
|
|
289
|
+
}
|
|
290
|
+
renderFooter() {
|
|
291
|
+
const hasFooter = this.primaryText || this.secondaryText || this.infoText;
|
|
292
|
+
if (hasFooter) {
|
|
293
|
+
return (h("div", { class: `flyout-footer ${this.infoText ? "has-info" : ""}` }, this.infoText && h("div", { class: "info-text" }, this.infoText), h("div", { class: "button-group" }, this.secondaryText && (h("wm-button", { id: "secondary-button", "button-type": "secondary", onClick: () => this.wmFlyoutSecondaryTriggered.emit() }, this.secondaryText)), this.primaryText && (h("wm-button", { id: "primary-button", "button-type": "primary", onClick: () => this.wmFlyoutPrimaryTriggered.emit() }, this.primaryText)))));
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
render() {
|
|
297
|
+
return (h(Host, { key: 'de4b5f597cc2e9fa94f0385df1d3b3b8d886f50d' }, h("dialog", { key: 'e89892a086afa301a9939bf1c5c8abda987f910f', ref: (el) => (this.dialogEl = el), class: "flyout", "aria-labelledby": "heading", onClose: () => this.wmFlyoutCloseTriggered.emit(), onKeyDown: (ev) => this.handleKeyDown(ev) }, h("div", { key: 'c0714dbbf4c6365be710b6705f30ca81d009fd53', tabindex: "0", class: "focus-trap", onFocus: () => this.lastFocusableEl.focus(), "aria-hidden": "true" }), this.renderHeader(), h("div", { key: 'ca6b64011bd3993a80db682e8a913c8a0392f3a9', class: "flyout-content" }, h("slot", { key: 'ec4f277c68885adfbe6b5379117ba8b6bfee0891' })), this.renderFooter(), h("div", { key: '27c997321b543179b24bfe6759c29a877685932f', tabindex: "0", class: "focus-trap", onFocus: () => this.handleEndBookendFocus(), "aria-hidden": "true" }))));
|
|
298
|
+
}
|
|
299
|
+
static get is() { return "wm-flyout"; }
|
|
300
|
+
static get encapsulation() { return "shadow"; }
|
|
301
|
+
static get originalStyleUrls() {
|
|
302
|
+
return {
|
|
303
|
+
"$": ["wm-flyout.scss"]
|
|
304
|
+
};
|
|
305
|
+
}
|
|
306
|
+
static get styleUrls() {
|
|
307
|
+
return {
|
|
308
|
+
"$": ["wm-flyout.css"]
|
|
309
|
+
};
|
|
310
|
+
}
|
|
311
|
+
static get properties() {
|
|
312
|
+
return {
|
|
313
|
+
"eyebrow": {
|
|
314
|
+
"type": "string",
|
|
315
|
+
"mutable": false,
|
|
316
|
+
"complexType": {
|
|
317
|
+
"original": "string",
|
|
318
|
+
"resolved": "string | undefined",
|
|
319
|
+
"references": {}
|
|
320
|
+
},
|
|
321
|
+
"required": false,
|
|
322
|
+
"optional": true,
|
|
323
|
+
"docs": {
|
|
324
|
+
"tags": [{
|
|
325
|
+
"name": "description",
|
|
326
|
+
"text": "Small label displayed above the heading. Useful for context like a category or record type."
|
|
327
|
+
}],
|
|
328
|
+
"text": ""
|
|
329
|
+
},
|
|
330
|
+
"attribute": "eyebrow",
|
|
331
|
+
"reflect": false
|
|
332
|
+
},
|
|
333
|
+
"heading": {
|
|
334
|
+
"type": "string",
|
|
335
|
+
"mutable": false,
|
|
336
|
+
"complexType": {
|
|
337
|
+
"original": "string",
|
|
338
|
+
"resolved": "string",
|
|
339
|
+
"references": {}
|
|
340
|
+
},
|
|
341
|
+
"required": true,
|
|
342
|
+
"optional": false,
|
|
343
|
+
"docs": {
|
|
344
|
+
"tags": [{
|
|
345
|
+
"name": "description",
|
|
346
|
+
"text": "Heading text displayed at the top of the flyout. Also used as the dialog's accessible name."
|
|
347
|
+
}, {
|
|
348
|
+
"name": "required",
|
|
349
|
+
"text": undefined
|
|
350
|
+
}],
|
|
351
|
+
"text": ""
|
|
352
|
+
},
|
|
353
|
+
"attribute": "heading",
|
|
354
|
+
"reflect": false
|
|
355
|
+
},
|
|
356
|
+
"subheading": {
|
|
357
|
+
"type": "string",
|
|
358
|
+
"mutable": false,
|
|
359
|
+
"complexType": {
|
|
360
|
+
"original": "string",
|
|
361
|
+
"resolved": "string | undefined",
|
|
362
|
+
"references": {}
|
|
363
|
+
},
|
|
364
|
+
"required": false,
|
|
365
|
+
"optional": true,
|
|
366
|
+
"docs": {
|
|
367
|
+
"tags": [{
|
|
368
|
+
"name": "description",
|
|
369
|
+
"text": "Subtitle text displayed below the heading."
|
|
370
|
+
}],
|
|
371
|
+
"text": ""
|
|
372
|
+
},
|
|
373
|
+
"attribute": "subheading",
|
|
374
|
+
"reflect": false
|
|
375
|
+
},
|
|
376
|
+
"flyoutWidth": {
|
|
377
|
+
"type": "string",
|
|
378
|
+
"mutable": false,
|
|
379
|
+
"complexType": {
|
|
380
|
+
"original": "string",
|
|
381
|
+
"resolved": "string",
|
|
382
|
+
"references": {}
|
|
383
|
+
},
|
|
384
|
+
"required": false,
|
|
385
|
+
"optional": false,
|
|
386
|
+
"docs": {
|
|
387
|
+
"tags": [{
|
|
388
|
+
"name": "description",
|
|
389
|
+
"text": "CSS width value for the flyout panel. Capped at 90% of the viewport width,\nand at 100% on viewports narrower than 534px."
|
|
390
|
+
}, {
|
|
391
|
+
"name": "default",
|
|
392
|
+
"text": "\"45rem\""
|
|
393
|
+
}],
|
|
394
|
+
"text": ""
|
|
395
|
+
},
|
|
396
|
+
"attribute": "flyout-width",
|
|
397
|
+
"reflect": false,
|
|
398
|
+
"defaultValue": "\"45rem\""
|
|
399
|
+
},
|
|
400
|
+
"primaryText": {
|
|
401
|
+
"type": "string",
|
|
402
|
+
"mutable": false,
|
|
403
|
+
"complexType": {
|
|
404
|
+
"original": "string",
|
|
405
|
+
"resolved": "string | undefined",
|
|
406
|
+
"references": {}
|
|
407
|
+
},
|
|
408
|
+
"required": false,
|
|
409
|
+
"optional": true,
|
|
410
|
+
"docs": {
|
|
411
|
+
"tags": [{
|
|
412
|
+
"name": "description",
|
|
413
|
+
"text": "Label for the primary footer button. When set, a primary button is rendered\nin the footer. Fires `wmFlyoutPrimaryTriggered` when clicked."
|
|
414
|
+
}],
|
|
415
|
+
"text": ""
|
|
416
|
+
},
|
|
417
|
+
"attribute": "primary-text",
|
|
418
|
+
"reflect": false
|
|
419
|
+
},
|
|
420
|
+
"secondaryText": {
|
|
421
|
+
"type": "string",
|
|
422
|
+
"mutable": false,
|
|
423
|
+
"complexType": {
|
|
424
|
+
"original": "string",
|
|
425
|
+
"resolved": "string | undefined",
|
|
426
|
+
"references": {}
|
|
427
|
+
},
|
|
428
|
+
"required": false,
|
|
429
|
+
"optional": true,
|
|
430
|
+
"docs": {
|
|
431
|
+
"tags": [{
|
|
432
|
+
"name": "description",
|
|
433
|
+
"text": "Label for the secondary footer button. When set, a secondary button is rendered\nin the footer. Fires `wmFlyoutSecondaryTriggered` when clicked."
|
|
434
|
+
}],
|
|
435
|
+
"text": ""
|
|
436
|
+
},
|
|
437
|
+
"attribute": "secondary-text",
|
|
438
|
+
"reflect": false
|
|
439
|
+
},
|
|
440
|
+
"infoText": {
|
|
441
|
+
"type": "string",
|
|
442
|
+
"mutable": false,
|
|
443
|
+
"complexType": {
|
|
444
|
+
"original": "string",
|
|
445
|
+
"resolved": "string | undefined",
|
|
446
|
+
"references": {}
|
|
447
|
+
},
|
|
448
|
+
"required": false,
|
|
449
|
+
"optional": true,
|
|
450
|
+
"docs": {
|
|
451
|
+
"tags": [{
|
|
452
|
+
"name": "description",
|
|
453
|
+
"text": "Informational text displayed in the lower-left corner of the footer\n(e.g. `\"* Required fields\"`)."
|
|
454
|
+
}],
|
|
455
|
+
"text": ""
|
|
456
|
+
},
|
|
457
|
+
"attribute": "info-text",
|
|
458
|
+
"reflect": false
|
|
459
|
+
},
|
|
460
|
+
"breadcrumb": {
|
|
461
|
+
"type": "string",
|
|
462
|
+
"mutable": false,
|
|
463
|
+
"complexType": {
|
|
464
|
+
"original": "string",
|
|
465
|
+
"resolved": "string | undefined",
|
|
466
|
+
"references": {}
|
|
467
|
+
},
|
|
468
|
+
"required": false,
|
|
469
|
+
"optional": true,
|
|
470
|
+
"docs": {
|
|
471
|
+
"tags": [{
|
|
472
|
+
"name": "description",
|
|
473
|
+
"text": "Comma-separated list of breadcrumb labels rendered above the heading.\nThe last item is displayed as plain text (current step); earlier items are rendered as\nbuttons that fire `wmFlyoutBreadcrumbClicked`."
|
|
474
|
+
}],
|
|
475
|
+
"text": ""
|
|
476
|
+
},
|
|
477
|
+
"attribute": "breadcrumb",
|
|
478
|
+
"reflect": false
|
|
479
|
+
},
|
|
480
|
+
"elementToFocus": {
|
|
481
|
+
"type": "string",
|
|
482
|
+
"mutable": false,
|
|
483
|
+
"complexType": {
|
|
484
|
+
"original": "\"primary\" | \"secondary\" | string",
|
|
485
|
+
"resolved": "string",
|
|
486
|
+
"references": {}
|
|
487
|
+
},
|
|
488
|
+
"required": false,
|
|
489
|
+
"optional": false,
|
|
490
|
+
"docs": {
|
|
491
|
+
"tags": [{
|
|
492
|
+
"name": "description",
|
|
493
|
+
"text": "Element to focus when the flyout opens. Pass `\"primary\"` or `\"secondary\"` to\nfocus the corresponding footer button, or an element `id` to focus a specific element in the\nflyout body. Defaults to the close button."
|
|
494
|
+
}, {
|
|
495
|
+
"name": "default",
|
|
496
|
+
"text": "\"\""
|
|
497
|
+
}],
|
|
498
|
+
"text": ""
|
|
499
|
+
},
|
|
500
|
+
"attribute": "element-to-focus",
|
|
501
|
+
"reflect": false,
|
|
502
|
+
"defaultValue": "\"\""
|
|
503
|
+
},
|
|
504
|
+
"open": {
|
|
505
|
+
"type": "boolean",
|
|
506
|
+
"mutable": false,
|
|
507
|
+
"complexType": {
|
|
508
|
+
"original": "boolean",
|
|
509
|
+
"resolved": "boolean",
|
|
510
|
+
"references": {}
|
|
511
|
+
},
|
|
512
|
+
"required": false,
|
|
513
|
+
"optional": false,
|
|
514
|
+
"docs": {
|
|
515
|
+
"tags": [{
|
|
516
|
+
"name": "description",
|
|
517
|
+
"text": "Controls the open/closed state of the flyout. Always render the component on\npage load and toggle this prop rather than conditionally mounting/unmounting the element."
|
|
518
|
+
}, {
|
|
519
|
+
"name": "default",
|
|
520
|
+
"text": "false"
|
|
521
|
+
}],
|
|
522
|
+
"text": ""
|
|
523
|
+
},
|
|
524
|
+
"attribute": "open",
|
|
525
|
+
"reflect": true,
|
|
526
|
+
"defaultValue": "false"
|
|
527
|
+
}
|
|
528
|
+
};
|
|
529
|
+
}
|
|
530
|
+
static get states() {
|
|
531
|
+
return {
|
|
532
|
+
"returnFocusEl": {},
|
|
533
|
+
"isBreadcrumbsOverflowing": {}
|
|
534
|
+
};
|
|
535
|
+
}
|
|
536
|
+
static get events() {
|
|
537
|
+
return [{
|
|
538
|
+
"method": "wmFlyoutCloseTriggered",
|
|
539
|
+
"name": "wmFlyoutCloseTriggered",
|
|
540
|
+
"bubbles": true,
|
|
541
|
+
"cancelable": true,
|
|
542
|
+
"composed": true,
|
|
543
|
+
"docs": {
|
|
544
|
+
"tags": [{
|
|
545
|
+
"name": "description",
|
|
546
|
+
"text": "Fires when the close button is clicked, Escape is pressed, or the native\ndialog close event fires. The host application must set `open` to false in response."
|
|
547
|
+
}],
|
|
548
|
+
"text": ""
|
|
549
|
+
},
|
|
550
|
+
"complexType": {
|
|
551
|
+
"original": "void",
|
|
552
|
+
"resolved": "void",
|
|
553
|
+
"references": {}
|
|
554
|
+
}
|
|
555
|
+
}, {
|
|
556
|
+
"method": "wmFlyoutPrimaryTriggered",
|
|
557
|
+
"name": "wmFlyoutPrimaryTriggered",
|
|
558
|
+
"bubbles": true,
|
|
559
|
+
"cancelable": true,
|
|
560
|
+
"composed": true,
|
|
561
|
+
"docs": {
|
|
562
|
+
"tags": [{
|
|
563
|
+
"name": "description",
|
|
564
|
+
"text": "Fires when the primary footer button is clicked."
|
|
565
|
+
}],
|
|
566
|
+
"text": ""
|
|
567
|
+
},
|
|
568
|
+
"complexType": {
|
|
569
|
+
"original": "void",
|
|
570
|
+
"resolved": "void",
|
|
571
|
+
"references": {}
|
|
572
|
+
}
|
|
573
|
+
}, {
|
|
574
|
+
"method": "wmFlyoutSecondaryTriggered",
|
|
575
|
+
"name": "wmFlyoutSecondaryTriggered",
|
|
576
|
+
"bubbles": true,
|
|
577
|
+
"cancelable": true,
|
|
578
|
+
"composed": true,
|
|
579
|
+
"docs": {
|
|
580
|
+
"tags": [{
|
|
581
|
+
"name": "description",
|
|
582
|
+
"text": "Fires when the secondary footer button is clicked."
|
|
583
|
+
}],
|
|
584
|
+
"text": ""
|
|
585
|
+
},
|
|
586
|
+
"complexType": {
|
|
587
|
+
"original": "void",
|
|
588
|
+
"resolved": "void",
|
|
589
|
+
"references": {}
|
|
590
|
+
}
|
|
591
|
+
}, {
|
|
592
|
+
"method": "wmFlyoutBreadcrumbClicked",
|
|
593
|
+
"name": "wmFlyoutBreadcrumbClicked",
|
|
594
|
+
"bubbles": true,
|
|
595
|
+
"cancelable": true,
|
|
596
|
+
"composed": true,
|
|
597
|
+
"docs": {
|
|
598
|
+
"tags": [{
|
|
599
|
+
"name": "description",
|
|
600
|
+
"text": "Fires when a breadcrumb button (any non-last breadcrumb) is clicked."
|
|
601
|
+
}, {
|
|
602
|
+
"name": "eventDetails",
|
|
603
|
+
"text": "{{ breadcrumb: string, index: number }} breadcrumb \u2014 the label of the clicked breadcrumb; index \u2014 its zero-based position in the original CSV list."
|
|
604
|
+
}],
|
|
605
|
+
"text": ""
|
|
606
|
+
},
|
|
607
|
+
"complexType": {
|
|
608
|
+
"original": "{ breadcrumb: string; index: number }",
|
|
609
|
+
"resolved": "{ breadcrumb: string; index: number; }",
|
|
610
|
+
"references": {}
|
|
611
|
+
}
|
|
612
|
+
}];
|
|
613
|
+
}
|
|
614
|
+
static get methods() {
|
|
615
|
+
return {
|
|
616
|
+
"focusHeading": {
|
|
617
|
+
"complexType": {
|
|
618
|
+
"signature": "() => Promise<void>",
|
|
619
|
+
"parameters": [],
|
|
620
|
+
"references": {
|
|
621
|
+
"Promise": {
|
|
622
|
+
"location": "global",
|
|
623
|
+
"id": "global::Promise"
|
|
624
|
+
}
|
|
625
|
+
},
|
|
626
|
+
"return": "Promise<void>"
|
|
627
|
+
},
|
|
628
|
+
"docs": {
|
|
629
|
+
"text": "",
|
|
630
|
+
"tags": [{
|
|
631
|
+
"name": "description",
|
|
632
|
+
"text": "Moves focus to the flyout's heading element. Call this after updating flyout\ncontent in a multi-step workflow so screen readers announce the new heading to the user."
|
|
633
|
+
}, {
|
|
634
|
+
"name": "returns",
|
|
635
|
+
"text": "A promise that resolves once focus has been applied."
|
|
636
|
+
}]
|
|
637
|
+
}
|
|
638
|
+
}
|
|
639
|
+
};
|
|
640
|
+
}
|
|
641
|
+
static get elementRef() { return "el"; }
|
|
642
|
+
static get watchers() {
|
|
643
|
+
return [{
|
|
644
|
+
"propName": "open",
|
|
645
|
+
"methodName": "handleOpenChange"
|
|
646
|
+
}, {
|
|
647
|
+
"propName": "flyoutWidth",
|
|
648
|
+
"methodName": "setFlyoutWidth"
|
|
649
|
+
}];
|
|
650
|
+
}
|
|
651
|
+
}
|