UNPKG

@public-ui/components

Version:

Contains all web components that belong to KoliBri - The accessible HTML-Standard.

4 lines 4.43 kB
/*! * KoliBri - The accessible HTML-Standard */ "use strict";const index=require("./index-03ef29aa.js"),index$1=require("./index-8b802221.js"),tslib_es6=require("./tslib.es6-5e301284.js"),clsx=require("./clsx-dd4d6dd1.js"),getRenderStates=require("./getRenderStates-8e102335.js"),componentNames=require("./component-names-82c4d68d.js"),Icon=require("./Icon-9e0021e7.js"),InternalUnderlinedBadgeText=require("./InternalUnderlinedBadgeText-6c8700f2.js"),isObject=require("./isObject-6090b636.js"),icons=require("./icons-9df3131b.js"),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:c,containerProps:a,startAdornmentProps:l,endAdornmentProps:d}=n,u=tslib_es6.__rest(n,["class","startAdornment","endAdornment","disabled","msg","touched","containerProps","startAdornmentProps","endAdornmentProps"]),p=getRenderStates.checkHasMsg(r,c),b={"kol-input-container--disabled":i,[`kol-input-container--${(null==r?void 0:r.type)||"error"}`]:p},m=Object.assign({class:clsx.clsx("kol-input-container",b,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({},a),e),index.h(InputAdornment,Object.assign({},d,{position:"end"}),o)):index.h("div",Object.assign({},m),index.h(Container,Object.assign({},a),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:`codicon codicon-${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:getRenderStates.convertMsgToInternMsg(n._msg),touched:n._touched}}const InputContainerStateWrapperFc=({state:n,endAdornment:e},t)=>{const{icons:s,smartButton:o,disabled:i,msg:r,touched:c}=getInputContainerProps(n);let a=null==s?void 0:s.left;InternalUnderlinedBadgeText.isString(a)&&(a={icon:a});let l=null==s?void 0:s.right;InternalUnderlinedBadgeText.isString(l)&&(l={icon:l});const d=[],u=[];return e&&(Array.isArray(e)?u.push(...e):u.push(e)),a&&d.push(index.h(KolIconButtonFc,Object.assign({componentName:"icon",class:"kol-input-container__icon"},isObject.isObject(a)?a:{}))),isObject.isObject(o)&&u.push(index.h(KolIconButtonFc,Object.assign({componentName:"button",class:"kol-input-container__smart-button"},o,{hideLabel:!0,disabled:i}))),l&&u.push(index.h(KolIconButtonFc,Object.assign({componentName:"icon",class:"kol-input-container__icon"},isObject.isObject(l)?l:{}))),index.h(KolInputContainerFc,{disabled:i,msg:r,touched:c,startAdornment:d,endAdornment:u},t)};class InputIconController extends getRenderStates.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)=>index$1.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;