@descope/web-components-ui 1.77.0 → 1.79.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (92) hide show
  1. package/dist/cjs/index.cjs.js +49 -2
  2. package/dist/cjs/index.cjs.js.map +1 -1
  3. package/dist/index.esm.js +49 -2
  4. package/dist/index.esm.js.map +1 -1
  5. package/dist/umd/2739.js +1 -1
  6. package/dist/umd/2739.js.map +1 -1
  7. package/dist/umd/7092.js +1 -1
  8. package/dist/umd/7092.js.map +1 -1
  9. package/dist/umd/DescopeDev.js +1 -1
  10. package/dist/umd/DescopeDev.js.map +1 -1
  11. package/dist/umd/boolean-fields-descope-checkbox-index-js.js +1 -1
  12. package/dist/umd/boolean-fields-descope-checkbox-index-js.js.map +1 -1
  13. package/dist/umd/boolean-fields-descope-switch-toggle-index-js.js +1 -1
  14. package/dist/umd/boolean-fields-descope-switch-toggle-index-js.js.map +1 -1
  15. package/dist/umd/button-selection-group-fields-descope-button-multi-selection-group-index-js.js +1 -1
  16. package/dist/umd/button-selection-group-fields-descope-button-multi-selection-group-index-js.js.map +1 -1
  17. package/dist/umd/button-selection-group-fields-descope-button-selection-group-index-js.js +1 -1
  18. package/dist/umd/button-selection-group-fields-descope-button-selection-group-index-js.js.map +1 -1
  19. package/dist/umd/descope-date-field-index-js.js +1 -1
  20. package/dist/umd/descope-date-field-index-js.js.map +1 -1
  21. package/dist/umd/descope-email-field-index-js.js +1 -1
  22. package/dist/umd/descope-email-field-index-js.js.map +1 -1
  23. package/dist/umd/descope-grid-descope-grid-selection-column-index-js.js +1 -1
  24. package/dist/umd/descope-grid-descope-grid-selection-column-index-js.js.map +1 -1
  25. package/dist/umd/descope-grid-index-js.js +1 -1
  26. package/dist/umd/descope-grid-index-js.js.map +1 -1
  27. package/dist/umd/descope-hybrid-field-index-js.js +2 -2
  28. package/dist/umd/descope-hybrid-field-index-js.js.map +1 -1
  29. package/dist/umd/descope-multi-select-combo-box-index-js.js +1 -1
  30. package/dist/umd/descope-multi-select-combo-box-index-js.js.map +1 -1
  31. package/dist/umd/descope-new-password-descope-new-password-internal-index-js.js +1 -1
  32. package/dist/umd/descope-new-password-descope-new-password-internal-index-js.js.map +1 -1
  33. package/dist/umd/descope-new-password-index-js.js +1 -1
  34. package/dist/umd/descope-new-password-index-js.js.map +1 -1
  35. package/dist/umd/descope-number-field-index-js.js +1 -1
  36. package/dist/umd/descope-number-field-index-js.js.map +1 -1
  37. package/dist/umd/descope-passcode-index-js.js +2 -2
  38. package/dist/umd/descope-passcode-index-js.js.map +1 -1
  39. package/dist/umd/descope-password-index-js.js +1 -1
  40. package/dist/umd/descope-password-index-js.js.map +1 -1
  41. package/dist/umd/descope-radio-group-index-js.js +1 -1
  42. package/dist/umd/descope-radio-group-index-js.js.map +1 -1
  43. package/dist/umd/descope-scopes-list-index-js.js +1 -1
  44. package/dist/umd/descope-scopes-list-index-js.js.map +1 -1
  45. package/dist/umd/descope-security-questions-setup-index-js.js +1 -1
  46. package/dist/umd/descope-security-questions-setup-index-js.js.map +1 -1
  47. package/dist/umd/descope-security-questions-verify-index-js.js +2 -2
  48. package/dist/umd/descope-security-questions-verify-index-js.js.map +1 -1
  49. package/dist/umd/descope-text-area-index-js.js +1 -1
  50. package/dist/umd/descope-text-area-index-js.js.map +1 -1
  51. package/dist/umd/descope-text-field-index-js.js +2 -2
  52. package/dist/umd/descope-text-field-index-js.js.map +1 -1
  53. package/dist/umd/mapping-fields-descope-mappings-field-index-js.js +1 -1
  54. package/dist/umd/mapping-fields-descope-mappings-field-index-js.js.map +1 -1
  55. package/dist/umd/mapping-fields-descope-saml-group-mappings-index-js.js +1 -1
  56. package/dist/umd/mapping-fields-descope-saml-group-mappings-index-js.js.map +1 -1
  57. package/dist/umd/phone-fields-descope-phone-field-index-js.js +1 -1
  58. package/dist/umd/phone-fields-descope-phone-field-index-js.js.map +1 -1
  59. package/dist/umd/phone-fields-descope-phone-input-box-field-index-js.js +1 -1
  60. package/dist/umd/phone-fields-descope-phone-input-box-field-index-js.js.map +1 -1
  61. package/package.json +5 -5
  62. package/src/components/boolean-fields/descope-checkbox/CheckboxClass.js +1 -0
  63. package/src/components/boolean-fields/descope-switch-toggle/SwitchToggleClass.js +1 -0
  64. package/src/components/button-selection-group-fields/baseButtonSelectionGroup.js +1 -0
  65. package/src/components/descope-hybrid-field/HybridFieldClass.js +10 -0
  66. package/src/components/descope-multi-select-combo-box/MultiSelectComboBoxClass.js +1 -0
  67. package/src/components/descope-new-password/NewPasswordClass.js +1 -0
  68. package/src/components/descope-passcode/PasscodeClass.js +1 -0
  69. package/src/components/descope-password/PasswordClass.js +2 -1
  70. package/src/components/descope-security-questions-verify/SecurityQuestionsVerifyClass.js +4 -0
  71. package/src/components/descope-text-area/TextAreaClass.js +1 -0
  72. package/src/components/descope-text-field/textFieldMappings.js +1 -0
  73. package/src/components/mapping-fields/descope-saml-group-mappings/SamlGroupMappingsClass.js +1 -0
  74. package/src/components/phone-fields/descope-phone-field/PhoneFieldClass.js +2 -1
  75. package/src/components/phone-fields/descope-phone-input-box-field/PhoneFieldInputBoxClass.js +1 -0
  76. package/src/theme/components/buttonSelectionGroup/baseButtonSelectionGroup.js +1 -0
  77. package/src/theme/components/checkbox.js +1 -0
  78. package/src/theme/components/emailField.js +1 -0
  79. package/src/theme/components/hybridField.js +1 -0
  80. package/src/theme/components/inputWrapper.js +1 -0
  81. package/src/theme/components/multiSelectComboBox.js +1 -0
  82. package/src/theme/components/newPassword.js +1 -0
  83. package/src/theme/components/numberField.js +1 -0
  84. package/src/theme/components/passcode.js +1 -0
  85. package/src/theme/components/password.js +1 -0
  86. package/src/theme/components/phoneField.js +1 -0
  87. package/src/theme/components/phoneInputBoxField.js +1 -0
  88. package/src/theme/components/radioGroup/radioGroup.js +1 -0
  89. package/src/theme/components/samlGroupMappings.js +1 -0
  90. package/src/theme/components/switchToggle.js +1 -0
  91. package/src/theme/components/textArea.js +1 -0
  92. package/src/theme/components/textField.js +1 -0
@@ -1,2 +1,2 @@
1
- "use strict";(self.webpackChunk_descope_web_components_ui=self.webpackChunk_descope_web_components_ui||[]).push([[2200,3521,7362],{115:(e,t,r)=>{r.d(t,{i:()=>n});var o=r(94591);class n extends o.v{get sortable(){return"true"===this.getAttribute("sortable")}_defaultRenderer(e,t,r){const o=r.item[this.path]||"",n=Array.isArray(o)?o.join(", "):o;this.__setTextContent(e,n),e.title=n}_defaultHeaderRenderer(e,t){this.sortable?super._defaultHeaderRenderer(e,t):this.__setTextContent(e,this.__getHeader(this.header,this.path))}}},3274:(e,t,r)=>{r.r(t);var o=r(41813);customElements.define(o.T,o.A)},3393:(e,t,r)=>{r.d(t,{y:()=>i});var o=r(9696),n=r(79365),l=r(81365);const i=(...e)=>(0,o.Zz)(n.XX,n._$,n.yF,n.jd)((0,l.q)(...e))},12909:(e,t,r)=>{r.r(t),r.d(t,{componentName:()=>i});var o=r(97810),n=r(115);class l extends n.i{_defaultRenderer(e,t,r){const o=r.item[this.path]||"",n=Array.from(this.children).find((e=>{const t=e.getAttribute("data-pattern");return!t||new RegExp(t).test(o)}));if(!n)return void this.__setTextContent(e,r.item[this.path]||"");const l=n.cloneNode(!0);l.textContent=o||"",e.innerHTML="",e.append(l)}}const i=(0,o.xE)("grid-custom-column");customElements.define(i,l)},19847:(e,t,r)=>{r.d(t,{A:()=>l});var o=r(97810),n=r(41813);const l=e=>class extends e{init(){super.init?.();const e=document.createElement("template");e.innerHTML=`\n\t\t\t\t<${n.T}\n\t\t\t\t\ttabindex="-1"\n\t\t\t\t\tslot="input"\n\t\t\t\t></${n.T}>\n\t\t\t`,this.baseElement.appendChild(e.content.cloneNode(!0)),this.inputElement=this.shadowRoot.querySelector(n.T),this.checkbox=this.inputElement.querySelector("vaadin-checkbox"),(0,o.EA)(this,this.inputElement,{includeAttrs:["required","full-width","size","label","invalid","disabled","readonly"]}),(0,o.q)(this.inputElement,this,["checked"]),(0,o.Gh)(this,this.inputElement,{includeAttrs:["checked"]})}}},38976:(e,t,r)=>{r.r(t),r.d(t,{GridClass:()=>A,componentName:()=>h}),r(6735),r(57148),r(12909),r(57641),r(92107),r(80522);var o=r(9696),n=r(97810),l=r(79365);const i=e=>{const t=Array.isArray(e);return t||console.error("data must be an array, received:",e),t},s=e=>{const t=document.createElement("div");return t.textContent=e,t.innerHTML},a=e=>(e=>e?.constructor===Object)(e)?"object":Array.isArray(e)?"array":/^\s*<[\s\S]*>/.test(e)?"xml":"text",d=(e,t)=>`<descope-code-snippet lang="${t}" class="row-details__value code">${s(e)}</descope-code-snippet>`,c=e=>`<div class="row-details__value text" title="${e}">${s(e)}</div>`,p=e=>d(JSON.stringify(e,null,2),"json"),h=(0,n.xE)("grid"),{host:u,headerRow:g,headerRowCell:m,contentRow:b,firstRow:y,sortIndicators:x,activeSortIndicator:C,selectedRow:v,rowSeparator:f,resizeHandle:w,toggleDetailsPanelButton:k,toggleDetailsPanelButtonOpened:T,toggleDetailsPanelButtonClosed:j,detailsPanel:$,detailsPanelLabels:_,selectedRowCell:E,detailsPanelContent:R}={host:{selector:()=>"vaadin-grid"},headerRow:{selector:()=>"::part(header-cell)"},headerRowCell:{selector:()=>"vaadin-grid::part(header-cell)"},contentRow:{selector:()=>"::part(cell)"},firstRow:{selector:()=>"::part(first-header-row-cell)"},selectedRow:{selector:()=>"::part(selected-row)"},selectedRowCell:{selector:()=>"::part(selected-row-cell)"},sortIndicators:{selector:()=>"vaadin-grid-sorter::part(indicators)"},activeSortIndicator:{selector:()=>"vaadin-grid-sorter[direction]"},rowSeparator:{selector:()=>"vaadin-grid::part(body-cell)"},resizeHandle:{selector:()=>"::part(resize-handle)"},toggleDetailsPanelButton:{selector:()=>"vaadin-grid vaadin-icon.toggle-details-button"},toggleDetailsPanelButtonOpened:{selector:()=>"vaadin-grid vaadin-icon.toggle-details-button.opened"},toggleDetailsPanelButtonClosed:{selector:()=>"vaadin-grid vaadin-icon.toggle-details-button.closed"},detailsPanel:{selector:()=>"vaadin-grid::part(details-cell)"},detailsPanelLabels:{selector:()=>"vaadin-grid .row-details__label"},detailsPanelContent:{selector:()=>"vaadin-grid .row-details"}},A=(0,o.Zz)((0,l.RF)({componentNameOverride:(0,n.xE)("input-wrapper")}),(0,l.RF)({mappings:{hostWidth:{selector:()=>":host",property:"width"},hostHeight:{selector:()=>":host",property:"height"},hostMinHeight:{selector:()=>":host",property:"min-height"},fontFamily:[{...g},{...b}],fontSize:[{...g},{...b}],fontWeight:{...b},valueTextColor:{...b,property:"color"},backgroundColor:[{...u,property:"background-color"},{...b,property:"background-color"}],sortIndicatorsColor:{...x,property:"color"},activeSortIndicator:{...C,property:"color"},borderColor:{...u,property:"border-color"},borderWidth:{...u,property:"border-width"},borderStyle:{...u,property:"border-style"},borderRadius:{...u,property:"border-radius"},selectedBackgroundColor:[{...v,property:"background-color"},{...E,property:"background-color"}],headerRowTextColor:{...m,property:"color"},separatorColor:[{...y,property:"border-bottom-color"},{...f,property:"border-top-color"}],resizeHandleColor:{...w,property:"background-color"},hostDirection:{...u,property:"direction",fallback:"ltr"},toggleDetailsPanelButtonSize:[{...k,property:"width"},{...k,property:"height"}],toggleDetailsPanelButtonOpenedColor:{...T,property:"color"},toggleDetailsPanelButtonClosedColor:{...j,property:"color"},toggleDetailsPanelButtonCursor:{...k,property:"cursor"},detailsPanelBackgroundColor:{...$,property:"background-color"},detailsPanelBorderTopColor:{...$,property:"border-top-color"},detailsPanelLabelsColor:{..._,property:"color"},detailsPanelLabelsFontSize:{..._,property:"font-size"},detailsPanelItemsGap:{...R,property:"grid-gap"},detailsPanelPadding:{...R,property:"padding"}}}),l.VO,l.tQ,(e=>class extends e{#e;init(){super.init?.(),this.handleColumns(),this.forwardSelectedItemsChange(),this.baseElement._mapSorters=()=>{};const e=this.baseElement._updateDetailsCellHeight;this.baseElement._updateDetailsCellHeight=t=>{t&&e.call(this.baseElement,t)},this.baseElement.rowDetailsRenderer=this.#t.bind(this)}#t=async(e,t,r)=>{e.addEventListener("mousedown",(e=>e.stopImmediatePropagation()),!0);const o=this.getRowDetailsTemplate(r.item);e.innerHTML="",e.append(o.content.cloneNode(!0))};getRowDetailsTemplate(e){const t=this.#e.reduce(((e,{path:t,header:r})=>t&&r?{...e,[t]:r}:e),{}),r=this.rowDetailsRenderer?.(e,t)??((e,t)=>`\n <div class="row-details">\n ${Object.entries(e).map((([e,r])=>`<div class="row-details__item" >\n <div class="row-details__label">${t[e]||(0,o.wy)(e)}</div>\n ${(e=>{const t=a(e);return"object"===t?p(e):"xml"===t?(e=>d(e,"xml"))(e):"array"===t?e.some((e=>"object"===a(e)))?p(e):c(e.join(",\n")):c(e)})(r)}\n </div>`)).join("\n")}\n</div>\n `)(e,t);switch(!0){case r instanceof HTMLTemplateElement:return r;case"string"==typeof r:return Object.assign(document.createElement("template"),{innerHTML:r});default:throw new Error("rowDetailsRenderer should return a string or a template")}}forwardSelectedItemsChange(){this.baseElement.addEventListener("selected-items-changed",(e=>{this.dispatchEvent(new CustomEvent("selected-items-changed",{bubbles:!0,composed:!0,detail:e.detail}))}))}attributeChangedCallback(e,t,r){super.attributeChangedCallback?.(e,t,r),"columns"===e&&this.setColumnsDataFromAttr()}handleColumns(){this.columnsAttr?this.setColumnsDataFromAttr():this.children.length&&this.setColumnsFromChildren()}setColumnsFromChildren(){this.#e=Array.from(this.children).map((e=>({path:e.getAttribute("path"),header:e.getAttribute("header"),type:e.localName.match("^descope-grid-(\\w+)-column$")?.[1]||"text",attrs:["frozen","resizable","auto-width","status"].reduce(((t,r)=>{const o=e.getAttribute(r);return o&&(t[r]=o),t}),{})})))}get columnsAttr(){return this.getAttribute("columns")}setColumnsDataFromAttr(){try{const e=JSON.parse(this.columnsAttr);i(e)&&(this.columns=e)}catch(e){console.error('could not parse data string from attribute "columns" -',e.message)}}#r=({path:e,header:t,type:r,attrs:o})=>{const n=`descope-grid-${r}-column`;return`<${n} header="${t}" path="${e}" ${Object.entries(o).map((([e,t])=>`${e}="${t}"`)).join(" ")}></${n}>`};get renderColumn(){return this.#r}set renderColumn(e){this.#r=e,this.renderColumns()}getColumnsTemplate(){return this.#e?.reduce?.(((e,t)=>e+(this.renderColumn?.(t||{})||"")),"")}reassignRowDetailsRenderer(){this.baseElement.rowDetailsRenderer=null,setTimeout((()=>{this.baseElement.rowDetailsRenderer=this.#t.bind(this)}),0)}renderColumns(){const e=this.getColumnsTemplate();e&&(this.reassignRowDetailsRenderer(),this.innerHTML=e)}get grid(){return this.shadowRoot.querySelector("vaadin-grid")}get data(){return this.grid.items}set data(e){if(i(e)&&this.grid.items!==e&&(this.grid.items=e,this.grid.selectedItems)){const e=new Set(this.grid.items.map((e=>e[this.uniqueColumnId]??e))),t=this.grid.selectedItems.filter((t=>e.has(t[this.uniqueColumnId]??t)));this.grid.selectedItems.length!==t.length&&(this.grid.selectedItems=t)}}get columns(){return this.#e}set columns(e){this.#e=e,this.renderColumns()}get paths(){return this.columns.map((e=>e.path))}get uniqueColumnId(){return this.getAttribute("unique-column-id")}}))((0,l.tz)({delegatesFocus:!1,slots:[""],wrappedEleName:"vaadin-grid",style:()=>`\n /*css*/\n vaadin-grid {\n overflow: hidden;\n height: 100%;\n min-height: 300px;\n }\n vaadin-grid-cell-content {\n display: flex;\n }\n vaadin-grid::part(selected-row-cell) {\n background-image: none;\n box-shadow: none;\n background-color: inherit;\n }\n vaadin-grid::part(details-cell) {\n border-top-style: dashed;\n border-top-width: 1px;\n }\n vaadin-grid .row-details {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(max(200px, calc(100%/4 - var(${A.cssVarList.detailsPanelItemsGap}))), 1fr));\n width: 100%;\n }\n vaadin-grid .row-details__item:has(.row-details__value.code) {\n grid-column: 1 / -1;\n order: 2;\n }\n vaadin-grid .row-details__value.text {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: pre;\n }\n vaadin-grid .row-details__value.code {\n margin-top: 5px;\n max-height: 120px;\n overflow: scroll;\n font-size: 0.85em;\n }\n vaadin-grid vaadin-icon.toggle-details-button {\n margin: auto;\n }\n /*!css*/\n\t\t`,excludeAttrsSync:["columns","tabindex","style"],componentName:h}));customElements.define(h,A)},41813:(e,t,r)=>{r.d(t,{A:()=>a,T:()=>l});var o=r(3393),n=r(97810);const l=(0,n.xE)("boolean-field-internal"),i=["disabled","label","invalid","readonly"],s=(0,o.y)({componentName:l,baseSelector:"div"}),a=class extends s{static get observedAttributes(){return["readonly"]}constructor(){super(),this.innerHTML='\n\t\t\t<div class="wrapper">\n\t\t\t\t<vaadin-checkbox></vaadin-checkbox>\n\t\t\t</div>\n\t\t',this.wrapperEle=this.querySelector("div"),this.checkbox=this.querySelector("vaadin-checkbox")}get value(){return this.checkbox?.checked}set value(e){this.checkbox.checked=e}get checked(){return this.value}set checked(e){this.value=e}init(){this.addEventListener("focus",(e=>{e.isTrusted&&this.checkbox.focus()})),super.init?.(),(0,n.EA)(this,this.checkbox,{includeAttrs:i}),(0,n.Gh)(this,this.checkbox,{includeAttrs:["checked"]}),this.handleFocusEventsDispatching([this.checkbox])}attributeChangedCallback(e,t,r){super.attributeChangedCallback?.(e,t,r),"readonly"===e&&this.onReadOnlyChange(null!==r)}onReadOnlyChange(e){this.baseElement.setAttribute("inert",e)}getValidity(){return this.isRequired&&!this.value?{valueMissing:!0}:{}}}},47507:(e,t,r)=>{r.d(t,{A:()=>o});const o=`\n:host {\n\tdisplay: inline-flex;\n}\n\n${(0,r(73551).X6)()}\n\n.wrapper {\n\tdisplay: flex;\n\tbox-sizing: border-box;\n}\nvaadin-text-field {\n\tposition: relative;\n\tpadding: 0;\n\tdisplay: inline-flex;\n\talign-items: flex-start;\n}\nvaadin-text-field::before {\n content: unset;\n}\nvaadin-text-field::part(label) {\n position: absolute;\n top: 0;\n}\nvaadin-text-field::part(input-field) {\n\tpadding: 0;\n\tbackground: none;\n\tmin-height: 0;\n}\nvaadin-text-field::part(input-field)::after {\n background: none;\n}\nvaadin-text-field[focus-ring]::part(input-field) {\n\tbox-shadow: none;\n}\n\nvaadin-checkbox [slot="label"] {\n align-self: flex-start;\n padding: 0;\n}\n[required] vaadin-checkbox [slot="label"]:not(:empty) {\n\tpadding-inline-end: 1em;\n}\ndescope-boolean-field-internal {\n -webkit-mask-image: none;\n min-height: initial;\n}\n`},49582:(e,t,r)=>{r.r(t),r.d(t,{CheckboxClass:()=>o.q,componentName:()=>o.T});var o=r(64321);r(67468),r(11284),r(3274),customElements.define(o.T,o.q)},57148:(e,t,r)=>{r.r(t),r.d(t,{componentName:()=>l});var o=r(97810),n=r(115);const l=(0,o.xE)("grid-text-column");customElements.define(l,n.i)},57641:(e,t,r)=>{r.r(t),r.d(t,{componentName:()=>a}),r(49582);var o=r(97810),n=r(49654);const l=()=>{const e=document.createElement("descope-checkbox");return e.setAttribute("bordered","true"),e.setAttribute("size","xs"),e},i=e=>!!e.items?.length&&e.selectedItems.length===e.items.length;class s extends n.${_onHeaderRendererOrBindingChanged(){}_headerRenderer(e){const t=e.parentNode;let r=e.querySelector("descope-checkbox");r||(r=l(),r.addEventListener("input",(()=>{const e=i(t);t.selectedItems=e?[]:t.items})),e.appendChild(r)),r.setAttribute("checked",i(t))}_defaultRenderer(e,t,r){const o=e.parentNode;let n=e.querySelector("descope-checkbox");n||(n=l(),e.appendChild(n)),n.onchange=()=>{n.checked?o.selectItem(r.item):o.deselectItem(r.item)},n.setAttribute("checked",r.selected)}}const a=(0,o.xE)("grid-selection-column");customElements.define(a,s)},64321:(e,t,r)=>{r.d(t,{T:()=>d,q:()=>x});var o=r(97810),n=r(9696),l=r(79365),i=r(19847),s=r(47507),a=r(73551);const d=(0,o.xE)("checkbox"),{host:c,component:p,checkboxElement:h,checkboxSurface:u,checkboxLabel:g,requiredIndicator:m,helperText:b,errorMessage:y}={host:{selector:()=>":host"},requiredIndicator:{selector:'[required] vaadin-checkbox [slot="label"]:not(:empty)::after'},component:{selector:"vaadin-checkbox"},checkboxElement:{selector:"vaadin-checkbox::part(checkbox)"},checkboxSurface:{selector:"vaadin-checkbox::part(checkbox)::after"},checkboxLabel:{selector:'vaadin-checkbox [slot="label"]:not(:empty)'},helperText:{selector:"::part(helper-text)"},errorMessage:{selector:"::part(error-message)"}},x=(0,n.Zz)((0,l.RF)({mappings:{hostWidth:{...c,property:"width"},hostDirection:{...c,property:"direction"},fontSize:[c,h,g],fontFamily:[g,b,y],labelTextColor:{...g,property:"color"},labelSpacing:{...g,property:"padding-inline-start"},labelLineHeight:{...g,property:"line-height"},labelFontWeight:{...g,property:"font-weight"},labelRequiredIndicator:{...m,property:"content"},errorMessageTextColor:{...y,property:"color"},errorMessageIcon:{...y,property:"background-image"},errorMessageIconSize:{...y,property:"background-size"},errorMessageIconPadding:{...y,property:"padding-inline-start"},errorMessageIconRepeat:{...y,property:"background-repeat"},errorMessageIconPosition:{...y,property:"background-position"},inputValueTextColor:{...u,property:"color"},inputBackgroundColor:{...h,property:"background-color"},inputBorderRadius:{...h,property:"border-radius"},inputBorderWidth:{...h,property:"border-width"},inputBorderOffset:{...h,property:"border-offset"},inputBorderColor:{...h,property:"border-color"},inputBorderStyle:{...h,property:"border-style"},inputOutlineWidth:{...h,property:"outline-width"},inputOutlineOffset:{...h,property:"outline-offset"},inputOutlineColor:{...h,property:"outline-color"},inputOutlineStyle:{...h,property:"outline-style"},inputSize:[{...h,property:"width"},{...h,property:"height"},{...u,property:"font-size"},{...p,property:"font-size"}]}}),l.VO,(0,l.OZ)({proxyProps:["value","selectionStart"]}),l.tQ,i.A)((0,l.tz)({slots:[],wrappedEleName:"vaadin-text-field",style:()=>`\n\t\t\t${s.A}\n ${(0,a.cy)(x.cssVarList)}\n\n :host {\n\t\t\t\tdisplay: inline-flex;\n\t\t\t\tmax-width: 100%;\n margin: 1px;\n }\n\n :host ::part(error-message) {\n direction: ltr;\n }\n\n vaadin-text-field {\n width: 100%;\n }\n\n descope-boolean-field-internal {\n\t\t\t\tpadding: 0;\n\t\t\t\twidth: 100%;\n height: 100%;\n }\n\n vaadin-checkbox::part(checkbox) {\n margin: 0;\n }\n\n vaadin-checkbox::part(checkbox)::after {\n top: 0;\n left: 0;\n -webkit-text-fill-color: initial;\n }\n\n vaadin-checkbox label {\n -webkit-text-fill-color: initial;\n }\n\n vaadin-text-field::part(input-field)::after {\n content: none;\n }\n `,excludeAttrsSync:["label","tabindex"],componentName:d}))},73551:(e,t,r)=>{r.d(t,{$J:()=>h,I4:()=>i,Kl:()=>u,LJ:()=>p,Qv:()=>l,X6:()=>a,cy:()=>o,fu:()=>d,kG:()=>c,lS:()=>s,zm:()=>n});const o=e=>`\n :host {\n padding: calc(var(${e.inputOutlineWidth}) + var(${e.inputOutlineOffset}))\n }\n`,n=e=>`\n ${e} {\n margin: 0;\n padding: 0;\n width: 100%;\n height: 100%;\n box-sizing: border-box;\n }\n`,l=e=>`\n ${e}::part(input-field) {\n overflow: hidden;\n padding: 0;\n box-shadow: none;\n }\n`,i=e=>`\n ${e} > label,\n ${e}::part(label),\n ${e}::part(required-indicator) {\n cursor: pointer;\n }\n`,s=(e,t="input")=>`\n ${e}[disabled] > ${t}:placeholder-shown,\n\t${e}[readonly] > ${t}:placeholder-shown {\n\t\topacity: 1;\n\t}\n`,a=()=>"\n :host {\n --vaadin-field-default-width: auto;\n box-sizing: border-box;\n }\n",d=e=>`\n ${e}::part(input-field)::after {\n opacity: 0;\n }\n`,c=e=>`\n ${e}::part(input-field)::after {\n background: none;\n }\n`,p=(e,t)=>`\n ${n(e)}\n ${i(e)}\n ${s(e)}\n ${l(e)}\n ${((e,t)=>`\n ${e} input:-webkit-autofill,\n ${e} input:-webkit-autofill::first-line,\n ${e} input:-webkit-autofill:hover,\n ${e} input:-webkit-autofill:active,\n ${e} input:-webkit-autofill:focus {\n -webkit-text-fill-color: var(${t.inputValueTextColor});\n box-shadow: 0 0 0 var(${t.inputHeight}) var(${t.inputBackgroundColor}) inset;\n }\n`)(e,t)}\n ${c(e)}\n ${(e=>`\n ${e}::before {\n\t\theight: unset;\n\t}\n`)(e)}\n ${(e=>`\n ${e} > input {\n -webkit-mask-image: none;\n min-height: 0;\n box-sizing: border-box;\n }\n`)(e)}\n ${(e=>`\n ${e}::part(input-field)::after {\n border: none;\n }\n`)(e)}\n`,h=e=>`\n :host ::part(error-message) {\n direction: ltr;\n }\n :host([required]) ::part(required-indicator) {\n width: 1em;\n display: inline-flex;\n }\n :host([required]) ::part(required-indicator)::after {\n position: static;\n }\n :host([has-label]) ::part(label) {\n padding-right: 0;\n padding-bottom: 0;\n display: flex;\n width: 100%;\n }\n ${e} [slot="label"] {\n max-width: calc(100% - 1em);\n overflow: hidden;\n text-overflow: ellipsis;\n padding-bottom: 0.5em;\n }\n`,u=()=>'\n :host([label-type="floating"]) {\n position: relative;\n }\n :host([label-type="floating"][has-label]) [slot="label"] {\n padding: 0;\n }\n :host([label-type="floating"][has-label]) > ::part(label) {\n z-index: 1;\n padding: 0;\n width: auto;\n }\n '},80522:(e,t,r)=>{r.r(t),r.d(t,{CodeSnippetClass:()=>ne,componentName:()=>d});var o=r(75780),n=r(79365),l=r(9696),i=r(97810),s=r(81365),a=r(25964);const d=(0,i.xE)("code-snippet");class c extends((0,s.q)({componentName:d,baseSelector:":host > code"})){static get observedAttributes(){return["lang","inline"]}constructor(){super(),this.attachShadow({mode:"open"}).innerHTML='\n <code class="hljs"></code>\n ',(0,a.fz)("\n :host {\n display: inline-block;\n width: 100%;\n }\n code {\n display: block;\n width: 100%;\n min-height: 1em;\n overflow-x: scroll;\n overflow-y: scroll;\n }\n pre {\n margin: 0;\n }\n ",this)}init(){super.init?.(),this.lang=this.getAttribute("lang"),this.isInline="true"===this.getAttribute("inline"),(0,i.Ge)(this,this.#o.bind(this))}get contentNode(){return this.shadowRoot.querySelector(this.baseSelector)}attributeChangedCallback(e,t,r){super.attributeChangedCallback?.(e,t,r),t!==r&&("inline"===e&&(this.isInline=r),"lang"===e&&(this.lang=r),this.#o())}#o(){const e=(e=>{const t=document.createElement("textarea");return t.innerHTML=e,t.value})(this.textContent),t=this.lang;if(!t)return void(this.contentNode.textContent=e);const{value:r}=o.A.highlight(e,{language:t});var n;this.contentNode.innerHTML=(n=r,this.isInline?n:`<pre>${n}</pre>`)}}const{root:p,docTag:h,keyword:u,metaKeyword:g,templateTag:m,templateVariable:b,type:y,variableLanguage:x,title:C,titleClass:v,titleClassInherited:f,titleFunction:w,attr:k,attribute:T,literal:j,meta:$,number:_,operator:E,variable:R,selectorAttr:A,selectorClass:S,selectorId:I,regexp:q,string:z,metaString:O,builtIn:P,symbol:D,comment:L,code:H,formula:N,name:B,quote:M,selectorTag:F,selectorPseudo:V,subst:W,section:G,bullet:Z,emphasis:J,strong:K,addition:Q,deletion:X,charEscape:U,link:Y,params:ee,property:te,punctuation:re,tag:oe}={root:{selector:()=>".hljs"},docTag:{selector:()=>".hljs-doctag"},keyword:{selector:()=>".hljs-keyword"},metaKeyword:{selector:()=>".hljs-meta .hljs-keyword"},templateTag:{selector:()=>".hljs-template-tag"},templateVariable:{selector:()=>".hljs-template-variable"},type:{selector:()=>".hljs-type"},variableLanguage:{selector:()=>".hljs-variable.language"},title:{selector:()=>".hljs-title"},titleClass:{selector:()=>".hljs-title.class_"},titleClassInherited:{selector:()=>".hljs-title.class_.inherited__"},titleFunction:{selector:()=>".hljs-title.function_"},attr:{selector:()=>".hljs-attr"},attribute:{selector:()=>".hljs-attribute"},literal:{selector:()=>".hljs-literal"},meta:{selector:()=>".hljs-meta"},number:{selector:()=>".hljs-number"},operator:{selector:()=>".hljs-operator"},variable:{selector:()=>".hljs-variable"},selectorAttr:{selector:()=>".hljs-selector-attr"},selectorClass:{selector:()=>".hljs-selector-class"},selectorId:{selector:()=>".hljs-selector-id"},regexp:{selector:()=>".hljs-regexp"},string:{selector:()=>".hljs-string"},metaString:{selector:()=>".hljs-meta .hljs-string"},builtIn:{selector:()=>".hljs-built_in"},symbol:{selector:()=>".hljs-symbol"},comment:{selector:()=>".hljs-comment"},code:{selector:()=>".hljs-code"},formula:{selector:()=>".hljs-formula"},name:{selector:()=>".hljs-name"},quote:{selector:()=>".hljs-quote"},selectorTag:{selector:()=>".hljs-selector-tag"},selectorPseudo:{selector:()=>".hljs-selector-pseudo"},subst:{selector:()=>".hljs-subst"},section:{selector:()=>".hljs-section"},bullet:{selector:()=>".hljs-bullet"},emphasis:{selector:()=>".hljs-emphasis"},strong:{selector:()=>".hljs-strong"},addition:{selector:()=>".hljs-addition"},deletion:{selector:()=>".hljs-deletion"},charEscape:{selector:()=>".hljs-char.escape"},link:{selector:()=>".hljs-link"},params:{selector:()=>".hljs-params"},property:{selector:()=>".hljs-property"},punctuation:{selector:()=>".hljs-punctuation"},tag:{selector:()=>".hljs-tag"}},ne=(0,l.Zz)((0,n.RF)({mappings:{rootBgColor:{...p,property:"background-color"},rootTextColor:{...p,property:"color"},docTagTextColor:{...h,property:"color"},keywordTextColor:{...u,property:"color"},metaKeywordTextColor:{...g,property:"color"},templateTagTextColor:{...m,property:"color"},templateVariableTextColor:{...b,property:"color"},typeTextColor:{...y,property:"color"},variableLanguageTextColor:{...x,property:"color"},titleTextColor:{...C,property:"color"},titleClassTextColor:{...v,property:"color"},titleClassInheritedTextColor:{...f,property:"color"},titleFunctionTextColor:{...w,property:"color"},attrTextColor:{...k,property:"color"},attributeTextColor:{...T,property:"color"},literalTextColor:{...j,property:"color"},metaTextColor:{...$,property:"color"},numberTextColor:{..._,property:"color"},operatorTextColor:{...E,property:"color"},variableTextColor:{...R,property:"color"},selectorAttrTextColor:{...A,property:"color"},selectorClassTextColor:{...S,property:"color"},selectorIdTextColor:{...I,property:"color"},regexpTextColor:{...q,property:"color"},stringTextColor:{...z,property:"color"},metaStringTextColor:{...O,property:"color"},builtInTextColor:{...P,property:"color"},symbolTextColor:{...D,property:"color"},commentTextColor:{...L,property:"color"},codeTextColor:{...H,property:"color"},formulaTextColor:{...N,property:"color"},nameTextColor:{...B,property:"color"},quoteTextColor:{...M,property:"color"},selectorTagTextColor:{...F,property:"color"},selectorPseudoTextColor:{...V,property:"color"},substTextColor:{...W,property:"color"},sectionTextColor:{...G,property:"color"},bulletTextColor:{...Z,property:"color"},emphasisTextColor:{...J,property:"color"},strongTextColor:{...K,property:"color"},additionTextColor:{...Q,property:"color"},additionBgColor:{...Q,property:"background-color"},deletionTextColor:{...X,property:"color"},deletionBgColor:{...X,property:"background-color"},charEscapeTextColor:{...U,property:"color"},linkTextColor:{...Y,property:"color"},paramsTextColor:{...ee,property:"color"},propertyTextColor:{...te,property:"color"},punctuationTextColor:{...re,property:"color"},tagTextColor:{...oe,property:"color"}}}),n.VO,n.tQ)(c);customElements.define(d,ne)},92107:(e,t,r)=>{r.r(t),r.d(t,{componentName:()=>i});var o=r(97810),n=r(94591);class l extends n.v{get sortable(){return"true"===this.getAttribute("sortable")}_defaultRenderer(e,t,r){const o=t._gridValue,n=o.detailsOpenedItems?.indexOf(r.item)??-1,l=-1!==n,i=document.createElement("vaadin-icon");i.icon=l?"vaadin:angle-up":"vaadin:angle-down",i.classList.add("toggle-details-button",l?"opened":"closed"),e.innerHTML="",e.append(i),i.onclick=()=>{o.detailsOpenedItems=l?o.detailsOpenedItems.toSpliced(n,1):[...o.detailsOpenedItems,r.item]}}_defaultHeaderRenderer(e,t){this.sortable?super._defaultHeaderRenderer(e,t):this.__setTextContent(e,this.__getHeader(this.header,this.path))}}r(95260),r(37182);const i=(0,o.xE)("grid-item-details-column");customElements.define(i,l)}}]);
1
+ "use strict";(self.webpackChunk_descope_web_components_ui=self.webpackChunk_descope_web_components_ui||[]).push([[2200,3521,7362],{115:(e,t,r)=>{r.d(t,{i:()=>n});var o=r(94591);class n extends o.v{get sortable(){return"true"===this.getAttribute("sortable")}_defaultRenderer(e,t,r){const o=r.item[this.path]||"",n=Array.isArray(o)?o.join(", "):o;this.__setTextContent(e,n),e.title=n}_defaultHeaderRenderer(e,t){this.sortable?super._defaultHeaderRenderer(e,t):this.__setTextContent(e,this.__getHeader(this.header,this.path))}}},3274:(e,t,r)=>{r.r(t);var o=r(41813);customElements.define(o.T,o.A)},3393:(e,t,r)=>{r.d(t,{y:()=>i});var o=r(9696),n=r(79365),l=r(81365);const i=(...e)=>(0,o.Zz)(n.XX,n._$,n.yF,n.jd)((0,l.q)(...e))},12909:(e,t,r)=>{r.r(t),r.d(t,{componentName:()=>i});var o=r(97810),n=r(115);class l extends n.i{_defaultRenderer(e,t,r){const o=r.item[this.path]||"",n=Array.from(this.children).find((e=>{const t=e.getAttribute("data-pattern");return!t||new RegExp(t).test(o)}));if(!n)return void this.__setTextContent(e,r.item[this.path]||"");const l=n.cloneNode(!0);l.textContent=o||"",e.innerHTML="",e.append(l)}}const i=(0,o.xE)("grid-custom-column");customElements.define(i,l)},19847:(e,t,r)=>{r.d(t,{A:()=>l});var o=r(97810),n=r(41813);const l=e=>class extends e{init(){super.init?.();const e=document.createElement("template");e.innerHTML=`\n\t\t\t\t<${n.T}\n\t\t\t\t\ttabindex="-1"\n\t\t\t\t\tslot="input"\n\t\t\t\t></${n.T}>\n\t\t\t`,this.baseElement.appendChild(e.content.cloneNode(!0)),this.inputElement=this.shadowRoot.querySelector(n.T),this.checkbox=this.inputElement.querySelector("vaadin-checkbox"),(0,o.EA)(this,this.inputElement,{includeAttrs:["required","full-width","size","label","invalid","disabled","readonly"]}),(0,o.q)(this.inputElement,this,["checked"]),(0,o.Gh)(this,this.inputElement,{includeAttrs:["checked"]})}}},38976:(e,t,r)=>{r.r(t),r.d(t,{GridClass:()=>A,componentName:()=>h}),r(6735),r(57148),r(12909),r(57641),r(92107),r(80522);var o=r(9696),n=r(97810),l=r(79365);const i=e=>{const t=Array.isArray(e);return t||console.error("data must be an array, received:",e),t},s=e=>{const t=document.createElement("div");return t.textContent=e,t.innerHTML},a=e=>(e=>e?.constructor===Object)(e)?"object":Array.isArray(e)?"array":/^\s*<[\s\S]*>/.test(e)?"xml":"text",d=(e,t)=>`<descope-code-snippet lang="${t}" class="row-details__value code">${s(e)}</descope-code-snippet>`,c=e=>`<div class="row-details__value text" title="${e}">${s(e)}</div>`,p=e=>d(JSON.stringify(e,null,2),"json"),h=(0,n.xE)("grid"),{host:u,headerRow:g,headerRowCell:m,contentRow:b,firstRow:y,sortIndicators:x,activeSortIndicator:C,selectedRow:v,rowSeparator:f,resizeHandle:w,toggleDetailsPanelButton:k,toggleDetailsPanelButtonOpened:T,toggleDetailsPanelButtonClosed:j,detailsPanel:$,detailsPanelLabels:_,selectedRowCell:E,detailsPanelContent:R}={host:{selector:()=>"vaadin-grid"},headerRow:{selector:()=>"::part(header-cell)"},headerRowCell:{selector:()=>"vaadin-grid::part(header-cell)"},contentRow:{selector:()=>"::part(cell)"},firstRow:{selector:()=>"::part(first-header-row-cell)"},selectedRow:{selector:()=>"::part(selected-row)"},selectedRowCell:{selector:()=>"::part(selected-row-cell)"},sortIndicators:{selector:()=>"vaadin-grid-sorter::part(indicators)"},activeSortIndicator:{selector:()=>"vaadin-grid-sorter[direction]"},rowSeparator:{selector:()=>"vaadin-grid::part(body-cell)"},resizeHandle:{selector:()=>"::part(resize-handle)"},toggleDetailsPanelButton:{selector:()=>"vaadin-grid vaadin-icon.toggle-details-button"},toggleDetailsPanelButtonOpened:{selector:()=>"vaadin-grid vaadin-icon.toggle-details-button.opened"},toggleDetailsPanelButtonClosed:{selector:()=>"vaadin-grid vaadin-icon.toggle-details-button.closed"},detailsPanel:{selector:()=>"vaadin-grid::part(details-cell)"},detailsPanelLabels:{selector:()=>"vaadin-grid .row-details__label"},detailsPanelContent:{selector:()=>"vaadin-grid .row-details"}},A=(0,o.Zz)((0,l.RF)({componentNameOverride:(0,n.xE)("input-wrapper")}),(0,l.RF)({mappings:{hostWidth:{selector:()=>":host",property:"width"},hostHeight:{selector:()=>":host",property:"height"},hostMinHeight:{selector:()=>":host",property:"min-height"},fontFamily:[{...g},{...b}],fontSize:[{...g},{...b}],fontWeight:{...b},valueTextColor:{...b,property:"color"},backgroundColor:[{...u,property:"background-color"},{...b,property:"background-color"}],sortIndicatorsColor:{...x,property:"color"},activeSortIndicator:{...C,property:"color"},borderColor:{...u,property:"border-color"},borderWidth:{...u,property:"border-width"},borderStyle:{...u,property:"border-style"},borderRadius:{...u,property:"border-radius"},selectedBackgroundColor:[{...v,property:"background-color"},{...E,property:"background-color"}],headerRowTextColor:{...m,property:"color"},separatorColor:[{...y,property:"border-bottom-color"},{...f,property:"border-top-color"}],resizeHandleColor:{...w,property:"background-color"},hostDirection:{...u,property:"direction",fallback:"ltr"},toggleDetailsPanelButtonSize:[{...k,property:"width"},{...k,property:"height"}],toggleDetailsPanelButtonOpenedColor:{...T,property:"color"},toggleDetailsPanelButtonClosedColor:{...j,property:"color"},toggleDetailsPanelButtonCursor:{...k,property:"cursor"},detailsPanelBackgroundColor:{...$,property:"background-color"},detailsPanelBorderTopColor:{...$,property:"border-top-color"},detailsPanelLabelsColor:{..._,property:"color"},detailsPanelLabelsFontSize:{..._,property:"font-size"},detailsPanelItemsGap:{...R,property:"grid-gap"},detailsPanelPadding:{...R,property:"padding"}}}),l.VO,l.tQ,(e=>class extends e{#e;init(){super.init?.(),this.handleColumns(),this.forwardSelectedItemsChange(),this.baseElement._mapSorters=()=>{};const e=this.baseElement._updateDetailsCellHeight;this.baseElement._updateDetailsCellHeight=t=>{t&&e.call(this.baseElement,t)},this.baseElement.rowDetailsRenderer=this.#t.bind(this)}#t=async(e,t,r)=>{e.addEventListener("mousedown",(e=>e.stopImmediatePropagation()),!0);const o=this.getRowDetailsTemplate(r.item);e.innerHTML="",e.append(o.content.cloneNode(!0))};getRowDetailsTemplate(e){const t=this.#e.reduce(((e,{path:t,header:r})=>t&&r?{...e,[t]:r}:e),{}),r=this.rowDetailsRenderer?.(e,t)??((e,t)=>`\n <div class="row-details">\n ${Object.entries(e).map((([e,r])=>`<div class="row-details__item" >\n <div class="row-details__label">${t[e]||(0,o.wy)(e)}</div>\n ${(e=>{const t=a(e);return"object"===t?p(e):"xml"===t?(e=>d(e,"xml"))(e):"array"===t?e.some((e=>"object"===a(e)))?p(e):c(e.join(",\n")):c(e)})(r)}\n </div>`)).join("\n")}\n</div>\n `)(e,t);switch(!0){case r instanceof HTMLTemplateElement:return r;case"string"==typeof r:return Object.assign(document.createElement("template"),{innerHTML:r});default:throw new Error("rowDetailsRenderer should return a string or a template")}}forwardSelectedItemsChange(){this.baseElement.addEventListener("selected-items-changed",(e=>{this.dispatchEvent(new CustomEvent("selected-items-changed",{bubbles:!0,composed:!0,detail:e.detail}))}))}attributeChangedCallback(e,t,r){super.attributeChangedCallback?.(e,t,r),"columns"===e&&this.setColumnsDataFromAttr()}handleColumns(){this.columnsAttr?this.setColumnsDataFromAttr():this.children.length&&this.setColumnsFromChildren()}setColumnsFromChildren(){this.#e=Array.from(this.children).map((e=>({path:e.getAttribute("path"),header:e.getAttribute("header"),type:e.localName.match("^descope-grid-(\\w+)-column$")?.[1]||"text",attrs:["frozen","resizable","auto-width","status"].reduce(((t,r)=>{const o=e.getAttribute(r);return o&&(t[r]=o),t}),{})})))}get columnsAttr(){return this.getAttribute("columns")}setColumnsDataFromAttr(){try{const e=JSON.parse(this.columnsAttr);i(e)&&(this.columns=e)}catch(e){console.error('could not parse data string from attribute "columns" -',e.message)}}#r=({path:e,header:t,type:r,attrs:o})=>{const n=`descope-grid-${r}-column`;return`<${n} header="${t}" path="${e}" ${Object.entries(o).map((([e,t])=>`${e}="${t}"`)).join(" ")}></${n}>`};get renderColumn(){return this.#r}set renderColumn(e){this.#r=e,this.renderColumns()}getColumnsTemplate(){return this.#e?.reduce?.(((e,t)=>e+(this.renderColumn?.(t||{})||"")),"")}reassignRowDetailsRenderer(){this.baseElement.rowDetailsRenderer=null,setTimeout((()=>{this.baseElement.rowDetailsRenderer=this.#t.bind(this)}),0)}renderColumns(){const e=this.getColumnsTemplate();e&&(this.reassignRowDetailsRenderer(),this.innerHTML=e)}get grid(){return this.shadowRoot.querySelector("vaadin-grid")}get data(){return this.grid.items}set data(e){if(i(e)&&this.grid.items!==e&&(this.grid.items=e,this.grid.selectedItems)){const e=new Set(this.grid.items.map((e=>e[this.uniqueColumnId]??e))),t=this.grid.selectedItems.filter((t=>e.has(t[this.uniqueColumnId]??t)));this.grid.selectedItems.length!==t.length&&(this.grid.selectedItems=t)}}get columns(){return this.#e}set columns(e){this.#e=e,this.renderColumns()}get paths(){return this.columns.map((e=>e.path))}get uniqueColumnId(){return this.getAttribute("unique-column-id")}}))((0,l.tz)({delegatesFocus:!1,slots:[""],wrappedEleName:"vaadin-grid",style:()=>`\n /*css*/\n vaadin-grid {\n overflow: hidden;\n height: 100%;\n min-height: 300px;\n }\n vaadin-grid-cell-content {\n display: flex;\n }\n vaadin-grid::part(selected-row-cell) {\n background-image: none;\n box-shadow: none;\n background-color: inherit;\n }\n vaadin-grid::part(details-cell) {\n border-top-style: dashed;\n border-top-width: 1px;\n }\n vaadin-grid .row-details {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(max(200px, calc(100%/4 - var(${A.cssVarList.detailsPanelItemsGap}))), 1fr));\n width: 100%;\n }\n vaadin-grid .row-details__item:has(.row-details__value.code) {\n grid-column: 1 / -1;\n order: 2;\n }\n vaadin-grid .row-details__value.text {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: pre;\n }\n vaadin-grid .row-details__value.code {\n margin-top: 5px;\n max-height: 120px;\n overflow: scroll;\n font-size: 0.85em;\n }\n vaadin-grid vaadin-icon.toggle-details-button {\n margin: auto;\n }\n /*!css*/\n\t\t`,excludeAttrsSync:["columns","tabindex","style"],componentName:h}));customElements.define(h,A)},41813:(e,t,r)=>{r.d(t,{A:()=>a,T:()=>l});var o=r(3393),n=r(97810);const l=(0,n.xE)("boolean-field-internal"),i=["disabled","label","invalid","readonly"],s=(0,o.y)({componentName:l,baseSelector:"div"}),a=class extends s{static get observedAttributes(){return["readonly"]}constructor(){super(),this.innerHTML='\n\t\t\t<div class="wrapper">\n\t\t\t\t<vaadin-checkbox></vaadin-checkbox>\n\t\t\t</div>\n\t\t',this.wrapperEle=this.querySelector("div"),this.checkbox=this.querySelector("vaadin-checkbox")}get value(){return this.checkbox?.checked}set value(e){this.checkbox.checked=e}get checked(){return this.value}set checked(e){this.value=e}init(){this.addEventListener("focus",(e=>{e.isTrusted&&this.checkbox.focus()})),super.init?.(),(0,n.EA)(this,this.checkbox,{includeAttrs:i}),(0,n.Gh)(this,this.checkbox,{includeAttrs:["checked"]}),this.handleFocusEventsDispatching([this.checkbox])}attributeChangedCallback(e,t,r){super.attributeChangedCallback?.(e,t,r),"readonly"===e&&this.onReadOnlyChange(null!==r)}onReadOnlyChange(e){this.baseElement.setAttribute("inert",e)}getValidity(){return this.isRequired&&!this.value?{valueMissing:!0}:{}}}},47507:(e,t,r)=>{r.d(t,{A:()=>o});const o=`\n:host {\n\tdisplay: inline-flex;\n}\n\n${(0,r(73551).X6)()}\n\n.wrapper {\n\tdisplay: flex;\n\tbox-sizing: border-box;\n}\nvaadin-text-field {\n\tposition: relative;\n\tpadding: 0;\n\tdisplay: inline-flex;\n\talign-items: flex-start;\n}\nvaadin-text-field::before {\n content: unset;\n}\nvaadin-text-field::part(label) {\n position: absolute;\n top: 0;\n}\nvaadin-text-field::part(input-field) {\n\tpadding: 0;\n\tbackground: none;\n\tmin-height: 0;\n}\nvaadin-text-field::part(input-field)::after {\n background: none;\n}\nvaadin-text-field[focus-ring]::part(input-field) {\n\tbox-shadow: none;\n}\n\nvaadin-checkbox [slot="label"] {\n align-self: flex-start;\n padding: 0;\n}\n[required] vaadin-checkbox [slot="label"]:not(:empty) {\n\tpadding-inline-end: 1em;\n}\ndescope-boolean-field-internal {\n -webkit-mask-image: none;\n min-height: initial;\n}\n`},49582:(e,t,r)=>{r.r(t),r.d(t,{CheckboxClass:()=>o.q,componentName:()=>o.T});var o=r(64321);r(67468),r(11284),r(3274),customElements.define(o.T,o.q)},57148:(e,t,r)=>{r.r(t),r.d(t,{componentName:()=>l});var o=r(97810),n=r(115);const l=(0,o.xE)("grid-text-column");customElements.define(l,n.i)},57641:(e,t,r)=>{r.r(t),r.d(t,{componentName:()=>a}),r(49582);var o=r(97810),n=r(49654);const l=()=>{const e=document.createElement("descope-checkbox");return e.setAttribute("bordered","true"),e.setAttribute("size","xs"),e},i=e=>!!e.items?.length&&e.selectedItems.length===e.items.length;class s extends n.${_onHeaderRendererOrBindingChanged(){}_headerRenderer(e){const t=e.parentNode;let r=e.querySelector("descope-checkbox");r||(r=l(),r.addEventListener("input",(()=>{const e=i(t);t.selectedItems=e?[]:t.items})),e.appendChild(r)),r.setAttribute("checked",i(t))}_defaultRenderer(e,t,r){const o=e.parentNode;let n=e.querySelector("descope-checkbox");n||(n=l(),e.appendChild(n)),n.onchange=()=>{n.checked?o.selectItem(r.item):o.deselectItem(r.item)},n.setAttribute("checked",r.selected)}}const a=(0,o.xE)("grid-selection-column");customElements.define(a,s)},64321:(e,t,r)=>{r.d(t,{T:()=>d,q:()=>x});var o=r(97810),n=r(9696),l=r(79365),i=r(19847),s=r(47507),a=r(73551);const d=(0,o.xE)("checkbox"),{host:c,component:p,checkboxElement:h,checkboxSurface:u,checkboxLabel:g,requiredIndicator:m,helperText:b,errorMessage:y}={host:{selector:()=>":host"},requiredIndicator:{selector:'[required] vaadin-checkbox [slot="label"]:not(:empty)::after'},component:{selector:"vaadin-checkbox"},checkboxElement:{selector:"vaadin-checkbox::part(checkbox)"},checkboxSurface:{selector:"vaadin-checkbox::part(checkbox)::after"},checkboxLabel:{selector:'vaadin-checkbox [slot="label"]:not(:empty)'},helperText:{selector:"::part(helper-text)"},errorMessage:{selector:"::part(error-message)"}},x=(0,n.Zz)((0,l.RF)({mappings:{hostWidth:{...c,property:"width"},hostDirection:{...c,property:"direction"},fontSize:[c,h,g],fontFamily:[g,b,y],labelTextColor:{...g,property:"color"},labelSpacing:{...g,property:"padding-inline-start"},labelLineHeight:{...g,property:"line-height"},labelFontWeight:{...g,property:"font-weight"},labelRequiredIndicator:{...m,property:"content"},errorMessageTextColor:{...y,property:"color"},errorMessageIcon:{...y,property:"background-image"},errorMessageIconSize:{...y,property:"background-size"},errorMessageIconPadding:{...y,property:"padding-inline-start"},errorMessageIconRepeat:{...y,property:"background-repeat"},errorMessageIconPosition:{...y,property:"background-position"},errorMessageFontSize:{...y,property:"font-size"},inputValueTextColor:{...u,property:"color"},inputBackgroundColor:{...h,property:"background-color"},inputBorderRadius:{...h,property:"border-radius"},inputBorderWidth:{...h,property:"border-width"},inputBorderOffset:{...h,property:"border-offset"},inputBorderColor:{...h,property:"border-color"},inputBorderStyle:{...h,property:"border-style"},inputOutlineWidth:{...h,property:"outline-width"},inputOutlineOffset:{...h,property:"outline-offset"},inputOutlineColor:{...h,property:"outline-color"},inputOutlineStyle:{...h,property:"outline-style"},inputSize:[{...h,property:"width"},{...h,property:"height"},{...u,property:"font-size"},{...p,property:"font-size"}]}}),l.VO,(0,l.OZ)({proxyProps:["value","selectionStart"]}),l.tQ,i.A)((0,l.tz)({slots:[],wrappedEleName:"vaadin-text-field",style:()=>`\n\t\t\t${s.A}\n ${(0,a.cy)(x.cssVarList)}\n\n :host {\n\t\t\t\tdisplay: inline-flex;\n\t\t\t\tmax-width: 100%;\n margin: 1px;\n }\n\n :host ::part(error-message) {\n direction: ltr;\n }\n\n vaadin-text-field {\n width: 100%;\n }\n\n descope-boolean-field-internal {\n\t\t\t\tpadding: 0;\n\t\t\t\twidth: 100%;\n height: 100%;\n }\n\n vaadin-checkbox::part(checkbox) {\n margin: 0;\n }\n\n vaadin-checkbox::part(checkbox)::after {\n top: 0;\n left: 0;\n -webkit-text-fill-color: initial;\n }\n\n vaadin-checkbox label {\n -webkit-text-fill-color: initial;\n }\n\n vaadin-text-field::part(input-field)::after {\n content: none;\n }\n `,excludeAttrsSync:["label","tabindex"],componentName:d}))},73551:(e,t,r)=>{r.d(t,{$J:()=>h,I4:()=>i,Kl:()=>u,LJ:()=>p,Qv:()=>l,X6:()=>a,cy:()=>o,fu:()=>d,kG:()=>c,lS:()=>s,zm:()=>n});const o=e=>`\n :host {\n padding: calc(var(${e.inputOutlineWidth}) + var(${e.inputOutlineOffset}))\n }\n`,n=e=>`\n ${e} {\n margin: 0;\n padding: 0;\n width: 100%;\n height: 100%;\n box-sizing: border-box;\n }\n`,l=e=>`\n ${e}::part(input-field) {\n overflow: hidden;\n padding: 0;\n box-shadow: none;\n }\n`,i=e=>`\n ${e} > label,\n ${e}::part(label),\n ${e}::part(required-indicator) {\n cursor: pointer;\n }\n`,s=(e,t="input")=>`\n ${e}[disabled] > ${t}:placeholder-shown,\n\t${e}[readonly] > ${t}:placeholder-shown {\n\t\topacity: 1;\n\t}\n`,a=()=>"\n :host {\n --vaadin-field-default-width: auto;\n box-sizing: border-box;\n }\n",d=e=>`\n ${e}::part(input-field)::after {\n opacity: 0;\n }\n`,c=e=>`\n ${e}::part(input-field)::after {\n background: none;\n }\n`,p=(e,t)=>`\n ${n(e)}\n ${i(e)}\n ${s(e)}\n ${l(e)}\n ${((e,t)=>`\n ${e} input:-webkit-autofill,\n ${e} input:-webkit-autofill::first-line,\n ${e} input:-webkit-autofill:hover,\n ${e} input:-webkit-autofill:active,\n ${e} input:-webkit-autofill:focus {\n -webkit-text-fill-color: var(${t.inputValueTextColor});\n box-shadow: 0 0 0 var(${t.inputHeight}) var(${t.inputBackgroundColor}) inset;\n }\n`)(e,t)}\n ${c(e)}\n ${(e=>`\n ${e}::before {\n\t\theight: unset;\n\t}\n`)(e)}\n ${(e=>`\n ${e} > input {\n -webkit-mask-image: none;\n min-height: 0;\n box-sizing: border-box;\n }\n`)(e)}\n ${(e=>`\n ${e}::part(input-field)::after {\n border: none;\n }\n`)(e)}\n`,h=e=>`\n :host ::part(error-message) {\n direction: ltr;\n }\n :host([required]) ::part(required-indicator) {\n width: 1em;\n display: inline-flex;\n }\n :host([required]) ::part(required-indicator)::after {\n position: static;\n }\n :host([has-label]) ::part(label) {\n padding-right: 0;\n padding-bottom: 0;\n display: flex;\n width: 100%;\n }\n ${e} [slot="label"] {\n max-width: calc(100% - 1em);\n overflow: hidden;\n text-overflow: ellipsis;\n padding-bottom: 0.5em;\n }\n`,u=()=>'\n :host([label-type="floating"]) {\n position: relative;\n }\n :host([label-type="floating"][has-label]) [slot="label"] {\n padding: 0;\n }\n :host([label-type="floating"][has-label]) > ::part(label) {\n z-index: 1;\n padding: 0;\n width: auto;\n }\n '},80522:(e,t,r)=>{r.r(t),r.d(t,{CodeSnippetClass:()=>ne,componentName:()=>d});var o=r(75780),n=r(79365),l=r(9696),i=r(97810),s=r(81365),a=r(25964);const d=(0,i.xE)("code-snippet");class c extends((0,s.q)({componentName:d,baseSelector:":host > code"})){static get observedAttributes(){return["lang","inline"]}constructor(){super(),this.attachShadow({mode:"open"}).innerHTML='\n <code class="hljs"></code>\n ',(0,a.fz)("\n :host {\n display: inline-block;\n width: 100%;\n }\n code {\n display: block;\n width: 100%;\n min-height: 1em;\n overflow-x: scroll;\n overflow-y: scroll;\n }\n pre {\n margin: 0;\n }\n ",this)}init(){super.init?.(),this.lang=this.getAttribute("lang"),this.isInline="true"===this.getAttribute("inline"),(0,i.Ge)(this,this.#o.bind(this))}get contentNode(){return this.shadowRoot.querySelector(this.baseSelector)}attributeChangedCallback(e,t,r){super.attributeChangedCallback?.(e,t,r),t!==r&&("inline"===e&&(this.isInline=r),"lang"===e&&(this.lang=r),this.#o())}#o(){const e=(e=>{const t=document.createElement("textarea");return t.innerHTML=e,t.value})(this.textContent),t=this.lang;if(!t)return void(this.contentNode.textContent=e);const{value:r}=o.A.highlight(e,{language:t});var n;this.contentNode.innerHTML=(n=r,this.isInline?n:`<pre>${n}</pre>`)}}const{root:p,docTag:h,keyword:u,metaKeyword:g,templateTag:m,templateVariable:b,type:y,variableLanguage:x,title:C,titleClass:v,titleClassInherited:f,titleFunction:w,attr:k,attribute:T,literal:j,meta:$,number:_,operator:E,variable:R,selectorAttr:A,selectorClass:S,selectorId:I,regexp:q,string:z,metaString:O,builtIn:P,symbol:D,comment:L,code:H,formula:N,name:B,quote:M,selectorTag:F,selectorPseudo:V,subst:W,section:G,bullet:Z,emphasis:J,strong:K,addition:Q,deletion:X,charEscape:U,link:Y,params:ee,property:te,punctuation:re,tag:oe}={root:{selector:()=>".hljs"},docTag:{selector:()=>".hljs-doctag"},keyword:{selector:()=>".hljs-keyword"},metaKeyword:{selector:()=>".hljs-meta .hljs-keyword"},templateTag:{selector:()=>".hljs-template-tag"},templateVariable:{selector:()=>".hljs-template-variable"},type:{selector:()=>".hljs-type"},variableLanguage:{selector:()=>".hljs-variable.language"},title:{selector:()=>".hljs-title"},titleClass:{selector:()=>".hljs-title.class_"},titleClassInherited:{selector:()=>".hljs-title.class_.inherited__"},titleFunction:{selector:()=>".hljs-title.function_"},attr:{selector:()=>".hljs-attr"},attribute:{selector:()=>".hljs-attribute"},literal:{selector:()=>".hljs-literal"},meta:{selector:()=>".hljs-meta"},number:{selector:()=>".hljs-number"},operator:{selector:()=>".hljs-operator"},variable:{selector:()=>".hljs-variable"},selectorAttr:{selector:()=>".hljs-selector-attr"},selectorClass:{selector:()=>".hljs-selector-class"},selectorId:{selector:()=>".hljs-selector-id"},regexp:{selector:()=>".hljs-regexp"},string:{selector:()=>".hljs-string"},metaString:{selector:()=>".hljs-meta .hljs-string"},builtIn:{selector:()=>".hljs-built_in"},symbol:{selector:()=>".hljs-symbol"},comment:{selector:()=>".hljs-comment"},code:{selector:()=>".hljs-code"},formula:{selector:()=>".hljs-formula"},name:{selector:()=>".hljs-name"},quote:{selector:()=>".hljs-quote"},selectorTag:{selector:()=>".hljs-selector-tag"},selectorPseudo:{selector:()=>".hljs-selector-pseudo"},subst:{selector:()=>".hljs-subst"},section:{selector:()=>".hljs-section"},bullet:{selector:()=>".hljs-bullet"},emphasis:{selector:()=>".hljs-emphasis"},strong:{selector:()=>".hljs-strong"},addition:{selector:()=>".hljs-addition"},deletion:{selector:()=>".hljs-deletion"},charEscape:{selector:()=>".hljs-char.escape"},link:{selector:()=>".hljs-link"},params:{selector:()=>".hljs-params"},property:{selector:()=>".hljs-property"},punctuation:{selector:()=>".hljs-punctuation"},tag:{selector:()=>".hljs-tag"}},ne=(0,l.Zz)((0,n.RF)({mappings:{rootBgColor:{...p,property:"background-color"},rootTextColor:{...p,property:"color"},docTagTextColor:{...h,property:"color"},keywordTextColor:{...u,property:"color"},metaKeywordTextColor:{...g,property:"color"},templateTagTextColor:{...m,property:"color"},templateVariableTextColor:{...b,property:"color"},typeTextColor:{...y,property:"color"},variableLanguageTextColor:{...x,property:"color"},titleTextColor:{...C,property:"color"},titleClassTextColor:{...v,property:"color"},titleClassInheritedTextColor:{...f,property:"color"},titleFunctionTextColor:{...w,property:"color"},attrTextColor:{...k,property:"color"},attributeTextColor:{...T,property:"color"},literalTextColor:{...j,property:"color"},metaTextColor:{...$,property:"color"},numberTextColor:{..._,property:"color"},operatorTextColor:{...E,property:"color"},variableTextColor:{...R,property:"color"},selectorAttrTextColor:{...A,property:"color"},selectorClassTextColor:{...S,property:"color"},selectorIdTextColor:{...I,property:"color"},regexpTextColor:{...q,property:"color"},stringTextColor:{...z,property:"color"},metaStringTextColor:{...O,property:"color"},builtInTextColor:{...P,property:"color"},symbolTextColor:{...D,property:"color"},commentTextColor:{...L,property:"color"},codeTextColor:{...H,property:"color"},formulaTextColor:{...N,property:"color"},nameTextColor:{...B,property:"color"},quoteTextColor:{...M,property:"color"},selectorTagTextColor:{...F,property:"color"},selectorPseudoTextColor:{...V,property:"color"},substTextColor:{...W,property:"color"},sectionTextColor:{...G,property:"color"},bulletTextColor:{...Z,property:"color"},emphasisTextColor:{...J,property:"color"},strongTextColor:{...K,property:"color"},additionTextColor:{...Q,property:"color"},additionBgColor:{...Q,property:"background-color"},deletionTextColor:{...X,property:"color"},deletionBgColor:{...X,property:"background-color"},charEscapeTextColor:{...U,property:"color"},linkTextColor:{...Y,property:"color"},paramsTextColor:{...ee,property:"color"},propertyTextColor:{...te,property:"color"},punctuationTextColor:{...re,property:"color"},tagTextColor:{...oe,property:"color"}}}),n.VO,n.tQ)(c);customElements.define(d,ne)},92107:(e,t,r)=>{r.r(t),r.d(t,{componentName:()=>i});var o=r(97810),n=r(94591);class l extends n.v{get sortable(){return"true"===this.getAttribute("sortable")}_defaultRenderer(e,t,r){const o=t._gridValue,n=o.detailsOpenedItems?.indexOf(r.item)??-1,l=-1!==n,i=document.createElement("vaadin-icon");i.icon=l?"vaadin:angle-up":"vaadin:angle-down",i.classList.add("toggle-details-button",l?"opened":"closed"),e.innerHTML="",e.append(i),i.onclick=()=>{o.detailsOpenedItems=l?o.detailsOpenedItems.toSpliced(n,1):[...o.detailsOpenedItems,r.item]}}_defaultHeaderRenderer(e,t){this.sortable?super._defaultHeaderRenderer(e,t):this.__setTextContent(e,this.__getHeader(this.header,this.path))}}r(95260),r(37182);const i=(0,o.xE)("grid-item-details-column");customElements.define(i,l)}}]);
2
2
  //# sourceMappingURL=descope-grid-index-js.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"descope-grid-index-js.js","mappings":"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","sources":["webpack://@descope/web-components-ui/./src/components/descope-grid/descope-grid-text-column/GridTextColumnClass.js","webpack://@descope/web-components-ui/./src/components/boolean-fields/descope-boolean-field-internal/index.js","webpack://@descope/web-components-ui/./src/baseClasses/createBaseInputClass.js","webpack://@descope/web-components-ui/./src/components/descope-grid/descope-grid-custom-column/GridCustomColumnClass.js","webpack://@descope/web-components-ui/./src/components/descope-grid/descope-grid-custom-column/index.js","webpack://@descope/web-components-ui/./src/components/boolean-fields/booleanFieldMixin.js","webpack://@descope/web-components-ui/./src/components/descope-grid/helpers.js","webpack://@descope/web-components-ui/./src/components/descope-grid/GridClass.js","webpack://@descope/web-components-ui/./src/components/descope-grid/index.js","webpack://@descope/web-components-ui/./src/components/boolean-fields/descope-boolean-field-internal/BooleanFieldInternal.js","webpack://@descope/web-components-ui/./src/components/boolean-fields/commonStyles.js","webpack://@descope/web-components-ui/./src/components/boolean-fields/descope-checkbox/index.js","webpack://@descope/web-components-ui/./src/components/descope-grid/descope-grid-text-column/index.js","webpack://@descope/web-components-ui/./src/components/descope-grid/descope-grid-selection-column/GridSelectionColumnClass.js","webpack://@descope/web-components-ui/./src/components/descope-grid/descope-grid-selection-column/index.js","webpack://@descope/web-components-ui/./src/components/boolean-fields/descope-checkbox/CheckboxClass.js","webpack://@descope/web-components-ui/./src/helpers/themeHelpers/resetHelpers.js","webpack://@descope/web-components-ui/./src/components/descope-code-snippet/CodeSnippetClass.js","webpack://@descope/web-components-ui/./src/components/descope-code-snippet/helpers.js","webpack://@descope/web-components-ui/./src/components/descope-code-snippet/index.js","webpack://@descope/web-components-ui/./src/components/descope-grid/descope-grid-item-details-column/GridItemDetailsColumnClass.js","webpack://@descope/web-components-ui/./src/components/descope-grid/descope-grid-item-details-column/index.js"],"sourcesContent":["/* eslint-disable no-param-reassign */\nimport { GridSortColumn } from '@vaadin/grid/vaadin-grid-sort-column';\n\nexport class GridTextColumnClass extends GridSortColumn {\n get sortable() {\n return this.getAttribute('sortable') === 'true';\n }\n\n _defaultRenderer(cell, _col, model) {\n const data = model.item[this.path] || '';\n const content = Array.isArray(data) ? data.join(', ') : data;\n\n this.__setTextContent(cell, content);\n cell.title = content;\n }\n\n _defaultHeaderRenderer(root, _column) {\n if (this.sortable) {\n super._defaultHeaderRenderer(root, _column);\n\n return;\n }\n\n this.__setTextContent(root, this.__getHeader(this.header, this.path));\n }\n}\n","import BooleanFieldInternal, { componentName } from './BooleanFieldInternal';\n\ncustomElements.define(componentName, BooleanFieldInternal);\n","import { compose } from '../helpers';\nimport {\n changeMixin,\n inputEventsDispatchingMixin,\n inputValidationMixin,\n normalizeBooleanAttributesMixin,\n} from '../mixins';\nimport { createBaseClass } from './createBaseClass';\n\nexport const createBaseInputClass = (...args) =>\n compose(\n inputValidationMixin,\n changeMixin,\n normalizeBooleanAttributesMixin,\n inputEventsDispatchingMixin\n )(createBaseClass(...args));\n","/* eslint-disable no-param-reassign */\nimport { GridTextColumnClass } from '../descope-grid-text-column/GridTextColumnClass';\n\nexport class GridCustomColumnClass extends GridTextColumnClass {\n _defaultRenderer(cell, _col, model) {\n const content = model.item[this.path] || '';\n\n // we get a list of elements that can be used to render the content\n // each element can have a \"pattern\" attribute which contains regex expression\n // we are going over the elements, and when finding an element which is pattern matches the data,\n // we are cloning this element, and injecting the data as its child\n const contentEle = Array.from(this.children).find((child) => {\n const pattern = child.getAttribute('data-pattern');\n if (!pattern) return true;\n\n const regEx = new RegExp(pattern);\n return regEx.test(content);\n });\n\n if (!contentEle) {\n this.__setTextContent(cell, model.item[this.path] || '');\n\n return;\n }\n\n const newEle = contentEle.cloneNode(true);\n newEle.textContent = content || '';\n cell.innerHTML = '';\n cell.append(newEle);\n }\n}\n","/* eslint-disable no-param-reassign */\nimport { getComponentName } from '../../../helpers/componentHelpers';\nimport { GridCustomColumnClass } from './GridCustomColumnClass';\n\nexport const componentName = getComponentName('grid-custom-column');\n\ncustomElements.define(componentName, GridCustomColumnClass);\n","import { forwardAttrs, forwardProps, syncAttrs } from '../../helpers/componentHelpers';\nimport { componentName as descopeInternalComponentName } from './descope-boolean-field-internal/BooleanFieldInternal';\n\nexport const booleanFieldMixin = (superclass) =>\n class BooleanFieldMixinClass extends superclass {\n init() {\n super.init?.();\n\n const template = document.createElement('template');\n template.innerHTML = `\n\t\t\t\t<${descopeInternalComponentName}\n\t\t\t\t\ttabindex=\"-1\"\n\t\t\t\t\tslot=\"input\"\n\t\t\t\t></${descopeInternalComponentName}>\n\t\t\t`;\n\n this.baseElement.appendChild(template.content.cloneNode(true));\n this.inputElement = this.shadowRoot.querySelector(descopeInternalComponentName);\n this.checkbox = this.inputElement.querySelector('vaadin-checkbox');\n\n forwardAttrs(this, this.inputElement, {\n includeAttrs: [\n 'required',\n 'full-width',\n 'size',\n 'label',\n 'invalid',\n 'disabled',\n 'readonly',\n ],\n });\n\n forwardProps(this.inputElement, this, ['checked']);\n syncAttrs(this, this.inputElement, { includeAttrs: ['checked'] });\n }\n };\n","import { toTitle } from '../../helpers';\n\nexport const isValidDataType = (data) => {\n const isValid = Array.isArray(data);\n if (!isValid) {\n // eslint-disable-next-line no-console\n console.error('data must be an array, received:', data);\n }\n\n return isValid;\n};\n\nexport const isPlainObject = (value) => value?.constructor === Object;\n\nconst isXml = (str) => /^\\s*<[\\s\\S]*>/.test(str);\n\nconst escapeXML = (s) => {\n const dom = document.createElement('div');\n dom.textContent = s;\n return dom.innerHTML;\n};\n\nexport const getValueType = (value) => {\n if (isPlainObject(value)) return 'object';\n if (Array.isArray(value)) return 'array';\n if (isXml(value)) return 'xml';\n\n return 'text';\n};\n\nexport const renderCodeSnippet = (value, lang) =>\n `<descope-code-snippet lang=\"${lang}\" class=\"row-details__value code\">${escapeXML(value)}</descope-code-snippet>`;\n\nexport const renderText = (text) =>\n `<div class=\"row-details__value text\" title=\"${text}\">${escapeXML(text)}</div>`;\nconst renderJson = (value) => renderCodeSnippet(JSON.stringify(value, null, 2), 'json');\nconst renderXml = (value) => renderCodeSnippet(value, 'xml');\n\nconst defaultRowDetailsValueRenderer = (value) => {\n const valueType = getValueType(value);\n\n if (valueType === 'object') {\n return renderJson(value);\n }\n\n if (valueType === 'xml') {\n return renderXml(value);\n }\n\n if (valueType === 'array') {\n if (value.some((v) => getValueType(v) === 'object')) {\n return renderJson(value);\n }\n return renderText(value.join(',\\n'));\n }\n\n return renderText(value);\n};\n\nexport const defaultRowDetailsRenderer = (item, itemLabelsMapping) => {\n return `\n <div class=\"row-details\">\n ${Object.entries(item)\n .map(\n ([key, value]) =>\n `<div class=\"row-details__item\" >\n <div class=\"row-details__label\">${itemLabelsMapping[key] || toTitle(key)}</div>\n ${defaultRowDetailsValueRenderer(value)}\n </div>`\n )\n .join('\\n')}\n</div>\n `;\n};\n","import { compose } from '../../helpers';\nimport { getComponentName } from '../../helpers/componentHelpers';\nimport {\n componentNameValidationMixin,\n createProxy,\n createStyleMixin,\n draggableMixin,\n} from '../../mixins';\n\nimport { defaultRowDetailsRenderer, isValidDataType } from './helpers';\n\nexport const componentName = getComponentName('grid');\n\nconst GridMixin = (superclass) =>\n class GridMixinClass extends superclass {\n #columns;\n\n init() {\n super.init?.();\n this.handleColumns();\n this.forwardSelectedItemsChange();\n\n // disable the grid sort\n this.baseElement._mapSorters = () => {};\n\n // there is an issue in vaadin that on some cases when trying to render the details panel, the row is null and this fn throwing\n // so we override it to prevent the error\n const origUpdateDetailsCellHeight = this.baseElement._updateDetailsCellHeight;\n this.baseElement._updateDetailsCellHeight = (row) => {\n if (!row) return;\n origUpdateDetailsCellHeight.call(this.baseElement, row);\n };\n\n this.baseElement.rowDetailsRenderer = this.#rowDetailsRenderer.bind(this);\n }\n\n // this renders the details panel content\n // in order to open it, the descope-grid-item-details-column should be used\n #rowDetailsRenderer = async (cell, _col, model) => {\n // prevent details panel from being scrolled into view when clicked\n cell.addEventListener('mousedown', (e) => e.stopImmediatePropagation(), true);\n\n const template = this.getRowDetailsTemplate(model.item);\n\n // eslint-disable-next-line no-param-reassign\n cell.innerHTML = '';\n cell.append(template.content.cloneNode(true));\n };\n\n getRowDetailsTemplate(item) {\n const itemLabelsMapping = this.#columns.reduce(\n (acc, { path, header }) => (!path || !header ? acc : { ...acc, [path]: header }),\n {}\n );\n const template =\n this.rowDetailsRenderer?.(item, itemLabelsMapping) ??\n defaultRowDetailsRenderer(item, itemLabelsMapping);\n\n switch (true) {\n case template instanceof HTMLTemplateElement:\n return template;\n case typeof template === 'string':\n return Object.assign(document.createElement('template'), { innerHTML: template });\n default:\n throw new Error('rowDetailsRenderer should return a string or a template');\n }\n }\n\n forwardSelectedItemsChange() {\n this.baseElement.addEventListener('selected-items-changed', (e) => {\n this.dispatchEvent(\n new CustomEvent('selected-items-changed', {\n bubbles: true,\n composed: true,\n detail: e.detail,\n })\n );\n });\n }\n\n attributeChangedCallback(attrName, oldValue, newValue) {\n super.attributeChangedCallback?.(attrName, oldValue, newValue);\n\n if (attrName === 'columns') {\n this.setColumnsDataFromAttr();\n }\n }\n\n handleColumns() {\n if (this.columnsAttr) {\n this.setColumnsDataFromAttr();\n } else if (this.children.length) {\n this.setColumnsFromChildren();\n }\n }\n\n setColumnsFromChildren() {\n this.#columns = Array.from(this.children).map((child) => {\n return {\n path: child.getAttribute('path'),\n header: child.getAttribute('header'),\n type: child.localName.match('^descope-grid-(\\\\w+)-column$')?.[1] || 'text',\n\n attrs: ['frozen', 'resizable', 'auto-width', 'status'].reduce((acc, attrName) => {\n const attrVal = child.getAttribute(attrName);\n\n if (attrVal) {\n acc[attrName] = attrVal;\n }\n\n return acc;\n }, {}),\n };\n });\n }\n\n get columnsAttr() {\n return this.getAttribute('columns');\n }\n\n setColumnsDataFromAttr() {\n try {\n const data = JSON.parse(this.columnsAttr);\n if (isValidDataType(data)) {\n this.columns = data;\n }\n } catch (e) {\n // eslint-disable-next-line no-console\n console.error('could not parse data string from attribute \"columns\" -', e.message);\n }\n }\n\n // eslint-disable-next-line class-methods-use-this\n #renderColumn = ({ path, header, type, attrs }) => {\n const colAttrs = Object.entries(attrs)\n .map(([key, value]) => `${key}=\"${value}\"`)\n .join(' ');\n\n const tagName = `descope-grid-${type}-column`;\n\n return `<${tagName} header=\"${header}\" path=\"${path}\" ${colAttrs}></${tagName}>`;\n };\n\n get renderColumn() {\n return this.#renderColumn;\n }\n\n set renderColumn(renderFn) {\n this.#renderColumn = renderFn;\n this.renderColumns();\n }\n\n getColumnsTemplate() {\n return this.#columns?.reduce?.(\n (acc, item) => acc + (this.renderColumn?.(item || {}) || ''),\n ''\n );\n }\n\n // there is an issue in vaadin-grid, when rowDetailsRenderer is set, it renders an empty details panel\n reassignRowDetailsRenderer() {\n this.baseElement.rowDetailsRenderer = null;\n setTimeout(() => {\n this.baseElement.rowDetailsRenderer = this.#rowDetailsRenderer.bind(this);\n }, 0);\n }\n\n renderColumns() {\n const template = this.getColumnsTemplate();\n if (template) {\n this.reassignRowDetailsRenderer();\n this.innerHTML = template;\n }\n }\n\n get grid() {\n return this.shadowRoot.querySelector('vaadin-grid');\n }\n\n get data() {\n return this.grid.items;\n }\n\n set data(data) {\n if (isValidDataType(data) && this.grid.items !== data) {\n this.grid.items = data;\n\n if (this.grid.selectedItems) {\n const itemsIds = new Set(\n this.grid.items.map((item) => item[this.uniqueColumnId] ?? item)\n );\n\n const newSelectedItems = this.grid.selectedItems.filter((selectedItem) =>\n itemsIds.has(selectedItem[this.uniqueColumnId] ?? selectedItem)\n );\n\n // we want to update the selected items only if there is a reason,\n // to prevent redundant notifications\n if (this.grid.selectedItems.length !== newSelectedItems.length) {\n this.grid.selectedItems = newSelectedItems;\n }\n }\n }\n }\n\n get columns() {\n return this.#columns;\n }\n\n set columns(data) {\n this.#columns = data;\n this.renderColumns();\n }\n\n get paths() {\n return this.columns.map((col) => col.path);\n }\n\n get uniqueColumnId() {\n return this.getAttribute('unique-column-id');\n }\n };\n\nconst {\n host,\n headerRow,\n headerRowCell,\n contentRow,\n firstRow,\n sortIndicators,\n activeSortIndicator,\n selectedRow,\n rowSeparator,\n resizeHandle,\n toggleDetailsPanelButton,\n toggleDetailsPanelButtonOpened,\n toggleDetailsPanelButtonClosed,\n detailsPanel,\n detailsPanelLabels,\n selectedRowCell,\n detailsPanelContent,\n} = {\n host: { selector: () => 'vaadin-grid' },\n headerRow: { selector: () => '::part(header-cell)' },\n headerRowCell: { selector: () => 'vaadin-grid::part(header-cell)' },\n contentRow: { selector: () => '::part(cell)' },\n firstRow: { selector: () => '::part(first-header-row-cell)' },\n selectedRow: { selector: () => '::part(selected-row)' },\n selectedRowCell: { selector: () => '::part(selected-row-cell)' },\n sortIndicators: { selector: () => 'vaadin-grid-sorter::part(indicators)' },\n activeSortIndicator: { selector: () => 'vaadin-grid-sorter[direction]' },\n rowSeparator: { selector: () => 'vaadin-grid::part(body-cell)' },\n resizeHandle: { selector: () => '::part(resize-handle)' },\n toggleDetailsPanelButton: { selector: () => 'vaadin-grid vaadin-icon.toggle-details-button' },\n toggleDetailsPanelButtonOpened: {\n selector: () => 'vaadin-grid vaadin-icon.toggle-details-button.opened',\n },\n toggleDetailsPanelButtonClosed: {\n selector: () => 'vaadin-grid vaadin-icon.toggle-details-button.closed',\n },\n detailsPanel: { selector: () => 'vaadin-grid::part(details-cell)' },\n detailsPanelLabels: { selector: () => 'vaadin-grid .row-details__label' },\n detailsPanelContent: { selector: () => 'vaadin-grid .row-details' },\n};\n\nexport const GridClass = compose(\n createStyleMixin({ componentNameOverride: getComponentName('input-wrapper') }),\n createStyleMixin({\n mappings: {\n hostWidth: { selector: () => ':host', property: 'width' },\n hostHeight: { selector: () => ':host', property: 'height' },\n hostMinHeight: { selector: () => ':host', property: 'min-height' },\n fontFamily: [{ ...headerRow }, { ...contentRow }],\n fontSize: [{ ...headerRow }, { ...contentRow }],\n fontWeight: { ...contentRow },\n valueTextColor: { ...contentRow, property: 'color' },\n backgroundColor: [\n { ...host, property: 'background-color' },\n { ...contentRow, property: 'background-color' },\n ],\n sortIndicatorsColor: { ...sortIndicators, property: 'color' },\n activeSortIndicator: { ...activeSortIndicator, property: 'color' },\n borderColor: { ...host, property: 'border-color' },\n borderWidth: { ...host, property: 'border-width' },\n borderStyle: { ...host, property: 'border-style' },\n borderRadius: { ...host, property: 'border-radius' },\n selectedBackgroundColor: [\n { ...selectedRow, property: 'background-color' },\n { ...selectedRowCell, property: 'background-color' },\n ],\n headerRowTextColor: { ...headerRowCell, property: 'color' },\n separatorColor: [\n { ...firstRow, property: 'border-bottom-color' },\n { ...rowSeparator, property: 'border-top-color' },\n ],\n resizeHandleColor: { ...resizeHandle, property: 'background-color' },\n hostDirection: { ...host, property: 'direction', fallback: 'ltr' },\n toggleDetailsPanelButtonSize: [\n { ...toggleDetailsPanelButton, property: 'width' },\n { ...toggleDetailsPanelButton, property: 'height' },\n ],\n toggleDetailsPanelButtonOpenedColor: { ...toggleDetailsPanelButtonOpened, property: 'color' },\n toggleDetailsPanelButtonClosedColor: { ...toggleDetailsPanelButtonClosed, property: 'color' },\n toggleDetailsPanelButtonCursor: { ...toggleDetailsPanelButton, property: 'cursor' },\n detailsPanelBackgroundColor: { ...detailsPanel, property: 'background-color' },\n detailsPanelBorderTopColor: { ...detailsPanel, property: 'border-top-color' },\n detailsPanelLabelsColor: { ...detailsPanelLabels, property: 'color' },\n detailsPanelLabelsFontSize: { ...detailsPanelLabels, property: 'font-size' },\n detailsPanelItemsGap: { ...detailsPanelContent, property: 'grid-gap' },\n detailsPanelPadding: { ...detailsPanelContent, property: 'padding' },\n },\n }),\n draggableMixin,\n componentNameValidationMixin,\n GridMixin\n)(\n createProxy({\n delegatesFocus: false,\n slots: [''],\n wrappedEleName: 'vaadin-grid',\n style: () => `\n /*css*/\n vaadin-grid {\n overflow: hidden;\n height: 100%;\n min-height: 300px;\n }\n vaadin-grid-cell-content {\n display: flex;\n }\n vaadin-grid::part(selected-row-cell) {\n background-image: none;\n box-shadow: none;\n background-color: inherit;\n }\n vaadin-grid::part(details-cell) {\n border-top-style: dashed;\n border-top-width: 1px;\n }\n vaadin-grid .row-details {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(max(200px, calc(100%/4 - var(${GridClass.cssVarList.detailsPanelItemsGap}))), 1fr));\n width: 100%;\n }\n vaadin-grid .row-details__item:has(.row-details__value.code) {\n grid-column: 1 / -1;\n order: 2;\n }\n vaadin-grid .row-details__value.text {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: pre;\n }\n vaadin-grid .row-details__value.code {\n margin-top: 5px;\n max-height: 120px;\n overflow: scroll;\n font-size: 0.85em;\n }\n vaadin-grid vaadin-icon.toggle-details-button {\n margin: auto;\n }\n /*!css*/\n\t\t`,\n excludeAttrsSync: ['columns', 'tabindex', 'style'],\n componentName,\n })\n);\n","import '@vaadin/grid';\nimport './descope-grid-text-column';\nimport './descope-grid-custom-column';\nimport './descope-grid-selection-column';\nimport './descope-grid-item-details-column';\nimport '../descope-code-snippet'; // this is needed for the details panel\n\nimport { componentName, GridClass } from './GridClass';\n\ncustomElements.define(componentName, GridClass);\n\nexport { GridClass, componentName };\n","import { createBaseInputClass } from '../../../baseClasses/createBaseInputClass';\nimport { forwardAttrs, getComponentName, syncAttrs } from '../../../helpers/componentHelpers';\n\nexport const componentName = getComponentName('boolean-field-internal');\n\nconst forwardAttributes = ['disabled', 'label', 'invalid', 'readonly'];\n\nconst BaseInputClass = createBaseInputClass({ componentName, baseSelector: 'div' });\n\nclass BooleanInputInternal extends BaseInputClass {\n static get observedAttributes() {\n return ['readonly'];\n }\n\n constructor() {\n super();\n this.innerHTML = `\n\t\t\t<div class=\"wrapper\">\n\t\t\t\t<vaadin-checkbox></vaadin-checkbox>\n\t\t\t</div>\n\t\t`;\n this.wrapperEle = this.querySelector('div');\n this.checkbox = this.querySelector('vaadin-checkbox');\n }\n\n get value() {\n return this.checkbox?.checked;\n }\n\n set value(val) {\n this.checkbox.checked = val;\n }\n\n get checked() {\n return this.value;\n }\n\n set checked(val) {\n this.value = val;\n }\n\n init() {\n this.addEventListener('focus', (e) => {\n if (e.isTrusted) {\n this.checkbox.focus();\n }\n });\n super.init?.();\n\n forwardAttrs(this, this.checkbox, { includeAttrs: forwardAttributes });\n syncAttrs(this, this.checkbox, { includeAttrs: ['checked'] });\n\n // we need it in order to set the focus ring and trigger validation on descope-checkbox\n this.handleFocusEventsDispatching([this.checkbox]);\n }\n\n attributeChangedCallback(attrName, oldValue, newValue) {\n super.attributeChangedCallback?.(attrName, oldValue, newValue);\n\n if (attrName === 'readonly') {\n this.onReadOnlyChange(newValue !== null);\n }\n }\n\n onReadOnlyChange(val) {\n this.baseElement.setAttribute('inert', val);\n }\n\n getValidity() {\n if (this.isRequired && !this.value) {\n return { valueMissing: true };\n }\n return {};\n }\n}\n\nexport default BooleanInputInternal;\n","import { resetInputFieldDefaultWidth } from '../../helpers/themeHelpers/resetHelpers';\n\nexport default `\n:host {\n\tdisplay: inline-flex;\n}\n\n${resetInputFieldDefaultWidth()}\n\n.wrapper {\n\tdisplay: flex;\n\tbox-sizing: border-box;\n}\nvaadin-text-field {\n\tposition: relative;\n\tpadding: 0;\n\tdisplay: inline-flex;\n\talign-items: flex-start;\n}\nvaadin-text-field::before {\n content: unset;\n}\nvaadin-text-field::part(label) {\n position: absolute;\n top: 0;\n}\nvaadin-text-field::part(input-field) {\n\tpadding: 0;\n\tbackground: none;\n\tmin-height: 0;\n}\nvaadin-text-field::part(input-field)::after {\n background: none;\n}\nvaadin-text-field[focus-ring]::part(input-field) {\n\tbox-shadow: none;\n}\n\nvaadin-checkbox [slot=\"label\"] {\n align-self: flex-start;\n padding: 0;\n}\n[required] vaadin-checkbox [slot=\"label\"]:not(:empty) {\n\tpadding-inline-end: 1em;\n}\ndescope-boolean-field-internal {\n -webkit-mask-image: none;\n min-height: initial;\n}\n`;\n","import { componentName, CheckboxClass } from './CheckboxClass';\nimport '@vaadin/checkbox';\nimport '@vaadin/text-field';\nimport '../descope-boolean-field-internal';\n\ncustomElements.define(componentName, CheckboxClass);\n\nexport { CheckboxClass, componentName };\n","import { getComponentName } from '../../../helpers/componentHelpers';\nimport { GridTextColumnClass } from './GridTextColumnClass';\n\nexport const componentName = getComponentName('grid-text-column');\n\ncustomElements.define(componentName, GridTextColumnClass);\n","import { GridSelectionColumn } from '@vaadin/grid/vaadin-grid-selection-column';\n\nconst createCheckboxEle = () => {\n const checkbox = document.createElement('descope-checkbox');\n\n checkbox.setAttribute('bordered', 'true');\n checkbox.setAttribute('size', 'xs');\n\n return checkbox;\n};\n\nconst getIsAllItemsSelected = (grid) =>\n !!grid.items?.length && grid.selectedItems.length === grid.items.length;\n\nexport class GridSelectionColumnClass extends GridSelectionColumn {\n // eslint-disable-next-line class-methods-use-this\n _onHeaderRendererOrBindingChanged() {}\n\n // eslint-disable-next-line class-methods-use-this\n _headerRenderer(cell) {\n const grid = cell.parentNode;\n\n let checkbox = cell.querySelector('descope-checkbox');\n if (!checkbox) {\n checkbox = createCheckboxEle();\n\n checkbox.addEventListener('input', () => {\n const isAllItemsSelected = getIsAllItemsSelected(grid);\n if (isAllItemsSelected) {\n grid.selectedItems = [];\n } else {\n grid.selectedItems = grid.items;\n }\n });\n\n cell.appendChild(checkbox);\n }\n\n checkbox.setAttribute('checked', getIsAllItemsSelected(grid));\n }\n\n // eslint-disable-next-line class-methods-use-this\n _defaultRenderer(cell, col, model) {\n const grid = cell.parentNode;\n\n let checkbox = cell.querySelector('descope-checkbox');\n if (!checkbox) {\n checkbox = createCheckboxEle();\n cell.appendChild(checkbox);\n }\n\n checkbox.onchange = () => {\n checkbox.checked ? grid.selectItem(model.item) : grid.deselectItem(model.item);\n };\n\n checkbox.setAttribute('checked', model.selected);\n }\n}\n","import '../../boolean-fields/descope-checkbox';\nimport { getComponentName } from '../../../helpers/componentHelpers';\nimport { GridSelectionColumnClass } from './GridSelectionColumnClass';\n\nexport const componentName = getComponentName('grid-selection-column');\n\ncustomElements.define(componentName, GridSelectionColumnClass);\n","import { getComponentName } from '../../../helpers/componentHelpers';\nimport { compose } from '../../../helpers';\nimport {\n createStyleMixin,\n proxyInputMixin,\n draggableMixin,\n componentNameValidationMixin,\n createProxy,\n} from '../../../mixins';\nimport { booleanFieldMixin } from '../booleanFieldMixin';\nimport commonStyles from '../commonStyles';\nimport { useHostExternalPadding } from '../../../helpers/themeHelpers/resetHelpers';\n\nexport const componentName = getComponentName('checkbox');\n\nconst {\n host,\n component,\n checkboxElement,\n checkboxSurface,\n checkboxLabel,\n requiredIndicator,\n helperText,\n errorMessage,\n} = {\n host: { selector: () => ':host' },\n requiredIndicator: { selector: '[required] vaadin-checkbox [slot=\"label\"]:not(:empty)::after' },\n component: { selector: 'vaadin-checkbox' },\n checkboxElement: { selector: 'vaadin-checkbox::part(checkbox)' },\n checkboxSurface: { selector: 'vaadin-checkbox::part(checkbox)::after' },\n checkboxLabel: { selector: 'vaadin-checkbox [slot=\"label\"]:not(:empty)' },\n helperText: { selector: '::part(helper-text)' },\n errorMessage: { selector: '::part(error-message)' },\n};\n\nexport const CheckboxClass = compose(\n createStyleMixin({\n mappings: {\n hostWidth: { ...host, property: 'width' },\n hostDirection: { ...host, property: 'direction' },\n\n fontSize: [host, checkboxElement, checkboxLabel],\n fontFamily: [checkboxLabel, helperText, errorMessage],\n\n labelTextColor: { ...checkboxLabel, property: 'color' },\n labelSpacing: { ...checkboxLabel, property: 'padding-inline-start' },\n labelLineHeight: { ...checkboxLabel, property: 'line-height' },\n labelFontWeight: { ...checkboxLabel, property: 'font-weight' },\n labelRequiredIndicator: { ...requiredIndicator, property: 'content' },\n\n errorMessageTextColor: { ...errorMessage, property: 'color' },\n errorMessageIcon: { ...errorMessage, property: 'background-image' },\n errorMessageIconSize: { ...errorMessage, property: 'background-size' },\n errorMessageIconPadding: { ...errorMessage, property: 'padding-inline-start' },\n errorMessageIconRepeat: { ...errorMessage, property: 'background-repeat' },\n errorMessageIconPosition: { ...errorMessage, property: 'background-position' },\n\n inputValueTextColor: { ...checkboxSurface, property: 'color' },\n inputBackgroundColor: { ...checkboxElement, property: 'background-color' },\n\n inputBorderRadius: { ...checkboxElement, property: 'border-radius' },\n inputBorderWidth: { ...checkboxElement, property: 'border-width' },\n inputBorderOffset: { ...checkboxElement, property: 'border-offset' },\n inputBorderColor: { ...checkboxElement, property: 'border-color' },\n inputBorderStyle: { ...checkboxElement, property: 'border-style' },\n\n inputOutlineWidth: { ...checkboxElement, property: 'outline-width' },\n inputOutlineOffset: { ...checkboxElement, property: 'outline-offset' },\n inputOutlineColor: { ...checkboxElement, property: 'outline-color' },\n inputOutlineStyle: { ...checkboxElement, property: 'outline-style' },\n\n inputSize: [\n { ...checkboxElement, property: 'width' },\n { ...checkboxElement, property: 'height' },\n { ...checkboxSurface, property: 'font-size' },\n { ...component, property: 'font-size' },\n ],\n },\n }),\n draggableMixin,\n proxyInputMixin({ proxyProps: ['value', 'selectionStart'] }),\n componentNameValidationMixin,\n booleanFieldMixin\n)(\n createProxy({\n slots: [],\n wrappedEleName: 'vaadin-text-field',\n style: () => `\n\t\t\t${commonStyles}\n ${useHostExternalPadding(CheckboxClass.cssVarList)}\n\n :host {\n\t\t\t\tdisplay: inline-flex;\n\t\t\t\tmax-width: 100%;\n margin: 1px;\n }\n\n :host ::part(error-message) {\n direction: ltr;\n }\n\n vaadin-text-field {\n width: 100%;\n }\n\n descope-boolean-field-internal {\n\t\t\t\tpadding: 0;\n\t\t\t\twidth: 100%;\n height: 100%;\n }\n\n vaadin-checkbox::part(checkbox) {\n margin: 0;\n }\n\n vaadin-checkbox::part(checkbox)::after {\n top: 0;\n left: 0;\n -webkit-text-fill-color: initial;\n }\n\n vaadin-checkbox label {\n -webkit-text-fill-color: initial;\n }\n\n vaadin-text-field::part(input-field)::after {\n content: none;\n }\n `,\n excludeAttrsSync: ['label', 'tabindex'],\n componentName,\n })\n);\n","export const useHostExternalPadding = (cssVarList) => `\n :host {\n padding: calc(var(${cssVarList.inputOutlineWidth}) + var(${cssVarList.inputOutlineOffset}))\n }\n`;\n\nexport const resetInputFieldUnderlayingBorder = (name) => `\n ${name}::part(input-field)::after {\n border: none;\n }\n`;\n\nexport const resetInitialHeight = (name) => `\n ${name}::before {\n\t\theight: unset;\n\t}\n`;\n\nexport const resetInputElement = (name) => `\n ${name} > input {\n -webkit-mask-image: none;\n min-height: 0;\n box-sizing: border-box;\n }\n`;\n\nexport const resetInputContainer = (name) => `\n ${name} {\n margin: 0;\n padding: 0;\n width: 100%;\n height: 100%;\n box-sizing: border-box;\n }\n`;\n\nexport const resetInputField = (name) => `\n ${name}::part(input-field) {\n overflow: hidden;\n padding: 0;\n box-shadow: none;\n }\n`;\n\nexport const resetInputCursor = (name) => `\n ${name} > label,\n ${name}::part(label),\n ${name}::part(required-indicator) {\n cursor: pointer;\n }\n`;\n\nexport const resetInputPlaceholder = (name, ele = 'input') => `\n ${name}[disabled] > ${ele}:placeholder-shown,\n\t${name}[readonly] > ${ele}:placeholder-shown {\n\t\topacity: 1;\n\t}\n`;\n\nexport const resetInputAutoFill = (name, cssVarList) => `\n ${name} input:-webkit-autofill,\n ${name} input:-webkit-autofill::first-line,\n ${name} input:-webkit-autofill:hover,\n ${name} input:-webkit-autofill:active,\n ${name} input:-webkit-autofill:focus {\n -webkit-text-fill-color: var(${cssVarList.inputValueTextColor});\n box-shadow: 0 0 0 var(${cssVarList.inputHeight}) var(${cssVarList.inputBackgroundColor}) inset;\n }\n`;\n\nexport const resetInputFieldDefaultWidth = () => `\n :host {\n --vaadin-field-default-width: auto;\n box-sizing: border-box;\n }\n`;\n\nexport const resetInputReadonlyStyle = (name) => `\n ${name}::part(input-field)::after {\n opacity: 0;\n }\n`;\n\nexport const resetInputFieldInvalidBackgroundColor = (name) => `\n ${name}::part(input-field)::after {\n background: none;\n }\n`;\n\nexport const resetInputOverrides = (name, cssVarList) => `\n ${resetInputContainer(name)}\n ${resetInputCursor(name)}\n ${resetInputPlaceholder(name)}\n ${resetInputField(name)}\n ${resetInputAutoFill(name, cssVarList)}\n ${resetInputFieldInvalidBackgroundColor(name)}\n ${resetInitialHeight(name)}\n ${resetInputElement(name)}\n ${resetInputFieldUnderlayingBorder(name)}\n`;\n\n// This function is used to support RTL correctly for input components.\n// It also fixes the error message to be displayed LTR since we currently\n// don't support RTL for error messages.\nexport const resetInputLabelPosition = (name) => `\n :host ::part(error-message) {\n direction: ltr;\n }\n :host([required]) ::part(required-indicator) {\n width: 1em;\n display: inline-flex;\n }\n :host([required]) ::part(required-indicator)::after {\n position: static;\n }\n :host([has-label]) ::part(label) {\n padding-right: 0;\n padding-bottom: 0;\n display: flex;\n width: 100%;\n }\n ${name} [slot=\"label\"] {\n max-width: calc(100% - 1em);\n overflow: hidden;\n text-overflow: ellipsis;\n padding-bottom: 0.5em;\n }\n`;\n\nexport const inputFloatingLabelStyle = () => {\n return `\n :host([label-type=\"floating\"]) {\n position: relative;\n }\n :host([label-type=\"floating\"][has-label]) [slot=\"label\"] {\n padding: 0;\n }\n :host([label-type=\"floating\"][has-label]) > ::part(label) {\n z-index: 1;\n padding: 0;\n width: auto;\n }\n `;\n};\n","import hljs from 'highlight.js';\nimport { createStyleMixin, draggableMixin, componentNameValidationMixin } from '../../mixins';\nimport { compose } from '../../helpers';\nimport { getComponentName, observeChildren } from '../../helpers/componentHelpers';\nimport { createBaseClass } from '../../baseClasses/createBaseClass';\nimport { decode, tpl } from './helpers';\nimport { injectStyle } from '@descope-ui/common/components-helpers';\n\nexport const componentName = getComponentName('code-snippet');\n\nclass CodeSnippet extends createBaseClass({ componentName, baseSelector: ':host > code' }) {\n static get observedAttributes() {\n return ['lang', 'inline'];\n }\n\n constructor() {\n super();\n\n this.attachShadow({ mode: 'open' }).innerHTML = `\n <code class=\"hljs\"></code>\n `;\n\n injectStyle(\n `\n :host {\n display: inline-block;\n width: 100%;\n }\n code {\n display: block;\n width: 100%;\n min-height: 1em;\n overflow-x: scroll;\n overflow-y: scroll;\n }\n pre {\n margin: 0;\n }\n `,\n this\n );\n }\n\n init() {\n super.init?.();\n\n this.lang = this.getAttribute('lang');\n this.isInline = this.getAttribute('inline') === 'true';\n\n observeChildren(this, this.#renderSnippet.bind(this));\n }\n\n get contentNode() {\n return this.shadowRoot.querySelector(this.baseSelector);\n }\n\n attributeChangedCallback(attrName, oldValue, newValue) {\n super.attributeChangedCallback?.(attrName, oldValue, newValue);\n\n if (oldValue !== newValue) {\n if (attrName === 'inline') {\n this.isInline = newValue;\n }\n\n if (attrName === 'lang') {\n this.lang = newValue;\n }\n\n this.#renderSnippet();\n }\n }\n\n #renderSnippet() {\n const sanitized = decode(this.textContent);\n const language = this.lang;\n\n if (!language) {\n this.contentNode.textContent = sanitized;\n return;\n }\n\n const { value: highlighted } = hljs.highlight(sanitized, { language });\n\n this.contentNode.innerHTML = tpl(highlighted, this.isInline);\n }\n}\n\nconst {\n root,\n docTag,\n keyword,\n metaKeyword,\n templateTag,\n templateVariable,\n type,\n variableLanguage,\n title,\n titleClass,\n titleClassInherited,\n titleFunction,\n attr,\n attribute,\n literal,\n meta,\n number,\n operator,\n variable,\n selectorAttr,\n selectorClass,\n selectorId,\n regexp,\n string,\n metaString,\n builtIn,\n symbol,\n comment,\n code,\n formula,\n name,\n quote,\n selectorTag,\n selectorPseudo,\n subst,\n section,\n bullet,\n emphasis,\n strong,\n addition,\n deletion,\n charEscape,\n link,\n params,\n property,\n punctuation,\n tag,\n} = {\n root: { selector: () => '.hljs' },\n docTag: { selector: () => '.hljs-doctag' },\n keyword: { selector: () => '.hljs-keyword' },\n metaKeyword: { selector: () => '.hljs-meta .hljs-keyword' },\n templateTag: { selector: () => '.hljs-template-tag' },\n templateVariable: { selector: () => '.hljs-template-variable' },\n type: { selector: () => '.hljs-type' },\n variableLanguage: { selector: () => '.hljs-variable.language' },\n title: { selector: () => '.hljs-title' },\n titleClass: { selector: () => '.hljs-title.class_' },\n titleClassInherited: { selector: () => '.hljs-title.class_.inherited__' },\n titleFunction: { selector: () => '.hljs-title.function_' },\n attr: { selector: () => '.hljs-attr' },\n attribute: { selector: () => '.hljs-attribute' },\n literal: { selector: () => '.hljs-literal' },\n meta: { selector: () => '.hljs-meta' },\n number: { selector: () => '.hljs-number' },\n operator: { selector: () => '.hljs-operator' },\n variable: { selector: () => '.hljs-variable' },\n selectorAttr: { selector: () => '.hljs-selector-attr' },\n selectorClass: { selector: () => '.hljs-selector-class' },\n selectorId: { selector: () => '.hljs-selector-id' },\n regexp: { selector: () => '.hljs-regexp' },\n string: { selector: () => '.hljs-string' },\n metaString: { selector: () => '.hljs-meta .hljs-string' },\n builtIn: { selector: () => '.hljs-built_in' },\n symbol: { selector: () => '.hljs-symbol' },\n comment: { selector: () => '.hljs-comment' },\n code: { selector: () => '.hljs-code' },\n formula: { selector: () => '.hljs-formula' },\n name: { selector: () => '.hljs-name' },\n quote: { selector: () => '.hljs-quote' },\n selectorTag: { selector: () => '.hljs-selector-tag' },\n selectorPseudo: { selector: () => '.hljs-selector-pseudo' },\n subst: { selector: () => '.hljs-subst' },\n section: { selector: () => '.hljs-section' },\n bullet: { selector: () => '.hljs-bullet' },\n emphasis: { selector: () => '.hljs-emphasis' },\n strong: { selector: () => '.hljs-strong' },\n addition: { selector: () => '.hljs-addition' },\n deletion: { selector: () => '.hljs-deletion' },\n charEscape: { selector: () => '.hljs-char.escape' },\n link: { selector: () => '.hljs-link' },\n params: { selector: () => '.hljs-params' },\n property: { selector: () => '.hljs-property' },\n punctuation: { selector: () => '.hljs-punctuation' },\n tag: { selector: () => '.hljs-tag' },\n};\n\nexport const CodeSnippetClass = compose(\n createStyleMixin({\n mappings: {\n rootBgColor: { ...root, property: 'background-color' },\n rootTextColor: { ...root, property: 'color' },\n docTagTextColor: { ...docTag, property: 'color' },\n keywordTextColor: { ...keyword, property: 'color' },\n metaKeywordTextColor: { ...metaKeyword, property: 'color' },\n templateTagTextColor: { ...templateTag, property: 'color' },\n templateVariableTextColor: { ...templateVariable, property: 'color' },\n typeTextColor: { ...type, property: 'color' },\n variableLanguageTextColor: { ...variableLanguage, property: 'color' },\n titleTextColor: { ...title, property: 'color' },\n titleClassTextColor: { ...titleClass, property: 'color' },\n titleClassInheritedTextColor: { ...titleClassInherited, property: 'color' },\n titleFunctionTextColor: { ...titleFunction, property: 'color' },\n attrTextColor: { ...attr, property: 'color' },\n attributeTextColor: { ...attribute, property: 'color' },\n literalTextColor: { ...literal, property: 'color' },\n metaTextColor: { ...meta, property: 'color' },\n numberTextColor: { ...number, property: 'color' },\n operatorTextColor: { ...operator, property: 'color' },\n variableTextColor: { ...variable, property: 'color' },\n selectorAttrTextColor: { ...selectorAttr, property: 'color' },\n selectorClassTextColor: { ...selectorClass, property: 'color' },\n selectorIdTextColor: { ...selectorId, property: 'color' },\n regexpTextColor: { ...regexp, property: 'color' },\n stringTextColor: { ...string, property: 'color' },\n metaStringTextColor: { ...metaString, property: 'color' },\n builtInTextColor: { ...builtIn, property: 'color' },\n symbolTextColor: { ...symbol, property: 'color' },\n commentTextColor: { ...comment, property: 'color' },\n codeTextColor: { ...code, property: 'color' },\n formulaTextColor: { ...formula, property: 'color' },\n nameTextColor: { ...name, property: 'color' },\n quoteTextColor: { ...quote, property: 'color' },\n selectorTagTextColor: { ...selectorTag, property: 'color' },\n selectorPseudoTextColor: { ...selectorPseudo, property: 'color' },\n substTextColor: { ...subst, property: 'color' },\n sectionTextColor: { ...section, property: 'color' },\n bulletTextColor: { ...bullet, property: 'color' },\n emphasisTextColor: { ...emphasis, property: 'color' },\n strongTextColor: { ...strong, property: 'color' },\n additionTextColor: { ...addition, property: 'color' },\n additionBgColor: { ...addition, property: 'background-color' },\n deletionTextColor: { ...deletion, property: 'color' },\n deletionBgColor: { ...deletion, property: 'background-color' },\n charEscapeTextColor: { ...charEscape, property: 'color' },\n linkTextColor: { ...link, property: 'color' },\n paramsTextColor: { ...params, property: 'color' },\n propertyTextColor: { ...property, property: 'color' },\n punctuationTextColor: { ...punctuation, property: 'color' },\n tagTextColor: { ...tag, property: 'color' },\n },\n }),\n draggableMixin,\n componentNameValidationMixin\n)(CodeSnippet);\n","export const decode = (input) => {\n const txt = document.createElement('textarea');\n txt.innerHTML = input;\n return txt.value;\n};\n\nexport const tpl = (input, inline) => {\n return inline ? input : `<pre>${input}</pre>`;\n};\n","import { componentName, CodeSnippetClass } from './CodeSnippetClass';\n\ncustomElements.define(componentName, CodeSnippetClass);\n\nexport { CodeSnippetClass, componentName };\n","/* eslint-disable no-param-reassign */\nimport { GridSortColumn } from '@vaadin/grid/vaadin-grid-sort-column';\n\nexport class GridItemDetailsColumnClass extends GridSortColumn {\n get sortable() {\n return this.getAttribute('sortable') === 'true';\n }\n\n // eslint-disable-next-line class-methods-use-this\n _defaultRenderer(cell, _col, model) {\n const grid = _col._gridValue;\n const itemIdx = grid.detailsOpenedItems?.indexOf(model.item) ?? -1;\n const isOpened = itemIdx !== -1;\n\n const toggleIcon = document.createElement('vaadin-icon');\n toggleIcon.icon = isOpened ? 'vaadin:angle-up' : 'vaadin:angle-down';\n toggleIcon.classList.add('toggle-details-button', isOpened ? 'opened' : 'closed');\n cell.innerHTML = '';\n cell.append(toggleIcon);\n\n toggleIcon.onclick = () => {\n grid.detailsOpenedItems = isOpened\n ? grid.detailsOpenedItems.toSpliced(itemIdx, 1)\n : [...grid.detailsOpenedItems, model.item];\n };\n }\n\n _defaultHeaderRenderer(root, _column) {\n if (this.sortable) {\n super._defaultHeaderRenderer(root, _column);\n\n return;\n }\n\n this.__setTextContent(root, this.__getHeader(this.header, this.path));\n }\n}\n","import { getComponentName } from '../../../helpers/componentHelpers';\nimport { GridItemDetailsColumnClass } from './GridItemDetailsColumnClass';\nimport '@vaadin/icon';\nimport '@vaadin/icons';\n\nexport const componentName = getComponentName('grid-item-details-column');\n\ncustomElements.define(componentName, GridItemDetailsColumnClass);\n"],"names":["GridTextColumnClass","sortable","this","getAttribute","_defaultRenderer","cell","_col","model","data","item","path","content","Array","isArray","join","__setTextContent","title","_defaultHeaderRenderer","root","_column","super","__getHeader","header","customElements","define","createBaseInputClass","args","GridCustomColumnClass","contentEle","from","children","find","child","pattern","RegExp","test","newEle","cloneNode","textContent","innerHTML","append","componentName","booleanFieldMixin","superclass","init","template","document","createElement","baseElement","appendChild","inputElement","shadowRoot","querySelector","checkbox","includeAttrs","isValidDataType","isValid","console","error","escapeXML","s","dom","getValueType","value","constructor","Object","isPlainObject","renderCodeSnippet","lang","renderText","text","renderJson","JSON","stringify","host","headerRow","headerRowCell","contentRow","firstRow","sortIndicators","activeSortIndicator","selectedRow","rowSeparator","resizeHandle","toggleDetailsPanelButton","toggleDetailsPanelButtonOpened","toggleDetailsPanelButtonClosed","detailsPanel","detailsPanelLabels","selectedRowCell","detailsPanelContent","selector","GridClass","componentNameOverride","mappings","hostWidth","property","hostHeight","hostMinHeight","fontFamily","fontSize","fontWeight","valueTextColor","backgroundColor","sortIndicatorsColor","borderColor","borderWidth","borderStyle","borderRadius","selectedBackgroundColor","headerRowTextColor","separatorColor","resizeHandleColor","hostDirection","fallback","toggleDetailsPanelButtonSize","toggleDetailsPanelButtonOpenedColor","toggleDetailsPanelButtonClosedColor","toggleDetailsPanelButtonCursor","detailsPanelBackgroundColor","detailsPanelBorderTopColor","detailsPanelLabelsColor","detailsPanelLabelsFontSize","detailsPanelItemsGap","detailsPanelPadding","handleColumns","forwardSelectedItemsChange","_mapSorters","origUpdateDetailsCellHeight","_updateDetailsCellHeight","row","call","rowDetailsRenderer","bind","async","addEventListener","e","stopImmediatePropagation","getRowDetailsTemplate","itemLabelsMapping","reduce","acc","entries","map","key","valueType","renderXml","some","v","defaultRowDetailsValueRenderer","defaultRowDetailsRenderer","HTMLTemplateElement","assign","Error","dispatchEvent","CustomEvent","bubbles","composed","detail","attributeChangedCallback","attrName","oldValue","newValue","setColumnsDataFromAttr","columnsAttr","length","setColumnsFromChildren","type","localName","match","attrs","attrVal","parse","columns","message","tagName","renderColumn","renderFn","renderColumns","getColumnsTemplate","reassignRowDetailsRenderer","setTimeout","grid","items","selectedItems","itemsIds","Set","uniqueColumnId","newSelectedItems","filter","selectedItem","has","paths","col","delegatesFocus","slots","wrappedEleName","style","cssVarList","excludeAttrsSync","forwardAttributes","BaseInputClass","baseSelector","observedAttributes","wrapperEle","checked","val","isTrusted","focus","handleFocusEventsDispatching","onReadOnlyChange","setAttribute","getValidity","isRequired","valueMissing","createCheckboxEle","getIsAllItemsSelected","GridSelectionColumnClass","_onHeaderRendererOrBindingChanged","_headerRenderer","parentNode","isAllItemsSelected","onchange","selectItem","deselectItem","selected","component","checkboxElement","checkboxSurface","checkboxLabel","requiredIndicator","helperText","errorMessage","CheckboxClass","labelTextColor","labelSpacing","labelLineHeight","labelFontWeight","labelRequiredIndicator","errorMessageTextColor","errorMessageIcon","errorMessageIconSize","errorMessageIconPadding","errorMessageIconRepeat","errorMessageIconPosition","inputValueTextColor","inputBackgroundColor","inputBorderRadius","inputBorderWidth","inputBorderOffset","inputBorderColor","inputBorderStyle","inputOutlineWidth","inputOutlineOffset","inputOutlineColor","inputOutlineStyle","inputSize","proxyProps","useHostExternalPadding","resetInputContainer","name","resetInputField","resetInputCursor","resetInputPlaceholder","ele","resetInputFieldDefaultWidth","resetInputReadonlyStyle","resetInputFieldInvalidBackgroundColor","resetInputOverrides","inputHeight","resetInputAutoFill","resetInitialHeight","resetInputElement","resetInputFieldUnderlayingBorder","resetInputLabelPosition","inputFloatingLabelStyle","CodeSnippet","createBaseClass","attachShadow","mode","isInline","contentNode","sanitized","input","txt","decode","language","highlighted","highlight","docTag","keyword","metaKeyword","templateTag","templateVariable","variableLanguage","titleClass","titleClassInherited","titleFunction","attr","attribute","literal","meta","number","operator","variable","selectorAttr","selectorClass","selectorId","regexp","string","metaString","builtIn","symbol","comment","code","formula","quote","selectorTag","selectorPseudo","subst","section","bullet","emphasis","strong","addition","deletion","charEscape","link","params","punctuation","tag","CodeSnippetClass","rootBgColor","rootTextColor","docTagTextColor","keywordTextColor","metaKeywordTextColor","templateTagTextColor","templateVariableTextColor","typeTextColor","variableLanguageTextColor","titleTextColor","titleClassTextColor","titleClassInheritedTextColor","titleFunctionTextColor","attrTextColor","attributeTextColor","literalTextColor","metaTextColor","numberTextColor","operatorTextColor","variableTextColor","selectorAttrTextColor","selectorClassTextColor","selectorIdTextColor","regexpTextColor","stringTextColor","metaStringTextColor","builtInTextColor","symbolTextColor","commentTextColor","codeTextColor","formulaTextColor","nameTextColor","quoteTextColor","selectorTagTextColor","selectorPseudoTextColor","substTextColor","sectionTextColor","bulletTextColor","emphasisTextColor","strongTextColor","additionTextColor","additionBgColor","deletionTextColor","deletionBgColor","charEscapeTextColor","linkTextColor","paramsTextColor","propertyTextColor","punctuationTextColor","tagTextColor","GridItemDetailsColumnClass","_gridValue","itemIdx","detailsOpenedItems","indexOf","isOpened","toggleIcon","icon","classList","add","onclick","toSpliced"],"sourceRoot":""}
1
+ {"version":3,"file":"descope-grid-index-js.js","mappings":"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","sources":["webpack://@descope/web-components-ui/./src/components/descope-grid/descope-grid-text-column/GridTextColumnClass.js","webpack://@descope/web-components-ui/./src/components/boolean-fields/descope-boolean-field-internal/index.js","webpack://@descope/web-components-ui/./src/baseClasses/createBaseInputClass.js","webpack://@descope/web-components-ui/./src/components/descope-grid/descope-grid-custom-column/GridCustomColumnClass.js","webpack://@descope/web-components-ui/./src/components/descope-grid/descope-grid-custom-column/index.js","webpack://@descope/web-components-ui/./src/components/boolean-fields/booleanFieldMixin.js","webpack://@descope/web-components-ui/./src/components/descope-grid/helpers.js","webpack://@descope/web-components-ui/./src/components/descope-grid/GridClass.js","webpack://@descope/web-components-ui/./src/components/descope-grid/index.js","webpack://@descope/web-components-ui/./src/components/boolean-fields/descope-boolean-field-internal/BooleanFieldInternal.js","webpack://@descope/web-components-ui/./src/components/boolean-fields/commonStyles.js","webpack://@descope/web-components-ui/./src/components/boolean-fields/descope-checkbox/index.js","webpack://@descope/web-components-ui/./src/components/descope-grid/descope-grid-text-column/index.js","webpack://@descope/web-components-ui/./src/components/descope-grid/descope-grid-selection-column/GridSelectionColumnClass.js","webpack://@descope/web-components-ui/./src/components/descope-grid/descope-grid-selection-column/index.js","webpack://@descope/web-components-ui/./src/components/boolean-fields/descope-checkbox/CheckboxClass.js","webpack://@descope/web-components-ui/./src/helpers/themeHelpers/resetHelpers.js","webpack://@descope/web-components-ui/./src/components/descope-code-snippet/CodeSnippetClass.js","webpack://@descope/web-components-ui/./src/components/descope-code-snippet/helpers.js","webpack://@descope/web-components-ui/./src/components/descope-code-snippet/index.js","webpack://@descope/web-components-ui/./src/components/descope-grid/descope-grid-item-details-column/GridItemDetailsColumnClass.js","webpack://@descope/web-components-ui/./src/components/descope-grid/descope-grid-item-details-column/index.js"],"sourcesContent":["/* eslint-disable no-param-reassign */\nimport { GridSortColumn } from '@vaadin/grid/vaadin-grid-sort-column';\n\nexport class GridTextColumnClass extends GridSortColumn {\n get sortable() {\n return this.getAttribute('sortable') === 'true';\n }\n\n _defaultRenderer(cell, _col, model) {\n const data = model.item[this.path] || '';\n const content = Array.isArray(data) ? data.join(', ') : data;\n\n this.__setTextContent(cell, content);\n cell.title = content;\n }\n\n _defaultHeaderRenderer(root, _column) {\n if (this.sortable) {\n super._defaultHeaderRenderer(root, _column);\n\n return;\n }\n\n this.__setTextContent(root, this.__getHeader(this.header, this.path));\n }\n}\n","import BooleanFieldInternal, { componentName } from './BooleanFieldInternal';\n\ncustomElements.define(componentName, BooleanFieldInternal);\n","import { compose } from '../helpers';\nimport {\n changeMixin,\n inputEventsDispatchingMixin,\n inputValidationMixin,\n normalizeBooleanAttributesMixin,\n} from '../mixins';\nimport { createBaseClass } from './createBaseClass';\n\nexport const createBaseInputClass = (...args) =>\n compose(\n inputValidationMixin,\n changeMixin,\n normalizeBooleanAttributesMixin,\n inputEventsDispatchingMixin\n )(createBaseClass(...args));\n","/* eslint-disable no-param-reassign */\nimport { GridTextColumnClass } from '../descope-grid-text-column/GridTextColumnClass';\n\nexport class GridCustomColumnClass extends GridTextColumnClass {\n _defaultRenderer(cell, _col, model) {\n const content = model.item[this.path] || '';\n\n // we get a list of elements that can be used to render the content\n // each element can have a \"pattern\" attribute which contains regex expression\n // we are going over the elements, and when finding an element which is pattern matches the data,\n // we are cloning this element, and injecting the data as its child\n const contentEle = Array.from(this.children).find((child) => {\n const pattern = child.getAttribute('data-pattern');\n if (!pattern) return true;\n\n const regEx = new RegExp(pattern);\n return regEx.test(content);\n });\n\n if (!contentEle) {\n this.__setTextContent(cell, model.item[this.path] || '');\n\n return;\n }\n\n const newEle = contentEle.cloneNode(true);\n newEle.textContent = content || '';\n cell.innerHTML = '';\n cell.append(newEle);\n }\n}\n","/* eslint-disable no-param-reassign */\nimport { getComponentName } from '../../../helpers/componentHelpers';\nimport { GridCustomColumnClass } from './GridCustomColumnClass';\n\nexport const componentName = getComponentName('grid-custom-column');\n\ncustomElements.define(componentName, GridCustomColumnClass);\n","import { forwardAttrs, forwardProps, syncAttrs } from '../../helpers/componentHelpers';\nimport { componentName as descopeInternalComponentName } from './descope-boolean-field-internal/BooleanFieldInternal';\n\nexport const booleanFieldMixin = (superclass) =>\n class BooleanFieldMixinClass extends superclass {\n init() {\n super.init?.();\n\n const template = document.createElement('template');\n template.innerHTML = `\n\t\t\t\t<${descopeInternalComponentName}\n\t\t\t\t\ttabindex=\"-1\"\n\t\t\t\t\tslot=\"input\"\n\t\t\t\t></${descopeInternalComponentName}>\n\t\t\t`;\n\n this.baseElement.appendChild(template.content.cloneNode(true));\n this.inputElement = this.shadowRoot.querySelector(descopeInternalComponentName);\n this.checkbox = this.inputElement.querySelector('vaadin-checkbox');\n\n forwardAttrs(this, this.inputElement, {\n includeAttrs: [\n 'required',\n 'full-width',\n 'size',\n 'label',\n 'invalid',\n 'disabled',\n 'readonly',\n ],\n });\n\n forwardProps(this.inputElement, this, ['checked']);\n syncAttrs(this, this.inputElement, { includeAttrs: ['checked'] });\n }\n };\n","import { toTitle } from '../../helpers';\n\nexport const isValidDataType = (data) => {\n const isValid = Array.isArray(data);\n if (!isValid) {\n // eslint-disable-next-line no-console\n console.error('data must be an array, received:', data);\n }\n\n return isValid;\n};\n\nexport const isPlainObject = (value) => value?.constructor === Object;\n\nconst isXml = (str) => /^\\s*<[\\s\\S]*>/.test(str);\n\nconst escapeXML = (s) => {\n const dom = document.createElement('div');\n dom.textContent = s;\n return dom.innerHTML;\n};\n\nexport const getValueType = (value) => {\n if (isPlainObject(value)) return 'object';\n if (Array.isArray(value)) return 'array';\n if (isXml(value)) return 'xml';\n\n return 'text';\n};\n\nexport const renderCodeSnippet = (value, lang) =>\n `<descope-code-snippet lang=\"${lang}\" class=\"row-details__value code\">${escapeXML(value)}</descope-code-snippet>`;\n\nexport const renderText = (text) =>\n `<div class=\"row-details__value text\" title=\"${text}\">${escapeXML(text)}</div>`;\nconst renderJson = (value) => renderCodeSnippet(JSON.stringify(value, null, 2), 'json');\nconst renderXml = (value) => renderCodeSnippet(value, 'xml');\n\nconst defaultRowDetailsValueRenderer = (value) => {\n const valueType = getValueType(value);\n\n if (valueType === 'object') {\n return renderJson(value);\n }\n\n if (valueType === 'xml') {\n return renderXml(value);\n }\n\n if (valueType === 'array') {\n if (value.some((v) => getValueType(v) === 'object')) {\n return renderJson(value);\n }\n return renderText(value.join(',\\n'));\n }\n\n return renderText(value);\n};\n\nexport const defaultRowDetailsRenderer = (item, itemLabelsMapping) => {\n return `\n <div class=\"row-details\">\n ${Object.entries(item)\n .map(\n ([key, value]) =>\n `<div class=\"row-details__item\" >\n <div class=\"row-details__label\">${itemLabelsMapping[key] || toTitle(key)}</div>\n ${defaultRowDetailsValueRenderer(value)}\n </div>`\n )\n .join('\\n')}\n</div>\n `;\n};\n","import { compose } from '../../helpers';\nimport { getComponentName } from '../../helpers/componentHelpers';\nimport {\n componentNameValidationMixin,\n createProxy,\n createStyleMixin,\n draggableMixin,\n} from '../../mixins';\n\nimport { defaultRowDetailsRenderer, isValidDataType } from './helpers';\n\nexport const componentName = getComponentName('grid');\n\nconst GridMixin = (superclass) =>\n class GridMixinClass extends superclass {\n #columns;\n\n init() {\n super.init?.();\n this.handleColumns();\n this.forwardSelectedItemsChange();\n\n // disable the grid sort\n this.baseElement._mapSorters = () => {};\n\n // there is an issue in vaadin that on some cases when trying to render the details panel, the row is null and this fn throwing\n // so we override it to prevent the error\n const origUpdateDetailsCellHeight = this.baseElement._updateDetailsCellHeight;\n this.baseElement._updateDetailsCellHeight = (row) => {\n if (!row) return;\n origUpdateDetailsCellHeight.call(this.baseElement, row);\n };\n\n this.baseElement.rowDetailsRenderer = this.#rowDetailsRenderer.bind(this);\n }\n\n // this renders the details panel content\n // in order to open it, the descope-grid-item-details-column should be used\n #rowDetailsRenderer = async (cell, _col, model) => {\n // prevent details panel from being scrolled into view when clicked\n cell.addEventListener('mousedown', (e) => e.stopImmediatePropagation(), true);\n\n const template = this.getRowDetailsTemplate(model.item);\n\n // eslint-disable-next-line no-param-reassign\n cell.innerHTML = '';\n cell.append(template.content.cloneNode(true));\n };\n\n getRowDetailsTemplate(item) {\n const itemLabelsMapping = this.#columns.reduce(\n (acc, { path, header }) => (!path || !header ? acc : { ...acc, [path]: header }),\n {}\n );\n const template =\n this.rowDetailsRenderer?.(item, itemLabelsMapping) ??\n defaultRowDetailsRenderer(item, itemLabelsMapping);\n\n switch (true) {\n case template instanceof HTMLTemplateElement:\n return template;\n case typeof template === 'string':\n return Object.assign(document.createElement('template'), { innerHTML: template });\n default:\n throw new Error('rowDetailsRenderer should return a string or a template');\n }\n }\n\n forwardSelectedItemsChange() {\n this.baseElement.addEventListener('selected-items-changed', (e) => {\n this.dispatchEvent(\n new CustomEvent('selected-items-changed', {\n bubbles: true,\n composed: true,\n detail: e.detail,\n })\n );\n });\n }\n\n attributeChangedCallback(attrName, oldValue, newValue) {\n super.attributeChangedCallback?.(attrName, oldValue, newValue);\n\n if (attrName === 'columns') {\n this.setColumnsDataFromAttr();\n }\n }\n\n handleColumns() {\n if (this.columnsAttr) {\n this.setColumnsDataFromAttr();\n } else if (this.children.length) {\n this.setColumnsFromChildren();\n }\n }\n\n setColumnsFromChildren() {\n this.#columns = Array.from(this.children).map((child) => {\n return {\n path: child.getAttribute('path'),\n header: child.getAttribute('header'),\n type: child.localName.match('^descope-grid-(\\\\w+)-column$')?.[1] || 'text',\n\n attrs: ['frozen', 'resizable', 'auto-width', 'status'].reduce((acc, attrName) => {\n const attrVal = child.getAttribute(attrName);\n\n if (attrVal) {\n acc[attrName] = attrVal;\n }\n\n return acc;\n }, {}),\n };\n });\n }\n\n get columnsAttr() {\n return this.getAttribute('columns');\n }\n\n setColumnsDataFromAttr() {\n try {\n const data = JSON.parse(this.columnsAttr);\n if (isValidDataType(data)) {\n this.columns = data;\n }\n } catch (e) {\n // eslint-disable-next-line no-console\n console.error('could not parse data string from attribute \"columns\" -', e.message);\n }\n }\n\n // eslint-disable-next-line class-methods-use-this\n #renderColumn = ({ path, header, type, attrs }) => {\n const colAttrs = Object.entries(attrs)\n .map(([key, value]) => `${key}=\"${value}\"`)\n .join(' ');\n\n const tagName = `descope-grid-${type}-column`;\n\n return `<${tagName} header=\"${header}\" path=\"${path}\" ${colAttrs}></${tagName}>`;\n };\n\n get renderColumn() {\n return this.#renderColumn;\n }\n\n set renderColumn(renderFn) {\n this.#renderColumn = renderFn;\n this.renderColumns();\n }\n\n getColumnsTemplate() {\n return this.#columns?.reduce?.(\n (acc, item) => acc + (this.renderColumn?.(item || {}) || ''),\n ''\n );\n }\n\n // there is an issue in vaadin-grid, when rowDetailsRenderer is set, it renders an empty details panel\n reassignRowDetailsRenderer() {\n this.baseElement.rowDetailsRenderer = null;\n setTimeout(() => {\n this.baseElement.rowDetailsRenderer = this.#rowDetailsRenderer.bind(this);\n }, 0);\n }\n\n renderColumns() {\n const template = this.getColumnsTemplate();\n if (template) {\n this.reassignRowDetailsRenderer();\n this.innerHTML = template;\n }\n }\n\n get grid() {\n return this.shadowRoot.querySelector('vaadin-grid');\n }\n\n get data() {\n return this.grid.items;\n }\n\n set data(data) {\n if (isValidDataType(data) && this.grid.items !== data) {\n this.grid.items = data;\n\n if (this.grid.selectedItems) {\n const itemsIds = new Set(\n this.grid.items.map((item) => item[this.uniqueColumnId] ?? item)\n );\n\n const newSelectedItems = this.grid.selectedItems.filter((selectedItem) =>\n itemsIds.has(selectedItem[this.uniqueColumnId] ?? selectedItem)\n );\n\n // we want to update the selected items only if there is a reason,\n // to prevent redundant notifications\n if (this.grid.selectedItems.length !== newSelectedItems.length) {\n this.grid.selectedItems = newSelectedItems;\n }\n }\n }\n }\n\n get columns() {\n return this.#columns;\n }\n\n set columns(data) {\n this.#columns = data;\n this.renderColumns();\n }\n\n get paths() {\n return this.columns.map((col) => col.path);\n }\n\n get uniqueColumnId() {\n return this.getAttribute('unique-column-id');\n }\n };\n\nconst {\n host,\n headerRow,\n headerRowCell,\n contentRow,\n firstRow,\n sortIndicators,\n activeSortIndicator,\n selectedRow,\n rowSeparator,\n resizeHandle,\n toggleDetailsPanelButton,\n toggleDetailsPanelButtonOpened,\n toggleDetailsPanelButtonClosed,\n detailsPanel,\n detailsPanelLabels,\n selectedRowCell,\n detailsPanelContent,\n} = {\n host: { selector: () => 'vaadin-grid' },\n headerRow: { selector: () => '::part(header-cell)' },\n headerRowCell: { selector: () => 'vaadin-grid::part(header-cell)' },\n contentRow: { selector: () => '::part(cell)' },\n firstRow: { selector: () => '::part(first-header-row-cell)' },\n selectedRow: { selector: () => '::part(selected-row)' },\n selectedRowCell: { selector: () => '::part(selected-row-cell)' },\n sortIndicators: { selector: () => 'vaadin-grid-sorter::part(indicators)' },\n activeSortIndicator: { selector: () => 'vaadin-grid-sorter[direction]' },\n rowSeparator: { selector: () => 'vaadin-grid::part(body-cell)' },\n resizeHandle: { selector: () => '::part(resize-handle)' },\n toggleDetailsPanelButton: { selector: () => 'vaadin-grid vaadin-icon.toggle-details-button' },\n toggleDetailsPanelButtonOpened: {\n selector: () => 'vaadin-grid vaadin-icon.toggle-details-button.opened',\n },\n toggleDetailsPanelButtonClosed: {\n selector: () => 'vaadin-grid vaadin-icon.toggle-details-button.closed',\n },\n detailsPanel: { selector: () => 'vaadin-grid::part(details-cell)' },\n detailsPanelLabels: { selector: () => 'vaadin-grid .row-details__label' },\n detailsPanelContent: { selector: () => 'vaadin-grid .row-details' },\n};\n\nexport const GridClass = compose(\n createStyleMixin({ componentNameOverride: getComponentName('input-wrapper') }),\n createStyleMixin({\n mappings: {\n hostWidth: { selector: () => ':host', property: 'width' },\n hostHeight: { selector: () => ':host', property: 'height' },\n hostMinHeight: { selector: () => ':host', property: 'min-height' },\n fontFamily: [{ ...headerRow }, { ...contentRow }],\n fontSize: [{ ...headerRow }, { ...contentRow }],\n fontWeight: { ...contentRow },\n valueTextColor: { ...contentRow, property: 'color' },\n backgroundColor: [\n { ...host, property: 'background-color' },\n { ...contentRow, property: 'background-color' },\n ],\n sortIndicatorsColor: { ...sortIndicators, property: 'color' },\n activeSortIndicator: { ...activeSortIndicator, property: 'color' },\n borderColor: { ...host, property: 'border-color' },\n borderWidth: { ...host, property: 'border-width' },\n borderStyle: { ...host, property: 'border-style' },\n borderRadius: { ...host, property: 'border-radius' },\n selectedBackgroundColor: [\n { ...selectedRow, property: 'background-color' },\n { ...selectedRowCell, property: 'background-color' },\n ],\n headerRowTextColor: { ...headerRowCell, property: 'color' },\n separatorColor: [\n { ...firstRow, property: 'border-bottom-color' },\n { ...rowSeparator, property: 'border-top-color' },\n ],\n resizeHandleColor: { ...resizeHandle, property: 'background-color' },\n hostDirection: { ...host, property: 'direction', fallback: 'ltr' },\n toggleDetailsPanelButtonSize: [\n { ...toggleDetailsPanelButton, property: 'width' },\n { ...toggleDetailsPanelButton, property: 'height' },\n ],\n toggleDetailsPanelButtonOpenedColor: { ...toggleDetailsPanelButtonOpened, property: 'color' },\n toggleDetailsPanelButtonClosedColor: { ...toggleDetailsPanelButtonClosed, property: 'color' },\n toggleDetailsPanelButtonCursor: { ...toggleDetailsPanelButton, property: 'cursor' },\n detailsPanelBackgroundColor: { ...detailsPanel, property: 'background-color' },\n detailsPanelBorderTopColor: { ...detailsPanel, property: 'border-top-color' },\n detailsPanelLabelsColor: { ...detailsPanelLabels, property: 'color' },\n detailsPanelLabelsFontSize: { ...detailsPanelLabels, property: 'font-size' },\n detailsPanelItemsGap: { ...detailsPanelContent, property: 'grid-gap' },\n detailsPanelPadding: { ...detailsPanelContent, property: 'padding' },\n },\n }),\n draggableMixin,\n componentNameValidationMixin,\n GridMixin\n)(\n createProxy({\n delegatesFocus: false,\n slots: [''],\n wrappedEleName: 'vaadin-grid',\n style: () => `\n /*css*/\n vaadin-grid {\n overflow: hidden;\n height: 100%;\n min-height: 300px;\n }\n vaadin-grid-cell-content {\n display: flex;\n }\n vaadin-grid::part(selected-row-cell) {\n background-image: none;\n box-shadow: none;\n background-color: inherit;\n }\n vaadin-grid::part(details-cell) {\n border-top-style: dashed;\n border-top-width: 1px;\n }\n vaadin-grid .row-details {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(max(200px, calc(100%/4 - var(${GridClass.cssVarList.detailsPanelItemsGap}))), 1fr));\n width: 100%;\n }\n vaadin-grid .row-details__item:has(.row-details__value.code) {\n grid-column: 1 / -1;\n order: 2;\n }\n vaadin-grid .row-details__value.text {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: pre;\n }\n vaadin-grid .row-details__value.code {\n margin-top: 5px;\n max-height: 120px;\n overflow: scroll;\n font-size: 0.85em;\n }\n vaadin-grid vaadin-icon.toggle-details-button {\n margin: auto;\n }\n /*!css*/\n\t\t`,\n excludeAttrsSync: ['columns', 'tabindex', 'style'],\n componentName,\n })\n);\n","import '@vaadin/grid';\nimport './descope-grid-text-column';\nimport './descope-grid-custom-column';\nimport './descope-grid-selection-column';\nimport './descope-grid-item-details-column';\nimport '../descope-code-snippet'; // this is needed for the details panel\n\nimport { componentName, GridClass } from './GridClass';\n\ncustomElements.define(componentName, GridClass);\n\nexport { GridClass, componentName };\n","import { createBaseInputClass } from '../../../baseClasses/createBaseInputClass';\nimport { forwardAttrs, getComponentName, syncAttrs } from '../../../helpers/componentHelpers';\n\nexport const componentName = getComponentName('boolean-field-internal');\n\nconst forwardAttributes = ['disabled', 'label', 'invalid', 'readonly'];\n\nconst BaseInputClass = createBaseInputClass({ componentName, baseSelector: 'div' });\n\nclass BooleanInputInternal extends BaseInputClass {\n static get observedAttributes() {\n return ['readonly'];\n }\n\n constructor() {\n super();\n this.innerHTML = `\n\t\t\t<div class=\"wrapper\">\n\t\t\t\t<vaadin-checkbox></vaadin-checkbox>\n\t\t\t</div>\n\t\t`;\n this.wrapperEle = this.querySelector('div');\n this.checkbox = this.querySelector('vaadin-checkbox');\n }\n\n get value() {\n return this.checkbox?.checked;\n }\n\n set value(val) {\n this.checkbox.checked = val;\n }\n\n get checked() {\n return this.value;\n }\n\n set checked(val) {\n this.value = val;\n }\n\n init() {\n this.addEventListener('focus', (e) => {\n if (e.isTrusted) {\n this.checkbox.focus();\n }\n });\n super.init?.();\n\n forwardAttrs(this, this.checkbox, { includeAttrs: forwardAttributes });\n syncAttrs(this, this.checkbox, { includeAttrs: ['checked'] });\n\n // we need it in order to set the focus ring and trigger validation on descope-checkbox\n this.handleFocusEventsDispatching([this.checkbox]);\n }\n\n attributeChangedCallback(attrName, oldValue, newValue) {\n super.attributeChangedCallback?.(attrName, oldValue, newValue);\n\n if (attrName === 'readonly') {\n this.onReadOnlyChange(newValue !== null);\n }\n }\n\n onReadOnlyChange(val) {\n this.baseElement.setAttribute('inert', val);\n }\n\n getValidity() {\n if (this.isRequired && !this.value) {\n return { valueMissing: true };\n }\n return {};\n }\n}\n\nexport default BooleanInputInternal;\n","import { resetInputFieldDefaultWidth } from '../../helpers/themeHelpers/resetHelpers';\n\nexport default `\n:host {\n\tdisplay: inline-flex;\n}\n\n${resetInputFieldDefaultWidth()}\n\n.wrapper {\n\tdisplay: flex;\n\tbox-sizing: border-box;\n}\nvaadin-text-field {\n\tposition: relative;\n\tpadding: 0;\n\tdisplay: inline-flex;\n\talign-items: flex-start;\n}\nvaadin-text-field::before {\n content: unset;\n}\nvaadin-text-field::part(label) {\n position: absolute;\n top: 0;\n}\nvaadin-text-field::part(input-field) {\n\tpadding: 0;\n\tbackground: none;\n\tmin-height: 0;\n}\nvaadin-text-field::part(input-field)::after {\n background: none;\n}\nvaadin-text-field[focus-ring]::part(input-field) {\n\tbox-shadow: none;\n}\n\nvaadin-checkbox [slot=\"label\"] {\n align-self: flex-start;\n padding: 0;\n}\n[required] vaadin-checkbox [slot=\"label\"]:not(:empty) {\n\tpadding-inline-end: 1em;\n}\ndescope-boolean-field-internal {\n -webkit-mask-image: none;\n min-height: initial;\n}\n`;\n","import { componentName, CheckboxClass } from './CheckboxClass';\nimport '@vaadin/checkbox';\nimport '@vaadin/text-field';\nimport '../descope-boolean-field-internal';\n\ncustomElements.define(componentName, CheckboxClass);\n\nexport { CheckboxClass, componentName };\n","import { getComponentName } from '../../../helpers/componentHelpers';\nimport { GridTextColumnClass } from './GridTextColumnClass';\n\nexport const componentName = getComponentName('grid-text-column');\n\ncustomElements.define(componentName, GridTextColumnClass);\n","import { GridSelectionColumn } from '@vaadin/grid/vaadin-grid-selection-column';\n\nconst createCheckboxEle = () => {\n const checkbox = document.createElement('descope-checkbox');\n\n checkbox.setAttribute('bordered', 'true');\n checkbox.setAttribute('size', 'xs');\n\n return checkbox;\n};\n\nconst getIsAllItemsSelected = (grid) =>\n !!grid.items?.length && grid.selectedItems.length === grid.items.length;\n\nexport class GridSelectionColumnClass extends GridSelectionColumn {\n // eslint-disable-next-line class-methods-use-this\n _onHeaderRendererOrBindingChanged() {}\n\n // eslint-disable-next-line class-methods-use-this\n _headerRenderer(cell) {\n const grid = cell.parentNode;\n\n let checkbox = cell.querySelector('descope-checkbox');\n if (!checkbox) {\n checkbox = createCheckboxEle();\n\n checkbox.addEventListener('input', () => {\n const isAllItemsSelected = getIsAllItemsSelected(grid);\n if (isAllItemsSelected) {\n grid.selectedItems = [];\n } else {\n grid.selectedItems = grid.items;\n }\n });\n\n cell.appendChild(checkbox);\n }\n\n checkbox.setAttribute('checked', getIsAllItemsSelected(grid));\n }\n\n // eslint-disable-next-line class-methods-use-this\n _defaultRenderer(cell, col, model) {\n const grid = cell.parentNode;\n\n let checkbox = cell.querySelector('descope-checkbox');\n if (!checkbox) {\n checkbox = createCheckboxEle();\n cell.appendChild(checkbox);\n }\n\n checkbox.onchange = () => {\n checkbox.checked ? grid.selectItem(model.item) : grid.deselectItem(model.item);\n };\n\n checkbox.setAttribute('checked', model.selected);\n }\n}\n","import '../../boolean-fields/descope-checkbox';\nimport { getComponentName } from '../../../helpers/componentHelpers';\nimport { GridSelectionColumnClass } from './GridSelectionColumnClass';\n\nexport const componentName = getComponentName('grid-selection-column');\n\ncustomElements.define(componentName, GridSelectionColumnClass);\n","import { getComponentName } from '../../../helpers/componentHelpers';\nimport { compose } from '../../../helpers';\nimport {\n createStyleMixin,\n proxyInputMixin,\n draggableMixin,\n componentNameValidationMixin,\n createProxy,\n} from '../../../mixins';\nimport { booleanFieldMixin } from '../booleanFieldMixin';\nimport commonStyles from '../commonStyles';\nimport { useHostExternalPadding } from '../../../helpers/themeHelpers/resetHelpers';\n\nexport const componentName = getComponentName('checkbox');\n\nconst {\n host,\n component,\n checkboxElement,\n checkboxSurface,\n checkboxLabel,\n requiredIndicator,\n helperText,\n errorMessage,\n} = {\n host: { selector: () => ':host' },\n requiredIndicator: { selector: '[required] vaadin-checkbox [slot=\"label\"]:not(:empty)::after' },\n component: { selector: 'vaadin-checkbox' },\n checkboxElement: { selector: 'vaadin-checkbox::part(checkbox)' },\n checkboxSurface: { selector: 'vaadin-checkbox::part(checkbox)::after' },\n checkboxLabel: { selector: 'vaadin-checkbox [slot=\"label\"]:not(:empty)' },\n helperText: { selector: '::part(helper-text)' },\n errorMessage: { selector: '::part(error-message)' },\n};\n\nexport const CheckboxClass = compose(\n createStyleMixin({\n mappings: {\n hostWidth: { ...host, property: 'width' },\n hostDirection: { ...host, property: 'direction' },\n\n fontSize: [host, checkboxElement, checkboxLabel],\n fontFamily: [checkboxLabel, helperText, errorMessage],\n\n labelTextColor: { ...checkboxLabel, property: 'color' },\n labelSpacing: { ...checkboxLabel, property: 'padding-inline-start' },\n labelLineHeight: { ...checkboxLabel, property: 'line-height' },\n labelFontWeight: { ...checkboxLabel, property: 'font-weight' },\n labelRequiredIndicator: { ...requiredIndicator, property: 'content' },\n\n errorMessageTextColor: { ...errorMessage, property: 'color' },\n errorMessageIcon: { ...errorMessage, property: 'background-image' },\n errorMessageIconSize: { ...errorMessage, property: 'background-size' },\n errorMessageIconPadding: { ...errorMessage, property: 'padding-inline-start' },\n errorMessageIconRepeat: { ...errorMessage, property: 'background-repeat' },\n errorMessageIconPosition: { ...errorMessage, property: 'background-position' },\n errorMessageFontSize: { ...errorMessage, property: 'font-size' },\n\n inputValueTextColor: { ...checkboxSurface, property: 'color' },\n inputBackgroundColor: { ...checkboxElement, property: 'background-color' },\n\n inputBorderRadius: { ...checkboxElement, property: 'border-radius' },\n inputBorderWidth: { ...checkboxElement, property: 'border-width' },\n inputBorderOffset: { ...checkboxElement, property: 'border-offset' },\n inputBorderColor: { ...checkboxElement, property: 'border-color' },\n inputBorderStyle: { ...checkboxElement, property: 'border-style' },\n\n inputOutlineWidth: { ...checkboxElement, property: 'outline-width' },\n inputOutlineOffset: { ...checkboxElement, property: 'outline-offset' },\n inputOutlineColor: { ...checkboxElement, property: 'outline-color' },\n inputOutlineStyle: { ...checkboxElement, property: 'outline-style' },\n\n inputSize: [\n { ...checkboxElement, property: 'width' },\n { ...checkboxElement, property: 'height' },\n { ...checkboxSurface, property: 'font-size' },\n { ...component, property: 'font-size' },\n ],\n },\n }),\n draggableMixin,\n proxyInputMixin({ proxyProps: ['value', 'selectionStart'] }),\n componentNameValidationMixin,\n booleanFieldMixin\n)(\n createProxy({\n slots: [],\n wrappedEleName: 'vaadin-text-field',\n style: () => `\n\t\t\t${commonStyles}\n ${useHostExternalPadding(CheckboxClass.cssVarList)}\n\n :host {\n\t\t\t\tdisplay: inline-flex;\n\t\t\t\tmax-width: 100%;\n margin: 1px;\n }\n\n :host ::part(error-message) {\n direction: ltr;\n }\n\n vaadin-text-field {\n width: 100%;\n }\n\n descope-boolean-field-internal {\n\t\t\t\tpadding: 0;\n\t\t\t\twidth: 100%;\n height: 100%;\n }\n\n vaadin-checkbox::part(checkbox) {\n margin: 0;\n }\n\n vaadin-checkbox::part(checkbox)::after {\n top: 0;\n left: 0;\n -webkit-text-fill-color: initial;\n }\n\n vaadin-checkbox label {\n -webkit-text-fill-color: initial;\n }\n\n vaadin-text-field::part(input-field)::after {\n content: none;\n }\n `,\n excludeAttrsSync: ['label', 'tabindex'],\n componentName,\n })\n);\n","export const useHostExternalPadding = (cssVarList) => `\n :host {\n padding: calc(var(${cssVarList.inputOutlineWidth}) + var(${cssVarList.inputOutlineOffset}))\n }\n`;\n\nexport const resetInputFieldUnderlayingBorder = (name) => `\n ${name}::part(input-field)::after {\n border: none;\n }\n`;\n\nexport const resetInitialHeight = (name) => `\n ${name}::before {\n\t\theight: unset;\n\t}\n`;\n\nexport const resetInputElement = (name) => `\n ${name} > input {\n -webkit-mask-image: none;\n min-height: 0;\n box-sizing: border-box;\n }\n`;\n\nexport const resetInputContainer = (name) => `\n ${name} {\n margin: 0;\n padding: 0;\n width: 100%;\n height: 100%;\n box-sizing: border-box;\n }\n`;\n\nexport const resetInputField = (name) => `\n ${name}::part(input-field) {\n overflow: hidden;\n padding: 0;\n box-shadow: none;\n }\n`;\n\nexport const resetInputCursor = (name) => `\n ${name} > label,\n ${name}::part(label),\n ${name}::part(required-indicator) {\n cursor: pointer;\n }\n`;\n\nexport const resetInputPlaceholder = (name, ele = 'input') => `\n ${name}[disabled] > ${ele}:placeholder-shown,\n\t${name}[readonly] > ${ele}:placeholder-shown {\n\t\topacity: 1;\n\t}\n`;\n\nexport const resetInputAutoFill = (name, cssVarList) => `\n ${name} input:-webkit-autofill,\n ${name} input:-webkit-autofill::first-line,\n ${name} input:-webkit-autofill:hover,\n ${name} input:-webkit-autofill:active,\n ${name} input:-webkit-autofill:focus {\n -webkit-text-fill-color: var(${cssVarList.inputValueTextColor});\n box-shadow: 0 0 0 var(${cssVarList.inputHeight}) var(${cssVarList.inputBackgroundColor}) inset;\n }\n`;\n\nexport const resetInputFieldDefaultWidth = () => `\n :host {\n --vaadin-field-default-width: auto;\n box-sizing: border-box;\n }\n`;\n\nexport const resetInputReadonlyStyle = (name) => `\n ${name}::part(input-field)::after {\n opacity: 0;\n }\n`;\n\nexport const resetInputFieldInvalidBackgroundColor = (name) => `\n ${name}::part(input-field)::after {\n background: none;\n }\n`;\n\nexport const resetInputOverrides = (name, cssVarList) => `\n ${resetInputContainer(name)}\n ${resetInputCursor(name)}\n ${resetInputPlaceholder(name)}\n ${resetInputField(name)}\n ${resetInputAutoFill(name, cssVarList)}\n ${resetInputFieldInvalidBackgroundColor(name)}\n ${resetInitialHeight(name)}\n ${resetInputElement(name)}\n ${resetInputFieldUnderlayingBorder(name)}\n`;\n\n// This function is used to support RTL correctly for input components.\n// It also fixes the error message to be displayed LTR since we currently\n// don't support RTL for error messages.\nexport const resetInputLabelPosition = (name) => `\n :host ::part(error-message) {\n direction: ltr;\n }\n :host([required]) ::part(required-indicator) {\n width: 1em;\n display: inline-flex;\n }\n :host([required]) ::part(required-indicator)::after {\n position: static;\n }\n :host([has-label]) ::part(label) {\n padding-right: 0;\n padding-bottom: 0;\n display: flex;\n width: 100%;\n }\n ${name} [slot=\"label\"] {\n max-width: calc(100% - 1em);\n overflow: hidden;\n text-overflow: ellipsis;\n padding-bottom: 0.5em;\n }\n`;\n\nexport const inputFloatingLabelStyle = () => {\n return `\n :host([label-type=\"floating\"]) {\n position: relative;\n }\n :host([label-type=\"floating\"][has-label]) [slot=\"label\"] {\n padding: 0;\n }\n :host([label-type=\"floating\"][has-label]) > ::part(label) {\n z-index: 1;\n padding: 0;\n width: auto;\n }\n `;\n};\n","import hljs from 'highlight.js';\nimport { createStyleMixin, draggableMixin, componentNameValidationMixin } from '../../mixins';\nimport { compose } from '../../helpers';\nimport { getComponentName, observeChildren } from '../../helpers/componentHelpers';\nimport { createBaseClass } from '../../baseClasses/createBaseClass';\nimport { decode, tpl } from './helpers';\nimport { injectStyle } from '@descope-ui/common/components-helpers';\n\nexport const componentName = getComponentName('code-snippet');\n\nclass CodeSnippet extends createBaseClass({ componentName, baseSelector: ':host > code' }) {\n static get observedAttributes() {\n return ['lang', 'inline'];\n }\n\n constructor() {\n super();\n\n this.attachShadow({ mode: 'open' }).innerHTML = `\n <code class=\"hljs\"></code>\n `;\n\n injectStyle(\n `\n :host {\n display: inline-block;\n width: 100%;\n }\n code {\n display: block;\n width: 100%;\n min-height: 1em;\n overflow-x: scroll;\n overflow-y: scroll;\n }\n pre {\n margin: 0;\n }\n `,\n this\n );\n }\n\n init() {\n super.init?.();\n\n this.lang = this.getAttribute('lang');\n this.isInline = this.getAttribute('inline') === 'true';\n\n observeChildren(this, this.#renderSnippet.bind(this));\n }\n\n get contentNode() {\n return this.shadowRoot.querySelector(this.baseSelector);\n }\n\n attributeChangedCallback(attrName, oldValue, newValue) {\n super.attributeChangedCallback?.(attrName, oldValue, newValue);\n\n if (oldValue !== newValue) {\n if (attrName === 'inline') {\n this.isInline = newValue;\n }\n\n if (attrName === 'lang') {\n this.lang = newValue;\n }\n\n this.#renderSnippet();\n }\n }\n\n #renderSnippet() {\n const sanitized = decode(this.textContent);\n const language = this.lang;\n\n if (!language) {\n this.contentNode.textContent = sanitized;\n return;\n }\n\n const { value: highlighted } = hljs.highlight(sanitized, { language });\n\n this.contentNode.innerHTML = tpl(highlighted, this.isInline);\n }\n}\n\nconst {\n root,\n docTag,\n keyword,\n metaKeyword,\n templateTag,\n templateVariable,\n type,\n variableLanguage,\n title,\n titleClass,\n titleClassInherited,\n titleFunction,\n attr,\n attribute,\n literal,\n meta,\n number,\n operator,\n variable,\n selectorAttr,\n selectorClass,\n selectorId,\n regexp,\n string,\n metaString,\n builtIn,\n symbol,\n comment,\n code,\n formula,\n name,\n quote,\n selectorTag,\n selectorPseudo,\n subst,\n section,\n bullet,\n emphasis,\n strong,\n addition,\n deletion,\n charEscape,\n link,\n params,\n property,\n punctuation,\n tag,\n} = {\n root: { selector: () => '.hljs' },\n docTag: { selector: () => '.hljs-doctag' },\n keyword: { selector: () => '.hljs-keyword' },\n metaKeyword: { selector: () => '.hljs-meta .hljs-keyword' },\n templateTag: { selector: () => '.hljs-template-tag' },\n templateVariable: { selector: () => '.hljs-template-variable' },\n type: { selector: () => '.hljs-type' },\n variableLanguage: { selector: () => '.hljs-variable.language' },\n title: { selector: () => '.hljs-title' },\n titleClass: { selector: () => '.hljs-title.class_' },\n titleClassInherited: { selector: () => '.hljs-title.class_.inherited__' },\n titleFunction: { selector: () => '.hljs-title.function_' },\n attr: { selector: () => '.hljs-attr' },\n attribute: { selector: () => '.hljs-attribute' },\n literal: { selector: () => '.hljs-literal' },\n meta: { selector: () => '.hljs-meta' },\n number: { selector: () => '.hljs-number' },\n operator: { selector: () => '.hljs-operator' },\n variable: { selector: () => '.hljs-variable' },\n selectorAttr: { selector: () => '.hljs-selector-attr' },\n selectorClass: { selector: () => '.hljs-selector-class' },\n selectorId: { selector: () => '.hljs-selector-id' },\n regexp: { selector: () => '.hljs-regexp' },\n string: { selector: () => '.hljs-string' },\n metaString: { selector: () => '.hljs-meta .hljs-string' },\n builtIn: { selector: () => '.hljs-built_in' },\n symbol: { selector: () => '.hljs-symbol' },\n comment: { selector: () => '.hljs-comment' },\n code: { selector: () => '.hljs-code' },\n formula: { selector: () => '.hljs-formula' },\n name: { selector: () => '.hljs-name' },\n quote: { selector: () => '.hljs-quote' },\n selectorTag: { selector: () => '.hljs-selector-tag' },\n selectorPseudo: { selector: () => '.hljs-selector-pseudo' },\n subst: { selector: () => '.hljs-subst' },\n section: { selector: () => '.hljs-section' },\n bullet: { selector: () => '.hljs-bullet' },\n emphasis: { selector: () => '.hljs-emphasis' },\n strong: { selector: () => '.hljs-strong' },\n addition: { selector: () => '.hljs-addition' },\n deletion: { selector: () => '.hljs-deletion' },\n charEscape: { selector: () => '.hljs-char.escape' },\n link: { selector: () => '.hljs-link' },\n params: { selector: () => '.hljs-params' },\n property: { selector: () => '.hljs-property' },\n punctuation: { selector: () => '.hljs-punctuation' },\n tag: { selector: () => '.hljs-tag' },\n};\n\nexport const CodeSnippetClass = compose(\n createStyleMixin({\n mappings: {\n rootBgColor: { ...root, property: 'background-color' },\n rootTextColor: { ...root, property: 'color' },\n docTagTextColor: { ...docTag, property: 'color' },\n keywordTextColor: { ...keyword, property: 'color' },\n metaKeywordTextColor: { ...metaKeyword, property: 'color' },\n templateTagTextColor: { ...templateTag, property: 'color' },\n templateVariableTextColor: { ...templateVariable, property: 'color' },\n typeTextColor: { ...type, property: 'color' },\n variableLanguageTextColor: { ...variableLanguage, property: 'color' },\n titleTextColor: { ...title, property: 'color' },\n titleClassTextColor: { ...titleClass, property: 'color' },\n titleClassInheritedTextColor: { ...titleClassInherited, property: 'color' },\n titleFunctionTextColor: { ...titleFunction, property: 'color' },\n attrTextColor: { ...attr, property: 'color' },\n attributeTextColor: { ...attribute, property: 'color' },\n literalTextColor: { ...literal, property: 'color' },\n metaTextColor: { ...meta, property: 'color' },\n numberTextColor: { ...number, property: 'color' },\n operatorTextColor: { ...operator, property: 'color' },\n variableTextColor: { ...variable, property: 'color' },\n selectorAttrTextColor: { ...selectorAttr, property: 'color' },\n selectorClassTextColor: { ...selectorClass, property: 'color' },\n selectorIdTextColor: { ...selectorId, property: 'color' },\n regexpTextColor: { ...regexp, property: 'color' },\n stringTextColor: { ...string, property: 'color' },\n metaStringTextColor: { ...metaString, property: 'color' },\n builtInTextColor: { ...builtIn, property: 'color' },\n symbolTextColor: { ...symbol, property: 'color' },\n commentTextColor: { ...comment, property: 'color' },\n codeTextColor: { ...code, property: 'color' },\n formulaTextColor: { ...formula, property: 'color' },\n nameTextColor: { ...name, property: 'color' },\n quoteTextColor: { ...quote, property: 'color' },\n selectorTagTextColor: { ...selectorTag, property: 'color' },\n selectorPseudoTextColor: { ...selectorPseudo, property: 'color' },\n substTextColor: { ...subst, property: 'color' },\n sectionTextColor: { ...section, property: 'color' },\n bulletTextColor: { ...bullet, property: 'color' },\n emphasisTextColor: { ...emphasis, property: 'color' },\n strongTextColor: { ...strong, property: 'color' },\n additionTextColor: { ...addition, property: 'color' },\n additionBgColor: { ...addition, property: 'background-color' },\n deletionTextColor: { ...deletion, property: 'color' },\n deletionBgColor: { ...deletion, property: 'background-color' },\n charEscapeTextColor: { ...charEscape, property: 'color' },\n linkTextColor: { ...link, property: 'color' },\n paramsTextColor: { ...params, property: 'color' },\n propertyTextColor: { ...property, property: 'color' },\n punctuationTextColor: { ...punctuation, property: 'color' },\n tagTextColor: { ...tag, property: 'color' },\n },\n }),\n draggableMixin,\n componentNameValidationMixin\n)(CodeSnippet);\n","export const decode = (input) => {\n const txt = document.createElement('textarea');\n txt.innerHTML = input;\n return txt.value;\n};\n\nexport const tpl = (input, inline) => {\n return inline ? input : `<pre>${input}</pre>`;\n};\n","import { componentName, CodeSnippetClass } from './CodeSnippetClass';\n\ncustomElements.define(componentName, CodeSnippetClass);\n\nexport { CodeSnippetClass, componentName };\n","/* eslint-disable no-param-reassign */\nimport { GridSortColumn } from '@vaadin/grid/vaadin-grid-sort-column';\n\nexport class GridItemDetailsColumnClass extends GridSortColumn {\n get sortable() {\n return this.getAttribute('sortable') === 'true';\n }\n\n // eslint-disable-next-line class-methods-use-this\n _defaultRenderer(cell, _col, model) {\n const grid = _col._gridValue;\n const itemIdx = grid.detailsOpenedItems?.indexOf(model.item) ?? -1;\n const isOpened = itemIdx !== -1;\n\n const toggleIcon = document.createElement('vaadin-icon');\n toggleIcon.icon = isOpened ? 'vaadin:angle-up' : 'vaadin:angle-down';\n toggleIcon.classList.add('toggle-details-button', isOpened ? 'opened' : 'closed');\n cell.innerHTML = '';\n cell.append(toggleIcon);\n\n toggleIcon.onclick = () => {\n grid.detailsOpenedItems = isOpened\n ? grid.detailsOpenedItems.toSpliced(itemIdx, 1)\n : [...grid.detailsOpenedItems, model.item];\n };\n }\n\n _defaultHeaderRenderer(root, _column) {\n if (this.sortable) {\n super._defaultHeaderRenderer(root, _column);\n\n return;\n }\n\n this.__setTextContent(root, this.__getHeader(this.header, this.path));\n }\n}\n","import { getComponentName } from '../../../helpers/componentHelpers';\nimport { GridItemDetailsColumnClass } from './GridItemDetailsColumnClass';\nimport '@vaadin/icon';\nimport '@vaadin/icons';\n\nexport const componentName = getComponentName('grid-item-details-column');\n\ncustomElements.define(componentName, GridItemDetailsColumnClass);\n"],"names":["GridTextColumnClass","sortable","this","getAttribute","_defaultRenderer","cell","_col","model","data","item","path","content","Array","isArray","join","__setTextContent","title","_defaultHeaderRenderer","root","_column","super","__getHeader","header","customElements","define","createBaseInputClass","args","GridCustomColumnClass","contentEle","from","children","find","child","pattern","RegExp","test","newEle","cloneNode","textContent","innerHTML","append","componentName","booleanFieldMixin","superclass","init","template","document","createElement","baseElement","appendChild","inputElement","shadowRoot","querySelector","checkbox","includeAttrs","isValidDataType","isValid","console","error","escapeXML","s","dom","getValueType","value","constructor","Object","isPlainObject","renderCodeSnippet","lang","renderText","text","renderJson","JSON","stringify","host","headerRow","headerRowCell","contentRow","firstRow","sortIndicators","activeSortIndicator","selectedRow","rowSeparator","resizeHandle","toggleDetailsPanelButton","toggleDetailsPanelButtonOpened","toggleDetailsPanelButtonClosed","detailsPanel","detailsPanelLabels","selectedRowCell","detailsPanelContent","selector","GridClass","componentNameOverride","mappings","hostWidth","property","hostHeight","hostMinHeight","fontFamily","fontSize","fontWeight","valueTextColor","backgroundColor","sortIndicatorsColor","borderColor","borderWidth","borderStyle","borderRadius","selectedBackgroundColor","headerRowTextColor","separatorColor","resizeHandleColor","hostDirection","fallback","toggleDetailsPanelButtonSize","toggleDetailsPanelButtonOpenedColor","toggleDetailsPanelButtonClosedColor","toggleDetailsPanelButtonCursor","detailsPanelBackgroundColor","detailsPanelBorderTopColor","detailsPanelLabelsColor","detailsPanelLabelsFontSize","detailsPanelItemsGap","detailsPanelPadding","handleColumns","forwardSelectedItemsChange","_mapSorters","origUpdateDetailsCellHeight","_updateDetailsCellHeight","row","call","rowDetailsRenderer","bind","async","addEventListener","e","stopImmediatePropagation","getRowDetailsTemplate","itemLabelsMapping","reduce","acc","entries","map","key","valueType","renderXml","some","v","defaultRowDetailsValueRenderer","defaultRowDetailsRenderer","HTMLTemplateElement","assign","Error","dispatchEvent","CustomEvent","bubbles","composed","detail","attributeChangedCallback","attrName","oldValue","newValue","setColumnsDataFromAttr","columnsAttr","length","setColumnsFromChildren","type","localName","match","attrs","attrVal","parse","columns","message","tagName","renderColumn","renderFn","renderColumns","getColumnsTemplate","reassignRowDetailsRenderer","setTimeout","grid","items","selectedItems","itemsIds","Set","uniqueColumnId","newSelectedItems","filter","selectedItem","has","paths","col","delegatesFocus","slots","wrappedEleName","style","cssVarList","excludeAttrsSync","forwardAttributes","BaseInputClass","baseSelector","observedAttributes","wrapperEle","checked","val","isTrusted","focus","handleFocusEventsDispatching","onReadOnlyChange","setAttribute","getValidity","isRequired","valueMissing","createCheckboxEle","getIsAllItemsSelected","GridSelectionColumnClass","_onHeaderRendererOrBindingChanged","_headerRenderer","parentNode","isAllItemsSelected","onchange","selectItem","deselectItem","selected","component","checkboxElement","checkboxSurface","checkboxLabel","requiredIndicator","helperText","errorMessage","CheckboxClass","labelTextColor","labelSpacing","labelLineHeight","labelFontWeight","labelRequiredIndicator","errorMessageTextColor","errorMessageIcon","errorMessageIconSize","errorMessageIconPadding","errorMessageIconRepeat","errorMessageIconPosition","errorMessageFontSize","inputValueTextColor","inputBackgroundColor","inputBorderRadius","inputBorderWidth","inputBorderOffset","inputBorderColor","inputBorderStyle","inputOutlineWidth","inputOutlineOffset","inputOutlineColor","inputOutlineStyle","inputSize","proxyProps","useHostExternalPadding","resetInputContainer","name","resetInputField","resetInputCursor","resetInputPlaceholder","ele","resetInputFieldDefaultWidth","resetInputReadonlyStyle","resetInputFieldInvalidBackgroundColor","resetInputOverrides","inputHeight","resetInputAutoFill","resetInitialHeight","resetInputElement","resetInputFieldUnderlayingBorder","resetInputLabelPosition","inputFloatingLabelStyle","CodeSnippet","createBaseClass","attachShadow","mode","isInline","contentNode","sanitized","input","txt","decode","language","highlighted","highlight","docTag","keyword","metaKeyword","templateTag","templateVariable","variableLanguage","titleClass","titleClassInherited","titleFunction","attr","attribute","literal","meta","number","operator","variable","selectorAttr","selectorClass","selectorId","regexp","string","metaString","builtIn","symbol","comment","code","formula","quote","selectorTag","selectorPseudo","subst","section","bullet","emphasis","strong","addition","deletion","charEscape","link","params","punctuation","tag","CodeSnippetClass","rootBgColor","rootTextColor","docTagTextColor","keywordTextColor","metaKeywordTextColor","templateTagTextColor","templateVariableTextColor","typeTextColor","variableLanguageTextColor","titleTextColor","titleClassTextColor","titleClassInheritedTextColor","titleFunctionTextColor","attrTextColor","attributeTextColor","literalTextColor","metaTextColor","numberTextColor","operatorTextColor","variableTextColor","selectorAttrTextColor","selectorClassTextColor","selectorIdTextColor","regexpTextColor","stringTextColor","metaStringTextColor","builtInTextColor","symbolTextColor","commentTextColor","codeTextColor","formulaTextColor","nameTextColor","quoteTextColor","selectorTagTextColor","selectorPseudoTextColor","substTextColor","sectionTextColor","bulletTextColor","emphasisTextColor","strongTextColor","additionTextColor","additionBgColor","deletionTextColor","deletionBgColor","charEscapeTextColor","linkTextColor","paramsTextColor","propertyTextColor","punctuationTextColor","tagTextColor","GridItemDetailsColumnClass","_gridValue","itemIdx","detailsOpenedItems","indexOf","isOpened","toggleIcon","icon","classList","add","onclick","toSpliced"],"sourceRoot":""}