@useloops/design-system 1.4.644 → 1.4.646

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- import{jsx as e,jsxs as l,Fragment as t}from"react/jsx-runtime";import{FormGroup as i,Box as o}from"@mui/material";import{useMemo as r}from"react";import n from"../FormControlLabel/FormControlLabel.js";import a from"../Checkbox/StyledCheckbox.js";import c from"../TextField/TextField.js";const u=({sizing:u,options:s,other:d,internalChange:m,value:h,inputRef:f,onChange:p,maxSelections:b})=>{const g=d?.name||"other-option",x=`${g}-value-`,C=e=>`${x}${e}`,v=d?.enabled,k=h?.includes(g)&&v,M=h?.find(e=>e.includes(x)),F=r(()=>h?h.filter(e=>!e.startsWith(x)).length:0,[h,x]),j=!!b&&F>=b;if(!h)return e("div",{});const y=(e,l)=>{const t=h.includes(e);if(!t&&j&&!l)return;let i=t?h.filter(l=>l!==e):l?[e]:[...new Set(h),e];if(l||(i=i.filter(e=>!s.find(l=>l?.exclusive&&e===l.value))),d?.enabled){!h.includes(g)||e!==g||(i=i.filter(e=>!e.includes(x)))}p(i),m&&m()},S=(e,l)=>!l&&(j&&!h.includes(e));return l(t,{children:[l(i,{sx:{display:"flex",gap:e=>e.custom.margin.sm,label:{"&:last-child":{mb:0},"&:not(.Mui-disabled):hover":{"& .MuiCheckbox-root":{backgroundColor:e=>e.custom.palette.interaction.hover,"&.Mui-checked":{backgroundColor:e=>e.custom.palette.purple[500]}}}}},children:[s?.map(l=>{const t=l.value,i=S(t,l.exclusive);return e(n,{sx:{"& .MuiButtonBase-root.MuiCheckbox-root":{alignSelf:"baseline"},"& .MuiTypography-root":{mt:"default"!==u?.5:0}},onChange:()=>y(t,l.exclusive),checked:h.includes(t),disabled:i,control:e(a,{sizing:u,disabled:i}),label:l.label},t)}),v&&e(n,{inputRef:f,onChange:()=>y(g),label:d?.label||"Other",checked:h.includes(g),disabled:S(g),control:e(a,{sizing:u})},g)]}),k&&e(o,{sx:{mt:1},children:e(c,{fullWidth:!0,autoFocus:!0,defaultValue:M?M.replace(x,""):"",placeholder:d?.placeholder,onChange:e=>{const l=h.find(e=>e.includes(x)),t=(l?h.map(l=>l.includes(x)?C(e.target.value):l):[...h,C(e.target.value)]).filter(e=>e!==x);p(t),m&&m()},required:!0})})]})};export{u as default};
1
+ import{jsx as e,jsxs as l,Fragment as t}from"react/jsx-runtime";import{FormGroup as o,Box as i}from"@mui/material";import{useMemo as n}from"react";import r from"../FormControlLabel/FormControlLabel.js";import a from"../Checkbox/StyledCheckbox.js";import c from"../TextField/TextField.js";const s=({sizing:s,options:u,other:d,internalChange:h,value:m,inputRef:f,onChange:p,maxSelections:b,noneOfTheseOption:g})=>{const x=d?.name||"other-option",C=g?.value||"none-of-these-option",v=`${x}-value-`,k=e=>`${v}${e}`,M=d?.enabled,F=m?.includes(x)&&M,j=m?.find(e=>e.includes(v)),y=n(()=>m?m.filter(e=>!e.startsWith(v)).length:0,[m,v]),z=!!b&&y>=b;if(!m)return e("div",{});const S=(e,l)=>{const t=m.includes(e);if(!t&&z&&!l)return;let o;t?o=m.filter(l=>l!==e):l?o=[e]:(o=[...new Set(m),e],o=o.filter(e=>!u.find(l=>l?.exclusive&&e===l.value)),g&&(o=o.filter(e=>e!==C))),d?.enabled&&(l?o=o.filter(e=>e!==x&&!e.includes(v)):e===x&&t&&(o=o.filter(e=>!e.includes(v)))),p(o),h&&h()},T=(e,l)=>!l&&(z&&!m.includes(e));return l(t,{children:[l(o,{sx:{display:"flex",gap:e=>e.custom.margin.sm,label:{"&:last-child":{mb:0},"&:not(.Mui-disabled):hover":{"& .MuiCheckbox-root":{backgroundColor:e=>e.custom.palette.interaction.hover,"&.Mui-checked":{backgroundColor:e=>e.custom.palette.purple[500]}}}}},children:[u?.map(l=>{const t=l.value,o=T(t,l.exclusive);return e(r,{sx:{"& .MuiButtonBase-root.MuiCheckbox-root":{alignSelf:"baseline"},"& .MuiTypography-root":{mt:"default"!==s?.5:0}},onChange:()=>S(t,l.exclusive),checked:m.includes(t),disabled:o,control:e(a,{sizing:s,disabled:o}),label:l.label},t)}),M&&e(r,{inputRef:f,onChange:()=>S(x),label:d?.label||"Other",checked:m.includes(x),disabled:T(x),control:e(a,{sizing:s})},x),g&&e(r,{onChange:()=>S(C,!0),checked:m.includes(C),control:e(a,{sizing:s}),label:g.label},C)]}),F&&e(i,{sx:{mt:1},children:e(c,{fullWidth:!0,autoFocus:!0,defaultValue:j?j.replace(v,""):"",placeholder:d?.placeholder,onChange:e=>{const l=m.find(e=>e.includes(v)),t=(l?m.map(l=>l.includes(v)?k(e.target.value):l):[...m,k(e.target.value)]).filter(e=>e!==v);p(t),h&&h()},required:!0})})]})};export{s as default};
@@ -1 +1 @@
1
- import{jsxs as e,jsx as t,Fragment as r}from"react/jsx-runtime";import{useTheme as o,Stack as i}from"@mui/material";import{mergeSx as n}from"merge-sx";import{useState as m,useEffect as a}from"react";import{Controller as s}from"react-hook-form";import{isValidPhoneNumber as l}from"react-phone-number-input";import c from"../../../AutocompleteField/AutocompleteField.js";import p from"../../../Checkbox/Checkbox.js";import"../../../Checkbox/StyledCheckbox.js";import f from"../../../CheckboxGroup/CheckboxGroup.js";import h from"../../../CreatableAutocomplete/CreatableAutocomplete.js";import u from"../../../CustomField/CustomField.js";import d from"../../../Differential/Differential.js";import x from"../../../Html/Html.js";import g from"../../../InputLabel/InputLabel.js";import j from"../../../Likert/Likert.js";import b from"../../../NumberField/NumberField.js";import S from"../../../RadioGroup/RadioGroup.js";import k from"../../../Rank/Rank.js";import v from"../../../RichTextField/RichTextField.js";import"../../../SelectItem/SelectItem.js";import C from"../../../Select/Select.js";import T from"../../../Slider/Slider.js";import R from"../../../StarRating/StarRating.js";import w from"../../../Switch/Switch.js";import F from"../../../Textarea/Textarea.js";import I from"../../../TextField/TextField.js";import y from"../StengthIndicator/StrengthIndicator.js";import B from"./components/InputWrapperHelperText/InputWrapperHelperText.js";const G={textfield:I,numberfield:b,textarea:F,creatableautocomplete:h,select:C,autocomplete:c,checkbox:p,checkboxGroup:f,switch:w,slider:T,starRating:R,differential:d,likert:j,radioGroup:S,ranking:k,richTextfield:v,customfield:u},A=(e,t)=>e.filter(e=>{if(e.includes("-value-")){const t=e.split("-value-")[1];return t&&t.length>0}return e!==t}).length,H=({fieldRef:c,name:p,fieldType:f,label:h,control:u,errors:d,labelProps:j,helperText:b,helpTextProps:S,validation:k,content:v,styleOverrides:C,defaultValue:T,onChange:R,watch:w,trigger:F,strengthIndicator:I,...H})=>{const{custom:L}=o(),N=void 0!==d&&Object.keys(d).length>0,[$,_]=m(0);a(()=>{I&&$>0&&F(p)},[$]);const D=k?.match?.field,O=w(D);return a(()=>{D&&F(p)},[O,D,F,p]),e(i,{sx:n(C?.sxInputStack,H?.hidden&&{display:"none!important"}),gap:L.margin.sm,children:["switch"!==f?h&&t(g,{...j,children:h}):null,"html"===f&&v?t(x,{children:v}):e(r,{children:[t(s,{name:p,control:u,render:e=>function({field:{ref:e,...r}}){return t(G[f],{...H,...r,inputRef:t=>{e(t),c&&(c.current=t)},..."switch"===f?{label:h}:{},..."autocomplete"===f?{onChange:(e,t)=>r.onChange(t)}:{}})}(e),rules:{...k,validate:e=>{if(k&&"phone"in k)return l(`+${w("extension")}${e}`)||k.phone.message;if(k&&"score"in k)return $<=k.score.value?k.score.message:void 0;if(k&&"white_space"in k)return!e.match(/^\s*$/g)||k.white_space.message;if(k&&"match"in k&&k?.match?.field)switch(k?.match?.comparison){case"not_eq":return e!=w(k.match.field)||k.match.message;case"gt":return e>w(k.match.field)||k.match.message;case"lt":return e<w(k.match.field)||k.match.message;default:return e===w(k.match.field)||k.match.message}if(k&&"minSelections"in k){const t=e;if(!(k.selectionsBypass&&t.includes(k.selectionsBypass))){const e=H.other?.enabled?H.other?.name||"other-option":void 0;if(A(t,e)<k.minSelections.value)return k.minSelections.message}}if(k&&"maxSelections"in k){const t=e;if(!(k.selectionsBypass&&t.includes(k.selectionsBypass))){const e=H.other?.enabled?H.other?.name||"other-option":void 0;if(A(t,e)>k.maxSelections.value)return k.maxSelections.message}}}}}),I&&t(y,{value:w(p),onChange:_})]}),e(r,{children:[Boolean(N)?t(B,{helperText:void 0,inputName:p,errors:d,showicon:!0}):null,Boolean(b)?t(B,{helperText:b,inputName:p,errors:void 0,...S}):null]})]})};export{H as default};
1
+ import{jsxs as e,jsx as t,Fragment as o}from"react/jsx-runtime";import{useTheme as r,Stack as i}from"@mui/material";import{mergeSx as n}from"merge-sx";import{useState as s,useEffect as a}from"react";import{Controller as l}from"react-hook-form";import{isValidPhoneNumber as m}from"react-phone-number-input";import c from"../../../AutocompleteField/AutocompleteField.js";import p from"../../../Checkbox/Checkbox.js";import"../../../Checkbox/StyledCheckbox.js";import f from"../../../CheckboxGroup/CheckboxGroup.js";import h from"../../../CreatableAutocomplete/CreatableAutocomplete.js";import u from"../../../CustomField/CustomField.js";import d from"../../../Differential/Differential.js";import x from"../../../Html/Html.js";import g from"../../../InputLabel/InputLabel.js";import j from"../../../Likert/Likert.js";import b from"../../../NumberField/NumberField.js";import S from"../../../RadioGroup/RadioGroup.js";import k from"../../../Rank/Rank.js";import v from"../../../RichTextField/RichTextField.js";import"../../../SelectItem/SelectItem.js";import T from"../../../Select/Select.js";import C from"../../../Slider/Slider.js";import y from"../../../StarRating/StarRating.js";import I from"../../../Switch/Switch.js";import R from"../../../Textarea/Textarea.js";import w from"../../../TextField/TextField.js";import F from"../StengthIndicator/StrengthIndicator.js";import A from"./components/InputWrapperHelperText/InputWrapperHelperText.js";const B={textfield:w,numberfield:b,textarea:R,creatableautocomplete:h,select:T,autocomplete:c,checkbox:p,checkboxGroup:f,switch:I,slider:C,starRating:y,differential:d,likert:j,radioGroup:S,ranking:k,richTextfield:v,customfield:u},G=(e,t)=>e.filter(e=>{if(e.includes("-value-")){const t=e.split("-value-")[1];return t&&t.length>0}return e!==t}).length,_=({fieldRef:c,name:p,fieldType:f,label:h,control:u,errors:d,labelProps:j,helperText:b,helpTextProps:S,validation:k,content:v,styleOverrides:T,defaultValue:C,onChange:y,watch:I,trigger:R,strengthIndicator:w,..._})=>{const{custom:H}=r(),L=void 0!==d&&Object.keys(d).length>0,[N,O]=s(0);a(()=>{w&&N>0&&R(p)},[N]);const $=k?.match?.field,D=I($);return a(()=>{$&&R(p)},[D,$,R,p]),e(i,{sx:n(T?.sxInputStack,_?.hidden&&{display:"none!important"}),gap:H.margin.sm,children:["switch"!==f?h&&t(g,{...j,children:h}):null,"html"===f&&v?t(x,{children:v}):e(o,{children:[t(l,{name:p,control:u,render:e=>function({field:{ref:e,...o}}){const r=B[f],i=e=>(e.name||e.value||"").replace(/-/g,"_").includes("none_of_these");let n=_;if(_.other?.enabled&&Array.isArray(_.options)){const e=_.options.findIndex(i);-1!==e&&(n={..._,options:_.options.filter((t,o)=>o!==e),noneOfTheseOption:_.options[e]})}return t(r,{...n,...o,inputRef:t=>{e(t),c&&(c.current=t)},..."switch"===f?{label:h}:{},..."autocomplete"===f?{onChange:(e,t)=>o.onChange(t)}:{}})}(e),rules:{...k,validate:e=>{if(k&&"phone"in k)return m(`+${I("extension")}${e}`)||k.phone.message;if(k&&"score"in k)return N<=k.score.value?k.score.message:void 0;if(k&&"white_space"in k)return!e.match(/^\s*$/g)||k.white_space.message;if(k&&"match"in k&&k?.match?.field)switch(k?.match?.comparison){case"not_eq":return e!=I(k.match.field)||k.match.message;case"gt":return e>I(k.match.field)||k.match.message;case"lt":return e<I(k.match.field)||k.match.message;default:return e===I(k.match.field)||k.match.message}if(k&&"minSelections"in k){const t=e;if(!(k.selectionsBypass&&t.includes(k.selectionsBypass))){const e=_.other?.enabled?_.other?.name||"other-option":void 0;if(G(t,e)<k.minSelections.value)return k.minSelections.message}}if(k&&"maxSelections"in k){const t=e;if(!(k.selectionsBypass&&t.includes(k.selectionsBypass))){const e=_.other?.enabled?_.other?.name||"other-option":void 0;if(G(t,e)>k.maxSelections.value)return k.maxSelections.message}}}}}),w&&t(F,{value:I(p),onChange:O})]}),e(o,{children:[Boolean(L)?t(A,{helperText:void 0,inputName:p,errors:d,showicon:!0}):null,Boolean(b)?t(A,{helperText:b,inputName:p,errors:void 0,...S}):null]})]})};export{_ as default};
@@ -1 +1 @@
1
- import{jsxs as e,Fragment as o,jsx as r}from"react/jsx-runtime";import{RadioGroup as l,Box as a}from"@mui/material";import{useState as t,useRef as i,useEffect as n}from"react";import{base as u}from"../../BrandCore/primitiveVariables.js";import c from"../FormControlLabel/FormControlLabel.js";import s from"../Radio/Radio.js";import"../Radio/StyledRadio.js";import m from"../TextField/TextField.js";const d=({options:d,onChange:p,other:g,value:h,internalChange:f,sizing:b="lg",inputRef:y,...v})=>{const x=g?.enabled,C="other-option",R=`${C}-value-`,[M,j]=t(h),[S,T]=t(!1),F=i(null);n(()=>{!S&&M?.includes(R)?T(!0):S&&T(!1)},[M]);return n(()=>{F.current&&Array.from(F.current.getElementsByTagName("label")).forEach(e=>{if(e.clientHeight>4*u){const o=e.querySelector(".MuiTypography-root");o&&(o.style.marginTop=u/2+"px")}})},[F.current]),e(o,{children:[e(l,{...v,value:M,ref:F,sx:{"& .MuiRadio-root":{alignSelf:"baseline"},"& .MuiTypography-root":{alignSelf:"center"},display:"flex",alignSelf:"baseline",gap:e=>e.custom.margin.sm,label:{"&:last-child":{mb:0},"&:hover":{"& .MuiRadio-root":{backgroundColor:e=>e.custom.palette.interaction.hover,"&.Mui-checked":{backgroundColor:e=>e.custom.palette.purple[500]}}}}},onChange:(e,o)=>{p&&p(o),j(o),f&&f()},children:[d?d.map((e,o)=>r(c,{sx:{"& .MuiButtonBase-root.MuiRadio-root":{alignSelf:"baseline"}},...e,control:r(s,{sizing:b})},o)):null,x&&r(c,{label:g?.label||"Other",value:R,control:r(s,{sizing:b,checked:M?.includes(R)})},C)]}),S&&r(a,{sx:{mt:1},children:r(m,{fullWidth:!0,autoFocus:!0,placeholder:g?.placeholder,defaultValue:M?.replace(R,""),onChange:e=>{var o;p&&p((o=e.target.value,`${R}${o}`)),f&&f()},required:!0})})]})};export{d as default};
1
+ import{jsxs as e,Fragment as o,jsx as r}from"react/jsx-runtime";import{RadioGroup as l,Box as a}from"@mui/material";import{useState as t,useRef as i,useEffect as n}from"react";import{base as u}from"../../BrandCore/primitiveVariables.js";import s from"../FormControlLabel/FormControlLabel.js";import c from"../Radio/Radio.js";import"../Radio/StyledRadio.js";import m from"../TextField/TextField.js";const p=({options:p,onChange:d,other:g,value:h,internalChange:f,sizing:b="lg",inputRef:v,noneOfTheseOption:y,...x})=>{const C=g?.enabled,R="other-option",M=`${R}-value-`,[T,j]=t(h),[S,F]=t(!1),k=i(null);n(()=>{!S&&T?.includes(M)?F(!0):S&&F(!1)},[T]);return n(()=>{k.current&&Array.from(k.current.getElementsByTagName("label")).forEach(e=>{if(e.clientHeight>4*u){const o=e.querySelector(".MuiTypography-root");o&&(o.style.marginTop=u/2+"px")}})},[k.current]),e(o,{children:[e(l,{...x,value:T,ref:k,sx:{"& .MuiRadio-root":{alignSelf:"baseline"},"& .MuiTypography-root":{alignSelf:"center"},display:"flex",alignSelf:"baseline",gap:e=>e.custom.margin.sm,label:{"&:last-child":{mb:0},"&:hover":{"& .MuiRadio-root":{backgroundColor:e=>e.custom.palette.interaction.hover,"&.Mui-checked":{backgroundColor:e=>e.custom.palette.purple[500]}}}}},onChange:(e,o)=>{d&&d(o),j(o),f&&f()},children:[p?p.map((e,o)=>r(s,{sx:{"& .MuiButtonBase-root.MuiRadio-root":{alignSelf:"baseline"}},...e,control:r(c,{sizing:b})},o)):null,C&&r(s,{label:g?.label||"Other",value:M,control:r(c,{sizing:b,checked:T?.includes(M)})},R),y&&r(s,{...y,control:r(c,{sizing:b})},y.value)]}),S&&r(a,{sx:{mt:1},children:r(m,{fullWidth:!0,autoFocus:!0,placeholder:g?.placeholder,defaultValue:T?.replace(M,""),onChange:e=>{var o;d&&d((o=e.target.value,`${M}${o}`)),f&&f()},required:!0})})]})};export{p as default};
@@ -23,6 +23,7 @@ interface CheckboxGroupProps {
23
23
  other?: CheckboxGroupOther;
24
24
  internalChange?: () => void;
25
25
  maxSelections?: number;
26
+ noneOfTheseOption?: CheckboxGroupOption;
26
27
  }
27
28
  declare const CheckboxGroup: FunctionComponent<CheckboxGroupProps>;
28
29
 
@@ -1 +1 @@
1
- "use strict";var e=require("react/jsx-runtime"),l=require("@mui/material"),i=require("react"),t=require("../FormControlLabel/FormControlLabel.js"),r=require("../Checkbox/StyledCheckbox.js"),n=require("../TextField/TextField.js");module.exports=({sizing:o,options:s,other:a,internalChange:u,value:c,inputRef:d,onChange:h,maxSelections:x})=>{const b=a?.name||"other-option",m=`${b}-value-`,p=e=>`${m}${e}`,f=a?.enabled,g=c?.includes(b)&&f,j=c?.find(e=>e.includes(m)),v=i.useMemo(()=>c?c.filter(e=>!e.startsWith(m)).length:0,[c,m]),C=!!x&&v>=x;if(!c)return e.jsx("div",{});const k=(e,l)=>{const i=c.includes(e);if(!i&&C&&!l)return;let t=i?c.filter(l=>l!==e):l?[e]:[...new Set(c),e];if(l||(t=t.filter(e=>!s.find(l=>l?.exclusive&&e===l.value))),a?.enabled){!c.includes(b)||e!==b||(t=t.filter(e=>!e.includes(m)))}h(t),u&&u()},q=(e,l)=>!l&&(C&&!c.includes(e));return e.jsxs(e.Fragment,{children:[e.jsxs(l.FormGroup,{sx:{display:"flex",gap:e=>e.custom.margin.sm,label:{"&:last-child":{mb:0},"&:not(.Mui-disabled):hover":{"& .MuiCheckbox-root":{backgroundColor:e=>e.custom.palette.interaction.hover,"&.Mui-checked":{backgroundColor:e=>e.custom.palette.purple[500]}}}}},children:[s?.map(l=>{const i=l.value,n=q(i,l.exclusive);return e.jsx(t,{sx:{"& .MuiButtonBase-root.MuiCheckbox-root":{alignSelf:"baseline"},"& .MuiTypography-root":{mt:"default"!==o?.5:0}},onChange:()=>k(i,l.exclusive),checked:c.includes(i),disabled:n,control:e.jsx(r,{sizing:o,disabled:n}),label:l.label},i)}),f&&e.jsx(t,{inputRef:d,onChange:()=>k(b),label:a?.label||"Other",checked:c.includes(b),disabled:q(b),control:e.jsx(r,{sizing:o})},b)]}),g&&e.jsx(l.Box,{sx:{mt:1},children:e.jsx(n,{fullWidth:!0,autoFocus:!0,defaultValue:j?j.replace(m,""):"",placeholder:a?.placeholder,onChange:e=>{const l=c.find(e=>e.includes(m)),i=(l?c.map(l=>l.includes(m)?p(e.target.value):l):[...c,p(e.target.value)]).filter(e=>e!==m);h(i),u&&u()},required:!0})})]})};
1
+ "use strict";var e=require("react/jsx-runtime"),l=require("@mui/material"),i=require("react"),t=require("../FormControlLabel/FormControlLabel.js"),n=require("../Checkbox/StyledCheckbox.js"),r=require("../TextField/TextField.js");module.exports=({sizing:o,options:s,other:a,internalChange:u,value:c,inputRef:d,onChange:h,maxSelections:x,noneOfTheseOption:b})=>{const f=a?.name||"other-option",m=b?.value||"none-of-these-option",p=`${f}-value-`,g=e=>`${p}${e}`,j=a?.enabled,v=c?.includes(f)&&j,C=c?.find(e=>e.includes(p)),k=i.useMemo(()=>c?c.filter(e=>!e.startsWith(p)).length:0,[c,p]),q=!!x&&k>=x;if(!c)return e.jsx("div",{});const F=(e,l)=>{const i=c.includes(e);if(!i&&q&&!l)return;let t;i?t=c.filter(l=>l!==e):l?t=[e]:(t=[...new Set(c),e],t=t.filter(e=>!s.find(l=>l?.exclusive&&e===l.value)),b&&(t=t.filter(e=>e!==m))),a?.enabled&&(l?t=t.filter(e=>e!==f&&!e.includes(p)):e===f&&i&&(t=t.filter(e=>!e.includes(p)))),h(t),u&&u()},M=(e,l)=>!l&&(q&&!c.includes(e));return e.jsxs(e.Fragment,{children:[e.jsxs(l.FormGroup,{sx:{display:"flex",gap:e=>e.custom.margin.sm,label:{"&:last-child":{mb:0},"&:not(.Mui-disabled):hover":{"& .MuiCheckbox-root":{backgroundColor:e=>e.custom.palette.interaction.hover,"&.Mui-checked":{backgroundColor:e=>e.custom.palette.purple[500]}}}}},children:[s?.map(l=>{const i=l.value,r=M(i,l.exclusive);return e.jsx(t,{sx:{"& .MuiButtonBase-root.MuiCheckbox-root":{alignSelf:"baseline"},"& .MuiTypography-root":{mt:"default"!==o?.5:0}},onChange:()=>F(i,l.exclusive),checked:c.includes(i),disabled:r,control:e.jsx(n,{sizing:o,disabled:r}),label:l.label},i)}),j&&e.jsx(t,{inputRef:d,onChange:()=>F(f),label:a?.label||"Other",checked:c.includes(f),disabled:M(f),control:e.jsx(n,{sizing:o})},f),b&&e.jsx(t,{onChange:()=>F(m,!0),checked:c.includes(m),control:e.jsx(n,{sizing:o}),label:b.label},m)]}),v&&e.jsx(l.Box,{sx:{mt:1},children:e.jsx(r,{fullWidth:!0,autoFocus:!0,defaultValue:C?C.replace(p,""):"",placeholder:a?.placeholder,onChange:e=>{const l=c.find(e=>e.includes(p)),i=(l?c.map(l=>l.includes(p)?g(e.target.value):l):[...c,g(e.target.value)]).filter(e=>e!==p);h(i),u&&u()},required:!0})})]})};
@@ -1 +1 @@
1
- "use strict";var e=require("react/jsx-runtime"),r=require("@mui/material"),t=require("merge-sx"),i=require("react"),s=require("react-hook-form"),n=require("react-phone-number-input"),a=require("../../../AutocompleteField/AutocompleteField.js"),l=require("../../../Checkbox/Checkbox.js");require("../../../Checkbox/StyledCheckbox.js");var o=require("../../../CheckboxGroup/CheckboxGroup.js"),c=require("../../../CreatableAutocomplete/CreatableAutocomplete.js"),u=require("../../../CustomField/CustomField.js"),m=require("../../../Differential/Differential.js"),h=require("../../../Html/Html.js"),d=require("../../../InputLabel/InputLabel.js"),p=require("../../../Likert/Likert.js"),x=require("../../../NumberField/NumberField.js"),f=require("../../../RadioGroup/RadioGroup.js"),j=require("../../../Rank/Rank.js"),g=require("../../../RichTextField/RichTextField.js");require("../../../SelectItem/SelectItem.js");var q=require("../../../Select/Select.js"),b=require("../../../Slider/Slider.js"),S=require("../../../StarRating/StarRating.js"),k=require("../../../Switch/Switch.js"),v=require("../../../Textarea/Textarea.js"),C=require("../../../TextField/TextField.js"),T=require("../StengthIndicator/StrengthIndicator.js"),F=require("./components/InputWrapperHelperText/InputWrapperHelperText.js");const R={textfield:C,numberfield:x,textarea:v,creatableautocomplete:c,select:q,autocomplete:a,checkbox:l,checkboxGroup:o,switch:k,slider:b,starRating:S,differential:m,likert:p,radioGroup:f,ranking:j,richTextfield:g,customfield:u},w=(e,r)=>e.filter(e=>{if(e.includes("-value-")){const r=e.split("-value-")[1];return r&&r.length>0}return e!==r}).length;module.exports=({fieldRef:a,name:l,fieldType:o,label:c,control:u,errors:m,labelProps:p,helperText:x,helpTextProps:f,validation:j,content:g,styleOverrides:q,defaultValue:b,onChange:S,watch:k,trigger:v,strengthIndicator:C,...I})=>{const{custom:y}=r.useTheme(),B=void 0!==m&&Object.keys(m).length>0,[G,N]=i.useState(0);i.useEffect(()=>{C&&G>0&&v(l)},[G]);const A=j?.match?.field,H=k(A);return i.useEffect(()=>{A&&v(l)},[H,A,v,l]),e.jsxs(r.Stack,{sx:t.mergeSx(q?.sxInputStack,I?.hidden&&{display:"none!important"}),gap:y.margin.sm,children:["switch"!==o?c&&e.jsx(d,{...p,children:c}):null,"html"===o&&g?e.jsx(h,{children:g}):e.jsxs(e.Fragment,{children:[e.jsx(s.Controller,{name:l,control:u,render:r=>function({field:{ref:r,...t}}){const i=R[o];return e.jsx(i,{...I,...t,inputRef:e=>{r(e),a&&(a.current=e)},..."switch"===o?{label:c}:{},..."autocomplete"===o?{onChange:(e,r)=>t.onChange(r)}:{}})}(r),rules:{...j,validate:e=>{if(j&&"phone"in j)return n.isValidPhoneNumber(`+${k("extension")}${e}`)||j.phone.message;if(j&&"score"in j)return G<=j.score.value?j.score.message:void 0;if(j&&"white_space"in j)return!e.match(/^\s*$/g)||j.white_space.message;if(j&&"match"in j&&j?.match?.field)switch(j?.match?.comparison){case"not_eq":return e!=k(j.match.field)||j.match.message;case"gt":return e>k(j.match.field)||j.match.message;case"lt":return e<k(j.match.field)||j.match.message;default:return e===k(j.match.field)||j.match.message}if(j&&"minSelections"in j){const r=e;if(!(j.selectionsBypass&&r.includes(j.selectionsBypass))){const e=I.other?.enabled?I.other?.name||"other-option":void 0;if(w(r,e)<j.minSelections.value)return j.minSelections.message}}if(j&&"maxSelections"in j){const r=e;if(!(j.selectionsBypass&&r.includes(j.selectionsBypass))){const e=I.other?.enabled?I.other?.name||"other-option":void 0;if(w(r,e)>j.maxSelections.value)return j.maxSelections.message}}}}}),C&&e.jsx(T,{value:k(l),onChange:N})]}),e.jsxs(e.Fragment,{children:[Boolean(B)?e.jsx(F,{helperText:void 0,inputName:l,errors:m,showicon:!0}):null,Boolean(x)?e.jsx(F,{helperText:x,inputName:l,errors:void 0,...f}):null]})]})};
1
+ "use strict";var e=require("react/jsx-runtime"),r=require("@mui/material"),t=require("merge-sx"),i=require("react"),s=require("react-hook-form"),n=require("react-phone-number-input"),o=require("../../../AutocompleteField/AutocompleteField.js"),a=require("../../../Checkbox/Checkbox.js");require("../../../Checkbox/StyledCheckbox.js");var l=require("../../../CheckboxGroup/CheckboxGroup.js"),c=require("../../../CreatableAutocomplete/CreatableAutocomplete.js"),u=require("../../../CustomField/CustomField.js"),m=require("../../../Differential/Differential.js"),h=require("../../../Html/Html.js"),d=require("../../../InputLabel/InputLabel.js"),p=require("../../../Likert/Likert.js"),f=require("../../../NumberField/NumberField.js"),x=require("../../../RadioGroup/RadioGroup.js"),j=require("../../../Rank/Rank.js"),g=require("../../../RichTextField/RichTextField.js");require("../../../SelectItem/SelectItem.js");var q=require("../../../Select/Select.js"),b=require("../../../Slider/Slider.js"),S=require("../../../StarRating/StarRating.js"),v=require("../../../Switch/Switch.js"),k=require("../../../Textarea/Textarea.js"),T=require("../../../TextField/TextField.js"),C=require("../StengthIndicator/StrengthIndicator.js"),F=require("./components/InputWrapperHelperText/InputWrapperHelperText.js");const y={textfield:T,numberfield:f,textarea:k,creatableautocomplete:c,select:q,autocomplete:o,checkbox:a,checkboxGroup:l,switch:v,slider:b,starRating:S,differential:m,likert:p,radioGroup:x,ranking:j,richTextfield:g,customfield:u},I=(e,r)=>e.filter(e=>{if(e.includes("-value-")){const r=e.split("-value-")[1];return r&&r.length>0}return e!==r}).length;module.exports=({fieldRef:o,name:a,fieldType:l,label:c,control:u,errors:m,labelProps:p,helperText:f,helpTextProps:x,validation:j,content:g,styleOverrides:q,defaultValue:b,onChange:S,watch:v,trigger:k,strengthIndicator:T,...R})=>{const{custom:w}=r.useTheme(),A=void 0!==m&&Object.keys(m).length>0,[B,G]=i.useState(0);i.useEffect(()=>{T&&B>0&&k(a)},[B]);const _=j?.match?.field,N=v(_);return i.useEffect(()=>{_&&k(a)},[N,_,k,a]),e.jsxs(r.Stack,{sx:t.mergeSx(q?.sxInputStack,R?.hidden&&{display:"none!important"}),gap:w.margin.sm,children:["switch"!==l?c&&e.jsx(d,{...p,children:c}):null,"html"===l&&g?e.jsx(h,{children:g}):e.jsxs(e.Fragment,{children:[e.jsx(s.Controller,{name:a,control:u,render:r=>function({field:{ref:r,...t}}){const i=y[l],s=e=>(e.name||e.value||"").replace(/-/g,"_").includes("none_of_these");let n=R;if(R.other?.enabled&&Array.isArray(R.options)){const e=R.options.findIndex(s);-1!==e&&(n={...R,options:R.options.filter((r,t)=>t!==e),noneOfTheseOption:R.options[e]})}return e.jsx(i,{...n,...t,inputRef:e=>{r(e),o&&(o.current=e)},..."switch"===l?{label:c}:{},..."autocomplete"===l?{onChange:(e,r)=>t.onChange(r)}:{}})}(r),rules:{...j,validate:e=>{if(j&&"phone"in j)return n.isValidPhoneNumber(`+${v("extension")}${e}`)||j.phone.message;if(j&&"score"in j)return B<=j.score.value?j.score.message:void 0;if(j&&"white_space"in j)return!e.match(/^\s*$/g)||j.white_space.message;if(j&&"match"in j&&j?.match?.field)switch(j?.match?.comparison){case"not_eq":return e!=v(j.match.field)||j.match.message;case"gt":return e>v(j.match.field)||j.match.message;case"lt":return e<v(j.match.field)||j.match.message;default:return e===v(j.match.field)||j.match.message}if(j&&"minSelections"in j){const r=e;if(!(j.selectionsBypass&&r.includes(j.selectionsBypass))){const e=R.other?.enabled?R.other?.name||"other-option":void 0;if(I(r,e)<j.minSelections.value)return j.minSelections.message}}if(j&&"maxSelections"in j){const r=e;if(!(j.selectionsBypass&&r.includes(j.selectionsBypass))){const e=R.other?.enabled?R.other?.name||"other-option":void 0;if(I(r,e)>j.maxSelections.value)return j.maxSelections.message}}}}}),T&&e.jsx(C,{value:v(a),onChange:G})]}),e.jsxs(e.Fragment,{children:[Boolean(A)?e.jsx(F,{helperText:void 0,inputName:a,errors:m,showicon:!0}):null,Boolean(f)?e.jsx(F,{helperText:f,inputName:a,errors:void 0,...x}):null]})]})};
@@ -21,6 +21,7 @@ interface RadioGroupProps {
21
21
  name: string;
22
22
  value: string;
23
23
  sizing?: StyledRadioProps['sizing'];
24
+ noneOfTheseOption?: RadioGroupOption;
24
25
  }
25
26
  declare const RadioGroup: FunctionComponent<RadioGroupProps>;
26
27
 
@@ -1 +1 @@
1
- "use strict";var e=require("react/jsx-runtime"),r=require("@mui/material"),a=require("react"),l=require("../../BrandCore/primitiveVariables.js"),o=require("../FormControlLabel/FormControlLabel.js"),i=require("../Radio/Radio.js");require("../Radio/StyledRadio.js");var t=require("../TextField/TextField.js");module.exports=({options:n,onChange:u,other:s,value:c,internalChange:d,sizing:g="lg",inputRef:h,...p})=>{const m=s?.enabled,x="other-option",f=`${x}-value-`,[b,j]=a.useState(c),[v,q]=a.useState(!1),y=a.useRef(null);a.useEffect(()=>{!v&&b?.includes(f)?q(!0):v&&q(!1)},[b]);return a.useEffect(()=>{y.current&&Array.from(y.current.getElementsByTagName("label")).forEach(e=>{if(e.clientHeight>4*l.base){const r=e.querySelector(".MuiTypography-root");r&&(r.style.marginTop=l.base/2+"px")}})},[y.current]),e.jsxs(e.Fragment,{children:[e.jsxs(r.RadioGroup,{...p,value:b,ref:y,sx:{"& .MuiRadio-root":{alignSelf:"baseline"},"& .MuiTypography-root":{alignSelf:"center"},display:"flex",alignSelf:"baseline",gap:e=>e.custom.margin.sm,label:{"&:last-child":{mb:0},"&:hover":{"& .MuiRadio-root":{backgroundColor:e=>e.custom.palette.interaction.hover,"&.Mui-checked":{backgroundColor:e=>e.custom.palette.purple[500]}}}}},onChange:(e,r)=>{u&&u(r),j(r),d&&d()},children:[n?n.map((r,a)=>e.jsx(o,{sx:{"& .MuiButtonBase-root.MuiRadio-root":{alignSelf:"baseline"}},...r,control:e.jsx(i,{sizing:g})},a)):null,m&&e.jsx(o,{label:s?.label||"Other",value:f,control:e.jsx(i,{sizing:g,checked:b?.includes(f)})},x)]}),v&&e.jsx(r.Box,{sx:{mt:1},children:e.jsx(t,{fullWidth:!0,autoFocus:!0,placeholder:s?.placeholder,defaultValue:b?.replace(f,""),onChange:e=>{var r;u&&u((r=e.target.value,`${f}${r}`)),d&&d()},required:!0})})]})};
1
+ "use strict";var e=require("react/jsx-runtime"),r=require("@mui/material"),a=require("react"),o=require("../../BrandCore/primitiveVariables.js"),l=require("../FormControlLabel/FormControlLabel.js"),i=require("../Radio/Radio.js");require("../Radio/StyledRadio.js");var t=require("../TextField/TextField.js");module.exports=({options:n,onChange:s,other:u,value:c,internalChange:d,sizing:g="lg",inputRef:h,noneOfTheseOption:p,...m})=>{const x=u?.enabled,f="other-option",b=`${f}-value-`,[j,v]=a.useState(c),[q,y]=a.useState(!1),R=a.useRef(null);a.useEffect(()=>{!q&&j?.includes(b)?y(!0):q&&y(!1)},[j]);return a.useEffect(()=>{R.current&&Array.from(R.current.getElementsByTagName("label")).forEach(e=>{if(e.clientHeight>4*o.base){const r=e.querySelector(".MuiTypography-root");r&&(r.style.marginTop=o.base/2+"px")}})},[R.current]),e.jsxs(e.Fragment,{children:[e.jsxs(r.RadioGroup,{...m,value:j,ref:R,sx:{"& .MuiRadio-root":{alignSelf:"baseline"},"& .MuiTypography-root":{alignSelf:"center"},display:"flex",alignSelf:"baseline",gap:e=>e.custom.margin.sm,label:{"&:last-child":{mb:0},"&:hover":{"& .MuiRadio-root":{backgroundColor:e=>e.custom.palette.interaction.hover,"&.Mui-checked":{backgroundColor:e=>e.custom.palette.purple[500]}}}}},onChange:(e,r)=>{s&&s(r),v(r),d&&d()},children:[n?n.map((r,a)=>e.jsx(l,{sx:{"& .MuiButtonBase-root.MuiRadio-root":{alignSelf:"baseline"}},...r,control:e.jsx(i,{sizing:g})},a)):null,x&&e.jsx(l,{label:u?.label||"Other",value:b,control:e.jsx(i,{sizing:g,checked:j?.includes(b)})},f),p&&e.jsx(l,{...p,control:e.jsx(i,{sizing:g})},p.value)]}),q&&e.jsx(r.Box,{sx:{mt:1},children:e.jsx(t,{fullWidth:!0,autoFocus:!0,placeholder:u?.placeholder,defaultValue:j?.replace(b,""),onChange:e=>{var r;s&&s((r=e.target.value,`${b}${r}`)),d&&d()},required:!0})})]})};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@useloops/design-system",
3
- "version": "1.4.644",
3
+ "version": "1.4.646",
4
4
  "description": "The official React based Loops design system",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/esm/index.js",