-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathp-dbb624cc.entry.js
5 lines (5 loc) · 14.8 KB
/
p-dbb624cc.entry.js
1
2
3
4
5
/*!
* Built by BASIS
* Copyright BASIS International Ltd.
*/
import{r as t,c as i,w as e,a as s,h as o,H as r,g as a}from"./p-0f27354a.js";import{l as h}from"./p-f5397639.js";import{D as n}from"./p-5440a118.js";import{h as d}from"./p-3e9fe89f.js";import{D as c,a as l,b as p}from"./p-02402e33.js";import{S as f}from"./p-56dff041.js";import"./p-21e654a9.js";import"./p-58156e74.js";import"./p-5119ef20.js";import"./p-ece60743.js";const b=class{constructor(e){t(this,e),this.openedEvent=i(this,"dwc-opened",7),this.closedEvent=i(this,"dwc-closed",7),this.modifiedEvent=i(this,"dwc-modified",7),this.changedEvent=i(this,"dwc-changed",7),this.validatedEvent=i(this,"dwc-validated",7),this.validationExpressionEngine=new n("BBjListEdit<dwc-listbox> Validation",["x","value","text","component","control"]),this.loaded=!1,this.inputDirty=!1,this.alignment="default",this.autoValidate=!0,this.autoValidateOnLoad=!1,this.autoWasValidated=!1,this.disabled=!1,this.distance=3,this.dataAlignLeft=!1,this.dataAlignRight=!1,this.dataAlignCenter=!1,this.expanse="m",this.customValue=!0,this.fieldHeight="",this.hasFocus=!1,this.highlightBehaviors=[],this.invalid=!1,this.items=[],this.itemValue="",this.itemLabel="",this.opened=!1,this.openWidth="",this.openHeight="",this.placement="bottom-start",this.readonly=!1,this.skidding=0,this.tickMark=!1,this.toggleOnEnter=!0,this.type="combobox",this.validationIcon="dwc:info",this.validationPopoverDistance=6,this.validationPopoverSkidding=0,this.validationPopoverPlacement="bottom",this.validationStyle="popover",this.valid=!1}onFieldHeightChanged(t){this.el.style.setProperty("--__dwc-combobox-field-height",t)}onValueOrLabelChanged(){this.loaded&&this.autoValidate&&this.validate()}onOpenedChanged(t){t?this.open():this.close()}onSelectedChanged(t){var i;if(this.loaded&&this.autoValidate&&this.validate(),!Number.isInteger(t)){const t=this.itemLabel.trim();return this.itemLabel="",this.itemValue="",void((null===(i=this.value)||void 0===i?void 0:i.trim())===t&&(this.value=""))}if(this.items.length){const i=this.items[t];i&&(this.itemLabel=i.label.trim(),this.itemValue=i.value,this.value=i.value)}}onValueChanged(t){if(this.loaded&&this.autoValidate&&this.validate(),this.items.length){const i=this.items.find((i=>i.label.trim()===(t||"").trim()));i&&(this.selected=this.items.indexOf(i),this.itemLabel=i.label.trim(),this.itemValue=i.value)}}connectedCallback(){var t;this.handleEditboxFocus=this.handleEditboxFocus.bind(this),this.handleEditboxBlur=this.handleEditboxBlur.bind(this),this.handleEditboxKeydown=this.handleEditboxKeydown.bind(this),this.handleEditboxInput=this.handleEditboxInput.bind(this),this.handleMenuClose=this.handleMenuClose.bind(this),this.handleMenuOpen=this.handleMenuOpen.bind(this),this.handleMenuToggle=this.handleMenuToggle.bind(this),this.handleDocumentKeydown=this.handleDocumentKeydown.bind(this),this.handleDropdownItemSelected=this.handleDropdownItemSelected.bind(this),null===(t=this.slotsObserver)||void 0===t||t.connect()}disconnectedCallback(){var t;null===(t=this.slotsObserver)||void 0===t||t.disconnect()}componentWillLoad(){this.slotsObserver=new f(this.el,"helper-text"),this.onSelectedChanged(this.selected),this.onValueChanged(this.value)}componentDidLoad(){this.onFieldHeightChanged(this.fieldHeight),this.opened&&this.open(),this.autoValidateOnLoad&&e((()=>this.validate())),this.loaded=!0}async setFocus(){this.$input.disabled=this.disabled,this.$input.setFocus()}async removeFocus(){this.$input.removeFocus()}async open(){if(!this.disabled)return document.addEventListener("keydown",this.handleDocumentKeydown,{capture:!0}),this.opened=!0,this.$dropdown.open()}async close(){return document.removeEventListener("keydown",this.handleDocumentKeydown),this.opened=!1,this.$dropdown.close()}async toggle(){return this.opened=!this.$dropdown.opened,this.$dropdown.toggle()}async validate(){let t=!0;if(this.validator){const i=this.value,e=this.el;t=this.validationExpressionEngine.evaluate(this.validator,{x:i,value:i,text:i,component:e,control:e})}return this.invalid=!t,this.validatedEvent.emit(t),this.invalid&&(this.valid=!1),!this.invalid&&this.autoWasValidated&&(this.valid=!0),t}async getPart(t){let i;switch(t){case"field":i=this.$input;break;case"icon":i=this.icon;break;default:i=this.el.querySelector(`[part="${t}"]`)}return new Promise((t=>{t(i)}))}handleDocumentKeydown(t){"Enter"===t.key&&"dwc-listbox"===t.target.nodeName.toLowerCase()&&this.el.shadowRoot.activeElement===this.$input&&(t.preventDefault(),t.stopPropagation(),this.close(),this.setFocus())}handleMenuOpen(t){this.disabled?t.preventDefault():this.opened=!0}handleMenuClose(){this.opened=!1,requestAnimationFrame((async()=>{const t=this.itemLabel.length;await this.$input.setSelectionRange(t,t)}))}async handleMenuToggle(){this.disabled||this.readonly||(await this.toggle(),this.$dropdown.opened?this.openedEvent.emit():this.closedEvent.emit(),this.$dropdown.opened!==this.opened&&(this.opened=this.$dropdown.opened),this.$input.setFocus())}handleEditboxFocus(){this.hasFocus=!0}handleEditboxBlur(){this.hasFocus=!1,this.fireChangedEventIfDirty()}handleEditboxInput(){this.inputDirty=!0;const t=this.$input.value,i=this.items.find((i=>i.label.trim()===t.trim()));if(i){const t=this.items.indexOf(i);this.selected=t>-1?t:this.items.length>0?0:-1}this.value=t}handleEditboxKeydown(t){const i=this.el.shadowRoot.activeElement===this.$input;("ArrowDown"===t.key||"ArrowUp"===t.key)&&t.altKey&&i&&(t.preventDefault(),t.stopPropagation(),this.toggle()),"Enter"===t.key&&i&&(this.disabled||this.readonly?t.preventDefault():this.fireChangedEventIfDirty()),["Home","End"," "].includes(t.key)&&!this.opened&&t.stopPropagation()}handleDropdownItemSelected(t){const i=[].concat(t.detail);if(i.length){const t=i[0],e=t.index;if(!t.item)return;if(this.selected===e)return;if(this.selected=e,this.items.length){const t=this.items[e];t&&(this.itemLabel=t.label.trim(),this.itemValue=t.value,this.value=t.value)}this.fireChangedEvent(),this.fireModifiedEvent()}}fireChangedEvent(){this.changedEvent.emit({index:this.selected,item:this.items[this.selected],text:this.itemValue})}fireChangedEventIfDirty(){this.inputDirty&&(this.fireChangedEvent(),this.inputDirty=!1)}fireModifiedEvent(){s((()=>{this.modifiedEvent.emit(this.itemValue)}))}render(){var t;const i=this.invalid&&!!(this.invalidMessage&&this.invalidMessage.trim().length>0),e=[].concat(this.selected),s=(null===(t=this.helperText)||void 0===t?void 0:t.trim().length)>0||this.slotsObserver.hasContent("helper-text");return o(r,{key:"06c2883dae4d7a56040de3218c16b3a7fd580686",class:d({BBjControl:!0,BBjListEdit:!0,"bbj-disabled":this.disabled,"bbj-focused":this.hasFocus,"bbj-readonly":this.readonly,"bbj-invalid":this.invalid,"bbj-valid":this.valid})},o("dwc-dropdown",{key:"570cf658021d983a473bb7670de9c7d58701f174",ref:t=>this.$dropdown=t,part:"control",exportparts:"control: dropdown-control, handler:dropdown-handler",alignment:"default"==this.alignment?"left":this.alignment,opened:this.opened,toggleOnClick:!1,toggleOnEnter:this.toggleOnEnter,openOnArrow:!1,allowDeselection:!1,multiSelection:!1,typeToSelect:!1,disabled:this.disabled,readonly:this.readonly,renderer:this.renderer,selected:e,items:this.items,expanse:this.expanse,placement:this.placement,distance:this.distance,skidding:this.skidding,openWidth:this.openWidth,openHeight:this.openHeight,maxRowCount:this.maxRowCount,type:this.type,tickMark:this.tickMark,"onDwc-opened":this.handleMenuOpen,"onDwc-closed":this.handleMenuClose,"onDwc-selected":this.handleDropdownItemSelected},o("dwc-field",{key:"8588e42d0c8f838d72d6bc4f634117cb057e93a6",ref:t=>this.$input=t,part:"field",exportparts:"control: field-control, label: field-label, input-wrapper: field-input-wrapper, input: field-input, prefix: field-prefix, suffix: field-suffix","data-editable":!this.customValue,style:{height:"var(--dwc-combobox-field-height, var(--__dwc-combobox-field-height))"},autoValidate:!1,highlightBehaviors:this.highlightBehaviors,disabled:this.disabled,readonly:this.readonly||!this.customValue,maxlength:this.maxlength,placeholder:this.placeholder,expanse:this.expanse,value:this.value,invalid:this.invalid,valid:this.valid,label:this.label,"aria-describedby":"helper-text","data-align-left":this.dataAlignLeft&&!this.dataAlignRight&&!this.dataAlignCenter,"data-align-center":this.dataAlignCenter&&!this.dataAlignLeft&&!this.dataAlignRight,"data-align-right":this.dataAlignRight&&!this.dataAlignLeft&&!this.dataAlignCenter,onBlur:this.handleEditboxBlur,onFocus:this.handleEditboxFocus,onKeyDown:this.handleEditboxKeydown,onInput:this.handleEditboxInput},o("slot",{key:"ca6fc930393d94d181621bfc72492c4fa03da8c2",name:"prefix",slot:"prefix"}),o("slot",{key:"61d0b4cc8a22a5ea0e4d03d71b90a870b52989db",name:"suffix",slot:"suffix"}),o("div",{key:"0b7cb1678919361ab9e664bee141eb822b862260",ref:t=>this.icon=t,part:"suffix",slot:"suffix",onClick:this.handleMenuToggle},o("span",{key:"0b1b62e2c0684e59e27647984e44cdf09b8a9727",part:"suffix-separator"}),o("dwc-icon",{key:"a19588f6445ed77a4bfefd86670326860b08c8db",part:"suffix-icon",pool:"dwc",name:"chevron-down","aria-hidden":"true"}))),"popover"===this.validationStyle&&i&&o(p,{key:"60c662b726aee992453b7aa0421498c4245ea144",invalidMessage:this.invalidMessage,icon:this.validationIcon,hasFocus:this.hasFocus,popoverDistance:this.validationPopoverDistance,popoverPlacement:this.validationPopoverPlacement,popoverSkidding:this.validationPopoverSkidding})),o(l,{key:"c411e624e826cbc45b98f4fbde048f22bcabbeaa",helperText:this.helperText,visible:s}),"inline"===this.validationStyle&&i&&o(c,{key:"3ce91d97395b8040f9c3ec3102ed2e2aac1e1f1f",invalidMessage:this.invalidMessage,icon:this.validationIcon}))}get el(){return a(this)}static get watchers(){return{fieldHeight:["onFieldHeightChanged"],itemValue:["onValueOrLabelChanged"],itemLabel:["onValueOrLabelChanged"],opened:["onOpenedChanged"],selected:["onSelectedChanged"],value:["onValueChanged"]}}};(function(t,i,e,s){var o,r=arguments.length,a=r<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(o=t[h])&&(a=(r<3?o(a):r>3?o(i,e,a):o(i,e))||a);r>3&&a&&Object.defineProperty(i,e,a)})([h.debounce(50)],b.prototype,"fireChangedEvent",null),b.style="@media (prefers-reduced-motion: reduce){*,::before,::after{animation-delay:-1ms !important;animation-duration:1ms !important;animation-iteration-count:1 !important;background-attachment:initial !important;scroll-behavior:auto !important;transition-delay:0s !important;transition-duration:0s !important}}:host{box-sizing:border-box;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;position:relative;-webkit-tap-highlight-color:transparent;text-size-adjust:100%}:host *,:host *::before,:host *::after{box-sizing:inherit}:host{display:inline-block;height:auto;width:inherit}:host([disabled]){cursor:var(--dwc-disabled-cursor);opacity:var(--dwc-disabled-opacity);user-select:none;pointer-events:none}:host([disabled]) *{cursor:var(--dwc-disabled-cursor);user-select:none;pointer-events:none}[part=field]{width:100%}[part=field]::part(control){height:100%}[part=field]::part(suffix){padding:0}[part=field]::part(suffix),[part=field]::part(prefix){align-items:center;display:inline-flex}:host ::slotted([slot=suffix]){padding:0 var(--dwc-space-xs)}[part~=suffix]{align-items:center;align-self:stretch;box-sizing:border-box;cursor:var(--dwc-cursor-click);display:inline-flex;flex:0 0 auto;flex-shrink:0}[part~=suffix] ::slotted(dwc-icon),[part~=suffix] ::slotted(dwc-icon-button){display:inline-flex}[part=suffix-icon]{box-sizing:border-box !important;display:flex;padding:var(--dwc-space-xs);transform-origin:center;transition:color var(--dwc-transition) linear, transform var(--dwc-transition)}[part=suffix-separator]{align-self:stretch;background-color:var(--dwc-color-default-dark);box-sizing:border-box;margin:var(--dwc-space-xs) 0;width:1px}:host([opened]) [part=suffix-icon]{transform:rotate(-180deg)}dwc-alert{--dwc-alert-padding:var(--dwc-space-s) 0;margin-left:calc(var(--dwc-border-radius) / 4 + var(--dwc-border-width) * 2);text-align:left}:host([valid]),:host([invalid]){--dwc-icon-button-color:var(--dwc-input-color);--dwc-icon-button-hover-color:var(--dwc-icon-button-color);--dwc-icon-button-active-color:var(--dwc-icon-button-color)}:host([valid]:not([valid=false])){--dwc-input-label-color:var(--dwc-color-success-text);--dwc-input-label-hover-color:var(--dwc-color-success-text-light);--dwc-input-border-color:var(--dwc-color-success);--dwc-input-hover-border-color:var(--dwc-input-border-color);--dwc-input-focus-ring:var(--dwc-focus-ring-success);--dwc-input-placeholder-color:var(--dwc-color-gray-30);--dwc-input-selection-background:var(--dwc-color-success-light);--dwc-input-selection-color:var(--dwc-color-on-success-text-light);--dwc-input-required-field-indicator-color:var(--dwc-input-label-color)}:host([invalid]:not([invalid=false])){--dwc-input-label-color:var(--dwc-color-danger-text);--dwc-input-label-hover-color:var(--dwc-color-danger-text-light);--dwc-input-border-color:var(--dwc-color-danger);--dwc-input-hover-border-color:var(--dwc-input-border-color);--dwc-input-focus-ring:var(--dwc-focus-ring-danger);--dwc-input-placeholder-color:var(--dwc-color-gray-30);--dwc-input-selection-background:var(--dwc-color-danger-light);--dwc-input-selection-color:var(--dwc-color-on-danger-text-light);--dwc-alert-color:var(--dwc-input-label-color);--dwc-alert-icon-color:var(--dwc-alert-color);--dwc-input-required-field-indicator-color:var(--dwc-input-label-color)}[part=helper-text-wrapper],[part=helper-text-wrapper] ::slotted([slot=helper-text]){color:var(--dwc-color-gray-text-light);cursor:var(--dwc-cursor-text);font-size:var(--dwc-font-size-s);font-weight:var(--dwc-font-weight-normal);line-height:var(--dwc-font-line-height-s);text-align:left;transition:color 0.2s}[part=helper-text-wrapper][data-visible]{margin-left:calc(var(--dwc-border-radius) / 4 + var(--dwc-border-width) * 2);padding-top:var(--dwc-space-s)}:host([invalid]){--dwc-alert-color:var(--dwc-color-danger-text);--dwc-alert-icon-color:var(--dwc-alert-color)}:host([expanse=xl]) [part=field]::part(input-wrapper){height:var(--dwc-combobox-field-height, var(--__dwc-combobox-field-height, var(--dwc-size-xl)))}:host([expanse=l]) [part=field]::part(input-wrapper){height:var(--dwc-combobox-field-height, var(--__dwc-combobox-field-height, var(--dwc-size-l)))}:host([expanse=m]) [part=field]::part(input-wrapper){height:var(--dwc-combobox-field-height, var(--__dwc-combobox-field-height, var(--dwc-size-m)))}:host([expanse=s]) [part=field]::part(input-wrapper){height:var(--dwc-combobox-field-height, var(--__dwc-combobox-field-height, var(--dwc-size-s)))}:host([expanse=xs]) [part=field]::part(input-wrapper){height:var(--dwc-combobox-field-height, var(--__dwc-combobox-field-height, var(--dwc-size-xs)))}:host([alignment=left]){text-align:left}:host([alignment=center]){text-align:center}:host([alignment=right]){text-align:right}:host([alignment=right]) [part=field]::part(label){justify-content:flex-end}";export{b as dwc_combobox}