@watermarkinsights/ripple 5.7.0-9 → 5.7.0

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.
Files changed (165) hide show
  1. package/dist/cjs/{global-80ed0881.js → global-eddf4e56.js} +1 -1
  2. package/dist/cjs/loader.cjs.js +1 -1
  3. package/dist/cjs/priv-option-list.cjs.entry.js +13 -2
  4. package/dist/cjs/ripple.cjs.js +1 -1
  5. package/dist/cjs/wm-modal-pss_3.cjs.entry.js +24 -23
  6. package/dist/collection/components/selects/priv-option-list/priv-option-list.css +10 -0
  7. package/dist/collection/components/selects/priv-option-list/priv-option-list.js +12 -1
  8. package/dist/collection/components/wm-modal-pss/wm-modal-pss-footer.css +12 -0
  9. package/dist/collection/components/wm-modal-pss/wm-modal-pss-footer.js +1 -1
  10. package/dist/collection/components/wm-modal-pss/wm-modal-pss-header.css +12 -0
  11. package/dist/collection/components/wm-modal-pss/wm-modal-pss-header.js +3 -2
  12. package/dist/collection/components/wm-modal-pss/wm-modal-pss.css +16 -2
  13. package/dist/collection/components/wm-modal-pss/wm-modal-pss.js +12 -11
  14. package/dist/collection/dev/pss-modal.js +8 -0
  15. package/dist/collection/dev/scripts.js +12 -15
  16. package/dist/esm/{chartFunctions-dfcb1edf.js → chartFunctions-34f19953.js} +1 -1
  17. package/dist/esm/{functions-b791a892.js → functions-8800c690.js} +1 -1
  18. package/dist/esm/{global-525745d2.js → global-e7316cfe.js} +1 -1
  19. package/dist/esm/{intl-f2f7ce8b.js → intl-b110ca8d.js} +1 -1
  20. package/dist/esm/loader.js +1 -1
  21. package/dist/esm/priv-calendar.entry.js +1 -1
  22. package/dist/esm/priv-chart-popover.entry.js +1 -1
  23. package/dist/esm/priv-option-list.entry.js +14 -3
  24. package/dist/esm/ripple.js +1 -1
  25. package/dist/esm/wm-action-menu_2.entry.js +1 -1
  26. package/dist/esm/wm-button.entry.js +1 -1
  27. package/dist/esm/wm-chart.entry.js +3 -3
  28. package/dist/esm/wm-date-range.entry.js +1 -1
  29. package/dist/esm/wm-datepicker.entry.js +1 -1
  30. package/dist/esm/wm-file.entry.js +1 -1
  31. package/dist/esm/wm-input.entry.js +2 -2
  32. package/dist/esm/wm-line-chart.entry.js +3 -3
  33. package/dist/esm/wm-modal-pss_3.entry.js +22 -21
  34. package/dist/esm/wm-modal_3.entry.js +2 -2
  35. package/dist/esm/wm-navigation_3.entry.js +2 -2
  36. package/dist/esm/wm-navigator.entry.js +1 -1
  37. package/dist/esm/wm-nested-select.entry.js +2 -2
  38. package/dist/esm/wm-optgroup.entry.js +1 -1
  39. package/dist/esm/wm-option_2.entry.js +2 -2
  40. package/dist/esm/wm-pagination.entry.js +1 -1
  41. package/dist/esm/wm-progress-indicator_3.entry.js +2 -2
  42. package/dist/esm/wm-search.entry.js +2 -2
  43. package/dist/esm/wm-snackbar.entry.js +2 -2
  44. package/dist/esm/wm-tab-item_3.entry.js +1 -1
  45. package/dist/esm/wm-tag-input.entry.js +2 -2
  46. package/dist/esm/wm-tag-option.entry.js +1 -1
  47. package/dist/esm/wm-textarea.entry.js +2 -2
  48. package/dist/esm/wm-timepicker.entry.js +1 -1
  49. package/dist/esm/wm-toggletip.entry.js +1 -1
  50. package/dist/esm/wm-uploader.entry.js +2 -2
  51. package/dist/esm-es5/{chartFunctions-dfcb1edf.js → chartFunctions-34f19953.js} +1 -1
  52. package/dist/esm-es5/{functions-b791a892.js → functions-8800c690.js} +1 -1
  53. package/dist/esm-es5/global-e7316cfe.js +1 -0
  54. package/dist/esm-es5/{intl-f2f7ce8b.js → intl-b110ca8d.js} +1 -1
  55. package/dist/esm-es5/loader.js +1 -1
  56. package/dist/esm-es5/priv-calendar.entry.js +1 -1
  57. package/dist/esm-es5/priv-chart-popover.entry.js +1 -1
  58. package/dist/esm-es5/priv-option-list.entry.js +1 -1
  59. package/dist/esm-es5/ripple.js +1 -1
  60. package/dist/esm-es5/wm-action-menu_2.entry.js +1 -1
  61. package/dist/esm-es5/wm-button.entry.js +1 -1
  62. package/dist/esm-es5/wm-chart.entry.js +1 -1
  63. package/dist/esm-es5/wm-date-range.entry.js +1 -1
  64. package/dist/esm-es5/wm-datepicker.entry.js +1 -1
  65. package/dist/esm-es5/wm-file.entry.js +1 -1
  66. package/dist/esm-es5/wm-input.entry.js +1 -1
  67. package/dist/esm-es5/wm-line-chart.entry.js +1 -1
  68. package/dist/esm-es5/wm-modal-pss_3.entry.js +1 -1
  69. package/dist/esm-es5/wm-modal_3.entry.js +1 -1
  70. package/dist/esm-es5/wm-navigation_3.entry.js +1 -1
  71. package/dist/esm-es5/wm-navigator.entry.js +1 -1
  72. package/dist/esm-es5/wm-nested-select.entry.js +1 -1
  73. package/dist/esm-es5/wm-optgroup.entry.js +1 -1
  74. package/dist/esm-es5/wm-option_2.entry.js +1 -1
  75. package/dist/esm-es5/wm-pagination.entry.js +1 -1
  76. package/dist/esm-es5/wm-progress-indicator_3.entry.js +1 -1
  77. package/dist/esm-es5/wm-search.entry.js +1 -1
  78. package/dist/esm-es5/wm-snackbar.entry.js +1 -1
  79. package/dist/esm-es5/wm-tab-item_3.entry.js +1 -1
  80. package/dist/esm-es5/wm-tag-input.entry.js +1 -1
  81. package/dist/esm-es5/wm-tag-option.entry.js +1 -1
  82. package/dist/esm-es5/wm-textarea.entry.js +1 -1
  83. package/dist/esm-es5/wm-timepicker.entry.js +1 -1
  84. package/dist/esm-es5/wm-toggletip.entry.js +1 -1
  85. package/dist/esm-es5/wm-uploader.entry.js +1 -1
  86. package/dist/ripple/{p-21d372ed.js → p-02dc1562.js} +1 -1
  87. package/dist/ripple/{p-ca971eac.system.entry.js → p-037bf5c7.system.entry.js} +1 -1
  88. package/dist/ripple/{p-ff1ed90f.entry.js → p-04d5e7d7.entry.js} +1 -1
  89. package/dist/ripple/{p-b01f9998.system.entry.js → p-0eea8fd3.system.entry.js} +1 -1
  90. package/dist/ripple/{p-1d18d9d2.system.entry.js → p-0faf7ef9.system.entry.js} +1 -1
  91. package/dist/ripple/{p-eefbca0e.system.js → p-10745cf2.system.js} +1 -1
  92. package/dist/ripple/{p-45f9ad09.entry.js → p-13cc92e7.entry.js} +1 -1
  93. package/dist/ripple/{p-236af552.entry.js → p-1618709f.entry.js} +1 -1
  94. package/dist/ripple/{p-bf7d98d8.entry.js → p-1c7201d1.entry.js} +1 -1
  95. package/dist/ripple/{p-c853e185.system.entry.js → p-2520d947.system.entry.js} +1 -1
  96. package/dist/ripple/{p-6d129ef8.system.entry.js → p-29f41fea.system.entry.js} +1 -1
  97. package/dist/ripple/{p-f24572f5.entry.js → p-2c028fe2.entry.js} +1 -1
  98. package/dist/ripple/{p-3e415c49.system.entry.js → p-2f565d7a.system.entry.js} +1 -1
  99. package/dist/ripple/{p-02deae76.entry.js → p-31b587a3.entry.js} +1 -1
  100. package/dist/ripple/{p-41550baa.entry.js → p-3212fd0e.entry.js} +1 -1
  101. package/dist/ripple/{p-215793a4.entry.js → p-34d80f95.entry.js} +1 -1
  102. package/dist/ripple/{p-f2101a0d.entry.js → p-37649315.entry.js} +1 -1
  103. package/dist/ripple/{p-725230dd.system.entry.js → p-38509918.system.entry.js} +1 -1
  104. package/dist/ripple/{p-aea13873.entry.js → p-3aca84d7.entry.js} +1 -1
  105. package/dist/ripple/{p-0b1c6965.system.entry.js → p-3bb1f795.system.entry.js} +1 -1
  106. package/dist/ripple/{p-828adbf1.system.js → p-4378b6b9.system.js} +1 -1
  107. package/dist/ripple/{p-ed1f6b8d.system.entry.js → p-43b03ad8.system.entry.js} +1 -1
  108. package/dist/ripple/{p-fa4f1030.system.entry.js → p-4743176d.system.entry.js} +1 -1
  109. package/dist/ripple/{p-c2e00d4a.system.entry.js → p-4c5606da.system.entry.js} +1 -1
  110. package/dist/ripple/p-5360487b.js +1 -0
  111. package/dist/ripple/p-54d7688a.entry.js +1 -0
  112. package/dist/ripple/{p-eddbcb21.js → p-5943c8b1.js} +1 -1
  113. package/dist/ripple/{p-2e79fa49.entry.js → p-5ea1c7a6.entry.js} +1 -1
  114. package/dist/ripple/{p-1389302e.system.entry.js → p-5eb02aa9.system.entry.js} +1 -1
  115. package/dist/ripple/{p-6cc07645.system.entry.js → p-6025efee.system.entry.js} +1 -1
  116. package/dist/ripple/p-6692b5a6.entry.js +1 -0
  117. package/dist/ripple/{p-db9657eb.system.entry.js → p-6a4c59e0.system.entry.js} +1 -1
  118. package/dist/ripple/{p-5284791c.entry.js → p-6ad695a5.entry.js} +1 -1
  119. package/dist/ripple/{p-149a22bf.entry.js → p-6d2122b9.entry.js} +1 -1
  120. package/dist/ripple/{p-30b905eb.system.entry.js → p-6eb50cc3.system.entry.js} +1 -1
  121. package/dist/ripple/{p-012cab20.entry.js → p-72c22a55.entry.js} +1 -1
  122. package/dist/ripple/{p-505eca1c.system.entry.js → p-7906a797.system.entry.js} +1 -1
  123. package/dist/ripple/{p-749597da.system.entry.js → p-7b982ba8.system.entry.js} +1 -1
  124. package/dist/ripple/{p-83be63f6.entry.js → p-7e4866c3.entry.js} +1 -1
  125. package/dist/ripple/{p-84ba5b74.entry.js → p-870cf4ef.entry.js} +1 -1
  126. package/dist/ripple/{p-1e625a5e.entry.js → p-8f217fb1.entry.js} +1 -1
  127. package/dist/ripple/{p-f4bcee58.system.entry.js → p-90261a03.system.entry.js} +1 -1
  128. package/dist/ripple/{p-f40e1468.system.entry.js → p-9a2cf94c.system.entry.js} +1 -1
  129. package/dist/ripple/{p-cff5d7e9.system.entry.js → p-9fccdac8.system.entry.js} +1 -1
  130. package/dist/ripple/p-a4061c96.system.js +1 -0
  131. package/dist/ripple/p-ae4c8481.system.entry.js +1 -0
  132. package/dist/ripple/{p-c1e3c2fb.entry.js → p-b01d022f.entry.js} +1 -1
  133. package/dist/ripple/{p-b9dbf1f4.entry.js → p-b0e099f8.entry.js} +1 -1
  134. package/dist/ripple/{p-c47fab48.entry.js → p-b19ea29e.entry.js} +1 -1
  135. package/dist/ripple/{p-e687176d.entry.js → p-b3114a58.entry.js} +1 -1
  136. package/dist/ripple/{p-5300b15d.entry.js → p-b976c84b.entry.js} +1 -1
  137. package/dist/ripple/{p-226fe4e0.entry.js → p-c2657183.entry.js} +1 -1
  138. package/dist/ripple/{p-a3c01e10.system.entry.js → p-c39a3951.system.entry.js} +1 -1
  139. package/dist/ripple/{p-3deaf4d9.system.entry.js → p-cbd2473d.system.entry.js} +1 -1
  140. package/dist/ripple/{p-3d50db36.entry.js → p-cedfcf23.entry.js} +1 -1
  141. package/dist/ripple/{p-a0ecb6d7.system.entry.js → p-d824406e.system.entry.js} +1 -1
  142. package/dist/ripple/{p-6fdfe9f4.system.entry.js → p-dd26ae24.system.entry.js} +1 -1
  143. package/dist/ripple/{p-cad0c5f9.system.entry.js → p-dd76bf0a.system.entry.js} +1 -1
  144. package/dist/ripple/{p-e081fdc2.system.entry.js → p-e28671cd.system.entry.js} +1 -1
  145. package/dist/ripple/{p-72165bd2.entry.js → p-e4ff7200.entry.js} +1 -1
  146. package/dist/ripple/{p-df157138.entry.js → p-e53b6f7c.entry.js} +1 -1
  147. package/dist/ripple/{p-16f65bf4.js → p-eca78c2b.js} +1 -1
  148. package/dist/ripple/{p-ae82b3d2.system.js → p-edd87140.system.js} +1 -1
  149. package/dist/ripple/{p-81c2df85.system.js → p-ee31c799.system.js} +1 -1
  150. package/dist/ripple/{p-f90e4094.entry.js → p-f05e38b1.entry.js} +1 -1
  151. package/dist/ripple/p-f367f027.system.entry.js +1 -0
  152. package/dist/ripple/{p-5a9e3108.system.entry.js → p-f9d26f8b.system.entry.js} +1 -1
  153. package/dist/ripple/ripple.esm.js +1 -1
  154. package/dist/ripple/ripple.js +1 -1
  155. package/dist/types/components/wm-modal-pss/wm-modal-pss-footer.d.ts +1 -1
  156. package/dist/types/components/wm-modal-pss/wm-modal-pss-header.d.ts +1 -1
  157. package/dist/types/components/wm-modal-pss/wm-modal-pss.d.ts +33 -0
  158. package/package.json +1 -1
  159. package/dist/esm-es5/global-525745d2.js +0 -1
  160. package/dist/ripple/p-01035c8e.system.js +0 -1
  161. package/dist/ripple/p-1092e5ce.js +0 -1
  162. package/dist/ripple/p-249add87.system.entry.js +0 -1
  163. package/dist/ripple/p-5254f902.entry.js +0 -1
  164. package/dist/ripple/p-6e725656.system.entry.js +0 -1
  165. package/dist/ripple/p-f13b034e.entry.js +0 -1
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- const version = "5.7.0-9";
3
+ const version = "5.7.0";
4
4
 
5
5
  // PRINT RIPPLE VERSION IN CONSOLE
6
6
  // test envs return 0 for plugin.length
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-e86c28b6.js');
6
- require('./global-80ed0881.js');
6
+ require('./global-eddf4e56.js');
7
7
 
8
8
  const defineCustomElements = (win, options) => {
9
9
  if (typeof window === 'undefined') return undefined;
@@ -5,7 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  const index = require('./index-e86c28b6.js');
6
6
  const functions = require('./functions-e24249e6.js');
7
7
 
8
- const privOptionListCss = ".search{-webkit-box-sizing:border-box;box-sizing:border-box;padding:1.25rem}.search .searchfield-wrapper{-webkit-box-sizing:border-box;box-sizing:border-box;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;height:2.75rem;width:100%;padding:0 0.75rem;-webkit-border-radius:3px;-moz-border-radius:3px;-ms-border-radius:3px;border-radius:3px;border:1px solid;border-color:var(--wmcolor-select-search-border)}.search .searchfield-wrapper:focus,.search .searchfield-wrapper.focus{outline:2px solid var(--wmcolor-input-border-focus);border-color:var(--wmcolor-input-border-focus)}.search .searchfield{width:100%;border:none;outline:none;font-family:inherit;font-size:0.875rem;margin-left:0.25rem}.search .icon:before{display:inline-block;font:normal normal normal 24px/1 \"Material Design Icons\";font-size:inherit;text-rendering:auto;line-height:inherit;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:\"\\f349\";color:var(--wmcolor-select-search-icon);font-size:1.12rem}.search-results-message{padding:1.25rem;color:var(--wmcolor-select-searchresults-text);font-size:0.875rem;font-style:italic}.return-btn,.select-all{width:100%;cursor:pointer;padding:1.25rem;margin:0;background:var(--wmcolor-select-option-background);font-family:inherit;font-size:inherit;text-align:left;text-align:start;font-weight:500;color:var(--wmcolor-select-option-text);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.return-btn:hover,.select-all:hover{outline:none;background:var(--wmcolor-select-option-background-hover)}.return-btn:focus,.select-all:focus{outline:none;background:var(--wmcolor-select-option-background-focus)}.return-btn,.select-all,.search{border:none}.return-btn:not(:last-child),.select-all:not(:last-child),.search:not(:last-child){border-bottom:2px solid;border-color:var(--wmcolor-select-option-border)}.options-wrapper{overflow-y:auto;max-height:var(--max-height)}.non-options-wrapper{border-bottom:1px solid var(--wmcolor-border-dark)}.return-btn{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;font-weight:600;font-size:0.875rem}.return-btn:before{display:inline-block;font:normal normal normal 24px/1 \"Material Design Icons\";font-size:inherit;text-rendering:auto;line-height:inherit;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:\"\\f141\";pointer-events:none;font-size:1.28rem}";
8
+ const privOptionListCss = ".search{-webkit-box-sizing:border-box;box-sizing:border-box;padding:1.25rem}.search .searchfield-wrapper{-webkit-box-sizing:border-box;box-sizing:border-box;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;height:2.75rem;width:100%;padding:0 0.75rem;-webkit-border-radius:3px;-moz-border-radius:3px;-ms-border-radius:3px;border-radius:3px;border:1px solid;border-color:var(--wmcolor-select-search-border)}.search .searchfield-wrapper:focus,.search .searchfield-wrapper.focus{outline:2px solid var(--wmcolor-input-border-focus);border-color:var(--wmcolor-input-border-focus)}.search .searchfield{width:100%;border:none;outline:none;font-family:inherit;font-size:0.875rem;margin-left:0.25rem}.search .icon:before{display:inline-block;font:normal normal normal 24px/1 \"Material Design Icons\";font-size:inherit;text-rendering:auto;line-height:inherit;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:\"\\f349\";color:var(--wmcolor-select-search-icon);font-size:1.12rem}.search-results-message{padding:1.25rem;color:var(--wmcolor-select-searchresults-text);font-size:0.875rem;font-style:italic}.return-btn,.select-all{width:100%;cursor:pointer;padding:1.25rem;margin:0;background:var(--wmcolor-select-option-background);font-family:inherit;font-size:inherit;text-align:left;text-align:start;font-weight:500;color:var(--wmcolor-select-option-text);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.return-btn:hover,.select-all:hover{outline:none;background:var(--wmcolor-select-option-background-hover)}.return-btn:focus,.select-all:focus{outline:none;background:var(--wmcolor-select-option-background-focus)}.return-btn,.select-all,.search{border:none}.return-btn:not(:last-child),.select-all:not(:last-child),.search:not(:last-child){border-bottom:2px solid;border-color:var(--wmcolor-select-option-border)}.options-wrapper{overflow-y:auto;max-height:var(--max-height)}.non-options-wrapper{border-bottom:1px solid var(--wmcolor-border-dark)}.return-btn{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;font-weight:600;font-size:0.875rem}.return-btn:before{display:inline-block;font:normal normal normal 24px/1 \"Material Design Icons\";font-size:inherit;text-rendering:auto;line-height:inherit;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:\"\\f141\";pointer-events:none;padding-right:0.5rem;font-size:1.28rem}.return-btn .return-btn-label{display:-ms-flexbox;display:flex;-ms-flex-positive:1;flex-grow:1;-ms-flex-pack:justify;justify-content:space-between}.return-btn .return-btn-label .selection-count{font-weight:400;font-style:italic}";
9
9
 
10
10
  const PrivOptionList = class {
11
11
  constructor(hostRef) {
@@ -383,10 +383,21 @@ const PrivOptionList = class {
383
383
  this.announcement = message;
384
384
  }
385
385
  renderReturnBtn() {
386
+ const selectionCount = this.childOptions.filter((o) => o.selected).length;
387
+ const singleSelectionCountMessage = functions.intl.formatMessage({
388
+ id: "select.optgroupSingleSelectionCount",
389
+ defaultMessage: "Item Selected",
390
+ description: "Text indicating number of selected in a group, where only a single selection is possible.",
391
+ }, { numSelected: selectionCount });
392
+ const multipleSelectionCountMessage = functions.intl.formatMessage({
393
+ id: "select.optgroupMultipleSelectionCount",
394
+ defaultMessage: "{numSelected} Selected",
395
+ description: "Text indicating number of selected in a group, where multiple selections are possible.",
396
+ }, { numSelected: selectionCount });
386
397
  return (index.h("button", { ref: (el) => (this.returnBtnEl = el), id: "return-btn", class: "return-btn", onKeyDown: (ev) => this.handleKeyDown(ev), onClick: () => {
387
398
  //@ts-ignore -- Check out this one weird trick TypeScript doesn't want you to know about
388
399
  this.el.getRootNode().host.isExpanded = false;
389
- } }, this.optgroupLabel));
400
+ } }, index.h("div", { class: "return-btn-label" }, this.optgroupLabel, selectionCount > 0 && (index.h("span", { class: "selection-count" }, this.multiple ? multipleSelectionCountMessage : singleSelectionCountMessage)))));
390
401
  }
391
402
  renderSearchField() {
392
403
  return (index.h("div", { class: "search" }, index.h("div", { class: "searchfield-wrapper", ref: (el) => (this.searchFieldWrapperEl = el) }, index.h("div", { class: "icon" }), index.h("input", { ref: (el) => (this.searchFieldEl = el), class: "searchfield", role: "combobox", "aria-controls": "list",
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-e86c28b6.js');
6
- require('./global-80ed0881.js');
6
+ require('./global-eddf4e56.js');
7
7
 
8
8
  /*
9
9
  Stencil Client Patch Browser v4.8.2 | MIT Licensed | https://stenciljs.com
@@ -3,10 +3,12 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-e86c28b6.js');
6
+ const functions = require('./functions-e24249e6.js');
7
+ const intl = require('./intl-5aeba788.js');
6
8
 
7
- const wmModalPssCss = "wm-modal-pss{--wmcolor-modal-background:var(--wmcolor-background);--wmcolor-modal-border:var(--wmcolor-border);--wmcolor-modal-heading:var(--wmcolor-text);--wmcolor-modal-overlay:var(--wmcolor-overlay);display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;-ms-flex-direction:column;flex-direction:column;position:fixed;top:50%;left:50%;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);z-index:2001;width:80vw;max-width:750px;max-height:80vh;-webkit-box-shadow:0px 11px 15px 0px rgba(0, 0, 0, 0.2), 0px 9px 46px 8px rgba(0, 0, 0, 0.12), 0px 24px 38px 3px rgba(0, 0, 0, 0.14);box-shadow:0px 11px 15px 0px rgba(0, 0, 0, 0.2), 0px 9px 46px 8px rgba(0, 0, 0, 0.12), 0px 24px 38px 3px rgba(0, 0, 0, 0.14)}wm-modal-pss *{-webkit-box-sizing:border-box;box-sizing:border-box}wm-modal-pss>*{width:80vw;max-width:750px;background:var(--wmcolor-modal-background)}wm-modal-pss>*:focus{outline:none}wm-modal-pss wm-modal-pss-header,wm-modal-pss wm-modal-pss-footer{padding:20px 30px}wm-modal-pss wm-modal-pss-header{z-index:2003}wm-modal-pss wm-modal-pss-footer{z-index:2003}wm-modal-pss>:not(wm-modal-pss-header):not(wm-modal-pss-footer){max-height:calc(80vh - 166px);z-index:2002}wm-modal-pss.wm-modal wm-modal-pss-header{border-bottom:1px solid var(--wmcolor-modal-border)}wm-modal-pss.wm-modal wm-modal-pss-footer{border-top:1px solid var(--wmcolor-modal-border)}@media only screen and (max-width: 768px){wm-modal-pss.wm-modal{height:100%;max-height:none;max-width:none;width:100vw}wm-modal-pss.wm-modal>*{max-width:none;width:100vw}wm-modal-pss.wm-modal>*:not(wm-modal-pss-header):not(wm-modal-pss-footer){max-height:none;height:calc(100vh - 166px)}}wm-modal-pss.wm-dialog>:not(wm-modal-pss-header):not(wm-modal-pss-footer){padding:0 30px 20px 30px;font-size:0.875rem;border:none}wm-modal-pss .overlay{width:100vw;height:100vh;max-width:none;max-height:none;position:fixed !important;top:-1;bottom:1;left:-1;right:1;-webkit-transform:translate(0%, 0%);transform:translate(0%, 0%);background-color:var(--wmcolor-modal-overlay);-webkit-transition:opacity 0.5s ease-out;transition:opacity 0.5s ease-out;z-index:2000}wm-modal-pss.hide{visibility:hidden}wm-modal-pss .sr-only{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;border:0 !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;-webkit-clip-path:inset(50%) !important;clip-path:inset(50%) !important;white-space:nowrap !important;margin:-1px !important;top:0;left:0}";
9
+ const wmModalPssCss = "wm-modal-pss{--wmcolor-modal-background:var(--wmcolor-background);--wmcolor-modal-border:var(--wmcolor-border);--wmcolor-modal-heading:var(--wmcolor-text);--wmcolor-modal-overlay:var(--wmcolor-overlay);display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-ms-flex-direction:column;flex-direction:column;position:fixed;top:50%;left:50%;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);z-index:2001;width:80vw;max-width:750px;max-height:80vh;-webkit-box-shadow:0px 11px 15px 0px rgba(0, 0, 0, 0.2), 0px 9px 46px 8px rgba(0, 0, 0, 0.12), 0px 24px 38px 3px rgba(0, 0, 0, 0.14);-moz-box-shadow:0px 11px 15px 0px rgba(0, 0, 0, 0.2), 0px 9px 46px 8px rgba(0, 0, 0, 0.12), 0px 24px 38px 3px rgba(0, 0, 0, 0.14);box-shadow:0px 11px 15px 0px rgba(0, 0, 0, 0.2), 0px 9px 46px 8px rgba(0, 0, 0, 0.12), 0px 24px 38px 3px rgba(0, 0, 0, 0.14)}wm-modal-pss *{-webkit-box-sizing:border-box;box-sizing:border-box}wm-modal-pss>*{width:80vw;max-width:750px;background:var(--wmcolor-modal-background)}wm-modal-pss>*:focus{outline:none}wm-modal-pss wm-modal-pss-header,wm-modal-pss wm-modal-pss-footer{padding:1.25rem 1.875rem}wm-modal-pss wm-modal-pss-header{z-index:2003}wm-modal-pss wm-modal-pss-footer{z-index:2003}wm-modal-pss>:not(wm-modal-pss-header):not(wm-modal-pss-footer){max-height:calc(80vh - 166px);z-index:2002}wm-modal-pss.wm-modal wm-modal-pss-header{border-bottom:1px solid var(--wmcolor-modal-border)}wm-modal-pss.wm-modal wm-modal-pss-footer{border-top:1px solid var(--wmcolor-modal-border)}@media only screen and (max-width: 768px){wm-modal-pss.wm-modal{height:100%;max-height:none;max-width:none;width:100vw}wm-modal-pss.wm-modal>*{max-width:none;width:100vw}wm-modal-pss.wm-modal>*:not(wm-modal-pss-header):not(wm-modal-pss-footer){max-height:none;height:calc(100vh - 166px)}}wm-modal-pss.wm-dialog>:not(wm-modal-pss-header):not(wm-modal-pss-footer){padding:0 1.875rem 1.25rem 1.875rem;font-size:0.875rem;border:none}wm-modal-pss .overlay{width:100vw;height:100vh;max-width:none;max-height:none;position:fixed !important;top:-1;bottom:1;left:-1;right:1;-webkit-transform:translate(0%, 0%);transform:translate(0%, 0%);background-color:var(--wmcolor-modal-overlay);-ms-transition:opacity 0.5s ease-out;-webkit-transition:opacity 0.5s ease-out;-moz-transition:opacity 0.5s ease-out;transition:opacity 0.5s ease-out;z-index:2000}wm-modal-pss.hide{visibility:hidden}wm-modal-pss .sr-only{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;border:0 !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;-webkit-clip-path:inset(50%) !important;clip-path:inset(50%) !important;white-space:nowrap !important;margin:-1px !important;top:0;left:0}";
8
10
 
9
- const Modal = class {
11
+ const ModalPss = class {
10
12
  constructor(hostRef) {
11
13
  index.registerInstance(this, hostRef);
12
14
  this.focusLastElement = index.createEvent(this, "focusLastElement", 3);
@@ -37,6 +39,12 @@ const Modal = class {
37
39
  toggleModal() {
38
40
  this.open ? this.showModal() : this.hideModal();
39
41
  }
42
+ //The below not implemented in light of the fact that the app does often need to keep track of the modal's state itself so that it can update the data displayed in the body:
43
+ //App can also open modal by emitting wmShowModal event. Event needs to include the modal's unique id as the event detail, or else all modals on the page will open when wmShowModal event is dispatched.
44
+ // @Listen("wmShowModal", { target: "window" })
45
+ // doesEventMatchId(ev: CustomEvent) {
46
+ // ev.detail === this.uid && this.showModal();
47
+ // }
40
48
  handleClick(ev) {
41
49
  this.open && ev.target === this.overlayEl && this.focusOnOpenEl.focus();
42
50
  }
@@ -71,14 +79,13 @@ const Modal = class {
71
79
  componentWillLoad() {
72
80
  if (this.elementToFocus === "primary" || this.elementToFocus === "secondary") {
73
81
  if (!this.el.id) {
74
- console.error("For accessibility purposes, you need to set the modal content wrapper's id to 'content-[id of wm-modal-pss]'.");
82
+ console.error("You are telling the modal to focus an element in the footer when it opens. That's fine! But when you do that, you also need to give the wm-modal-wrapper an ID and set the ID of the modal body to 'content-[id of wm-modal-wrapper]. This is for accessibility purposes.");
75
83
  }
76
84
  }
77
85
  this.el.focus = () => {
78
86
  this.focusOnOpenEl.focus();
79
87
  };
80
- const generatedId = "wmcl-" + Math.random().toString(36).substr(2, 10);
81
- this.uid = this.el.id ? this.el.id : generatedId;
88
+ this.uid = this.el.id ? this.el.id : functions.generateId();
82
89
  }
83
90
  componentDidLoad() {
84
91
  if (this.open) {
@@ -109,13 +116,7 @@ const Modal = class {
109
116
  this.focusOnCloseEl = elToFocus.parentElement;
110
117
  }
111
118
  else {
112
- let el;
113
- while (elToFocus && elToFocus.shadowRoot) {
114
- el = elToFocus.shadowRoot.activeElement;
115
- }
116
- if (el) {
117
- this.focusOnCloseEl = el;
118
- }
119
+ this.focusOnCloseEl = functions.checkForActiveElInShadow(elToFocus);
119
120
  }
120
121
  }
121
122
  redirectFocusFromBody() {
@@ -135,11 +136,11 @@ const Modal = class {
135
136
  "open": ["toggleModal"]
136
137
  }; }
137
138
  };
138
- Modal.style = wmModalPssCss;
139
+ ModalPss.style = wmModalPssCss;
139
140
 
140
- const wmModalPssFooterCss = "wm-modal-pss-footer{border-radius:0px 0px 5px 5px;margin-top:-1px}wm-modal-pss-footer .wm-wrapper{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-align:center;align-items:center}@media only screen and (max-width: 650px){wm-modal-pss-footer .wm-wrapper.footer-text{-ms-flex-direction:column;flex-direction:column;-ms-flex-align:start;align-items:flex-start}}wm-modal-pss-footer .wm-wrapper wm-button+wm-button{margin-left:1rem}wm-modal-pss-footer .wm-wrapper .wm-info{font-size:0.875rem;font-style:italic}@media only screen and (max-width: 650px){wm-modal-pss-footer .wm-wrapper .wm-info{padding-bottom:0.625rem}}wm-modal-pss-footer .wm-wrapper .wm-info:focus{outline:none}";
141
+ const wmModalPssFooterCss = "wm-modal-pss-footer{-webkit-border-radius:0px 0px 5px 5px;-moz-border-radius:0px 0px 5px 5px;-ms-border-radius:0px 0px 5px 5px;border-radius:0px 0px 5px 5px;margin-top:-1px}wm-modal-pss-footer .wm-wrapper{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}@media only screen and (max-width: 650px){wm-modal-pss-footer .wm-wrapper.footer-text{-ms-flex-direction:column;flex-direction:column;-ms-flex-align:start;align-items:flex-start}}wm-modal-pss-footer .wm-wrapper wm-button+wm-button{margin-left:1rem}wm-modal-pss-footer .wm-wrapper .wm-info{font-size:0.875rem;font-style:italic}@media only screen and (max-width: 650px){wm-modal-pss-footer .wm-wrapper .wm-info{padding-bottom:0.625rem}}wm-modal-pss-footer .wm-wrapper .wm-info:focus{outline:none}";
141
142
 
142
- const ModalFooter = class {
143
+ const ModalPssFooter = class {
143
144
  constructor(hostRef) {
144
145
  index.registerInstance(this, hostRef);
145
146
  this.secondaryText = "";
@@ -172,11 +173,11 @@ const ModalFooter = class {
172
173
  }
173
174
  get el() { return index.getElement(this); }
174
175
  };
175
- ModalFooter.style = wmModalPssFooterCss;
176
+ ModalPssFooter.style = wmModalPssFooterCss;
176
177
 
177
- const wmModalPssHeaderCss = "wm-modal-pss-header{border-radius:5px 5px 0 0px;margin-bottom:-1px}wm-modal-pss-header .wm-wrapper{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-align:center;align-items:center}wm-modal-pss-header .wm-wrapper .title{margin:0;font-weight:600;font-size:1.125rem;color:var(--wmcolor-modal-heading);line-height:normal}wm-modal-pss-header .wm-wrapper .title .subtitle{display:block;font-size:0.875rem;font-weight:normal}wm-modal-pss-header .wm-wrapper .title:focus{outline:none}";
178
+ const wmModalPssHeaderCss = "wm-modal-pss-header{-webkit-border-radius:5px 5px 0 0px;-moz-border-radius:5px 5px 0 0px;-ms-border-radius:5px 5px 0 0px;border-radius:5px 5px 0 0px;margin-bottom:-1px}wm-modal-pss-header .wm-wrapper{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}wm-modal-pss-header .wm-wrapper .title{margin:0;font-weight:600;font-size:1.125rem;color:var(--wmcolor-modal-heading);line-height:normal}wm-modal-pss-header .wm-wrapper .title .subtitle{display:block;font-size:0.875rem;font-weight:normal}wm-modal-pss-header .wm-wrapper .title:focus{outline:none}";
178
179
 
179
- const ModalHeader = class {
180
+ const ModalPssHeader = class {
180
181
  constructor(hostRef) {
181
182
  index.registerInstance(this, hostRef);
182
183
  this.heading = "";
@@ -202,12 +203,12 @@ const ModalHeader = class {
202
203
  // this.headingElement.focus();
203
204
  // }
204
205
  render() {
205
- return (index.h(index.Host, null, index.h("div", { class: "wm-wrapper" }, index.h("div", null, index.h("h2", { class: "title", id: `wm-modal-heading-text-${this.uid}` }, this.heading, index.h("span", { class: "subtitle" }, this.subheading))), index.h("wm-button", { "button-type": "navigational", icon: "f156", tooltip: "Close", "tooltip-position": "left", id: `wm-modal-close-${this.uid}`, ref: (el) => (this.closeButtonEl = el), onClick: () => this.emitParentCloseEvent() }))));
206
+ return (index.h(index.Host, null, index.h("div", { class: "wm-wrapper" }, index.h("div", null, index.h("h2", { class: "title", id: `wm-modal-heading-text-${this.uid}` }, this.heading, index.h("span", { class: "subtitle" }, this.subheading))), index.h("wm-button", { "button-type": "navigational", icon: "f156", tooltip: intl.globalMessages.close, "tooltip-position": "left", id: `wm-modal-close-${this.uid}`, ref: (el) => (this.closeButtonEl = el), onClick: () => this.emitParentCloseEvent() }))));
206
207
  }
207
208
  get el() { return index.getElement(this); }
208
209
  };
209
- ModalHeader.style = wmModalPssHeaderCss;
210
+ ModalPssHeader.style = wmModalPssHeaderCss;
210
211
 
211
- exports.wm_modal_pss = Modal;
212
- exports.wm_modal_pss_footer = ModalFooter;
213
- exports.wm_modal_pss_header = ModalHeader;
212
+ exports.wm_modal_pss = ModalPss;
213
+ exports.wm_modal_pss_footer = ModalPssFooter;
214
+ exports.wm_modal_pss_header = ModalPssHeader;
@@ -142,5 +142,15 @@
142
142
  -moz-osx-font-smoothing: grayscale;
143
143
  content: "\f141";
144
144
  pointer-events: none;
145
+ padding-right: 0.5rem;
145
146
  font-size: 1.28rem;
147
+ }
148
+ .return-btn .return-btn-label {
149
+ display: flex;
150
+ flex-grow: 1;
151
+ justify-content: space-between;
152
+ }
153
+ .return-btn .return-btn-label .selection-count {
154
+ font-weight: 400;
155
+ font-style: italic;
146
156
  }
@@ -369,10 +369,21 @@ export class PrivOptionList {
369
369
  this.announcement = message;
370
370
  }
371
371
  renderReturnBtn() {
372
+ const selectionCount = this.childOptions.filter((o) => o.selected).length;
373
+ const singleSelectionCountMessage = intl.formatMessage({
374
+ id: "select.optgroupSingleSelectionCount",
375
+ defaultMessage: "Item Selected",
376
+ description: "Text indicating number of selected in a group, where only a single selection is possible.",
377
+ }, { numSelected: selectionCount });
378
+ const multipleSelectionCountMessage = intl.formatMessage({
379
+ id: "select.optgroupMultipleSelectionCount",
380
+ defaultMessage: "{numSelected} Selected",
381
+ description: "Text indicating number of selected in a group, where multiple selections are possible.",
382
+ }, { numSelected: selectionCount });
372
383
  return (h("button", { ref: (el) => (this.returnBtnEl = el), id: "return-btn", class: "return-btn", onKeyDown: (ev) => this.handleKeyDown(ev), onClick: () => {
373
384
  //@ts-ignore -- Check out this one weird trick TypeScript doesn't want you to know about
374
385
  this.el.getRootNode().host.isExpanded = false;
375
- } }, this.optgroupLabel));
386
+ } }, h("div", { class: "return-btn-label" }, this.optgroupLabel, selectionCount > 0 && (h("span", { class: "selection-count" }, this.multiple ? multipleSelectionCountMessage : singleSelectionCountMessage)))));
376
387
  }
377
388
  renderSearchField() {
378
389
  return (h("div", { class: "search" }, h("div", { class: "searchfield-wrapper", ref: (el) => (this.searchFieldWrapperEl = el) }, h("div", { class: "icon" }), h("input", { ref: (el) => (this.searchFieldEl = el), class: "searchfield", role: "combobox", "aria-controls": "list",
@@ -30,12 +30,24 @@
30
30
  (they can't be aligned on the baseline because of possible description text and error message)
31
31
  -------------------------------------- */
32
32
  wm-modal-pss-footer {
33
+ -webkit-border-radius: 0px 0px 5px 5px;
34
+ -moz-border-radius: 0px 0px 5px 5px;
35
+ -ms-border-radius: 0px 0px 5px 5px;
33
36
  border-radius: 0px 0px 5px 5px;
34
37
  margin-top: -1px;
35
38
  }
36
39
  wm-modal-pss-footer .wm-wrapper {
40
+ display: -webkit-box;
41
+ display: -webkit-flex;
42
+ display: -ms-flexbox;
37
43
  display: flex;
44
+ -webkit-box-pack: justify;
45
+ -ms-flex-pack: justify;
46
+ -webkit-justify-content: space-between;
38
47
  justify-content: space-between;
48
+ -webkit-box-align: center;
49
+ -webkit-align-items: center;
50
+ -ms-flex-align: center;
39
51
  align-items: center;
40
52
  }
41
53
  @media only screen and (max-width: 650px) {
@@ -1,5 +1,5 @@
1
1
  import { h } from "@stencil/core";
2
- export class ModalFooter {
2
+ export class ModalPssFooter {
3
3
  constructor() {
4
4
  this.secondaryText = "";
5
5
  this.primaryText = "";
@@ -30,12 +30,24 @@
30
30
  (they can't be aligned on the baseline because of possible description text and error message)
31
31
  -------------------------------------- */
32
32
  wm-modal-pss-header {
33
+ -webkit-border-radius: 5px 5px 0 0px;
34
+ -moz-border-radius: 5px 5px 0 0px;
35
+ -ms-border-radius: 5px 5px 0 0px;
33
36
  border-radius: 5px 5px 0 0px;
34
37
  margin-bottom: -1px;
35
38
  }
36
39
  wm-modal-pss-header .wm-wrapper {
40
+ display: -webkit-box;
41
+ display: -webkit-flex;
42
+ display: -ms-flexbox;
37
43
  display: flex;
44
+ -webkit-box-pack: justify;
45
+ -ms-flex-pack: justify;
46
+ -webkit-justify-content: space-between;
38
47
  justify-content: space-between;
48
+ -webkit-box-align: center;
49
+ -webkit-align-items: center;
50
+ -ms-flex-align: center;
39
51
  align-items: center;
40
52
  }
41
53
  wm-modal-pss-header .wm-wrapper .title {
@@ -1,5 +1,6 @@
1
1
  import { h, Host } from "@stencil/core";
2
- export class ModalHeader {
2
+ import { globalMessages } from "../../global/intl";
3
+ export class ModalPssHeader {
3
4
  constructor() {
4
5
  this.heading = "";
5
6
  this.subheading = "";
@@ -24,7 +25,7 @@ export class ModalHeader {
24
25
  // this.headingElement.focus();
25
26
  // }
26
27
  render() {
27
- return (h(Host, null, h("div", { class: "wm-wrapper" }, h("div", null, h("h2", { class: "title", id: `wm-modal-heading-text-${this.uid}` }, this.heading, h("span", { class: "subtitle" }, this.subheading))), h("wm-button", { "button-type": "navigational", icon: "f156", tooltip: "Close", "tooltip-position": "left", id: `wm-modal-close-${this.uid}`, ref: (el) => (this.closeButtonEl = el), onClick: () => this.emitParentCloseEvent() }))));
28
+ return (h(Host, null, h("div", { class: "wm-wrapper" }, h("div", null, h("h2", { class: "title", id: `wm-modal-heading-text-${this.uid}` }, this.heading, h("span", { class: "subtitle" }, this.subheading))), h("wm-button", { "button-type": "navigational", icon: "f156", tooltip: globalMessages.close, "tooltip-position": "left", id: `wm-modal-close-${this.uid}`, ref: (el) => (this.closeButtonEl = el), onClick: () => this.emitParentCloseEvent() }))));
28
29
  }
29
30
  static get is() { return "wm-modal-pss-header"; }
30
31
  static get originalStyleUrls() {
@@ -34,8 +34,17 @@ wm-modal-pss {
34
34
  --wmcolor-modal-border: var(--wmcolor-border);
35
35
  --wmcolor-modal-heading: var(--wmcolor-text);
36
36
  --wmcolor-modal-overlay: var(--wmcolor-overlay);
37
+ display: -webkit-box;
38
+ display: -webkit-flex;
39
+ display: -ms-flexbox;
37
40
  display: flex;
41
+ -webkit-box-pack: center;
42
+ -ms-flex-pack: center;
43
+ -webkit-justify-content: center;
38
44
  justify-content: center;
45
+ -webkit-box-align: center;
46
+ -webkit-align-items: center;
47
+ -ms-flex-align: center;
39
48
  align-items: center;
40
49
  flex-direction: column;
41
50
  position: fixed;
@@ -46,6 +55,8 @@ wm-modal-pss {
46
55
  width: 80vw;
47
56
  max-width: 750px;
48
57
  max-height: 80vh;
58
+ -webkit-box-shadow: 0px 11px 15px 0px rgba(0, 0, 0, 0.2), 0px 9px 46px 8px rgba(0, 0, 0, 0.12), 0px 24px 38px 3px rgba(0, 0, 0, 0.14);
59
+ -moz-box-shadow: 0px 11px 15px 0px rgba(0, 0, 0, 0.2), 0px 9px 46px 8px rgba(0, 0, 0, 0.12), 0px 24px 38px 3px rgba(0, 0, 0, 0.14);
49
60
  box-shadow: 0px 11px 15px 0px rgba(0, 0, 0, 0.2), 0px 9px 46px 8px rgba(0, 0, 0, 0.12), 0px 24px 38px 3px rgba(0, 0, 0, 0.14);
50
61
  }
51
62
  wm-modal-pss * {
@@ -61,7 +72,7 @@ wm-modal-pss > *:focus {
61
72
  }
62
73
  wm-modal-pss wm-modal-pss-header,
63
74
  wm-modal-pss wm-modal-pss-footer {
64
- padding: 20px 30px;
75
+ padding: 1.25rem 1.875rem;
65
76
  }
66
77
  wm-modal-pss wm-modal-pss-header {
67
78
  z-index: 2003;
@@ -96,7 +107,7 @@ wm-modal-pss.wm-modal wm-modal-pss-footer {
96
107
  }
97
108
  }
98
109
  wm-modal-pss.wm-dialog > :not(wm-modal-pss-header):not(wm-modal-pss-footer) {
99
- padding: 0 30px 20px 30px;
110
+ padding: 0 1.875rem 1.25rem 1.875rem;
100
111
  font-size: 0.875rem;
101
112
  border: none;
102
113
  }
@@ -112,6 +123,9 @@ wm-modal-pss .overlay {
112
123
  right: 1;
113
124
  transform: translate(0%, 0%);
114
125
  background-color: var(--wmcolor-modal-overlay);
126
+ -ms-transition: opacity 0.5s ease-out;
127
+ -webkit-transition: opacity 0.5s ease-out;
128
+ -moz-transition: opacity 0.5s ease-out;
115
129
  transition: opacity 0.5s ease-out;
116
130
  z-index: 2000;
117
131
  }
@@ -1,5 +1,7 @@
1
1
  import { h, Host } from "@stencil/core";
2
- export class Modal {
2
+ import { checkForActiveElInShadow } from "../../global/functions";
3
+ import { generateId } from "../../global/functions";
4
+ export class ModalPss {
3
5
  constructor() {
4
6
  this.bodyFocusListener = () => this.redirectFocusFromBody();
5
7
  this.open = false;
@@ -24,6 +26,12 @@ export class Modal {
24
26
  toggleModal() {
25
27
  this.open ? this.showModal() : this.hideModal();
26
28
  }
29
+ //The below not implemented in light of the fact that the app does often need to keep track of the modal's state itself so that it can update the data displayed in the body:
30
+ //App can also open modal by emitting wmShowModal event. Event needs to include the modal's unique id as the event detail, or else all modals on the page will open when wmShowModal event is dispatched.
31
+ // @Listen("wmShowModal", { target: "window" })
32
+ // doesEventMatchId(ev: CustomEvent) {
33
+ // ev.detail === this.uid && this.showModal();
34
+ // }
27
35
  handleClick(ev) {
28
36
  this.open && ev.target === this.overlayEl && this.focusOnOpenEl.focus();
29
37
  }
@@ -58,14 +66,13 @@ export class Modal {
58
66
  componentWillLoad() {
59
67
  if (this.elementToFocus === "primary" || this.elementToFocus === "secondary") {
60
68
  if (!this.el.id) {
61
- console.error("For accessibility purposes, you need to set the modal content wrapper's id to 'content-[id of wm-modal-pss]'.");
69
+ console.error("You are telling the modal to focus an element in the footer when it opens. That's fine! But when you do that, you also need to give the wm-modal-wrapper an ID and set the ID of the modal body to 'content-[id of wm-modal-wrapper]. This is for accessibility purposes.");
62
70
  }
63
71
  }
64
72
  this.el.focus = () => {
65
73
  this.focusOnOpenEl.focus();
66
74
  };
67
- const generatedId = "wmcl-" + Math.random().toString(36).substr(2, 10);
68
- this.uid = this.el.id ? this.el.id : generatedId;
75
+ this.uid = this.el.id ? this.el.id : generateId();
69
76
  }
70
77
  componentDidLoad() {
71
78
  if (this.open) {
@@ -96,13 +103,7 @@ export class Modal {
96
103
  this.focusOnCloseEl = elToFocus.parentElement;
97
104
  }
98
105
  else {
99
- let el;
100
- while (elToFocus && elToFocus.shadowRoot) {
101
- el = elToFocus.shadowRoot.activeElement;
102
- }
103
- if (el) {
104
- this.focusOnCloseEl = el;
105
- }
106
+ this.focusOnCloseEl = checkForActiveElInShadow(elToFocus);
106
107
  }
107
108
  }
108
109
  redirectFocusFromBody() {
@@ -0,0 +1,8 @@
1
+ setTimeout(() => {
2
+ const modals = document.querySelectorAll(["wm-modal", "wm-modal-pss"]);
3
+ modals.forEach((modal) => {
4
+ modal.addEventListener("wmModalCloseTriggered", (ev) => closeModal(ev));
5
+ modal.addEventListener("wmModalPrimaryTriggered", (ev) => closeModal(ev));
6
+ modal.addEventListener("wmModalSecondaryTriggered", (ev) => closeModal(ev));
7
+ });
8
+ }, 50);
@@ -1,18 +1,3 @@
1
- function openModal() {
2
- document.querySelector("wm-modal").open = "true";
3
- }
4
-
5
- function closeModal() {
6
- document.querySelector("wm-modal").open = "false";
7
- }
8
-
9
- evNames = ["wmModalCloseTriggered", "wmModalPrimaryTriggered", "wmModalSecondaryTriggered"];
10
- evNames.forEach((evName) =>
11
- document.addEventListener(evName, () => {
12
- closeModal();
13
- })
14
- );
15
-
16
1
  const snackbar = document.getElementById("info");
17
2
  let notifications = snackbar && JSON.parse(snackbar.notifications || "[]");
18
3
 
@@ -50,3 +35,15 @@ function dismissSnack(ev) {
50
35
  }
51
36
 
52
37
  snackbar.addEventListener("wmSnackbarSnackFinished", dismissSnack);
38
+
39
+ function openModal(id) {
40
+ console.log("open modal", id);
41
+ const modal = document.getElementById(id);
42
+ modal.open = true;
43
+ }
44
+
45
+ function closeModal(ev) {
46
+ const modal = ev.target;
47
+ console.log("close modal", modal);
48
+ modal.open = false;
49
+ }
@@ -1,5 +1,5 @@
1
1
  import { h } from './index-558b5a82.js';
2
- import { i as intl, c as safeMultiplyFloat, e as getPosition, f as checkForActiveElInShadow } from './functions-b791a892.js';
2
+ import { i as intl, c as checkForActiveElInShadow, e as safeMultiplyFloat, f as getPosition } from './functions-8800c690.js';
3
3
 
4
4
  const colors = {
5
5
  salmon: "#ff5f4e",
@@ -8322,4 +8322,4 @@ const weekdays = [
8322
8322
  intl.formatMessage({ id: "date.saturday", defaultMessage: "Saturday" }),
8323
8323
  ];
8324
8324
 
8325
- export { throttle as A, getContextMeasurements as B, dateFind as C, calendar_months as D, findParentWithHiddenOverflow as E, transposeMatrix as F, wrapAround as G, getSmallestSkipInterval as H, calcPercentageInRange as I, makeISO as J, weekdays as K, getMonthLength as L, findScrollableParent as M, handleDisabledAttribute as a, triggerFormSubmit as b, safeMultiplyFloat as c, debounce as d, getPosition as e, checkForActiveElInShadow as f, generateId as g, hideTooltip as h, intl as i, dateToISO as j, shouldOpenUp as k, hasRoomRight as l, truncateText as m, snakeCaseToCamelCase as n, getNewIndexToFocus as o, shouldOpenDown as p, shouldShiftRight as q, shouldShiftLeft as r, showTooltip as s, toBool as t, measureText as u, findNext as v, findPrev as w, csvToArray as x, getTextDir as y, isElOrChild as z };
8325
+ export { throttle as A, getContextMeasurements as B, dateFind as C, calendar_months as D, findParentWithHiddenOverflow as E, transposeMatrix as F, wrapAround as G, getSmallestSkipInterval as H, calcPercentageInRange as I, makeISO as J, weekdays as K, getMonthLength as L, findScrollableParent as M, handleDisabledAttribute as a, triggerFormSubmit as b, checkForActiveElInShadow as c, debounce as d, safeMultiplyFloat as e, getPosition as f, generateId as g, hideTooltip as h, intl as i, dateToISO as j, shouldOpenUp as k, hasRoomRight as l, truncateText as m, snakeCaseToCamelCase as n, getNewIndexToFocus as o, shouldOpenDown as p, shouldShiftRight as q, shouldShiftLeft as r, showTooltip as s, toBool as t, measureText as u, findNext as v, findPrev as w, csvToArray as x, getTextDir as y, isElOrChild as z };
@@ -1,4 +1,4 @@
1
- const version = "5.7.0-9";
1
+ const version = "5.7.0";
2
2
 
3
3
  // PRINT RIPPLE VERSION IN CONSOLE
4
4
  // test envs return 0 for plugin.length
@@ -1,4 +1,4 @@
1
- import { i as intl } from './functions-b791a892.js';
1
+ import { i as intl } from './functions-8800c690.js';
2
2
 
3
3
  const globalMessages = {
4
4
  characterLimitReached: intl.formatMessage({
@@ -1,6 +1,6 @@
1
1
  import { b as bootstrapLazy } from './index-558b5a82.js';
2
2
  export { s as setNonce } from './index-558b5a82.js';
3
- import './global-525745d2.js';
3
+ import './global-e7316cfe.js';
4
4
 
5
5
  const defineCustomElements = (win, options) => {
6
6
  if (typeof window === 'undefined') return undefined;
@@ -1,5 +1,5 @@
1
1
  import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-558b5a82.js';
2
- import { i as intl, C as dateFind, J as makeISO, K as weekdays, D as calendar_months, L as getMonthLength } from './functions-b791a892.js';
2
+ import { i as intl, C as dateFind, J as makeISO, K as weekdays, D as calendar_months, L as getMonthLength } from './functions-8800c690.js';
3
3
 
4
4
  const privCalendarCss = ":host{--wmcolor-calendar-border:var(--wmcolor-border);--wmcolor-calendar-day-border-hover:var(--wmcolor-border-focus);--wmcolor-calendar-range-background:var(--wmcolor-interactive-background-hover);--wmcolor-datepicker-range-background-hover:var(--wmcolor-datepicker-day-background-hover);--wmcolor-datepicker-range-background-selected:var(--wmcolor-background-selected);--range-start-svg:url('data:image/svg+xml,<svg width=\"44\" height=\"44\" viewBox=\"0 0 44 44\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M0 6C0 2.68629 2.68629 0 6 0H28.8457C31.0777 0 33.1251 1.23886 34.1607 3.21596L42.5417 19.216C43.455 20.9596 43.455 23.0404 42.5417 24.784L34.1607 40.784C33.1251 42.7611 31.0777 44 28.8458 44H6C2.68629 44 0 41.3137 0 38V6Z\" fill=\"%23575195\"/></svg>');--range-end-svg:url('data:image/svg+xml,<svg width=\"44\" height=\"44\" viewBox=\"0 0 44 44\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M44 6C44 2.68629 41.3137 0 38 0H15.1543C12.9223 0 10.8749 1.23886 9.83926 3.21596L1.45831 19.216C0.544956 20.9596 0.54496 23.0404 1.45831 24.784L9.83926 40.784C10.8749 42.7611 12.9223 44 15.1542 44H38C41.3137 44 44 41.3137 44 38V6Z\" fill=\"%23575195\"/></svg>');--range-background-selected:linear-gradient(\n transparent,\n transparent 5px,\n var(--wmcolor-datepicker-range-background-selected) 5px,\n var(--wmcolor-datepicker-range-background-selected) 39px,\n transparent 39px\n );--range-background-hover:linear-gradient(\n transparent,\n transparent 5px,\n var(--wmcolor-datepicker-range-background-hover) 5px,\n var(--wmcolor-datepicker-range-background-hover) 39px,\n transparent 39px\n )}:host priv-calendar+priv-calendar{-webkit-border-start:1px solid var(--wmcolor-calendar-border);border-inline-start:1px solid var(--wmcolor-calendar-border)}.toggle{all:unset;cursor:pointer;padding:0 0.375rem;height:2.375rem;background-color:var(--wmcolor-datepicker-toggle-background);border:none;border-radius:3px}.toggle span::after{display:inline-block;font:normal normal normal 24px/1 \"Material Design Icons\";font-size:inherit;text-rendering:auto;line-height:inherit;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:\"\\f0ed\";font-size:1.5rem;color:var(--wmcolor-datepicker-toggle-icon);padding:0;line-height:2.5rem}.toggle:hover{-webkit-box-shadow:none;box-shadow:none;background:var(--wmcolor-datepicker-toggle-background-hover)}.toggle:disabled{pointer-events:none;-webkit-box-shadow:none;box-shadow:none;background-color:var(--wmcolor-datepicker-toggle-background-disabled)}.toggle:disabled .calendar::after{color:var(--wmcolor-datepicker-toggle-icon-disabled)}[dir=RTL] .toggle{right:auto;left:0}.toggle::-moz-focus-inner{border:0}.toggle:focus-visible{outline:3px solid var(--wmcolor-interactive-focus);outline-offset:0}.toggle:focus-visible:not(:active){border:none;z-index:11}.inside .toggle{border-top-left-radius:0;border-bottom-left-radius:0;border-start-start-radius:0;border-end-start-radius:0}.popup-wrapper{visibility:hidden;font-family:inherit;-webkit-border-radius:3px;-moz-border-radius:3px;-ms-border-radius:3px;border-radius:3px;-webkit-box-shadow:0px 4px 15px 0px rgba(0, 0, 0, 0.2);box-shadow:0px 4px 15px 0px rgba(0, 0, 0, 0.2);z-index:10;position:absolute;left:0;top:calc(100% + 2px);min-height:21.0625rem;-webkit-transition:-webkit-transform 0.25s ease;transition:-webkit-transform 0.25s ease;transition:transform 0.25s ease;transition:transform 0.25s ease, -webkit-transform 0.25s ease;-webkit-transform-origin:center top;transform-origin:center top;-webkit-transform:scale(1, 0);transform:scale(1, 0);background-color:var(--wmcolor-datepicker-background)}.popup-wrapper.start{border:2px solid cyan}.popup-wrapper.end{left:247px !important;border:2px solid teal}.popup-wrapper.open{-webkit-transform:scale(1, 1);transform:scale(1, 1)}.popup-wrapper.expand-upwards{top:auto;bottom:2.375rem;-webkit-transform-origin:center bottom;transform-origin:center bottom}.popup-wrapper .calendar-header{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;position:relative;padding:0.9375rem 0.25rem}.popup-wrapper .calendar-header .title-box{height:2.625rem;-webkit-border-radius:3px;-moz-border-radius:3px;-ms-border-radius:3px;border-radius:3px;border:1px solid;font-weight:500;font-size:0.875rem;background:var(--wmcolor-datepicker-selector-background);cursor:pointer;display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-align:center;align-items:center;padding:0 0.375rem 0 0.75rem;border-color:var(--wmcolor-datepicker-selector-border);color:var(--wmcolor-datepicker-selector-text)}.popup-wrapper .calendar-header .title-box:after{display:inline-block;font:normal normal normal 24px/1 \"Material Design Icons\";font-size:inherit;text-rendering:auto;line-height:inherit;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:\"\\f140\";padding-left:0.75rem;font-size:1.12rem}.popup-wrapper .calendar-header .title-box.year:after{content:\"\\f143\"}.popup-wrapper .calendar-header .title-box::-moz-focus-inner{border:0}.popup-wrapper .calendar-header .arw-btn{cursor:pointer;-webkit-border-radius:50%;-moz-border-radius:50%;-ms-border-radius:50%;border-radius:50%;width:2.75rem;height:2.75rem;border:none;color:var(--wmcolor-datepicker-navigation-text);background:var(--wmcolor-datepicker-navigation-background);padding:0;-webkit-box-shadow:none;box-shadow:none;line-height:2.75rem}.popup-wrapper .calendar-header .arw-btn .mdi{display:inline-block;font:normal normal normal 24px/1 \"Material Design Icons\";font-size:inherit;text-rendering:auto;line-height:inherit;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:1.5rem;font-weight:normal;line-height:2.75rem}.popup-wrapper .calendar-header .arw-btn:hover{background-color:var(--wmcolor-datepicker-navigation-background-hover)}.popup-wrapper .calendar-header .arw-btn:active{-ms-transform:scale(0.9, 0.9);-webkit-transform:scale(0.9, 0.9);-moz-transform:scale(0.9, 0.9);transform:scale(0.9, 0.9)}.popup-wrapper .separator{min-width:1px;background:var(--wm-color-border)}.popup-wrapper .day-view{min-width:21rem}.popup-wrapper .day-view .date-grid{width:100%;text-align:center;border-collapse:collapse;margin-bottom:0.4375rem;color:var(--wmcolor-datepicker-day-text)}.popup-wrapper .day-view .date-grid div[role=row]{display:-ms-flexbox;display:flex;-ms-flex-pack:distribute;justify-content:space-around;padding-inline:0.875rem}.popup-wrapper .day-view .date-grid div[role=row]:not(.header-row){height:2.75rem}.popup-wrapper .day-view .date-grid .date-header{background-color:var(--wmcolor-datepicker-weekdays-background)}.popup-wrapper .day-view .date-grid .header-cell{height:2.0625rem;line-height:2.0625rem;width:2.75rem;margin:0 calc((14.28% - 44px) / 2);padding:0;display:inline-block;font-size:0.8125rem;font-weight:bold;color:var(--wmcolor-datepicker-weekdays-text);border:none}.popup-wrapper .day-view .date-grid [role=gridcell]{padding:0;-webkit-border-radius:50%;-moz-border-radius:50%;-ms-border-radius:50%;border-radius:50%;aspect-ratio:1;font-size:0.875rem;font-weight:500;position:relative;display:-ms-flexbox;display:flex;-ms-flex:1 0 2.75rem;flex:1 0 2.75rem;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}.popup-wrapper .day-view .date-grid .date-cell{cursor:pointer}.popup-wrapper .day-view .date-grid .date-cell:hover{background-color:var(--wmcolor-datepicker-day-background-hover)}.popup-wrapper .day-view .date-grid .date-cell[aria-selected=true]{background-color:var(--wmcolor-datepicker-day-background-selected);color:var(--wmcolor-datepicker-day-text-selected)}.popup-wrapper .day-view .date-grid .date-cell.in-range{background:var(--range-background-selected);border-radius:0}.popup-wrapper .day-view .date-grid .date-cell.in-range.range-start:not(.preview):hover{background-repeat:no-repeat;background-position:center, center left 17px}.popup-wrapper .day-view .date-grid .date-cell.in-range.range-end:not(.preview):hover{background-position:center, center right 17px;background-repeat:no-repeat}.popup-wrapper .day-view .date-grid .date-cell.in-range:not(.preview):hover{background-image:radial-gradient(#dbd9ef 20px, transparent 21px), var(--range-background-selected);color:var(--wmcolor-datepicker-day-text)}.popup-wrapper .day-view .date-grid .date-cell.in-range.preview{position:relative;background-image:var(--range-background-hover)}.popup-wrapper .day-view .date-grid .date-cell.in-range.preview:last-child:not(.preview-start,.preview-end,.range-start,.range-end),.popup-wrapper .day-view .date-grid .date-cell.in-range.preview:last-of-type:not(.preview-start,.preview-end,.range-start,.range-end),.popup-wrapper .day-view .date-grid .date-cell.in-range.preview:first-child:not(.preview-start,.preview-end,.range-start,.range-end),.popup-wrapper .day-view .date-grid .date-cell.in-range.preview:first-of-type:not(.preview-start,.preview-end,.range-start,.range-end),.popup-wrapper .day-view .date-grid .date-cell.in-range.preview.last-of-month:not(.preview-start,.preview-end,.range-start,.range-end),.popup-wrapper .day-view .date-grid .date-cell.in-range.preview.first-of-month:not(.preview-start,.preview-end,.range-start,.range-end){background-image:radial-gradient(var(--wmcolor-datepicker-range-background-hover) 16px, transparent 17px), var(--range-background-hover);background-repeat:no-repeat}.popup-wrapper .day-view .date-grid .date-cell.in-range.preview:first-child:not(.preview-start,.preview-end,.range-start,.range-end),.popup-wrapper .day-view .date-grid .date-cell.in-range.preview:first-of-type:not(.preview-start,.preview-end,.range-start,.range-end),.popup-wrapper .day-view .date-grid .date-cell.in-range.preview.first-of-month:not(.preview-start,.preview-end,.range-start,.range-end){background-position:center left -5px, center left 17px}.popup-wrapper .day-view .date-grid .date-cell.in-range.preview:last-child:not(.preview-start,.preview-end,.range-start,.range-end),.popup-wrapper .day-view .date-grid .date-cell.in-range.preview:last-of-type:not(.preview-start,.preview-end,.range-start,.range-end),.popup-wrapper .day-view .date-grid .date-cell.in-range.preview.last-of-month:not(.preview-start,.preview-end,.range-start,.range-end){background-position:center right -5px, center right 17px}.popup-wrapper .day-view .date-grid .date-cell.in-range.preview.last-of-month:first-child:not(.preview-start,.preview-end){background-image:radial-gradient(var(--wmcolor-datepicker-range-background-hover) 16px, transparent 17px), radial-gradient(var(--wmcolor-datepicker-range-background-hover) 16px, transparent 17px), linear-gradient(transparent, transparent 15px, var(--wmcolor-datepicker-range-background-hover) 15px, var(--wmcolor-datepicker-range-background-hover) 29px, transparent 29px);background-position:center left -5px, center right -5px, center;background-size:auto, auto, 9px}.popup-wrapper .day-view .date-grid .date-cell.in-range.preview-start:last-child,.popup-wrapper .day-view .date-grid .date-cell.in-range.preview-end:first-child{background-image:radial-gradient(var(--wmcolor-datepicker-range-background-hover) 17px, var(--wmcolor-calendar-day-border-hover) 18px, var(--wmcolor-calendar-day-border-hover) 20px, transparent 21px)}.popup-wrapper .day-view .date-grid .date-cell.in-range.preview-start{background-position:center, center left 17px;background-repeat:no-repeat}.popup-wrapper .day-view .date-grid .date-cell.in-range.preview-start:first-child{background-position:center, center left 17px;background-repeat:no-repeat}.popup-wrapper .day-view .date-grid .date-cell.in-range.preview-end{background-position:center, center right 17px;background-repeat:no-repeat}.popup-wrapper .day-view .date-grid .date-cell.in-range.preview-end:last-child{background-position:center, center right 17px;background-repeat:no-repeat}.popup-wrapper .day-view .date-grid .date-cell.in-range.preview-end,.popup-wrapper .day-view .date-grid .date-cell.in-range.preview-start{background-image:radial-gradient(var(--wmcolor-datepicker-range-background-hover) 17px, var(--wmcolor-calendar-day-border-hover) 18px, var(--wmcolor-calendar-day-border-hover) 20px, transparent 21px), var(--range-background-hover)}.popup-wrapper .day-view .date-grid .date-cell.in-range.preview-end:focus-visible,.popup-wrapper .day-view .date-grid .date-cell.in-range.preview-start:focus-visible{outline:none;border:none}.popup-wrapper .day-view .date-grid .date-cell.in-range:first-of-type:not(.preview-start,.preview-end,.range-start,.range-end),.popup-wrapper .day-view .date-grid .date-cell.in-range:first-child:not(.preview-start,.preview-end,.range-start,.range-end),.popup-wrapper .day-view .date-grid .date-cell.in-range.first-of-month:not(.preview-start,.preview-end,.range-start,.range-end){background-image:radial-gradient(var(--wmcolor-datepicker-range-background-selected) 16px, transparent 17px), var(--range-background-selected);background-position:-5px center, center left 17px;background-repeat:no-repeat}.popup-wrapper .day-view .date-grid .date-cell.in-range:first-of-type:not(.preview-start,.preview-end,.range-start,.range-end):hover,.popup-wrapper .day-view .date-grid .date-cell.in-range:first-child:not(.preview-start,.preview-end,.range-start,.range-end):hover,.popup-wrapper .day-view .date-grid .date-cell.in-range.first-of-month:not(.preview-start,.preview-end,.range-start,.range-end):hover{background-image:radial-gradient(#dbd9ef 20px, transparent 21px), radial-gradient(var(--wmcolor-datepicker-range-background-selected) 16px, transparent 17px), var(--range-background-selected);background-position:center, -5px center, center left 17px;background-repeat:no-repeat}.popup-wrapper .day-view .date-grid .date-cell.in-range.range-start:last-child:hover,.popup-wrapper .day-view .date-grid .date-cell.in-range.range-end:first-child:hover{background:radial-gradient(#dbd9ef 20px, transparent 21px);background-position:center}.popup-wrapper .day-view .date-grid .date-cell.in-range:last-of-type:not(.range-start,.range-end,.preview),.popup-wrapper .day-view .date-grid .date-cell.in-range:last-child:not(.range-start,.range-end,.preview),.popup-wrapper .day-view .date-grid .date-cell.in-range.last-of-month:not(.range-start,.range-end,.preview){background:radial-gradient(var(--wmcolor-datepicker-range-background-selected) 16px, transparent 17px), var(--range-background-selected);background-position:5px center, center right 17px;background-repeat:no-repeat}.popup-wrapper .day-view .date-grid .date-cell.in-range:last-of-type:not(.range-start,.range-end,.preview-start,.preview-end):hover,.popup-wrapper .day-view .date-grid .date-cell.in-range:last-child:not(.range-start,.range-end,.preview-start,.preview-end):hover,.popup-wrapper .day-view .date-grid .date-cell.in-range.last-of-month:not(.range-start,.range-end,.preview-start,.preview-end):hover{background-image:radial-gradient(#dbd9ef 20px, transparent 21px), radial-gradient(var(--wmcolor-datepicker-range-background-selected) 16px, transparent 17px), var(--range-background-selected);background-position:center, 5px center, center right 17px;background-repeat:no-repeat}.popup-wrapper .day-view .date-grid .date-cell.today:after{content:\"\";display:block;position:absolute;inset:auto 0 6px 0;width:6px;aspect-ratio:1;border-radius:50%;justify-self:center;background-color:var(--wmcolor-datepicker-day-background-selected);margin:auto}.popup-wrapper .day-view .date-grid .date-cell.range-start,.popup-wrapper .day-view .date-grid .date-cell.range-end{border-radius:0;margin:0;outline:none;font-weight:600;color:var(--wmcolor-datepicker-day-text-selected)}.popup-wrapper .day-view .date-grid .date-cell.range-start:focus-visible,.popup-wrapper .day-view .date-grid .date-cell.range-end:focus-visible{outline:3px solid var(--wmcolor-interactive-focus);outline-offset:-2px;border:none;z-index:11}.popup-wrapper .day-view .date-grid .date-cell.range-start:focus-visible[aria-selected=true],.popup-wrapper .day-view .date-grid .date-cell.range-end:focus-visible[aria-selected=true]{outline-offset:2px}.popup-wrapper .day-view .date-grid .date-cell.range-start{background-image:var(--range-start-svg);-webkit-padding-end:2px;padding-inline-end:2px;background-color:transparent}.popup-wrapper .day-view .date-grid .date-cell.range-start.in-range:not(:hover,:last-of-type,:last-child){background-image:var(--range-start-svg), var(--range-background-selected);border-radius:0}.popup-wrapper .day-view .date-grid .date-cell.range-start.in-range.preview:not(:last-of-type,:last-child){background-image:var(--range-start-svg), var(--range-background-hover)}.popup-wrapper .day-view .date-grid .date-cell.range-end{background-image:var(--range-end-svg);-webkit-padding-start:2px;padding-inline-start:2px;background-color:transparent}.popup-wrapper .day-view .date-grid .date-cell.range-end.in-range:not(:hover,:first-of-type,:first-child){background-image:var(--range-end-svg), var(--range-background-selected);border-radius:0}.popup-wrapper .day-view .date-grid .date-cell.range-end.in-range.preview:not(:first-of-type,:first-child){background-image:var(--range-end-svg), var(--range-background-hover)}.popup-wrapper .day-view .date-grid .date-cell.range-start.range-end{background:var(--wmcolor-datepicker-day-background-selected);border-radius:50%;padding-inline:0;margin:1px;-ms-flex-preferred-size:42px;flex-basis:42px}.popup-wrapper .month-view .months{border-top:2px solid;border-top-color:var(--wmcolor-datepicker-month-border);display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.popup-wrapper .month-view .month-row{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;width:100%;border-bottom:2px solid;border-bottom-color:var(--wmcolor-datepicker-month-border)}.popup-wrapper .month-view .month{border:none;background:white;cursor:pointer;width:7rem;height:4rem;line-height:4rem;font-family:inherit;font-weight:500;color:var(--wmcolor-datepicker-month-text)}.popup-wrapper .month-view .month:not(:last-child){border-right:2px solid;border-right-color:var(--wmcolor-datepicker-month-border)}.popup-wrapper .month-view .month:hover{border-right-color:transparent;background-color:var(--wmcolor-datepicker-month-background-hover)}.popup-wrapper .month-view .month:active,.popup-wrapper .month-view .month.selected{background-color:var(--wmcolor-datepicker-month-background-selected);color:var(--wmcolor-datepicker-month-text-selected)}.popup-wrapper button:focus-visible:not(.preview-start,.preview-end),.popup-wrapper .title-box:focus-visible:not(.preview-start,.preview-end),.popup-wrapper .month.focused:focus-visible:not(.preview-start,.preview-end),.popup-wrapper .date-cell:focus-visible:not(.preview-start,.preview-end){outline:3px solid var(--wmcolor-interactive-focus);outline-offset:-2px;border:none;z-index:11}.popup-wrapper button:focus-visible:not(.preview-start,.preview-end)[aria-selected=true],.popup-wrapper .title-box:focus-visible:not(.preview-start,.preview-end)[aria-selected=true],.popup-wrapper .month.focused:focus-visible:not(.preview-start,.preview-end)[aria-selected=true],.popup-wrapper .date-cell:focus-visible:not(.preview-start,.preview-end)[aria-selected=true]{outline-offset:2px}.popup-range{display:-ms-flexbox;display:flex}.popup{width:21rem}.sr-only{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;border:0 !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;-webkit-clip-path:inset(50%) !important;clip-path:inset(50%) !important;white-space:nowrap !important;margin:-1px !important}";
5
5
 
@@ -1,5 +1,5 @@
1
1
  import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-558b5a82.js';
2
- import { d as debounce, M as findScrollableParent, i as intl } from './functions-b791a892.js';
2
+ import { d as debounce, M as findScrollableParent, i as intl } from './functions-8800c690.js';
3
3
 
4
4
  const privChartPopoverCss = "priv-chart-popover{--wmcolor-chart-popover-link-background:var(--wmcolor-background-transparent);--wmcolor-chart-popover-link-text-focus:var(--wmcolor-interactive-focus);--wmcolor-chart-popover-link-text:var(--wmcolor-button-text-textonly);position:fixed;z-index:10;border-radius:0.1875rem;-webkit-box-shadow:0 11px 15px 0 rgba(0, 0, 0, 0.2), 0 7px 20px 0 rgba(0, 0, 0, 0.12);-moz-box-shadow:0 11px 15px 0 rgba(0, 0, 0, 0.2), 0 7px 20px 0 rgba(0, 0, 0, 0.12);box-shadow:0 11px 15px 0 rgba(0, 0, 0, 0.2), 0 7px 20px 0 rgba(0, 0, 0, 0.12);background-color:var(--wmcolor-chart-popover-background);font-size:0.875rem;text-align:left}priv-chart-popover.user-is-tabbing .button-text{outline:3px solid var(--wmcolor-interactive-focus);outline-offset:2px}.sr-only{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;border:0 !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;-webkit-clip-path:inset(50%) !important;clip-path:inset(50%) !important;white-space:nowrap !important;margin:-1px !important}.popover{width:10.5rem;padding:0.625rem 0.9375rem;-webkit-box-sizing:border-box;box-sizing:border-box}.popover .title{font-size:1em;font-weight:500;margin:0;padding-top:0;padding-left:0;padding-bottom:0.25rem}.popover .title.positive{color:var(--wmcolor-chart-label-text-positive)}.popover .title.negative{color:var(--wmcolor-chart-label-text-negative)}.popover .text{margin:0;margin-bottom:0.5rem}.popover .popover-button{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;position:relative;display:inline-block;margin-left:1rem;padding-left:0;padding-right:0;height:auto;border:none;background:var(--wmcolor-chart-popover-link-background);cursor:pointer;text-decoration:none;letter-spacing:0;text-transform:none;text-align:initial;font-size:0.875rem;font-weight:700;color:var(--wmcolor-chart-popover-link-text);line-height:normal}.popover .popover-button .button-text{display:inline-block}.popover .popover-button .btn-icon{position:absolute;top:0.1875rem;left:-1rem}.popover .popover-button:focus{outline:none}.popover .popover-button::-moz-focus-inner{border:0;outline:none}.popover .popover-button:hover{text-decoration:none}.popover .popover-button:hover span{text-decoration:underline}";
5
5
 
@@ -1,7 +1,7 @@
1
1
  import { r as registerInstance, c as createEvent, f as forceUpdate, h, g as getElement } from './index-558b5a82.js';
2
- import { i as intl, d as debounce, z as isElOrChild } from './functions-b791a892.js';
2
+ import { i as intl, d as debounce, z as isElOrChild } from './functions-8800c690.js';
3
3
 
4
- const privOptionListCss = ".search{-webkit-box-sizing:border-box;box-sizing:border-box;padding:1.25rem}.search .searchfield-wrapper{-webkit-box-sizing:border-box;box-sizing:border-box;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;height:2.75rem;width:100%;padding:0 0.75rem;-webkit-border-radius:3px;-moz-border-radius:3px;-ms-border-radius:3px;border-radius:3px;border:1px solid;border-color:var(--wmcolor-select-search-border)}.search .searchfield-wrapper:focus,.search .searchfield-wrapper.focus{outline:2px solid var(--wmcolor-input-border-focus);border-color:var(--wmcolor-input-border-focus)}.search .searchfield{width:100%;border:none;outline:none;font-family:inherit;font-size:0.875rem;margin-left:0.25rem}.search .icon:before{display:inline-block;font:normal normal normal 24px/1 \"Material Design Icons\";font-size:inherit;text-rendering:auto;line-height:inherit;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:\"\\f349\";color:var(--wmcolor-select-search-icon);font-size:1.12rem}.search-results-message{padding:1.25rem;color:var(--wmcolor-select-searchresults-text);font-size:0.875rem;font-style:italic}.return-btn,.select-all{width:100%;cursor:pointer;padding:1.25rem;margin:0;background:var(--wmcolor-select-option-background);font-family:inherit;font-size:inherit;text-align:left;text-align:start;font-weight:500;color:var(--wmcolor-select-option-text);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.return-btn:hover,.select-all:hover{outline:none;background:var(--wmcolor-select-option-background-hover)}.return-btn:focus,.select-all:focus{outline:none;background:var(--wmcolor-select-option-background-focus)}.return-btn,.select-all,.search{border:none}.return-btn:not(:last-child),.select-all:not(:last-child),.search:not(:last-child){border-bottom:2px solid;border-color:var(--wmcolor-select-option-border)}.options-wrapper{overflow-y:auto;max-height:var(--max-height)}.non-options-wrapper{border-bottom:1px solid var(--wmcolor-border-dark)}.return-btn{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;font-weight:600;font-size:0.875rem}.return-btn:before{display:inline-block;font:normal normal normal 24px/1 \"Material Design Icons\";font-size:inherit;text-rendering:auto;line-height:inherit;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:\"\\f141\";pointer-events:none;font-size:1.28rem}";
4
+ const privOptionListCss = ".search{-webkit-box-sizing:border-box;box-sizing:border-box;padding:1.25rem}.search .searchfield-wrapper{-webkit-box-sizing:border-box;box-sizing:border-box;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;height:2.75rem;width:100%;padding:0 0.75rem;-webkit-border-radius:3px;-moz-border-radius:3px;-ms-border-radius:3px;border-radius:3px;border:1px solid;border-color:var(--wmcolor-select-search-border)}.search .searchfield-wrapper:focus,.search .searchfield-wrapper.focus{outline:2px solid var(--wmcolor-input-border-focus);border-color:var(--wmcolor-input-border-focus)}.search .searchfield{width:100%;border:none;outline:none;font-family:inherit;font-size:0.875rem;margin-left:0.25rem}.search .icon:before{display:inline-block;font:normal normal normal 24px/1 \"Material Design Icons\";font-size:inherit;text-rendering:auto;line-height:inherit;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:\"\\f349\";color:var(--wmcolor-select-search-icon);font-size:1.12rem}.search-results-message{padding:1.25rem;color:var(--wmcolor-select-searchresults-text);font-size:0.875rem;font-style:italic}.return-btn,.select-all{width:100%;cursor:pointer;padding:1.25rem;margin:0;background:var(--wmcolor-select-option-background);font-family:inherit;font-size:inherit;text-align:left;text-align:start;font-weight:500;color:var(--wmcolor-select-option-text);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.return-btn:hover,.select-all:hover{outline:none;background:var(--wmcolor-select-option-background-hover)}.return-btn:focus,.select-all:focus{outline:none;background:var(--wmcolor-select-option-background-focus)}.return-btn,.select-all,.search{border:none}.return-btn:not(:last-child),.select-all:not(:last-child),.search:not(:last-child){border-bottom:2px solid;border-color:var(--wmcolor-select-option-border)}.options-wrapper{overflow-y:auto;max-height:var(--max-height)}.non-options-wrapper{border-bottom:1px solid var(--wmcolor-border-dark)}.return-btn{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;font-weight:600;font-size:0.875rem}.return-btn:before{display:inline-block;font:normal normal normal 24px/1 \"Material Design Icons\";font-size:inherit;text-rendering:auto;line-height:inherit;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:\"\\f141\";pointer-events:none;padding-right:0.5rem;font-size:1.28rem}.return-btn .return-btn-label{display:-ms-flexbox;display:flex;-ms-flex-positive:1;flex-grow:1;-ms-flex-pack:justify;justify-content:space-between}.return-btn .return-btn-label .selection-count{font-weight:400;font-style:italic}";
5
5
 
6
6
  const PrivOptionList = class {
7
7
  constructor(hostRef) {
@@ -379,10 +379,21 @@ const PrivOptionList = class {
379
379
  this.announcement = message;
380
380
  }
381
381
  renderReturnBtn() {
382
+ const selectionCount = this.childOptions.filter((o) => o.selected).length;
383
+ const singleSelectionCountMessage = intl.formatMessage({
384
+ id: "select.optgroupSingleSelectionCount",
385
+ defaultMessage: "Item Selected",
386
+ description: "Text indicating number of selected in a group, where only a single selection is possible.",
387
+ }, { numSelected: selectionCount });
388
+ const multipleSelectionCountMessage = intl.formatMessage({
389
+ id: "select.optgroupMultipleSelectionCount",
390
+ defaultMessage: "{numSelected} Selected",
391
+ description: "Text indicating number of selected in a group, where multiple selections are possible.",
392
+ }, { numSelected: selectionCount });
382
393
  return (h("button", { ref: (el) => (this.returnBtnEl = el), id: "return-btn", class: "return-btn", onKeyDown: (ev) => this.handleKeyDown(ev), onClick: () => {
383
394
  //@ts-ignore -- Check out this one weird trick TypeScript doesn't want you to know about
384
395
  this.el.getRootNode().host.isExpanded = false;
385
- } }, this.optgroupLabel));
396
+ } }, h("div", { class: "return-btn-label" }, this.optgroupLabel, selectionCount > 0 && (h("span", { class: "selection-count" }, this.multiple ? multipleSelectionCountMessage : singleSelectionCountMessage)))));
386
397
  }
387
398
  renderSearchField() {
388
399
  return (h("div", { class: "search" }, h("div", { class: "searchfield-wrapper", ref: (el) => (this.searchFieldWrapperEl = el) }, h("div", { class: "icon" }), h("input", { ref: (el) => (this.searchFieldEl = el), class: "searchfield", role: "combobox", "aria-controls": "list",