@descope/web-components-ui 1.0.252 → 1.0.254
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/cjs/index.cjs.js +87 -10
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/index.esm.js +87 -10
- package/dist/index.esm.js.map +1 -1
- package/dist/umd/descope-button-index-js.js +1 -1
- package/dist/umd/descope-combo-box-index-js.js +1 -1
- package/dist/umd/descope-multi-select-combo-box-index-js.js +1 -1
- package/dist/umd/descope-text-area-index-js.js +1 -1
- package/package.json +1 -1
- package/src/components/descope-button/ButtonClass.js +2 -1
- package/src/components/descope-combo-box/ComboBoxClass.js +18 -3
- package/src/components/descope-multi-select-combo-box/MultiSelectComboBoxClass.js +42 -3
- package/src/components/descope-text-area/TextAreaClass.js +1 -0
- package/src/theme/components/button.js +7 -0
- package/src/theme/components/comboBox.js +3 -1
- package/src/theme/components/multiSelectComboBox.js +4 -2
- package/src/theme/components/textArea.js +5 -0
- package/src/theme/components/textField.js +5 -0
@@ -1 +1 @@
|
|
1
|
-
"use strict";(self.webpackChunkDescopeUI=self.webpackChunkDescopeUI||[]).push([[9662],{9690:(t,n,e)=>{e.d(n,{n:()=>
|
1
|
+
"use strict";(self.webpackChunkDescopeUI=self.webpackChunkDescopeUI||[]).push([[9662],{9690:(t,n,e)=>{e.d(n,{n:()=>p,f:()=>a});var o=e(2061),r=e(4567),i=e(1e3);const a=(0,r.iY)("button"),{host:s,label:l}={host:{selector:()=>":host"},label:{selector:"::part(label)"}};let d;const p=(0,o.qC)((0,i.yk)({mappings:{hostWidth:{property:"width"},hostHeight:{property:"height"},hostDirection:{...s,property:"direction"},fontSize:{},fontFamily:{},cursor:{},backgroundColor:{},outlineOffset:{},outlineColor:{},outlineStyle:{},outlineWidth:{},borderRadius:{},borderColor:{},borderStyle:{},borderWidth:{},verticalPadding:[{property:"padding-top"},{property:"padding-bottom"}],labelTextColor:{property:"color"},labelTextDecoration:{...l,property:"text-decoration"},labelSpacing:{...l,property:"gap"},textAlign:{...l,property:"justify-content"}}}),(t=>class extends t{get isLoading(){return"true"===this.getAttribute("loading")}click(){this.isLoading||super.click()}}),i.e4,i.Ae)((0,i.DM)({slots:["","prefix","label","suffix"],wrappedEleName:"vaadin-button",style:()=>`\n\t\t\t\n\t:host {\n\t\tdisplay: inline-block;\n\t\tbox-sizing: border-box;\n\t}\n\tvaadin-button::before,\n\tvaadin-button::after {\n\t\topacity: 0;\n\t}\n\tvaadin-button {\n\t\tmargin: 0;\n\t\tmin-width: 0;\n\t\twidth: 100%;\n\t\theight: auto;\n\t\tbox-shadow: none;\n\t}\n\tvaadin-button::part(label) {\n\t\tpadding: 0;\n width: 100%;\n\t}\n\tvaadin-button::part(prefix) {\n\t\tmargin-left: 0;\n\t\tmargin-right: 0;\n\t}\n\n\t\t\t\n\tvaadin-button::part(prefix),\n\tvaadin-button::part(label) {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t}\n\n\t\t\t${d}\n\t\t\tvaadin-button::part(label) { pointer-events: none; }\n\t\t\t:host {\n\t\t\t\tpadding: calc(var(${p.cssVarList.outlineWidth}) + var(${p.cssVarList.outlineOffset}));\n\t\t\t}\n :host([full-width="true"]) {\n width: var(${p.cssVarList.hostWidth});\n }\n\t\t\tvaadin-button {\n\t\t\t\theight: calc(var(${p.cssVarList.hostHeight}) - var(${p.cssVarList.outlineWidth}) - var(${p.cssVarList.outlineOffset}));\n\t\t\t}\n\t\t\t[square="true"]:not([full-width="true"]) {\n\t\t\t\twidth: calc(var(${p.cssVarList.hostWidth}) - var(${p.cssVarList.outlineWidth}) - var(${p.cssVarList.outlineOffset}));\n padding: 0;\n\t\t\t}\n\t\t`,excludeAttrsSync:["tabindex"],componentName:a})),{color:c,fontSize:b}=p.cssVarList;d=`\n\t@keyframes spin {\n\t\t0% { -webkit-transform: rotate(0deg); }\n\t\t100% { -webkit-transform: rotate(360deg); }\n\t}\n\t:host([loading="true"]) ::before {\n\t\tanimation: spin 2s linear infinite;\n\t\tposition: absolute;\n\t\tcontent: '';\n\t\tz-index: 1;\n\t\tbox-sizing: border-box;\n\t\tborder-radius: 50%;\n\t\tborder-bottom-color: transparent;\n\t\tborder-left-color: transparent;\n\t\tborder-style: solid;\n\t\tcolor: var(${c});\n\t\ttop: calc(50% - (var(${b}) / 2));\n\t\tleft: calc(50% - (var(${b}) / 2));\n\t\tborder-width: calc(var(${b}) / 10);\n\t\twidth: var(${b});\n\t\theight: var(${b});\n\t}\n\t:host([disabled="true"]),\n\t:host([loading="true"]) {\n\t\tpointer-events: none;\n\t}\n\t:host([loading="true"])::part(prefix),\n\t:host([loading="true"])::part(label) {\n\t\tvisibility: hidden;\n\t}\n`},2018:(t,n,e)=>{e.r(n),e.d(n,{ButtonClass:()=>o.n}),e(1721);var o=e(9690);customElements.define(o.f,o.n)}}]);
|
@@ -1 +1 @@
|
|
1
|
-
"use strict";(self.webpackChunkDescopeUI=self.webpackChunkDescopeUI||[]).push([[9483],{4049:(e,t,r)=>{r.d(t,{H:()=>
|
1
|
+
"use strict";(self.webpackChunkDescopeUI=self.webpackChunkDescopeUI||[]).push([[9483],{4049:(e,t,r)=>{r.d(t,{H:()=>v,f:()=>s});var o=r(2061),i=r(4567),a=r(4201),n=r(1e3);const s=(0,i.iY)("combo-box"),{host:l,inputField:d,inputElement:p,placeholder:c,toggle:u,clearButton:m,label:h,requiredIndicator:b,helperText:y,errorMessage:g}={host:{selector:()=>":host"},inputField:{selector:"::part(input-field)"},inputElement:{selector:"input"},placeholder:{selector:"> input:placeholder-shown"},toggle:{selector:"::part(toggle-button)"},clearButton:{selector:"::part(clear-button)"},label:{selector:"::part(label)"},requiredIndicator:{selector:"[required]::part(required-indicator)::after"},helperText:{selector:"::part(helper-text)"},errorMessage:{selector:"::part(error-message)"}},v=(0,o.qC)((0,n.yk)({mappings:{hostWidth:{...l,property:"width"},hostDirection:{...l,property:"direction"},fontSize:[{},l],fontFamily:[h,c,d,y,g],labelTextColor:[{...h,property:"color"},{...b,property:"color"}],errorMessageTextColor:{...g,property:"color"},inputHeight:{...d,property:"height"},inputBackgroundColor:{...d,property:"background-color"},inputBorderColor:{...d,property:"border-color"},inputBorderWidth:{...d,property:"border-width"},inputBorderStyle:{...d,property:"border-style"},inputBorderRadius:{...d,property:"border-radius"},labelRequiredIndicator:{...b,property:"content"},inputValueTextColor:{...d,property:"color"},inputPlaceholderTextColor:{...c,property:"color"},inputDropdownButtonCursor:[{...u,property:"cursor"},{...m,property:"cursor"}],inputDropdownButtonColor:[{...u,property:"color"},{...m,property:"color"}],inputDropdownButtonSize:[{...u,property:"font-size"},{...m,property:"font-size"}],inputDropdownButtonOffset:[{...u,property:"margin-right"},{...u,property:"margin-left"}],inputOutlineColor:{...d,property:"outline-color"},inputOutlineWidth:{...d,property:"outline-width"},inputOutlineStyle:{...d,property:"outline-style"},inputOutlineOffset:{...d,property:"outline-offset"},inputHorizontalPadding:[{...p,property:"padding-left"},{...p,property:"padding-right"}],overlayBackground:{property:()=>v.cssVarList.overlay.backgroundColor},overlayTextColor:{property:()=>v.cssVarList.overlay.textColor},overlayBorder:{property:()=>v.cssVarList.overlay.border},overlayFontSize:{property:()=>v.cssVarList.overlay.fontSize},overlayFontFamily:{property:()=>v.cssVarList.overlay.fontFamily},overlayCursor:{property:()=>v.cssVarList.overlay.cursor},overlayItemBoxShadow:{property:()=>v.cssVarList.overlay.itemBoxShadow},overlayItemPaddingInlineStart:{property:()=>v.cssVarList.overlay.itemPaddingInlineStart},overlayItemPaddingInlineEnd:{property:()=>v.cssVarList.overlay.itemPaddingInlineEnd}}}),n.e4,(0,n.Iw)({name:"overlay",selector:"",mappings:{backgroundColor:{selector:"vaadin-combo-box-scroller"},minHeight:{selector:"vaadin-combo-box-overlay"},margin:{selector:"vaadin-combo-box-overlay"},cursor:{selector:"vaadin-combo-box-item"},fontFamily:{selector:"vaadin-combo-box-item"},textColor:{selector:"vaadin-combo-box-item",property:"color"},fontSize:{selector:"vaadin-combo-box-item"},itemBoxShadow:{selector:"vaadin-combo-box-item",property:"box-shadow"},itemPaddingInlineStart:{selector:"vaadin-combo-box-item",property:"padding-inline-start"},itemPaddingInlineEnd:{selector:"vaadin-combo-box-item",property:"padding-inline-end"}},forward:{include:!1,attributes:["size"]}}),(0,n.dj)({proxyProps:["selectionStart"],inputEvent:"selected-item-changed"}),n.Ae,(e=>class extends e{#e=({displayName:e,value:t,label:r})=>`<span data-name="${r}" data-id="${t}">${e||r}</span>`;#t;get defaultValue(){return this.getAttribute("default-value")}get renderItem(){return this.#e}set renderItem(e){this.#e=e,this.renderItems()}get data(){if(this.#t)return this.#t;const e=this.getAttribute("data");if(e)try{const t=JSON.parse(e);if(this.isValidDataType(t))return t}catch(e){console.error('could not parse data string from attribute "data" -',e.message)}return[]}set data(e){this.isValidDataType(e)&&(this.#t=e,this.renderItems())}isValidDataType(e){const t=Array.isArray(e);return t||console.error("data must be an array, received:",e),t}getItemsTemplate(){return this.data?.reduce?.(((e,t)=>e+(this.renderItem?.(t||{})||"")),"")}renderItems(){const e=this.getItemsTemplate();e&&(this.innerHTML=e)}handleSelectedItem(){const e=this.baseElement.selectedItem?.["data-id"];this.baseElement.selectedItem=void 0,e&&(this.value=e),this.value||this.setDefaultValue()}customValueTransformFn(e){return e}setComboBoxDescriptor(){const e=Object.getOwnPropertyDescriptor(this.inputElement.constructor.prototype,"value"),t=this;Object.defineProperties(this.inputElement,{value:{...e,set(r){if(!t.baseElement.items?.length)return;const o=t.customValueTransformFn(r)||"";o!==this.value&&e.set.call(this,o)}}})}#r(){const e=this.shadowRoot.querySelector(this.baseSelector),t=Array.from(this.children);t.length&&(t.forEach((e=>{Object.defineProperty(e,"data-name",{value:e.getAttribute("data-name"),configurable:!0,writable:!0}),Object.defineProperty(e,"data-id",{value:e.getAttribute("data-id"),configurable:!0,writable:!0})})),e.items=t,setTimeout((()=>{this.handleSelectedItem()}),0)),e.renderer=(e,t,r)=>{e.innerHTML=r.item.outerHTML}}#o(){const e=this.baseElement.shadowRoot.querySelector("vaadin-combo-box-overlay");e._attachOverlay=()=>{e.bringToFront()},e._detachOverlay=()=>{},e._enterModalState=()=>{}}init(){super.init?.(),this.getValidity=function(){return!this.value&&this.isRequired?{valueMissing:!0}:{}},this.setComboBoxDescriptor(),this.#o(),this.renderItems(),(0,i.FX)(this,this.renderItems.bind(this),{includeAttrs:["data"]}),(0,i.P$)(this,this.#r.bind(this)),this.setDefaultValue()}setDefaultValue(){this.value=this.defaultValue}set value(e){if(e){const t=this.baseElement.items?.find((t=>t["data-id"]===e));t&&(this.baseElement.selectedItem=t)}else this.baseElement.selectedItem=void 0}get value(){return this.baseElement.selectedItem?.["data-id"]||""}}))((0,n.DM)({slots:["","prefix"],wrappedEleName:"vaadin-combo-box",style:()=>`\n\t\t:host {\n\t\t\tdisplay: inline-flex;\n\t\t\tbox-sizing: border-box;\n\t\t\t-webkit-mask-image: none;\n\t\t}\n\t\t${(0,a.bi)(v.cssVarList)}\n\t\t${(0,a.PH)("vaadin-combo-box")}\n\t\t${(0,a.jI)("vaadin-combo-box")}\n\t\t${(0,a.Pd)("vaadin-combo-box")}\n\n\t\tvaadin-combo-box {\n\t\t\tpadding: 0;\n\t\t\twidth: 100%;\n\t\t}\n\t\tvaadin-combo-box::before {\n\t\t\theight: initial;\n\t\t}\n\t\tvaadin-combo-box [slot="input"] {\n\t\t\t-webkit-mask-image: none;\n\t\t\tmin-height: 0;\n\t\t\tbox-sizing: border-box;\n\t\t}\n\n\t\tvaadin-combo-box::part(input-field) {\n\t\t\tpadding: 0;\n\t\t\tbox-shadow: none;\n\t\t}\n ${(0,a.Wf)("vaadin-combo-box")}\n\t\t`,excludeAttrsSync:["tabindex","size","data"],componentName:s,includeForwardProps:["items","renderer","selectedItem"]}))},1294:(e,t,r)=>{r.r(t),r.d(t,{ComboBoxClass:()=>o.H}),r(7583);var o=r(4049);customElements.define(o.f,o.H)}}]);
|
@@ -1 +1 @@
|
|
1
|
-
"use strict";(self.webpackChunkDescopeUI=self.webpackChunkDescopeUI||[]).push([[3840],{9393:(e,t,o)=>{o.r(t),o.d(t,{MultiSelectComboBoxClass:()=>I}),o(1438);var r=o(2061),i=o(4567),a=o(4201),l=o(1e3);const n=(0,i.iY)("multi-select-combo-box"),{host:s,inputField:d,inputElement:c,placeholder:p,toggle:u,label:m,requiredIndicator:h,helperText:b,errorMessage:y,chip:v,chipLabel:g,overflowChipFirstBorder:f,overflowChipSecondBorder:x}={host:{selector:()=>":host"},inputField:{selector:"::part(input-field)"},inputElement:{selector:"input"},placeholder:{selector:"> input:placeholder-shown"},toggle:{selector:"::part(toggle-button)"},label:{selector:"::part(label)"},requiredIndicator:{selector:"[required]::part(required-indicator)::after"},helperText:{selector:"::part(helper-text)"},errorMessage:{selector:"::part(error-message)"},chip:{selector:"vaadin-multi-select-combo-box-chip"},chipLabel:{selector:"vaadin-multi-select-combo-box-chip::part(label)"},overflowChipFirstBorder:{selector:"vaadin-multi-select-combo-box-chip[slot='overflow']::before"},overflowChipSecondBorder:{selector:"vaadin-multi-select-combo-box-chip[slot='overflow']::after"}},I=(0,r.qC)((0,l.yk)({mappings:{hostWidth:{...s,property:"width"},hostDirection:{...s,property:"direction"},fontSize:[{},s],chipFontSize:{...g,property:"font-size"},fontFamily:[m,p,d,b,y,g],labelTextColor:[{...m,property:"color"},{...h,property:"color"}],errorMessageTextColor:{...y,property:"color"},inputHeight:{...d,property:"min-height"},inputBackgroundColor:{...d,property:"background-color"},inputBorderColor:{...d,property:"border-color"},inputBorderWidth:{...d,property:"border-width"},inputBorderStyle:{...d,property:"border-style"},inputBorderRadius:{...d,property:"border-radius"},labelRequiredIndicator:{...h,property:"content"},inputValueTextColor:{...d,property:"color"},inputPlaceholderTextColor:{...p,property:"color"},inputDropdownButtonCursor:{...u,property:"cursor"},inputDropdownButtonColor:{...u,property:"color"},inputDropdownButtonSize:{...u,property:"font-size"},inputDropdownButtonOffset:[{...u,property:"margin-right"},{...u,property:"margin-left"}],inputOutlineColor:{...d,property:"outline-color"},inputOutlineWidth:{...d,property:"outline-width"},inputOutlineStyle:{...d,property:"outline-style"},inputOutlineOffset:{...d,property:"outline-offset"},inputHorizontalPadding:[{...c,property:"padding-left"},{...c,property:"padding-right"},{...d,property:"padding-inline-start"}],inputVerticalPadding:[{...d,property:"padding-top"},{...d,property:"padding-bottom"}],chipTextColor:{...g,property:"color"},chipBackgroundColor:[{...v,property:"background-color"},{...f,property:"border-color"},{...x,property:"border-color"}],overlayBackground:{property:()=>I.cssVarList.overlay.backgroundColor},overlayBorder:{property:()=>I.cssVarList.overlay.border},overlayFontSize:{property:()=>I.cssVarList.overlay.fontSize},overlayFontFamily:{property:()=>I.cssVarList.overlay.fontFamily},overlayCursor:{property:()=>I.cssVarList.overlay.cursor},overlayItemBoxShadow:{property:()=>I.cssVarList.overlay.itemBoxShadow},overlayItemPaddingInlineStart:{property:()=>I.cssVarList.overlay.itemPaddingInlineStart},overlayItemPaddingInlineEnd:{property:()=>I.cssVarList.overlay.itemPaddingInlineEnd}}}),l.e4,(0,l.Iw)({name:"overlay",selector:"vaadin-multi-select-combo-box-internal",mappings:{backgroundColor:{selector:"vaadin-multi-select-combo-box-scroller"},minHeight:{selector:"vaadin-multi-select-combo-box-overlay"},margin:{selector:"vaadin-multi-select-combo-box-overlay"},cursor:{selector:"vaadin-multi-select-combo-box-item"},fontFamily:{selector:"vaadin-multi-select-combo-box-item"},fontSize:{selector:"vaadin-multi-select-combo-box-item"},itemBoxShadow:{selector:"vaadin-multi-select-combo-box-item",property:"box-shadow"},itemPaddingInlineStart:{selector:"vaadin-multi-select-combo-box-item",property:"padding-inline-start"},itemPaddingInlineEnd:{selector:"vaadin-multi-select-combo-box-item",property:"padding-inline-end"}},forward:{include:!1,attributes:["size"]}}),(0,l.dj)({proxyProps:["selectionStart"],inputEvent:"selected-items-changed"}),l.li,l.Ae,(e=>class extends e{#e=({displayName:e,value:t,label:o})=>`<span data-name="${o}" data-id="${t}">${e||o}</span>`;#t;#o=[];get defaultValues(){const e=this.getAttribute("default-values");if(e)try{const t=JSON.parse(e);if(this.isValidDataType(t))return t}catch(e){console.error('could not parse data string from attribute "default-values" -',e.message)}return[]}get renderItem(){return this.#e}set renderItem(e){this.#e=e,this.renderItems()}get data(){if(this.#t)return this.#t;const e=this.getAttribute("data");if(e)try{const t=JSON.parse(e);if(this.isValidDataType(t))return t}catch(e){console.error('could not parse data string from attribute "data" -',e.message)}return[]}set data(e){this.isValidDataType(e)&&(this.#t=e,this.renderItems())}get allowCustomValue(){return"true"===this.getAttribute("allow-custom-value")}get minItemsSelection(){return parseInt(this.getAttribute("min-items-selection"),10)||0}get maxItemsSelection(){return parseInt(this.getAttribute("max-items-selection"),10)||0}isValidDataType(e){const t=Array.isArray(e);return t||console.error("data and default-values must be an array, received:",e),t}getItemsTemplate(){return this.data?.reduce?.(((e,t)=>e+(this.renderItem?.(t||{})||"")),"")}renderItems(){const e=this.getItemsTemplate();e&&(this.innerHTML=e)}updateSelectedItems(){const e=this.baseElement.selectedItems?.map((e=>e.getAttribute("data-id")))||[];e.length>0&&(this.value=e),0===this.value.length&&this.setDefaultValues()}customValueTransformFn(e){return e}setComboBoxDescriptor(){const e=Object.getOwnPropertyDescriptor(this.inputElement.constructor.prototype,"value"),t=this;Object.defineProperties(this.inputElement,{value:{...e,set(o){const r=t.customValueTransformFn(o)||"";r!==this.value&&e.set.call(this,r)}}})}#r(){const e=Array.from(this.children);e.length?(this.removeAttribute("has-no-options"),e.forEach((e=>{Object.defineProperty(e,"data-name",{value:e.getAttribute("data-name"),configurable:!0,writable:!0}),Object.defineProperty(e,"data-id",{value:e.getAttribute("data-id"),configurable:!0,writable:!0})})),this.baseElement.items=e,setTimeout((()=>{this.updateSelectedItems()}),0)):(this.baseElement.items=[],this.setAttribute("has-no-options","")),this.baseElement.renderer=(e,t,o)=>{e.innerHTML=o.item.outerHTML}}#i(){const e=this.baseElement.shadowRoot.querySelector("vaadin-multi-select-combo-box-internal").shadowRoot.querySelector("vaadin-multi-select-combo-box-overlay");e._attachOverlay=()=>{e.bringToFront()},e._detachOverlay=()=>{},e._enterModalState=()=>{}}#a(){this.allowCustomValue&&this.baseElement.addEventListener("custom-value-set",(e=>{const t=this.#e({label:e.detail,displayName:e.detail,value:e.detail});this.innerHTML+=t,this.baseElement._lastFilter="",setTimeout((()=>{this.value=[...this.value,e.detail]}),0)}))}setGetValidity(){this.getValidity=function(){return this.isRequired&&!this.value.length?{valueMissing:!0}:this.isRequired&&this.minItemsSelection&&this.value.length<this.minItemsSelection?{rangeUnderflow:!0}:this.maxItemsSelection&&this.value.length>this.maxItemsSelection?{rangeOverflow:!0}:{}};const e=this;this.baseElement.checkValidity=()=>e.validity.valid}init(){super.init?.(),this.setGetValidity(),this.setComboBoxDescriptor(),this.#i(),this.#a(),this.renderItems(),(0,i.FX)(this,this.renderItems.bind(this),{includeAttrs:["data"]}),(0,i.P$)(this,this.#r.bind(this)),(0,i.oP)(this,this.baseElement,{includeAttrs:["placeholder"]}),this.setDefaultValues(),this.baseElement.addEventListener("selected-items-changed",(()=>{this.#l(),this.dispatchEvent(new CustomEvent("input",{bubbles:!0}))}))}setDefaultValues(){this.defaultValues.length>0&&(this.value=this.defaultValues)}#l(){this.#o=this.baseElement.selectedItems?.map((e=>e.getAttribute("data-id")))||[]}set value(e){if(e&&e.length>0){const t=this.baseElement.items?.filter((t=>e.includes(t["data-id"]))),o=t?.map((e=>e.getAttribute("data-id")))||[];(0,r.lo)(this.#o,o)||(this.baseElement.selectedItems=t)}else this.baseElement.selectedItems=[]}get value(){return this.#o}}))((0,l.DM)({slots:["","prefix"],wrappedEleName:"vaadin-multi-select-combo-box",style:()=>`\n\t\t:host {\n\t\t\tdisplay: inline-flex;\n\t\t\tbox-sizing: border-box;\n\t\t\t-webkit-mask-image: none;\n\t\t}\n\t\t${(0,a.bi)(I.cssVarList)}\n\t\t${(0,a.PH)("vaadin-multi-select-combo-box")}\n\t\t${(0,a.jI)("vaadin-multi-select-combo-box")}\n\t\t${(0,a.Pd)("vaadin-multi-select-combo-box")}\n\n\t\tvaadin-multi-select-combo-box {\n\t\t\tpadding: 0;\n\t\t\twidth: 100%;\n\t\t}\n\t\tvaadin-multi-select-combo-box::before {\n\t\t\theight: initial;\n\t\t}\n\t\tvaadin-multi-select-combo-box [slot="input"] {\n\t\t\t-webkit-mask-image: none;\n\t\t\tmin-height: 0;\n align-self: center;\n\t\t\tbox-sizing: border-box;\n\t\t}\n\t\tvaadin-multi-select-combo-box[readonly] [slot="input"] {\n flex-grow: 1;\n flex-basis: 4em;\n\t\t}\n\n\t\t::part(input-field) {\n padding: 0;\n\t\t\tbox-shadow: none;\n\t\t}\n ${(0,a.Wf)("vaadin-multi-select-combo-box")}\n :host([has-label]) vaadin-multi-select-combo-box-chip::part(label) {\n display: block;\n }\n\n vaadin-multi-select-combo-box vaadin-multi-select-combo-box-chip[slot='overflow']::before,\n vaadin-multi-select-combo-box vaadin-multi-select-combo-box-chip[slot='overflow']::after {\n left: -4px;\n right: -4px;\n border-left-width: 0;\n border-inline-start-style: solid;\n border-inline-start-width: 2px;\n }\n vaadin-multi-select-combo-box vaadin-multi-select-combo-box-chip[slot='overflow']::after {\n left: -8px;\n right: -8px;\n }\n\n :host([has-no-options][allow-custom-value='true']) ::part(toggle-button) {\n display: none;\n }\n\t\t`,excludeAttrsSync:["tabindex","size","data","placeholder"],componentName:n,includeForwardProps:["items","renderer","selectedItems"]}));customElements.define(n,I)}}]);
|
1
|
+
"use strict";(self.webpackChunkDescopeUI=self.webpackChunkDescopeUI||[]).push([[3840],{9393:(e,t,o)=>{o.r(t),o.d(t,{MultiSelectComboBoxClass:()=>I}),o(1438);var r=o(2061),i=o(4567),a=o(4201),l=o(1e3);const n=(0,i.iY)("multi-select-combo-box"),{host:s,inputField:d,inputElement:c,placeholder:p,toggle:u,clearButton:m,label:h,requiredIndicator:b,helperText:y,errorMessage:v,chip:g,chipLabel:f,overflowChipFirstBorder:x,overflowChipSecondBorder:w}={host:{selector:()=>":host"},inputField:{selector:"::part(input-field)"},inputElement:{selector:"input"},placeholder:{selector:"> input:placeholder-shown"},toggle:{selector:"::part(toggle-button)"},clearButton:{selector:"::part(clear-button)"},label:{selector:"::part(label)"},requiredIndicator:{selector:"[required]::part(required-indicator)::after"},helperText:{selector:"::part(helper-text)"},errorMessage:{selector:"::part(error-message)"},chip:{selector:"vaadin-multi-select-combo-box-chip"},chipLabel:{selector:"vaadin-multi-select-combo-box-chip::part(label)"},overflowChipFirstBorder:{selector:"vaadin-multi-select-combo-box-chip[slot='overflow']::before"},overflowChipSecondBorder:{selector:"vaadin-multi-select-combo-box-chip[slot='overflow']::after"}},I=(0,r.qC)((0,l.yk)({mappings:{hostWidth:{...s,property:"width"},hostDirection:{...s,property:"direction"},fontSize:[{},s],chipFontSize:{...f,property:"font-size"},fontFamily:[h,p,d,y,v,f],labelTextColor:[{...h,property:"color"},{...b,property:"color"}],errorMessageTextColor:{...v,property:"color"},inputHeight:{...d,property:"min-height"},inputBackgroundColor:{...d,property:"background-color"},inputBorderColor:{...d,property:"border-color"},inputBorderWidth:{...d,property:"border-width"},inputBorderStyle:{...d,property:"border-style"},inputBorderRadius:{...d,property:"border-radius"},labelRequiredIndicator:{...b,property:"content"},inputValueTextColor:{...d,property:"color"},inputPlaceholderTextColor:{...p,property:"color"},inputDropdownButtonCursor:[{...u,property:"cursor"},{...m,property:"cursor"}],inputDropdownButtonColor:[{...u,property:"color"},{...m,property:"color"}],inputDropdownButtonSize:[{...u,property:"font-size"},{...m,property:"font-size"}],inputDropdownButtonOffset:[{...u,property:"margin-right"},{...u,property:"margin-left"}],inputOutlineColor:{...d,property:"outline-color"},inputOutlineWidth:{...d,property:"outline-width"},inputOutlineStyle:{...d,property:"outline-style"},inputOutlineOffset:{...d,property:"outline-offset"},inputHorizontalPadding:[{...c,property:"padding-left"},{...c,property:"padding-right"},{...d,property:"padding-inline-start"}],inputVerticalPadding:[{...d,property:"padding-top"},{...d,property:"padding-bottom"}],chipTextColor:{...f,property:"color"},chipBackgroundColor:[{...g,property:"background-color"},{...x,property:"border-color"},{...w,property:"border-color"}],overlayBackground:{property:()=>I.cssVarList.overlay.backgroundColor},overlayTextColor:{property:()=>I.cssVarList.overlay.textColor},overlayBorder:{property:()=>I.cssVarList.overlay.border},overlayFontSize:{property:()=>I.cssVarList.overlay.fontSize},overlayFontFamily:{property:()=>I.cssVarList.overlay.fontFamily},overlayCursor:{property:()=>I.cssVarList.overlay.cursor},overlayItemBoxShadow:{property:()=>I.cssVarList.overlay.itemBoxShadow},overlayItemPaddingInlineStart:{property:()=>I.cssVarList.overlay.itemPaddingInlineStart},overlayItemPaddingInlineEnd:{property:()=>I.cssVarList.overlay.itemPaddingInlineEnd}}}),l.e4,(0,l.Iw)({name:"overlay",selector:"vaadin-multi-select-combo-box-internal",mappings:{backgroundColor:{selector:"vaadin-multi-select-combo-box-scroller"},minHeight:{selector:"vaadin-multi-select-combo-box-overlay"},margin:{selector:"vaadin-multi-select-combo-box-overlay"},cursor:{selector:"vaadin-multi-select-combo-box-item"},fontFamily:{selector:"vaadin-multi-select-combo-box-item"},textColor:{selector:"vaadin-multi-select-combo-box-item",property:"color"},fontSize:{selector:"vaadin-multi-select-combo-box-item"},itemBoxShadow:{selector:"vaadin-multi-select-combo-box-item",property:"box-shadow"},itemPaddingInlineStart:{selector:"vaadin-multi-select-combo-box-item",property:"padding-inline-start"},itemPaddingInlineEnd:{selector:"vaadin-multi-select-combo-box-item",property:"padding-inline-end"}},forward:{include:!1,attributes:["size"]}}),(0,l.dj)({proxyProps:["selectionStart"],inputEvent:"selected-items-changed"}),l.li,l.Ae,(e=>class extends e{static get observedAttributes(){return["readonly"]}#e=({displayName:e,value:t,label:o})=>`<span data-name="${o}" data-id="${t}">${e||o}</span>`;#t;#o=[];get defaultValues(){const e=this.getAttribute("default-values");if(e)try{const t=JSON.parse(e);if(this.isValidDataType(t))return t}catch(e){console.error('could not parse data string from attribute "default-values" -',e.message)}return[]}get renderItem(){return this.#e}set renderItem(e){this.#e=e,this.renderItems()}get data(){if(this.#t)return this.#t;const e=this.getAttribute("data");if(e)try{const t=JSON.parse(e);if(this.isValidDataType(t))return t}catch(e){console.error('could not parse data string from attribute "data" -',e.message)}return[]}set data(e){this.isValidDataType(e)&&(this.#t=e,this.renderItems())}get allowCustomValue(){return"true"===this.getAttribute("allow-custom-value")}get minItemsSelection(){return parseInt(this.getAttribute("min-items-selection"),10)||0}get maxItemsSelection(){return parseInt(this.getAttribute("max-items-selection"),10)||0}isValidDataType(e){const t=Array.isArray(e);return t||console.error("data and default-values must be an array, received:",e),t}getItemsTemplate(){return this.data?.reduce?.(((e,t)=>e+(this.renderItem?.(t||{})||"")),"")}renderItems(){const e=this.getItemsTemplate();e&&(this.innerHTML=e)}updateSelectedItems(){const e=this.baseElement.selectedItems?.map((e=>e.getAttribute("data-id")))||[];e.length>0&&(this.value=e),0===this.value.length&&this.setDefaultValues()}customValueTransformFn(e){return e}setComboBoxDescriptor(){const e=Object.getOwnPropertyDescriptor(this.inputElement.constructor.prototype,"value"),t=this;Object.defineProperties(this.inputElement,{value:{...e,set(o){const r=t.customValueTransformFn(o)||"";r!==this.value&&e.set.call(this,r)}}})}#r(){const e=Array.from(this.children);e.length?(this.removeAttribute("has-no-options"),e.forEach((e=>{Object.defineProperty(e,"data-name",{value:e.getAttribute("data-name"),configurable:!0,writable:!0}),Object.defineProperty(e,"data-id",{value:e.getAttribute("data-id"),configurable:!0,writable:!0})})),this.baseElement.items=e,setTimeout((()=>{this.updateSelectedItems()}),0)):(this.baseElement.items=[],this.setAttribute("has-no-options","")),this.baseElement.renderer=(e,t,o)=>{e.innerHTML=o.item.outerHTML}}#i(){const e=this.baseElement.shadowRoot.querySelector("vaadin-multi-select-combo-box-internal").shadowRoot.querySelector("vaadin-multi-select-combo-box-overlay");e._attachOverlay=()=>{e.bringToFront()},e._detachOverlay=()=>{},e._enterModalState=()=>{}}#a(){this.allowCustomValue&&this.baseElement.addEventListener("custom-value-set",(e=>{const t=this.#e({label:e.detail,displayName:e.detail,value:e.detail});this.innerHTML+=t,this.baseElement._lastFilter="",setTimeout((()=>{this.value=[...this.value,e.detail]}),0)}))}setGetValidity(){this.getValidity=function(){return this.isRequired&&!this.value.length?{valueMissing:!0}:this.isRequired&&this.minItemsSelection&&this.value.length<this.minItemsSelection?{rangeUnderflow:!0}:this.maxItemsSelection&&this.value.length>this.maxItemsSelection?{rangeOverflow:!0}:{}};const e=this;this.baseElement.checkValidity=()=>e.validity.valid}init(){super.init?.(),this.setGetValidity(),this.setComboBoxDescriptor(),this.#i(),this.#a(),this.renderItems(),(0,i.FX)(this,this.renderItems.bind(this),{includeAttrs:["data"]}),(0,i.P$)(this,this.#r.bind(this)),(0,i.oP)(this,this.baseElement,{includeAttrs:["placeholder"]}),this.setDefaultValues(),this.baseElement.addEventListener("selected-items-changed",(()=>{this.#l(),this.dispatchEvent(new CustomEvent("input",{bubbles:!0}))}))}setDefaultValues(){this.defaultValues.length>0&&(this.value=this.defaultValues)}#l(){this.#o=this.baseElement.selectedItems?.map((e=>e.getAttribute("data-id")))||[]}set value(e){if(e&&e.length>0){const t=this.baseElement.items?.filter((t=>e.includes(t["data-id"]))),o=t?.map((e=>e.getAttribute("data-id")))||[];(0,r.lo)(this.#o,o)||(this.baseElement.selectedItems=t)}else this.baseElement.selectedItems=[]}get value(){return this.#o}attributeChangedCallback(e,t,o){super.attributeChangedCallback?.(e,t,o),"readonly"===e&&this.onReadOnlyChange(null!==o&&"true"===o)}onReadOnlyChange(e){e?this.baseElement?.shadowRoot?.querySelector("vaadin-multi-select-combo-box-internal")?.setAttribute("inert",e):this.baseElement?.shadowRoot?.querySelector("vaadin-multi-select-combo-box-internal")?.removeAttribute("inert")}}))((0,l.DM)({slots:["","prefix"],wrappedEleName:"vaadin-multi-select-combo-box",style:()=>`\n\t\t:host {\n\t\t\tdisplay: inline-flex;\n\t\t\tbox-sizing: border-box;\n\t\t\t-webkit-mask-image: none;\n\t\t}\n\t\t${(0,a.bi)(I.cssVarList)}\n\t\t${(0,a.PH)("vaadin-multi-select-combo-box")}\n\t\t${(0,a.jI)("vaadin-multi-select-combo-box")}\n\t\t${(0,a.Pd)("vaadin-multi-select-combo-box")}\n\n\t\tvaadin-multi-select-combo-box {\n\t\t\tpadding: 0;\n\t\t\twidth: 100%;\n\t\t}\n\t\tvaadin-multi-select-combo-box::before {\n\t\t\theight: initial;\n\t\t}\n\t\tvaadin-multi-select-combo-box [slot="input"] {\n\t\t\t-webkit-mask-image: none;\n\t\t\tmin-height: 0;\n align-self: center;\n\t\t\tbox-sizing: border-box;\n\t\t}\n\t\tvaadin-multi-select-combo-box[readonly] [slot="input"] {\n flex-grow: 1;\n flex-basis: 4em;\n\t\t}\n\n\t\t::part(input-field) {\n padding: 0;\n\t\t\tbox-shadow: none;\n\t\t}\n ${(0,a.Wf)("vaadin-multi-select-combo-box")}\n :host([has-label]) vaadin-multi-select-combo-box-chip::part(label) {\n display: block;\n }\n\n vaadin-multi-select-combo-box vaadin-multi-select-combo-box-chip[slot='overflow']::before,\n vaadin-multi-select-combo-box vaadin-multi-select-combo-box-chip[slot='overflow']::after {\n left: -4px;\n right: -4px;\n border-left-width: 0;\n border-inline-start-style: solid;\n border-inline-start-width: 2px;\n }\n vaadin-multi-select-combo-box vaadin-multi-select-combo-box-chip[slot='overflow']::after {\n left: -8px;\n right: -8px;\n }\n\n :host([has-no-options][allow-custom-value='true']) ::part(toggle-button) {\n display: none;\n }\n\t\t`,excludeAttrsSync:["tabindex","size","data","placeholder"],componentName:n,includeForwardProps:["items","renderer","selectedItems"]}));customElements.define(n,I)}}]);
|
@@ -1 +1 @@
|
|
1
|
-
"use strict";(self.webpackChunkDescopeUI=self.webpackChunkDescopeUI||[]).push([[3322],{1962:(t,e,r)=>{r.r(e),r.d(e,{TextAreaClass:()=>b}),r(6770);var o=r(1e3),i=r(2061),p=r(4567),a=r(4201);const n=(0,p.iY)("text-area"),{host:l,label:s,placeholder:d,inputField:c,textArea:u,requiredIndicator:h,helperText:y,errorMessage:x}={host:{selector:()=>":host"},label:{selector:"::part(label)"},placeholder:{selector:"textarea:placeholder-shown"},inputField:{selector:"::part(input-field)"},textArea:{selector:"> textarea"},requiredIndicator:{selector:"[required]::part(required-indicator)::after"},helperText:{selector:"::part(helper-text)"},errorMessage:{selector:"::part(error-message)"}},b=(0,i.qC)((0,o.yk)({mappings:{hostWidth:{...l,property:"width"},hostMinWidth:{...l,property:"min-width"},hostDirection:{...l,property:"direction"},fontSize:[l,u],fontFamily:[s,c,y,x],labelTextColor:[{...s,property:"color"},{...h,property:"color"}],labelRequiredIndicator:{...h,property:"content"},errorMessageTextColor:{...x,property:"color"},inputBackgroundColor:{...c,property:"background-color"},inputValueTextColor:{...u,property:"color"},inputPlaceholderTextColor:{...d,property:"color"},inputBorderWidth:{...c,property:"border-width"},inputBorderStyle:{...c,property:"border-style"},inputBorderColor:{...c,property:"border-color"},inputBorderRadius:{...c,property:"border-radius"},inputOutlineStyle:{...c,property:"outline-Style"},inputOutlineColor:{...c,property:"outline-color"},inputOutlineOffset:{...c,property:"outline-offset"},inputOutlineWidth:{...c,property:"outline-width"},inputResizeType:{...u,property:"resize"},inputMinHeight:{...u,property:"min-height"}}}),o.e4,(0,o.dj)({proxyProps:["value","selectionStart"]}),o.Ae)((0,o.DM)({slots:[],wrappedEleName:"vaadin-text-area",style:()=>`\n\t\t\t:host {\n\t\t\t\tdisplay: inline-block;\n\t\t\t\tmax-width: 100%;\n box-sizing: border-box;\n\t\t\t}\n\t\t\ttextarea {\n\t\t\t\theight: 100%;\n\t\t\t}\n ${(0,a.Wf)("vaadin-text-area")}\n\t\t\t${(0,a.bi)(b.cssVarList)}\n\t\t\t${(0,a.TX)("vaadin-text-area")}\n\t\t\t${(0,a.jl)("vaadin-text-area")}\n\t\t\t${(0,a.jI)("vaadin-text-area","textarea")}\n\t\t\t${(0,a.Pd)("vaadin-text-area")}\n\t\t`,excludeAttrsSync:["tabindex"],componentName:n}));customElements.define(n,b)}}]);
|
1
|
+
"use strict";(self.webpackChunkDescopeUI=self.webpackChunkDescopeUI||[]).push([[3322],{1962:(t,e,r)=>{r.r(e),r.d(e,{TextAreaClass:()=>b}),r(6770);var o=r(1e3),i=r(2061),p=r(4567),a=r(4201);const n=(0,p.iY)("text-area"),{host:l,label:s,placeholder:d,inputField:c,textArea:u,requiredIndicator:h,helperText:y,errorMessage:x}={host:{selector:()=>":host"},label:{selector:"::part(label)"},placeholder:{selector:"textarea:placeholder-shown"},inputField:{selector:"::part(input-field)"},textArea:{selector:"> textarea"},requiredIndicator:{selector:"[required]::part(required-indicator)::after"},helperText:{selector:"::part(helper-text)"},errorMessage:{selector:"::part(error-message)"}},b=(0,i.qC)((0,o.yk)({mappings:{hostWidth:{...l,property:"width"},hostMinWidth:{...l,property:"min-width"},hostDirection:{...l,property:"direction"},fontSize:[l,u],fontFamily:[s,c,y,x],labelTextColor:[{...s,property:"color"},{...h,property:"color"}],labelRequiredIndicator:{...h,property:"content"},errorMessageTextColor:{...x,property:"color"},inputBackgroundColor:{...c,property:"background-color"},inputValueTextColor:{...u,property:"color"},inputPlaceholderTextColor:{...d,property:"color"},inputBorderWidth:{...c,property:"border-width"},inputBorderStyle:{...c,property:"border-style"},inputBorderColor:{...c,property:"border-color"},inputBorderRadius:{...c,property:"border-radius"},inputOutlineStyle:{...c,property:"outline-Style"},inputOutlineColor:{...c,property:"outline-color"},inputOutlineOffset:{...c,property:"outline-offset"},inputOutlineWidth:{...c,property:"outline-width"},inputResizeType:{...u,property:"resize"},inputMinHeight:{...u,property:"min-height"},inputTextAlign:{...u,property:"text-align"}}}),o.e4,(0,o.dj)({proxyProps:["value","selectionStart"]}),o.Ae)((0,o.DM)({slots:[],wrappedEleName:"vaadin-text-area",style:()=>`\n\t\t\t:host {\n\t\t\t\tdisplay: inline-block;\n\t\t\t\tmax-width: 100%;\n box-sizing: border-box;\n\t\t\t}\n\t\t\ttextarea {\n\t\t\t\theight: 100%;\n\t\t\t}\n ${(0,a.Wf)("vaadin-text-area")}\n\t\t\t${(0,a.bi)(b.cssVarList)}\n\t\t\t${(0,a.TX)("vaadin-text-area")}\n\t\t\t${(0,a.jl)("vaadin-text-area")}\n\t\t\t${(0,a.jI)("vaadin-text-area","textarea")}\n\t\t\t${(0,a.Pd)("vaadin-text-area")}\n\t\t`,excludeAttrsSync:["tabindex"],componentName:n}));customElements.define(n,b)}}]);
|
package/package.json
CHANGED
@@ -28,6 +28,7 @@ const resetStyles = `
|
|
28
28
|
}
|
29
29
|
vaadin-button::part(label) {
|
30
30
|
padding: 0;
|
31
|
+
width: 100%;
|
31
32
|
}
|
32
33
|
vaadin-button::part(prefix) {
|
33
34
|
margin-left: 0;
|
@@ -39,7 +40,6 @@ const iconStyles = `
|
|
39
40
|
vaadin-button::part(prefix),
|
40
41
|
vaadin-button::part(label) {
|
41
42
|
display: flex;
|
42
|
-
justify-content: center;
|
43
43
|
align-items: center;
|
44
44
|
}
|
45
45
|
`;
|
@@ -80,6 +80,7 @@ export const ButtonClass = compose(
|
|
80
80
|
labelTextColor: { property: 'color' },
|
81
81
|
labelTextDecoration: { ...label, property: 'text-decoration' },
|
82
82
|
labelSpacing: { ...label, property: 'gap' },
|
83
|
+
textAlign: { ...label, property: 'justify-content' },
|
83
84
|
},
|
84
85
|
}),
|
85
86
|
clickableMixin,
|
@@ -247,6 +247,7 @@ const {
|
|
247
247
|
inputElement,
|
248
248
|
placeholder,
|
249
249
|
toggle,
|
250
|
+
clearButton,
|
250
251
|
label,
|
251
252
|
requiredIndicator,
|
252
253
|
helperText,
|
@@ -257,6 +258,7 @@ const {
|
|
257
258
|
inputElement: { selector: 'input' },
|
258
259
|
placeholder: { selector: '> input:placeholder-shown' },
|
259
260
|
toggle: { selector: '::part(toggle-button)' },
|
261
|
+
clearButton: { selector: '::part(clear-button)' },
|
260
262
|
label: { selector: '::part(label)' },
|
261
263
|
requiredIndicator: { selector: '[required]::part(required-indicator)::after' },
|
262
264
|
helperText: { selector: '::part(helper-text)' },
|
@@ -285,9 +287,18 @@ export const ComboBoxClass = compose(
|
|
285
287
|
labelRequiredIndicator: { ...requiredIndicator, property: 'content' },
|
286
288
|
inputValueTextColor: { ...inputField, property: 'color' },
|
287
289
|
inputPlaceholderTextColor: { ...placeholder, property: 'color' },
|
288
|
-
inputDropdownButtonCursor:
|
289
|
-
|
290
|
-
|
290
|
+
inputDropdownButtonCursor: [
|
291
|
+
{ ...toggle, property: 'cursor' },
|
292
|
+
{ ...clearButton, property: 'cursor' },
|
293
|
+
],
|
294
|
+
inputDropdownButtonColor: [
|
295
|
+
{ ...toggle, property: 'color' },
|
296
|
+
{ ...clearButton, property: 'color' },
|
297
|
+
],
|
298
|
+
inputDropdownButtonSize: [
|
299
|
+
{ ...toggle, property: 'font-size' },
|
300
|
+
{ ...clearButton, property: 'font-size' },
|
301
|
+
],
|
291
302
|
inputDropdownButtonOffset: [
|
292
303
|
{ ...toggle, property: 'margin-right' },
|
293
304
|
{ ...toggle, property: 'margin-left' },
|
@@ -306,6 +317,9 @@ export const ComboBoxClass = compose(
|
|
306
317
|
// for that to work, because ComboBox is not available
|
307
318
|
// at this time.
|
308
319
|
overlayBackground: { property: () => ComboBoxClass.cssVarList.overlay.backgroundColor },
|
320
|
+
overlayTextColor: {
|
321
|
+
property: () => ComboBoxClass.cssVarList.overlay.textColor,
|
322
|
+
},
|
309
323
|
overlayBorder: { property: () => ComboBoxClass.cssVarList.overlay.border },
|
310
324
|
overlayFontSize: { property: () => ComboBoxClass.cssVarList.overlay.fontSize },
|
311
325
|
overlayFontFamily: { property: () => ComboBoxClass.cssVarList.overlay.fontFamily },
|
@@ -329,6 +343,7 @@ export const ComboBoxClass = compose(
|
|
329
343
|
margin: { selector: 'vaadin-combo-box-overlay' },
|
330
344
|
cursor: { selector: 'vaadin-combo-box-item' },
|
331
345
|
fontFamily: { selector: 'vaadin-combo-box-item' },
|
346
|
+
textColor: { selector: 'vaadin-combo-box-item', property: 'color' },
|
332
347
|
fontSize: { selector: 'vaadin-combo-box-item' },
|
333
348
|
itemBoxShadow: { selector: 'vaadin-combo-box-item', property: 'box-shadow' },
|
334
349
|
itemPaddingInlineStart: {
|
@@ -26,6 +26,10 @@ export const componentName = getComponentName('multi-select-combo-box');
|
|
26
26
|
|
27
27
|
const multiSelectComboBoxMixin = (superclass) =>
|
28
28
|
class MultiSelectComboBoxMixinClass extends superclass {
|
29
|
+
static get observedAttributes() {
|
30
|
+
return ['readonly'];
|
31
|
+
}
|
32
|
+
|
29
33
|
// eslint-disable-next-line class-methods-use-this
|
30
34
|
#renderItem = ({ displayName, value, label }) => {
|
31
35
|
return `<span data-name="${label}" data-id="${value}">${displayName || label}</span>`;
|
@@ -347,6 +351,26 @@ const multiSelectComboBoxMixin = (superclass) =>
|
|
347
351
|
get value() {
|
348
352
|
return this.#value;
|
349
353
|
}
|
354
|
+
|
355
|
+
attributeChangedCallback(attrName, oldValue, newValue) {
|
356
|
+
super.attributeChangedCallback?.(attrName, oldValue, newValue);
|
357
|
+
|
358
|
+
if (attrName === 'readonly') {
|
359
|
+
this.onReadOnlyChange(newValue !== null && newValue === 'true');
|
360
|
+
}
|
361
|
+
}
|
362
|
+
|
363
|
+
onReadOnlyChange(val) {
|
364
|
+
if (val) {
|
365
|
+
this.baseElement?.shadowRoot
|
366
|
+
?.querySelector('vaadin-multi-select-combo-box-internal')
|
367
|
+
?.setAttribute('inert', val);
|
368
|
+
} else {
|
369
|
+
this.baseElement?.shadowRoot
|
370
|
+
?.querySelector('vaadin-multi-select-combo-box-internal')
|
371
|
+
?.removeAttribute('inert');
|
372
|
+
}
|
373
|
+
}
|
350
374
|
};
|
351
375
|
|
352
376
|
const {
|
@@ -355,6 +379,7 @@ const {
|
|
355
379
|
inputElement,
|
356
380
|
placeholder,
|
357
381
|
toggle,
|
382
|
+
clearButton,
|
358
383
|
label,
|
359
384
|
requiredIndicator,
|
360
385
|
helperText,
|
@@ -369,6 +394,7 @@ const {
|
|
369
394
|
inputElement: { selector: 'input' },
|
370
395
|
placeholder: { selector: '> input:placeholder-shown' },
|
371
396
|
toggle: { selector: '::part(toggle-button)' },
|
397
|
+
clearButton: { selector: '::part(clear-button)' },
|
372
398
|
label: { selector: '::part(label)' },
|
373
399
|
requiredIndicator: { selector: '[required]::part(required-indicator)::after' },
|
374
400
|
helperText: { selector: '::part(helper-text)' },
|
@@ -406,9 +432,18 @@ export const MultiSelectComboBoxClass = compose(
|
|
406
432
|
labelRequiredIndicator: { ...requiredIndicator, property: 'content' },
|
407
433
|
inputValueTextColor: { ...inputField, property: 'color' },
|
408
434
|
inputPlaceholderTextColor: { ...placeholder, property: 'color' },
|
409
|
-
inputDropdownButtonCursor:
|
410
|
-
|
411
|
-
|
435
|
+
inputDropdownButtonCursor: [
|
436
|
+
{ ...toggle, property: 'cursor' },
|
437
|
+
{ ...clearButton, property: 'cursor' },
|
438
|
+
],
|
439
|
+
inputDropdownButtonColor: [
|
440
|
+
{ ...toggle, property: 'color' },
|
441
|
+
{ ...clearButton, property: 'color' },
|
442
|
+
],
|
443
|
+
inputDropdownButtonSize: [
|
444
|
+
{ ...toggle, property: 'font-size' },
|
445
|
+
{ ...clearButton, property: 'font-size' },
|
446
|
+
],
|
412
447
|
inputDropdownButtonOffset: [
|
413
448
|
{ ...toggle, property: 'margin-right' },
|
414
449
|
{ ...toggle, property: 'margin-left' },
|
@@ -440,6 +475,9 @@ export const MultiSelectComboBoxClass = compose(
|
|
440
475
|
overlayBackground: {
|
441
476
|
property: () => MultiSelectComboBoxClass.cssVarList.overlay.backgroundColor,
|
442
477
|
},
|
478
|
+
overlayTextColor: {
|
479
|
+
property: () => MultiSelectComboBoxClass.cssVarList.overlay.textColor,
|
480
|
+
},
|
443
481
|
overlayBorder: { property: () => MultiSelectComboBoxClass.cssVarList.overlay.border },
|
444
482
|
overlayFontSize: { property: () => MultiSelectComboBoxClass.cssVarList.overlay.fontSize },
|
445
483
|
overlayFontFamily: { property: () => MultiSelectComboBoxClass.cssVarList.overlay.fontFamily },
|
@@ -465,6 +503,7 @@ export const MultiSelectComboBoxClass = compose(
|
|
465
503
|
margin: { selector: 'vaadin-multi-select-combo-box-overlay' },
|
466
504
|
cursor: { selector: 'vaadin-multi-select-combo-box-item' },
|
467
505
|
fontFamily: { selector: 'vaadin-multi-select-combo-box-item' },
|
506
|
+
textColor: { selector: 'vaadin-multi-select-combo-box-item', property: 'color' },
|
468
507
|
fontSize: { selector: 'vaadin-multi-select-combo-box-item' },
|
469
508
|
itemBoxShadow: { selector: 'vaadin-multi-select-combo-box-item', property: 'box-shadow' },
|
470
509
|
itemPaddingInlineStart: {
|
@@ -65,6 +65,7 @@ export const TextAreaClass = compose(
|
|
65
65
|
inputOutlineWidth: { ...inputField, property: 'outline-width' },
|
66
66
|
inputResizeType: { ...textArea, property: 'resize' },
|
67
67
|
inputMinHeight: { ...textArea, property: 'min-height' },
|
68
|
+
inputTextAlign: { ...textArea, property: 'text-align' },
|
68
69
|
},
|
69
70
|
}),
|
70
71
|
draggableMixin,
|
@@ -32,6 +32,13 @@ const button = {
|
|
32
32
|
|
33
33
|
[compVars.labelSpacing]: '0.25em',
|
34
34
|
|
35
|
+
[compVars.textAlign]: 'center', // default text align center
|
36
|
+
textAlign: {
|
37
|
+
right: { [compVars.textAlign]: 'right' },
|
38
|
+
left: { [compVars.textAlign]: 'left' },
|
39
|
+
center: { [compVars.textAlign]: 'center' },
|
40
|
+
},
|
41
|
+
|
35
42
|
[compVars.verticalPadding]: '1em',
|
36
43
|
|
37
44
|
[compVars.outlineWidth]: globals.border.sm,
|
@@ -27,7 +27,7 @@ export const comboBox = {
|
|
27
27
|
[vars.inputBackgroundColor]: refs.backgroundColor,
|
28
28
|
[vars.inputHorizontalPadding]: refs.horizontalPadding,
|
29
29
|
[vars.inputHeight]: refs.inputHeight,
|
30
|
-
[vars.inputDropdownButtonColor]: globalRefs.colors.surface.
|
30
|
+
[vars.inputDropdownButtonColor]: globalRefs.colors.surface.main,
|
31
31
|
[vars.inputDropdownButtonCursor]: 'pointer',
|
32
32
|
[vars.inputDropdownButtonSize]: refs.toggleButtonSize,
|
33
33
|
[vars.inputDropdownButtonOffset]: globalRefs.spacing.xs,
|
@@ -43,6 +43,8 @@ export const comboBox = {
|
|
43
43
|
[vars.overlayFontFamily]: refs.fontFamily,
|
44
44
|
[vars.overlayCursor]: 'pointer',
|
45
45
|
[vars.overlayItemBoxShadow]: 'none',
|
46
|
+
[vars.overlayBackground]: refs.backgroundColor,
|
47
|
+
[vars.overlayTextColor]: refs.valueTextColor,
|
46
48
|
|
47
49
|
// Overlay direct theme:
|
48
50
|
[vars.overlay.minHeight]: '400px',
|
@@ -28,14 +28,14 @@ export const multiSelectComboBox = {
|
|
28
28
|
[vars.inputHorizontalPadding]: refs.horizontalPadding,
|
29
29
|
[vars.inputVerticalPadding]: refs.verticalPadding,
|
30
30
|
[vars.inputHeight]: refs.inputHeight,
|
31
|
-
[vars.inputDropdownButtonColor]: globalRefs.colors.surface.
|
31
|
+
[vars.inputDropdownButtonColor]: globalRefs.colors.surface.main,
|
32
32
|
[vars.inputDropdownButtonCursor]: 'pointer',
|
33
33
|
[vars.inputDropdownButtonSize]: refs.toggleButtonSize,
|
34
34
|
[vars.inputDropdownButtonOffset]: globalRefs.spacing.xs,
|
35
35
|
[vars.overlayItemPaddingInlineStart]: globalRefs.spacing.xs,
|
36
36
|
[vars.overlayItemPaddingInlineEnd]: globalRefs.spacing.lg,
|
37
37
|
[vars.chipFontSize]: refs.chipFontSize,
|
38
|
-
[vars.chipTextColor]:
|
38
|
+
[vars.chipTextColor]: globalRefs.colors.surface.contrast,
|
39
39
|
[vars.chipBackgroundColor]: globalRefs.colors.surface.main,
|
40
40
|
|
41
41
|
_readonly: {
|
@@ -47,6 +47,8 @@ export const multiSelectComboBox = {
|
|
47
47
|
[vars.overlayFontFamily]: refs.fontFamily,
|
48
48
|
[vars.overlayCursor]: 'pointer',
|
49
49
|
[vars.overlayItemBoxShadow]: 'none',
|
50
|
+
[vars.overlayBackground]: refs.backgroundColor,
|
51
|
+
[vars.overlayTextColor]: refs.valueTextColor,
|
50
52
|
|
51
53
|
// Overlay direct theme:
|
52
54
|
[vars.overlay.minHeight]: '400px',
|
@@ -28,6 +28,11 @@ const textArea = {
|
|
28
28
|
[vars.inputOutlineOffset]: refs.outlineOffset,
|
29
29
|
[vars.inputResizeType]: 'vertical',
|
30
30
|
[vars.inputMinHeight]: '5em',
|
31
|
+
textAlign: {
|
32
|
+
right: { [vars.inputTextAlign]: 'right' },
|
33
|
+
left: { [vars.inputTextAlign]: 'left' },
|
34
|
+
center: { [vars.inputTextAlign]: 'center' },
|
35
|
+
},
|
31
36
|
|
32
37
|
_disabled: {
|
33
38
|
[vars.inputBackgroundColor]: globalRefs.colors.surface.light,
|
@@ -25,6 +25,11 @@ export const textField = {
|
|
25
25
|
[vars.inputBackgroundColor]: refs.backgroundColor,
|
26
26
|
[vars.inputHeight]: refs.inputHeight,
|
27
27
|
[vars.inputHorizontalPadding]: refs.horizontalPadding,
|
28
|
+
textAlign: {
|
29
|
+
right: { [vars.inputTextAlign]: 'right' },
|
30
|
+
left: { [vars.inputTextAlign]: 'left' },
|
31
|
+
center: { [vars.inputTextAlign]: 'center' },
|
32
|
+
},
|
28
33
|
};
|
29
34
|
|
30
35
|
export default textField;
|