@mmlogic/components 0.5.4 → 0.5.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (30) hide show
  1. package/dist/cjs/loader.cjs.js +1 -1
  2. package/dist/cjs/mosterdcomponents.cjs.js +1 -1
  3. package/dist/cjs/mrd-boolean-field_25.cjs.entry.js +86 -12
  4. package/dist/collection/components/fields/mrd-currency-field/mrd-currency-field.js +56 -5
  5. package/dist/collection/components/fields/mrd-number-field/mrd-number-field.js +33 -8
  6. package/dist/collection/dev/app.js +58 -13
  7. package/dist/components/cell-renderer.js +1 -1
  8. package/dist/components/format.js +1 -1
  9. package/dist/components/mrd-currency-field2.js +1 -1
  10. package/dist/components/mrd-document-list2.js +1 -1
  11. package/dist/components/mrd-document-view2.js +1 -1
  12. package/dist/components/mrd-email-view2.js +1 -1
  13. package/dist/components/mrd-invoice-view2.js +1 -1
  14. package/dist/components/mrd-layout-section.js +1 -1
  15. package/dist/components/mrd-merge-view.js +1 -1
  16. package/dist/components/mrd-number-field2.js +1 -1
  17. package/dist/components/mrd-table2.js +1 -1
  18. package/dist/esm/{cell-renderer-C2FLUrMN.js → cell-renderer-Dd_PKH0_.js} +1 -1
  19. package/dist/esm/loader.js +1 -1
  20. package/dist/esm/mosterdcomponents.js +1 -1
  21. package/dist/esm/mrd-boolean-field_25.entry.js +87 -13
  22. package/dist/esm/mrd-merge-view.entry.js +1 -1
  23. package/dist/mosterdcomponents/mosterdcomponents.esm.js +1 -1
  24. package/dist/mosterdcomponents/{p-4ea5b97c.entry.js → p-1fc897f4.entry.js} +1 -1
  25. package/dist/mosterdcomponents/p-53b00783.entry.js +3 -0
  26. package/dist/mosterdcomponents/{p-BgsPVesg.js → p-CGm4ff1O.js} +1 -1
  27. package/dist/types/components/fields/mrd-currency-field/mrd-currency-field.d.ts +13 -0
  28. package/dist/types/components/fields/mrd-number-field/mrd-number-field.d.ts +6 -0
  29. package/package.json +1 -1
  30. package/dist/mosterdcomponents/p-8736313b.entry.js +0 -3
@@ -1 +1 @@
1
- import{h as t,proxyCustomElement as i,HTMLElement as s,createEvent as o,Host as r,transformTag as n}from"@stencil/core/internal/client";import{a as e}from"./client-layout.js";import{t as d}from"./i18n.js";import{b as l,a as c}from"./query-params.js";import{a}from"./document-attachments.js";import{f as u}from"./format.js";function m(t){if(null==t)return[];const i=String(t).trim();return""===i||"/"===i?[]:i.split("/").map((t=>t.trim())).filter(Boolean)}function h(t,i,s){return{id:"c:"+t,kind:"container",label:i,href:t,hasDocs:!1,docCount:0,totalCount:s,children:[],open:!1,loading:!1,foldersLoaded:!1,docsLoaded:!1,docs:[]}}function v(t,i,s){return{id:t,kind:"folder",label:i,containerId:s,hasDocs:!1,docCount:0,totalCount:0,children:[],open:!1,loading:!1,foldersLoaded:!1,docsLoaded:!1,docs:[]}}function f(t){let i=t.docCount;for(const s of t.children)i+=f(s);return t.totalCount=i,i}function _(t,i){if("container"===t.kind)return[];const s=i.id+"/",o=t.id.startsWith(s)?t.id.slice(s.length):"";return o?o.split("/"):[]}function p(t,i){if("container"===t.kind)return null;if(null!=t.fullPath&&""!==t.fullPath)return t.fullPath;const s=_(t,i);return s.length?"/"+s.join("/"):null}function g(t){return t.replace(/\.[^./\\]+$/,"")}function b(i,s){return t("span",{class:`mrd-document-list__chev${s?" mrd-document-list__chev--leaf":""}${i?" mrd-document-list__chev--open":""}`},t("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},t("path",{d:"M9 6l6 6-6 6"})))}function y(){return t("svg",{class:"mrd-document-list__icon mrd-document-list__icon--folder",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},t("path",{d:"M3 7a2 2 0 0 1 2-2h4l2 2h8a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"}))}function w(i){return 0===i?null:t("span",{class:"mrd-document-list__indent",style:{width:18*i+"px"}})}function k(t){return 0===t?51:8+18*t+43}function D(i,s){return t("div",{class:"mrd-document-list__loading",key:"loading"},w(s),t("span",{class:"mrd-document-list__spinner"}),d("loading",i.locale))}function x(i,s,o,r,n){var e,d,l,c,a;const m=null!==(d=null!==(e=null==s?void 0:s[i.titleField])&&void 0!==e?e:null==s?void 0:s.name)&&void 0!==d?d:"",h=i.dateField?null==s?void 0:s[i.dateField]:void 0,v=h?u(h,i.locale):"";return t("div",{class:"mrd-document-list__row mrd-document-list__row--doc",key:null!==(a=null===(c=null===(l=null==s?void 0:s._links)||void 0===l?void 0:l.self)||void 0===c?void 0:c.href)&&void 0!==a?a:m,draggable:!0,onClick:()=>i.on.openDoc(s,o,r),onDragStart:t=>i.on.docDragStart(t,s,o),onDragEnd:i.on.docDragEnd,onDragOver:t=>i.on.nodeDragOver(t,o),onDragLeave:()=>i.on.nodeDragLeave(o),onDrop:t=>i.on.nodeDrop(t,o,r)},w(n),b(!1,!0),t("svg",{class:"mrd-document-list__icon mrd-document-list__icon--doc",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},t("path",{d:"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"}),t("path",{d:"M14 2v6h6"})),t("span",{class:"mrd-document-list__label"},m),v&&t("span",{class:"mrd-document-list__date"},v))}function C(i,s,o,r){const n=[];if(o.hasDocs)if(o.docsLoaded)for(const t of o.docs)n.push(x(i,t,o,s,r));else o.loading&&n.push(D(i,r));for(const t of o.children)n.push(F(i,s,t,r));return o.id===i.uploadingNodeId&&n.push(function(i,s){return t("div",{class:"mrd-document-list__loading",key:"uploading"},w(s),t("span",{class:"mrd-document-list__spinner"}),d("upload_file",i.locale))}(i,r)),n}function F(i,s,o,r){if(o.editing)return function(i,s,o){return t("div",{class:"mrd-document-list__node",key:s.id},t("div",{class:"mrd-document-list__row mrd-document-list__row--edit"},w(o),b(!1,!0),y(),t("input",{class:"mrd-document-list__name-input",type:"text",placeholder:d("folder_name_placeholder",i.locale),ref:t=>i.on.setPendingInputEl(t),onInput:i.on.pendingInput,onKeyDown:i.on.pendingKeyDown,onBlur:()=>i.on.cancelFolder()})),s.error&&t("div",{class:"mrd-document-list__error",style:{paddingLeft:`${k(o)}px`}},s.error))}(i,o,r);const n=0===o.children.length&&!o.hasDocs;return t("div",{class:"mrd-document-list__node",key:o.id},t("div",{class:"mrd-document-list__row"+(o.id===i.selectedId?" mrd-document-list__row--selected":"")+(o.pending?" mrd-document-list__row--pending":"")+(o.id===i.dropTargetId?" mrd-document-list__row--drop":""),onClick:()=>i.on.toggleFolder(s,o),onDragOver:t=>i.on.nodeDragOver(t,o),onDragLeave:()=>i.on.nodeDragLeave(o),onDrop:t=>i.on.nodeDrop(t,o,s)},w(r),b(o.open,n),y(),t("span",{class:"mrd-document-list__label"},o.label),t("span",{class:"mrd-document-list__count"},o.totalCount)),o.open&&t("div",{class:"mrd-document-list__kids"},C(i,s,o,r+1)))}const z=i(class i extends s{constructor(t){super(),!1!==t&&this.__registerHost(),this.mrdLoadDistinct=o(this,"mrdLoadDistinct",7),this.mrdLoadPage=o(this,"mrdLoadPage",7),this.mrdNavigate=o(this,"mrdNavigate",7),this.mrdCanCreate=o(this,"mrdCanCreate",7),this.mrdTargetLabel=o(this,"mrdTargetLabel",7),this.mrdUpdateObject=o(this,"mrdUpdateObject",7),this.mrdUpload=o(this,"mrdUpload",7),this.mrdCreateObject=o(this,"mrdCreateObject",7),this.item=null,this.parentId="",this.containerHref="",this.locale=navigator.language,this.containers=[],this.rootLoading=!0,this.singleContainer=!1,this.selectedId=null,this.dropTargetId=null,this.uploadingNodeId=null,this.rootDropActive=!1,this.nodeIndex=new Map,this.pendingNode=null,this.pendingParent=null,this.pendingContainer=null,this.pendingName="",this.pendingInputEl=null,this.pendingNeedsFocus=!1,this.newFolderSeq=0,this.lastCanCreate=!1,this.lastTargetLabel="",this.dragDoc=null,this.dragFromId=null,this.pendingUpload=null,this.lastOptimisticDoc=null,this.startCreateFolder=()=>{const t=this.resolveTarget();if(!t||this.pendingNode)return;const{target:i,container:s}=t,o=v(`${s.id}/__new__${this.newFolderSeq++}`,"",s.id);o.pending=!0,o.editing=!0,i.children=[...i.children,o],i.open=!0,this.nodeIndex.set(o.id,o),this.pendingNode=o,this.pendingParent=i,this.pendingContainer=s,this.pendingName="",this.pendingNeedsFocus=!0,this.bump()},this.onPendingInput=t=>{var i;this.pendingName=t.target.value,(null===(i=this.pendingNode)||void 0===i?void 0:i.error)&&(this.pendingNode.error=void 0,this.bump())},this.onPendingKeyDown=t=>{"Enter"===t.key?(t.preventDefault(),this.commitFolder()):"Escape"===t.key&&(t.preventDefault(),this.cancelFolder())},this.onDocDragStart=(t,i,s)=>{var o,r,n;this.dragDoc=i,this.dragFromId=s.id,t.dataTransfer&&(t.dataTransfer.effectAllowed="move",t.dataTransfer.setData("text/plain",null!==(n=null===(r=null===(o=null==i?void 0:i._links)||void 0===o?void 0:o.self)||void 0===r?void 0:r.href)&&void 0!==n?n:""))},this.onDocDragEnd=()=>{this.dragDoc=null,this.dragFromId=null,null!==this.dropTargetId&&(this.dropTargetId=null)},this.onNodeDragOver=(t,i)=>{const s=this.isFileDrag(t);if(!this.dragDoc&&!s)return;t.preventDefault(),t.stopPropagation(),t.dataTransfer&&(t.dataTransfer.dropEffect=s?"copy":"move");const o=s||i.id!==this.dragFromId?i.id:null;this.dropTargetId!==o&&(this.dropTargetId=o)},this.onNodeDragLeave=t=>{this.dropTargetId===t.id&&(this.dropTargetId=null)},this.onNodeDrop=(t,i,s)=>{if(this.isFileDrag(t))return t.preventDefault(),t.stopPropagation(),void this.startFileUpload(t,i,s);this.dragDoc&&(t.preventDefault(),t.stopPropagation(),this.moveDocument(i,s),this.onDocDragEnd())},this.onRootDragOver=t=>{if(!this.singleContainer)return;const i=this.isFileDrag(t);(this.dragDoc||i)&&(t.preventDefault(),t.dataTransfer&&(t.dataTransfer.dropEffect=i?"copy":"move"),this.rootDropActive||(this.rootDropActive=!0))},this.onRootDragLeave=t=>{const i=t.relatedTarget;i&&this.el.contains(i)||this.rootDropActive&&(this.rootDropActive=!1)},this.onRootDrop=t=>{if(this.rootDropActive=!1,!this.singleContainer)return;const i=this.containers[0];if(this.isFileDrag(t))return t.preventDefault(),void this.startFileUpload(t,i,i);this.dragDoc&&(t.preventDefault(),this.moveDocument(i,i),this.onDocDragEnd())}}componentDidLoad(){this.isSeededSingleContainer()?this.seedSingleContainer():this.emitContainerDistinct()}isSeededSingleContainer(){var t,i;return(null===(t=this.item)||void 0===t?void 0:t.type)===e.RELATED_VIEW&&!!(null===(i=this.item)||void 0===i?void 0:i.inverseRelation)&&this.item.inverseRelation===this.containerField&&!!this.containerHref}seedSingleContainer(){const t=h(this.containerHref,this.containerField,0);this.nodeIndex.set(t.id,t),this.containers=[t],this.rootLoading=!1,this.singleContainer=!0,t.open=!0,this.emitFolderDistinct(t)}componentDidRender(){this.pendingNeedsFocus&&this.pendingInputEl&&(this.pendingInputEl.focus(),this.pendingInputEl.select(),this.pendingNeedsFocus=!1);const t=this.canCreateFolder;t!==this.lastCanCreate&&(this.lastCanCreate=t,this.mrdCanCreate.emit(t));const i=this.targetLabel;i!==this.lastTargetLabel&&(this.lastTargetLabel=i,this.mrdTargetLabel.emit(i))}get targetLabel(){var t;const i=this.resolveTarget();if(!i)return"";const{target:s,container:o}=i;return null!==(t=p(s,o))&&void 0!==t?t:s.label}get containerField(){var t,i,s;return null!==(s=null===(i=null===(t=this.archetype)||void 0===t?void 0:t.slots)||void 0===i?void 0:i.container)&&void 0!==s?s:"container"}get folderField(){var t,i,s;return null!==(s=null===(i=null===(t=this.archetype)||void 0===t?void 0:t.slots)||void 0===i?void 0:i.folder)&&void 0!==s?s:"folder"}get titleField(){var t,i,s;return null!==(s=null===(i=null===(t=this.archetype)||void 0===t?void 0:t.slots)||void 0===i?void 0:i.title)&&void 0!==s?s:"name"}get fileField(){var t,i,s;return null!==(s=null===(i=null===(t=this.archetype)||void 0===t?void 0:t.slots)||void 0===i?void 0:i.file)&&void 0!==s?s:"file"}get dateField(){var t,i;return null===(i=null===(t=this.archetype)||void 0===t?void 0:t.slots)||void 0===i?void 0:i.date}buildDataPath(){var t,i;const s=this.item;return l({isRelatedView:(null==s?void 0:s.type)===e.RELATED_VIEW,fromClass:null==s?void 0:s.fromClass,parentId:this.parentId,dataClass:null!==(i=null!==(t=null==s?void 0:s.dataClass)&&void 0!==t?t:null==s?void 0:s.relatedClass)&&void 0!==i?i:""})}buildCreatePath(){var t,i,s;const o=this.item;return l({isRelatedView:(null==o?void 0:o.type)===e.RELATED_VIEW,fromClass:null==o?void 0:o.fromClass,parentId:this.parentId,dataClass:null!==(s=null!==(i=null!==(t=null==o?void 0:o.filterClass)&&void 0!==t?t:null==o?void 0:o.dataClass)&&void 0!==i?i:null==o?void 0:o.relatedClass)&&void 0!==s?s:""})}baseParams(){var t,i,s;const o=new URLSearchParams,r=null===(t=this.item)||void 0===t?void 0:t.filterClass;return r&&o.set("type",r),c(o,null===(s=null===(i=this.item)||void 0===i?void 0:i.view)||void 0===s?void 0:s.filter),o}emitContainerDistinct(){const t=this.baseParams();t.set("distinct",this.containerField),this.mrdLoadDistinct.emit({nodeId:i.ROOT,distinct:this.containerField,path:this.buildDataPath()+"/distinct",qs:t.toString()})}emitFolderDistinct(t){var i;const s=this.baseParams();s.set("distinct",this.folderField),s.set(this.containerField+"_href",null!==(i=t.href)&&void 0!==i?i:""),t.loading=!0,this.mrdLoadDistinct.emit({nodeId:t.id,distinct:this.folderField,path:this.buildDataPath()+"/distinct",qs:s.toString()})}buildDocQs(t,i){var s,o;const r=this.baseParams();return r.set(this.containerField+"_href",null!==(s=t.href)&&void 0!==s?s:""),r.set(this.folderField,null!==(o=i.fullPath)&&void 0!==o?o:""),r.toString()}emitDocuments(t,i){i.loading=!0,this.mrdLoadPage.emit({nodeId:i.id,page:0,sort:"",path:this.buildDataPath(),qs:this.buildDocQs(t,i)})}async setDistinct(t,s){t===i.ROOT?this.applyContainers(s):this.applyFolders(t,s)}async setDocuments(t,i){const s=this.nodeIndex.get(t);s&&(s.docs=null!=i?i:[],s.docsLoaded=!0,s.loading=!1,this.bump())}applyContainers(t){const i=[];for(const s of t){if(!s.value||"object"!=typeof s.value)continue;const t=h(s.value.href,s.value.name,s.count);i.push(t),this.nodeIndex.set(t.id,t)}if(this.containers=i,this.rootLoading=!1,this.singleContainer=1===i.length,this.singleContainer){const t=i[0];t.open=!0,this.emitFolderDistinct(t)}}applyFolders(t,i){const s=this.nodeIndex.get(t);s&&(function(t,i,s){t.children=[],t.hasDocs=!1,t.docCount=0;for(const o of i){const i="string"==typeof o.value?o.value:null==o.value?"":String(o.value),r=m(i);if(0===r.length){t.hasDocs=!0,t.docCount=o.count,t.fullPath=i;continue}let n=t;const e=[];for(const i of r){e.push(i);let o=n.children.find((t=>t.label===i));o||(o=v(t.id+"/"+e.join("/"),i,t.id),n.children.push(o),s.set(o.id,o)),n=o}n.hasDocs=!0,n.docCount=o.count,n.fullPath=i}f(t),t.foldersLoaded=!0,t.loading=!1}(s,i,this.nodeIndex),s.hasDocs&&!s.docsLoaded&&this.emitDocuments(s,s),this.bump())}bump(){this.containers=[...this.containers]}toggleContainer(t){this.selectedId=t.id,t.open=!t.open,!t.open||t.foldersLoaded||t.loading||this.emitFolderDistinct(t),this.bump()}toggleFolder(t,i){this.selectedId=i.id,i.open=!i.open,i.open&&i.hasDocs&&!i.docsLoaded&&!i.loading&&this.emitDocuments(t,i),this.bump()}resolveTarget(){if(this.selectedId){const t=this.nodeIndex.get(this.selectedId);if(t&&"container"===t.kind)return{target:t,container:t};if(t&&"folder"===t.kind){const i=t.containerId?this.nodeIndex.get(t.containerId):void 0;if(i)return{target:t,container:i}}}if(this.singleContainer&&this.containers[0]){const t=this.containers[0];return{target:t,container:t}}return null}get canCreateFolder(){return!this.pendingNode&&null!==this.resolveTarget()}async createFolder(){this.startCreateFolder()}commitFolder(){const t=this.pendingNode,i=this.pendingParent,s=this.pendingContainer;if(!t||!i||!s)return;const o=this.pendingName.trim();if(!o)return void this.cancelFolder();if(o.includes("/"))return t.error=d("folder_no_slash",this.locale),void this.bump();if(i.children.some((i=>i!==t&&i.label.toLowerCase()===o.toLowerCase())))return t.error=d("folder_duplicate",this.locale),void this.bump();const r=[..._(i,s),o];this.nodeIndex.delete(t.id),t.id=s.id+"/"+r.join("/"),t.fullPath="/"+r.join("/"),t.label=o,t.editing=!1,t.error=void 0,t.open=!0,this.nodeIndex.set(t.id,t),this.selectedId=t.id,this.clearPending(),this.bump()}cancelFolder(){const t=this.pendingNode,i=this.pendingParent;t&&i&&(i.children=i.children.filter((i=>i!==t)),this.nodeIndex.delete(t.id)),this.clearPending(),this.bump()}clearPending(){this.pendingNode=null,this.pendingParent=null,this.pendingContainer=null,this.pendingName="",this.pendingInputEl=null,this.pendingNeedsFocus=!1}isFileDrag(t){return!this.dragDoc&&!!t.dataTransfer&&Array.from(t.dataTransfer.types).includes("Files")}startFileUpload(t,i,s){var o,r;const n=null===(r=null===(o=t.dataTransfer)||void 0===o?void 0:o.files)||void 0===r?void 0:r[0];this.dropTargetId=null,n&&this.beginUpload(n,i,s)}beginUpload(t,i,s){this.pendingUpload={file:t,node:i,container:s},i.open=!0,this.uploadingNodeId=i.id,this.bump(),this.mrdUpload.emit({file:t})}async uploadFile(t){if(!t||this.pendingUpload)return;const i=this.resolveTarget();i&&this.beginUpload(t,i.target,i.container)}async setFileReference(t){const i=this.pendingUpload;if(!i)return;const{file:s,node:o,container:r}=i,n=p(o,r),e={[this.fileField]:t,[this.titleField]:g(s.name),[this.folderField]:n};this.isSeededSingleContainer()||(e[this.containerField]=r.href),this.mrdCreateObject.emit({path:this.buildCreatePath(),values:e});const d={[this.titleField]:g(s.name),_optimistic:!0},l=!o.docsLoaded&&0===o.docCount;o.hasDocs=!0,o.pending=!1,o.docCount+=1,l?(o.docsLoaded=!0,o.docs=[d]):o.docsLoaded&&(o.docs=[...o.docs,d]),this.recomputeContainerTotals(r,1),this.lastOptimisticDoc=d,this.pendingUpload=null,this.uploadingNodeId=null,this.bump()}async setCreatedHref(t){var i;const s=this.lastOptimisticDoc;s&&t&&(s._links=Object.assign(Object.assign({},null!==(i=s._links)&&void 0!==i?i:{}),{self:{href:t}}),s._optimistic=!1,this.lastOptimisticDoc=null,this.bump())}moveDocument(t,i){var s,o;const r=this.dragDoc,n=this.dragFromId?this.nodeIndex.get(this.dragFromId):void 0;if(!r||!n)return;const e="container"===n.kind?n:n.containerId?this.nodeIndex.get(n.containerId):void 0;if(!e)return;const d=p(t,i),l=p(n,e),c=i===e;if(t===n||c&&d===l)return;!function(t,i,s,o){i.docs=i.docs.filter((i=>i!==t)),i.docCount=Math.max(0,i.docCount-1),i.docsLoaded&&(i.hasDocs=i.docs.length>0),s.hasDocs=!0,s.pending=!1,s.docCount+=1,"folder"===s.kind&&(s.fullPath=null!=o?o:""),s.docsLoaded&&(s.docs=[...s.docs,t])}(r,n,t,d),this.recomputeContainerTotals(e,-1),c||this.recomputeContainerTotals(i,1);const a=null===(o=null===(s=null==r?void 0:r._links)||void 0===s?void 0:s.self)||void 0===o?void 0:o.href;if(a){const t={[this.folderField]:d};c||(t[this.containerField]=i.href),this.mrdUpdateObject.emit({href:a,values:t})}this.bump()}recomputeContainerTotals(t,i){t.foldersLoaded?f(t):t.totalCount=Math.max(0,t.totalCount+i)}openDoc(t,i,s){var o,r,n,e;const d=null===(r=null===(o=null==t?void 0:t._links)||void 0===o?void 0:o.self)||void 0===r?void 0:r.href,l=null!==(e=null!==(n=null==t?void 0:t[this.titleField])&&void 0!==n?n:null==t?void 0:t.name)&&void 0!==e?e:"",c=i.docs.indexOf(t),u=c>=0?{index:c,sort:"",path:this.buildDataPath(),qs:this.buildDocQs(s,i)}:void 0,m=a(this.archetype,t);this.mrdNavigate.emit({href:d,label:l,listContext:u,attachments:m})}treeCtx(){return{locale:this.locale,titleField:this.titleField,dateField:this.dateField,selectedId:this.selectedId,dropTargetId:this.dropTargetId,uploadingNodeId:this.uploadingNodeId,on:{toggleContainer:t=>this.toggleContainer(t),toggleFolder:(t,i)=>this.toggleFolder(t,i),openDoc:(t,i,s)=>this.openDoc(t,i,s),docDragStart:this.onDocDragStart,docDragEnd:this.onDocDragEnd,nodeDragOver:this.onNodeDragOver,nodeDragLeave:this.onNodeDragLeave,nodeDrop:this.onNodeDrop,pendingInput:this.onPendingInput,pendingKeyDown:this.onPendingKeyDown,cancelFolder:()=>this.cancelFolder(),setPendingInputEl:t=>this.pendingInputEl=t}}}render(){const i=this.treeCtx();let s;if(this.rootLoading)s=D(i,0);else if(0===this.containers.length)s=t("div",{key:"63604a99fc62d9108f61b8efc126c0cd3e8fc5ed",class:"mrd-document-list__empty"},d("no_results",this.locale));else if(this.singleContainer){const o=this.containers[0];if(o.loading&&!o.foldersLoaded)s=D(i,0);else{const r=C(i,o,o,0);s=r.length?r:t("div",{class:"mrd-document-list__empty"},d("doc_empty_drop",this.locale))}}else s=this.containers.map((s=>function(i,s,o){return t("div",{class:"mrd-document-list__node",key:s.id},t("div",{class:"mrd-document-list__row mrd-document-list__row--dossier"+(s.id===i.selectedId?" mrd-document-list__row--selected":"")+(s.id===i.dropTargetId?" mrd-document-list__row--drop":""),onClick:()=>i.on.toggleContainer(s),onDragOver:t=>i.on.nodeDragOver(t,s),onDragLeave:()=>i.on.nodeDragLeave(s),onDrop:t=>i.on.nodeDrop(t,s,s)},w(o),b(s.open,!1),t("svg",{class:"mrd-document-list__icon mrd-document-list__icon--dossier",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},t("path",{d:"M3 7a2 2 0 0 1 2-2h4l2 2h8a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"})),t("span",{class:"mrd-document-list__label"},s.label),t("span",{class:"mrd-document-list__count"},s.totalCount)),s.open&&t("div",{class:"mrd-document-list__kids"},s.loading&&!s.foldersLoaded?D(i,o+1):C(i,s,s,o+1)))}(i,s,0)));return t(r,{key:"2a092e3a7483deb1fb30753b0c0428aaf75c303a"},t("div",{key:"2b716c912a272b925a95133de5b1ff2abedd9dbc",class:"mrd-document-list"+(this.rootDropActive?" mrd-document-list--drop-active":""),onDragOver:this.onRootDragOver,onDragLeave:this.onRootDragLeave,onDrop:this.onRootDrop},s))}get el(){return this}static get style(){return".sc-mrd-document-list-h{display:block;height:100%}.mrd-document-list.sc-mrd-document-list{padding:var(--mrd-space-2) 0;min-height:100%;box-sizing:border-box}.mrd-document-list--drop-active.sc-mrd-document-list{outline:2px dashed var(--mrd-color-primary);outline-offset:-4px;background:var(--mrd-color-primary-50, rgba(22, 163, 74, 0.06))}.mrd-document-list__row.sc-mrd-document-list{display:flex;align-items:center;gap:var(--mrd-space-1);height:2.125rem;padding:0 var(--mrd-space-4) 0 var(--mrd-space-2);cursor:pointer;user-select:none;font-size:var(--mrd-font-size-sm);color:var(--mrd-color-neutral-800)}.mrd-document-list__row.sc-mrd-document-list:hover{background:var(--mrd-color-neutral-50)}.mrd-document-list__row--selected.sc-mrd-document-list{background:var(--mrd-color-primary-50, rgba(22, 163, 74, 0.1))}.mrd-document-list__row--selected.sc-mrd-document-list:hover{background:var(--mrd-color-primary-50, rgba(22, 163, 74, 0.1))}.mrd-document-list__row--pending.sc-mrd-document-list .mrd-document-list__label.sc-mrd-document-list{font-style:italic;color:var(--mrd-color-neutral-500)}.mrd-document-list__row--doc.sc-mrd-document-list{cursor:grab}.mrd-document-list__row--doc.sc-mrd-document-list:active{cursor:grabbing}.mrd-document-list__row--drop.sc-mrd-document-list{background:var(--mrd-color-primary-50, rgba(22, 163, 74, 0.1));box-shadow:inset 0 0 0 1px var(--mrd-color-primary)}.mrd-document-list__row--drop.sc-mrd-document-list:hover{background:var(--mrd-color-primary-50, rgba(22, 163, 74, 0.1))}.mrd-document-list__row--edit.sc-mrd-document-list{cursor:default}.mrd-document-list__row--dossier.sc-mrd-document-list .mrd-document-list__label.sc-mrd-document-list{font-weight:var(--mrd-font-weight-semibold)}.mrd-document-list__name-input.sc-mrd-document-list{flex:1;min-width:0;height:1.625rem;padding:0 var(--mrd-space-2);font-size:var(--mrd-font-size-sm);font-family:inherit;color:var(--mrd-color-neutral-800);border:1px solid var(--mrd-color-primary);border-radius:var(--mrd-border-radius);outline:none;box-shadow:var(--mrd-shadow-focus)}.mrd-document-list__error.sc-mrd-document-list{font-size:var(--mrd-font-size-xs);color:var(--mrd-color-danger, #dc2626);padding-top:0.125rem;padding-bottom:0.25rem}.mrd-document-list__indent.sc-mrd-document-list{flex:none}.mrd-document-list__chev.sc-mrd-document-list{width:0.875rem;height:1rem;flex:none;display:grid;place-items:center;color:var(--mrd-color-neutral-400);transition:transform var(--mrd-transition-fast)}.mrd-document-list__chev.sc-mrd-document-list svg.sc-mrd-document-list{width:0.6875rem;height:0.6875rem}.mrd-document-list__chev--open.sc-mrd-document-list{transform:rotate(90deg)}.mrd-document-list__chev--leaf.sc-mrd-document-list{visibility:hidden}.mrd-document-list__icon.sc-mrd-document-list{width:1.0625rem;height:1.0625rem;flex:none}.mrd-document-list__icon--dossier.sc-mrd-document-list{color:var(--mrd-color-primary)}.mrd-document-list__icon--folder.sc-mrd-document-list{color:var(--mrd-color-folder)}.mrd-document-list__icon--doc.sc-mrd-document-list{color:var(--mrd-color-neutral-400)}.mrd-document-list__label.sc-mrd-document-list{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mrd-document-list__count.sc-mrd-document-list{flex:none;font-family:var(--mrd-font-family-mono);font-size:var(--mrd-font-size-xs);color:var(--mrd-color-neutral-500);background:var(--mrd-color-neutral-100);border-radius:var(--mrd-border-radius-full);padding:0.0625rem 0.5rem}.mrd-document-list__date.sc-mrd-document-list{flex:none;font-size:var(--mrd-font-size-xs);color:var(--mrd-color-neutral-400);font-variant-numeric:tabular-nums}.mrd-document-list__loading.sc-mrd-document-list{display:flex;align-items:center;gap:var(--mrd-space-1);height:1.875rem;padding:0 var(--mrd-space-4) 0 var(--mrd-space-2);font-size:var(--mrd-font-size-xs);color:var(--mrd-color-neutral-400)}.mrd-document-list__spinner.sc-mrd-document-list{width:0.75rem;height:0.75rem;border:2px solid var(--mrd-color-neutral-300);border-top-color:var(--mrd-color-primary);border-radius:50%;animation:mrd-document-list-spin 0.7s linear infinite}.mrd-document-list__empty.sc-mrd-document-list{padding:var(--mrd-space-8) var(--mrd-space-4);text-align:center;color:var(--mrd-color-neutral-400);font-size:var(--mrd-font-size-sm)}@keyframes mrd-document-list-spin{to{transform:rotate(360deg)}}"}},[2,"mrd-document-list",{item:[16],archetype:[16],parentId:[1,"parent-id"],containerHref:[1,"container-href"],locale:[1],containers:[32],rootLoading:[32],singleContainer:[32],selectedId:[32],dropTargetId:[32],uploadingNodeId:[32],rootDropActive:[32],setDistinct:[64],setDocuments:[64],createFolder:[64],uploadFile:[64],setFileReference:[64],setCreatedHref:[64]}]);function L(){"undefined"!=typeof customElements&&["mrd-document-list"].forEach((t=>{"mrd-document-list"===t&&(customElements.get(n(t))||customElements.define(n(t),z))}))}z.ROOT="__root__";export{z as M,L as d}
1
+ import{h as t,proxyCustomElement as i,HTMLElement as s,createEvent as o,Host as r,transformTag as n}from"@stencil/core/internal/client";import{a as e}from"./client-layout.js";import{t as d}from"./i18n.js";import{b as l,a as c}from"./query-params.js";import{a}from"./document-attachments.js";import{a as u}from"./format.js";function m(t){if(null==t)return[];const i=String(t).trim();return""===i||"/"===i?[]:i.split("/").map((t=>t.trim())).filter(Boolean)}function h(t,i,s){return{id:"c:"+t,kind:"container",label:i,href:t,hasDocs:!1,docCount:0,totalCount:s,children:[],open:!1,loading:!1,foldersLoaded:!1,docsLoaded:!1,docs:[]}}function v(t,i,s){return{id:t,kind:"folder",label:i,containerId:s,hasDocs:!1,docCount:0,totalCount:0,children:[],open:!1,loading:!1,foldersLoaded:!1,docsLoaded:!1,docs:[]}}function f(t){let i=t.docCount;for(const s of t.children)i+=f(s);return t.totalCount=i,i}function _(t,i){if("container"===t.kind)return[];const s=i.id+"/",o=t.id.startsWith(s)?t.id.slice(s.length):"";return o?o.split("/"):[]}function p(t,i){if("container"===t.kind)return null;if(null!=t.fullPath&&""!==t.fullPath)return t.fullPath;const s=_(t,i);return s.length?"/"+s.join("/"):null}function g(t){return t.replace(/\.[^./\\]+$/,"")}function b(i,s){return t("span",{class:`mrd-document-list__chev${s?" mrd-document-list__chev--leaf":""}${i?" mrd-document-list__chev--open":""}`},t("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},t("path",{d:"M9 6l6 6-6 6"})))}function y(){return t("svg",{class:"mrd-document-list__icon mrd-document-list__icon--folder",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},t("path",{d:"M3 7a2 2 0 0 1 2-2h4l2 2h8a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"}))}function w(i){return 0===i?null:t("span",{class:"mrd-document-list__indent",style:{width:18*i+"px"}})}function k(t){return 0===t?51:8+18*t+43}function D(i,s){return t("div",{class:"mrd-document-list__loading",key:"loading"},w(s),t("span",{class:"mrd-document-list__spinner"}),d("loading",i.locale))}function x(i,s,o,r,n){var e,d,l,c,a;const m=null!==(d=null!==(e=null==s?void 0:s[i.titleField])&&void 0!==e?e:null==s?void 0:s.name)&&void 0!==d?d:"",h=i.dateField?null==s?void 0:s[i.dateField]:void 0,v=h?u(h,i.locale):"";return t("div",{class:"mrd-document-list__row mrd-document-list__row--doc",key:null!==(a=null===(c=null===(l=null==s?void 0:s._links)||void 0===l?void 0:l.self)||void 0===c?void 0:c.href)&&void 0!==a?a:m,draggable:!0,onClick:()=>i.on.openDoc(s,o,r),onDragStart:t=>i.on.docDragStart(t,s,o),onDragEnd:i.on.docDragEnd,onDragOver:t=>i.on.nodeDragOver(t,o),onDragLeave:()=>i.on.nodeDragLeave(o),onDrop:t=>i.on.nodeDrop(t,o,r)},w(n),b(!1,!0),t("svg",{class:"mrd-document-list__icon mrd-document-list__icon--doc",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},t("path",{d:"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"}),t("path",{d:"M14 2v6h6"})),t("span",{class:"mrd-document-list__label"},m),v&&t("span",{class:"mrd-document-list__date"},v))}function C(i,s,o,r){const n=[];if(o.hasDocs)if(o.docsLoaded)for(const t of o.docs)n.push(x(i,t,o,s,r));else o.loading&&n.push(D(i,r));for(const t of o.children)n.push(F(i,s,t,r));return o.id===i.uploadingNodeId&&n.push(function(i,s){return t("div",{class:"mrd-document-list__loading",key:"uploading"},w(s),t("span",{class:"mrd-document-list__spinner"}),d("upload_file",i.locale))}(i,r)),n}function F(i,s,o,r){if(o.editing)return function(i,s,o){return t("div",{class:"mrd-document-list__node",key:s.id},t("div",{class:"mrd-document-list__row mrd-document-list__row--edit"},w(o),b(!1,!0),y(),t("input",{class:"mrd-document-list__name-input",type:"text",placeholder:d("folder_name_placeholder",i.locale),ref:t=>i.on.setPendingInputEl(t),onInput:i.on.pendingInput,onKeyDown:i.on.pendingKeyDown,onBlur:()=>i.on.cancelFolder()})),s.error&&t("div",{class:"mrd-document-list__error",style:{paddingLeft:`${k(o)}px`}},s.error))}(i,o,r);const n=0===o.children.length&&!o.hasDocs;return t("div",{class:"mrd-document-list__node",key:o.id},t("div",{class:"mrd-document-list__row"+(o.id===i.selectedId?" mrd-document-list__row--selected":"")+(o.pending?" mrd-document-list__row--pending":"")+(o.id===i.dropTargetId?" mrd-document-list__row--drop":""),onClick:()=>i.on.toggleFolder(s,o),onDragOver:t=>i.on.nodeDragOver(t,o),onDragLeave:()=>i.on.nodeDragLeave(o),onDrop:t=>i.on.nodeDrop(t,o,s)},w(r),b(o.open,n),y(),t("span",{class:"mrd-document-list__label"},o.label),t("span",{class:"mrd-document-list__count"},o.totalCount)),o.open&&t("div",{class:"mrd-document-list__kids"},C(i,s,o,r+1)))}const z=i(class i extends s{constructor(t){super(),!1!==t&&this.__registerHost(),this.mrdLoadDistinct=o(this,"mrdLoadDistinct",7),this.mrdLoadPage=o(this,"mrdLoadPage",7),this.mrdNavigate=o(this,"mrdNavigate",7),this.mrdCanCreate=o(this,"mrdCanCreate",7),this.mrdTargetLabel=o(this,"mrdTargetLabel",7),this.mrdUpdateObject=o(this,"mrdUpdateObject",7),this.mrdUpload=o(this,"mrdUpload",7),this.mrdCreateObject=o(this,"mrdCreateObject",7),this.item=null,this.parentId="",this.containerHref="",this.locale=navigator.language,this.containers=[],this.rootLoading=!0,this.singleContainer=!1,this.selectedId=null,this.dropTargetId=null,this.uploadingNodeId=null,this.rootDropActive=!1,this.nodeIndex=new Map,this.pendingNode=null,this.pendingParent=null,this.pendingContainer=null,this.pendingName="",this.pendingInputEl=null,this.pendingNeedsFocus=!1,this.newFolderSeq=0,this.lastCanCreate=!1,this.lastTargetLabel="",this.dragDoc=null,this.dragFromId=null,this.pendingUpload=null,this.lastOptimisticDoc=null,this.startCreateFolder=()=>{const t=this.resolveTarget();if(!t||this.pendingNode)return;const{target:i,container:s}=t,o=v(`${s.id}/__new__${this.newFolderSeq++}`,"",s.id);o.pending=!0,o.editing=!0,i.children=[...i.children,o],i.open=!0,this.nodeIndex.set(o.id,o),this.pendingNode=o,this.pendingParent=i,this.pendingContainer=s,this.pendingName="",this.pendingNeedsFocus=!0,this.bump()},this.onPendingInput=t=>{var i;this.pendingName=t.target.value,(null===(i=this.pendingNode)||void 0===i?void 0:i.error)&&(this.pendingNode.error=void 0,this.bump())},this.onPendingKeyDown=t=>{"Enter"===t.key?(t.preventDefault(),this.commitFolder()):"Escape"===t.key&&(t.preventDefault(),this.cancelFolder())},this.onDocDragStart=(t,i,s)=>{var o,r,n;this.dragDoc=i,this.dragFromId=s.id,t.dataTransfer&&(t.dataTransfer.effectAllowed="move",t.dataTransfer.setData("text/plain",null!==(n=null===(r=null===(o=null==i?void 0:i._links)||void 0===o?void 0:o.self)||void 0===r?void 0:r.href)&&void 0!==n?n:""))},this.onDocDragEnd=()=>{this.dragDoc=null,this.dragFromId=null,null!==this.dropTargetId&&(this.dropTargetId=null)},this.onNodeDragOver=(t,i)=>{const s=this.isFileDrag(t);if(!this.dragDoc&&!s)return;t.preventDefault(),t.stopPropagation(),t.dataTransfer&&(t.dataTransfer.dropEffect=s?"copy":"move");const o=s||i.id!==this.dragFromId?i.id:null;this.dropTargetId!==o&&(this.dropTargetId=o)},this.onNodeDragLeave=t=>{this.dropTargetId===t.id&&(this.dropTargetId=null)},this.onNodeDrop=(t,i,s)=>{if(this.isFileDrag(t))return t.preventDefault(),t.stopPropagation(),void this.startFileUpload(t,i,s);this.dragDoc&&(t.preventDefault(),t.stopPropagation(),this.moveDocument(i,s),this.onDocDragEnd())},this.onRootDragOver=t=>{if(!this.singleContainer)return;const i=this.isFileDrag(t);(this.dragDoc||i)&&(t.preventDefault(),t.dataTransfer&&(t.dataTransfer.dropEffect=i?"copy":"move"),this.rootDropActive||(this.rootDropActive=!0))},this.onRootDragLeave=t=>{const i=t.relatedTarget;i&&this.el.contains(i)||this.rootDropActive&&(this.rootDropActive=!1)},this.onRootDrop=t=>{if(this.rootDropActive=!1,!this.singleContainer)return;const i=this.containers[0];if(this.isFileDrag(t))return t.preventDefault(),void this.startFileUpload(t,i,i);this.dragDoc&&(t.preventDefault(),this.moveDocument(i,i),this.onDocDragEnd())}}componentDidLoad(){this.isSeededSingleContainer()?this.seedSingleContainer():this.emitContainerDistinct()}isSeededSingleContainer(){var t,i;return(null===(t=this.item)||void 0===t?void 0:t.type)===e.RELATED_VIEW&&!!(null===(i=this.item)||void 0===i?void 0:i.inverseRelation)&&this.item.inverseRelation===this.containerField&&!!this.containerHref}seedSingleContainer(){const t=h(this.containerHref,this.containerField,0);this.nodeIndex.set(t.id,t),this.containers=[t],this.rootLoading=!1,this.singleContainer=!0,t.open=!0,this.emitFolderDistinct(t)}componentDidRender(){this.pendingNeedsFocus&&this.pendingInputEl&&(this.pendingInputEl.focus(),this.pendingInputEl.select(),this.pendingNeedsFocus=!1);const t=this.canCreateFolder;t!==this.lastCanCreate&&(this.lastCanCreate=t,this.mrdCanCreate.emit(t));const i=this.targetLabel;i!==this.lastTargetLabel&&(this.lastTargetLabel=i,this.mrdTargetLabel.emit(i))}get targetLabel(){var t;const i=this.resolveTarget();if(!i)return"";const{target:s,container:o}=i;return null!==(t=p(s,o))&&void 0!==t?t:s.label}get containerField(){var t,i,s;return null!==(s=null===(i=null===(t=this.archetype)||void 0===t?void 0:t.slots)||void 0===i?void 0:i.container)&&void 0!==s?s:"container"}get folderField(){var t,i,s;return null!==(s=null===(i=null===(t=this.archetype)||void 0===t?void 0:t.slots)||void 0===i?void 0:i.folder)&&void 0!==s?s:"folder"}get titleField(){var t,i,s;return null!==(s=null===(i=null===(t=this.archetype)||void 0===t?void 0:t.slots)||void 0===i?void 0:i.title)&&void 0!==s?s:"name"}get fileField(){var t,i,s;return null!==(s=null===(i=null===(t=this.archetype)||void 0===t?void 0:t.slots)||void 0===i?void 0:i.file)&&void 0!==s?s:"file"}get dateField(){var t,i;return null===(i=null===(t=this.archetype)||void 0===t?void 0:t.slots)||void 0===i?void 0:i.date}buildDataPath(){var t,i;const s=this.item;return l({isRelatedView:(null==s?void 0:s.type)===e.RELATED_VIEW,fromClass:null==s?void 0:s.fromClass,parentId:this.parentId,dataClass:null!==(i=null!==(t=null==s?void 0:s.dataClass)&&void 0!==t?t:null==s?void 0:s.relatedClass)&&void 0!==i?i:""})}buildCreatePath(){var t,i,s;const o=this.item;return l({isRelatedView:(null==o?void 0:o.type)===e.RELATED_VIEW,fromClass:null==o?void 0:o.fromClass,parentId:this.parentId,dataClass:null!==(s=null!==(i=null!==(t=null==o?void 0:o.filterClass)&&void 0!==t?t:null==o?void 0:o.dataClass)&&void 0!==i?i:null==o?void 0:o.relatedClass)&&void 0!==s?s:""})}baseParams(){var t,i,s;const o=new URLSearchParams,r=null===(t=this.item)||void 0===t?void 0:t.filterClass;return r&&o.set("type",r),c(o,null===(s=null===(i=this.item)||void 0===i?void 0:i.view)||void 0===s?void 0:s.filter),o}emitContainerDistinct(){const t=this.baseParams();t.set("distinct",this.containerField),this.mrdLoadDistinct.emit({nodeId:i.ROOT,distinct:this.containerField,path:this.buildDataPath()+"/distinct",qs:t.toString()})}emitFolderDistinct(t){var i;const s=this.baseParams();s.set("distinct",this.folderField),s.set(this.containerField+"_href",null!==(i=t.href)&&void 0!==i?i:""),t.loading=!0,this.mrdLoadDistinct.emit({nodeId:t.id,distinct:this.folderField,path:this.buildDataPath()+"/distinct",qs:s.toString()})}buildDocQs(t,i){var s,o;const r=this.baseParams();return r.set(this.containerField+"_href",null!==(s=t.href)&&void 0!==s?s:""),r.set(this.folderField,null!==(o=i.fullPath)&&void 0!==o?o:""),r.toString()}emitDocuments(t,i){i.loading=!0,this.mrdLoadPage.emit({nodeId:i.id,page:0,sort:"",path:this.buildDataPath(),qs:this.buildDocQs(t,i)})}async setDistinct(t,s){t===i.ROOT?this.applyContainers(s):this.applyFolders(t,s)}async setDocuments(t,i){const s=this.nodeIndex.get(t);s&&(s.docs=null!=i?i:[],s.docsLoaded=!0,s.loading=!1,this.bump())}applyContainers(t){const i=[];for(const s of t){if(!s.value||"object"!=typeof s.value)continue;const t=h(s.value.href,s.value.name,s.count);i.push(t),this.nodeIndex.set(t.id,t)}if(this.containers=i,this.rootLoading=!1,this.singleContainer=1===i.length,this.singleContainer){const t=i[0];t.open=!0,this.emitFolderDistinct(t)}}applyFolders(t,i){const s=this.nodeIndex.get(t);s&&(function(t,i,s){t.children=[],t.hasDocs=!1,t.docCount=0;for(const o of i){const i="string"==typeof o.value?o.value:null==o.value?"":String(o.value),r=m(i);if(0===r.length){t.hasDocs=!0,t.docCount=o.count,t.fullPath=i;continue}let n=t;const e=[];for(const i of r){e.push(i);let o=n.children.find((t=>t.label===i));o||(o=v(t.id+"/"+e.join("/"),i,t.id),n.children.push(o),s.set(o.id,o)),n=o}n.hasDocs=!0,n.docCount=o.count,n.fullPath=i}f(t),t.foldersLoaded=!0,t.loading=!1}(s,i,this.nodeIndex),s.hasDocs&&!s.docsLoaded&&this.emitDocuments(s,s),this.bump())}bump(){this.containers=[...this.containers]}toggleContainer(t){this.selectedId=t.id,t.open=!t.open,!t.open||t.foldersLoaded||t.loading||this.emitFolderDistinct(t),this.bump()}toggleFolder(t,i){this.selectedId=i.id,i.open=!i.open,i.open&&i.hasDocs&&!i.docsLoaded&&!i.loading&&this.emitDocuments(t,i),this.bump()}resolveTarget(){if(this.selectedId){const t=this.nodeIndex.get(this.selectedId);if(t&&"container"===t.kind)return{target:t,container:t};if(t&&"folder"===t.kind){const i=t.containerId?this.nodeIndex.get(t.containerId):void 0;if(i)return{target:t,container:i}}}if(this.singleContainer&&this.containers[0]){const t=this.containers[0];return{target:t,container:t}}return null}get canCreateFolder(){return!this.pendingNode&&null!==this.resolveTarget()}async createFolder(){this.startCreateFolder()}commitFolder(){const t=this.pendingNode,i=this.pendingParent,s=this.pendingContainer;if(!t||!i||!s)return;const o=this.pendingName.trim();if(!o)return void this.cancelFolder();if(o.includes("/"))return t.error=d("folder_no_slash",this.locale),void this.bump();if(i.children.some((i=>i!==t&&i.label.toLowerCase()===o.toLowerCase())))return t.error=d("folder_duplicate",this.locale),void this.bump();const r=[..._(i,s),o];this.nodeIndex.delete(t.id),t.id=s.id+"/"+r.join("/"),t.fullPath="/"+r.join("/"),t.label=o,t.editing=!1,t.error=void 0,t.open=!0,this.nodeIndex.set(t.id,t),this.selectedId=t.id,this.clearPending(),this.bump()}cancelFolder(){const t=this.pendingNode,i=this.pendingParent;t&&i&&(i.children=i.children.filter((i=>i!==t)),this.nodeIndex.delete(t.id)),this.clearPending(),this.bump()}clearPending(){this.pendingNode=null,this.pendingParent=null,this.pendingContainer=null,this.pendingName="",this.pendingInputEl=null,this.pendingNeedsFocus=!1}isFileDrag(t){return!this.dragDoc&&!!t.dataTransfer&&Array.from(t.dataTransfer.types).includes("Files")}startFileUpload(t,i,s){var o,r;const n=null===(r=null===(o=t.dataTransfer)||void 0===o?void 0:o.files)||void 0===r?void 0:r[0];this.dropTargetId=null,n&&this.beginUpload(n,i,s)}beginUpload(t,i,s){this.pendingUpload={file:t,node:i,container:s},i.open=!0,this.uploadingNodeId=i.id,this.bump(),this.mrdUpload.emit({file:t})}async uploadFile(t){if(!t||this.pendingUpload)return;const i=this.resolveTarget();i&&this.beginUpload(t,i.target,i.container)}async setFileReference(t){const i=this.pendingUpload;if(!i)return;const{file:s,node:o,container:r}=i,n=p(o,r),e={[this.fileField]:t,[this.titleField]:g(s.name),[this.folderField]:n};this.isSeededSingleContainer()||(e[this.containerField]=r.href),this.mrdCreateObject.emit({path:this.buildCreatePath(),values:e});const d={[this.titleField]:g(s.name),_optimistic:!0},l=!o.docsLoaded&&0===o.docCount;o.hasDocs=!0,o.pending=!1,o.docCount+=1,l?(o.docsLoaded=!0,o.docs=[d]):o.docsLoaded&&(o.docs=[...o.docs,d]),this.recomputeContainerTotals(r,1),this.lastOptimisticDoc=d,this.pendingUpload=null,this.uploadingNodeId=null,this.bump()}async setCreatedHref(t){var i;const s=this.lastOptimisticDoc;s&&t&&(s._links=Object.assign(Object.assign({},null!==(i=s._links)&&void 0!==i?i:{}),{self:{href:t}}),s._optimistic=!1,this.lastOptimisticDoc=null,this.bump())}moveDocument(t,i){var s,o;const r=this.dragDoc,n=this.dragFromId?this.nodeIndex.get(this.dragFromId):void 0;if(!r||!n)return;const e="container"===n.kind?n:n.containerId?this.nodeIndex.get(n.containerId):void 0;if(!e)return;const d=p(t,i),l=p(n,e),c=i===e;if(t===n||c&&d===l)return;!function(t,i,s,o){i.docs=i.docs.filter((i=>i!==t)),i.docCount=Math.max(0,i.docCount-1),i.docsLoaded&&(i.hasDocs=i.docs.length>0),s.hasDocs=!0,s.pending=!1,s.docCount+=1,"folder"===s.kind&&(s.fullPath=null!=o?o:""),s.docsLoaded&&(s.docs=[...s.docs,t])}(r,n,t,d),this.recomputeContainerTotals(e,-1),c||this.recomputeContainerTotals(i,1);const a=null===(o=null===(s=null==r?void 0:r._links)||void 0===s?void 0:s.self)||void 0===o?void 0:o.href;if(a){const t={[this.folderField]:d};c||(t[this.containerField]=i.href),this.mrdUpdateObject.emit({href:a,values:t})}this.bump()}recomputeContainerTotals(t,i){t.foldersLoaded?f(t):t.totalCount=Math.max(0,t.totalCount+i)}openDoc(t,i,s){var o,r,n,e;const d=null===(r=null===(o=null==t?void 0:t._links)||void 0===o?void 0:o.self)||void 0===r?void 0:r.href,l=null!==(e=null!==(n=null==t?void 0:t[this.titleField])&&void 0!==n?n:null==t?void 0:t.name)&&void 0!==e?e:"",c=i.docs.indexOf(t),u=c>=0?{index:c,sort:"",path:this.buildDataPath(),qs:this.buildDocQs(s,i)}:void 0,m=a(this.archetype,t);this.mrdNavigate.emit({href:d,label:l,listContext:u,attachments:m})}treeCtx(){return{locale:this.locale,titleField:this.titleField,dateField:this.dateField,selectedId:this.selectedId,dropTargetId:this.dropTargetId,uploadingNodeId:this.uploadingNodeId,on:{toggleContainer:t=>this.toggleContainer(t),toggleFolder:(t,i)=>this.toggleFolder(t,i),openDoc:(t,i,s)=>this.openDoc(t,i,s),docDragStart:this.onDocDragStart,docDragEnd:this.onDocDragEnd,nodeDragOver:this.onNodeDragOver,nodeDragLeave:this.onNodeDragLeave,nodeDrop:this.onNodeDrop,pendingInput:this.onPendingInput,pendingKeyDown:this.onPendingKeyDown,cancelFolder:()=>this.cancelFolder(),setPendingInputEl:t=>this.pendingInputEl=t}}}render(){const i=this.treeCtx();let s;if(this.rootLoading)s=D(i,0);else if(0===this.containers.length)s=t("div",{key:"63604a99fc62d9108f61b8efc126c0cd3e8fc5ed",class:"mrd-document-list__empty"},d("no_results",this.locale));else if(this.singleContainer){const o=this.containers[0];if(o.loading&&!o.foldersLoaded)s=D(i,0);else{const r=C(i,o,o,0);s=r.length?r:t("div",{class:"mrd-document-list__empty"},d("doc_empty_drop",this.locale))}}else s=this.containers.map((s=>function(i,s,o){return t("div",{class:"mrd-document-list__node",key:s.id},t("div",{class:"mrd-document-list__row mrd-document-list__row--dossier"+(s.id===i.selectedId?" mrd-document-list__row--selected":"")+(s.id===i.dropTargetId?" mrd-document-list__row--drop":""),onClick:()=>i.on.toggleContainer(s),onDragOver:t=>i.on.nodeDragOver(t,s),onDragLeave:()=>i.on.nodeDragLeave(s),onDrop:t=>i.on.nodeDrop(t,s,s)},w(o),b(s.open,!1),t("svg",{class:"mrd-document-list__icon mrd-document-list__icon--dossier",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},t("path",{d:"M3 7a2 2 0 0 1 2-2h4l2 2h8a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"})),t("span",{class:"mrd-document-list__label"},s.label),t("span",{class:"mrd-document-list__count"},s.totalCount)),s.open&&t("div",{class:"mrd-document-list__kids"},s.loading&&!s.foldersLoaded?D(i,o+1):C(i,s,s,o+1)))}(i,s,0)));return t(r,{key:"2a092e3a7483deb1fb30753b0c0428aaf75c303a"},t("div",{key:"2b716c912a272b925a95133de5b1ff2abedd9dbc",class:"mrd-document-list"+(this.rootDropActive?" mrd-document-list--drop-active":""),onDragOver:this.onRootDragOver,onDragLeave:this.onRootDragLeave,onDrop:this.onRootDrop},s))}get el(){return this}static get style(){return".sc-mrd-document-list-h{display:block;height:100%}.mrd-document-list.sc-mrd-document-list{padding:var(--mrd-space-2) 0;min-height:100%;box-sizing:border-box}.mrd-document-list--drop-active.sc-mrd-document-list{outline:2px dashed var(--mrd-color-primary);outline-offset:-4px;background:var(--mrd-color-primary-50, rgba(22, 163, 74, 0.06))}.mrd-document-list__row.sc-mrd-document-list{display:flex;align-items:center;gap:var(--mrd-space-1);height:2.125rem;padding:0 var(--mrd-space-4) 0 var(--mrd-space-2);cursor:pointer;user-select:none;font-size:var(--mrd-font-size-sm);color:var(--mrd-color-neutral-800)}.mrd-document-list__row.sc-mrd-document-list:hover{background:var(--mrd-color-neutral-50)}.mrd-document-list__row--selected.sc-mrd-document-list{background:var(--mrd-color-primary-50, rgba(22, 163, 74, 0.1))}.mrd-document-list__row--selected.sc-mrd-document-list:hover{background:var(--mrd-color-primary-50, rgba(22, 163, 74, 0.1))}.mrd-document-list__row--pending.sc-mrd-document-list .mrd-document-list__label.sc-mrd-document-list{font-style:italic;color:var(--mrd-color-neutral-500)}.mrd-document-list__row--doc.sc-mrd-document-list{cursor:grab}.mrd-document-list__row--doc.sc-mrd-document-list:active{cursor:grabbing}.mrd-document-list__row--drop.sc-mrd-document-list{background:var(--mrd-color-primary-50, rgba(22, 163, 74, 0.1));box-shadow:inset 0 0 0 1px var(--mrd-color-primary)}.mrd-document-list__row--drop.sc-mrd-document-list:hover{background:var(--mrd-color-primary-50, rgba(22, 163, 74, 0.1))}.mrd-document-list__row--edit.sc-mrd-document-list{cursor:default}.mrd-document-list__row--dossier.sc-mrd-document-list .mrd-document-list__label.sc-mrd-document-list{font-weight:var(--mrd-font-weight-semibold)}.mrd-document-list__name-input.sc-mrd-document-list{flex:1;min-width:0;height:1.625rem;padding:0 var(--mrd-space-2);font-size:var(--mrd-font-size-sm);font-family:inherit;color:var(--mrd-color-neutral-800);border:1px solid var(--mrd-color-primary);border-radius:var(--mrd-border-radius);outline:none;box-shadow:var(--mrd-shadow-focus)}.mrd-document-list__error.sc-mrd-document-list{font-size:var(--mrd-font-size-xs);color:var(--mrd-color-danger, #dc2626);padding-top:0.125rem;padding-bottom:0.25rem}.mrd-document-list__indent.sc-mrd-document-list{flex:none}.mrd-document-list__chev.sc-mrd-document-list{width:0.875rem;height:1rem;flex:none;display:grid;place-items:center;color:var(--mrd-color-neutral-400);transition:transform var(--mrd-transition-fast)}.mrd-document-list__chev.sc-mrd-document-list svg.sc-mrd-document-list{width:0.6875rem;height:0.6875rem}.mrd-document-list__chev--open.sc-mrd-document-list{transform:rotate(90deg)}.mrd-document-list__chev--leaf.sc-mrd-document-list{visibility:hidden}.mrd-document-list__icon.sc-mrd-document-list{width:1.0625rem;height:1.0625rem;flex:none}.mrd-document-list__icon--dossier.sc-mrd-document-list{color:var(--mrd-color-primary)}.mrd-document-list__icon--folder.sc-mrd-document-list{color:var(--mrd-color-folder)}.mrd-document-list__icon--doc.sc-mrd-document-list{color:var(--mrd-color-neutral-400)}.mrd-document-list__label.sc-mrd-document-list{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mrd-document-list__count.sc-mrd-document-list{flex:none;font-family:var(--mrd-font-family-mono);font-size:var(--mrd-font-size-xs);color:var(--mrd-color-neutral-500);background:var(--mrd-color-neutral-100);border-radius:var(--mrd-border-radius-full);padding:0.0625rem 0.5rem}.mrd-document-list__date.sc-mrd-document-list{flex:none;font-size:var(--mrd-font-size-xs);color:var(--mrd-color-neutral-400);font-variant-numeric:tabular-nums}.mrd-document-list__loading.sc-mrd-document-list{display:flex;align-items:center;gap:var(--mrd-space-1);height:1.875rem;padding:0 var(--mrd-space-4) 0 var(--mrd-space-2);font-size:var(--mrd-font-size-xs);color:var(--mrd-color-neutral-400)}.mrd-document-list__spinner.sc-mrd-document-list{width:0.75rem;height:0.75rem;border:2px solid var(--mrd-color-neutral-300);border-top-color:var(--mrd-color-primary);border-radius:50%;animation:mrd-document-list-spin 0.7s linear infinite}.mrd-document-list__empty.sc-mrd-document-list{padding:var(--mrd-space-8) var(--mrd-space-4);text-align:center;color:var(--mrd-color-neutral-400);font-size:var(--mrd-font-size-sm)}@keyframes mrd-document-list-spin{to{transform:rotate(360deg)}}"}},[2,"mrd-document-list",{item:[16],archetype:[16],parentId:[1,"parent-id"],containerHref:[1,"container-href"],locale:[1],containers:[32],rootLoading:[32],singleContainer:[32],selectedId:[32],dropTargetId:[32],uploadingNodeId:[32],rootDropActive:[32],setDistinct:[64],setDocuments:[64],createFolder:[64],uploadFile:[64],setFileReference:[64],setCreatedHref:[64]}]);function L(){"undefined"!=typeof customElements&&["mrd-document-list"].forEach((t=>{"mrd-document-list"===t&&(customElements.get(n(t))||customElements.define(n(t),z))}))}z.ROOT="__root__";export{z as M,L as d}
@@ -1 +1 @@
1
- import{proxyCustomElement as e,HTMLElement as r,createEvent as t,h as d,Host as i,transformTag as o}from"@stencil/core/internal/client";import{t as n}from"./i18n.js";import{f as a}from"./format.js";import{a as m,b as c}from"./document-attachments.js";const s=e(class extends r{constructor(e){super(),!1!==e&&this.__registerHost(),this.mrdNavigate=t(this,"mrdNavigate",7),this.mrdDownload=t(this,"mrdDownload",7),this.mrdAttachments=t(this,"mrdAttachments",7),this.data={},this.locale=navigator.language,this.lastAttachmentKey=null}componentDidLoad(){this.emitAttachmentsIfNeeded()}dataChanged(){this.emitAttachmentsIfNeeded()}emitAttachmentsIfNeeded(){const e=m(this.archetype,this.data),r=c(e);r!==this.lastAttachmentKey&&(this.lastAttachmentKey=r,this.mrdAttachments.emit({attachments:e}))}slotValue(e){var r,t;const d=null===(t=null===(r=this.archetype)||void 0===r?void 0:r.slots)||void 0===t?void 0:t[e];if(d)return this.data[d]}slotLink(e){var r,t,d,i;const o=null===(t=null===(r=this.archetype)||void 0===r?void 0:r.slots)||void 0===t?void 0:t[e];if(o)return(null!==(i=null===(d=this.data)||void 0===d?void 0:d._links)&&void 0!==i?i:{})[o]}renderContainer(){const e=this.slotLink("container"),r=!(!(null==e?void 0:e.href)||!e.name),t=this.slotValue("folder"),i=null!=t&&""!==t?String(t):null;return r||i?d("div",{class:"mrd-document-view__container"},r&&d("button",{type:"button",class:"mrd-document-view__container-link",onClick:()=>this.mrdNavigate.emit({href:e.href,label:e.name})},e.name),i&&d("span",{class:"mrd-document-view__folder"},d("svg",{class:"mrd-document-view__folder-icon",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},d("path",{d:"M3 7a2 2 0 0 1 2-2h4l2 2h8a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"})),i)):null}renderFileMeta(e,r){return d("div",{class:"mrd-document-view__file-meta"},r&&d("button",{type:"button",class:"mrd-document-view__download",onClick:()=>this.mrdDownload.emit({href:r,fileName:e})},d("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},d("path",{d:"M12 3v12m0 0l-4-4m4 4l4-4M4 21h16"})),n("download",this.locale)))}render(){var e,r;const t=this.slotValue("title"),o=null!=t&&""!==t?String(t):null,n=this.slotValue("date"),m=null!=n&&""!==n?a(n,this.locale):null,c=this.slotValue("summary"),s=null!=c&&""!==c?String(c):null,l=this.slotValue("file"),u=null!==(e=null==l?void 0:l.href)&&void 0!==e?e:"",v=null!==(r=null==l?void 0:l.fileName)&&void 0!==r?r:l?String(l):"";return d(i,{key:"405890ef9135d4e9f15532dbc669c4d8d1e8b201"},d("div",{key:"be60f0867664a0ded6a85b17999ab207f042d8e2",class:"mrd-document-view"},d("div",{key:"f0202da7e83a05f782ba70c3cff91049d56c3e04",class:"mrd-document-view__body"},d("div",{key:"85d5075c6751200ae3840b1d9e4544792ea52b5e",class:"mrd-document-view__meta"},o&&d("h1",{key:"63a4676ef488f2b0cf2347e0aa4e3c728b2d9351",class:"mrd-document-view__title"},o),m&&d("p",{key:"4ff630a9967509f661050ba04eece5ca26773ce2",class:"mrd-document-view__date"},m),this.renderContainer(),l&&this.renderFileMeta(v,u),s&&d("div",{key:"412e4934755e801e8a6cd10f5d00da82f9b6aa6a",class:"mrd-document-view__summary"},d("div",{key:"fc5c1b88cdba2f2398d09b42ede0b4dc556cd0f3",class:"mrd-document-view__summary-body",innerHTML:s}))))))}static get watchers(){return{data:[{dataChanged:0}]}}static get style(){return".sc-mrd-document-view-h{display:block}.mrd-document-view.sc-mrd-document-view{max-width:640px}.mrd-document-view__body.sc-mrd-document-view{display:flex;flex-direction:column;gap:var(--mrd-space-6)}.mrd-document-view__container.sc-mrd-document-view{display:flex;flex-direction:column;align-items:flex-start;gap:var(--mrd-space-1);margin-bottom:var(--mrd-space-6)}.mrd-document-view__container-link.sc-mrd-document-view{background:none;border:none;padding:0;font-family:var(--mrd-font-family);font-size:var(--mrd-font-size-sm);font-weight:var(--mrd-font-weight-semibold);color:var(--mrd-color-primary);cursor:pointer;text-align:left}.mrd-document-view__container-link.sc-mrd-document-view:hover{text-decoration:underline}.mrd-document-view__folder.sc-mrd-document-view{display:inline-flex;align-items:center;gap:var(--mrd-space-1);font-size:var(--mrd-font-size-xs);color:var(--mrd-color-neutral-400);word-break:break-word}.mrd-document-view__folder-icon.sc-mrd-document-view{width:0.75rem;height:0.75rem;flex-shrink:0}.mrd-document-view__title.sc-mrd-document-view{font-size:var(--mrd-font-size-2xl);font-weight:var(--mrd-font-weight-bold);color:var(--mrd-color-neutral-900);letter-spacing:-0.02em;margin:0 0 var(--mrd-space-1) 0}.mrd-document-view__date.sc-mrd-document-view{font-size:var(--mrd-font-size-sm);color:var(--mrd-color-neutral-400);font-variant-numeric:tabular-nums;margin:0 0 var(--mrd-space-6) 0}.mrd-document-view__file-meta.sc-mrd-document-view{display:flex;align-items:center;margin-bottom:var(--mrd-space-2)}.mrd-document-view__download.sc-mrd-document-view{display:inline-flex;align-items:center;gap:var(--mrd-space-2);flex-shrink:0;height:2rem;padding:0 var(--mrd-space-3);background:var(--mrd-color-white);border:1px solid var(--mrd-color-neutral-300);border-radius:var(--mrd-border-radius);font-family:var(--mrd-font-family);font-size:var(--mrd-font-size-sm);font-weight:var(--mrd-font-weight-medium);color:var(--mrd-color-neutral-700);cursor:pointer}.mrd-document-view__download.sc-mrd-document-view:hover{background:var(--mrd-color-neutral-100);color:var(--mrd-color-neutral-900)}.mrd-document-view__download.sc-mrd-document-view svg.sc-mrd-document-view{width:0.9375rem;height:0.9375rem}.mrd-document-view__summary-body.sc-mrd-document-view{font-size:var(--mrd-font-size-base);color:var(--mrd-color-neutral-700);line-height:var(--mrd-line-height-relaxed)}"}},[2,"mrd-document-view",{archetype:[16],data:[16],locale:[1]},void 0,{data:[{dataChanged:0}]}]);function l(){"undefined"!=typeof customElements&&["mrd-document-view"].forEach((e=>{"mrd-document-view"===e&&(customElements.get(o(e))||customElements.define(o(e),s))}))}export{s as M,l as d}
1
+ import{proxyCustomElement as e,HTMLElement as r,createEvent as t,h as d,Host as i,transformTag as o}from"@stencil/core/internal/client";import{t as n}from"./i18n.js";import{a}from"./format.js";import{a as m,b as c}from"./document-attachments.js";const s=e(class extends r{constructor(e){super(),!1!==e&&this.__registerHost(),this.mrdNavigate=t(this,"mrdNavigate",7),this.mrdDownload=t(this,"mrdDownload",7),this.mrdAttachments=t(this,"mrdAttachments",7),this.data={},this.locale=navigator.language,this.lastAttachmentKey=null}componentDidLoad(){this.emitAttachmentsIfNeeded()}dataChanged(){this.emitAttachmentsIfNeeded()}emitAttachmentsIfNeeded(){const e=m(this.archetype,this.data),r=c(e);r!==this.lastAttachmentKey&&(this.lastAttachmentKey=r,this.mrdAttachments.emit({attachments:e}))}slotValue(e){var r,t;const d=null===(t=null===(r=this.archetype)||void 0===r?void 0:r.slots)||void 0===t?void 0:t[e];if(d)return this.data[d]}slotLink(e){var r,t,d,i;const o=null===(t=null===(r=this.archetype)||void 0===r?void 0:r.slots)||void 0===t?void 0:t[e];if(o)return(null!==(i=null===(d=this.data)||void 0===d?void 0:d._links)&&void 0!==i?i:{})[o]}renderContainer(){const e=this.slotLink("container"),r=!(!(null==e?void 0:e.href)||!e.name),t=this.slotValue("folder"),i=null!=t&&""!==t?String(t):null;return r||i?d("div",{class:"mrd-document-view__container"},r&&d("button",{type:"button",class:"mrd-document-view__container-link",onClick:()=>this.mrdNavigate.emit({href:e.href,label:e.name})},e.name),i&&d("span",{class:"mrd-document-view__folder"},d("svg",{class:"mrd-document-view__folder-icon",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},d("path",{d:"M3 7a2 2 0 0 1 2-2h4l2 2h8a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"})),i)):null}renderFileMeta(e,r){return d("div",{class:"mrd-document-view__file-meta"},r&&d("button",{type:"button",class:"mrd-document-view__download",onClick:()=>this.mrdDownload.emit({href:r,fileName:e})},d("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},d("path",{d:"M12 3v12m0 0l-4-4m4 4l4-4M4 21h16"})),n("download",this.locale)))}render(){var e,r;const t=this.slotValue("title"),o=null!=t&&""!==t?String(t):null,n=this.slotValue("date"),m=null!=n&&""!==n?a(n,this.locale):null,c=this.slotValue("summary"),s=null!=c&&""!==c?String(c):null,l=this.slotValue("file"),u=null!==(e=null==l?void 0:l.href)&&void 0!==e?e:"",v=null!==(r=null==l?void 0:l.fileName)&&void 0!==r?r:l?String(l):"";return d(i,{key:"405890ef9135d4e9f15532dbc669c4d8d1e8b201"},d("div",{key:"be60f0867664a0ded6a85b17999ab207f042d8e2",class:"mrd-document-view"},d("div",{key:"f0202da7e83a05f782ba70c3cff91049d56c3e04",class:"mrd-document-view__body"},d("div",{key:"85d5075c6751200ae3840b1d9e4544792ea52b5e",class:"mrd-document-view__meta"},o&&d("h1",{key:"63a4676ef488f2b0cf2347e0aa4e3c728b2d9351",class:"mrd-document-view__title"},o),m&&d("p",{key:"4ff630a9967509f661050ba04eece5ca26773ce2",class:"mrd-document-view__date"},m),this.renderContainer(),l&&this.renderFileMeta(v,u),s&&d("div",{key:"412e4934755e801e8a6cd10f5d00da82f9b6aa6a",class:"mrd-document-view__summary"},d("div",{key:"fc5c1b88cdba2f2398d09b42ede0b4dc556cd0f3",class:"mrd-document-view__summary-body",innerHTML:s}))))))}static get watchers(){return{data:[{dataChanged:0}]}}static get style(){return".sc-mrd-document-view-h{display:block}.mrd-document-view.sc-mrd-document-view{max-width:640px}.mrd-document-view__body.sc-mrd-document-view{display:flex;flex-direction:column;gap:var(--mrd-space-6)}.mrd-document-view__container.sc-mrd-document-view{display:flex;flex-direction:column;align-items:flex-start;gap:var(--mrd-space-1);margin-bottom:var(--mrd-space-6)}.mrd-document-view__container-link.sc-mrd-document-view{background:none;border:none;padding:0;font-family:var(--mrd-font-family);font-size:var(--mrd-font-size-sm);font-weight:var(--mrd-font-weight-semibold);color:var(--mrd-color-primary);cursor:pointer;text-align:left}.mrd-document-view__container-link.sc-mrd-document-view:hover{text-decoration:underline}.mrd-document-view__folder.sc-mrd-document-view{display:inline-flex;align-items:center;gap:var(--mrd-space-1);font-size:var(--mrd-font-size-xs);color:var(--mrd-color-neutral-400);word-break:break-word}.mrd-document-view__folder-icon.sc-mrd-document-view{width:0.75rem;height:0.75rem;flex-shrink:0}.mrd-document-view__title.sc-mrd-document-view{font-size:var(--mrd-font-size-2xl);font-weight:var(--mrd-font-weight-bold);color:var(--mrd-color-neutral-900);letter-spacing:-0.02em;margin:0 0 var(--mrd-space-1) 0}.mrd-document-view__date.sc-mrd-document-view{font-size:var(--mrd-font-size-sm);color:var(--mrd-color-neutral-400);font-variant-numeric:tabular-nums;margin:0 0 var(--mrd-space-6) 0}.mrd-document-view__file-meta.sc-mrd-document-view{display:flex;align-items:center;margin-bottom:var(--mrd-space-2)}.mrd-document-view__download.sc-mrd-document-view{display:inline-flex;align-items:center;gap:var(--mrd-space-2);flex-shrink:0;height:2rem;padding:0 var(--mrd-space-3);background:var(--mrd-color-white);border:1px solid var(--mrd-color-neutral-300);border-radius:var(--mrd-border-radius);font-family:var(--mrd-font-family);font-size:var(--mrd-font-size-sm);font-weight:var(--mrd-font-weight-medium);color:var(--mrd-color-neutral-700);cursor:pointer}.mrd-document-view__download.sc-mrd-document-view:hover{background:var(--mrd-color-neutral-100);color:var(--mrd-color-neutral-900)}.mrd-document-view__download.sc-mrd-document-view svg.sc-mrd-document-view{width:0.9375rem;height:0.9375rem}.mrd-document-view__summary-body.sc-mrd-document-view{font-size:var(--mrd-font-size-base);color:var(--mrd-color-neutral-700);line-height:var(--mrd-line-height-relaxed)}"}},[2,"mrd-document-view",{archetype:[16],data:[16],locale:[1]},void 0,{data:[{dataChanged:0}]}]);function l(){"undefined"!=typeof customElements&&["mrd-document-view"].forEach((e=>{"mrd-document-view"===e&&(customElements.get(o(e))||customElements.define(o(e),s))}))}export{s as M,l as d}
@@ -1 +1 @@
1
- import{proxyCustomElement as e,HTMLElement as r,createEvent as i,h as a,Host as t,transformTag as d}from"@stencil/core/internal/client";import{p as l}from"./purify.es.js";import{t as m}from"./i18n.js";import{a as s}from"./format.js";import{a as o,b as n}from"./document-attachments.js";const c=e(class extends r{constructor(e){super(),!1!==e&&this.__registerHost(),this.mrdNavigate=i(this,"mrdNavigate",7),this.mrdDownload=i(this,"mrdDownload",7),this.mrdAttachments=i(this,"mrdAttachments",7),this.data={},this.locale=navigator.language,this.lastAttachmentKey=null}componentDidLoad(){this.emitAttachmentsIfNeeded()}dataChanged(){this.emitAttachmentsIfNeeded()}emitAttachmentsIfNeeded(){const e=o(this.archetype,this.data,"attachments"),r=n(e);r!==this.lastAttachmentKey&&(this.lastAttachmentKey=r,this.mrdAttachments.emit({attachments:e}))}slotValue(e){var r,i;const a=null===(i=null===(r=this.archetype)||void 0===r?void 0:r.slots)||void 0===i?void 0:i[e];if(a)return this.data[a]}slotLink(e){var r,i,a,t;const d=null===(i=null===(r=this.archetype)||void 0===r?void 0:r.slots)||void 0===i?void 0:i[e];if(d)return(null!==(t=null===(a=this.data)||void 0===a?void 0:a._links)&&void 0!==t?t:{})[d]}renderAddressRow(e,r){var i;const t=this.slotLink(e),d=(null===(i=null==t?void 0:t.values)||void 0===i?void 0:i.length)?t.values:(null==t?void 0:t.href)&&(null==t?void 0:t.name)?[{href:t.href,name:t.name}]:[];return d.length?a("div",{class:"mrd-email-view__header-row"},a("span",{class:"mrd-email-view__header-label"},r),a("span",{class:"mrd-email-view__header-value"},d.map(((e,r)=>a("span",{key:e.href},a("button",{type:"button",class:"mrd-email-view__link",onClick:()=>this.mrdNavigate.emit({href:e.href,label:e.name})},e.name),r<d.length-1?", ":""))))):null}renderContainer(){const e=this.slotLink("container");return(null==e?void 0:e.href)&&e.name?a("button",{type:"button",class:"mrd-email-view__container-link",onClick:()=>this.mrdNavigate.emit({href:e.href,label:e.name})},e.name):null}renderBody(){const e=this.slotValue("bodyHtml");if(null!=e&&""!==e)return a("div",{class:"mrd-email-view__body-html",innerHTML:l.sanitize(String(e))});const r=this.slotValue("bodyText");return null!=r&&""!==r?a("div",{class:"mrd-email-view__body-text"},String(r)):null}renderHeaders(){const e=this.slotValue("headers");return null==e||""===e?null:a("details",{class:"mrd-email-view__headers"},a("summary",null,m("email_show_headers",this.locale)),a("pre",{class:"mrd-email-view__headers-body"},String(e)))}renderAttachments(){const e=o(this.archetype,this.data,"attachments");return e.length?a("div",{class:"mrd-email-view__attachments"},e.map((e=>a("button",{type:"button",key:e.href,class:"mrd-email-view__attachment",onClick:()=>this.mrdDownload.emit({href:e.href,fileName:e.fileName})},a("svg",{class:"mrd-email-view__attachment-icon",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},a("path",{d:"M21.44 11.05l-9.19 9.19a5 5 0 01-7.07-7.07l9.19-9.19a3 3 0 014.24 4.24l-9.2 9.19a1 1 0 01-1.41-1.41l8.49-8.48"})),e.fileName)))):null}render(){const e=this.slotValue("subject"),r=null!=e&&""!==e?String(e):null,i=this.slotValue("date");return a(t,{key:"3f36e4df048a71075193d61d0455f94a9121cacf"},a("div",{key:"164a3d686a462ede237d1aa0892c041ec7ee30b5",class:"mrd-email-view"},r&&a("h1",{key:"46111bedb40e60189f00232ec5f670c9d027c781",class:"mrd-email-view__subject"},r),a("div",{key:"492616cf77aa2351c680509c14328178426be7ed",class:"mrd-email-view__header"},this.renderAddressRow("from",m("email_from",this.locale)),this.renderAddressRow("to",m("email_to",this.locale)),this.renderAddressRow("cc",m("email_cc",this.locale)),null!=i&&""!==i&&a("div",{key:"bc89fb4adec45280b3cbb7216455a7a8a5530f51",class:"mrd-email-view__header-row"},a("span",{key:"2c0a90c5061261b8b70ba3eb0bf8b9fab793cc7d",class:"mrd-email-view__header-label"},m("email_date",this.locale)),a("span",{key:"de3edda49ec15795c9e91297ade9535f06b53b29",class:"mrd-email-view__header-value"},s(i,this.locale)))),this.renderContainer(),a("div",{key:"6e834f73168f167dac9b90a492db168b0dacc62e",class:"mrd-email-view__divider"}),this.renderBody(),this.renderAttachments(),this.renderHeaders()))}static get watchers(){return{data:[{dataChanged:0}]}}static get style(){return".sc-mrd-email-view-h{display:block}.mrd-email-view.sc-mrd-email-view{max-width:720px;display:flex;flex-direction:column;gap:var(--mrd-space-4)}.mrd-email-view__subject.sc-mrd-email-view{font-size:var(--mrd-font-size-2xl);font-weight:var(--mrd-font-weight-bold);color:var(--mrd-color-neutral-900);letter-spacing:-0.02em;margin:0}.mrd-email-view__header.sc-mrd-email-view{display:flex;flex-direction:column;gap:var(--mrd-space-1)}.mrd-email-view__header-row.sc-mrd-email-view{display:flex;gap:var(--mrd-space-3);font-size:var(--mrd-font-size-sm)}.mrd-email-view__header-label.sc-mrd-email-view{flex-shrink:0;width:3rem;font-weight:var(--mrd-font-weight-medium);color:var(--mrd-color-neutral-400)}.mrd-email-view__header-value.sc-mrd-email-view{color:var(--mrd-color-neutral-700)}.mrd-email-view__link.sc-mrd-email-view{background:none;border:none;padding:0;font-family:var(--mrd-font-family);font-size:inherit;font-weight:var(--mrd-font-weight-medium);color:var(--mrd-color-primary);cursor:pointer}.mrd-email-view__link.sc-mrd-email-view:hover{text-decoration:underline}.mrd-email-view__container-link.sc-mrd-email-view{align-self:flex-start;background:none;border:none;padding:0;font-family:var(--mrd-font-family);font-size:var(--mrd-font-size-sm);font-weight:var(--mrd-font-weight-semibold);color:var(--mrd-color-primary);cursor:pointer}.mrd-email-view__container-link.sc-mrd-email-view:hover{text-decoration:underline}.mrd-email-view__divider.sc-mrd-email-view{height:var(--mrd-border-width);background:var(--mrd-color-neutral-200)}.mrd-email-view__body-html.sc-mrd-email-view{font-size:var(--mrd-font-size-base);color:var(--mrd-color-neutral-700);line-height:var(--mrd-line-height-relaxed);word-break:break-word}.mrd-email-view__body-text.sc-mrd-email-view{font-size:var(--mrd-font-size-base);color:var(--mrd-color-neutral-700);line-height:var(--mrd-line-height-relaxed);white-space:pre-wrap;word-break:break-word}.mrd-email-view__attachments.sc-mrd-email-view{display:flex;flex-direction:column;gap:var(--mrd-space-2)}.mrd-email-view__attachment.sc-mrd-email-view{display:inline-flex;align-items:center;gap:var(--mrd-space-2);align-self:flex-start;height:2rem;padding:0 var(--mrd-space-3);background:var(--mrd-color-white);border:1px solid var(--mrd-color-neutral-300);border-radius:var(--mrd-border-radius);font-family:var(--mrd-font-family);font-size:var(--mrd-font-size-sm);font-weight:var(--mrd-font-weight-medium);color:var(--mrd-color-neutral-700);cursor:pointer}.mrd-email-view__attachment.sc-mrd-email-view:hover{background:var(--mrd-color-neutral-100);color:var(--mrd-color-neutral-900)}.mrd-email-view__attachment-icon.sc-mrd-email-view{width:0.9375rem;height:0.9375rem;flex-shrink:0}.mrd-email-view__headers.sc-mrd-email-view{font-size:var(--mrd-font-size-xs);color:var(--mrd-color-neutral-400)}.mrd-email-view__headers.sc-mrd-email-view summary.sc-mrd-email-view{cursor:pointer;font-weight:var(--mrd-font-weight-medium)}.mrd-email-view__headers-body.sc-mrd-email-view{margin:var(--mrd-space-2) 0 0 0;padding:var(--mrd-space-3);background:var(--mrd-color-neutral-50);border-radius:var(--mrd-border-radius);white-space:pre-wrap;word-break:break-word}"}},[2,"mrd-email-view",{archetype:[16],data:[16],locale:[1]},void 0,{data:[{dataChanged:0}]}]);function v(){"undefined"!=typeof customElements&&["mrd-email-view"].forEach((e=>{"mrd-email-view"===e&&(customElements.get(d(e))||customElements.define(d(e),c))}))}export{c as M,v as d}
1
+ import{proxyCustomElement as e,HTMLElement as r,createEvent as i,h as a,Host as t,transformTag as d}from"@stencil/core/internal/client";import{p as l}from"./purify.es.js";import{t as m}from"./i18n.js";import{b as s}from"./format.js";import{a as o,b as n}from"./document-attachments.js";const c=e(class extends r{constructor(e){super(),!1!==e&&this.__registerHost(),this.mrdNavigate=i(this,"mrdNavigate",7),this.mrdDownload=i(this,"mrdDownload",7),this.mrdAttachments=i(this,"mrdAttachments",7),this.data={},this.locale=navigator.language,this.lastAttachmentKey=null}componentDidLoad(){this.emitAttachmentsIfNeeded()}dataChanged(){this.emitAttachmentsIfNeeded()}emitAttachmentsIfNeeded(){const e=o(this.archetype,this.data,"attachments"),r=n(e);r!==this.lastAttachmentKey&&(this.lastAttachmentKey=r,this.mrdAttachments.emit({attachments:e}))}slotValue(e){var r,i;const a=null===(i=null===(r=this.archetype)||void 0===r?void 0:r.slots)||void 0===i?void 0:i[e];if(a)return this.data[a]}slotLink(e){var r,i,a,t;const d=null===(i=null===(r=this.archetype)||void 0===r?void 0:r.slots)||void 0===i?void 0:i[e];if(d)return(null!==(t=null===(a=this.data)||void 0===a?void 0:a._links)&&void 0!==t?t:{})[d]}renderAddressRow(e,r){var i;const t=this.slotLink(e),d=(null===(i=null==t?void 0:t.values)||void 0===i?void 0:i.length)?t.values:(null==t?void 0:t.href)&&(null==t?void 0:t.name)?[{href:t.href,name:t.name}]:[];return d.length?a("div",{class:"mrd-email-view__header-row"},a("span",{class:"mrd-email-view__header-label"},r),a("span",{class:"mrd-email-view__header-value"},d.map(((e,r)=>a("span",{key:e.href},a("button",{type:"button",class:"mrd-email-view__link",onClick:()=>this.mrdNavigate.emit({href:e.href,label:e.name})},e.name),r<d.length-1?", ":""))))):null}renderContainer(){const e=this.slotLink("container");return(null==e?void 0:e.href)&&e.name?a("button",{type:"button",class:"mrd-email-view__container-link",onClick:()=>this.mrdNavigate.emit({href:e.href,label:e.name})},e.name):null}renderBody(){const e=this.slotValue("bodyHtml");if(null!=e&&""!==e)return a("div",{class:"mrd-email-view__body-html",innerHTML:l.sanitize(String(e))});const r=this.slotValue("bodyText");return null!=r&&""!==r?a("div",{class:"mrd-email-view__body-text"},String(r)):null}renderHeaders(){const e=this.slotValue("headers");return null==e||""===e?null:a("details",{class:"mrd-email-view__headers"},a("summary",null,m("email_show_headers",this.locale)),a("pre",{class:"mrd-email-view__headers-body"},String(e)))}renderAttachments(){const e=o(this.archetype,this.data,"attachments");return e.length?a("div",{class:"mrd-email-view__attachments"},e.map((e=>a("button",{type:"button",key:e.href,class:"mrd-email-view__attachment",onClick:()=>this.mrdDownload.emit({href:e.href,fileName:e.fileName})},a("svg",{class:"mrd-email-view__attachment-icon",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},a("path",{d:"M21.44 11.05l-9.19 9.19a5 5 0 01-7.07-7.07l9.19-9.19a3 3 0 014.24 4.24l-9.2 9.19a1 1 0 01-1.41-1.41l8.49-8.48"})),e.fileName)))):null}render(){const e=this.slotValue("subject"),r=null!=e&&""!==e?String(e):null,i=this.slotValue("date");return a(t,{key:"3f36e4df048a71075193d61d0455f94a9121cacf"},a("div",{key:"164a3d686a462ede237d1aa0892c041ec7ee30b5",class:"mrd-email-view"},r&&a("h1",{key:"46111bedb40e60189f00232ec5f670c9d027c781",class:"mrd-email-view__subject"},r),a("div",{key:"492616cf77aa2351c680509c14328178426be7ed",class:"mrd-email-view__header"},this.renderAddressRow("from",m("email_from",this.locale)),this.renderAddressRow("to",m("email_to",this.locale)),this.renderAddressRow("cc",m("email_cc",this.locale)),null!=i&&""!==i&&a("div",{key:"bc89fb4adec45280b3cbb7216455a7a8a5530f51",class:"mrd-email-view__header-row"},a("span",{key:"2c0a90c5061261b8b70ba3eb0bf8b9fab793cc7d",class:"mrd-email-view__header-label"},m("email_date",this.locale)),a("span",{key:"de3edda49ec15795c9e91297ade9535f06b53b29",class:"mrd-email-view__header-value"},s(i,this.locale)))),this.renderContainer(),a("div",{key:"6e834f73168f167dac9b90a492db168b0dacc62e",class:"mrd-email-view__divider"}),this.renderBody(),this.renderAttachments(),this.renderHeaders()))}static get watchers(){return{data:[{dataChanged:0}]}}static get style(){return".sc-mrd-email-view-h{display:block}.mrd-email-view.sc-mrd-email-view{max-width:720px;display:flex;flex-direction:column;gap:var(--mrd-space-4)}.mrd-email-view__subject.sc-mrd-email-view{font-size:var(--mrd-font-size-2xl);font-weight:var(--mrd-font-weight-bold);color:var(--mrd-color-neutral-900);letter-spacing:-0.02em;margin:0}.mrd-email-view__header.sc-mrd-email-view{display:flex;flex-direction:column;gap:var(--mrd-space-1)}.mrd-email-view__header-row.sc-mrd-email-view{display:flex;gap:var(--mrd-space-3);font-size:var(--mrd-font-size-sm)}.mrd-email-view__header-label.sc-mrd-email-view{flex-shrink:0;width:3rem;font-weight:var(--mrd-font-weight-medium);color:var(--mrd-color-neutral-400)}.mrd-email-view__header-value.sc-mrd-email-view{color:var(--mrd-color-neutral-700)}.mrd-email-view__link.sc-mrd-email-view{background:none;border:none;padding:0;font-family:var(--mrd-font-family);font-size:inherit;font-weight:var(--mrd-font-weight-medium);color:var(--mrd-color-primary);cursor:pointer}.mrd-email-view__link.sc-mrd-email-view:hover{text-decoration:underline}.mrd-email-view__container-link.sc-mrd-email-view{align-self:flex-start;background:none;border:none;padding:0;font-family:var(--mrd-font-family);font-size:var(--mrd-font-size-sm);font-weight:var(--mrd-font-weight-semibold);color:var(--mrd-color-primary);cursor:pointer}.mrd-email-view__container-link.sc-mrd-email-view:hover{text-decoration:underline}.mrd-email-view__divider.sc-mrd-email-view{height:var(--mrd-border-width);background:var(--mrd-color-neutral-200)}.mrd-email-view__body-html.sc-mrd-email-view{font-size:var(--mrd-font-size-base);color:var(--mrd-color-neutral-700);line-height:var(--mrd-line-height-relaxed);word-break:break-word}.mrd-email-view__body-text.sc-mrd-email-view{font-size:var(--mrd-font-size-base);color:var(--mrd-color-neutral-700);line-height:var(--mrd-line-height-relaxed);white-space:pre-wrap;word-break:break-word}.mrd-email-view__attachments.sc-mrd-email-view{display:flex;flex-direction:column;gap:var(--mrd-space-2)}.mrd-email-view__attachment.sc-mrd-email-view{display:inline-flex;align-items:center;gap:var(--mrd-space-2);align-self:flex-start;height:2rem;padding:0 var(--mrd-space-3);background:var(--mrd-color-white);border:1px solid var(--mrd-color-neutral-300);border-radius:var(--mrd-border-radius);font-family:var(--mrd-font-family);font-size:var(--mrd-font-size-sm);font-weight:var(--mrd-font-weight-medium);color:var(--mrd-color-neutral-700);cursor:pointer}.mrd-email-view__attachment.sc-mrd-email-view:hover{background:var(--mrd-color-neutral-100);color:var(--mrd-color-neutral-900)}.mrd-email-view__attachment-icon.sc-mrd-email-view{width:0.9375rem;height:0.9375rem;flex-shrink:0}.mrd-email-view__headers.sc-mrd-email-view{font-size:var(--mrd-font-size-xs);color:var(--mrd-color-neutral-400)}.mrd-email-view__headers.sc-mrd-email-view summary.sc-mrd-email-view{cursor:pointer;font-weight:var(--mrd-font-weight-medium)}.mrd-email-view__headers-body.sc-mrd-email-view{margin:var(--mrd-space-2) 0 0 0;padding:var(--mrd-space-3);background:var(--mrd-color-neutral-50);border-radius:var(--mrd-border-radius);white-space:pre-wrap;word-break:break-word}"}},[2,"mrd-email-view",{archetype:[16],data:[16],locale:[1]},void 0,{data:[{dataChanged:0}]}]);function v(){"undefined"!=typeof customElements&&["mrd-email-view"].forEach((e=>{"mrd-email-view"===e&&(customElements.get(d(e))||customElements.define(d(e),c))}))}export{c as M,v as d}
@@ -1 +1 @@
1
- import{proxyCustomElement as i,HTMLElement as e,createEvent as r,h as n,Host as t,transformTag as o}from"@stencil/core/internal/client";import{t as a}from"./i18n.js";import{b as d,f as l}from"./format.js";import{a as s,b as c}from"./document-attachments.js";const v=i(class extends e{constructor(i){super(),!1!==i&&this.__registerHost(),this.mrdNavigate=r(this,"mrdNavigate",7),this.mrdDownload=r(this,"mrdDownload",7),this.mrdAttachments=r(this,"mrdAttachments",7),this.data={},this.locale=navigator.language,this.statusListItems=null,this.lastAttachmentKey=null}componentDidLoad(){this.emitAttachmentsIfNeeded()}dataChanged(){this.emitAttachmentsIfNeeded()}emitAttachmentsIfNeeded(){const i=s(this.archetype,this.data,"attachments"),e=c(i);e!==this.lastAttachmentKey&&(this.lastAttachmentKey=e,this.mrdAttachments.emit({attachments:i}))}slotValue(i){var e,r;const n=null===(r=null===(e=this.archetype)||void 0===e?void 0:e.slots)||void 0===r?void 0:r[i];if(n)return this.data[n]}slotLink(i){var e,r,n,t;const o=null===(r=null===(e=this.archetype)||void 0===e?void 0:e.slots)||void 0===r?void 0:r[i];if(o)return(null!==(t=null===(n=this.data)||void 0===n?void 0:n._links)&&void 0!==t?t:{})[o]}renderPartyLink(i,e){const r=this.slotLink(i);return(null==r?void 0:r.href)&&r.name?n("div",{class:"mrd-invoice-view__party"},n("span",{class:"mrd-invoice-view__party-label"},e),n("button",{type:"button",class:"mrd-invoice-view__link",onClick:()=>this.mrdNavigate.emit({href:r.href,label:r.name})},r.name)):null}renderContainer(){const i=this.slotLink("container");return(null==i?void 0:i.href)&&i.name?n("button",{type:"button",class:"mrd-invoice-view__container-link",onClick:()=>this.mrdNavigate.emit({href:i.href,label:i.name})},i.name):null}renderStatus(){var i,e;const r=this.slotValue("status");if(null==r||""===r)return null;const t=(null!==(i=this.statusListItems)&&void 0!==i?i:[]).find((i=>i.key===String(r))),o=null!==(e=null==t?void 0:t.label)&&void 0!==e?e:String(r);return n("span",(null==t?void 0:t.color)&&(null==t?void 0:t.backgroundColor)?{class:"mrd-invoice-view__badge",style:{color:t.color,backgroundColor:t.backgroundColor}}:{class:"mrd-invoice-view__badge mrd-invoice-view__badge--plain"},o)}renderAmounts(){const i=this.slotValue("netAmount"),e=this.slotValue("taxAmount"),r=this.slotValue("amount");return null==(null==i?void 0:i.amount)&&null==(null==e?void 0:e.amount)&&null==(null==r?void 0:r.amount)?null:n("div",{class:"mrd-invoice-view__amounts"},null!=(null==i?void 0:i.amount)&&n("div",{class:"mrd-invoice-view__amount-row"},n("span",null,a("invoice_subtotal",this.locale)),n("span",null,d(i.amount,i.currency,this.locale))),null!=(null==e?void 0:e.amount)&&n("div",{class:"mrd-invoice-view__amount-row"},n("span",null,a("invoice_tax",this.locale)),n("span",null,d(e.amount,e.currency,this.locale))),null!=(null==r?void 0:r.amount)&&n("div",{class:"mrd-invoice-view__amount-row mrd-invoice-view__amount-row--total"},n("span",null,a("invoice_total",this.locale)),n("span",null,d(r.amount,r.currency,this.locale))))}renderAttachments(){const i=s(this.archetype,this.data,"attachments");return i.length?n("div",{class:"mrd-invoice-view__attachments"},i.map((i=>n("button",{type:"button",key:i.href,class:"mrd-invoice-view__attachment",onClick:()=>this.mrdDownload.emit({href:i.href,fileName:i.fileName})},n("svg",{class:"mrd-invoice-view__attachment-icon",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},n("path",{d:"M21.44 11.05l-9.19 9.19a5 5 0 01-7.07-7.07l9.19-9.19a3 3 0 014.24 4.24l-9.2 9.19a1 1 0 01-1.41-1.41l8.49-8.48"})),i.fileName)))):null}render(){var i,e;const r=this.slotValue("invoiceNumber"),o=null!=r&&""!==r?String(r):null,d=this.slotValue("invoiceDate"),s=this.slotValue("dueDate"),c=!!(null===(e=null===(i=this.archetype)||void 0===i?void 0:i.slots)||void 0===e?void 0:e.lines);return n(t,{key:"a97c51e53e39ace913c902ad2ba6813eb85e4561"},n("div",{key:"6938267848bceed5b28b56c3cdd6d6693e57cdbf",class:"mrd-invoice-view"},n("div",{key:"7a0b3346232abfc1e35805e4e92c19d35698f881",class:"mrd-invoice-view__header"},n("div",{key:"5c0471dd8ebd94dd9b374897268c7c03bec66ec7",class:"mrd-invoice-view__title-row"},o&&n("h1",{key:"86b4c0ebd0a5b83ae03b731b7e41394645aae954",class:"mrd-invoice-view__title"},a("invoice_title",this.locale)," ",o),this.renderStatus()),n("div",{key:"d209bc34d989146b5f510f2bcdc4c484d723378c",class:"mrd-invoice-view__dates"},null!=d&&""!==d&&n("span",{key:"8fffcd1ab10e511c9d939c351ea93e4d8a902688"},a("invoice_date",this.locale),": ",l(d,this.locale)),null!=s&&""!==s&&n("span",{key:"8d13c6660798108cc2f54137c8415173326d5bf2"},a("invoice_due_date",this.locale),": ",l(s,this.locale))),this.renderContainer()),n("div",{key:"cb08c6fd7e6b46a46a69f11aafa960ab5cb35544",class:"mrd-invoice-view__parties"},this.renderPartyLink("customer",a("invoice_customer",this.locale)),this.renderPartyLink("supplier",a("invoice_supplier",this.locale))),c&&n("div",{key:"8321e74171fe933a4e10fc202b66cd3720ba959e",class:"mrd-invoice-view__lines"},n("slot",{key:"eb31d97080173413e74e5b0024984a4b06aa5bdd",name:"lines"})),this.renderAmounts(),this.renderAttachments()))}static get watchers(){return{data:[{dataChanged:0}]}}static get style(){return".sc-mrd-invoice-view-h{display:block}.mrd-invoice-view.sc-mrd-invoice-view{max-width:720px;display:flex;flex-direction:column;gap:var(--mrd-space-6)}.mrd-invoice-view__title-row.sc-mrd-invoice-view{display:flex;align-items:center;gap:var(--mrd-space-3);flex-wrap:wrap}.mrd-invoice-view__title.sc-mrd-invoice-view{font-size:var(--mrd-font-size-2xl);font-weight:var(--mrd-font-weight-bold);color:var(--mrd-color-neutral-900);letter-spacing:-0.02em;margin:0}.mrd-invoice-view__badge.sc-mrd-invoice-view{display:inline-block;font-size:var(--mrd-font-size-xs);font-weight:var(--mrd-font-weight-medium);padding:2px var(--mrd-space-3);border-radius:var(--mrd-border-radius-full)}.mrd-invoice-view__badge--plain.sc-mrd-invoice-view{color:var(--mrd-color-neutral-600);background:var(--mrd-color-neutral-100)}.mrd-invoice-view__dates.sc-mrd-invoice-view{display:flex;gap:var(--mrd-space-4);font-size:var(--mrd-font-size-sm);color:var(--mrd-color-neutral-400);font-variant-numeric:tabular-nums;margin-top:var(--mrd-space-1)}.mrd-invoice-view__container-link.sc-mrd-invoice-view{display:inline-block;margin-top:var(--mrd-space-3);background:none;border:none;padding:0;font-family:var(--mrd-font-family);font-size:var(--mrd-font-size-sm);font-weight:var(--mrd-font-weight-semibold);color:var(--mrd-color-primary);cursor:pointer;text-align:left}.mrd-invoice-view__container-link.sc-mrd-invoice-view:hover{text-decoration:underline}.mrd-invoice-view__parties.sc-mrd-invoice-view{display:flex;gap:var(--mrd-space-8);flex-wrap:wrap}.mrd-invoice-view__party.sc-mrd-invoice-view{display:flex;flex-direction:column;gap:var(--mrd-space-1)}.mrd-invoice-view__party-label.sc-mrd-invoice-view{font-size:var(--mrd-font-size-xs);font-weight:var(--mrd-font-weight-medium);color:var(--mrd-color-neutral-400);text-transform:uppercase;letter-spacing:0.04em}.mrd-invoice-view__link.sc-mrd-invoice-view{background:none;border:none;padding:0;font-family:var(--mrd-font-family);font-size:var(--mrd-font-size-sm);font-weight:var(--mrd-font-weight-semibold);color:var(--mrd-color-primary);cursor:pointer;text-align:left}.mrd-invoice-view__link.sc-mrd-invoice-view:hover{text-decoration:underline}.mrd-invoice-view__lines.sc-mrd-invoice-view{border-top:var(--mrd-border-width) solid var(--mrd-color-neutral-200);border-bottom:var(--mrd-border-width) solid var(--mrd-color-neutral-200);padding:var(--mrd-space-4) 0}.mrd-invoice-view__amounts.sc-mrd-invoice-view{align-self:flex-end;display:flex;flex-direction:column;gap:var(--mrd-space-2);min-width:16rem}.mrd-invoice-view__amount-row.sc-mrd-invoice-view{display:flex;justify-content:space-between;gap:var(--mrd-space-6);font-size:var(--mrd-font-size-sm);color:var(--mrd-color-neutral-700)}.mrd-invoice-view__amount-row--total.sc-mrd-invoice-view{padding-top:var(--mrd-space-2);border-top:var(--mrd-border-width) solid var(--mrd-color-neutral-200);font-size:var(--mrd-font-size-base);font-weight:var(--mrd-font-weight-bold);color:var(--mrd-color-neutral-900)}.mrd-invoice-view__attachments.sc-mrd-invoice-view{display:flex;flex-direction:column;gap:var(--mrd-space-2)}.mrd-invoice-view__attachment.sc-mrd-invoice-view{display:inline-flex;align-items:center;gap:var(--mrd-space-2);align-self:flex-start;height:2rem;padding:0 var(--mrd-space-3);background:var(--mrd-color-white);border:1px solid var(--mrd-color-neutral-300);border-radius:var(--mrd-border-radius);font-family:var(--mrd-font-family);font-size:var(--mrd-font-size-sm);font-weight:var(--mrd-font-weight-medium);color:var(--mrd-color-neutral-700);cursor:pointer}.mrd-invoice-view__attachment.sc-mrd-invoice-view:hover{background:var(--mrd-color-neutral-100);color:var(--mrd-color-neutral-900)}.mrd-invoice-view__attachment-icon.sc-mrd-invoice-view{width:0.9375rem;height:0.9375rem;flex-shrink:0}"}},[262,"mrd-invoice-view",{archetype:[16],data:[16],locale:[1],statusListItems:[16]},void 0,{data:[{dataChanged:0}]}]);function m(){"undefined"!=typeof customElements&&["mrd-invoice-view"].forEach((i=>{"mrd-invoice-view"===i&&(customElements.get(o(i))||customElements.define(o(i),v))}))}export{v as M,m as d}
1
+ import{proxyCustomElement as i,HTMLElement as e,createEvent as r,h as n,Host as t,transformTag as o}from"@stencil/core/internal/client";import{t as a}from"./i18n.js";import{c as d,a as l}from"./format.js";import{a as s,b as c}from"./document-attachments.js";const v=i(class extends e{constructor(i){super(),!1!==i&&this.__registerHost(),this.mrdNavigate=r(this,"mrdNavigate",7),this.mrdDownload=r(this,"mrdDownload",7),this.mrdAttachments=r(this,"mrdAttachments",7),this.data={},this.locale=navigator.language,this.statusListItems=null,this.lastAttachmentKey=null}componentDidLoad(){this.emitAttachmentsIfNeeded()}dataChanged(){this.emitAttachmentsIfNeeded()}emitAttachmentsIfNeeded(){const i=s(this.archetype,this.data,"attachments"),e=c(i);e!==this.lastAttachmentKey&&(this.lastAttachmentKey=e,this.mrdAttachments.emit({attachments:i}))}slotValue(i){var e,r;const n=null===(r=null===(e=this.archetype)||void 0===e?void 0:e.slots)||void 0===r?void 0:r[i];if(n)return this.data[n]}slotLink(i){var e,r,n,t;const o=null===(r=null===(e=this.archetype)||void 0===e?void 0:e.slots)||void 0===r?void 0:r[i];if(o)return(null!==(t=null===(n=this.data)||void 0===n?void 0:n._links)&&void 0!==t?t:{})[o]}renderPartyLink(i,e){const r=this.slotLink(i);return(null==r?void 0:r.href)&&r.name?n("div",{class:"mrd-invoice-view__party"},n("span",{class:"mrd-invoice-view__party-label"},e),n("button",{type:"button",class:"mrd-invoice-view__link",onClick:()=>this.mrdNavigate.emit({href:r.href,label:r.name})},r.name)):null}renderContainer(){const i=this.slotLink("container");return(null==i?void 0:i.href)&&i.name?n("button",{type:"button",class:"mrd-invoice-view__container-link",onClick:()=>this.mrdNavigate.emit({href:i.href,label:i.name})},i.name):null}renderStatus(){var i,e;const r=this.slotValue("status");if(null==r||""===r)return null;const t=(null!==(i=this.statusListItems)&&void 0!==i?i:[]).find((i=>i.key===String(r))),o=null!==(e=null==t?void 0:t.label)&&void 0!==e?e:String(r);return n("span",(null==t?void 0:t.color)&&(null==t?void 0:t.backgroundColor)?{class:"mrd-invoice-view__badge",style:{color:t.color,backgroundColor:t.backgroundColor}}:{class:"mrd-invoice-view__badge mrd-invoice-view__badge--plain"},o)}renderAmounts(){const i=this.slotValue("netAmount"),e=this.slotValue("taxAmount"),r=this.slotValue("amount");return null==(null==i?void 0:i.amount)&&null==(null==e?void 0:e.amount)&&null==(null==r?void 0:r.amount)?null:n("div",{class:"mrd-invoice-view__amounts"},null!=(null==i?void 0:i.amount)&&n("div",{class:"mrd-invoice-view__amount-row"},n("span",null,a("invoice_subtotal",this.locale)),n("span",null,d(i.amount,i.currency,this.locale))),null!=(null==e?void 0:e.amount)&&n("div",{class:"mrd-invoice-view__amount-row"},n("span",null,a("invoice_tax",this.locale)),n("span",null,d(e.amount,e.currency,this.locale))),null!=(null==r?void 0:r.amount)&&n("div",{class:"mrd-invoice-view__amount-row mrd-invoice-view__amount-row--total"},n("span",null,a("invoice_total",this.locale)),n("span",null,d(r.amount,r.currency,this.locale))))}renderAttachments(){const i=s(this.archetype,this.data,"attachments");return i.length?n("div",{class:"mrd-invoice-view__attachments"},i.map((i=>n("button",{type:"button",key:i.href,class:"mrd-invoice-view__attachment",onClick:()=>this.mrdDownload.emit({href:i.href,fileName:i.fileName})},n("svg",{class:"mrd-invoice-view__attachment-icon",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},n("path",{d:"M21.44 11.05l-9.19 9.19a5 5 0 01-7.07-7.07l9.19-9.19a3 3 0 014.24 4.24l-9.2 9.19a1 1 0 01-1.41-1.41l8.49-8.48"})),i.fileName)))):null}render(){var i,e;const r=this.slotValue("invoiceNumber"),o=null!=r&&""!==r?String(r):null,d=this.slotValue("invoiceDate"),s=this.slotValue("dueDate"),c=!!(null===(e=null===(i=this.archetype)||void 0===i?void 0:i.slots)||void 0===e?void 0:e.lines);return n(t,{key:"a97c51e53e39ace913c902ad2ba6813eb85e4561"},n("div",{key:"6938267848bceed5b28b56c3cdd6d6693e57cdbf",class:"mrd-invoice-view"},n("div",{key:"7a0b3346232abfc1e35805e4e92c19d35698f881",class:"mrd-invoice-view__header"},n("div",{key:"5c0471dd8ebd94dd9b374897268c7c03bec66ec7",class:"mrd-invoice-view__title-row"},o&&n("h1",{key:"86b4c0ebd0a5b83ae03b731b7e41394645aae954",class:"mrd-invoice-view__title"},a("invoice_title",this.locale)," ",o),this.renderStatus()),n("div",{key:"d209bc34d989146b5f510f2bcdc4c484d723378c",class:"mrd-invoice-view__dates"},null!=d&&""!==d&&n("span",{key:"8fffcd1ab10e511c9d939c351ea93e4d8a902688"},a("invoice_date",this.locale),": ",l(d,this.locale)),null!=s&&""!==s&&n("span",{key:"8d13c6660798108cc2f54137c8415173326d5bf2"},a("invoice_due_date",this.locale),": ",l(s,this.locale))),this.renderContainer()),n("div",{key:"cb08c6fd7e6b46a46a69f11aafa960ab5cb35544",class:"mrd-invoice-view__parties"},this.renderPartyLink("customer",a("invoice_customer",this.locale)),this.renderPartyLink("supplier",a("invoice_supplier",this.locale))),c&&n("div",{key:"8321e74171fe933a4e10fc202b66cd3720ba959e",class:"mrd-invoice-view__lines"},n("slot",{key:"eb31d97080173413e74e5b0024984a4b06aa5bdd",name:"lines"})),this.renderAmounts(),this.renderAttachments()))}static get watchers(){return{data:[{dataChanged:0}]}}static get style(){return".sc-mrd-invoice-view-h{display:block}.mrd-invoice-view.sc-mrd-invoice-view{max-width:720px;display:flex;flex-direction:column;gap:var(--mrd-space-6)}.mrd-invoice-view__title-row.sc-mrd-invoice-view{display:flex;align-items:center;gap:var(--mrd-space-3);flex-wrap:wrap}.mrd-invoice-view__title.sc-mrd-invoice-view{font-size:var(--mrd-font-size-2xl);font-weight:var(--mrd-font-weight-bold);color:var(--mrd-color-neutral-900);letter-spacing:-0.02em;margin:0}.mrd-invoice-view__badge.sc-mrd-invoice-view{display:inline-block;font-size:var(--mrd-font-size-xs);font-weight:var(--mrd-font-weight-medium);padding:2px var(--mrd-space-3);border-radius:var(--mrd-border-radius-full)}.mrd-invoice-view__badge--plain.sc-mrd-invoice-view{color:var(--mrd-color-neutral-600);background:var(--mrd-color-neutral-100)}.mrd-invoice-view__dates.sc-mrd-invoice-view{display:flex;gap:var(--mrd-space-4);font-size:var(--mrd-font-size-sm);color:var(--mrd-color-neutral-400);font-variant-numeric:tabular-nums;margin-top:var(--mrd-space-1)}.mrd-invoice-view__container-link.sc-mrd-invoice-view{display:inline-block;margin-top:var(--mrd-space-3);background:none;border:none;padding:0;font-family:var(--mrd-font-family);font-size:var(--mrd-font-size-sm);font-weight:var(--mrd-font-weight-semibold);color:var(--mrd-color-primary);cursor:pointer;text-align:left}.mrd-invoice-view__container-link.sc-mrd-invoice-view:hover{text-decoration:underline}.mrd-invoice-view__parties.sc-mrd-invoice-view{display:flex;gap:var(--mrd-space-8);flex-wrap:wrap}.mrd-invoice-view__party.sc-mrd-invoice-view{display:flex;flex-direction:column;gap:var(--mrd-space-1)}.mrd-invoice-view__party-label.sc-mrd-invoice-view{font-size:var(--mrd-font-size-xs);font-weight:var(--mrd-font-weight-medium);color:var(--mrd-color-neutral-400);text-transform:uppercase;letter-spacing:0.04em}.mrd-invoice-view__link.sc-mrd-invoice-view{background:none;border:none;padding:0;font-family:var(--mrd-font-family);font-size:var(--mrd-font-size-sm);font-weight:var(--mrd-font-weight-semibold);color:var(--mrd-color-primary);cursor:pointer;text-align:left}.mrd-invoice-view__link.sc-mrd-invoice-view:hover{text-decoration:underline}.mrd-invoice-view__lines.sc-mrd-invoice-view{border-top:var(--mrd-border-width) solid var(--mrd-color-neutral-200);border-bottom:var(--mrd-border-width) solid var(--mrd-color-neutral-200);padding:var(--mrd-space-4) 0}.mrd-invoice-view__amounts.sc-mrd-invoice-view{align-self:flex-end;display:flex;flex-direction:column;gap:var(--mrd-space-2);min-width:16rem}.mrd-invoice-view__amount-row.sc-mrd-invoice-view{display:flex;justify-content:space-between;gap:var(--mrd-space-6);font-size:var(--mrd-font-size-sm);color:var(--mrd-color-neutral-700)}.mrd-invoice-view__amount-row--total.sc-mrd-invoice-view{padding-top:var(--mrd-space-2);border-top:var(--mrd-border-width) solid var(--mrd-color-neutral-200);font-size:var(--mrd-font-size-base);font-weight:var(--mrd-font-weight-bold);color:var(--mrd-color-neutral-900)}.mrd-invoice-view__attachments.sc-mrd-invoice-view{display:flex;flex-direction:column;gap:var(--mrd-space-2)}.mrd-invoice-view__attachment.sc-mrd-invoice-view{display:inline-flex;align-items:center;gap:var(--mrd-space-2);align-self:flex-start;height:2rem;padding:0 var(--mrd-space-3);background:var(--mrd-color-white);border:1px solid var(--mrd-color-neutral-300);border-radius:var(--mrd-border-radius);font-family:var(--mrd-font-family);font-size:var(--mrd-font-size-sm);font-weight:var(--mrd-font-weight-medium);color:var(--mrd-color-neutral-700);cursor:pointer}.mrd-invoice-view__attachment.sc-mrd-invoice-view:hover{background:var(--mrd-color-neutral-100);color:var(--mrd-color-neutral-900)}.mrd-invoice-view__attachment-icon.sc-mrd-invoice-view{width:0.9375rem;height:0.9375rem;flex-shrink:0}"}},[262,"mrd-invoice-view",{archetype:[16],data:[16],locale:[1],statusListItems:[16]},void 0,{data:[{dataChanged:0}]}]);function m(){"undefined"!=typeof customElements&&["mrd-invoice-view"].forEach((i=>{"mrd-invoice-view"===i&&(customElements.get(o(i))||customElements.define(o(i),v))}))}export{v as M,m as d}
@@ -1 +1 @@
1
- import{h as t,proxyCustomElement as r,HTMLElement as o,createEvent as e,Host as i,transformTag as a}from"@stencil/core/internal/client";import{a as s,b as n,r as l,A as d,e as c,h as m,f as u,g as v}from"./client-layout.js";import{t as h}from"./i18n.js";import{C as y}from"./cell-renderer.js";import{f as p}from"./format.js";import{d as f}from"./mrd-document-container2.js";import{d as _}from"./mrd-document-list2.js";import{d as g}from"./mrd-document-view2.js";import{d as b}from"./mrd-email-view2.js";import{d as w}from"./mrd-invoice-view2.js";import{d as x}from"./mrd-table2.js";function k(t){var r,o,e,i,a;return null!==(a=null!==(e=null!==(r=t.showEmpty)&&void 0!==r?r:null===(o=t.field)||void 0===o?void 0:o.showEmpty)&&void 0!==e?e:null===(i=t.relation)||void 0===i?void 0:i.showEmpty)&&void 0!==a&&a}function z(t){const r=[];for(const o of t)r.push(o),o.items&&r.push(...z(o.items));return r}function j(r,o,e,i){return t("button",{class:"mrd-layout-section__download-link",onClick:()=>o&&r.on.download({href:o,fileName:e})},t("svg",{class:"mrd-layout-section__file-icon",viewBox:"0 0 24 24","aria-hidden":"true"},t("path",{fill:"currentColor",d:"M14 2H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V8l-6-6zm-1 7V3.5L18.5 9H13zm-3 8l-3-3 1.41-1.41L10 14.17l4.59-4.58L16 11l-6 6z"})),i)}function C(r,o,e){var i,a,s,l,d,c,m,u,v,p,f;const _=o.dataType;switch(_){case n.HYPERLINK:{const r=null!==(i=null==e?void 0:e.href)&&void 0!==i?i:e+"",o=null!==(l=null!==(s=null!==(a=null==e?void 0:e.name)&&void 0!==a?a:null==e?void 0:e.text)&&void 0!==s?s:null==e?void 0:e.label)&&void 0!==l?l:r;return t("a",{class:"mrd-layout-section__link",href:r,target:"_blank",rel:"noopener noreferrer"},o)}case n.TEXTBLOCK:return t("div",{class:"mrd-layout-section__prose",innerHTML:e+""});case n.LONGTEXT:return t("pre",{class:"mrd-layout-section__pre"},e+"");case n.JSON:return t("pre",{class:"mrd-layout-section__pre",innerHTML:y.formatJson(e)});case n.FILE:{const t=null!==(d=null==e?void 0:e.fileName)&&void 0!==d?d:e+"",o=null!==(c=null==e?void 0:e.href)&&void 0!==c?c:"";return j(r,o,t,t||h("download",r.locale))}case n.IMAGE:{const i=null!==(m=null==e?void 0:e.href)&&void 0!==m?m:"",a=null!==(u=null==e?void 0:e.fileName)&&void 0!==u?u:"",s=r.imagePreviews[o.name];return s?t("button",{class:"mrd-layout-section__image-thumb-btn",onClick:()=>r.on.openImage(s),title:a||void 0},t("img",{class:"mrd-layout-section__image-thumb",src:s,alt:a})):j(r,i,a,a||i)}case n.BOOLEAN:return t("span",{class:"mrd-layout-section__boolean mrd-layout-section__boolean--"+(e?"true":"false")},h(e?"yes":"no",r.locale));case n.LIST:{const r=(null!==(v=o.listItems)&&void 0!==v?v:[]).find((t=>t.key===e+"")),i=null!==(p=null==r?void 0:r.label)&&void 0!==p?p:e+"",a=null==r?void 0:r.color,s=null==r?void 0:r.backgroundColor;return a&&s?t("span",{class:"mrd-layout-section__badge",style:{color:a,backgroundColor:s}},i):a?t("span",{class:"mrd-layout-section__badge-dot-row"},t("span",{class:"mrd-layout-section__badge-dot",style:{backgroundColor:a}}),i):i}case n.SECRET:return e?t("span",{class:"mrd-layout-section__secret-masked"},"••••••••"):null;default:return y.renderValue(_,e,null!==(f=o.listItems)&&void 0!==f?f:[],r.locale)||null}}const M=r(class extends o{constructor(t){super(),!1!==t&&this.__registerHost(),this.mrdNavigate=e(this,"mrdNavigate",7),this.mrdSearch=e(this,"mrdSearch",7),this.mrdDownload=e(this,"mrdDownload",7),this.mrdLoadViewPage=e(this,"mrdLoadViewPage",7),this.mrdLoadImage=e(this,"mrdLoadImage",7),this.mrdAttachments=e(this,"mrdAttachments",7),this.mrdViewAction=e(this,"mrdViewAction",7),this.mrdLoadViewAggregations=e(this,"mrdLoadViewAggregations",7),this.mrdLoadViewDistinct=e(this,"mrdLoadViewDistinct",7),this.mrdUpdateObject=e(this,"mrdUpdateObject",7),this.mrdViewUpload=e(this,"mrdViewUpload",7),this.mrdCreateObject=e(this,"mrdCreateObject",7),this.items=[],this.data={},this.views={},this.links={},this.locale=navigator.language,this.archetypes=[],this.searchQueryMap={},this.searchResultsMap={},this.imagePreviewUrl=null,this.imagePreviews={},this.openHistoryField=null,this.historyClickOutside=null,this.searchTimers={},this.handleViewLoadPage=(t,r)=>{t.stopPropagation(),this.mrdLoadViewPage.emit({name:r,page:t.detail.page,sort:t.detail.sort,path:t.detail.path,qs:t.detail.qs})},this.handleSearchInput=(t,r)=>{this.searchQueryMap=Object.assign(Object.assign({},this.searchQueryMap),{[t]:r}),this.searchTimers[t]&&clearTimeout(this.searchTimers[t]),r.length<2?this.searchResultsMap=Object.assign(Object.assign({},this.searchResultsMap),{[t]:[]}):this.searchTimers[t]=setTimeout((()=>{this.mrdSearch.emit({query:r,dataClass:t})}),300)}}componentDidLoad(){setTimeout((()=>{this.initEmbeddedTables(),this.emitLoadImages()}),0),this.historyClickOutside=t=>{this.el.contains(t.target)||(this.openHistoryField=null)},document.addEventListener("mousedown",this.historyClickOutside)}disconnectedCallback(){this.historyClickOutside&&(document.removeEventListener("mousedown",this.historyClickOutside),this.historyClickOutside=null)}dataChanged(t){t&&Object.keys(t).length>0&&setTimeout((()=>this.initEmbeddedTables()),0)}async initEmbeddedTables(){const t=this.el.querySelectorAll("mrd-table[data-view]");for(const r of Array.from(t))"function"==typeof r.init&&await r.init()}emitLoadImages(){for(const t of z(this.items))if(t.type===s.FIELD&&t.dataType===n.IMAGE){const r=t.name,o=this.data[r],e=null==o?void 0:o.href;e&&this.mrdLoadImage.emit({fieldName:r,href:e})}}async setSearchResults(t,r){const o=null!=r?r:this.resolveSearchKey();o&&(this.searchResultsMap=Object.assign(Object.assign({},this.searchResultsMap),{[o]:t}))}async setViewPage(t,r,o,e,i,a){if(a){const r=this.el.querySelector(`mrd-document-list[data-doclist="${t}"]`);return void((null==r?void 0:r.setDocuments)&&await r.setDocuments(a,o))}const s=this.el.querySelector(`mrd-table[data-view="${t}"]`);s&&(void 0!==e&&(s.totalElements=e),await s.setPage(r,o,i))}async setViewAggregations(t,r){const o=this.el.querySelector(`mrd-table[data-view="${t}"]`);o&&await o.setAggregations(r)}async setViewDistinct(t,r,o){const e=this.el.querySelector(`mrd-document-list[data-doclist="${t}"]`);(null==e?void 0:e.setDistinct)&&await e.setDistinct(r,o)}async setViewFileReference(t,r){const o=this.el.querySelector(`mrd-document-list[data-doclist="${t}"]`);(null==o?void 0:o.setFileReference)&&await o.setFileReference(r)}async setViewCreatedObject(t,r){const o=this.el.querySelector(`mrd-document-list[data-doclist="${t}"]`);(null==o?void 0:o.setCreatedHref)&&await o.setCreatedHref(r)}async setImagePreview(t,r){this.imagePreviews=Object.assign(Object.assign({},this.imagePreviews),{[t]:r})}async openImagePreview(t){this.imagePreviewUrl=t}resolveSearchKey(){var t;const r=z(this.items).filter((t=>t.type===s.SEARCH));return 1===r.length&&null!==(t=r[0].dataClass)&&void 0!==t?t:null}fieldCtx(){return{locale:this.locale,data:this.data,imagePreviews:this.imagePreviews,openHistoryField:this.openHistoryField,on:{download:t=>this.mrdDownload.emit(t),openImage:t=>{this.imagePreviewUrl=t},toggleHistory:t=>{this.openHistoryField=t}}}}renderField(r){return function(r,o){var e,i;if(!o.name)return null;const a=r.data[o.name],s=(null!==(e=o.historyEnabled)&&void 0!==e?e:null===(i=o.field)||void 0===i?void 0:i.historyEnabled)&&null!==a&&"object"==typeof a&&"current"in a?a.current:a,l=function(r,o,e){if(null==e||""===e)return null;if(o.multiple&&Array.isArray(e)){if(o.dataType===n.FILE||o.dataType===n.IMAGE)return t("div",{class:"mrd-layout-section__file-list"},e.map(((e,i)=>t("div",{class:"mrd-layout-section__file-list-item",key:i+""},C(r,o,e)))));const i=e.map((t=>C(r,o,t)));return i.every((t=>"string"==typeof t||null==t))?i.filter(Boolean).join(", ")||null:t("span",null,i.map(((r,o)=>t("span",{key:o+""},r,o<i.length-1?", ":""))))}return C(r,o,e)}(r,o,s);if(o.header)return t("h1",{class:"mrd-layout-section__field-header",key:o.name},"string"==typeof l?l:null!=s?s+"":o.label);const d=null==l;return d&&!k(o)?null:t("div",{class:`mrd-layout-section__field${o.dataType===n.TEXTBLOCK||o.dataType===n.LONGTEXT||o.dataType===n.JSON?" mrd-layout-section__field--block":""}${d?" mrd-layout-section__field--empty":""}`,key:o.name},t("span",{class:"mrd-layout-section__field-label"},o.label),t("span",{class:"mrd-layout-section__field-value"},d?h("value_empty",r.locale):l,function(r,o,e){var i,a,s;if(!(null!==(i=o.historyEnabled)&&void 0!==i?i:null===(a=o.field)||void 0===a?void 0:a.historyEnabled)||!o.name)return null;const n=null!==(s=null==e?void 0:e.history)&&void 0!==s?s:[];if(!n.length)return null;const l=[...n].sort(((t,r)=>r.until.localeCompare(t.until))),d=r.openHistoryField===o.name;return t("span",{class:"mrd-layout-section__history-wrap"},t("button",{type:"button",class:"mrd-layout-section__history-btn",title:h("history_badge_tooltip",r.locale),"aria-label":h("history_badge_tooltip",r.locale),onClick:t=>{t.stopPropagation(),r.on.toggleHistory(d?null:o.name)}},t("svg",{class:"mrd-layout-section__history-icon",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true"},t("path",{"fill-rule":"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zm.75-13a.75.75 0 00-1.5 0v5c0 .207.085.394.22.53l2.5 2.5a.75.75 0 101.06-1.06L10.75 9.69V5z","clip-rule":"evenodd"}))),d&&t("div",{class:"mrd-layout-section__history-popover",role:"listbox"},l.map(((o,e)=>t("div",{key:e+"",class:"mrd-layout-section__history-entry"},o.value," (",h("history_until",r.locale)," ",p(o.until,r.locale),")")))))}(r,o,a)))}(this.fieldCtx(),r)}renderRelation(r){var o,e,i;if(!r.name)return null;const a=(null!==(e=null===(o=this.data)||void 0===o?void 0:o._links)&&void 0!==e?e:{})[r.name],s=(r,o)=>t("button",{key:r,class:"mrd-layout-section__relation-link",onClick:()=>this.mrdNavigate.emit({href:r,label:o})},o);let n;(null===(i=null==a?void 0:a.values)||void 0===i?void 0:i.length)?n=a.values.map((t=>s(t.href,t.name))):(null==a?void 0:a.name)&&(n=s(a.href,a.name));const l=!n;return l&&!k(r)?null:t("div",{class:"mrd-layout-section__field"+(l?" mrd-layout-section__field--empty":""),key:r.name},t("span",{class:"mrd-layout-section__field-label"},r.label),t("span",{class:"mrd-layout-section__field-value"},l?h("value_empty",this.locale):n))}renderSearch(r){var o,e,i;if(!r.dataClass)return null;const a=r.dataClass,s=null!==(o=this.searchQueryMap[a])&&void 0!==o?o:"",n=null!==(e=this.searchResultsMap[a])&&void 0!==e?e:[];return t("div",{class:"mrd-layout-section__search",key:"search-"+a},t("div",{class:"mrd-layout-section__search-wrap"},t("svg",{class:"mrd-layout-section__search-icon",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true"},t("path",{"fill-rule":"evenodd",d:"M9 3.5a5.5 5.5 0 100 11 5.5 5.5 0 000-11zM2 9a7 7 0 1112.452 4.391l3.328 3.329a.75.75 0 11-1.06 1.06l-3.329-3.328A7 7 0 012 9z","clip-rule":"evenodd"})),t("input",{class:"mrd-layout-section__search-input",type:"text",value:s,placeholder:null!==(i=r.label)&&void 0!==i?i:"",onInput:t=>this.handleSearchInput(a,t.target.value)})),n.length>0&&t("ul",{class:"mrd-layout-section__search-results"},n.map((r=>t("li",{key:r.id,class:"mrd-layout-section__search-result"},t("button",{class:"mrd-layout-section__search-result-btn",onClick:()=>this.mrdNavigate.emit({href:r.id,label:r.label})},t("span",{class:"mrd-layout-section__search-result-label"},r.label),r.description&&t("span",{class:"mrd-layout-section__search-result-desc"},r.description)))))))}renderRelatedView(r){var o,e,i,a,n,c,m,u;const v=function(t){var r,o,e,i;return t.type===s.RELATED_VIEW?null!==(o=null!==(r=t.relatedClass)&&void 0!==r?r:t.name)&&void 0!==o?o:"":null!==(i=null!==(e=t.dataClass)&&void 0!==e?e:t.name)&&void 0!==i?i:""}(r);if(!v)return null;if(!r.view)return null;const h=null!==(o=r.showTitle)&&void 0!==o&&o,y=null!==(n=null===(a=null===(i=null===(e=this.data)||void 0===e?void 0:e._links)||void 0===i?void 0:i.self)||void 0===a?void 0:a.href)&&void 0!==n?n:"",p=null!==(c=y.split("/").filter(Boolean).pop())&&void 0!==c?c:"",f=l(null!==(m=r.archetypes)&&void 0!==m?m:null===(u=r.view)||void 0===u?void 0:u.archetypes,d),_=function(t,r,o){if(t.type!==s.RELATED_VIEW||!t.fromClass||!o)return"";const e=r.split("/").filter(Boolean);if(e.length<2)return"";const[i,a]=e;return`/${i}/${a}/${t.fromClass}/${o}`}(r,y,p);return t("div",{class:"mrd-layout-section__related-view",key:"view-"+v},h&&r.label&&t("h3",{class:"mrd-layout-section__related-view-title"},r.label),f?this.renderDocumentContainer(r,v,p,f,_):this.renderTable(r,v,p))}renderDocumentContainer(r,o,e,i,a){return t("mrd-document-container",{item:r,archetype:i,parentId:e,containerHref:a,viewKey:o,locale:this.locale,onMrdLoadDistinct:t=>{t.stopPropagation(),this.mrdLoadViewDistinct.emit(Object.assign({name:o},t.detail))},onMrdLoadPage:t=>{t.stopPropagation(),this.mrdLoadViewPage.emit(Object.assign({name:o},t.detail))},onMrdLoadAggregations:t=>{var e;t.stopPropagation(),this.mrdLoadViewAggregations.emit(Object.assign({name:o,dataClass:null!==(e=r.dataClass)&&void 0!==e?e:o},t.detail))},onMrdNavigate:t=>{t.stopPropagation(),this.mrdNavigate.emit(t.detail)},onMrdAction:t=>{var e;t.stopPropagation(),this.mrdViewAction.emit(Object.assign({name:o,dataClass:null!==(e=r.dataClass)&&void 0!==e?e:o},t.detail))},onMrdUpdateObject:t=>{t.stopPropagation(),this.mrdUpdateObject.emit(t.detail)},onMrdUpload:t=>{t.stopPropagation(),this.mrdViewUpload.emit(Object.assign({name:o},t.detail))},onMrdCreateObject:t=>{t.stopPropagation(),this.mrdCreateObject.emit(Object.assign({name:o},t.detail))}})}renderTable(r,o,e){return t("mrd-table",{"data-view":o,item:r,parentId:e,locale:this.locale,onMrdLoadPage:t=>this.handleViewLoadPage(t,o),onMrdLoadAggregations:t=>{var e;t.stopPropagation(),this.mrdLoadViewAggregations.emit(Object.assign({name:o,dataClass:null!==(e=r.dataClass)&&void 0!==e?e:o},t.detail))},onMrdRowClick:t=>{var o,e,i,a;t.stopPropagation();const{row:s,listContext:n}=t.detail;this.mrdNavigate.emit({href:null===(e=null===(o=null==s?void 0:s._links)||void 0===o?void 0:o.self)||void 0===e?void 0:e.href,label:null!==(i=null==s?void 0:s.name)&&void 0!==i?i:"",navigateBehaviour:null!==(a=r.navigateBehaviour)&&void 0!==a?a:c.PAGE,listContext:n})},onMrdAction:t=>{var e;t.stopPropagation(),this.mrdViewAction.emit({name:o,action:t.detail.action,dataClass:null!==(e=r.dataClass)&&void 0!==e?e:o,path:t.detail.path,qs:t.detail.qs,parentPath:t.detail.parentPath,basicType:t.detail.basicType})}})}renderItem(r){var o,e;switch(r.type){case s.FIELD:return this.renderField(r);case s.RELATION:return this.renderRelation(r);case s.HEADER:return t("h2",{class:"mrd-layout-section__header",key:"header-"+r.label},r.label);case s.TEXT:return t("div",{class:"mrd-layout-section__text",key:"text-"+r.label,innerHTML:null!==(o=r.label)&&void 0!==o?o:""});case s.NAVIGATE:return t("button",{class:"mrd-layout-section__navigate",key:"nav-"+r.label,onClick:()=>{var t,o,e;return this.mrdNavigate.emit({label:null!==(t=r.label)&&void 0!==t?t:"",navigate:null!==(o=r.navigate)&&void 0!==o?o:{dataClass:null!==(e=r.dataClass)&&void 0!==e?e:"",icon:r.icon,navigationType:r.navigationType}})}},r.label);case s.SEARCH:return this.renderSearch(r);case s.SECTION:case s.GROUP:return t("div",{class:"mrd-layout-section__group",key:"group-"+r.label},r.label&&t("h3",{class:"mrd-layout-section__group-title"},r.label),(null!==(e=r.items)&&void 0!==e?e:[]).map((t=>this.renderItem(t))));case s.RELATED_VIEW:case s.VIEW:return this.renderRelatedView(r);default:return null}}renderImageModal(){return this.imagePreviewUrl?t("div",{class:"mrd-layout-section__modal-backdrop",onClick:()=>{this.imagePreviewUrl=null}},t("div",{class:"mrd-layout-section__modal",onClick:t=>t.stopPropagation()},t("button",{class:"mrd-layout-section__modal-close",onClick:()=>{this.imagePreviewUrl=null}},"✕"),t("img",{class:"mrd-layout-section__modal-image",src:this.imagePreviewUrl,alt:""}))):null}relatedItems(t){return this.items.filter((r=>r!==t&&(r.type===s.VIEW||r.type===s.RELATED_VIEW||r.type===s.SEARCH)))}renderDocumentObject(r){return[t("mrd-document-view",{archetype:r,data:this.data,locale:this.locale,onMrdNavigate:t=>{t.stopPropagation(),this.mrdNavigate.emit(t.detail)},onMrdDownload:t=>{t.stopPropagation(),this.mrdDownload.emit(t.detail)},onMrdAttachments:t=>{t.stopPropagation(),this.mrdAttachments.emit(t.detail)}}),...this.relatedItems().map((t=>this.renderItem(t)))]}renderInvoiceObject(r){var o,e,i;const a=null!==(o=this.items.find((t=>{var r,o;return(t.type===s.VIEW||t.type===s.RELATED_VIEW)&&!!l(null!==(r=t.archetypes)&&void 0!==r?r:null===(o=t.view)||void 0===o?void 0:o.archetypes,m)})))&&void 0!==o?o:null,n=null!==(i=null===(e=this.items.find((t=>{var o;return t.name===(null===(o=r.slots)||void 0===o?void 0:o.status)})))||void 0===e?void 0:e.listItems)&&void 0!==i?i:null;return[t("mrd-invoice-view",{archetype:r,data:this.data,locale:this.locale,statusListItems:n,onMrdNavigate:t=>{t.stopPropagation(),this.mrdNavigate.emit(t.detail)},onMrdDownload:t=>{t.stopPropagation(),this.mrdDownload.emit(t.detail)},onMrdAttachments:t=>{t.stopPropagation(),this.mrdAttachments.emit(t.detail)}},a&&t("div",{slot:"lines"},this.renderRelatedView(a))),...this.relatedItems(a).map((t=>this.renderItem(t)))]}renderEmailObject(r){return[t("mrd-email-view",{archetype:r,data:this.data,locale:this.locale,onMrdNavigate:t=>{t.stopPropagation(),this.mrdNavigate.emit(t.detail)},onMrdDownload:t=>{t.stopPropagation(),this.mrdDownload.emit(t.detail)},onMrdAttachments:t=>{t.stopPropagation(),this.mrdAttachments.emit(t.detail)}}),...this.relatedItems().map((t=>this.renderItem(t)))]}render(){const r=l(this.archetypes,d),o=r?void 0:l(this.archetypes,u),e=r||o?void 0:l(this.archetypes,v);return t(i,{key:"ccae8e82b4dd549ab24239fe685a6830a508061d"},t("div",{key:"4072cc4ecdd2b087c54a5515e653f7f713b2150f",class:"mrd-layout-section"},r&&this.renderDocumentObject(r),o&&this.renderInvoiceObject(o),e&&this.renderEmailObject(e),!r&&!o&&!e&&this.items.map((t=>this.renderItem(t)))),this.renderImageModal())}get el(){return this}static get watchers(){return{data:[{dataChanged:0}]}}static get style(){return".sc-mrd-layout-section-h{display:block;width:100%}.mrd-layout-section.sc-mrd-layout-section{font-family:var(--mrd-font-family);font-size:var(--mrd-font-size-base);color:var(--mrd-color-neutral-800)}.mrd-layout-section__field.sc-mrd-layout-section{display:grid;grid-template-columns:200px 1fr;align-items:baseline;gap:0 var(--mrd-space-2);padding:var(--mrd-space-1) 0}.mrd-layout-section__field--block.sc-mrd-layout-section{grid-template-columns:1fr}.mrd-layout-section__field-label.sc-mrd-layout-section{font-size:var(--mrd-font-size-xs);font-weight:var(--mrd-font-weight-normal);color:var(--mrd-color-neutral-500);padding-top:1px}.mrd-layout-section__field-value.sc-mrd-layout-section{font-size:var(--mrd-font-size-sm);font-weight:var(--mrd-font-weight-medium);color:var(--mrd-color-neutral-800);word-break:break-word;display:inline-flex;align-items:center;gap:var(--mrd-space-1)}.mrd-layout-section__field--empty.sc-mrd-layout-section .mrd-layout-section__field-value.sc-mrd-layout-section{color:var(--mrd-color-neutral-400);font-weight:var(--mrd-font-weight-normal)}.mrd-layout-section__history-wrap.sc-mrd-layout-section{position:relative;display:inline-flex;align-items:center}.mrd-layout-section__history-btn.sc-mrd-layout-section{display:inline-flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;padding:0;background:transparent;border:none;border-radius:var(--mrd-border-radius-sm);color:var(--mrd-color-neutral-400);cursor:pointer;flex-shrink:0;transition:color var(--mrd-transition-fast), background-color var(--mrd-transition-fast)}.mrd-layout-section__history-btn.sc-mrd-layout-section:hover{color:var(--mrd-color-neutral-700);background-color:var(--mrd-color-neutral-100)}.mrd-layout-section__history-btn.sc-mrd-layout-section:focus{outline:none;box-shadow:var(--mrd-shadow-focus)}.mrd-layout-section__history-icon.sc-mrd-layout-section{width:0.875rem;height:0.875rem}.mrd-layout-section__history-popover.sc-mrd-layout-section{position:absolute;top:calc(100% + 0.25rem);left:0;min-width:24rem;max-width:24rem;background-color:var(--mrd-color-white);border:var(--mrd-border-width) solid var(--mrd-border-color);border-radius:var(--mrd-border-radius-md);box-shadow:var(--mrd-shadow-md);padding:var(--mrd-space-1) 0;z-index:var(--mrd-z-dropdown)}.mrd-layout-section__history-entry.sc-mrd-layout-section{font-family:var(--mrd-font-family);font-size:var(--mrd-font-size-sm);font-weight:var(--mrd-font-weight-normal);color:var(--mrd-color-neutral-700);padding:var(--mrd-space-2) var(--mrd-space-3);line-height:var(--mrd-line-height-normal)}.mrd-layout-section__history-entry.sc-mrd-layout-section:not(:last-child){border-bottom:var(--mrd-border-width) solid var(--mrd-color-neutral-100)}.mrd-layout-section__field-header.sc-mrd-layout-section{font-size:var(--mrd-font-size-2xl);font-weight:var(--mrd-font-weight-bold);color:var(--mrd-color-neutral-900);margin:0 0 var(--mrd-space-4) 0;padding:0}.mrd-layout-section__header.sc-mrd-layout-section{font-size:var(--mrd-font-size-xl);font-weight:var(--mrd-font-weight-semibold);color:var(--mrd-color-neutral-800);margin:var(--mrd-space-4) 0 var(--mrd-space-2) 0;padding:0}.mrd-layout-section__text.sc-mrd-layout-section{font-size:var(--mrd-font-size-base);color:var(--mrd-color-neutral-700);line-height:var(--mrd-line-height-relaxed);margin:var(--mrd-space-2) 0}.mrd-layout-section__navigate.sc-mrd-layout-section{display:inline-flex;align-items:center;gap:var(--mrd-space-2);padding:var(--mrd-space-2) var(--mrd-space-3);background:none;border:1px solid var(--mrd-color-neutral-300);border-radius:var(--mrd-border-radius);font-family:var(--mrd-font-family);font-size:var(--mrd-font-size-sm);color:var(--mrd-color-primary);cursor:pointer;margin:var(--mrd-space-2) 0}.mrd-layout-section__navigate.sc-mrd-layout-section:hover{background-color:var(--mrd-color-primary-light);border-color:var(--mrd-color-primary)}.mrd-layout-section__link.sc-mrd-layout-section{color:var(--mrd-color-primary);text-decoration:none}.mrd-layout-section__link.sc-mrd-layout-section:hover{text-decoration:underline}.mrd-layout-section__relation-link.sc-mrd-layout-section{background:none;border:none;padding:0;font-family:var(--mrd-font-family);font-size:var(--mrd-font-size-sm);font-weight:var(--mrd-font-weight-semibold);color:var(--mrd-color-primary);cursor:pointer;text-align:left}.mrd-layout-section__relation-link.sc-mrd-layout-section:hover{text-decoration:underline}.mrd-layout-section__download-link.sc-mrd-layout-section{display:inline-flex;align-items:center;gap:var(--mrd-space-1);background:none;border:none;padding:0;font-family:var(--mrd-font-family);font-size:var(--mrd-font-size-sm);color:var(--mrd-color-primary);cursor:pointer;text-align:left}.mrd-layout-section__download-link.sc-mrd-layout-section:hover{text-decoration:underline;color:var(--mrd-color-primary-dark)}.mrd-layout-section__file-icon.sc-mrd-layout-section{flex-shrink:0;width:1rem;height:1rem}.mrd-layout-section__file-list.sc-mrd-layout-section{display:flex;flex-direction:column;align-items:flex-start;gap:var(--mrd-space-1)}.mrd-layout-section__file-list-item.sc-mrd-layout-section{min-width:0;max-width:100%}.mrd-layout-section__boolean--true.sc-mrd-layout-section{color:var(--mrd-color-success);font-weight:var(--mrd-font-weight-semibold)}.mrd-layout-section__boolean--false.sc-mrd-layout-section{color:var(--mrd-color-neutral-400)}.mrd-layout-section__badge.sc-mrd-layout-section{display:inline-block;font-size:var(--mrd-font-size-xs);font-weight:var(--mrd-font-weight-medium);padding:2px var(--mrd-space-3);border-radius:10px}.mrd-layout-section__badge-dot-row.sc-mrd-layout-section{display:inline-flex;align-items:center;gap:var(--mrd-space-2)}.mrd-layout-section__badge-dot.sc-mrd-layout-section{display:inline-block;width:10px;height:10px;border-radius:50%;flex-shrink:0}.mrd-layout-section__secret-masked.sc-mrd-layout-section{font-family:var(--mrd-font-family);font-size:var(--mrd-font-size-base);color:var(--mrd-label-color);letter-spacing:0.15em;user-select:none;pointer-events:none}.mrd-layout-section__pre.sc-mrd-layout-section{font-family:var(--mrd-font-family-mono);font-size:var(--mrd-font-size-xs);background-color:var(--mrd-color-neutral-50);border:1px solid var(--mrd-color-neutral-200);border-radius:var(--mrd-border-radius);padding:var(--mrd-space-3);margin:0;max-height:calc(15 * var(--mrd-font-size-xs));overflow-x:auto;overflow-y:auto;white-space:pre-wrap;word-break:break-word}.mrd-layout-section__group.sc-mrd-layout-section{margin:var(--mrd-space-4) 0}.mrd-layout-section__group-title.sc-mrd-layout-section{font-size:var(--mrd-font-size-xs);font-weight:var(--mrd-font-weight-semibold);color:var(--mrd-color-neutral-500);margin:0 0 var(--mrd-space-2) 0;padding-bottom:0;letter-spacing:0.01em}.mrd-layout-section__related-view.sc-mrd-layout-section{margin:var(--mrd-space-4) 0}.mrd-layout-section__related-view-title.sc-mrd-layout-section{font-size:var(--mrd-font-size-lg);font-weight:var(--mrd-font-weight-semibold);color:var(--mrd-color-neutral-800);margin:0 0 var(--mrd-space-3) 0}.mrd-layout-section__search.sc-mrd-layout-section{position:relative;margin:var(--mrd-space-2) 0}.mrd-layout-section__search-wrap.sc-mrd-layout-section{position:relative}.mrd-layout-section__search-icon.sc-mrd-layout-section{position:absolute;left:var(--mrd-input-padding-x);top:50%;transform:translateY(-50%);width:1rem;height:1rem;color:var(--mrd-color-neutral-400);pointer-events:none}.mrd-layout-section__search-input.sc-mrd-layout-section{display:block;width:100%;height:var(--mrd-input-height);padding:var(--mrd-input-padding-y) var(--mrd-input-padding-x) var(--mrd-input-padding-y) calc(var(--mrd-input-padding-x) + 1rem + var(--mrd-space-2));font-family:var(--mrd-font-family);font-size:var(--mrd-font-size-base);color:var(--mrd-input-color);background-color:var(--mrd-input-bg);border:var(--mrd-border-width) solid var(--mrd-border-color);border-radius:var(--mrd-border-radius);outline:none;appearance:none;box-sizing:border-box}.mrd-layout-section__search-input.sc-mrd-layout-section:focus{border-color:var(--mrd-border-color-focus);box-shadow:var(--mrd-shadow-focus)}.mrd-layout-section__search-input.sc-mrd-layout-section::placeholder{color:var(--mrd-input-placeholder-color)}.mrd-layout-section__search-results.sc-mrd-layout-section{position:absolute;top:100%;left:0;right:0;background-color:var(--mrd-color-white);border:1px solid var(--mrd-color-neutral-300);border-top:none;border-radius:0 0 var(--mrd-border-radius) var(--mrd-border-radius);box-shadow:var(--mrd-shadow-sm);z-index:100;max-height:300px;overflow-y:auto;list-style:none;margin:0;padding:var(--mrd-space-1) 0}.mrd-layout-section__search-result.sc-mrd-layout-section{margin:0;padding:0}.mrd-layout-section__search-result-btn.sc-mrd-layout-section{display:flex;flex-direction:column;width:100%;padding:var(--mrd-space-2) var(--mrd-space-3);background:none;border:none;text-align:left;cursor:pointer;font-family:var(--mrd-font-family)}.mrd-layout-section__search-result-btn.sc-mrd-layout-section:hover{background-color:var(--mrd-color-primary-light)}.mrd-layout-section__search-result-label.sc-mrd-layout-section{font-size:var(--mrd-font-size-sm);font-weight:var(--mrd-font-weight-medium);color:var(--mrd-color-neutral-800)}.mrd-layout-section__search-result-desc.sc-mrd-layout-section{font-size:var(--mrd-font-size-xs);color:var(--mrd-color-neutral-500);margin-top:var(--mrd-space-1)}.mrd-layout-section__image-thumb-btn.sc-mrd-layout-section{background:none;border:none;padding:0;cursor:pointer;display:inline-block;border-radius:var(--mrd-border-radius);overflow:hidden;line-height:0}.mrd-layout-section__image-thumb-btn.sc-mrd-layout-section:hover .mrd-layout-section__image-thumb.sc-mrd-layout-section{opacity:0.85}.mrd-layout-section__image-thumb.sc-mrd-layout-section{display:block;max-width:160px;max-height:100px;border-radius:var(--mrd-border-radius);object-fit:cover;transition:opacity 0.15s}.mrd-layout-section__modal-backdrop.sc-mrd-layout-section{position:fixed;inset:0;background:rgba(0, 0, 0, 0.6);z-index:300;display:flex;align-items:center;justify-content:center}.mrd-layout-section__modal.sc-mrd-layout-section{position:relative;background:var(--mrd-color-white);border-radius:var(--mrd-border-radius);padding:var(--mrd-space-3);max-width:min(90vw, 900px);max-height:90vh;display:flex;align-items:center;justify-content:center;box-shadow:var(--mrd-shadow-lg)}.mrd-layout-section__modal-close.sc-mrd-layout-section{position:absolute;top:var(--mrd-space-2);right:var(--mrd-space-2);background:rgba(0, 0, 0, 0.5);border:none;border-radius:50%;width:28px;height:28px;display:flex;align-items:center;justify-content:center;color:var(--mrd-color-white);cursor:pointer;font-size:var(--mrd-font-size-sm);line-height:1;z-index:1}.mrd-layout-section__modal-close.sc-mrd-layout-section:hover{background:rgba(0, 0, 0, 0.8)}.mrd-layout-section__modal-image.sc-mrd-layout-section{display:block;max-width:100%;max-height:calc(90vh - 2rem);border-radius:var(--mrd-border-radius);object-fit:contain}"}},[2,"mrd-layout-section",{items:[16],data:[16],views:[16],links:[16],locale:[1],archetypes:[16],searchQueryMap:[32],searchResultsMap:[32],imagePreviewUrl:[32],imagePreviews:[32],openHistoryField:[32],setSearchResults:[64],setViewPage:[64],setViewAggregations:[64],setViewDistinct:[64],setViewFileReference:[64],setViewCreatedObject:[64],setImagePreview:[64],openImagePreview:[64]},void 0,{data:[{dataChanged:0}]}]),O=M,L=function(){"undefined"!=typeof customElements&&["mrd-layout-section","mrd-document-container","mrd-document-list","mrd-document-view","mrd-email-view","mrd-invoice-view","mrd-table"].forEach((t=>{switch(t){case"mrd-layout-section":customElements.get(a(t))||customElements.define(a(t),M);break;case"mrd-document-container":customElements.get(a(t))||f();break;case"mrd-document-list":customElements.get(a(t))||_();break;case"mrd-document-view":customElements.get(a(t))||g();break;case"mrd-email-view":customElements.get(a(t))||b();break;case"mrd-invoice-view":customElements.get(a(t))||w();break;case"mrd-table":customElements.get(a(t))||x()}}))};export{O as MrdLayoutSection,L as defineCustomElement}
1
+ import{h as t,proxyCustomElement as r,HTMLElement as o,createEvent as e,Host as i,transformTag as a}from"@stencil/core/internal/client";import{a as s,b as n,r as l,A as d,e as c,h as m,f as u,g as v}from"./client-layout.js";import{t as h}from"./i18n.js";import{C as y}from"./cell-renderer.js";import{a as p}from"./format.js";import{d as f}from"./mrd-document-container2.js";import{d as _}from"./mrd-document-list2.js";import{d as g}from"./mrd-document-view2.js";import{d as b}from"./mrd-email-view2.js";import{d as w}from"./mrd-invoice-view2.js";import{d as x}from"./mrd-table2.js";function k(t){var r,o,e,i,a;return null!==(a=null!==(e=null!==(r=t.showEmpty)&&void 0!==r?r:null===(o=t.field)||void 0===o?void 0:o.showEmpty)&&void 0!==e?e:null===(i=t.relation)||void 0===i?void 0:i.showEmpty)&&void 0!==a&&a}function z(t){const r=[];for(const o of t)r.push(o),o.items&&r.push(...z(o.items));return r}function j(r,o,e,i){return t("button",{class:"mrd-layout-section__download-link",onClick:()=>o&&r.on.download({href:o,fileName:e})},t("svg",{class:"mrd-layout-section__file-icon",viewBox:"0 0 24 24","aria-hidden":"true"},t("path",{fill:"currentColor",d:"M14 2H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V8l-6-6zm-1 7V3.5L18.5 9H13zm-3 8l-3-3 1.41-1.41L10 14.17l4.59-4.58L16 11l-6 6z"})),i)}function C(r,o,e){var i,a,s,l,d,c,m,u,v,p,f;const _=o.dataType;switch(_){case n.HYPERLINK:{const r=null!==(i=null==e?void 0:e.href)&&void 0!==i?i:e+"",o=null!==(l=null!==(s=null!==(a=null==e?void 0:e.name)&&void 0!==a?a:null==e?void 0:e.text)&&void 0!==s?s:null==e?void 0:e.label)&&void 0!==l?l:r;return t("a",{class:"mrd-layout-section__link",href:r,target:"_blank",rel:"noopener noreferrer"},o)}case n.TEXTBLOCK:return t("div",{class:"mrd-layout-section__prose",innerHTML:e+""});case n.LONGTEXT:return t("pre",{class:"mrd-layout-section__pre"},e+"");case n.JSON:return t("pre",{class:"mrd-layout-section__pre",innerHTML:y.formatJson(e)});case n.FILE:{const t=null!==(d=null==e?void 0:e.fileName)&&void 0!==d?d:e+"",o=null!==(c=null==e?void 0:e.href)&&void 0!==c?c:"";return j(r,o,t,t||h("download",r.locale))}case n.IMAGE:{const i=null!==(m=null==e?void 0:e.href)&&void 0!==m?m:"",a=null!==(u=null==e?void 0:e.fileName)&&void 0!==u?u:"",s=r.imagePreviews[o.name];return s?t("button",{class:"mrd-layout-section__image-thumb-btn",onClick:()=>r.on.openImage(s),title:a||void 0},t("img",{class:"mrd-layout-section__image-thumb",src:s,alt:a})):j(r,i,a,a||i)}case n.BOOLEAN:return t("span",{class:"mrd-layout-section__boolean mrd-layout-section__boolean--"+(e?"true":"false")},h(e?"yes":"no",r.locale));case n.LIST:{const r=(null!==(v=o.listItems)&&void 0!==v?v:[]).find((t=>t.key===e+"")),i=null!==(p=null==r?void 0:r.label)&&void 0!==p?p:e+"",a=null==r?void 0:r.color,s=null==r?void 0:r.backgroundColor;return a&&s?t("span",{class:"mrd-layout-section__badge",style:{color:a,backgroundColor:s}},i):a?t("span",{class:"mrd-layout-section__badge-dot-row"},t("span",{class:"mrd-layout-section__badge-dot",style:{backgroundColor:a}}),i):i}case n.SECRET:return e?t("span",{class:"mrd-layout-section__secret-masked"},"••••••••"):null;default:return y.renderValue(_,e,null!==(f=o.listItems)&&void 0!==f?f:[],r.locale)||null}}const M=r(class extends o{constructor(t){super(),!1!==t&&this.__registerHost(),this.mrdNavigate=e(this,"mrdNavigate",7),this.mrdSearch=e(this,"mrdSearch",7),this.mrdDownload=e(this,"mrdDownload",7),this.mrdLoadViewPage=e(this,"mrdLoadViewPage",7),this.mrdLoadImage=e(this,"mrdLoadImage",7),this.mrdAttachments=e(this,"mrdAttachments",7),this.mrdViewAction=e(this,"mrdViewAction",7),this.mrdLoadViewAggregations=e(this,"mrdLoadViewAggregations",7),this.mrdLoadViewDistinct=e(this,"mrdLoadViewDistinct",7),this.mrdUpdateObject=e(this,"mrdUpdateObject",7),this.mrdViewUpload=e(this,"mrdViewUpload",7),this.mrdCreateObject=e(this,"mrdCreateObject",7),this.items=[],this.data={},this.views={},this.links={},this.locale=navigator.language,this.archetypes=[],this.searchQueryMap={},this.searchResultsMap={},this.imagePreviewUrl=null,this.imagePreviews={},this.openHistoryField=null,this.historyClickOutside=null,this.searchTimers={},this.handleViewLoadPage=(t,r)=>{t.stopPropagation(),this.mrdLoadViewPage.emit({name:r,page:t.detail.page,sort:t.detail.sort,path:t.detail.path,qs:t.detail.qs})},this.handleSearchInput=(t,r)=>{this.searchQueryMap=Object.assign(Object.assign({},this.searchQueryMap),{[t]:r}),this.searchTimers[t]&&clearTimeout(this.searchTimers[t]),r.length<2?this.searchResultsMap=Object.assign(Object.assign({},this.searchResultsMap),{[t]:[]}):this.searchTimers[t]=setTimeout((()=>{this.mrdSearch.emit({query:r,dataClass:t})}),300)}}componentDidLoad(){setTimeout((()=>{this.initEmbeddedTables(),this.emitLoadImages()}),0),this.historyClickOutside=t=>{this.el.contains(t.target)||(this.openHistoryField=null)},document.addEventListener("mousedown",this.historyClickOutside)}disconnectedCallback(){this.historyClickOutside&&(document.removeEventListener("mousedown",this.historyClickOutside),this.historyClickOutside=null)}dataChanged(t){t&&Object.keys(t).length>0&&setTimeout((()=>this.initEmbeddedTables()),0)}async initEmbeddedTables(){const t=this.el.querySelectorAll("mrd-table[data-view]");for(const r of Array.from(t))"function"==typeof r.init&&await r.init()}emitLoadImages(){for(const t of z(this.items))if(t.type===s.FIELD&&t.dataType===n.IMAGE){const r=t.name,o=this.data[r],e=null==o?void 0:o.href;e&&this.mrdLoadImage.emit({fieldName:r,href:e})}}async setSearchResults(t,r){const o=null!=r?r:this.resolveSearchKey();o&&(this.searchResultsMap=Object.assign(Object.assign({},this.searchResultsMap),{[o]:t}))}async setViewPage(t,r,o,e,i,a){if(a){const r=this.el.querySelector(`mrd-document-list[data-doclist="${t}"]`);return void((null==r?void 0:r.setDocuments)&&await r.setDocuments(a,o))}const s=this.el.querySelector(`mrd-table[data-view="${t}"]`);s&&(void 0!==e&&(s.totalElements=e),await s.setPage(r,o,i))}async setViewAggregations(t,r){const o=this.el.querySelector(`mrd-table[data-view="${t}"]`);o&&await o.setAggregations(r)}async setViewDistinct(t,r,o){const e=this.el.querySelector(`mrd-document-list[data-doclist="${t}"]`);(null==e?void 0:e.setDistinct)&&await e.setDistinct(r,o)}async setViewFileReference(t,r){const o=this.el.querySelector(`mrd-document-list[data-doclist="${t}"]`);(null==o?void 0:o.setFileReference)&&await o.setFileReference(r)}async setViewCreatedObject(t,r){const o=this.el.querySelector(`mrd-document-list[data-doclist="${t}"]`);(null==o?void 0:o.setCreatedHref)&&await o.setCreatedHref(r)}async setImagePreview(t,r){this.imagePreviews=Object.assign(Object.assign({},this.imagePreviews),{[t]:r})}async openImagePreview(t){this.imagePreviewUrl=t}resolveSearchKey(){var t;const r=z(this.items).filter((t=>t.type===s.SEARCH));return 1===r.length&&null!==(t=r[0].dataClass)&&void 0!==t?t:null}fieldCtx(){return{locale:this.locale,data:this.data,imagePreviews:this.imagePreviews,openHistoryField:this.openHistoryField,on:{download:t=>this.mrdDownload.emit(t),openImage:t=>{this.imagePreviewUrl=t},toggleHistory:t=>{this.openHistoryField=t}}}}renderField(r){return function(r,o){var e,i;if(!o.name)return null;const a=r.data[o.name],s=(null!==(e=o.historyEnabled)&&void 0!==e?e:null===(i=o.field)||void 0===i?void 0:i.historyEnabled)&&null!==a&&"object"==typeof a&&"current"in a?a.current:a,l=function(r,o,e){if(null==e||""===e)return null;if(o.multiple&&Array.isArray(e)){if(o.dataType===n.FILE||o.dataType===n.IMAGE)return t("div",{class:"mrd-layout-section__file-list"},e.map(((e,i)=>t("div",{class:"mrd-layout-section__file-list-item",key:i+""},C(r,o,e)))));const i=e.map((t=>C(r,o,t)));return i.every((t=>"string"==typeof t||null==t))?i.filter(Boolean).join(", ")||null:t("span",null,i.map(((r,o)=>t("span",{key:o+""},r,o<i.length-1?", ":""))))}return C(r,o,e)}(r,o,s);if(o.header)return t("h1",{class:"mrd-layout-section__field-header",key:o.name},"string"==typeof l?l:null!=s?s+"":o.label);const d=null==l;return d&&!k(o)?null:t("div",{class:`mrd-layout-section__field${o.dataType===n.TEXTBLOCK||o.dataType===n.LONGTEXT||o.dataType===n.JSON?" mrd-layout-section__field--block":""}${d?" mrd-layout-section__field--empty":""}`,key:o.name},t("span",{class:"mrd-layout-section__field-label"},o.label),t("span",{class:"mrd-layout-section__field-value"},d?h("value_empty",r.locale):l,function(r,o,e){var i,a,s;if(!(null!==(i=o.historyEnabled)&&void 0!==i?i:null===(a=o.field)||void 0===a?void 0:a.historyEnabled)||!o.name)return null;const n=null!==(s=null==e?void 0:e.history)&&void 0!==s?s:[];if(!n.length)return null;const l=[...n].sort(((t,r)=>r.until.localeCompare(t.until))),d=r.openHistoryField===o.name;return t("span",{class:"mrd-layout-section__history-wrap"},t("button",{type:"button",class:"mrd-layout-section__history-btn",title:h("history_badge_tooltip",r.locale),"aria-label":h("history_badge_tooltip",r.locale),onClick:t=>{t.stopPropagation(),r.on.toggleHistory(d?null:o.name)}},t("svg",{class:"mrd-layout-section__history-icon",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true"},t("path",{"fill-rule":"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zm.75-13a.75.75 0 00-1.5 0v5c0 .207.085.394.22.53l2.5 2.5a.75.75 0 101.06-1.06L10.75 9.69V5z","clip-rule":"evenodd"}))),d&&t("div",{class:"mrd-layout-section__history-popover",role:"listbox"},l.map(((o,e)=>t("div",{key:e+"",class:"mrd-layout-section__history-entry"},o.value," (",h("history_until",r.locale)," ",p(o.until,r.locale),")")))))}(r,o,a)))}(this.fieldCtx(),r)}renderRelation(r){var o,e,i;if(!r.name)return null;const a=(null!==(e=null===(o=this.data)||void 0===o?void 0:o._links)&&void 0!==e?e:{})[r.name],s=(r,o)=>t("button",{key:r,class:"mrd-layout-section__relation-link",onClick:()=>this.mrdNavigate.emit({href:r,label:o})},o);let n;(null===(i=null==a?void 0:a.values)||void 0===i?void 0:i.length)?n=a.values.map((t=>s(t.href,t.name))):(null==a?void 0:a.name)&&(n=s(a.href,a.name));const l=!n;return l&&!k(r)?null:t("div",{class:"mrd-layout-section__field"+(l?" mrd-layout-section__field--empty":""),key:r.name},t("span",{class:"mrd-layout-section__field-label"},r.label),t("span",{class:"mrd-layout-section__field-value"},l?h("value_empty",this.locale):n))}renderSearch(r){var o,e,i;if(!r.dataClass)return null;const a=r.dataClass,s=null!==(o=this.searchQueryMap[a])&&void 0!==o?o:"",n=null!==(e=this.searchResultsMap[a])&&void 0!==e?e:[];return t("div",{class:"mrd-layout-section__search",key:"search-"+a},t("div",{class:"mrd-layout-section__search-wrap"},t("svg",{class:"mrd-layout-section__search-icon",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true"},t("path",{"fill-rule":"evenodd",d:"M9 3.5a5.5 5.5 0 100 11 5.5 5.5 0 000-11zM2 9a7 7 0 1112.452 4.391l3.328 3.329a.75.75 0 11-1.06 1.06l-3.329-3.328A7 7 0 012 9z","clip-rule":"evenodd"})),t("input",{class:"mrd-layout-section__search-input",type:"text",value:s,placeholder:null!==(i=r.label)&&void 0!==i?i:"",onInput:t=>this.handleSearchInput(a,t.target.value)})),n.length>0&&t("ul",{class:"mrd-layout-section__search-results"},n.map((r=>t("li",{key:r.id,class:"mrd-layout-section__search-result"},t("button",{class:"mrd-layout-section__search-result-btn",onClick:()=>this.mrdNavigate.emit({href:r.id,label:r.label})},t("span",{class:"mrd-layout-section__search-result-label"},r.label),r.description&&t("span",{class:"mrd-layout-section__search-result-desc"},r.description)))))))}renderRelatedView(r){var o,e,i,a,n,c,m,u;const v=function(t){var r,o,e,i;return t.type===s.RELATED_VIEW?null!==(o=null!==(r=t.relatedClass)&&void 0!==r?r:t.name)&&void 0!==o?o:"":null!==(i=null!==(e=t.dataClass)&&void 0!==e?e:t.name)&&void 0!==i?i:""}(r);if(!v)return null;if(!r.view)return null;const h=null!==(o=r.showTitle)&&void 0!==o&&o,y=null!==(n=null===(a=null===(i=null===(e=this.data)||void 0===e?void 0:e._links)||void 0===i?void 0:i.self)||void 0===a?void 0:a.href)&&void 0!==n?n:"",p=null!==(c=y.split("/").filter(Boolean).pop())&&void 0!==c?c:"",f=l(null!==(m=r.archetypes)&&void 0!==m?m:null===(u=r.view)||void 0===u?void 0:u.archetypes,d),_=function(t,r,o){if(t.type!==s.RELATED_VIEW||!t.fromClass||!o)return"";const e=r.split("/").filter(Boolean);if(e.length<2)return"";const[i,a]=e;return`/${i}/${a}/${t.fromClass}/${o}`}(r,y,p);return t("div",{class:"mrd-layout-section__related-view",key:"view-"+v},h&&r.label&&t("h3",{class:"mrd-layout-section__related-view-title"},r.label),f?this.renderDocumentContainer(r,v,p,f,_):this.renderTable(r,v,p))}renderDocumentContainer(r,o,e,i,a){return t("mrd-document-container",{item:r,archetype:i,parentId:e,containerHref:a,viewKey:o,locale:this.locale,onMrdLoadDistinct:t=>{t.stopPropagation(),this.mrdLoadViewDistinct.emit(Object.assign({name:o},t.detail))},onMrdLoadPage:t=>{t.stopPropagation(),this.mrdLoadViewPage.emit(Object.assign({name:o},t.detail))},onMrdLoadAggregations:t=>{var e;t.stopPropagation(),this.mrdLoadViewAggregations.emit(Object.assign({name:o,dataClass:null!==(e=r.dataClass)&&void 0!==e?e:o},t.detail))},onMrdNavigate:t=>{t.stopPropagation(),this.mrdNavigate.emit(t.detail)},onMrdAction:t=>{var e;t.stopPropagation(),this.mrdViewAction.emit(Object.assign({name:o,dataClass:null!==(e=r.dataClass)&&void 0!==e?e:o},t.detail))},onMrdUpdateObject:t=>{t.stopPropagation(),this.mrdUpdateObject.emit(t.detail)},onMrdUpload:t=>{t.stopPropagation(),this.mrdViewUpload.emit(Object.assign({name:o},t.detail))},onMrdCreateObject:t=>{t.stopPropagation(),this.mrdCreateObject.emit(Object.assign({name:o},t.detail))}})}renderTable(r,o,e){return t("mrd-table",{"data-view":o,item:r,parentId:e,locale:this.locale,onMrdLoadPage:t=>this.handleViewLoadPage(t,o),onMrdLoadAggregations:t=>{var e;t.stopPropagation(),this.mrdLoadViewAggregations.emit(Object.assign({name:o,dataClass:null!==(e=r.dataClass)&&void 0!==e?e:o},t.detail))},onMrdRowClick:t=>{var o,e,i,a;t.stopPropagation();const{row:s,listContext:n}=t.detail;this.mrdNavigate.emit({href:null===(e=null===(o=null==s?void 0:s._links)||void 0===o?void 0:o.self)||void 0===e?void 0:e.href,label:null!==(i=null==s?void 0:s.name)&&void 0!==i?i:"",navigateBehaviour:null!==(a=r.navigateBehaviour)&&void 0!==a?a:c.PAGE,listContext:n})},onMrdAction:t=>{var e;t.stopPropagation(),this.mrdViewAction.emit({name:o,action:t.detail.action,dataClass:null!==(e=r.dataClass)&&void 0!==e?e:o,path:t.detail.path,qs:t.detail.qs,parentPath:t.detail.parentPath,basicType:t.detail.basicType})}})}renderItem(r){var o,e;switch(r.type){case s.FIELD:return this.renderField(r);case s.RELATION:return this.renderRelation(r);case s.HEADER:return t("h2",{class:"mrd-layout-section__header",key:"header-"+r.label},r.label);case s.TEXT:return t("div",{class:"mrd-layout-section__text",key:"text-"+r.label,innerHTML:null!==(o=r.label)&&void 0!==o?o:""});case s.NAVIGATE:return t("button",{class:"mrd-layout-section__navigate",key:"nav-"+r.label,onClick:()=>{var t,o,e;return this.mrdNavigate.emit({label:null!==(t=r.label)&&void 0!==t?t:"",navigate:null!==(o=r.navigate)&&void 0!==o?o:{dataClass:null!==(e=r.dataClass)&&void 0!==e?e:"",icon:r.icon,navigationType:r.navigationType}})}},r.label);case s.SEARCH:return this.renderSearch(r);case s.SECTION:case s.GROUP:return t("div",{class:"mrd-layout-section__group",key:"group-"+r.label},r.label&&t("h3",{class:"mrd-layout-section__group-title"},r.label),(null!==(e=r.items)&&void 0!==e?e:[]).map((t=>this.renderItem(t))));case s.RELATED_VIEW:case s.VIEW:return this.renderRelatedView(r);default:return null}}renderImageModal(){return this.imagePreviewUrl?t("div",{class:"mrd-layout-section__modal-backdrop",onClick:()=>{this.imagePreviewUrl=null}},t("div",{class:"mrd-layout-section__modal",onClick:t=>t.stopPropagation()},t("button",{class:"mrd-layout-section__modal-close",onClick:()=>{this.imagePreviewUrl=null}},"✕"),t("img",{class:"mrd-layout-section__modal-image",src:this.imagePreviewUrl,alt:""}))):null}relatedItems(t){return this.items.filter((r=>r!==t&&(r.type===s.VIEW||r.type===s.RELATED_VIEW||r.type===s.SEARCH)))}renderDocumentObject(r){return[t("mrd-document-view",{archetype:r,data:this.data,locale:this.locale,onMrdNavigate:t=>{t.stopPropagation(),this.mrdNavigate.emit(t.detail)},onMrdDownload:t=>{t.stopPropagation(),this.mrdDownload.emit(t.detail)},onMrdAttachments:t=>{t.stopPropagation(),this.mrdAttachments.emit(t.detail)}}),...this.relatedItems().map((t=>this.renderItem(t)))]}renderInvoiceObject(r){var o,e,i;const a=null!==(o=this.items.find((t=>{var r,o;return(t.type===s.VIEW||t.type===s.RELATED_VIEW)&&!!l(null!==(r=t.archetypes)&&void 0!==r?r:null===(o=t.view)||void 0===o?void 0:o.archetypes,m)})))&&void 0!==o?o:null,n=null!==(i=null===(e=this.items.find((t=>{var o;return t.name===(null===(o=r.slots)||void 0===o?void 0:o.status)})))||void 0===e?void 0:e.listItems)&&void 0!==i?i:null;return[t("mrd-invoice-view",{archetype:r,data:this.data,locale:this.locale,statusListItems:n,onMrdNavigate:t=>{t.stopPropagation(),this.mrdNavigate.emit(t.detail)},onMrdDownload:t=>{t.stopPropagation(),this.mrdDownload.emit(t.detail)},onMrdAttachments:t=>{t.stopPropagation(),this.mrdAttachments.emit(t.detail)}},a&&t("div",{slot:"lines"},this.renderRelatedView(a))),...this.relatedItems(a).map((t=>this.renderItem(t)))]}renderEmailObject(r){return[t("mrd-email-view",{archetype:r,data:this.data,locale:this.locale,onMrdNavigate:t=>{t.stopPropagation(),this.mrdNavigate.emit(t.detail)},onMrdDownload:t=>{t.stopPropagation(),this.mrdDownload.emit(t.detail)},onMrdAttachments:t=>{t.stopPropagation(),this.mrdAttachments.emit(t.detail)}}),...this.relatedItems().map((t=>this.renderItem(t)))]}render(){const r=l(this.archetypes,d),o=r?void 0:l(this.archetypes,u),e=r||o?void 0:l(this.archetypes,v);return t(i,{key:"ccae8e82b4dd549ab24239fe685a6830a508061d"},t("div",{key:"4072cc4ecdd2b087c54a5515e653f7f713b2150f",class:"mrd-layout-section"},r&&this.renderDocumentObject(r),o&&this.renderInvoiceObject(o),e&&this.renderEmailObject(e),!r&&!o&&!e&&this.items.map((t=>this.renderItem(t)))),this.renderImageModal())}get el(){return this}static get watchers(){return{data:[{dataChanged:0}]}}static get style(){return".sc-mrd-layout-section-h{display:block;width:100%}.mrd-layout-section.sc-mrd-layout-section{font-family:var(--mrd-font-family);font-size:var(--mrd-font-size-base);color:var(--mrd-color-neutral-800)}.mrd-layout-section__field.sc-mrd-layout-section{display:grid;grid-template-columns:200px 1fr;align-items:baseline;gap:0 var(--mrd-space-2);padding:var(--mrd-space-1) 0}.mrd-layout-section__field--block.sc-mrd-layout-section{grid-template-columns:1fr}.mrd-layout-section__field-label.sc-mrd-layout-section{font-size:var(--mrd-font-size-xs);font-weight:var(--mrd-font-weight-normal);color:var(--mrd-color-neutral-500);padding-top:1px}.mrd-layout-section__field-value.sc-mrd-layout-section{font-size:var(--mrd-font-size-sm);font-weight:var(--mrd-font-weight-medium);color:var(--mrd-color-neutral-800);word-break:break-word;display:inline-flex;align-items:center;gap:var(--mrd-space-1)}.mrd-layout-section__field--empty.sc-mrd-layout-section .mrd-layout-section__field-value.sc-mrd-layout-section{color:var(--mrd-color-neutral-400);font-weight:var(--mrd-font-weight-normal)}.mrd-layout-section__history-wrap.sc-mrd-layout-section{position:relative;display:inline-flex;align-items:center}.mrd-layout-section__history-btn.sc-mrd-layout-section{display:inline-flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;padding:0;background:transparent;border:none;border-radius:var(--mrd-border-radius-sm);color:var(--mrd-color-neutral-400);cursor:pointer;flex-shrink:0;transition:color var(--mrd-transition-fast), background-color var(--mrd-transition-fast)}.mrd-layout-section__history-btn.sc-mrd-layout-section:hover{color:var(--mrd-color-neutral-700);background-color:var(--mrd-color-neutral-100)}.mrd-layout-section__history-btn.sc-mrd-layout-section:focus{outline:none;box-shadow:var(--mrd-shadow-focus)}.mrd-layout-section__history-icon.sc-mrd-layout-section{width:0.875rem;height:0.875rem}.mrd-layout-section__history-popover.sc-mrd-layout-section{position:absolute;top:calc(100% + 0.25rem);left:0;min-width:24rem;max-width:24rem;background-color:var(--mrd-color-white);border:var(--mrd-border-width) solid var(--mrd-border-color);border-radius:var(--mrd-border-radius-md);box-shadow:var(--mrd-shadow-md);padding:var(--mrd-space-1) 0;z-index:var(--mrd-z-dropdown)}.mrd-layout-section__history-entry.sc-mrd-layout-section{font-family:var(--mrd-font-family);font-size:var(--mrd-font-size-sm);font-weight:var(--mrd-font-weight-normal);color:var(--mrd-color-neutral-700);padding:var(--mrd-space-2) var(--mrd-space-3);line-height:var(--mrd-line-height-normal)}.mrd-layout-section__history-entry.sc-mrd-layout-section:not(:last-child){border-bottom:var(--mrd-border-width) solid var(--mrd-color-neutral-100)}.mrd-layout-section__field-header.sc-mrd-layout-section{font-size:var(--mrd-font-size-2xl);font-weight:var(--mrd-font-weight-bold);color:var(--mrd-color-neutral-900);margin:0 0 var(--mrd-space-4) 0;padding:0}.mrd-layout-section__header.sc-mrd-layout-section{font-size:var(--mrd-font-size-xl);font-weight:var(--mrd-font-weight-semibold);color:var(--mrd-color-neutral-800);margin:var(--mrd-space-4) 0 var(--mrd-space-2) 0;padding:0}.mrd-layout-section__text.sc-mrd-layout-section{font-size:var(--mrd-font-size-base);color:var(--mrd-color-neutral-700);line-height:var(--mrd-line-height-relaxed);margin:var(--mrd-space-2) 0}.mrd-layout-section__navigate.sc-mrd-layout-section{display:inline-flex;align-items:center;gap:var(--mrd-space-2);padding:var(--mrd-space-2) var(--mrd-space-3);background:none;border:1px solid var(--mrd-color-neutral-300);border-radius:var(--mrd-border-radius);font-family:var(--mrd-font-family);font-size:var(--mrd-font-size-sm);color:var(--mrd-color-primary);cursor:pointer;margin:var(--mrd-space-2) 0}.mrd-layout-section__navigate.sc-mrd-layout-section:hover{background-color:var(--mrd-color-primary-light);border-color:var(--mrd-color-primary)}.mrd-layout-section__link.sc-mrd-layout-section{color:var(--mrd-color-primary);text-decoration:none}.mrd-layout-section__link.sc-mrd-layout-section:hover{text-decoration:underline}.mrd-layout-section__relation-link.sc-mrd-layout-section{background:none;border:none;padding:0;font-family:var(--mrd-font-family);font-size:var(--mrd-font-size-sm);font-weight:var(--mrd-font-weight-semibold);color:var(--mrd-color-primary);cursor:pointer;text-align:left}.mrd-layout-section__relation-link.sc-mrd-layout-section:hover{text-decoration:underline}.mrd-layout-section__download-link.sc-mrd-layout-section{display:inline-flex;align-items:center;gap:var(--mrd-space-1);background:none;border:none;padding:0;font-family:var(--mrd-font-family);font-size:var(--mrd-font-size-sm);color:var(--mrd-color-primary);cursor:pointer;text-align:left}.mrd-layout-section__download-link.sc-mrd-layout-section:hover{text-decoration:underline;color:var(--mrd-color-primary-dark)}.mrd-layout-section__file-icon.sc-mrd-layout-section{flex-shrink:0;width:1rem;height:1rem}.mrd-layout-section__file-list.sc-mrd-layout-section{display:flex;flex-direction:column;align-items:flex-start;gap:var(--mrd-space-1)}.mrd-layout-section__file-list-item.sc-mrd-layout-section{min-width:0;max-width:100%}.mrd-layout-section__boolean--true.sc-mrd-layout-section{color:var(--mrd-color-success);font-weight:var(--mrd-font-weight-semibold)}.mrd-layout-section__boolean--false.sc-mrd-layout-section{color:var(--mrd-color-neutral-400)}.mrd-layout-section__badge.sc-mrd-layout-section{display:inline-block;font-size:var(--mrd-font-size-xs);font-weight:var(--mrd-font-weight-medium);padding:2px var(--mrd-space-3);border-radius:10px}.mrd-layout-section__badge-dot-row.sc-mrd-layout-section{display:inline-flex;align-items:center;gap:var(--mrd-space-2)}.mrd-layout-section__badge-dot.sc-mrd-layout-section{display:inline-block;width:10px;height:10px;border-radius:50%;flex-shrink:0}.mrd-layout-section__secret-masked.sc-mrd-layout-section{font-family:var(--mrd-font-family);font-size:var(--mrd-font-size-base);color:var(--mrd-label-color);letter-spacing:0.15em;user-select:none;pointer-events:none}.mrd-layout-section__pre.sc-mrd-layout-section{font-family:var(--mrd-font-family-mono);font-size:var(--mrd-font-size-xs);background-color:var(--mrd-color-neutral-50);border:1px solid var(--mrd-color-neutral-200);border-radius:var(--mrd-border-radius);padding:var(--mrd-space-3);margin:0;max-height:calc(15 * var(--mrd-font-size-xs));overflow-x:auto;overflow-y:auto;white-space:pre-wrap;word-break:break-word}.mrd-layout-section__group.sc-mrd-layout-section{margin:var(--mrd-space-4) 0}.mrd-layout-section__group-title.sc-mrd-layout-section{font-size:var(--mrd-font-size-xs);font-weight:var(--mrd-font-weight-semibold);color:var(--mrd-color-neutral-500);margin:0 0 var(--mrd-space-2) 0;padding-bottom:0;letter-spacing:0.01em}.mrd-layout-section__related-view.sc-mrd-layout-section{margin:var(--mrd-space-4) 0}.mrd-layout-section__related-view-title.sc-mrd-layout-section{font-size:var(--mrd-font-size-lg);font-weight:var(--mrd-font-weight-semibold);color:var(--mrd-color-neutral-800);margin:0 0 var(--mrd-space-3) 0}.mrd-layout-section__search.sc-mrd-layout-section{position:relative;margin:var(--mrd-space-2) 0}.mrd-layout-section__search-wrap.sc-mrd-layout-section{position:relative}.mrd-layout-section__search-icon.sc-mrd-layout-section{position:absolute;left:var(--mrd-input-padding-x);top:50%;transform:translateY(-50%);width:1rem;height:1rem;color:var(--mrd-color-neutral-400);pointer-events:none}.mrd-layout-section__search-input.sc-mrd-layout-section{display:block;width:100%;height:var(--mrd-input-height);padding:var(--mrd-input-padding-y) var(--mrd-input-padding-x) var(--mrd-input-padding-y) calc(var(--mrd-input-padding-x) + 1rem + var(--mrd-space-2));font-family:var(--mrd-font-family);font-size:var(--mrd-font-size-base);color:var(--mrd-input-color);background-color:var(--mrd-input-bg);border:var(--mrd-border-width) solid var(--mrd-border-color);border-radius:var(--mrd-border-radius);outline:none;appearance:none;box-sizing:border-box}.mrd-layout-section__search-input.sc-mrd-layout-section:focus{border-color:var(--mrd-border-color-focus);box-shadow:var(--mrd-shadow-focus)}.mrd-layout-section__search-input.sc-mrd-layout-section::placeholder{color:var(--mrd-input-placeholder-color)}.mrd-layout-section__search-results.sc-mrd-layout-section{position:absolute;top:100%;left:0;right:0;background-color:var(--mrd-color-white);border:1px solid var(--mrd-color-neutral-300);border-top:none;border-radius:0 0 var(--mrd-border-radius) var(--mrd-border-radius);box-shadow:var(--mrd-shadow-sm);z-index:100;max-height:300px;overflow-y:auto;list-style:none;margin:0;padding:var(--mrd-space-1) 0}.mrd-layout-section__search-result.sc-mrd-layout-section{margin:0;padding:0}.mrd-layout-section__search-result-btn.sc-mrd-layout-section{display:flex;flex-direction:column;width:100%;padding:var(--mrd-space-2) var(--mrd-space-3);background:none;border:none;text-align:left;cursor:pointer;font-family:var(--mrd-font-family)}.mrd-layout-section__search-result-btn.sc-mrd-layout-section:hover{background-color:var(--mrd-color-primary-light)}.mrd-layout-section__search-result-label.sc-mrd-layout-section{font-size:var(--mrd-font-size-sm);font-weight:var(--mrd-font-weight-medium);color:var(--mrd-color-neutral-800)}.mrd-layout-section__search-result-desc.sc-mrd-layout-section{font-size:var(--mrd-font-size-xs);color:var(--mrd-color-neutral-500);margin-top:var(--mrd-space-1)}.mrd-layout-section__image-thumb-btn.sc-mrd-layout-section{background:none;border:none;padding:0;cursor:pointer;display:inline-block;border-radius:var(--mrd-border-radius);overflow:hidden;line-height:0}.mrd-layout-section__image-thumb-btn.sc-mrd-layout-section:hover .mrd-layout-section__image-thumb.sc-mrd-layout-section{opacity:0.85}.mrd-layout-section__image-thumb.sc-mrd-layout-section{display:block;max-width:160px;max-height:100px;border-radius:var(--mrd-border-radius);object-fit:cover;transition:opacity 0.15s}.mrd-layout-section__modal-backdrop.sc-mrd-layout-section{position:fixed;inset:0;background:rgba(0, 0, 0, 0.6);z-index:300;display:flex;align-items:center;justify-content:center}.mrd-layout-section__modal.sc-mrd-layout-section{position:relative;background:var(--mrd-color-white);border-radius:var(--mrd-border-radius);padding:var(--mrd-space-3);max-width:min(90vw, 900px);max-height:90vh;display:flex;align-items:center;justify-content:center;box-shadow:var(--mrd-shadow-lg)}.mrd-layout-section__modal-close.sc-mrd-layout-section{position:absolute;top:var(--mrd-space-2);right:var(--mrd-space-2);background:rgba(0, 0, 0, 0.5);border:none;border-radius:50%;width:28px;height:28px;display:flex;align-items:center;justify-content:center;color:var(--mrd-color-white);cursor:pointer;font-size:var(--mrd-font-size-sm);line-height:1;z-index:1}.mrd-layout-section__modal-close.sc-mrd-layout-section:hover{background:rgba(0, 0, 0, 0.8)}.mrd-layout-section__modal-image.sc-mrd-layout-section{display:block;max-width:100%;max-height:calc(90vh - 2rem);border-radius:var(--mrd-border-radius);object-fit:contain}"}},[2,"mrd-layout-section",{items:[16],data:[16],views:[16],links:[16],locale:[1],archetypes:[16],searchQueryMap:[32],searchResultsMap:[32],imagePreviewUrl:[32],imagePreviews:[32],openHistoryField:[32],setSearchResults:[64],setViewPage:[64],setViewAggregations:[64],setViewDistinct:[64],setViewFileReference:[64],setViewCreatedObject:[64],setImagePreview:[64],openImagePreview:[64]},void 0,{data:[{dataChanged:0}]}]),O=M,L=function(){"undefined"!=typeof customElements&&["mrd-layout-section","mrd-document-container","mrd-document-list","mrd-document-view","mrd-email-view","mrd-invoice-view","mrd-table"].forEach((t=>{switch(t){case"mrd-layout-section":customElements.get(a(t))||customElements.define(a(t),M);break;case"mrd-document-container":customElements.get(a(t))||f();break;case"mrd-document-list":customElements.get(a(t))||_();break;case"mrd-document-view":customElements.get(a(t))||g();break;case"mrd-email-view":customElements.get(a(t))||b();break;case"mrd-invoice-view":customElements.get(a(t))||w();break;case"mrd-table":customElements.get(a(t))||x()}}))};export{O as MrdLayoutSection,L as defineCustomElement}
@@ -1 +1 @@
1
- import{h as r,proxyCustomElement as e,HTMLElement as i,createEvent as o,Host as t,transformTag as d}from"@stencil/core/internal/client";import{a as s}from"./client-layout.js";import{C as a}from"./cell-renderer.js";import{t as m}from"./i18n.js";import{f as n}from"./format.js";function l(r){return r.type===s.FIELD||r.type===s.RELATION&&!r.multiple}function c(r,e){var i,o,t,d,a;const m=null!==(i=r.name)&&void 0!==i?i:"";return r.type===s.RELATION?null!==(d=null===(t=null===(o=null==e?void 0:e._links)||void 0===o?void 0:o[m])||void 0===t?void 0:t.href)&&void 0!==d?d:null:null!==(a=null==e?void 0:e[m])&&void 0!==a?a:null}function v(r,e){return r.historyEnabled&&null!=e&&"object"==typeof e&&!Array.isArray(e)&&"current"in e?e.current:e}function g(r){return void 0===r||""===r?null:r}function u(r,e){const i=g(r),o=g(e);return i===o||null!==i&&null!==o&&JSON.stringify(i)===JSON.stringify(o)}function h(r){return null===g(r)}function _(r,e,i){const o=[],t=[];for(const d of r.filter(l)){const r=c(d,e),s=c(d,i),a=v(d,r),m=v(d,s);u(a,m)||(h(a)&&!h(m)?t.push({item:d,aValue:r,bValue:s}):o.push({item:d,aValue:r,bValue:s}))}return{conflicts:o,autoFilled:t}}function w(r){var e,i,o,t,d;return null!==(d=null!==(i=null!==(e=null==r?void 0:r.name)&&void 0!==e?e:null==r?void 0:r.label)&&void 0!==i?i:null===(t=null===(o=null==r?void 0:r._links)||void 0===o?void 0:o.self)||void 0===t?void 0:t.href)&&void 0!==d?d:""}function p(r,e){var i,o;return r.historyEnabled&&r.name&&null!==(o=null===(i=null==e?void 0:e[r.name])||void 0===i?void 0:i.history)&&void 0!==o?o:[]}const b=({locale:e,history:i,isOpen:o,onToggle:t})=>{if(0===i.length)return null;const d=[...i].sort(((r,e)=>e.until.localeCompare(r.until)));return r("span",{class:"mrd-merge-view__history-wrap"},r("button",{type:"button",class:"mrd-merge-view__history-btn",title:m("history_badge_tooltip",e),"aria-label":m("history_badge_tooltip",e),onClick:r=>{r.stopPropagation(),t()}},r("svg",{class:"mrd-merge-view__history-icon",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true"},r("path",{"fill-rule":"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zm.75-13a.75.75 0 00-1.5 0v5c0 .207.085.394.22.53l2.5 2.5a.75.75 0 101.06-1.06L10.75 9.69V5z","clip-rule":"evenodd"}))),o&&r("div",{class:"mrd-merge-view__history-popover",role:"listbox"},d.map(((i,o)=>r("div",{key:o+"",class:"mrd-merge-view__history-entry"},i.value," (",m("history_until",e)," ",n(i.until,e),")")))))},f=({locale:e,searchQuery:i,searchResults:o,isLoading:t,onSearchInput:d,onSelect:s})=>r("div",{class:"mrd-merge-view__search-step"},r("p",{class:"mrd-merge-view__hint"},m("merge_search_hint",e)),r("div",{class:"mrd-merge-view__search-wrapper"},r("input",{class:"mrd-merge-view__search",type:"text",value:i,placeholder:m("search_placeholder",e),onInput:r=>d(r.target.value)}),t&&r("span",{class:"mrd-merge-view__spinner","aria-label":m("loading",e)})),i.trim().length>=2&&!t&&r("div",{class:"mrd-merge-view__results"},0===o.length?r("div",{class:"mrd-merge-view__no-results"},m("no_results",e)):o.map((i=>{var o,t,d;return r("div",{key:null!==(d=null===(t=null===(o=null==i?void 0:i._links)||void 0===o?void 0:o.self)||void 0===t?void 0:t.href)&&void 0!==d?d:w(i),class:"mrd-merge-view__result-item"},r("span",{class:"mrd-merge-view__result-label"},w(i)),r("button",{type:"button",class:"mrd-merge-view__btn mrd-merge-view__btn--secondary",onClick:()=>s(i)},m("merge_select",e)))})))),y=({locale:e,currentLabel:i,candidateLabel:o,conflicts:t,autoFilled:d,recordA:s,recordB:n,resolutions:l,openHistoryKey:c,onResolve:v,onToggleHistory:g,onChangeCandidate:u,onContinue:h})=>r("div",{class:"mrd-merge-view__compare-step"},r("h3",{class:"mrd-merge-view__heading"},m("merge_compare_heading",e)),0===t.length?r("p",{class:"mrd-merge-view__no-conflicts"},m("merge_no_conflicts",e)):r("table",{class:"mrd-merge-view__table"},r("thead",null,r("tr",null,r("th",{class:"mrd-merge-view__header"}),r("th",{class:"mrd-merge-view__header"},m("merge_column_a",e),r("span",{class:"mrd-merge-view__header-name"},i)),r("th",{class:"mrd-merge-view__header"},m("merge_column_b",e),r("span",{class:"mrd-merge-view__header-name"},o)))),r("tbody",null,t.map((({item:i})=>{var o,t,d;const m=null!==(o=i.name)&&void 0!==o?o:"",u=null!==(t=l[m])&&void 0!==t?t:"A",h=p(i,s),_=p(i,n),w=m+":A",f=m+":B";return r("tr",{key:m,class:"mrd-merge-view__row"},r("td",{class:"mrd-merge-view__cell mrd-merge-view__cell--label"},null!==(d=i.label)&&void 0!==d?d:m),r("td",{class:"mrd-merge-view__cell"},r("label",{class:"mrd-merge-view__option"},r("input",{type:"radio",name:"merge-"+m,checked:"A"===u,onChange:()=>v(m,"A")}),r("span",null,a.render(i,s,e)||"—")),r(b,{locale:e,history:h,isOpen:c===w,onToggle:()=>g(c===w?null:w)})),r("td",{class:"mrd-merge-view__cell"},r("label",{class:"mrd-merge-view__option"},r("input",{type:"radio",name:"merge-"+m,checked:"B"===u,onChange:()=>v(m,"B")}),r("span",null,a.render(i,n,e)||"—")),r(b,{locale:e,history:_,isOpen:c===f,onToggle:()=>g(c===f?null:f)})))})))),d.length>0&&r("div",{class:"mrd-merge-view__auto-note"},r("p",null,m("merge_auto_heading",e)),r("ul",null,d.map((({item:e})=>{var i;return r("li",{key:e.name},null!==(i=e.label)&&void 0!==i?i:e.name)})))),r("div",{class:"mrd-merge-view__actions"},r("button",{type:"button",class:"mrd-merge-view__btn mrd-merge-view__btn--secondary",onClick:u},m("merge_back",e)),r("button",{type:"button",class:"mrd-merge-view__btn mrd-merge-view__btn--primary",onClick:h},m("merge_continue",e)))),k=({locale:e,candidateLabel:i,conflicts:o,autoFilled:t,resolutions:d,recordB:s,openHistoryKey:n,onToggleHistory:l,onBack:c,onConfirm:v})=>{const g=[...t,...o.filter((({item:r})=>{var e;return"B"===d[null!==(e=r.name)&&void 0!==e?e:""]}))];return r("div",{class:"mrd-merge-view__confirm-step"},r("h3",{class:"mrd-merge-view__heading"},m("merge_confirm_heading",e)),0===g.length?r("p",{class:"mrd-merge-view__no-conflicts"},m("merge_no_conflicts",e)):r("ul",{class:"mrd-merge-view__summary-list"},g.map((({item:i})=>{var o;const t=i.name+":confirm";return r("li",{key:i.name},null!==(o=i.label)&&void 0!==o?o:i.name,": ",a.render(i,s,e)||"—",r(b,{locale:e,history:p(i,s),isOpen:n===t,onToggle:()=>l(n===t?null:t)}))}))),r("p",{class:"mrd-merge-view__warning"},m("merge_confirm_warning",e)," (",i,")"),r("div",{class:"mrd-merge-view__actions"},r("button",{type:"button",class:"mrd-merge-view__btn mrd-merge-view__btn--secondary",onClick:c},m("merge_back",e)),r("button",{type:"button",class:"mrd-merge-view__btn mrd-merge-view__btn--danger",onClick:v},m("merge_confirm_button",e))))},x=e(class extends i{constructor(r){super(),!1!==r&&this.__registerHost(),this.mrdSearch=o(this,"mrdSearch",7),this.mrdMerge=o(this,"mrdMerge",7),this.locale=navigator.language,this.basicType="",this.mostSignificantClass="",this.fields=[],this.currentHref="",this.currentRecord={},this.currentLabel="",this.step="search",this.searchQuery="",this.searchResults=[],this.isLoading=!1,this.candidate=null,this.resolutions={},this.openHistoryKey=null,this.historyClickOutside=null,this.searchDebounce=null,this.handleSearchInput=r=>{this.searchQuery=r,this.searchDebounce&&clearTimeout(this.searchDebounce),r.trim().length>=2?(this.isLoading=!0,this.searchDebounce=setTimeout((()=>{this.mrdSearch.emit({query:r,basicType:this.basicType,mostSignificantClass:this.mostSignificantClass||void 0})}),300)):(this.searchResults=[],this.isLoading=!1)},this.handleSelect=r=>{this.candidate=r;const{conflicts:e}=_(this.fields,this.currentRecord,r),i={};e.forEach((({item:r})=>{var e;i[null!==(e=r.name)&&void 0!==e?e:""]="A"})),this.resolutions=i,this.openHistoryKey=null,this.step="compare"},this.handleChangeCandidate=()=>{this.candidate=null,this.resolutions={},this.openHistoryKey=null,this.step="search"},this.handleResolve=(r,e)=>{this.resolutions=Object.assign(Object.assign({},this.resolutions),{[r]:e})},this.handleToggleHistory=r=>{this.openHistoryKey=r},this.handleContinue=()=>{this.step="confirm"},this.handleBack=()=>{this.step="compare"},this.handleConfirm=()=>{var r,e,i,o;if(!this.candidate)return;const t=function(r,e){var i,o,t;const d={};for(const{item:e,bValue:o}of r.autoFilled)d[null!==(i=e.name)&&void 0!==i?i:""]=o;for(const{item:i,bValue:s}of r.conflicts)"B"===e[null!==(o=i.name)&&void 0!==o?o:""]&&(d[null!==(t=i.name)&&void 0!==t?t:""]=s);return d}(_(this.fields,this.currentRecord,this.candidate),this.resolutions),d=null!==(o=null===(i=null===(e=null===(r=this.candidate)||void 0===r?void 0:r._links)||void 0===e?void 0:e.self)||void 0===i?void 0:i.href)&&void 0!==o?o:"";this.mrdMerge.emit({winnerHref:this.currentHref,loserHref:d,patch:t})}}connectedCallback(){this.historyClickOutside=r=>{this.el.contains(r.target)||(this.openHistoryKey=null)},document.addEventListener("mousedown",this.historyClickOutside)}disconnectedCallback(){this.historyClickOutside&&(document.removeEventListener("mousedown",this.historyClickOutside),this.historyClickOutside=null)}async setSearchResults(r){this.searchResults=(null!=r?r:[]).filter((r=>{var e,i,o;return(null!==(o=null===(i=null===(e=null==r?void 0:r._links)||void 0===e?void 0:e.self)||void 0===i?void 0:i.href)&&void 0!==o?o:null)!==this.currentHref})),this.isLoading=!1}async setLoading(r){this.isLoading=r}render(){var e,i;let o;if("search"===this.step)o=r(f,{key:"3adb36fb46aa7260641a46a2cf27cc0ef320876f",locale:this.locale,searchQuery:this.searchQuery,searchResults:this.searchResults,isLoading:this.isLoading,onSearchInput:this.handleSearchInput,onSelect:this.handleSelect});else{const t=_(this.fields,this.currentRecord,this.candidate),d=w(this.candidate);o="compare"===this.step?r(y,{locale:this.locale,currentLabel:this.currentLabel,candidateLabel:d,conflicts:t.conflicts,autoFilled:t.autoFilled,recordA:this.currentRecord,recordB:null!==(e=this.candidate)&&void 0!==e?e:{},resolutions:this.resolutions,openHistoryKey:this.openHistoryKey,onResolve:this.handleResolve,onToggleHistory:this.handleToggleHistory,onChangeCandidate:this.handleChangeCandidate,onContinue:this.handleContinue}):r(k,{locale:this.locale,candidateLabel:d,conflicts:t.conflicts,autoFilled:t.autoFilled,resolutions:this.resolutions,recordB:null!==(i=this.candidate)&&void 0!==i?i:{},openHistoryKey:this.openHistoryKey,onToggleHistory:this.handleToggleHistory,onBack:this.handleBack,onConfirm:this.handleConfirm})}return r(t,{key:"e33a6d66a220b28cc9533da78dc274e2d7ec5c4a"},r("div",{key:"b5fb1390d86192f9f6f15e3ccb89e2d21d9c7c8b",class:"mrd-merge-view"},o))}get el(){return this}static get style(){return".sc-mrd-merge-view-h{display:block;width:100%}.mrd-merge-view.sc-mrd-merge-view{font-family:var(--mrd-font-family);font-size:var(--mrd-font-size-sm);color:var(--mrd-color-neutral-900)}.mrd-merge-view__hint.sc-mrd-merge-view{margin:0 0 var(--mrd-space-4);color:var(--mrd-color-neutral-600)}.mrd-merge-view__heading.sc-mrd-merge-view{margin:0 0 var(--mrd-space-4);font-size:var(--mrd-font-size-lg);font-weight:var(--mrd-font-weight-semibold)}.mrd-merge-view__search-wrapper.sc-mrd-merge-view{position:relative;display:flex;align-items:center}.mrd-merge-view__search.sc-mrd-merge-view{width:100%;height:var(--mrd-input-height);padding:var(--mrd-input-padding-y) var(--mrd-input-padding-x);border:var(--mrd-border-width) solid var(--mrd-border-color);border-radius:var(--mrd-border-radius);background:var(--mrd-input-bg);color:var(--mrd-input-color);font-size:var(--mrd-font-size-sm)}.mrd-merge-view__search.sc-mrd-merge-view:focus{outline:none;border-color:var(--mrd-border-color-focus);box-shadow:var(--mrd-shadow-focus)}.mrd-merge-view__spinner.sc-mrd-merge-view{position:absolute;right:var(--mrd-space-3);width:1rem;height:1rem;border:2px solid var(--mrd-color-neutral-300);border-top-color:var(--mrd-color-primary);border-radius:var(--mrd-border-radius-full);animation:mrd-merge-view-spin var(--mrd-transition-slow) linear infinite}.mrd-merge-view__results.sc-mrd-merge-view{margin-top:var(--mrd-space-2);border:var(--mrd-border-width) solid var(--mrd-border-color);border-radius:var(--mrd-border-radius);overflow:hidden}.mrd-merge-view__no-results.sc-mrd-merge-view{padding:var(--mrd-space-3) var(--mrd-space-4);color:var(--mrd-color-neutral-500)}.mrd-merge-view__result-item.sc-mrd-merge-view{display:flex;align-items:center;justify-content:space-between;gap:var(--mrd-space-3);padding:var(--mrd-space-2) var(--mrd-space-4)}.mrd-merge-view__result-item.sc-mrd-merge-view:not(:last-child){border-bottom:var(--mrd-border-width) solid var(--mrd-border-color)}.mrd-merge-view__result-label.sc-mrd-merge-view{font-weight:var(--mrd-font-weight-medium)}.mrd-merge-view__no-conflicts.sc-mrd-merge-view{color:var(--mrd-color-neutral-600)}.mrd-merge-view__table.sc-mrd-merge-view{width:100%;border-collapse:collapse;margin-bottom:var(--mrd-space-4)}.mrd-merge-view__header.sc-mrd-merge-view{text-align:left;padding:var(--mrd-space-2) var(--mrd-space-3);border-bottom:2px solid var(--mrd-border-color);font-size:var(--mrd-font-size-xs);text-transform:uppercase;letter-spacing:0.04em;color:var(--mrd-color-neutral-600)}.mrd-merge-view__header-name.sc-mrd-merge-view{display:block;text-transform:none;letter-spacing:normal;font-size:var(--mrd-font-size-sm);font-weight:var(--mrd-font-weight-medium);color:var(--mrd-color-neutral-900);margin-top:var(--mrd-space-1)}.mrd-merge-view__row.sc-mrd-merge-view:nth-child(even){background:var(--mrd-color-neutral-50)}.mrd-merge-view__cell.sc-mrd-merge-view{padding:var(--mrd-space-2) var(--mrd-space-3);border-bottom:var(--mrd-border-width) solid var(--mrd-border-color);vertical-align:top}.mrd-merge-view__cell--label.sc-mrd-merge-view{font-weight:var(--mrd-font-weight-medium);white-space:nowrap}.mrd-merge-view__option.sc-mrd-merge-view{display:flex;align-items:flex-start;gap:var(--mrd-space-2);cursor:pointer}.mrd-merge-view__option.sc-mrd-merge-view input[type=radio].sc-mrd-merge-view{margin-top:0.2em}.mrd-merge-view__history-wrap.sc-mrd-merge-view{position:relative;display:inline-flex;align-items:center;margin-left:var(--mrd-space-1)}.mrd-merge-view__history-btn.sc-mrd-merge-view{display:inline-flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;padding:0;background:transparent;border:none;border-radius:var(--mrd-border-radius-sm);color:var(--mrd-color-neutral-400);cursor:pointer;flex-shrink:0;transition:color var(--mrd-transition-fast), background-color var(--mrd-transition-fast)}.mrd-merge-view__history-btn.sc-mrd-merge-view:hover{color:var(--mrd-color-neutral-700);background-color:var(--mrd-color-neutral-100)}.mrd-merge-view__history-btn.sc-mrd-merge-view:focus{outline:none;box-shadow:var(--mrd-shadow-focus)}.mrd-merge-view__history-icon.sc-mrd-merge-view{width:0.875rem;height:0.875rem}.mrd-merge-view__history-popover.sc-mrd-merge-view{position:absolute;top:calc(100% + 0.25rem);left:0;min-width:18rem;max-width:18rem;background-color:var(--mrd-color-white);border:var(--mrd-border-width) solid var(--mrd-border-color);border-radius:var(--mrd-border-radius-md);box-shadow:var(--mrd-shadow-md);padding:var(--mrd-space-1) 0;z-index:var(--mrd-z-dropdown)}.mrd-merge-view__history-entry.sc-mrd-merge-view{font-size:var(--mrd-font-size-sm);color:var(--mrd-color-neutral-700);padding:var(--mrd-space-2) var(--mrd-space-3);line-height:var(--mrd-line-height-normal)}.mrd-merge-view__history-entry.sc-mrd-merge-view:not(:last-child){border-bottom:var(--mrd-border-width) solid var(--mrd-color-neutral-100)}.mrd-merge-view__auto-note.sc-mrd-merge-view{margin-bottom:var(--mrd-space-4);padding:var(--mrd-space-3) var(--mrd-space-4);background:var(--mrd-color-neutral-50);border:var(--mrd-border-width) solid var(--mrd-border-color);border-radius:var(--mrd-border-radius);color:var(--mrd-color-neutral-700)}.mrd-merge-view__auto-note.sc-mrd-merge-view p.sc-mrd-merge-view{margin:0 0 var(--mrd-space-1);font-weight:var(--mrd-font-weight-medium)}.mrd-merge-view__auto-note.sc-mrd-merge-view ul.sc-mrd-merge-view{margin:0;padding-left:var(--mrd-space-5)}.mrd-merge-view__summary-list.sc-mrd-merge-view{margin:0 0 var(--mrd-space-4);padding-left:var(--mrd-space-5)}.mrd-merge-view__warning.sc-mrd-merge-view{padding:var(--mrd-space-3) var(--mrd-space-4);background:var(--mrd-color-danger-light);border:var(--mrd-border-width) solid var(--mrd-color-danger);border-radius:var(--mrd-border-radius);color:var(--mrd-color-danger-dark);margin-bottom:var(--mrd-space-4)}.mrd-merge-view__actions.sc-mrd-merge-view{display:flex;gap:var(--mrd-space-3)}.mrd-merge-view__btn.sc-mrd-merge-view{height:var(--mrd-input-height-sm);padding:0 var(--mrd-space-4);border-radius:var(--mrd-border-radius);border:var(--mrd-border-width) solid transparent;font-size:var(--mrd-font-size-sm);font-weight:var(--mrd-font-weight-medium);cursor:pointer;transition:background-color var(--mrd-transition-fast), border-color var(--mrd-transition-fast)}.mrd-merge-view__btn--primary.sc-mrd-merge-view{background:var(--mrd-color-primary);color:var(--mrd-color-white)}.mrd-merge-view__btn--primary.sc-mrd-merge-view:hover{background:var(--mrd-color-primary-hover)}.mrd-merge-view__btn--secondary.sc-mrd-merge-view{background:var(--mrd-color-white);border-color:var(--mrd-border-color);color:var(--mrd-color-neutral-700)}.mrd-merge-view__btn--secondary.sc-mrd-merge-view:hover{background:var(--mrd-color-neutral-50)}.mrd-merge-view__btn--danger.sc-mrd-merge-view{background:var(--mrd-color-danger);color:var(--mrd-color-white)}.mrd-merge-view__btn--danger.sc-mrd-merge-view:hover{background:var(--mrd-color-danger-dark)}@keyframes mrd-merge-view-spin{to{transform:rotate(360deg)}}"}},[2,"mrd-merge-view",{locale:[1],basicType:[1,"basic-type"],mostSignificantClass:[1,"most-significant-class"],fields:[16],currentHref:[1,"current-href"],currentRecord:[16],currentLabel:[1,"current-label"],step:[32],searchQuery:[32],searchResults:[32],isLoading:[32],candidate:[32],resolutions:[32],openHistoryKey:[32],setSearchResults:[64],setLoading:[64]}]),C=x,z=function(){"undefined"!=typeof customElements&&["mrd-merge-view"].forEach((r=>{"mrd-merge-view"===r&&(customElements.get(d(r))||customElements.define(d(r),x))}))};export{C as MrdMergeView,z as defineCustomElement}
1
+ import{h as r,proxyCustomElement as e,HTMLElement as i,createEvent as o,Host as t,transformTag as d}from"@stencil/core/internal/client";import{a as s}from"./client-layout.js";import{C as a}from"./cell-renderer.js";import{t as m}from"./i18n.js";import{a as n}from"./format.js";function l(r){return r.type===s.FIELD||r.type===s.RELATION&&!r.multiple}function c(r,e){var i,o,t,d,a;const m=null!==(i=r.name)&&void 0!==i?i:"";return r.type===s.RELATION?null!==(d=null===(t=null===(o=null==e?void 0:e._links)||void 0===o?void 0:o[m])||void 0===t?void 0:t.href)&&void 0!==d?d:null:null!==(a=null==e?void 0:e[m])&&void 0!==a?a:null}function v(r,e){return r.historyEnabled&&null!=e&&"object"==typeof e&&!Array.isArray(e)&&"current"in e?e.current:e}function g(r){return void 0===r||""===r?null:r}function u(r,e){const i=g(r),o=g(e);return i===o||null!==i&&null!==o&&JSON.stringify(i)===JSON.stringify(o)}function h(r){return null===g(r)}function _(r,e,i){const o=[],t=[];for(const d of r.filter(l)){const r=c(d,e),s=c(d,i),a=v(d,r),m=v(d,s);u(a,m)||(h(a)&&!h(m)?t.push({item:d,aValue:r,bValue:s}):o.push({item:d,aValue:r,bValue:s}))}return{conflicts:o,autoFilled:t}}function w(r){var e,i,o,t,d;return null!==(d=null!==(i=null!==(e=null==r?void 0:r.name)&&void 0!==e?e:null==r?void 0:r.label)&&void 0!==i?i:null===(t=null===(o=null==r?void 0:r._links)||void 0===o?void 0:o.self)||void 0===t?void 0:t.href)&&void 0!==d?d:""}function p(r,e){var i,o;return r.historyEnabled&&r.name&&null!==(o=null===(i=null==e?void 0:e[r.name])||void 0===i?void 0:i.history)&&void 0!==o?o:[]}const b=({locale:e,history:i,isOpen:o,onToggle:t})=>{if(0===i.length)return null;const d=[...i].sort(((r,e)=>e.until.localeCompare(r.until)));return r("span",{class:"mrd-merge-view__history-wrap"},r("button",{type:"button",class:"mrd-merge-view__history-btn",title:m("history_badge_tooltip",e),"aria-label":m("history_badge_tooltip",e),onClick:r=>{r.stopPropagation(),t()}},r("svg",{class:"mrd-merge-view__history-icon",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true"},r("path",{"fill-rule":"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zm.75-13a.75.75 0 00-1.5 0v5c0 .207.085.394.22.53l2.5 2.5a.75.75 0 101.06-1.06L10.75 9.69V5z","clip-rule":"evenodd"}))),o&&r("div",{class:"mrd-merge-view__history-popover",role:"listbox"},d.map(((i,o)=>r("div",{key:o+"",class:"mrd-merge-view__history-entry"},i.value," (",m("history_until",e)," ",n(i.until,e),")")))))},f=({locale:e,searchQuery:i,searchResults:o,isLoading:t,onSearchInput:d,onSelect:s})=>r("div",{class:"mrd-merge-view__search-step"},r("p",{class:"mrd-merge-view__hint"},m("merge_search_hint",e)),r("div",{class:"mrd-merge-view__search-wrapper"},r("input",{class:"mrd-merge-view__search",type:"text",value:i,placeholder:m("search_placeholder",e),onInput:r=>d(r.target.value)}),t&&r("span",{class:"mrd-merge-view__spinner","aria-label":m("loading",e)})),i.trim().length>=2&&!t&&r("div",{class:"mrd-merge-view__results"},0===o.length?r("div",{class:"mrd-merge-view__no-results"},m("no_results",e)):o.map((i=>{var o,t,d;return r("div",{key:null!==(d=null===(t=null===(o=null==i?void 0:i._links)||void 0===o?void 0:o.self)||void 0===t?void 0:t.href)&&void 0!==d?d:w(i),class:"mrd-merge-view__result-item"},r("span",{class:"mrd-merge-view__result-label"},w(i)),r("button",{type:"button",class:"mrd-merge-view__btn mrd-merge-view__btn--secondary",onClick:()=>s(i)},m("merge_select",e)))})))),y=({locale:e,currentLabel:i,candidateLabel:o,conflicts:t,autoFilled:d,recordA:s,recordB:n,resolutions:l,openHistoryKey:c,onResolve:v,onToggleHistory:g,onChangeCandidate:u,onContinue:h})=>r("div",{class:"mrd-merge-view__compare-step"},r("h3",{class:"mrd-merge-view__heading"},m("merge_compare_heading",e)),0===t.length?r("p",{class:"mrd-merge-view__no-conflicts"},m("merge_no_conflicts",e)):r("table",{class:"mrd-merge-view__table"},r("thead",null,r("tr",null,r("th",{class:"mrd-merge-view__header"}),r("th",{class:"mrd-merge-view__header"},m("merge_column_a",e),r("span",{class:"mrd-merge-view__header-name"},i)),r("th",{class:"mrd-merge-view__header"},m("merge_column_b",e),r("span",{class:"mrd-merge-view__header-name"},o)))),r("tbody",null,t.map((({item:i})=>{var o,t,d;const m=null!==(o=i.name)&&void 0!==o?o:"",u=null!==(t=l[m])&&void 0!==t?t:"A",h=p(i,s),_=p(i,n),w=m+":A",f=m+":B";return r("tr",{key:m,class:"mrd-merge-view__row"},r("td",{class:"mrd-merge-view__cell mrd-merge-view__cell--label"},null!==(d=i.label)&&void 0!==d?d:m),r("td",{class:"mrd-merge-view__cell"},r("label",{class:"mrd-merge-view__option"},r("input",{type:"radio",name:"merge-"+m,checked:"A"===u,onChange:()=>v(m,"A")}),r("span",null,a.render(i,s,e)||"—")),r(b,{locale:e,history:h,isOpen:c===w,onToggle:()=>g(c===w?null:w)})),r("td",{class:"mrd-merge-view__cell"},r("label",{class:"mrd-merge-view__option"},r("input",{type:"radio",name:"merge-"+m,checked:"B"===u,onChange:()=>v(m,"B")}),r("span",null,a.render(i,n,e)||"—")),r(b,{locale:e,history:_,isOpen:c===f,onToggle:()=>g(c===f?null:f)})))})))),d.length>0&&r("div",{class:"mrd-merge-view__auto-note"},r("p",null,m("merge_auto_heading",e)),r("ul",null,d.map((({item:e})=>{var i;return r("li",{key:e.name},null!==(i=e.label)&&void 0!==i?i:e.name)})))),r("div",{class:"mrd-merge-view__actions"},r("button",{type:"button",class:"mrd-merge-view__btn mrd-merge-view__btn--secondary",onClick:u},m("merge_back",e)),r("button",{type:"button",class:"mrd-merge-view__btn mrd-merge-view__btn--primary",onClick:h},m("merge_continue",e)))),k=({locale:e,candidateLabel:i,conflicts:o,autoFilled:t,resolutions:d,recordB:s,openHistoryKey:n,onToggleHistory:l,onBack:c,onConfirm:v})=>{const g=[...t,...o.filter((({item:r})=>{var e;return"B"===d[null!==(e=r.name)&&void 0!==e?e:""]}))];return r("div",{class:"mrd-merge-view__confirm-step"},r("h3",{class:"mrd-merge-view__heading"},m("merge_confirm_heading",e)),0===g.length?r("p",{class:"mrd-merge-view__no-conflicts"},m("merge_no_conflicts",e)):r("ul",{class:"mrd-merge-view__summary-list"},g.map((({item:i})=>{var o;const t=i.name+":confirm";return r("li",{key:i.name},null!==(o=i.label)&&void 0!==o?o:i.name,": ",a.render(i,s,e)||"—",r(b,{locale:e,history:p(i,s),isOpen:n===t,onToggle:()=>l(n===t?null:t)}))}))),r("p",{class:"mrd-merge-view__warning"},m("merge_confirm_warning",e)," (",i,")"),r("div",{class:"mrd-merge-view__actions"},r("button",{type:"button",class:"mrd-merge-view__btn mrd-merge-view__btn--secondary",onClick:c},m("merge_back",e)),r("button",{type:"button",class:"mrd-merge-view__btn mrd-merge-view__btn--danger",onClick:v},m("merge_confirm_button",e))))},x=e(class extends i{constructor(r){super(),!1!==r&&this.__registerHost(),this.mrdSearch=o(this,"mrdSearch",7),this.mrdMerge=o(this,"mrdMerge",7),this.locale=navigator.language,this.basicType="",this.mostSignificantClass="",this.fields=[],this.currentHref="",this.currentRecord={},this.currentLabel="",this.step="search",this.searchQuery="",this.searchResults=[],this.isLoading=!1,this.candidate=null,this.resolutions={},this.openHistoryKey=null,this.historyClickOutside=null,this.searchDebounce=null,this.handleSearchInput=r=>{this.searchQuery=r,this.searchDebounce&&clearTimeout(this.searchDebounce),r.trim().length>=2?(this.isLoading=!0,this.searchDebounce=setTimeout((()=>{this.mrdSearch.emit({query:r,basicType:this.basicType,mostSignificantClass:this.mostSignificantClass||void 0})}),300)):(this.searchResults=[],this.isLoading=!1)},this.handleSelect=r=>{this.candidate=r;const{conflicts:e}=_(this.fields,this.currentRecord,r),i={};e.forEach((({item:r})=>{var e;i[null!==(e=r.name)&&void 0!==e?e:""]="A"})),this.resolutions=i,this.openHistoryKey=null,this.step="compare"},this.handleChangeCandidate=()=>{this.candidate=null,this.resolutions={},this.openHistoryKey=null,this.step="search"},this.handleResolve=(r,e)=>{this.resolutions=Object.assign(Object.assign({},this.resolutions),{[r]:e})},this.handleToggleHistory=r=>{this.openHistoryKey=r},this.handleContinue=()=>{this.step="confirm"},this.handleBack=()=>{this.step="compare"},this.handleConfirm=()=>{var r,e,i,o;if(!this.candidate)return;const t=function(r,e){var i,o,t;const d={};for(const{item:e,bValue:o}of r.autoFilled)d[null!==(i=e.name)&&void 0!==i?i:""]=o;for(const{item:i,bValue:s}of r.conflicts)"B"===e[null!==(o=i.name)&&void 0!==o?o:""]&&(d[null!==(t=i.name)&&void 0!==t?t:""]=s);return d}(_(this.fields,this.currentRecord,this.candidate),this.resolutions),d=null!==(o=null===(i=null===(e=null===(r=this.candidate)||void 0===r?void 0:r._links)||void 0===e?void 0:e.self)||void 0===i?void 0:i.href)&&void 0!==o?o:"";this.mrdMerge.emit({winnerHref:this.currentHref,loserHref:d,patch:t})}}connectedCallback(){this.historyClickOutside=r=>{this.el.contains(r.target)||(this.openHistoryKey=null)},document.addEventListener("mousedown",this.historyClickOutside)}disconnectedCallback(){this.historyClickOutside&&(document.removeEventListener("mousedown",this.historyClickOutside),this.historyClickOutside=null)}async setSearchResults(r){this.searchResults=(null!=r?r:[]).filter((r=>{var e,i,o;return(null!==(o=null===(i=null===(e=null==r?void 0:r._links)||void 0===e?void 0:e.self)||void 0===i?void 0:i.href)&&void 0!==o?o:null)!==this.currentHref})),this.isLoading=!1}async setLoading(r){this.isLoading=r}render(){var e,i;let o;if("search"===this.step)o=r(f,{key:"3adb36fb46aa7260641a46a2cf27cc0ef320876f",locale:this.locale,searchQuery:this.searchQuery,searchResults:this.searchResults,isLoading:this.isLoading,onSearchInput:this.handleSearchInput,onSelect:this.handleSelect});else{const t=_(this.fields,this.currentRecord,this.candidate),d=w(this.candidate);o="compare"===this.step?r(y,{locale:this.locale,currentLabel:this.currentLabel,candidateLabel:d,conflicts:t.conflicts,autoFilled:t.autoFilled,recordA:this.currentRecord,recordB:null!==(e=this.candidate)&&void 0!==e?e:{},resolutions:this.resolutions,openHistoryKey:this.openHistoryKey,onResolve:this.handleResolve,onToggleHistory:this.handleToggleHistory,onChangeCandidate:this.handleChangeCandidate,onContinue:this.handleContinue}):r(k,{locale:this.locale,candidateLabel:d,conflicts:t.conflicts,autoFilled:t.autoFilled,resolutions:this.resolutions,recordB:null!==(i=this.candidate)&&void 0!==i?i:{},openHistoryKey:this.openHistoryKey,onToggleHistory:this.handleToggleHistory,onBack:this.handleBack,onConfirm:this.handleConfirm})}return r(t,{key:"e33a6d66a220b28cc9533da78dc274e2d7ec5c4a"},r("div",{key:"b5fb1390d86192f9f6f15e3ccb89e2d21d9c7c8b",class:"mrd-merge-view"},o))}get el(){return this}static get style(){return".sc-mrd-merge-view-h{display:block;width:100%}.mrd-merge-view.sc-mrd-merge-view{font-family:var(--mrd-font-family);font-size:var(--mrd-font-size-sm);color:var(--mrd-color-neutral-900)}.mrd-merge-view__hint.sc-mrd-merge-view{margin:0 0 var(--mrd-space-4);color:var(--mrd-color-neutral-600)}.mrd-merge-view__heading.sc-mrd-merge-view{margin:0 0 var(--mrd-space-4);font-size:var(--mrd-font-size-lg);font-weight:var(--mrd-font-weight-semibold)}.mrd-merge-view__search-wrapper.sc-mrd-merge-view{position:relative;display:flex;align-items:center}.mrd-merge-view__search.sc-mrd-merge-view{width:100%;height:var(--mrd-input-height);padding:var(--mrd-input-padding-y) var(--mrd-input-padding-x);border:var(--mrd-border-width) solid var(--mrd-border-color);border-radius:var(--mrd-border-radius);background:var(--mrd-input-bg);color:var(--mrd-input-color);font-size:var(--mrd-font-size-sm)}.mrd-merge-view__search.sc-mrd-merge-view:focus{outline:none;border-color:var(--mrd-border-color-focus);box-shadow:var(--mrd-shadow-focus)}.mrd-merge-view__spinner.sc-mrd-merge-view{position:absolute;right:var(--mrd-space-3);width:1rem;height:1rem;border:2px solid var(--mrd-color-neutral-300);border-top-color:var(--mrd-color-primary);border-radius:var(--mrd-border-radius-full);animation:mrd-merge-view-spin var(--mrd-transition-slow) linear infinite}.mrd-merge-view__results.sc-mrd-merge-view{margin-top:var(--mrd-space-2);border:var(--mrd-border-width) solid var(--mrd-border-color);border-radius:var(--mrd-border-radius);overflow:hidden}.mrd-merge-view__no-results.sc-mrd-merge-view{padding:var(--mrd-space-3) var(--mrd-space-4);color:var(--mrd-color-neutral-500)}.mrd-merge-view__result-item.sc-mrd-merge-view{display:flex;align-items:center;justify-content:space-between;gap:var(--mrd-space-3);padding:var(--mrd-space-2) var(--mrd-space-4)}.mrd-merge-view__result-item.sc-mrd-merge-view:not(:last-child){border-bottom:var(--mrd-border-width) solid var(--mrd-border-color)}.mrd-merge-view__result-label.sc-mrd-merge-view{font-weight:var(--mrd-font-weight-medium)}.mrd-merge-view__no-conflicts.sc-mrd-merge-view{color:var(--mrd-color-neutral-600)}.mrd-merge-view__table.sc-mrd-merge-view{width:100%;border-collapse:collapse;margin-bottom:var(--mrd-space-4)}.mrd-merge-view__header.sc-mrd-merge-view{text-align:left;padding:var(--mrd-space-2) var(--mrd-space-3);border-bottom:2px solid var(--mrd-border-color);font-size:var(--mrd-font-size-xs);text-transform:uppercase;letter-spacing:0.04em;color:var(--mrd-color-neutral-600)}.mrd-merge-view__header-name.sc-mrd-merge-view{display:block;text-transform:none;letter-spacing:normal;font-size:var(--mrd-font-size-sm);font-weight:var(--mrd-font-weight-medium);color:var(--mrd-color-neutral-900);margin-top:var(--mrd-space-1)}.mrd-merge-view__row.sc-mrd-merge-view:nth-child(even){background:var(--mrd-color-neutral-50)}.mrd-merge-view__cell.sc-mrd-merge-view{padding:var(--mrd-space-2) var(--mrd-space-3);border-bottom:var(--mrd-border-width) solid var(--mrd-border-color);vertical-align:top}.mrd-merge-view__cell--label.sc-mrd-merge-view{font-weight:var(--mrd-font-weight-medium);white-space:nowrap}.mrd-merge-view__option.sc-mrd-merge-view{display:flex;align-items:flex-start;gap:var(--mrd-space-2);cursor:pointer}.mrd-merge-view__option.sc-mrd-merge-view input[type=radio].sc-mrd-merge-view{margin-top:0.2em}.mrd-merge-view__history-wrap.sc-mrd-merge-view{position:relative;display:inline-flex;align-items:center;margin-left:var(--mrd-space-1)}.mrd-merge-view__history-btn.sc-mrd-merge-view{display:inline-flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;padding:0;background:transparent;border:none;border-radius:var(--mrd-border-radius-sm);color:var(--mrd-color-neutral-400);cursor:pointer;flex-shrink:0;transition:color var(--mrd-transition-fast), background-color var(--mrd-transition-fast)}.mrd-merge-view__history-btn.sc-mrd-merge-view:hover{color:var(--mrd-color-neutral-700);background-color:var(--mrd-color-neutral-100)}.mrd-merge-view__history-btn.sc-mrd-merge-view:focus{outline:none;box-shadow:var(--mrd-shadow-focus)}.mrd-merge-view__history-icon.sc-mrd-merge-view{width:0.875rem;height:0.875rem}.mrd-merge-view__history-popover.sc-mrd-merge-view{position:absolute;top:calc(100% + 0.25rem);left:0;min-width:18rem;max-width:18rem;background-color:var(--mrd-color-white);border:var(--mrd-border-width) solid var(--mrd-border-color);border-radius:var(--mrd-border-radius-md);box-shadow:var(--mrd-shadow-md);padding:var(--mrd-space-1) 0;z-index:var(--mrd-z-dropdown)}.mrd-merge-view__history-entry.sc-mrd-merge-view{font-size:var(--mrd-font-size-sm);color:var(--mrd-color-neutral-700);padding:var(--mrd-space-2) var(--mrd-space-3);line-height:var(--mrd-line-height-normal)}.mrd-merge-view__history-entry.sc-mrd-merge-view:not(:last-child){border-bottom:var(--mrd-border-width) solid var(--mrd-color-neutral-100)}.mrd-merge-view__auto-note.sc-mrd-merge-view{margin-bottom:var(--mrd-space-4);padding:var(--mrd-space-3) var(--mrd-space-4);background:var(--mrd-color-neutral-50);border:var(--mrd-border-width) solid var(--mrd-border-color);border-radius:var(--mrd-border-radius);color:var(--mrd-color-neutral-700)}.mrd-merge-view__auto-note.sc-mrd-merge-view p.sc-mrd-merge-view{margin:0 0 var(--mrd-space-1);font-weight:var(--mrd-font-weight-medium)}.mrd-merge-view__auto-note.sc-mrd-merge-view ul.sc-mrd-merge-view{margin:0;padding-left:var(--mrd-space-5)}.mrd-merge-view__summary-list.sc-mrd-merge-view{margin:0 0 var(--mrd-space-4);padding-left:var(--mrd-space-5)}.mrd-merge-view__warning.sc-mrd-merge-view{padding:var(--mrd-space-3) var(--mrd-space-4);background:var(--mrd-color-danger-light);border:var(--mrd-border-width) solid var(--mrd-color-danger);border-radius:var(--mrd-border-radius);color:var(--mrd-color-danger-dark);margin-bottom:var(--mrd-space-4)}.mrd-merge-view__actions.sc-mrd-merge-view{display:flex;gap:var(--mrd-space-3)}.mrd-merge-view__btn.sc-mrd-merge-view{height:var(--mrd-input-height-sm);padding:0 var(--mrd-space-4);border-radius:var(--mrd-border-radius);border:var(--mrd-border-width) solid transparent;font-size:var(--mrd-font-size-sm);font-weight:var(--mrd-font-weight-medium);cursor:pointer;transition:background-color var(--mrd-transition-fast), border-color var(--mrd-transition-fast)}.mrd-merge-view__btn--primary.sc-mrd-merge-view{background:var(--mrd-color-primary);color:var(--mrd-color-white)}.mrd-merge-view__btn--primary.sc-mrd-merge-view:hover{background:var(--mrd-color-primary-hover)}.mrd-merge-view__btn--secondary.sc-mrd-merge-view{background:var(--mrd-color-white);border-color:var(--mrd-border-color);color:var(--mrd-color-neutral-700)}.mrd-merge-view__btn--secondary.sc-mrd-merge-view:hover{background:var(--mrd-color-neutral-50)}.mrd-merge-view__btn--danger.sc-mrd-merge-view{background:var(--mrd-color-danger);color:var(--mrd-color-white)}.mrd-merge-view__btn--danger.sc-mrd-merge-view:hover{background:var(--mrd-color-danger-dark)}@keyframes mrd-merge-view-spin{to{transform:rotate(360deg)}}"}},[2,"mrd-merge-view",{locale:[1],basicType:[1,"basic-type"],mostSignificantClass:[1,"most-significant-class"],fields:[16],currentHref:[1,"current-href"],currentRecord:[16],currentLabel:[1,"current-label"],step:[32],searchQuery:[32],searchResults:[32],isLoading:[32],candidate:[32],resolutions:[32],openHistoryKey:[32],setSearchResults:[64],setLoading:[64]}]),C=x,z=function(){"undefined"!=typeof customElements&&["mrd-merge-view"].forEach((r=>{"mrd-merge-view"===r&&(customElements.get(d(r))||customElements.define(d(r),x))}))};export{C as MrdMergeView,z as defineCustomElement}
@@ -1 +1 @@
1
- import{proxyCustomElement as r,HTMLElement as e,createEvent as i,h as d,Host as t,transformTag as s}from"@stencil/core/internal/client";import{t as o}from"./i18n.js";import{e as a,v as l,F as m,c as n,a as u}from"./field-helpers.js";import{p as c,c as b}from"./format.js";import{b as f}from"./client-layout.js";const h=r(class extends e{constructor(r){super(),!1!==r&&this.__registerHost(),this.mrdChange=i(this,"mrdChange",7),this.mrdBlur=i(this,"mrdBlur",7),this.name="",this.label="",this.value=null,this.placeholder="",this.required=!1,this.disabled=!1,this.locale=navigator.language,this.dataType=f.INTEGER,this.decimalPrecision=2,this.displayValue="",this.error="",this.handleInput=r=>{this.displayValue=r.target.value},this.handleBlur=r=>{const e=r.target.value,i=c(e,this.locale);this.error=!this.required||null!==i&&""!==e?""===e||a(i,this.dataType)?"":o("invalid_number",this.locale):o("required",this.locale),null!==i&&l(e)&&(this.displayValue=this.formatForDisplay(i)),this.mrdChange.emit({name:this.name,value:i}),this.mrdBlur.emit({name:this.name,value:i})},this.handleFocus=()=>{if(null!=this.value){const r=String(this.value);this.displayValue=r}}}componentWillLoad(){null!=this.value&&(this.displayValue=this.formatForDisplay(this.value))}formatForDisplay(r){return this.dataType===f.PERCENTAGE?b(r,this.locale,{minimumFractionDigits:0,maximumFractionDigits:this.decimalPrecision})+"%":b(r,this.locale,this.dataType===f.DECIMAL?{minimumFractionDigits:this.decimalPrecision,maximumFractionDigits:this.decimalPrecision}:{maximumFractionDigits:0})}render(){const r=!!this.error,e=this.dataType===f.PERCENTAGE?"%":"";return d(t,{key:"5df5c2e16c85cd54944d95b7a8c340ae1a4ddb34"},d("div",{key:"e332bd0190d537c002b14090fa96ec6502e34746",class:"mrd-number-field"},d(m,{key:"e26ae85ef6c6d7935b2d34041a7ee2294da392a4",base:"mrd-number-field",label:this.label,required:this.required}),d("div",{key:"fb1a44a363a36b69124a0092e80b67d41b538c03",class:"mrd-number-field__input-wrapper"},d("input",{key:"175c448177bbd46015fc7f47b98b76e16ee3b743",class:n("mrd-number-field",r),type:"text",inputMode:"decimal",name:this.name,value:this.displayValue,placeholder:this.placeholder||(e?`0${e}`:"0"),required:this.required,disabled:this.disabled,onInput:this.handleInput,onBlur:this.handleBlur,onFocus:this.handleFocus})),d(u,{key:"ecb16ddf655e563f0569e774ab2f2e419f60b0f1",base:"mrd-number-field",error:this.error})))}static get style(){return'.sc-mrd-number-field-h{display:block}.mrd-number-field.sc-mrd-number-field{display:flex;flex-direction:column;gap:var(--mrd-space-1);width:100%}.mrd-number-field__label.sc-mrd-number-field{display:block;font-family:var(--mrd-font-family);font-size:var(--mrd-label-font-size);font-weight:var(--mrd-label-font-weight);color:var(--mrd-label-color)}.mrd-number-field__label--required.sc-mrd-number-field::after{content:" *";color:var(--mrd-color-danger)}.mrd-number-field__input-wrapper.sc-mrd-number-field{position:relative;display:flex;align-items:center}.mrd-number-field__input.sc-mrd-number-field{display:block;width:100%;height:var(--mrd-input-height);padding:var(--mrd-input-padding-y) var(--mrd-input-padding-x);font-family:var(--mrd-font-family);font-size:var(--mrd-font-size-base);color:var(--mrd-input-color);background-color:var(--mrd-input-bg);border:var(--mrd-border-width) solid var(--mrd-border-color);border-radius:var(--mrd-border-radius);transition:border-color var(--mrd-transition), box-shadow var(--mrd-transition);outline:none;appearance:none;box-sizing:border-box}.mrd-number-field__input.sc-mrd-number-field::placeholder{color:var(--mrd-input-placeholder-color)}.mrd-number-field__input.sc-mrd-number-field:focus{border-color:var(--mrd-border-color-focus);box-shadow:var(--mrd-shadow-focus)}.mrd-number-field__input.sc-mrd-number-field:disabled{background-color:var(--mrd-input-bg-disabled);cursor:not-allowed;opacity:0.7}.mrd-number-field__input--error.sc-mrd-number-field{border-color:var(--mrd-border-color-error)}.mrd-number-field__input--error.sc-mrd-number-field:focus{box-shadow:var(--mrd-shadow-focus-error)}.mrd-number-field__input.sc-mrd-number-field{text-align:right}.mrd-number-field__input.sc-mrd-number-field::placeholder{text-align:left}.mrd-number-field__error.sc-mrd-number-field{font-family:var(--mrd-font-family);font-size:var(--mrd-error-font-size);color:var(--mrd-error-color)}'}},[2,"mrd-number-field",{name:[1],label:[1],value:[2],placeholder:[1],required:[4],disabled:[4],locale:[1],dataType:[1,"data-type"],decimalPrecision:[2,"decimal-precision"],displayValue:[32],error:[32]}]);function p(){"undefined"!=typeof customElements&&["mrd-number-field"].forEach((r=>{"mrd-number-field"===r&&(customElements.get(s(r))||customElements.define(s(r),h))}))}export{h as M,p as d}
1
+ import{proxyCustomElement as r,HTMLElement as e,createEvent as i,h as t,Host as d,transformTag as a}from"@stencil/core/internal/client";import{t as s}from"./i18n.js";import{e as l,v as o,F as n,c as m,a as c}from"./field-helpers.js";import{p as u,f as h}from"./format.js";import{b as f}from"./client-layout.js";const b=r(class extends e{constructor(r){super(),!1!==r&&this.__registerHost(),this.mrdChange=i(this,"mrdChange",7),this.mrdBlur=i(this,"mrdBlur",7),this.name="",this.label="",this.value=null,this.placeholder="",this.required=!1,this.disabled=!1,this.locale=navigator.language,this.dataType=f.INTEGER,this.decimalPrecision=2,this.displayValue="",this.error="",this.focused=!1,this.handleInput=r=>{this.displayValue=r.target.value},this.handleBlur=r=>{this.focused=!1;const e=r.target.value,i=u(e,this.locale);this.error=!this.required||null!==i&&""!==e?""===e||l(i,this.dataType)?"":s("invalid_number",this.locale):s("required",this.locale),null!==i&&o(e)&&(this.displayValue=this.formatForDisplay(i)),this.mrdChange.emit({name:this.name,value:i}),this.mrdBlur.emit({name:this.name,value:i})},this.handleFocus=()=>{this.focused=!0;const r=u(this.displayValue,this.locale);null!==r&&(this.displayValue=h(r,this.locale,{useGrouping:!1,maximumFractionDigits:20}))}}componentWillLoad(){this.syncFromValue()}valueChanged(){this.focused||this.syncFromValue()}localeChanged(){this.focused||this.syncFromValue()}syncFromValue(){this.displayValue=null!=this.value?this.formatForDisplay(this.value):""}formatForDisplay(r){return this.dataType===f.PERCENTAGE?h(r,this.locale,{minimumFractionDigits:0,maximumFractionDigits:this.decimalPrecision})+"%":h(r,this.locale,this.dataType===f.DECIMAL?{minimumFractionDigits:this.decimalPrecision,maximumFractionDigits:this.decimalPrecision}:{maximumFractionDigits:0})}render(){const r=!!this.error,e=this.dataType===f.PERCENTAGE?"%":"";return t(d,{key:"7343dbca882b5054f22de17672ac748a8e3eca11"},t("div",{key:"cef10b39515b48fc9c44e651910c6a0c2a847628",class:"mrd-number-field"},t(n,{key:"66f178cf20f1f2f0587bd9614db150d6ae63023e",base:"mrd-number-field",label:this.label,required:this.required}),t("div",{key:"c57c22e663a570f6e5a70b07b817970f135e850c",class:"mrd-number-field__input-wrapper"},t("input",{key:"388b20ac11fa4aaf78df124c858b579e12f53619",class:m("mrd-number-field",r),type:"text",inputMode:"decimal",name:this.name,value:this.displayValue,placeholder:this.placeholder||(e?`0${e}`:"0"),required:this.required,disabled:this.disabled,onInput:this.handleInput,onBlur:this.handleBlur,onFocus:this.handleFocus})),t(c,{key:"f99bb85668b047a97162ffee2582eb45dc0589ae",base:"mrd-number-field",error:this.error})))}static get watchers(){return{value:[{valueChanged:0}],locale:[{localeChanged:0}]}}static get style(){return'.sc-mrd-number-field-h{display:block}.mrd-number-field.sc-mrd-number-field{display:flex;flex-direction:column;gap:var(--mrd-space-1);width:100%}.mrd-number-field__label.sc-mrd-number-field{display:block;font-family:var(--mrd-font-family);font-size:var(--mrd-label-font-size);font-weight:var(--mrd-label-font-weight);color:var(--mrd-label-color)}.mrd-number-field__label--required.sc-mrd-number-field::after{content:" *";color:var(--mrd-color-danger)}.mrd-number-field__input-wrapper.sc-mrd-number-field{position:relative;display:flex;align-items:center}.mrd-number-field__input.sc-mrd-number-field{display:block;width:100%;height:var(--mrd-input-height);padding:var(--mrd-input-padding-y) var(--mrd-input-padding-x);font-family:var(--mrd-font-family);font-size:var(--mrd-font-size-base);color:var(--mrd-input-color);background-color:var(--mrd-input-bg);border:var(--mrd-border-width) solid var(--mrd-border-color);border-radius:var(--mrd-border-radius);transition:border-color var(--mrd-transition), box-shadow var(--mrd-transition);outline:none;appearance:none;box-sizing:border-box}.mrd-number-field__input.sc-mrd-number-field::placeholder{color:var(--mrd-input-placeholder-color)}.mrd-number-field__input.sc-mrd-number-field:focus{border-color:var(--mrd-border-color-focus);box-shadow:var(--mrd-shadow-focus)}.mrd-number-field__input.sc-mrd-number-field:disabled{background-color:var(--mrd-input-bg-disabled);cursor:not-allowed;opacity:0.7}.mrd-number-field__input--error.sc-mrd-number-field{border-color:var(--mrd-border-color-error)}.mrd-number-field__input--error.sc-mrd-number-field:focus{box-shadow:var(--mrd-shadow-focus-error)}.mrd-number-field__input.sc-mrd-number-field{text-align:right}.mrd-number-field__input.sc-mrd-number-field::placeholder{text-align:left}.mrd-number-field__error.sc-mrd-number-field{font-family:var(--mrd-font-family);font-size:var(--mrd-error-font-size);color:var(--mrd-error-color)}'}},[2,"mrd-number-field",{name:[1],label:[1],value:[2],placeholder:[1],required:[4],disabled:[4],locale:[1],dataType:[1,"data-type"],decimalPrecision:[2,"decimal-precision"],displayValue:[32],error:[32]},void 0,{value:[{valueChanged:0}],locale:[{localeChanged:0}]}]);function p(){"undefined"!=typeof customElements&&["mrd-number-field"].forEach((r=>{"mrd-number-field"===r&&(customElements.get(a(r))||customElements.define(a(r),b))}))}export{b as M,p as d}