@watermarkinsights/ripple 5.30.0 → 5.31.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-df7ca137.js +103 -0
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/priv-calendar.cjs.entry.js +27 -27
- package/dist/cjs/priv-chart-popover-old.cjs.entry.js +2 -2
- package/dist/cjs/priv-chart-popover_2.cjs.entry.js +3 -3
- package/dist/cjs/priv-navigator-button.cjs.entry.js +1 -1
- package/dist/cjs/priv-navigator-item.cjs.entry.js +1 -1
- package/dist/cjs/priv-option-list.cjs.entry.js +1 -1
- package/dist/cjs/ripple.cjs.js +1 -1
- package/dist/cjs/wm-action-menu_2.cjs.entry.js +5 -4
- package/dist/cjs/wm-button.cjs.entry.js +1 -1
- package/dist/cjs/wm-chart-bar.cjs.entry.js +1 -1
- package/dist/cjs/wm-chart-column.cjs.entry.js +1 -1
- package/dist/cjs/wm-chart.cjs.entry.js +1 -1
- package/dist/cjs/wm-date-range.cjs.entry.js +25 -9
- package/dist/cjs/wm-datepicker.cjs.entry.js +37 -11
- package/dist/cjs/wm-file-list.cjs.entry.js +1 -1
- package/dist/cjs/wm-file.cjs.entry.js +1 -1
- package/dist/cjs/wm-flyout.cjs.entry.js +6 -1
- package/dist/cjs/wm-input.cjs.entry.js +1 -1
- package/dist/cjs/wm-line-chart.cjs.entry.js +1 -1
- package/dist/cjs/wm-modal-pss_3.cjs.entry.js +4 -4
- package/dist/cjs/wm-modal_3.cjs.entry.js +19 -4
- package/dist/cjs/wm-navigation_3.cjs.entry.js +4 -4
- package/dist/cjs/wm-navigator.cjs.entry.js +1 -1
- package/dist/cjs/wm-nested-select.cjs.entry.js +3 -3
- package/dist/cjs/wm-optgroup.cjs.entry.js +11 -1
- package/dist/cjs/wm-option_2.cjs.entry.js +5 -5
- package/dist/cjs/wm-pagination.cjs.entry.js +1 -1
- package/dist/cjs/wm-progress-indicator_3.cjs.entry.js +2 -2
- package/dist/cjs/wm-search.cjs.entry.js +2 -2
- package/dist/cjs/wm-snackbar.cjs.entry.js +2 -2
- package/dist/cjs/wm-tab-item_3.cjs.entry.js +6 -6
- package/dist/cjs/wm-tag-input.cjs.entry.js +2 -2
- package/dist/cjs/wm-tag-option.cjs.entry.js +8 -0
- package/dist/cjs/wm-textarea.cjs.entry.js +1 -1
- package/dist/cjs/wm-timepicker.cjs.entry.js +14 -2
- package/dist/cjs/wm-toggletip.cjs.entry.js +3 -3
- package/dist/cjs/wm-uploader.cjs.entry.js +2 -2
- package/dist/collection/components/charts/priv-chart-popover/priv-chart-popover.js +7 -2
- package/dist/collection/components/charts/priv-chart-popover-old/priv-chart-popover-old.js +7 -2
- package/dist/collection/components/charts/wm-chart/wm-chart-slice.js +58 -6
- package/dist/collection/components/charts/wm-chart/wm-chart.js +139 -13
- package/dist/collection/components/charts/wm-chart-bar/wm-chart-bar.js +134 -7
- package/dist/collection/components/charts/wm-chart-column/wm-chart-column.js +102 -8
- package/dist/collection/components/charts/wm-chart-legend/wm-chart-legend.js +90 -8
- package/dist/collection/components/charts/wm-line-chart/wm-line-chart.js +153 -17
- package/dist/collection/components/charts/wm-progress-monitor/wm-progress-indicator.js +63 -7
- package/dist/collection/components/charts/wm-progress-monitor/wm-progress-monitor.js +85 -5
- package/dist/collection/components/charts/wm-progress-monitor/wm-progress-slice.js +52 -6
- package/dist/collection/components/datepickers/priv-calendar/priv-calendar.css +47 -47
- package/dist/collection/components/datepickers/priv-calendar/priv-calendar.js +33 -29
- package/dist/collection/components/datepickers/wm-date-range.js +246 -29
- package/dist/collection/components/datepickers/wm-datepicker.js +254 -30
- package/dist/collection/components/selects/priv-option-list/priv-option-list.js +7 -1
- package/dist/collection/components/selects/wm-nested-select/wm-nested-select.js +193 -17
- package/dist/collection/components/selects/wm-optgroup/wm-optgroup.js +116 -11
- package/dist/collection/components/selects/wm-option/wm-option.js +153 -18
- package/dist/collection/components/selects/wm-select/wm-select.js +187 -21
- package/dist/collection/components/wm-action-menu/wm-action-menu.js +148 -12
- package/dist/collection/components/wm-button/wm-button.js +212 -18
- package/dist/collection/components/wm-file/wm-file.js +108 -14
- package/dist/collection/components/wm-file-list/wm-file-list.js +74 -2
- package/dist/collection/components/wm-flyout/wm-flyout.js +215 -16
- package/dist/collection/components/wm-input/wm-input.js +195 -20
- package/dist/collection/components/wm-menuitem/wm-menuitem.js +62 -5
- package/dist/collection/components/wm-modal/wm-modal-footer.js +63 -6
- package/dist/collection/components/wm-modal/wm-modal-header.js +34 -3
- package/dist/collection/components/wm-modal/wm-modal.js +181 -14
- package/dist/collection/components/wm-modal-pss/wm-modal-pss-footer.js +5 -1
- package/dist/collection/components/wm-modal-pss/wm-modal-pss-header.js +5 -1
- package/dist/collection/components/wm-modal-pss/wm-modal-pss.js +6 -2
- package/dist/collection/components/wm-navigation/wm-navigation-hamburger.js +37 -3
- package/dist/collection/components/wm-navigation/wm-navigation-item.js +47 -5
- package/dist/collection/components/wm-navigation/wm-navigation.js +54 -4
- package/dist/collection/components/wm-navigator/priv-navigator-button/priv-navigator-button.js +5 -1
- package/dist/collection/components/wm-navigator/priv-navigator-item/priv-navigator-item.js +5 -1
- package/dist/collection/components/wm-navigator/wm-navigator.js +102 -9
- package/dist/collection/components/wm-pagination/wm-pagination.js +106 -9
- package/dist/collection/components/wm-search/wm-search.js +182 -16
- package/dist/collection/components/wm-snackbar/wm-snackbar.js +96 -5
- package/dist/collection/components/wm-tabs/wm-tab-item/wm-tab-item.js +66 -10
- package/dist/collection/components/wm-tabs/wm-tab-list/wm-tab-list.js +96 -5
- package/dist/collection/components/wm-tabs/wm-tab-panel/wm-tab-panel.js +42 -6
- package/dist/collection/components/wm-tag-input/wm-tag-input.js +205 -17
- package/dist/collection/components/wm-tag-input/wm-tag-option/wm-tag-option.js +97 -12
- package/dist/collection/components/wm-textarea/wm-textarea.js +116 -13
- package/dist/collection/components/wm-timepicker/wm-timepicker.js +190 -16
- package/dist/collection/components/wm-toggletip/wm-toggletip.js +87 -8
- package/dist/collection/components/wm-uploader/wm-uploader.js +142 -14
- package/dist/collection/components/wm-wrapper/wm-wrapper.js +3 -0
- package/dist/collection/global/services/__mocks__/http-service.js +1 -1
- package/dist/docs/docs.d.ts +435 -0
- package/dist/docs/docs.json +13915 -0
- package/dist/docs/props-reference.json +2028 -0
- package/dist/docs/skill/index.md +32 -0
- package/dist/docs/skill/wm-action-menu.md +93 -0
- package/dist/docs/skill/wm-button.md +103 -0
- package/dist/docs/skill/wm-chart-bar.md +129 -0
- package/dist/docs/skill/wm-chart-column.md +96 -0
- package/dist/docs/skill/wm-chart-legend.md +67 -0
- package/dist/docs/skill/wm-chart-slice.md +55 -0
- package/dist/docs/skill/wm-chart.md +92 -0
- package/dist/docs/skill/wm-date-range.md +153 -0
- package/dist/docs/skill/wm-datepicker.md +134 -0
- package/dist/docs/skill/wm-file-list.md +97 -0
- package/dist/docs/skill/wm-file.md +78 -0
- package/dist/docs/skill/wm-flyout.md +174 -0
- package/dist/docs/skill/wm-input.md +126 -0
- package/dist/docs/skill/wm-line-chart.md +108 -0
- package/dist/docs/skill/wm-menuitem.md +72 -0
- package/dist/docs/skill/wm-modal-footer.md +73 -0
- package/dist/docs/skill/wm-modal-header.md +65 -0
- package/dist/docs/skill/wm-modal.md +137 -0
- package/dist/docs/skill/wm-navigation-hamburger.md +56 -0
- package/dist/docs/skill/wm-navigation-item.md +69 -0
- package/dist/docs/skill/wm-navigation.md +66 -0
- package/dist/docs/skill/wm-navigator.md +91 -0
- package/dist/docs/skill/wm-nested-select.md +149 -0
- package/dist/docs/skill/wm-optgroup.md +71 -0
- package/dist/docs/skill/wm-option.md +68 -0
- package/dist/docs/skill/wm-pagination.md +95 -0
- package/dist/docs/skill/wm-progress-indicator.md +49 -0
- package/dist/docs/skill/wm-progress-monitor.md +93 -0
- package/dist/docs/skill/wm-progress-slice.md +41 -0
- package/dist/docs/skill/wm-search.md +157 -0
- package/dist/docs/skill/wm-select.md +148 -0
- package/dist/docs/skill/wm-snackbar.md +101 -0
- package/dist/docs/skill/wm-tab-item.md +35 -0
- package/dist/docs/skill/wm-tab-list.md +112 -0
- package/dist/docs/skill/wm-tab-panel.md +33 -0
- package/dist/docs/skill/wm-tag-input.md +165 -0
- package/dist/docs/skill/wm-tag-option.md +59 -0
- package/dist/docs/skill/wm-textarea.md +94 -0
- package/dist/docs/skill/wm-timepicker.md +139 -0
- package/dist/docs/skill/wm-toggletip.md +92 -0
- package/dist/docs/skill/wm-uploader.md +129 -0
- package/dist/docs/skill/wm-wrapper.md +6 -0
- package/dist/docs/wm-action-menu.md +111 -0
- package/dist/docs/wm-button.md +137 -0
- package/dist/docs/wm-chart-bar.md +23 -0
- package/dist/docs/wm-chart-column.md +26 -0
- package/dist/docs/wm-chart-legend.md +31 -0
- package/dist/docs/wm-chart-slice.md +14 -0
- package/dist/docs/wm-chart.md +30 -0
- package/dist/docs/wm-date-range.md +215 -0
- package/dist/docs/wm-datepicker.md +210 -0
- package/dist/docs/wm-file-list.md +95 -0
- package/dist/docs/wm-file.md +34 -0
- package/dist/docs/wm-flyout.md +123 -0
- package/dist/docs/wm-input.md +120 -0
- package/dist/docs/wm-line-chart.md +32 -0
- package/dist/docs/wm-menuitem.md +38 -0
- package/dist/docs/wm-modal-footer.md +106 -0
- package/dist/docs/wm-modal-header.md +100 -0
- package/dist/docs/wm-modal.md +127 -0
- package/dist/docs/wm-navigation-hamburger.md +91 -0
- package/dist/docs/wm-navigation-item.md +98 -0
- package/dist/docs/wm-navigation.md +101 -0
- package/dist/docs/wm-navigator.md +99 -0
- package/dist/docs/wm-nested-select.md +107 -0
- package/dist/docs/wm-optgroup.md +28 -0
- package/dist/docs/wm-option.md +24 -0
- package/dist/docs/wm-pagination.md +94 -0
- package/dist/docs/wm-progress-indicator.md +23 -0
- package/dist/docs/wm-progress-monitor.md +27 -0
- package/dist/docs/wm-progress-slice.md +16 -0
- package/dist/docs/wm-search.md +119 -0
- package/dist/docs/wm-select.md +120 -0
- package/dist/docs/wm-snackbar.md +87 -0
- package/dist/docs/wm-tab-item.md +23 -0
- package/dist/docs/wm-tab-list.md +98 -0
- package/dist/docs/wm-tab-panel.md +18 -0
- package/dist/docs/wm-tag-input.md +123 -0
- package/dist/docs/wm-tag-option.md +33 -0
- package/dist/docs/wm-textarea.md +101 -0
- package/dist/docs/wm-timepicker.md +122 -0
- package/dist/docs/wm-toggletip.md +86 -0
- package/dist/docs/wm-uploader.md +114 -0
- package/dist/docs/wm-wrapper.md +7 -0
- package/dist/esm/app-globals-466ed44b.js +101 -0
- package/dist/esm/loader.js +1 -1
- package/dist/esm/priv-calendar.entry.js +27 -27
- package/dist/esm/priv-chart-popover-old.entry.js +2 -2
- package/dist/esm/priv-chart-popover_2.entry.js +3 -3
- package/dist/esm/priv-navigator-button.entry.js +1 -1
- package/dist/esm/priv-navigator-item.entry.js +1 -1
- package/dist/esm/priv-option-list.entry.js +1 -1
- package/dist/esm/ripple.js +1 -1
- package/dist/esm/wm-action-menu_2.entry.js +5 -4
- package/dist/esm/wm-button.entry.js +1 -1
- package/dist/esm/wm-chart-bar.entry.js +1 -1
- package/dist/esm/wm-chart-column.entry.js +1 -1
- package/dist/esm/wm-chart.entry.js +1 -1
- package/dist/esm/wm-date-range.entry.js +25 -9
- package/dist/esm/wm-datepicker.entry.js +37 -11
- package/dist/esm/wm-file-list.entry.js +1 -1
- package/dist/esm/wm-file.entry.js +1 -1
- package/dist/esm/wm-flyout.entry.js +6 -1
- package/dist/esm/wm-input.entry.js +1 -1
- package/dist/esm/wm-line-chart.entry.js +1 -1
- package/dist/esm/wm-modal-pss_3.entry.js +4 -4
- package/dist/esm/wm-modal_3.entry.js +19 -4
- package/dist/esm/wm-navigation_3.entry.js +4 -4
- package/dist/esm/wm-navigator.entry.js +1 -1
- package/dist/esm/wm-nested-select.entry.js +3 -3
- package/dist/esm/wm-optgroup.entry.js +11 -1
- package/dist/esm/wm-option_2.entry.js +5 -5
- package/dist/esm/wm-pagination.entry.js +1 -1
- package/dist/esm/wm-progress-indicator_3.entry.js +2 -2
- package/dist/esm/wm-search.entry.js +2 -2
- package/dist/esm/wm-snackbar.entry.js +2 -2
- package/dist/esm/wm-tab-item_3.entry.js +6 -6
- package/dist/esm/wm-tag-input.entry.js +2 -2
- package/dist/esm/wm-tag-option.entry.js +8 -0
- package/dist/esm/wm-textarea.entry.js +1 -1
- package/dist/esm/wm-timepicker.entry.js +14 -2
- package/dist/esm/wm-toggletip.entry.js +3 -3
- package/dist/esm/wm-uploader.entry.js +2 -2
- package/dist/esm-es5/app-globals-466ed44b.js +1 -0
- package/dist/esm-es5/loader.js +1 -1
- package/dist/esm-es5/priv-calendar.entry.js +1 -1
- package/dist/esm-es5/priv-chart-popover-old.entry.js +1 -1
- package/dist/esm-es5/priv-chart-popover_2.entry.js +1 -1
- package/dist/esm-es5/priv-navigator-button.entry.js +1 -1
- package/dist/esm-es5/priv-navigator-item.entry.js +1 -1
- package/dist/esm-es5/priv-option-list.entry.js +1 -1
- package/dist/esm-es5/ripple.js +1 -1
- package/dist/esm-es5/wm-action-menu_2.entry.js +1 -1
- package/dist/esm-es5/wm-button.entry.js +1 -1
- package/dist/esm-es5/wm-chart-bar.entry.js +1 -1
- package/dist/esm-es5/wm-chart-column.entry.js +1 -1
- package/dist/esm-es5/wm-chart.entry.js +1 -1
- package/dist/esm-es5/wm-date-range.entry.js +1 -1
- package/dist/esm-es5/wm-datepicker.entry.js +1 -1
- package/dist/esm-es5/wm-file-list.entry.js +1 -1
- package/dist/esm-es5/wm-file.entry.js +1 -1
- package/dist/esm-es5/wm-flyout.entry.js +1 -1
- package/dist/esm-es5/wm-input.entry.js +1 -1
- package/dist/esm-es5/wm-line-chart.entry.js +1 -1
- package/dist/esm-es5/wm-modal-pss_3.entry.js +1 -1
- package/dist/esm-es5/wm-modal_3.entry.js +1 -1
- package/dist/esm-es5/wm-navigation_3.entry.js +1 -1
- package/dist/esm-es5/wm-navigator.entry.js +1 -1
- package/dist/esm-es5/wm-nested-select.entry.js +1 -1
- package/dist/esm-es5/wm-optgroup.entry.js +1 -1
- package/dist/esm-es5/wm-option_2.entry.js +1 -1
- package/dist/esm-es5/wm-pagination.entry.js +1 -1
- package/dist/esm-es5/wm-progress-indicator_3.entry.js +1 -1
- package/dist/esm-es5/wm-search.entry.js +1 -1
- package/dist/esm-es5/wm-snackbar.entry.js +1 -1
- package/dist/esm-es5/wm-tab-item_3.entry.js +1 -1
- package/dist/esm-es5/wm-tag-input.entry.js +1 -1
- package/dist/esm-es5/wm-textarea.entry.js +1 -1
- package/dist/esm-es5/wm-timepicker.entry.js +1 -1
- package/dist/esm-es5/wm-toggletip.entry.js +1 -1
- package/dist/esm-es5/wm-uploader.entry.js +1 -1
- package/dist/ripple/{p-1fc894ac.system.entry.js → p-012bd307.system.entry.js} +1 -1
- package/dist/ripple/p-03f352dc.entry.js +1 -0
- package/dist/ripple/{p-4f53544d.entry.js → p-03ff4f41.entry.js} +1 -1
- package/dist/ripple/{p-2a03f658.entry.js → p-045aa27f.entry.js} +1 -1
- package/dist/ripple/{p-709d1765.entry.js → p-057ffccb.entry.js} +1 -1
- package/dist/ripple/p-06c3dc14.system.entry.js +1 -0
- package/dist/ripple/{p-ff6fd274.system.entry.js → p-09a80f59.system.entry.js} +1 -1
- package/dist/ripple/{p-3bd8537c.entry.js → p-09fb0a09.entry.js} +1 -1
- package/dist/ripple/p-0a05d3a3.js +1 -0
- package/dist/ripple/{p-3f69041f.entry.js → p-0ab9bac7.entry.js} +1 -1
- package/dist/ripple/{p-332a3e3d.system.entry.js → p-1059cdb9.system.entry.js} +1 -1
- package/dist/ripple/{p-dbdae848.system.entry.js → p-106a9459.system.entry.js} +1 -1
- package/dist/ripple/{p-e1a6ee77.entry.js → p-16381033.entry.js} +1 -1
- package/dist/ripple/{p-b11abb0d.system.entry.js → p-181109f0.system.entry.js} +1 -1
- package/dist/ripple/{p-bb9f54cf.system.entry.js → p-1855c3b1.system.entry.js} +1 -1
- package/dist/ripple/{p-4533241f.entry.js → p-1c25838e.entry.js} +1 -1
- package/dist/ripple/{p-fb6aee09.entry.js → p-1f67b172.entry.js} +1 -1
- package/dist/ripple/{p-a3dd5204.system.entry.js → p-22703bcd.system.entry.js} +1 -1
- package/dist/ripple/{p-a6aef87d.system.entry.js → p-237388c5.system.entry.js} +1 -1
- package/dist/ripple/p-237f5977.system.entry.js +1 -0
- package/dist/ripple/p-25d6cc45.system.js +1 -0
- package/dist/ripple/{p-09d5381c.entry.js → p-299d2d8b.entry.js} +1 -1
- package/dist/ripple/{p-e78f9572.system.entry.js → p-2c1d219f.system.entry.js} +1 -1
- package/dist/ripple/{p-84e04896.entry.js → p-2dbf9636.entry.js} +1 -1
- package/dist/ripple/{p-05dae6a0.entry.js → p-2dc1071a.entry.js} +1 -1
- package/dist/ripple/{p-39bac42a.entry.js → p-3216e2e7.entry.js} +1 -1
- package/dist/ripple/p-3252c04b.system.entry.js +1 -0
- package/dist/ripple/{p-7ca0bb68.system.entry.js → p-32bac954.system.entry.js} +1 -1
- package/dist/ripple/p-33eeaa18.entry.js +1 -0
- package/dist/ripple/p-3441da90.entry.js +1 -0
- package/dist/ripple/p-3502fd33.system.entry.js +1 -0
- package/dist/ripple/{p-f51404f5.entry.js → p-351000b9.entry.js} +1 -1
- package/dist/ripple/{p-bf3eef42.entry.js → p-3c0062c5.entry.js} +1 -1
- package/dist/ripple/{p-c1abc58e.entry.js → p-3d3836ad.entry.js} +1 -1
- package/dist/ripple/p-3e8bfc68.system.entry.js +1 -0
- package/dist/ripple/p-3f403a64.system.entry.js +1 -0
- package/dist/ripple/{p-b974a535.system.entry.js → p-43e8d384.system.entry.js} +1 -1
- package/dist/ripple/p-49dc64ba.entry.js +1 -0
- package/dist/ripple/{p-9d345fc7.system.entry.js → p-4a942d74.system.entry.js} +1 -1
- package/dist/ripple/p-4cc09fa3.system.entry.js +1 -0
- package/dist/ripple/p-5177d4fa.entry.js +1 -0
- package/dist/ripple/p-51fff3a7.system.entry.js +1 -0
- package/dist/ripple/p-54ba0eae.entry.js +1 -0
- package/dist/ripple/{p-c04d0eeb.system.entry.js → p-5609bde2.system.entry.js} +1 -1
- package/dist/ripple/{p-86148143.system.entry.js → p-56e1a71d.system.entry.js} +1 -1
- package/dist/ripple/{p-f94af31c.entry.js → p-578b5443.entry.js} +1 -1
- package/dist/ripple/p-57901fc3.entry.js +1 -0
- package/dist/ripple/{p-463be5be.entry.js → p-57a0cb5f.entry.js} +1 -1
- package/dist/ripple/{p-0db033c3.system.entry.js → p-59b3f92b.system.entry.js} +1 -1
- package/dist/ripple/p-5a533e7c.entry.js +1 -0
- package/dist/ripple/{p-5f092b39.system.entry.js → p-61a0ba92.system.entry.js} +1 -1
- package/dist/ripple/{p-6de83c6f.entry.js → p-623b89e0.entry.js} +1 -1
- package/dist/ripple/{p-6479b06b.entry.js → p-668c0758.entry.js} +1 -1
- package/dist/ripple/p-6a6e98c7.entry.js +1 -0
- package/dist/ripple/{p-b654743f.system.entry.js → p-6c46dd9a.system.entry.js} +1 -1
- package/dist/ripple/{p-4e7ae2c5.system.entry.js → p-6ea254d2.system.entry.js} +1 -1
- package/dist/ripple/p-6f875608.system.entry.js +1 -0
- package/dist/ripple/{p-d05b7cd3.entry.js → p-71a38bd2.entry.js} +1 -1
- package/dist/ripple/{p-dab54a9d.entry.js → p-73a2389d.entry.js} +1 -1
- package/dist/ripple/p-759d87de.entry.js +1 -0
- package/dist/ripple/{p-227b0af9.entry.js → p-75c5ec39.entry.js} +1 -1
- package/dist/ripple/{p-ee729037.system.entry.js → p-7bc3b4ee.system.entry.js} +1 -1
- package/dist/ripple/p-7c7988a3.entry.js +1 -0
- package/dist/ripple/p-81735196.entry.js +1 -0
- package/dist/ripple/{p-a0aba3e0.system.entry.js → p-8376699e.system.entry.js} +1 -1
- package/dist/ripple/{p-503330c1.system.entry.js → p-865208b7.system.entry.js} +1 -1
- package/dist/ripple/{p-28b8a12e.system.entry.js → p-8715d758.system.entry.js} +1 -1
- package/dist/ripple/p-8bfb7664.entry.js +1 -0
- package/dist/ripple/{p-680f5703.entry.js → p-8deb22bc.entry.js} +1 -1
- package/dist/ripple/p-8e32e9de.system.entry.js +1 -0
- package/dist/ripple/{p-bdb10d37.entry.js → p-92e3bf68.entry.js} +1 -1
- package/dist/ripple/{p-0feaaae9.system.entry.js → p-942b323c.system.entry.js} +1 -1
- package/dist/ripple/{p-5173359e.entry.js → p-94fd1dcc.entry.js} +1 -1
- package/dist/ripple/p-991455a2.system.entry.js +1 -0
- package/dist/ripple/p-99a112c8.system.entry.js +1 -0
- package/dist/ripple/p-9a8d91d6.entry.js +1 -0
- package/dist/ripple/{p-e0c0e8b0.system.entry.js → p-9afb642d.system.entry.js} +1 -1
- package/dist/ripple/p-9c850273.system.js +1 -0
- package/dist/ripple/p-a3f9e257.entry.js +1 -0
- package/dist/ripple/p-a5b07241.entry.js +1 -0
- package/dist/ripple/{p-d55bd2b9.entry.js → p-a7a6cf55.system.entry.js} +1 -1
- package/dist/ripple/{p-6f2d3297.system.entry.js → p-a917ea86.system.entry.js} +1 -1
- package/dist/ripple/p-ab5664cd.entry.js +1 -0
- package/dist/ripple/{p-cc028323.entry.js → p-acb04e6e.entry.js} +1 -1
- package/dist/ripple/p-b2624d8f.system.entry.js +1 -0
- package/dist/ripple/p-b5b37960.entry.js +1 -0
- package/dist/ripple/p-b713b6de.system.entry.js +1 -0
- package/dist/ripple/p-b75e9e5f.entry.js +1 -0
- package/dist/ripple/{p-b1924539.system.entry.js → p-b7969fd7.system.entry.js} +1 -1
- package/dist/ripple/{p-a7e637a5.system.entry.js → p-b9596bfc.system.entry.js} +1 -1
- package/dist/ripple/p-b9d3d967.system.entry.js +1 -0
- package/dist/ripple/{p-aafced54.system.entry.js → p-bd365c44.system.entry.js} +1 -1
- package/dist/ripple/p-bd9ab5ae.system.entry.js +1 -0
- package/dist/ripple/p-c0028f4d.system.entry.js +1 -0
- package/dist/ripple/p-c7d3ee52.entry.js +1 -0
- package/dist/ripple/p-c8e4e95b.entry.js +1 -0
- package/dist/ripple/p-c996ade8.entry.js +1 -0
- package/dist/ripple/p-ca8378b0.entry.js +1 -0
- package/dist/ripple/{p-bd37dd6f.entry.js → p-cc2176ad.entry.js} +1 -1
- package/dist/ripple/p-cd496e63.entry.js +1 -0
- package/dist/ripple/p-d0653c32.entry.js +1 -0
- package/dist/ripple/{p-9a5d11cb.entry.js → p-d11e5029.entry.js} +1 -1
- package/dist/ripple/p-d3d0b626.entry.js +1 -0
- package/dist/ripple/p-d4899263.entry.js +1 -0
- package/dist/ripple/p-dc82f194.entry.js +1 -0
- package/dist/ripple/{p-a6ef995c.system.entry.js → p-ddfb976f.system.entry.js} +1 -1
- package/dist/ripple/{p-ee26ba53.entry.js → p-e1899945.entry.js} +1 -1
- package/dist/ripple/p-e26b9711.system.entry.js +1 -0
- package/dist/ripple/{p-10aea5ee.system.entry.js → p-e31f597a.system.entry.js} +1 -1
- package/dist/ripple/p-e35de3cd.system.entry.js +1 -0
- package/dist/ripple/p-e3effa1a.system.entry.js +1 -0
- package/dist/ripple/p-e674e6a7.system.entry.js +1 -0
- package/dist/ripple/{p-8e6e868a.entry.js → p-e7ffd796.entry.js} +1 -1
- package/dist/ripple/p-e800717d.entry.js +1 -0
- package/dist/ripple/p-eab35bea.entry.js +1 -0
- package/dist/ripple/{p-df9d5b14.system.entry.js → p-ebdf16fa.system.entry.js} +1 -1
- package/dist/ripple/p-ed9fc1c1.system.entry.js +1 -0
- package/dist/ripple/p-eda49f0e.entry.js +1 -0
- package/dist/ripple/p-ee33fd7f.system.entry.js +1 -0
- package/dist/ripple/p-ee5f43fe.system.entry.js +1 -0
- package/dist/ripple/{p-928b3e5e.entry.js → p-f0ee3616.entry.js} +1 -1
- package/dist/ripple/{p-02c8bf15.system.entry.js → p-f1215c25.system.entry.js} +1 -1
- package/dist/ripple/p-f148ae9d.system.entry.js +1 -0
- package/dist/ripple/p-f307aabe.entry.js +1 -0
- package/dist/ripple/p-f4f6c904.system.entry.js +1 -0
- package/dist/ripple/p-f58833ae.system.entry.js +1 -0
- package/dist/ripple/p-f7fc6350.system.js +1 -1
- package/dist/ripple/p-f881cdc8.system.entry.js +1 -0
- package/dist/ripple/{p-444feb7d.system.entry.js → p-fbb37b4b.system.entry.js} +1 -1
- package/dist/ripple/{p-40e8071c.system.entry.js → p-fc905b2f.system.entry.js} +1 -1
- package/dist/ripple/ripple.esm.js +1 -1
- package/dist/ripple/ripple.js +1 -1
- package/dist/types/components/charts/priv-chart-popover/priv-chart-popover.d.ts +5 -0
- package/dist/types/components/charts/priv-chart-popover-old/priv-chart-popover-old.d.ts +5 -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 +111 -0
- package/dist/types/components/charts/wm-chart-bar/wm-chart-bar.d.ts +131 -0
- package/dist/types/components/charts/wm-chart-column/wm-chart-column.d.ts +100 -0
- package/dist/types/components/charts/wm-chart-legend/wm-chart-legend.d.ts +77 -0
- package/dist/types/components/charts/wm-line-chart/wm-line-chart.d.ts +134 -0
- package/dist/types/components/charts/wm-progress-monitor/wm-progress-indicator.d.ts +52 -0
- package/dist/types/components/charts/wm-progress-monitor/wm-progress-monitor.d.ts +84 -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 +6 -2
- package/dist/types/components/datepickers/wm-date-range.d.ts +186 -0
- package/dist/types/components/datepickers/wm-datepicker.d.ts +170 -2
- 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 +162 -0
- 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 +164 -0
- package/dist/types/components/wm-action-menu/wm-action-menu.d.ts +122 -0
- package/dist/types/components/wm-button/wm-button.d.ts +170 -2
- package/dist/types/components/wm-file/wm-file.d.ts +92 -0
- package/dist/types/components/wm-file-list/wm-file-list.d.ts +71 -0
- package/dist/types/components/wm-flyout/wm-flyout.d.ts +193 -0
- package/dist/types/components/wm-input/wm-input.d.ts +158 -0
- package/dist/types/components/wm-menuitem/wm-menuitem.d.ts +58 -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 +148 -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 +4 -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 +50 -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 +91 -3
- package/dist/types/components/wm-pagination/wm-pagination.d.ts +90 -0
- package/dist/types/components/wm-search/wm-search.d.ts +148 -5
- package/dist/types/components/wm-snackbar/wm-snackbar.d.ts +94 -0
- package/dist/types/components/wm-tabs/wm-tab-item/wm-tab-item.d.ts +43 -2
- package/dist/types/components/wm-tabs/wm-tab-list/wm-tab-list.d.ts +93 -0
- package/dist/types/components/wm-tabs/wm-tab-panel/wm-tab-panel.d.ts +28 -2
- package/dist/types/components/wm-tag-input/wm-tag-input.d.ts +185 -0
- 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 +97 -0
- package/dist/types/components/wm-timepicker/wm-timepicker.d.ts +145 -0
- package/dist/types/components/wm-toggletip/wm-toggletip.d.ts +74 -0
- package/dist/types/components/wm-uploader/wm-uploader.d.ts +128 -0
- package/dist/types/components/wm-wrapper/wm-wrapper.d.ts +3 -0
- package/dist/types/components.d.ts +10513 -57
- package/package.json +2 -2
- package/dist/ripple/p-065b0134.entry.js +0 -1
- package/dist/ripple/p-210773eb.entry.js +0 -1
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
### Option
|
|
2
|
+
- **Element:** `<wm-option>`
|
|
3
|
+
- **Status:** stable
|
|
4
|
+
|
|
5
|
+
**Purpose:** Individual selectable item used inside wm-select, wm-nested-select (via wm-optgroup), and
|
|
6
|
+
wm-optgroup. Renders as a listbox option with optional secondary text.
|
|
7
|
+
|
|
8
|
+
**Variants / types:**
|
|
9
|
+
|
|
10
|
+
- Text content is supplied as the element's text node (slot content). Do not nest other
|
|
11
|
+
elements inside wm-option.
|
|
12
|
+
- Set the `selected` attribute/prop to pre-select an option on load.
|
|
13
|
+
- In single-select mode, exactly one wm-option should be pre-selected (typically a
|
|
14
|
+
placeholder). In multi-select mode, zero or more options may be pre-selected.
|
|
15
|
+
- The `value` prop is a pass-through convenience for application code to attach an
|
|
16
|
+
identifier; the component itself never reads or mutates it.
|
|
17
|
+
|
|
18
|
+
**Props:**
|
|
19
|
+
- `disabled` -- Prevents the option from being selected.
|
|
20
|
+
- `selected` -- Marks this option as currently selected.
|
|
21
|
+
- `subinfo` -- Secondary text displayed beneath the option label.
|
|
22
|
+
- `value` -- Application-defined identifier for this option. The component never reads
|
|
23
|
+
or modifies this value -- it is purely a pass-through for application code to attach an ID
|
|
24
|
+
or key.
|
|
25
|
+
|
|
26
|
+
**Events:**
|
|
27
|
+
- `wmOptionDeselected`
|
|
28
|
+
- `wmOptionSelected`
|
|
29
|
+
|
|
30
|
+
**Code example:**
|
|
31
|
+
|
|
32
|
+
_Basic option usage_
|
|
33
|
+
|
|
34
|
+
```html
|
|
35
|
+
<wm-select label="Status">
|
|
36
|
+
<wm-option selected>Select a status</wm-option>
|
|
37
|
+
<wm-option value="active">Active</wm-option>
|
|
38
|
+
<wm-option value="inactive">Inactive</wm-option>
|
|
39
|
+
</wm-select>
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
_Basic option usage_
|
|
43
|
+
|
|
44
|
+
```react
|
|
45
|
+
<WmSelect label="Status">
|
|
46
|
+
<WmOption selected={true}>Select a status</WmOption>
|
|
47
|
+
<WmOption value="active">Active</WmOption>
|
|
48
|
+
<WmOption value="inactive">Inactive</WmOption>
|
|
49
|
+
</WmSelect>
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
_Option with subinfo_
|
|
53
|
+
|
|
54
|
+
```html
|
|
55
|
+
<wm-select label="User" multiple>
|
|
56
|
+
<wm-option subinfo="Biology dept">Alice</wm-option>
|
|
57
|
+
<wm-option subinfo="Chemistry dept">Bob</wm-option>
|
|
58
|
+
</wm-select>
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
_Option with subinfo_
|
|
62
|
+
|
|
63
|
+
```react
|
|
64
|
+
<WmSelect label="User" multiple={true}>
|
|
65
|
+
<WmOption subinfo="Biology dept">Alice</WmOption>
|
|
66
|
+
<WmOption subinfo="Chemistry dept">Bob</WmOption>
|
|
67
|
+
</WmSelect>
|
|
68
|
+
```
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
### Pagination
|
|
2
|
+
- **Element:** `<wm-pagination>`
|
|
3
|
+
- **Status:** stable
|
|
4
|
+
|
|
5
|
+
**Purpose:** Pagination controls for navigating large data sets. Renders a full page-number strip on
|
|
6
|
+
wider viewports and a minimal prev/next/first/last layout on narrow viewports. Does not
|
|
7
|
+
render at all when the total item count fits on a single page.
|
|
8
|
+
|
|
9
|
+
**When to use:**
|
|
10
|
+
|
|
11
|
+
- **Breaking a large dataset into discrete pages** -- when a table, list, or grid contains too many items to display at once and the application loads them in chunks, use Pagination to give users explicit control over which page they're viewing.
|
|
12
|
+
- **Displaying multiple independent paginated datasets on the same page** -- when a page contains more than one paginated section, use the label property on each Pagination instance to give each a distinct accessible name (e.g., "Students pagination" vs. "Courses pagination").
|
|
13
|
+
|
|
14
|
+
**Do not use for:**
|
|
15
|
+
|
|
16
|
+
- **In-page section or tab switching** -- Pagination is for moving through chunks of a dataset, not for switching between views or content sections; use wm-tabs for tab-style content switching within a page.
|
|
17
|
+
- **Small datasets that can be displayed in full** -- if all items can be reasonably displayed at once without performance or usability concerns, Pagination adds unnecessary navigation overhead; only paginate when the volume genuinely warrants it.
|
|
18
|
+
- **Sequential multi-step workflows** -- if the user is progressing through ordered steps that must be completed in sequence, use a stepper pattern instead; Pagination implies unrestricted movement between any page in any order.
|
|
19
|
+
|
|
20
|
+
**Variants / types:**
|
|
21
|
+
|
|
22
|
+
- `is-large-size="true"` -- larger display with more prominent page numbers
|
|
23
|
+
- `is-large-size="false" (default)` -- compact display
|
|
24
|
+
|
|
25
|
+
**Props:**
|
|
26
|
+
- `current-page` -- The currently active page number. Update this prop in response to
|
|
27
|
+
`wmPaginationPageClicked` to keep the component in sync with your data.
|
|
28
|
+
- `items-per-page` -- Number of items displayed per page. Used with `total-items` to calculate
|
|
29
|
+
the total page count.
|
|
30
|
+
- `label` -- Accessible label for the `<nav>` element. Defaults to `"Pagination navigation"`.
|
|
31
|
+
Override when multiple pagination instances appear on the same page (e.g. `"Search results"`).
|
|
32
|
+
- `total-items` -- Total number of items across all pages. Used with `items-per-page` to
|
|
33
|
+
calculate the total page count.
|
|
34
|
+
- `value` -- The page number selected by the most recent user interaction. Read
|
|
35
|
+
`event.target.value` in the `wmPaginationPageClicked` handler to get the selected page.
|
|
36
|
+
|
|
37
|
+
**Events:**
|
|
38
|
+
- `wmPaginationPageClicked`
|
|
39
|
+
|
|
40
|
+
**Accessibility:**
|
|
41
|
+
|
|
42
|
+
- Rendered as a `<nav>` element with an `aria-label` that includes the current page and
|
|
43
|
+
visible item range, announced to screen readers on load.
|
|
44
|
+
- An `aria-live` region announces the new current page when navigation occurs.
|
|
45
|
+
- Disabled previous/next buttons shift focus to the nearest enabled button automatically.
|
|
46
|
+
- Current page button carries `aria-current="page"`.
|
|
47
|
+
|
|
48
|
+
**Related components:**
|
|
49
|
+
|
|
50
|
+
- `<wm-tabs>` -- if the goal is switching between distinct content views or sections within a page rather than moving through pages of a dataset, use Tabs; Pagination is specifically for dataset paging, not view switching.
|
|
51
|
+
- `<wm-search>` -- if the goal is reducing a large dataset by filtering rather than paging through it, use Search or other filter inputs; filtering reduces the set, paging navigates it.
|
|
52
|
+
- Stepper pattern -- if users are progressing through ordered steps that must be completed sequentially, use a stepper rather than Pagination; Pagination implies unrestricted movement between any page in any order.
|
|
53
|
+
|
|
54
|
+
**Code example:**
|
|
55
|
+
|
|
56
|
+
_Basic pagination_
|
|
57
|
+
|
|
58
|
+
```html
|
|
59
|
+
<wm-pagination current-page="1" total-items="150" items-per-page="25"></wm-pagination>
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
_Basic pagination_
|
|
63
|
+
|
|
64
|
+
```react
|
|
65
|
+
// event.target.value is a string -- use Number() when storing as a number.
|
|
66
|
+
const [currentPage, setCurrentPage] = useState(1);
|
|
67
|
+
|
|
68
|
+
<WmPagination
|
|
69
|
+
currentPage={currentPage}
|
|
70
|
+
totalItems={150}
|
|
71
|
+
itemsPerPage={25}
|
|
72
|
+
onWmPaginationPageClicked={(e) => setCurrentPage(Number(e.target.value))} />
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
_With accessible label_
|
|
76
|
+
|
|
77
|
+
```html
|
|
78
|
+
<wm-pagination label="Search results" current-page="1" total-items="80" items-per-page="10">
|
|
79
|
+
</wm-pagination>
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
_Multiple instances with independent state_
|
|
83
|
+
|
|
84
|
+
```react
|
|
85
|
+
// Give each instance a unique label to disambiguate the nav landmark for screen readers.
|
|
86
|
+
// Drive each from its own state variable so they page independently.
|
|
87
|
+
const [page1, setPage1] = useState(1);
|
|
88
|
+
const [page2, setPage2] = useState(1);
|
|
89
|
+
|
|
90
|
+
<WmPagination currentPage={page1} totalItems={150} itemsPerPage={10}
|
|
91
|
+
onWmPaginationPageClicked={(e) => setPage1(Number(e.target.value))} />
|
|
92
|
+
|
|
93
|
+
<WmPagination label="Search results" currentPage={page2} totalItems={80} itemsPerPage={10}
|
|
94
|
+
onWmPaginationPageClicked={(e) => setPage2(Number(e.target.value))} />
|
|
95
|
+
```
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
### Progress Indicator
|
|
2
|
+
- **Element:** `<wm-progress-indicator>`
|
|
3
|
+
- **Status:** stable
|
|
4
|
+
|
|
5
|
+
**Purpose:** Single progress indicator used inside a wm-progress-monitor. Renders the binary completion
|
|
6
|
+
data for one category as either a doughnut chart (wide layout) or a horizontal bar (narrow
|
|
7
|
+
layout), switching automatically based on the parent monitor's breakpoint.
|
|
8
|
+
|
|
9
|
+
Must contain EXACTLY TWO wm-progress-slice children -- one for the "complete" state and one
|
|
10
|
+
for the "incomplete" state.
|
|
11
|
+
|
|
12
|
+
**Variants / types:**
|
|
13
|
+
|
|
14
|
+
- Always used as a direct child of wm-progress-monitor.
|
|
15
|
+
- `label` is required for accessibility.
|
|
16
|
+
- The optional `completion-message` is displayed inside the doughnut when the first slice
|
|
17
|
+
reaches 100%.
|
|
18
|
+
|
|
19
|
+
**Props:**
|
|
20
|
+
- `completion-message` -- Text displayed inside the doughnut ring when the completion slice reaches
|
|
21
|
+
100%.
|
|
22
|
+
- `label` -- Accessible label for this indicator. Required for accessibility -- used as the
|
|
23
|
+
`aria-label` on the chart container and as the visual chart label.
|
|
24
|
+
- `print-mode` -- When true, slice values are included in the legend and keyboard interaction
|
|
25
|
+
instructions are removed from the DOM -- suitable for printed output.
|
|
26
|
+
- `print-mode-format` -- Format for legend values when `print-mode` is enabled.
|
|
27
|
+
- `show-legend` -- Show or hide the legend. The legend is still read by screen readers
|
|
28
|
+
regardless of this setting.
|
|
29
|
+
- `subinfo` -- Optional secondary text displayed beneath the label.
|
|
30
|
+
|
|
31
|
+
**Code example:**
|
|
32
|
+
|
|
33
|
+
_Progress indicator_
|
|
34
|
+
|
|
35
|
+
```html
|
|
36
|
+
<wm-progress-indicator label="Biology completion">
|
|
37
|
+
<wm-progress-slice legend="Completed" amount="200"></wm-progress-slice>
|
|
38
|
+
<wm-progress-slice legend="Not Completed" amount="100"></wm-progress-slice>
|
|
39
|
+
</wm-progress-indicator>
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
_Progress indicator_
|
|
43
|
+
|
|
44
|
+
```react
|
|
45
|
+
<WmProgressIndicator label="Biology completion">
|
|
46
|
+
<WmProgressSlice legend="Completed" amount="200" />
|
|
47
|
+
<WmProgressSlice legend="Not Completed" amount="100" />
|
|
48
|
+
</WmProgressIndicator>
|
|
49
|
+
```
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
### Progress Monitor
|
|
2
|
+
- **Element:** `<wm-progress-monitor>`
|
|
3
|
+
- **Status:** stable
|
|
4
|
+
|
|
5
|
+
**Purpose:** Container for one or more wm-progress-indicator elements, each showing binary completion
|
|
6
|
+
progress (e.g. "Completed" vs "Not Completed"). Above the layout breakpoint, indicators
|
|
7
|
+
render as doughnuts in a horizontal row; below it, they collapse into horizontal bars in a
|
|
8
|
+
vertical stack.
|
|
9
|
+
|
|
10
|
+
**Strict constraints:**
|
|
11
|
+
1. Each wm-progress-indicator must have EXACTLY TWO wm-progress-slice children -- one for
|
|
12
|
+
the "complete" state and one for the "incomplete" state.
|
|
13
|
+
2. This component is ONLY suitable for binary completion tracking. For more than two states,
|
|
14
|
+
general comparisons, composition breakdowns, or distributions, use wm-chart,
|
|
15
|
+
wm-chart-bar, or wm-chart-column.
|
|
16
|
+
|
|
17
|
+
**Variants / types:**
|
|
18
|
+
|
|
19
|
+
- The `wmProgressMonitorModeChange` event fires once on load and again whenever the layout
|
|
20
|
+
switches between `"doughnut"` and `"bar"`. Listen to it to synchronize any external UI
|
|
21
|
+
that depends on the current layout mode.
|
|
22
|
+
- `group-legend` is only shown in bar mode. Provide two comma-separated keys in
|
|
23
|
+
complete/incomplete order (e.g. `"Completed,Not Completed"`). Keys cannot contain commas.
|
|
24
|
+
|
|
25
|
+
**Props:**
|
|
26
|
+
- `bar-labels-width` -- CSS width of the indicator labels when in bar layout mode (e.g. `"180px"`).
|
|
27
|
+
- `breakpoint` -- Controls when indicators switch between doughnut (horizontal row) and bar
|
|
28
|
+
(vertical stack) layouts. Accepts a unit-less number (minimum number of indicators to
|
|
29
|
+
show side-by-side -- e.g. `4` -> 1200 px) or an exact pixel value (e.g. `"900px"`).
|
|
30
|
+
Defaults to the sum of all indicator widths -- the component tries to fit all on one row
|
|
31
|
+
and collapses to bars when it cannot.
|
|
32
|
+
- `group-legend` -- Two comma-separated legend keys in complete/incomplete order, displayed only
|
|
33
|
+
in bar layout mode (e.g. `"Completed,Not Completed"`). Keys cannot contain commas.
|
|
34
|
+
|
|
35
|
+
**Events:**
|
|
36
|
+
- `wmProgressMonitorModeChange`
|
|
37
|
+
|
|
38
|
+
**Code example:**
|
|
39
|
+
|
|
40
|
+
_Progress monitor_
|
|
41
|
+
|
|
42
|
+
```html
|
|
43
|
+
<wm-progress-monitor group-legend="Completed,Not Completed">
|
|
44
|
+
<wm-progress-indicator label="Biology">
|
|
45
|
+
<wm-progress-slice legend="Completed" amount="200"
|
|
46
|
+
popover-title="200 students" popover-text="Completed all requirements"></wm-progress-slice>
|
|
47
|
+
<wm-progress-slice legend="Not Completed" amount="100"
|
|
48
|
+
popover-title="100 students" popover-text="Have not completed all requirements"></wm-progress-slice>
|
|
49
|
+
</wm-progress-indicator>
|
|
50
|
+
</wm-progress-monitor>
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
_Progress monitor_
|
|
54
|
+
|
|
55
|
+
```react
|
|
56
|
+
// wmProgressMonitorModeChange fires on load and whenever the layout switches.
|
|
57
|
+
// event.detail is "doughnut" | "bar".
|
|
58
|
+
const [layoutMode, setLayoutMode] = useState("");
|
|
59
|
+
|
|
60
|
+
<WmProgressMonitor
|
|
61
|
+
groupLegend="Completed,Not Completed"
|
|
62
|
+
onWmProgressMonitorModeChange={(e) => setLayoutMode(e.detail)}
|
|
63
|
+
>
|
|
64
|
+
<WmProgressIndicator label="Biology">
|
|
65
|
+
<WmProgressSlice legend="Completed" amount="200"
|
|
66
|
+
popoverTitle="200 students" popoverText="Completed all requirements" />
|
|
67
|
+
<WmProgressSlice legend="Not Completed" amount="100"
|
|
68
|
+
popoverTitle="100 students" popoverText="Have not completed all requirements" />
|
|
69
|
+
</WmProgressIndicator>
|
|
70
|
+
<WmProgressIndicator label="English">
|
|
71
|
+
<WmProgressSlice legend="Completed" amount="160"
|
|
72
|
+
popoverTitle="160 students" popoverText="Completed all requirements" />
|
|
73
|
+
<WmProgressSlice legend="Not Completed" amount="40"
|
|
74
|
+
popoverTitle="40 students" popoverText="Have not completed all requirements" />
|
|
75
|
+
</WmProgressIndicator>
|
|
76
|
+
</WmProgressMonitor>
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
_Custom breakpoint_
|
|
80
|
+
|
|
81
|
+
```html
|
|
82
|
+
<wm-progress-monitor breakpoint="600px" group-legend="Done,Pending">
|
|
83
|
+
<!-- indicators -->
|
|
84
|
+
</wm-progress-monitor>
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
_Custom breakpoint_
|
|
88
|
+
|
|
89
|
+
```react
|
|
90
|
+
<WmProgressMonitor breakpoint="600px" groupLegend="Done,Pending">
|
|
91
|
+
{/* indicators *\/}
|
|
92
|
+
</WmProgressMonitor>
|
|
93
|
+
```
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
### Progress Slice
|
|
2
|
+
- **Element:** `<wm-progress-slice>`
|
|
3
|
+
- **Status:** stable
|
|
4
|
+
|
|
5
|
+
**Purpose:** Data slice for a wm-progress-indicator. Represents one state (complete or incomplete) in
|
|
6
|
+
a binary progress chart. Always used as a direct child of wm-progress-indicator.
|
|
7
|
+
|
|
8
|
+
Each wm-progress-indicator must contain EXACTLY TWO wm-progress-slice elements.
|
|
9
|
+
|
|
10
|
+
**Variants / types:**
|
|
11
|
+
|
|
12
|
+
- The first slice is treated as the "complete" state and the second as the "incomplete"
|
|
13
|
+
state for color and layout purposes.
|
|
14
|
+
- Use `popover-title`, `popover-text`, and `popover-button-text` to surface additional
|
|
15
|
+
context when the segment is focused or clicked.
|
|
16
|
+
|
|
17
|
+
**Props:**
|
|
18
|
+
- `amount` -- Numeric value for this slice as a string.
|
|
19
|
+
- `legend` -- Label for this slice in the legend and popovers.
|
|
20
|
+
- `popover-button-text` -- Label for the action button in the data popover. When set, fires
|
|
21
|
+
`wmProgressIndicatorButtonTriggered` when clicked.
|
|
22
|
+
- `popover-text` -- Body text shown in the data popover when this segment is focused or clicked.
|
|
23
|
+
- `popover-title` -- Title text shown in the data popover when this segment is focused or clicked.
|
|
24
|
+
|
|
25
|
+
**Code example:**
|
|
26
|
+
|
|
27
|
+
_Complete/incomplete pair_
|
|
28
|
+
|
|
29
|
+
```html
|
|
30
|
+
<wm-progress-slice legend="Completed" amount="200"
|
|
31
|
+
popover-title="200 students" popover-text="Completed all requirements"></wm-progress-slice>
|
|
32
|
+
<wm-progress-slice legend="Not Completed" amount="100"></wm-progress-slice>
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
_Complete/incomplete pair_
|
|
36
|
+
|
|
37
|
+
```react
|
|
38
|
+
<WmProgressSlice legend="Completed" amount="200"
|
|
39
|
+
popoverTitle="200 students" popoverText="Completed all requirements" />
|
|
40
|
+
<WmProgressSlice legend="Not Completed" amount="100" />
|
|
41
|
+
```
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
### Search
|
|
2
|
+
- **Element:** `<wm-search>`
|
|
3
|
+
- **Status:** stable
|
|
4
|
+
|
|
5
|
+
**Purpose:** Search input for filtering data by query. Two variants: `'basic'` for simple text
|
|
6
|
+
filtering, and `'find'` which adds prev/next result navigation buttons, a result count
|
|
7
|
+
("x of y results"), and a keyboard-accessible "jump to result" link. The component does
|
|
8
|
+
not filter data itself -- it exposes the user's query and result position via events and
|
|
9
|
+
properties for the application to handle.
|
|
10
|
+
|
|
11
|
+
**When to use:**
|
|
12
|
+
|
|
13
|
+
- **Instantly filtering a visible dataset as the user types** -- use the basic variant when the user is narrowing down a list, table, or set of cards and expects the content to respond immediately to their query. Ideal for smaller datasets where results update without performance concerns.
|
|
14
|
+
- **Locating and stepping through matches within a page or document** -- when the user needs to jump between individual matches (like a browser's find function), use the find variant, which provides previous/next navigation and an "x of y results" count.
|
|
15
|
+
- **Including search as part of a filter toolbar** -- Search is a valid data input for toolbar and side panel filter patterns when users have a clear idea of what they're looking for and the dataset is large enough that browsing alone is not practical.
|
|
16
|
+
- **Combining search with other filter inputs** -- Search pairs naturally with dropdowns, date pickers, and tag inputs in a toolbar or side panel; it narrows by text while other inputs narrow by category, date, or attribute simultaneously.
|
|
17
|
+
|
|
18
|
+
**Do not use for:**
|
|
19
|
+
|
|
20
|
+
- **Collecting a stored form value** -- Search is not a form input; it filters or locates content dynamically. If the user is typing a value to be saved as data (a name, identifier, or description), use wm-input instead.
|
|
21
|
+
- **Very large datasets with the basic variant without considering performance** -- instant filtering for large datasets may cause performance issues; consider a batch-apply approach with an explicit apply action instead.
|
|
22
|
+
- **Exploratory filtering where users do not have a specific target** -- Search is best when the user has a clear idea of what they want; for browsing by category or attribute, dropdowns and selects are more appropriate.
|
|
23
|
+
|
|
24
|
+
**Variants / types:**
|
|
25
|
+
|
|
26
|
+
- `search-type="basic"` -- simple filter that updates results in real time as the user types
|
|
27
|
+
- `search-type="find"` -- search-and-find with previous/next result navigation and a result count display; requires num-results, highlighted-id, and highlighted-name to be kept in sync
|
|
28
|
+
|
|
29
|
+
**Props:**
|
|
30
|
+
- `disabled` -- Disables the input, preventing all interaction.
|
|
31
|
+
- `highlighted-id` -- `id` of the currently highlighted result element. Used as the `href` of the
|
|
32
|
+
jump-to-result skip-link. Required for the `find` variant for full accessibility. _(conditionally required: Required when `search-type="find"`.)_
|
|
33
|
+
- `highlighted-name` -- Visible text of the currently highlighted result. Appended to the screen
|
|
34
|
+
reader announcement after `wmSearchBrowseResults` fires. Required for the `find` variant
|
|
35
|
+
for full accessibility. _(conditionally required: Required when `search-type="find"`.)_
|
|
36
|
+
- `label` -- Accessible label for the `<input>` element. Required even when not visually
|
|
37
|
+
displayed. May match the placeholder text.
|
|
38
|
+
- `num-results` -- Number of results matching the current query. Update this prop after
|
|
39
|
+
filtering to display "x of y results" (find variant) and announce the count to screen
|
|
40
|
+
readers.
|
|
41
|
+
- `placeholder` -- Placeholder text displayed inside the empty input.
|
|
42
|
+
- `search-type` -- Selects the search variant. `'basic'` renders a simple text input with a
|
|
43
|
+
result count. `'find'` adds prev/next navigation buttons and a jump-to-result skip-link.
|
|
44
|
+
- `value` -- The current text typed by the user. Readable by the application at any time.
|
|
45
|
+
|
|
46
|
+
**Events:**
|
|
47
|
+
- `wmSearchBrowseResults`
|
|
48
|
+
- `wmSearchValueChanged`
|
|
49
|
+
|
|
50
|
+
**Methods:**
|
|
51
|
+
- `updateValue(value: string) => Promise<void>`
|
|
52
|
+
|
|
53
|
+
**Accessibility:**
|
|
54
|
+
|
|
55
|
+
- `label` sets the `aria-label` on the underlying `<input>` -- it is required even when
|
|
56
|
+
the label text is not visually displayed.
|
|
57
|
+
- An `aria-live` region announces the result count after each input change and after
|
|
58
|
+
prev/next navigation in the `find` variant.
|
|
59
|
+
- In the `find` variant, `highlighted-id` is used as the `href` of the jump-to-result
|
|
60
|
+
skip-link that appears while the user is tabbing.
|
|
61
|
+
- **Keyboard:** - **Tab**: Advances focus through the input and, in the `find` variant, the prev/next
|
|
62
|
+
buttons and the jump-to-result skip-link (visible only when tabbing with results present).
|
|
63
|
+
- **Shift+Tab**: Moves focus backward through the same elements.
|
|
64
|
+
- **Enter / Space**: Activates the focused prev/next buttons in the `find` variant.
|
|
65
|
+
|
|
66
|
+
**Related components:**
|
|
67
|
+
|
|
68
|
+
- `<wm-input>` -- if the user is typing a value to store as form data rather than to filter visible content, use Input; Search has no form submission semantics.
|
|
69
|
+
- `<wm-select>` with search property -- if the user is searching within a bounded dropdown list of options to make a selection, use Select's built-in search; `<wm-search>` is for filtering page-level content, not for narrowing selectable options.
|
|
70
|
+
- `<wm-tag-input>` -- if the user needs to search and then commit multiple selected values as discrete tags, Tag Input combines search-style filtering with multi-value selection; `<wm-search>` alone has no concept of committed selected values.
|
|
71
|
+
|
|
72
|
+
**Code example:**
|
|
73
|
+
|
|
74
|
+
_Basic search_
|
|
75
|
+
|
|
76
|
+
```html
|
|
77
|
+
<wm-search label="Filter courses" placeholder="Search courses..."></wm-search>
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
_Basic search_
|
|
81
|
+
|
|
82
|
+
```react
|
|
83
|
+
// wmSearchValueChanged fires on blur only -- use a native input event listener via ref
|
|
84
|
+
// for per-keystroke filtering. el.value reflects the current typed string.
|
|
85
|
+
const basicRef = useRef(null);
|
|
86
|
+
const [query, setQuery] = useState("");
|
|
87
|
+
|
|
88
|
+
useEffect(() => {
|
|
89
|
+
const el = basicRef.current;
|
|
90
|
+
const handler = () => setQuery(el.value);
|
|
91
|
+
el.addEventListener("input", handler);
|
|
92
|
+
return () => el.removeEventListener("input", handler);
|
|
93
|
+
}, []);
|
|
94
|
+
|
|
95
|
+
const filtered = items.filter((c) => c.toLowerCase().includes(query.toLowerCase()));
|
|
96
|
+
|
|
97
|
+
<WmSearch ref={basicRef} label="Filter courses" placeholder="Search courses..."
|
|
98
|
+
numResults={filtered.length} />
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
_Search and find variant_
|
|
102
|
+
|
|
103
|
+
```html
|
|
104
|
+
<wm-search
|
|
105
|
+
search-type="find"
|
|
106
|
+
label="Find in page"
|
|
107
|
+
placeholder="Find..."
|
|
108
|
+
num-results="5"
|
|
109
|
+
highlighted-id="result-1"
|
|
110
|
+
highlighted-name="First result">
|
|
111
|
+
</wm-search>
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
_Search and find variant_
|
|
115
|
+
|
|
116
|
+
```react
|
|
117
|
+
// The find variant navigates through matched results only.
|
|
118
|
+
// On input: filter items, set numResults, and highlight the first match.
|
|
119
|
+
// On wmSearchBrowseResults: use e.detail.position (1-based) to index into the filtered list.
|
|
120
|
+
// highlightedId must match the id of the corresponding DOM element.
|
|
121
|
+
// The component does not filter -- filtering logic is entirely the application's responsibility.
|
|
122
|
+
const findRef = useRef(null);
|
|
123
|
+
const [highlightedId, setHighlightedId] = useState("");
|
|
124
|
+
const [highlightedName, setHighlightedName] = useState("");
|
|
125
|
+
const [numFindResults, setNumFindResults] = useState(0);
|
|
126
|
+
const toId = (name) => name.toLowerCase().replace(/\s+/g, "-");
|
|
127
|
+
const filterItems = (value) =>
|
|
128
|
+
!value ? [] : items.filter((c) => c.toLowerCase().includes(value.toLowerCase()));
|
|
129
|
+
|
|
130
|
+
useEffect(() => {
|
|
131
|
+
const el = findRef.current;
|
|
132
|
+
const handler = () => {
|
|
133
|
+
const results = filterItems(el.value);
|
|
134
|
+
setNumFindResults(results.length);
|
|
135
|
+
if (results.length) { setHighlightedId(toId(results[0])); setHighlightedName(results[0]); }
|
|
136
|
+
else { setHighlightedId(""); setHighlightedName(""); }
|
|
137
|
+
};
|
|
138
|
+
el.addEventListener("input", handler);
|
|
139
|
+
return () => el.removeEventListener("input", handler);
|
|
140
|
+
}, []);
|
|
141
|
+
|
|
142
|
+
const handleBrowseResults = (e) => {
|
|
143
|
+
const results = filterItems(findRef.current.value);
|
|
144
|
+
const item = results[e.detail.position - 1];
|
|
145
|
+
if (item) { setHighlightedId(toId(item)); setHighlightedName(item); }
|
|
146
|
+
};
|
|
147
|
+
|
|
148
|
+
<WmSearch ref={findRef} searchType="find" label="Find result" placeholder="Find..."
|
|
149
|
+
numResults={numFindResults} highlightedId={highlightedId} highlightedName={highlightedName}
|
|
150
|
+
onWmSearchBrowseResults={handleBrowseResults} />
|
|
151
|
+
{items.map((c) => (
|
|
152
|
+
<li key={c} id={toId(c)}
|
|
153
|
+
style={{ background: highlightedId === toId(c) ? "lightyellow" : "transparent" }}>
|
|
154
|
+
{c}
|
|
155
|
+
</li>
|
|
156
|
+
))}
|
|
157
|
+
```
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
### Select
|
|
2
|
+
- **Element:** `<wm-select>`
|
|
3
|
+
- **Status:** stable
|
|
4
|
+
|
|
5
|
+
**Purpose:** Dropdown list of options that allows single or multi-select. Functionally similar to the
|
|
6
|
+
native HTML `<select>` element but with Ripple styling and richer features including
|
|
7
|
+
multiselect, search filtering, and a Select All control. Composed of a parent wm-select
|
|
8
|
+
element and wm-option children.
|
|
9
|
+
|
|
10
|
+
**When to use:**
|
|
11
|
+
|
|
12
|
+
- **Choosing a single value from a known, bounded list** -- when a user needs to pick exactly one option from a fixed set (e.g., selecting a term, role, or status), use the default single-select variant to record that choice as a form value.
|
|
13
|
+
- **Selecting multiple values from a flat list** -- when a user can choose more than one option from an unstructured set, use the multiple property, optionally with select-all for bulk selection convenience.
|
|
14
|
+
- **Filtering a manageable option set by typing** -- when the list has up to 50 options and scanning is impractical, use the search property to let users narrow options by typing rather than scrolling.
|
|
15
|
+
- **Displaying supplementary context alongside options** -- when each option benefits from a short secondary label (e.g., a code, count, or category hint), use the subinfo property on wm-option to show italicized supporting text inline.
|
|
16
|
+
|
|
17
|
+
**Do not use for:**
|
|
18
|
+
|
|
19
|
+
- **Categorized options** -- if the option set has a meaningful group structure, use wm-nested-select instead; Select only supports a single flat list.
|
|
20
|
+
- **Selecting an option that triggers an action** -- if selecting an item should immediately execute something, use wm-action-menu's selector variant, not Select.
|
|
21
|
+
- **More than 50 options in search mode** -- the search variant is intended for 50 or fewer options; beyond that, it creates usability and potential performance problems.
|
|
22
|
+
- **Single Select with no pre-selected option** -- single Select must always have a selected value; if no default exists, the first option must explicitly represent a null state using only approved language ("None", "Select an option", or "--").
|
|
23
|
+
|
|
24
|
+
**Variants / types:**
|
|
25
|
+
|
|
26
|
+
_None documented_
|
|
27
|
+
|
|
28
|
+
**Props:**
|
|
29
|
+
- `all-selected-message` -- Text displayed in the trigger button in multiselect mode when every option
|
|
30
|
+
is selected.
|
|
31
|
+
- `disabled` -- Disables the entire select component, preventing all interaction.
|
|
32
|
+
- `error-message` -- Puts the component in an error state and displays this message beneath the
|
|
33
|
+
trigger button. Use for form validation feedback.
|
|
34
|
+
- `info` -- Informational hint text rendered beneath the dropdown button. Use for
|
|
35
|
+
supporting instructions or constraints.
|
|
36
|
+
- `label` -- Accessible label for the dropdown. Required even when `label-position` is
|
|
37
|
+
`"none"` -- used as the ARIA accessible name.
|
|
38
|
+
- `label-position` -- Position of the label relative to the dropdown button. `"none"` hides the
|
|
39
|
+
label visually but keeps it accessible via ARIA.
|
|
40
|
+
- `max-height` -- Overrides the maximum height of the options list. Accepts any valid CSS
|
|
41
|
+
length value (e.g. `"20rem"`, `"300px"`).
|
|
42
|
+
- `multiple` -- Enables multiselect mode, allowing more than one option to be selected
|
|
43
|
+
simultaneously.
|
|
44
|
+
- `placeholder` -- Text displayed in the trigger button in multiselect mode when no options are
|
|
45
|
+
selected. Not applicable in single-select mode -- use a null-value first option instead.
|
|
46
|
+
- `required-field` -- Displays a required-field asterisk (*) next to the label.
|
|
47
|
+
- `search` -- Adds a search input inside the dropdown that filters visible options by label
|
|
48
|
+
text. Compatible with both single and multiselect modes. Best with 50 or fewer options.
|
|
49
|
+
- `search-placeholder` -- Placeholder text displayed inside the search input when `search` is enabled.
|
|
50
|
+
- `select-all` -- Adds a "Select All" / "Deselect All" toggle at the top of the dropdown.
|
|
51
|
+
Has no effect unless `multiple` is also set.
|
|
52
|
+
|
|
53
|
+
**Events:**
|
|
54
|
+
- `wmSelectAllDeselected`
|
|
55
|
+
- `wmSelectAllSelected`
|
|
56
|
+
- `wmSelectBlurred`
|
|
57
|
+
- `wmSelectDidLoad`
|
|
58
|
+
|
|
59
|
+
**Accessibility:**
|
|
60
|
+
|
|
61
|
+
- `label` is required even when `label-position` is `"none"` -- it is used as the dropdown's
|
|
62
|
+
ARIA accessible name.
|
|
63
|
+
- The dropdown renders with `role="listbox"`. Each wm-option renders with `role="option"`.
|
|
64
|
+
- `required-field` renders a visible asterisk; the ARIA required constraint is communicated
|
|
65
|
+
via the label rather than `aria-required` because the listbox is in a sub-component.
|
|
66
|
+
- Validation errors are announced via an `aria-live` region when `error-message` changes.
|
|
67
|
+
- **Keyboard:** - **Closed button**: Space / Enter / Arrow Down opens the dropdown and focuses the first
|
|
68
|
+
option; Arrow Up opens and focuses the last option.
|
|
69
|
+
- **Open dropdown**: Arrow Up / Down navigate options; Home / End jump to first / last;
|
|
70
|
+
typing a letter jumps to the first matching option.
|
|
71
|
+
- **Single-select**: Enter / Space / click selects and closes.
|
|
72
|
+
- **Multi-select**: Enter / Space / click toggles selection; Tab or Escape closes.
|
|
73
|
+
- **Shift+Tab** (from options): Closes and returns focus to the trigger button.
|
|
74
|
+
|
|
75
|
+
**Related components:**
|
|
76
|
+
|
|
77
|
+
- `<wm-nested-select>` -- if the options have a two-level category structure, use Nested Select; if they are a single flat list, use Select.
|
|
78
|
+
- `<wm-action-menu>` (selector type) -- if picking an option should immediately execute an action rather than record a value, use Action Menu's selector type, not Select.
|
|
79
|
+
- `<wm-tag-input>` -- if the user needs to select or create values displayed as removable tags (e.g., adding people or labels), Tag Input is likely the better fit over multi-select Select.
|
|
80
|
+
|
|
81
|
+
**Code example:**
|
|
82
|
+
|
|
83
|
+
_Single-select_
|
|
84
|
+
|
|
85
|
+
```html
|
|
86
|
+
<wm-select label="Program">
|
|
87
|
+
<wm-option selected>Select a program</wm-option>
|
|
88
|
+
<wm-option>Biology</wm-option>
|
|
89
|
+
<wm-option>English</wm-option>
|
|
90
|
+
</wm-select>
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
_Single-select_
|
|
94
|
+
|
|
95
|
+
```react
|
|
96
|
+
const [program, setProgram] = useState('');
|
|
97
|
+
|
|
98
|
+
// event.detail is the selected HTMLWmOptionElement
|
|
99
|
+
const handleSelect = (event) => {
|
|
100
|
+
setProgram(event.detail.value ?? event.detail.textContent);
|
|
101
|
+
};
|
|
102
|
+
|
|
103
|
+
<WmSelect label="Program" onWmOptionSelected={handleSelect}>
|
|
104
|
+
<WmOption selected>Select a program</WmOption>
|
|
105
|
+
<WmOption value="bio">Biology</WmOption>
|
|
106
|
+
<WmOption value="eng">English</WmOption>
|
|
107
|
+
</WmSelect>
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
_Multi-select with search and Select All_
|
|
111
|
+
|
|
112
|
+
```html
|
|
113
|
+
<wm-select label="Programs" multiple search select-all
|
|
114
|
+
placeholder="Select programs">
|
|
115
|
+
<wm-option value="bio">Biology</wm-option>
|
|
116
|
+
<wm-option value="eng">English</wm-option>
|
|
117
|
+
</wm-select>
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
_Multi-select with search and Select All_
|
|
121
|
+
|
|
122
|
+
```react
|
|
123
|
+
const [selected, setSelected] = useState([]);
|
|
124
|
+
|
|
125
|
+
// event.detail is the HTMLWmOptionElement that was selected or deselected
|
|
126
|
+
const handleSelect = (event) => {
|
|
127
|
+
const value = event.detail.value ?? event.detail.textContent;
|
|
128
|
+
setSelected((prev) => [...prev, value]);
|
|
129
|
+
};
|
|
130
|
+
|
|
131
|
+
const handleDeselect = (event) => {
|
|
132
|
+
const value = event.detail.value ?? event.detail.textContent;
|
|
133
|
+
setSelected((prev) => prev.filter((v) => v !== value));
|
|
134
|
+
};
|
|
135
|
+
|
|
136
|
+
<WmSelect
|
|
137
|
+
label="Programs"
|
|
138
|
+
multiple={true}
|
|
139
|
+
search={true}
|
|
140
|
+
selectAll={true}
|
|
141
|
+
placeholder="Select programs"
|
|
142
|
+
onWmOptionSelected={handleSelect}
|
|
143
|
+
onWmOptionDeselected={handleDeselect}
|
|
144
|
+
>
|
|
145
|
+
<WmOption value="bio">Biology</WmOption>
|
|
146
|
+
<WmOption value="eng">English</WmOption>
|
|
147
|
+
</WmSelect>
|
|
148
|
+
```
|