@infinityfx/fluid 1.3.0 → 1.3.1

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,3 +1,3 @@
1
1
  "use client";
2
- import{__rest as t}from"tslib";import{jsxs as e,Fragment as n,jsx as r}from"react/jsx-runtime";import{combineClasses as o,combineRefs as i}from"../../core/utils.js";import{useId as a,useRef as s,useState as c,useEffect as l,isValidElement as u,cloneElement as d}from"react";import{createPortal as m}from"react-dom";import{createStyles as f}from"../../core/style.js";const p=f("tooltip",{".anchor":{position:"absolute",pointerEvents:"none"},'.anchor[data-position="top"]':{bottom:"calc(100% + var(--f-spacing-sml))",left:"50%"},'.anchor[data-position="left"]':{right:"calc(100% + var(--f-spacing-sml))",top:"50%"},'.anchor[data-position="right"]':{left:"calc(100% + var(--f-spacing-sml))",top:"50%"},'.anchor[data-position="bottom"]':{top:"calc(100% + var(--f-spacing-sml))",left:"50%"},".tooltip":{position:"fixed",left:0,top:0,zIndex:999,backgroundColor:"var(--f-clr-fg-200)",color:"var(--f-clr-text-100)",fontSize:".8rem",fontWeight:600,padding:".3em .5em",borderRadius:"var(--f-radius-sml)",pointerEvents:"none",transition:"opacity .2s, translate .2s"},'.tooltip[aria-hidden="true"]':{opacity:0,translate:"0px 4px"}});function g(f){var{children:g,cc:v={},content:h,position:b="auto",visibility:y="interact",delay:E=.3}=f,x=t(f,["children","cc","content","position","visibility","delay"]);const w=o(p,v),A=a(),L=s(null),j=s(null),F=s(null),C=s(!1),[B,R]=c(!1),[$,q]=c(b),z="auto"===b?$:b,I=s(void 0);function N(t,e=0){if(clearTimeout(I.current),null!==t){if("auto"===b&&F.current){let{left:t,top:e,right:n,bottom:r}=F.current.getBoundingClientRect();n=window.innerWidth-n,r=window.innerHeight-r;const o=[[t,"left"],[e,"top"],[n,"right"],[r,"bottom"]].sort(((t,e)=>e[0]-t[0]))[0][1];q(o)}if(!t||"never"===y)return C.current=!1,R("always"===y);I.current=setTimeout((()=>{R(!0)}),1e3*e)}}let O;function T(){if(L.current&&j.current){const{x:t,y:e}=L.current.getBoundingClientRect(),n={top:"-50%, -100%",left:"-100%, -50%",right:"0%, -50%",bottom:"-50%, 0%"}[z];j.current.style.transform=`translate(${t}px, ${e}px) translate(${n})`}O=requestAnimationFrame(T)}return l((()=>{const t=F.current,e=new AbortController,n=e.signal;if(!t)return;cancelAnimationFrame(O),O=requestAnimationFrame(T),window.addEventListener("touchstart",(e=>{e.target===t||t.contains(e.target)?(C.current=!0,N(!0,E+.05)):N(!1)}),{signal:n});const r=t=>{C.current||t instanceof FocusEvent&&t.target instanceof Element&&!t.target.matches(":focus-visible")||N(!0,E)};return t.addEventListener("mouseenter",r,{signal:n}),t.addEventListener("focus",r,{signal:n}),t.addEventListener("mouseleave",(()=>N(!1)),{signal:n}),t.addEventListener("blur",(()=>N(!1)),{signal:n}),t.addEventListener("touchend",(()=>N(null)),{signal:n}),()=>{cancelAnimationFrame(O),e.abort()}}),[y,z,E]),l((()=>N("always"===y)),[y]),g=Array.isArray(g)?g[0]:g,u(g)?e(n,{children:[d(g,Object.assign(Object.assign({},x),{"aria-describedby":A,ref:i(F,x.ref,g.props.ref)})),F.current&&m(r("div",{ref:L,className:w.anchor,"data-position":z}),F.current),F.current&&m(r("div",{ref:j,id:A,role:"tooltip",className:w.tooltip,"aria-hidden":!B,children:h}),document.getElementById("__fluid"))]}):g}export{g as default};
2
+ import{__rest as t}from"tslib";import{jsxs as e,Fragment as n,jsx as r}from"react/jsx-runtime";import{combineClasses as i,combineRefs as o}from"../../core/utils.js";import{useId as a,useRef as s,useState as c,useEffect as l,isValidElement as d,cloneElement as u}from"react";import{createPortal as f}from"react-dom";import{createStyles as m}from"../../core/style.js";const p=m("tooltip",{".anchor":{position:"absolute",pointerEvents:"none"},'.anchor[data-position="top"]':{bottom:"calc(100% + var(--f-spacing-sml))",left:"50%"},'.anchor[data-position="left"]':{right:"calc(100% + var(--f-spacing-sml))",top:"50%"},'.anchor[data-position="right"]':{left:"calc(100% + var(--f-spacing-sml))",top:"50%"},'.anchor[data-position="bottom"]':{top:"calc(100% + var(--f-spacing-sml))",left:"50%"},".tooltip":{position:"fixed",left:0,top:0,zIndex:999,backgroundColor:"var(--f-clr-fg-200)",color:"var(--f-clr-text-100)",fontSize:"var(--f-font-size-xsm)",fontWeight:600,textAlign:"center",padding:".3em .5em",borderRadius:"var(--f-radius-sml)",pointerEvents:"none",transition:"opacity .2s, translate .2s"},'.tooltip[aria-hidden="true"]':{opacity:0,translate:"0px 4px"}});function g(m){var{children:g,cc:h={},content:v,position:b="auto",visibility:y="interact",delay:x=.3}=m,w=t(m,["children","cc","content","position","visibility","delay"]);const E=i(p,h),A=a(),L=s(null),j=s(null),F=s(null),C=s(void 0),W=s(!1),[$,k]=c(!1),[z,B]=c(b),[R,q]=c("100vw"),I="auto"===b?z:b;function M(t,e=0){if(clearTimeout(C.current),null!==t){if(F.current){let{left:t,top:e,right:n,bottom:r,width:i}=F.current.getBoundingClientRect();n=window.innerWidth-n,r=window.innerHeight-r;const o="auto"!==b?b:{[t]:"left",[e]:"top",[n]:"right",[r]:"bottom"}[Math.max(t,e,n,r)];let a=t+i/2;switch(o){case"left":a=t;break;case"right":a=n;break;default:a=2*Math.min(window.innerWidth-a,a)}q(`calc(${a}px - var(--f-spacing-sml) * 2)`),B(o)}if(!t||"never"===y)return W.current=!1,k("always"===y);C.current=setTimeout((()=>{k(!0)}),1e3*e)}}let N;function O(){if(L.current&&j.current){const{x:t,y:e}=L.current.getBoundingClientRect(),n={top:"-50%, -100%",left:"-100%, -50%",right:"0%, -50%",bottom:"-50%, 0%"}[I];j.current.style.transform=`translate(${t}px, ${e}px) translate(${n})`}N=requestAnimationFrame(O)}return l((()=>{const t=F.current,e=new AbortController,n=e.signal;if(!t)return;cancelAnimationFrame(N),N=requestAnimationFrame(O),window.addEventListener("touchstart",(e=>{e.target===t||t.contains(e.target)?(W.current=!0,M(!0,x+.05)):M(!1)}),{signal:n});const r=t=>{W.current||t instanceof FocusEvent&&t.target instanceof Element&&!t.target.matches(":focus-visible")||M(!0,x)};return t.addEventListener("mouseenter",r,{signal:n}),t.addEventListener("focus",r,{signal:n}),t.addEventListener("mouseleave",(()=>M(!1)),{signal:n}),t.addEventListener("blur",(()=>M(!1)),{signal:n}),t.addEventListener("touchend",(()=>M(null)),{signal:n}),()=>{cancelAnimationFrame(N),e.abort()}}),[y,I,x]),l((()=>M("always"===y)),[y]),g=Array.isArray(g)?g[0]:g,d(g)?e(n,{children:[u(g,Object.assign(Object.assign({},w),{"aria-describedby":A,ref:o(F,w.ref,g.props.ref)})),F.current&&f(r("div",{ref:L,className:E.anchor,"data-position":I}),F.current),F.current&&f(r("div",{ref:j,id:A,role:"tooltip",className:E.tooltip,"aria-hidden":!$,style:{maxWidth:R},children:v}),document.getElementById("__fluid"))]}):g}export{g as default};
3
3
  //# sourceMappingURL=tooltip.js.map
package/dist/hooks.js CHANGED
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- export{default as useClickOutside}from"../compiled/hooks/use-click-outside.js";export{default as useMediaQuery}from"../compiled/hooks/use-media-query.js";export{default as useFluid}from"../compiled/hooks/use-fluid.js";export{default as useFocusTrap}from"../compiled/hooks/use-focus-trap.js";export{default as useDebounce}from"../compiled/hooks/use-debounce.js";
2
+ export{default as useClickOutside}from"./hooks/use-click-outside.js";export{default as useMediaQuery}from"./hooks/use-media-query.js";export{default as useFluid}from"./hooks/use-fluid.js";export{default as useFocusTrap}from"./hooks/use-focus-trap.js";export{default as useDebounce}from"./hooks/use-debounce.js";
3
3
  //# sourceMappingURL=hooks.js.map
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- export{default as Autocomplete}from"../compiled/components/input/autocomplete.js";export{default as Button}from"../compiled/components/input/button.js";export{default as Hamburger}from"../compiled/components/input/hamburger.js";export{default as Switch}from"../compiled/components/input/switch.js";export{default as Checkbox}from"../compiled/components/input/checkbox.js";export{default as Chip}from"../compiled/components/input/chip.js";export{default as ColorField}from"../compiled/components/input/color-field.js";export{default as ColorPicker}from"../compiled/components/input/color-picker.js";export{default as Toggle}from"../compiled/components/input/toggle.js";export{default as Radio}from"../compiled/components/input/radio.js";export{default as Segmented}from"../compiled/components/input/segmented.js";export{default as Field}from"../compiled/components/input/field.js";export{default as NumberField}from"../compiled/components/input/number-field.js";export{default as PasswordField}from"../compiled/components/input/password-field.js";export{default as FileField}from"../compiled/components/input/file-field.js";export{default as Pincode}from"../compiled/components/input/pincode.js";export{default as Slider}from"../compiled/components/input/slider.js";export{default as ThemeToggle}from"../compiled/components/input/theme-toggle.js";export{default as Select}from"../compiled/components/input/select.js";export{default as Calendar}from"../compiled/components/input/calendar.js";export{default as DateField}from"../compiled/components/input/date-field.js";export{default as Textarea}from"../compiled/components/input/textarea.js";export{default as DropZone}from"../compiled/components/input/drop-zone.js";export{default as Key}from"../compiled/components/display/key.js";export{default as Annotation}from"../compiled/components/display/annotation.js";export{default as Badge}from"../compiled/components/display/badge.js";export{default as Tooltip}from"../compiled/components/display/tooltip.js";export{default as Swatch}from"../compiled/components/display/swatch.js";export{default as ActionMenu}from"../compiled/components/display/action-menu/index.js";export{default as Combobox}from"../compiled/components/display/combobox/index.js";export{default as Timeline}from"../compiled/components/display/timeline.js";export{default as Code}from"../compiled/components/display/code.js";export{default as Toast}from"../compiled/components/display/toast.js";export{default as Table}from"../compiled/components/display/table.js";export{default as Frame}from"../compiled/components/display/frame.js";export{default as Ticker}from"../compiled/components/display/ticker.js";export{default as ProgressBar}from"../compiled/components/feedback/progress-bar.js";export{default as CircularProgress}from"../compiled/components/feedback/circular-progress.js";export{default as Spinner}from"../compiled/components/feedback/spinner.js";export{default as Halo}from"../compiled/components/feedback/halo.js";export{default as Indicator}from"../compiled/components/feedback/indicator.js";export{default as Skeleton}from"../compiled/components/feedback/skeleton.js";export{default as Tabs}from"../compiled/components/navigation/tabs.js";export{default as Pagination}from"../compiled/components/navigation/pagination.js";export{default as Stepper}from"../compiled/components/navigation/stepper.js";export{default as NavigationMenu}from"../compiled/components/navigation/navigation-menu/index.js";export{default as Overlay}from"../compiled/components/layout/overlay.js";export{default as Modal}from"../compiled/components/layout/modal.js";export{default as Drawer}from"../compiled/components/layout/drawer.js";export{default as Scrollarea}from"../compiled/components/layout/scrollarea.js";export{default as Collapsible}from"../compiled/components/layout/collapsible.js";export{default as Group}from"../compiled/components/layout/group.js";export{default as Accordion}from"../compiled/components/layout/accordion/index.js";export{default as Sidebar}from"../compiled/components/layout/sidebar/index.js";export{default as Cull}from"../compiled/components/layout/cull.js";export{default as Popover}from"../compiled/components/layout/popover/index.js";export{default as Divider}from"../compiled/components/layout/divider.js";export{default as Panel}from"../compiled/components/layout/panel.js";export{default as FluidProvider}from"../compiled/context/fluid.js";
1
+ export{default as Autocomplete}from"./components/input/autocomplete.js";export{default as Button}from"./components/input/button.js";export{default as Hamburger}from"./components/input/hamburger.js";export{default as Switch}from"./components/input/switch.js";export{default as Checkbox}from"./components/input/checkbox.js";export{default as Chip}from"./components/input/chip.js";export{default as ColorField}from"./components/input/color-field.js";export{default as ColorPicker}from"./components/input/color-picker.js";export{default as Toggle}from"./components/input/toggle.js";export{default as Radio}from"./components/input/radio.js";export{default as Segmented}from"./components/input/segmented.js";export{default as Field}from"./components/input/field.js";export{default as NumberField}from"./components/input/number-field.js";export{default as PasswordField}from"./components/input/password-field.js";export{default as FileField}from"./components/input/file-field.js";export{default as Pincode}from"./components/input/pincode.js";export{default as Slider}from"./components/input/slider.js";export{default as ThemeToggle}from"./components/input/theme-toggle.js";export{default as Select}from"./components/input/select.js";export{default as Calendar}from"./components/input/calendar.js";export{default as DateField}from"./components/input/date-field.js";export{default as Textarea}from"./components/input/textarea.js";export{default as DropZone}from"./components/input/drop-zone.js";export{default as Key}from"./components/display/key.js";export{default as Annotation}from"./components/display/annotation.js";export{default as Badge}from"./components/display/badge.js";export{default as Tooltip}from"./components/display/tooltip.js";export{default as Swatch}from"./components/display/swatch.js";export{default as ActionMenu}from"./components/display/action-menu/index.js";export{default as Combobox}from"./components/display/combobox/index.js";export{default as Timeline}from"./components/display/timeline.js";export{default as Code}from"./components/display/code.js";export{default as Toast}from"./components/display/toast.js";export{default as Table}from"./components/display/table.js";export{default as Frame}from"./components/display/frame.js";export{default as Ticker}from"./components/display/ticker.js";export{default as ProgressBar}from"./components/feedback/progress-bar.js";export{default as CircularProgress}from"./components/feedback/circular-progress.js";export{default as Spinner}from"./components/feedback/spinner.js";export{default as Halo}from"./components/feedback/halo.js";export{default as Indicator}from"./components/feedback/indicator.js";export{default as Skeleton}from"./components/feedback/skeleton.js";export{default as Tabs}from"./components/navigation/tabs.js";export{default as Pagination}from"./components/navigation/pagination.js";export{default as Stepper}from"./components/navigation/stepper.js";export{default as NavigationMenu}from"./components/navigation/navigation-menu/index.js";export{default as Overlay}from"./components/layout/overlay.js";export{default as Modal}from"./components/layout/modal.js";export{default as Drawer}from"./components/layout/drawer.js";export{default as Scrollarea}from"./components/layout/scrollarea.js";export{default as Collapsible}from"./components/layout/collapsible.js";export{default as Group}from"./components/layout/group.js";export{default as Accordion}from"./components/layout/accordion/index.js";export{default as Sidebar}from"./components/layout/sidebar/index.js";export{default as Cull}from"./components/layout/cull.js";export{default as Popover}from"./components/layout/popover/index.js";export{default as Divider}from"./components/layout/divider.js";export{default as Panel}from"./components/layout/panel.js";export{default as FluidProvider}from"./context/fluid.js";
2
2
  //# sourceMappingURL=index.js.map
@@ -1,7 +1,7 @@
1
1
  import type { PopoverRootReference } from "./components/layout/popover/root";
2
2
  import type { FluidIcon } from "./core/icons";
3
3
  import { PartialFluidTheme } from "./core/theme";
4
- export type FluidColorScheme = 'light' | 'dark' | 'mono' | 'system';
4
+ export type FluidColorScheme = 'light' | 'dark' | 'system';
5
5
  export type FluidSize = 'xsm' | 'sml' | 'med' | 'lrg';
6
6
  export type FluidBreakpoint = 'mob' | 'tab' | 'lap' | 'dsk';
7
7
  export type FluidInputvalue = string | number | readonly string[] | undefined;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@infinityfx/fluid",
3
- "version": "1.3.0",
3
+ "version": "1.3.1",
4
4
  "type": "module",
5
5
  "description": "React UI library, using zero-runtime CSS-in-JS.",
6
6
  "main": "dist/index.js",