@maxio-com/react-ui-components 0.0.7 → 0.0.9

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.
package/dist/index.esm.js CHANGED
@@ -1 +1 @@
1
- import e,{useRef as t,useEffect as o,useState as i,useCallback as n}from"react";import r from"classnames";import{AnimatePresence as a,motion as l}from"framer-motion";import{useClick as s,useHover as c,useFocus as m,useDismiss as p,useFloating as f,offset as d,useInteractions as g,useRole as u,FloatingPortal as v}from"@floating-ui/react-dom-interactions";const y=({children:t,arrowPosition:o,size:i="regular",maxWidth:n=160})=>e.createElement("div",{"data-testid":"tooltip",className:r("maxio-tooltip",`maxio-tooltip--${i}`,{[`maxio-tooltip--arrow-${o}`]:o})},e.createElement("div",{className:"maxio-tooltip__content",style:{maxWidth:n}},t)),E={click:s,hover:c,focus:m,dismiss:p},x=(e,t)=>t.map((t=>E[t](e))),h=({children:i,usePortal:n=!1,isActive:r=!1,placement:s="top",interactions:c=["hover"],role:m="tooltip",renderOverlay:p,floatingElementOffset:y,motionSettings:E={},autoHideMs:h,onOverlayUpdate:P})=>{const{getReferenceProps:O,getFloatingProps:S,refs:{floating:w,reference:A},floatingElementCSSPosition:H}=(({placement:e="top",isActive:i=!1,interactions:n=["hover"],floatingElementOffset:r=0,onOverlayUpdate:a,autoHideMs:l})=>{const s=t(null),{strategy:c,x:m,y:p,context:v,floating:y,reference:E}=f({placement:e,open:i,onOpenChange:e=>a(e),middleware:[d(r)]}),{getReferenceProps:h,getFloatingProps:P}=g([...x(v,n),u(v,{role:"tooltip"})]);return o((()=>{s.current&&clearTimeout(s.current),i&&l&&(s.current=setTimeout((()=>a(!1)),l))}),[i,l]),{isActive:i,refs:{floating:y,reference:E},floatingElementCSSPosition:{position:c,top:null!=p?p:0,left:null!=m?m:0},getReferenceProps:h,getFloatingProps:P}})({role:m,isActive:r,onOverlayUpdate:P,autoHideMs:h,floatingElementOffset:y,interactions:c,placement:s}),M=e.createElement(a,null,r&&e.createElement(l.div,{ref:w,style:H,...E,...S()},p()));return e.createElement(e.Fragment,null,e.createElement("div",{ref:A,style:{display:"inline-flex"},...O()},i),n?e.createElement(v,{id:"maxio-ui-portal"},M):M)},P={initial:{opacity:0,transform:"scale3d(.2,.2,1)"},animate:{opacity:1,transform:"scale3d(1,1,1)"},exit:{opacity:0,transform:"scale3d(.2,.2,1)"},transition:{ease:[.4,0,.2,1],duration:.3}},O=({children:t,interactions:o=["hover"],placement:r="right",arrowPosition:a=null,maxWidth:l=160,size:s="regular",renderContent:c,autoHideMs:m,isVisible:p,onVisibilityUpdate:f})=>{const[d,g]=i(!1),u=void 0!==p,v=n((e=>{u||g(e),f&&f(e)}),[p]);return e.createElement(h,{role:"tooltip",floatingElementOffset:5,motionSettings:P,isActive:u?p:d,onOverlayUpdate:v,autoHideMs:m,placement:r,interactions:o,renderOverlay:()=>e.createElement(y,{size:s,arrowPosition:a,maxWidth:l},c())},t)};export{O as TooltipTrigger};
1
+ import e,{useRef as t,useEffect as o,useState as a,useCallback as i,useId as n}from"react";import l from"classnames";import{AnimatePresence as r,motion as s}from"framer-motion";import{useClick as c,useHover as m,useFocus as d,useDismiss as g,useFloating as p,offset as f,useInteractions as u,useRole as x,FloatingPortal as v}from"@floating-ui/react-dom-interactions";const E=({children:t,arrowPosition:o,size:a="regular",maxWidth:i=160})=>e.createElement("div",{"data-testid":"tooltip",className:l("maxio-tooltip",`maxio-tooltip--${a}`,{[`maxio-tooltip--arrow-${o}`]:o})},e.createElement("div",{className:"maxio-tooltip__content",style:{maxWidth:i}},t)),h={click:c,hover:m,focus:d,dismiss:g},y=(e,t)=>t.map((t=>h[t](e))),_=({children:a,usePortal:i=!1,isActive:n=!1,placement:l="top",interactions:c=["hover"],role:m="tooltip",renderOverlay:d,floatingElementOffset:g,motionSettings:E={},autoHideMs:h,onOverlayUpdate:_})=>{const{getReferenceProps:N,getFloatingProps:P,refs:{floating:O,reference:b},floatingElementCSSPosition:k}=(({placement:e="top",isActive:a=!1,interactions:i=["hover"],floatingElementOffset:n=0,onOverlayUpdate:l,autoHideMs:r})=>{const s=t(null),{strategy:c,x:m,y:d,context:g,floating:v,reference:E}=p({placement:e,open:a,onOpenChange:e=>l(e),middleware:[f(n)]}),{getReferenceProps:h,getFloatingProps:_}=u([...y(g,i),x(g,{role:"tooltip"})]);return o((()=>{s.current&&clearTimeout(s.current),a&&r&&(s.current=setTimeout((()=>l(!1)),r))}),[a,r]),{isActive:a,refs:{floating:v,reference:E},floatingElementCSSPosition:{position:c,top:null!=d?d:0,left:null!=m?m:0},getReferenceProps:h,getFloatingProps:_}})({role:m,isActive:n,onOverlayUpdate:_,autoHideMs:h,floatingElementOffset:g,interactions:c,placement:l}),w=e.createElement(r,null,n&&e.createElement(s.div,{ref:O,style:k,...E,...P()},d()));return e.createElement(e.Fragment,null,e.createElement("div",{ref:b,style:{display:"inline-flex"},...N()},a),i?e.createElement(v,{id:"maxio-ui-portal"},w):w)},N={initial:{opacity:0,transform:"scale3d(.2,.2,1)"},animate:{opacity:1,transform:"scale3d(1,1,1)"},exit:{opacity:0,transform:"scale3d(.2,.2,1)"},transition:{ease:[.4,0,.2,1],duration:.3}},P=({children:t,interactions:o=["hover"],placement:n="right",arrowPosition:l=null,maxWidth:r=160,size:s="regular",renderContent:c,autoHideMs:m,isVisible:d,onVisibilityUpdate:g})=>{const[p,f]=a(!1),u=void 0!==d,x=i((e=>{u||f(e),g&&g(e)}),[d]);return e.createElement(_,{role:"tooltip",floatingElementOffset:5,motionSettings:N,isActive:u?d:p,onOverlayUpdate:x,autoHideMs:m,placement:n,interactions:o,renderOverlay:()=>e.createElement(E,{size:s,arrowPosition:l,maxWidth:r},c())},t)},O=({checked:t,onChange:o,disabled:a,valueDescription:i,valueDescriptionPosition:r,className:s,name:c,id:m})=>{const d=n(),g=m||d,p="left"===r?"row":"row-reverse",f=i&&r;return e.createElement("div",{className:l("maxio-toggle",s,{"maxio-toggle--disabled":a}),style:{display:"inline-flex",flexDirection:p},"data-testid":"toggle-container"},f?e.createElement("label",{className:"maxio-toggle__label",htmlFor:g},i):null,e.createElement("div",{className:"maxio-toggle__container"},e.createElement("input",{type:"checkbox",checked:t,onChange:e=>{o&&o(e.target.checked,e)},onKeyDown:e=>{o&&"Enter"===e.key&&o(!t,e)},disabled:a,"aria-label":f?void 0:i,className:"maxio-toggle__checkbox",id:g,name:c}),e.createElement("div",{className:"maxio-toggle__track",role:"switch","aria-checked":t},e.createElement("div",{className:"maxio-toggle__handle"}),e.createElement("span",{className:"maxio-toggle__icon"},e.createElement("i",{className:"maxio-toggle__icon-on"})),e.createElement("span",{className:"maxio-toggle__icon"},e.createElement("i",{className:"maxio-toggle__icon-off"})))))};export{O as Toggle,P as TooltipTrigger};
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";var e=require("react"),t=require("classnames"),i=require("framer-motion"),o=require("@floating-ui/react-dom-interactions");const n=({children:i,arrowPosition:o,size:n="regular",maxWidth:r=160})=>e.createElement("div",{"data-testid":"tooltip",className:t("maxio-tooltip",`maxio-tooltip--${n}`,{[`maxio-tooltip--arrow-${o}`]:o})},e.createElement("div",{className:"maxio-tooltip__content",style:{maxWidth:r}},i)),r={click:o.useClick,hover:o.useHover,focus:o.useFocus,dismiss:o.useDismiss},a=(e,t)=>t.map((t=>r[t](e))),l=({children:t,usePortal:n=!1,isActive:r=!1,placement:l="top",interactions:s=["hover"],role:c="tooltip",renderOverlay:m,floatingElementOffset:u,motionSettings:f={},autoHideMs:p,onOverlayUpdate:d})=>{const{getReferenceProps:g,getFloatingProps:v,refs:{floating:y,reference:E},floatingElementCSSPosition:x}=(({placement:t="top",isActive:i=!1,interactions:n=["hover"],floatingElementOffset:r=0,onOverlayUpdate:l,autoHideMs:s})=>{const c=e.useRef(null),{strategy:m,x:u,y:f,context:p,floating:d,reference:g}=o.useFloating({placement:t,open:i,onOpenChange:e=>l(e),middleware:[o.offset(r)]}),{getReferenceProps:v,getFloatingProps:y}=o.useInteractions([...a(p,n),o.useRole(p,{role:"tooltip"})]);return e.useEffect((()=>{c.current&&clearTimeout(c.current),i&&s&&(c.current=setTimeout((()=>l(!1)),s))}),[i,s]),{isActive:i,refs:{floating:d,reference:g},floatingElementCSSPosition:{position:m,top:null!=f?f:0,left:null!=u?u:0},getReferenceProps:v,getFloatingProps:y}})({role:c,isActive:r,onOverlayUpdate:d,autoHideMs:p,floatingElementOffset:u,interactions:s,placement:l}),P=e.createElement(i.AnimatePresence,null,r&&e.createElement(i.motion.div,{ref:y,style:x,...f,...v()},m()));return e.createElement(e.Fragment,null,e.createElement("div",{ref:E,style:{display:"inline-flex"},...g()},t),n?e.createElement(o.FloatingPortal,{id:"maxio-ui-portal"},P):P)},s={initial:{opacity:0,transform:"scale3d(.2,.2,1)"},animate:{opacity:1,transform:"scale3d(1,1,1)"},exit:{opacity:0,transform:"scale3d(.2,.2,1)"},transition:{ease:[.4,0,.2,1],duration:.3}};exports.TooltipTrigger=({children:t,interactions:i=["hover"],placement:o="right",arrowPosition:r=null,maxWidth:a=160,size:c="regular",renderContent:m,autoHideMs:u,isVisible:f,onVisibilityUpdate:p})=>{const[d,g]=e.useState(!1),v=void 0!==f,y=e.useCallback((e=>{v||g(e),p&&p(e)}),[f]);return e.createElement(l,{role:"tooltip",floatingElementOffset:5,motionSettings:s,isActive:v?f:d,onOverlayUpdate:y,autoHideMs:u,placement:o,interactions:i,renderOverlay:()=>e.createElement(n,{size:c,arrowPosition:r,maxWidth:a},m())},t)};
1
+ "use strict";var e=require("react"),t=require("classnames"),a=require("framer-motion"),i=require("@floating-ui/react-dom-interactions");const o=({children:a,arrowPosition:i,size:o="regular",maxWidth:n=160})=>e.createElement("div",{"data-testid":"tooltip",className:t("maxio-tooltip",`maxio-tooltip--${o}`,{[`maxio-tooltip--arrow-${i}`]:i})},e.createElement("div",{className:"maxio-tooltip__content",style:{maxWidth:n}},a)),n={click:i.useClick,hover:i.useHover,focus:i.useFocus,dismiss:i.useDismiss},l=(e,t)=>t.map((t=>n[t](e))),r=({children:t,usePortal:o=!1,isActive:n=!1,placement:r="top",interactions:s=["hover"],role:c="tooltip",renderOverlay:m,floatingElementOffset:g,motionSettings:d={},autoHideMs:u,onOverlayUpdate:p})=>{const{getReferenceProps:f,getFloatingProps:v,refs:{floating:x,reference:E},floatingElementCSSPosition:h}=(({placement:t="top",isActive:a=!1,interactions:o=["hover"],floatingElementOffset:n=0,onOverlayUpdate:r,autoHideMs:s})=>{const c=e.useRef(null),{strategy:m,x:g,y:d,context:u,floating:p,reference:f}=i.useFloating({placement:t,open:a,onOpenChange:e=>r(e),middleware:[i.offset(n)]}),{getReferenceProps:v,getFloatingProps:x}=i.useInteractions([...l(u,o),i.useRole(u,{role:"tooltip"})]);return e.useEffect((()=>{c.current&&clearTimeout(c.current),a&&s&&(c.current=setTimeout((()=>r(!1)),s))}),[a,s]),{isActive:a,refs:{floating:p,reference:f},floatingElementCSSPosition:{position:m,top:null!=d?d:0,left:null!=g?g:0},getReferenceProps:v,getFloatingProps:x}})({role:c,isActive:n,onOverlayUpdate:p,autoHideMs:u,floatingElementOffset:g,interactions:s,placement:r}),y=e.createElement(a.AnimatePresence,null,n&&e.createElement(a.motion.div,{ref:x,style:h,...d,...v()},m()));return e.createElement(e.Fragment,null,e.createElement("div",{ref:E,style:{display:"inline-flex"},...f()},t),o?e.createElement(i.FloatingPortal,{id:"maxio-ui-portal"},y):y)},s={initial:{opacity:0,transform:"scale3d(.2,.2,1)"},animate:{opacity:1,transform:"scale3d(1,1,1)"},exit:{opacity:0,transform:"scale3d(.2,.2,1)"},transition:{ease:[.4,0,.2,1],duration:.3}};exports.Toggle=({checked:a,onChange:i,disabled:o,valueDescription:n,valueDescriptionPosition:l,className:r,name:s,id:c})=>{const m=e.useId(),g=c||m,d="left"===l?"row":"row-reverse",u=n&&l;return e.createElement("div",{className:t("maxio-toggle",r,{"maxio-toggle--disabled":o}),style:{display:"inline-flex",flexDirection:d},"data-testid":"toggle-container"},u?e.createElement("label",{className:"maxio-toggle__label",htmlFor:g},n):null,e.createElement("div",{className:"maxio-toggle__container"},e.createElement("input",{type:"checkbox",checked:a,onChange:e=>{i&&i(e.target.checked,e)},onKeyDown:e=>{i&&"Enter"===e.key&&i(!a,e)},disabled:o,"aria-label":u?void 0:n,className:"maxio-toggle__checkbox",id:g,name:s}),e.createElement("div",{className:"maxio-toggle__track",role:"switch","aria-checked":a},e.createElement("div",{className:"maxio-toggle__handle"}),e.createElement("span",{className:"maxio-toggle__icon"},e.createElement("i",{className:"maxio-toggle__icon-on"})),e.createElement("span",{className:"maxio-toggle__icon"},e.createElement("i",{className:"maxio-toggle__icon-off"})))))},exports.TooltipTrigger=({children:t,interactions:a=["hover"],placement:i="right",arrowPosition:n=null,maxWidth:l=160,size:c="regular",renderContent:m,autoHideMs:g,isVisible:d,onVisibilityUpdate:u})=>{const[p,f]=e.useState(!1),v=void 0!==d,x=e.useCallback((e=>{v||f(e),u&&u(e)}),[d]);return e.createElement(r,{role:"tooltip",floatingElementOffset:5,motionSettings:s,isActive:v?d:p,onOverlayUpdate:x,autoHideMs:g,placement:i,interactions:a,renderOverlay:()=>e.createElement(o,{size:c,arrowPosition:n,maxWidth:l},m())},t)};
2
2
  //# sourceMappingURL=index.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@maxio-com/react-ui-components",
3
- "version": "0.0.7",
3
+ "version": "0.0.9",
4
4
  "description": "React ui components",
5
5
  "license": "MIT",
6
6
  "main": "dist/index.js",
@@ -46,5 +46,5 @@
46
46
  "classnames": "^2.3.2",
47
47
  "framer-motion": "^7.6.4"
48
48
  },
49
- "gitHead": "b410820fdb6ac4a908d770fa08406b4e2588d59a"
49
+ "gitHead": "5cd94f004567bc01b7171de6c1d628ace4054aff"
50
50
  }
@@ -40,4 +40,16 @@ declare type Props = {
40
40
  declare const TooltipTrigger: FC<Props>;
41
41
  //# sourceMappingURL=TooltipTrigger.d.ts.map
42
42
 
43
- export { TooltipTrigger };
43
+ declare type ToggleProps = {
44
+ checked: boolean;
45
+ onChange?: (value: boolean, event?: React.ChangeEvent<HTMLInputElement> | React.KeyboardEvent<HTMLInputElement>) => void;
46
+ disabled?: boolean;
47
+ name?: string;
48
+ valueDescription?: string;
49
+ valueDescriptionPosition?: 'left' | 'right';
50
+ className?: string;
51
+ id?: string;
52
+ };
53
+ declare const Toggle: ({ checked, onChange, disabled, valueDescription, valueDescriptionPosition, className, name, id, }: ToggleProps) => JSX.Element;
54
+
55
+ export { Toggle, TooltipTrigger };