@watermarkinsights/ripple 3.5.2-0 → 3.6.0-2
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/README.md +3 -3
- package/dist/cjs/{functions-8fb310fe.js → functions-0cf2d639.js} +1128 -486
- package/dist/cjs/{global-abd32fdd.js → global-b6602785.js} +65 -65
- package/dist/cjs/{http-service-9e8c4dd5.js → http-service-494d81de.js} +49 -49
- package/dist/cjs/{interfaces-30a74c1f.js → interfaces-a3338581.js} +29 -29
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/priv-chart-popover.cjs.entry.js +79 -79
- package/dist/cjs/priv-datepicker.cjs.entry.js +667 -667
- package/dist/cjs/priv-navigator-button.cjs.entry.js +18 -18
- package/dist/cjs/priv-navigator-item.cjs.entry.js +23 -23
- package/dist/cjs/ripple.cjs.js +2 -2
- package/dist/cjs/wm-action-menu_2.cjs.entry.js +341 -341
- package/dist/cjs/wm-button.cjs.entry.js +218 -218
- package/dist/cjs/wm-chart-slice.cjs.entry.js +13 -13
- package/dist/cjs/wm-chart.cjs.entry.js +475 -475
- package/dist/cjs/wm-datepicker.cjs.entry.js +256 -256
- package/dist/cjs/wm-input.cjs.entry.js +134 -133
- package/dist/cjs/wm-modal-footer.cjs.entry.js +31 -31
- package/dist/cjs/wm-modal-header.cjs.entry.js +34 -34
- package/dist/cjs/wm-modal.cjs.entry.js +161 -161
- package/dist/cjs/wm-navigator.cjs.entry.js +268 -268
- package/dist/cjs/wm-network-uploader.cjs.entry.js +421 -420
- package/dist/cjs/wm-option_2.cjs.entry.js +494 -492
- package/dist/cjs/wm-pagination.cjs.entry.js +167 -167
- package/dist/cjs/wm-search.cjs.entry.js +231 -231
- package/dist/cjs/wm-snackbar.cjs.entry.js +170 -170
- package/dist/cjs/wm-tab-item_3.cjs.entry.js +300 -300
- package/dist/cjs/wm-tag-input.cjs.entry.js +570 -556
- package/dist/cjs/wm-timepicker.cjs.entry.js +380 -379
- package/dist/cjs/wm-toggletip.cjs.entry.js +124 -124
- package/dist/cjs/wm-uploader.cjs.entry.js +360 -347
- package/dist/cjs/wm-wrapper.cjs.entry.js +12 -12
- package/dist/collection/components/wm-action-menu/wm-action-menu.js +460 -460
- package/dist/collection/components/wm-button/wm-button.js +485 -485
- package/dist/collection/components/wm-chart/priv-chart-popover/priv-chart-popover.css +1 -0
- package/dist/collection/components/wm-chart/priv-chart-popover/priv-chart-popover.js +232 -232
- package/dist/collection/components/wm-chart/wm-chart-slice.js +64 -64
- package/dist/collection/components/wm-chart/wm-chart.css +4 -0
- package/dist/collection/components/wm-chart/wm-chart.js +719 -719
- package/dist/collection/components/wm-datepicker/priv-datepicker/priv-datepicker.js +1015 -1015
- package/dist/collection/components/wm-datepicker/wm-datepicker.js +462 -462
- package/dist/collection/components/wm-input/wm-input.js +424 -423
- package/dist/collection/components/wm-menuitem/wm-menuitem.js +444 -444
- package/dist/collection/components/wm-modal/wm-modal-footer.js +141 -141
- package/dist/collection/components/wm-modal/wm-modal-header.js +92 -92
- package/dist/collection/components/wm-modal/wm-modal.js +459 -459
- package/dist/collection/components/wm-navigator/priv-navigator-button/priv-navigator-button.js +97 -97
- package/dist/collection/components/wm-navigator/priv-navigator-item/priv-navigator-item.js +114 -114
- package/dist/collection/components/wm-navigator/wm-navigator.js +468 -468
- package/dist/collection/components/wm-option/wm-option.js +422 -422
- package/dist/collection/components/wm-pagination/wm-pagination.js +368 -368
- package/dist/collection/components/wm-search/wm-search.js +479 -479
- package/dist/collection/components/wm-select/wm-select.js +720 -718
- package/dist/collection/components/wm-snackbar/wm-snackbar.js +297 -297
- package/dist/collection/components/wm-tabs/wm-tab-item/wm-tab-item.js +219 -219
- package/dist/collection/components/wm-tabs/wm-tab-list/wm-tab-list.js +331 -331
- package/dist/collection/components/wm-tabs/wm-tab-panel/wm-tab-panel.js +104 -104
- package/dist/collection/components/wm-tag-input/wm-tag-input.js +801 -787
- package/dist/collection/components/wm-timepicker/wm-timepicker.js +580 -579
- package/dist/collection/components/wm-toggletip/wm-toggletip.js +241 -241
- package/dist/collection/components/wm-uploader/wm-network-uploader/wm-network-uploader.js +772 -753
- package/dist/collection/components/wm-uploader/wm-uploader.css +18 -11
- package/dist/collection/components/wm-uploader/wm-uploader.js +794 -748
- package/dist/collection/components/wm-wrapper/wm-wrapper.js +27 -27
- package/dist/collection/dev/scripts.js +20 -20
- package/dist/collection/global/__mocks__/functions.js +6 -6
- package/dist/collection/global/functions.js +445 -445
- package/dist/collection/global/global.js +72 -72
- package/dist/collection/global/interfaces.js +49 -49
- package/dist/collection/global/services/__mocks__/http-service.js +130 -130
- package/dist/collection/global/services/http-service.js +50 -50
- package/dist/collection/lang/lang.js +5 -5
- package/dist/collection/lang/missing.js +39 -0
- package/dist/collection/lang/piglatin.js +93 -93
- package/dist/esm/{functions-c315390d.js → functions-223fb0dc.js} +1128 -486
- package/dist/esm/{global-77d57a10.js → global-f9c17bf1.js} +65 -65
- package/dist/esm/{http-service-5d037e16.js → http-service-3dc3b3e7.js} +49 -49
- package/dist/esm/{interfaces-61c6305b.js → interfaces-2b97fab2.js} +29 -29
- package/dist/esm/loader.js +2 -2
- package/dist/esm/polyfills/core-js.js +0 -0
- package/dist/esm/polyfills/dom.js +0 -0
- package/dist/esm/polyfills/es5-html-element.js +0 -0
- package/dist/esm/polyfills/index.js +0 -0
- package/dist/esm/polyfills/system.js +0 -0
- package/dist/esm/priv-chart-popover.entry.js +79 -79
- package/dist/esm/priv-datepicker.entry.js +667 -667
- package/dist/esm/priv-navigator-button.entry.js +18 -18
- package/dist/esm/priv-navigator-item.entry.js +23 -23
- package/dist/esm/ripple.js +2 -2
- package/dist/esm/wm-action-menu_2.entry.js +341 -341
- package/dist/esm/wm-button.entry.js +218 -218
- package/dist/esm/wm-chart-slice.entry.js +13 -13
- package/dist/esm/wm-chart.entry.js +475 -475
- package/dist/esm/wm-datepicker.entry.js +256 -256
- package/dist/esm/wm-input.entry.js +134 -133
- package/dist/esm/wm-modal-footer.entry.js +31 -31
- package/dist/esm/wm-modal-header.entry.js +34 -34
- package/dist/esm/wm-modal.entry.js +161 -161
- package/dist/esm/wm-navigator.entry.js +268 -268
- package/dist/esm/wm-network-uploader.entry.js +421 -420
- package/dist/esm/wm-option_2.entry.js +494 -492
- package/dist/esm/wm-pagination.entry.js +167 -167
- package/dist/esm/wm-search.entry.js +231 -231
- package/dist/esm/wm-snackbar.entry.js +170 -170
- package/dist/esm/wm-tab-item_3.entry.js +300 -300
- package/dist/esm/wm-tag-input.entry.js +570 -556
- package/dist/esm/wm-timepicker.entry.js +380 -379
- package/dist/esm/wm-toggletip.entry.js +124 -124
- package/dist/esm/wm-uploader.entry.js +361 -348
- package/dist/esm/wm-wrapper.entry.js +12 -12
- package/dist/ripple/{p-374b4fa6.entry.js → p-03f14a00.entry.js} +1 -1
- package/dist/ripple/{p-c724ce54.entry.js → p-0663e9fc.entry.js} +1 -1
- package/dist/ripple/{p-36da5d4a.entry.js → p-07f557b0.entry.js} +1 -1
- package/dist/ripple/{p-dea72d46.entry.js → p-0b1cdd4e.entry.js} +1 -1
- package/dist/ripple/{p-ba9d3069.entry.js → p-1fdd85ea.entry.js} +1 -1
- package/dist/ripple/p-2d7891e9.entry.js +1 -0
- package/dist/ripple/{p-888bec42.js → p-43f1298b.js} +0 -0
- package/dist/ripple/{p-5ffa983b.entry.js → p-6b28f3fe.entry.js} +1 -1
- package/dist/ripple/{p-e574fb73.entry.js → p-6d0b3f08.entry.js} +1 -1
- package/dist/ripple/{p-8a1c87e7.js → p-792a78d7.js} +1 -1
- package/dist/ripple/{p-7bbd123c.entry.js → p-94f584c5.entry.js} +1 -1
- package/dist/ripple/p-a1fc8e81.entry.js +1 -0
- package/dist/ripple/{p-b03382ea.entry.js → p-a84de435.entry.js} +1 -1
- package/dist/ripple/{p-c5e44367.entry.js → p-addbfa91.entry.js} +1 -1
- package/dist/ripple/p-b14062a7.entry.js +1 -0
- package/dist/ripple/p-c5d718c7.entry.js +1 -0
- package/dist/ripple/p-c637686e.entry.js +1 -0
- package/dist/ripple/{p-042d6449.entry.js → p-c8655e6c.entry.js} +1 -1
- package/dist/ripple/p-cf075b3b.js +16 -0
- package/dist/ripple/{p-d69c1688.entry.js → p-d5938de0.entry.js} +1 -1
- package/dist/ripple/{p-b4a8c8d3.entry.js → p-e26c9858.entry.js} +1 -1
- package/dist/ripple/p-f23d6211.entry.js +1 -0
- package/dist/ripple/p-fb90d334.entry.js +1 -0
- package/dist/ripple/{p-a6d6eae7.js → p-fd8070fb.js} +0 -0
- package/dist/ripple/ripple.esm.js +1 -1
- package/dist/types/components/wm-action-menu/wm-action-menu.d.ts +48 -48
- package/dist/types/components/wm-button/wm-button.d.ts +44 -44
- package/dist/types/components/wm-chart/priv-chart-popover/priv-chart-popover.d.ts +23 -23
- package/dist/types/components/wm-chart/wm-chart-slice.d.ts +8 -8
- package/dist/types/components/wm-chart/wm-chart.d.ts +82 -82
- package/dist/types/components/wm-datepicker/priv-datepicker/priv-datepicker.d.ts +76 -76
- package/dist/types/components/wm-datepicker/wm-datepicker.d.ts +41 -41
- package/dist/types/components/wm-input/wm-input.d.ts +46 -46
- package/dist/types/components/wm-menuitem/wm-menuitem.d.ts +34 -34
- package/dist/types/components/wm-modal/wm-modal-footer.d.ts +15 -15
- package/dist/types/components/wm-modal/wm-modal-header.d.ts +12 -12
- package/dist/types/components/wm-modal/wm-modal.d.ts +41 -41
- package/dist/types/components/wm-navigator/priv-navigator-button/priv-navigator-button.d.ts +10 -10
- package/dist/types/components/wm-navigator/priv-navigator-item/priv-navigator-item.d.ts +13 -13
- package/dist/types/components/wm-navigator/wm-navigator.d.ts +61 -61
- package/dist/types/components/wm-option/wm-option.d.ts +32 -32
- package/dist/types/components/wm-pagination/wm-pagination.d.ts +32 -32
- package/dist/types/components/wm-search/wm-search.d.ts +86 -86
- package/dist/types/components/wm-select/wm-select.d.ts +66 -66
- package/dist/types/components/wm-snackbar/wm-snackbar.d.ts +35 -35
- package/dist/types/components/wm-tabs/wm-tab-item/wm-tab-item.d.ts +38 -38
- package/dist/types/components/wm-tabs/wm-tab-list/wm-tab-list.d.ts +53 -53
- package/dist/types/components/wm-tabs/wm-tab-panel/wm-tab-panel.d.ts +20 -20
- package/dist/types/components/wm-tag-input/wm-tag-input.d.ts +92 -91
- package/dist/types/components/wm-timepicker/wm-timepicker.d.ts +61 -61
- package/dist/types/components/wm-toggletip/wm-toggletip.d.ts +27 -27
- package/dist/types/components/wm-uploader/wm-network-uploader/wm-network-uploader.d.ts +86 -85
- package/dist/types/components/wm-uploader/wm-uploader.d.ts +84 -80
- package/dist/types/components/wm-wrapper/wm-wrapper.d.ts +7 -7
- package/dist/types/components.d.ts +30 -24
- package/dist/types/global/__mocks__/functions.d.ts +6 -6
- package/dist/types/global/functions.d.ts +40 -40
- package/dist/types/global/global.d.ts +1 -1
- package/dist/types/global/interfaces.d.ts +34 -34
- package/dist/types/global/services/__mocks__/http-service.d.ts +6 -6
- package/dist/types/global/services/http-service.d.ts +4 -4
- package/dist/types/lang/lang.d.ts +5 -5
- package/package.json +47 -46
- package/dist/ripple/p-31fde2c6.entry.js +0 -1
- package/dist/ripple/p-34694011.entry.js +0 -1
- package/dist/ripple/p-41f39509.entry.js +0 -1
- package/dist/ripple/p-75a9ba2f.entry.js +0 -1
- package/dist/ripple/p-a50439f1.entry.js +0 -1
- package/dist/ripple/p-d5fafa9c.entry.js +0 -1
- package/dist/ripple/p-e60fe2f5.js +0 -16
- package/dist/ripple/p-ec5db255.entry.js +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as t,c as o,f as e,h as n,H as r,g as i}from"./p-9baa3039.js";import{g as a,p as s,a as l,d}from"./p-fd8070fb.js";import{g as m,i as b,p as u}from"./p-cf075b3b.js";const w=class{constructor(e){t(this,e),this.wmNetworkUploaderFilesChanged=o(this,"wmNetworkUploaderFilesChanged",7),this.isTabbing=!1,this.fileList=[],this.inProgressList=[],this.errorList=[],this.snackbar=[],this.buttonType="secondary",this.fileTypes="pdf txt log xml doc docx xls xlsx ppt pptx gif jpg jpeg png csv",this.maxSize=100,this.sortBy="date",this.inputId=m()}toggleTabbingOn(){this.isTabbing=!0}toggleTabbingOff(){this.isTabbing=!1}handleUploadProgress(t){if(this.inProgressList.map((o=>{o.name===t.detail.file_name&&(o.progress=t.detail.progress,e(this.el))})),100===t.detail.progress&&(this.numFilesInProgress-=1),!this.srProgress&&this.numFilesInProgress){const t=this.numFilesInProgress;this.srProgress=setInterval((()=>{const o=this.inProgressList.reduce(((t,o)=>o.progress?t+o.progress:t),0);this.liveRegion&&(this.liveRegion.innerHTML=b.formatMessage({id:"uploader.uploadProgress",defaultMessage:"Upload progress: {percentage}%"},{percentage:Math.floor(o/t)}))}),5e3)}}handleFinishedSnack(t){this.snackbar=this.snackbar.filter((o=>o.id!==t.detail.id))}setMaxSize(){this.maxSize=this.maxSize>100?100:this.maxSize}uploadNotifications(t,o){if(o>0&&0===t){setTimeout((()=>{this.notif=null}),2e4);const t=b.formatMessage({id:"uploader.finishedUploading",defaultMessage:"Finished uploading"});this.notif={id:5,message:t},this.liveRegion&&(this.liveRegion.innerHTML=t),this.numFilesInProgress=null,clearInterval(this.srProgress),e(this.el)}else if(t>0&&t!=o){const o=b.formatMessage({id:"uploader.filesUploading",defaultMessage:"{num, plural, one {1 file uploading} other {# files uploading}}"},{num:t});this.notif={id:6,message:o},this.liveRegion&&(this.liveRegion.innerHTML=o),e(this.el)}}emitFileListEvent(){this.wmNetworkUploaderFilesChanged.emit(this.fileList)}formatDate(t,o,e){const n=Date.parse(t);if(!o.match(/^[a-zA-Z]*(-[a-zA-Z0-9]*)*$/g))return t;try{Intl.getCanonicalLocales(o)}catch(t){o="en-us"}if(n){const t=new Date(n);return`${t.getFullYear()}/${("0"+(t.getMonth()+1)).substr(-2)}/${("0"+t.getDate()).substr(-2)} ${t.toLocaleTimeString([o,"en-us"],{timeZone:e,hour:"numeric",minute:"numeric"})}`}return t}isValidSize(t){return t/1024/1024<=this.maxSize}isDuplicate(t){return this.fileList.find((o=>o.file_name===t))}isEmpty(){return!this.fileList.length&&!this.inProgressList.length&&!this.errorList.length}isDisabled(){const t=!!this.maxFiles&&this.fileList.length>=this.maxFiles;if(this.notif)1===this.notif.id&&(t||(this.notif=null));else if(t){const t=b.formatMessage({id:"uploader.fileUploadLimit",defaultMessage:"You have reached the file upload limit."});this.notif={id:1,message:t},this.liveRegion&&(this.liveRegion.innerHTML=t)}else this.notif=null;return t||this.numFilesInProgress>0}purgeProgressList(t){this.inProgressList=this.inProgressList.filter((o=>100!==o.progress&&o.name!==t.file_name))}getExistingFiles(){a(this.getPath).then((t=>{t.map((t=>this.purgeProgressList(t))),"name"===this.sortBy&&t.sort(((t,o)=>t.file_name.localeCompare(o.file_name))),this.fileList=t})).catch((t=>{console.error(t)}))}clearErrors(){this.errorList=[],this.notif=null}handleFiles(t){const o=Array.from(t.target.files),n=this.fileTypes.split(" ").join(", ");if(this.maxFiles&&this.fileList.length+o.length>this.maxFiles){const t=b.formatMessage({id:"uploader.fileUploadExceeded",defaultMessage:"The number of selected files exceeds the limit."});this.notif={id:2,message:t},this.liveRegion&&(this.liveRegion.innerHTML=t)}else o&&o.map((t=>{if(u(t,this.fileTypes))if(this.isValidSize(t.size))if(this.isDuplicate(t.name)){const o={file_name:t.name,message:b.formatMessage({id:"uploader.duplicateName",defaultMessage:"A file with this name already exists."})};this.errorList.push(o)}else this.inProgressList.push(t);else{const o={file_name:t.name,message:b.formatMessage({id:"uploader.fileTooLarge",defaultMessage:"The selected file is too large. Maximum file size is {size}Mb"},{size:this.maxSize})};this.errorList.push(o)}else{const o={file_name:t.name,message:b.formatMessage({id:"uploader.invalidFileType",defaultMessage:"The file type is invalid. Accepted types: {validTypes}"},{validTypes:n})};this.errorList.push(o)}e(this.el)})),this.inProgressList.length>0&&(this.numFilesInProgress=this.inProgressList.length,this.inProgressList.map(((t,o)=>{this.uploadFile(t,o)})));t.target.value=""}uploadFile(t,o){a(this.requestUploadPath+o.toString()).then((async o=>{const e=JSON.parse(this.associatedData),n=Object.assign(Object.assign({},e),{file_name:t.name,mime_type:t.type,file_path:o.path,document_uuid:o.guid});await s(o.url,t,(o=>{const e=new CustomEvent("wmUploadProgress",{detail:{file_name:t.name,progress:o.lengthComputable&&0!==o.total?o.loaded/o.total*100:0}});this.el.dispatchEvent(e)})),await l(this.uploadPath,n),this.getExistingFiles()})).catch((t=>{this.numFilesInProgress=null,this.inProgressList=[],this.notif={id:3,message:b.formatMessage({id:"global.genericError",defaultMessage:"An error occurred. Please try again."})},console.error(t)}))}downloadFile(t,o){this.clearErrors(),l(this.requestDownloadPath,{file_path:o,file_uuid:t}).then((t=>{window.location.assign(t.url)})).catch((t=>{console.error(t)}))}deleteFile(t){this.clearErrors(),this.snackbar.push({message:b.formatMessage({id:"uploader.fileDeleted",defaultMessage:"{fileName} was deleted."},{fileName:t.file_name}),id:t.uuid,link:""}),this.fileList=this.fileList.filter((o=>o.uuid!==t.uuid)),d(`${this.deletePath}/${t.uuid}`).catch((o=>{this.notif={id:4,message:b.formatMessage({id:"uploader.fileNotDeleted",defaultMessage:"{fileName} could not be deleted."},{fileName:t.file_name})},this.getExistingFiles(),console.error(o)}))}componentWillLoad(){if(!this.getPath)throw new Error("wm-network-uploader: get-path is a required prop");if(!this.requestUploadPath)throw new Error("wm-network-uploader: request-upload-path is a required prop");if(!this.uploadPath)throw new Error("wm-network-uploader: upload-path is a required prop");if(!this.requestDownloadPath)throw new Error("wm-network-uploader: request-download-path is a required prop");if(!this.deletePath)throw new Error("wm-network-uploader: delete-path is a required prop");if(!this.buttonText)throw new Error("wm-network-uploader: button-text is a required prop");if(!this.emptyStateText)throw new Error("wm-network-uploader: empty-state-text is a required prop");if(!this.associatedData)throw new Error("wm-network-uploader: associated-data is a required prop");this.setMaxSize(),this.clearErrors()}componentDidLoad(){this.getExistingFiles(),this.el.classList.contains("sc-wm-uploader-h")&&this.inputEl&&this.inputEl.addEventListener("keydown",(t=>{this.inputEl&&13===t.keyCode&&this.inputEl.click()})),document.body.classList.contains("wmcl-user-is-tabbing")&&this.toggleTabbingOn()}renderUploadSvg(){return n("svg",{class:"upload-file",width:"91",height:"84",viewBox:"0 0 91 84"},n("path",{transform:"rotate(-180.000000) translate(-452, -255.5)",fill:"#eae8ec",d:"M361,249.681818 L361,197.318182 C361,194.118182 365.555061,191.5 371.122358,191.5 L391.316463,191.5 L391.286495,200.562515 L369.871211,200.600292 L369.885404,200.622146 L369.886423,246.655947 L443.657038,246.840767 L443.657038,200.622146 L421.683537,200.622146 L421.683537,191.5 L441.978865,191.5 C447.546162,191.5 452,194.118182 452,197.318182 L452,249.681818 C452,252.881818 447.546162,255.5 441.978865,255.5 L371.122358,255.5 C365.504449,255.5 361,252.881818 361,249.681818 Z M391.5,207 L406,221 L420.5,207 L409.625,207 L409.625,172 L402.375,172 L402.375,207 L391.5,207 Z"}))}renderIcon(){return this.icon&&n("span",{class:"mdi "+(this.icon&&"f066"===this.icon?"rotate":"")},String.fromCodePoint(parseInt(`0x${this.icon}`)))}renderNotif(){return this.notif?n("span",{class:"notif"},this.notif.message):""}renderUploadButton(t){return n("div",{class:"notif-wrapper"},n("input",{ref:t=>this.inputEl=t,name:this.inputId,id:this.inputId,class:"sr-only",type:"file",multiple:!0,onClick:()=>this.clearErrors(),onChange:t=>this.handleFiles(t),disabled:this.isDisabled()}),n("label",{htmlFor:this.inputId,class:`wm-button ${t}${this.isTabbing?" user-is-tabbing":""}`},this.renderIcon(),this.buttonText),this.renderNotif())}renderWithItems(){return n("div",null,n("div",{class:"header"},n("div",{class:"descr"},n("slot",null)),this.renderUploadButton(`${this.buttonType} ${this.isDisabled()?"disabled":""}`)),this.renderErrorList(),this.renderInProgressList(),this.renderFileList())}renderEmptyState(){return n("div",null,n("div",{class:"header"},n("div",{class:"descr"},n("slot",null))),n("div",{class:"empty-block"},this.renderUploadSvg(),n("div",{class:"empty-message"},this.emptyStateText),this.renderUploadButton("-primary empty-button")))}renderErrorList(){if(this.errorList.length){if(this.liveRegion){let t=this.errorList.reduce((function(t,o){return t+`${o.file_name}: ${o.message} `}),"");this.liveRegion.innerHTML=t}return n("ul",{class:"error-list"},this.errorList.map((t=>n("li",null,n("div",{class:"file --error"},n("div",{class:"file-info"},n("span",{class:"filename"},t.file_name))),n("div",{class:"error-message"},t.message)))))}}renderInProgressList(){return n("ul",{class:"inprogress-list"},this.inProgressList.map((t=>n("li",null,n("div",{class:"file --progress"},n("div",{class:"progress",style:{background:`linear-gradient(to right, rgba(67, 126, 142, 1) ${t.progress}%, transparent ${t.progress}%)`}}),n("div",{class:"file-info"},n("span",{class:"filename"},t.name," ",n("span",{class:"sr-only"},"uploading"))))))))}renderFile(t){return n("li",null,n("div",{class:"file --saved"},n("div",{class:"file-info"},n("span",{class:"filename"},t.file_name),n("span",{class:"filedate"},this.formatDate(t.updated_at,b.locale,Intl.DateTimeFormat().resolvedOptions().timeZone))),n("div",{class:"file-controls"},n("wm-button",{class:"download-button","button-type":"icononly",tooltip:"download","label-for-identical-buttons":`download ${t.file_name}`,icon:"f1da",onClick:()=>this.downloadFile(t.uuid,t.file_path)}),n("wm-button",{class:"delete-button","button-type":"icononly",tooltip:"remove","label-for-identical-buttons":`remove ${t.file_name}`,icon:"f1c0",onClick:()=>this.deleteFile(t)}))))}renderFileList(){return n("ul",{class:"file-list"},this.fileList.map((t=>this.renderFile(t))))}render(){return n(r,null,this.isEmpty()?this.renderEmptyState():this.renderWithItems(),n("wm-snackbar",{notifications:JSON.stringify(this.snackbar)}),n("div",{ref:t=>this.liveRegion=t,class:"live-region sr-only","aria-live":"assertive","aria-atomic":"true"}))}get el(){return i(this)}static get watchers(){return{maxSize:["setMaxSize"],numFilesInProgress:["uploadNotifications"],fileList:["emitFileListEvent"]}}};w.style='@charset "UTF-8";:host .wm-button,wm-network-uploader .wm-button{-ms-transition:background-color 500ms cubic-bezier(0.4, 0, 0.2, 1), color 500ms cubic-bezier(0.4, 0, 0.2, 1), border 500ms cubic-bezier(0.4, 0, 0.2, 1);-webkit-transition:background-color 500ms cubic-bezier(0.4, 0, 0.2, 1), color 500ms cubic-bezier(0.4, 0, 0.2, 1), border 500ms cubic-bezier(0.4, 0, 0.2, 1);-moz-transition:background-color 500ms cubic-bezier(0.4, 0, 0.2, 1), color 500ms cubic-bezier(0.4, 0, 0.2, 1), border 500ms cubic-bezier(0.4, 0, 0.2, 1);transition:background-color 500ms cubic-bezier(0.4, 0, 0.2, 1), color 500ms cubic-bezier(0.4, 0, 0.2, 1), border 500ms cubic-bezier(0.4, 0, 0.2, 1);-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;border-radius:5px;width:inherit;border:2px solid #575195;color:#575195;font-family:inherit;font-size:0.75rem;font-weight:700;height:2.75rem;padding:0 1.3333333333em;cursor:pointer;position:relative;background:#fff;display:flex;justify-content:center;align-items:center;text-decoration:none;text-transform:uppercase;letter-spacing:0.01875rem;overflow-wrap:break-word;word-wrap:break-word;word-break:break-word;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}@media screen and (min-width: 48rem){:host .wm-button,wm-network-uploader .wm-button{height:3.3333333333em}}:host .wm-button.nowrap,wm-network-uploader .wm-button.nowrap{display:inline-block;width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}:host .wm-button:focus,wm-network-uploader .wm-button:focus{outline:none;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}:host .wm-button::-moz-focus-inner,wm-network-uploader .wm-button::-moz-focus-inner{border:0;outline:none}:host .wm-button.user-is-tabbing:focus:not(:disabled):not(.disabled):not(.-primary):not(.-secondary):not(.-secondary):not(.-selectoronly) .button-text,wm-network-uploader .wm-button.user-is-tabbing:focus:not(:disabled):not(.disabled):not(.-primary):not(.-secondary):not(.-secondary):not(.-selectoronly) .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}:host .wm-button.user-is-tabbing:focus:not(.-textonly):not(:disabled):not(.disabled),wm-network-uploader .wm-button.user-is-tabbing:focus:not(.-textonly):not(:disabled):not(.disabled){-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}:host .wm-button.user-is-tabbing:focus:not(.-textonly):not(:disabled):not(.disabled):not(.dark),wm-network-uploader .wm-button.user-is-tabbing:focus:not(.-textonly):not(:disabled):not(.disabled):not(.dark){-webkit-box-shadow:0 2px 2px 0 rgba(244, 243, 246, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.1), 0 0 4px 3px #61279e;-moz-box-shadow:0 2px 2px 0 rgba(244, 243, 246, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.1), 0 0 4px 3px #61279e;box-shadow:0 2px 2px 0 rgba(244, 243, 246, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.1), 0 0 4px 3px #61279e}:host .wm-button.user-is-tabbing:focus:not(.-textonly):not(:disabled):not(.disabled):not(.dark)::-moz-focus-inner,wm-network-uploader .wm-button.user-is-tabbing:focus:not(.-textonly):not(:disabled):not(.disabled):not(.dark)::-moz-focus-inner{border:0}:host .wm-button.dark:not(.-textonly):not(:disabled):not(.disabled),wm-network-uploader .wm-button.dark:not(.-textonly):not(:disabled):not(.disabled){background:transparent;border:2px solid #fff;color:#fff}:host .wm-button.dark:not(.-textonly):not(:disabled):not(.disabled):hover,wm-network-uploader .wm-button.dark:not(.-textonly):not(:disabled):not(.disabled):hover{color:#575195;background:#e6e6e6;border:2px solid #e6e6e6}:host .wm-button.dark.user-is-tabbing:focus:not(.-textonly):not(:disabled):not(.disabled).dark,wm-network-uploader .wm-button.dark.user-is-tabbing:focus:not(.-textonly):not(:disabled):not(.disabled).dark{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;-webkit-box-shadow:0 2px 2px 0 rgba(244, 243, 246, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.1), 0 0 4px 3px #c6b4e3;-moz-box-shadow:0 2px 2px 0 rgba(244, 243, 246, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.1), 0 0 4px 3px #c6b4e3;box-shadow:0 2px 2px 0 rgba(244, 243, 246, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.1), 0 0 4px 3px #c6b4e3;outline:none}:host .wm-button:active:not(:disabled):not(.disabled):not(.-textonly):not(.-actionbutton):not(.displayedoption),wm-network-uploader .wm-button:active:not(:disabled):not(.disabled):not(.-textonly):not(.-actionbutton):not(.displayedoption){-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)}:host .wm-button:hover,wm-network-uploader .wm-button:hover{background:#464177;color:#fff}:host .wm-button .mdi,wm-network-uploader .wm-button .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}:host .wm-button:not(.-icononly):not(.-navigational) .mdi,wm-network-uploader .wm-button:not(.-icononly):not(.-navigational) .mdi{margin-right:0.3125rem}:host .wm-button[dir=RTL] :not(.-icononly) .mdi,wm-network-uploader .wm-button[dir=RTL] :not(.-icononly) .mdi{margin-left:0.3125rem;margin-right:0}:host .wm-button.-primary:not(.-textonly),wm-network-uploader .wm-button.-primary:not(.-textonly){background:#575195;color:#fff}:host .wm-button.-primary:not(.-textonly):not(:focus),wm-network-uploader .wm-button.-primary:not(.-textonly):not(:focus){-webkit-box-shadow:0 2px 2px 0 rgba(87, 81, 149, 0.12), 0 2px 2px 0 rgba(0, 0, 0, 0.2);-moz-box-shadow:0 2px 2px 0 rgba(87, 81, 149, 0.12), 0 2px 2px 0 rgba(0, 0, 0, 0.2);box-shadow:0 2px 2px 0 rgba(87, 81, 149, 0.12), 0 2px 2px 0 rgba(0, 0, 0, 0.2)}:host .wm-button.-primary:not(.-textonly):hover,wm-network-uploader .wm-button.-primary:not(.-textonly):hover{background:#464177}:host .wm-button.-primary:not(.-textonly).dark:not(:disabled):not(.disabled),wm-network-uploader .wm-button.-primary:not(.-textonly).dark:not(:disabled):not(.disabled){color:#575195;background:#fff;border:2px solid #fff}:host .wm-button.-primary:not(.-textonly).dark:not(:disabled):not(.disabled):hover,wm-network-uploader .wm-button.-primary:not(.-textonly).dark:not(:disabled):not(.disabled):hover{color:#575195;background:#e6e6e6;border:2px solid #e6e6e6}:host .wm-button.-textonly,wm-network-uploader .wm-button.-textonly{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;display:inline-block;letter-spacing:0;text-transform:none;text-align:initial;font-size:0.875rem;border:none;background:transparent;padding-left:0;padding-right:0;height:auto;border-radius:0;line-height:1}:host .wm-button.-textonly+.-textonly,wm-network-uploader .wm-button.-textonly+.-textonly{margin-left:0.3125rem}:host .wm-button.-textonly:focus,wm-network-uploader .wm-button.-textonly:focus{outline:none}:host .wm-button.-textonly::-moz-focus-inner,wm-network-uploader .wm-button.-textonly::-moz-focus-inner{border:0;outline:none}:host .wm-button.-textonly.user-is-tabbing:focus:not(:disabled):not(.disabled) .button-text,wm-network-uploader .wm-button.-textonly.user-is-tabbing:focus:not(:disabled):not(.disabled) .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}:host .wm-button.-textonly.user-is-tabbing:focus:not(:disabled):not(.disabled).dark .button-text,wm-network-uploader .wm-button.-textonly.user-is-tabbing:focus:not(:disabled):not(.disabled).dark .button-text{background:linear-gradient(90deg, #fff 66%, transparent 0) repeat-x;background-size:6px 3px;background-position:0 1em;border-radius:0;line-height:normal}:host .wm-button.-textonly.small,wm-network-uploader .wm-button.-textonly.small{font-size:0.625rem}:host .wm-button.-textonly:hover:not(:disabled):not(.disabled):not(.-permanentlydelete),wm-network-uploader .wm-button.-textonly:hover:not(:disabled):not(.disabled):not(.-permanentlydelete){text-decoration:underline;color:#454077}:host .wm-button.-textonly.-permanentlydelete,wm-network-uploader .wm-button.-textonly.-permanentlydelete{color:#c0392b}:host .wm-button.-textonly.-permanentlydelete:hover,wm-network-uploader .wm-button.-textonly.-permanentlydelete:hover{text-decoration:underline;color:#c0392b !important}:host .wm-button.-textonly.dark,wm-network-uploader .wm-button.-textonly.dark{color:#fff}:host .wm-button.-textonly.dark:hover,wm-network-uploader .wm-button.-textonly.dark:hover{text-decoration:underline;color:#fff !important}:host .wm-button.-icononly,wm-network-uploader .wm-button.-icononly,:host .wm-button.-navigational,wm-network-uploader .wm-button.-navigational{-webkit-border-radius:50%;-moz-border-radius:50%;-ms-border-radius:50%;border-radius:50%;font-size:1rem;padding:0;height:auto;line-height:1;min-width:2.75rem;min-height:2.75rem;text-align:center;letter-spacing:normal}:host .wm-button.-icononly:not(:focus),wm-network-uploader .wm-button.-icononly:not(:focus),:host .wm-button.-navigational:not(:focus),wm-network-uploader .wm-button.-navigational:not(:focus){-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}@media screen and (min-width: 48rem){:host .wm-button.-icononly,wm-network-uploader .wm-button.-icononly,:host .wm-button.-navigational,wm-network-uploader .wm-button.-navigational{min-width:2.5rem;min-height:2.5rem}}:host .wm-button.-icononly,wm-network-uploader .wm-button.-icononly{border-width:1px !important}:host .wm-button.-icononly:before,wm-network-uploader .wm-button.-icononly: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}:host .wm-button.-navigational,wm-network-uploader .wm-button.-navigational{border:none !important;background-color:transparent}:host .wm-button.-navigational:not(.dark):not(:disabled),wm-network-uploader .wm-button.-navigational:not(.dark):not(:disabled){color:#575195}:host .wm-button.-navigational:not(.dark):not(:disabled):hover,wm-network-uploader .wm-button.-navigational:not(.dark):not(:disabled):hover,:host .wm-button.-navigational:not(.dark):not(:disabled).selected,wm-network-uploader .wm-button.-navigational:not(.dark):not(:disabled).selected{background-color:#d7d6d9}:host .wm-button.-navigational:before,wm-network-uploader .wm-button.-navigational: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}:host .wm-button.-permanentlydelete:not(.-textonly),wm-network-uploader .wm-button.-permanentlydelete:not(.-textonly){background:#c0392b;border-color:#c0392b;color:#fff}:host .wm-button.-selectoronly,wm-network-uploader .wm-button.-selectoronly{-webkit-border-radius:3px;-moz-border-radius:3px;-ms-border-radius:3px;border-radius:3px;display:block;background:transparent;border:1px solid #575195;border-radius:3px 3px 3px 3px;height:2.75rem;min-width:11.4375rem;padding:0 1.875rem 0 0.9375rem;line-height:normal;font-family:inherit;color:#575195;font-weight:500;font-size:0.875rem;text-transform:none;letter-spacing:0.01875rem;text-align:left}@media screen and (min-width: 48rem){:host .wm-button.-selectoronly,wm-network-uploader .wm-button.-selectoronly{height:2.5rem}}:host .wm-button.-selectoronly:before,wm-network-uploader .wm-button.-selectoronly: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:"";position:absolute;right:0.5625rem;top:50%;transform:translateY(-50%);pointer-events:none}:host .wm-button.-selectoronly:hover:not(:disabled):not(.disabled),wm-network-uploader .wm-button.-selectoronly:hover:not(:disabled):not(.disabled){background:transparent;text-decoration:none}:host .wm-button.-selectoronly:active,wm-network-uploader .wm-button.-selectoronly:active{-ms-transform:scale(1, 1) !important;transform:scale(1, 1) !important}:host .wm-button.-selectoronly::-moz-focus-inner,wm-network-uploader .wm-button.-selectoronly::-moz-focus-inner{border:0}:host .wm-button.-selectoronly .overflowcontrol,wm-network-uploader .wm-button.-selectoronly .overflowcontrol{display:block;white-space:nowrap;text-overflow:ellipsis;overflow:visible}:host .wm-button:disabled,wm-network-uploader .wm-button:disabled,:host .wm-button.disabled,wm-network-uploader .wm-button.disabled{background:inherit;border-color:#737373;color:#737373;cursor:default;pointer-events:none}:host .wm-button:disabled.dark,wm-network-uploader .wm-button:disabled.dark,:host .wm-button.disabled.dark,wm-network-uploader .wm-button.disabled.dark{color:#a6a6a6;border-color:#a6a6a6}:host .wm-button:disabled.-primary,wm-network-uploader .wm-button:disabled.-primary,:host .wm-button:disabled.-permanentlydelete,wm-network-uploader .wm-button:disabled.-permanentlydelete,:host .wm-button.disabled.-primary,wm-network-uploader .wm-button.disabled.-primary,:host .wm-button.disabled.-permanentlydelete,wm-network-uploader .wm-button.disabled.-permanentlydelete{background:#737373;color:#fff;border-color:#737373}:host .wm-button:disabled.-primary.dark,wm-network-uploader .wm-button:disabled.-primary.dark,:host .wm-button.disabled.-primary.dark,wm-network-uploader .wm-button.disabled.-primary.dark{background:#a6a6a6;border-color:#a6a6a6;color:#353b48}:host .wm-button:disabled.-secondary,wm-network-uploader .wm-button:disabled.-secondary,:host .wm-button.disabled.-secondary,wm-network-uploader .wm-button.disabled.-secondary{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}:host .wm-button:disabled.-selectoronly,wm-network-uploader .wm-button:disabled.-selectoronly,:host .wm-button.disabled.-selectoronly,wm-network-uploader .wm-button.disabled.-selectoronly{color:#737373}:host .wm-button:disabled.-textonly,wm-network-uploader .wm-button:disabled.-textonly,:host .wm-button.disabled.-textonly,wm-network-uploader .wm-button.disabled.-textonly{color:#6b6b6b;background:transparent}:host a.wm-button,wm-network-uploader a.wm-button,:host label.wm-button,wm-network-uploader label.wm-button{height:auto;padding-top:0.75rem;padding-bottom:0.75rem}:host,wm-network-uploader{width:100%;position:relative}:host[dir=RTL] .mdi,wm-network-uploader[dir=RTL] .mdi{margin-left:0.3125rem;margin-right:0}:host input:focus+.wm-button.user-is-tabbing,wm-network-uploader input:focus+.wm-button.user-is-tabbing{-webkit-box-shadow:0 2px 2px 0 rgba(244, 243, 246, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.1), 0 0 4px 3px #61279e !important;-moz-box-shadow:0 2px 2px 0 rgba(244, 243, 246, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.1), 0 0 4px 3px #61279e !important;box-shadow:0 2px 2px 0 rgba(244, 243, 246, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.1), 0 0 4px 3px #61279e !important}:host *,wm-network-uploader *{box-sizing:border-box}.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}.header{position:relative;display:flex;justify-content:space-between;flex-wrap:wrap}.header .notif-wrapper{align-items:flex-end}.notif-wrapper{display:flex;align-items:flex-start;height:-moz-fit-content;height:fit-content;flex-direction:column;align-items:center}.notif-wrapper .notif{font-size:0.875rem;font-style:italic;margin-top:0.25rem;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}@media (max-width: 60.9375rem){.descr{margin-bottom:0.5rem}.notif-wrapper{margin-bottom:1rem}.header .notif-wrapper{align-items:flex-start}}.file-info{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.file-info+.file-controls{flex:none;margin-left:1rem}.empty-block{margin:5rem auto;display:flex;flex-direction:column;align-items:center}.empty-block .upload-file{margin-bottom:1.875rem}.empty-block .empty-message{font-size:1.5rem;margin-bottom:0.4375rem}.empty-block .notif-wrapper{justify-content:center}.empty-block .notif-wrapper .wm-button{width:auto}ul{list-style:none;padding:0;width:100%}ul li{font-size:0.875rem}ul li .file{-webkit-border-radius:3px;-moz-border-radius:3px;-ms-border-radius:3px;border-radius:3px;position:relative;height:3.75rem;padding:0.5rem 1.25rem;background:#f4f4f4;border:1px solid #6b6b6b;display:flex;justify-content:space-between;align-items:center}ul li .file+.file{margin-top:1.25rem}ul li .file .filename{font-weight:500}ul li .file .filedate{margin-left:3.75rem;font-weight:normal;font-style:italic}ul li .file wm-button+wm-button{margin-left:1rem}ul.file-list .file.--saved,ul.inprogress-list .file{margin-bottom:1.625rem}ul .progress{position:absolute;left:0;top:0;right:0;height:8px}ul.error-list li{margin-bottom:1.25rem;color:#c0392b}ul.error-list li .file{border:1px solid #c0392b;background-color:#f5ebea;height:3.75rem}ul .error-message{padding-top:0.25rem;font-style:italic}';export{w as wm_network_uploader}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as t,f as o,h as n,H as e,g as i}from"./p-9baa3039.js";import{g as a}from"./p-888bec42.js";import{g as s,a as r}from"./p-e60fe2f5.js";const b=class{constructor(o){t(this,o),this.disabled=!1,this.buttonType=null,this.buttonStyle=null,this.tooltipPosition="bottom-right",this.adjustedTooltipPosition=this.tooltipPosition,this.permanentlyDelete=!1,this.textWrap=!0,this.tooltipVisible=!1,this.isTabbing=!1,this.id=s(),this.clickFunc=null,this.ariaPopup=!1}get tempButtonType(){return this.buttonType||this.buttonStyle||"secondary"}get isTruncated(){return!!this.buttonEl&&this.buttonEl.offsetWidth<this.buttonEl.scrollWidth}get hasTooltip(){return"icononly"===this.tempButtonType||"navigational"===this.tempButtonType||this.isTruncated}get tooltipEl(){return document.getElementById("wm-tooltip")}toggleTabbingOn(){this.isTabbing=!0}toggleTabbingOff(){this.isTabbing=!1}handleScroll(){this.tooltipVisible&&this.hideTooltip()}handleOnClick(){this.el.onclick=this.disabled?null:this.clickFunc}validateType(t){["primary","secondary","textonly","icononly","navigational","selectoronly"].includes(t)||(this.buttonType="secondary"),this.validateIcon()}validateDeprecatedType(t){["primary","secondary","textonly","icononly","navigational","selectoronly"].includes(t)||(this.buttonStyle="secondary"),this.validateIcon()}updateIcon(){this.icon=a(this.icon)}validateIcon(){"icononly"!==this.tempButtonType&&"navigational"!==this.tempButtonType||(this.icon||console.error("wm-button should have a valid 'icon' property when button-type is set to 'icononly' or 'navigational'."),this.tooltip||console.error("wm-button should have a valid 'tooltip' property when button-type is set to 'icononly' or 'navigational'."))}handleKeydown(t){switch(t.key){case"Enter":t.preventDefault(),this.disabled||this.el.click()}}componentWillLoad(){this.buttonStyle&&console.warn("wm-button: button-style has been deprecated as of v3.1.0. Please use button-type instead."),this.validateType(this.tempButtonType),this.el.focus=function(){this.disabled||(this.shadowRoot.querySelector("button").focus(),requestAnimationFrame((()=>{this.tooltipVisible=!1})))},this.icon&&(this.icon=this.icon=a(this.icon))}componentDidLoad(){this.el.onclick&&(this.clickFunc=this.el.onclick),document.body.classList.contains("wmcl-user-is-tabbing")&&this.toggleTabbingOn(),this.ariaPopup=!!this.el.getAttribute("aria-haspopup"),o(this.el)}showTooltip(){this.hasTooltip&&(this.tooltipEl.textContent=this.isTruncated?this.el.textContent:this.tooltip,this.adjustedTooltipPosition=r(this.tooltipPosition,this.buttonEl,this.tooltipEl),this.positionTooltip(this.adjustedTooltipPosition,this.tooltipEl),this.tooltipEl.style.transitionDelay="500ms",this.tooltipEl.style.opacity="1",setTimeout((()=>{this.tooltipVisible=!0}),500))}positionTooltip(t,o){const n=o.getBoundingClientRect().height,e=o.getBoundingClientRect().width,i=(this.buttonEl.getBoundingClientRect().height-n)/2,a=(this.buttonEl.getBoundingClientRect().width-e)/2;let s=this.buttonEl.getBoundingClientRect().top+i,r=this.buttonEl.getBoundingClientRect().left+a;t.includes("top")&&(s=this.buttonEl.getBoundingClientRect().top-n-8),t.includes("bottom")&&(s=this.buttonEl.getBoundingClientRect().bottom+8),t.includes("left")&&(r=this.buttonEl.getBoundingClientRect().left-e-8),t.includes("right")&&(r=this.buttonEl.getBoundingClientRect().right+8),r=Math.max(r,24),o.style.top=(s/16).toString()+"rem",o.style.left=(r/16).toString()+"rem"}hideTooltip(){this.hasTooltip&&(this.tooltipEl.style.transitionDelay="0s",this.tooltipEl.style.opacity="0",this.tooltipVisible=!1)}showTooltipForKeyboardUsers(){this.isTabbing&&this.showTooltip()}getClasses(){let t="wm-button";return t+=this.permanentlyDelete?" -permanentlydelete":"",t+=this.tempButtonType?" -"+this.tempButtonType:" -secondary",t+=this.textWrap?"":" nowrap",t+=this.isTabbing?" user-is-tabbing":"",t+=this.isTruncated?" -truncated":"",t+="dark"===this.customBackground?" dark":"",t}getAriaLabel(){return"icononly"===this.tempButtonType||"navigational"===this.tempButtonType?this.labelForIdenticalButtons||this.tooltip:this.labelForIdenticalButtons?this.labelForIdenticalButtons:void 0}render(){return n(e,{class:this.disabled?"button-disabled":""},n("button",{id:this.id,class:`${this.getClasses()}`,disabled:this.disabled,ref:t=>this.buttonEl=t,"aria-label":this.getAriaLabel(),"aria-hasPopup":this.ariaPopup?"menu":null,onMouseEnter:()=>this.showTooltip(),onMouseLeave:()=>this.hideTooltip(),onFocus:()=>this.showTooltipForKeyboardUsers(),onBlur:()=>this.hideTooltip(),onClick:()=>this.hideTooltip()},this.icon&&n("span",{class:"mdi",style:this.iconSize?{fontSize:this.iconSize}:{}},String.fromCodePoint(parseInt(`0x${this.icon}`))),n("span",{class:"button-text"},n("slot",null))))}get el(){return i(this)}static get watchers(){return{disabled:["handleOnClick"],buttonType:["validateType"],buttonStyle:["validateDeprecatedType"],icon:["updateIcon"]}}};b.style='@charset "UTF-8";:host .wm-button,wm-button .wm-button{-ms-transition:background-color 500ms cubic-bezier(0.4, 0, 0.2, 1), color 500ms cubic-bezier(0.4, 0, 0.2, 1), border 500ms cubic-bezier(0.4, 0, 0.2, 1);-webkit-transition:background-color 500ms cubic-bezier(0.4, 0, 0.2, 1), color 500ms cubic-bezier(0.4, 0, 0.2, 1), border 500ms cubic-bezier(0.4, 0, 0.2, 1);-moz-transition:background-color 500ms cubic-bezier(0.4, 0, 0.2, 1), color 500ms cubic-bezier(0.4, 0, 0.2, 1), border 500ms cubic-bezier(0.4, 0, 0.2, 1);transition:background-color 500ms cubic-bezier(0.4, 0, 0.2, 1), color 500ms cubic-bezier(0.4, 0, 0.2, 1), border 500ms cubic-bezier(0.4, 0, 0.2, 1);-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;border-radius:5px;width:inherit;border:2px solid #575195;color:#575195;font-family:inherit;font-size:0.75rem;font-weight:700;height:2.75rem;padding:0 1.3333333333em;cursor:pointer;position:relative;background:#fff;display:flex;justify-content:center;align-items:center;text-decoration:none;text-transform:uppercase;letter-spacing:0.01875rem;overflow-wrap:break-word;word-wrap:break-word;word-break:break-word;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}@media screen and (min-width: 48rem){:host .wm-button,wm-button .wm-button{height:3.3333333333em}}:host .wm-button.nowrap,wm-button .wm-button.nowrap{display:inline-block;width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}:host .wm-button:focus,wm-button .wm-button:focus{outline:none;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}:host .wm-button::-moz-focus-inner,wm-button .wm-button::-moz-focus-inner{border:0;outline:none}:host .wm-button.user-is-tabbing:focus:not(:disabled):not(.disabled):not(.-primary):not(.-secondary):not(.-secondary):not(.-selectoronly) .button-text,wm-button .wm-button.user-is-tabbing:focus:not(:disabled):not(.disabled):not(.-primary):not(.-secondary):not(.-secondary):not(.-selectoronly) .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}:host .wm-button.user-is-tabbing:focus:not(.-textonly):not(:disabled):not(.disabled),wm-button .wm-button.user-is-tabbing:focus:not(.-textonly):not(:disabled):not(.disabled){-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}:host .wm-button.user-is-tabbing:focus:not(.-textonly):not(:disabled):not(.disabled):not(.dark),wm-button .wm-button.user-is-tabbing:focus:not(.-textonly):not(:disabled):not(.disabled):not(.dark){-webkit-box-shadow:0 2px 2px 0 rgba(244, 243, 246, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.1), 0 0 4px 3px #61279e;-moz-box-shadow:0 2px 2px 0 rgba(244, 243, 246, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.1), 0 0 4px 3px #61279e;box-shadow:0 2px 2px 0 rgba(244, 243, 246, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.1), 0 0 4px 3px #61279e}:host .wm-button.user-is-tabbing:focus:not(.-textonly):not(:disabled):not(.disabled):not(.dark)::-moz-focus-inner,wm-button .wm-button.user-is-tabbing:focus:not(.-textonly):not(:disabled):not(.disabled):not(.dark)::-moz-focus-inner{border:0}:host .wm-button.dark:not(.-textonly):not(:disabled):not(.disabled),wm-button .wm-button.dark:not(.-textonly):not(:disabled):not(.disabled){background:transparent;border:2px solid #fff;color:#fff}:host .wm-button.dark:not(.-textonly):not(:disabled):not(.disabled):hover,wm-button .wm-button.dark:not(.-textonly):not(:disabled):not(.disabled):hover{color:#575195;background:#e6e6e6;border:2px solid #e6e6e6}:host .wm-button.dark.user-is-tabbing:focus:not(.-textonly):not(:disabled):not(.disabled).dark,wm-button .wm-button.dark.user-is-tabbing:focus:not(.-textonly):not(:disabled):not(.disabled).dark{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;-webkit-box-shadow:0 2px 2px 0 rgba(244, 243, 246, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.1), 0 0 4px 3px #c6b4e3;-moz-box-shadow:0 2px 2px 0 rgba(244, 243, 246, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.1), 0 0 4px 3px #c6b4e3;box-shadow:0 2px 2px 0 rgba(244, 243, 246, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.1), 0 0 4px 3px #c6b4e3;outline:none}:host .wm-button:active:not(:disabled):not(.disabled):not(.-textonly):not(.-actionbutton):not(.displayedoption),wm-button .wm-button:active:not(:disabled):not(.disabled):not(.-textonly):not(.-actionbutton):not(.displayedoption){-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)}:host .wm-button:hover,wm-button .wm-button:hover{background:#464177;color:#fff}:host .wm-button .mdi,wm-button .wm-button .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}:host .wm-button:not(.-icononly):not(.-navigational) .mdi,wm-button .wm-button:not(.-icononly):not(.-navigational) .mdi{margin-right:0.3125rem}:host .wm-button[dir=RTL] :not(.-icononly) .mdi,wm-button .wm-button[dir=RTL] :not(.-icononly) .mdi{margin-left:0.3125rem;margin-right:0}:host .wm-button.-primary:not(.-textonly),wm-button .wm-button.-primary:not(.-textonly){background:#575195;color:#fff}:host .wm-button.-primary:not(.-textonly):not(:focus),wm-button .wm-button.-primary:not(.-textonly):not(:focus){-webkit-box-shadow:0 2px 2px 0 rgba(87, 81, 149, 0.12), 0 2px 2px 0 rgba(0, 0, 0, 0.2);-moz-box-shadow:0 2px 2px 0 rgba(87, 81, 149, 0.12), 0 2px 2px 0 rgba(0, 0, 0, 0.2);box-shadow:0 2px 2px 0 rgba(87, 81, 149, 0.12), 0 2px 2px 0 rgba(0, 0, 0, 0.2)}:host .wm-button.-primary:not(.-textonly):hover,wm-button .wm-button.-primary:not(.-textonly):hover{background:#464177}:host .wm-button.-primary:not(.-textonly).dark:not(:disabled):not(.disabled),wm-button .wm-button.-primary:not(.-textonly).dark:not(:disabled):not(.disabled){color:#575195;background:#fff;border:2px solid #fff}:host .wm-button.-primary:not(.-textonly).dark:not(:disabled):not(.disabled):hover,wm-button .wm-button.-primary:not(.-textonly).dark:not(:disabled):not(.disabled):hover{color:#575195;background:#e6e6e6;border:2px solid #e6e6e6}:host .wm-button.-textonly,wm-button .wm-button.-textonly{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;display:inline-block;letter-spacing:0;text-transform:none;text-align:initial;font-size:0.875rem;border:none;background:transparent;padding-left:0;padding-right:0;height:auto;border-radius:0;line-height:1}:host .wm-button.-textonly+.-textonly,wm-button .wm-button.-textonly+.-textonly{margin-left:0.3125rem}:host .wm-button.-textonly:focus,wm-button .wm-button.-textonly:focus{outline:none}:host .wm-button.-textonly::-moz-focus-inner,wm-button .wm-button.-textonly::-moz-focus-inner{border:0;outline:none}:host .wm-button.-textonly.user-is-tabbing:focus:not(:disabled):not(.disabled) .button-text,wm-button .wm-button.-textonly.user-is-tabbing:focus:not(:disabled):not(.disabled) .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}:host .wm-button.-textonly.user-is-tabbing:focus:not(:disabled):not(.disabled).dark .button-text,wm-button .wm-button.-textonly.user-is-tabbing:focus:not(:disabled):not(.disabled).dark .button-text{background:linear-gradient(90deg, #fff 66%, transparent 0) repeat-x;background-size:6px 3px;background-position:0 1em;border-radius:0;line-height:normal}:host .wm-button.-textonly.small,wm-button .wm-button.-textonly.small{font-size:0.625rem}:host .wm-button.-textonly:hover:not(:disabled):not(.disabled):not(.-permanentlydelete),wm-button .wm-button.-textonly:hover:not(:disabled):not(.disabled):not(.-permanentlydelete){text-decoration:underline;color:#454077}:host .wm-button.-textonly.-permanentlydelete,wm-button .wm-button.-textonly.-permanentlydelete{color:#c0392b}:host .wm-button.-textonly.-permanentlydelete:hover,wm-button .wm-button.-textonly.-permanentlydelete:hover{text-decoration:underline;color:#c0392b !important}:host .wm-button.-textonly.dark,wm-button .wm-button.-textonly.dark{color:#fff}:host .wm-button.-textonly.dark:hover,wm-button .wm-button.-textonly.dark:hover{text-decoration:underline;color:#fff !important}:host .wm-button.-icononly,wm-button .wm-button.-icononly,:host .wm-button.-navigational,wm-button .wm-button.-navigational{-webkit-border-radius:50%;-moz-border-radius:50%;-ms-border-radius:50%;border-radius:50%;font-size:1rem;padding:0;height:auto;line-height:1;min-width:2.75rem;min-height:2.75rem;text-align:center;letter-spacing:normal}:host .wm-button.-icononly:not(:focus),wm-button .wm-button.-icononly:not(:focus),:host .wm-button.-navigational:not(:focus),wm-button .wm-button.-navigational:not(:focus){-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}@media screen and (min-width: 48rem){:host .wm-button.-icononly,wm-button .wm-button.-icononly,:host .wm-button.-navigational,wm-button .wm-button.-navigational{min-width:2.5rem;min-height:2.5rem}}:host .wm-button.-icononly,wm-button .wm-button.-icononly{border-width:1px !important}:host .wm-button.-icononly:before,wm-button .wm-button.-icononly: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}:host .wm-button.-navigational,wm-button .wm-button.-navigational{border:none !important;background-color:transparent}:host .wm-button.-navigational:not(.dark):not(:disabled),wm-button .wm-button.-navigational:not(.dark):not(:disabled){color:#575195}:host .wm-button.-navigational:not(.dark):not(:disabled):hover,wm-button .wm-button.-navigational:not(.dark):not(:disabled):hover,:host .wm-button.-navigational:not(.dark):not(:disabled).selected,wm-button .wm-button.-navigational:not(.dark):not(:disabled).selected{background-color:#d7d6d9}:host .wm-button.-navigational:before,wm-button .wm-button.-navigational: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}:host .wm-button.-permanentlydelete:not(.-textonly),wm-button .wm-button.-permanentlydelete:not(.-textonly){background:#c0392b;border-color:#c0392b;color:#fff}:host .wm-button.-selectoronly,wm-button .wm-button.-selectoronly{-webkit-border-radius:3px;-moz-border-radius:3px;-ms-border-radius:3px;border-radius:3px;display:block;background:transparent;border:1px solid #575195;border-radius:3px 3px 3px 3px;height:2.75rem;min-width:11.4375rem;padding:0 1.875rem 0 0.9375rem;line-height:normal;font-family:inherit;color:#575195;font-weight:500;font-size:0.875rem;text-transform:none;letter-spacing:0.01875rem;text-align:left}@media screen and (min-width: 48rem){:host .wm-button.-selectoronly,wm-button .wm-button.-selectoronly{height:2.5rem}}:host .wm-button.-selectoronly:before,wm-button .wm-button.-selectoronly: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:"";position:absolute;right:0.5625rem;top:50%;transform:translateY(-50%);pointer-events:none}:host .wm-button.-selectoronly:hover:not(:disabled):not(.disabled),wm-button .wm-button.-selectoronly:hover:not(:disabled):not(.disabled){background:transparent;text-decoration:none}:host .wm-button.-selectoronly:active,wm-button .wm-button.-selectoronly:active{-ms-transform:scale(1, 1) !important;transform:scale(1, 1) !important}:host .wm-button.-selectoronly::-moz-focus-inner,wm-button .wm-button.-selectoronly::-moz-focus-inner{border:0}:host .wm-button.-selectoronly .overflowcontrol,wm-button .wm-button.-selectoronly .overflowcontrol{display:block;white-space:nowrap;text-overflow:ellipsis;overflow:visible}:host .wm-button:disabled,wm-button .wm-button:disabled,:host .wm-button.disabled,wm-button .wm-button.disabled{background:inherit;border-color:#737373;color:#737373;cursor:default;pointer-events:none}:host .wm-button:disabled.dark,wm-button .wm-button:disabled.dark,:host .wm-button.disabled.dark,wm-button .wm-button.disabled.dark{color:#a6a6a6;border-color:#a6a6a6}:host .wm-button:disabled.-primary,wm-button .wm-button:disabled.-primary,:host .wm-button:disabled.-permanentlydelete,wm-button .wm-button:disabled.-permanentlydelete,:host .wm-button.disabled.-primary,wm-button .wm-button.disabled.-primary,:host .wm-button.disabled.-permanentlydelete,wm-button .wm-button.disabled.-permanentlydelete{background:#737373;color:#fff;border-color:#737373}:host .wm-button:disabled.-primary.dark,wm-button .wm-button:disabled.-primary.dark,:host .wm-button.disabled.-primary.dark,wm-button .wm-button.disabled.-primary.dark{background:#a6a6a6;border-color:#a6a6a6;color:#353b48}:host .wm-button:disabled.-secondary,wm-button .wm-button:disabled.-secondary,:host .wm-button.disabled.-secondary,wm-button .wm-button.disabled.-secondary{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}:host .wm-button:disabled.-selectoronly,wm-button .wm-button:disabled.-selectoronly,:host .wm-button.disabled.-selectoronly,wm-button .wm-button.disabled.-selectoronly{color:#737373}:host .wm-button:disabled.-textonly,wm-button .wm-button:disabled.-textonly,:host .wm-button.disabled.-textonly,wm-button .wm-button.disabled.-textonly{color:#6b6b6b;background:transparent}:host a.wm-button,wm-button a.wm-button,:host label.wm-button,wm-button label.wm-button{height:auto;padding-top:0.75rem;padding-bottom:0.75rem}:host([disabled]),:host(.button-disabled){pointer-events:none}:host,wm-button{display:inline-block;position:relative;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}:host .sr-only,wm-button .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}';export{b as wm_button}
|
|
1
|
+
import{r as t,f as o,h as n,H as e,g as i}from"./p-9baa3039.js";import{g as a}from"./p-43f1298b.js";import{g as s,a as r}from"./p-cf075b3b.js";const b=class{constructor(o){t(this,o),this.disabled=!1,this.buttonType=null,this.buttonStyle=null,this.tooltipPosition="bottom-right",this.adjustedTooltipPosition=this.tooltipPosition,this.permanentlyDelete=!1,this.textWrap=!0,this.tooltipVisible=!1,this.isTabbing=!1,this.id=s(),this.clickFunc=null,this.ariaPopup=!1}get tempButtonType(){return this.buttonType||this.buttonStyle||"secondary"}get isTruncated(){return!!this.buttonEl&&this.buttonEl.offsetWidth<this.buttonEl.scrollWidth}get hasTooltip(){return"icononly"===this.tempButtonType||"navigational"===this.tempButtonType||this.isTruncated}get tooltipEl(){return document.getElementById("wm-tooltip")}toggleTabbingOn(){this.isTabbing=!0}toggleTabbingOff(){this.isTabbing=!1}handleScroll(){this.tooltipVisible&&this.hideTooltip()}handleOnClick(){this.el.onclick=this.disabled?null:this.clickFunc}validateType(t){["primary","secondary","textonly","icononly","navigational","selectoronly"].includes(t)||(this.buttonType="secondary"),this.validateIcon()}validateDeprecatedType(t){["primary","secondary","textonly","icononly","navigational","selectoronly"].includes(t)||(this.buttonStyle="secondary"),this.validateIcon()}updateIcon(){this.icon=a(this.icon)}validateIcon(){"icononly"!==this.tempButtonType&&"navigational"!==this.tempButtonType||(this.icon||console.error("wm-button should have a valid 'icon' property when button-type is set to 'icononly' or 'navigational'."),this.tooltip||console.error("wm-button should have a valid 'tooltip' property when button-type is set to 'icononly' or 'navigational'."))}handleKeydown(t){switch(t.key){case"Enter":t.preventDefault(),this.disabled||this.el.click()}}componentWillLoad(){this.buttonStyle&&console.warn("wm-button: button-style has been deprecated as of v3.1.0. Please use button-type instead."),this.validateType(this.tempButtonType),this.el.focus=function(){this.disabled||(this.shadowRoot.querySelector("button").focus(),requestAnimationFrame((()=>{this.tooltipVisible=!1})))},this.icon&&(this.icon=this.icon=a(this.icon))}componentDidLoad(){this.el.onclick&&(this.clickFunc=this.el.onclick),document.body.classList.contains("wmcl-user-is-tabbing")&&this.toggleTabbingOn(),this.ariaPopup=!!this.el.getAttribute("aria-haspopup"),o(this.el)}showTooltip(){this.hasTooltip&&(this.tooltipEl.textContent=this.isTruncated?this.el.textContent:this.tooltip,this.adjustedTooltipPosition=r(this.tooltipPosition,this.buttonEl,this.tooltipEl),this.positionTooltip(this.adjustedTooltipPosition,this.tooltipEl),this.tooltipEl.style.transitionDelay="500ms",this.tooltipEl.style.opacity="1",setTimeout((()=>{this.tooltipVisible=!0}),500))}positionTooltip(t,o){const n=o.getBoundingClientRect().height,e=o.getBoundingClientRect().width,i=(this.buttonEl.getBoundingClientRect().height-n)/2,a=(this.buttonEl.getBoundingClientRect().width-e)/2;let s=this.buttonEl.getBoundingClientRect().top+i,r=this.buttonEl.getBoundingClientRect().left+a;t.includes("top")&&(s=this.buttonEl.getBoundingClientRect().top-n-8),t.includes("bottom")&&(s=this.buttonEl.getBoundingClientRect().bottom+8),t.includes("left")&&(r=this.buttonEl.getBoundingClientRect().left-e-8),t.includes("right")&&(r=this.buttonEl.getBoundingClientRect().right+8),r=Math.max(r,24),o.style.top=(s/16).toString()+"rem",o.style.left=(r/16).toString()+"rem"}hideTooltip(){this.hasTooltip&&(this.tooltipEl.style.transitionDelay="0s",this.tooltipEl.style.opacity="0",this.tooltipVisible=!1)}showTooltipForKeyboardUsers(){this.isTabbing&&this.showTooltip()}getClasses(){let t="wm-button";return t+=this.permanentlyDelete?" -permanentlydelete":"",t+=this.tempButtonType?" -"+this.tempButtonType:" -secondary",t+=this.textWrap?"":" nowrap",t+=this.isTabbing?" user-is-tabbing":"",t+=this.isTruncated?" -truncated":"",t+="dark"===this.customBackground?" dark":"",t}getAriaLabel(){return"icononly"===this.tempButtonType||"navigational"===this.tempButtonType?this.labelForIdenticalButtons||this.tooltip:this.labelForIdenticalButtons?this.labelForIdenticalButtons:void 0}render(){return n(e,{class:this.disabled?"button-disabled":""},n("button",{id:this.id,class:`${this.getClasses()}`,disabled:this.disabled,ref:t=>this.buttonEl=t,"aria-label":this.getAriaLabel(),"aria-hasPopup":this.ariaPopup?"menu":null,onMouseEnter:()=>this.showTooltip(),onMouseLeave:()=>this.hideTooltip(),onFocus:()=>this.showTooltipForKeyboardUsers(),onBlur:()=>this.hideTooltip(),onClick:()=>this.hideTooltip()},this.icon&&n("span",{class:"mdi",style:this.iconSize?{fontSize:this.iconSize}:{}},String.fromCodePoint(parseInt(`0x${this.icon}`))),n("span",{class:"button-text"},n("slot",null))))}get el(){return i(this)}static get watchers(){return{disabled:["handleOnClick"],buttonType:["validateType"],buttonStyle:["validateDeprecatedType"],icon:["updateIcon"]}}};b.style='@charset "UTF-8";:host .wm-button,wm-button .wm-button{-ms-transition:background-color 500ms cubic-bezier(0.4, 0, 0.2, 1), color 500ms cubic-bezier(0.4, 0, 0.2, 1), border 500ms cubic-bezier(0.4, 0, 0.2, 1);-webkit-transition:background-color 500ms cubic-bezier(0.4, 0, 0.2, 1), color 500ms cubic-bezier(0.4, 0, 0.2, 1), border 500ms cubic-bezier(0.4, 0, 0.2, 1);-moz-transition:background-color 500ms cubic-bezier(0.4, 0, 0.2, 1), color 500ms cubic-bezier(0.4, 0, 0.2, 1), border 500ms cubic-bezier(0.4, 0, 0.2, 1);transition:background-color 500ms cubic-bezier(0.4, 0, 0.2, 1), color 500ms cubic-bezier(0.4, 0, 0.2, 1), border 500ms cubic-bezier(0.4, 0, 0.2, 1);-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;border-radius:5px;width:inherit;border:2px solid #575195;color:#575195;font-family:inherit;font-size:0.75rem;font-weight:700;height:2.75rem;padding:0 1.3333333333em;cursor:pointer;position:relative;background:#fff;display:flex;justify-content:center;align-items:center;text-decoration:none;text-transform:uppercase;letter-spacing:0.01875rem;overflow-wrap:break-word;word-wrap:break-word;word-break:break-word;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}@media screen and (min-width: 48rem){:host .wm-button,wm-button .wm-button{height:3.3333333333em}}:host .wm-button.nowrap,wm-button .wm-button.nowrap{display:inline-block;width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}:host .wm-button:focus,wm-button .wm-button:focus{outline:none;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}:host .wm-button::-moz-focus-inner,wm-button .wm-button::-moz-focus-inner{border:0;outline:none}:host .wm-button.user-is-tabbing:focus:not(:disabled):not(.disabled):not(.-primary):not(.-secondary):not(.-secondary):not(.-selectoronly) .button-text,wm-button .wm-button.user-is-tabbing:focus:not(:disabled):not(.disabled):not(.-primary):not(.-secondary):not(.-secondary):not(.-selectoronly) .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}:host .wm-button.user-is-tabbing:focus:not(.-textonly):not(:disabled):not(.disabled),wm-button .wm-button.user-is-tabbing:focus:not(.-textonly):not(:disabled):not(.disabled){-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}:host .wm-button.user-is-tabbing:focus:not(.-textonly):not(:disabled):not(.disabled):not(.dark),wm-button .wm-button.user-is-tabbing:focus:not(.-textonly):not(:disabled):not(.disabled):not(.dark){-webkit-box-shadow:0 2px 2px 0 rgba(244, 243, 246, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.1), 0 0 4px 3px #61279e;-moz-box-shadow:0 2px 2px 0 rgba(244, 243, 246, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.1), 0 0 4px 3px #61279e;box-shadow:0 2px 2px 0 rgba(244, 243, 246, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.1), 0 0 4px 3px #61279e}:host .wm-button.user-is-tabbing:focus:not(.-textonly):not(:disabled):not(.disabled):not(.dark)::-moz-focus-inner,wm-button .wm-button.user-is-tabbing:focus:not(.-textonly):not(:disabled):not(.disabled):not(.dark)::-moz-focus-inner{border:0}:host .wm-button.dark:not(.-textonly):not(:disabled):not(.disabled),wm-button .wm-button.dark:not(.-textonly):not(:disabled):not(.disabled){background:transparent;border:2px solid #fff;color:#fff}:host .wm-button.dark:not(.-textonly):not(:disabled):not(.disabled):hover,wm-button .wm-button.dark:not(.-textonly):not(:disabled):not(.disabled):hover{color:#575195;background:#e6e6e6;border:2px solid #e6e6e6}:host .wm-button.dark.user-is-tabbing:focus:not(.-textonly):not(:disabled):not(.disabled).dark,wm-button .wm-button.dark.user-is-tabbing:focus:not(.-textonly):not(:disabled):not(.disabled).dark{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;-webkit-box-shadow:0 2px 2px 0 rgba(244, 243, 246, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.1), 0 0 4px 3px #c6b4e3;-moz-box-shadow:0 2px 2px 0 rgba(244, 243, 246, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.1), 0 0 4px 3px #c6b4e3;box-shadow:0 2px 2px 0 rgba(244, 243, 246, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.1), 0 0 4px 3px #c6b4e3;outline:none}:host .wm-button:active:not(:disabled):not(.disabled):not(.-textonly):not(.-actionbutton):not(.displayedoption),wm-button .wm-button:active:not(:disabled):not(.disabled):not(.-textonly):not(.-actionbutton):not(.displayedoption){-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)}:host .wm-button:hover,wm-button .wm-button:hover{background:#464177;color:#fff}:host .wm-button .mdi,wm-button .wm-button .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}:host .wm-button:not(.-icononly):not(.-navigational) .mdi,wm-button .wm-button:not(.-icononly):not(.-navigational) .mdi{margin-right:0.3125rem}:host .wm-button[dir=RTL] :not(.-icononly) .mdi,wm-button .wm-button[dir=RTL] :not(.-icononly) .mdi{margin-left:0.3125rem;margin-right:0}:host .wm-button.-primary:not(.-textonly),wm-button .wm-button.-primary:not(.-textonly){background:#575195;color:#fff}:host .wm-button.-primary:not(.-textonly):not(:focus),wm-button .wm-button.-primary:not(.-textonly):not(:focus){-webkit-box-shadow:0 2px 2px 0 rgba(87, 81, 149, 0.12), 0 2px 2px 0 rgba(0, 0, 0, 0.2);-moz-box-shadow:0 2px 2px 0 rgba(87, 81, 149, 0.12), 0 2px 2px 0 rgba(0, 0, 0, 0.2);box-shadow:0 2px 2px 0 rgba(87, 81, 149, 0.12), 0 2px 2px 0 rgba(0, 0, 0, 0.2)}:host .wm-button.-primary:not(.-textonly):hover,wm-button .wm-button.-primary:not(.-textonly):hover{background:#464177}:host .wm-button.-primary:not(.-textonly).dark:not(:disabled):not(.disabled),wm-button .wm-button.-primary:not(.-textonly).dark:not(:disabled):not(.disabled){color:#575195;background:#fff;border:2px solid #fff}:host .wm-button.-primary:not(.-textonly).dark:not(:disabled):not(.disabled):hover,wm-button .wm-button.-primary:not(.-textonly).dark:not(:disabled):not(.disabled):hover{color:#575195;background:#e6e6e6;border:2px solid #e6e6e6}:host .wm-button.-textonly,wm-button .wm-button.-textonly{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;display:inline-block;letter-spacing:0;text-transform:none;text-align:initial;font-size:0.875rem;border:none;background:transparent;padding-left:0;padding-right:0;height:auto;border-radius:0;line-height:1}:host .wm-button.-textonly+.-textonly,wm-button .wm-button.-textonly+.-textonly{margin-left:0.3125rem}:host .wm-button.-textonly:focus,wm-button .wm-button.-textonly:focus{outline:none}:host .wm-button.-textonly::-moz-focus-inner,wm-button .wm-button.-textonly::-moz-focus-inner{border:0;outline:none}:host .wm-button.-textonly.user-is-tabbing:focus:not(:disabled):not(.disabled) .button-text,wm-button .wm-button.-textonly.user-is-tabbing:focus:not(:disabled):not(.disabled) .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}:host .wm-button.-textonly.user-is-tabbing:focus:not(:disabled):not(.disabled).dark .button-text,wm-button .wm-button.-textonly.user-is-tabbing:focus:not(:disabled):not(.disabled).dark .button-text{background:linear-gradient(90deg, #fff 66%, transparent 0) repeat-x;background-size:6px 3px;background-position:0 1em;border-radius:0;line-height:normal}:host .wm-button.-textonly.small,wm-button .wm-button.-textonly.small{font-size:0.625rem}:host .wm-button.-textonly:hover:not(:disabled):not(.disabled):not(.-permanentlydelete),wm-button .wm-button.-textonly:hover:not(:disabled):not(.disabled):not(.-permanentlydelete){text-decoration:underline;color:#454077}:host .wm-button.-textonly.-permanentlydelete,wm-button .wm-button.-textonly.-permanentlydelete{color:#c0392b}:host .wm-button.-textonly.-permanentlydelete:hover,wm-button .wm-button.-textonly.-permanentlydelete:hover{text-decoration:underline;color:#c0392b !important}:host .wm-button.-textonly.dark,wm-button .wm-button.-textonly.dark{color:#fff}:host .wm-button.-textonly.dark:hover,wm-button .wm-button.-textonly.dark:hover{text-decoration:underline;color:#fff !important}:host .wm-button.-icononly,wm-button .wm-button.-icononly,:host .wm-button.-navigational,wm-button .wm-button.-navigational{-webkit-border-radius:50%;-moz-border-radius:50%;-ms-border-radius:50%;border-radius:50%;font-size:1rem;padding:0;height:auto;line-height:1;min-width:2.75rem;min-height:2.75rem;text-align:center;letter-spacing:normal}:host .wm-button.-icononly:not(:focus),wm-button .wm-button.-icononly:not(:focus),:host .wm-button.-navigational:not(:focus),wm-button .wm-button.-navigational:not(:focus){-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}@media screen and (min-width: 48rem){:host .wm-button.-icononly,wm-button .wm-button.-icononly,:host .wm-button.-navigational,wm-button .wm-button.-navigational{min-width:2.5rem;min-height:2.5rem}}:host .wm-button.-icononly,wm-button .wm-button.-icononly{border-width:1px !important}:host .wm-button.-icononly:before,wm-button .wm-button.-icononly: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}:host .wm-button.-navigational,wm-button .wm-button.-navigational{border:none !important;background-color:transparent}:host .wm-button.-navigational:not(.dark):not(:disabled),wm-button .wm-button.-navigational:not(.dark):not(:disabled){color:#575195}:host .wm-button.-navigational:not(.dark):not(:disabled):hover,wm-button .wm-button.-navigational:not(.dark):not(:disabled):hover,:host .wm-button.-navigational:not(.dark):not(:disabled).selected,wm-button .wm-button.-navigational:not(.dark):not(:disabled).selected{background-color:#d7d6d9}:host .wm-button.-navigational:before,wm-button .wm-button.-navigational: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}:host .wm-button.-permanentlydelete:not(.-textonly),wm-button .wm-button.-permanentlydelete:not(.-textonly){background:#c0392b;border-color:#c0392b;color:#fff}:host .wm-button.-selectoronly,wm-button .wm-button.-selectoronly{-webkit-border-radius:3px;-moz-border-radius:3px;-ms-border-radius:3px;border-radius:3px;display:block;background:transparent;border:1px solid #575195;border-radius:3px 3px 3px 3px;height:2.75rem;min-width:11.4375rem;padding:0 1.875rem 0 0.9375rem;line-height:normal;font-family:inherit;color:#575195;font-weight:500;font-size:0.875rem;text-transform:none;letter-spacing:0.01875rem;text-align:left}@media screen and (min-width: 48rem){:host .wm-button.-selectoronly,wm-button .wm-button.-selectoronly{height:2.5rem}}:host .wm-button.-selectoronly:before,wm-button .wm-button.-selectoronly: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:"";position:absolute;right:0.5625rem;top:50%;transform:translateY(-50%);pointer-events:none}:host .wm-button.-selectoronly:hover:not(:disabled):not(.disabled),wm-button .wm-button.-selectoronly:hover:not(:disabled):not(.disabled){background:transparent;text-decoration:none}:host .wm-button.-selectoronly:active,wm-button .wm-button.-selectoronly:active{-ms-transform:scale(1, 1) !important;transform:scale(1, 1) !important}:host .wm-button.-selectoronly::-moz-focus-inner,wm-button .wm-button.-selectoronly::-moz-focus-inner{border:0}:host .wm-button.-selectoronly .overflowcontrol,wm-button .wm-button.-selectoronly .overflowcontrol{display:block;white-space:nowrap;text-overflow:ellipsis;overflow:visible}:host .wm-button:disabled,wm-button .wm-button:disabled,:host .wm-button.disabled,wm-button .wm-button.disabled{background:inherit;border-color:#737373;color:#737373;cursor:default;pointer-events:none}:host .wm-button:disabled.dark,wm-button .wm-button:disabled.dark,:host .wm-button.disabled.dark,wm-button .wm-button.disabled.dark{color:#a6a6a6;border-color:#a6a6a6}:host .wm-button:disabled.-primary,wm-button .wm-button:disabled.-primary,:host .wm-button:disabled.-permanentlydelete,wm-button .wm-button:disabled.-permanentlydelete,:host .wm-button.disabled.-primary,wm-button .wm-button.disabled.-primary,:host .wm-button.disabled.-permanentlydelete,wm-button .wm-button.disabled.-permanentlydelete{background:#737373;color:#fff;border-color:#737373}:host .wm-button:disabled.-primary.dark,wm-button .wm-button:disabled.-primary.dark,:host .wm-button.disabled.-primary.dark,wm-button .wm-button.disabled.-primary.dark{background:#a6a6a6;border-color:#a6a6a6;color:#353b48}:host .wm-button:disabled.-secondary,wm-button .wm-button:disabled.-secondary,:host .wm-button.disabled.-secondary,wm-button .wm-button.disabled.-secondary{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}:host .wm-button:disabled.-selectoronly,wm-button .wm-button:disabled.-selectoronly,:host .wm-button.disabled.-selectoronly,wm-button .wm-button.disabled.-selectoronly{color:#737373}:host .wm-button:disabled.-textonly,wm-button .wm-button:disabled.-textonly,:host .wm-button.disabled.-textonly,wm-button .wm-button.disabled.-textonly{color:#6b6b6b;background:transparent}:host a.wm-button,wm-button a.wm-button,:host label.wm-button,wm-button label.wm-button{height:auto;padding-top:0.75rem;padding-bottom:0.75rem}:host([disabled]),:host(.button-disabled){pointer-events:none}:host,wm-button{display:inline-block;position:relative;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}:host .sr-only,wm-button .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}';export{b as wm_button}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as t,c as i,h as s,H as r,g as a}from"./p-9baa3039.js";import{a as e}from"./p-
|
|
1
|
+
import{r as t,c as i,h as s,H as r,g as a}from"./p-9baa3039.js";import{a as e}from"./p-43f1298b.js";import{s as o,k as n,i as h}from"./p-cf075b3b.js";import{g as p}from"./p-fd8070fb.js";const l=class{constructor(s){t(this,s),this.wmNavigatorLogout=i(this,"wmNavigatorLogout",7),this.authType=1,this.loadFromUserinfo=!1,this.retrievedInfo=!this.loadFromUserinfo,this.parsedProducts=[],this.isOpen=!1,this.openRight=!1,this.isTabbing=!1,this.itemIndexToFocus=0}async componentWillLoad(){this.userName||console.error("wm-navigator: user-name is a required property."),await this.parseData(),this.setFocusIndex()}async parseData(){this.loadFromUserinfo?await p("/platform/navigator/userinfo").then((t=>{this.email=t.email,this.currentProductId=t.current_product_id,this.parsedProducts=this.productKeysToCamelCase(t.products),this.logoutUrl=this.logoutUrl?this.logoutUrl:t.logout_url,this.connectionName=this.connectionName?this.connectionName:t.connection_name,this.email&&this.currentProductId&&(this.retrievedInfo=!0)})).catch((t=>{console.error(t)})):(this.currentProductId=e(this.el),this.products&&(this.parsedProducts="string"==typeof this.products?JSON.parse(this.products):this.products,this.parsedProducts=this.productKeysToCamelCase(this.parsedProducts))),this.parsedProducts.sort(((t,i)=>t.name<i.name?-1:1))}productKeysToCamelCase(t){return t.map((t=>{const i=Object.keys(t);let s={};return i.forEach((i=>{s[o(i)]=t[i]})),s}))}setFocusIndex(){if(this.parsedProducts.length>1){const t=this.getProduct(this.currentProductId);t&&(this.itemIndexToFocus=this.parsedProducts.indexOf(t))}}toggleTabbingOn(){this.isTabbing=!0}toggleTabbingOff(){this.isTabbing=!1}handleKeys(t){switch(t.key){case"Escape":t.preventDefault(),this.closeMenu();break;case"ArrowDown":case"ArrowUp":t.preventDefault(),this.isOpen||(this.itemIndexToFocus=n(this.itemIndexToFocus,t.key,this.navigatorItems.length),this.openMenu())}}handleKeydown(t){const i=t.detail.key,s=t.detail.navItem;switch(i){case"Tab":this.closeMenu();break;case"Enter":case" ":s.click();break;case"ArrowDown":case"ArrowUp":const t=this.itemIndexToFocus;this.itemIndexToFocus=n(this.itemIndexToFocus,i,this.navigatorItems.length),this.focusItem(),this.unfocusItem(t)}}handleClick(t){t.target!==this.el&&!this.el.contains(t.target)&&this.isOpen&&this.closeMenu()}handleButtonClick(){this.isOpen?this.closeMenu():this.openMenu()}openMenu(){if(this.wrapperEl){const t=this.wrapperEl.clientWidth,i=this.el.getBoundingClientRect().left,s=document.documentElement.clientWidth-this.el.getBoundingClientRect().right;this.openRight=t>i&&s>i}this.isOpen=!0,this.focusItem()}closeMenu(){this.isOpen=!1,this.buttonFocusHandler(),this.unfocusItem(this.itemIndexToFocus),this.setFocusIndex()}focusItem(){const t=this.navigatorItems[this.itemIndexToFocus];t.tabIndex=0,t.focused=!0,window.requestAnimationFrame((()=>t.focus()))}unfocusItem(t){const i=this.navigatorItems[t];i.tabIndex=-1,i.focused=!1}buttonFocusHandler(){const t=this.el.shadowRoot.querySelector("priv-navigator-button").shadowRoot.querySelector("button");window.requestAnimationFrame((()=>t.focus()))}renderUserInfo(){return s("div",{class:"user",id:"wm-nav-user","aria-label":h.formatMessage({id:"navigator.userinfoLabel",defaultMessage:"for {name}, email {email}"},{name:this.userName,email:this.email})},s("p",null,this.userName),s("p",null,this.email))}setAltText(){return h.formatMessage(this.parsedProducts.length>1?{id:"navigator.userinfoAndProductNavigator",defaultMessage:"User information and product navigator"}:{id:"navigator.userinfo",defaultMessage:"User information"})}renderHeading(){return s("h2",null,h.formatMessage({id:"navigator.watermarkApps",defaultMessage:"Watermark Apps",description:"Applications made by Watermark Insights"}))}renderList(){return s("ul",{role:"listbox","aria-label":`${h.formatMessage({id:"navigator.WatermarkAppNavigation",defaultMessage:"Watermark App Navigation",description:"list of applications by Watermark Insights"})}`,"aria-describedby":"wm-nav-user"},this.parsedProducts.length>1&&this.renderProductOptions(),this.renderLogoutOption())}renderProductOptions(){return this.parsedProducts.map((t=>{let i,r,a,e;if(i=t.name,r=t.iconUrl,e=this.setProductOnClick(t.id),i&&r)return a=this.currentProductId===t.id,s("priv-navigator-item",{selected:a,id:t.id,onClick:e,role:"option","aria-label":i},s("img",{src:r,alt:i}))}))}setProductOnClick(t){const i=this.getProduct(t);if(this.currentProductId===t)return()=>{};if(i){if(this.loadFromUserinfo||2===this.authType)return()=>window.location.href=i.linkUrl;if(3===this.authType){const t=this.connectionName?`/?connection_name=${this.connectionName}`:"";return()=>window.location.href=i.samlLinkUrl+t}}}renderLogoutOption(){return s("priv-navigator-item",{class:"logout",selected:!(this.parsedProducts.length>1),id:"nav-logout",onClick:this.setLogoutOnclick(),role:"option"},s("span",{class:"logout"},h.formatMessage({id:"navigator.logout",defaultMessage:"Log Out"})))}setLogoutOnclick(){return()=>{this.wmNavigatorLogout.emit(),this.logoutUrl&&(window.location.href=this.logoutUrl)}}get navigatorItems(){return Array.from(this.el.shadowRoot.querySelectorAll("priv-navigator-item"))}getProduct(t){return this.parsedProducts.find((i=>i.id===t))}render(){return this.retrievedInfo?s(r,{class:this.isTabbing?"user-is-tabbing":""},s("priv-navigator-button",{expanded:this.isOpen,altText:this.setAltText(),isTabbing:this.isTabbing}),s("div",{class:`wrapper ${this.isOpen?"":"hide"} ${this.openRight?"right":""}`,ref:t=>this.wrapperEl=t},this.renderUserInfo(),this.parsedProducts.length>1&&this.renderHeading(),this.renderList())):""}get el(){return a(this)}static get watchers(){return{products:["parseData"]}}};l.style=":host,wm-navigator{height:100%;min-width:0;position:relative;display:inline-block}:host .wrapper,wm-navigator .wrapper{overflow:auto;font-size:1.125rem;min-width:13.125rem;width:auto;max-height:80vh;text-align:left;position:absolute;z-index:50;top:100%;right:20px;left:auto;background:#fff;letter-spacing:normal;-webkit-box-shadow:0 4px 15px 0 rgba(0, 0, 0, 0.2);-moz-box-shadow:0 4px 15px 0 rgba(0, 0, 0, 0.2);box-shadow:0 4px 15px 0 rgba(0, 0, 0, 0.2);-ms-transition:transform 0.25s ease;-webkit-transition:transform 0.25s ease;-moz-transition:transform 0.25s ease;transition:transform 0.25s ease;-ms-transform-origin:center top;-webkit-transform-origin:center top;-moz-transform-origin:center top;transform-origin:center top;-ms-transform:scale(1, 1);-webkit-transform:scale(1, 1);-moz-transform:scale(1, 1);transform:scale(1, 1)}:host .wrapper .user,wm-navigator .wrapper .user{background:#f4f4f4;padding:0.625rem 1.25rem;font-size:0.875rem}:host .wrapper .user p,wm-navigator .wrapper .user p{margin:0}:host .wrapper .user p:first-child,wm-navigator .wrapper .user p:first-child{font-weight:700;text-transform:capitalize}:host .wrapper h2,wm-navigator .wrapper h2{background:#2e1b46;color:#fff;font-weight:700;margin:0;padding:0.625rem 1.25rem;font-size:0.875rem}:host .wrapper [role=listbox],wm-navigator .wrapper [role=listbox]{list-style:none;margin:0;padding-left:0}:host .wrapper.hide,wm-navigator .wrapper.hide{-ms-transform:scale(1, 0);-webkit-transform:scale(1, 0);-moz-transform:scale(1, 0);transform:scale(1, 0)}:host .wrapper.right,wm-navigator .wrapper.right{right:auto;left:20px}:host img,wm-navigator img{transform:scale(0.8);transform-origin:left center;display:block}:host .logout,wm-navigator .logout{text-align:center;text-transform:capitalize}priv-navigator-item:focus{outline:none}";export{l as wm_navigator}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as e,c as t,h as i,H as r,g as a}from"./p-9baa3039.js";import{i as s,e as p,h as o,g as l}from"./p-cf075b3b.js";const d=class{constructor(i){e(this,i),this.wmDatepickerNewValidValue=t(this,"wmDatepickerNewValidValue",7),this.value="",this.disabled=!1,this.dateFormat="US",this.errorMessage="",this.labelPosition="top",this.label="",this.requiredField=!1,this.displayError="",this.lastCommittedValue=this.value,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:s.formatMessage({id:"date.formatUS",defaultMessage:"mm/dd/yyyy"}),INT:s.formatMessage({id:"date.formatINT",defaultMessage:"dd/mm/yyyy"}),ISO:s.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())}handleInput(e){this.value=e.target.value}handleBlur(e){this.preventValidation&&p(e,this.preventValidation)||this.processInput(),this.dpWrapper.classList.remove("focus")}focusHandler(){this.dpWrapper.classList.add("focus")}handlePopupClosed(){this.el.tabIndex=0,this.el.focus()}getActiveElement(){return o(document.activeElement)}handleCellTriggered(e){let t=e.detail,i=t.getAttribute("data-year")+"-"+t.getAttribute("data-month")+"-"+t.textContent;this.inputEl.value=this.reformatDate(this.dateFormat,i),this.processInput();const r=new CustomEvent("input");this.el.dispatchEvent(r)}processInput(e){const t=!e&&this.requiredField;let i=this.inputEl.value;if(this.eightDigitsEntry.test(this.inputEl.value)&&(this.inputEl.value=this.addSlashes(this.inputEl.value)),this.parsableEntry.test(this.inputEl.value)?(i=this.reformatDate("ISO",this.inputEl.value),this.inputEl.value=this.reformatDate(this.dateFormat,i),this.isValidDate(i)?this.errorMessage?this.generateError():this.clearError():this.inputEl.value.length&&this.generateError()):this.inputEl.value.length||t||this.errorMessage?this.generateError():this.inputEl.value.length||t||this.clearError(),i!==this.lastCommittedValue){this.value=i;const e=new CustomEvent("change");this.el.dispatchEvent(e),this.lastCommittedValue=this.value}this.isValidDate(i)&&i!==this.lastValidValue&&(this.wmDatepickerNewValidValue.emit(),this.lastValidValue=i)}reformatDate(e,t){if(!t)return"";if(!this.parsableEntry.test(t))return t;{let i=t.replace(/[\-\.]/gi,"/").split("/");switch(e){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(e&&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=s.formatMessage({id:"date.requiredDateError",defaultMessage:"A date is required."}),t=s.formatMessage({id:"date.invalidDate",defaultMessage:"Please enter a valid date in the format {dateFormat, select, us {mm/dd/yyyy} int {dd/mm/yyyy} other {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:l(),this.value&&this.isValidDate(this.value)&&(this.lastValidValue=this.value)}componentDidLoad(){this.inputEl.value=this.reformatDate(this.dateFormat,this.value),this.processInput(!0)}render(){const e=s.formatMessage({id:"date.format",defaultMessage:"{dateFormat, select, us {mm/dd/yyyy} int {dd/mm/yyyy} other {yyyy/mm/dd}}"},{dateFormat:this.dateFormat.toLowerCase()});return i(r,{id:this.uid,onBlur:()=>{this.el.removeAttribute("tabindex")},"aria-busy":"false",class:this.displayError?"invalid":"",invalid:this.displayError?"true":null},i("div",{ref:e=>this.dpWrapper=e,class:`wrapper label-${this.labelPosition} ${this.displayError?"invalid":""}`},i("div",{class:"label-wrapper"},"none"!==this.labelPosition&&i("label",{id:`datepickerLabel-${this.uid}`,htmlFor:`date-input-${this.uid}`,class:"label",title:`${this.label} (${e})`},this.label,this.requiredField&&i("span",{"aria-hidden":"true",class:"required"},"*"))),i("div",null,i("div",{class:"inner-wrapper"},i("input",{disabled:this.disabled,type:"text",id:`date-input-${this.uid}`,class:"date-input",name:"date",placeholder:e,onFocus:this.focusHandler.bind(this),onInput:e=>this.handleInput(e),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}),i("priv-datepicker",{disabled:this.disabled,date:this.lastValidValue?new Date(this.lastValidValue):new Date,parentId:this.uid})),i("div",{id:`error-${this.uid}`,class:"error","aria-live":"assertive","aria-atomic":"true"},this.displayError))))}get el(){return a(this)}static get watchers(){return{errorMessage:["handleError"]}}};d.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{d as wm_datepicker}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as t,c as i,h as e,H as s,g as o,f as r}from"./p-9baa3039.js";import{i as n,g as a,l,q as h}from"./p-cf075b3b.js";const p=class{constructor(e){t(this,e),this.wmOptionSelected=i(this,"wmOptionSelected",7),this.wmKeyUpPressed=i(this,"wmKeyUpPressed",7),this.wmKeyDownPressed=i(this,"wmKeyDownPressed",7),this.wmEscKeyPressed=i(this,"wmEscKeyPressed",7),this.wmHomeKeyPressed=i(this,"wmHomeKeyPressed",7),this.wmEndKeyPressed=i(this,"wmEndKeyPressed",7),this.wmTabKeyPressed=i(this,"wmTabKeyPressed",7),this.wmEnterKeyPressed=i(this,"wmEnterKeyPressed",7),this.wmLetterPressed=i(this,"wmLetterPressed",7),this.wmOptionBlurred=i(this,"wmOptionBlurred",7),this.subinfo=void 0,this.disabled=!1,this.selected=!1,this.focused=!1}get isMultiChild(){var t;return null===(t=this.el.parentElement)||void 0===t?void 0:t.multiple}handleKeydown(t){switch(t.keyCode){case 38:t.preventDefault(),this.wmKeyUpPressed.emit();break;case 40:t.preventDefault(),this.wmKeyDownPressed.emit(this.el);break;case 13:t.preventDefault(),this.disabled||(this.el.click(),this.wmEnterKeyPressed.emit(this.el));break;case 32:t.preventDefault(),this.el.click();break;case 27:t.preventDefault(),t.stopPropagation(),this.wmEscKeyPressed.emit();break;case 36:t.preventDefault(),this.wmHomeKeyPressed.emit();break;case 35:t.preventDefault(),this.wmEndKeyPressed.emit();break;case 9:this.wmTabKeyPressed.emit();break;default:this.wmLetterPressed.emit(t.key)}}handleSelection(){this.disabled||this.wmOptionSelected.emit()}handleBlur(t){this.wmOptionBlurred.emit({relatedTarget:t.relatedTarget})}syncAriaSelected(){this.selected?this.el.setAttribute("aria-selected","true"):this.el.removeAttribute("aria-selected")}syncAriaDisabled(){this.disabled?this.el.setAttribute("aria-disabled","true"):this.el.removeAttribute("aria-disabled")}focusHandler(t){t&&this.el.focus()}updateDisabledOnClick(){this.disabled&&this.el.onclick?(this.onClickFunc=this.el.onclick,this.el.onclick=null):!this.disabled&&this.onClickFunc&&(this.el.onclick=this.onClickFunc)}componentWillLoad(){this.syncAriaSelected(),this.syncAriaDisabled(),this.updateDisabledOnClick()}render(){return e(s,{role:"option",tabindex:this.focused?0:-1,class:`${this.subinfo?"hassubinfo":""} ${this.isMultiChild?"multi-option":""}`},e("div",{class:"option-wrapper "+(this.isMultiChild?"checkbox":"")},e("slot",null)),e("div",{class:"subinfo"},this.subinfo))}get el(){return o(this)}static get watchers(){return{selected:["syncAriaSelected"],disabled:["syncAriaDisabled","updateDisabledOnClick"],focused:["focusHandler"]}}};p.style='@charset "UTF-8";:host(:not(:last-child)),wm-option:not(:last-child){border-bottom:2px solid rgba(46, 27, 70, 0.05)}:host,wm-option{display:block;cursor:pointer;position:relative;padding:1.25rem;background:#fff;font-family:inherit;list-style:none;color:#4a4a4a;user-select:none}:host:focus,:host.focus,wm-option:focus,wm-option.focus{outline:none;background:#f4f4f4}:host.icon,wm-option.icon{color:#575195}.checkbox: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:"";display:inline;margin-right:0.25rem;color:#575195}:host([aria-selected=true]),wm-option[aria-selected=true]{background:rgba(46, 27, 70, 0.05);font-weight:500}:host([aria-selected=true]) .checkbox:before,wm-option[aria-selected=true] .checkbox:before{content:""}:host([aria-disabled=true]),wm-option[aria-disabled=true]{font-style:italic;color:#6b6b6b;cursor:default}:host([aria-disabled=true]) .checkbox:before,wm-option[aria-disabled=true] .checkbox:before{color:#6b6b6b}:host(.multi-option),wm-option.multi-option{background:unset}:host(.hassubinfo),wm-option.hassubinfo{display:flex}:host(.hassubinfo) .option-wrapper,wm-option.hassubinfo .option-wrapper{flex:1}:host(.hassubinfo) .subinfo,wm-option.hassubinfo .subinfo{flex:none}.subinfo{font-style:italic}.option-wrapper{display:inline-block}::slotted{font-family:inherit}::slotted(i){font-size:0.875rem}::slotted(i):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;display:inline-block;margin-right:0.625rem;pointer-events:none}:host(:focus),wm-option:focus{outline:none;background:#f4f4f4}:host(:hover){background:#f4f4f4;outline:none}';const d=class{constructor(e){t(this,e),this.wmSelectDidLoad=i(this,"wmSelectDidLoad",7),this.wmSelectBlurred=i(this,"wmSelectBlurred",7),this.wmComponentBlurred=i(this,"wmComponentBlurred",7),this.disabled=!1,this.invalid=!1,this.labelPosition="top",this.requiredField=!1,this.errorMessage="",this.multiple=!1,this.placeholder=n.formatMessage({id:"select.multiPlaceholder",defaultMessage:"Make a selection",description:"Placeholder text. Use imperative"}),this.allSelectedMessage=n.formatMessage({id:"select.allSelected",defaultMessage:"All selected",description:"Text displayed when all options are selected"}),this.requiredMessage=n.formatMessage({id:"global.requiredField",defaultMessage:"required field"}),this.isTabbing=!1,this.isExpanded=!1,this.keysSoFar="",this.searchIndex=0,this.keyClear=null,this.openUp=!1,this.overflowCount=0,this.displayedItems=[],this.allSelected=!1}get childItems(){return Array.from(this.el.querySelectorAll("wm-option"))}get selectedItems(){return Array.from(this.el.querySelectorAll("wm-option")).filter((t=>t.selected))}toggleTabbingOn(){this.isTabbing=!0}toggleTabbingOff(){this.isTabbing=!1}handleOptionSelection(t){this.multiple||this.childItems.filter((i=>i!=t.target&&!!i.selected)).map((t=>t.selected=!1)),this.focusItem(t.target),this.selectItem(t.target),this.multiple||this.close()}handleChildEnter(){this.close()}handleChildUp(t){this.moveUp(t.target)}handleChildDown(t){this.moveDown(t.target)}moveToFirstItem(){this.focusItem(this.childItems[0])}moveToLastItem(){this.focusItem(this.childItems[this.childItems.length-1])}handleTabKey(){this.close(!1)}closePopupOnEscape(){this.close()}handleOptionBlur(t){if(t.detail.relatedTarget!==this.el&&!this.el.contains(t.detail.relatedTarget)){const i=new CustomEvent("blur");i.relatedTarget=t.detail.relatedTarget,this.el.dispatchEvent(i)}}handleClick(t){t.target!==this.el&&!this.el.contains(t.target)&&this.isExpanded&&this.close()}handleButtonBlur(t){(t.relatedTarget===this.el||this.el.contains(t.relatedTarget))&&t.stopPropagation()}handleKey(t){switch(t.keyCode){case 40:!1===this.isExpanded&&(t.preventDefault(),this.open("next"));break;case 38:!1===this.isExpanded&&(t.preventDefault(),this.open("previous"))}}componentWillLoad(){this.label||console.error("For accessibility purposes, this component requires a label (even if `label-position` is set to `none`)."),this.el.focus=function(){this.disabled||this.shadowRoot.querySelector("button").focus()},this.uid=this.el.id?this.el.id:a(),document.body.classList.contains("wmcl-user-is-tabbing")&&this.toggleTabbingOn()}componentDidLoad(){if(this.wmSelectDidLoad.emit(),!this.childItems.length)throw new Error("wm-select should have wm-option elements as children.");if(this.multiple&&this.childItems.filter((t=>t.subinfo)).length>0)throw new Error("wm-select with the multiple prop cannot have subinfo options");if(this.multiple&&!this.placeholder)throw new Error("wm-select with the multiple prop needs to also use the placeholder prop.");this.selectedItems.length>0?(this.selectedItems.forEach((t=>this.displayedItems.push(t))),this.setButtonText()):this.multiple||this.selectItem(this.childItems[0]),this.optionsEl.classList.add("hidden"),r(this.el),this.maxHeight&&(this.optionsEl.style.maxHeight=this.maxHeight)}moveUp(t){const i=t.previousElementSibling;i?(i.getBoundingClientRect().top<this.optionsEl.getBoundingClientRect().top&&(this.optionsEl.scrollTop=i.getBoundingClientRect().top-this.optionsEl.getBoundingClientRect().top+this.optionsEl.scrollTop),this.focusItem(i)):this.focusItem(this.childItems[this.childItems.length-1])}moveDown(t){const i=t.nextElementSibling;i&&"INPUT"!==i.tagName?(i.getBoundingClientRect().bottom>this.optionsEl.getBoundingClientRect().bottom&&(this.optionsEl.scrollTop=i.getBoundingClientRect().bottom-this.optionsEl.getBoundingClientRect().top+this.optionsEl.scrollTop-this.optionsEl.offsetHeight),this.focusItem(i)):this.focusItem(this.childItems[0])}open(t){this.disabled||(this.openUp=l(this.el,this.optionsEl,this.el.clientHeight,this.buttonEl.clientHeight),this.isExpanded=!0,this.optionsEl.classList.remove("hidden"),window.requestAnimationFrame((()=>{this.selectedItems.length>0?"next"===t?this.moveDown(this.selectedItems[this.selectedItems.length-1]):"previous"===t?this.moveUp(this.selectedItems[0]):this.focusItem(this.selectedItems[0]):this.focusItem(this.childItems[0])})))}close(t=!0){this.isExpanded=!1,this.childItems.map((t=>t.focused=!1)),window.setTimeout((()=>{this.optionsEl.classList.add("hidden"),t&&this.el.focus()}),150)}focusItem(t){this.childItems.forEach((i=>i.focused=i===t))}selectItem(t){this.multiple?t.selected=!t.selected:this.childItems.forEach((i=>i.selected=i===t)),this.setButtonText()}findAndFocusItem(t){const i=t.detail.toUpperCase();if(!this.keysSoFar)for(var e=0;e<this.childItems.length;e++)this.childItems[e].focused&&(this.searchIndex=e);this.keysSoFar+=i,this.clearKeysSoFarAfterDelay();var s=this.findMatchInRange(this.childItems,this.searchIndex+1,this.childItems.length);s||(s=this.findMatchInRange(this.childItems,0,this.searchIndex)),s&&this.focusItem(s)}clearKeysSoFarAfterDelay(){this.keyClear&&(window.clearTimeout(this.keyClear),this.keyClear=null),this.keyClear=window.setTimeout(function(){this.keysSoFar="",this.keyClear=null}.bind(this),500)}findMatchInRange(t,i,e){for(var s=i;s<e;s++){var o=t[s].textContent;if(o&&0===o.toUpperCase().indexOf(this.keysSoFar))return t[s]}return null}exposeErrors(){const t=a();this.errorContainer.id=`wm-errors-${t}`,this.buttonEl.setAttribute("aria-describedby",`wm-errors-${t}`)}renderErrorContainer(){return e("div",{id:"wm-errors",class:this.errorMessage?"error-message":"",ref:t=>this.errorContainer=t,"aria-live":"assertive","aria-atomic":"true"},this.errorMessage)}handleComponentBlur(t){this.el.contains(t.relatedTarget)||(this.close(!1),this.wmSelectBlurred.emit(),this.wmComponentBlurred.emit())}setButtonText(){if(this.displayedItems=this.childItems.filter((t=>t.selected)),this.allSelected=this.displayedItems.length===this.childItems.length,this.multiple){const t=38,i=window.getComputedStyle(this.buttonEl),e=parseInt(i.getPropertyValue("padding-left").slice(0,-2)),s=parseInt(i.getPropertyValue("padding-right").slice(0,-2)),o=this.buttonEl.clientWidth-e-s-t;let r=this.displayedItems.map((t=>t.shadowRoot.querySelector(".option-wrapper").clientWidth)),n=r.reduce(((t,i)=>t+i),0);for(this.overflowCount=0;n>o&&this.displayedItems.length>1;)this.overflowCount++,n-=r[r.length-1],r.pop(),this.displayedItems.pop()}}renderButtonText(){return this.multiple&&this.displayedItems.length<1?e("span",null,this.placeholder):this.multiple&&this.allSelected&&this.overflowCount>0?this.allSelectedMessage:this.displayedItems.map(((t,i)=>e("span",null,i>0?", ":"",t.textContent)))}renderSubinfo(){if(!this.multiple&&this.selectedItems.length>0&&this.selectedItems[0].subinfo)return e("span",{class:"subinfo"},this.selectedItems[0].subinfo)}renderOverflowCount(){if(this.overflowCount>0&&!this.allSelected)return e("span",null,e("span",{class:"overflow-counter"},"+",this.overflowCount))}render(){const t={id:`selectbtn-${this.uid}`,disabled:this.disabled,"aria-controls":`list-${this.uid}`,"aria-labelledby":`label-${this.uid} selectbtn-${this.uid}`,"aria-describedby":"wm-errors","aria-expanded":this.isExpanded?"true":"false",onClick:()=>this.isExpanded?this.close():this.open()};return e(s,{onBlur:t=>this.handleComponentBlur(t)},e("div",{class:`wrapper ${h()} label-${this.labelPosition} ${this.invalid||this.errorMessage?"invalid":""}`},e("div",{class:"label-wrapper"},e("label",{class:"label",id:`label-${this.uid}`,htmlFor:`selectbtn-${this.uid}`},this.label,this.requiredField?e("span",{class:"required"},e("span",{class:"sr-only"},this.requiredMessage),e("span",{"aria-hidden":"true"},"*")):"")),e("div",{class:"dropdown"},e("button",Object.assign({},t,{class:"displayedoption "+(this.isTabbing?"user-is-tabbing":""),ref:t=>this.buttonEl=t,onBlur:t=>this.handleButtonBlur(t)}),e("span",{class:this.selectedItems.length>0&&this.selectedItems.filter((t=>t.subinfo)).length>0?"overflowcontrol hassubinfo":"overflowcontrol"},e("span",{class:"button-text"},this.renderButtonText()),this.renderSubinfo()),this.renderOverflowCount()),e("div",{class:`options ${this.isExpanded?"open":""} ${this.openUp?"upwards":""}`,id:`list-${this.uid}`,tabindex:-1,role:"listbox","aria-multiselectable":this.multiple?"true":null,"aria-labelledby":`label-${this.uid}`,ref:t=>this.optionsEl=t},e("slot",null)),this.renderErrorContainer())))}get el(){return o(this)}static get watchers(){return{errorMessage:["exposeErrors"]}}};d.style='@charset "UTF-8";:host{position:relative;display:block;box-sizing:border-box;font-family:inherit}:host .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}.wrapper{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;flex-direction:column;font-size:0.875rem}.wrapper .label{display:block;line-height:normal;font-weight:600;white-space:nowrap;margin-bottom:0.25rem}.wrapper .label .required{color:#c0392b}.wrapper.label-left{flex-direction:row}.wrapper.label-left .label-wrapper{line-height:2.5rem}.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}.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}.wrapper.invalid .label{color:#c0392b}.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] .wrapper.invalid .label:after{margin-left:0;margin-right:0.3125rem}.wrapper.rtl.label-left .label{margin-right:0;margin-left:0.75rem}.wrapper .dropdown{position:relative;flex:1;font-size:1.125rem;color:#575195;min-width:8.75rem}.wrapper .dropdown .displayedoption{-webkit-border-radius:3px;-moz-border-radius:3px;-ms-border-radius:3px;border-radius:3px;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;display:flex;align-items:center;flex-wrap:nowrap;background:transparent;width:100%;border:solid 1px rgba(35, 35, 35, 0.6);padding:0 1.875rem 0 0.9375rem;cursor:pointer;height:2.5rem;line-height:normal;font-family:inherit;color:#575195;font-weight:400;font-size:0.875rem;text-transform:none;text-align:left}@media only screen and (max-width: 768px){.wrapper .dropdown .displayedoption{height:2.75rem}}.wrapper .dropdown .displayedoption: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:"";position:absolute;right:0.5625rem;pointer-events:none}.wrapper .dropdown .displayedoption:hover:not(:disabled):not(.-disabled):not(.-raised){background:transparent;text-decoration:none}.wrapper .dropdown .displayedoption:active{-ms-transform:scale(1, 1) !important;transform:scale(1, 1) !important}.wrapper .dropdown .displayedoption:focus{outline:none}.wrapper .dropdown .displayedoption::-moz-focus-inner{border:0}.wrapper .dropdown .displayedoption.user-is-tabbing:focus{-webkit-box-shadow:0 2px 2px 0 rgba(244, 243, 246, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.1), 0 0 4px 3px #61279e;-moz-box-shadow:0 2px 2px 0 rgba(244, 243, 246, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.1), 0 0 4px 3px #61279e;box-shadow:0 2px 2px 0 rgba(244, 243, 246, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.1), 0 0 4px 3px #61279e}.wrapper .dropdown .displayedoption.user-is-tabbing:focus::-moz-focus-inner{border:0}.wrapper .dropdown .displayedoption .overflowcontrol{display:block;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;flex:1}.wrapper .dropdown .displayedoption .overflowcontrol.hassubinfo{display:flex}.wrapper .dropdown .displayedoption .overflowcontrol.hassubinfo .button-text{flex:1;text-overflow:ellipsis;overflow:hidden;min-width:0}.wrapper .dropdown .displayedoption .overflowcontrol.hassubinfo .subinfo{flex:none;font-style:italic}.wrapper .dropdown .displayedoption .overflow-counter{font-weight:bold;margin-left:0.5rem}.wrapper .dropdown>.displayedoption[disabled]{color:#6b6b6b;border-color:#8a8a8a;background:#f0f0f0;cursor:default}.wrapper .dropdown>.options{-webkit-overflow-scrolling:touch;overflow:auto;max-height:12.5rem;-webkit-box-shadow:0 4px 15px 0 rgba(0, 0, 0, 0.2);-moz-box-shadow:0 4px 15px 0 rgba(0, 0, 0, 0.2);box-shadow:0 4px 15px 0 rgba(0, 0, 0, 0.2);-ms-transition:transform 0.25s ease;-webkit-transition:transform 0.25s ease;-moz-transition:transform 0.25s ease;transition:transform 0.25s ease;-ms-transform:scale(1, 0);-webkit-transform:scale(1, 0);-moz-transform:scale(1, 0);transform:scale(1, 0);-ms-transform-origin:center top;-webkit-transform-origin:center top;-moz-transform-origin:center top;transform-origin:center top;-webkit-border-radius:3px;-moz-border-radius:3px;-ms-border-radius:3px;border-radius:3px;position:absolute;top:0;right:0;background:#fff;z-index:100;width:100%;font-size:0.875rem}.wrapper .dropdown>.options.upwards{top:unset;bottom:calc(100% - 2.5rem);-ms-transform-origin:center bottom;-webkit-transform-origin:center bottom;-moz-transform-origin:center bottom;transform-origin:center bottom}.wrapper .dropdown>.options.hidden{visibility:hidden}.wrapper .dropdown>.options.open{-ms-transform:scale(1, 1);-webkit-transform:scale(1, 1);-moz-transform:scale(1, 1);transform:scale(1, 1)}.wrapper.invalid .dropdown .displayedoption{-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}.wrapper .error-message{color:#c0392b;font-size:0.875rem;margin-top:0.25rem;margin-bottom:0.25rem;display:block;top:100%;left:0;font-style:italic}.rtl>.options{-ms-transform-origin:left top;-webkit-transform-origin:left top;-moz-transform-origin:left top;transform-origin:left top;left:0;right:auto}.rtl>.options .option{padding-left:3rem;padding-right:1.25rem}.rtl>.displayedoption{padding:0 0.9375rem 0 1.875rem;text-align:right}.rtl>.displayedoption:before{right:auto;left:0.5625rem}';export{p as wm_option,d as wm_select}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as t,c as e,h as i,H as r,g as a}from"./p-9baa3039.js";import{g as s,i as o,d as n,l as h}from"./p-cf075b3b.js";const d=class{constructor(i){t(this,i),this.wmTagInputChanged=e(this,"wmTagInputChanged",7),this.labelPosition="top",this.options="",this.selectedTags="",this.addNew=!0,this.characterLimit=50,this.uid=this.el.id?this.el.id:s(),this.openUp=!1,this.isExpanded=!1,this.tagsList=this.csvToArray(this.selectedTags),this.optionsList=this.csvToArray(this.options),this.charCount=0,this.liveRegionMessage="",this.tagAreaInstructions=o.formatMessage({id:"tagInput.tagAreaInstructions",defaultMessage:"tag selection. Press Backspace or Delete to remove a tag."}),this.maxTagsReachedMessage=o.formatMessage({id:"tagInput.maxTagsReached",defaultMessage:"The maximum amount of tags has been reached, no additional tags can be added."}),this.debouncedResize=n((()=>{this.positionInput()}),30)}get focusedElement(){return this.el.shadowRoot.activeElement}get listItemEls(){return Array.from(this.dropdownEl.querySelectorAll("li"))}get tagEls(){return Array.from(this.tagAreaEl.querySelectorAll(".tag"))}get optionEls(){return Array.from(this.dropdownEl.querySelectorAll(".option"))}generateTagAddedMessage(t){return o.formatMessage({id:"tagInput.tagAdded",defaultMessage:"{tagName} added.",description:"A confirmation for adding a tag."},{tagName:t})}generateTagAlreadyAddedMessage(t){return o.formatMessage({id:"tagInput.tagAlreadyAdded",defaultMessage:"{tagName} has already been added.",description:"An alert for adding a tag that is already present."},{tagName:t})}generateTagCounterMessage(t,e){return o.formatMessage({id:"tagInput.tagsAddedCounter",defaultMessage:"Tags added: {x, number}/{y, number}",description:"For the user to understand how close they are to the tag limit."},{x:t,y:e})}generateCharacterLimitLabel(t){return o.formatMessage({id:"global.characterLimit",defaultMessage:"{limit, number} characters allowed.",description:"for screen readers"},{limit:t})}componentWillLoad(){this.placeholder||(this.placeholder=this.createPlaceholderDefault(this.addNew,!!this.options)),this.label||console.error("wm-tag-input must have a label property"),this.consolidateSelectedTags()}componentDidLoad(){this.tagEls.forEach((t=>t.classList.remove("highlight")))}componentDidRender(){this.positionInput()}consolidateSelectedTags(){this.tagsList.forEach((t=>{this.includesCaseInsensitive(this.optionsList,t)||(this.options+=`${this.options.length>0?",":""}${t}`)})),this.optionsList=this.csvToArray(this.options)}createPlaceholderDefault(t,e){const i=o.formatMessage({id:"tagInput.placeholderAddAndSearch",defaultMessage:"Add or search for a tag",description:"Placeholder text. Use imperative"}),r=o.formatMessage({id:"tagInput.placeholderSearch",defaultMessage:"Search and select a tag",description:"Placeholder text. Use imperative"}),a=o.formatMessage({id:"tagInput.placeholderAdd",defaultMessage:"Add a new tag",description:"Placeholder text. Use imperative"});let s="";return t&&e?s=i:!t&&e?s=r:t&&(s=a),s}reflectSelectedTags(){this.selectedTags=this.listToCSV(this.tagsList),this.wmTagInputChanged.emit({value:this.tagsList})}closeIfNotElOrChild(t){t.target!==this.el&&!this.el.shadowRoot.contains(t.target)&&this.isExpanded&&this.closeDropdown()}handleResize(){this.debouncedResize()}handleInputKeyDown(t){switch(/^.$/.test(t.key)&&this.inputEl.value.length>=this.characterLimit&&this.announceCharacterLimitWarning(this.inputEl.value.length,this.characterLimit),t.stopPropagation(),t.key){case"Enter":case",":t.preventDefault(),this.submitInput(this.addNew,this.inputEl.value.trim());break;case"ArrowDown":t.preventDefault(),this.handleInputArrowDown();break;case"ArrowUp":t.preventDefault(),this.handleInputArrowUp();break;case"Escape":this.isExpanded&&this.closeDropdown();break;case"ArrowLeft":case"Backspace":this.handleInputBackspace()}}handleInputChanged(t){this.charCount=t.length,this.charCount>=this.characterLimit-5&&this.announceCharacterLimitWarning(this.charCount,this.characterLimit),this.announceExistingOptions(),this.isExpanded||this.openDropdown()}submitInput(t,e){const i=e.match(/\S/);t&&i&&(this.tagsList=this.addTag(e),this.optionsList=this.addOption(e),this.resetInput(),this.maxTags&&this.tagsList.length>=this.maxTags&&this.tagAreaEl.focus())}handleInputArrowDown(){this.isExpanded?this.moveDownListItem():this.openDropdown()}handleInputArrowUp(){this.isExpanded?this.moveUpListItem():this.openDropdown()}handleInputBackspace(){""===this.inputEl.value&&this.tagsList.length>0&&window.requestAnimationFrame((()=>{this.tagAreaEl.focus(),this.focusTag(this.tagEls[this.tagEls.length-1])}))}handleListItemKeyDown(t){const e=t.target;switch(t.key){case"Enter":case" ":t.preventDefault(),e.click();break;case"ArrowDown":t.preventDefault(),this.moveDownListItem();break;case"ArrowUp":t.preventDefault(),this.moveUpListItem();break;case"Escape":this.focusedElement!==this.inputEl?this.inputEl.focus():this.closeDropdown()}}handleListItemClick(t){const e=t.target.dataset.option.trim()||"";this.includesCaseInsensitive(this.tagsList,e)?this.announce(this.generateTagAlreadyAddedMessage(e)):(this.announce(this.generateTagAddedMessage(e)),this.resetInput(),this.tagsList=this.addTag(e),this.optionsList=this.addOption(e),this.focusedListItem=null,(this.maxTags&&this.tagsList.length>=this.maxTags?this.tagAreaEl:this.inputEl).focus())}handleTagAreaKeyDown(t){switch(t.key){case"ArrowLeft":case"ArrowUp":t.preventDefault(),this.moveLeftTag();break;case"ArrowRight":case"ArrowDown":t.preventDefault(),this.moveRightTag();break;case"Backspace":case"Delete":this.handleTagAreaDelete()}}handleTagAreaDelete(){this.focusedTag&&this.focusedTag.dataset.tag&&(this.removeTag(this.focusedTag.dataset.tag),0===this.tagsList.length?this.inputEl.focus():this.focusedTag===this.tagEls[this.tagEls.length-1]&&(this.focusedTag=this.tagEls[this.tagEls.length-2],this.focusTag(this.focusedTag)))}handleBlur(t,e){t.relatedTarget!==e&&!this.el.shadowRoot.contains(t.relatedTarget)&&(this.closeDropdown(),this.fieldWrapperEl.classList.remove("focused"))}handleTagAreaFocus(){this.closeDropdown(),this.focusedTag||(this.focusedTag=this.tagEls[0]),this.focusTag(this.focusedTag)}handleRemoveButtonClick(t){this.moveLeftTag(),this.removeTag(t)}moveDownListItem(){if(this.listItemEls.length>0){const t=this.listItemEls[0];this.focusListItem(this.focusedListItem&&this.focusedListItem.nextElementSibling?this.focusedListItem.nextElementSibling:t)}}moveUpListItem(){if(this.listItemEls.length>0){const t=this.listItemEls[this.listItemEls.length-1];this.focusedListItem?this.focusedListItem.previousElementSibling?this.focusListItem(this.focusedListItem.previousElementSibling):(this.focusedListItem=null,this.inputEl.focus()):this.focusListItem(t)}}moveLeftTag(){const t=this.tagEls[this.tagEls.length-1];this.focusedTag=this.focusedTag&&this.tagEls.includes(this.focusedTag.previousElementSibling)?this.focusedTag.previousElementSibling:t,this.focusTag(this.focusedTag)}moveRightTag(){const t=this.tagEls[0];this.focusedTag=this.focusedTag&&this.tagEls.includes(this.focusedTag.nextElementSibling)?this.focusedTag.nextElementSibling:t,this.focusTag(this.focusedTag)}addOption(t){let e=this.optionsList;return this.includesCaseInsensitive(this.optionsList,t)||(e=e.concat(t)),e}removeOption(t){this.optionsList=this.filterCaseInsensitive(this.optionsList,t)}addTag(t){let e=this.tagsList;const i=this.includesCaseInsensitive(this.tagsList,t),r=this.optionsList.filter((e=>e.toLowerCase()===t.toLowerCase()))[0];return i||(this.announce(this.generateTagAddedMessage(t)),e=e.concat(r||t)),e}removeTag(t){const e=o.formatMessage({id:"tagInput.tagRemoved",defaultMessage:"{tag} removed"},{tag:t});this.announce(e),this.tagsList=this.filterCaseInsensitive(this.tagsList,t);const i=this.csvToArray(this.options);this.includesCaseInsensitive(this.optionsList,t)&&!this.includesCaseInsensitive(i,t)&&this.removeOption(t)}focusListItem(t){this.focusedListItem=t,t.focus()}focusTag(t){this.focusedTag=t,this.tagAreaEl.setAttribute("aria-activedescendant",this.focusedTag.id)}clearTagFocus(){this.tagAreaEl.removeAttribute("aria-activedescendant"),this.focusedTag=null}openDropdown(){this.openUp=h(this.el,this.dropdownEl,this.el.clientHeight,-2),this.isExpanded=!0}closeDropdown(){this.focusedListItem=null,this.isExpanded=!1}clearListItemFocus(){this.focusedListItem=null,this.listItemEls.forEach((t=>{t.tabIndex=-1,t.classList.remove("focused")}))}resetInput(){this.charCount=0,this.inputEl.value=""}announce(t){this.liveRegionEl.textContent===t&&(t+=" "),this.liveRegionMessage=t}announceExistingOptions(){window.requestAnimationFrame((()=>{const t=o.formatMessage({id:"tagInput.existingOptions",defaultMessage:"{num, plural, one {1 existing option.} other {# existing options.}}"},{num:this.optionEls.length});this.optionEls.length>0&&this.announce(t)}))}announceCharacterLimitWarning(t,e){const i=o.formatMessage({id:"global.charactersEntered",defaultMessage:"{x, number} of {y, number} characters entered.",description:"for screen readers"},{x:t,y:e}),r=o.formatMessage({id:"global.characterLimitReached",defaultMessage:"No additional characters will be entered.",description:"for screen readers"});this.announce(`${i}${t>=e?" "+r:""}`)}positionInput(){const t=this.tagEls[this.tagEls.length-1];this.inputEl.style.position="static",this.inputEl.style.width="100%",t&&this.tagAreaEl.getBoundingClientRect().right-t.getBoundingClientRect().right>=150&&(this.inputEl.style.position="absolute",this.inputEl.style.top=t.offsetTop.toString()+"px",this.inputEl.style.width=(this.tagAreaEl.getBoundingClientRect().right-t.getBoundingClientRect().right-8).toString()+"px")}listToCSV(t){return t.join(",")}csvToArray(t){return t?t.split(/, ?/):[]}includesCaseInsensitive(t,e){return t.map((t=>t.toLowerCase())).includes(e.toLowerCase())}filterCaseInsensitive(t,e){return t.filter((t=>t.toLowerCase()!==e.toLowerCase()))}sortCaseInsensitive(t){return t.sort(((t,e)=>(t=t.toLowerCase())>(e=e.toLowerCase())?1:t<e?-1:0))}renderTags(){return this.tagsList.map(((t,e)=>{const r=`tag${e+1}`;return i("li",{id:r,class:"tag highlight "+(this.focusedTag&&this.focusedTag.id===r?"focused":""),"data-tag":t,role:"option"},t,i("button",{class:"remove-btn",tabIndex:-1,onClick:()=>this.handleRemoveButtonClick(t)}))}))}renderListItems(t){return t=this.sortCaseInsensitive(t),this.inputEl&&this.inputEl.value&&(t=this.optionsList.filter((t=>t.toLowerCase().includes(this.inputEl.value.toLowerCase())))),t.map(((t,e)=>{const r=`option${e+1}`,a=this.focusedListItem&&this.focusedListItem.id===r,s=this.includesCaseInsensitive(this.tagsList,t);return i("li",{class:"option "+(a?"focused":""),role:"option",id:r,"data-option":t,tabIndex:a?0:-1,"aria-selected":s?"true":"false","aria-disabled":s?"true":"false",onKeyDown:t=>this.handleListItemKeyDown(t),onBlur:t=>this.handleBlur(t,this.el),onClick:t=>this.handleListItemClick(t)},t)}))}renderAddNewButton(){const t=this.inputEl.value.match(/\S/),e=this.includesCaseInsensitive(this.optionsList,this.inputEl.value.trim());if(this.addNew&&t&&!e){const t="add-new-btn",e=this.focusedListItem&&this.focusedListItem.id===t;return i("li",{role:"option",class:"add-new-btn "+(e?"focused":""),id:t,"data-option":this.inputEl.value,onKeyDown:t=>this.handleListItemKeyDown(t),onBlur:t=>this.handleBlur(t,this.el),onClick:t=>this.handleListItemClick(t),tabIndex:e?0:-1},`Add "${this.inputEl.value.trim()}"`)}return""}renderHelpText(){const t=o.formatMessage({id:"tagInput.helpTextCanSelect",defaultMessage:"Search and select a tag.",description:"Placeholder text. Use imperative"}),e=o.formatMessage({id:"tagInput.helpTextEditable",defaultMessage:"Press the Enter or Comma key to add a new tag.",description:"Placeholder text. Use imperative"});let i="";return this.optionsList.length>0&&(i+=t),this.addNew&&(i+=" "+e),i}renderTagCounter(){if(this.maxTags)return i("div",{class:"lower-row"},i("div",{id:"max-tags"},this.generateTagCounterMessage(this.tagsList.length,this.maxTags),this.tagsList.length>=this.maxTags&&i("span",{class:"sr-only"},this.maxTagsReachedMessage)))}render(){const t=this.focusedElement&&(this.focusedElement===this.inputEl||this.focusedElement===this.tagAreaEl||this.focusedElement.classList.contains("add-new-btn")||this.optionsList.length>0&&this.listItemEls.includes(this.focusedElement));return i(r,{id:this.uid},i("div",{class:`wrapper label-${this.labelPosition}`},i("div",{class:"label-wrapper"},i("label",{class:"label",htmlFor:`input${this.uid}`},this.label)),i("div",{class:"field-wrapper "+(t?"focused":""),ref:t=>this.fieldWrapperEl=t},i("div",{class:"upper-row"},i("div",{class:"tags-and-input-wrapper"},i("ul",{ref:t=>this.tagAreaEl=t,class:"tag-area",role:"listbox","aria-orientation":"horizontal","aria-label":`${this.label} ${this.tagsList.length>0?this.tagAreaInstructions:""}`,tabindex:this.tagsList.length>0?0:-1,"aria-describedby":"info max-tags",onFocus:()=>this.handleTagAreaFocus(),onBlur:t=>{this.clearTagFocus(),this.handleBlur(t,this.el)},onKeyDown:t=>this.handleTagAreaKeyDown(t)},this.renderTags()),i("input",{id:`input${this.uid}`,class:this.maxTags&&this.tagsList.length>=this.maxTags?"hidden":"",role:"combobox",ref:t=>this.inputEl=t,autocomplete:"off","aria-controls":"dropdown","aria-describedby":"help-text","aria-label":`${this.label} ${this.generateCharacterLimitLabel(this.characterLimit)}`,"aria-expanded":this.isExpanded?"true":"false",placeholder:this.placeholder,maxLength:this.characterLimit,onInput:()=>this.handleInputChanged(this.inputEl.value),onBlur:t=>{this.handleBlur(t,this.el)},onFocus:()=>{this.openDropdown(),this.clearListItemFocus()},onKeyDown:t=>this.handleInputKeyDown(t)})),i("div",{class:"character-count"},this.charCount,"/",this.characterLimit)),this.renderTagCounter(),i("div",{class:`dropdown-wrapper ${this.isExpanded?"open":""} ${this.openUp?"upwards":""}`,ref:t=>this.dropdownEl=t},i("div",{id:"help-text",class:"help-text"},this.renderHelpText()),i("ul",{class:"dropdown",id:"dropdown",role:"listbox","aria-multiselectable":"true","aria-expanded":!!this.isExpanded&&"true","aria-label":this.label,tabindex:-1},this.inputEl&&this.renderAddNewButton(),this.renderListItems(this.optionsList)))),this.info?i("div",{id:"info",class:"info-text"},this.info):"",i("div",{class:"sr-only","aria-live":"assertive",ref:t=>this.liveRegionEl=t,"aria-atomic":"true"},this.liveRegionMessage)))}get el(){return a(this)}static get watchers(){return{tagsList:["reflectSelectedTags"]}}};d.style='@charset "UTF-8";:host,wm-tag-input{font-family:inherit;width:100%}:host *,wm-tag-input *{box-sizing:border-box;font-size:14px}:host .wrapper,wm-tag-input .wrapper{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;flex-direction:column;font-size:0.875rem}:host .wrapper .label,wm-tag-input .wrapper .label{display:block;line-height:normal;font-weight:600;white-space:nowrap;margin-bottom:0.25rem}:host .wrapper .label .required,wm-tag-input .wrapper .label .required{color:#c0392b}:host .wrapper.label-left,wm-tag-input .wrapper.label-left{flex-direction:row}:host .wrapper.label-left .label-wrapper,wm-tag-input .wrapper.label-left .label-wrapper{line-height:2.5rem}:host .wrapper.label-left .label-wrapper .label,wm-tag-input .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-tag-input .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-tag-input .wrapper.invalid .label{color:#c0392b}:host .wrapper.invalid .label:after,wm-tag-input .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-tag-input .wrapper.invalid .label:after{margin-left:0;margin-right:0.3125rem}:host .wrapper.rtl.label-left .label,wm-tag-input .wrapper.rtl.label-left .label{margin-right:0;margin-left:0.75rem}:host .wrapper,wm-tag-input .wrapper{width:100%;position:relative}:host .field-wrapper,wm-tag-input .field-wrapper{position:relative;width:100%;min-height:2.5rem;border:1px solid #4a4a4a;-webkit-border-radius:3px;-moz-border-radius:3px;-ms-border-radius:3px;border-radius:3px}:host .field-wrapper.focused,wm-tag-input .field-wrapper.focused{-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 .character-count,wm-tag-input .character-count{display:flex;align-items:center;justify-content:center;min-width:5rem;background-color:rgba(74, 74, 74, 0.05);font-size:0.875rem;font-weight:500;align-self:stretch}:host .tags-and-input-wrapper,wm-tag-input .tags-and-input-wrapper{position:relative;width:100%;padding:0.5rem 0.25rem;margin-bottom:-0.5rem}:host .upper-row,wm-tag-input .upper-row{width:100%;display:flex;flex:1;justify-content:space-between;align-items:center}:host .lower-row,wm-tag-input .lower-row{width:100%;border-radius:0 0 3px 3px}:host #max-tags,wm-tag-input #max-tags{display:flex;align-items:center;height:1.875rem;background-color:#6b6b6b;padding:0.5rem 1rem;color:white;font-size:0.875rem}:host .tag-area,wm-tag-input .tag-area{display:flex;flex-wrap:wrap;margin:0;padding:0}:host .tag-area:focus,wm-tag-input .tag-area:focus{outline:none}:host .tag-area [role=option],wm-tag-input .tag-area [role=option]{display:inline-flex;align-items:center;height:1.75rem;list-style:none;color:#4a4a4a;background-color:rgba(3, 0, 0, 0.1);padding:0.5rem 0.625rem;margin-bottom:0.5rem;margin-right:0.25rem;margin-left:0.25rem;transition:background-color 0.3s cubic-bezier(0.4, 0, 0.2, 1);white-space:pre}:host .tag-area [role=option].highlight,wm-tag-input .tag-area [role=option].highlight{animation:fadeIn 1s}@keyframes fadeIn{0%{background-color:rgba(3, 0, 0, 0.1)}50%{background-color:#c8dfcc}100%{background-color:rgba(3, 0, 0, 0.1)}}:host .tag-area [role=option].focused,wm-tag-input .tag-area [role=option].focused{background-color:#d1d1d1}:host .tag-area [role=option] .remove-btn,wm-tag-input .tag-area [role=option] .remove-btn{display:inline-flex;justify-content:center;align-items:center;height:1.25rem;width:1.25rem;border:1px solid #575195;color:#575195;border-radius:50%;padding:0;margin-left:0.5rem;cursor:pointer;transition:background-color 500ms cubic-bezier(0.4, 0, 0.2, 1), color 500ms cubic-bezier(0.4, 0, 0.2, 1)}:host .tag-area [role=option] .remove-btn:hover,wm-tag-input .tag-area [role=option] .remove-btn:hover{color:white;background-color:#575195}:host .tag-area [role=option] .remove-btn:before,wm-tag-input .tag-area [role=option] .remove-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:""}:host input,wm-tag-input input{font-family:inherit;border:none;height:1.75rem;padding:0;margin-bottom:0.5rem;margin-right:0.25rem;padding-left:0.5rem;right:0px}:host input.hidden,wm-tag-input input.hidden{display:none}:host input:focus,wm-tag-input input:focus{outline:none}:host .dropdown-wrapper,wm-tag-input .dropdown-wrapper{margin:0;padding:0;-webkit-box-shadow:0 4px 15px 0 rgba(0, 0, 0, 0.2);-moz-box-shadow:0 4px 15px 0 rgba(0, 0, 0, 0.2);box-shadow:0 4px 15px 0 rgba(0, 0, 0, 0.2);-ms-transition:transform 0.25s ease;-webkit-transition:transform 0.25s ease;-moz-transition:transform 0.25s ease;transition:transform 0.25s ease;-ms-transform:scale(1, 0);-webkit-transform:scale(1, 0);-moz-transform:scale(1, 0);transform:scale(1, 0);-ms-transform-origin:center top;-webkit-transform-origin:center top;-moz-transform-origin:center top;transform-origin:center top;-webkit-border-radius:3px;-moz-border-radius:3px;-ms-border-radius:3px;border-radius:3px;position:absolute;top:calc(100% + 2px);right:0;background:#fff;z-index:100;width:100%;font-size:0.875rem}:host .dropdown-wrapper .dropdown,wm-tag-input .dropdown-wrapper .dropdown{-webkit-overflow-scrolling:touch;overflow:auto;max-height:12.5rem;margin:0;padding:0}:host .dropdown-wrapper.open,wm-tag-input .dropdown-wrapper.open{-ms-transform:scale(1, 1);-webkit-transform:scale(1, 1);-moz-transform:scale(1, 1);transform:scale(1, 1)}:host .dropdown-wrapper.upwards,wm-tag-input .dropdown-wrapper.upwards{top:unset;bottom:calc(100% + 2px);-ms-transform-origin:center bottom;-webkit-transform-origin:center bottom;-moz-transform-origin:center bottom;transform-origin:center bottom}:host .dropdown-wrapper li,:host .dropdown-wrapper div,wm-tag-input .dropdown-wrapper li,wm-tag-input .dropdown-wrapper div{display:flex;align-items:center;padding:0 1rem;background:#fff;list-style:none;height:2.6875rem;white-space:pre}:host .dropdown-wrapper li[role=option],:host .dropdown-wrapper li.add-new-btn,:host .dropdown-wrapper div[role=option],:host .dropdown-wrapper div.add-new-btn,wm-tag-input .dropdown-wrapper li[role=option],wm-tag-input .dropdown-wrapper li.add-new-btn,wm-tag-input .dropdown-wrapper div[role=option],wm-tag-input .dropdown-wrapper div.add-new-btn{cursor:pointer;color:#575195;font-weight:bold;width:100%;border:none}:host .dropdown-wrapper li[role=option][aria-selected=true],:host .dropdown-wrapper li.add-new-btn[aria-selected=true],:host .dropdown-wrapper div[role=option][aria-selected=true],:host .dropdown-wrapper div.add-new-btn[aria-selected=true],wm-tag-input .dropdown-wrapper li[role=option][aria-selected=true],wm-tag-input .dropdown-wrapper li.add-new-btn[aria-selected=true],wm-tag-input .dropdown-wrapper div[role=option][aria-selected=true],wm-tag-input .dropdown-wrapper div.add-new-btn[aria-selected=true]{color:#6b6b6b;font-style:italic;font-weight:normal;cursor:unset}:host .dropdown-wrapper li[role=option]:hover:not([aria-selected=true]),:host .dropdown-wrapper li[role=option].focused,:host .dropdown-wrapper li.add-new-btn:hover:not([aria-selected=true]),:host .dropdown-wrapper li.add-new-btn.focused,:host .dropdown-wrapper div[role=option]:hover:not([aria-selected=true]),:host .dropdown-wrapper div[role=option].focused,:host .dropdown-wrapper div.add-new-btn:hover:not([aria-selected=true]),:host .dropdown-wrapper div.add-new-btn.focused,wm-tag-input .dropdown-wrapper li[role=option]:hover:not([aria-selected=true]),wm-tag-input .dropdown-wrapper li[role=option].focused,wm-tag-input .dropdown-wrapper li.add-new-btn:hover:not([aria-selected=true]),wm-tag-input .dropdown-wrapper li.add-new-btn.focused,wm-tag-input .dropdown-wrapper div[role=option]:hover:not([aria-selected=true]),wm-tag-input .dropdown-wrapper div[role=option].focused,wm-tag-input .dropdown-wrapper div.add-new-btn:hover:not([aria-selected=true]),wm-tag-input .dropdown-wrapper div.add-new-btn.focused{outline:none;background:#f4f4f4}:host .dropdown-wrapper li.help-text,:host .dropdown-wrapper div.help-text,wm-tag-input .dropdown-wrapper li.help-text,wm-tag-input .dropdown-wrapper div.help-text{color:#4a4a4a;min-height:2.6875rem;padding-top:0.25rem;padding-bottom:0.25rem}:host .dropdown-wrapper li:not(:last-child),:host .dropdown-wrapper div:not(:last-child),wm-tag-input .dropdown-wrapper li:not(:last-child),wm-tag-input .dropdown-wrapper div:not(:last-child){border-bottom:2px solid rgba(46, 27, 70, 0.05)}:host .info-text,wm-tag-input .info-text{font-style:italic;margin-top:0.25rem}:host .sr-only,wm-tag-input .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}';export{d as wm_tag_input}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as t,c as i,h as s,H as e,g as o}from"./p-9baa3039.js";import{n,g as r,l as h,q as a}from"./p-e60fe2f5.js";import{g as m}from"./p-888bec42.js";const l=class{constructor(s){t(this,s),this.wmActionMenuLoaded=i(this,"wmActionMenuLoaded",7),this.menuLoaded=i(this,"menuLoaded",7),this.openUp=!1,this.isExpanded=!1,this.actionMenuType=null,this.buttonType=null,this.disabled=!1,this.keysSoFar="",this.searchIndex=0,this.keyClear=null}get horizontalPosition(){return this.el&&this.itemsEl&&n(this.el,this.itemsEl)?"right":"left"}get childItems(){return Array.from(this.el.querySelectorAll("wm-menuitem"))}get tempActionMenuType(){return this.actionMenuType||this.buttonType||"icon"}handleClickedItem(){this.close()}handleKeyUp(t){this.moveUp(t.target)}handleKeyDown(t){this.moveDown(t.detail)}handleHomeKey(){this.focusFirstItem()}handleEndKey(){this.focusLastItem()}handleTabKey(){this.isExpanded&&this.close()}handleEscKey(){this.close(),this.wmButtonEl.focus()}handleClick(t){t.target!==this.el&&!this.el.contains(t.target)&&this.isExpanded&&this.close()}handleKey(t){switch(t.key){case"ArrowDown":this.isExpanded||(t.preventDefault(),this.open(),window.requestAnimationFrame((()=>this.focusFirstItem())));break;case"ArrowUp":this.isExpanded||(t.preventDefault(),this.open(),window.requestAnimationFrame((()=>this.focusLastItem())))}}handleMenuitemBlur(t){if(t.detail.relatedTarget!==this.el&&!this.el.contains(t.detail.relatedTarget)){const i=new CustomEvent("blur");i.relatedTarget=t.detail.relatedTarget,this.el.dispatchEvent(i)}}handleButtonBlur(t){(t.relatedTarget===this.el||this.el.contains(t.relatedTarget))&&t.stopPropagation()}componentWillLoad(){this.uid=this.el.id?this.el.id:r(),this.el.focus=function(){if(!this.disabled){const t=this.shadowRoot.querySelector("wm-button");t&&t.focus()}},this.buttonType&&console.warn("wm-action-menu: button-type has been deprecated as of v3.1.0. Please use action-menu-type instead.")}componentDidLoad(){0===this.childItems.length?console.error("wm-action-menu should have wm-menuitem elements as children"):this.focusFirstItem(),"icon"===this.tempActionMenuType||this.buttonText||console.error("wm-action-menu should have a valid button-text property when button-type is set to 'text' or 'selector'"),"icon"!==this.tempActionMenuType||this.tooltip||console.error("wm-action-menu should have a valid tooltip when button-type is set to 'icon'"),this.wmActionMenuLoaded.emit(),this.menuLoaded.emit()}moveUp(t){const i=this.childItems.indexOf(t);0===i?this.focusLastItem():this.focusItem(this.childItems[i-1])}moveDown(t){const i=this.childItems.indexOf(t);i===this.childItems.length-1?this.focusFirstItem():this.focusItem(this.childItems[i+1])}open(){this.disabled||(this.openUp=h(this.el,this.itemsEl),this.isExpanded=!0,this.itemsEl.classList.remove("hidden"),window.requestAnimationFrame((()=>this.focusFirstItem())))}close(t=!0){this.isExpanded=!1,this.childItems.forEach((t=>t.focused=!1)),window.setTimeout((()=>{this.itemsEl.classList.add("hidden")}),150),window.setTimeout((()=>{!t||"BODY"!==document.activeElement.tagName&&"WM-MENUITEM"!==document.activeElement.tagName||this.wmButtonEl.focus()}),250)}focusItem(t){this.childItems.map((i=>i.focused=i===t)),t.focus&&t.focus()}focusFirstItem(){this.focusItem(this.childItems[0])}focusLastItem(){this.focusItem(this.childItems[this.childItems.length-1])}findAndFocusItem(t){const i=t.detail.toUpperCase();if(this.focusFirstItem(),!this.keysSoFar)for(var s=0;s<this.childItems.length;s++)this.childItems[s]===document.activeElement&&(this.searchIndex=s);this.keysSoFar+=i,this.clearKeysSoFarAfterDelay();var e=this.findMatchInRange(this.childItems,this.searchIndex+1,this.childItems.length);e||(e=this.findMatchInRange(this.childItems,0,this.searchIndex)),e&&this.focusItem(e)}clearKeysSoFarAfterDelay(){this.keyClear&&(window.clearTimeout(this.keyClear),this.keyClear=null),this.keyClear=window.setTimeout(function(){this.keysSoFar="",this.keyClear=null}.bind(this),500)}findMatchInRange(t,i,s){for(var e=i;e<s;e++){var o=t[e].innerText;if(o&&0===o.toUpperCase().indexOf(this.keysSoFar))return t[e]}return null}render(){return s(e,{onBlur:()=>this.close(!1)},s("div",{class:a()},s("wm-button",{"button-type":`${this.tempActionMenuType}only`,tooltip:this.tooltip,"label-for-identical-buttons":this.labelForIdenticalButtons,icon:"icon"===this.tempActionMenuType?"f1d9":"",id:`menubtn-${this.uid}`,onClick:()=>this.isExpanded?this.close():this.open(),onBlur:t=>this.handleButtonBlur(t),disabled:this.disabled,ref:t=>this.wmButtonEl=t,"tooltip-position":this.tooltipPosition||this.horizontalPosition,"aria-haspopup":"true","aria-expanded":this.isExpanded?"true":"false","aria-controls":`menu-${this.uid}`},this.buttonText),s("div",{class:`dropdown ${this.openUp?"open-up":""} ${this.horizontalPosition} ${this.isExpanded?"open":""} hidden`,id:`menu-${this.uid}`,tabindex:-1,role:"menu",ref:t=>this.itemsEl=t},s("slot",null))))}get el(){return o(this)}};l.style=":host{position:relative;display:inline-block;width:-moz-fit-content;width:fit-content;color:#575195;font-family:inherit}:host .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}:host(:focus){outline:none}wm-action-menu:focus{outline:none}.dropdown{position:absolute;padding:0;margin:0.25rem 0;border-radius:3px 3px 3px 3px;min-width:11.4375rem;-ms-transform:scale(1, 0);-webkit-transform:scale(1, 0);-moz-transform:scale(1, 0);transform:scale(1, 0);-ms-transition:transform 0.25s ease;-webkit-transition:transform 0.25s ease;-moz-transition:transform 0.25s ease;transition:transform 0.25s ease;-ms-transform-origin:center top;-webkit-transform-origin:center top;-moz-transform-origin:center top;transform-origin:center top;visibility:hidden;-webkit-box-shadow:0 3px 14px 3px rgba(5, 3, 3, 0.12), 0 4px 15px 0 rgba(0, 0, 0, 0.2);-moz-box-shadow:0 3px 14px 3px rgba(5, 3, 3, 0.12), 0 4px 15px 0 rgba(0, 0, 0, 0.2);box-shadow:0 3px 14px 3px rgba(5, 3, 3, 0.12), 0 4px 15px 0 rgba(0, 0, 0, 0.2);background:#fff;z-index:10;text-align:left;white-space:nowrap}.dropdown:focus{outline:none}.dropdown.open{-ms-transform:scale(1, 1);-webkit-transform:scale(1, 1);-moz-transform:scale(1, 1);transform:scale(1, 1);visibility:visible}.dropdown.open-up{bottom:2.5rem;top:auto;-ms-transform-origin:center bottom;-webkit-transform-origin:center bottom;-moz-transform-origin:center bottom;transform-origin:center bottom}.dropdown.right{left:0}.dropdown.left{right:0}";const d=class{constructor(s){t(this,s),this.wmMenuitemClicked=i(this,"wmMenuitemClicked",7),this.wmKeyUpPressed=i(this,"wmKeyUpPressed",7),this.wmKeyDownPressed=i(this,"wmKeyDownPressed",7),this.wmEscKeyPressed=i(this,"wmEscKeyPressed",7),this.wmHomeKeyPressed=i(this,"wmHomeKeyPressed",7),this.wmEndKeyPressed=i(this,"wmEndKeyPressed",7),this.wmPageDownItems=i(this,"wmPageDownItems",7),this.wmPageUpItems=i(this,"wmPageUpItems",7),this.wmTabKeyPressed=i(this,"wmTabKeyPressed",7),this.wmLetterPressed=i(this,"wmLetterPressed",7),this.wmMenuitemBlurred=i(this,"wmMenuitemBlurred",7),this.disabled=!1,this.focused=!1,this.icon=void 0,this.description=void 0,this.descriptionCharLimit=100,this.isKeying=!1}toggleKeyingOn(){this.isKeying=!0}toggleKeyingOff(){this.isKeying=!1}handleKeydown(t){const i=t.altKey||t.ctrlKey||t.metaKey,s=/^.$/.test(t.key)&&!i;switch(t.key){case"ArrowUp":t.preventDefault(),this.wmKeyUpPressed.emit(this.el);break;case"ArrowDown":t.preventDefault(),this.wmKeyDownPressed.emit(this.el);break;case"Enter":t.preventDefault(),this.disabled||this.el.click();break;case"Escape":t.preventDefault(),t.stopPropagation(),this.wmEscKeyPressed.emit();break;case"Home":t.preventDefault(),this.wmHomeKeyPressed.emit();break;case"End":t.preventDefault(),this.wmEndKeyPressed.emit();break;case"Tab":this.wmTabKeyPressed.emit();break;default:s&&(t.preventDefault(),this.wmLetterPressed.emit(t.key))}}handleClick(){this.disabled||this.wmMenuitemClicked.emit()}handleBlur(t){this.wmMenuitemBlurred.emit({relatedTarget:t.relatedTarget})}setOnClick(){this.disabled&&this.el.onclick?(this.onClickFunc=this.el.onclick,this.el.onclick=null):!this.disabled&&this.onClickFunc&&(this.el.onclick=this.onClickFunc)}componentWillLoad(){this.icon&&(this.icon=m(this.icon)),this.description&&(this.description.length>this.descriptionCharLimit&&console.error(`wm-menuitem description is above the character limit of ${this.descriptionCharLimit}`),this.icon&&console.error("wm-menuitems with descriptions do not support the use of icons")),this.setOnClick()}componentDidLoad(){this.icon&&(this.iconEl.classList.add("mdi"),this.iconEl.innerHTML=`&#x${this.icon};`)}render(){return s(e,{tabindex:-1,role:"menuitem","aria-disabled":this.disabled?"true":null},s("div",{class:"wrapper "+(this.focused&&this.isKeying?"focus":""),"aria-disabled":this.disabled?"true":null},s("span",{ref:t=>this.iconEl=t}),s("slot",null),this.description?s("div",{class:"description"},this.description):""))}get el(){return o(this)}static get watchers(){return{disabled:["setOnClick"]}}};d.style=':host,wm-menuitem{contain:content;font-family:inherit}:host .wrapper,wm-menuitem .wrapper{display:block;min-width:8.75rem;cursor:pointer;padding:1.25rem;border-radius:0px 0px 0px 0px;background:#fff;font-family:inherit;font-weight:500;list-style:none;border-bottom:2px solid rgba(46, 27, 70, 0.05);color:#575195;font-weight:700}:host .wrapper:focus,:host .wrapper.focus,wm-menuitem .wrapper:focus,wm-menuitem .wrapper.focus{outline:none;background:#f4f3f6}:host .wrapper:hover,wm-menuitem .wrapper:hover{background:#f4f3f6;outline:none}:host .wrapper .description,wm-menuitem .wrapper .description{color:#4a4a4a;font-size:0.875rem;padding-top:0.5rem;white-space:normal;font-weight:400}:host .wrapper[aria-disabled=true],wm-menuitem .wrapper[aria-disabled=true]{font-style:italic;color:#6b6b6b}:host .wrapper:not(:last-child),wm-menuitem .wrapper:not(:last-child){border-bottom:2px solid rgba(46, 27, 70, 0.05)}:host ::slotted,wm-menuitem ::slotted{font-family:inherit}:host .mdi,wm-menuitem .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;display:inline-block;margin-right:0.625rem;pointer-events:none}:host(:focus),wm-menuitem:focus{outline:none;background:#f4f3f6}:host([aria-disabled=true]),wm-menuitem[aria-disabled=true]{pointer-events:none}';export{l as wm_action_menu,d as wm_menuitem}
|
|
1
|
+
import{r as t,c as i,h as s,H as e,g as o}from"./p-9baa3039.js";import{n,g as r,l as h,q as a}from"./p-cf075b3b.js";import{g as m}from"./p-43f1298b.js";const l=class{constructor(s){t(this,s),this.wmActionMenuLoaded=i(this,"wmActionMenuLoaded",7),this.menuLoaded=i(this,"menuLoaded",7),this.openUp=!1,this.isExpanded=!1,this.actionMenuType=null,this.buttonType=null,this.disabled=!1,this.keysSoFar="",this.searchIndex=0,this.keyClear=null}get horizontalPosition(){return this.el&&this.itemsEl&&n(this.el,this.itemsEl)?"right":"left"}get childItems(){return Array.from(this.el.querySelectorAll("wm-menuitem"))}get tempActionMenuType(){return this.actionMenuType||this.buttonType||"icon"}handleClickedItem(){this.close()}handleKeyUp(t){this.moveUp(t.target)}handleKeyDown(t){this.moveDown(t.detail)}handleHomeKey(){this.focusFirstItem()}handleEndKey(){this.focusLastItem()}handleTabKey(){this.isExpanded&&this.close()}handleEscKey(){this.close(),this.wmButtonEl.focus()}handleClick(t){t.target!==this.el&&!this.el.contains(t.target)&&this.isExpanded&&this.close()}handleKey(t){switch(t.key){case"ArrowDown":this.isExpanded||(t.preventDefault(),this.open(),window.requestAnimationFrame((()=>this.focusFirstItem())));break;case"ArrowUp":this.isExpanded||(t.preventDefault(),this.open(),window.requestAnimationFrame((()=>this.focusLastItem())))}}handleMenuitemBlur(t){if(t.detail.relatedTarget!==this.el&&!this.el.contains(t.detail.relatedTarget)){const i=new CustomEvent("blur");i.relatedTarget=t.detail.relatedTarget,this.el.dispatchEvent(i)}}handleButtonBlur(t){(t.relatedTarget===this.el||this.el.contains(t.relatedTarget))&&t.stopPropagation()}componentWillLoad(){this.uid=this.el.id?this.el.id:r(),this.el.focus=function(){if(!this.disabled){const t=this.shadowRoot.querySelector("wm-button");t&&t.focus()}},this.buttonType&&console.warn("wm-action-menu: button-type has been deprecated as of v3.1.0. Please use action-menu-type instead.")}componentDidLoad(){0===this.childItems.length?console.error("wm-action-menu should have wm-menuitem elements as children"):this.focusFirstItem(),"icon"===this.tempActionMenuType||this.buttonText||console.error("wm-action-menu should have a valid button-text property when button-type is set to 'text' or 'selector'"),"icon"!==this.tempActionMenuType||this.tooltip||console.error("wm-action-menu should have a valid tooltip when button-type is set to 'icon'"),this.wmActionMenuLoaded.emit(),this.menuLoaded.emit()}moveUp(t){const i=this.childItems.indexOf(t);0===i?this.focusLastItem():this.focusItem(this.childItems[i-1])}moveDown(t){const i=this.childItems.indexOf(t);i===this.childItems.length-1?this.focusFirstItem():this.focusItem(this.childItems[i+1])}open(){this.disabled||(this.openUp=h(this.el,this.itemsEl),this.isExpanded=!0,this.itemsEl.classList.remove("hidden"),window.requestAnimationFrame((()=>this.focusFirstItem())))}close(t=!0){this.isExpanded=!1,this.childItems.forEach((t=>t.focused=!1)),window.setTimeout((()=>{this.itemsEl.classList.add("hidden")}),150),window.setTimeout((()=>{!t||"BODY"!==document.activeElement.tagName&&"WM-MENUITEM"!==document.activeElement.tagName||this.wmButtonEl.focus()}),250)}focusItem(t){this.childItems.map((i=>i.focused=i===t)),t.focus&&t.focus()}focusFirstItem(){this.focusItem(this.childItems[0])}focusLastItem(){this.focusItem(this.childItems[this.childItems.length-1])}findAndFocusItem(t){const i=t.detail.toUpperCase();if(this.focusFirstItem(),!this.keysSoFar)for(var s=0;s<this.childItems.length;s++)this.childItems[s]===document.activeElement&&(this.searchIndex=s);this.keysSoFar+=i,this.clearKeysSoFarAfterDelay();var e=this.findMatchInRange(this.childItems,this.searchIndex+1,this.childItems.length);e||(e=this.findMatchInRange(this.childItems,0,this.searchIndex)),e&&this.focusItem(e)}clearKeysSoFarAfterDelay(){this.keyClear&&(window.clearTimeout(this.keyClear),this.keyClear=null),this.keyClear=window.setTimeout(function(){this.keysSoFar="",this.keyClear=null}.bind(this),500)}findMatchInRange(t,i,s){for(var e=i;e<s;e++){var o=t[e].innerText;if(o&&0===o.toUpperCase().indexOf(this.keysSoFar))return t[e]}return null}render(){return s(e,{onBlur:()=>this.close(!1)},s("div",{class:a()},s("wm-button",{"button-type":`${this.tempActionMenuType}only`,tooltip:this.tooltip,"label-for-identical-buttons":this.labelForIdenticalButtons,icon:"icon"===this.tempActionMenuType?"f1d9":"",id:`menubtn-${this.uid}`,onClick:()=>this.isExpanded?this.close():this.open(),onBlur:t=>this.handleButtonBlur(t),disabled:this.disabled,ref:t=>this.wmButtonEl=t,"tooltip-position":this.tooltipPosition||this.horizontalPosition,"aria-haspopup":"true","aria-expanded":this.isExpanded?"true":"false","aria-controls":`menu-${this.uid}`},this.buttonText),s("div",{class:`dropdown ${this.openUp?"open-up":""} ${this.horizontalPosition} ${this.isExpanded?"open":""} hidden`,id:`menu-${this.uid}`,tabindex:-1,role:"menu",ref:t=>this.itemsEl=t},s("slot",null))))}get el(){return o(this)}};l.style=":host{position:relative;display:inline-block;width:-moz-fit-content;width:fit-content;color:#575195;font-family:inherit}:host .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}:host(:focus){outline:none}wm-action-menu:focus{outline:none}.dropdown{position:absolute;padding:0;margin:0.25rem 0;border-radius:3px 3px 3px 3px;min-width:11.4375rem;-ms-transform:scale(1, 0);-webkit-transform:scale(1, 0);-moz-transform:scale(1, 0);transform:scale(1, 0);-ms-transition:transform 0.25s ease;-webkit-transition:transform 0.25s ease;-moz-transition:transform 0.25s ease;transition:transform 0.25s ease;-ms-transform-origin:center top;-webkit-transform-origin:center top;-moz-transform-origin:center top;transform-origin:center top;visibility:hidden;-webkit-box-shadow:0 3px 14px 3px rgba(5, 3, 3, 0.12), 0 4px 15px 0 rgba(0, 0, 0, 0.2);-moz-box-shadow:0 3px 14px 3px rgba(5, 3, 3, 0.12), 0 4px 15px 0 rgba(0, 0, 0, 0.2);box-shadow:0 3px 14px 3px rgba(5, 3, 3, 0.12), 0 4px 15px 0 rgba(0, 0, 0, 0.2);background:#fff;z-index:10;text-align:left;white-space:nowrap}.dropdown:focus{outline:none}.dropdown.open{-ms-transform:scale(1, 1);-webkit-transform:scale(1, 1);-moz-transform:scale(1, 1);transform:scale(1, 1);visibility:visible}.dropdown.open-up{bottom:2.5rem;top:auto;-ms-transform-origin:center bottom;-webkit-transform-origin:center bottom;-moz-transform-origin:center bottom;transform-origin:center bottom}.dropdown.right{left:0}.dropdown.left{right:0}";const d=class{constructor(s){t(this,s),this.wmMenuitemClicked=i(this,"wmMenuitemClicked",7),this.wmKeyUpPressed=i(this,"wmKeyUpPressed",7),this.wmKeyDownPressed=i(this,"wmKeyDownPressed",7),this.wmEscKeyPressed=i(this,"wmEscKeyPressed",7),this.wmHomeKeyPressed=i(this,"wmHomeKeyPressed",7),this.wmEndKeyPressed=i(this,"wmEndKeyPressed",7),this.wmPageDownItems=i(this,"wmPageDownItems",7),this.wmPageUpItems=i(this,"wmPageUpItems",7),this.wmTabKeyPressed=i(this,"wmTabKeyPressed",7),this.wmLetterPressed=i(this,"wmLetterPressed",7),this.wmMenuitemBlurred=i(this,"wmMenuitemBlurred",7),this.disabled=!1,this.focused=!1,this.icon=void 0,this.description=void 0,this.descriptionCharLimit=100,this.isKeying=!1}toggleKeyingOn(){this.isKeying=!0}toggleKeyingOff(){this.isKeying=!1}handleKeydown(t){const i=t.altKey||t.ctrlKey||t.metaKey,s=/^.$/.test(t.key)&&!i;switch(t.key){case"ArrowUp":t.preventDefault(),this.wmKeyUpPressed.emit(this.el);break;case"ArrowDown":t.preventDefault(),this.wmKeyDownPressed.emit(this.el);break;case"Enter":t.preventDefault(),this.disabled||this.el.click();break;case"Escape":t.preventDefault(),t.stopPropagation(),this.wmEscKeyPressed.emit();break;case"Home":t.preventDefault(),this.wmHomeKeyPressed.emit();break;case"End":t.preventDefault(),this.wmEndKeyPressed.emit();break;case"Tab":this.wmTabKeyPressed.emit();break;default:s&&(t.preventDefault(),this.wmLetterPressed.emit(t.key))}}handleClick(){this.disabled||this.wmMenuitemClicked.emit()}handleBlur(t){this.wmMenuitemBlurred.emit({relatedTarget:t.relatedTarget})}setOnClick(){this.disabled&&this.el.onclick?(this.onClickFunc=this.el.onclick,this.el.onclick=null):!this.disabled&&this.onClickFunc&&(this.el.onclick=this.onClickFunc)}componentWillLoad(){this.icon&&(this.icon=m(this.icon)),this.description&&(this.description.length>this.descriptionCharLimit&&console.error(`wm-menuitem description is above the character limit of ${this.descriptionCharLimit}`),this.icon&&console.error("wm-menuitems with descriptions do not support the use of icons")),this.setOnClick()}componentDidLoad(){this.icon&&(this.iconEl.classList.add("mdi"),this.iconEl.innerHTML=`&#x${this.icon};`)}render(){return s(e,{tabindex:-1,role:"menuitem","aria-disabled":this.disabled?"true":null},s("div",{class:"wrapper "+(this.focused&&this.isKeying?"focus":""),"aria-disabled":this.disabled?"true":null},s("span",{ref:t=>this.iconEl=t}),s("slot",null),this.description?s("div",{class:"description"},this.description):""))}get el(){return o(this)}static get watchers(){return{disabled:["setOnClick"]}}};d.style=':host,wm-menuitem{contain:content;font-family:inherit}:host .wrapper,wm-menuitem .wrapper{display:block;min-width:8.75rem;cursor:pointer;padding:1.25rem;border-radius:0px 0px 0px 0px;background:#fff;font-family:inherit;font-weight:500;list-style:none;border-bottom:2px solid rgba(46, 27, 70, 0.05);color:#575195;font-weight:700}:host .wrapper:focus,:host .wrapper.focus,wm-menuitem .wrapper:focus,wm-menuitem .wrapper.focus{outline:none;background:#f4f3f6}:host .wrapper:hover,wm-menuitem .wrapper:hover{background:#f4f3f6;outline:none}:host .wrapper .description,wm-menuitem .wrapper .description{color:#4a4a4a;font-size:0.875rem;padding-top:0.5rem;white-space:normal;font-weight:400}:host .wrapper[aria-disabled=true],wm-menuitem .wrapper[aria-disabled=true]{font-style:italic;color:#6b6b6b}:host .wrapper:not(:last-child),wm-menuitem .wrapper:not(:last-child){border-bottom:2px solid rgba(46, 27, 70, 0.05)}:host ::slotted,wm-menuitem ::slotted{font-family:inherit}:host .mdi,wm-menuitem .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;display:inline-block;margin-right:0.625rem;pointer-events:none}:host(:focus),wm-menuitem:focus{outline:none;background:#f4f3f6}:host([aria-disabled=true]),wm-menuitem[aria-disabled=true]{pointer-events:none}';export{l as wm_action_menu,d as wm_menuitem}
|