@public-ui/components
Version:
Contains all web components that belong to KoliBri - The accessible HTML-Standard.
4 lines • 4.48 kB
JavaScript
/*!
* KoliBri - The accessible HTML-Standard
*/
;var index=require("./index-C3uXtd6W.js"),tslib_es6=require("./tslib.es6-7DbU_BSw.js"),componentNames=require("./component-names-Bu9hV7OT.js"),Icon=require("./Icon-XibHb7vP.js"),clsx=require("./clsx-CkZlkaek.js"),common=require("./common-1pTy2kta.js"),FormFieldStateWrapper=require("./FormFieldStateWrapper-JRuyDpZT.js"),InternalUnderlinedBadgeText=require("./InternalUnderlinedBadgeText-B9ixH4sJ.js"),isObject=require("./isObject-DMA85Fq4.js"),icons=require("./icons-DIWMA5U2.js");const InputAdornment=(n,e)=>{var{position:t="start",class:s}=n,o=tslib_es6.__rest(n,["position","class"]);const i="kol-input-container__adornment",r=`${i}--${t}`;return index.h("div",Object.assign({class:clsx.clsx(i,r,s)},o),e)};function hasItems(n){return!!n&&(Array.isArray(n)?n.length>0:Boolean(n))}const Container=(n,e)=>{var{class:t}=n,s=tslib_es6.__rest(n,["class"]);return index.h("div",Object.assign({class:clsx.clsx("kol-input-container__container",t)},s),e)},KolInputContainerFc=(n,e)=>{const{class:t,startAdornment:s,endAdornment:o,disabled:i,msg:r,touched:a,containerProps:c,startAdornmentProps:l,endAdornmentProps:d}=n,u=tslib_es6.__rest(n,["class","startAdornment","endAdornment","disabled","msg","touched","containerProps","startAdornmentProps","endAdornmentProps"]),p={"kol-input-container--disabled":i,[`kol-input-container--${FormFieldStateWrapper.getMsgType(r)}`]:FormFieldStateWrapper.isMsgDefinedAndInputTouched(r,a)},m=Object.assign({class:clsx.clsx("kol-input-container",p,t)},u);return hasItems(s)||hasItems(o)?index.h("div",Object.assign({},m),index.h(InputAdornment,Object.assign({},l,{position:"start"}),s),index.h(Container,Object.assign({},c),e),index.h(InputAdornment,Object.assign({},d,{position:"end"}),o)):index.h("div",Object.assign({},m),index.h(Container,Object.assign({},c),e))},KolButtonFc=n=>{const{label:e,icons:t,hideLabel:s,disabled:o,onClick:i}=n,r=tslib_es6.__rest(n,["label","icons","hideLabel","disabled","onClick"]);return index.h(componentNames.KolButtonWcTag,Object.assign({_label:e,_disabled:o,_icons:t,_hideLabel:s,_on:{onClick:i}},r))},KolIconButtonFc=n=>{const{componentName:e="button",label:t,icon:s,onClick:o}=n,i=tslib_es6.__rest(n,["componentName","label","icon","onClick"]),r="button"===e?KolButtonFc:Icon.KolIconFc;return index.h(r,Object.assign({label:t||"",hideLabel:!0,icons:`${s}`,onClick:o},i))};function getInputContainerProps(n){let e,t;return"_icons"in n&&(e=n._icons),"_smartButton"in n&&(t=n._smartButton),{icons:e,smartButton:t,disabled:n._disabled,msg:n._msg,touched:n._touched}}const InputContainerStateWrapperFc=({state:n,startAdornment:e,endAdornment:t},s)=>{const{icons:o,smartButton:i,disabled:r,msg:a,touched:c}=getInputContainerProps(n);let l=null==o?void 0:o.left;InternalUnderlinedBadgeText.isString(l)&&(l={icon:l});let d=null==o?void 0:o.right;InternalUnderlinedBadgeText.isString(d)&&(d={icon:d});const u=[],p=[];return e&&(Array.isArray(e)?u.push(...e):u.push(e)),l&&u.push(index.h(KolIconButtonFc,Object.assign({componentName:"icon",class:"kol-input-container__icon"},isObject.isObject(l)?l:{}))),isObject.isObject(i)&&p.push(index.h(KolIconButtonFc,Object.assign({componentName:"button",class:"kol-input-container__smart-button"},i,{hideLabel:!0,disabled:r}))),d&&p.push(index.h(KolIconButtonFc,Object.assign({componentName:"icon",class:"kol-input-container__icon"},isObject.isObject(d)?d:{}))),t&&(Array.isArray(t)?p.push(...t):p.push(t)),index.h(KolInputContainerFc,{disabled:r,msg:a,touched:c,startAdornment:u,endAdornment:p},s)};class InputIconController extends FormFieldStateWrapper.InputController{constructor(n,e,t){super(n,e,t),this.numberStringRegex=/^\d+(\.\d+)?$/,this.parseToNumber=n=>"number"==typeof n?isNaN(n)?null:n:this.isNumberString(n)?parseFloat(n):null,this.validateNumber=(n,e)=>common.watchValidator(this.component,n,n=>null==n||"number"==typeof n||"string"==typeof n&&this.numberStringRegex.test(n),new Set(["number","NumberString"]),e,{hooks:{beforePatch:(e,t)=>{(null==t?void 0:t.has(n))&&(null==t||t.set(n,this.parseToNumber(e)))}}}),this.component=n}validateIcons(n){icons.validateIcons(this.component,n)}isNumberString(n){return"string"==typeof n&&this.numberStringRegex.test(n)}componentWillLoad(){super.componentWillLoad(),this.validateIcons(this.component._icons)}}exports.InputContainerStateWrapperFc=InputContainerStateWrapperFc,exports.InputIconController=InputIconController,exports.KolIconButtonFc=KolIconButtonFc;