@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
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
import { h } from "@stencil/core";
|
|
2
|
+
/**
|
|
3
|
+
* @internal
|
|
4
|
+
* @description Internal navigator item component for use with the Navigation component. Not to be used directly.
|
|
5
|
+
*/
|
|
2
6
|
export class PrivNavigatorItem {
|
|
3
7
|
constructor() {
|
|
4
8
|
this.selected = false;
|
|
@@ -16,7 +20,7 @@ export class PrivNavigatorItem {
|
|
|
16
20
|
render() {
|
|
17
21
|
const selectedClass = this.selected ? "selected" : "";
|
|
18
22
|
const focusedClass = this.focused ? "focused" : "";
|
|
19
|
-
return (h("div", { key: '
|
|
23
|
+
return (h("div", { key: '427929b24dd60459f8269a3d3ee746ac876ff31f', class: `navoption ${selectedClass} ${focusedClass}` }, h("slot", { key: '9c67b8bd2282efc3ca77d8805dd3278d3e0b3c4a' })));
|
|
20
24
|
}
|
|
21
25
|
static get is() { return "priv-navigator-item"; }
|
|
22
26
|
static get encapsulation() { return "shadow"; }
|
|
@@ -2,6 +2,60 @@ import { h, Host } from "@stencil/core";
|
|
|
2
2
|
import { getWmMode } from "../../global/interfaces";
|
|
3
3
|
import { intl, snakeCaseToCamelCase, getNewIndexToFocus } from "../../global/functions";
|
|
4
4
|
import { getRequest } from "../../global/services/http-service";
|
|
5
|
+
/**
|
|
6
|
+
* User account menu that displays the logged-in user's name, email, and a product switcher
|
|
7
|
+
* for navigating between Watermark applications. Renders as a button that opens a dropdown
|
|
8
|
+
* listing available products and a logout option.
|
|
9
|
+
*
|
|
10
|
+
* @keyboardInteraction
|
|
11
|
+
* - **Down Arrow / Up Arrow**: Opens the menu and navigates between product options.
|
|
12
|
+
* - **Enter / Space**: Activates the focused option or opens the menu.
|
|
13
|
+
* - **Escape**: Closes the menu.
|
|
14
|
+
* - **Tab**: Closes the menu.
|
|
15
|
+
*
|
|
16
|
+
* @accessibility
|
|
17
|
+
* - User info (name and email) is grouped with an `aria-label` for screen readers.
|
|
18
|
+
* - Product options are rendered in a `role="listbox"` with `role="option"` items and
|
|
19
|
+
* `aria-selected` reflecting the current product.
|
|
20
|
+
*
|
|
21
|
+
* @usageNotes
|
|
22
|
+
* - Two data modes: **prop mode** (pass `user-name`, `email`, `products`, `auth-type` as props)
|
|
23
|
+
* and **endpoint mode** (set `load-from-userinfo="true"` to fetch from `/platform/navigator/userinfo`).
|
|
24
|
+
* - In prop mode, set `auth-type` to match your authentication method: `1` (no redirect), `2`
|
|
25
|
+
* (username/password or SSO — uses `link_url`), or `3` (SAML — uses `saml_link_url`).
|
|
26
|
+
* - Always handle `wmNavigatorLogout` to run app-specific cleanup (e.g. clearing local storage)
|
|
27
|
+
* before the logout redirect.
|
|
28
|
+
* - Set `logout-url` to redirect after logout; omit it to handle navigation entirely in the
|
|
29
|
+
* `wmNavigatorLogout` event handler.
|
|
30
|
+
* - URLs in product data are validated against a Watermark domain whitelist; invalid URLs are
|
|
31
|
+
* rejected with a console error.
|
|
32
|
+
*
|
|
33
|
+
* @example {html} Prop mode
|
|
34
|
+
* <wm-navigator
|
|
35
|
+
* user-name="Maria Garcia"
|
|
36
|
+
* email="m.garcia@example.com"
|
|
37
|
+
* auth-type="2"
|
|
38
|
+
* logout-url="https://app.watermarkinsights.com/logout"
|
|
39
|
+
* products='[{"id":"app1","name":"Insights","icon_url":"/icons/insights.svg","link_url":"https://insights.watermarkinsights.com"}]'>
|
|
40
|
+
* </wm-navigator>
|
|
41
|
+
*
|
|
42
|
+
* @example {react} Prop mode
|
|
43
|
+
* <WmNavigator
|
|
44
|
+
* userName="Maria Garcia"
|
|
45
|
+
* email="m.garcia@example.com"
|
|
46
|
+
* authType={2}
|
|
47
|
+
* logoutUrl="https://app.watermarkinsights.com/logout"
|
|
48
|
+
* products={JSON.stringify(products)}
|
|
49
|
+
* onWmNavigatorLogout={handleLogout} />
|
|
50
|
+
*
|
|
51
|
+
* @example {html} Endpoint mode (fetches user info automatically)
|
|
52
|
+
* <wm-navigator user-name="Maria Garcia" load-from-userinfo="true"></wm-navigator>
|
|
53
|
+
*
|
|
54
|
+
* @example {react} Endpoint mode
|
|
55
|
+
* <WmNavigator userName="Maria Garcia" loadFromUserinfo={true} onWmNavigatorLogout={handleLogout} />
|
|
56
|
+
*
|
|
57
|
+
* @category Navigation
|
|
58
|
+
*/
|
|
5
59
|
export class Navigator {
|
|
6
60
|
constructor() {
|
|
7
61
|
// comp can check whether the info was successfully retrieved with:
|
|
@@ -237,7 +291,7 @@ export class Navigator {
|
|
|
237
291
|
name = product.name;
|
|
238
292
|
icon = product.iconUrl;
|
|
239
293
|
clickRedirect = this.setProductOnClick(product.id);
|
|
240
|
-
if (!!name && !!icon) {
|
|
294
|
+
if (!!name && !!icon && this.isSafeUrl(icon)) {
|
|
241
295
|
isSelected = this.currentProductId === product.id;
|
|
242
296
|
return (h("priv-navigator-item", { selected: isSelected, id: product.id, onClick: () => {
|
|
243
297
|
isSelected ? this.closeMenu() : clickRedirect();
|
|
@@ -330,7 +384,13 @@ export class Navigator {
|
|
|
330
384
|
"required": false,
|
|
331
385
|
"optional": true,
|
|
332
386
|
"docs": {
|
|
333
|
-
"tags": [
|
|
387
|
+
"tags": [{
|
|
388
|
+
"name": "description",
|
|
389
|
+
"text": "The display name of the logged-in user, shown in the menu header."
|
|
390
|
+
}, {
|
|
391
|
+
"name": "required",
|
|
392
|
+
"text": undefined
|
|
393
|
+
}],
|
|
334
394
|
"text": ""
|
|
335
395
|
},
|
|
336
396
|
"attribute": "user-name",
|
|
@@ -347,7 +407,13 @@ export class Navigator {
|
|
|
347
407
|
"required": false,
|
|
348
408
|
"optional": true,
|
|
349
409
|
"docs": {
|
|
350
|
-
"tags": [
|
|
410
|
+
"tags": [{
|
|
411
|
+
"name": "description",
|
|
412
|
+
"text": "The email address of the logged-in user, shown in the menu header."
|
|
413
|
+
}, {
|
|
414
|
+
"name": "conditionallyRequired",
|
|
415
|
+
"text": "when load-from-userinfo is false"
|
|
416
|
+
}],
|
|
351
417
|
"text": ""
|
|
352
418
|
},
|
|
353
419
|
"attribute": "email",
|
|
@@ -364,7 +430,16 @@ export class Navigator {
|
|
|
364
430
|
"required": false,
|
|
365
431
|
"optional": false,
|
|
366
432
|
"docs": {
|
|
367
|
-
"tags": [
|
|
433
|
+
"tags": [{
|
|
434
|
+
"name": "description",
|
|
435
|
+
"text": "Authentication method, determining how product link redirects are handled.\n`1` \u2014 no redirect; `2` \u2014 username/password or SSO (uses `link_url`); `3` \u2014 SAML (uses `saml_link_url`)."
|
|
436
|
+
}, {
|
|
437
|
+
"name": "default",
|
|
438
|
+
"text": "1"
|
|
439
|
+
}, {
|
|
440
|
+
"name": "conditionallyRequired",
|
|
441
|
+
"text": "when load-from-userinfo is false and products are provided"
|
|
442
|
+
}],
|
|
368
443
|
"text": ""
|
|
369
444
|
},
|
|
370
445
|
"attribute": "auth-type",
|
|
@@ -382,7 +457,10 @@ export class Navigator {
|
|
|
382
457
|
"required": false,
|
|
383
458
|
"optional": true,
|
|
384
459
|
"docs": {
|
|
385
|
-
"tags": [
|
|
460
|
+
"tags": [{
|
|
461
|
+
"name": "description",
|
|
462
|
+
"text": "SAML connection name appended as a query parameter to product redirect URLs.\nOnly used when `auth-type` is `3`."
|
|
463
|
+
}],
|
|
386
464
|
"text": ""
|
|
387
465
|
},
|
|
388
466
|
"attribute": "connection-name",
|
|
@@ -399,7 +477,10 @@ export class Navigator {
|
|
|
399
477
|
"required": false,
|
|
400
478
|
"optional": true,
|
|
401
479
|
"docs": {
|
|
402
|
-
"tags": [
|
|
480
|
+
"tags": [{
|
|
481
|
+
"name": "description",
|
|
482
|
+
"text": "URL to redirect to after logout. If omitted, no redirect occurs \u2014 handle\nnavigation entirely in the `wmNavigatorLogout` event handler."
|
|
483
|
+
}],
|
|
403
484
|
"text": ""
|
|
404
485
|
},
|
|
405
486
|
"attribute": "logout-url",
|
|
@@ -416,7 +497,10 @@ export class Navigator {
|
|
|
416
497
|
"required": false,
|
|
417
498
|
"optional": true,
|
|
418
499
|
"docs": {
|
|
419
|
-
"tags": [
|
|
500
|
+
"tags": [{
|
|
501
|
+
"name": "description",
|
|
502
|
+
"text": "The user's accessible Watermark products, as a JSON string or array of objects.\nEach object must include `id`, `name`, `icon_url`, and either `link_url` (auth-type 2) or\n`saml_link_url` (auth-type 3). Not needed when `load-from-userinfo` is true."
|
|
503
|
+
}],
|
|
420
504
|
"text": ""
|
|
421
505
|
},
|
|
422
506
|
"attribute": "products",
|
|
@@ -433,7 +517,13 @@ export class Navigator {
|
|
|
433
517
|
"required": false,
|
|
434
518
|
"optional": false,
|
|
435
519
|
"docs": {
|
|
436
|
-
"tags": [
|
|
520
|
+
"tags": [{
|
|
521
|
+
"name": "description",
|
|
522
|
+
"text": "When true, fetches user info and products automatically from the\n`/platform/navigator/userinfo` endpoint instead of using props."
|
|
523
|
+
}, {
|
|
524
|
+
"name": "default",
|
|
525
|
+
"text": "false"
|
|
526
|
+
}],
|
|
437
527
|
"text": ""
|
|
438
528
|
},
|
|
439
529
|
"attribute": "load-from-userinfo",
|
|
@@ -456,7 +546,10 @@ export class Navigator {
|
|
|
456
546
|
"cancelable": true,
|
|
457
547
|
"composed": true,
|
|
458
548
|
"docs": {
|
|
459
|
-
"tags": [
|
|
549
|
+
"tags": [{
|
|
550
|
+
"name": "description",
|
|
551
|
+
"text": "Fires when the user clicks the logout option. Always handle this event to\nrun app-specific cleanup (e.g. clearing local storage or session state) before any logout\nredirect. If `logout-url` is set, the component will navigate there after this event fires."
|
|
552
|
+
}],
|
|
460
553
|
"text": ""
|
|
461
554
|
},
|
|
462
555
|
"complexType": {
|
|
@@ -1,6 +1,58 @@
|
|
|
1
1
|
import { h } from "@stencil/core";
|
|
2
2
|
import { debounce, intl } from "../../global/functions";
|
|
3
3
|
import { globalMessages } from "../../global/intl";
|
|
4
|
+
/**
|
|
5
|
+
* 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
|
+
* @accessibility
|
|
10
|
+
* - Rendered as a `<nav>` element with an `aria-label` that includes the current page and
|
|
11
|
+
* visible item range, announced to screen readers on load.
|
|
12
|
+
* - An `aria-live` region announces the new current page when navigation occurs.
|
|
13
|
+
* - Disabled previous/next buttons shift focus to the nearest enabled button automatically.
|
|
14
|
+
* - Current page button carries `aria-current="page"`.
|
|
15
|
+
*
|
|
16
|
+
* @usageNotes
|
|
17
|
+
* - `current-page`, `total-items`, and `items-per-page` are all required; a missing value
|
|
18
|
+
* throws an error on load.
|
|
19
|
+
* - Listen to `wmPaginationPageClicked` and read `event.target.value` to get the selected
|
|
20
|
+
* page number. `event.target.value` is a string — wrap with `Number()` before storing.
|
|
21
|
+
* - The component does not manage data — it only reports which page was selected.
|
|
22
|
+
* - When multiple pagination instances appear on the same page, give each a unique `label`
|
|
23
|
+
* to disambiguate the `<nav>` landmark for screen readers, and drive each from independent state.
|
|
24
|
+
*
|
|
25
|
+
* @example {html} Basic pagination
|
|
26
|
+
* <wm-pagination current-page="1" total-items="150" items-per-page="25"></wm-pagination>
|
|
27
|
+
*
|
|
28
|
+
* @example {react} Basic pagination
|
|
29
|
+
* // event.target.value is a string — use Number() when storing as a number.
|
|
30
|
+
* const [currentPage, setCurrentPage] = useState(1);
|
|
31
|
+
*
|
|
32
|
+
* <WmPagination
|
|
33
|
+
* currentPage={currentPage}
|
|
34
|
+
* totalItems={150}
|
|
35
|
+
* itemsPerPage={25}
|
|
36
|
+
* onWmPaginationPageClicked={(e) => setCurrentPage(Number(e.target.value))} />
|
|
37
|
+
*
|
|
38
|
+
* @example {html} With accessible label
|
|
39
|
+
* <wm-pagination label="Search results" current-page="1" total-items="80" items-per-page="10">
|
|
40
|
+
* </wm-pagination>
|
|
41
|
+
*
|
|
42
|
+
* @example {react} Multiple instances with independent state
|
|
43
|
+
* // Give each instance a unique label to disambiguate the nav landmark for screen readers.
|
|
44
|
+
* // Drive each from its own state variable so they page independently.
|
|
45
|
+
* const [page1, setPage1] = useState(1);
|
|
46
|
+
* const [page2, setPage2] = useState(1);
|
|
47
|
+
*
|
|
48
|
+
* <WmPagination currentPage={page1} totalItems={150} itemsPerPage={10}
|
|
49
|
+
* onWmPaginationPageClicked={(e) => setPage1(Number(e.target.value))} />
|
|
50
|
+
*
|
|
51
|
+
* <WmPagination label="Search results" currentPage={page2} totalItems={80} itemsPerPage={10}
|
|
52
|
+
* onWmPaginationPageClicked={(e) => setPage2(Number(e.target.value))} />
|
|
53
|
+
*
|
|
54
|
+
* @category Navigation
|
|
55
|
+
*/
|
|
4
56
|
export class Pagination {
|
|
5
57
|
constructor() {
|
|
6
58
|
this.totalPages = 0;
|
|
@@ -204,7 +256,7 @@ export class Pagination {
|
|
|
204
256
|
render() {
|
|
205
257
|
return (
|
|
206
258
|
// do not render the component if there's only one page
|
|
207
|
-
this.totalItems > this.itemsPerPage && (h("nav", { key: '
|
|
259
|
+
this.totalItems > this.itemsPerPage && (h("nav", { key: '8c094b7e649c43b8203b39f2a6afdd8f1cf727c1', "aria-label": `${this.label || this.defaultLabel}. ${this.getCurrentPagesInView()}. ${this.currentPageAnnouncement(this.currentPage)}` }, this.isLargeSize ? this.renderLarge() : this.renderSmall(), h("div", { key: '23aee5fba033dfb71cc355d3dfcf8ebf5086a166', id: "status", class: "sr-only", "aria-live": "polite", "aria-relevant": "text", "aria-atomic": "true" }, this.srAnnouncement))));
|
|
208
260
|
}
|
|
209
261
|
static get is() { return "wm-pagination"; }
|
|
210
262
|
static get encapsulation() { return "shadow"; }
|
|
@@ -232,7 +284,10 @@ export class Pagination {
|
|
|
232
284
|
"required": false,
|
|
233
285
|
"optional": false,
|
|
234
286
|
"docs": {
|
|
235
|
-
"tags": [
|
|
287
|
+
"tags": [{
|
|
288
|
+
"name": "description",
|
|
289
|
+
"text": "Accessible label for the `<nav>` element. Defaults to `\"Pagination navigation\"`.\nOverride when multiple pagination instances appear on the same page (e.g. `\"Search results\"`)."
|
|
290
|
+
}],
|
|
236
291
|
"text": ""
|
|
237
292
|
},
|
|
238
293
|
"attribute": "label",
|
|
@@ -250,7 +305,16 @@ export class Pagination {
|
|
|
250
305
|
"required": false,
|
|
251
306
|
"optional": false,
|
|
252
307
|
"docs": {
|
|
253
|
-
"tags": [
|
|
308
|
+
"tags": [{
|
|
309
|
+
"name": "description",
|
|
310
|
+
"text": "The currently active page number. Update this prop in response to\n`wmPaginationPageClicked` to keep the component in sync with your data."
|
|
311
|
+
}, {
|
|
312
|
+
"name": "default",
|
|
313
|
+
"text": "1"
|
|
314
|
+
}, {
|
|
315
|
+
"name": "required",
|
|
316
|
+
"text": undefined
|
|
317
|
+
}],
|
|
254
318
|
"text": ""
|
|
255
319
|
},
|
|
256
320
|
"attribute": "current-page",
|
|
@@ -268,7 +332,13 @@ export class Pagination {
|
|
|
268
332
|
"required": false,
|
|
269
333
|
"optional": true,
|
|
270
334
|
"docs": {
|
|
271
|
-
"tags": [
|
|
335
|
+
"tags": [{
|
|
336
|
+
"name": "description",
|
|
337
|
+
"text": "Total number of items across all pages. Used with `items-per-page` to\ncalculate the total page count."
|
|
338
|
+
}, {
|
|
339
|
+
"name": "required",
|
|
340
|
+
"text": undefined
|
|
341
|
+
}],
|
|
272
342
|
"text": ""
|
|
273
343
|
},
|
|
274
344
|
"attribute": "total-items",
|
|
@@ -286,7 +356,13 @@ export class Pagination {
|
|
|
286
356
|
"required": false,
|
|
287
357
|
"optional": true,
|
|
288
358
|
"docs": {
|
|
289
|
-
"tags": [
|
|
359
|
+
"tags": [{
|
|
360
|
+
"name": "description",
|
|
361
|
+
"text": "Number of items displayed per page. Used with `total-items` to calculate\nthe total page count."
|
|
362
|
+
}, {
|
|
363
|
+
"name": "required",
|
|
364
|
+
"text": undefined
|
|
365
|
+
}],
|
|
290
366
|
"text": ""
|
|
291
367
|
},
|
|
292
368
|
"attribute": "items-per-page",
|
|
@@ -304,7 +380,13 @@ export class Pagination {
|
|
|
304
380
|
"required": false,
|
|
305
381
|
"optional": false,
|
|
306
382
|
"docs": {
|
|
307
|
-
"tags": [
|
|
383
|
+
"tags": [{
|
|
384
|
+
"name": "description",
|
|
385
|
+
"text": "The page number selected by the most recent user interaction. Read\n`event.target.value` in the `wmPaginationPageClicked` handler to get the selected page."
|
|
386
|
+
}, {
|
|
387
|
+
"name": "default",
|
|
388
|
+
"text": "1"
|
|
389
|
+
}],
|
|
308
390
|
"text": ""
|
|
309
391
|
},
|
|
310
392
|
"attribute": "value",
|
|
@@ -322,7 +404,13 @@ export class Pagination {
|
|
|
322
404
|
"required": false,
|
|
323
405
|
"optional": false,
|
|
324
406
|
"docs": {
|
|
325
|
-
"tags": [
|
|
407
|
+
"tags": [{
|
|
408
|
+
"name": "internal",
|
|
409
|
+
"text": undefined
|
|
410
|
+
}, {
|
|
411
|
+
"name": "description",
|
|
412
|
+
"text": "Internal responsive state \u2014 updated by ResizeObserver; not intended for external use."
|
|
413
|
+
}],
|
|
326
414
|
"text": ""
|
|
327
415
|
},
|
|
328
416
|
"attribute": "is-large-size",
|
|
@@ -344,7 +432,10 @@ export class Pagination {
|
|
|
344
432
|
"cancelable": true,
|
|
345
433
|
"composed": true,
|
|
346
434
|
"docs": {
|
|
347
|
-
"tags": [
|
|
435
|
+
"tags": [{
|
|
436
|
+
"name": "description",
|
|
437
|
+
"text": "Fires when the user clicks a page number, previous, or next button.\nRead `event.target.value` to get the selected page number, then update `current-page`\nand re-render your data."
|
|
438
|
+
}],
|
|
348
439
|
"text": ""
|
|
349
440
|
},
|
|
350
441
|
"complexType": {
|
|
@@ -359,7 +450,13 @@ export class Pagination {
|
|
|
359
450
|
"cancelable": true,
|
|
360
451
|
"composed": true,
|
|
361
452
|
"docs": {
|
|
362
|
-
"tags": [
|
|
453
|
+
"tags": [{
|
|
454
|
+
"name": "internal",
|
|
455
|
+
"text": undefined
|
|
456
|
+
}, {
|
|
457
|
+
"name": "description",
|
|
458
|
+
"text": "Internal event used to restore focus to the current page button after re-render."
|
|
459
|
+
}],
|
|
363
460
|
"text": ""
|
|
364
461
|
},
|
|
365
462
|
"complexType": {
|
|
@@ -1,6 +1,112 @@
|
|
|
1
1
|
import { h, Host } from "@stencil/core";
|
|
2
2
|
import { intl, handleDisabledAttribute, toBool } from "../../global/functions";
|
|
3
3
|
import { globalMessages } from "../../global/intl";
|
|
4
|
+
/**
|
|
5
|
+
* 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
|
+
* @keyboardInteraction
|
|
12
|
+
* - **Tab**: Advances focus through the input and, in the `find` variant, the prev/next
|
|
13
|
+
* buttons and the jump-to-result skip-link (visible only when tabbing with results present).
|
|
14
|
+
* - **Shift+Tab**: Moves focus backward through the same elements.
|
|
15
|
+
* - **Enter / Space**: Activates the focused prev/next buttons in the `find` variant.
|
|
16
|
+
*
|
|
17
|
+
* @accessibility
|
|
18
|
+
* - `label` sets the `aria-label` on the underlying `<input>` — it is required even when
|
|
19
|
+
* the label text is not visually displayed.
|
|
20
|
+
* - An `aria-live` region announces the result count after each input change and after
|
|
21
|
+
* prev/next navigation in the `find` variant.
|
|
22
|
+
* - In the `find` variant, `highlighted-id` is used as the `href` of the jump-to-result
|
|
23
|
+
* skip-link that appears while the user is tabbing.
|
|
24
|
+
*
|
|
25
|
+
* @usageNotes
|
|
26
|
+
* - Both `label` and `placeholder` are required; the component logs a console error on load
|
|
27
|
+
* if either is missing.
|
|
28
|
+
* - Listen to the native `input` event for per-keystroke updates; `wmSearchValueChanged`
|
|
29
|
+
* fires on blur only.
|
|
30
|
+
* - For the `find` variant, listen to `wmSearchBrowseResults` and update `highlighted-id`
|
|
31
|
+
* and `highlighted-name` after scrolling/highlighting the result in your data.
|
|
32
|
+
* - The component does not perform filtering — filtering logic must be implemented by the
|
|
33
|
+
* application.
|
|
34
|
+
*
|
|
35
|
+
* @example {html} Basic search
|
|
36
|
+
* <wm-search label="Filter courses" placeholder="Search courses..."></wm-search>
|
|
37
|
+
*
|
|
38
|
+
* @example {react} Basic search
|
|
39
|
+
* // wmSearchValueChanged fires on blur only -- use a native input event listener via ref
|
|
40
|
+
* // for per-keystroke filtering. el.value reflects the current typed string.
|
|
41
|
+
* const basicRef = useRef(null);
|
|
42
|
+
* const [query, setQuery] = useState("");
|
|
43
|
+
*
|
|
44
|
+
* useEffect(() => {
|
|
45
|
+
* const el = basicRef.current;
|
|
46
|
+
* const handler = () => setQuery(el.value);
|
|
47
|
+
* el.addEventListener("input", handler);
|
|
48
|
+
* return () => el.removeEventListener("input", handler);
|
|
49
|
+
* }, []);
|
|
50
|
+
*
|
|
51
|
+
* const filtered = items.filter((c) => c.toLowerCase().includes(query.toLowerCase()));
|
|
52
|
+
*
|
|
53
|
+
* <WmSearch ref={basicRef} label="Filter courses" placeholder="Search courses..."
|
|
54
|
+
* numResults={filtered.length} />
|
|
55
|
+
*
|
|
56
|
+
* @example {html} Search and find variant
|
|
57
|
+
* <wm-search
|
|
58
|
+
* search-type="find"
|
|
59
|
+
* label="Find in page"
|
|
60
|
+
* placeholder="Find..."
|
|
61
|
+
* num-results="5"
|
|
62
|
+
* highlighted-id="result-1"
|
|
63
|
+
* highlighted-name="First result">
|
|
64
|
+
* </wm-search>
|
|
65
|
+
*
|
|
66
|
+
* @example {react} Search and find variant
|
|
67
|
+
* // The find variant navigates through matched results only.
|
|
68
|
+
* // On input: filter items, set numResults, and highlight the first match.
|
|
69
|
+
* // On wmSearchBrowseResults: use e.detail.position (1-based) to index into the filtered list.
|
|
70
|
+
* // highlightedId must match the id of the corresponding DOM element.
|
|
71
|
+
* // The component does not filter -- filtering logic is entirely the application's responsibility.
|
|
72
|
+
* const findRef = useRef(null);
|
|
73
|
+
* const [highlightedId, setHighlightedId] = useState("");
|
|
74
|
+
* const [highlightedName, setHighlightedName] = useState("");
|
|
75
|
+
* const [numFindResults, setNumFindResults] = useState(0);
|
|
76
|
+
* const toId = (name) => name.toLowerCase().replace(/\s+/g, "-");
|
|
77
|
+
* const filterItems = (value) =>
|
|
78
|
+
* !value ? [] : items.filter((c) => c.toLowerCase().includes(value.toLowerCase()));
|
|
79
|
+
*
|
|
80
|
+
* useEffect(() => {
|
|
81
|
+
* const el = findRef.current;
|
|
82
|
+
* const handler = () => {
|
|
83
|
+
* const results = filterItems(el.value);
|
|
84
|
+
* setNumFindResults(results.length);
|
|
85
|
+
* if (results.length) { setHighlightedId(toId(results[0])); setHighlightedName(results[0]); }
|
|
86
|
+
* else { setHighlightedId(""); setHighlightedName(""); }
|
|
87
|
+
* };
|
|
88
|
+
* el.addEventListener("input", handler);
|
|
89
|
+
* return () => el.removeEventListener("input", handler);
|
|
90
|
+
* }, []);
|
|
91
|
+
*
|
|
92
|
+
* const handleBrowseResults = (e) => {
|
|
93
|
+
* const results = filterItems(findRef.current.value);
|
|
94
|
+
* const item = results[e.detail.position - 1];
|
|
95
|
+
* if (item) { setHighlightedId(toId(item)); setHighlightedName(item); }
|
|
96
|
+
* };
|
|
97
|
+
*
|
|
98
|
+
* <WmSearch ref={findRef} searchType="find" label="Find result" placeholder="Find..."
|
|
99
|
+
* numResults={numFindResults} highlightedId={highlightedId} highlightedName={highlightedName}
|
|
100
|
+
* onWmSearchBrowseResults={handleBrowseResults} />
|
|
101
|
+
* {items.map((c) => (
|
|
102
|
+
* <li key={c} id={toId(c)}
|
|
103
|
+
* style={{ background: highlightedId === toId(c) ? "lightyellow" : "transparent" }}>
|
|
104
|
+
* {c}
|
|
105
|
+
* </li>
|
|
106
|
+
* ))}
|
|
107
|
+
*
|
|
108
|
+
* @category Form Inputs
|
|
109
|
+
*/
|
|
4
110
|
export class Search {
|
|
5
111
|
constructor() {
|
|
6
112
|
this.linkEl = null;
|
|
@@ -168,10 +274,10 @@ export class Search {
|
|
|
168
274
|
* End search and find render helpers
|
|
169
275
|
*/
|
|
170
276
|
render() {
|
|
171
|
-
return (h(Host, { key: '
|
|
277
|
+
return (h(Host, { key: 'f6ad1575d3d98598c53acdab13501e852938847b' }, h("div", { key: 'f5cf56ed765036dfd6ffa7b89a306beb5d26bfe3', id: "wm-search-wrapper", class: `wm-search-wrapper ${this.searchType}` }, h("input", { key: 'bef933845ee4ab06e444c010d6fb27521115d377', disabled: this.isDisabled, id: "wm-search-input", placeholder: this.placeholder, "aria-label": `${this.label ? this.label + ". " : ""}${intl.formatMessage({
|
|
172
278
|
id: "search.typeToFilterResults",
|
|
173
279
|
defaultMessage: "Type to filter the results",
|
|
174
|
-
})}`, onInput: (ev) => this.updateValue(ev.target.value), onBlur: () => this.handleBlur(), "aria-autocomplete": "none", autocomplete: "off", value: this.value }), h("span", { key: '
|
|
280
|
+
})}`, onInput: (ev) => this.updateValue(ev.target.value), onBlur: () => this.handleBlur(), "aria-autocomplete": "none", autocomplete: "off", value: this.value }), h("span", { key: '80042b82d4a2d0552a25c4049bf2e07b53c382aa', class: "svg-icon svg-search" }), this.searchType === "find" && this.renderResultsAndBrowseButtons(), h("div", { key: 'fd741eb70958ae07089b0aa962580c6eee95a832', id: "wm-search-live", class: "sr-only", "aria-live": "polite", "aria-atomic": "true", ref: (el) => (this.resultsLiveRegion = el) }, this.announcement)), this.searchType === "find" && this.renderJumpToLink()));
|
|
175
281
|
}
|
|
176
282
|
static get is() { return "wm-search"; }
|
|
177
283
|
static get encapsulation() { return "shadow"; }
|
|
@@ -199,7 +305,13 @@ export class Search {
|
|
|
199
305
|
"required": false,
|
|
200
306
|
"optional": false,
|
|
201
307
|
"docs": {
|
|
202
|
-
"tags": [
|
|
308
|
+
"tags": [{
|
|
309
|
+
"name": "description",
|
|
310
|
+
"text": "Selects the search variant. `'basic'` renders a simple text input with a\nresult count. `'find'` adds prev/next navigation buttons and a jump-to-result skip-link."
|
|
311
|
+
}, {
|
|
312
|
+
"name": "default",
|
|
313
|
+
"text": "\"basic\""
|
|
314
|
+
}],
|
|
203
315
|
"text": ""
|
|
204
316
|
},
|
|
205
317
|
"attribute": "search-type",
|
|
@@ -217,7 +329,13 @@ export class Search {
|
|
|
217
329
|
"required": false,
|
|
218
330
|
"optional": false,
|
|
219
331
|
"docs": {
|
|
220
|
-
"tags": [
|
|
332
|
+
"tags": [{
|
|
333
|
+
"name": "description",
|
|
334
|
+
"text": "Disables the input, preventing all interaction."
|
|
335
|
+
}, {
|
|
336
|
+
"name": "default",
|
|
337
|
+
"text": "false"
|
|
338
|
+
}],
|
|
221
339
|
"text": ""
|
|
222
340
|
},
|
|
223
341
|
"attribute": "disabled",
|
|
@@ -235,8 +353,14 @@ export class Search {
|
|
|
235
353
|
"required": false,
|
|
236
354
|
"optional": false,
|
|
237
355
|
"docs": {
|
|
238
|
-
"tags": [
|
|
239
|
-
|
|
356
|
+
"tags": [{
|
|
357
|
+
"name": "description",
|
|
358
|
+
"text": "Placeholder text displayed inside the empty input."
|
|
359
|
+
}, {
|
|
360
|
+
"name": "required",
|
|
361
|
+
"text": undefined
|
|
362
|
+
}],
|
|
363
|
+
"text": ""
|
|
240
364
|
},
|
|
241
365
|
"attribute": "placeholder",
|
|
242
366
|
"reflect": false,
|
|
@@ -253,7 +377,13 @@ export class Search {
|
|
|
253
377
|
"required": false,
|
|
254
378
|
"optional": false,
|
|
255
379
|
"docs": {
|
|
256
|
-
"tags": [
|
|
380
|
+
"tags": [{
|
|
381
|
+
"name": "description",
|
|
382
|
+
"text": "Accessible label for the `<input>` element. Required even when not visually\ndisplayed. May match the placeholder text."
|
|
383
|
+
}, {
|
|
384
|
+
"name": "required",
|
|
385
|
+
"text": undefined
|
|
386
|
+
}],
|
|
257
387
|
"text": ""
|
|
258
388
|
},
|
|
259
389
|
"attribute": "label",
|
|
@@ -271,7 +401,13 @@ export class Search {
|
|
|
271
401
|
"required": false,
|
|
272
402
|
"optional": false,
|
|
273
403
|
"docs": {
|
|
274
|
-
"tags": [
|
|
404
|
+
"tags": [{
|
|
405
|
+
"name": "description",
|
|
406
|
+
"text": "Number of results matching the current query. Update this prop after\nfiltering to display \"x of y results\" (find variant) and announce the count to screen\nreaders."
|
|
407
|
+
}, {
|
|
408
|
+
"name": "default",
|
|
409
|
+
"text": "0"
|
|
410
|
+
}],
|
|
275
411
|
"text": ""
|
|
276
412
|
},
|
|
277
413
|
"attribute": "num-results",
|
|
@@ -289,8 +425,14 @@ export class Search {
|
|
|
289
425
|
"required": false,
|
|
290
426
|
"optional": false,
|
|
291
427
|
"docs": {
|
|
292
|
-
"tags": [
|
|
293
|
-
|
|
428
|
+
"tags": [{
|
|
429
|
+
"name": "description",
|
|
430
|
+
"text": "The current text typed by the user. Readable by the application at any time."
|
|
431
|
+
}, {
|
|
432
|
+
"name": "default",
|
|
433
|
+
"text": "\"\""
|
|
434
|
+
}],
|
|
435
|
+
"text": ""
|
|
294
436
|
},
|
|
295
437
|
"attribute": "value",
|
|
296
438
|
"reflect": true,
|
|
@@ -307,8 +449,14 @@ export class Search {
|
|
|
307
449
|
"required": false,
|
|
308
450
|
"optional": false,
|
|
309
451
|
"docs": {
|
|
310
|
-
"tags": [
|
|
311
|
-
|
|
452
|
+
"tags": [{
|
|
453
|
+
"name": "description",
|
|
454
|
+
"text": "`id` of the currently highlighted result element. Used as the `href` of the\njump-to-result skip-link. Required for the `find` variant for full accessibility."
|
|
455
|
+
}, {
|
|
456
|
+
"name": "conditionallyRequired",
|
|
457
|
+
"text": "Required when `search-type=\"find\"`."
|
|
458
|
+
}],
|
|
459
|
+
"text": ""
|
|
312
460
|
},
|
|
313
461
|
"attribute": "highlighted-id",
|
|
314
462
|
"reflect": false,
|
|
@@ -325,7 +473,13 @@ export class Search {
|
|
|
325
473
|
"required": false,
|
|
326
474
|
"optional": false,
|
|
327
475
|
"docs": {
|
|
328
|
-
"tags": [
|
|
476
|
+
"tags": [{
|
|
477
|
+
"name": "description",
|
|
478
|
+
"text": "Visible text of the currently highlighted result. Appended to the screen\nreader announcement after `wmSearchBrowseResults` fires. Required for the `find` variant\nfor full accessibility."
|
|
479
|
+
}, {
|
|
480
|
+
"name": "conditionallyRequired",
|
|
481
|
+
"text": "Required when `search-type=\"find\"`."
|
|
482
|
+
}],
|
|
329
483
|
"text": ""
|
|
330
484
|
},
|
|
331
485
|
"attribute": "highlighted-name",
|
|
@@ -351,8 +505,14 @@ export class Search {
|
|
|
351
505
|
"cancelable": true,
|
|
352
506
|
"composed": true,
|
|
353
507
|
"docs": {
|
|
354
|
-
"tags": [
|
|
355
|
-
|
|
508
|
+
"tags": [{
|
|
509
|
+
"name": "description",
|
|
510
|
+
"text": "Fires when the prev or next button is clicked in the `find` variant.\nUpdate `highlighted-id` and `highlighted-name` in response to highlight the result in\nyour data."
|
|
511
|
+
}, {
|
|
512
|
+
"name": "eventDetails",
|
|
513
|
+
"text": "{{ position: number }} position \u2014 one-based index of the newly highlighted result."
|
|
514
|
+
}],
|
|
515
|
+
"text": ""
|
|
356
516
|
},
|
|
357
517
|
"complexType": {
|
|
358
518
|
"original": "{ position: number }",
|
|
@@ -366,7 +526,13 @@ export class Search {
|
|
|
366
526
|
"cancelable": true,
|
|
367
527
|
"composed": true,
|
|
368
528
|
"docs": {
|
|
369
|
-
"tags": [
|
|
529
|
+
"tags": [{
|
|
530
|
+
"name": "description",
|
|
531
|
+
"text": "Fires on blur when the input value has changed since the last blur. Use the\nnative `input` event for per-keystroke updates."
|
|
532
|
+
}, {
|
|
533
|
+
"name": "eventDetails",
|
|
534
|
+
"text": "{{ value: string }} value \u2014 the current input value at the time of blur."
|
|
535
|
+
}],
|
|
370
536
|
"text": ""
|
|
371
537
|
},
|
|
372
538
|
"complexType": {
|