UNPKG

@scania/tegel

Version:
1 lines 18.4 kB
import{r as t,c as e,h as d,g as i}from"./p-2049fab2.js";import{h as l}from"./p-ae110fc2.js";import{g as s}from"./p-11648030.js";const r=class{constructor(d){t(this,d),this.tdsChange=e(this,"tdsChange",6),this.tdsInput=e(this,"tdsInput",6),this.tdsFocus=e(this,"tdsFocus",6),this.tdsBlur=e(this,"tdsBlur",6),this.uuid=s(),this.type="text",this.labelPosition="no-label",this.label="",this.min=void 0,this.max=void 0,this.helper=void 0,this.placeholder="",this.value="",this.disabled=!1,this.readOnly=!1,this.hideReadOnlyIcon=!1,this.size="lg",this.modeVariant=null,this.noMinWidth=!1,this.name="",this.state="default",this.maxLength=void 0,this.autofocus=!1,this.tdsAriaLabel=void 0,this.focusInput=!1}handleChange(t){this.tdsChange.emit(t)}handleInput(t){const e=t.target;let{value:d}=e;if("number"===this.type){const t=Number(d);void 0!==this.min&&t<Number(this.min)&&(d=String(this.min)),void 0!==this.max&&t>Number(this.max)&&(d=String(this.max)),e.value=d}this.value=d,this.tdsInput.emit(t)}handleFocus(t){this.textInput.focus(),this.focusInput=!0,this.tdsFocus.emit(t)}handleBlur(t){this.focusInput=!1,this.tdsBlur.emit(t)}async focusElement(){this.textInput&&this.textInput.focus()}connectedCallback(){this.tdsAriaLabel||console.warn("Tegel Text Field component: prop tdsAriaLabel is missing")}render(){var t;const e=l("prefix",this.host),i=l("suffix",this.host);return d("div",{key:"985928ef59662762648f2d95d5decad2e3188e05",class:{"form-text-field":!0,"form-text-field-nomin":this.noMinWidth,"text-field-focus":this.focusInput&&!this.disabled,"text-field-data":""!==this.value&&null!==this.value,"text-field-container-label-inside":"inside"===this.labelPosition&&"sm"!==this.size,"form-text-field-disabled":this.disabled,"form-text-field-readonly":!this.disabled&&this.readOnly,"tds-mode-variant-primary":this.readOnly?"secondary"===this.modeVariant:"primary"===this.modeVariant,"tds-mode-variant-secondary":this.readOnly?"primary"===this.modeVariant:"secondary"===this.modeVariant,"form-text-field-md":"md"===this.size,"form-text-field-sm":"sm"===this.size,"form-text-field-error":"error"===this.state,"form-text-field-success":"success"===this.state}},"outside"===this.labelPosition&&d("div",{key:"7a409b43a1fee8b7b078abc5f96c925ab97bcedc",class:"text-field-label-outside"},d("label",{key:"c6bdaab4e6f81a95aa71a4e23a1f02fb1bcef9ec",htmlFor:`text-field-input-element-${this.uuid}`},this.label)),d("div",{key:"945f7901a92850da22ab84c5fe77e2d97738aaa9",onClick:()=>this.textInput.focus(),class:"text-field-container"},e&&d("div",{key:"5d6cb2facb8ff90b7393409b769c2b5e5a860421",class:{"text-field-slot-wrap-prefix":!0,"text-field-error":"error"===this.state,"text-field-success":"success"===this.state,"text-field-default":"default"===this.state}},d("slot",{key:"b0f0e3ebb96dbd2af021150b68690af566db44b9",name:"prefix"})),d("div",{key:"c5b172ee6c561256ab930490113f406b88eae67c",class:"text-field-input-container"},d("input",{key:"2e0a9070b41bde39a2a0f14b132f474692eb0e04",ref:t=>{this.textInput=t},class:{"text-field-input":!0,"text-field-input-sm":"sm"===this.size,"text-field-input-md":"md"===this.size,"text-field-input-lg":"lg"===this.size},type:this.type,disabled:this.disabled,readonly:!this.disabled&&this.readOnly,placeholder:this.placeholder,value:this.value,autofocus:this.autofocus,maxlength:this.maxLength,name:this.name,min:this.min,max:this.max,onInput:t=>this.handleInput(t),onChange:t=>this.handleChange(t),onFocus:t=>{this.readOnly||this.handleFocus(t)},onBlur:t=>{this.readOnly||this.handleBlur(t)},"aria-label":this.tdsAriaLabel?this.tdsAriaLabel:this.label,"aria-describedby":`text-field-helper-element-${this.uuid}`,"aria-readonly":this.readOnly,id:`text-field-input-element-${this.uuid}`}),"inside"===this.labelPosition&&"sm"!==this.size&&d("label",{key:"ffb3bbb84ab718c2259134f32ee6dd0eb348cb9f",class:"text-field-label-inside",htmlFor:`text-field-input-element-${this.uuid}`},this.label)),d("div",{key:"166da0147311d28064b7e03bbefd1a0ee18db5ca",class:"text-field-bar"}),i&&d("div",{key:"4bb21d12957bf65d525931c88a5a89fff49d4eaf",class:{"text-field-slot-wrap-suffix":!0,"text-field-error":"error"===this.state,"text-field-success":"success"===this.state,"text-field-default":"default"===this.state,"tds-u-display-none":this.readOnly}},d("slot",{key:"7e67dbc8f4f67cb0c7d194e01e5787ae18ffab13",name:"suffix"})),this.readOnly&&!this.hideReadOnlyIcon&&d("span",{key:"d213ec000d837cbd4b711468ef3cfa826cc65ac2",class:"text-field-icon__readonly"},d("tds-tooltip",{key:"b89530a2422cdf782e92a124e7c353b4432b9719",placement:"top-end",text:"This field is non-editable",selector:"#readonly-tooltip"}),d("tds-icon",{key:"fa2a35bc8514d802152a147d9c17c9a8dbe952c8",id:"readonly-tooltip",name:"edit_inactive",size:"20px"}))),d("div",{key:"902924863a2e58f820647b89f289c4e649dd63a5","aria-live":"assertive"},(this.helper||this.maxLength>0)&&d("div",{key:"6bc81db447e040154a7d35acddbe732d8fbc5134",class:"text-field-helper",id:`text-field-helper-element-${this.uuid}`},"error"===this.state&&d("div",{key:"990205934bb31c179478c68cca7a991056678838",class:"text-field-helper-error-state"},!this.readOnly&&d("tds-icon",{key:"cfc4b7b95164832fcfa4c744a640356187ac41c1",name:"error",size:"16px"}),this.helper),"error"!==this.state&&this.helper,!this.readOnly&&this.maxLength>0&&d("span",{key:"bbcaee6e47a36ccce4e05ba672d92211f2612fd1",class:{"text-field-textcounter-divider":!0,"text-field-textcounter-disabled":this.disabled}},null===this.value?0:null===(t=this.value)||void 0===t?void 0:t.length," / ",this.maxLength))))}get host(){return i(this)}};r.style='.text-field-input-lg.sc-tds-text-field{all:unset;border-radius:4px 4px 0 0;width:100%;box-sizing:border-box;margin:0;border:none;outline:none;height:100%;color:var(--tds-text-field-color);background-color:var(--tds-text-field-background);font:var(--tds-detail-02);letter-spacing:var(--tds-detail-02-ls);padding:var(--tds-spacing-element-20) var(--tds-spacing-element-16)}.text-field-input-lg.sc-tds-text-field::placeholder{color:var(--tds-text-field-placeholder)}.text-field-input-lg.sc-tds-text-field:disabled{user-select:none;pointer-events:none;background-color:var(--tds-text-field-background-disabled);color:var(--tds-text-field-color-disabled)}.text-field-input-lg.sc-tds-text-field:disabled::placeholder{color:var(--tds-text-field-placeholder-disabled)}.text-field-input-lg.sc-tds-text-field:disabled~.text-field-label-inside.sc-tds-text-field{color:var(--tds-text-field-label-disabled)}.text-field-input-md.sc-tds-text-field{all:unset;border-radius:4px 4px 0 0;width:100%;box-sizing:border-box;margin:0;border:none;outline:none;height:100%;color:var(--tds-text-field-color);background-color:var(--tds-text-field-background);font:var(--tds-detail-02);letter-spacing:var(--tds-detail-02-ls);padding:var(--tds-spacing-element-16)}.text-field-input-md.sc-tds-text-field::placeholder{color:var(--tds-text-field-placeholder)}.text-field-input-md.sc-tds-text-field:disabled{user-select:none;pointer-events:none;background-color:var(--tds-text-field-background-disabled);color:var(--tds-text-field-color-disabled)}.text-field-input-md.sc-tds-text-field:disabled::placeholder{color:var(--tds-text-field-placeholder-disabled)}.text-field-input-md.sc-tds-text-field:disabled~.text-field-label-inside.sc-tds-text-field{color:var(--tds-text-field-label-disabled)}.text-field-input-sm.sc-tds-text-field{all:unset;border-radius:4px 4px 0 0;width:100%;box-sizing:border-box;margin:0;border:none;outline:none;height:100%;color:var(--tds-text-field-color);background-color:var(--tds-text-field-background);font:var(--tds-detail-02);letter-spacing:var(--tds-detail-02-ls);padding:var(--tds-spacing-element-16)}.text-field-input-sm.sc-tds-text-field::placeholder{color:var(--tds-text-field-placeholder)}.text-field-input-sm.sc-tds-text-field:disabled{user-select:none;pointer-events:none;background-color:var(--tds-text-field-background-disabled);color:var(--tds-text-field-color-disabled)}.text-field-input-sm.sc-tds-text-field:disabled::placeholder{color:var(--tds-text-field-placeholder-disabled)}.text-field-input-sm.sc-tds-text-field:disabled~.text-field-label-inside.sc-tds-text-field{color:var(--tds-text-field-label-disabled)}.text-field-container.sc-tds-text-field{border-radius:4px 4px 0 0;display:flex;position:relative;height:56px;box-sizing:border-box;background-color:var(--tds-text-field-background);border-bottom:1px solid var(--tds-text-field-border-bottom);transition:border-bottom-color 200ms ease}.text-field-container.sc-tds-text-field:hover{border-bottom-color:var(--tds-text-field-border-bottom-hover)}.form-text-field-md.sc-tds-text-field .text-field-container.sc-tds-text-field{height:48px}.form-text-field-sm.sc-tds-text-field .text-field-container.sc-tds-text-field{height:40px}.text-field-input-container.sc-tds-text-field{position:relative;width:100%}.text-field-data.sc-tds-text-field,.text-field-input.sc-tds-text-field{color:var(--tds-text-field-data-color)}.text-field-label-outside.sc-tds-text-field>*.sc-tds-text-field{font:var(--tds-detail-05);letter-spacing:var(--tds-detail-05-ls);display:block;margin-bottom:var(--tds-spacing-element-8);color:var(--tds-text-field-label-color)}.text-field-label-inside.sc-tds-text-field{font:var(--tds-detail-02);letter-spacing:var(--tds-detail-02-ls);position:absolute;pointer-events:none;color:var(--tds-text-field-label-inside-color);left:16px}.form-text-field.sc-tds-text-field{display:block;min-width:208px}.form-text-field-nomin.sc-tds-text-field{min-width:auto}.form-text-field.text-field-container-label-inside.sc-tds-text-field .text-field-input-lg.sc-tds-text-field{padding-top:var(--tds-spacing-element-24);padding-bottom:15px}.form-text-field.text-field-container-label-inside.sc-tds-text-field .text-field-input-lg.sc-tds-text-field~.text-field-label-inside.sc-tds-text-field{top:20px}.form-text-field.text-field-container-label-inside.sc-tds-text-field .text-field-input-lg.sc-tds-text-field::placeholder{color:transparent}.form-text-field.text-field-container-label-inside.sc-tds-text-field .text-field-input-lg.sc-tds-text-field .sc-tds-text-field::placeholder{color:transparent}.form-text-field.text-field-container-label-inside.sc-tds-text-field .text-field-input-lg.sc-tds-text-field:focus::placeholder{transition:color 0.35s ease;color:var(--tds-text-field-placeholder)}.form-text-field.text-field-container-label-inside.sc-tds-text-field .text-field-input-md.sc-tds-text-field{padding-top:var(--tds-spacing-element-20);padding-bottom:11px}.form-text-field.text-field-container-label-inside.sc-tds-text-field .text-field-input-md.sc-tds-text-field~.text-field-label-inside.sc-tds-text-field{top:16px}.form-text-field.text-field-container-label-inside.sc-tds-text-field .text-field-input-md.sc-tds-text-field::placeholder{color:transparent}.form-text-field.text-field-container-label-inside.sc-tds-text-field .text-field-input-md.sc-tds-text-field .sc-tds-text-field::placeholder{color:transparent}.form-text-field.text-field-container-label-inside.sc-tds-text-field .text-field-input-md.sc-tds-text-field:focus::placeholder{transition:color 0.35s ease;color:var(--tds-text-field-placeholder)}.form-text-field.text-field-container-label-inside.sc-tds-text-field .text-field-input-sm.sc-tds-text-field{padding-top:var(--tds-spacing-element-20);padding-bottom:11px}.form-text-field.text-field-container-label-inside.sc-tds-text-field .text-field-input-sm.sc-tds-text-field~.text-field-label-inside.sc-tds-text-field{top:16px}.form-text-field.text-field-container-label-inside.sc-tds-text-field .text-field-input-sm.sc-tds-text-field::placeholder{color:transparent}.form-text-field.text-field-container-label-inside.sc-tds-text-field .text-field-input-sm.sc-tds-text-field .sc-tds-text-field::placeholder{color:transparent}.form-text-field.text-field-container-label-inside.sc-tds-text-field .text-field-input-sm.sc-tds-text-field:focus::placeholder{transition:color 0.35s ease;color:var(--tds-text-field-placeholder)}.form-text-field.text-field-container-label-inside.text-field-focus.sc-tds-text-field .text-field-input-sm.sc-tds-text-field~.text-field-label-inside.sc-tds-text-field,.form-text-field.text-field-container-label-inside.text-field-data.sc-tds-text-field .text-field-input-sm.sc-tds-text-field~.text-field-label-inside.sc-tds-text-field{font:var(--tds-detail-07);letter-spacing:var(--tds-detail-07-ls);transition:0.1s ease all;top:8px}.form-text-field.text-field-container-label-inside.text-field-focus.sc-tds-text-field .text-field-input-md.sc-tds-text-field~.text-field-label-inside.sc-tds-text-field,.form-text-field.text-field-container-label-inside.text-field-data.sc-tds-text-field .text-field-input-md.sc-tds-text-field~.text-field-label-inside.sc-tds-text-field{font:var(--tds-detail-07);letter-spacing:var(--tds-detail-07-ls);transition:0.1s ease all;top:8px}.form-text-field.text-field-container-label-inside.text-field-focus.sc-tds-text-field .text-field-input-lg.sc-tds-text-field~.text-field-label-inside.sc-tds-text-field,.form-text-field.text-field-container-label-inside.text-field-data.sc-tds-text-field .text-field-input-lg.sc-tds-text-field~.text-field-label-inside.sc-tds-text-field{font:var(--tds-detail-07);letter-spacing:var(--tds-detail-07-ls);transition:0.1s ease all;top:12px}.text-field-bar.sc-tds-text-field{position:absolute;width:100%}.text-field-bar.sc-tds-text-field::before,.text-field-bar.sc-tds-text-field::after{content:"";height:2px;top:54px;width:0;position:absolute;background:var(--tds-text-field-bar);transition:0.35s ease all}.form-text-field-md.sc-tds-text-field .text-field-bar.sc-tds-text-field::before,.form-text-field-md.sc-tds-text-field .text-field-bar.sc-tds-text-field::after{top:46px}.form-text-field-sm.sc-tds-text-field .text-field-bar.sc-tds-text-field::before,.form-text-field-sm.sc-tds-text-field .text-field-bar.sc-tds-text-field::after{top:40px}.text-field-bar.sc-tds-text-field::before{left:50%}.text-field-bar.sc-tds-text-field::after{right:50%}.text-field-focus.sc-tds-text-field .text-field-bar.sc-tds-text-field::before,.text-field-focus.sc-tds-text-field .text-field-bar.sc-tds-text-field::after{width:50%}.text-field-helper.sc-tds-text-field{font:var(--tds-detail-05);letter-spacing:var(--tds-detail-05-ls);display:flex;gap:8px;justify-content:space-between;flex-basis:100%;padding-top:var(--tds-spacing-element-4);color:var(--tds-text-field-helper)}.text-field-helper.sc-tds-text-field .text-field-textcounter.sc-tds-text-field{margin-left:auto}.form-text-field-disabled.sc-tds-text-field .text-field-container.sc-tds-text-field{cursor:not-allowed;border-bottom-color:transparent}.form-text-field-disabled.sc-tds-text-field .text-field-slot-wrap-prefix.sc-tds-text-field>*.sc-tds-text-field,.form-text-field-disabled.sc-tds-text-field .text-field-slot-wrap-suffix.sc-tds-text-field>*.sc-tds-text-field{color:var(--tds-text-field-ps-color-disabled)}.form-text-field-disabled.sc-tds-text-field .text-field-label-outside.sc-tds-text-field>*.sc-tds-text-field{color:var(--tds-text-field-label-disabled)}.form-text-field-disabled.sc-tds-text-field .text-field-helper.sc-tds-text-field{color:var(--tds-text-field-helper-disabled)}.text-field-icon__readonly.sc-tds-text-field{display:none;position:absolute;right:18px;top:50%;transform:translateY(-50%);color:var(--tds-text-field-icon-read-only-label-color)}.text-field-icon__readonly.sc-tds-text-field .tds-tooltip.sc-tds-text-field{min-width:150px}.form-text-field-readonly.sc-tds-text-field{user-select:auto;caret-color:transparent;cursor:default}.form-text-field-readonly.sc-tds-text-field .text-field-container.sc-tds-text-field{border-bottom-color:var(--tds-text-field-border-bottom-readonly)}.form-text-field-readonly.sc-tds-text-field .text-field-icon__readonly.sc-tds-text-field{display:block}.form-text-field-readonly.sc-tds-text-field .text-field-icon__readonly.sc-tds-text-field:hover~.text-field-icon__readonly-label.sc-tds-text-field{display:block}.form-text-field-readonly.sc-tds-text-field .text-field-input.sc-tds-text-field{background-color:transparent}.form-text-field-readonly.sc-tds-text-field:has(.text-field-icon__readonly) .text-field-input.sc-tds-text-field{padding-right:54px}.form-text-field-success.sc-tds-text-field:not(.form-text-field-readonly) .text-field-container.sc-tds-text-field{border-bottom-color:var(--tds-text-field-border-bottom-success)}.form-text-field-error.sc-tds-text-field:not(.form-text-field-readonly) .text-field-helper.sc-tds-text-field{color:var(--tds-text-field-helper-error)}.form-text-field-error.sc-tds-text-field:not(.form-text-field-readonly) .text-field-container.sc-tds-text-field{border-bottom-color:var(--tds-text-field-border-bottom-error)}.form-text-field-error.sc-tds-text-field:not(.form-text-field-readonly) .text-field-bar.sc-tds-text-field::before,.form-text-field-error.sc-tds-text-field:not(.form-text-field-readonly) .text-field-bar.sc-tds-text-field::after{background:var(--tds-text-field-bar-error)}.text-field-helper-error-state.sc-tds-text-field{display:flex;gap:8px;flex-wrap:nowrap}.text-field-textcounter-disabled.sc-tds-text-field{color:var(--tds-text-field-textcounter-disabled)}.text-field-textcounter.sc-tds-text-field{font:var(--tds-detail-05);letter-spacing:var(--tds-detail-05-ls);color:var(--tds-text-field-textcounter);float:right}.text-field-textcounter.text-field-textcounter-disabled.sc-tds-text-field{color:var(--tds-text-field-textcounter-disabled)}.text-field-textcounter.text-field-textcounter-divider.sc-tds-text-field{color:var(--tds-text-field-textcounter-divider)}.text-field-textcounter.text-field-textcounter-divider-disabled.sc-tds-text-field{color:var(--tds-text-field-textcounter-divider-disabled)}.text-field-slot-wrap-prefix.sc-tds-text-field,.text-field-slot-wrap-suffix.sc-tds-text-field{align-self:center;font:var(--tds-detail-02);letter-spacing:var(--tds-detail-02-ls);margin:0 0 0 14px;color:var(--tds-text-field-ps-color)}.text-field-slot-wrap-prefix.sc-tds-text-field-s>:not(tds-icon),.text-field-slot-wrap-suffix.sc-tds-text-field-s>:not(tds-icon){margin:0 0 0 2px}.text-field-slot-wrap-prefix.text-field-error.sc-tds-text-field,.text-field-slot-wrap-suffix.text-field-error.sc-tds-text-field{color:var(--tds-text-field-ps-color-error)}.text-field-slot-wrap-suffix.sc-tds-text-field{margin:0 14px 0 0}.text-field-slot-wrap-suffix.sc-tds-text-field-s>:not(tds-icon){margin:0 2px 0 0}';export{r as tds_text_field}