@mmlogic/components 0.5.13 → 0.5.15

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 (74) hide show
  1. package/dist/cjs/{cell-renderer-BBebjBVz.js → cell-renderer-CLVKTVVQ.js} +113 -1
  2. package/dist/cjs/{client-layout-CqVuJumR.js → client-layout-Eg2VwW-7.js} +2 -0
  3. package/dist/cjs/index.cjs.js +2 -1
  4. package/dist/cjs/loader.cjs.js +1 -1
  5. package/dist/cjs/mosterdcomponents.cjs.js +1 -1
  6. package/dist/cjs/{mrd-boolean-field_25.cjs.entry.js → mrd-boolean-field_28.cjs.entry.js} +1163 -356
  7. package/dist/cjs/mrd-merge-view.cjs.entry.js +4 -4
  8. package/dist/collection/collection-manifest.json +3 -0
  9. package/dist/collection/components/fields/mrd-textarea-field/mrd-textarea-field.js +47 -2
  10. package/dist/collection/components/form/mrd-form/mrd-form.css +29 -0
  11. package/dist/collection/components/form/mrd-form/mrd-form.js +44 -8
  12. package/dist/collection/components/layout/mrd-layout-section/mrd-layout-section.js +126 -13
  13. package/dist/collection/components/memo/mrd-memo-container/mrd-memo-container.css +204 -0
  14. package/dist/collection/components/memo/mrd-memo-container/mrd-memo-container.js +694 -0
  15. package/dist/collection/components/memo/mrd-memo-list/mrd-memo-list.css +150 -0
  16. package/dist/collection/components/memo/mrd-memo-list/mrd-memo-list.js +511 -0
  17. package/dist/collection/components/memo/mrd-memo-view/mrd-memo-view.css +108 -0
  18. package/dist/collection/components/memo/mrd-memo-view/mrd-memo-view.js +204 -0
  19. package/dist/collection/components/merge/mrd-merge-view/mrd-merge-view.js +2 -2
  20. package/dist/collection/components/table/mrd-table/mrd-table.css +36 -0
  21. package/dist/collection/components/table/mrd-table/mrd-table.js +146 -31
  22. package/dist/collection/components/table/mrd-table/table-parts.js +6 -2
  23. package/dist/collection/components/table/mrd-table/table-query.js +6 -0
  24. package/dist/collection/dev/app.js +17 -0
  25. package/dist/collection/types/client-layout.js +1 -0
  26. package/dist/collection/utils/i18n.js +112 -0
  27. package/dist/collection/utils/query-params.js +9 -0
  28. package/dist/components/client-layout.js +1 -1
  29. package/dist/components/i18n.js +1 -1
  30. package/dist/components/index.js +1 -1
  31. package/dist/components/mrd-form.js +1 -1
  32. package/dist/components/mrd-layout-section.js +1 -1
  33. package/dist/components/mrd-memo-container.d.ts +11 -0
  34. package/dist/components/mrd-memo-container.js +1 -0
  35. package/dist/components/mrd-memo-container2.js +1 -0
  36. package/dist/components/mrd-memo-list.d.ts +11 -0
  37. package/dist/components/mrd-memo-list.js +1 -0
  38. package/dist/components/mrd-memo-list2.js +1 -0
  39. package/dist/components/mrd-memo-view.d.ts +11 -0
  40. package/dist/components/mrd-memo-view.js +1 -0
  41. package/dist/components/mrd-memo-view2.js +1 -0
  42. package/dist/components/mrd-merge-view.js +1 -1
  43. package/dist/components/mrd-table2.js +1 -1
  44. package/dist/components/mrd-textarea-field2.js +1 -1
  45. package/dist/components/query-params.js +1 -1
  46. package/dist/components/table-query.js +1 -0
  47. package/dist/esm/{cell-renderer-CC8-MtvQ.js → cell-renderer-4NKEzZWw.js} +113 -1
  48. package/dist/esm/{client-layout-Bc42CfJB.js → client-layout-BJkVeSq6.js} +2 -1
  49. package/dist/esm/index.js +1 -1
  50. package/dist/esm/loader.js +1 -1
  51. package/dist/esm/mosterdcomponents.js +1 -1
  52. package/dist/esm/{mrd-boolean-field_25.entry.js → mrd-boolean-field_28.entry.js} +1161 -357
  53. package/dist/esm/mrd-merge-view.entry.js +4 -4
  54. package/dist/mosterdcomponents/index.esm.js +1 -1
  55. package/dist/mosterdcomponents/mosterdcomponents.esm.js +1 -1
  56. package/dist/mosterdcomponents/{p-Bc42CfJB.js → p-BJkVeSq6.js} +1 -1
  57. package/dist/mosterdcomponents/p-BMx6VAJ6.js +1 -0
  58. package/dist/mosterdcomponents/p-d64ba1f2.entry.js +3 -0
  59. package/dist/mosterdcomponents/{p-a7e8f6a3.entry.js → p-e68dfbb0.entry.js} +1 -1
  60. package/dist/types/components/fields/mrd-textarea-field/mrd-textarea-field.d.ts +10 -0
  61. package/dist/types/components/form/mrd-form/mrd-form.d.ts +6 -0
  62. package/dist/types/components/layout/mrd-layout-section/mrd-layout-section.d.ts +20 -1
  63. package/dist/types/components/memo/mrd-memo-container/mrd-memo-container.d.ts +152 -0
  64. package/dist/types/components/memo/mrd-memo-list/mrd-memo-list.d.ts +79 -0
  65. package/dist/types/components/memo/mrd-memo-view/mrd-memo-view.d.ts +33 -0
  66. package/dist/types/components/table/mrd-table/mrd-table.d.ts +48 -1
  67. package/dist/types/components/table/mrd-table/table-parts.d.ts +15 -0
  68. package/dist/types/components/table/mrd-table/table-query.d.ts +6 -0
  69. package/dist/types/components.d.ts +528 -1
  70. package/dist/types/types/client-layout.d.ts +1 -0
  71. package/dist/types/utils/query-params.d.ts +16 -0
  72. package/package.json +1 -1
  73. package/dist/mosterdcomponents/p-07b148b2.entry.js +0 -3
  74. package/dist/mosterdcomponents/p-D5ZPfX3-.js +0 -1
@@ -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,b as l}from"./client-layout.js";import{t as n}from"./i18n.js";import{v as a}from"./field-helpers.js";import{d as c}from"./mrd-boolean-field2.js";import{d as f}from"./mrd-currency-field2.js";import{d as u}from"./mrd-date-field2.js";import{d as h}from"./mrd-datetime-field2.js";import{d as v}from"./mrd-email-field2.js";import{d as b}from"./mrd-field2.js";import{d as p}from"./mrd-file-field2.js";import{d as g}from"./mrd-hyperlink-field2.js";import{d as _}from"./mrd-image-field2.js";import{d as y}from"./mrd-list-field2.js";import{d as j}from"./mrd-longtext-field2.js";import{d as k}from"./mrd-number-field2.js";import{d as x}from"./mrd-relation-field2.js";import{d as w}from"./mrd-secret-field2.js";import{d as O}from"./mrd-text-field2.js";import{d as E}from"./mrd-textarea-field2.js";import{d as z}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 n=this.collectFields(null!==(e=null===(r=this.layout)||void 0===r?void 0:r.items)&&void 0!==e?e:[]),a={};for(const r of n){if(!r.name)continue;const e=this.formValues[r.name];if(null!=e&&""!==e)continue;const n=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(n)if(r.type===d.FIELD){const e=this.resolveFieldDefault(n,null!==(m=r.dataType)&&void 0!==m?m:null===(l=r.field)||void 0===l?void 0:l.dataType);null!=e&&(a[r.name]=e)}else r.type===d.RELATION&&"me()"===n&&this.me&&(a[r.name]=this.me)}Object.keys(a).length>0&&(this.formValues=Object.assign(Object.assign({},this.formValues),a))}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,t){if(t){const i=this.formValues[r];if(Array.isArray(i)){const o=i.indexOf(t);if(-1===o)return;const s=[...i];return s[o]=e,this.formValues=Object.assign(Object.assign({},this.formValues),{[r]:s}),void(this.errors[r]&&(this.errors=Object.assign(Object.assign({},this.errors),{[r]:""})))}if(i!==t)return}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){var e,t;return r?"string"==typeof r?r:"object"==typeof r&&null!==(t=null!==(e=r.id)&&void 0!==e?e:r.href)&&void 0!==t?t:"":""}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]=n("required",this.locale));return this.errors=t,0===Object.keys(t).length}normalizeFieldValue(r){return""===r||null==r?null:r}normalizeFileFieldValue(r){const e=r=>r&&"object"==typeof r&&"href"in r?r.href:r;if(Array.isArray(r)){const t=r.map(e).filter((r=>null!=r&&""!==r));return t.length?t:null}return this.normalizeFieldValue(e(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 i=this.formValues[e];if(i instanceof File)continue;if(Array.isArray(i)&&i.some((r=>r instanceof File)))continue;const o=r.dataType===l.FILE||r.dataType===l.IMAGE,s=o?this.normalizeFileFieldValue(i):this.normalizeFieldValue(i),d=o?this.normalizeFileFieldValue(this.initialValues[e]):this.normalizeFieldValue(this.initialValues[e]);if(this.deepEqual(s,d))continue;t[e]=s}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"},n("submit",this.locale)),this.showCancel&&i("button",{type:"button",class:"mrd-form__cancel",onClick:()=>this.mrdCancel.emit()},n("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}]}]),F=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))||c();break;case"mrd-currency-field":customElements.get(s(r))||f();break;case"mrd-date-field":customElements.get(s(r))||u();break;case"mrd-datetime-field":customElements.get(s(r))||h();break;case"mrd-email-field":customElements.get(s(r))||v();break;case"mrd-field":customElements.get(s(r))||b();break;case"mrd-file-field":customElements.get(s(r))||p();break;case"mrd-hyperlink-field":customElements.get(s(r))||g();break;case"mrd-image-field":customElements.get(s(r))||_();break;case"mrd-list-field":customElements.get(s(r))||y();break;case"mrd-longtext-field":customElements.get(s(r))||j();break;case"mrd-number-field":customElements.get(s(r))||k();break;case"mrd-relation-field":customElements.get(s(r))||x();break;case"mrd-secret-field":customElements.get(s(r))||w();break;case"mrd-text-field":customElements.get(s(r))||O();break;case"mrd-textarea-field":customElements.get(s(r))||E();break;case"mrd-time-field":customElements.get(s(r))||z()}}))};export{F as MrdForm,S as defineCustomElement}
1
+ import{proxyCustomElement as r,HTMLElement as e,createEvent as t,h as o,Host as i,transformTag as s}from"@stencil/core/internal/client";import{a as d,d as m,b as l}from"./client-layout.js";import{t as a}from"./i18n.js";import{v as n}from"./field-helpers.js";import{d as c}from"./mrd-boolean-field2.js";import{d as f}from"./mrd-currency-field2.js";import{d as u}from"./mrd-date-field2.js";import{d as h}from"./mrd-datetime-field2.js";import{d as v}from"./mrd-email-field2.js";import{d as b}from"./mrd-field2.js";import{d as p}from"./mrd-file-field2.js";import{d as g}from"./mrd-hyperlink-field2.js";import{d as _}from"./mrd-image-field2.js";import{d as y}from"./mrd-list-field2.js";import{d as j}from"./mrd-longtext-field2.js";import{d as k}from"./mrd-number-field2.js";import{d as w}from"./mrd-relation-field2.js";import{d as x}from"./mrd-secret-field2.js";import{d as O}from"./mrd-text-field2.js";import{d as E}from"./mrd-textarea-field2.js";import{d as z}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.mrdDelete=t(this,"mrdDelete",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.showDelete=!1,this.me=null,this.formValues={},this.errors={},this.submitted=!1,this.initialValues={},this.handleFieldChange=r=>{const{name:e,value:t}=r.detail,o=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 i=this.getHref(t);if(i!==o)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:i}))},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,o,i,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!==(i=null!==(t=r.defaultValue)&&void 0!==t?t:null===(o=r.field)||void 0===o?void 0:o.defaultValue)&&void 0!==i?i: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:[]),o=t.find((r=>r.type===d.RELATION&&r.mostSignificantClass===this.referenceClass));if(null==o?void 0:o.name)return o.name;const i=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&&!i.has(r.commonRelation))return r.commonRelation;return null}async setFieldValue(r,e,t){if(t){const o=this.formValues[r];if(Array.isArray(o)){const i=o.indexOf(t);if(-1===i)return;const s=[...o];return s[i]=e,this.formValues=Object.assign(Object.assign({},this.formValues),{[r]:s}),void(this.errors[r]&&(this.errors=Object.assign(Object.assign({},this.errors),{[r]:""})))}if(o!==t)return}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){var e,t;return r?"string"==typeof r?r:"object"==typeof r&&null!==(t=null!==(e=r.id)&&void 0!==e?e:r.href)&&void 0!==t?t:"":""}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={},o=this.collectFields(null!==(e=null===(r=this.layout)||void 0===r?void 0:r.items)&&void 0!==e?e:[]);for(const r of o)r.name&&r.required&&!n(this.formValues[r.name])&&(t[r.name]=a("required",this.locale));return this.errors=t,0===Object.keys(t).length}normalizeFieldValue(r){return""===r||null==r?null:r}normalizeFileFieldValue(r){const e=r=>r&&"object"==typeof r&&"href"in r?r.href:r;if(Array.isArray(r)){const t=r.map(e).filter((r=>null!=r&&""!==r));return t.length?t:null}return this.normalizeFieldValue(e(r))}normalizeRelationValue(r){if(null==r||""===r)return null;if(Array.isArray(r)){const e=r.map((r=>this.getHref(r))).filter((r=>""!==r));return e.length?e:null}return this.getHref(r)||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(),o=[...e].sort();return JSON.stringify(t)===JSON.stringify(o)}return JSON.stringify(r)===JSON.stringify(e)}buildSubmitPayload(){var r,e;const t={},o=this.collectFields(null!==(e=null===(r=this.layout)||void 0===r?void 0:r.items)&&void 0!==e?e:[]);for(const r of o){if(!r.name)continue;const e=r.name;if(r.type===d.FIELD){const o=this.formValues[e];if(o instanceof File)continue;if(Array.isArray(o)&&o.some((r=>r instanceof File)))continue;const i=r.dataType===l.FILE||r.dataType===l.IMAGE,s=i?this.normalizeFileFieldValue(o):this.normalizeFieldValue(o),d=i?this.normalizeFileFieldValue(this.initialValues[e]):this.normalizeFieldValue(this.initialValues[e]);if(this.deepEqual(s,d))continue;t[e]=s}else if(r.type===d.RELATION){const r=this.normalizeRelationValue(this.formValues[e]),o=this.normalizeRelationValue(this.initialValues[e]);if(this.deepEqual(r,o))continue;t[e]=r}}return t}renderItems(r){return r.map((r=>{var e;if(r.type===d.SECTION)return o("fieldset",{class:"mrd-form__section"},r.label&&o("legend",{class:"mrd-form__section-legend"},r.label),o("div",{class:"mrd-form__section-body"},r.items&&this.renderItems(r.items)));if(r.type===d.GROUP)return o("div",{class:"mrd-form__group"},r.label&&o("div",{class:"mrd-form__group-label"},r.label),o("div",{class:"mrd-form__group-body"},r.items&&this.renderItems(r.items)));const t=null!==(e=r.name)&&void 0!==e?e:"";return o("div",{class:"mrd-form__field"},o("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]&&o("span",{class:"mrd-form__field-error"},this.errors[t]))}))}render(){if(!this.layout)return o(i,null);const r=this.locale.startsWith("ar")?"rtl":"ltr";return o(i,null,o("form",{class:"mrd-form",dir:r,onSubmit:this.handleSubmit,noValidate:!0},this.layout.title&&o("h2",{class:"mrd-form__title"},this.layout.title),o("div",{class:"mrd-form__body"},this.renderItems(this.layout.items)),o("div",{class:"mrd-form__footer"},this.showDelete&&o("button",{type:"button",class:"mrd-form__delete",onClick:()=>this.mrdDelete.emit()},a("delete",this.locale)),o("button",{type:"submit",class:"mrd-form__submit"},a("submit",this.locale)),this.showCancel&&o("button",{type:"button",class:"mrd-form__cancel",onClick:()=>this.mrdCancel.emit()},a("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)}.mrd-form__delete.sc-mrd-form{display:inline-flex;align-items:center;justify-content:center;height:var(--mrd-input-height);padding:0 var(--mrd-space-6);margin-right:auto;background-color:transparent;color:var(--mrd-color-danger);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-color-danger);border-radius:var(--mrd-border-radius);cursor:pointer;transition:background-color var(--mrd-transition), color var(--mrd-transition)}.mrd-form__delete.sc-mrd-form:hover{background-color:var(--mrd-color-danger-light);color:var(--mrd-color-danger-dark)}.mrd-form__delete.sc-mrd-form:focus{outline:none;box-shadow:0 0 0 3px var(--mrd-color-danger-light)}.mrd-form__delete.sc-mrd-form:active{background-color:var(--mrd-color-danger-light);border-color:var(--mrd-color-danger-dark)}"}},[2,"mrd-form",{layout:[16],locale:[1],values:[16],referenceHref:[1,"reference-href"],referenceClass:[1,"reference-class"],showCancel:[4,"show-cancel"],showDelete:[4,"show-delete"],me:[16],formValues:[32],errors:[32],submitted:[32],setFieldValue:[64]},void 0,{values:[{valuesChanged:0}],me:[{meChanged:0}]}]),F=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))||c();break;case"mrd-currency-field":customElements.get(s(r))||f();break;case"mrd-date-field":customElements.get(s(r))||u();break;case"mrd-datetime-field":customElements.get(s(r))||h();break;case"mrd-email-field":customElements.get(s(r))||v();break;case"mrd-field":customElements.get(s(r))||b();break;case"mrd-file-field":customElements.get(s(r))||p();break;case"mrd-hyperlink-field":customElements.get(s(r))||g();break;case"mrd-image-field":customElements.get(s(r))||_();break;case"mrd-list-field":customElements.get(s(r))||y();break;case"mrd-longtext-field":customElements.get(s(r))||j();break;case"mrd-number-field":customElements.get(s(r))||k();break;case"mrd-relation-field":customElements.get(s(r))||w();break;case"mrd-secret-field":customElements.get(s(r))||x();break;case"mrd-text-field":customElements.get(s(r))||O();break;case"mrd-textarea-field":customElements.get(s(r))||E();break;case"mrd-time-field":customElements.get(s(r))||z()}}))};export{F as MrdForm,S as defineCustomElement}
@@ -1 +1 @@
1
- import{h as t,proxyCustomElement as r,HTMLElement as o,createEvent as e,Host as i,transformTag as a}from"@stencil/core/internal/client";import{a as s,b as n,r as l,A as d,e as c,h as m,f as u,g as v}from"./client-layout.js";import{t as h}from"./i18n.js";import{C as y}from"./cell-renderer.js";import{a as p}from"./format.js";import{d as f}from"./mrd-document-container2.js";import{d as _}from"./mrd-document-list2.js";import{d as g}from"./mrd-document-view2.js";import{d as b}from"./mrd-email-view2.js";import{d as w}from"./mrd-invoice-view2.js";import{d as x}from"./mrd-table2.js";function k(t){var r,o,e,i,a;return null!==(a=null!==(e=null!==(r=t.showEmpty)&&void 0!==r?r:null===(o=t.field)||void 0===o?void 0:o.showEmpty)&&void 0!==e?e:null===(i=t.relation)||void 0===i?void 0:i.showEmpty)&&void 0!==a&&a}function z(t){const r=[];for(const o of t)r.push(o),o.items&&r.push(...z(o.items));return r}function j(r,o,e,i){return t("button",{class:"mrd-layout-section__download-link",onClick:()=>o&&r.on.download({href:o,fileName:e})},t("svg",{class:"mrd-layout-section__file-icon",viewBox:"0 0 24 24","aria-hidden":"true"},t("path",{fill:"currentColor",d:"M14 2H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V8l-6-6zm-1 7V3.5L18.5 9H13zm-3 8l-3-3 1.41-1.41L10 14.17l4.59-4.58L16 11l-6 6z"})),i)}function C(r,o,e){var i,a,s,l,d,c,m,u,v,p,f;const _=o.dataType;switch(_){case n.HYPERLINK:{const r=null!==(i=null==e?void 0:e.href)&&void 0!==i?i:e+"",o=null!==(l=null!==(s=null!==(a=null==e?void 0:e.name)&&void 0!==a?a:null==e?void 0:e.text)&&void 0!==s?s:null==e?void 0:e.label)&&void 0!==l?l:r;return t("a",{class:"mrd-layout-section__link",href:r,target:"_blank",rel:"noopener noreferrer"},o)}case n.TEXTBLOCK:return t("div",{class:"mrd-layout-section__prose",innerHTML:e+""});case n.LONGTEXT:return t("pre",{class:"mrd-layout-section__pre"},e+"");case n.JSON:return t("pre",{class:"mrd-layout-section__pre",innerHTML:y.formatJson(e)});case n.FILE:{const t=null!==(d=null==e?void 0:e.fileName)&&void 0!==d?d:e+"",o=null!==(c=null==e?void 0:e.href)&&void 0!==c?c:"";return j(r,o,t,t||h("download",r.locale))}case n.IMAGE:{const i=null!==(m=null==e?void 0:e.href)&&void 0!==m?m:"",a=null!==(u=null==e?void 0:e.fileName)&&void 0!==u?u:"",s=r.imagePreviews[o.name];return s?t("button",{class:"mrd-layout-section__image-thumb-btn",onClick:()=>r.on.openImage(s),title:a||void 0},t("img",{class:"mrd-layout-section__image-thumb",src:s,alt:a})):j(r,i,a,a||i)}case n.BOOLEAN:return t("span",{class:"mrd-layout-section__boolean mrd-layout-section__boolean--"+(e?"true":"false")},h(e?"yes":"no",r.locale));case n.LIST:{const r=(null!==(v=o.listItems)&&void 0!==v?v:[]).find((t=>t.key===e+"")),i=null!==(p=null==r?void 0:r.label)&&void 0!==p?p:e+"",a=null==r?void 0:r.color,s=null==r?void 0:r.backgroundColor;return a&&s?t("span",{class:"mrd-layout-section__badge",style:{color:a,backgroundColor:s}},i):a?t("span",{class:"mrd-layout-section__badge-dot-row"},t("span",{class:"mrd-layout-section__badge-dot",style:{backgroundColor:a}}),i):i}case n.SECRET:return e?t("span",{class:"mrd-layout-section__secret-masked"},"••••••••"):null;default:return y.renderValue(_,e,null!==(f=o.listItems)&&void 0!==f?f:[],r.locale)||null}}const M=r(class extends o{constructor(t){super(),!1!==t&&this.__registerHost(),this.mrdNavigate=e(this,"mrdNavigate",7),this.mrdSearch=e(this,"mrdSearch",7),this.mrdDownload=e(this,"mrdDownload",7),this.mrdLoadViewPage=e(this,"mrdLoadViewPage",7),this.mrdLoadImage=e(this,"mrdLoadImage",7),this.mrdAttachments=e(this,"mrdAttachments",7),this.mrdViewAction=e(this,"mrdViewAction",7),this.mrdLoadViewAggregations=e(this,"mrdLoadViewAggregations",7),this.mrdLoadViewDistinct=e(this,"mrdLoadViewDistinct",7),this.mrdUpdateObject=e(this,"mrdUpdateObject",7),this.mrdViewUpload=e(this,"mrdViewUpload",7),this.mrdCreateObject=e(this,"mrdCreateObject",7),this.items=[],this.data={},this.views={},this.links={},this.locale=navigator.language,this.archetypes=[],this.readOnly=!1,this.searchQueryMap={},this.searchResultsMap={},this.imagePreviewUrl=null,this.imagePreviews={},this.openHistoryField=null,this.historyClickOutside=null,this.searchTimers={},this.handleViewLoadPage=(t,r)=>{t.stopPropagation(),this.mrdLoadViewPage.emit({name:r,page:t.detail.page,sort:t.detail.sort,path:t.detail.path,qs:t.detail.qs})},this.handleSearchInput=(t,r)=>{this.searchQueryMap=Object.assign(Object.assign({},this.searchQueryMap),{[t]:r}),this.searchTimers[t]&&clearTimeout(this.searchTimers[t]),r.length<2?this.searchResultsMap=Object.assign(Object.assign({},this.searchResultsMap),{[t]:[]}):this.searchTimers[t]=setTimeout((()=>{this.mrdSearch.emit({query:r,dataClass:t})}),300)}}componentDidLoad(){setTimeout((()=>{this.initEmbeddedTables(),this.emitLoadImages()}),0),this.historyClickOutside=t=>{this.el.contains(t.target)||(this.openHistoryField=null)},document.addEventListener("mousedown",this.historyClickOutside)}disconnectedCallback(){this.historyClickOutside&&(document.removeEventListener("mousedown",this.historyClickOutside),this.historyClickOutside=null)}dataChanged(t){t&&Object.keys(t).length>0&&setTimeout((()=>this.initEmbeddedTables()),0)}async initEmbeddedTables(){const t=this.el.querySelectorAll("mrd-table[data-view]");for(const r of Array.from(t))"function"==typeof r.init&&await r.init()}emitLoadImages(){for(const t of z(this.items))if(t.type===s.FIELD&&t.dataType===n.IMAGE){const r=t.name,o=this.data[r],e=null==o?void 0:o.href;e&&this.mrdLoadImage.emit({fieldName:r,href:e})}}async setSearchResults(t,r){const o=null!=r?r:this.resolveSearchKey();o&&(this.searchResultsMap=Object.assign(Object.assign({},this.searchResultsMap),{[o]:t}))}async setViewPage(t,r,o,e,i,a){if(a){const r=this.el.querySelector(`mrd-document-list[data-doclist="${t}"]`);return void((null==r?void 0:r.setDocuments)&&await r.setDocuments(a,o))}const s=this.el.querySelector(`mrd-table[data-view="${t}"]`);s&&(void 0!==e&&(s.totalElements=e),await s.setPage(r,o,i))}async setViewAggregations(t,r){const o=this.el.querySelector(`mrd-table[data-view="${t}"]`);o&&await o.setAggregations(r)}async setViewDistinct(t,r,o){const e=this.el.querySelector(`mrd-document-list[data-doclist="${t}"]`);(null==e?void 0:e.setDistinct)&&await e.setDistinct(r,o)}async setViewFileReference(t,r){const o=this.el.querySelector(`mrd-document-list[data-doclist="${t}"]`);(null==o?void 0:o.setFileReference)&&await o.setFileReference(r)}async setViewCreatedObject(t,r){const o=this.el.querySelector(`mrd-document-list[data-doclist="${t}"]`);(null==o?void 0:o.setCreatedHref)&&await o.setCreatedHref(r)}async setImagePreview(t,r){this.imagePreviews=Object.assign(Object.assign({},this.imagePreviews),{[t]:r})}async openImagePreview(t){this.imagePreviewUrl=t}resolveSearchKey(){var t;const r=z(this.items).filter((t=>t.type===s.SEARCH));return 1===r.length&&null!==(t=r[0].dataClass)&&void 0!==t?t:null}fieldCtx(){return{locale:this.locale,data:this.data,imagePreviews:this.imagePreviews,openHistoryField:this.openHistoryField,on:{download:t=>this.mrdDownload.emit(t),openImage:t=>{this.imagePreviewUrl=t},toggleHistory:t=>{this.openHistoryField=t}}}}renderField(r){return function(r,o){var e,i;if(!o.name)return null;const a=r.data[o.name],s=(null!==(e=o.historyEnabled)&&void 0!==e?e:null===(i=o.field)||void 0===i?void 0:i.historyEnabled)&&null!==a&&"object"==typeof a&&"current"in a?a.current:a,l=function(r,o,e){if(null==e||""===e)return null;if(o.multiple&&Array.isArray(e)){if(o.dataType===n.FILE||o.dataType===n.IMAGE)return t("div",{class:"mrd-layout-section__file-list"},e.map(((e,i)=>t("div",{class:"mrd-layout-section__file-list-item",key:i+""},C(r,o,e)))));const i=e.map((t=>C(r,o,t)));return i.every((t=>"string"==typeof t||null==t))?i.filter(Boolean).join(", ")||null:t("span",null,i.map(((r,o)=>t("span",{key:o+""},r,o<i.length-1?", ":""))))}return C(r,o,e)}(r,o,s);if(o.header)return t("h1",{class:"mrd-layout-section__field-header",key:o.name},"string"==typeof l?l:null!=s?s+"":o.label);const d=null==l;return d&&!k(o)?null:t("div",{class:`mrd-layout-section__field${o.dataType===n.TEXTBLOCK||o.dataType===n.LONGTEXT||o.dataType===n.JSON?" mrd-layout-section__field--block":""}${d?" mrd-layout-section__field--empty":""}`,key:o.name},t("span",{class:"mrd-layout-section__field-label"},o.label),t("span",{class:"mrd-layout-section__field-value"},d?h("value_empty",r.locale):l,function(r,o,e){var i,a,s;if(!(null!==(i=o.historyEnabled)&&void 0!==i?i:null===(a=o.field)||void 0===a?void 0:a.historyEnabled)||!o.name)return null;const n=null!==(s=null==e?void 0:e.history)&&void 0!==s?s:[];if(!n.length)return null;const l=[...n].sort(((t,r)=>r.until.localeCompare(t.until))),d=r.openHistoryField===o.name;return t("span",{class:"mrd-layout-section__history-wrap"},t("button",{type:"button",class:"mrd-layout-section__history-btn",title:h("history_badge_tooltip",r.locale),"aria-label":h("history_badge_tooltip",r.locale),onClick:t=>{t.stopPropagation(),r.on.toggleHistory(d?null:o.name)}},t("svg",{class:"mrd-layout-section__history-icon",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true"},t("path",{"fill-rule":"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zm.75-13a.75.75 0 00-1.5 0v5c0 .207.085.394.22.53l2.5 2.5a.75.75 0 101.06-1.06L10.75 9.69V5z","clip-rule":"evenodd"}))),d&&t("div",{class:"mrd-layout-section__history-popover",role:"listbox"},l.map(((o,e)=>t("div",{key:e+"",class:"mrd-layout-section__history-entry"},o.value," (",h("history_until",r.locale)," ",p(o.until,r.locale),")")))))}(r,o,a)))}(this.fieldCtx(),r)}renderRelation(r){var o,e,i;if(!r.name)return null;const a=(null!==(e=null===(o=this.data)||void 0===o?void 0:o._links)&&void 0!==e?e:{})[r.name],s=(r,o)=>t("button",{key:r,class:"mrd-layout-section__relation-link",onClick:()=>this.mrdNavigate.emit({href:r,label:o})},o);let n;(null===(i=null==a?void 0:a.values)||void 0===i?void 0:i.length)?n=a.values.map((t=>s(t.href,t.name))):(null==a?void 0:a.name)&&(n=s(a.href,a.name));const l=!n;return l&&!k(r)?null:t("div",{class:"mrd-layout-section__field"+(l?" mrd-layout-section__field--empty":""),key:r.name},t("span",{class:"mrd-layout-section__field-label"},r.label),t("span",{class:"mrd-layout-section__field-value"},l?h("value_empty",this.locale):n))}renderSearch(r){var o,e,i;if(!r.dataClass)return null;const a=r.dataClass,s=null!==(o=this.searchQueryMap[a])&&void 0!==o?o:"",n=null!==(e=this.searchResultsMap[a])&&void 0!==e?e:[];return t("div",{class:"mrd-layout-section__search",key:"search-"+a},t("div",{class:"mrd-layout-section__search-wrap"},t("svg",{class:"mrd-layout-section__search-icon",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true"},t("path",{"fill-rule":"evenodd",d:"M9 3.5a5.5 5.5 0 100 11 5.5 5.5 0 000-11zM2 9a7 7 0 1112.452 4.391l3.328 3.329a.75.75 0 11-1.06 1.06l-3.329-3.328A7 7 0 012 9z","clip-rule":"evenodd"})),t("input",{class:"mrd-layout-section__search-input",type:"text",value:s,placeholder:null!==(i=r.label)&&void 0!==i?i:"",onInput:t=>this.handleSearchInput(a,t.target.value)})),n.length>0&&t("ul",{class:"mrd-layout-section__search-results"},n.map((r=>t("li",{key:r.id,class:"mrd-layout-section__search-result"},t("button",{class:"mrd-layout-section__search-result-btn",onClick:()=>this.mrdNavigate.emit({href:r.id,label:r.label})},t("span",{class:"mrd-layout-section__search-result-label"},r.label),r.description&&t("span",{class:"mrd-layout-section__search-result-desc"},r.description)))))))}renderRelatedView(r){var o,e,i,a,n,c,m,u;const v=function(t){var r,o,e,i;return t.type===s.RELATED_VIEW?null!==(o=null!==(r=t.relatedClass)&&void 0!==r?r:t.name)&&void 0!==o?o:"":null!==(i=null!==(e=t.dataClass)&&void 0!==e?e:t.name)&&void 0!==i?i:""}(r);if(!v)return null;if(!r.view)return null;const h=null!==(o=r.showTitle)&&void 0!==o&&o,y=null!==(n=null===(a=null===(i=null===(e=this.data)||void 0===e?void 0:e._links)||void 0===i?void 0:i.self)||void 0===a?void 0:a.href)&&void 0!==n?n:"",p=null!==(c=y.split("/").filter(Boolean).pop())&&void 0!==c?c:"",f=l(null!==(m=r.archetypes)&&void 0!==m?m:null===(u=r.view)||void 0===u?void 0:u.archetypes,d),_=function(t,r,o){if(t.type!==s.RELATED_VIEW||!t.fromClass||!o)return"";const e=r.split("/").filter(Boolean);if(e.length<2)return"";const[i,a]=e;return`/${i}/${a}/${t.fromClass}/${o}`}(r,y,p);return t("div",{class:"mrd-layout-section__related-view",key:"view-"+v},h&&r.label&&t("h3",{class:"mrd-layout-section__related-view-title"},r.label),f?this.renderDocumentContainer(r,v,p,f,_):this.renderTable(r,v,p))}renderDocumentContainer(r,o,e,i,a){return t("mrd-document-container",{item:r,archetype:i,parentId:e,containerHref:a,viewKey:o,locale:this.locale,readOnly:this.readOnly,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,readOnly:this.readOnly,onMrdLoadPage:t=>this.handleViewLoadPage(t,o),onMrdLoadAggregations:t=>{var e;t.stopPropagation(),this.mrdLoadViewAggregations.emit(Object.assign({name:o,dataClass:null!==(e=r.dataClass)&&void 0!==e?e:o},t.detail))},onMrdRowClick:t=>{var o,e,i,a;t.stopPropagation();const{row:s,listContext:n}=t.detail;this.mrdNavigate.emit({href:null===(e=null===(o=null==s?void 0:s._links)||void 0===o?void 0:o.self)||void 0===e?void 0:e.href,label:null!==(i=null==s?void 0:s.name)&&void 0!==i?i:"",navigateBehaviour:null!==(a=r.navigateBehaviour)&&void 0!==a?a:c.PAGE,listContext:n})},onMrdAction:t=>{var e;t.stopPropagation(),this.mrdViewAction.emit({name:o,action:t.detail.action,dataClass:null!==(e=r.dataClass)&&void 0!==e?e:o,path:t.detail.path,qs:t.detail.qs,parentPath:t.detail.parentPath,basicType:t.detail.basicType})}})}renderItem(r){var o,e;switch(r.type){case s.FIELD:return this.renderField(r);case s.RELATION:return this.renderRelation(r);case s.HEADER:return t("h2",{class:"mrd-layout-section__header",key:"header-"+r.label},r.label);case s.TEXT:return t("div",{class:"mrd-layout-section__text",key:"text-"+r.label,innerHTML:null!==(o=r.label)&&void 0!==o?o:""});case s.NAVIGATE:return t("button",{class:"mrd-layout-section__navigate",key:"nav-"+r.label,onClick:()=>{var t,o,e;return this.mrdNavigate.emit({label:null!==(t=r.label)&&void 0!==t?t:"",navigate:null!==(o=r.navigate)&&void 0!==o?o:{dataClass:null!==(e=r.dataClass)&&void 0!==e?e:"",icon:r.icon,navigationType:r.navigationType}})}},r.label);case s.SEARCH:return this.renderSearch(r);case s.SECTION:case s.GROUP:return t("div",{class:"mrd-layout-section__group",key:"group-"+r.label},r.label&&t("h3",{class:"mrd-layout-section__group-title"},r.label),(null!==(e=r.items)&&void 0!==e?e:[]).map((t=>this.renderItem(t))));case s.RELATED_VIEW:case s.VIEW:return this.renderRelatedView(r);default:return null}}renderImageModal(){return this.imagePreviewUrl?t("div",{class:"mrd-layout-section__modal-backdrop",onClick:()=>{this.imagePreviewUrl=null}},t("div",{class:"mrd-layout-section__modal",onClick:t=>t.stopPropagation()},t("button",{class:"mrd-layout-section__modal-close",onClick:()=>{this.imagePreviewUrl=null}},"✕"),t("img",{class:"mrd-layout-section__modal-image",src:this.imagePreviewUrl,alt:""}))):null}relatedItems(t){return this.items.filter((r=>r!==t&&(r.type===s.VIEW||r.type===s.RELATED_VIEW||r.type===s.SEARCH)))}renderDocumentObject(r){return[t("mrd-document-view",{archetype:r,data:this.data,locale:this.locale,onMrdNavigate:t=>{t.stopPropagation(),this.mrdNavigate.emit(t.detail)},onMrdDownload:t=>{t.stopPropagation(),this.mrdDownload.emit(t.detail)},onMrdAttachments:t=>{t.stopPropagation(),this.mrdAttachments.emit(t.detail)}}),...this.relatedItems().map((t=>this.renderItem(t)))]}renderInvoiceObject(r){var o,e,i;const a=null!==(o=this.items.find((t=>{var r,o;return(t.type===s.VIEW||t.type===s.RELATED_VIEW)&&!!l(null!==(r=t.archetypes)&&void 0!==r?r:null===(o=t.view)||void 0===o?void 0:o.archetypes,m)})))&&void 0!==o?o:null,n=null!==(i=null===(e=this.items.find((t=>{var o;return t.name===(null===(o=r.slots)||void 0===o?void 0:o.status)})))||void 0===e?void 0:e.listItems)&&void 0!==i?i:null;return[t("mrd-invoice-view",{archetype:r,data:this.data,locale:this.locale,statusListItems:n,onMrdNavigate:t=>{t.stopPropagation(),this.mrdNavigate.emit(t.detail)},onMrdDownload:t=>{t.stopPropagation(),this.mrdDownload.emit(t.detail)},onMrdAttachments:t=>{t.stopPropagation(),this.mrdAttachments.emit(t.detail)}},a&&t("div",{slot:"lines"},this.renderRelatedView(a))),...this.relatedItems(a).map((t=>this.renderItem(t)))]}renderEmailObject(r){return[t("mrd-email-view",{archetype:r,data:this.data,locale:this.locale,onMrdNavigate:t=>{t.stopPropagation(),this.mrdNavigate.emit(t.detail)},onMrdDownload:t=>{t.stopPropagation(),this.mrdDownload.emit(t.detail)},onMrdAttachments:t=>{t.stopPropagation(),this.mrdAttachments.emit(t.detail)}}),...this.relatedItems().map((t=>this.renderItem(t)))]}render(){const r=l(this.archetypes,d),o=r?void 0:l(this.archetypes,u),e=r||o?void 0:l(this.archetypes,v);return t(i,{key:"07b1d61b170a5ae971ba54eaf775e1787dea1642"},t("div",{key:"d146e0542b1de11bd130eb3d36d54e4faf055309",class:"mrd-layout-section"},r&&this.renderDocumentObject(r),o&&this.renderInvoiceObject(o),e&&this.renderEmailObject(e),!r&&!o&&!e&&this.items.map((t=>this.renderItem(t)))),this.renderImageModal())}get el(){return this}static get watchers(){return{data:[{dataChanged:0}]}}static get style(){return".sc-mrd-layout-section-h{display:block;width:100%}.mrd-layout-section.sc-mrd-layout-section{font-family:var(--mrd-font-family);font-size:var(--mrd-font-size-base);color:var(--mrd-color-neutral-800)}.mrd-layout-section__field.sc-mrd-layout-section{display:grid;grid-template-columns:200px 1fr;align-items:baseline;gap:0 var(--mrd-space-2);padding:var(--mrd-space-1) 0}.mrd-layout-section__field--block.sc-mrd-layout-section{grid-template-columns:1fr}.mrd-layout-section__field-label.sc-mrd-layout-section{font-size:var(--mrd-font-size-xs);font-weight:var(--mrd-font-weight-normal);color:var(--mrd-color-neutral-500);padding-top:1px}.mrd-layout-section__field-value.sc-mrd-layout-section{font-size:var(--mrd-font-size-sm);font-weight:var(--mrd-font-weight-medium);color:var(--mrd-color-neutral-800);word-break:break-word;display:inline-flex;align-items:center;gap:var(--mrd-space-1)}.mrd-layout-section__field--empty.sc-mrd-layout-section .mrd-layout-section__field-value.sc-mrd-layout-section{color:var(--mrd-color-neutral-400);font-weight:var(--mrd-font-weight-normal)}.mrd-layout-section__history-wrap.sc-mrd-layout-section{position:relative;display:inline-flex;align-items:center}.mrd-layout-section__history-btn.sc-mrd-layout-section{display:inline-flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;padding:0;background:transparent;border:none;border-radius:var(--mrd-border-radius-sm);color:var(--mrd-color-neutral-400);cursor:pointer;flex-shrink:0;transition:color var(--mrd-transition-fast), background-color var(--mrd-transition-fast)}.mrd-layout-section__history-btn.sc-mrd-layout-section:hover{color:var(--mrd-color-neutral-700);background-color:var(--mrd-color-neutral-100)}.mrd-layout-section__history-btn.sc-mrd-layout-section:focus{outline:none;box-shadow:var(--mrd-shadow-focus)}.mrd-layout-section__history-icon.sc-mrd-layout-section{width:0.875rem;height:0.875rem}.mrd-layout-section__history-popover.sc-mrd-layout-section{position:absolute;top:calc(100% + 0.25rem);left:0;min-width:24rem;max-width:24rem;background-color:var(--mrd-color-white);border:var(--mrd-border-width) solid var(--mrd-border-color);border-radius:var(--mrd-border-radius-md);box-shadow:var(--mrd-shadow-md);padding:var(--mrd-space-1) 0;z-index:var(--mrd-z-dropdown)}.mrd-layout-section__history-entry.sc-mrd-layout-section{font-family:var(--mrd-font-family);font-size:var(--mrd-font-size-sm);font-weight:var(--mrd-font-weight-normal);color:var(--mrd-color-neutral-700);padding:var(--mrd-space-2) var(--mrd-space-3);line-height:var(--mrd-line-height-normal)}.mrd-layout-section__history-entry.sc-mrd-layout-section:not(:last-child){border-bottom:var(--mrd-border-width) solid var(--mrd-color-neutral-100)}.mrd-layout-section__field-header.sc-mrd-layout-section{font-size:var(--mrd-font-size-2xl);font-weight:var(--mrd-font-weight-bold);color:var(--mrd-color-neutral-900);margin:0 0 var(--mrd-space-4) 0;padding:0}.mrd-layout-section__header.sc-mrd-layout-section{font-size:var(--mrd-font-size-xl);font-weight:var(--mrd-font-weight-semibold);color:var(--mrd-color-neutral-800);margin:var(--mrd-space-4) 0 var(--mrd-space-2) 0;padding:0}.mrd-layout-section__text.sc-mrd-layout-section{font-size:var(--mrd-font-size-base);color:var(--mrd-color-neutral-700);line-height:var(--mrd-line-height-relaxed);margin:var(--mrd-space-2) 0}.mrd-layout-section__navigate.sc-mrd-layout-section{display:inline-flex;align-items:center;gap:var(--mrd-space-2);padding:var(--mrd-space-2) var(--mrd-space-3);background:none;border:1px solid var(--mrd-color-neutral-300);border-radius:var(--mrd-border-radius);font-family:var(--mrd-font-family);font-size:var(--mrd-font-size-sm);color:var(--mrd-color-primary);cursor:pointer;margin:var(--mrd-space-2) 0}.mrd-layout-section__navigate.sc-mrd-layout-section:hover{background-color:var(--mrd-color-primary-light);border-color:var(--mrd-color-primary)}.mrd-layout-section__link.sc-mrd-layout-section{color:var(--mrd-color-primary);text-decoration:none}.mrd-layout-section__link.sc-mrd-layout-section:hover{text-decoration:underline}.mrd-layout-section__relation-link.sc-mrd-layout-section{background:none;border:none;padding:0;font-family:var(--mrd-font-family);font-size:var(--mrd-font-size-sm);font-weight:var(--mrd-font-weight-semibold);color:var(--mrd-color-primary);cursor:pointer;text-align:left}.mrd-layout-section__relation-link.sc-mrd-layout-section:hover{text-decoration:underline}.mrd-layout-section__download-link.sc-mrd-layout-section{display:inline-flex;align-items:center;gap:var(--mrd-space-1);background:none;border:none;padding:0;font-family:var(--mrd-font-family);font-size:var(--mrd-font-size-sm);color:var(--mrd-color-primary);cursor:pointer;text-align:left}.mrd-layout-section__download-link.sc-mrd-layout-section:hover{text-decoration:underline;color:var(--mrd-color-primary-dark)}.mrd-layout-section__file-icon.sc-mrd-layout-section{flex-shrink:0;width:1rem;height:1rem}.mrd-layout-section__file-list.sc-mrd-layout-section{display:flex;flex-direction:column;align-items:flex-start;gap:var(--mrd-space-1)}.mrd-layout-section__file-list-item.sc-mrd-layout-section{min-width:0;max-width:100%}.mrd-layout-section__boolean--true.sc-mrd-layout-section{color:var(--mrd-color-success);font-weight:var(--mrd-font-weight-semibold)}.mrd-layout-section__boolean--false.sc-mrd-layout-section{color:var(--mrd-color-neutral-400)}.mrd-layout-section__badge.sc-mrd-layout-section{display:inline-block;font-size:var(--mrd-font-size-xs);font-weight:var(--mrd-font-weight-medium);padding:2px var(--mrd-space-3);border-radius:10px}.mrd-layout-section__badge-dot-row.sc-mrd-layout-section{display:inline-flex;align-items:center;gap:var(--mrd-space-2)}.mrd-layout-section__badge-dot.sc-mrd-layout-section{display:inline-block;width:10px;height:10px;border-radius:50%;flex-shrink:0}.mrd-layout-section__secret-masked.sc-mrd-layout-section{font-family:var(--mrd-font-family);font-size:var(--mrd-font-size-base);color:var(--mrd-label-color);letter-spacing:0.15em;user-select:none;pointer-events:none}.mrd-layout-section__pre.sc-mrd-layout-section{font-family:var(--mrd-font-family-mono);font-size:var(--mrd-font-size-xs);background-color:var(--mrd-color-neutral-50);border:1px solid var(--mrd-color-neutral-200);border-radius:var(--mrd-border-radius);padding:var(--mrd-space-3);margin:0;max-height:calc(15 * var(--mrd-font-size-xs));overflow-x:auto;overflow-y:auto;white-space:pre-wrap;word-break:break-word}.mrd-layout-section__group.sc-mrd-layout-section{margin:var(--mrd-space-4) 0}.mrd-layout-section__group-title.sc-mrd-layout-section{font-size:var(--mrd-font-size-xs);font-weight:var(--mrd-font-weight-semibold);color:var(--mrd-color-neutral-500);margin:0 0 var(--mrd-space-2) 0;padding-bottom:0;letter-spacing:0.01em}.mrd-layout-section__related-view.sc-mrd-layout-section{margin:var(--mrd-space-4) 0}.mrd-layout-section__related-view-title.sc-mrd-layout-section{font-size:var(--mrd-font-size-lg);font-weight:var(--mrd-font-weight-semibold);color:var(--mrd-color-neutral-800);margin:0 0 var(--mrd-space-3) 0}.mrd-layout-section__search.sc-mrd-layout-section{position:relative;margin:var(--mrd-space-2) 0}.mrd-layout-section__search-wrap.sc-mrd-layout-section{position:relative}.mrd-layout-section__search-icon.sc-mrd-layout-section{position:absolute;left:var(--mrd-input-padding-x);top:50%;transform:translateY(-50%);width:1rem;height:1rem;color:var(--mrd-color-neutral-400);pointer-events:none}.mrd-layout-section__search-input.sc-mrd-layout-section{display:block;width:100%;height:var(--mrd-input-height);padding:var(--mrd-input-padding-y) var(--mrd-input-padding-x) var(--mrd-input-padding-y) calc(var(--mrd-input-padding-x) + 1rem + var(--mrd-space-2));font-family:var(--mrd-font-family);font-size:var(--mrd-font-size-base);color:var(--mrd-input-color);background-color:var(--mrd-input-bg);border:var(--mrd-border-width) solid var(--mrd-border-color);border-radius:var(--mrd-border-radius);outline:none;appearance:none;box-sizing:border-box}.mrd-layout-section__search-input.sc-mrd-layout-section:focus{border-color:var(--mrd-border-color-focus);box-shadow:var(--mrd-shadow-focus)}.mrd-layout-section__search-input.sc-mrd-layout-section::placeholder{color:var(--mrd-input-placeholder-color)}.mrd-layout-section__search-results.sc-mrd-layout-section{position:absolute;top:100%;left:0;right:0;background-color:var(--mrd-color-white);border:1px solid var(--mrd-color-neutral-300);border-top:none;border-radius:0 0 var(--mrd-border-radius) var(--mrd-border-radius);box-shadow:var(--mrd-shadow-sm);z-index:100;max-height:300px;overflow-y:auto;list-style:none;margin:0;padding:var(--mrd-space-1) 0}.mrd-layout-section__search-result.sc-mrd-layout-section{margin:0;padding:0}.mrd-layout-section__search-result-btn.sc-mrd-layout-section{display:flex;flex-direction:column;width:100%;padding:var(--mrd-space-2) var(--mrd-space-3);background:none;border:none;text-align:left;cursor:pointer;font-family:var(--mrd-font-family)}.mrd-layout-section__search-result-btn.sc-mrd-layout-section:hover{background-color:var(--mrd-color-primary-light)}.mrd-layout-section__search-result-label.sc-mrd-layout-section{font-size:var(--mrd-font-size-sm);font-weight:var(--mrd-font-weight-medium);color:var(--mrd-color-neutral-800)}.mrd-layout-section__search-result-desc.sc-mrd-layout-section{font-size:var(--mrd-font-size-xs);color:var(--mrd-color-neutral-500);margin-top:var(--mrd-space-1)}.mrd-layout-section__image-thumb-btn.sc-mrd-layout-section{background:none;border:none;padding:0;cursor:pointer;display:inline-block;border-radius:var(--mrd-border-radius);overflow:hidden;line-height:0}.mrd-layout-section__image-thumb-btn.sc-mrd-layout-section:hover .mrd-layout-section__image-thumb.sc-mrd-layout-section{opacity:0.85}.mrd-layout-section__image-thumb.sc-mrd-layout-section{display:block;max-width:160px;max-height:100px;border-radius:var(--mrd-border-radius);object-fit:cover;transition:opacity 0.15s}.mrd-layout-section__modal-backdrop.sc-mrd-layout-section{position:fixed;inset:0;background:rgba(0, 0, 0, 0.6);z-index:300;display:flex;align-items:center;justify-content:center}.mrd-layout-section__modal.sc-mrd-layout-section{position:relative;background:var(--mrd-color-white);border-radius:var(--mrd-border-radius);padding:var(--mrd-space-3);max-width:min(90vw, 900px);max-height:90vh;display:flex;align-items:center;justify-content:center;box-shadow:var(--mrd-shadow-lg)}.mrd-layout-section__modal-close.sc-mrd-layout-section{position:absolute;top:var(--mrd-space-2);right:var(--mrd-space-2);background:rgba(0, 0, 0, 0.5);border:none;border-radius:50%;width:28px;height:28px;display:flex;align-items:center;justify-content:center;color:var(--mrd-color-white);cursor:pointer;font-size:var(--mrd-font-size-sm);line-height:1;z-index:1}.mrd-layout-section__modal-close.sc-mrd-layout-section:hover{background:rgba(0, 0, 0, 0.8)}.mrd-layout-section__modal-image.sc-mrd-layout-section{display:block;max-width:100%;max-height:calc(90vh - 2rem);border-radius:var(--mrd-border-radius);object-fit:contain}"}},[2,"mrd-layout-section",{items:[16],data:[16],views:[16],links:[16],locale:[1],archetypes:[16],readOnly:[4,"read-only"],searchQueryMap:[32],searchResultsMap:[32],imagePreviewUrl:[32],imagePreviews:[32],openHistoryField:[32],setSearchResults:[64],setViewPage:[64],setViewAggregations:[64],setViewDistinct:[64],setViewFileReference:[64],setViewCreatedObject:[64],setImagePreview:[64],openImagePreview:[64]},void 0,{data:[{dataChanged:0}]}]),O=M,L=function(){"undefined"!=typeof customElements&&["mrd-layout-section","mrd-document-container","mrd-document-list","mrd-document-view","mrd-email-view","mrd-invoice-view","mrd-table"].forEach((t=>{switch(t){case"mrd-layout-section":customElements.get(a(t))||customElements.define(a(t),M);break;case"mrd-document-container":customElements.get(a(t))||f();break;case"mrd-document-list":customElements.get(a(t))||_();break;case"mrd-document-view":customElements.get(a(t))||g();break;case"mrd-email-view":customElements.get(a(t))||b();break;case"mrd-invoice-view":customElements.get(a(t))||w();break;case"mrd-table":customElements.get(a(t))||x()}}))};export{O as MrdLayoutSection,L as defineCustomElement}
1
+ import{h as t,proxyCustomElement as r,HTMLElement as e,createEvent as o,Host as i,transformTag as a}from"@stencil/core/internal/client";import{a as s,b as n,r as l,A as d,i as c,e as m,h as u,f as v,g as h}from"./client-layout.js";import{t as y}from"./i18n.js";import{C as f}from"./cell-renderer.js";import{a as p}from"./format.js";import{d as b}from"./mrd-boolean-field2.js";import{d as _}from"./mrd-document-container2.js";import{d as g}from"./mrd-document-list2.js";import{d as w}from"./mrd-document-view2.js";import{d as x}from"./mrd-email-view2.js";import{d as k}from"./mrd-invoice-view2.js";import{d as j}from"./mrd-list-field2.js";import{d as z}from"./mrd-memo-container2.js";import{d as M}from"./mrd-memo-list2.js";import{d as C}from"./mrd-memo-view2.js";import{d as O}from"./mrd-table2.js";import{d as L}from"./mrd-text-field2.js";import{d as A}from"./mrd-textarea-field2.js";function V(t){var r,e,o,i,a;return null!==(a=null!==(o=null!==(r=t.showEmpty)&&void 0!==r?r:null===(e=t.field)||void 0===e?void 0:e.showEmpty)&&void 0!==o?o:null===(i=t.relation)||void 0===i?void 0:i.showEmpty)&&void 0!==a&&a}function E(t){const r=[];for(const e of t)r.push(e),e.items&&r.push(...E(e.items));return r}function I(r,e,o,i){return t("button",{class:"mrd-layout-section__download-link",onClick:()=>e&&r.on.download({href:e,fileName:o})},t("svg",{class:"mrd-layout-section__file-icon",viewBox:"0 0 24 24","aria-hidden":"true"},t("path",{fill:"currentColor",d:"M14 2H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V8l-6-6zm-1 7V3.5L18.5 9H13zm-3 8l-3-3 1.41-1.41L10 14.17l4.59-4.58L16 11l-6 6z"})),i)}function P(r,e,o){var i,a,s,l,d,c,m,u,v,h,p;const b=e.dataType;switch(b){case n.HYPERLINK:{const r=null!==(i=null==o?void 0:o.href)&&void 0!==i?i:o+"",e=null!==(l=null!==(s=null!==(a=null==o?void 0:o.name)&&void 0!==a?a:null==o?void 0:o.text)&&void 0!==s?s:null==o?void 0:o.label)&&void 0!==l?l:r;return t("a",{class:"mrd-layout-section__link",href:r,target:"_blank",rel:"noopener noreferrer"},e)}case n.TEXTBLOCK:return t("div",{class:"mrd-layout-section__prose",innerHTML:o+""});case n.LONGTEXT:return t("pre",{class:"mrd-layout-section__pre"},o+"");case n.JSON:return t("pre",{class:"mrd-layout-section__pre",innerHTML:f.formatJson(o)});case n.FILE:{const t=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 I(r,e,t,t||y("download",r.locale))}case n.IMAGE:{const i=null!==(m=null==o?void 0:o.href)&&void 0!==m?m:"",a=null!==(u=null==o?void 0:o.fileName)&&void 0!==u?u:"",s=r.imagePreviews[e.name];return s?t("button",{class:"mrd-layout-section__image-thumb-btn",onClick:()=>r.on.openImage(s),title:a||void 0},t("img",{class:"mrd-layout-section__image-thumb",src:s,alt:a})):I(r,i,a,a||i)}case n.BOOLEAN:return t("span",{class:"mrd-layout-section__boolean mrd-layout-section__boolean--"+(o?"true":"false")},y(o?"yes":"no",r.locale));case n.LIST:{const r=(null!==(v=e.listItems)&&void 0!==v?v:[]).find((t=>t.key===o+"")),i=null!==(h=null==r?void 0:r.label)&&void 0!==h?h:o+"",a=null==r?void 0:r.color,s=null==r?void 0:r.backgroundColor;return a&&s?t("span",{class:"mrd-layout-section__badge",style:{color:a,backgroundColor:s}},i):a?t("span",{class:"mrd-layout-section__badge-dot-row"},t("span",{class:"mrd-layout-section__badge-dot",style:{backgroundColor:a}}),i):i}case n.SECRET:return o?t("span",{class:"mrd-layout-section__secret-masked"},"••••••••"):null;default:return f.renderValue(b,o,null!==(p=e.listItems)&&void 0!==p?p:[],r.locale)||null}}const $=r(class extends e{constructor(t){super(),!1!==t&&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.mrdAttachments=o(this,"mrdAttachments",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.mrdDeleteObject=o(this,"mrdDeleteObject",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.readOnly=!1,this.me=null,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();const r=this.el.querySelectorAll("mrd-memo-list[data-view]");for(const t of Array.from(r))"function"==typeof t.init&&await t.init()}emitLoadImages(){for(const t of E(this.items))if(t.type===s.FIELD&&t.dataType===n.IMAGE){const r=t.name,e=this.data[r],o=null==e?void 0:e.href;o&&this.mrdLoadImage.emit({fieldName:r,href:o})}}async setSearchResults(t,r){const e=null!=r?r:this.resolveSearchKey();e&&(this.searchResultsMap=Object.assign(Object.assign({},this.searchResultsMap),{[e]:t}))}async setViewPage(t,r,e,o,i,a){if(a){const r=this.el.querySelector(`mrd-document-list[data-doclist="${t}"]`);return void((null==r?void 0:r.setDocuments)&&await r.setDocuments(a,e))}const s=this.el.querySelector(`mrd-table[data-view="${t}"]`);if(s)return void 0!==o&&(s.totalElements=o),void await s.setPage(r,e,i);const n=this.el.querySelector(`mrd-memo-list[data-view="${t}"]`);n&&await n.setPage(r,e,i)}async setViewAggregations(t,r){const e=this.el.querySelector(`mrd-table[data-view="${t}"]`);e&&await e.setAggregations(r)}async setViewDistinct(t,r,e){const o=this.el.querySelector(`mrd-document-list[data-doclist="${t}"]`);(null==o?void 0:o.setDistinct)&&await o.setDistinct(r,e)}async setViewFileReference(t,r){const e=this.el.querySelector(`mrd-document-list[data-doclist="${t}"]`);(null==e?void 0:e.setFileReference)&&await e.setFileReference(r)}async setViewCreatedObject(t,r){const e=this.el.querySelector(`mrd-document-list[data-doclist="${t}"]`);if(null==e?void 0:e.setCreatedHref)return void await e.setCreatedHref(r);const o=this.el.querySelector(`mrd-memo-container[data-view="${t}"]`);(null==o?void 0:o.refresh)&&await o.refresh()}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=E(this.items).filter((t=>t.type===s.SEARCH));return 1===r.length&&null!==(t=r[0].dataClass)&&void 0!==t?t:null}fieldCtx(){return{locale:this.locale,data:this.data,imagePreviews:this.imagePreviews,openHistoryField:this.openHistoryField,on:{download:t=>this.mrdDownload.emit(t),openImage:t=>{this.imagePreviewUrl=t},toggleHistory:t=>{this.openHistoryField=t}}}}renderField(r){return function(r,e){var o,i;if(!e.name)return null;const a=r.data[e.name],s=(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(r,e,o){if(null==o||""===o)return null;if(e.multiple&&Array.isArray(o)){if(e.dataType===n.FILE||e.dataType===n.IMAGE)return t("div",{class:"mrd-layout-section__file-list"},o.map(((o,i)=>t("div",{class:"mrd-layout-section__file-list-item",key:i+""},P(r,e,o)))));const i=o.map((t=>P(r,e,t)));return i.every((t=>"string"==typeof t||null==t))?i.filter(Boolean).join(", ")||null:t("span",null,i.map(((r,e)=>t("span",{key:e+""},r,e<i.length-1?", ":""))))}return P(r,e,o)}(r,e,s);if(e.header)return t("h1",{class:"mrd-layout-section__field-header",key:e.name},"string"==typeof l?l:null!=s?s+"":e.label);const d=null==l;return d&&!V(e)?null:t("div",{class:`mrd-layout-section__field${e.dataType===n.TEXTBLOCK||e.dataType===n.LONGTEXT||e.dataType===n.JSON?" mrd-layout-section__field--block":""}${d?" mrd-layout-section__field--empty":""}`,key:e.name},t("span",{class:"mrd-layout-section__field-label"},e.label),t("span",{class:"mrd-layout-section__field-value"},d?y("value_empty",r.locale):l,function(r,e,o){var i,a,s;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 n=null!==(s=null==o?void 0:o.history)&&void 0!==s?s:[];if(!n.length)return null;const l=[...n].sort(((t,r)=>r.until.localeCompare(t.until))),d=r.openHistoryField===e.name;return t("span",{class:"mrd-layout-section__history-wrap"},t("button",{type:"button",class:"mrd-layout-section__history-btn",title:y("history_badge_tooltip",r.locale),"aria-label":y("history_badge_tooltip",r.locale),onClick:t=>{t.stopPropagation(),r.on.toggleHistory(d?null:e.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(((e,o)=>t("div",{key:o+"",class:"mrd-layout-section__history-entry"},e.value," (",y("history_until",r.locale)," ",p(e.until,r.locale),")")))))}(r,e,a)))}(this.fieldCtx(),r)}renderRelation(r){var e,o,i;if(!r.name)return null;const a=(null!==(o=null===(e=this.data)||void 0===e?void 0:e._links)&&void 0!==o?o:{})[r.name],s=(r,e)=>t("button",{key:r,class:"mrd-layout-section__relation-link",onClick:()=>this.mrdNavigate.emit({href:r,label:e})},e);let n;(null===(i=null==a?void 0:a.values)||void 0===i?void 0:i.length)?n=a.values.map((t=>s(t.href,t.name))):(null==a?void 0:a.name)&&(n=s(a.href,a.name));const l=!n;return l&&!V(r)?null:t("div",{class:"mrd-layout-section__field"+(l?" mrd-layout-section__field--empty":""),key:r.name},t("span",{class:"mrd-layout-section__field-label"},r.label),t("span",{class:"mrd-layout-section__field-value"},l?y("value_empty",this.locale):n))}renderSearch(r){var e,o,i;if(!r.dataClass)return null;const a=r.dataClass,s=null!==(e=this.searchQueryMap[a])&&void 0!==e?e:"",n=null!==(o=this.searchResultsMap[a])&&void 0!==o?o:[];return t("div",{class:"mrd-layout-section__search",key:"search-"+a},t("div",{class:"mrd-layout-section__search-wrap"},t("svg",{class:"mrd-layout-section__search-icon",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true"},t("path",{"fill-rule":"evenodd",d:"M9 3.5a5.5 5.5 0 100 11 5.5 5.5 0 000-11zM2 9a7 7 0 1112.452 4.391l3.328 3.329a.75.75 0 11-1.06 1.06l-3.329-3.328A7 7 0 012 9z","clip-rule":"evenodd"})),t("input",{class:"mrd-layout-section__search-input",type:"text",value:s,placeholder:null!==(i=r.label)&&void 0!==i?i:"",onInput:t=>this.handleSearchInput(a,t.target.value)})),n.length>0&&t("ul",{class:"mrd-layout-section__search-results"},n.map((r=>t("li",{key:r.id,class:"mrd-layout-section__search-result"},t("button",{class:"mrd-layout-section__search-result-btn",onClick:()=>this.mrdNavigate.emit({href:r.id,label:r.label})},t("span",{class:"mrd-layout-section__search-result-label"},r.label),r.description&&t("span",{class:"mrd-layout-section__search-result-desc"},r.description)))))))}renderRelatedView(r){var e,o,i,a,n,m,u,v,h,y;const f=function(t){var r,e,o,i;return t.type===s.RELATED_VIEW?null!==(e=null!==(r=t.relatedClass)&&void 0!==r?r:t.name)&&void 0!==e?e:"":null!==(i=null!==(o=t.dataClass)&&void 0!==o?o:t.name)&&void 0!==i?i:""}(r);if(!f)return null;if(!r.view)return null;const p=null!==(e=r.showTitle)&&void 0!==e&&e,b=null!==(n=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!==n?n:"",_=null!==(m=b.split("/").filter(Boolean).pop())&&void 0!==m?m:"",g=l(null!==(u=r.archetypes)&&void 0!==u?u:null===(v=r.view)||void 0===v?void 0:v.archetypes,d),w=g?void 0:l(null!==(h=r.archetypes)&&void 0!==h?h:null===(y=r.view)||void 0===y?void 0:y.archetypes,c),x=function(t,r,e){if(t.type!==s.RELATED_VIEW||!t.fromClass||!e)return"";const o=r.split("/").filter(Boolean);if(o.length<2)return"";const[i,a]=o;return`/${i}/${a}/${t.fromClass}/${e}`}(r,b,_);return t("div",{class:"mrd-layout-section__related-view",key:"view-"+f},p&&r.label&&t("h3",{class:"mrd-layout-section__related-view-title"},r.label),g&&this.renderDocumentContainer(r,f,_,g,x),w&&this.renderMemoContainer(r,f,_,w,x),!g&&!w&&this.renderTable(r,f,_))}renderDocumentContainer(r,e,o,i,a){return t("mrd-document-container",{item:r,archetype:i,parentId:o,containerHref:a,viewKey:e,locale:this.locale,readOnly:this.readOnly,onMrdLoadDistinct:t=>{t.stopPropagation(),this.mrdLoadViewDistinct.emit(Object.assign({name:e},t.detail))},onMrdLoadPage:t=>{t.stopPropagation(),this.mrdLoadViewPage.emit(Object.assign({name:e},t.detail))},onMrdLoadAggregations:t=>{var o;t.stopPropagation(),this.mrdLoadViewAggregations.emit(Object.assign({name:e,dataClass:null!==(o=r.dataClass)&&void 0!==o?o:e},t.detail))},onMrdNavigate:t=>{t.stopPropagation(),this.mrdNavigate.emit(t.detail)},onMrdAction:t=>{var o;t.stopPropagation(),this.mrdViewAction.emit(Object.assign({name:e,dataClass:null!==(o=r.dataClass)&&void 0!==o?o:e},t.detail))},onMrdUpdateObject:t=>{t.stopPropagation(),this.mrdUpdateObject.emit(t.detail)},onMrdUpload:t=>{t.stopPropagation(),this.mrdViewUpload.emit(Object.assign({name:e},t.detail))},onMrdCreateObject:t=>{t.stopPropagation(),this.mrdCreateObject.emit(Object.assign({name:e},t.detail))}})}renderMemoContainer(r,e,o,i,a){var s,n,l,d;const c=null!==(d=null===(l=null===(n=null===(s=r.view)||void 0===s?void 0:s.values)||void 0===n?void 0:n.find((t=>{var r;return t.name===(null===(r=i.slots)||void 0===r?void 0:r.labels)})))||void 0===l?void 0:l.listItems)&&void 0!==d?d:null;return t("mrd-memo-container",{"data-view":e,item:r,archetype:i,parentId:o,containerHref:a,viewKey:e,locale:this.locale,readOnly:this.readOnly,me:this.me,labelsListItems:c,onMrdLoadPage:t=>{t.stopPropagation(),this.mrdLoadViewPage.emit(Object.assign({name:e},t.detail))},onMrdLoadAggregations:t=>{var o;t.stopPropagation(),this.mrdLoadViewAggregations.emit(Object.assign({name:e,dataClass:null!==(o=r.dataClass)&&void 0!==o?o:e},t.detail))},onMrdAction:t=>{var o;t.stopPropagation(),this.mrdViewAction.emit(Object.assign({name:e,dataClass:null!==(o=r.dataClass)&&void 0!==o?o:e},t.detail))},onMrdCreateObject:t=>{t.stopPropagation(),this.mrdCreateObject.emit(Object.assign({name:e},t.detail))},onMrdUpdateObject:t=>{t.stopPropagation(),this.mrdUpdateObject.emit(t.detail)},onMrdDeleteObject:t=>{t.stopPropagation(),this.mrdDeleteObject.emit(t.detail)}})}renderTable(r,e,o){return t("mrd-table",{"data-view":e,item:r,parentId:o,locale:this.locale,readOnly:this.readOnly,onMrdLoadPage:t=>this.handleViewLoadPage(t,e),onMrdLoadAggregations:t=>{var o;t.stopPropagation(),this.mrdLoadViewAggregations.emit(Object.assign({name:e,dataClass:null!==(o=r.dataClass)&&void 0!==o?o:e},t.detail))},onMrdRowClick:t=>{var e,o,i,a;t.stopPropagation();const{row:s,listContext:n}=t.detail;this.mrdNavigate.emit({href:null===(o=null===(e=null==s?void 0:s._links)||void 0===e?void 0:e.self)||void 0===o?void 0:o.href,label:null!==(i=null==s?void 0:s.name)&&void 0!==i?i:"",navigateBehaviour:null!==(a=r.navigateBehaviour)&&void 0!==a?a:m.PAGE,listContext:n})},onMrdAction:t=>{var o;t.stopPropagation(),this.mrdViewAction.emit({name:e,action:t.detail.action,dataClass:null!==(o=r.dataClass)&&void 0!==o?o:e,path:t.detail.path,qs:t.detail.qs,parentPath:t.detail.parentPath,basicType:t.detail.basicType})}})}renderItem(r){var e,o;switch(r.type){case s.FIELD:return this.renderField(r);case s.RELATION:return this.renderRelation(r);case s.HEADER:return t("h2",{class:"mrd-layout-section__header",key:"header-"+r.label},r.label);case s.TEXT:return t("div",{class:"mrd-layout-section__text",key:"text-"+r.label,innerHTML:null!==(e=r.label)&&void 0!==e?e:""});case s.NAVIGATE:return t("button",{class:"mrd-layout-section__navigate",key:"nav-"+r.label,onClick:()=>{var t,e,o;return this.mrdNavigate.emit({label:null!==(t=r.label)&&void 0!==t?t:"",navigate:null!==(e=r.navigate)&&void 0!==e?e:{dataClass:null!==(o=r.dataClass)&&void 0!==o?o:"",icon:r.icon,navigationType:r.navigationType}})}},r.label);case s.SEARCH:return this.renderSearch(r);case s.SECTION:case s.GROUP:return t("div",{class:"mrd-layout-section__group",key:"group-"+r.label},r.label&&t("h3",{class:"mrd-layout-section__group-title"},r.label),(null!==(o=r.items)&&void 0!==o?o:[]).map((t=>this.renderItem(t))));case s.RELATED_VIEW:case s.VIEW:return this.renderRelatedView(r);default:return null}}renderImageModal(){return this.imagePreviewUrl?t("div",{class:"mrd-layout-section__modal-backdrop",onClick:()=>{this.imagePreviewUrl=null}},t("div",{class:"mrd-layout-section__modal",onClick:t=>t.stopPropagation()},t("button",{class:"mrd-layout-section__modal-close",onClick:()=>{this.imagePreviewUrl=null}},"✕"),t("img",{class:"mrd-layout-section__modal-image",src:this.imagePreviewUrl,alt:""}))):null}relatedItems(t){return this.items.filter((r=>r!==t&&(r.type===s.VIEW||r.type===s.RELATED_VIEW||r.type===s.SEARCH)))}renderDocumentObject(r){return[t("mrd-document-view",{archetype:r,data:this.data,locale:this.locale,onMrdNavigate:t=>{t.stopPropagation(),this.mrdNavigate.emit(t.detail)},onMrdDownload:t=>{t.stopPropagation(),this.mrdDownload.emit(t.detail)},onMrdAttachments:t=>{t.stopPropagation(),this.mrdAttachments.emit(t.detail)}}),...this.relatedItems().map((t=>this.renderItem(t)))]}renderInvoiceObject(r){var e,o,i;const a=null!==(e=this.items.find((t=>{var r,e;return(t.type===s.VIEW||t.type===s.RELATED_VIEW)&&!!l(null!==(r=t.archetypes)&&void 0!==r?r:null===(e=t.view)||void 0===e?void 0:e.archetypes,u)})))&&void 0!==e?e:null,n=null!==(i=null===(o=this.items.find((t=>{var e;return t.name===(null===(e=r.slots)||void 0===e?void 0:e.status)})))||void 0===o?void 0:o.listItems)&&void 0!==i?i:null;return[t("mrd-invoice-view",{archetype:r,data:this.data,locale:this.locale,statusListItems:n,onMrdNavigate:t=>{t.stopPropagation(),this.mrdNavigate.emit(t.detail)},onMrdDownload:t=>{t.stopPropagation(),this.mrdDownload.emit(t.detail)},onMrdAttachments:t=>{t.stopPropagation(),this.mrdAttachments.emit(t.detail)}},a&&t("div",{slot:"lines"},this.renderRelatedView(a))),...this.relatedItems(a).map((t=>this.renderItem(t)))]}renderEmailObject(r){return[t("mrd-email-view",{archetype:r,data:this.data,locale:this.locale,onMrdNavigate:t=>{t.stopPropagation(),this.mrdNavigate.emit(t.detail)},onMrdDownload:t=>{t.stopPropagation(),this.mrdDownload.emit(t.detail)},onMrdAttachments:t=>{t.stopPropagation(),this.mrdAttachments.emit(t.detail)}}),...this.relatedItems().map((t=>this.renderItem(t)))]}renderMemoObject(r){var e,o;const i=null!==(o=null===(e=this.items.find((t=>{var e;return t.name===(null===(e=r.slots)||void 0===e?void 0:e.labels)})))||void 0===e?void 0:e.listItems)&&void 0!==o?o:null;return[t("mrd-memo-view",{archetype:r,data:this.data,locale:this.locale,labelsListItems:i,onMrdNavigate:t=>{t.stopPropagation(),this.mrdNavigate.emit(t.detail)}}),...this.relatedItems().map((t=>this.renderItem(t)))]}render(){const r=l(this.archetypes,d),e=r?void 0:l(this.archetypes,v),o=r||e?void 0:l(this.archetypes,h),a=r||e||o?void 0:l(this.archetypes,c),s=r||e||o||a;return t(i,{key:"730654d745992b9607f15fcaf2bb54a725429e4d"},t("div",{key:"72a2e7bb767992aa6f206a10f8b2a3a572e86115",class:"mrd-layout-section"},r&&this.renderDocumentObject(r),e&&this.renderInvoiceObject(e),o&&this.renderEmailObject(o),a&&this.renderMemoObject(a),!s&&this.items.map((t=>this.renderItem(t)))),this.renderImageModal())}get el(){return this}static get watchers(){return{data:[{dataChanged:0}]}}static get style(){return".sc-mrd-layout-section-h{display:block;width:100%}.mrd-layout-section.sc-mrd-layout-section{font-family:var(--mrd-font-family);font-size:var(--mrd-font-size-base);color:var(--mrd-color-neutral-800)}.mrd-layout-section__field.sc-mrd-layout-section{display:grid;grid-template-columns:200px 1fr;align-items:baseline;gap:0 var(--mrd-space-2);padding:var(--mrd-space-1) 0}.mrd-layout-section__field--block.sc-mrd-layout-section{grid-template-columns:1fr}.mrd-layout-section__field-label.sc-mrd-layout-section{font-size:var(--mrd-font-size-xs);font-weight:var(--mrd-font-weight-normal);color:var(--mrd-color-neutral-500);padding-top:1px}.mrd-layout-section__field-value.sc-mrd-layout-section{font-size:var(--mrd-font-size-sm);font-weight:var(--mrd-font-weight-medium);color:var(--mrd-color-neutral-800);word-break:break-word;display:inline-flex;align-items:center;gap:var(--mrd-space-1)}.mrd-layout-section__field--empty.sc-mrd-layout-section .mrd-layout-section__field-value.sc-mrd-layout-section{color:var(--mrd-color-neutral-400);font-weight:var(--mrd-font-weight-normal)}.mrd-layout-section__history-wrap.sc-mrd-layout-section{position:relative;display:inline-flex;align-items:center}.mrd-layout-section__history-btn.sc-mrd-layout-section{display:inline-flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;padding:0;background:transparent;border:none;border-radius:var(--mrd-border-radius-sm);color:var(--mrd-color-neutral-400);cursor:pointer;flex-shrink:0;transition:color var(--mrd-transition-fast), background-color var(--mrd-transition-fast)}.mrd-layout-section__history-btn.sc-mrd-layout-section:hover{color:var(--mrd-color-neutral-700);background-color:var(--mrd-color-neutral-100)}.mrd-layout-section__history-btn.sc-mrd-layout-section:focus{outline:none;box-shadow:var(--mrd-shadow-focus)}.mrd-layout-section__history-icon.sc-mrd-layout-section{width:0.875rem;height:0.875rem}.mrd-layout-section__history-popover.sc-mrd-layout-section{position:absolute;top:calc(100% + 0.25rem);left:0;min-width:24rem;max-width:24rem;background-color:var(--mrd-color-white);border:var(--mrd-border-width) solid var(--mrd-border-color);border-radius:var(--mrd-border-radius-md);box-shadow:var(--mrd-shadow-md);padding:var(--mrd-space-1) 0;z-index:var(--mrd-z-dropdown)}.mrd-layout-section__history-entry.sc-mrd-layout-section{font-family:var(--mrd-font-family);font-size:var(--mrd-font-size-sm);font-weight:var(--mrd-font-weight-normal);color:var(--mrd-color-neutral-700);padding:var(--mrd-space-2) var(--mrd-space-3);line-height:var(--mrd-line-height-normal)}.mrd-layout-section__history-entry.sc-mrd-layout-section:not(:last-child){border-bottom:var(--mrd-border-width) solid var(--mrd-color-neutral-100)}.mrd-layout-section__field-header.sc-mrd-layout-section{font-size:var(--mrd-font-size-2xl);font-weight:var(--mrd-font-weight-bold);color:var(--mrd-color-neutral-900);margin:0 0 var(--mrd-space-4) 0;padding:0}.mrd-layout-section__header.sc-mrd-layout-section{font-size:var(--mrd-font-size-xl);font-weight:var(--mrd-font-weight-semibold);color:var(--mrd-color-neutral-800);margin:var(--mrd-space-4) 0 var(--mrd-space-2) 0;padding:0}.mrd-layout-section__text.sc-mrd-layout-section{font-size:var(--mrd-font-size-base);color:var(--mrd-color-neutral-700);line-height:var(--mrd-line-height-relaxed);margin:var(--mrd-space-2) 0}.mrd-layout-section__navigate.sc-mrd-layout-section{display:inline-flex;align-items:center;gap:var(--mrd-space-2);padding:var(--mrd-space-2) var(--mrd-space-3);background:none;border:1px solid var(--mrd-color-neutral-300);border-radius:var(--mrd-border-radius);font-family:var(--mrd-font-family);font-size:var(--mrd-font-size-sm);color:var(--mrd-color-primary);cursor:pointer;margin:var(--mrd-space-2) 0}.mrd-layout-section__navigate.sc-mrd-layout-section:hover{background-color:var(--mrd-color-primary-light);border-color:var(--mrd-color-primary)}.mrd-layout-section__link.sc-mrd-layout-section{color:var(--mrd-color-primary);text-decoration:none}.mrd-layout-section__link.sc-mrd-layout-section:hover{text-decoration:underline}.mrd-layout-section__relation-link.sc-mrd-layout-section{background:none;border:none;padding:0;font-family:var(--mrd-font-family);font-size:var(--mrd-font-size-sm);font-weight:var(--mrd-font-weight-semibold);color:var(--mrd-color-primary);cursor:pointer;text-align:left}.mrd-layout-section__relation-link.sc-mrd-layout-section:hover{text-decoration:underline}.mrd-layout-section__download-link.sc-mrd-layout-section{display:inline-flex;align-items:center;gap:var(--mrd-space-1);background:none;border:none;padding:0;font-family:var(--mrd-font-family);font-size:var(--mrd-font-size-sm);color:var(--mrd-color-primary);cursor:pointer;text-align:left}.mrd-layout-section__download-link.sc-mrd-layout-section:hover{text-decoration:underline;color:var(--mrd-color-primary-dark)}.mrd-layout-section__file-icon.sc-mrd-layout-section{flex-shrink:0;width:1rem;height:1rem}.mrd-layout-section__file-list.sc-mrd-layout-section{display:flex;flex-direction:column;align-items:flex-start;gap:var(--mrd-space-1)}.mrd-layout-section__file-list-item.sc-mrd-layout-section{min-width:0;max-width:100%}.mrd-layout-section__boolean--true.sc-mrd-layout-section{color:var(--mrd-color-success);font-weight:var(--mrd-font-weight-semibold)}.mrd-layout-section__boolean--false.sc-mrd-layout-section{color:var(--mrd-color-neutral-400)}.mrd-layout-section__badge.sc-mrd-layout-section{display:inline-block;font-size:var(--mrd-font-size-xs);font-weight:var(--mrd-font-weight-medium);padding:2px var(--mrd-space-3);border-radius:10px}.mrd-layout-section__badge-dot-row.sc-mrd-layout-section{display:inline-flex;align-items:center;gap:var(--mrd-space-2)}.mrd-layout-section__badge-dot.sc-mrd-layout-section{display:inline-block;width:10px;height:10px;border-radius:50%;flex-shrink:0}.mrd-layout-section__secret-masked.sc-mrd-layout-section{font-family:var(--mrd-font-family);font-size:var(--mrd-font-size-base);color:var(--mrd-label-color);letter-spacing:0.15em;user-select:none;pointer-events:none}.mrd-layout-section__pre.sc-mrd-layout-section{font-family:var(--mrd-font-family-mono);font-size:var(--mrd-font-size-xs);background-color:var(--mrd-color-neutral-50);border:1px solid var(--mrd-color-neutral-200);border-radius:var(--mrd-border-radius);padding:var(--mrd-space-3);margin:0;max-height:calc(15 * var(--mrd-font-size-xs));overflow-x:auto;overflow-y:auto;white-space:pre-wrap;word-break:break-word}.mrd-layout-section__group.sc-mrd-layout-section{margin:var(--mrd-space-4) 0}.mrd-layout-section__group-title.sc-mrd-layout-section{font-size:var(--mrd-font-size-xs);font-weight:var(--mrd-font-weight-semibold);color:var(--mrd-color-neutral-500);margin:0 0 var(--mrd-space-2) 0;padding-bottom:0;letter-spacing:0.01em}.mrd-layout-section__related-view.sc-mrd-layout-section{margin:var(--mrd-space-4) 0}.mrd-layout-section__related-view-title.sc-mrd-layout-section{font-size:var(--mrd-font-size-lg);font-weight:var(--mrd-font-weight-semibold);color:var(--mrd-color-neutral-800);margin:0 0 var(--mrd-space-3) 0}.mrd-layout-section__search.sc-mrd-layout-section{position:relative;margin:var(--mrd-space-2) 0}.mrd-layout-section__search-wrap.sc-mrd-layout-section{position:relative}.mrd-layout-section__search-icon.sc-mrd-layout-section{position:absolute;left:var(--mrd-input-padding-x);top:50%;transform:translateY(-50%);width:1rem;height:1rem;color:var(--mrd-color-neutral-400);pointer-events:none}.mrd-layout-section__search-input.sc-mrd-layout-section{display:block;width:100%;height:var(--mrd-input-height);padding:var(--mrd-input-padding-y) var(--mrd-input-padding-x) var(--mrd-input-padding-y) calc(var(--mrd-input-padding-x) + 1rem + var(--mrd-space-2));font-family:var(--mrd-font-family);font-size:var(--mrd-font-size-base);color:var(--mrd-input-color);background-color:var(--mrd-input-bg);border:var(--mrd-border-width) solid var(--mrd-border-color);border-radius:var(--mrd-border-radius);outline:none;appearance:none;box-sizing:border-box}.mrd-layout-section__search-input.sc-mrd-layout-section:focus{border-color:var(--mrd-border-color-focus);box-shadow:var(--mrd-shadow-focus)}.mrd-layout-section__search-input.sc-mrd-layout-section::placeholder{color:var(--mrd-input-placeholder-color)}.mrd-layout-section__search-results.sc-mrd-layout-section{position:absolute;top:100%;left:0;right:0;background-color:var(--mrd-color-white);border:1px solid var(--mrd-color-neutral-300);border-top:none;border-radius:0 0 var(--mrd-border-radius) var(--mrd-border-radius);box-shadow:var(--mrd-shadow-sm);z-index:100;max-height:300px;overflow-y:auto;list-style:none;margin:0;padding:var(--mrd-space-1) 0}.mrd-layout-section__search-result.sc-mrd-layout-section{margin:0;padding:0}.mrd-layout-section__search-result-btn.sc-mrd-layout-section{display:flex;flex-direction:column;width:100%;padding:var(--mrd-space-2) var(--mrd-space-3);background:none;border:none;text-align:left;cursor:pointer;font-family:var(--mrd-font-family)}.mrd-layout-section__search-result-btn.sc-mrd-layout-section:hover{background-color:var(--mrd-color-primary-light)}.mrd-layout-section__search-result-label.sc-mrd-layout-section{font-size:var(--mrd-font-size-sm);font-weight:var(--mrd-font-weight-medium);color:var(--mrd-color-neutral-800)}.mrd-layout-section__search-result-desc.sc-mrd-layout-section{font-size:var(--mrd-font-size-xs);color:var(--mrd-color-neutral-500);margin-top:var(--mrd-space-1)}.mrd-layout-section__image-thumb-btn.sc-mrd-layout-section{background:none;border:none;padding:0;cursor:pointer;display:inline-block;border-radius:var(--mrd-border-radius);overflow:hidden;line-height:0}.mrd-layout-section__image-thumb-btn.sc-mrd-layout-section:hover .mrd-layout-section__image-thumb.sc-mrd-layout-section{opacity:0.85}.mrd-layout-section__image-thumb.sc-mrd-layout-section{display:block;max-width:160px;max-height:100px;border-radius:var(--mrd-border-radius);object-fit:cover;transition:opacity 0.15s}.mrd-layout-section__modal-backdrop.sc-mrd-layout-section{position:fixed;inset:0;background:rgba(0, 0, 0, 0.6);z-index:300;display:flex;align-items:center;justify-content:center}.mrd-layout-section__modal.sc-mrd-layout-section{position:relative;background:var(--mrd-color-white);border-radius:var(--mrd-border-radius);padding:var(--mrd-space-3);max-width:min(90vw, 900px);max-height:90vh;display:flex;align-items:center;justify-content:center;box-shadow:var(--mrd-shadow-lg)}.mrd-layout-section__modal-close.sc-mrd-layout-section{position:absolute;top:var(--mrd-space-2);right:var(--mrd-space-2);background:rgba(0, 0, 0, 0.5);border:none;border-radius:50%;width:28px;height:28px;display:flex;align-items:center;justify-content:center;color:var(--mrd-color-white);cursor:pointer;font-size:var(--mrd-font-size-sm);line-height:1;z-index:1}.mrd-layout-section__modal-close.sc-mrd-layout-section:hover{background:rgba(0, 0, 0, 0.8)}.mrd-layout-section__modal-image.sc-mrd-layout-section{display:block;max-width:100%;max-height:calc(90vh - 2rem);border-radius:var(--mrd-border-radius);object-fit:contain}"}},[2,"mrd-layout-section",{items:[16],data:[16],views:[16],links:[16],locale:[1],archetypes:[16],readOnly:[4,"read-only"],me:[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}]}]),D=$,T=function(){"undefined"!=typeof customElements&&["mrd-layout-section","mrd-boolean-field","mrd-document-container","mrd-document-list","mrd-document-view","mrd-email-view","mrd-invoice-view","mrd-list-field","mrd-memo-container","mrd-memo-list","mrd-memo-view","mrd-table","mrd-text-field","mrd-textarea-field"].forEach((t=>{switch(t){case"mrd-layout-section":customElements.get(a(t))||customElements.define(a(t),$);break;case"mrd-boolean-field":customElements.get(a(t))||b();break;case"mrd-document-container":customElements.get(a(t))||_();break;case"mrd-document-list":customElements.get(a(t))||g();break;case"mrd-document-view":customElements.get(a(t))||w();break;case"mrd-email-view":customElements.get(a(t))||x();break;case"mrd-invoice-view":customElements.get(a(t))||k();break;case"mrd-list-field":customElements.get(a(t))||j();break;case"mrd-memo-container":customElements.get(a(t))||z();break;case"mrd-memo-list":customElements.get(a(t))||M();break;case"mrd-memo-view":customElements.get(a(t))||C();break;case"mrd-table":customElements.get(a(t))||O();break;case"mrd-text-field":customElements.get(a(t))||L();break;case"mrd-textarea-field":customElements.get(a(t))||A()}}))};export{D as MrdLayoutSection,T as defineCustomElement}
@@ -0,0 +1,11 @@
1
+ import type { Components, JSX } from "../types/components";
2
+
3
+ interface MrdMemoContainer extends Components.MrdMemoContainer, HTMLElement {}
4
+ export const MrdMemoContainer: {
5
+ prototype: MrdMemoContainer;
6
+ new (): MrdMemoContainer;
7
+ };
8
+ /**
9
+ * Used to define this component and all nested components recursively.
10
+ */
11
+ export const defineCustomElement: () => void;
@@ -0,0 +1 @@
1
+ import{M as o,d as m}from"./mrd-memo-container2.js";const r=o,s=m;export{r as MrdMemoContainer,s as defineCustomElement}
@@ -0,0 +1 @@
1
+ import{proxyCustomElement as r,HTMLElement as t,createEvent as e,h as i,Host as o,transformTag as n}from"@stencil/core/internal/client";import{a}from"./client-layout.js";import{t as d}from"./i18n.js";import{b as s}from"./query-params.js";import{d as m}from"./mrd-boolean-field2.js";import{d as l}from"./mrd-list-field2.js";import{d as c}from"./mrd-memo-list2.js";import{d as h}from"./mrd-table2.js";import{d as u}from"./mrd-text-field2.js";import{d as v}from"./mrd-textarea-field2.js";const f=r(class extends t{constructor(r){super(),!1!==r&&this.__registerHost(),this.mrdLoadPage=e(this,"mrdLoadPage",7),this.mrdLoadAggregations=e(this,"mrdLoadAggregations",7),this.mrdAction=e(this,"mrdAction",7),this.mrdCreateObject=e(this,"mrdCreateObject",7),this.mrdUpdateObject=e(this,"mrdUpdateObject",7),this.mrdDeleteObject=e(this,"mrdDeleteObject",7),this.item=null,this.parentId="",this.containerHref="",this.viewKey="",this.locale=navigator.language,this.labelsListItems=null,this.readOnly=!1,this.me=null,this.mode="cards",this.dialogOpen=!1,this.editingHref=null,this.dialogBody="",this.dialogTitle="",this.dialogLabels=[],this.dialogImportant=!1,this.dialogTouched=!1,this.deleteConfirmOpen=!1,this.listInited=!1,this.tableInited=!1,this.escapeHandler=null,this.openCreate=()=>{this.canAdd&&(this.editingHref=null,this.dialogBody="",this.dialogTitle="",this.dialogLabels=[],this.dialogImportant=!1,this.dialogTouched=!1,this.deleteConfirmOpen=!1,this.dialogOpen=!0)},this.openEdit=r=>{var t,e;if(this.readOnly)return;const i=null===(e=null===(t=null==r?void 0:r._links)||void 0===t?void 0:t.self)||void 0===e?void 0:e.href;if(!i)return;this.editingHref=i;const o=this.slotValue(r,"body");this.dialogBody=null!=o?String(o):"";const n=this.slotValue(r,"title");this.dialogTitle=null!=n?String(n):"";const a=this.slotValue(r,"labels");this.dialogLabels=Array.isArray(a)?a.map(String):null!=a&&""!==a?[String(a)]:[],this.dialogImportant=!!this.slotValue(r,"important"),this.dialogTouched=!1,this.deleteConfirmOpen=!1,this.dialogOpen=!0},this.closeDialog=()=>{this.dialogOpen=!1,this.deleteConfirmOpen=!1},this.openDeleteConfirm=()=>{this.deleteConfirmOpen=!0},this.cancelDeleteConfirm=()=>{this.deleteConfirmOpen=!1},this.confirmDelete=()=>{var r;if(!this.editingHref)return;const t=this.editingHref;this.mrdDeleteObject.emit({href:t}),"cards"===this.mode?null===(r=this.listEl)||void 0===r||r.removeRow(t):this.refresh(),this.deleteConfirmOpen=!1,this.dialogOpen=!1},this.submitDialog=()=>{var r,t,e,i,o,n,a,d,s,m,l,c,h,u,v,f;if(this.dialogTouched=!0,!this.dialogBody.trim())return;const g=null!==(t=null===(r=this.archetype)||void 0===r?void 0:r.slots)&&void 0!==t?t:{};if(this.editingHref){const r={[null!==(e=g.body)&&void 0!==e?e:"body"]:this.dialogBody};this.hasTitleSlot&&(r[null!==(i=g.title)&&void 0!==i?i:"title"]=this.dialogTitle.trim()||null),(null!==(o=this.labelsListItems)&&void 0!==o?o:[]).length&&(r[null!==(n=g.labels)&&void 0!==n?n:"labels"]=this.dialogLabels),this.hasImportantSlot&&(r[null!==(a=g.important)&&void 0!==a?a:"important"]=this.dialogImportant),this.mrdUpdateObject.emit({href:this.editingHref,values:r}),"cards"===this.mode?null===(d=this.listEl)||void 0===d||d.patchRow(this.editingHref,r):this.refresh()}else{if(!this.canAdd)return;const r={[null!==(s=g.body)&&void 0!==s?s:"body"]:this.dialogBody,[null!==(m=g.date)&&void 0!==m?m:"date"]:(new Date).toISOString().replace(/\.\d{3}Z$/,"Z")};this.hasTitleSlot&&this.dialogTitle.trim()&&(r[null!==(l=g.title)&&void 0!==l?l:"title"]=this.dialogTitle.trim()),(null!==(c=this.labelsListItems)&&void 0!==c?c:[]).length&&this.dialogLabels.length&&(r[null!==(h=g.labels)&&void 0!==h?h:"labels"]=this.dialogLabels),this.hasImportantSlot&&this.dialogImportant&&(r[null!==(u=g.important)&&void 0!==u?u:"important"]=!0),this.meHref()&&(r[null!==(v=g.author)&&void 0!==v?v:"author"]=this.meHref()),r[null!==(f=g.container)&&void 0!==f?f:"container"]=this.effectiveContainerHref,this.mrdCreateObject.emit({path:this.buildCreatePath(),values:r})}this.dialogOpen=!1}}disconnectedCallback(){this.unbindEscape()}dialogOpenChanged(r){r?(this.escapeHandler=r=>{"Escape"===r.key&&(this.deleteConfirmOpen?this.cancelDeleteConfirm():this.closeDialog())},document.addEventListener("keydown",this.escapeHandler)):this.unbindEscape()}unbindEscape(){this.escapeHandler&&(document.removeEventListener("keydown",this.escapeHandler),this.escapeHandler=null)}componentDidRender(){var r,t;if("cards"===this.mode&&this.listEl&&!this.listInited){this.listInited=!0;const t=this.listEl;Promise.resolve(null===(r=t.componentOnReady)||void 0===r?void 0:r.call(t)).then((()=>t.init()))}if("table"===this.mode&&this.tableEl&&!this.tableInited){this.tableInited=!0;const r=this.tableEl;Promise.resolve(null===(t=r.componentOnReady)||void 0===t?void 0:t.call(r)).then((()=>r.init()))}}setMode(r){r!==this.mode&&(this.listInited=!1,this.tableInited=!1,this.mode=r)}async refresh(){"cards"===this.mode&&this.listEl?await this.listEl.init():"table"===this.mode&&this.tableEl&&await this.tableEl.init()}meHref(){var r,t;const e=this.me;return null!==(t=null!==(r=null==e?void 0:e.id)&&void 0!==r?r:null==e?void 0:e.href)&&void 0!==t?t:""}slotValue(r,t){var e,i;const o=null===(i=null===(e=this.archetype)||void 0===e?void 0:e.slots)||void 0===i?void 0:i[t];if(o)return r[o]}get hasTitleSlot(){var r,t;return!!(null===(t=null===(r=this.archetype)||void 0===r?void 0:r.slots)||void 0===t?void 0:t.title)}get hasImportantSlot(){var r,t;return!!(null===(t=null===(r=this.archetype)||void 0===r?void 0:r.slots)||void 0===t?void 0:t.important)}get effectiveContainerHref(){return this.containerHref||this.meHref()}get canAdd(){return!this.readOnly&&!!this.meHref()&&!!this.effectiveContainerHref}buildCreatePath(){var r,t,e,i,o,n,d;return s({isRelatedView:(null===(r=this.item)||void 0===r?void 0:r.type)===a.RELATED_VIEW,fromClass:null===(t=this.item)||void 0===t?void 0:t.fromClass,parentId:this.parentId,dataClass:null!==(n=null!==(i=null===(e=this.item)||void 0===e?void 0:e.filterClass)&&void 0!==i?i:null===(o=this.item)||void 0===o?void 0:o.dataClass)&&void 0!==n?n:null===(d=this.item)||void 0===d?void 0:d.relatedClass})}renderToolbar(){return i("div",{class:"mrd-memo-container__toolbar"},"cards"===this.mode&&i("button",{type:"button",class:"mrd-memo-container__action",disabled:!this.canAdd,title:this.readOnly?d("readonly_access",this.locale):void 0,onClick:this.openCreate},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 5v14M5 12h14"})),d("memo_new",this.locale)),i("div",{class:"mrd-memo-container__seg",role:"group","aria-label":d("doc_view_switch",this.locale)},i("button",{class:"mrd-memo-container__seg-btn","aria-pressed":String("cards"===this.mode),title:d("memo_view_cards",this.locale),"aria-label":d("memo_view_cards",this.locale),onClick:()=>this.setMode("cards")},i("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},i("rect",{x:"3",y:"4",width:"7",height:"7",rx:"1"}),i("rect",{x:"14",y:"4",width:"7",height:"7",rx:"1"}),i("rect",{x:"3",y:"15",width:"7",height:"5",rx:"1"}),i("rect",{x:"14",y:"15",width:"7",height:"5",rx:"1"}))),i("button",{class:"mrd-memo-container__seg-btn","aria-pressed":String("table"===this.mode),title:d("memo_view_table",this.locale),"aria-label":d("memo_view_table",this.locale),onClick:()=>this.setMode("table")},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:"M8 6h13M8 12h13M8 18h13M3 6h.01M3 12h.01M3 18h.01"})))))}renderDeleteConfirm(){return i("div",null,i("h2",{class:"mrd-memo-container__modal-title"},d("memo_delete_confirm_title",this.locale)),i("p",{class:"mrd-memo-container__modal-warning"},d("memo_delete_confirm_body",this.locale)),i("div",{class:"mrd-memo-container__modal-actions"},i("button",{type:"button",class:"mrd-memo-container__modal-cancel",onClick:this.cancelDeleteConfirm},d("cancel",this.locale)),i("button",{type:"button",class:"mrd-memo-container__modal-delete-confirm",onClick:this.confirmDelete},d("delete",this.locale))))}renderForm(){var r,t,e;const o=this.dialogTouched&&!this.dialogBody.trim();return[i("h2",{class:"mrd-memo-container__modal-title"},d(this.editingHref?"memo_edit":"memo_new",this.locale)),i("div",{class:"mrd-memo-container__modal-field"},i("mrd-textarea-field",{key:null!==(r=this.editingHref)&&void 0!==r?r:"new",name:"body",value:this.dialogBody,required:!0,autofocus:!0,locale:this.locale,onMrdChange:r=>{this.dialogBody=r.detail.value}}),o&&i("span",{class:"mrd-memo-container__modal-error"},d("required",this.locale))),this.hasTitleSlot&&i("div",{class:"mrd-memo-container__modal-field"},i("mrd-text-field",{name:"title",label:d("memo_field_title",this.locale),value:this.dialogTitle,locale:this.locale,onMrdChange:r=>{this.dialogTitle=r.detail.value}})),!!(null!==(t=this.labelsListItems)&&void 0!==t?t:[]).length&&i("div",{class:"mrd-memo-container__modal-field"},i("mrd-list-field",{name:"labels",label:d("memo_field_labels",this.locale),value:this.dialogLabels,multiple:!0,listItems:null!==(e=this.labelsListItems)&&void 0!==e?e:[],locale:this.locale,onMrdChange:r=>{this.dialogLabels=Array.isArray(r.detail.value)?r.detail.value:[r.detail.value].filter(Boolean)}})),this.hasImportantSlot&&i("div",{class:"mrd-memo-container__modal-field"},i("mrd-boolean-field",{name:"important",label:d("memo_important",this.locale),value:this.dialogImportant,locale:this.locale,onMrdChange:r=>{this.dialogImportant=r.detail.value}})),i("div",{class:"mrd-memo-container__modal-actions"},this.editingHref&&i("button",{type:"button",class:"mrd-memo-container__modal-delete",onClick:this.openDeleteConfirm},d("delete",this.locale)),i("button",{type:"button",class:"mrd-memo-container__modal-cancel",onClick:this.closeDialog},d("cancel",this.locale)),i("button",{type:"button",class:"mrd-memo-container__modal-submit",onClick:this.submitDialog},d("submit",this.locale)))]}renderDialog(){return this.dialogOpen?i("div",{class:"mrd-memo-container__modal-backdrop",onClick:this.closeDialog},i("div",{class:"mrd-memo-container__modal",onClick:r=>r.stopPropagation()},this.deleteConfirmOpen?this.renderDeleteConfirm():this.renderForm())):null}renderCards(){return i("mrd-memo-list",{"data-view":this.viewKey,ref:r=>this.listEl=r,item:this.item,archetype:this.archetype,parentId:this.parentId,locale:this.locale,readOnly:this.readOnly,labelsListItems:this.labelsListItems,onMrdLoadPage:r=>{r.stopPropagation(),this.mrdLoadPage.emit(r.detail)},onMrdEdit:r=>{r.stopPropagation(),this.openEdit(r.detail.row)}})}renderTable(){return i("mrd-table",{"data-view":this.viewKey,ref:r=>this.tableEl=r,item:this.item,parentId:this.parentId,locale:this.locale,readOnly:this.readOnly,onMrdLoadPage:r=>{r.stopPropagation(),this.mrdLoadPage.emit(r.detail)},onMrdLoadAggregations:r=>{r.stopPropagation(),this.mrdLoadAggregations.emit(r.detail)},onMrdRowClick:r=>{r.stopPropagation(),this.openEdit(r.detail.row)},onMrdAction:r=>{r.stopPropagation(),this.mrdAction.emit(r.detail)}})}render(){return i(o,{key:"cf5e9a23e1e8496d061c00218029ec49d92700fe"},this.renderToolbar(),i("div",{key:"5a15a60ea4cc68c77a8928068f7d6d6c3cb91434",class:"mrd-memo-container__body"},"cards"===this.mode?this.renderCards():this.renderTable()),this.renderDialog())}static get watchers(){return{dialogOpen:[{dialogOpenChanged:0}]}}static get style(){return".sc-mrd-memo-container-h{display:block}.mrd-memo-container__toolbar.sc-mrd-memo-container{display:flex;align-items:center;justify-content:flex-end;gap:var(--mrd-space-2);padding:var(--mrd-space-2) 0;border-bottom:1px solid var(--mrd-color-neutral-100)}.mrd-memo-container__action.sc-mrd-memo-container{display:inline-flex;align-items:center;gap:var(--mrd-space-2);height:1.625rem;padding:0 var(--mrd-space-3);font-size:var(--mrd-font-size-sm);color:var(--mrd-color-neutral-700);background:var(--mrd-color-white);border:1px solid var(--mrd-color-neutral-200);border-radius:var(--mrd-border-radius);cursor:pointer;transition:background var(--mrd-transition-fast), border-color var(--mrd-transition-fast)}.mrd-memo-container__action.sc-mrd-memo-container svg.sc-mrd-memo-container{width:1rem;height:1rem}.mrd-memo-container__action.sc-mrd-memo-container:hover:not(:disabled){background:var(--mrd-color-neutral-50);border-color:var(--mrd-color-neutral-300)}.mrd-memo-container__action.sc-mrd-memo-container:disabled{opacity:0.5;cursor:not-allowed}.mrd-memo-container__seg.sc-mrd-memo-container{display:inline-flex;gap:2px;padding:2px;background:var(--mrd-color-neutral-100);border-radius:var(--mrd-border-radius)}.mrd-memo-container__seg-btn.sc-mrd-memo-container{width:1.875rem;height:1.625rem;display:grid;place-items:center;border:none;background:none;border-radius:var(--mrd-border-radius-sm);color:var(--mrd-color-neutral-500);cursor:pointer;transition:color var(--mrd-transition-fast), background var(--mrd-transition-fast)}.mrd-memo-container__seg-btn.sc-mrd-memo-container:hover{color:var(--mrd-color-neutral-800)}.mrd-memo-container__seg-btn[aria-pressed=true].sc-mrd-memo-container{background:var(--mrd-color-white);color:var(--mrd-color-primary-dark);box-shadow:var(--mrd-shadow-sm)}.mrd-memo-container__seg-btn.sc-mrd-memo-container svg.sc-mrd-memo-container{width:1rem;height:1rem}.mrd-memo-container__body.sc-mrd-memo-container{padding-top:var(--mrd-space-3)}.mrd-memo-container__modal-backdrop.sc-mrd-memo-container{position:fixed;inset:0;background:rgba(0, 0, 0, 0.6);z-index:300;display:flex;align-items:center;justify-content:center;padding:var(--mrd-space-4)}.mrd-memo-container__modal.sc-mrd-memo-container{width:100%;max-width:960px;max-height:90vh;overflow-y:auto;display:flex;flex-direction:column;gap:var(--mrd-space-4);background:var(--mrd-color-white);border-radius:var(--mrd-border-radius-md);padding:var(--mrd-space-5);box-shadow:var(--mrd-shadow-lg)}.mrd-memo-container__modal-title.sc-mrd-memo-container{font-size:var(--mrd-font-size-lg);font-weight:var(--mrd-font-weight-bold);color:var(--mrd-color-neutral-900);margin:0}.mrd-memo-container__modal-field.sc-mrd-memo-container{display:flex;flex-direction:column;gap:var(--mrd-space-1)}.mrd-memo-container__modal-error.sc-mrd-memo-container{font-family:var(--mrd-font-family);font-size:var(--mrd-error-font-size);color:var(--mrd-error-color)}.mrd-memo-container__modal-warning.sc-mrd-memo-container{margin:0;font-family:var(--mrd-font-family);font-size:var(--mrd-font-size-base);color:var(--mrd-color-neutral-600)}.mrd-memo-container__modal-actions.sc-mrd-memo-container{display:flex;justify-content:flex-end;gap:var(--mrd-space-3);margin-top:var(--mrd-space-2);padding-top:var(--mrd-space-4);border-top:var(--mrd-border-width) solid var(--mrd-border-color)}.mrd-memo-container__modal-delete.sc-mrd-memo-container{display:inline-flex;align-items:center;justify-content:center;height:var(--mrd-input-height);padding:0 var(--mrd-space-6);margin-right:auto;background-color:transparent;color:var(--mrd-color-danger);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-color-danger);border-radius:var(--mrd-border-radius);cursor:pointer;transition:background-color var(--mrd-transition), color var(--mrd-transition)}.mrd-memo-container__modal-delete.sc-mrd-memo-container:hover{background-color:var(--mrd-color-danger-light);color:var(--mrd-color-danger-dark)}.mrd-memo-container__modal-delete-confirm.sc-mrd-memo-container{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-danger);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-memo-container__modal-delete-confirm.sc-mrd-memo-container:hover{background-color:var(--mrd-color-danger-dark)}.mrd-memo-container__modal-cancel.sc-mrd-memo-container{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-memo-container__modal-cancel.sc-mrd-memo-container:hover{background-color:var(--mrd-color-neutral-100);color:var(--mrd-color-neutral-800)}.mrd-memo-container__modal-submit.sc-mrd-memo-container{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-memo-container__modal-submit.sc-mrd-memo-container:hover{background-color:var(--mrd-color-primary-hover)}"}},[2,"mrd-memo-container",{item:[16],archetype:[16],parentId:[1,"parent-id"],containerHref:[1,"container-href"],viewKey:[1,"view-key"],locale:[1],labelsListItems:[16],readOnly:[4,"read-only"],me:[16],mode:[32],dialogOpen:[32],editingHref:[32],dialogBody:[32],dialogTitle:[32],dialogLabels:[32],dialogImportant:[32],dialogTouched:[32],deleteConfirmOpen:[32],refresh:[64]},void 0,{dialogOpen:[{dialogOpenChanged:0}]}]);function g(){"undefined"!=typeof customElements&&["mrd-memo-container","mrd-boolean-field","mrd-list-field","mrd-memo-list","mrd-table","mrd-text-field","mrd-textarea-field"].forEach((r=>{switch(r){case"mrd-memo-container":customElements.get(n(r))||customElements.define(n(r),f);break;case"mrd-boolean-field":customElements.get(n(r))||m();break;case"mrd-list-field":customElements.get(n(r))||l();break;case"mrd-memo-list":customElements.get(n(r))||c();break;case"mrd-table":customElements.get(n(r))||h();break;case"mrd-text-field":customElements.get(n(r))||u();break;case"mrd-textarea-field":customElements.get(n(r))||v()}}))}export{f as M,g as d}
@@ -0,0 +1,11 @@
1
+ import type { Components, JSX } from "../types/components";
2
+
3
+ interface MrdMemoList extends Components.MrdMemoList, HTMLElement {}
4
+ export const MrdMemoList: {
5
+ prototype: MrdMemoList;
6
+ new (): MrdMemoList;
7
+ };
8
+ /**
9
+ * Used to define this component and all nested components recursively.
10
+ */
11
+ export const defineCustomElement: () => void;
@@ -0,0 +1 @@
1
+ import{M as m,d as o}from"./mrd-memo-list2.js";const s=m,r=o;export{s as MrdMemoList,r as defineCustomElement}
@@ -0,0 +1 @@
1
+ import{proxyCustomElement as r,HTMLElement as t,createEvent as i,h as o,Host as s,transformTag as e}from"@stencil/core/internal/client";import{p as d}from"./purify.es.js";import{t as m}from"./i18n.js";import{b as l}from"./format.js";import{b as a}from"./query-params.js";import{p as n,b as c,a as h}from"./table-query.js";const v=r(class extends t{constructor(r){super(),!1!==r&&this.__registerHost(),this.mrdLoadPage=i(this,"mrdLoadPage",7),this.mrdEdit=i(this,"mrdEdit",7),this.item=null,this.parentId="",this.pageSize=20,this.locale=navigator.language,this.readOnly=!1,this.labelsListItems=null,this.rows=[],this.loading=!1,this.exhausted=!1,this.started=!1,this.expandedHrefs=new Set,this.nextPage=0,this.loadMore=()=>{this.loading||this.exhausted||this.emitLoadPage(this.nextPage)},this.toggleExpanded=(r,t)=>{r.stopPropagation();const i=new Set(this.expandedHrefs);i.has(t)?i.delete(t):i.add(t),this.expandedHrefs=i}}buildDataPath(){var r,t,i,o,s;return a({isRelatedView:"RELATED_VIEW"===(null===(r=this.item)||void 0===r?void 0:r.type),fromClass:null===(t=this.item)||void 0===t?void 0:t.fromClass,parentId:this.parentId,dataClass:null!==(o=null===(i=this.item)||void 0===i?void 0:i.dataClass)&&void 0!==o?o:null===(s=this.item)||void 0===s?void 0:s.relatedClass})}sortParam(){var r,t,i;const{field:o,dir:s}=n(null!==(i=null===(t=null===(r=this.item)||void 0===r?void 0:r.view)||void 0===t?void 0:t.defaultSort)&&void 0!==i?i:"");return c(o,s)}emitLoadPage(r){var t,i,o;this.loading=!0,this.mrdLoadPage.emit({page:r,sort:this.sortParam(),path:this.buildDataPath(),qs:h({page:r,sort:this.sortParam(),filterClass:null===(t=this.item)||void 0===t?void 0:t.filterClass,viewFilters:null===(o=null===(i=this.item)||void 0===i?void 0:i.view)||void 0===o?void 0:o.filter,activeFilters:[]})})}async init(){this.rows=[],this.loading=!1,this.exhausted=!1,this.started=!0,this.nextPage=0,this.emitLoadPage(0)}async setPage(r,t,i){this.loading=!1,this.rows=0===r?t:[...this.rows,...t],this.nextPage=r+1,this.exhausted=void 0!==i?!i:t.length<this.pageSize}async patchRow(r,t){this.rows=this.rows.map((i=>{var o,s;return(null===(s=null===(o=null==i?void 0:i._links)||void 0===o?void 0:o.self)||void 0===s?void 0:s.href)===r?Object.assign(Object.assign({},i),t):i}))}async removeRow(r){this.rows=this.rows.filter((t=>{var i,o;return(null===(o=null===(i=null==t?void 0:t._links)||void 0===i?void 0:i.self)||void 0===o?void 0:o.href)!==r}))}slotValue(r,t){var i,o;const s=null===(o=null===(i=this.archetype)||void 0===i?void 0:i.slots)||void 0===o?void 0:o[t];if(s)return r[s]}slotLink(r,t){var i,o,s;const e=null===(o=null===(i=this.archetype)||void 0===i?void 0:i.slots)||void 0===o?void 0:o[t];if(e)return(null!==(s=null==r?void 0:r._links)&&void 0!==s?s:{})[e]}plainTextLength(r){const t=this.slotValue(r,"body");return null==t||""===t?0:String(t).replace(/<[^>]*>/g," ").replace(/\s+/g," ").trim().length}renderLabels(r){const t=this.slotValue(r,"labels"),i=Array.isArray(t)?t.map(String):null!=t&&""!==t?[String(t)]:[];return i.length?o("div",{class:"mrd-memo-list__labels"},i.map((r=>{var t,i;const s=(null!==(t=this.labelsListItems)&&void 0!==t?t:[]).find((t=>t.key===r)),e=null!==(i=null==s?void 0:s.label)&&void 0!==i?i:r;return o("span",(null==s?void 0:s.color)&&(null==s?void 0:s.backgroundColor)?{key:r,class:"mrd-memo-list__badge",style:{color:s.color,backgroundColor:s.backgroundColor}}:{key:r,class:"mrd-memo-list__badge mrd-memo-list__badge--plain"},e)}))):null}renderBody(r,t){const i=this.slotValue(r,"body");if(null==i||""===i)return null;const s=this.expandedHrefs.has(t),e=this.plainTextLength(r)>220;return o("div",{class:"mrd-memo-list__card-body-wrap"},o("div",{class:{"mrd-memo-list__card-body":!0,"mrd-memo-list__card-body--clamped":e&&!s},innerHTML:d.sanitize(String(i))}),e&&o("button",{type:"button",class:"mrd-memo-list__card-toggle",onClick:r=>this.toggleExpanded(r,t)},m(s?"textblock_show_less":"textblock_show_more",this.locale)))}renderCard(r,t){var i,s,e;const d=this.slotValue(r,"title"),a=null!=d&&""!==d?String(d):null,n=this.slotValue(r,"date"),c=this.slotLink(r,"author"),h=!!this.slotValue(r,"important"),v=null!==(e=null===(s=null===(i=null==r?void 0:r._links)||void 0===i?void 0:i.self)||void 0===s?void 0:s.href)&&void 0!==e?e:"";return o("div",{key:v||t,class:{"mrd-memo-list__card":!0,"mrd-memo-list__card--readonly":this.readOnly},role:this.readOnly?void 0:"button",tabIndex:this.readOnly?void 0:0,onClick:()=>{this.readOnly||this.mrdEdit.emit({row:r})},onKeyDown:t=>{this.readOnly||"Enter"!==t.key&&" "!==t.key||(t.preventDefault(),this.mrdEdit.emit({row:r}))}},o("div",{class:"mrd-memo-list__card-header"},a&&o("span",{class:"mrd-memo-list__card-title"},a),h&&o("span",{class:"mrd-memo-list__card-important",title:m("memo_important",this.locale)},o("svg",{viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true"},o("path",{d:"M12 2l2.9 6.26L22 9.27l-5 4.87L18.18 21 12 17.27 5.82 21 7 14.14l-5-4.87 7.1-1.01z"})))),this.renderBody(r,v),this.renderLabels(r),o("div",{class:"mrd-memo-list__card-meta"},(null==c?void 0:c.name)&&o("span",{class:"mrd-memo-list__card-author"},c.name),null!=n&&""!==n&&o("span",{class:"mrd-memo-list__card-date"},l(n,this.locale))))}render(){return o(s,{key:"c4c5ce4e96bf2aa754d85b260db8920fdde9311d"},o("div",{key:"0db49511231edbf946f98734e0bab91cbdf31795",class:"mrd-memo-list"},this.rows.map(((r,t)=>this.renderCard(r,t))),this.started&&!this.loading&&0===this.rows.length&&o("div",{key:"2a7a027673d01d63523ce252fe2fbff8ba0515fd",class:"mrd-memo-list__empty"},m("no_results",this.locale)),!this.exhausted&&this.rows.length>0&&o("button",{key:"45dfd4a9ccab721d422935c48509d46989c9a360",type:"button",class:"mrd-memo-list__load-more",disabled:this.loading,onClick:this.loadMore},m("load_more",this.locale))))}static get style(){return'@charset "UTF-8";.sc-mrd-memo-list-h{display:block}.mrd-memo-list.sc-mrd-memo-list{display:flex;flex-direction:column;gap:var(--mrd-space-3)}.mrd-memo-list__card.sc-mrd-memo-list{display:flex;flex-direction:column;gap:var(--mrd-space-2);width:100%;padding:var(--mrd-space-4);background:var(--mrd-color-white);border:var(--mrd-border-width) solid var(--mrd-border-color);border-radius:var(--mrd-border-radius-md);font-family:var(--mrd-font-family);text-align:left;cursor:pointer;transition:border-color var(--mrd-transition), box-shadow var(--mrd-transition)}.mrd-memo-list__card.sc-mrd-memo-list:hover{border-color:var(--mrd-color-primary);box-shadow:var(--mrd-shadow-sm, 0 1px 2px rgba(0, 0, 0, 0.06))}.mrd-memo-list__card.sc-mrd-memo-list:focus-visible{outline:none;box-shadow:var(--mrd-shadow-focus)}.mrd-memo-list__card--readonly.sc-mrd-memo-list{cursor:default}.mrd-memo-list__card--readonly.sc-mrd-memo-list:hover{border-color:var(--mrd-border-color);box-shadow:none}.mrd-memo-list__card-header.sc-mrd-memo-list{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--mrd-space-2)}.mrd-memo-list__card-title.sc-mrd-memo-list{font-size:var(--mrd-font-size-base);font-weight:var(--mrd-font-weight-semibold);color:var(--mrd-color-neutral-900)}.mrd-memo-list__card-important.sc-mrd-memo-list{display:inline-flex;flex-shrink:0;color:var(--mrd-color-warning)}.mrd-memo-list__card-important.sc-mrd-memo-list svg.sc-mrd-memo-list{width:1rem;height:1rem}.mrd-memo-list__card-body-wrap.sc-mrd-memo-list{display:flex;flex-direction:column;align-items:flex-start;gap:var(--mrd-space-1)}.mrd-memo-list__card-body.sc-mrd-memo-list{margin:0;font-size:var(--mrd-font-size-sm);color:var(--mrd-color-neutral-600);line-height:var(--mrd-line-height-relaxed);word-break:break-word}.mrd-memo-list__card-body.sc-mrd-memo-list p.sc-mrd-memo-list,.mrd-memo-list__card-body.sc-mrd-memo-list ul.sc-mrd-memo-list,.mrd-memo-list__card-body.sc-mrd-memo-list ol.sc-mrd-memo-list{margin:0 0 var(--mrd-space-1) 0}.mrd-memo-list__card-body--clamped.sc-mrd-memo-list{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.mrd-memo-list__card-toggle.sc-mrd-memo-list{background:none;border:none;padding:0;font-family:var(--mrd-font-family);font-size:var(--mrd-font-size-xs);font-weight:var(--mrd-font-weight-medium);color:var(--mrd-color-primary);cursor:pointer}.mrd-memo-list__card-toggle.sc-mrd-memo-list:hover{text-decoration:underline}.mrd-memo-list__labels.sc-mrd-memo-list{display:flex;flex-wrap:wrap;gap:var(--mrd-space-2)}.mrd-memo-list__badge.sc-mrd-memo-list{display:inline-flex;align-items:center;height:1.25rem;padding:0 var(--mrd-space-2);border-radius:var(--mrd-border-radius-full, 999px);font-size:var(--mrd-font-size-xs);font-weight:var(--mrd-font-weight-medium)}.mrd-memo-list__badge--plain.sc-mrd-memo-list{background:var(--mrd-color-neutral-100);color:var(--mrd-color-neutral-600)}.mrd-memo-list__card-meta.sc-mrd-memo-list{display:flex;align-items:center;gap:var(--mrd-space-2);font-size:var(--mrd-font-size-xs);color:var(--mrd-color-neutral-400)}.mrd-memo-list__card-author.sc-mrd-memo-list+.mrd-memo-list__card-date.sc-mrd-memo-list::before{content:"·";margin-right:var(--mrd-space-2)}.mrd-memo-list__empty.sc-mrd-memo-list{padding:var(--mrd-space-6);text-align:center;color:var(--mrd-color-neutral-400);font-size:var(--mrd-font-size-sm)}.mrd-memo-list__load-more.sc-mrd-memo-list{align-self:center;height:var(--mrd-input-height);padding:0 var(--mrd-space-6);background:transparent;color:var(--mrd-color-neutral-600);font-family:var(--mrd-font-family);font-size:var(--mrd-font-size-sm);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)}.mrd-memo-list__load-more.sc-mrd-memo-list:hover:not(:disabled){background-color:var(--mrd-color-neutral-100)}.mrd-memo-list__load-more.sc-mrd-memo-list:disabled{opacity:0.6;cursor:default}'}},[2,"mrd-memo-list",{item:[16],archetype:[16],parentId:[1,"parent-id"],pageSize:[2,"page-size"],locale:[1],readOnly:[4,"read-only"],labelsListItems:[16],rows:[32],loading:[32],exhausted:[32],started:[32],expandedHrefs:[32],init:[64],setPage:[64],patchRow:[64],removeRow:[64]}]);function u(){"undefined"!=typeof customElements&&["mrd-memo-list"].forEach((r=>{"mrd-memo-list"===r&&(customElements.get(e(r))||customElements.define(e(r),v))}))}export{v as M,u as d}
@@ -0,0 +1,11 @@
1
+ import type { Components, JSX } from "../types/components";
2
+
3
+ interface MrdMemoView extends Components.MrdMemoView, HTMLElement {}
4
+ export const MrdMemoView: {
5
+ prototype: MrdMemoView;
6
+ new (): MrdMemoView;
7
+ };
8
+ /**
9
+ * Used to define this component and all nested components recursively.
10
+ */
11
+ export const defineCustomElement: () => void;
@@ -0,0 +1 @@
1
+ import{M as m,d as o}from"./mrd-memo-view2.js";const r=m,s=o;export{r as MrdMemoView,s as defineCustomElement}
@@ -0,0 +1 @@
1
+ import{proxyCustomElement as e,HTMLElement as r,createEvent as m,h as i,Host as o,transformTag as t}from"@stencil/core/internal/client";import{p as a}from"./purify.es.js";import{t as d}from"./i18n.js";import{b as n}from"./format.js";const l=e(class extends r{constructor(e){super(),!1!==e&&this.__registerHost(),this.mrdNavigate=m(this,"mrdNavigate",7),this.data={},this.locale=navigator.language,this.labelsListItems=null}slotValue(e){var r,m;const i=null===(m=null===(r=this.archetype)||void 0===r?void 0:r.slots)||void 0===m?void 0:m[e];if(i)return this.data[i]}slotLink(e){var r,m,i,o;const t=null===(m=null===(r=this.archetype)||void 0===r?void 0:r.slots)||void 0===m?void 0:m[e];if(t)return(null!==(o=null===(i=this.data)||void 0===i?void 0:i._links)&&void 0!==o?o:{})[t]}renderAuthor(){const e=this.slotLink("author");return(null==e?void 0:e.href)&&e.name?i("button",{type:"button",class:"mrd-memo-view__meta-author",onClick:()=>this.mrdNavigate.emit({href:e.href,label:e.name})},e.name):null}renderContainer(){const e=this.slotLink("container");return(null==e?void 0:e.href)&&e.name?i("button",{type:"button",class:"mrd-memo-view__container-link",onClick:()=>this.mrdNavigate.emit({href:e.href,label:e.name})},e.name):null}renderLabels(){const e=this.slotValue("labels"),r=Array.isArray(e)?e.map(String):null!=e&&""!==e?[String(e)]:[];return r.length?i("div",{class:"mrd-memo-view__labels"},r.map((e=>{var r,m;const o=(null!==(r=this.labelsListItems)&&void 0!==r?r:[]).find((r=>r.key===e)),t=null!==(m=null==o?void 0:o.label)&&void 0!==m?m:e;return i("span",(null==o?void 0:o.color)&&(null==o?void 0:o.backgroundColor)?{key:e,class:"mrd-memo-view__badge",style:{color:o.color,backgroundColor:o.backgroundColor}}:{key:e,class:"mrd-memo-view__badge mrd-memo-view__badge--plain"},t)}))):null}renderBody(){const e=this.slotValue("body");return null==e||""===e?null:i("div",{class:"mrd-memo-view__body",innerHTML:a.sanitize(String(e))})}render(){const e=this.slotValue("title"),r=null!=e&&""!==e?String(e):null,m=this.slotValue("date"),t=!!this.slotValue("important");return i(o,{key:"4d8ed14c54449fbcfddc94a34dcfb220338f8bba"},i("div",{key:"0e0456277715607580e5373ada10706db1067c7d",class:"mrd-memo-view"},i("div",{key:"d5c548617eca9a99eb34409b2082be025cfce2f4",class:"mrd-memo-view__header"},r&&i("h1",{key:"2ecd2eae3f8fdba310679515aa2fe76e02f0c2b2",class:"mrd-memo-view__title"},r),t&&i("span",{key:"e5e8284310ab6040f1677bc1241d04d65784c2da",class:"mrd-memo-view__important",title:d("memo_important",this.locale)},i("svg",{key:"babe987244b384330533721276b5392c9fe72c5a",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true"},i("path",{key:"511956710ae8e440328f9e477551ba1c2d478f1a",d:"M12 2l2.9 6.26L22 9.27l-5 4.87L18.18 21 12 17.27 5.82 21 7 14.14l-5-4.87 7.1-1.01z"})),d("memo_important",this.locale))),i("div",{key:"41c25e5376d94078debaf62121b8bdf400511d16",class:"mrd-memo-view__meta"},this.renderAuthor(),null!=m&&""!==m&&i("span",{key:"caff8047249745ca98da77b374438e58d150ad7f",class:"mrd-memo-view__meta-date"},n(m,this.locale))),this.renderLabels(),this.renderContainer(),i("div",{key:"bfa4c55458ea19fb920338df9478006b1883e606",class:"mrd-memo-view__divider"}),this.renderBody()))}static get style(){return'@charset "UTF-8";.sc-mrd-memo-view-h{display:block}.mrd-memo-view.sc-mrd-memo-view{max-width:720px;display:flex;flex-direction:column;gap:var(--mrd-space-3)}.mrd-memo-view__header.sc-mrd-memo-view{display:flex;align-items:baseline;flex-wrap:wrap;gap:var(--mrd-space-3)}.mrd-memo-view__title.sc-mrd-memo-view{font-size:var(--mrd-font-size-2xl);font-weight:var(--mrd-font-weight-bold);color:var(--mrd-color-neutral-900);letter-spacing:-0.02em;margin:0}.mrd-memo-view__important.sc-mrd-memo-view{display:inline-flex;align-items:center;gap:var(--mrd-space-1);font-size:var(--mrd-font-size-xs);font-weight:var(--mrd-font-weight-semibold);color:var(--mrd-color-warning);text-transform:uppercase;letter-spacing:0.04em}.mrd-memo-view__important.sc-mrd-memo-view svg.sc-mrd-memo-view{width:0.875rem;height:0.875rem}.mrd-memo-view__meta.sc-mrd-memo-view{display:flex;align-items:center;gap:var(--mrd-space-2);font-size:var(--mrd-font-size-sm);color:var(--mrd-color-neutral-400)}.mrd-memo-view__meta-author.sc-mrd-memo-view{background:none;border:none;padding:0;font-family:var(--mrd-font-family);font-size:inherit;font-weight:var(--mrd-font-weight-medium);color:var(--mrd-color-neutral-500);cursor:pointer}.mrd-memo-view__meta-author.sc-mrd-memo-view:hover{color:var(--mrd-color-primary);text-decoration:underline}.mrd-memo-view__meta-date.sc-mrd-memo-view::before{content:"·";margin-right:var(--mrd-space-2)}.mrd-memo-view__meta-author.sc-mrd-memo-view+.mrd-memo-view__meta-date.sc-mrd-memo-view::before{content:"·"}.mrd-memo-view__labels.sc-mrd-memo-view{display:flex;flex-wrap:wrap;gap:var(--mrd-space-2)}.mrd-memo-view__badge.sc-mrd-memo-view{display:inline-flex;align-items:center;height:1.375rem;padding:0 var(--mrd-space-2);border-radius:var(--mrd-border-radius-full, 999px);font-size:var(--mrd-font-size-xs);font-weight:var(--mrd-font-weight-medium)}.mrd-memo-view__badge--plain.sc-mrd-memo-view{background:var(--mrd-color-neutral-100);color:var(--mrd-color-neutral-600)}.mrd-memo-view__container-link.sc-mrd-memo-view{align-self:flex-start;background:none;border:none;padding:0;font-family:var(--mrd-font-family);font-size:var(--mrd-font-size-sm);font-weight:var(--mrd-font-weight-semibold);color:var(--mrd-color-primary);cursor:pointer}.mrd-memo-view__container-link.sc-mrd-memo-view:hover{text-decoration:underline}.mrd-memo-view__divider.sc-mrd-memo-view{height:var(--mrd-border-width);background:var(--mrd-color-neutral-200)}.mrd-memo-view__body.sc-mrd-memo-view{font-size:var(--mrd-font-size-base);color:var(--mrd-color-neutral-800);line-height:var(--mrd-line-height-relaxed);word-break:break-word}'}},[2,"mrd-memo-view",{archetype:[16],data:[16],locale:[1],labelsListItems:[16]}]);function s(){"undefined"!=typeof customElements&&["mrd-memo-view"].forEach((e=>{"mrd-memo-view"===e&&(customElements.get(t(e))||customElements.define(t(e),l))}))}export{l as M,s as d}
@@ -1 +1 @@
1
- import{h as r,proxyCustomElement as e,HTMLElement as i,createEvent as o,Host as t,transformTag as d}from"@stencil/core/internal/client";import{a as s}from"./client-layout.js";import{C as a}from"./cell-renderer.js";import{t as m}from"./i18n.js";import{a as n}from"./format.js";function l(r){return r.type===s.FIELD||r.type===s.RELATION&&!r.multiple}function c(r,e){var i,o,t,d,a;const m=null!==(i=r.name)&&void 0!==i?i:"";return r.type===s.RELATION?null!==(d=null===(t=null===(o=null==e?void 0:e._links)||void 0===o?void 0:o[m])||void 0===t?void 0:t.href)&&void 0!==d?d:null:null!==(a=null==e?void 0:e[m])&&void 0!==a?a:null}function v(r,e){return r.historyEnabled&&null!=e&&"object"==typeof e&&!Array.isArray(e)&&"current"in e?e.current:e}function g(r){return void 0===r||""===r?null:r}function u(r,e){const i=g(r),o=g(e);return i===o||null!==i&&null!==o&&JSON.stringify(i)===JSON.stringify(o)}function h(r){return null===g(r)}function _(r,e,i){const o=[],t=[];for(const d of r.filter(l)){const r=c(d,e),s=c(d,i),a=v(d,r),m=v(d,s);u(a,m)||(h(a)&&!h(m)?t.push({item:d,aValue:r,bValue:s}):o.push({item:d,aValue:r,bValue:s}))}return{conflicts:o,autoFilled:t}}function w(r){var e,i,o,t,d;return null!==(d=null!==(i=null!==(e=null==r?void 0:r.name)&&void 0!==e?e:null==r?void 0:r.label)&&void 0!==i?i:null===(t=null===(o=null==r?void 0:r._links)||void 0===o?void 0:o.self)||void 0===t?void 0:t.href)&&void 0!==d?d:""}function p(r,e){var i,o;return r.historyEnabled&&r.name&&null!==(o=null===(i=null==e?void 0:e[r.name])||void 0===i?void 0:i.history)&&void 0!==o?o:[]}const b=({locale:e,history:i,isOpen:o,onToggle:t})=>{if(0===i.length)return null;const d=[...i].sort(((r,e)=>e.until.localeCompare(r.until)));return r("span",{class:"mrd-merge-view__history-wrap"},r("button",{type:"button",class:"mrd-merge-view__history-btn",title:m("history_badge_tooltip",e),"aria-label":m("history_badge_tooltip",e),onClick:r=>{r.stopPropagation(),t()}},r("svg",{class:"mrd-merge-view__history-icon",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true"},r("path",{"fill-rule":"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zm.75-13a.75.75 0 00-1.5 0v5c0 .207.085.394.22.53l2.5 2.5a.75.75 0 101.06-1.06L10.75 9.69V5z","clip-rule":"evenodd"}))),o&&r("div",{class:"mrd-merge-view__history-popover",role:"listbox"},d.map(((i,o)=>r("div",{key:o+"",class:"mrd-merge-view__history-entry"},i.value," (",m("history_until",e)," ",n(i.until,e),")")))))},f=({locale:e,searchQuery:i,searchResults:o,isLoading:t,onSearchInput:d,onSelect:s})=>r("div",{class:"mrd-merge-view__search-step"},r("p",{class:"mrd-merge-view__hint"},m("merge_search_hint",e)),r("div",{class:"mrd-merge-view__search-wrapper"},r("input",{class:"mrd-merge-view__search",type:"text",value:i,placeholder:m("search_placeholder",e),onInput:r=>d(r.target.value)}),t&&r("span",{class:"mrd-merge-view__spinner","aria-label":m("loading",e)})),i.trim().length>=2&&!t&&r("div",{class:"mrd-merge-view__results"},0===o.length?r("div",{class:"mrd-merge-view__no-results"},m("no_results",e)):o.map((i=>{var o,t,d;return r("div",{key:null!==(d=null===(t=null===(o=null==i?void 0:i._links)||void 0===o?void 0:o.self)||void 0===t?void 0:t.href)&&void 0!==d?d:w(i),class:"mrd-merge-view__result-item"},r("span",{class:"mrd-merge-view__result-label"},w(i)),r("button",{type:"button",class:"mrd-merge-view__btn mrd-merge-view__btn--secondary",onClick:()=>s(i)},m("merge_select",e)))})))),y=({locale:e,currentLabel:i,candidateLabel:o,conflicts:t,autoFilled:d,recordA:s,recordB:n,resolutions:l,openHistoryKey:c,onResolve:v,onToggleHistory:g,onChangeCandidate:u,onContinue:h})=>r("div",{class:"mrd-merge-view__compare-step"},r("h3",{class:"mrd-merge-view__heading"},m("merge_compare_heading",e)),0===t.length?r("p",{class:"mrd-merge-view__no-conflicts"},m("merge_no_conflicts",e)):r("table",{class:"mrd-merge-view__table"},r("thead",null,r("tr",null,r("th",{class:"mrd-merge-view__header"}),r("th",{class:"mrd-merge-view__header"},m("merge_column_a",e),r("span",{class:"mrd-merge-view__header-name"},i)),r("th",{class:"mrd-merge-view__header"},m("merge_column_b",e),r("span",{class:"mrd-merge-view__header-name"},o)))),r("tbody",null,t.map((({item:i})=>{var o,t,d;const m=null!==(o=i.name)&&void 0!==o?o:"",u=null!==(t=l[m])&&void 0!==t?t:"A",h=p(i,s),_=p(i,n),w=m+":A",f=m+":B";return r("tr",{key:m,class:"mrd-merge-view__row"},r("td",{class:"mrd-merge-view__cell mrd-merge-view__cell--label"},null!==(d=i.label)&&void 0!==d?d:m),r("td",{class:"mrd-merge-view__cell"},r("label",{class:"mrd-merge-view__option"},r("input",{type:"radio",name:"merge-"+m,checked:"A"===u,onChange:()=>v(m,"A")}),r("span",null,a.render(i,s,e)||"—")),r(b,{locale:e,history:h,isOpen:c===w,onToggle:()=>g(c===w?null:w)})),r("td",{class:"mrd-merge-view__cell"},r("label",{class:"mrd-merge-view__option"},r("input",{type:"radio",name:"merge-"+m,checked:"B"===u,onChange:()=>v(m,"B")}),r("span",null,a.render(i,n,e)||"—")),r(b,{locale:e,history:_,isOpen:c===f,onToggle:()=>g(c===f?null:f)})))})))),d.length>0&&r("div",{class:"mrd-merge-view__auto-note"},r("p",null,m("merge_auto_heading",e)),r("ul",null,d.map((({item:e})=>{var i;return r("li",{key:e.name},null!==(i=e.label)&&void 0!==i?i:e.name)})))),r("div",{class:"mrd-merge-view__actions"},r("button",{type:"button",class:"mrd-merge-view__btn mrd-merge-view__btn--secondary",onClick:u},m("merge_back",e)),r("button",{type:"button",class:"mrd-merge-view__btn mrd-merge-view__btn--primary",onClick:h},m("merge_continue",e)))),k=({locale:e,candidateLabel:i,conflicts:o,autoFilled:t,resolutions:d,recordB:s,openHistoryKey:n,onToggleHistory:l,onBack:c,onConfirm:v})=>{const g=[...t,...o.filter((({item:r})=>{var e;return"B"===d[null!==(e=r.name)&&void 0!==e?e:""]}))];return r("div",{class:"mrd-merge-view__confirm-step"},r("h3",{class:"mrd-merge-view__heading"},m("merge_confirm_heading",e)),0===g.length?r("p",{class:"mrd-merge-view__no-conflicts"},m("merge_no_conflicts",e)):r("ul",{class:"mrd-merge-view__summary-list"},g.map((({item:i})=>{var o;const t=i.name+":confirm";return r("li",{key:i.name},null!==(o=i.label)&&void 0!==o?o:i.name,": ",a.render(i,s,e)||"—",r(b,{locale:e,history:p(i,s),isOpen:n===t,onToggle:()=>l(n===t?null:t)}))}))),r("p",{class:"mrd-merge-view__warning"},m("merge_confirm_warning",e)," (",i,")"),r("div",{class:"mrd-merge-view__actions"},r("button",{type:"button",class:"mrd-merge-view__btn mrd-merge-view__btn--secondary",onClick:c},m("merge_back",e)),r("button",{type:"button",class:"mrd-merge-view__btn mrd-merge-view__btn--danger",onClick:v},m("merge_confirm_button",e))))},x=e(class extends i{constructor(r){super(),!1!==r&&this.__registerHost(),this.mrdSearch=o(this,"mrdSearch",7),this.mrdMerge=o(this,"mrdMerge",7),this.locale=navigator.language,this.basicType="",this.mostSignificantClass="",this.fields=[],this.currentHref="",this.currentRecord={},this.currentLabel="",this.step="search",this.searchQuery="",this.searchResults=[],this.isLoading=!1,this.candidate=null,this.resolutions={},this.openHistoryKey=null,this.historyClickOutside=null,this.searchDebounce=null,this.handleSearchInput=r=>{this.searchQuery=r,this.searchDebounce&&clearTimeout(this.searchDebounce),r.trim().length>=2?(this.isLoading=!0,this.searchDebounce=setTimeout((()=>{this.mrdSearch.emit({query:r,basicType:this.basicType,mostSignificantClass:this.mostSignificantClass||void 0})}),300)):(this.searchResults=[],this.isLoading=!1)},this.handleSelect=r=>{this.candidate=r;const{conflicts:e}=_(this.fields,this.currentRecord,r),i={};e.forEach((({item:r})=>{var e;i[null!==(e=r.name)&&void 0!==e?e:""]="A"})),this.resolutions=i,this.openHistoryKey=null,this.step="compare"},this.handleChangeCandidate=()=>{this.candidate=null,this.resolutions={},this.openHistoryKey=null,this.step="search"},this.handleResolve=(r,e)=>{this.resolutions=Object.assign(Object.assign({},this.resolutions),{[r]:e})},this.handleToggleHistory=r=>{this.openHistoryKey=r},this.handleContinue=()=>{this.step="confirm"},this.handleBack=()=>{this.step="compare"},this.handleConfirm=()=>{var r,e,i,o;if(!this.candidate)return;const t=function(r,e){var i,o,t;const d={};for(const{item:e,bValue:o}of r.autoFilled)d[null!==(i=e.name)&&void 0!==i?i:""]=o;for(const{item:i,bValue:s}of r.conflicts)"B"===e[null!==(o=i.name)&&void 0!==o?o:""]&&(d[null!==(t=i.name)&&void 0!==t?t:""]=s);return d}(_(this.fields,this.currentRecord,this.candidate),this.resolutions),d=null!==(o=null===(i=null===(e=null===(r=this.candidate)||void 0===r?void 0:r._links)||void 0===e?void 0:e.self)||void 0===i?void 0:i.href)&&void 0!==o?o:"";this.mrdMerge.emit({winnerHref:this.currentHref,loserHref:d,patch:t})}}connectedCallback(){this.historyClickOutside=r=>{this.el.contains(r.target)||(this.openHistoryKey=null)},document.addEventListener("mousedown",this.historyClickOutside)}disconnectedCallback(){this.historyClickOutside&&(document.removeEventListener("mousedown",this.historyClickOutside),this.historyClickOutside=null)}async setSearchResults(r){this.searchResults=(null!=r?r:[]).filter((r=>{var e,i,o;return(null!==(o=null===(i=null===(e=null==r?void 0:r._links)||void 0===e?void 0:e.self)||void 0===i?void 0:i.href)&&void 0!==o?o:null)!==this.currentHref})),this.isLoading=!1}async setLoading(r){this.isLoading=r}render(){var e,i;let o;if("search"===this.step)o=r(f,{key:"3adb36fb46aa7260641a46a2cf27cc0ef320876f",locale:this.locale,searchQuery:this.searchQuery,searchResults:this.searchResults,isLoading:this.isLoading,onSearchInput:this.handleSearchInput,onSelect:this.handleSelect});else{const t=_(this.fields,this.currentRecord,this.candidate),d=w(this.candidate);o="compare"===this.step?r(y,{locale:this.locale,currentLabel:this.currentLabel,candidateLabel:d,conflicts:t.conflicts,autoFilled:t.autoFilled,recordA:this.currentRecord,recordB:null!==(e=this.candidate)&&void 0!==e?e:{},resolutions:this.resolutions,openHistoryKey:this.openHistoryKey,onResolve:this.handleResolve,onToggleHistory:this.handleToggleHistory,onChangeCandidate:this.handleChangeCandidate,onContinue:this.handleContinue}):r(k,{locale:this.locale,candidateLabel:d,conflicts:t.conflicts,autoFilled:t.autoFilled,resolutions:this.resolutions,recordB:null!==(i=this.candidate)&&void 0!==i?i:{},openHistoryKey:this.openHistoryKey,onToggleHistory:this.handleToggleHistory,onBack:this.handleBack,onConfirm:this.handleConfirm})}return r(t,{key:"e33a6d66a220b28cc9533da78dc274e2d7ec5c4a"},r("div",{key:"b5fb1390d86192f9f6f15e3ccb89e2d21d9c7c8b",class:"mrd-merge-view"},o))}get el(){return this}static get style(){return".sc-mrd-merge-view-h{display:block;width:100%}.mrd-merge-view.sc-mrd-merge-view{font-family:var(--mrd-font-family);font-size:var(--mrd-font-size-sm);color:var(--mrd-color-neutral-900)}.mrd-merge-view__hint.sc-mrd-merge-view{margin:0 0 var(--mrd-space-4);color:var(--mrd-color-neutral-600)}.mrd-merge-view__heading.sc-mrd-merge-view{margin:0 0 var(--mrd-space-4);font-size:var(--mrd-font-size-lg);font-weight:var(--mrd-font-weight-semibold)}.mrd-merge-view__search-wrapper.sc-mrd-merge-view{position:relative;display:flex;align-items:center}.mrd-merge-view__search.sc-mrd-merge-view{width:100%;height:var(--mrd-input-height);padding:var(--mrd-input-padding-y) var(--mrd-input-padding-x);border:var(--mrd-border-width) solid var(--mrd-border-color);border-radius:var(--mrd-border-radius);background:var(--mrd-input-bg);color:var(--mrd-input-color);font-size:var(--mrd-font-size-sm)}.mrd-merge-view__search.sc-mrd-merge-view:focus{outline:none;border-color:var(--mrd-border-color-focus);box-shadow:var(--mrd-shadow-focus)}.mrd-merge-view__spinner.sc-mrd-merge-view{position:absolute;right:var(--mrd-space-3);width:1rem;height:1rem;border:2px solid var(--mrd-color-neutral-300);border-top-color:var(--mrd-color-primary);border-radius:var(--mrd-border-radius-full);animation:mrd-merge-view-spin var(--mrd-transition-slow) linear infinite}.mrd-merge-view__results.sc-mrd-merge-view{margin-top:var(--mrd-space-2);border:var(--mrd-border-width) solid var(--mrd-border-color);border-radius:var(--mrd-border-radius);overflow:hidden}.mrd-merge-view__no-results.sc-mrd-merge-view{padding:var(--mrd-space-3) var(--mrd-space-4);color:var(--mrd-color-neutral-500)}.mrd-merge-view__result-item.sc-mrd-merge-view{display:flex;align-items:center;justify-content:space-between;gap:var(--mrd-space-3);padding:var(--mrd-space-2) var(--mrd-space-4)}.mrd-merge-view__result-item.sc-mrd-merge-view:not(:last-child){border-bottom:var(--mrd-border-width) solid var(--mrd-border-color)}.mrd-merge-view__result-label.sc-mrd-merge-view{font-weight:var(--mrd-font-weight-medium)}.mrd-merge-view__no-conflicts.sc-mrd-merge-view{color:var(--mrd-color-neutral-600)}.mrd-merge-view__table.sc-mrd-merge-view{width:100%;border-collapse:collapse;margin-bottom:var(--mrd-space-4)}.mrd-merge-view__header.sc-mrd-merge-view{text-align:left;padding:var(--mrd-space-2) var(--mrd-space-3);border-bottom:2px solid var(--mrd-border-color);font-size:var(--mrd-font-size-xs);text-transform:uppercase;letter-spacing:0.04em;color:var(--mrd-color-neutral-600)}.mrd-merge-view__header-name.sc-mrd-merge-view{display:block;text-transform:none;letter-spacing:normal;font-size:var(--mrd-font-size-sm);font-weight:var(--mrd-font-weight-medium);color:var(--mrd-color-neutral-900);margin-top:var(--mrd-space-1)}.mrd-merge-view__row.sc-mrd-merge-view:nth-child(even){background:var(--mrd-color-neutral-50)}.mrd-merge-view__cell.sc-mrd-merge-view{padding:var(--mrd-space-2) var(--mrd-space-3);border-bottom:var(--mrd-border-width) solid var(--mrd-border-color);vertical-align:top}.mrd-merge-view__cell--label.sc-mrd-merge-view{font-weight:var(--mrd-font-weight-medium);white-space:nowrap}.mrd-merge-view__option.sc-mrd-merge-view{display:flex;align-items:flex-start;gap:var(--mrd-space-2);cursor:pointer}.mrd-merge-view__option.sc-mrd-merge-view input[type=radio].sc-mrd-merge-view{margin-top:0.2em}.mrd-merge-view__history-wrap.sc-mrd-merge-view{position:relative;display:inline-flex;align-items:center;margin-left:var(--mrd-space-1)}.mrd-merge-view__history-btn.sc-mrd-merge-view{display:inline-flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;padding:0;background:transparent;border:none;border-radius:var(--mrd-border-radius-sm);color:var(--mrd-color-neutral-400);cursor:pointer;flex-shrink:0;transition:color var(--mrd-transition-fast), background-color var(--mrd-transition-fast)}.mrd-merge-view__history-btn.sc-mrd-merge-view:hover{color:var(--mrd-color-neutral-700);background-color:var(--mrd-color-neutral-100)}.mrd-merge-view__history-btn.sc-mrd-merge-view:focus{outline:none;box-shadow:var(--mrd-shadow-focus)}.mrd-merge-view__history-icon.sc-mrd-merge-view{width:0.875rem;height:0.875rem}.mrd-merge-view__history-popover.sc-mrd-merge-view{position:absolute;top:calc(100% + 0.25rem);left:0;min-width:18rem;max-width:18rem;background-color:var(--mrd-color-white);border:var(--mrd-border-width) solid var(--mrd-border-color);border-radius:var(--mrd-border-radius-md);box-shadow:var(--mrd-shadow-md);padding:var(--mrd-space-1) 0;z-index:var(--mrd-z-dropdown)}.mrd-merge-view__history-entry.sc-mrd-merge-view{font-size:var(--mrd-font-size-sm);color:var(--mrd-color-neutral-700);padding:var(--mrd-space-2) var(--mrd-space-3);line-height:var(--mrd-line-height-normal)}.mrd-merge-view__history-entry.sc-mrd-merge-view:not(:last-child){border-bottom:var(--mrd-border-width) solid var(--mrd-color-neutral-100)}.mrd-merge-view__auto-note.sc-mrd-merge-view{margin-bottom:var(--mrd-space-4);padding:var(--mrd-space-3) var(--mrd-space-4);background:var(--mrd-color-neutral-50);border:var(--mrd-border-width) solid var(--mrd-border-color);border-radius:var(--mrd-border-radius);color:var(--mrd-color-neutral-700)}.mrd-merge-view__auto-note.sc-mrd-merge-view p.sc-mrd-merge-view{margin:0 0 var(--mrd-space-1);font-weight:var(--mrd-font-weight-medium)}.mrd-merge-view__auto-note.sc-mrd-merge-view ul.sc-mrd-merge-view{margin:0;padding-left:var(--mrd-space-5)}.mrd-merge-view__summary-list.sc-mrd-merge-view{margin:0 0 var(--mrd-space-4);padding-left:var(--mrd-space-5)}.mrd-merge-view__warning.sc-mrd-merge-view{padding:var(--mrd-space-3) var(--mrd-space-4);background:var(--mrd-color-danger-light);border:var(--mrd-border-width) solid var(--mrd-color-danger);border-radius:var(--mrd-border-radius);color:var(--mrd-color-danger-dark);margin-bottom:var(--mrd-space-4)}.mrd-merge-view__actions.sc-mrd-merge-view{display:flex;gap:var(--mrd-space-3)}.mrd-merge-view__btn.sc-mrd-merge-view{height:var(--mrd-input-height-sm);padding:0 var(--mrd-space-4);border-radius:var(--mrd-border-radius);border:var(--mrd-border-width) solid transparent;font-size:var(--mrd-font-size-sm);font-weight:var(--mrd-font-weight-medium);cursor:pointer;transition:background-color var(--mrd-transition-fast), border-color var(--mrd-transition-fast)}.mrd-merge-view__btn--primary.sc-mrd-merge-view{background:var(--mrd-color-primary);color:var(--mrd-color-white)}.mrd-merge-view__btn--primary.sc-mrd-merge-view:hover{background:var(--mrd-color-primary-hover)}.mrd-merge-view__btn--secondary.sc-mrd-merge-view{background:var(--mrd-color-white);border-color:var(--mrd-border-color);color:var(--mrd-color-neutral-700)}.mrd-merge-view__btn--secondary.sc-mrd-merge-view:hover{background:var(--mrd-color-neutral-50)}.mrd-merge-view__btn--danger.sc-mrd-merge-view{background:var(--mrd-color-danger);color:var(--mrd-color-white)}.mrd-merge-view__btn--danger.sc-mrd-merge-view:hover{background:var(--mrd-color-danger-dark)}@keyframes mrd-merge-view-spin{to{transform:rotate(360deg)}}"}},[2,"mrd-merge-view",{locale:[1],basicType:[1,"basic-type"],mostSignificantClass:[1,"most-significant-class"],fields:[16],currentHref:[1,"current-href"],currentRecord:[16],currentLabel:[1,"current-label"],step:[32],searchQuery:[32],searchResults:[32],isLoading:[32],candidate:[32],resolutions:[32],openHistoryKey:[32],setSearchResults:[64],setLoading:[64]}]),C=x,z=function(){"undefined"!=typeof customElements&&["mrd-merge-view"].forEach((r=>{"mrd-merge-view"===r&&(customElements.get(d(r))||customElements.define(d(r),x))}))};export{C as MrdMergeView,z as defineCustomElement}
1
+ import{h as r,proxyCustomElement as e,HTMLElement as i,createEvent as o,Host as t,transformTag as d}from"@stencil/core/internal/client";import{a as s}from"./client-layout.js";import{C as a}from"./cell-renderer.js";import{t as m}from"./i18n.js";import{a as n}from"./format.js";function l(r){return r.type===s.FIELD||r.type===s.RELATION&&!r.multiple}function c(r,e){var i,o,t,d,a;const m=null!==(i=r.name)&&void 0!==i?i:"";return r.type===s.RELATION?null!==(d=null===(t=null===(o=null==e?void 0:e._links)||void 0===o?void 0:o[m])||void 0===t?void 0:t.href)&&void 0!==d?d:null:null!==(a=null==e?void 0:e[m])&&void 0!==a?a:null}function v(r,e){return r.historyEnabled&&null!=e&&"object"==typeof e&&!Array.isArray(e)&&"current"in e?e.current:e}function g(r){return void 0===r||""===r?null:r}function u(r,e){const i=g(r),o=g(e);return i===o||null!==i&&null!==o&&JSON.stringify(i)===JSON.stringify(o)}function h(r){return null===g(r)}function _(r,e,i){const o=[],t=[];for(const d of r.filter(l)){const r=c(d,e),s=c(d,i),a=v(d,r),m=v(d,s);u(a,m)||(h(a)&&!h(m)?t.push({item:d,aValue:r,bValue:s}):o.push({item:d,aValue:r,bValue:s}))}return{conflicts:o,autoFilled:t}}function w(r){var e,i,o,t,d;return null!==(d=null!==(i=null!==(e=null==r?void 0:r.name)&&void 0!==e?e:null==r?void 0:r.label)&&void 0!==i?i:null===(t=null===(o=null==r?void 0:r._links)||void 0===o?void 0:o.self)||void 0===t?void 0:t.href)&&void 0!==d?d:""}function p(r,e){var i,o;return r.historyEnabled&&r.name&&null!==(o=null===(i=null==e?void 0:e[r.name])||void 0===i?void 0:i.history)&&void 0!==o?o:[]}const b=({locale:e,history:i,isOpen:o,onToggle:t})=>{if(0===i.length)return null;const d=[...i].sort(((r,e)=>e.until.localeCompare(r.until)));return r("span",{class:"mrd-merge-view__history-wrap"},r("button",{type:"button",class:"mrd-merge-view__history-btn",title:m("history_badge_tooltip",e),"aria-label":m("history_badge_tooltip",e),onClick:r=>{r.stopPropagation(),t()}},r("svg",{class:"mrd-merge-view__history-icon",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true"},r("path",{"fill-rule":"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zm.75-13a.75.75 0 00-1.5 0v5c0 .207.085.394.22.53l2.5 2.5a.75.75 0 101.06-1.06L10.75 9.69V5z","clip-rule":"evenodd"}))),o&&r("div",{class:"mrd-merge-view__history-popover",role:"listbox"},d.map(((i,o)=>r("div",{key:o+"",class:"mrd-merge-view__history-entry"},i.value," (",m("history_until",e)," ",n(i.until,e),")")))))},f=({locale:e,searchQuery:i,searchResults:o,isLoading:t,onSearchInput:d,onSelect:s})=>r("div",{class:"mrd-merge-view__search-step"},r("p",{class:"mrd-merge-view__hint"},m("merge_search_hint",e)),r("div",{class:"mrd-merge-view__search-wrapper"},r("input",{class:"mrd-merge-view__search",type:"text",value:i,placeholder:m("search_placeholder",e),onInput:r=>d(r.target.value)}),t&&r("span",{class:"mrd-merge-view__spinner","aria-label":m("loading",e)})),i.trim().length>=2&&!t&&r("div",{class:"mrd-merge-view__results"},0===o.length?r("div",{class:"mrd-merge-view__no-results"},m("no_results",e)):o.map((i=>{var o,t,d;return r("div",{key:null!==(d=null===(t=null===(o=null==i?void 0:i._links)||void 0===o?void 0:o.self)||void 0===t?void 0:t.href)&&void 0!==d?d:w(i),class:"mrd-merge-view__result-item"},r("span",{class:"mrd-merge-view__result-label"},w(i)),r("button",{type:"button",class:"mrd-merge-view__btn mrd-merge-view__btn--secondary",onClick:()=>s(i)},m("merge_select",e)))})))),y=({locale:e,currentLabel:i,candidateLabel:o,conflicts:t,autoFilled:d,recordA:s,recordB:n,resolutions:l,openHistoryKey:c,onResolve:v,onToggleHistory:g,onChangeCandidate:u,onContinue:h})=>r("div",{class:"mrd-merge-view__compare-step"},r("h3",{class:"mrd-merge-view__heading"},m("merge_compare_heading",e)),0===t.length?r("p",{class:"mrd-merge-view__no-conflicts"},m("merge_no_conflicts",e)):r("table",{class:"mrd-merge-view__table"},r("thead",null,r("tr",null,r("th",{class:"mrd-merge-view__header"}),r("th",{class:"mrd-merge-view__header"},m("merge_column_a",e),r("span",{class:"mrd-merge-view__header-name"},i)),r("th",{class:"mrd-merge-view__header"},m("merge_column_b",e),r("span",{class:"mrd-merge-view__header-name"},o)))),r("tbody",null,t.map((({item:i})=>{var o,t,d;const m=null!==(o=i.name)&&void 0!==o?o:"",u=null!==(t=l[m])&&void 0!==t?t:"A",h=p(i,s),_=p(i,n),w=m+":A",f=m+":B";return r("tr",{key:m,class:"mrd-merge-view__row"},r("td",{class:"mrd-merge-view__cell mrd-merge-view__cell--label"},null!==(d=i.label)&&void 0!==d?d:m),r("td",{class:"mrd-merge-view__cell"},r("label",{class:"mrd-merge-view__option"},r("input",{type:"radio",name:"merge-"+m,checked:"A"===u,onChange:()=>v(m,"A")}),r("span",null,a.render(i,s,e)||"—")),r(b,{locale:e,history:h,isOpen:c===w,onToggle:()=>g(c===w?null:w)})),r("td",{class:"mrd-merge-view__cell"},r("label",{class:"mrd-merge-view__option"},r("input",{type:"radio",name:"merge-"+m,checked:"B"===u,onChange:()=>v(m,"B")}),r("span",null,a.render(i,n,e)||"—")),r(b,{locale:e,history:_,isOpen:c===f,onToggle:()=>g(c===f?null:f)})))})))),d.length>0&&r("div",{class:"mrd-merge-view__auto-note"},r("p",null,m("merge_auto_heading",e)),r("ul",null,d.map((({item:e})=>{var i;return r("li",{key:e.name},null!==(i=e.label)&&void 0!==i?i:e.name)})))),r("div",{class:"mrd-merge-view__actions"},r("button",{type:"button",class:"mrd-merge-view__btn mrd-merge-view__btn--secondary",onClick:u},m("merge_back",e)),r("button",{type:"button",class:"mrd-merge-view__btn mrd-merge-view__btn--primary",onClick:h},m("merge_continue",e)))),k=({locale:e,candidateLabel:i,conflicts:o,autoFilled:t,resolutions:d,recordB:s,openHistoryKey:n,onToggleHistory:l,onBack:c,onConfirm:v})=>{const g=[...t,...o.filter((({item:r})=>{var e;return"B"===d[null!==(e=r.name)&&void 0!==e?e:""]}))];return r("div",{class:"mrd-merge-view__confirm-step"},r("h3",{class:"mrd-merge-view__heading"},m("merge_confirm_heading",e)),0===g.length?r("p",{class:"mrd-merge-view__no-conflicts"},m("merge_no_conflicts",e)):r("ul",{class:"mrd-merge-view__summary-list"},g.map((({item:i})=>{var o;const t=i.name+":confirm";return r("li",{key:i.name},null!==(o=i.label)&&void 0!==o?o:i.name,": ",a.render(i,s,e)||"—",r(b,{locale:e,history:p(i,s),isOpen:n===t,onToggle:()=>l(n===t?null:t)}))}))),r("p",{class:"mrd-merge-view__warning"},m("merge_confirm_warning",e)," (",i,")"),r("div",{class:"mrd-merge-view__actions"},r("button",{type:"button",class:"mrd-merge-view__btn mrd-merge-view__btn--secondary",onClick:c},m("merge_back",e)),r("button",{type:"button",class:"mrd-merge-view__btn mrd-merge-view__btn--danger",onClick:v},m("merge_confirm_button",e))))},x=e(class extends i{constructor(r){super(),!1!==r&&this.__registerHost(),this.mrdSearch=o(this,"mrdSearch",7),this.mrdMerge=o(this,"mrdMerge",7),this.locale=navigator.language,this.basicType="",this.mostSignificantClass="",this.fields=[],this.currentHref="",this.currentRecord={},this.currentLabel="",this.step="search",this.searchQuery="",this.searchResults=[],this.isLoading=!1,this.candidate=null,this.resolutions={},this.openHistoryKey=null,this.historyClickOutside=null,this.searchDebounce=null,this.handleSearchInput=r=>{this.searchQuery=r,this.searchDebounce&&clearTimeout(this.searchDebounce),r.trim().length>=2?(this.isLoading=!0,this.searchDebounce=setTimeout((()=>{this.mrdSearch.emit({query:r,basicType:this.basicType,mostSignificantClass:this.mostSignificantClass||void 0})}),300)):(this.searchResults=[],this.isLoading=!1)},this.handleSelect=r=>{this.candidate=r;const{conflicts:e}=_(this.fields,this.currentRecord,r),i={};e.forEach((({item:r})=>{var e;i[null!==(e=r.name)&&void 0!==e?e:""]="A"})),this.resolutions=i,this.openHistoryKey=null,this.step="compare"},this.handleChangeCandidate=()=>{this.candidate=null,this.resolutions={},this.openHistoryKey=null,this.step="search"},this.handleResolve=(r,e)=>{this.resolutions=Object.assign(Object.assign({},this.resolutions),{[r]:e})},this.handleToggleHistory=r=>{this.openHistoryKey=r},this.handleContinue=()=>{this.step="confirm"},this.handleBack=()=>{this.step="compare"},this.handleConfirm=()=>{var r,e,i,o;if(!this.candidate)return;const t=function(r,e){var i,o,t;const d={};for(const{item:e,bValue:o}of r.autoFilled)d[null!==(i=e.name)&&void 0!==i?i:""]=o;for(const{item:i,bValue:s}of r.conflicts)"B"===e[null!==(o=i.name)&&void 0!==o?o:""]&&(d[null!==(t=i.name)&&void 0!==t?t:""]=s);return d}(_(this.fields,this.currentRecord,this.candidate),this.resolutions),d=null!==(o=null===(i=null===(e=null===(r=this.candidate)||void 0===r?void 0:r._links)||void 0===e?void 0:e.self)||void 0===i?void 0:i.href)&&void 0!==o?o:"";this.mrdMerge.emit({winnerHref:this.currentHref,loserHref:d,patch:t})}}connectedCallback(){this.historyClickOutside=r=>{this.el.contains(r.target)||(this.openHistoryKey=null)},document.addEventListener("mousedown",this.historyClickOutside)}disconnectedCallback(){this.historyClickOutside&&(document.removeEventListener("mousedown",this.historyClickOutside),this.historyClickOutside=null)}async setSearchResults(r){this.searchResults=(null!=r?r:[]).filter((r=>{var e,i,o;return(null!==(o=null===(i=null===(e=null==r?void 0:r._links)||void 0===e?void 0:e.self)||void 0===i?void 0:i.href)&&void 0!==o?o:null)!==this.currentHref})),this.isLoading=!1}async setLoading(r){this.isLoading=r}render(){var e,i;let o;if("search"===this.step)o=r(f,{key:"88ddac4f8f60a736bc6bc898b553e24771023b82",locale:this.locale,searchQuery:this.searchQuery,searchResults:this.searchResults,isLoading:this.isLoading,onSearchInput:this.handleSearchInput,onSelect:this.handleSelect});else{const t=_(this.fields,this.currentRecord,this.candidate),d=w(this.candidate);o="compare"===this.step?r(y,{locale:this.locale,currentLabel:this.currentLabel,candidateLabel:d,conflicts:t.conflicts,autoFilled:t.autoFilled,recordA:this.currentRecord,recordB:null!==(e=this.candidate)&&void 0!==e?e:{},resolutions:this.resolutions,openHistoryKey:this.openHistoryKey,onResolve:this.handleResolve,onToggleHistory:this.handleToggleHistory,onChangeCandidate:this.handleChangeCandidate,onContinue:this.handleContinue}):r(k,{locale:this.locale,candidateLabel:d,conflicts:t.conflicts,autoFilled:t.autoFilled,resolutions:this.resolutions,recordB:null!==(i=this.candidate)&&void 0!==i?i:{},openHistoryKey:this.openHistoryKey,onToggleHistory:this.handleToggleHistory,onBack:this.handleBack,onConfirm:this.handleConfirm})}return r(t,{key:"3606faba4c86ae1d981b7c40e4f1cb9cde19cf50"},r("div",{key:"9605009fec0a7c79a5cd32141d930ea04e5efaad",class:"mrd-merge-view"},o))}get el(){return this}static get style(){return".sc-mrd-merge-view-h{display:block;width:100%}.mrd-merge-view.sc-mrd-merge-view{font-family:var(--mrd-font-family);font-size:var(--mrd-font-size-sm);color:var(--mrd-color-neutral-900)}.mrd-merge-view__hint.sc-mrd-merge-view{margin:0 0 var(--mrd-space-4);color:var(--mrd-color-neutral-600)}.mrd-merge-view__heading.sc-mrd-merge-view{margin:0 0 var(--mrd-space-4);font-size:var(--mrd-font-size-lg);font-weight:var(--mrd-font-weight-semibold)}.mrd-merge-view__search-wrapper.sc-mrd-merge-view{position:relative;display:flex;align-items:center}.mrd-merge-view__search.sc-mrd-merge-view{width:100%;height:var(--mrd-input-height);padding:var(--mrd-input-padding-y) var(--mrd-input-padding-x);border:var(--mrd-border-width) solid var(--mrd-border-color);border-radius:var(--mrd-border-radius);background:var(--mrd-input-bg);color:var(--mrd-input-color);font-size:var(--mrd-font-size-sm)}.mrd-merge-view__search.sc-mrd-merge-view:focus{outline:none;border-color:var(--mrd-border-color-focus);box-shadow:var(--mrd-shadow-focus)}.mrd-merge-view__spinner.sc-mrd-merge-view{position:absolute;right:var(--mrd-space-3);width:1rem;height:1rem;border:2px solid var(--mrd-color-neutral-300);border-top-color:var(--mrd-color-primary);border-radius:var(--mrd-border-radius-full);animation:mrd-merge-view-spin var(--mrd-transition-slow) linear infinite}.mrd-merge-view__results.sc-mrd-merge-view{margin-top:var(--mrd-space-2);border:var(--mrd-border-width) solid var(--mrd-border-color);border-radius:var(--mrd-border-radius);overflow:hidden}.mrd-merge-view__no-results.sc-mrd-merge-view{padding:var(--mrd-space-3) var(--mrd-space-4);color:var(--mrd-color-neutral-500)}.mrd-merge-view__result-item.sc-mrd-merge-view{display:flex;align-items:center;justify-content:space-between;gap:var(--mrd-space-3);padding:var(--mrd-space-2) var(--mrd-space-4)}.mrd-merge-view__result-item.sc-mrd-merge-view:not(:last-child){border-bottom:var(--mrd-border-width) solid var(--mrd-border-color)}.mrd-merge-view__result-label.sc-mrd-merge-view{font-weight:var(--mrd-font-weight-medium)}.mrd-merge-view__no-conflicts.sc-mrd-merge-view{color:var(--mrd-color-neutral-600)}.mrd-merge-view__table.sc-mrd-merge-view{width:100%;border-collapse:collapse;margin-bottom:var(--mrd-space-4)}.mrd-merge-view__header.sc-mrd-merge-view{text-align:left;padding:var(--mrd-space-2) var(--mrd-space-3);border-bottom:2px solid var(--mrd-border-color);font-size:var(--mrd-font-size-xs);text-transform:uppercase;letter-spacing:0.04em;color:var(--mrd-color-neutral-600)}.mrd-merge-view__header-name.sc-mrd-merge-view{display:block;text-transform:none;letter-spacing:normal;font-size:var(--mrd-font-size-sm);font-weight:var(--mrd-font-weight-medium);color:var(--mrd-color-neutral-900);margin-top:var(--mrd-space-1)}.mrd-merge-view__row.sc-mrd-merge-view:nth-child(even){background:var(--mrd-color-neutral-50)}.mrd-merge-view__cell.sc-mrd-merge-view{padding:var(--mrd-space-2) var(--mrd-space-3);border-bottom:var(--mrd-border-width) solid var(--mrd-border-color);vertical-align:top}.mrd-merge-view__cell--label.sc-mrd-merge-view{font-weight:var(--mrd-font-weight-medium);white-space:nowrap}.mrd-merge-view__option.sc-mrd-merge-view{display:flex;align-items:flex-start;gap:var(--mrd-space-2);cursor:pointer}.mrd-merge-view__option.sc-mrd-merge-view input[type=radio].sc-mrd-merge-view{margin-top:0.2em}.mrd-merge-view__history-wrap.sc-mrd-merge-view{position:relative;display:inline-flex;align-items:center;margin-left:var(--mrd-space-1)}.mrd-merge-view__history-btn.sc-mrd-merge-view{display:inline-flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;padding:0;background:transparent;border:none;border-radius:var(--mrd-border-radius-sm);color:var(--mrd-color-neutral-400);cursor:pointer;flex-shrink:0;transition:color var(--mrd-transition-fast), background-color var(--mrd-transition-fast)}.mrd-merge-view__history-btn.sc-mrd-merge-view:hover{color:var(--mrd-color-neutral-700);background-color:var(--mrd-color-neutral-100)}.mrd-merge-view__history-btn.sc-mrd-merge-view:focus{outline:none;box-shadow:var(--mrd-shadow-focus)}.mrd-merge-view__history-icon.sc-mrd-merge-view{width:0.875rem;height:0.875rem}.mrd-merge-view__history-popover.sc-mrd-merge-view{position:absolute;top:calc(100% + 0.25rem);left:0;min-width:18rem;max-width:18rem;background-color:var(--mrd-color-white);border:var(--mrd-border-width) solid var(--mrd-border-color);border-radius:var(--mrd-border-radius-md);box-shadow:var(--mrd-shadow-md);padding:var(--mrd-space-1) 0;z-index:var(--mrd-z-dropdown)}.mrd-merge-view__history-entry.sc-mrd-merge-view{font-size:var(--mrd-font-size-sm);color:var(--mrd-color-neutral-700);padding:var(--mrd-space-2) var(--mrd-space-3);line-height:var(--mrd-line-height-normal)}.mrd-merge-view__history-entry.sc-mrd-merge-view:not(:last-child){border-bottom:var(--mrd-border-width) solid var(--mrd-color-neutral-100)}.mrd-merge-view__auto-note.sc-mrd-merge-view{margin-bottom:var(--mrd-space-4);padding:var(--mrd-space-3) var(--mrd-space-4);background:var(--mrd-color-neutral-50);border:var(--mrd-border-width) solid var(--mrd-border-color);border-radius:var(--mrd-border-radius);color:var(--mrd-color-neutral-700)}.mrd-merge-view__auto-note.sc-mrd-merge-view p.sc-mrd-merge-view{margin:0 0 var(--mrd-space-1);font-weight:var(--mrd-font-weight-medium)}.mrd-merge-view__auto-note.sc-mrd-merge-view ul.sc-mrd-merge-view{margin:0;padding-left:var(--mrd-space-5)}.mrd-merge-view__summary-list.sc-mrd-merge-view{margin:0 0 var(--mrd-space-4);padding-left:var(--mrd-space-5)}.mrd-merge-view__warning.sc-mrd-merge-view{padding:var(--mrd-space-3) var(--mrd-space-4);background:var(--mrd-color-danger-light);border:var(--mrd-border-width) solid var(--mrd-color-danger);border-radius:var(--mrd-border-radius);color:var(--mrd-color-danger-dark);margin-bottom:var(--mrd-space-4)}.mrd-merge-view__actions.sc-mrd-merge-view{display:flex;gap:var(--mrd-space-3)}.mrd-merge-view__btn.sc-mrd-merge-view{height:var(--mrd-input-height-sm);padding:0 var(--mrd-space-4);border-radius:var(--mrd-border-radius);border:var(--mrd-border-width) solid transparent;font-size:var(--mrd-font-size-sm);font-weight:var(--mrd-font-weight-medium);cursor:pointer;transition:background-color var(--mrd-transition-fast), border-color var(--mrd-transition-fast)}.mrd-merge-view__btn--primary.sc-mrd-merge-view{background:var(--mrd-color-primary);color:var(--mrd-color-white)}.mrd-merge-view__btn--primary.sc-mrd-merge-view:hover{background:var(--mrd-color-primary-hover)}.mrd-merge-view__btn--secondary.sc-mrd-merge-view{background:var(--mrd-color-white);border-color:var(--mrd-border-color);color:var(--mrd-color-neutral-700)}.mrd-merge-view__btn--secondary.sc-mrd-merge-view:hover{background:var(--mrd-color-neutral-50)}.mrd-merge-view__btn--danger.sc-mrd-merge-view{background:var(--mrd-color-danger);color:var(--mrd-color-white)}.mrd-merge-view__btn--danger.sc-mrd-merge-view:hover{background:var(--mrd-color-danger-dark)}@keyframes mrd-merge-view-spin{to{transform:rotate(360deg)}}"}},[2,"mrd-merge-view",{locale:[1],basicType:[1,"basic-type"],mostSignificantClass:[1,"most-significant-class"],fields:[16],currentHref:[1,"current-href"],currentRecord:[16],currentLabel:[1,"current-label"],step:[32],searchQuery:[32],searchResults:[32],isLoading:[32],candidate:[32],resolutions:[32],openHistoryKey:[32],setSearchResults:[64],setLoading:[64]}]),C=x,z=function(){"undefined"!=typeof customElements&&["mrd-merge-view"].forEach((r=>{"mrd-merge-view"===r&&(customElements.get(d(r))||customElements.define(d(r),x))}))};export{C as MrdMergeView,z as defineCustomElement}