@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.
- package/dist/cjs/{global-ccb9500c.js → global-1e540de6.js} +1 -1
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/priv-datepicker.cjs.entry.js +1 -1
- package/dist/cjs/ripple.cjs.js +2 -2
- package/dist/cjs/wm-datepicker.cjs.entry.js +25 -30
- package/dist/collection/components/wm-datepicker/priv-datepicker/priv-datepicker.css +9 -0
- package/dist/collection/components/wm-datepicker/wm-datepicker.js +26 -32
- package/dist/esm/{global-4f914bb2.js → global-d6b49e98.js} +1 -1
- package/dist/esm/loader.js +2 -2
- package/dist/esm/priv-datepicker.entry.js +1 -1
- package/dist/esm/ripple.js +2 -2
- package/dist/esm/wm-datepicker.entry.js +25 -30
- package/dist/ripple/p-129d94fa.entry.js +1 -0
- package/dist/ripple/{p-454ad552.entry.js → p-c0fe5201.entry.js} +1 -1
- package/dist/ripple/{p-69a73e86.js → p-e3843249.js} +1 -1
- package/dist/ripple/ripple.esm.js +1 -1
- package/dist/types/components/wm-datepicker/wm-datepicker.d.ts +3 -3
- package/package.json +1 -1
- package/dist/cjs/app-globals-a07327ae.js +0 -47
- package/dist/cjs/css-shim-a7379e2b.js +0 -6
- package/dist/cjs/dom-3e7d9c3b.js +0 -75
- package/dist/cjs/functions-65513c61.js +0 -8360
- package/dist/cjs/global-06317e3f.js +0 -36
- package/dist/cjs/global-f6930bb0.js +0 -38
- package/dist/cjs/index-8dea8c13.js +0 -2976
- package/dist/cjs/shadow-css-09555044.js +0 -391
- package/dist/esm/app-globals-f62991a4.js +0 -45
- package/dist/esm/css-shim-bbdf0cc6.js +0 -4
- package/dist/esm/dom-1f98a75f.js +0 -73
- package/dist/esm/functions-316c1b23.js +0 -8340
- package/dist/esm/global-03372f70.js +0 -34
- package/dist/esm/global-fedbc323.js +0 -36
- package/dist/esm/index-e34aa595.js +0 -2938
- package/dist/esm/shadow-css-67b66845.js +0 -389
- package/dist/ripple/app-globals-b5693c90.js +0 -45
- package/dist/ripple/app-globals-d72c2d3c.js +0 -45
- package/dist/ripple/app-globals-f62991a4.js +0 -45
- package/dist/ripple/css-shim-bbdf0cc6.js +0 -4
- package/dist/ripple/dom-1f98a75f.js +0 -73
- package/dist/ripple/functions-316c1b23.js +0 -8340
- package/dist/ripple/http-service-5d037e16.js +0 -52
- package/dist/ripple/index-20b65f86.js +0 -2938
- package/dist/ripple/index-e34aa595.js +0 -2938
- package/dist/ripple/interfaces-50753346.js +0 -51
- package/dist/ripple/p-0c2498f4.js +0 -1
- package/dist/ripple/p-42ca2e15.entry.js +0 -1
- package/dist/ripple/p-e91befe3.js +0 -1
- package/dist/ripple/priv-chart-popover.entry.js +0 -85
- package/dist/ripple/priv-datepicker.entry.js +0 -668
- package/dist/ripple/priv-navigator-button.entry.js +0 -25
- package/dist/ripple/priv-navigator-item.entry.js +0 -30
- package/dist/ripple/ripple.css +0 -84
- package/dist/ripple/shadow-css-67b66845.js +0 -389
- package/dist/ripple/wm-action-menu.entry.js +0 -202
- package/dist/ripple/wm-button.entry.js +0 -148
- package/dist/ripple/wm-chart-slice.entry.js +0 -18
- package/dist/ripple/wm-chart.entry.js +0 -504
- package/dist/ripple/wm-datepicker.entry.js +0 -258
- package/dist/ripple/wm-input.entry.js +0 -106
- package/dist/ripple/wm-menuitem.entry.js +0 -114
- package/dist/ripple/wm-modal-footer.entry.js +0 -39
- package/dist/ripple/wm-modal-header.entry.js +0 -41
- package/dist/ripple/wm-modal.entry.js +0 -145
- package/dist/ripple/wm-navigator.entry.js +0 -275
- package/dist/ripple/wm-network-uploader.entry.js +0 -427
- package/dist/ripple/wm-option.entry.js +0 -119
- package/dist/ripple/wm-pagination.entry.js +0 -172
- package/dist/ripple/wm-search.entry.js +0 -227
- package/dist/ripple/wm-select.entry.js +0 -362
- package/dist/ripple/wm-snackbar.entry.js +0 -156
- package/dist/ripple/wm-tab-item.entry.js +0 -78
- package/dist/ripple/wm-tab-list.entry.js +0 -201
- package/dist/ripple/wm-tab-panel.entry.js +0 -38
- package/dist/ripple/wm-tag-input.entry.js +0 -534
- package/dist/ripple/wm-timepicker.entry.js +0 -382
- package/dist/ripple/wm-toggletip.entry.js +0 -124
- package/dist/ripple/wm-uploader.entry.js +0 -338
- package/dist/ripple/wm-wrapper.entry.js +0 -17
- package/dist/types/components/wm-tag-input/wm-tag-input.d.ts~ds312_tagInputMaxTags +0 -87
- package/dist/types/components.d.ts~ds312_tagInputMaxTags +0 -879
- 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 };
|