@mmlogic/components 0.4.2 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (98) hide show
  1. package/dist/cjs/client-layout-RZ3Ix-4a.js +87 -0
  2. package/dist/cjs/{index-CAzwGt9u.js → index-DzRfoAPz.js} +36 -9
  3. package/dist/cjs/index.cjs.js +56 -81
  4. package/dist/cjs/loader.cjs.js +2 -2
  5. package/dist/cjs/mosterdcomponents.cjs.js +3 -3
  6. package/dist/cjs/{mrd-boolean-field_24.cjs.entry.js → mrd-boolean-field_23.cjs.entry.js} +175 -287
  7. package/dist/collection/collection-manifest.json +1 -2
  8. package/dist/collection/components/documents/mrd-document-container/mrd-document-container.css +0 -17
  9. package/dist/collection/components/documents/mrd-document-container/mrd-document-container.js +20 -5
  10. package/dist/collection/components/documents/mrd-document-list/mrd-document-list.css +9 -43
  11. package/dist/collection/components/documents/mrd-document-list/mrd-document-list.js +36 -11
  12. package/dist/collection/components/documents/mrd-document-list/tree-view.js +1 -1
  13. package/dist/collection/components/documents/mrd-document-view/mrd-document-view.css +3 -44
  14. package/dist/collection/components/documents/mrd-document-view/mrd-document-view.js +37 -85
  15. package/dist/collection/components/fields/mrd-boolean-field/mrd-boolean-field.css +0 -10
  16. package/dist/collection/components/fields/mrd-currency-field/mrd-currency-field.css +0 -7
  17. package/dist/collection/components/fields/mrd-file-field/mrd-file-field.css +0 -11
  18. package/dist/collection/components/fields/mrd-hyperlink-field/mrd-hyperlink-field.css +0 -3
  19. package/dist/collection/components/fields/mrd-image-field/mrd-image-field.css +6 -20
  20. package/dist/collection/components/fields/mrd-list-field/mrd-list-field.css +0 -4
  21. package/dist/collection/components/fields/mrd-longtext-field/mrd-longtext-field.css +0 -1
  22. package/dist/collection/components/fields/mrd-relation-field/mrd-relation-field.css +9 -35
  23. package/dist/collection/components/fields/mrd-textarea-field/mrd-textarea-field.css +0 -9
  24. package/dist/collection/components/form/mrd-field/mrd-field.css +0 -13
  25. package/dist/collection/components/form/mrd-form/mrd-form.css +0 -19
  26. package/dist/collection/components/layout/mrd-layout-section/mrd-layout-section.css +3 -58
  27. package/dist/collection/components/layout/mrd-layout-section/mrd-layout-section.js +33 -67
  28. package/dist/collection/components/table/mrd-table/mrd-table.css +38 -185
  29. package/dist/collection/components/table/mrd-table/mrd-table.js +20 -6
  30. package/dist/collection/dev/app.js +80 -43
  31. package/dist/collection/index.js +1 -0
  32. package/dist/collection/utils/document-attachments.js +20 -0
  33. package/dist/collection/{components/documents/mrd-file-preview → utils}/file-preview-kind.js +4 -4
  34. package/dist/collection/utils/i18n.js +0 -32
  35. package/dist/collection/utils/query-params.js +0 -4
  36. package/dist/components/document-attachments.js +1 -0
  37. package/dist/components/field-helpers.js +1 -1
  38. package/dist/components/i18n.js +1 -1
  39. package/dist/components/index.js +1 -1
  40. package/dist/components/mrd-document-container2.js +1 -1
  41. package/dist/components/mrd-document-list2.js +1 -1
  42. package/dist/components/mrd-document-view2.js +1 -1
  43. package/dist/components/mrd-email-field2.js +1 -1
  44. package/dist/components/mrd-form.js +1 -1
  45. package/dist/components/mrd-hyperlink-field2.js +1 -1
  46. package/dist/components/mrd-image-field2.js +1 -1
  47. package/dist/components/mrd-layout-section.js +1 -1
  48. package/dist/components/mrd-number-field2.js +1 -1
  49. package/dist/components/mrd-relation-field2.js +1 -1
  50. package/dist/components/mrd-table2.js +1 -1
  51. package/dist/esm/client-layout-DCOAAH92.js +84 -0
  52. package/dist/esm/{index-DiSEJMA8.js → index-DiSe6vjv.js} +36 -9
  53. package/dist/esm/index.js +30 -80
  54. package/dist/esm/loader.js +3 -3
  55. package/dist/esm/mosterdcomponents.js +4 -4
  56. package/dist/esm/{mrd-boolean-field_24.entry.js → mrd-boolean-field_23.entry.js} +85 -196
  57. package/dist/mosterdcomponents/index.esm.js +1 -1
  58. package/dist/mosterdcomponents/mosterdcomponents.css +7 -1
  59. package/dist/mosterdcomponents/mosterdcomponents.esm.js +1 -1
  60. package/dist/mosterdcomponents/p-DCOAAH92.js +1 -0
  61. package/dist/mosterdcomponents/p-DiSe6vjv.js +2 -0
  62. package/dist/mosterdcomponents/p-b56f9802.entry.js +1 -0
  63. package/dist/types/components/documents/mrd-document-container/mrd-document-container.d.ts +6 -2
  64. package/dist/types/components/documents/mrd-document-list/mrd-document-list.d.ts +13 -2
  65. package/dist/types/components/documents/mrd-document-list/tree-view.d.ts +1 -1
  66. package/dist/types/components/documents/mrd-document-view/mrd-document-view.d.ts +21 -27
  67. package/dist/types/components/layout/mrd-layout-section/mrd-layout-section.d.ts +14 -15
  68. package/dist/types/components/table/mrd-table/mrd-table.d.ts +8 -2
  69. package/dist/types/components.d.ts +54 -190
  70. package/dist/types/index.d.ts +3 -0
  71. package/dist/types/stencil-public-runtime.d.ts +1 -0
  72. package/dist/types/types/client-layout.d.ts +8 -0
  73. package/dist/types/utils/document-attachments.d.ts +8 -0
  74. package/dist/types/utils/file-preview-kind.d.ts +9 -0
  75. package/dist/types/utils/query-params.d.ts +14 -0
  76. package/package.json +10 -12
  77. package/dist/collection/components/documents/mrd-file-preview/mrd-file-preview.css +0 -59
  78. package/dist/collection/components/documents/mrd-file-preview/mrd-file-preview.js +0 -212
  79. package/dist/components/mrd-file-preview.d.ts +0 -11
  80. package/dist/components/mrd-file-preview.js +0 -1
  81. package/dist/components/mrd-file-preview2.js +0 -1
  82. package/dist/mosterdcomponents/cell-renderer-PbcEU4ph.js.map +0 -1
  83. package/dist/mosterdcomponents/client-layout-DCOAAH92.js.map +0 -1
  84. package/dist/mosterdcomponents/field-helpers-CASS3akr.js.map +0 -1
  85. package/dist/mosterdcomponents/file-upload-common-D1ndi6cN.js.map +0 -1
  86. package/dist/mosterdcomponents/format-BAfsQfy1.js.map +0 -1
  87. package/dist/mosterdcomponents/i18n-B1IIkRF9.js.map +0 -1
  88. package/dist/mosterdcomponents/index-AokUFVX0.js.map +0 -1
  89. package/dist/mosterdcomponents/index-CprJSlzK.js.map +0 -1
  90. package/dist/mosterdcomponents/index.esm.js.map +0 -1
  91. package/dist/mosterdcomponents/mosterdcomponents.esm.js.map +0 -1
  92. package/dist/mosterdcomponents/p-DiSEJMA8.js +0 -2
  93. package/dist/mosterdcomponents/p-aae8a9dc.entry.js +0 -1
  94. package/dist/mosterdcomponents/query-params-B1HfnMOl.js.map +0 -1
  95. package/dist/mosterdcomponents/quill-C9pgw_k-.js.map +0 -1
  96. package/dist/mosterdcomponents/validation-DbEViuiw.js.map +0 -1
  97. package/dist/types/components/documents/mrd-file-preview/file-preview-kind.d.ts +0 -9
  98. package/dist/types/components/documents/mrd-file-preview/mrd-file-preview.d.ts +0 -41
@@ -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{f as a}from"./format.js";function u(t){if(null==t)return[];const i=String(t).trim();return""===i||"/"===i?[]:i.split("/").map((t=>t.trim())).filter(Boolean)}function m(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 h(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 v(t){let i=t.docCount;for(const s of t.children)i+=v(s);return t.totalCount=i,i}function f(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 _(t,i){if("container"===t.kind)return null;if(null!=t.fullPath&&""!==t.fullPath)return t.fullPath;const s=f(t,i);return s.length?"/"+s.join("/"):null}function p(t){return t.replace(/\.[^./\\]+$/,"")}function g(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 b(){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 y(i){return 0===i?null:t("span",{class:"mrd-document-list__indent",style:{width:18*i+"px"}})}function w(t){return 0===t?51:8+18*t+43}function k(i,s){return t("div",{class:"mrd-document-list__loading",key:"loading"},y(s),t("span",{class:"mrd-document-list__spinner"}),d("loading",i.locale))}function D(i,s,o,r,n){var e,d,l,c,u;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?a(h,i.locale):"";return t("div",{class:"mrd-document-list__row mrd-document-list__row--doc",key:null!==(u=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!==u?u:m,draggable:!0,onClick:()=>i.on.openDoc(s),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)},y(n),g(!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 x(i,s,o,r){const n=[];if(o.hasDocs)if(o.docsLoaded)for(const t of o.docs)n.push(D(i,t,o,s,r));else o.loading&&n.push(k(i,r));for(const t of o.children)n.push(C(i,s,t,r));return o.id===i.uploadingNodeId&&n.push(function(i,s){return t("div",{class:"mrd-document-list__loading",key:"uploading"},y(s),t("span",{class:"mrd-document-list__spinner"}),d("upload_file",i.locale))}(i,r)),n}function C(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"},y(o),g(!1,!0),b(),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:`${w(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)},y(r),g(o.open,n),b(),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"},x(i,s,o,r+1)))}const F=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.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.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=h(`${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=m(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))}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()})}emitDocuments(t,i){var s,o;const r=this.baseParams();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:""),i.loading=!0,this.mrdLoadPage.emit({nodeId:i.id,page:0,sort:"",path:this.buildDataPath(),qs:r.toString()})}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=m(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=u(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=h(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}v(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=[...f(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.pendingUpload={file:n,node:i,container:s},i.open=!0,this.uploadingNodeId=i.id,this.bump(),this.mrdUpload.emit({file:n}))}async setFileReference(t){const i=this.pendingUpload;if(!i)return;const{file:s,node:o,container:r}=i,n=_(o,r),e={[this.fileField]:t,[this.titleField]:p(s.name),[this.folderField]:n};this.isSeededSingleContainer()||(e[this.containerField]=r.href),this.mrdCreateObject.emit({path:this.buildCreatePath(),values:e});const d={[this.titleField]:p(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=_(t,i),l=_(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?v(t):t.totalCount=Math.max(0,t.totalCount+i)}openDoc(t){var i,s,o,r;const n=null===(s=null===(i=null==t?void 0:t._links)||void 0===i?void 0:i.self)||void 0===s?void 0:s.href,e=null!==(r=null!==(o=null==t?void 0:t[this.titleField])&&void 0!==o?o:null==t?void 0:t.name)&&void 0!==r?r:"";this.mrdNavigate.emit({href:n,label:e})}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=>this.openDoc(t),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=k(i,0);else if(0===this.containers.length)s=t("div",{key:"ce40dab51ab61447838e5059159ae4778209a6f3",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=k(i,0);else{const r=x(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)},y(o),g(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?k(i,o+1):x(i,s,s,o+1)))}(i,s,0)));return t(r,{key:"9e1f7805ae18bce506c530a481db902900ad95f3"},t("div",{key:"a51334634e94310a71650ad49f17f0a20e2aed4d",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'@charset "UTF-8";.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__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__row--dossier.sc-mrd-document-list .mrd-document-list__label.sc-mrd-document-list{font-weight:var(--mrd-font-weight-semibold)}.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}@keyframes mrd-document-list-spin{to{transform:rotate(360deg)}}.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)}'}},[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],setFileReference:[64],setCreatedHref:[64]}]);function z(){"undefined"!=typeof customElements&&["mrd-document-list"].forEach((t=>{"mrd-document-list"===t&&(customElements.get(n(t))||customElements.define(n(t),F))}))}F.ROOT="__root__";export{F as M,z 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{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.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.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))}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.pendingUpload={file:n,node:i,container:s},i.open=!0,this.uploadingNodeId=i.id,this.bump(),this.mrdUpload.emit({file:n}))}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:"308725d741deb384082bd514edd34593f7d662a2",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:"9d5fde912999b57a0f0b737980d59e94f385f11d"},t("div",{key:"17191411c2e626995f08b66bad755342fe3b13ae",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],setFileReference:[64],setCreatedHref:[64]}]);function I(){"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,I as d}
@@ -1 +1 @@
1
- import{proxyCustomElement as e,HTMLElement as r,createEvent as d,h as i,Host as t,transformTag as o}from"@stencil/core/internal/client";import{t as n}from"./i18n.js";import{f as m}from"./format.js";import{d as a}from"./mrd-file-preview2.js";const c=e(class extends r{constructor(e){super(),!1!==e&&this.__registerHost(),this.mrdNavigate=d(this,"mrdNavigate",7),this.mrdDownload=d(this,"mrdDownload",7),this.mrdLoadPreview=d(this,"mrdLoadPreview",7),this.data={},this.locale=navigator.language,this.previewUrl="",this.previewHeight=640,this.lastPreviewHref=null}componentDidLoad(){this.requestPreviewIfNeeded()}dataChanged(){this.requestPreviewIfNeeded()}requestPreviewIfNeeded(){var e,r;const d=null!==(r=null===(e=this.slotValue("file"))||void 0===e?void 0:e.href)&&void 0!==r?r:null;d&&d!==this.lastPreviewHref&&(this.lastPreviewHref=d,this.mrdLoadPreview.emit({href:d}))}slotValue(e){var r,d;const i=null===(d=null===(r=this.archetype)||void 0===r?void 0:r.slots)||void 0===d?void 0:d[e];if(i)return this.data[i]}slotLink(e){var r,d,i,t;const o=null===(d=null===(r=this.archetype)||void 0===r?void 0:r.slots)||void 0===d?void 0:d[e];if(o)return(null!==(t=null===(i=this.data)||void 0===i?void 0:i._links)&&void 0!==t?t:{})[o]}renderContainer(){const e=this.slotLink("container");return(null==e?void 0:e.href)&&e.name?i("button",{class:"mrd-document-view__crumb",onClick:()=>this.mrdNavigate.emit({href:e.href,label:e.name})},i("svg",{class:"mrd-document-view__crumb-icon",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},i("path",{d:"M19 12H5M12 19l-7-7 7-7"})),e.name):null}renderFileMeta(e,r){return i("div",{class:"mrd-document-view__file-meta"},i("span",{class:"mrd-document-view__file-name"},e),r&&i("button",{type:"button",class:"mrd-document-view__download",onClick:()=>this.mrdDownload.emit({href:r,fileName:e})},i("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},i("path",{d:"M12 3v12m0 0l-4-4m4 4l4-4M4 21h16"})),n("download",this.locale)))}renderPreviewPanel(e,r,d){return r?i("div",{class:"mrd-document-view__preview",style:{minHeight:`${this.previewHeight}px`}},this.previewUrl?i("mrd-file-preview",{src:this.previewUrl,mimeType:d,fileName:e,href:r,locale:this.locale,onMrdDownload:e=>{e.stopPropagation(),this.mrdDownload.emit(e.detail)},onMrdPreviewReload:e=>{e.stopPropagation(),this.mrdLoadPreview.emit({href:r})}}):i("div",{class:"mrd-document-view__preview-loading"},n("loading",this.locale))):null}render(){var e,r,d,o;const n=this.slotValue("title"),a=null!=n&&""!==n?String(n):null,c=this.slotValue("date"),l=null!=c&&""!==c?m(c,this.locale):null,s=this.slotValue("summary"),v=null!=s&&""!==s?String(s):null,u=this.slotValue("file"),w=null!==(e=null==u?void 0:u.href)&&void 0!==e?e:"",h=null!==(r=null==u?void 0:u.fileName)&&void 0!==r?r:u?String(u):"",f=null!==(o=null!==(d=null==u?void 0:u.mimeType)&&void 0!==d?d:null==u?void 0:u.contentType)&&void 0!==o?o:"";return i(t,{key:"6023c8c6ca3d780fd4a9cca41189cb05a151221e"},i("div",{key:"d7d39d62964583da0ca6c1494e75321e6bab9ac8",class:"mrd-document-view"},i("div",{key:"9aa14569c9ffc785ffb4f2b3d5930cf3e822e246",class:"mrd-document-view__body"},i("div",{key:"e00f3b55551429d8522fb97e7ccb43d56e98042d",class:"mrd-document-view__meta"},this.renderContainer(),a&&i("h1",{key:"9860273878b245fc757eb690c6cd7006b13045c4",class:"mrd-document-view__title"},a),l&&i("p",{key:"84c60b0b6feb6678d661000c26050e42eaaa8399",class:"mrd-document-view__date"},l),u&&this.renderFileMeta(h,w),v&&i("div",{key:"d1cff0cc1b9376409c8e04a785deba93c986ba47",class:"mrd-document-view__summary"},i("div",{key:"fc9c4b986afc8c4f50486caf85bf58860d641a2b",class:"mrd-document-view__summary-body",innerHTML:v}))),u&&this.renderPreviewPanel(h,w,f))))}static get watchers(){return{data:[{dataChanged:0}]}}static get style(){return".sc-mrd-document-view-h{display:block;container-type:inline-size;container-name:mrd-document-view}.mrd-document-view.sc-mrd-document-view{max-width:1200px}.mrd-document-view__body.sc-mrd-document-view{display:grid;grid-template-columns:1fr;gap:var(--mrd-space-6)}@container mrd-document-view (min-width: 640px){.mrd-document-view__body{grid-template-columns:minmax(220px, 320px) 1fr !important;align-items:stretch !important}.mrd-document-view__crumb{margin-bottom:var(--mrd-space-2) !important}}.mrd-document-view__crumb.sc-mrd-document-view{display:inline-flex;align-items:center;gap:var(--mrd-space-2);margin-bottom:var(--mrd-space-4);padding:var(--mrd-space-1) var(--mrd-space-3);background:var(--mrd-color-primary-light);border:1px solid transparent;border-radius:var(--mrd-border-radius);font-family:var(--mrd-font-family);font-size:var(--mrd-font-size-sm);color:var(--mrd-color-primary-dark);cursor:pointer}.mrd-document-view__crumb.sc-mrd-document-view:hover{border-color:var(--mrd-color-primary)}.mrd-document-view__crumb-icon.sc-mrd-document-view{width:0.875rem;height:0.875rem;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;gap:var(--mrd-space-4);margin-bottom:var(--mrd-space-2)}.mrd-document-view__file-name.sc-mrd-document-view{flex:1;min-width:0;font-weight:var(--mrd-font-weight-semibold);font-size:var(--mrd-font-size-sm);color:var(--mrd-color-neutral-800);word-break:break-word}.mrd-document-view__preview.sc-mrd-document-view{width:100%;overflow:hidden;border:1px solid var(--mrd-border-color);border-radius:var(--mrd-border-radius-md);background:var(--mrd-color-neutral-50)}.mrd-document-view__preview-loading.sc-mrd-document-view{display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:var(--mrd-color-neutral-500);font-size:var(--mrd-font-size-sm)}.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],previewUrl:[1,"preview-url"],previewHeight:[2,"preview-height"]},void 0,{data:[{dataChanged:0}]}]);function l(){"undefined"!=typeof customElements&&["mrd-document-view","mrd-file-preview"].forEach((e=>{switch(e){case"mrd-document-view":customElements.get(o(e))||customElements.define(o(e),c);break;case"mrd-file-preview":customElements.get(o(e))||a()}}))}export{c as M,l as d}
1
+ import{proxyCustomElement as e,HTMLElement as r,createEvent as d,h as t,Host as o,transformTag as i}from"@stencil/core/internal/client";import{t as n}from"./i18n.js";import{f as a}from"./format.js";import{a as m}from"./document-attachments.js";const c=e(class extends r{constructor(e){super(),!1!==e&&this.__registerHost(),this.mrdNavigate=d(this,"mrdNavigate",7),this.mrdDownload=d(this,"mrdDownload",7),this.mrdAttachments=d(this,"mrdAttachments",7),this.data={},this.locale=navigator.language,this.lastAttachmentHref=null}componentDidLoad(){this.emitAttachmentsIfNeeded()}dataChanged(){this.emitAttachmentsIfNeeded()}emitAttachmentsIfNeeded(){var e,r;const d=m(this.archetype,this.data),t=null!==(r=null===(e=d[0])||void 0===e?void 0:e.href)&&void 0!==r?r:null;t!==this.lastAttachmentHref&&(this.lastAttachmentHref=t,this.mrdAttachments.emit({attachments:d}))}slotValue(e){var r,d;const t=null===(d=null===(r=this.archetype)||void 0===r?void 0:r.slots)||void 0===d?void 0:d[e];if(t)return this.data[t]}slotLink(e){var r,d,t,o;const i=null===(d=null===(r=this.archetype)||void 0===r?void 0:r.slots)||void 0===d?void 0:d[e];if(i)return(null!==(o=null===(t=this.data)||void 0===t?void 0:t._links)&&void 0!==o?o:{})[i]}renderContainer(){const e=this.slotLink("container");return(null==e?void 0:e.href)&&e.name?t("button",{class:"mrd-document-view__crumb",onClick:()=>this.mrdNavigate.emit({href:e.href,label:e.name})},t("svg",{class:"mrd-document-view__crumb-icon",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},t("path",{d:"M19 12H5M12 19l-7-7 7-7"})),e.name):null}renderFileMeta(e,r){return t("div",{class:"mrd-document-view__file-meta"},t("span",{class:"mrd-document-view__file-name"},e),r&&t("button",{type:"button",class:"mrd-document-view__download",onClick:()=>this.mrdDownload.emit({href:r,fileName:e})},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:"M12 3v12m0 0l-4-4m4 4l4-4M4 21h16"})),n("download",this.locale)))}render(){var e,r;const d=this.slotValue("title"),i=null!=d&&""!==d?String(d):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 t(o,{key:"e25995d61813ad0d285497c0abe74de0c1624cea"},t("div",{key:"1d8e6c12c5db53bffd28b4bcff84a950c22cc8d8",class:"mrd-document-view"},t("div",{key:"b583648e524acd8156f92989b685b6343164738c",class:"mrd-document-view__body"},t("div",{key:"8992b15a52edd64e2f0fd3269213302ab3989a20",class:"mrd-document-view__meta"},this.renderContainer(),i&&t("h1",{key:"0742816ed6ac927fa12410d723c9b0b8470800c7",class:"mrd-document-view__title"},i),m&&t("p",{key:"4803d2773ef904e3788a865db8e4653e5cb9d8df",class:"mrd-document-view__date"},m),l&&this.renderFileMeta(v,u),s&&t("div",{key:"502e9e844d474b692246e36c96245ba5321d2a9e",class:"mrd-document-view__summary"},t("div",{key:"b37d4c9cb9bc65c5abb0a4e1809e285032868e2c",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__crumb.sc-mrd-document-view{display:inline-flex;align-items:center;gap:var(--mrd-space-2);margin-bottom:var(--mrd-space-4);padding:var(--mrd-space-1) var(--mrd-space-3);background:var(--mrd-color-primary-light);border:1px solid transparent;border-radius:var(--mrd-border-radius);font-family:var(--mrd-font-family);font-size:var(--mrd-font-size-sm);color:var(--mrd-color-primary-dark);cursor:pointer}.mrd-document-view__crumb.sc-mrd-document-view:hover{border-color:var(--mrd-color-primary)}.mrd-document-view__crumb-icon.sc-mrd-document-view{width:0.875rem;height:0.875rem;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;gap:var(--mrd-space-4);margin-bottom:var(--mrd-space-2)}.mrd-document-view__file-name.sc-mrd-document-view{flex:1;min-width:0;font-weight:var(--mrd-font-weight-semibold);font-size:var(--mrd-font-size-sm);color:var(--mrd-color-neutral-800);word-break:break-word}.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 s(){"undefined"!=typeof customElements&&["mrd-document-view"].forEach((e=>{"mrd-document-view"===e&&(customElements.get(i(e))||customElements.define(i(e),c))}))}export{c as M,s as d}
@@ -1 +1 @@
1
- import{proxyCustomElement as r,HTMLElement as e,createEvent as i,h as d,Host as a,transformTag as l}from"@stencil/core/internal/client";import{t as o}from"./i18n.js";import{r as m,v as s,F as t,c as n,a as c}from"./field-helpers.js";const f=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="",this.placeholder="",this.required=!1,this.disabled=!1,this.locale=navigator.language,this.error="",this.handleInput=r=>{this.mrdChange.emit({name:this.name,value:r.target.value})},this.handleBlur=r=>{const e=r.target.value;this.error=m(e,this.required,this.locale)||(e&&!s(e)?o("invalid_email",this.locale):""),this.mrdBlur.emit({name:this.name,value:e})}}render(){return d(a,{key:"e113fb3958c06ee4d4e870b6005e07b1793835a1"},d("div",{key:"9393b859167f1474d944575f464e1523f1dcf469",class:"mrd-email-field"},d(t,{key:"57c134921adb7f941c19d2fa36cce213bc12ae1e",base:"mrd-email-field",label:this.label,required:this.required}),d("input",{key:"67496689526d2fa96a087b00a9436e9de4d69415",class:n("mrd-email-field",!!this.error),type:"email",name:this.name,value:this.value,placeholder:this.placeholder||"name@example.com",required:this.required,disabled:this.disabled,onInput:this.handleInput,onBlur:this.handleBlur}),d(c,{key:"5a151c2995db77771fe8f98a24c627b0060f655a",base:"mrd-email-field",error:this.error})))}static get style(){return'.sc-mrd-email-field-h{display:block}.mrd-email-field.sc-mrd-email-field{display:flex;flex-direction:column;gap:var(--mrd-space-1);width:100%}.mrd-email-field__label.sc-mrd-email-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-email-field__label--required.sc-mrd-email-field::after{content:" *";color:var(--mrd-color-danger)}.mrd-email-field__input.sc-mrd-email-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-email-field__input.sc-mrd-email-field::placeholder{color:var(--mrd-input-placeholder-color)}.mrd-email-field__input.sc-mrd-email-field:focus{border-color:var(--mrd-border-color-focus);box-shadow:var(--mrd-shadow-focus)}.mrd-email-field__input.sc-mrd-email-field:disabled{background-color:var(--mrd-input-bg-disabled);cursor:not-allowed;opacity:0.7}.mrd-email-field__input--error.sc-mrd-email-field{border-color:var(--mrd-border-color-error)}.mrd-email-field__input--error.sc-mrd-email-field:focus{box-shadow:var(--mrd-shadow-focus-error)}.mrd-email-field__error.sc-mrd-email-field{font-family:var(--mrd-font-family);font-size:var(--mrd-error-font-size);color:var(--mrd-error-color)}'}},[2,"mrd-email-field",{name:[1],label:[1],value:[1],placeholder:[1],required:[4],disabled:[4],locale:[1],error:[32]}]);function h(){"undefined"!=typeof customElements&&["mrd-email-field"].forEach((r=>{"mrd-email-field"===r&&(customElements.get(l(r))||customElements.define(l(r),f))}))}export{f as M,h as d}
1
+ import{proxyCustomElement as r,HTMLElement as e,createEvent as i,h as d,Host as a,transformTag as l}from"@stencil/core/internal/client";import{t as o}from"./i18n.js";import{r as m,b as s,F as t,c as n,a as c}from"./field-helpers.js";const f=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="",this.placeholder="",this.required=!1,this.disabled=!1,this.locale=navigator.language,this.error="",this.handleInput=r=>{this.mrdChange.emit({name:this.name,value:r.target.value})},this.handleBlur=r=>{const e=r.target.value;this.error=m(e,this.required,this.locale)||(e&&!s(e)?o("invalid_email",this.locale):""),this.mrdBlur.emit({name:this.name,value:e})}}render(){return d(a,{key:"e113fb3958c06ee4d4e870b6005e07b1793835a1"},d("div",{key:"9393b859167f1474d944575f464e1523f1dcf469",class:"mrd-email-field"},d(t,{key:"57c134921adb7f941c19d2fa36cce213bc12ae1e",base:"mrd-email-field",label:this.label,required:this.required}),d("input",{key:"67496689526d2fa96a087b00a9436e9de4d69415",class:n("mrd-email-field",!!this.error),type:"email",name:this.name,value:this.value,placeholder:this.placeholder||"name@example.com",required:this.required,disabled:this.disabled,onInput:this.handleInput,onBlur:this.handleBlur}),d(c,{key:"5a151c2995db77771fe8f98a24c627b0060f655a",base:"mrd-email-field",error:this.error})))}static get style(){return'.sc-mrd-email-field-h{display:block}.mrd-email-field.sc-mrd-email-field{display:flex;flex-direction:column;gap:var(--mrd-space-1);width:100%}.mrd-email-field__label.sc-mrd-email-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-email-field__label--required.sc-mrd-email-field::after{content:" *";color:var(--mrd-color-danger)}.mrd-email-field__input.sc-mrd-email-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-email-field__input.sc-mrd-email-field::placeholder{color:var(--mrd-input-placeholder-color)}.mrd-email-field__input.sc-mrd-email-field:focus{border-color:var(--mrd-border-color-focus);box-shadow:var(--mrd-shadow-focus)}.mrd-email-field__input.sc-mrd-email-field:disabled{background-color:var(--mrd-input-bg-disabled);cursor:not-allowed;opacity:0.7}.mrd-email-field__input--error.sc-mrd-email-field{border-color:var(--mrd-border-color-error)}.mrd-email-field__input--error.sc-mrd-email-field:focus{box-shadow:var(--mrd-shadow-focus-error)}.mrd-email-field__error.sc-mrd-email-field{font-family:var(--mrd-font-family);font-size:var(--mrd-error-font-size);color:var(--mrd-error-color)}'}},[2,"mrd-email-field",{name:[1],label:[1],value:[1],placeholder:[1],required:[4],disabled:[4],locale:[1],error:[32]}]);function h(){"undefined"!=typeof customElements&&["mrd-email-field"].forEach((r=>{"mrd-email-field"===r&&(customElements.get(l(r))||customElements.define(l(r),f))}))}export{f as M,h as d}
@@ -1 +1 @@
1
- import{proxyCustomElement as r,HTMLElement as e,createEvent as t,h as i,Host as o,transformTag as s}from"@stencil/core/internal/client";import{a as d,d as m}from"./client-layout.js";import{t as l}from"./i18n.js";import{e as a}from"./field-helpers.js";import{d as n}from"./mrd-boolean-field2.js";import{d as c}from"./mrd-currency-field2.js";import{d as f}from"./mrd-date-field2.js";import{d as u}from"./mrd-datetime-field2.js";import{d as h}from"./mrd-email-field2.js";import{d as v}from"./mrd-field2.js";import{d as p}from"./mrd-file-field2.js";import{d as b}from"./mrd-hyperlink-field2.js";import{d as g}from"./mrd-image-field2.js";import{d as _}from"./mrd-list-field2.js";import{d as y}from"./mrd-longtext-field2.js";import{d as j}from"./mrd-number-field2.js";import{d as k}from"./mrd-relation-field2.js";import{d as x}from"./mrd-secret-field2.js";import{d as w}from"./mrd-text-field2.js";import{d as O}from"./mrd-textarea-field2.js";import{d as E}from"./mrd-time-field2.js";const C=r(class extends e{constructor(r){super(),!1!==r&&this.__registerHost(),this.mrdSubmit=t(this,"mrdSubmit",7),this.mrdCancel=t(this,"mrdCancel",7),this.mrdSearch=t(this,"mrdSearch",7),this.mrdFetchAll=t(this,"mrdFetchAll",7),this.mrdUpload=t(this,"mrdUpload",7),this.locale=navigator.language,this.values={},this.referenceHref="",this.referenceClass="",this.showCancel=!1,this.me=null,this.formValues={},this.errors={},this.submitted=!1,this.initialValues={},this.handleFieldChange=r=>{const{name:e,value:t}=r.detail,i=this.getHref(this.formValues[e]);this.formValues=Object.assign(Object.assign({},this.formValues),{[e]:t}),this.errors[e]&&(this.errors=Object.assign(Object.assign({},this.errors),{[e]:""}));const o=this.getHref(t);if(o!==i)for(const r of this.collectDependentDropdowns())r.commonRelation===e&&(this.formValues=Object.assign(Object.assign({},this.formValues),{[r.name]:null}),this.mrdFetchAll.emit({name:r.name,relatedClass:r.relatedClass,mostSignificantClass:r.mostSignificantClass,commonRelation:r.commonRelation,filter:r.commonRelation+"_href",filterValue:o}))},this.handleSearch=r=>{r.stopPropagation(),this.mrdSearch.emit(r.detail)},this.handleFetchAll=r=>{r.stopPropagation(),this.mrdFetchAll.emit(r.detail)},this.handleUpload=r=>{r.stopPropagation(),this.mrdUpload.emit(r.detail)},this.handleSubmit=r=>{r.preventDefault(),this.submitted=!0,this.validate()&&this.mrdSubmit.emit(this.buildSubmitPayload())}}componentWillLoad(){var r,e;this.initialValues=Object.assign({},null!==(r=this.values)&&void 0!==r?r:{}),this.formValues=Object.assign({},null!==(e=this.values)&&void 0!==e?e:{}),this.applyDefaultValues()}componentDidLoad(){setTimeout((()=>{this.applyReferenceValue(),this.emitDependentFetchAll()}),0)}valuesChanged(r){this.initialValues=Object.assign({},null!=r?r:{}),this.formValues=Object.assign({},null!=r?r:{}),this.applyReferenceValue(),this.applyDefaultValues(),this.errors={},this.submitted=!1,setTimeout((()=>this.emitDependentFetchAll()),0)}meChanged(){this.applyDefaultValues()}applyDefaultValues(){var r,e,t,i,o,s,m,l;const a=this.collectFields(null!==(e=null===(r=this.layout)||void 0===r?void 0:r.items)&&void 0!==e?e:[]),n={};for(const r of a){if(!r.name)continue;const e=this.formValues[r.name];if(null!=e&&""!==e)continue;const a=null!==(o=null!==(t=r.defaultValue)&&void 0!==t?t:null===(i=r.field)||void 0===i?void 0:i.defaultValue)&&void 0!==o?o:null===(s=r.relation)||void 0===s?void 0:s.defaultValue;if(a)if(r.type===d.FIELD){const e=this.resolveFieldDefault(a,null!==(m=r.dataType)&&void 0!==m?m:null===(l=r.field)||void 0===l?void 0:l.dataType);null!=e&&(n[r.name]=e)}else r.type===d.RELATION&&"me()"===a&&this.me&&(n[r.name]=this.me)}Object.keys(n).length>0&&(this.formValues=Object.assign(Object.assign({},this.formValues),n))}resolveFieldDefault(r,e){return"today()"===r?(new Date).toISOString().slice(0,10):"now()"===r?(new Date).toISOString().replace(/\.\d{3}Z$/,"Z"):r}applyReferenceValue(){if(!this.referenceHref||!this.referenceClass)return;const r=this.resolveReferenceFieldName();r&&(this.formValues[r]||(this.formValues=Object.assign(Object.assign({},this.formValues),{[r]:this.referenceHref})))}resolveReferenceFieldName(){var r,e;const t=this.collectFields(null!==(e=null===(r=this.layout)||void 0===r?void 0:r.items)&&void 0!==e?e:[]),i=t.find((r=>r.type===d.RELATION&&r.mostSignificantClass===this.referenceClass));if(null==i?void 0:i.name)return i.name;const o=new Set(t.filter((r=>r.type===d.RELATION)).map((r=>r.name)));for(const r of t)if(r.type===d.RELATION&&r.editBehavior===m.DROPDOWN&&r.commonRelation&&!o.has(r.commonRelation))return r.commonRelation;return null}async setFieldValue(r,e){this.formValues=Object.assign(Object.assign({},this.formValues),{[r]:e}),this.errors[r]&&(this.errors=Object.assign(Object.assign({},this.errors),{[r]:""}))}collectDependentDropdowns(){var r,e;return this.collectFields(null!==(e=null===(r=this.layout)||void 0===r?void 0:r.items)&&void 0!==e?e:[]).filter((r=>r.type===d.RELATION&&r.editBehavior===m.DROPDOWN&&!!r.commonRelation))}emitDependentFetchAll(){for(const r of this.collectDependentDropdowns()){const e=this.getHref(this.formValues[r.commonRelation]);e&&this.mrdFetchAll.emit({name:r.name,relatedClass:r.relatedClass,mostSignificantClass:r.mostSignificantClass,commonRelation:r.commonRelation,filter:r.commonRelation+"_href",filterValue:e})}}getHref(r){return r?"string"==typeof r?r:"object"==typeof r&&"id"in r?r.id:"":""}collectFields(r){const e=[];for(const t of r)t.type!==d.FIELD&&t.type!==d.RELATION||e.push(t),t.items&&e.push(...this.collectFields(t.items));return e}validate(){var r,e;const t={},i=this.collectFields(null!==(e=null===(r=this.layout)||void 0===r?void 0:r.items)&&void 0!==e?e:[]);for(const r of i)r.name&&r.required&&!a(this.formValues[r.name])&&(t[r.name]=l("required",this.locale));return this.errors=t,0===Object.keys(t).length}normalizeFieldValue(r){return""===r||null==r?null:r}normalizeRelationValue(r){return null==r||""===r?null:"string"==typeof r?r||null:Array.isArray(r)?r.map((r=>"object"==typeof r&&null!==r&&"id"in r?r.id:r+"")):"object"==typeof r&&"id"in r&&r.id||null}deepEqual(r,e){if(r===e)return!0;if(null==r&&null==e)return!0;if(null==r||null==e)return!1;if(Array.isArray(r)&&Array.isArray(e)){if(r.length!==e.length)return!1;const t=[...r].sort(),i=[...e].sort();return JSON.stringify(t)===JSON.stringify(i)}return JSON.stringify(r)===JSON.stringify(e)}buildSubmitPayload(){var r,e;const t={},i=this.collectFields(null!==(e=null===(r=this.layout)||void 0===r?void 0:r.items)&&void 0!==e?e:[]);for(const r of i){if(!r.name)continue;const e=r.name;if(r.type===d.FIELD){const r=this.formValues[e];if(r instanceof File)continue;const i=this.normalizeFieldValue(r),o=this.normalizeFieldValue(this.initialValues[e]);if(this.deepEqual(i,o))continue;t[e]=i}else if(r.type===d.RELATION){const r=this.normalizeRelationValue(this.formValues[e]),i=this.normalizeRelationValue(this.initialValues[e]);if(this.deepEqual(r,i))continue;t[e]=r}}return t}renderItems(r){return r.map((r=>{var e;if(r.type===d.SECTION)return i("fieldset",{class:"mrd-form__section"},r.label&&i("legend",{class:"mrd-form__section-legend"},r.label),i("div",{class:"mrd-form__section-body"},r.items&&this.renderItems(r.items)));if(r.type===d.GROUP)return i("div",{class:"mrd-form__group"},r.label&&i("div",{class:"mrd-form__group-label"},r.label),i("div",{class:"mrd-form__group-body"},r.items&&this.renderItems(r.items)));const t=null!==(e=r.name)&&void 0!==e?e:"";return i("div",{class:"mrd-form__field"},i("mrd-field",{item:r,locale:this.locale,value:this.formValues[t],onMrdChange:this.handleFieldChange,onMrdBlur:this.handleFieldChange,onMrdSearch:this.handleSearch,onMrdFetchAll:this.handleFetchAll,onMrdUpload:this.handleUpload}),this.errors[t]&&i("span",{class:"mrd-form__field-error"},this.errors[t]))}))}render(){if(!this.layout)return i(o,null);const r=this.locale.startsWith("ar")?"rtl":"ltr";return i(o,null,i("form",{class:"mrd-form",dir:r,onSubmit:this.handleSubmit,noValidate:!0},this.layout.title&&i("h2",{class:"mrd-form__title"},this.layout.title),i("div",{class:"mrd-form__body"},this.renderItems(this.layout.items)),i("div",{class:"mrd-form__footer"},i("button",{type:"submit",class:"mrd-form__submit"},l("submit",this.locale)),this.showCancel&&i("button",{type:"button",class:"mrd-form__cancel",onClick:()=>this.mrdCancel.emit()},l("cancel",this.locale)))))}static get watchers(){return{values:[{valuesChanged:0}],me:[{meChanged:0}]}}static get style(){return".sc-mrd-form-h{display:block}.mrd-form.sc-mrd-form{font-family:var(--mrd-font-family);width:100%}.mrd-form__title.sc-mrd-form{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-6) 0}.mrd-form__body.sc-mrd-form{display:flex;flex-direction:column;gap:var(--mrd-space-5)}.mrd-form__field.sc-mrd-form{display:flex;flex-direction:column;gap:var(--mrd-space-1)}.mrd-form__field-error.sc-mrd-form{font-family:var(--mrd-font-family);font-size:var(--mrd-error-font-size);color:var(--mrd-error-color)}.mrd-form__section.sc-mrd-form{border:var(--mrd-border-width) solid var(--mrd-border-color);border-radius:var(--mrd-border-radius-md);padding:var(--mrd-space-4) var(--mrd-space-5);margin:0}.mrd-form__section-legend.sc-mrd-form{font-family:var(--mrd-font-family);font-size:var(--mrd-font-size-base);font-weight:var(--mrd-font-weight-semibold);color:var(--mrd-color-neutral-700);padding:0 var(--mrd-space-2)}.mrd-form__section-body.sc-mrd-form{display:flex;flex-direction:column;gap:var(--mrd-space-4);margin-top:var(--mrd-space-2)}.mrd-form__group.sc-mrd-form{display:flex;flex-direction:column;gap:var(--mrd-space-2)}.mrd-form__group-label.sc-mrd-form{font-family:var(--mrd-font-family);font-size:var(--mrd-font-size-sm);font-weight:var(--mrd-font-weight-semibold);color:var(--mrd-color-neutral-500);text-transform:uppercase;letter-spacing:0.05em}.mrd-form__group-body.sc-mrd-form{display:flex;flex-direction:column;gap:var(--mrd-space-4);padding-left:var(--mrd-space-4);border-left:3px solid var(--mrd-color-neutral-200)}.mrd-form__footer.sc-mrd-form{margin-top:var(--mrd-space-8);padding-top:var(--mrd-space-5);border-top:var(--mrd-border-width) solid var(--mrd-border-color);display:flex;justify-content:flex-end;gap:var(--mrd-space-3)}.mrd-form__submit.sc-mrd-form{display:inline-flex;align-items:center;justify-content:center;height:var(--mrd-input-height);padding:0 var(--mrd-space-6);background-color:var(--mrd-color-primary);color:var(--mrd-color-white);font-family:var(--mrd-font-family);font-size:var(--mrd-font-size-base);font-weight:var(--mrd-font-weight-medium);border:none;border-radius:var(--mrd-border-radius);cursor:pointer;transition:background-color var(--mrd-transition)}.mrd-form__submit.sc-mrd-form:hover{background-color:var(--mrd-color-primary-hover)}.mrd-form__submit.sc-mrd-form:focus{outline:none;box-shadow:var(--mrd-shadow-focus)}.mrd-form__submit.sc-mrd-form:active{background-color:var(--mrd-color-primary-dark)}.mrd-form__cancel.sc-mrd-form{display:inline-flex;align-items:center;justify-content:center;height:var(--mrd-input-height);padding:0 var(--mrd-space-6);background-color:transparent;color:var(--mrd-color-neutral-600);font-family:var(--mrd-font-family);font-size:var(--mrd-font-size-base);font-weight:var(--mrd-font-weight-medium);border:var(--mrd-border-width) solid var(--mrd-border-color);border-radius:var(--mrd-border-radius);cursor:pointer;transition:background-color var(--mrd-transition), color var(--mrd-transition)}.mrd-form__cancel.sc-mrd-form:hover{background-color:var(--mrd-color-neutral-100);color:var(--mrd-color-neutral-800)}.mrd-form__cancel.sc-mrd-form:focus{outline:none;box-shadow:var(--mrd-shadow-focus)}.mrd-form__cancel.sc-mrd-form:active{background-color:var(--mrd-color-neutral-200)}"}},[2,"mrd-form",{layout:[16],locale:[1],values:[16],referenceHref:[1,"reference-href"],referenceClass:[1,"reference-class"],showCancel:[4,"show-cancel"],me:[16],formValues:[32],errors:[32],submitted:[32],setFieldValue:[64]},void 0,{values:[{valuesChanged:0}],me:[{meChanged:0}]}]),z=C,S=function(){"undefined"!=typeof customElements&&["mrd-form","mrd-boolean-field","mrd-currency-field","mrd-date-field","mrd-datetime-field","mrd-email-field","mrd-field","mrd-file-field","mrd-hyperlink-field","mrd-image-field","mrd-list-field","mrd-longtext-field","mrd-number-field","mrd-relation-field","mrd-secret-field","mrd-text-field","mrd-textarea-field","mrd-time-field"].forEach((r=>{switch(r){case"mrd-form":customElements.get(s(r))||customElements.define(s(r),C);break;case"mrd-boolean-field":customElements.get(s(r))||n();break;case"mrd-currency-field":customElements.get(s(r))||c();break;case"mrd-date-field":customElements.get(s(r))||f();break;case"mrd-datetime-field":customElements.get(s(r))||u();break;case"mrd-email-field":customElements.get(s(r))||h();break;case"mrd-field":customElements.get(s(r))||v();break;case"mrd-file-field":customElements.get(s(r))||p();break;case"mrd-hyperlink-field":customElements.get(s(r))||b();break;case"mrd-image-field":customElements.get(s(r))||g();break;case"mrd-list-field":customElements.get(s(r))||_();break;case"mrd-longtext-field":customElements.get(s(r))||y();break;case"mrd-number-field":customElements.get(s(r))||j();break;case"mrd-relation-field":customElements.get(s(r))||k();break;case"mrd-secret-field":customElements.get(s(r))||x();break;case"mrd-text-field":customElements.get(s(r))||w();break;case"mrd-textarea-field":customElements.get(s(r))||O();break;case"mrd-time-field":customElements.get(s(r))||E()}}))};export{z as MrdForm,S as defineCustomElement}
1
+ import{proxyCustomElement as r,HTMLElement as e,createEvent as t,h as i,Host as o,transformTag as s}from"@stencil/core/internal/client";import{a as d,d as m}from"./client-layout.js";import{t as l}from"./i18n.js";import{v as a}from"./field-helpers.js";import{d as n}from"./mrd-boolean-field2.js";import{d as c}from"./mrd-currency-field2.js";import{d as f}from"./mrd-date-field2.js";import{d as u}from"./mrd-datetime-field2.js";import{d as h}from"./mrd-email-field2.js";import{d as v}from"./mrd-field2.js";import{d as p}from"./mrd-file-field2.js";import{d as b}from"./mrd-hyperlink-field2.js";import{d as g}from"./mrd-image-field2.js";import{d as _}from"./mrd-list-field2.js";import{d as y}from"./mrd-longtext-field2.js";import{d as j}from"./mrd-number-field2.js";import{d as k}from"./mrd-relation-field2.js";import{d as x}from"./mrd-secret-field2.js";import{d as w}from"./mrd-text-field2.js";import{d as O}from"./mrd-textarea-field2.js";import{d as E}from"./mrd-time-field2.js";const C=r(class extends e{constructor(r){super(),!1!==r&&this.__registerHost(),this.mrdSubmit=t(this,"mrdSubmit",7),this.mrdCancel=t(this,"mrdCancel",7),this.mrdSearch=t(this,"mrdSearch",7),this.mrdFetchAll=t(this,"mrdFetchAll",7),this.mrdUpload=t(this,"mrdUpload",7),this.locale=navigator.language,this.values={},this.referenceHref="",this.referenceClass="",this.showCancel=!1,this.me=null,this.formValues={},this.errors={},this.submitted=!1,this.initialValues={},this.handleFieldChange=r=>{const{name:e,value:t}=r.detail,i=this.getHref(this.formValues[e]);this.formValues=Object.assign(Object.assign({},this.formValues),{[e]:t}),this.errors[e]&&(this.errors=Object.assign(Object.assign({},this.errors),{[e]:""}));const o=this.getHref(t);if(o!==i)for(const r of this.collectDependentDropdowns())r.commonRelation===e&&(this.formValues=Object.assign(Object.assign({},this.formValues),{[r.name]:null}),this.mrdFetchAll.emit({name:r.name,relatedClass:r.relatedClass,mostSignificantClass:r.mostSignificantClass,commonRelation:r.commonRelation,filter:r.commonRelation+"_href",filterValue:o}))},this.handleSearch=r=>{r.stopPropagation(),this.mrdSearch.emit(r.detail)},this.handleFetchAll=r=>{r.stopPropagation(),this.mrdFetchAll.emit(r.detail)},this.handleUpload=r=>{r.stopPropagation(),this.mrdUpload.emit(r.detail)},this.handleSubmit=r=>{r.preventDefault(),this.submitted=!0,this.validate()&&this.mrdSubmit.emit(this.buildSubmitPayload())}}componentWillLoad(){var r,e;this.initialValues=Object.assign({},null!==(r=this.values)&&void 0!==r?r:{}),this.formValues=Object.assign({},null!==(e=this.values)&&void 0!==e?e:{}),this.applyDefaultValues()}componentDidLoad(){setTimeout((()=>{this.applyReferenceValue(),this.emitDependentFetchAll()}),0)}valuesChanged(r){this.initialValues=Object.assign({},null!=r?r:{}),this.formValues=Object.assign({},null!=r?r:{}),this.applyReferenceValue(),this.applyDefaultValues(),this.errors={},this.submitted=!1,setTimeout((()=>this.emitDependentFetchAll()),0)}meChanged(){this.applyDefaultValues()}applyDefaultValues(){var r,e,t,i,o,s,m,l;const a=this.collectFields(null!==(e=null===(r=this.layout)||void 0===r?void 0:r.items)&&void 0!==e?e:[]),n={};for(const r of a){if(!r.name)continue;const e=this.formValues[r.name];if(null!=e&&""!==e)continue;const a=null!==(o=null!==(t=r.defaultValue)&&void 0!==t?t:null===(i=r.field)||void 0===i?void 0:i.defaultValue)&&void 0!==o?o:null===(s=r.relation)||void 0===s?void 0:s.defaultValue;if(a)if(r.type===d.FIELD){const e=this.resolveFieldDefault(a,null!==(m=r.dataType)&&void 0!==m?m:null===(l=r.field)||void 0===l?void 0:l.dataType);null!=e&&(n[r.name]=e)}else r.type===d.RELATION&&"me()"===a&&this.me&&(n[r.name]=this.me)}Object.keys(n).length>0&&(this.formValues=Object.assign(Object.assign({},this.formValues),n))}resolveFieldDefault(r,e){return"today()"===r?(new Date).toISOString().slice(0,10):"now()"===r?(new Date).toISOString().replace(/\.\d{3}Z$/,"Z"):r}applyReferenceValue(){if(!this.referenceHref||!this.referenceClass)return;const r=this.resolveReferenceFieldName();r&&(this.formValues[r]||(this.formValues=Object.assign(Object.assign({},this.formValues),{[r]:this.referenceHref})))}resolveReferenceFieldName(){var r,e;const t=this.collectFields(null!==(e=null===(r=this.layout)||void 0===r?void 0:r.items)&&void 0!==e?e:[]),i=t.find((r=>r.type===d.RELATION&&r.mostSignificantClass===this.referenceClass));if(null==i?void 0:i.name)return i.name;const o=new Set(t.filter((r=>r.type===d.RELATION)).map((r=>r.name)));for(const r of t)if(r.type===d.RELATION&&r.editBehavior===m.DROPDOWN&&r.commonRelation&&!o.has(r.commonRelation))return r.commonRelation;return null}async setFieldValue(r,e){this.formValues=Object.assign(Object.assign({},this.formValues),{[r]:e}),this.errors[r]&&(this.errors=Object.assign(Object.assign({},this.errors),{[r]:""}))}collectDependentDropdowns(){var r,e;return this.collectFields(null!==(e=null===(r=this.layout)||void 0===r?void 0:r.items)&&void 0!==e?e:[]).filter((r=>r.type===d.RELATION&&r.editBehavior===m.DROPDOWN&&!!r.commonRelation))}emitDependentFetchAll(){for(const r of this.collectDependentDropdowns()){const e=this.getHref(this.formValues[r.commonRelation]);e&&this.mrdFetchAll.emit({name:r.name,relatedClass:r.relatedClass,mostSignificantClass:r.mostSignificantClass,commonRelation:r.commonRelation,filter:r.commonRelation+"_href",filterValue:e})}}getHref(r){return r?"string"==typeof r?r:"object"==typeof r&&"id"in r?r.id:"":""}collectFields(r){const e=[];for(const t of r)t.type!==d.FIELD&&t.type!==d.RELATION||e.push(t),t.items&&e.push(...this.collectFields(t.items));return e}validate(){var r,e;const t={},i=this.collectFields(null!==(e=null===(r=this.layout)||void 0===r?void 0:r.items)&&void 0!==e?e:[]);for(const r of i)r.name&&r.required&&!a(this.formValues[r.name])&&(t[r.name]=l("required",this.locale));return this.errors=t,0===Object.keys(t).length}normalizeFieldValue(r){return""===r||null==r?null:r}normalizeRelationValue(r){return null==r||""===r?null:"string"==typeof r?r||null:Array.isArray(r)?r.map((r=>"object"==typeof r&&null!==r&&"id"in r?r.id:r+"")):"object"==typeof r&&"id"in r&&r.id||null}deepEqual(r,e){if(r===e)return!0;if(null==r&&null==e)return!0;if(null==r||null==e)return!1;if(Array.isArray(r)&&Array.isArray(e)){if(r.length!==e.length)return!1;const t=[...r].sort(),i=[...e].sort();return JSON.stringify(t)===JSON.stringify(i)}return JSON.stringify(r)===JSON.stringify(e)}buildSubmitPayload(){var r,e;const t={},i=this.collectFields(null!==(e=null===(r=this.layout)||void 0===r?void 0:r.items)&&void 0!==e?e:[]);for(const r of i){if(!r.name)continue;const e=r.name;if(r.type===d.FIELD){const r=this.formValues[e];if(r instanceof File)continue;const i=this.normalizeFieldValue(r),o=this.normalizeFieldValue(this.initialValues[e]);if(this.deepEqual(i,o))continue;t[e]=i}else if(r.type===d.RELATION){const r=this.normalizeRelationValue(this.formValues[e]),i=this.normalizeRelationValue(this.initialValues[e]);if(this.deepEqual(r,i))continue;t[e]=r}}return t}renderItems(r){return r.map((r=>{var e;if(r.type===d.SECTION)return i("fieldset",{class:"mrd-form__section"},r.label&&i("legend",{class:"mrd-form__section-legend"},r.label),i("div",{class:"mrd-form__section-body"},r.items&&this.renderItems(r.items)));if(r.type===d.GROUP)return i("div",{class:"mrd-form__group"},r.label&&i("div",{class:"mrd-form__group-label"},r.label),i("div",{class:"mrd-form__group-body"},r.items&&this.renderItems(r.items)));const t=null!==(e=r.name)&&void 0!==e?e:"";return i("div",{class:"mrd-form__field"},i("mrd-field",{item:r,locale:this.locale,value:this.formValues[t],onMrdChange:this.handleFieldChange,onMrdBlur:this.handleFieldChange,onMrdSearch:this.handleSearch,onMrdFetchAll:this.handleFetchAll,onMrdUpload:this.handleUpload}),this.errors[t]&&i("span",{class:"mrd-form__field-error"},this.errors[t]))}))}render(){if(!this.layout)return i(o,null);const r=this.locale.startsWith("ar")?"rtl":"ltr";return i(o,null,i("form",{class:"mrd-form",dir:r,onSubmit:this.handleSubmit,noValidate:!0},this.layout.title&&i("h2",{class:"mrd-form__title"},this.layout.title),i("div",{class:"mrd-form__body"},this.renderItems(this.layout.items)),i("div",{class:"mrd-form__footer"},i("button",{type:"submit",class:"mrd-form__submit"},l("submit",this.locale)),this.showCancel&&i("button",{type:"button",class:"mrd-form__cancel",onClick:()=>this.mrdCancel.emit()},l("cancel",this.locale)))))}static get watchers(){return{values:[{valuesChanged:0}],me:[{meChanged:0}]}}static get style(){return".sc-mrd-form-h{display:block}.mrd-form.sc-mrd-form{font-family:var(--mrd-font-family);width:100%}.mrd-form__title.sc-mrd-form{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-6) 0}.mrd-form__body.sc-mrd-form{display:flex;flex-direction:column;gap:var(--mrd-space-5)}.mrd-form__field.sc-mrd-form{display:flex;flex-direction:column;gap:var(--mrd-space-1)}.mrd-form__field-error.sc-mrd-form{font-family:var(--mrd-font-family);font-size:var(--mrd-error-font-size);color:var(--mrd-error-color)}.mrd-form__section.sc-mrd-form{border:var(--mrd-border-width) solid var(--mrd-border-color);border-radius:var(--mrd-border-radius-md);padding:var(--mrd-space-4) var(--mrd-space-5);margin:0}.mrd-form__section-legend.sc-mrd-form{font-family:var(--mrd-font-family);font-size:var(--mrd-font-size-base);font-weight:var(--mrd-font-weight-semibold);color:var(--mrd-color-neutral-700);padding:0 var(--mrd-space-2)}.mrd-form__section-body.sc-mrd-form{display:flex;flex-direction:column;gap:var(--mrd-space-4);margin-top:var(--mrd-space-2)}.mrd-form__group.sc-mrd-form{display:flex;flex-direction:column;gap:var(--mrd-space-2)}.mrd-form__group-label.sc-mrd-form{font-family:var(--mrd-font-family);font-size:var(--mrd-font-size-sm);font-weight:var(--mrd-font-weight-semibold);color:var(--mrd-color-neutral-500);text-transform:uppercase;letter-spacing:0.05em}.mrd-form__group-body.sc-mrd-form{display:flex;flex-direction:column;gap:var(--mrd-space-4);padding-left:var(--mrd-space-4);border-left:3px solid var(--mrd-color-neutral-200)}.mrd-form__footer.sc-mrd-form{margin-top:var(--mrd-space-8);padding-top:var(--mrd-space-5);border-top:var(--mrd-border-width) solid var(--mrd-border-color);display:flex;justify-content:flex-end;gap:var(--mrd-space-3)}.mrd-form__submit.sc-mrd-form{display:inline-flex;align-items:center;justify-content:center;height:var(--mrd-input-height);padding:0 var(--mrd-space-6);background-color:var(--mrd-color-primary);color:var(--mrd-color-white);font-family:var(--mrd-font-family);font-size:var(--mrd-font-size-base);font-weight:var(--mrd-font-weight-medium);border:none;border-radius:var(--mrd-border-radius);cursor:pointer;transition:background-color var(--mrd-transition)}.mrd-form__submit.sc-mrd-form:hover{background-color:var(--mrd-color-primary-hover)}.mrd-form__submit.sc-mrd-form:focus{outline:none;box-shadow:var(--mrd-shadow-focus)}.mrd-form__submit.sc-mrd-form:active{background-color:var(--mrd-color-primary-dark)}.mrd-form__cancel.sc-mrd-form{display:inline-flex;align-items:center;justify-content:center;height:var(--mrd-input-height);padding:0 var(--mrd-space-6);background-color:transparent;color:var(--mrd-color-neutral-600);font-family:var(--mrd-font-family);font-size:var(--mrd-font-size-base);font-weight:var(--mrd-font-weight-medium);border:var(--mrd-border-width) solid var(--mrd-border-color);border-radius:var(--mrd-border-radius);cursor:pointer;transition:background-color var(--mrd-transition), color var(--mrd-transition)}.mrd-form__cancel.sc-mrd-form:hover{background-color:var(--mrd-color-neutral-100);color:var(--mrd-color-neutral-800)}.mrd-form__cancel.sc-mrd-form:focus{outline:none;box-shadow:var(--mrd-shadow-focus)}.mrd-form__cancel.sc-mrd-form:active{background-color:var(--mrd-color-neutral-200)}"}},[2,"mrd-form",{layout:[16],locale:[1],values:[16],referenceHref:[1,"reference-href"],referenceClass:[1,"reference-class"],showCancel:[4,"show-cancel"],me:[16],formValues:[32],errors:[32],submitted:[32],setFieldValue:[64]},void 0,{values:[{valuesChanged:0}],me:[{meChanged:0}]}]),z=C,S=function(){"undefined"!=typeof customElements&&["mrd-form","mrd-boolean-field","mrd-currency-field","mrd-date-field","mrd-datetime-field","mrd-email-field","mrd-field","mrd-file-field","mrd-hyperlink-field","mrd-image-field","mrd-list-field","mrd-longtext-field","mrd-number-field","mrd-relation-field","mrd-secret-field","mrd-text-field","mrd-textarea-field","mrd-time-field"].forEach((r=>{switch(r){case"mrd-form":customElements.get(s(r))||customElements.define(s(r),C);break;case"mrd-boolean-field":customElements.get(s(r))||n();break;case"mrd-currency-field":customElements.get(s(r))||c();break;case"mrd-date-field":customElements.get(s(r))||f();break;case"mrd-datetime-field":customElements.get(s(r))||u();break;case"mrd-email-field":customElements.get(s(r))||h();break;case"mrd-field":customElements.get(s(r))||v();break;case"mrd-file-field":customElements.get(s(r))||p();break;case"mrd-hyperlink-field":customElements.get(s(r))||b();break;case"mrd-image-field":customElements.get(s(r))||g();break;case"mrd-list-field":customElements.get(s(r))||_();break;case"mrd-longtext-field":customElements.get(s(r))||y();break;case"mrd-number-field":customElements.get(s(r))||j();break;case"mrd-relation-field":customElements.get(s(r))||k();break;case"mrd-secret-field":customElements.get(s(r))||x();break;case"mrd-text-field":customElements.get(s(r))||w();break;case"mrd-textarea-field":customElements.get(s(r))||O();break;case"mrd-time-field":customElements.get(s(r))||E()}}))};export{z as MrdForm,S as defineCustomElement}
@@ -1 +1 @@
1
- import{proxyCustomElement as r,HTMLElement as i,createEvent as e,h as l,Host as d,transformTag as t}from"@stencil/core/internal/client";import{t as n}from"./i18n.js";import{r as s,b as o,F as a,c as h,a as m}from"./field-helpers.js";const p=r(class extends i{constructor(r){super(),!1!==r&&this.__registerHost(),this.mrdChange=e(this,"mrdChange",7),this.mrdBlur=e(this,"mrdBlur",7),this.name="",this.label="",this.value="",this.placeholder="",this.required=!1,this.disabled=!1,this.locale=navigator.language,this.internalHref="",this.internalName="",this.error="",this.handleHrefInput=r=>{this.internalHref=r.target.value,this.mrdChange.emit({name:this.name,value:this.buildValue()})},this.handleNameInput=r=>{this.internalName=r.target.value,this.mrdChange.emit({name:this.name,value:this.buildValue()})},this.handleBlur=()=>{this.error=s(this.internalHref,this.required,this.locale)||(this.internalHref&&!o(this.internalHref)?n("invalid_url",this.locale):""),this.mrdBlur.emit({name:this.name,value:this.buildValue()})}}componentWillLoad(){this.parseValue(this.value)}valueChanged(r){this.parseValue(r)}parseValue(r){var i,e,l;null!=r&&"object"==typeof r&&"href"in r?(this.internalHref=null!==(i=r.href)&&void 0!==i?i:"",this.internalName=null!==(e=r.name)&&void 0!==e?e:""):(this.internalHref=null!==(l=r)&&void 0!==l?l:"",this.internalName="")}buildValue(){return this.internalName.trim()?{href:this.internalHref,name:this.internalName}:{href:this.internalHref}}render(){const r=!!this.error;return l(d,null,this.disabled?l("div",{class:"mrd-hyperlink-field"},this.label&&l("span",{class:"mrd-hyperlink-field__label"},this.label),this.internalHref?l("a",{class:"mrd-hyperlink-field__link",href:this.internalHref,target:"_blank",rel:"noopener noreferrer"},this.internalName||this.internalHref):l("span",{class:"mrd-hyperlink-field__empty"},"—")):l("div",{class:"mrd-hyperlink-field"},l(a,{base:"mrd-hyperlink-field",label:this.label,required:this.required}),l("input",{class:h("mrd-hyperlink-field",r),type:"url",name:this.name,value:this.internalHref,placeholder:this.placeholder||"https://",required:this.required,onInput:this.handleHrefInput,onBlur:this.handleBlur}),l("input",{class:"mrd-hyperlink-field__input mrd-hyperlink-field__input--name",type:"text",value:this.internalName,placeholder:n("hyperlink_name",this.locale),onInput:this.handleNameInput,onBlur:this.handleBlur}),l(m,{base:"mrd-hyperlink-field",error:this.error})))}static get watchers(){return{value:[{valueChanged:0}]}}static get style(){return'.sc-mrd-hyperlink-field-h{display:block}.mrd-hyperlink-field.sc-mrd-hyperlink-field{display:flex;flex-direction:column;gap:var(--mrd-space-1);width:100%}.mrd-hyperlink-field__label.sc-mrd-hyperlink-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-hyperlink-field__label--required.sc-mrd-hyperlink-field::after{content:" *";color:var(--mrd-color-danger)}.mrd-hyperlink-field__input.sc-mrd-hyperlink-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-hyperlink-field__input.sc-mrd-hyperlink-field::placeholder{color:var(--mrd-input-placeholder-color)}.mrd-hyperlink-field__input.sc-mrd-hyperlink-field:focus{border-color:var(--mrd-border-color-focus);box-shadow:var(--mrd-shadow-focus)}.mrd-hyperlink-field__input.sc-mrd-hyperlink-field:disabled{background-color:var(--mrd-input-bg-disabled);cursor:not-allowed;opacity:0.7}.mrd-hyperlink-field__input--error.sc-mrd-hyperlink-field{border-color:var(--mrd-border-color-error)}.mrd-hyperlink-field__input--error.sc-mrd-hyperlink-field:focus{box-shadow:var(--mrd-shadow-focus-error)}.mrd-hyperlink-field__error.sc-mrd-hyperlink-field{font-family:var(--mrd-font-family);font-size:var(--mrd-error-font-size);color:var(--mrd-error-color)}.mrd-hyperlink-field__input--name.sc-mrd-hyperlink-field{margin-top:var(--mrd-space-1)}.mrd-hyperlink-field__link.sc-mrd-hyperlink-field{font-family:var(--mrd-font-family);font-size:var(--mrd-font-size-base);color:var(--mrd-color-primary);text-decoration:underline;word-break:break-all}.mrd-hyperlink-field__link.sc-mrd-hyperlink-field:hover{opacity:0.8}.mrd-hyperlink-field__empty.sc-mrd-hyperlink-field{font-family:var(--mrd-font-family);font-size:var(--mrd-font-size-base);color:var(--mrd-color-neutral-400)}'}},[2,"mrd-hyperlink-field",{name:[1],label:[1],value:[1],placeholder:[1],required:[4],disabled:[4],locale:[1],internalHref:[32],internalName:[32],error:[32]},void 0,{value:[{valueChanged:0}]}]);function f(){"undefined"!=typeof customElements&&["mrd-hyperlink-field"].forEach((r=>{"mrd-hyperlink-field"===r&&(customElements.get(t(r))||customElements.define(t(r),p))}))}export{p as M,f as d}
1
+ import{proxyCustomElement as r,HTMLElement as i,createEvent as e,h as l,Host as d,transformTag as t}from"@stencil/core/internal/client";import{t as n}from"./i18n.js";import{r as s,d as o,F as a,c as h,a as m}from"./field-helpers.js";const p=r(class extends i{constructor(r){super(),!1!==r&&this.__registerHost(),this.mrdChange=e(this,"mrdChange",7),this.mrdBlur=e(this,"mrdBlur",7),this.name="",this.label="",this.value="",this.placeholder="",this.required=!1,this.disabled=!1,this.locale=navigator.language,this.internalHref="",this.internalName="",this.error="",this.handleHrefInput=r=>{this.internalHref=r.target.value,this.mrdChange.emit({name:this.name,value:this.buildValue()})},this.handleNameInput=r=>{this.internalName=r.target.value,this.mrdChange.emit({name:this.name,value:this.buildValue()})},this.handleBlur=()=>{this.error=s(this.internalHref,this.required,this.locale)||(this.internalHref&&!o(this.internalHref)?n("invalid_url",this.locale):""),this.mrdBlur.emit({name:this.name,value:this.buildValue()})}}componentWillLoad(){this.parseValue(this.value)}valueChanged(r){this.parseValue(r)}parseValue(r){var i,e,l;null!=r&&"object"==typeof r&&"href"in r?(this.internalHref=null!==(i=r.href)&&void 0!==i?i:"",this.internalName=null!==(e=r.name)&&void 0!==e?e:""):(this.internalHref=null!==(l=r)&&void 0!==l?l:"",this.internalName="")}buildValue(){return this.internalName.trim()?{href:this.internalHref,name:this.internalName}:{href:this.internalHref}}render(){const r=!!this.error;return l(d,null,this.disabled?l("div",{class:"mrd-hyperlink-field"},this.label&&l("span",{class:"mrd-hyperlink-field__label"},this.label),this.internalHref?l("a",{class:"mrd-hyperlink-field__link",href:this.internalHref,target:"_blank",rel:"noopener noreferrer"},this.internalName||this.internalHref):l("span",{class:"mrd-hyperlink-field__empty"},"—")):l("div",{class:"mrd-hyperlink-field"},l(a,{base:"mrd-hyperlink-field",label:this.label,required:this.required}),l("input",{class:h("mrd-hyperlink-field",r),type:"url",name:this.name,value:this.internalHref,placeholder:this.placeholder||"https://",required:this.required,onInput:this.handleHrefInput,onBlur:this.handleBlur}),l("input",{class:"mrd-hyperlink-field__input mrd-hyperlink-field__input--name",type:"text",value:this.internalName,placeholder:n("hyperlink_name",this.locale),onInput:this.handleNameInput,onBlur:this.handleBlur}),l(m,{base:"mrd-hyperlink-field",error:this.error})))}static get watchers(){return{value:[{valueChanged:0}]}}static get style(){return'.sc-mrd-hyperlink-field-h{display:block}.mrd-hyperlink-field.sc-mrd-hyperlink-field{display:flex;flex-direction:column;gap:var(--mrd-space-1);width:100%}.mrd-hyperlink-field__label.sc-mrd-hyperlink-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-hyperlink-field__label--required.sc-mrd-hyperlink-field::after{content:" *";color:var(--mrd-color-danger)}.mrd-hyperlink-field__input.sc-mrd-hyperlink-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-hyperlink-field__input.sc-mrd-hyperlink-field::placeholder{color:var(--mrd-input-placeholder-color)}.mrd-hyperlink-field__input.sc-mrd-hyperlink-field:focus{border-color:var(--mrd-border-color-focus);box-shadow:var(--mrd-shadow-focus)}.mrd-hyperlink-field__input.sc-mrd-hyperlink-field:disabled{background-color:var(--mrd-input-bg-disabled);cursor:not-allowed;opacity:0.7}.mrd-hyperlink-field__input--error.sc-mrd-hyperlink-field{border-color:var(--mrd-border-color-error)}.mrd-hyperlink-field__input--error.sc-mrd-hyperlink-field:focus{box-shadow:var(--mrd-shadow-focus-error)}.mrd-hyperlink-field__error.sc-mrd-hyperlink-field{font-family:var(--mrd-font-family);font-size:var(--mrd-error-font-size);color:var(--mrd-error-color)}.mrd-hyperlink-field__input--name.sc-mrd-hyperlink-field{margin-top:var(--mrd-space-1)}.mrd-hyperlink-field__link.sc-mrd-hyperlink-field{font-family:var(--mrd-font-family);font-size:var(--mrd-font-size-base);color:var(--mrd-color-primary);text-decoration:underline;word-break:break-all}.mrd-hyperlink-field__link.sc-mrd-hyperlink-field:hover{opacity:0.8}.mrd-hyperlink-field__empty.sc-mrd-hyperlink-field{font-family:var(--mrd-font-family);font-size:var(--mrd-font-size-base);color:var(--mrd-color-neutral-400)}'}},[2,"mrd-hyperlink-field",{name:[1],label:[1],value:[1],placeholder:[1],required:[4],disabled:[4],locale:[1],internalHref:[32],internalName:[32],error:[32]},void 0,{value:[{valueChanged:0}]}]);function f(){"undefined"!=typeof customElements&&["mrd-hyperlink-field"].forEach((r=>{"mrd-hyperlink-field"===r&&(customElements.get(t(r))||customElements.define(t(r),p))}))}export{p as M,f as d}
@@ -1 +1 @@
1
- import{proxyCustomElement as r,HTMLElement as e,createEvent as i,h as a,Host as d,transformTag as o}from"@stencil/core/internal/client";import{t as l}from"./i18n.js";import{F as t,a as s}from"./field-helpers.js";import{m,v as n,u as c}from"./file-upload-common.js";const f=r(class extends e{constructor(r){super(),!1!==r&&this.__registerHost(),this.mrdChange=i(this,"mrdChange",7),this.mrdBlur=i(this,"mrdBlur",7),this.mrdUpload=i(this,"mrdUpload",7),this.name="",this.label="",this.value=null,this.required=!1,this.disabled=!1,this.locale=navigator.language,this.accept="image/*",this.maxSize=0,this.previewUrl="",this.fileName="",this.isDragging=!1,this.uploading=!1,this.error="",this.handleInputChange=r=>{var e;const i=r.target.files;this.handleFile(null!==(e=null==i?void 0:i[0])&&void 0!==e?e:null)},this.drag=m((r=>this.isDragging=r),(r=>this.handleFile(r))),this.handleZoneClick=()=>{var r;this.disabled||this.uploading||null===(r=this.fileInputRef)||void 0===r||r.click()},this.handleClear=r=>{r.stopPropagation(),this.previewUrl="",this.fileName="",this.error="",this.uploading=!1,this.fileInputRef&&(this.fileInputRef.value=""),this.mrdChange.emit({name:this.name,value:null})}}valueChanged(r){"string"==typeof r&&r?this.uploading=!1:r||(this.uploading=!1,this.previewUrl="",this.fileName="")}handleFile(r){if(!r)return this.previewUrl="",this.fileName="",this.uploading=!1,void this.mrdChange.emit({name:this.name,value:null});const e=n(r,this.maxSize,this.locale,!0);if(e)return void(this.error=e);this.error="",this.fileName=r.name,this.uploading=!0;const i=new FileReader;i.onload=r=>{var e;this.previewUrl=null===(e=r.target)||void 0===e?void 0:e.result},i.readAsDataURL(r),this.mrdChange.emit({name:this.name,value:r}),this.mrdUpload.emit({name:this.name,file:r})}render(){const r=c("mrd-image-field",{dragging:this.isDragging,error:!!this.error,disabled:this.disabled||this.uploading});return a(d,{key:"700310af716dcc167f98bc7ae7024bb44e1285b6"},a("div",{key:"95d29a82751249e560404488fb279138eee0c1be",class:"mrd-image-field"},a(t,{key:"f53f040257a4b65d8435c836846adab137b91a5e",base:"mrd-image-field",label:this.label,required:this.required}),a("div",{key:"a9cc7a0861b1457d8e4abb11b380b6eeb519a863",class:r,onClick:this.handleZoneClick,onDragOver:this.drag.onDragOver,onDragLeave:this.drag.onDragLeave,onDrop:this.drag.onDrop},a("input",{key:"7112030bc2b80b4c3b31a4421656da4c926a2fe1",ref:r=>this.fileInputRef=r,class:"mrd-image-field__input",type:"file",name:this.name,accept:this.accept,disabled:this.disabled||this.uploading,required:this.required&&!this.previewUrl,onChange:this.handleInputChange}),this.previewUrl?a("div",{class:"mrd-image-field__preview-container"},a("div",{class:"mrd-image-field__preview-thumb"},a("img",{class:"mrd-image-field__preview",src:this.previewUrl,alt:this.fileName}),this.uploading&&a("div",{class:"mrd-image-field__preview-overlay"},a("span",{class:"mrd-image-field__spinner"}))),a("div",{class:"mrd-image-field__preview-info"},a("span",{class:"mrd-image-field__preview-name"},this.fileName),this.uploading&&a("span",{class:"mrd-image-field__upload-status"},l("loading",this.locale))),!this.uploading&&a("button",{class:"mrd-image-field__clear",type:"button",onClick:this.handleClear,"aria-label":l("clear",this.locale)},l("remove",this.locale))):a("div",{class:"mrd-image-field__prompt"},a("svg",{class:"mrd-image-field__upload-icon",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},a("rect",{x:"3",y:"3",width:"18",height:"18",rx:"2",ry:"2"}),a("circle",{cx:"8.5",cy:"8.5",r:"1.5"}),a("polyline",{points:"21 15 16 10 5 21"})),a("span",null,l("drop_file_here",this.locale)," ",a("span",{class:"mrd-image-field__browse"},l("browse",this.locale))))),a(s,{key:"0cf5346ecb1a5d110822b087081b4b5f05255381",base:"mrd-image-field",error:this.error})))}static get watchers(){return{value:[{valueChanged:0}]}}static get style(){return'.sc-mrd-image-field-h{display:block}.mrd-image-field.sc-mrd-image-field{display:flex;flex-direction:column;gap:var(--mrd-space-1);width:100%}.mrd-image-field__label.sc-mrd-image-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-image-field__label--required.sc-mrd-image-field::after{content:" *";color:var(--mrd-color-danger)}.mrd-image-field__error.sc-mrd-image-field{font-family:var(--mrd-font-family);font-size:var(--mrd-error-font-size);color:var(--mrd-error-color)}.mrd-image-field__zone.sc-mrd-image-field{display:flex;align-items:center;justify-content:center;border:2px dashed var(--mrd-border-color);border-radius:var(--mrd-border-radius-md);background-color:var(--mrd-color-neutral-50);cursor:pointer;transition:border-color var(--mrd-transition), background-color var(--mrd-transition);min-height:100px;position:relative}.mrd-image-field__zone.sc-mrd-image-field:hover,.mrd-image-field__zone--dragging.sc-mrd-image-field{border-color:var(--mrd-color-primary);background-color:var(--mrd-color-primary-light)}.mrd-image-field__zone--error.sc-mrd-image-field{border-color:var(--mrd-border-color-error)}.mrd-image-field__zone--disabled.sc-mrd-image-field{opacity:0.6;cursor:not-allowed}.mrd-image-field__zone--disabled.sc-mrd-image-field:hover{border-color:var(--mrd-border-color);background-color:var(--mrd-color-neutral-50)}.mrd-image-field__input.sc-mrd-image-field{position:absolute;inset:0;opacity:0;width:100%;height:100%;pointer-events:none}.mrd-image-field__prompt.sc-mrd-image-field{display:flex;flex-direction:column;align-items:center;gap:var(--mrd-space-2);padding:var(--mrd-space-6);font-family:var(--mrd-font-family);font-size:var(--mrd-font-size-sm);color:var(--mrd-color-neutral-500);text-align:center}.mrd-image-field__upload-icon.sc-mrd-image-field{width:40px;height:40px;color:var(--mrd-color-neutral-400)}.mrd-image-field__browse.sc-mrd-image-field{color:var(--mrd-color-primary);font-weight:var(--mrd-font-weight-medium);text-decoration:underline}.mrd-image-field__preview-container.sc-mrd-image-field{display:flex;align-items:center;gap:var(--mrd-space-4);padding:var(--mrd-space-4);width:100%}.mrd-image-field__preview-thumb.sc-mrd-image-field{flex-shrink:0;width:80px;height:80px;border-radius:var(--mrd-border-radius);overflow:hidden;border:var(--mrd-border-width) solid var(--mrd-border-color);background-color:var(--mrd-color-neutral-100)}.mrd-image-field__preview.sc-mrd-image-field{width:100%;height:100%;object-fit:cover;display:block}.mrd-image-field__preview-info.sc-mrd-image-field{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--mrd-space-1)}.mrd-image-field__preview-name.sc-mrd-image-field{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-800);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mrd-image-field__preview-overlay.sc-mrd-image-field{position:absolute;inset:0;background:rgba(255, 255, 255, 0.7);display:flex;align-items:center;justify-content:center;border-radius:var(--mrd-border-radius)}.mrd-image-field__spinner.sc-mrd-image-field{display:inline-block;width:24px;height:24px;border:2px solid var(--mrd-color-neutral-300);border-top-color:var(--mrd-color-primary);border-radius:50%;animation:mrd-spin 0.6s linear infinite}@keyframes mrd-spin{to{transform:rotate(360deg)}}.mrd-image-field__upload-status.sc-mrd-image-field{font-family:var(--mrd-font-family);font-size:var(--mrd-font-size-xs);color:var(--mrd-color-neutral-500)}.mrd-image-field__clear.sc-mrd-image-field{flex-shrink:0;background-color:var(--mrd-color-white);color:var(--mrd-color-danger);border:var(--mrd-border-width) solid var(--mrd-color-danger);border-radius:var(--mrd-border-radius);padding:var(--mrd-space-1) var(--mrd-space-3);font-family:var(--mrd-font-family);font-size:var(--mrd-font-size-sm);font-weight:var(--mrd-font-weight-medium);cursor:pointer;transition:background-color var(--mrd-transition), color var(--mrd-transition)}.mrd-image-field__clear.sc-mrd-image-field:hover{background-color:var(--mrd-color-danger);color:var(--mrd-color-white)}'}},[2,"mrd-image-field",{name:[1],label:[1],value:[16],required:[4],disabled:[4],locale:[1],accept:[1],maxSize:[2,"max-size"],previewUrl:[32],fileName:[32],isDragging:[32],uploading:[32],error:[32]},void 0,{value:[{valueChanged:0}]}]);function h(){"undefined"!=typeof customElements&&["mrd-image-field"].forEach((r=>{"mrd-image-field"===r&&(customElements.get(o(r))||customElements.define(o(r),f))}))}export{f as M,h as d}
1
+ import{proxyCustomElement as r,HTMLElement as e,createEvent as i,h as a,Host as d,transformTag as o}from"@stencil/core/internal/client";import{t as l}from"./i18n.js";import{F as t,a as s}from"./field-helpers.js";import{m,v as n,u as c}from"./file-upload-common.js";const f=r(class extends e{constructor(r){super(),!1!==r&&this.__registerHost(),this.mrdChange=i(this,"mrdChange",7),this.mrdBlur=i(this,"mrdBlur",7),this.mrdUpload=i(this,"mrdUpload",7),this.name="",this.label="",this.value=null,this.required=!1,this.disabled=!1,this.locale=navigator.language,this.accept="image/*",this.maxSize=0,this.previewUrl="",this.fileName="",this.isDragging=!1,this.uploading=!1,this.error="",this.handleInputChange=r=>{var e;const i=r.target.files;this.handleFile(null!==(e=null==i?void 0:i[0])&&void 0!==e?e:null)},this.drag=m((r=>this.isDragging=r),(r=>this.handleFile(r))),this.handleZoneClick=()=>{var r;this.disabled||this.uploading||null===(r=this.fileInputRef)||void 0===r||r.click()},this.handleClear=r=>{r.stopPropagation(),this.previewUrl="",this.fileName="",this.error="",this.uploading=!1,this.fileInputRef&&(this.fileInputRef.value=""),this.mrdChange.emit({name:this.name,value:null})}}valueChanged(r){"string"==typeof r&&r?this.uploading=!1:r||(this.uploading=!1,this.previewUrl="",this.fileName="")}handleFile(r){if(!r)return this.previewUrl="",this.fileName="",this.uploading=!1,void this.mrdChange.emit({name:this.name,value:null});const e=n(r,this.maxSize,this.locale,!0);if(e)return void(this.error=e);this.error="",this.fileName=r.name,this.uploading=!0;const i=new FileReader;i.onload=r=>{var e;this.previewUrl=null===(e=r.target)||void 0===e?void 0:e.result},i.readAsDataURL(r),this.mrdChange.emit({name:this.name,value:r}),this.mrdUpload.emit({name:this.name,file:r})}render(){const r=c("mrd-image-field",{dragging:this.isDragging,error:!!this.error,disabled:this.disabled||this.uploading});return a(d,{key:"700310af716dcc167f98bc7ae7024bb44e1285b6"},a("div",{key:"95d29a82751249e560404488fb279138eee0c1be",class:"mrd-image-field"},a(t,{key:"f53f040257a4b65d8435c836846adab137b91a5e",base:"mrd-image-field",label:this.label,required:this.required}),a("div",{key:"a9cc7a0861b1457d8e4abb11b380b6eeb519a863",class:r,onClick:this.handleZoneClick,onDragOver:this.drag.onDragOver,onDragLeave:this.drag.onDragLeave,onDrop:this.drag.onDrop},a("input",{key:"7112030bc2b80b4c3b31a4421656da4c926a2fe1",ref:r=>this.fileInputRef=r,class:"mrd-image-field__input",type:"file",name:this.name,accept:this.accept,disabled:this.disabled||this.uploading,required:this.required&&!this.previewUrl,onChange:this.handleInputChange}),this.previewUrl?a("div",{class:"mrd-image-field__preview-container"},a("div",{class:"mrd-image-field__preview-thumb"},a("img",{class:"mrd-image-field__preview",src:this.previewUrl,alt:this.fileName}),this.uploading&&a("div",{class:"mrd-image-field__preview-overlay"},a("span",{class:"mrd-image-field__spinner"}))),a("div",{class:"mrd-image-field__preview-info"},a("span",{class:"mrd-image-field__preview-name"},this.fileName),this.uploading&&a("span",{class:"mrd-image-field__upload-status"},l("loading",this.locale))),!this.uploading&&a("button",{class:"mrd-image-field__clear",type:"button",onClick:this.handleClear,"aria-label":l("clear",this.locale)},l("remove",this.locale))):a("div",{class:"mrd-image-field__prompt"},a("svg",{class:"mrd-image-field__upload-icon",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},a("rect",{x:"3",y:"3",width:"18",height:"18",rx:"2",ry:"2"}),a("circle",{cx:"8.5",cy:"8.5",r:"1.5"}),a("polyline",{points:"21 15 16 10 5 21"})),a("span",null,l("drop_file_here",this.locale)," ",a("span",{class:"mrd-image-field__browse"},l("browse",this.locale))))),a(s,{key:"0cf5346ecb1a5d110822b087081b4b5f05255381",base:"mrd-image-field",error:this.error})))}static get watchers(){return{value:[{valueChanged:0}]}}static get style(){return'.sc-mrd-image-field-h{display:block}.mrd-image-field.sc-mrd-image-field{display:flex;flex-direction:column;gap:var(--mrd-space-1);width:100%}.mrd-image-field__label.sc-mrd-image-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-image-field__label--required.sc-mrd-image-field::after{content:" *";color:var(--mrd-color-danger)}.mrd-image-field__error.sc-mrd-image-field{font-family:var(--mrd-font-family);font-size:var(--mrd-error-font-size);color:var(--mrd-error-color)}.mrd-image-field__zone.sc-mrd-image-field{display:flex;align-items:center;justify-content:center;border:2px dashed var(--mrd-border-color);border-radius:var(--mrd-border-radius-md);background-color:var(--mrd-color-neutral-50);cursor:pointer;transition:border-color var(--mrd-transition), background-color var(--mrd-transition);min-height:100px;position:relative}.mrd-image-field__zone.sc-mrd-image-field:hover,.mrd-image-field__zone--dragging.sc-mrd-image-field{border-color:var(--mrd-color-primary);background-color:var(--mrd-color-primary-light)}.mrd-image-field__zone--error.sc-mrd-image-field{border-color:var(--mrd-border-color-error)}.mrd-image-field__zone--disabled.sc-mrd-image-field{opacity:0.6;cursor:not-allowed}.mrd-image-field__zone--disabled.sc-mrd-image-field:hover{border-color:var(--mrd-border-color);background-color:var(--mrd-color-neutral-50)}.mrd-image-field__input.sc-mrd-image-field{position:absolute;inset:0;opacity:0;width:100%;height:100%;pointer-events:none}.mrd-image-field__prompt.sc-mrd-image-field{display:flex;flex-direction:column;align-items:center;gap:var(--mrd-space-2);padding:var(--mrd-space-6);font-family:var(--mrd-font-family);font-size:var(--mrd-font-size-sm);color:var(--mrd-color-neutral-500);text-align:center}.mrd-image-field__upload-icon.sc-mrd-image-field{width:40px;height:40px;color:var(--mrd-color-neutral-400)}.mrd-image-field__browse.sc-mrd-image-field{color:var(--mrd-color-primary);font-weight:var(--mrd-font-weight-medium);text-decoration:underline}.mrd-image-field__preview-container.sc-mrd-image-field{display:flex;align-items:center;gap:var(--mrd-space-4);padding:var(--mrd-space-4);width:100%}.mrd-image-field__preview-thumb.sc-mrd-image-field{flex-shrink:0;width:80px;height:80px;border-radius:var(--mrd-border-radius);overflow:hidden;border:var(--mrd-border-width) solid var(--mrd-border-color);background-color:var(--mrd-color-neutral-100)}.mrd-image-field__preview.sc-mrd-image-field{width:100%;height:100%;object-fit:cover;display:block}.mrd-image-field__preview-info.sc-mrd-image-field{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--mrd-space-1)}.mrd-image-field__preview-name.sc-mrd-image-field{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-800);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mrd-image-field__preview-overlay.sc-mrd-image-field{position:absolute;inset:0;background:rgba(255, 255, 255, 0.7);display:flex;align-items:center;justify-content:center;border-radius:var(--mrd-border-radius)}.mrd-image-field__spinner.sc-mrd-image-field{display:inline-block;width:24px;height:24px;border:2px solid var(--mrd-color-neutral-300);border-top-color:var(--mrd-color-primary);border-radius:50%;animation:mrd-spin 0.6s linear infinite}.mrd-image-field__upload-status.sc-mrd-image-field{font-family:var(--mrd-font-family);font-size:var(--mrd-font-size-xs);color:var(--mrd-color-neutral-500)}.mrd-image-field__clear.sc-mrd-image-field{flex-shrink:0;background-color:var(--mrd-color-white);color:var(--mrd-color-danger);border:var(--mrd-border-width) solid var(--mrd-color-danger);border-radius:var(--mrd-border-radius);padding:var(--mrd-space-1) var(--mrd-space-3);font-family:var(--mrd-font-family);font-size:var(--mrd-font-size-sm);font-weight:var(--mrd-font-weight-medium);cursor:pointer;transition:background-color var(--mrd-transition), color var(--mrd-transition)}.mrd-image-field__clear.sc-mrd-image-field:hover{background-color:var(--mrd-color-danger);color:var(--mrd-color-white)}@keyframes mrd-spin{to{transform:rotate(360deg)}}'}},[2,"mrd-image-field",{name:[1],label:[1],value:[16],required:[4],disabled:[4],locale:[1],accept:[1],maxSize:[2,"max-size"],previewUrl:[32],fileName:[32],isDragging:[32],uploading:[32],error:[32]},void 0,{value:[{valueChanged:0}]}]);function h(){"undefined"!=typeof customElements&&["mrd-image-field"].forEach((r=>{"mrd-image-field"===r&&(customElements.get(o(r))||customElements.define(o(r),f))}))}export{f as M,h as d}
@@ -1 +1 @@
1
- import{h as r,proxyCustomElement as t,HTMLElement as e,createEvent as o,Host as i,transformTag as a}from"@stencil/core/internal/client";import{a as n,b as s,r as l,A as d,e as c}from"./client-layout.js";import{C as m,d as u}from"./mrd-table2.js";import{t as h}from"./i18n.js";import{f as v}from"./format.js";import{d as y}from"./mrd-document-container2.js";import{d as p}from"./mrd-document-list2.js";import{d as f}from"./mrd-document-view2.js";import{d as g}from"./mrd-file-preview2.js";function _(r){const t=[];for(const e of r)t.push(e),e.items&&t.push(..._(e.items));return t}function b(t,e,o,i){return r("button",{class:"mrd-layout-section__download-link",onClick:()=>e&&t.on.download({href:e,fileName:o})},r("svg",{class:"mrd-layout-section__file-icon",viewBox:"0 0 24 24","aria-hidden":"true"},r("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 w(t,e,o){var i,a,n,l,d,c,u,v,y,p,f;const g=e.dataType;switch(g){case s.HYPERLINK:{const t=null!==(i=null==o?void 0:o.href)&&void 0!==i?i:o+"",e=null!==(l=null!==(n=null!==(a=null==o?void 0:o.name)&&void 0!==a?a:null==o?void 0:o.text)&&void 0!==n?n:null==o?void 0:o.label)&&void 0!==l?l:t;return r("a",{class:"mrd-layout-section__link",href:t,target:"_blank",rel:"noopener noreferrer"},e)}case s.TEXTBLOCK:return r("div",{class:"mrd-layout-section__prose",innerHTML:o+""});case s.LONGTEXT:return r("pre",{class:"mrd-layout-section__pre"},o+"");case s.JSON:return r("pre",{class:"mrd-layout-section__pre",innerHTML:m.formatJson(o)});case s.FILE:{const r=null!==(d=null==o?void 0:o.fileName)&&void 0!==d?d:o+"",e=null!==(c=null==o?void 0:o.href)&&void 0!==c?c:"";return b(t,e,r,h("download",t.locale))}case s.IMAGE:{const i=null!==(u=null==o?void 0:o.href)&&void 0!==u?u:"",a=null!==(v=null==o?void 0:o.fileName)&&void 0!==v?v:"",n=t.imagePreviews[e.name];return n?r("button",{class:"mrd-layout-section__image-thumb-btn",onClick:()=>t.on.openImage(n),title:a||void 0},r("img",{class:"mrd-layout-section__image-thumb",src:n,alt:a})):b(t,i,a,a||i)}case s.BOOLEAN:return r("span",{class:"mrd-layout-section__boolean mrd-layout-section__boolean--"+(o?"true":"false")},h(o?"yes":"no",t.locale));case s.LIST:{const t=(null!==(y=e.listItems)&&void 0!==y?y:[]).find((r=>r.key===o+"")),i=null!==(p=null==t?void 0:t.label)&&void 0!==p?p:o+"",a=null==t?void 0:t.color,n=null==t?void 0:t.backgroundColor;return a&&n?r("span",{class:"mrd-layout-section__badge",style:{color:a,backgroundColor:n}},i):a?r("span",{class:"mrd-layout-section__badge-dot-row"},r("span",{class:"mrd-layout-section__badge-dot",style:{backgroundColor:a}}),i):i}case s.SECRET:return o?r("span",{class:"mrd-layout-section__secret-masked"},"••••••••"):null;default:return m.renderValue(g,o,null!==(f=e.listItems)&&void 0!==f?f:[],t.locale)||null}}const k=t(class extends e{constructor(r){super(),!1!==r&&this.__registerHost(),this.mrdNavigate=o(this,"mrdNavigate",7),this.mrdSearch=o(this,"mrdSearch",7),this.mrdDownload=o(this,"mrdDownload",7),this.mrdLoadViewPage=o(this,"mrdLoadViewPage",7),this.mrdLoadImage=o(this,"mrdLoadImage",7),this.mrdLoadDocumentPreview=o(this,"mrdLoadDocumentPreview",7),this.mrdViewAction=o(this,"mrdViewAction",7),this.mrdLoadViewAggregations=o(this,"mrdLoadViewAggregations",7),this.mrdLoadViewDistinct=o(this,"mrdLoadViewDistinct",7),this.mrdUpdateObject=o(this,"mrdUpdateObject",7),this.mrdViewUpload=o(this,"mrdViewUpload",7),this.mrdCreateObject=o(this,"mrdCreateObject",7),this.items=[],this.data={},this.views={},this.links={},this.locale=navigator.language,this.archetypes=[],this.documentPreviewHeight=640,this.searchQueryMap={},this.searchResultsMap={},this.imagePreviewUrl=null,this.imagePreviews={},this.openHistoryField=null,this.documentPreviewUrl=null,this.historyClickOutside=null,this.searchTimers={},this.handleViewLoadPage=(r,t)=>{r.stopPropagation(),this.mrdLoadViewPage.emit({name:t,page:r.detail.page,sort:r.detail.sort,path:r.detail.path,qs:r.detail.qs})},this.handleSearchInput=(r,t)=>{this.searchQueryMap=Object.assign(Object.assign({},this.searchQueryMap),{[r]:t}),this.searchTimers[r]&&clearTimeout(this.searchTimers[r]),t.length<2?this.searchResultsMap=Object.assign(Object.assign({},this.searchResultsMap),{[r]:[]}):this.searchTimers[r]=setTimeout((()=>{this.mrdSearch.emit({query:t,dataClass:r})}),300)}}componentDidLoad(){setTimeout((()=>{this.initEmbeddedTables(),this.emitLoadImages()}),0),this.historyClickOutside=r=>{this.el.contains(r.target)||(this.openHistoryField=null)},document.addEventListener("mousedown",this.historyClickOutside)}disconnectedCallback(){this.historyClickOutside&&(document.removeEventListener("mousedown",this.historyClickOutside),this.historyClickOutside=null)}dataChanged(r){r&&Object.keys(r).length>0&&setTimeout((()=>this.initEmbeddedTables()),0)}async initEmbeddedTables(){const r=this.el.querySelectorAll("mrd-table[data-view]");for(const t of Array.from(r))"function"==typeof t.init&&await t.init()}emitLoadImages(){for(const r of _(this.items))if(r.type===n.FIELD&&r.dataType===s.IMAGE){const t=r.name,e=this.data[t],o=null==e?void 0:e.href;o&&this.mrdLoadImage.emit({fieldName:t,href:o})}}async setSearchResults(r,t){const e=null!=t?t:this.resolveSearchKey();e&&(this.searchResultsMap=Object.assign(Object.assign({},this.searchResultsMap),{[e]:r}))}async setViewPage(r,t,e,o,i,a){if(a){const t=this.el.querySelector(`mrd-document-list[data-doclist="${r}"]`);return void((null==t?void 0:t.setDocuments)&&await t.setDocuments(a,e))}const n=this.el.querySelector(`mrd-table[data-view="${r}"]`);n&&(void 0!==o&&(n.totalElements=o),await n.setPage(t,e,i))}async setViewAggregations(r,t){const e=this.el.querySelector(`mrd-table[data-view="${r}"]`);e&&await e.setAggregations(t)}async setViewDistinct(r,t,e){const o=this.el.querySelector(`mrd-document-list[data-doclist="${r}"]`);(null==o?void 0:o.setDistinct)&&await o.setDistinct(t,e)}async setViewFileReference(r,t){const e=this.el.querySelector(`mrd-document-list[data-doclist="${r}"]`);(null==e?void 0:e.setFileReference)&&await e.setFileReference(t)}async setViewCreatedObject(r,t){const e=this.el.querySelector(`mrd-document-list[data-doclist="${r}"]`);(null==e?void 0:e.setCreatedHref)&&await e.setCreatedHref(t)}async setImagePreview(r,t){this.imagePreviews=Object.assign(Object.assign({},this.imagePreviews),{[r]:t})}async openImagePreview(r){this.imagePreviewUrl=r}async setDocumentPreviewUrl(r){this.documentPreviewUrl=r}resolveSearchKey(){var r;const t=_(this.items).filter((r=>r.type===n.SEARCH));return 1===t.length&&null!==(r=t[0].dataClass)&&void 0!==r?r:null}fieldCtx(){return{locale:this.locale,data:this.data,imagePreviews:this.imagePreviews,openHistoryField:this.openHistoryField,on:{download:r=>this.mrdDownload.emit(r),openImage:r=>{this.imagePreviewUrl=r},toggleHistory:r=>{this.openHistoryField=r}}}}renderField(t){return function(t,e){var o,i;if(!e.name)return null;const a=t.data[e.name],n=(null!==(o=e.historyEnabled)&&void 0!==o?o:null===(i=e.field)||void 0===i?void 0:i.historyEnabled)&&null!==a&&"object"==typeof a&&"current"in a?a.current:a,l=function(t,e,o){if(null==o||""===o)return null;if(e.multiple&&Array.isArray(o)){const i=o.map((r=>w(t,e,r)));return i.every((r=>"string"==typeof r||null==r))?i.filter(Boolean).join(", ")||null:r("span",null,i.map(((t,e)=>r("span",{key:e+""},t,e<i.length-1?", ":""))))}return w(t,e,o)}(t,e,n);return e.header?r("h1",{class:"mrd-layout-section__field-header",key:e.name},"string"==typeof l?l:null!=n?n+"":e.label):null==l?null:r("div",{class:"mrd-layout-section__field"+(e.dataType===s.TEXTBLOCK||e.dataType===s.LONGTEXT||e.dataType===s.JSON?" mrd-layout-section__field--block":""),key:e.name},r("span",{class:"mrd-layout-section__field-label"},e.label),r("span",{class:"mrd-layout-section__field-value"},l,function(t,e,o){var i,a,n;if(!(null!==(i=e.historyEnabled)&&void 0!==i?i:null===(a=e.field)||void 0===a?void 0:a.historyEnabled)||!e.name)return null;const s=null!==(n=null==o?void 0:o.history)&&void 0!==n?n:[];if(!s.length)return null;const l=[...s].sort(((r,t)=>t.until.localeCompare(r.until))),d=t.openHistoryField===e.name;return r("span",{class:"mrd-layout-section__history-wrap"},r("button",{type:"button",class:"mrd-layout-section__history-btn",title:h("history_badge_tooltip",t.locale),"aria-label":h("history_badge_tooltip",t.locale),onClick:r=>{r.stopPropagation(),t.on.toggleHistory(d?null:e.name)}},r("svg",{class:"mrd-layout-section__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"}))),d&&r("div",{class:"mrd-layout-section__history-popover",role:"listbox"},l.map(((e,o)=>r("div",{key:o+"",class:"mrd-layout-section__history-entry"},e.value," (",h("history_until",t.locale)," ",v(e.until,t.locale),")")))))}(t,e,a)))}(this.fieldCtx(),t)}renderRelation(t){var e,o,i;if(!t.name)return null;const a=(null!==(o=null===(e=this.data)||void 0===e?void 0:e._links)&&void 0!==o?o:{})[t.name];if(!a)return null;const n=(t,e)=>r("button",{key:t,class:"mrd-layout-section__relation-link",onClick:()=>this.mrdNavigate.emit({href:t,label:e})},e);let s;return(null===(i=a.values)||void 0===i?void 0:i.length)?s=a.values.map((r=>n(r.href,r.name))):a.name&&(s=n(a.href,a.name)),s?r("div",{class:"mrd-layout-section__field",key:t.name},r("span",{class:"mrd-layout-section__field-label"},t.label),r("span",{class:"mrd-layout-section__field-value"},s)):null}renderSearch(t){var e,o,i;if(!t.dataClass)return null;const a=t.dataClass,n=null!==(e=this.searchQueryMap[a])&&void 0!==e?e:"",s=null!==(o=this.searchResultsMap[a])&&void 0!==o?o:[];return r("div",{class:"mrd-layout-section__search",key:"search-"+a},r("div",{class:"mrd-layout-section__search-wrap"},r("svg",{class:"mrd-layout-section__search-icon",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true"},r("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"})),r("input",{class:"mrd-layout-section__search-input",type:"text",value:n,placeholder:null!==(i=t.label)&&void 0!==i?i:"",onInput:r=>this.handleSearchInput(a,r.target.value)})),s.length>0&&r("ul",{class:"mrd-layout-section__search-results"},s.map((t=>r("li",{key:t.id,class:"mrd-layout-section__search-result"},r("button",{class:"mrd-layout-section__search-result-btn",onClick:()=>this.mrdNavigate.emit({href:t.id,label:t.label})},r("span",{class:"mrd-layout-section__search-result-label"},t.label),t.description&&r("span",{class:"mrd-layout-section__search-result-desc"},t.description)))))))}renderRelatedView(t){var e,o,i,a,s,c,m,u;const h=function(r){var t,e,o,i;return r.type===n.RELATED_VIEW?null!==(e=null!==(t=r.relatedClass)&&void 0!==t?t:r.name)&&void 0!==e?e:"":null!==(i=null!==(o=r.dataClass)&&void 0!==o?o:r.name)&&void 0!==i?i:""}(t);if(!h)return null;if(!t.view)return null;const v=null!==(e=t.showTitle)&&void 0!==e&&e,y=null!==(s=null===(a=null===(i=null===(o=this.data)||void 0===o?void 0:o._links)||void 0===i?void 0:i.self)||void 0===a?void 0:a.href)&&void 0!==s?s:"",p=null!==(c=y.split("/").filter(Boolean).pop())&&void 0!==c?c:"",f=l(null!==(m=t.archetypes)&&void 0!==m?m:null===(u=t.view)||void 0===u?void 0:u.archetypes,d),g=function(r,t,e){if(r.type!==n.RELATED_VIEW||!r.fromClass||!e)return"";const o=t.split("/").filter(Boolean);if(o.length<2)return"";const[i,a]=o;return`/${i}/${a}/${r.fromClass}/${e}`}(t,y,p);return r("div",{class:"mrd-layout-section__related-view",key:"view-"+h},v&&t.label&&r("h3",{class:"mrd-layout-section__related-view-title"},t.label),f?this.renderDocumentContainer(t,h,p,f,g):this.renderTable(t,h,p))}renderDocumentContainer(t,e,o,i,a){return r("mrd-document-container",{item:t,archetype:i,parentId:o,containerHref:a,viewKey:e,locale:this.locale,onMrdLoadDistinct:r=>{r.stopPropagation(),this.mrdLoadViewDistinct.emit(Object.assign({name:e},r.detail))},onMrdLoadPage:r=>{r.stopPropagation(),this.mrdLoadViewPage.emit(Object.assign({name:e},r.detail))},onMrdLoadAggregations:r=>{var o;r.stopPropagation(),this.mrdLoadViewAggregations.emit(Object.assign({name:e,dataClass:null!==(o=t.dataClass)&&void 0!==o?o:e},r.detail))},onMrdNavigate:r=>{r.stopPropagation(),this.mrdNavigate.emit(r.detail)},onMrdAction:r=>{var o;r.stopPropagation(),this.mrdViewAction.emit(Object.assign({name:e,dataClass:null!==(o=t.dataClass)&&void 0!==o?o:e},r.detail))},onMrdUpdateObject:r=>{r.stopPropagation(),this.mrdUpdateObject.emit(r.detail)},onMrdUpload:r=>{r.stopPropagation(),this.mrdViewUpload.emit(Object.assign({name:e},r.detail))},onMrdCreateObject:r=>{r.stopPropagation(),this.mrdCreateObject.emit(Object.assign({name:e},r.detail))}})}renderTable(t,e,o){return r("mrd-table",{"data-view":e,item:t,parentId:o,locale:this.locale,onMrdLoadPage:r=>this.handleViewLoadPage(r,e),onMrdLoadAggregations:r=>{var o;r.stopPropagation(),this.mrdLoadViewAggregations.emit(Object.assign({name:e,dataClass:null!==(o=t.dataClass)&&void 0!==o?o:e},r.detail))},onMrdRowClick:r=>{var e,o,i,a;r.stopPropagation();const n=r.detail;this.mrdNavigate.emit({href:null===(o=null===(e=null==n?void 0:n._links)||void 0===e?void 0:e.self)||void 0===o?void 0:o.href,label:null!==(i=null==n?void 0:n.name)&&void 0!==i?i:"",navigateBehaviour:null!==(a=t.navigateBehaviour)&&void 0!==a?a:c.PAGE})},onMrdAction:r=>{var o;r.stopPropagation(),this.mrdViewAction.emit({name:e,action:r.detail.action,dataClass:null!==(o=t.dataClass)&&void 0!==o?o:e,path:r.detail.path,qs:r.detail.qs,parentPath:r.detail.parentPath,basicType:r.detail.basicType})}})}renderItem(t){var e,o;switch(t.type){case n.FIELD:return this.renderField(t);case n.RELATION:return this.renderRelation(t);case n.HEADER:return r("h2",{class:"mrd-layout-section__header",key:"header-"+t.label},t.label);case n.TEXT:return r("div",{class:"mrd-layout-section__text",key:"text-"+t.label,innerHTML:null!==(e=t.label)&&void 0!==e?e:""});case n.NAVIGATE:return r("button",{class:"mrd-layout-section__navigate",key:"nav-"+t.label,onClick:()=>{var r,e,o;return this.mrdNavigate.emit({label:null!==(r=t.label)&&void 0!==r?r:"",navigate:null!==(e=t.navigate)&&void 0!==e?e:{dataClass:null!==(o=t.dataClass)&&void 0!==o?o:"",icon:t.icon,navigationType:t.navigationType}})}},t.label);case n.SEARCH:return this.renderSearch(t);case n.SECTION:case n.GROUP:return r("div",{class:"mrd-layout-section__group",key:"group-"+t.label},t.label&&r("h3",{class:"mrd-layout-section__group-title"},t.label),(null!==(o=t.items)&&void 0!==o?o:[]).map((r=>this.renderItem(r))));case n.RELATED_VIEW:case n.VIEW:return this.renderRelatedView(t);default:return null}}renderImageModal(){return this.imagePreviewUrl?r("div",{class:"mrd-layout-section__modal-backdrop",onClick:()=>{this.imagePreviewUrl=null}},r("div",{class:"mrd-layout-section__modal",onClick:r=>r.stopPropagation()},r("button",{class:"mrd-layout-section__modal-close",onClick:()=>{this.imagePreviewUrl=null}},"✕"),r("img",{class:"mrd-layout-section__modal-image",src:this.imagePreviewUrl,alt:""}))):null}renderDocumentObject(t){var e;const o=this.items.filter((r=>r.type===n.VIEW||r.type===n.RELATED_VIEW||r.type===n.SEARCH));return[r("mrd-document-view",{archetype:t,data:this.data,locale:this.locale,previewUrl:null!==(e=this.documentPreviewUrl)&&void 0!==e?e:"",previewHeight:this.documentPreviewHeight,onMrdNavigate:r=>{r.stopPropagation(),this.mrdNavigate.emit(r.detail)},onMrdDownload:r=>{r.stopPropagation(),this.mrdDownload.emit(r.detail)},onMrdLoadPreview:r=>{r.stopPropagation(),this.mrdLoadDocumentPreview.emit(r.detail)}}),...o.map((r=>this.renderItem(r)))]}render(){const t=l(this.archetypes,d);return r(i,{key:"d73b44ed5d3529c5b01a87ddfd9a7ebe202ff3b8"},r("div",{key:"1e80e202ec7c23afbca8f6a02376f0a4a4a6ba31",class:"mrd-layout-section"},t?this.renderDocumentObject(t):this.items.map((r=>this.renderItem(r)))),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-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__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__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__field--block.sc-mrd-layout-section{grid-template-columns:1fr}.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],documentPreviewHeight:[2,"document-preview-height"],searchQueryMap:[32],searchResultsMap:[32],imagePreviewUrl:[32],imagePreviews:[32],openHistoryField:[32],documentPreviewUrl:[32],setSearchResults:[64],setViewPage:[64],setViewAggregations:[64],setViewDistinct:[64],setViewFileReference:[64],setViewCreatedObject:[64],setImagePreview:[64],openImagePreview:[64],setDocumentPreviewUrl:[64]},void 0,{data:[{dataChanged:0}]}]),x=k,z=function(){"undefined"!=typeof customElements&&["mrd-layout-section","mrd-document-container","mrd-document-list","mrd-document-view","mrd-file-preview","mrd-table"].forEach((r=>{switch(r){case"mrd-layout-section":customElements.get(a(r))||customElements.define(a(r),k);break;case"mrd-document-container":customElements.get(a(r))||y();break;case"mrd-document-list":customElements.get(a(r))||p();break;case"mrd-document-view":customElements.get(a(r))||f();break;case"mrd-file-preview":customElements.get(a(r))||g();break;case"mrd-table":customElements.get(a(r))||u()}}))};export{x as MrdLayoutSection,z as defineCustomElement}
1
+ import{h as t,proxyCustomElement as r,HTMLElement as o,createEvent as e,Host as a,transformTag as i}from"@stencil/core/internal/client";import{a as n,b as s,r as l,A as d,e as c}from"./client-layout.js";import{C as m,d as u}from"./mrd-table2.js";import{t as h}from"./i18n.js";import{f as v}from"./format.js";import{d as y}from"./mrd-document-container2.js";import{d as p}from"./mrd-document-list2.js";import{d as f}from"./mrd-document-view2.js";function _(t){const r=[];for(const o of t)r.push(o),o.items&&r.push(..._(o.items));return r}function g(r,o,e,a){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"})),a)}function b(r,o,e){var a,i,n,l,d,c,u,v,y,p,f;const _=o.dataType;switch(_){case s.HYPERLINK:{const r=null!==(a=null==e?void 0:e.href)&&void 0!==a?a:e+"",o=null!==(l=null!==(n=null!==(i=null==e?void 0:e.name)&&void 0!==i?i:null==e?void 0:e.text)&&void 0!==n?n: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 s.TEXTBLOCK:return t("div",{class:"mrd-layout-section__prose",innerHTML:e+""});case s.LONGTEXT:return t("pre",{class:"mrd-layout-section__pre"},e+"");case s.JSON:return t("pre",{class:"mrd-layout-section__pre",innerHTML:m.formatJson(e)});case s.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 g(r,o,t,h("download",r.locale))}case s.IMAGE:{const a=null!==(u=null==e?void 0:e.href)&&void 0!==u?u:"",i=null!==(v=null==e?void 0:e.fileName)&&void 0!==v?v:"",n=r.imagePreviews[o.name];return n?t("button",{class:"mrd-layout-section__image-thumb-btn",onClick:()=>r.on.openImage(n),title:i||void 0},t("img",{class:"mrd-layout-section__image-thumb",src:n,alt:i})):g(r,a,i,i||a)}case s.BOOLEAN:return t("span",{class:"mrd-layout-section__boolean mrd-layout-section__boolean--"+(e?"true":"false")},h(e?"yes":"no",r.locale));case s.LIST:{const r=(null!==(y=o.listItems)&&void 0!==y?y:[]).find((t=>t.key===e+"")),a=null!==(p=null==r?void 0:r.label)&&void 0!==p?p:e+"",i=null==r?void 0:r.color,n=null==r?void 0:r.backgroundColor;return i&&n?t("span",{class:"mrd-layout-section__badge",style:{color:i,backgroundColor:n}},a):i?t("span",{class:"mrd-layout-section__badge-dot-row"},t("span",{class:"mrd-layout-section__badge-dot",style:{backgroundColor:i}}),a):a}case s.SECRET:return e?t("span",{class:"mrd-layout-section__secret-masked"},"••••••••"):null;default:return m.renderValue(_,e,null!==(f=o.listItems)&&void 0!==f?f:[],r.locale)||null}}const w=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 _(this.items))if(t.type===n.FIELD&&t.dataType===s.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,a,i){if(i){const r=this.el.querySelector(`mrd-document-list[data-doclist="${t}"]`);return void((null==r?void 0:r.setDocuments)&&await r.setDocuments(i,o))}const n=this.el.querySelector(`mrd-table[data-view="${t}"]`);n&&(void 0!==e&&(n.totalElements=e),await n.setPage(r,o,a))}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=_(this.items).filter((t=>t.type===n.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,a;if(!o.name)return null;const i=r.data[o.name],n=(null!==(e=o.historyEnabled)&&void 0!==e?e:null===(a=o.field)||void 0===a?void 0:a.historyEnabled)&&null!==i&&"object"==typeof i&&"current"in i?i.current:i,l=function(r,o,e){if(null==e||""===e)return null;if(o.multiple&&Array.isArray(e)){const a=e.map((t=>b(r,o,t)));return a.every((t=>"string"==typeof t||null==t))?a.filter(Boolean).join(", ")||null:t("span",null,a.map(((r,o)=>t("span",{key:o+""},r,o<a.length-1?", ":""))))}return b(r,o,e)}(r,o,n);return o.header?t("h1",{class:"mrd-layout-section__field-header",key:o.name},"string"==typeof l?l:null!=n?n+"":o.label):null==l?null:t("div",{class:"mrd-layout-section__field"+(o.dataType===s.TEXTBLOCK||o.dataType===s.LONGTEXT||o.dataType===s.JSON?" mrd-layout-section__field--block":""),key:o.name},t("span",{class:"mrd-layout-section__field-label"},o.label),t("span",{class:"mrd-layout-section__field-value"},l,function(r,o,e){var a,i,n;if(!(null!==(a=o.historyEnabled)&&void 0!==a?a:null===(i=o.field)||void 0===i?void 0:i.historyEnabled)||!o.name)return null;const s=null!==(n=null==e?void 0:e.history)&&void 0!==n?n:[];if(!s.length)return null;const l=[...s].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)," ",v(o.until,r.locale),")")))))}(r,o,i)))}(this.fieldCtx(),r)}renderRelation(r){var o,e,a;if(!r.name)return null;const i=(null!==(e=null===(o=this.data)||void 0===o?void 0:o._links)&&void 0!==e?e:{})[r.name];if(!i)return null;const n=(r,o)=>t("button",{key:r,class:"mrd-layout-section__relation-link",onClick:()=>this.mrdNavigate.emit({href:r,label:o})},o);let s;return(null===(a=i.values)||void 0===a?void 0:a.length)?s=i.values.map((t=>n(t.href,t.name))):i.name&&(s=n(i.href,i.name)),s?t("div",{class:"mrd-layout-section__field",key:r.name},t("span",{class:"mrd-layout-section__field-label"},r.label),t("span",{class:"mrd-layout-section__field-value"},s)):null}renderSearch(r){var o,e,a;if(!r.dataClass)return null;const i=r.dataClass,n=null!==(o=this.searchQueryMap[i])&&void 0!==o?o:"",s=null!==(e=this.searchResultsMap[i])&&void 0!==e?e:[];return t("div",{class:"mrd-layout-section__search",key:"search-"+i},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:n,placeholder:null!==(a=r.label)&&void 0!==a?a:"",onInput:t=>this.handleSearchInput(i,t.target.value)})),s.length>0&&t("ul",{class:"mrd-layout-section__search-results"},s.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,a,i,s,c,m,u;const h=function(t){var r,o,e,a;return t.type===n.RELATED_VIEW?null!==(o=null!==(r=t.relatedClass)&&void 0!==r?r:t.name)&&void 0!==o?o:"":null!==(a=null!==(e=t.dataClass)&&void 0!==e?e:t.name)&&void 0!==a?a:""}(r);if(!h)return null;if(!r.view)return null;const v=null!==(o=r.showTitle)&&void 0!==o&&o,y=null!==(s=null===(i=null===(a=null===(e=this.data)||void 0===e?void 0:e._links)||void 0===a?void 0:a.self)||void 0===i?void 0:i.href)&&void 0!==s?s:"",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!==n.RELATED_VIEW||!t.fromClass||!o)return"";const e=r.split("/").filter(Boolean);if(e.length<2)return"";const[a,i]=e;return`/${a}/${i}/${t.fromClass}/${o}`}(r,y,p);return t("div",{class:"mrd-layout-section__related-view",key:"view-"+h},v&&r.label&&t("h3",{class:"mrd-layout-section__related-view-title"},r.label),f?this.renderDocumentContainer(r,h,p,f,_):this.renderTable(r,h,p))}renderDocumentContainer(r,o,e,a,i){return t("mrd-document-container",{item:r,archetype:a,parentId:e,containerHref:i,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,a,i;t.stopPropagation();const{row:n,listContext:s}=t.detail;this.mrdNavigate.emit({href:null===(e=null===(o=null==n?void 0:n._links)||void 0===o?void 0:o.self)||void 0===e?void 0:e.href,label:null!==(a=null==n?void 0:n.name)&&void 0!==a?a:"",navigateBehaviour:null!==(i=r.navigateBehaviour)&&void 0!==i?i:c.PAGE,listContext:s})},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 n.FIELD:return this.renderField(r);case n.RELATION:return this.renderRelation(r);case n.HEADER:return t("h2",{class:"mrd-layout-section__header",key:"header-"+r.label},r.label);case n.TEXT:return t("div",{class:"mrd-layout-section__text",key:"text-"+r.label,innerHTML:null!==(o=r.label)&&void 0!==o?o:""});case n.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 n.SEARCH:return this.renderSearch(r);case n.SECTION:case n.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 n.RELATED_VIEW:case n.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}renderDocumentObject(r){const o=this.items.filter((t=>t.type===n.VIEW||t.type===n.RELATED_VIEW||t.type===n.SEARCH));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)}}),...o.map((t=>this.renderItem(t)))]}render(){const r=l(this.archetypes,d);return t(a,{key:"8585dae577d38e3c9517039b48aa9e798190937c"},t("div",{key:"020b942996b1346bdc3bc89938e4b020823cfcea",class:"mrd-layout-section"},r?this.renderDocumentObject(r):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__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__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}]}]),x=w,k=function(){"undefined"!=typeof customElements&&["mrd-layout-section","mrd-document-container","mrd-document-list","mrd-document-view","mrd-table"].forEach((t=>{switch(t){case"mrd-layout-section":customElements.get(i(t))||customElements.define(i(t),w);break;case"mrd-document-container":customElements.get(i(t))||y();break;case"mrd-document-list":customElements.get(i(t))||p();break;case"mrd-document-view":customElements.get(i(t))||f();break;case"mrd-table":customElements.get(i(t))||u()}}))};export{x as MrdLayoutSection,k 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 a}from"./i18n.js";import{d as o,e as l,F as m,c as n,a as c}from"./field-helpers.js";import{p as u,a as f}from"./format.js";import{b}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=b.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=u(e,this.locale);this.error=!this.required||null!==i&&""!==e?""===e||o(i,this.dataType)?"":a("invalid_number",this.locale):a("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===b.PERCENTAGE?f(r,this.locale,{minimumFractionDigits:0,maximumFractionDigits:this.decimalPrecision})+"%":f(r,this.locale,this.dataType===b.DECIMAL?{minimumFractionDigits:this.decimalPrecision,maximumFractionDigits:this.decimalPrecision}:{maximumFractionDigits:0})}render(){const r=!!this.error,e=this.dataType===b.PERCENTAGE?"%":"";return d(t,{key:"90cae99b332f9554bc80d4044fce892ae37a48cf"},d("div",{key:"26a9cfcc662eaeb571d17785f10f74269cf78537",class:"mrd-number-field"},d(m,{key:"0d9e70c1591f309ad2875d9e9fe6dbb8aa910323",base:"mrd-number-field",label:this.label,required:this.required}),d("div",{key:"95e9b53fa73c452491f65355915bf04912900ded",class:"mrd-number-field__input-wrapper"},d("input",{key:"1d341c270a21b1a10c51757e90257e48e741abd7",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(c,{key:"0dba75e0f7355b71bfa71dab16cd1a6fcc36922f",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 d,Host as t,transformTag as s}from"@stencil/core/internal/client";import{t as a}from"./i18n.js";import{e as o,v as l,F as m,c as n,a as c}from"./field-helpers.js";import{p as u,a as f}from"./format.js";import{b}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=b.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=u(e,this.locale);this.error=!this.required||null!==i&&""!==e?""===e||o(i,this.dataType)?"":a("invalid_number",this.locale):a("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===b.PERCENTAGE?f(r,this.locale,{minimumFractionDigits:0,maximumFractionDigits:this.decimalPrecision})+"%":f(r,this.locale,this.dataType===b.DECIMAL?{minimumFractionDigits:this.decimalPrecision,maximumFractionDigits:this.decimalPrecision}:{maximumFractionDigits:0})}render(){const r=!!this.error,e=this.dataType===b.PERCENTAGE?"%":"";return d(t,{key:"90cae99b332f9554bc80d4044fce892ae37a48cf"},d("div",{key:"26a9cfcc662eaeb571d17785f10f74269cf78537",class:"mrd-number-field"},d(m,{key:"0d9e70c1591f309ad2875d9e9fe6dbb8aa910323",base:"mrd-number-field",label:this.label,required:this.required}),d("div",{key:"95e9b53fa73c452491f65355915bf04912900ded",class:"mrd-number-field__input-wrapper"},d("input",{key:"1d341c270a21b1a10c51757e90257e48e741abd7",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(c,{key:"0dba75e0f7355b71bfa71dab16cd1a6fcc36922f",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}