@arcgis/portal-components 5.0.0-next.10 → 5.0.0-next.100

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 (148) hide show
  1. package/dist/cdn/3BOLT543.js +4 -0
  2. package/dist/cdn/5SZ4BUDH.js +4 -0
  3. package/dist/cdn/65ROHP2V.js +4 -0
  4. package/dist/cdn/6TKNVPCV.js +4 -0
  5. package/dist/cdn/{OEIPZP5I.js → BGIDIIMY.js} +2 -2
  6. package/dist/cdn/BSK7ZXY7.js +6 -0
  7. package/dist/cdn/J27ARXGH.js +4 -0
  8. package/dist/cdn/JM7MX5TZ.js +4 -0
  9. package/dist/cdn/LJ3I2F7B.js +4 -0
  10. package/dist/cdn/PDSESC3R.js +4 -0
  11. package/dist/cdn/PJNXGCYW.js +4 -0
  12. package/dist/cdn/PUEIILLK.js +4 -0
  13. package/dist/cdn/VQFGIEOF.js +4 -0
  14. package/dist/cdn/{FKYPILGF.js → WJNAR5WR.js} +1 -1
  15. package/dist/cdn/YJPLZKMU.js +4 -0
  16. package/dist/cdn/assets/portal-classification-favorite/t9n/messages.ar.json +1 -1
  17. package/dist/cdn/assets/portal-classification-favorite/t9n/messages.bg.json +1 -1
  18. package/dist/cdn/assets/portal-classification-favorite/t9n/messages.bs.json +1 -1
  19. package/dist/cdn/assets/portal-classification-favorite/t9n/messages.ca.json +1 -1
  20. package/dist/cdn/assets/portal-classification-favorite/t9n/messages.cs.json +1 -1
  21. package/dist/cdn/assets/portal-classification-favorite/t9n/messages.da.json +1 -1
  22. package/dist/cdn/assets/portal-classification-favorite/t9n/messages.de.json +1 -1
  23. package/dist/cdn/assets/portal-classification-favorite/t9n/messages.el.json +1 -1
  24. package/dist/cdn/assets/portal-classification-favorite/t9n/messages.es.json +1 -1
  25. package/dist/cdn/assets/portal-classification-favorite/t9n/messages.et.json +1 -1
  26. package/dist/cdn/assets/portal-classification-favorite/t9n/messages.fi.json +1 -1
  27. package/dist/cdn/assets/portal-classification-favorite/t9n/messages.fr.json +1 -1
  28. package/dist/cdn/assets/portal-classification-favorite/t9n/messages.he.json +1 -1
  29. package/dist/cdn/assets/portal-classification-favorite/t9n/messages.hr.json +1 -1
  30. package/dist/cdn/assets/portal-classification-favorite/t9n/messages.hu.json +1 -1
  31. package/dist/cdn/assets/portal-classification-favorite/t9n/messages.id.json +1 -1
  32. package/dist/cdn/assets/portal-classification-favorite/t9n/messages.it.json +1 -1
  33. package/dist/cdn/assets/portal-classification-favorite/t9n/messages.ja.json +1 -1
  34. package/dist/cdn/assets/portal-classification-favorite/t9n/messages.ko.json +1 -1
  35. package/dist/cdn/assets/portal-classification-favorite/t9n/messages.lt.json +1 -1
  36. package/dist/cdn/assets/portal-classification-favorite/t9n/messages.lv.json +1 -1
  37. package/dist/cdn/assets/portal-classification-favorite/t9n/messages.nl.json +1 -1
  38. package/dist/cdn/assets/portal-classification-favorite/t9n/messages.no.json +1 -1
  39. package/dist/cdn/assets/portal-classification-favorite/t9n/messages.pl.json +1 -1
  40. package/dist/cdn/assets/portal-classification-favorite/t9n/messages.pt-BR.json +1 -1
  41. package/dist/cdn/assets/portal-classification-favorite/t9n/messages.pt-PT.json +1 -1
  42. package/dist/cdn/assets/portal-classification-favorite/t9n/messages.ro.json +1 -1
  43. package/dist/cdn/assets/portal-classification-favorite/t9n/messages.ru.json +1 -1
  44. package/dist/cdn/assets/portal-classification-favorite/t9n/messages.sk.json +1 -1
  45. package/dist/cdn/assets/portal-classification-favorite/t9n/messages.sl.json +1 -1
  46. package/dist/cdn/assets/portal-classification-favorite/t9n/messages.sr.json +1 -1
  47. package/dist/cdn/assets/portal-classification-favorite/t9n/messages.sv.json +1 -1
  48. package/dist/cdn/assets/portal-classification-favorite/t9n/messages.th.json +1 -1
  49. package/dist/cdn/assets/portal-classification-favorite/t9n/messages.tr.json +1 -1
  50. package/dist/cdn/assets/portal-classification-favorite/t9n/messages.uk.json +1 -1
  51. package/dist/cdn/assets/portal-classification-favorite/t9n/messages.vi.json +1 -1
  52. package/dist/cdn/assets/portal-classification-favorite/t9n/messages.zh-CN.json +1 -1
  53. package/dist/cdn/assets/portal-classification-favorite/t9n/messages.zh-HK.json +1 -1
  54. package/dist/cdn/assets/portal-classification-favorite/t9n/messages.zh-TW.json +1 -1
  55. package/dist/cdn/assets/portal-extent-picker/t9n/messages.ar.json +1 -0
  56. package/dist/cdn/assets/portal-extent-picker/t9n/messages.bg.json +1 -0
  57. package/dist/cdn/assets/portal-extent-picker/t9n/messages.bs.json +1 -0
  58. package/dist/cdn/assets/portal-extent-picker/t9n/messages.ca.json +1 -0
  59. package/dist/cdn/assets/portal-extent-picker/t9n/messages.cs.json +1 -0
  60. package/dist/cdn/assets/portal-extent-picker/t9n/messages.da.json +1 -0
  61. package/dist/cdn/assets/portal-extent-picker/t9n/messages.de.json +1 -0
  62. package/dist/cdn/assets/portal-extent-picker/t9n/messages.el.json +1 -0
  63. package/dist/cdn/assets/portal-extent-picker/t9n/messages.en.json +1 -0
  64. package/dist/cdn/assets/portal-extent-picker/t9n/messages.es.json +1 -0
  65. package/dist/cdn/assets/portal-extent-picker/t9n/messages.et.json +1 -0
  66. package/dist/cdn/assets/portal-extent-picker/t9n/messages.fi.json +1 -0
  67. package/dist/cdn/assets/portal-extent-picker/t9n/messages.fr.json +1 -0
  68. package/dist/cdn/assets/portal-extent-picker/t9n/messages.he.json +1 -0
  69. package/dist/cdn/assets/portal-extent-picker/t9n/messages.hr.json +1 -0
  70. package/dist/cdn/assets/portal-extent-picker/t9n/messages.hu.json +1 -0
  71. package/dist/cdn/assets/portal-extent-picker/t9n/messages.id.json +1 -0
  72. package/dist/cdn/assets/portal-extent-picker/t9n/messages.it.json +1 -0
  73. package/dist/cdn/assets/portal-extent-picker/t9n/messages.ja.json +1 -0
  74. package/dist/cdn/assets/portal-extent-picker/t9n/messages.ko.json +1 -0
  75. package/dist/cdn/assets/portal-extent-picker/t9n/messages.lt.json +1 -0
  76. package/dist/cdn/assets/portal-extent-picker/t9n/messages.lv.json +1 -0
  77. package/dist/cdn/assets/portal-extent-picker/t9n/messages.nb.json +1 -0
  78. package/dist/cdn/assets/portal-extent-picker/t9n/messages.nl.json +1 -0
  79. package/dist/cdn/assets/portal-extent-picker/t9n/messages.no.json +1 -0
  80. package/dist/cdn/assets/portal-extent-picker/t9n/messages.pl.json +1 -0
  81. package/dist/cdn/assets/portal-extent-picker/t9n/messages.pt-BR.json +1 -0
  82. package/dist/cdn/assets/portal-extent-picker/t9n/messages.pt-PT.json +1 -0
  83. package/dist/cdn/assets/portal-extent-picker/t9n/messages.ro.json +1 -0
  84. package/dist/cdn/assets/portal-extent-picker/t9n/messages.ru.json +1 -0
  85. package/dist/cdn/assets/portal-extent-picker/t9n/messages.sk.json +1 -0
  86. package/dist/cdn/assets/portal-extent-picker/t9n/messages.sl.json +1 -0
  87. package/dist/cdn/assets/portal-extent-picker/t9n/messages.sr.json +1 -0
  88. package/dist/cdn/assets/portal-extent-picker/t9n/messages.sv.json +1 -0
  89. package/dist/cdn/assets/portal-extent-picker/t9n/messages.th.json +1 -0
  90. package/dist/cdn/assets/portal-extent-picker/t9n/messages.tr.json +1 -0
  91. package/dist/cdn/assets/portal-extent-picker/t9n/messages.uk.json +1 -0
  92. package/dist/cdn/assets/portal-extent-picker/t9n/messages.vi.json +1 -0
  93. package/dist/cdn/assets/portal-extent-picker/t9n/messages.zh-CN.json +1 -0
  94. package/dist/cdn/assets/portal-extent-picker/t9n/messages.zh-HK.json +1 -0
  95. package/dist/cdn/assets/portal-extent-picker/t9n/messages.zh-TW.json +1 -0
  96. package/dist/cdn/index.js +2 -2
  97. package/dist/cdn/main.css +1 -1
  98. package/dist/chunks/common.js +1 -1
  99. package/dist/chunks/fieldAddDelete.js +164 -151
  100. package/dist/chunks/loadClassificationData.js +1 -1
  101. package/dist/chunks/requests.js +2 -2
  102. package/dist/chunks/runtime.js +2 -2
  103. package/dist/chunks/useT9n.js +1 -1
  104. package/dist/components/arcgis-portal-classification-banner/customElement.js +18 -17
  105. package/dist/components/arcgis-portal-classification-config/customElement.d.ts +1 -1
  106. package/dist/components/arcgis-portal-classification-config/customElement.js +1 -1
  107. package/dist/components/arcgis-portal-classification-favorite/customElement.js +2 -2
  108. package/dist/components/arcgis-portal-classification-form-element/customElement.js +7 -7
  109. package/dist/components/arcgis-portal-extent-picker/customElement.d.ts +51 -0
  110. package/dist/components/arcgis-portal-extent-picker/customElement.js +553 -0
  111. package/dist/components/arcgis-portal-extent-picker/index.d.ts +8 -0
  112. package/dist/components/arcgis-portal-extent-picker/index.js +8 -0
  113. package/dist/components/arcgis-portal-extent-picker/mask-layer.d.ts +28 -0
  114. package/dist/components/arcgis-portal-extent-picker-coord-field/customElement.d.ts +26 -0
  115. package/dist/components/arcgis-portal-extent-picker-coord-field/customElement.js +60 -0
  116. package/dist/components/arcgis-portal-extent-picker-coord-field/index.d.ts +3 -0
  117. package/dist/components/arcgis-portal-extent-picker-coord-field/index.js +3 -0
  118. package/dist/components/arcgis-portal-field-delete/customElement.d.ts +4 -2
  119. package/dist/components/arcgis-portal-field-delete/customElement.js +60 -58
  120. package/dist/controllers/useClassificationModel.d.ts +1 -1
  121. package/dist/docs/api.json +301 -39
  122. package/dist/docs/docs.json +291 -12
  123. package/dist/docs/vscode.html-custom-data.json +33 -1
  124. package/dist/docs/web-types.json +131 -4
  125. package/dist/index.d.ts +27 -5
  126. package/dist/index.js +1 -1
  127. package/dist/loader.d.ts +1 -1
  128. package/dist/loader.js +6 -4
  129. package/dist/types/classification.d.ts +1 -1
  130. package/dist/types/components.d.ts +1 -1
  131. package/dist/types/lumina.d.ts +14 -5
  132. package/dist/types/preact.d.ts +15 -5
  133. package/dist/types/preact10.d.ts +16 -5
  134. package/dist/types/react.d.ts +16 -5
  135. package/dist/types/stencil.d.ts +14 -5
  136. package/dist/utils/commonFunctions.d.ts +2 -1
  137. package/dist/utils/style.d.ts +1 -0
  138. package/package.json +6 -6
  139. package/dist/cdn/3VP2B6OD.js +0 -4
  140. package/dist/cdn/4N33S4WC.js +0 -6
  141. package/dist/cdn/5XGFUGUT.js +0 -4
  142. package/dist/cdn/A6OLJNDD.js +0 -4
  143. package/dist/cdn/FLGVYIE6.js +0 -4
  144. package/dist/cdn/OVKCN6QU.js +0 -4
  145. package/dist/cdn/PFW623F3.js +0 -4
  146. package/dist/cdn/TSXPF6YV.js +0 -4
  147. package/dist/cdn/TZBG4COV.js +0 -4
  148. package/dist/cdn/XP24YJ2U.js +0 -4
@@ -1,4 +0,0 @@
1
- /*! All material copyright Esri, All Rights Reserved, unless otherwise specified.
2
- See https://js.arcgis.com/5.0/esri/copyright.txt for details.
3
- v5.0.0-next.10 */
4
- import d from"./FLGVYIE6.js";import c from"./FKYPILGF.js";import a from"./OEIPZP5I.js";import{a as E,b as I}from"./3VP2B6OD.js";import{b as x,c as P,d as $}from"./5XGFUGUT.js";import{B as u,C as g,D as b,F as C,I as y,h as p,j as n}from"./4N33S4WC.js";export default $arcgis.t(([{createArcadeExecutor:F},{watch:q},{c:v},{a:d,b:c,c:m,d:R,e:O,f:_},{a:S,b:w}])=>{async function k({portalClassificationSchema:r,itemClassification:t}){let i=Object.entries(r.attributes).map(async([e])=>{let s=await T(e,r,t);return{[e]:{enabled:s}}}),a=await Promise.all(i);return Object.assign({},...a)}async function T(r,t,i){let a=t?.attributes?.[r];if(!a)return!1;let{isAttributeEnabled:e}=a;return e?await h(e,JSON.stringify(t),i):!0}async function j({portalClassificationSchema:r,itemClassification:t}){let i=Object.entries(r.attributes).map(async([e])=>{let s=await N(e,r,t);return{[e]:{valueExpressionResult:s}}}),a=await Promise.all(i);return Object.assign({},...a)}async function N(r,t,i){let a=t.attributes[r];if(!a)throw Error(`Attribute ${r} not found in schema`);let e=a.valueExpression,s=a.validValues,o=a.validValuesMap;return s?.length?s:o&&Object.keys(o)?.length?o:e?await h(e,t,i,r):null}async function M({portalClassificationSchema:r,itemClassification:t}){let i=Object.entries(r.attributes).map(async([e])=>{let s=await H(e,r,t);return{[e]:{attributeValidationResult:s}}}),a=await Promise.all(i);return Object.assign({},...a)}async function H(r,t,i){let a=t?.attributes?.[r];if(!a)return null;let e=a?.attributeValidation;return e?await h(e,JSON.stringify(t),i,r):null}var V=async(r,t)=>{let i=r?.bannerExpression;return i?.length?await h(i,r,t):J(r,t)},J=(r,t)=>{let i=Object.entries(r.attributes).sort(([,s],[,o])=>(s?.bannerOrder??0)-(o?.bannerOrder??0)),a=[],e=[];return i.forEach(([s,o])=>{let l=t?.[s];l&&o.bannerOrder&&(a.push(U({elementType:o.uiElement??"",selectionDisplayLabel:o.bannerLabel??"",labelDelimiter:o.labelDelimiter??"",classificationProp:l,valueDelimiter:o.valueDelimiter??""})),e.push(o.attributeDelimiter??""))}),a.length>0?a.reduce((s,o,l)=>l===0?o:`${s}${e[l-1]}${o}`,""):""},U=({elementType:r,selectionDisplayLabel:t,labelDelimiter:i,classificationProp:a,valueDelimiter:e})=>{let s=r.includes("multi")&&a?a.split("").join(e):a;return`${t}${i}${s}`};async function h(r,t,i,a=""){let e={schemaJsonString:typeof t=="string"?t:JSON.stringify(t),valueJsonString:JSON.stringify(i),attributeId:a};return(await L(r)).execute(e)}async function L(r){return await F(r,{variables:[{name:"schemaJsonString",type:"text"},{name:"valueJsonString",type:"text"},{name:"attributeId",type:"text"}]})}var W=p`:host{height:100%;box-sizing:border-box;display:flex;flex-direction:column}.header-section{padding:var(--calcite-spacing-sm)}.header-section__title-container{display:flex;align-items:center;justify-content:space-between}.header-section__title-text{margin:unset;font-weight:unset;font-size:var(--calcite-font-size)}.header-section__title-popover{padding:var(--calcite-spacing-md)}.form-section{display:flex;border-top:var(--calcite-border-width-sm) solid var(--calcite-color-border-1);padding:var(--calcite-spacing-sm);height:100%;overflow:hidden}.form-section__sidebar{flex:1;padding:var(--calcite-spacing-sm)}.form-section__main-content{flex:3;padding:var(--calcite-spacing-sm);overflow:auto}.danger{color:var(--calcite-color-status-danger)}.spacing-y{margin:var(--calcite-spacing-md) 0}`,f=class extends b{constructor(){super(),this.classificationModel=S(this),this.messages=$(),this.formMainContentRef=u(),this._classificationDataTask=w(this),this._formCreationTask=new I(this,{task:async()=>{if(await this._classificationDataTask.taskComplete,!this.portalClassificationSchema||!this.portalItem)throw new Error("Portal item and classification schema are required to render the form");let t=this.portalItem.clone();if(await t.load(),!this.primaryAttribute)throw new Error("primaryAttribute is required but was undefined.");this.existingClassification=!!t.classification,t.classification=d(t.classification,this.primaryAttribute,this.portalClassificationSchema),t.classification&&(t.classification.banner=await V(this.portalClassificationSchema,t.classification)),this.pendingPortalItem=t,this._itemClassificationWatchHandle&&(this._itemClassificationWatchHandle.remove(),this.portalItem.removeHandles("arcgis-classification-config"),this._itemClassificationWatchHandle=void 0),this._itemClassificationWatchHandle=q(()=>this.portalItem.classification,i=>{if(this.pendingPortalItem){let a=this.pendingPortalItem.clone();a.load().then(()=>{a.classification=i,this.pendingPortalItem=a}).catch(e=>{console.error(e)})}}),this.portalItem.addHandles(this._itemClassificationWatchHandle,"arcgis-classification-config"),await this.evaluateAttributeExpressions(this.portalClassificationSchema,this.pendingPortalItem),this.pendingPortalItem.classification=c(this.pendingPortalItem.classification,this.attributeExpressionResults),this.existingClassification&&this.validateForm()},args:()=>[this.portalItem,this.portalClassificationSchema]}),this.getFormDisplayOrder=t=>this.portalClassificationSchema?.layouts.default.layoutElements[t].formDisplayOrder??0,this.addEditInfoAttributes=()=>{if(!this.pendingPortalItem?.classification)return{};let t=structuredClone(this.pendingPortalItem.classification),i=_(this.pendingPortalItem,t);return{...t,...i}},this.updateFavoriteClassification=t=>{this.favoriteClassifications=t},this.updateClassificationData=async t=>{let i=t.classification;if(this.selectedFavoriteClassificationName=t.name,this.pendingPortalItem){let a=this.pendingPortalItem.clone();if(await a.load(),a.classification=m(this.portalClassificationSchema,i),!this.portalClassificationSchema)return;await this.evaluateAttributeExpressions(this.portalClassificationSchema,a),a.classification=c(a.classification,this.attributeExpressionResults),this.pendingPortalItem=a}},this.existingClassification=!1,this.portalClassificationSchema=this.classificationModel.portalClassificationSchema,this.primaryAttribute=this.classificationModel.primaryAttribute,this.attributeExpressionResults=new Map,this.formValidationErrors=[],this.remoteValidationErrors="",this.canUserConfigureClassification=!0,this.favoriteClassifications=[],this.isRequiredErrors=new Set,this.status=this.classificationModel.status,this.values={},this.valid=!1,this.autoDestroyDisabled=!1,this.arcgisPropertyChange=P()("status","values","valid")}static{this.properties={existingClassification:16,portalClassificationSchema:16,primaryAttribute:16,attributeExpressionResults:16,formValidationErrors:16,itemClassification:16,pendingPortalItem:16,selectedCategory:16,remoteValidationErrors:16,canUserConfigureClassification:16,favoriteClassifications:16,selectedFavoriteClassificationName:16,isRequiredErrors:16,portalItem:0,status:35,values:[1,{type:Object}],valid:7,autoDestroyDisabled:5}}static{this.styles=W}async destroy(){await this.manager.destroy()}async resetForm(){if(this.existingClassification)this.pendingPortalItem=this.portalItem?.clone(),this.portalClassificationSchema&&this.pendingPortalItem&&(await this.evaluateAttributeExpressions(this.portalClassificationSchema,this.pendingPortalItem),this.pendingPortalItem.classification=c(this.pendingPortalItem.classification,this.attributeExpressionResults),this.validateForm());else if(this.portalItem&&this.primaryAttribute&&this.portalClassificationSchema){let t=this.portalItem.clone();await t.load(),this.pendingPortalItem=this.portalItem?.clone(),this.pendingPortalItem.classification=d(t.classification,this.primaryAttribute,this.portalClassificationSchema),this.portalClassificationSchema&&this.pendingPortalItem&&(await this.evaluateAttributeExpressions(this.portalClassificationSchema,this.pendingPortalItem),this.pendingPortalItem.classification=c(this.pendingPortalItem.classification,this.attributeExpressionResults))}}async validateForm(){this.updateFormValidationErrors(),await this.updateRemoteValidationErrors()}async load(){try{await O(this.portalItem)||(this.canUserConfigureClassification=!1);let t=await v(this.portalItem);if(t){let{result:i,error:a}=t;if(a&&a.details.raw.messageCode!=="COM_1177"){console.error(a);return}i&&(this.favoriteClassifications=i.favorites)}}catch(t){console.error("Error occured while loading arcgis-classification-config:",t)}}willUpdate(t){if(t.has("pendingPortalItem")){let i=this.addEditInfoAttributes();this.values=i}(t.has("formValidationErrors")||t.has("remoteValidationErrors"))&&(this.valid=!this.formValidationErrors.length&&!this.remoteValidationErrors)}loaded(){let t=x(this.el,"form");t&&(this.listenOn(t,"formdata",this.updateFormData),this.listenOn(t,"submit",this.handleFormSubmit)),this.listen("submit",this.handleFormSubmit)}async updateClassificationProperty(t){if(!this.pendingPortalItem||!this.portalClassificationSchema)return;let i=this.pendingPortalItem.clone();await i.load(),Object.entries(t??{}).forEach(([a,e])=>{if(a===this.primaryAttribute){let s=R(e,i.classification,this.primaryAttribute);s=m(this.portalClassificationSchema,s),i.classification=s}else{let s=new Map(Object.entries(i.classification??{}));if(e===void 0||e===""||Array.isArray(e)&&e.length===0)s.delete(a);else if(s.set(a,e),a==="fgi"&&!s.has("fgiOptions")){let o=this.portalClassificationSchema?.attributes?.fgiOptions?.defaultValue??[];s.set("fgiOptions",Array.isArray(o)?o:[o])}i.classification=Object.fromEntries(s)}}),i.classification&&!i.classification.fgi&&delete i.classification.fgiOptions,await this.evaluateAttributeExpressions(this.portalClassificationSchema,i),i.classification=c(i.classification,this.attributeExpressionResults),i.classification&&(i.classification.banner=await V(this.portalClassificationSchema,i.classification)),this.pendingPortalItem=i,this.existingClassification&&this.validateForm(),t&&"classification"in t&&this.updateIsRequiredErrors()}handleCategorySelectChange(t){this.selectedCategory=t.target.selectedItems[0].value}async evaluateAttributeExpressions(t,i){let a=await k({portalClassificationSchema:t,itemClassification:i.classification}),e=await j({portalClassificationSchema:t,itemClassification:i.classification}),s=await M({portalClassificationSchema:t,itemClassification:i.classification});Object.keys(t.attributes).forEach(o=>{let l=a[o]?.enabled??!0,A=e[o]?.valueExpressionResult,D=s[o]?.attributeValidationResult;this.attributeExpressionResults.set(o,{enabled:l,valueExpressionResult:A,attributeValidationResult:D})})}updateIsRequiredErrors(){let t=new Set;Object.entries(this.portalClassificationSchema?.attributes??{})?.forEach(([i,a])=>{a.isRequired&&!this.pendingPortalItem?.classification?.[i]&&this.pendingPortalItem?.classification?.[i]!==0&&t.add(i)}),this.isRequiredErrors=t}updateFormValidationErrors(t=!1){let i=[];Object.entries(this.portalClassificationSchema?.attributes??{})?.forEach(([a,e])=>{e.isRequired&&!this.pendingPortalItem?.classification?.[a]&&this.pendingPortalItem?.classification?.[a]!==0&&(!t||this.isRequiredErrors.has(a))&&i.push({attribute:e.label,reason:this.messages.isrequired??"is required",category:e.attributeCategory}),this.attributeExpressionResults.get(a)?.attributeValidationResult&&i.push({attribute:e.label,reason:this.attributeExpressionResults.get(a)?.attributeValidationResult??"",category:e.attributeCategory})}),this.formValidationErrors=i}async updateRemoteValidationErrors(){if(!this.pendingPortalItem?.classification)return;let t=await this.classificationModel.validateClassification(void 0,this.pendingPortalItem?.classification,this.pendingPortalItem.portal.restUrl);this.remoteValidationErrors=t}async handleFormSubmit(t){this.validateForm(),this.updateIsRequiredErrors(),this.formMainContentRef.value?.scrollIntoView()}updateFormData(t){let i=t.formData,a=this.addEditInfoAttributes();a=c(a,this.attributeExpressionResults),Object.entries(a??{}).forEach(([e,s])=>{i.set(e,s)})}renderCategoryTabs(){return this._classificationDataTask.render({complete:()=>{if(this.portalClassificationSchema?.attributeCategories?.length)return this.selectedCategory||(this.selectedCategory=this.portalClassificationSchema?.attributeCategories[0]),n`<calcite-list .label=${this.messages.selectcategory??"select category"} selection-appearance=border selection-mode=single-persist @calciteListChange=${this.handleCategorySelectChange}>${this.portalClassificationSchema.attributeCategories.map(t=>{let i=this.formValidationErrors.filter(a=>a.category===t).length;return n`<calcite-list-item .label=${t} .value=${t} .selected=${this.selectedCategory===t} .description=${i?`${i} ${i>1?this.messages.errors:this.messages.error}`:void 0}>${i&&n`<div slot=content-end class="danger"><calcite-icon icon=exclamation-mark-triangle scale=s></calcite-icon></div>`||""}</calcite-list-item>`})}</calcite-list>`}})}renderValidationErrors(){return this.formValidationErrors.length&&(!this.selectedCategory||this.formValidationErrors.some(t=>this.selectedCategory===t.category))?n`<calcite-notice open icon=exclamation-mark-triangle class="spacing-y" kind=danger><div slot=message>${this.messages.bannererror??"Some fields are incomplete or contain errors. Check the highlighted fields for details."}</div></calcite-notice>`:null}renderFavoriteClassification(){let t=this.portalClassificationSchema?.attributeCategories?.[0]??"Default";return this.selectedCategory=this.portalClassificationSchema?.attributeCategories?.length?this.selectedCategory:"Default",this.selectedCategory===t?n`<arcgis-portal-classification-favorite .portalItem=${this.pendingPortalItem??this.portalItem} .classificationValue=${this.pendingPortalItem?.classification} .favoriteClassifications=${this.favoriteClassifications} .selectedFavoriteClassificationName=${this.selectedFavoriteClassificationName} .attributeExpressionResults=${this.attributeExpressionResults} .resetFavoriteClassification=${i=>this.updateFavoriteClassification(i)} .updateClassificationData=${async i=>{await this.updateClassificationData(i),this.updateFormValidationErrors(),this.updateIsRequiredErrors()}}></arcgis-portal-classification-favorite>`:null}renderForm(){return this._formCreationTask.render({pending:()=>n`<calcite-loader .label=${this.messages.loading??"loading"}></calcite-loader>`,complete:()=>{if(!this.pendingPortalItem||!this.portalClassificationSchema)return;let t=Object.entries(this.portalClassificationSchema.attributes).sort(([i],[a])=>this.getFormDisplayOrder(i)-this.getFormDisplayOrder(a));return n`${this.renderValidationErrors()}${this.renderFavoriteClassification()}${t.filter(([,{attributeCategory:i}])=>this.selectedCategory===i||!i).map(([i,a])=>{if(this.attributeExpressionResults.get(i)?.enabled===!1)return null;let e=this.pendingPortalItem?.classification?.[i];return n`<arcgis-portal-classification-form-element .attributeKey=${i} .attribute=${a} .value=${e} @arcgisAttributeValueChange=${async s=>{await this.updateClassificationProperty(s.detail),a.isRequired&&!s.detail[i]?this.isRequiredErrors.add(i):this.isRequiredErrors=new Set(Array.from(this.isRequiredErrors).filter(o=>o!==i)),this.updateFormValidationErrors(!0)}} .renderingInfo=${this.attributeExpressionResults.get(i)} .isRequiredErrors=${this.isRequiredErrors}></arcgis-portal-classification-form-element>`})}`}})}renderNotice(t,i="warning"){return n`<calcite-notice icon=exclamation-mark-triangle open class="spacing-y" .kind=${i}><div slot=message>${t}</div></calcite-notice>`}renderHelpTooltip(){return this.portalClassificationSchema?.helpTooltip?n`<calcite-action id=portal-classification-config-tooltip-button .text=${this.portalClassificationSchema?.helpTooltip} icon=information></calcite-action><calcite-popover .label=${this.portalClassificationSchema?.helpTooltip} reference-element=portal-classification-config-tooltip-button placement=bottom-end overlay-positioning=fixed auto-close><div class="header-section__title-popover"><calcite-link .href=${this.portalClassificationSchema?.helpUrl} target=_blank id=portal-classification-config-tooltip-button>${this.portalClassificationSchema?.helpTooltip}</calcite-link></div></calcite-popover>`:null}render(){return this.portalItem?this._classificationDataTask.render({pending:()=>n`<calcite-loader .label=${this.messages.loading??"loading"}></calcite-loader>`,error:()=>this.renderNotice(this.messages.anerroroccurred??"An error has occurred.","danger"),complete:()=>this.portalItem?this.canUserConfigureClassification?this.portalItem.portal.hasClassificationSchema?n`<div class="header-section" role=region aria-label=${this.messages.documentbannerpreview??"documentbannerpreview"??C}><div class="header-section__title-container"><h2 class="header-section__title-text">${this.messages.documentbannerpreview??"documentbannerpreview"}</h2>${this.renderHelpTooltip()}</div>${this._formCreationTask.status===E.COMPLETE&&n`<arcgis-portal-classification-banner .portalItem=${this.pendingPortalItem??this.portalItem} variant=preview .missingExistingClassification=${!this.existingClassification}></arcgis-portal-classification-banner>`||""}</div><div class="form-section">${this.portalClassificationSchema?.attributeCategories?.length&&n`<div class="form-section__sidebar">${this.renderCategoryTabs()}</div>`||""}<div class="form-section__main-content" ${g(this.formMainContentRef)}>${this.renderForm()}</div></div>`:this.renderNotice(this.messages.missingclassificationschema??"Portal is missing classification schema."):this.renderNotice(this.messages.userconfigurepermissionrequired??"User configuration permission is required."):this.renderNotice(this.messages.portalitemrequired??"Portal item is required.")}):this.renderNotice(this.messages.portalitemrequired??"Portal item is required.")}};y("arcgis-portal-classification-config",f);return f},"arcade","core/reactiveUtils",a,c,d)