@progress/kendo-themes-html
Version:
A collection of HTML helpers used for developing Kendo UI themes
2 lines (1 loc) • 17.6 kB
JavaScript
var r=(...e)=>e.filter(t=>t!==!0&&!!t).map(t=>Array.isArray(t)?r(...t):typeof t=="object"?Object.keys(t).map((o,s)=>t[s]||t[o]&&o||null).filter(o=>o!==null).join(" "):t).filter(t=>!!t).join(" ");var g=(e,t)=>r({[`${e}-xs`]:t.size==="xsmall",[`${e}-sm`]:t.size==="small",[`${e}-md`]:t.size==="medium",[`${e}-lg`]:t.size==="large",[`${e}-xl`]:t.size==="xlarge",[`${e}-xxl`]:t.size==="xxlarge",[`${e}-xxxl`]:t.size==="xxxlarge"},{[`${e}-${t.fillMode}`]:t.fillMode},{[`${e}-${t.themeColor}`]:t.themeColor},{"k-rounded-sm":t.rounded==="small","k-rounded-md":t.rounded==="medium","k-rounded-lg":t.rounded==="large","k-rounded-full":t.rounded==="full","k-rounded-none":t.rounded==="none"}),K=(e,t)=>{let{valid:o,invalid:s,hover:a,focus:d,checked:u,active:p,selected:h,disabled:N,indeterminate:x,loading:T,empty:S,readonly:R,highlighted:_,...M}=t;return r({"k-valid":o,"k-invalid":s,"k-hover":a,"k-focus":d,"k-checked":u,"k-active":p,"k-selected":h,"k-disabled":N,"k-indeterminate":x&&!u,"k-loading":T,"k-empty":S,"k-readonly":R,"k-highlighted":_},Object.keys(M).reduce((I,k)=>(k.startsWith("k-")?I[k]=M[k]:I[`k-${k}`]=M[k],I),{}))};function Ae(e,t){if(!t)return{};let o=Array.isArray(t)?t:[t];return Object.fromEntries(o.map(s=>[`k-${s}`,!0]))}var n={undefined:void 0,xsmall:"xsmall",small:"small",medium:"medium",large:"large",xlarge:"xlarge",xxlarge:"xxlarge",xxxlarge:"xxxlarge"},c={undefined:void 0,none:"none",small:"small",medium:"medium",large:"large",full:"full"},m={undefined:void 0,solid:"solid",flat:"flat",outline:"outline",clear:"clear",link:"link"},C={undefined:void 0,outline:"outline",solid:"solid",duotone:"duotone"},l={undefined:void 0,inherit:"inherit",base:"base",primary:"primary",secondary:"secondary",tertiary:"tertiary",info:"info",success:"success",warning:"warning",error:"error",inverse:"inverse"},i={open:"open",hover:"hover",focus:"focus",active:"active",selected:"selected",disabled:"disabled",valid:"valid",invalid:"invalid",loading:"loading",required:"required",empty:"empty",indeterminate:"indeterminate",checked:"checked",readonly:"readonly",highlighted:"highlighted",generating:"generating",expanded:"expanded"};import{jsx as ct}from"react/jsx-runtime";var Be="k-form-hint",lt=[],dt={},pt={},L=e=>{let{text:t,children:o,...s}=e;return ct("div",{...s,className:r(e.className,Be),children:t||o})};L.states=lt;L.options=dt;L.className=Be;L.defaultOptions=pt;var fe="textbox",Pe=fe;var G="input",ee=G;import{jsx as xt}from"react/jsx-runtime";var te="k-input",ut=[i.hover,i.focus,i.valid,i.invalid,i.required,i.disabled,i.loading,i.readonly],mt={size:[n.undefined,n.small,n.medium,n.large],rounded:[c.undefined,c.none,c.small,c.medium,c.large,c.full],fillMode:[m.undefined,m.solid,m.flat,m.outline]},ft={},y=e=>{let{hover:t,focus:o,disabled:s,invalid:a,valid:d,loading:u,readonly:p,size:h,rounded:N,fillMode:x,...T}=e;return xt("span",{...T,className:r(e.className,te,g(te,{size:h,rounded:N,fillMode:x}),K(te,{hover:t,focus:o,disabled:s,invalid:a,valid:d,loading:u,readonly:p}))})};y.states=ut;y.options=mt;y.className=te;y.defaultOptions=ft;y.moduleName=G;y.folderName=ee;import{jsx as gt}from"react/jsx-runtime";var oe="k-picker",bt=[i.hover,i.focus,i.valid,i.invalid,i.required,i.disabled,i.loading,i.readonly],ht={size:[n.undefined,n.small,n.medium,n.large],rounded:[c.undefined,c.none,c.small,c.medium,c.large,c.full],fillMode:[m.undefined,m.solid,m.flat,m.outline]},Nt={},V=e=>{let{hover:t,focus:o,disabled:s,invalid:a,valid:d,loading:u,readonly:p,size:h,rounded:N,fillMode:x,...T}=e;return gt("span",{...T,className:r(e.className,oe,g(oe,{size:h,rounded:N,fillMode:x}),K(oe,{hover:t,focus:o,disabled:s,invalid:a,valid:d,loading:u,readonly:p})),children:e.children})};V.states=bt;V.options=ht;V.className=oe;V.defaultOptions=Nt;V.moduleName=G;V.folderName=ee;import{Fragment as Tt,jsx as He}from"react/jsx-runtime";var xe="k-font-icon",vt=[],It={size:[n.undefined,n.xsmall,n.small,n.medium,n.large,n.xlarge,n.xxlarge,n.xxxlarge],themeColor:[l.undefined,l.base,l.primary,l.secondary,l.tertiary,l.success,l.warning,l.error,l.info]},yt={},J=e=>{let{size:t,themeColor:o,icon:s,rotate:a,flip:d,...u}=e;return s?He("span",{...u,className:r(e.className,xe,g(xe,{size:t}),{[`k-i-${s}`]:s,[`k-color-${o}`]:o,[`k-rotate-${a}`]:a,"k-flip-h":d==="h"||d==="both","k-flip-v":d==="v"||d==="both"}),"aria-hidden":"true"}):He(Tt,{})};J.states=vt;J.options=It;J.className=xe;J.defaultOptions=yt;var ze=J;import{Fragment as Mt,jsx as ne}from"react/jsx-runtime";var be="k-svg-icon",St=[],kt={size:[n.undefined,n.xsmall,n.small,n.medium,n.large,n.xlarge,n.xxlarge,n.xxxlarge],themeColor:[l.undefined,l.base,l.primary,l.secondary,l.tertiary,l.success,l.warning,l.error,l.info],variant:[C.outline,C.solid,C.duotone]},he={viewBox:"0 0 24 24",variant:C.outline},W=e=>{let{size:t,themeColor:o,rotate:s,flip:a,viewBox:d=he.viewBox,variant:u=he.variant,icon:p,...h}=e;if(!p)return ne(Mt,{});if(p==="none")return ne("span",{...h,className:r(e.className,be,g("k-icon",{size:t}),"k-none"),"aria-hidden":"true"});let N=typeof p=="object"&&p.name&&p.name,x=typeof p=="object"?u&&p.variants?.[u]||p.variants?.outline||p.content:void 0;return ne("span",{...h,className:r(e.className,be,g("k-icon",{size:t}),{[`k-svg-i-${N}`]:N,[`k-color-${o}`]:o,[`k-rotate-${s}`]:s,"k-flip-h":a==="h"||a==="both","k-flip-v":a==="v"||a==="both"}),"aria-hidden":"true",children:ne("svg",{"aria-hidden":!0,focusable:!1,xmlns:"http://www.w3.org/2000/svg",viewBox:typeof p=="object"?p.viewBox:d,dangerouslySetInnerHTML:x!==void 0?{__html:x}:void 0,children:p?void 0:e.children})})};W.states=St;W.options=kt;W.className=be;W.defaultOptions=he;var Ne=W;import*as ge from"@progress/kendo-svg-icons";var Re="icon",_e="icons";import{useContext as Ct}from"react";import{createContext as Ot}from"react";var Ke=Ot({iconsType:"svg"});import{Fragment as Ve,jsx as Q}from"react/jsx-runtime";var ae="k-icon",Lt=e=>e.replace(/([-_][a-z0-9])/gi,t=>t.toUpperCase().replace("-","").replace("_","")),Et=[],wt={size:[n.undefined,n.xsmall,n.small,n.medium,n.large,n.xlarge,n.xxlarge,n.xxxlarge],themeColor:[l.undefined,l.base,l.primary,l.secondary,l.tertiary,l.success,l.warning,l.error,l.info],variant:[C.outline,C.solid,C.duotone]},se={viewBox:"0 0 24 24",type:"svg",variant:C.outline},f=e=>{let{iconsType:t}=Ct(Ke),{size:o,themeColor:s,icon:a,type:d=t||se.type,rotate:u,flip:p,viewBox:h=se.viewBox,variant:N=se.variant,...x}=e;if(!a)return Q(Ve,{});if((t||d)==="svg"){if(a==="none")return Q(Ne,{...x,className:r(e.className,ae),icon:a,size:o,variant:N});let S=ge[a]?a:Lt(`${a}-icon`);return ge[S]?Q(Ne,{...x,className:r(e.className,ae),icon:ge[S],size:o,themeColor:s,rotate:u,flip:p,viewBox:h,variant:N}):Q(Ve,{})}return Q(ze,{...x,className:r(e.className,ae),icon:a,size:o,themeColor:s,rotate:u,flip:p})};f.states=Et;f.options=wt;f.defaultOptions=se;f.className=ae;f.moduleName=Re;f.folderName=_e;f.ariaSpec={selector:".k-icon, .k-svg-icon",rules:[{selector:".k-icon, .k-svg-icon",attribute:"aria-hidden=true",usage:"Hides the icon element and all its children from assistive technologies."}]};import{Fragment as Pt,jsx as ve}from"react/jsx-runtime";var De="k-clear-value",At=[i.disabled,i.loading,i.readonly],Bt={},A=e=>{let{disabled:t,loading:o,readonly:s,value:a}=e;return t||s||o||!a?ve(Pt,{}):ve("span",{className:r(e.className,De),children:ve(f,{icon:"x"})})};A.states=At;A.options=Bt;A.className=De;import{jsx as Rt}from"react/jsx-runtime";var Ie="k-input-inner",Ht=[],zt={},ie={type:"text",autocomplete:"off",value:"",placeholder:""},B=e=>{let{value:t=ie.value,type:o=ie.type,placeholder:s=ie.placeholder,autocomplete:a=ie.autocomplete,disabled:d,readOnly:u,...p}=e;return Rt("input",{...p,type:o,className:r(e.className,Ie,g(Ie,e)),placeholder:s,autoComplete:a,defaultValue:t,disabled:d||void 0,readOnly:u||void 0})};B.states=Ht;B.options=zt;B.className=Ie;import{jsx as Fe,jsxs as Vt}from"react/jsx-runtime";var ye="k-input-inner",_t=[],Kt={},Te=e=>{let{value:t,placeholder:o,showValue:s,valueIcon:a,valueIconName:d,...u}=e;return Vt("span",{...u,className:r(e.className,ye,g(ye,e)),children:[a,!a&&d&&Fe(f,{className:"k-input-value-icon",icon:d}),s&&!t&&o,s&&t&&Fe("span",{className:"k-input-value-text",children:t})]})};Te.states=_t;Te.options=Kt;Te.className=ye;import{jsx as $t}from"react/jsx-runtime";var Se="k-input-inner",Dt=[],Ft={},$e={value:"",placeholder:""},ke=e=>{let{value:t=$e.value,placeholder:o=$e.placeholder,rows:s,disabled:a,...d}=e;return $t("textarea",{...d,className:r(e.className,Se,g(Se,e)),placeholder:o,rows:s,defaultValue:t,disabled:a||void 0})};ke.states=Dt;ke.options=Ft;ke.className=Se;import{Fragment as Xt,jsx as Ue}from"react/jsx-runtime";var Xe="k-input-loading-icon",Ut=[i.disabled,i.loading],D=e=>{let{disabled:t,loading:o}=e;return t||!o?Ue(Xt,{}):Ue("span",{className:r(e.className,Xe,"k-icon k-i-loading")})};D.states=Ut;D.className=Xe;import{Fragment as Jt,jsx as qe}from"react/jsx-runtime";var Ge="k-input-validation-icon",qt=[i.valid,i.invalid,i.disabled,i.loading],Gt={},P=e=>{let{valid:t,invalid:o,disabled:s,loading:a}=e,d=o?"warning-circle":"check-circle";return s||a||!!!(t||o)?qe(Jt,{}):qe(f,{className:r(Ge),icon:d})};P.states=qt;P.options=Gt;P.className=Ge;import{Fragment as Yt,jsx as Je}from"react/jsx-runtime";var Wt="k-input-prefix",Qt={direction:"horizontal"},re=e=>{let{direction:t=Qt.direction,...o}=e;return e.children?Je("span",{...o,className:r(Wt,e.className,{[`k-input-prefix-${t}`]:t}),children:e.children}):Je(Yt,{})};import{Fragment as eo,jsx as We}from"react/jsx-runtime";var Zt="k-input-suffix",jt={direction:"horizontal"},le=e=>{let{direction:t=jt.direction,...o}=e;return e.children?We("span",{...o,className:r(Zt,e.className,{[`k-input-suffix-${t}`]:t}),children:e.children}):We(eo,{})};import{jsx as jn}from"react/jsx-runtime";import{jsx as na}from"react/jsx-runtime";import{jsx as oo}from"react/jsx-runtime";var Qe="k-input-separator",to={direction:"vertical"},F=e=>{let{direction:t=to.direction,...o}=e;return oo("span",{...o,className:r(Qe,e.className,{[`${Qe}-${t}`]:t})})};var Me="button",Ye=Me;import{Fragment as Ze,jsx as $,jsxs as je}from"react/jsx-runtime";var Y="k-button",no=["icon-button"],ao=[i.hover,i.focus,i.active,i.selected,i.disabled,i.generating],so={size:[n.undefined,n.xsmall,n.small,n.medium,n.large],rounded:[c.undefined,c.none,c.small,c.medium,c.large,c.full],fillMode:[m.undefined,m.solid,m.flat,m.outline,m.clear,m.link],themeColor:[l.undefined,l.base,l.primary,l.secondary,l.tertiary,l.success,l.warning,l.error,l.info,l.inverse]},Oe={showArrow:!1,arrowIconName:"chevron-down"},b=e=>{let{as:t="button",size:o,rounded:s,fillMode:a,themeColor:d,showArrow:u=Oe.showArrow,arrowIconName:p=Oe.arrowIconName,variant:h,hover:N,focus:x,active:T,selected:S,disabled:R,togglable:_,ariaDisabled:M,icon:I,iconSize:k,text:O,iconClassName:j,className:pe,...ce}=e,ue=I!=null,me=e.children!==void 0;return je(t,{className:r(pe,Y,Ae(Y,h),g(Y,{size:o,rounded:s,fillMode:a,themeColor:d}),K(Y,{hover:N,focus:x,active:T,disabled:R||M,selected:S}),{"k-icon-button":!O&&!me&&ue}),"aria-pressed":_?S?"true":"false":void 0,...ce,"aria-disabled":M?"true":void 0,disabled:R||void 0,children:[typeof I=="string"&&I&&$(f,{className:r(j,"k-button-icon"),icon:I,size:k}),I&&typeof I!="string"&&$(Ze,{children:I}),O?je(Ze,{children:[O&&$("span",{className:"k-button-text",children:O}),e.children]}):e.children&&$("span",{className:"k-button-text",children:e.children}),u&&$("span",{className:"k-menu-button-arrow k-button-arrow",children:$(f,{icon:p})})]})};b.states=ao;b.options=so;b.variants=no;b.className=Y;b.defaultOptions=Oe;b.moduleName=Me;b.folderName=Ye;b.ariaSpec={selector:".k-button",rules:[{selector:".k-button",attribute:"role=button or nodeName=button",usage:"The button role is implicit from the native <button> element."},{selector:".k-button",attribute:"aria-label (when icon-only)",usage:"Required for icon-only buttons that have no visible text."},{selector:".k-button",attribute:"aria-pressed (when togglable)",usage:"Indicates the pressed state of a toggle button."},{selector:".k-button",attribute:"disabled (when disabled)",usage:"Rendered when the button is disabled."}]};import{jsx as io}from"react/jsx-runtime";var H=e=>io(b,{children:"Button",...e});import{Fragment as et,jsx as E,jsxs as Ce}from"react/jsx-runtime";var ro=y.states,lo=y.defaultOptions,po=y.options,co=[{name:"prefix",title:"Prefix"},{name:"suffix",title:"Suffix"},{name:"clear-button",title:"`Clear` Button"},{name:"validation-icon",title:"Validation Icon"},{name:"separators",title:"Separators"}],uo=[],U=e=>{let{modifiers:t,valid:o,invalid:s,loading:a,disabled:d,readonly:u,...p}=e,h=t?.prefix,N=t?.suffix,x=t?.["clear-button"],T=t?.["validation-icon"],S=t?.separators;return Ce(y,{...p,valid:o,invalid:s,loading:a,disabled:d,readonly:u,style:{width:300},children:[h&&Ce(et,{children:[E(re,{children:E(f,{icon:"lock"})}),S&&E(F,{})]}),E(B,{placeholder:"Placeholder",value:"Value"}),T&&E(P,{valid:o,invalid:s,loading:a,disabled:d}),E(D,{loading:a,disabled:d}),x&&E(A,{loading:a,disabled:d,readonly:u,value:"Value"}),N&&Ce(et,{children:[S&&E(F,{}),E(le,{children:E(H,{size:p.size,fillMode:"clear",children:"Send"})})]})]})};U.options=po;U.states=ro;U.variants=uo;U.defaultOptions=lo;U.modifiers=co;U.className=y.className;import{Fragment as tt,jsx as w,jsxs as Le}from"react/jsx-runtime";var ot="k-textbox",mo=[i.hover,i.focus,i.valid,i.invalid,i.required,i.disabled,i.loading,i.readonly],fo={size:[n.undefined,n.small,n.medium,n.large],rounded:[c.undefined,c.none,c.small,c.medium,c.large,c.full],fillMode:[m.undefined,m.solid,m.flat,m.outline]},de={showClearButton:!0,showValidationIcon:!0,separators:!0},v=e=>{let{size:t,rounded:o,fillMode:s,separators:a=de.separators,showClearButton:d=de.showClearButton,showValidationIcon:u=de.showValidationIcon,prefix:p,suffix:h,type:N,value:x,placeholder:T,hover:S,focus:R,valid:_,invalid:M,required:I,loading:k,disabled:O,readonly:j,id:pe,"aria-label":ce,"aria-describedby":ue,...me}=e;return Le(y,{...me,size:t,rounded:o,fillMode:s,hover:S,focus:R,valid:_,invalid:M,required:I,loading:k,disabled:O,readonly:j,className:r(e.className,ot),children:[p&&Le(tt,{children:[w(re,{children:p}),a&&w(F,{})]}),w(B,{id:pe,placeholder:T,value:x,type:N,disabled:O,"aria-label":ce,"aria-describedby":ue,"aria-invalid":M?"true":void 0}),u&&w(P,{valid:_,invalid:M,loading:k,disabled:O}),w(D,{loading:k,disabled:O}),d&&w(A,{loading:k,disabled:O,readonly:j,value:x}),h&&Le(tt,{children:[a&&w(F,{}),w(le,{children:h})]})]})};v.states=mo;v.options=fo;v.className=ot;v.defaultOptions=de;v.moduleName=fe;v.folderName=Pe;v.ariaSpec={selector:".k-textbox",rules:[{selector:".k-textbox > .k-input-inner",attribute:"role=textbox or nodeName=input",usage:"Describes the role of the component."},{selector:".k-textbox > .k-input-inner",attribute:"label for or aria-label or aria-labelledby (when has accessible name)",usage:"The input requires an accessible name (provided by consuming app)."},{selector:".k-textbox > .k-input-inner",attribute:"aria-invalid=true (when invalid)",usage:"Rendered when the TextBox is in an invalid state."},{selector:".k-textbox > .k-input-inner",attribute:"aria-describedby (when has hint or error)",usage:"Points to the hint or error message for the input."},{selector:".k-textbox.k-disabled > .k-input-inner",attribute:"disabled=disabled or aria-disabled=true",usage:"Rendered when the TextBox is disabled."}]};var Z=v;import{jsx as xo}from"react/jsx-runtime";var nt=e=>xo(Z,{...e});import{Fragment as as,jsx as ns}from"react/jsx-runtime";import{jsx as bo}from"react/jsx-runtime";var at=e=>bo(b,{icon:"folder",...e,"aria-label":e["aria-label"]||"Folder",children:void 0});import{jsx as ho}from"react/jsx-runtime";var st=e=>ho(b,{icon:"folder",children:"Button",...e});import{jsx as Ee}from"react/jsx-runtime";var No=b.options,go=b.states,vo={...b.defaultOptions,variant:"text"},Io=[{name:"icon-only",title:"Icon Only"},{name:"icon-and-text",title:"Icon & Text"},{name:"text",title:"Text"}],yo=[],X=e=>{let{variant:t,...o}=e;switch(t){case"icon-only":return Ee(at,{...o,icon:"star"});case"icon-and-text":return Ee(st,{...o,icon:"star",children:"Button"});default:return Ee(H,{...o,children:"Button"})}};X.options=No;X.states=go;X.variants=Io;X.defaultOptions=vo;X.modifiers=yo;X.className=b.className;import{Fragment as Ls,jsx as Cs}from"react/jsx-runtime";import{jsx as Bs}from"react/jsx-runtime";import{jsx as we}from"react/jsx-runtime";var To=v.states,So=v.defaultOptions,ko=v.options,Mo=[{name:"prefix",title:"Prefix"},{name:"suffix",title:"Suffix"},{name:"clear-button",title:"`Clear` Button"}],Oo=[],q=e=>{let{modifiers:t,...o}=e,s={};return Object.keys(t||{}).forEach(a=>{switch(a){case"prefix":s.prefix=t?.[a]?we(f,{icon:"lock"}):void 0;break;case"suffix":s.suffix=t?.[a]?we(H,{size:o.size,fillMode:"clear",children:"Send"}):void 0;break;case"clear-button":s.showClearButton=t?.[a];break;default:break}}),we(nt,{value:"Value",style:{width:300},...o,...s})};q.options=ko;q.states=To;q.variants=Oo;q.defaultOptions=So;q.modifiers=Mo;q.className=v.className;import{jsx as it,jsxs as Ao}from"react/jsx-runtime";var Co=L.options,Lo=L.states,rt={...L.defaultOptions},Eo=[],wo=[{name:"showHint",title:"Show Hint"}],z=e=>{let{modifiers:t,...o}={...rt,...e},s=t?.showHint??!0;return Ao("div",{style:{display:"flex",flexDirection:"column",gap:"4px"},children:[it(v,{placeholder:"Component",style:{width:"200px"}}),s&&it(L,{...o,children:"Hint text"})]})};z.options=Co;z.states=Lo;z.variants=Eo;z.defaultOptions=rt;z.modifiers=wo;z.className=L.className;var Zs=z;export{z as FormHintDemo,Zs as default};