@watermarkinsights/ripple 3.0.1 → 3.0.2-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 (81) hide show
  1. package/dist/cjs/{global-ccb9500c.js → global-1e540de6.js} +1 -1
  2. package/dist/cjs/loader.cjs.js +2 -2
  3. package/dist/cjs/priv-datepicker.cjs.entry.js +1 -1
  4. package/dist/cjs/ripple.cjs.js +2 -2
  5. package/dist/cjs/wm-datepicker.cjs.entry.js +25 -30
  6. package/dist/collection/components/wm-datepicker/priv-datepicker/priv-datepicker.css +9 -0
  7. package/dist/collection/components/wm-datepicker/wm-datepicker.js +26 -32
  8. package/dist/esm/{global-4f914bb2.js → global-d6b49e98.js} +1 -1
  9. package/dist/esm/loader.js +2 -2
  10. package/dist/esm/priv-datepicker.entry.js +1 -1
  11. package/dist/esm/ripple.js +2 -2
  12. package/dist/esm/wm-datepicker.entry.js +25 -30
  13. package/dist/ripple/p-129d94fa.entry.js +1 -0
  14. package/dist/ripple/{p-454ad552.entry.js → p-c0fe5201.entry.js} +1 -1
  15. package/dist/ripple/{p-69a73e86.js → p-e3843249.js} +1 -1
  16. package/dist/ripple/ripple.esm.js +1 -1
  17. package/dist/types/components/wm-datepicker/wm-datepicker.d.ts +3 -3
  18. package/package.json +1 -1
  19. package/dist/cjs/app-globals-a07327ae.js +0 -47
  20. package/dist/cjs/css-shim-a7379e2b.js +0 -6
  21. package/dist/cjs/dom-3e7d9c3b.js +0 -75
  22. package/dist/cjs/functions-65513c61.js +0 -8360
  23. package/dist/cjs/global-06317e3f.js +0 -36
  24. package/dist/cjs/global-f6930bb0.js +0 -38
  25. package/dist/cjs/index-8dea8c13.js +0 -2976
  26. package/dist/cjs/shadow-css-09555044.js +0 -391
  27. package/dist/esm/app-globals-f62991a4.js +0 -45
  28. package/dist/esm/css-shim-bbdf0cc6.js +0 -4
  29. package/dist/esm/dom-1f98a75f.js +0 -73
  30. package/dist/esm/functions-316c1b23.js +0 -8340
  31. package/dist/esm/global-03372f70.js +0 -34
  32. package/dist/esm/global-fedbc323.js +0 -36
  33. package/dist/esm/index-e34aa595.js +0 -2938
  34. package/dist/esm/shadow-css-67b66845.js +0 -389
  35. package/dist/ripple/app-globals-b5693c90.js +0 -45
  36. package/dist/ripple/app-globals-d72c2d3c.js +0 -45
  37. package/dist/ripple/app-globals-f62991a4.js +0 -45
  38. package/dist/ripple/css-shim-bbdf0cc6.js +0 -4
  39. package/dist/ripple/dom-1f98a75f.js +0 -73
  40. package/dist/ripple/functions-316c1b23.js +0 -8340
  41. package/dist/ripple/http-service-5d037e16.js +0 -52
  42. package/dist/ripple/index-20b65f86.js +0 -2938
  43. package/dist/ripple/index-e34aa595.js +0 -2938
  44. package/dist/ripple/interfaces-50753346.js +0 -51
  45. package/dist/ripple/p-0c2498f4.js +0 -1
  46. package/dist/ripple/p-42ca2e15.entry.js +0 -1
  47. package/dist/ripple/p-e91befe3.js +0 -1
  48. package/dist/ripple/priv-chart-popover.entry.js +0 -85
  49. package/dist/ripple/priv-datepicker.entry.js +0 -668
  50. package/dist/ripple/priv-navigator-button.entry.js +0 -25
  51. package/dist/ripple/priv-navigator-item.entry.js +0 -30
  52. package/dist/ripple/ripple.css +0 -84
  53. package/dist/ripple/shadow-css-67b66845.js +0 -389
  54. package/dist/ripple/wm-action-menu.entry.js +0 -202
  55. package/dist/ripple/wm-button.entry.js +0 -148
  56. package/dist/ripple/wm-chart-slice.entry.js +0 -18
  57. package/dist/ripple/wm-chart.entry.js +0 -504
  58. package/dist/ripple/wm-datepicker.entry.js +0 -258
  59. package/dist/ripple/wm-input.entry.js +0 -106
  60. package/dist/ripple/wm-menuitem.entry.js +0 -114
  61. package/dist/ripple/wm-modal-footer.entry.js +0 -39
  62. package/dist/ripple/wm-modal-header.entry.js +0 -41
  63. package/dist/ripple/wm-modal.entry.js +0 -145
  64. package/dist/ripple/wm-navigator.entry.js +0 -275
  65. package/dist/ripple/wm-network-uploader.entry.js +0 -427
  66. package/dist/ripple/wm-option.entry.js +0 -119
  67. package/dist/ripple/wm-pagination.entry.js +0 -172
  68. package/dist/ripple/wm-search.entry.js +0 -227
  69. package/dist/ripple/wm-select.entry.js +0 -362
  70. package/dist/ripple/wm-snackbar.entry.js +0 -156
  71. package/dist/ripple/wm-tab-item.entry.js +0 -78
  72. package/dist/ripple/wm-tab-list.entry.js +0 -201
  73. package/dist/ripple/wm-tab-panel.entry.js +0 -38
  74. package/dist/ripple/wm-tag-input.entry.js +0 -534
  75. package/dist/ripple/wm-timepicker.entry.js +0 -382
  76. package/dist/ripple/wm-toggletip.entry.js +0 -124
  77. package/dist/ripple/wm-uploader.entry.js +0 -338
  78. package/dist/ripple/wm-wrapper.entry.js +0 -17
  79. package/dist/types/components/wm-tag-input/wm-tag-input.d.ts~ds312_tagInputMaxTags +0 -87
  80. package/dist/types/components.d.ts~ds312_tagInputMaxTags +0 -879
  81. package/dist/types/stencil-public-runtime.d.ts~ds312_tagInputMaxTags +0 -1555
@@ -1,51 +0,0 @@
1
- //List of icon codes with more indicative descriptors to create labels for icon-only buttons
2
- const iconLabels = {
3
- f156: "Close",
4
- f3eb: "Edit",
5
- f739: "Cancel",
6
- f12c: "Save",
7
- f1c0: "Delete",
8
- f349: "Search",
9
- f207: "Export info",
10
- f1d9: "Open dropdown",
11
- f04d: "Go back",
12
- f054: "Go forward",
13
- f141: "Left",
14
- f142: "Right",
15
- f35e: "Menu left",
16
- f35d: "Toggle menu down",
17
- f30d: "Backspace",
18
- f645: "Sort hierarchically",
19
- f4bb: "Sort alphabetically",
20
- };
21
- function getIconCodeFromName(icon) {
22
- return iconCodes[icon] || icon;
23
- }
24
- const iconCodes = {
25
- close: "f156",
26
- pencil: "f3eb",
27
- cancel: "f739",
28
- check: "f12c",
29
- delete: "f1c0",
30
- magnify: "f349",
31
- export: "f207",
32
- "dots-vertical": "f1d9",
33
- "arrow-left": "f04d",
34
- "arrow-right": "f054",
35
- "chevron-left": "f141",
36
- "chevron-right": "f142",
37
- "menu-left": "f35e",
38
- "menu-down": "f35d",
39
- "keyboard-backspace": "f30d",
40
- "file-tree": "f645",
41
- "sort-alphabetical": "f4bb",
42
- "checkbox-marked-circle": "f133",
43
- "account-settings": "f630",
44
- "backup-restore": "f06f",
45
- };
46
- const defaultMode = "planning";
47
- const getWmMode = (ref) => {
48
- return ref.getAttribute("mode") || document.documentElement.getAttribute("mode") || defaultMode;
49
- };
50
-
51
- export { getWmMode as a, getIconCodeFromName as g };
@@ -1 +0,0 @@
1
- window.navigator.plugins.length>0&&console.log("Ripple component library version 3.0.1"),window.addEventListener("keydown",(function(n){var o=n.key||n.keyCode;if("Tab"==o||9===o){var w=new Event("wmUserIsTabbing");window.dispatchEvent(w),document.querySelector("body").classList.add("wmcl-user-is-tabbing")}"ArrowLeft"!=o&&37!==o&&"ArrowUp"!=o&&38!==o&&"ArrowRight"!=o&&39!==o&&"ArrowDown"!=o&&40!==o||(w=new Event("wmUserIsKeying"),window.dispatchEvent(w),document.querySelector("body").classList.add("wmcl-user-is-keying"))})),window.addEventListener("mousedown",(function(){var n=new Event("wmUserIsNotTabbing");window.dispatchEvent(n),document.querySelector("body").classList.remove("wmcl-user-is-tabbing"),document.querySelector("body").classList.remove("wmcl-user-is-keying")}));
@@ -1 +0,0 @@
1
- import{r as e,h as t,H as i,g as r}from"./p-934543f2.js";import{i as a,e as s,h as p,g as o}from"./p-ea5cd8b8.js";const l=class{constructor(t){e(this,t),this.value="",this.disabled=!1,this.dateFormat="US",this.errorMessage="",this.labelPosition="top",this.label="",this.requiredField=!1,this.displayError="",this.parsableEntry=/^(\d{1}|\d{2}|\d{4})[\-\.\/]\d{1,2}[\-\.\/](\d{1}|\d{2}|\d{4})$/,this.isoEntry=/^\d\d\d\d[-]\d\d[-]\d\d$/,this.eightDigitsEntry=/^\d{8}$/,this.dateFormats={US:a.formatMessage({id:"date.formatUS",defaultMessage:"mm/dd/yyyy"}),INT:a.formatMessage({id:"date.formatINT",defaultMessage:"dd/mm/yyyy"}),ISO:a.formatMessage({id:"date.formatISO",defaultMessage:"yyyy/mm/dd"})}}handleTabbingOn(){this.dpWrapper&&this.dpWrapper.classList.add("user-is-tabbing")}handleTabbingOff(){this.dpWrapper&&this.dpWrapper.classList.remove("user-is-tabbing")}handleError(){this.errorMessage?this.generateError():(this.clearError(),this.processInput())}handleValue(){this.value&&this.isValidDate(this.value)?(this.inputEl.value=this.reformatDate(this.value,this.dateFormat),this.lastValidValue=this.value):this.value||(this.inputEl.value=""),this.processInput()}handleBlur(e){const t=this.preventValidation&&s(e,this.preventValidation);this.value=this.reformatDate(this.inputEl.value,"ISO"),t||this.processInput(),this.dpWrapper.classList.remove("focus")}generateBlur(){this.el.tabIndex=0,this.el.focus(),this.el.blur()}generateBlurAndFocusButton(){this.generateBlur()}getActiveElement(){return p(document.activeElement)}handleCellTriggered(e){let t=e.detail,i=t.getAttribute("data-year")+"-"+t.getAttribute("data-month")+"-"+t.textContent;this.inputEl.value=this.reformatDate(i,this.dateFormat),this.processInput()}focusHandler(){this.dpWrapper.classList.add("focus")}processInput(){let e="";var t;this.eightDigitsEntry.test(this.inputEl.value)&&(this.inputEl.value=this.addSlashes(this.inputEl.value)),this.parsableEntry.test(this.inputEl.value)?(e=this.reformatDate(this.inputEl.value,"ISO"),this.inputEl.value=this.reformatDate(e,this.dateFormat),this.isValidDate(e)?(this.errorMessage?this.generateError():this.clearError(),this.value=this.lastValidValue=e,"function"==typeof Event?t=new Event("input"):(t=document.createEvent("Event")).initEvent("input",!0,!0),this.el.dispatchEvent(t)):this.inputEl.value.length&&this.generateError()):this.inputEl.value.length||this.requiredField||this.errorMessage?this.generateError():this.inputEl.value.length||this.requiredField||this.clearError()}reformatDate(e,t){if(!this.parsableEntry.test(e))return e;{let i=e.replace(/[\-\.]/gi,"/").split("/");switch(t){case"US":case this.dateFormats.US:return i[1].padStart(2,"0")+"/"+i[2].padStart(2,"0")+"/"+i[0].padStart(4,"20");case"INT":case this.dateFormats.INT:return i[2].padStart(2,"0")+"/"+i[1].padStart(2,"0")+"/"+i[0].padStart(4,"20");case"ISO":case this.dateFormats.ISO:if("US"===this.dateFormat||this.dateFormat===this.dateFormats.US)return i[2].padStart(4,"20")+"-"+i[0].padStart(2,"0")+"-"+i[1].padStart(2,"0");if("INT"===this.dateFormat||this.dateFormat===this.dateFormats.INT)return i[2].padStart(4,"20")+"-"+i[1].padStart(2,"0")+"-"+i[0].padStart(2,"0");if("ISO"===this.dateFormat||this.dateFormat===this.dateFormats.ISO)return i[0].padStart(4,"20")+"-"+i[1].padStart(2,"0")+"-"+i[2].padStart(2,"0");default:return i.join("/")}}}isValidDate(e){if(this.isoEntry.test(e)){let t=e.split("-"),i=parseInt(t[2],10),r=parseInt(t[1],10),a=parseInt(t[0],10);if(a<1e3||a>3e3||0==r||r>12)return!1;let s=[31,28,31,30,31,30,31,31,30,31,30,31];return(a%400==0||a%100!=0&&a%4==0)&&(s[1]=29),i>0&&i<=s[r-1]}return!1}generateError(){const e=a.formatMessage({id:"date.requiredDateError",defaultMessage:"A date is required."}),t=a.formatMessage({id:"date.invalidDate",defaultMessage:"Please enter a valid date in the format {dateFormat, select, us {mm/dd/yyyy} int {dd/mm/yyyy} iso {yyyy/mm/dd}}."},{dateFormat:this.dateFormat.toLowerCase()});this.errorMessage?this.displayError=this.errorMessage:this.inputEl.value.length?this.displayError=t:!this.inputEl.value.length&&this.requiredField&&(this.displayError=e)}clearError(){this.displayError=""}addSlashes(e){return"ISO"===this.dateFormat||this.dateFormat===this.dateFormats.ISO?e.substring(0,4)+"/"+e.substring(4,6)+"/"+e.substring(6):e.substring(0,2)+"/"+e.substring(2,4)+"/"+e.substring(4)}componentWillLoad(){if(""===this.label)throw new Error("You must include a label prop for the datepicker input (for accessibility reasons), even if the label position is none.");this.errorMessage&&this.generateError(),this.uid=this.el.id?this.el.id:o()}componentDidLoad(){this.value&&this.isValidDate(this.value)&&(this.lastValidValue=this.value,this.inputEl.value=this.reformatDate(this.value,this.dateFormat))}render(){const e=a.formatMessage({id:"date.format",defaultMessage:"{dateFormat, select, us {mm/dd/yyyy} int {dd/mm/yyyy} iso {yyyy/mm/dd}}"},{dateFormat:this.dateFormat.toLowerCase()});return t(i,{id:this.uid,onBlur:()=>{this.el.removeAttribute("tabindex")},"aria-busy":"false",class:this.displayError?"invalid":"",invalid:this.displayError?"true":null},t("div",{ref:e=>this.dpWrapper=e,class:`wrapper label-${this.labelPosition} ${this.displayError?"invalid":""}`},t("div",{class:"label-wrapper"},"none"!==this.labelPosition&&t("label",{id:`datepickerLabel-${this.uid}`,htmlFor:`date-input-${this.uid}`,class:"label",title:`${this.label} (${e})`},this.label,this.requiredField&&t("span",{"aria-hidden":"true",class:"required"},"*"))),t("div",null,t("div",{class:"inner-wrapper"},t("input",{disabled:this.disabled,type:"text",id:`date-input-${this.uid}`,class:"date-input",name:"date",placeholder:e,onFocus:this.focusHandler.bind(this),onBlur:e=>this.handleBlur(e),ref:e=>this.inputEl=e,"aria-describedby":`error-${this.uid}`,"aria-controls":`popup-${this.uid}`,"aria-label":this.label,required:this.requiredField}),t("priv-datepicker",{disabled:this.disabled,date:this.lastValidValue?new Date(this.lastValidValue):new Date,parentId:this.uid})),t("div",{id:`error-${this.uid}`,class:"error","aria-live":"assertive","aria-atomic":"true"},this.displayError))))}get el(){return r(this)}static get watchers(){return{errorMessage:["handleError"],value:["handleValue"]}}};l.style='@charset "UTF-8";:host,wm-datepicker{font-family:inherit}:host *,wm-datepicker *{box-sizing:border-box}:host .wrapper,wm-datepicker .wrapper{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;flex-direction:column;font-size:0.875rem}:host .wrapper .label,wm-datepicker .wrapper .label{display:block;line-height:normal;font-weight:600;white-space:nowrap;margin-bottom:0.25rem}:host .wrapper .label .required,wm-datepicker .wrapper .label .required{color:#c0392b}:host .wrapper.label-left,wm-datepicker .wrapper.label-left{flex-direction:row}:host .wrapper.label-left .label-wrapper,wm-datepicker .wrapper.label-left .label-wrapper{line-height:2.5rem}:host .wrapper.label-left .label-wrapper .label,wm-datepicker .wrapper.label-left .label-wrapper .label{display:flex;align-items:center;min-height:2.5rem;white-space:normal;margin-bottom:0;margin-right:0.75rem}:host .wrapper.label-none label,wm-datepicker .wrapper.label-none label{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;clip-path:inset(50%) !important;white-space:nowrap !important;margin:-1px !important}:host .wrapper.invalid .label,wm-datepicker .wrapper.invalid .label{color:#c0392b}:host .wrapper.invalid .label:after,wm-datepicker .wrapper.invalid .label: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:"";margin-left:0.3125rem}[dir=RTL] :host .wrapper.invalid .label:after,[dir=RTL] wm-datepicker .wrapper.invalid .label:after{margin-left:0;margin-right:0.3125rem}:host .wrapper.rtl.label-left .label,wm-datepicker .wrapper.rtl.label-left .label{margin-right:0;margin-left:0.75rem}:host .wrapper,wm-datepicker .wrapper{position:relative}:host .wrapper .required,wm-datepicker .wrapper .required{color:#c4431c}:host .wrapper .inner-wrapper,wm-datepicker .wrapper .inner-wrapper{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;align-items:center;height:2.5rem;border:1px solid;border-color:rgba(35, 35, 35, 0.6);-webkit-border-radius:3px;-moz-border-radius:3px;-ms-border-radius:3px;border-radius:3px;max-width:236px;justify-content:space-between;position:relative}:host .wrapper .inner-wrapper .date-input,wm-datepicker .wrapper .inner-wrapper .date-input{-moz-border-top-left-radius:3px;-webkit-border-top-left-radius:3px;border-top-left-radius:3px;-moz-border-bottom-left-radius:3px;-webkit-border-bottom-left-radius:3px;border-bottom-left-radius:3px;border:none;font-size:0.875rem;padding:0.625rem 0.9375rem 0.5rem;min-width:0;height:100%;flex:1;margin:0}:host .wrapper .inner-wrapper .date-input:disabled,wm-datepicker .wrapper .inner-wrapper .date-input:disabled{background-color:#f0f0f0;color:#737373}:host .wrapper .inner-wrapper .date-input:focus,wm-datepicker .wrapper .inner-wrapper .date-input:focus{outline:none}:host .wrapper.invalid .inner-wrapper,wm-datepicker .wrapper.invalid .inner-wrapper{-webkit-box-shadow:0 0 0 1px #c0392b;-moz-box-shadow:0 0 0 1px #c0392b;box-shadow:0 0 0 1px #c0392b;border-color:#c0392b}:host .wrapper.invalid .error,wm-datepicker .wrapper.invalid .error{margin-top:4px;margin-bottom:4px;display:block;top:100%;left:0;font-style:italic;font-size:0.875rem;color:#c0392b}:host .wrapper.focus .inner-wrapper,wm-datepicker .wrapper.focus .inner-wrapper{-webkit-box-shadow:0 0 0 1px #20cbd4;-moz-box-shadow:0 0 0 1px #20cbd4;box-shadow:0 0 0 1px #20cbd4;outline:none;border-color:#20cbd4}:host .user-is-tabbing .toggle:focus:not(:active),wm-datepicker .user-is-tabbing .toggle:focus:not(:active){border:none;z-index:11}';export{l as wm_datepicker}
@@ -1 +0,0 @@
1
- window.navigator.plugins.length>0&&console.log("Ripple component library","3.0.1"),window.addEventListener("keydown",(function(n){var o=n.key||n.keyCode;if("Tab"==o||9===o){var w=new Event("wmUserIsTabbing");window.dispatchEvent(w),document.querySelector("body").classList.add("wmcl-user-is-tabbing")}"ArrowLeft"!=o&&37!==o&&"ArrowUp"!=o&&38!==o&&"ArrowRight"!=o&&39!==o&&"ArrowDown"!=o&&40!==o||(w=new Event("wmUserIsKeying"),window.dispatchEvent(w),document.querySelector("body").classList.add("wmcl-user-is-keying"))})),window.addEventListener("mousedown",(function(){var n=new Event("wmUserIsNotTabbing");window.dispatchEvent(n),document.querySelector("body").classList.remove("wmcl-user-is-tabbing"),document.querySelector("body").classList.remove("wmcl-user-is-keying")}));
@@ -1,85 +0,0 @@
1
- import { r as registerInstance, e as createEvent, h, f as Host, g as getElement } from './index-e34aa595.js';
2
- import { i as intl } from './functions-316c1b23.js';
3
-
4
- const privChartPopoverCss = "priv-chart-popover{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:#fff;font-size:0.875rem;text-align:left}priv-chart-popover.user-is-tabbing .button-text{background:linear-gradient(90deg, #3862e9 66%, transparent 0) repeat-x;background-size:6px 3px;background-position:0 1em;border-radius:0;line-height:normal}.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;clip-path:inset(50%) !important;white-space:nowrap !important;margin:-1px !important}.popover{width:10.5rem;padding:0.625rem 0.9375rem;box-sizing:border-box}.popover h1.title{font-size:1em;font-weight:500;margin:0;padding-top:0;padding-left:0;padding-bottom:0.25rem}.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:transparent;text-decoration:none;letter-spacing:0;text-transform:none;text-align:initial;font-size:0.875rem;font-weight:700;color:#575195;line-height:normal}.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;background:none;color:#454077}.popover .popover-button:hover span{text-decoration:underline}";
5
-
6
- const ChartPopover = class {
7
- constructor(hostRef) {
8
- registerInstance(this, hostRef);
9
- this.wmChartPopoverButtonTriggered = createEvent(this, "wmChartPopoverButtonTriggered", 7);
10
- this.open = false;
11
- this.coords = {};
12
- this.popoverWidth = 168;
13
- this.popoverClicked = false;
14
- }
15
- handleClickOnDocument() {
16
- // because this listener is set document-wide, whenever something inside it is clicked
17
- // the event target returned will always be the host (wm-chart)
18
- // the element within wm-chart is determined by the other listener and saved as var popoverClicked for use here
19
- // capture = false in @Listen ensures order of execution
20
- this.open = this.popoverClicked;
21
- this.popoverClicked = false;
22
- }
23
- handleClick(ev) {
24
- let popoverBtnClicked = false;
25
- if (this.btnEl) {
26
- popoverBtnClicked = ev.target === this.btnEl || this.btnEl.contains(ev.target);
27
- }
28
- // if the click is on the popover (except the popover button),
29
- // set popoverClicked to true. It will be used by the other listener above
30
- this.popoverClicked = !popoverBtnClicked && (ev.target === this.el || this.el.contains(ev.target));
31
- }
32
- renderLiveRegion() {
33
- if (this.liveRegion) {
34
- this.liveRegion.innerHTML = "";
35
- const wrapper = document.createElement("div");
36
- const titleEl = document.createElement("span");
37
- titleEl.innerHTML = this.popoverTitle + " " || "";
38
- wrapper.appendChild(titleEl);
39
- const textEl = document.createElement("span");
40
- textEl.innerHTML = this.popoverText + " " || "";
41
- wrapper.appendChild(textEl);
42
- if (this.buttonText) {
43
- const buttonEl = document.createElement("span");
44
- buttonEl.innerHTML =
45
- this.buttonText +
46
- " " +
47
- intl.formatMessage({
48
- id: "chart.infoButton",
49
- defaultMessage: "Button. Click for more information.",
50
- });
51
- wrapper.appendChild(buttonEl);
52
- }
53
- this.liveRegion.appendChild(wrapper);
54
- }
55
- }
56
- positionPopover() {
57
- this.el.style.top = this.coords.y + "px";
58
- if (window.innerWidth - this.coords.x >= this.popoverWidth + 10) {
59
- this.el.style.left = this.coords.x + "px"; // opens on the right
60
- }
61
- else {
62
- this.el.style.left = this.coords.x - this.popoverWidth + "px"; // opens on the left
63
- }
64
- }
65
- render() {
66
- return (h(Host, null, !!this.open ? (h("div", { "aria-hidden": "true", class: "popover" }, h("h1", { class: "title" }, this.popoverTitle), h("p", { class: "text" }, this.popoverText), this.buttonText ? (
67
- // @ts-ignore
68
- h("button", { tabindex: "-1",
69
- // @ts-ignore
70
- focusable: "false", ref: (el) => (this.btnEl = el), class: "popover-button", onClick: () => {
71
- if (this.sliceRef) {
72
- this.sliceRef.click();
73
- this.wmChartPopoverButtonTriggered.emit(this.sliceRef);
74
- }
75
- this.open = false;
76
- } }, h("svg", { class: "btn-icon", height: "9", width: "9" }, h("path", { fill: "#575195", d: "M0 3.38v2.25h9V3.38H0zM0 0v2.25h4.5V0H0zm6.19 6.75H0V9h6.19V6.75z" })), h("span", { class: "button-text" }, this.buttonText))) : (""))) : (""), h("div", { ref: (el) => (this.liveRegion = el), class: "live-region sr-only", "aria-live": "polite", "aria-atomic": "true" }, this.open && this.renderLiveRegion())));
77
- }
78
- get el() { return getElement(this); }
79
- static get watchers() { return {
80
- "coords": ["positionPopover"]
81
- }; }
82
- };
83
- ChartPopover.style = privChartPopoverCss;
84
-
85
- export { ChartPopover as priv_chart_popover };