@radui/ui 0.6.0 → 1.0.0
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/components/Accordion.d.ts +1 -1
- package/dist/components/Accordion.js +1 -1
- package/dist/components/AlertDialog.d.ts +44 -1
- package/dist/components/AlertDialog.js +1 -1
- package/dist/components/AspectRatio.js +1 -1
- package/dist/components/Avatar.d.ts +4 -1
- package/dist/components/Avatar.js +1 -1
- package/dist/components/AvatarGroup.d.ts +9 -1
- package/dist/components/AvatarGroup.js +1 -1
- package/dist/components/AvatarPrimitiveFallback-C1siRii4.js +1 -0
- package/dist/components/Badge.d.ts +3 -3
- package/dist/components/Badge.js +1 -1
- package/dist/components/BlockQuote.js +1 -1
- package/dist/components/Breadcrumb.js +1 -1
- package/dist/components/Button.js +1 -1
- package/dist/components/Callout.d.ts +4 -1
- package/dist/components/Callout.js +1 -1
- package/dist/components/Card.d.ts +1 -1
- package/dist/components/Card.js +1 -1
- package/dist/components/Checkbox.d.ts +29 -3
- package/dist/components/Checkbox.js +8 -1
- package/dist/components/CheckboxCards.d.ts +31 -4
- package/dist/components/CheckboxCards.js +1 -1
- package/dist/components/CheckboxGroup.d.ts +29 -2
- package/dist/components/CheckboxGroup.js +1 -1
- package/dist/components/CheckboxGroupPrimitive-DfHQYkep.js +1 -0
- package/dist/components/Code.js +1 -1
- package/dist/components/Collapsible.d.ts +10 -1
- package/dist/components/Collapsible.js +1 -1
- package/dist/components/Combobox.d.ts +1 -1
- package/dist/components/Combobox.js +1 -1
- package/dist/components/ComboboxPrimitive-DQcJ8pzQ.js +1 -0
- package/dist/components/Command.d.ts +6 -1
- package/dist/components/Command.js +1 -1
- package/dist/components/ContextMenu.d.ts +19 -19
- package/dist/components/ContextMenu.js +1 -1
- package/dist/components/DataList.d.ts +10 -4
- package/dist/components/DataList.js +1 -1
- package/dist/components/Dialog.d.ts +6 -1
- package/dist/components/Dialog.js +1 -1
- package/dist/components/Disclosure.d.ts +15 -7
- package/dist/components/Disclosure.js +1 -1
- package/dist/components/Drawer.d.ts +1 -1
- package/dist/components/Drawer.js +1 -1
- package/dist/components/DropdownMenu.d.ts +19 -19
- package/dist/components/DropdownMenu.js +1 -1
- package/dist/components/Em.js +1 -1
- package/dist/components/Fieldset.d.ts +1 -1
- package/dist/components/Fieldset.js +1 -1
- package/dist/components/Heading.js +1 -1
- package/dist/components/HoverCard.d.ts +3 -1
- package/dist/components/HoverCard.js +1 -1
- package/dist/components/Kbd.js +1 -1
- package/dist/components/Link.js +1 -1
- package/dist/components/LiveRegion.js +1 -1
- package/dist/components/MenuPrimitive-D9VMz2TZ.js +1 -0
- package/dist/components/Menubar.d.ts +113 -23
- package/dist/components/Menubar.js +1 -1
- package/dist/components/Minimap.d.ts +16 -12
- package/dist/components/Minimap.js +1 -1
- package/dist/components/NavigationMenu.d.ts +8 -3
- package/dist/components/NavigationMenu.js +1 -1
- package/dist/components/NumberField.d.ts +23 -2
- package/dist/components/NumberField.js +1 -1
- package/dist/components/Popover.d.ts +17 -2
- package/dist/components/Popover.js +1 -1
- package/dist/components/Progress.d.ts +5 -4
- package/dist/components/Progress.js +1 -1
- package/dist/components/Quote.js +1 -1
- package/dist/components/Radio.js +1 -1
- package/dist/components/RadioCards.d.ts +1 -1
- package/dist/components/RadioCards.js +1 -1
- package/dist/components/RadioGroup.d.ts +1 -1
- package/dist/components/RadioGroup.js +1 -1
- package/dist/components/RadioGroupPrimitive-D1PP4y2M.js +1 -0
- package/dist/components/ScrollArea.d.ts +1 -9
- package/dist/components/ScrollArea.js +1 -1
- package/dist/components/Select.d.ts +1 -1
- package/dist/components/Select.js +1 -1
- package/dist/components/Separator.js +1 -1
- package/dist/components/Skeleton.d.ts +12 -6
- package/dist/components/Skeleton.js +1 -1
- package/dist/components/Slider.d.ts +1 -1
- package/dist/components/Slider.js +1 -1
- package/dist/components/Spinner.js +1 -1
- package/dist/components/Splitter.d.ts +7 -1
- package/dist/components/Splitter.js +1 -1
- package/dist/components/Steps.d.ts +25 -10
- package/dist/components/Steps.js +1 -1
- package/dist/components/Strong.js +1 -1
- package/dist/components/Switch.d.ts +23 -1
- package/dist/components/Switch.js +1 -1
- package/dist/components/TabNav.d.ts +34 -9
- package/dist/components/TabNav.js +1 -1
- package/dist/components/Table.d.ts +2 -1
- package/dist/components/Table.js +1 -1
- package/dist/components/Tabs.d.ts +1 -1
- package/dist/components/Tabs.js +1 -1
- package/dist/components/Text.d.ts +2 -2
- package/dist/components/Text.js +1 -1
- package/dist/components/TextArea.d.ts +4 -4
- package/dist/components/TextArea.js +1 -1
- package/dist/components/TextField.d.ts +1 -1
- package/dist/components/TextField.js +1 -1
- package/dist/components/Toast.d.ts +7 -4
- package/dist/components/Toast.js +1 -1
- package/dist/components/Toggle.d.ts +1 -1
- package/dist/components/Toggle.js +1 -1
- package/dist/components/ToggleGroup.d.ts +1 -1
- package/dist/components/ToggleGroup.js +1 -1
- package/dist/components/Toolbar.d.ts +1 -1
- package/dist/components/Toolbar.js +1 -1
- package/dist/components/Tooltip.d.ts +12 -1
- package/dist/components/Tooltip.js +1 -1
- package/dist/components/Tree.d.ts +1 -1
- package/dist/components/Tree.js +1 -1
- package/dist/components/VisuallyHidden.js +1 -1
- package/dist/components/{check-DujVUWP-.js → check-ctUdF4Q3.js} +4 -4
- package/dist/components/{floating-ui.react-Byzse64h.js → floating-ui.react-2kiGB4sW.js} +1 -1
- package/dist/components/index-C7dBo_Ry.js +1 -0
- package/dist/components/index-CBcSLg6O.js +1 -0
- package/dist/components/index-CbNq68zs.js +1 -0
- package/dist/components/index-D8I-rMwz.js +1 -0
- package/dist/components/index-DMX7gpdp.js +1 -0
- package/dist/components/index-FITGoHty.js +1 -0
- package/dist/components/{index-C09ZQH_q.js → index-nYRBURkR.js} +1 -1
- package/dist/components/index-xlB--dex.js +1 -0
- package/dist/components/useComponentClass-C0isGl1z.js +1 -0
- package/dist/themes/baremetal.css +1 -1
- package/dist/themes/default.css +1 -1
- package/package.json +1 -1
- package/dist/components/AvatarPrimitiveFallback-B1u295x6.js +0 -1
- package/dist/components/CheckboxGroupPrimitive-BWGRST9p.js +0 -1
- package/dist/components/ComboboxPrimitive-C2sksm48.js +0 -1
- package/dist/components/MenuPrimitive-COEgTo6S.js +0 -1
- package/dist/components/RadioGroupPrimitive-BWUU-0Qh.js +0 -1
- package/dist/components/clsx-BaVHROc5.js +0 -1
- package/dist/components/index-CD_nZA9X.js +0 -1
- package/dist/components/index-CfC8-kd8.js +0 -1
- package/dist/components/index-Db-tduwt.js +0 -1
- package/dist/components/index-UODM4mVT.js +0 -1
- package/dist/components/index-YhJvxumL.js +0 -1
- package/dist/components/index-m8Mhi26u.js +0 -1
- package/dist/components/useComponentClass-QwNivz0h.js +0 -1
|
@@ -1,27 +1,31 @@
|
|
|
1
|
-
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
1
|
import React from 'react';
|
|
2
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
3
3
|
|
|
4
4
|
type MinimapRootProps = React.HTMLAttributes<HTMLDivElement> & {
|
|
5
5
|
customRootClass?: string;
|
|
6
6
|
};
|
|
7
|
-
declare const MinimapRoot:
|
|
7
|
+
declare const MinimapRoot: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & {
|
|
8
|
+
customRootClass?: string;
|
|
9
|
+
} & React.RefAttributes<HTMLDivElement>>;
|
|
8
10
|
|
|
9
11
|
type MinimapItemProps = React.ButtonHTMLAttributes<HTMLButtonElement> & {
|
|
10
12
|
value: string;
|
|
11
13
|
};
|
|
12
|
-
declare const MinimapItem:
|
|
14
|
+
declare const MinimapItem: React.ForwardRefExoticComponent<React.ButtonHTMLAttributes<HTMLButtonElement> & {
|
|
15
|
+
value: string;
|
|
16
|
+
} & React.RefAttributes<HTMLButtonElement>>;
|
|
13
17
|
|
|
14
|
-
type MinimapTrackProps = React.HTMLAttributes<
|
|
15
|
-
declare const MinimapTrack:
|
|
18
|
+
type MinimapTrackProps = React.HTMLAttributes<HTMLElement>;
|
|
19
|
+
declare const MinimapTrack: React.ForwardRefExoticComponent<MinimapTrackProps & React.RefAttributes<HTMLElement>>;
|
|
16
20
|
|
|
17
|
-
type MinimapLineProps = React.HTMLAttributes<
|
|
18
|
-
declare const MinimapLine:
|
|
21
|
+
type MinimapLineProps = React.HTMLAttributes<HTMLElement>;
|
|
22
|
+
declare const MinimapLine: React.ForwardRefExoticComponent<MinimapLineProps & React.RefAttributes<HTMLElement>>;
|
|
19
23
|
|
|
20
|
-
type MinimapContentProps = React.HTMLAttributes<
|
|
21
|
-
declare const MinimapContent:
|
|
24
|
+
type MinimapContentProps = React.HTMLAttributes<HTMLElement>;
|
|
25
|
+
declare const MinimapContent: React.ForwardRefExoticComponent<MinimapContentProps & React.RefAttributes<HTMLElement>>;
|
|
22
26
|
|
|
23
|
-
type MinimapBubbleProps = React.HTMLAttributes<
|
|
24
|
-
declare const MinimapBubble:
|
|
27
|
+
type MinimapBubbleProps = React.HTMLAttributes<HTMLElement>;
|
|
28
|
+
declare const MinimapBubble: React.ForwardRefExoticComponent<MinimapBubbleProps & React.RefAttributes<HTMLElement>>;
|
|
25
29
|
|
|
26
30
|
type MinimapProviderProps = React.HTMLAttributes<HTMLDivElement> & {
|
|
27
31
|
children: React.ReactNode;
|
|
@@ -47,5 +51,5 @@ type MinimapComponentType = typeof MinimapComponent & {
|
|
|
47
51
|
};
|
|
48
52
|
declare const Minimap: MinimapComponentType;
|
|
49
53
|
|
|
50
|
-
export { Minimap as default };
|
|
54
|
+
export { MinimapBubble as Bubble, MinimapContent as Content, MinimapItem as Item, MinimapLine as Line, MinimapProvider as Provider, MinimapRoot as Root, MinimapTrack as Track, MinimapWaypoint as Waypoint, Minimap as default };
|
|
51
55
|
export type { MinimapBubbleProps, MinimapContentProps, MinimapItemProps, MinimapLineProps, MinimapProviderProps, MinimapRootProps, MinimapTrackProps, MinimapWaypointProps };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use client';import{jsx as e}from"react/jsx-runtime";import t,{createContext as r,useRef as n,useEffect as o}from"react";import{
|
|
1
|
+
'use client';import{jsx as e}from"react/jsx-runtime";import t,{createContext as r,useRef as n,useEffect as o}from"react";import{u as s,c as l}from"./useComponentClass-C0isGl1z.js";import{P as a}from"./index-XF8itt-H.js";import{R as i}from"./index-C7dBo_Ry.js";import{c}from"./mergeProps-0RucjqeH.js";import"./ThemeContext-Sm-iNANd.js";import"./index-FITGoHty.js";import"./keyboard-BKF7hXqL.js";import"./mergeRefs-B8eZ_q-T.js";const u=r({rootClass:"",rootRef:null}),m=t.forwardRef((({children:r,className:n,customRootClass:o="",...m},d)=>{const f=s(o,"Minimap"),p=t.useRef(null),h=t.useMemo((()=>c(p,d)),[d]),C=t.useMemo((()=>({rootClass:f,rootRef:p})),[f]);return e(u.Provider,{value:C,children:e(i.Root,{loop:!0,orientation:"both",children:e(i.Group,{children:e(a.div,{ref:h,className:l(f,n),...m,children:r})})})})}));m.displayName="Minimap.Root";const d=r({value:"",isVisible:!1}),f=r({visibleItems:[],handleInView:()=>{},handleOutView:()=>{},scrollToItem:()=>{},registerRef:()=>{}}),p=t.forwardRef((({children:r,className:n="",value:o,...s},c)=>{const{rootClass:m}=t.useContext(u)||{rootClass:""},{visibleItems:p,scrollToItem:h}=t.useContext(f),C=p.includes(o),b=t.useMemo((()=>({value:o,isVisible:C})),[o,C]),v=t.useCallback((()=>{h(o)}),[o,h]);return e(d.Provider,{value:b,children:e(i.Item,{children:e(a.button,{ref:c,onClick:v,className:l(m&&`${m}-item`,n),"data-in-view":C?"true":"false",...s,children:r})})})}));p.displayName="Minimap.Item";const h=t.forwardRef((({children:r,className:n="",...o},s)=>{const{rootClass:a}=t.useContext(u);return e("span",{ref:s,className:l(a&&`${a}-track`,n),...o,children:r})}));h.displayName="Minimap.Track";const C=t.forwardRef((({children:r,className:n="",...o},s)=>{const{rootClass:a}=t.useContext(u)||{rootClass:""},{value:i}=t.useContext(d)||{value:""},{visibleItems:c}=t.useContext(f),m=c.indexOf(i),p=-1!==m,h=-1!==m&&m<c.length-1,C=p&&h;return e("span",{ref:s,className:l(a&&`${a}-line`,n),"data-in-view":C?"true":"false",...o,children:r})}));C.displayName="Minimap.Line";const b=t.forwardRef((({children:r,className:n="",...o},s)=>{const{rootClass:a}=t.useContext(u);return e("span",{ref:s,className:l(a&&`${a}-content`,n),...o,children:r})}));b.displayName="Minimap.Content";const v=t.forwardRef((({children:r,className:n="",...o},s)=>{const{rootClass:a}=t.useContext(u)||{rootClass:""},{isVisible:i}=t.useContext(d)||{isVisible:!1};return e("span",{ref:s,className:l(a&&`${a}-bubble`,n),"data-in-view":i?"true":"false",...o,children:r})}));v.displayName="Minimap.Bubble";const w=({children:r,className:n="",scrollable:o,...s})=>{const[l,a]=t.useState([]),i=t.useRef(new Map),c=t.useRef(null),u=t.useCallback(((e,t)=>{t?i.current.set(e,t):i.current.delete(e)}),[]),m=t.useCallback((e=>{a((t=>{if(null===e||t.includes(e))return t;return[...t,e].sort(((e,t)=>{const r=i.current.get(e),n=i.current.get(t);if(!r||!n)return 0;return r.compareDocumentPosition(n)&Node.DOCUMENT_POSITION_FOLLOWING?-1:1}))}))}),[]),d=t.useCallback((e=>{a((t=>null!==e&&t.includes(e)?t.filter((t=>t!==e)):t))}),[]),p=t.useCallback((e=>{const t=i.current.get(e);if(!t)return;let r=null;if(o&&c.current)r=c.current;else{const e=t=>{if(!t||t===document.body)return null;const r=window.getComputedStyle(t);return("auto"===r.overflow||"scroll"===r.overflow||"auto"===r.overflowY||"scroll"===r.overflowY)&&t.scrollHeight>t.clientHeight?t:e(t.parentElement)};r=e(t.parentElement)}if(r){const e=t.getBoundingClientRect(),n=r.getBoundingClientRect(),o=e.top-n.top+r.scrollTop,s=r.scrollHeight-r.clientHeight,l=Math.max(0,Math.min(o,s));Math.abs(l-r.scrollTop)>1&&r.scrollTo({top:l,behavior:"smooth"})}else"function"==typeof t.scrollIntoView&&t.scrollIntoView({behavior:"smooth",block:"start"})}),[o]),h=t.useMemo((()=>({visibleItems:l,handleInView:m,handleOutView:d,scrollToItem:p,registerRef:u})),[l,m,d,p,u]);return e(f.Provider,{value:h,children:e("div",{ref:c,className:`${n}`,...s,children:r})})};function N(e){if(!e)return null;const t=window.getComputedStyle(e).overflowY;return"auto"===t||"scroll"===t?e:N(e.parentElement)}function g({onEnter:e,onLeave:t,threshold:r=0,rootMargin:s="0px",root:l}){const a=n(null);return o((()=>{if("undefined"==typeof window||!("IntersectionObserver"in window))return;if(!a.current)return;const n=l??N(a.current),o=new IntersectionObserver((r=>{r.forEach((r=>{r.isIntersecting?e?.():t?.()}))}),{threshold:r,rootMargin:s,root:n});return o.observe(a.current),()=>{a.current&&o.unobserve(a.current),o.disconnect()}}),[e,t,r,s,l]),a}const R=({children:r,className:n="",value:o="",...s})=>{const{handleInView:a,handleOutView:i,registerRef:c}=t.useContext(f),u=g({onEnter:t.useCallback((()=>{o&&a(o)}),[o,a]),onLeave:t.useCallback((()=>{o&&i(o)}),[o,i]),threshold:.1}),m=t.useCallback((e=>{u&&"current"in u&&(u.current=e),o&&c(o,e)}),[u,o,c]);return e("div",{ref:m,className:l(n),...s,children:r})},I=Object.assign((()=>(console.warn("Direct usage of Minimap is not supported. Please use Minimap.Root, Minimap.Item instead."),null)),{Root:m,Item:p,Track:h,Line:C,Content:b,Bubble:v,Provider:w,Waypoint:R});export{v as Bubble,b as Content,p as Item,C as Line,w as Provider,m as Root,h as Track,R as Waypoint,I as default};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import React__default from 'react';
|
|
3
3
|
|
|
4
|
-
interface NavigationMenuRootProps extends React__default.ComponentPropsWithoutRef<'
|
|
4
|
+
interface NavigationMenuRootProps extends React__default.ComponentPropsWithoutRef<'nav'> {
|
|
5
5
|
children: React__default.ReactNode;
|
|
6
6
|
value?: string;
|
|
7
7
|
defaultValue?: string;
|
|
@@ -10,30 +10,35 @@ interface NavigationMenuRootProps extends React__default.ComponentPropsWithoutRe
|
|
|
10
10
|
loop?: boolean;
|
|
11
11
|
contentLoop?: boolean;
|
|
12
12
|
}
|
|
13
|
+
declare const NavigationMenuRoot: React__default.ForwardRefExoticComponent<NavigationMenuRootProps & React__default.RefAttributes<HTMLElement>>;
|
|
13
14
|
|
|
14
15
|
interface NavigationMenuItemProps extends React__default.ComponentPropsWithoutRef<'div'> {
|
|
15
16
|
value: string;
|
|
16
17
|
}
|
|
18
|
+
declare const NavigationMenuItem: React__default.ForwardRefExoticComponent<NavigationMenuItemProps & React__default.RefAttributes<HTMLDivElement>>;
|
|
17
19
|
|
|
18
20
|
interface NavigationMenuTriggerProps extends React__default.ComponentPropsWithoutRef<'button'> {
|
|
19
21
|
}
|
|
22
|
+
declare const NavigationMenuTrigger: React__default.ForwardRefExoticComponent<NavigationMenuTriggerProps & React__default.RefAttributes<HTMLButtonElement>>;
|
|
20
23
|
|
|
21
24
|
interface NavigationMenuContentProps extends React__default.ComponentPropsWithoutRef<'div'> {
|
|
22
25
|
children: React__default.ReactNode;
|
|
23
26
|
loop?: boolean;
|
|
24
27
|
}
|
|
28
|
+
declare const NavigationMenuContent: React__default.ForwardRefExoticComponent<NavigationMenuContentProps & React__default.RefAttributes<HTMLDivElement>>;
|
|
25
29
|
|
|
26
30
|
interface NavigationMenuLinkProps extends React__default.ComponentPropsWithoutRef<'a'> {
|
|
27
31
|
href: string;
|
|
28
32
|
}
|
|
33
|
+
declare const NavigationMenuLink: React__default.ForwardRefExoticComponent<NavigationMenuLinkProps & React__default.RefAttributes<HTMLAnchorElement>>;
|
|
29
34
|
|
|
30
35
|
declare const NavigationMenu: {
|
|
31
|
-
Root: React.ForwardRefExoticComponent<NavigationMenuRootProps & React.RefAttributes<
|
|
36
|
+
Root: React.ForwardRefExoticComponent<NavigationMenuRootProps & React.RefAttributes<HTMLElement>>;
|
|
32
37
|
Item: React.ForwardRefExoticComponent<NavigationMenuItemProps & React.RefAttributes<HTMLDivElement>>;
|
|
33
38
|
Trigger: React.ForwardRefExoticComponent<NavigationMenuTriggerProps & React.RefAttributes<HTMLButtonElement>>;
|
|
34
39
|
Content: React.ForwardRefExoticComponent<NavigationMenuContentProps & React.RefAttributes<HTMLDivElement>>;
|
|
35
40
|
Link: React.ForwardRefExoticComponent<NavigationMenuLinkProps & React.RefAttributes<HTMLAnchorElement>>;
|
|
36
41
|
};
|
|
37
42
|
|
|
38
|
-
export { NavigationMenu as default };
|
|
43
|
+
export { NavigationMenuContent as Content, NavigationMenuItem as Item, NavigationMenuLink as Link, NavigationMenuRoot as Root, NavigationMenuTrigger as Trigger, NavigationMenu as default };
|
|
39
44
|
export type { NavigationMenuContentProps, NavigationMenuItemProps, NavigationMenuLinkProps, NavigationMenuRootProps, NavigationMenuTriggerProps };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use client';import{jsx as e}from"react/jsx-runtime";import
|
|
1
|
+
'use client';import{jsx as e}from"react/jsx-runtime";import n from"react";import{R as t}from"./index-C7dBo_Ry.js";import{u as r}from"./index-wRElCyvx.js";import{u as o,c as s}from"./useComponentClass-C0isGl1z.js";import{c as a}from"./index-CXzybYmm.js";import{K as i}from"./keyboard-BKF7hXqL.js";import{m as c}from"./mergeRefs-B8eZ_q-T.js";import"./index-XF8itt-H.js";import"./mergeProps-0RucjqeH.js";import"./index-FITGoHty.js";import"./ThemeContext-Sm-iNANd.js";const u=n.createContext({isOpen:"",setIsOpen:()=>{},rootClass:"",contentLoop:!0}),l="NavigationMenu",d=n.forwardRef((({children:n,value:a,defaultValue:i="",onValueChange:c,customRootClass:d,loop:f=!0,contentLoop:m=!0,className:p,...g},C)=>{const h=o(d,l),[v,N]=r(a,i,c);return e("nav",{ref:C,...g,children:e(u.Provider,{value:{isOpen:v,setIsOpen:N,rootClass:h,contentLoop:m},children:e(t.Root,{loop:f,children:e(t.Group,{className:s(h&&`${h}-root`,p),children:n})})})})}));d.displayName=l;const f=n.createContext({itemOpen:!1,handleTrigger:()=>{},triggerRef:{current:null}}),m=n.forwardRef((({value:t,children:r,className:o,onMouseEnter:l,onMouseLeave:d,onBlur:m,...p},g)=>{const{isOpen:C,setIsOpen:h,rootClass:v}=n.useContext(u),N=n.useRef(null),R=n.useRef(null),k=n.useId(),L=C===t,x=n.useRef(!1),O=n.useRef(null),I=()=>{null!==O.current&&(clearTimeout(O.current),O.current=null)};n.useEffect((()=>{L||(x.current=!1,I())}),[L]),n.useEffect((()=>I),[]);const E=n.useRef(new Set),y=n.useRef(!1),w=n.useCallback((e=>(E.current.add(e),()=>{E.current.delete(e)})),[]),T=()=>{const e=Array.from(E.current).filter((e=>e.isConnected));return 0!==e.length&&(e.sort(((e,n)=>e.compareDocumentPosition(n)&Node.DOCUMENT_POSITION_FOLLOWING?-1:1)),e[0].focus(),!0)};n.useEffect((()=>{L||(y.current=!1)}),[L]),n.useEffect((()=>{if(!L)return;const e=N.current,n=e?.ownerDocument??("undefined"!=typeof document?document:null);if(!n)return;const t=t=>{if(t.key!==i.ESCAPE||t.defaultPrevented)return;const r=n.activeElement,o=!!e&&!!r&&e.contains(r),s=!r||r===n.body;h(""),(o||s)&&R.current?.focus()},r=n=>{const t=n.target;e&&t&&e.contains(t)||h("")};return n.addEventListener("keydown",t),n.addEventListener("pointerdown",r),()=>{n.removeEventListener("keydown",t),n.removeEventListener("pointerdown",r)}}),[L,h]);return e(f.Provider,{value:{itemOpen:L,handleTrigger:e=>{const n=!!e&&e.detail>0;L&&x.current&&n?x.current=!1:(x.current=!1,h(L?"":t))},triggerRef:R,contentId:k,registerLink:w,openAndFocusFirstLink:()=>{I(),x.current=!1,L?T():(y.current=!0,h(t))},flushPendingFocus:()=>{y.current&&(y.current=!1,T())}},children:e("div",{ref:c(N,g),onMouseEnter:a(l,(()=>{I(),L||(x.current=!0,h(t))})),onMouseLeave:a(d,(()=>{I(),L&&(O.current=setTimeout((()=>{O.current=null,x.current=!1,h((e=>e===t?"":e))}),150))})),onBlur:a(m,(e=>{if(!L)return;const n=e.relatedTarget;n&&!e.currentTarget.contains(n)&&h((e=>e===t?"":e))})),className:s(v&&`${v}-item`,o),...p,children:r})})}));m.displayName="NavigationMenuItem";const p=n.forwardRef((({children:r,className:o,onClick:l,onKeyDown:d,...m},p)=>{const{handleTrigger:g,itemOpen:C,triggerRef:h,contentId:v,openAndFocusFirstLink:N}=n.useContext(f),{rootClass:R}=n.useContext(u);return e(t.Item,{children:e("button",{ref:c(h,p),onClick:a(l,g),onKeyDown:a(d,(e=>{e.key===i.ARROW_DOWN&&N&&(e.preventDefault(),N())})),className:s(R&&`${R}-trigger`,o),"aria-expanded":C,"aria-controls":C?v:void 0,"data-state":C?"open":"closed",...m,children:r})})}));p.displayName="NavigationMenuTrigger";const g=n.forwardRef((({children:r,className:o,loop:a,...i},c)=>{const{itemOpen:l,contentId:d,flushPendingFocus:m}=n.useContext(f),{rootClass:p,contentLoop:g}=n.useContext(u),C=n.useRef(null),h=a??g;return n.useImperativeHandle(c,(()=>C.current)),n.useEffect((()=>{l&&m?.()}),[l]),l?e("div",{ref:C,id:d,className:s(p&&`${p}-content`,o),"data-state":l?"open":"closed",...i,children:e(t.Root,{loop:h,orientation:"both",children:e(t.Group,{asChild:!1,children:r})})}):null}));g.displayName="NavigationMenuContent";const C=n.forwardRef((({children:r,href:o,className:i,onClick:l,...d},m)=>{const{rootClass:p,setIsOpen:g}=n.useContext(u),{registerLink:C}=n.useContext(f),h=n.useRef(null);n.useEffect((()=>{const e=h.current;if(e&&C)return C(e)}),[C]);return e(t.Item,{children:e("a",{ref:c(h,m),href:o,className:s(p&&`${p}-link`,i),...d,onClick:a(l,(()=>g("")),{checkForDefaultPrevented:!1}),children:r})})}));C.displayName="NavigationMenuLink";const h={Root:d,Item:m,Trigger:p,Content:g,Link:C};export{g as Content,m as Item,C as Link,d as Root,p as Trigger,h as default};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import { ComponentPropsWithoutRef } from 'react';
|
|
2
|
+
import React__default, { ComponentPropsWithoutRef } from 'react';
|
|
3
3
|
|
|
4
4
|
type NumberFieldRootProps = {
|
|
5
5
|
customRootClass?: string;
|
|
@@ -7,7 +7,9 @@ type NumberFieldRootProps = {
|
|
|
7
7
|
defaultValue?: number | '';
|
|
8
8
|
value?: number | '';
|
|
9
9
|
onValueChange?: (value: number | '') => void;
|
|
10
|
+
/** Amount added or removed by ArrowUp/ArrowDown and the stepper buttons. Defaults to 1. */
|
|
10
11
|
step?: number;
|
|
12
|
+
/** Amount used by Shift+Arrow and PageUp/PageDown. Defaults to `step * 10`. */
|
|
11
13
|
largeStep?: number;
|
|
12
14
|
min?: number;
|
|
13
15
|
max?: number;
|
|
@@ -15,12 +17,31 @@ type NumberFieldRootProps = {
|
|
|
15
17
|
readOnly?: boolean;
|
|
16
18
|
required?: boolean;
|
|
17
19
|
} & ComponentPropsWithoutRef<'div'>;
|
|
20
|
+
declare const NumberFieldRoot: React__default.ForwardRefExoticComponent<{
|
|
21
|
+
customRootClass?: string;
|
|
22
|
+
name?: string;
|
|
23
|
+
defaultValue?: number | "";
|
|
24
|
+
value?: number | "";
|
|
25
|
+
onValueChange?: (value: number | "") => void;
|
|
26
|
+
/** Amount added or removed by ArrowUp/ArrowDown and the stepper buttons. Defaults to 1. */
|
|
27
|
+
step?: number;
|
|
28
|
+
/** Amount used by Shift+Arrow and PageUp/PageDown. Defaults to `step * 10`. */
|
|
29
|
+
largeStep?: number;
|
|
30
|
+
min?: number;
|
|
31
|
+
max?: number;
|
|
32
|
+
disabled?: boolean;
|
|
33
|
+
readOnly?: boolean;
|
|
34
|
+
required?: boolean;
|
|
35
|
+
} & Omit<React__default.DetailedHTMLProps<React__default.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & React__default.RefAttributes<HTMLDivElement>>;
|
|
18
36
|
|
|
19
37
|
type NumberFieldInputProps = ComponentPropsWithoutRef<'input'>;
|
|
38
|
+
declare const NumberFieldInput: React__default.ForwardRefExoticComponent<Omit<React__default.DetailedHTMLProps<React__default.InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>, "ref"> & React__default.RefAttributes<HTMLInputElement>>;
|
|
20
39
|
|
|
21
40
|
type NumberFieldIncrementProps = ComponentPropsWithoutRef<'button'>;
|
|
41
|
+
declare const NumberFieldIncrement: React__default.ForwardRefExoticComponent<Omit<React__default.DetailedHTMLProps<React__default.ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref"> & React__default.RefAttributes<HTMLButtonElement>>;
|
|
22
42
|
|
|
23
43
|
type NumberFieldDecrementProps = ComponentPropsWithoutRef<'button'>;
|
|
44
|
+
declare const NumberFieldDecrement: React__default.ForwardRefExoticComponent<Omit<React__default.DetailedHTMLProps<React__default.ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref"> & React__default.RefAttributes<HTMLButtonElement>>;
|
|
24
45
|
|
|
25
46
|
declare const NumberField: {
|
|
26
47
|
(): null;
|
|
@@ -43,5 +64,5 @@ declare const NumberField: {
|
|
|
43
64
|
Decrement: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>>;
|
|
44
65
|
};
|
|
45
66
|
|
|
46
|
-
export { NumberField as default };
|
|
67
|
+
export { NumberFieldDecrement as Decrement, NumberFieldIncrement as Increment, NumberFieldInput as Input, NumberFieldRoot as Root, NumberField as default };
|
|
47
68
|
export type { NumberFieldDecrementProps, NumberFieldIncrementProps, NumberFieldInputProps, NumberFieldRootProps };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use client';import{jsx as e}from"react/jsx-runtime";import
|
|
1
|
+
'use client';import{jsx as e}from"react/jsx-runtime";import n,{forwardRef as t,useRef as r,useContext as o,useCallback as a,useEffect as i}from"react";import{u as l}from"./index-wRElCyvx.js";import{u as d,c as u}from"./useComponentClass-C0isGl1z.js";import{K as s}from"./keyboard-BKF7hXqL.js";import"./ThemeContext-Sm-iNANd.js";const c=n.createContext(null),m="NumberField",p=e=>{if(void 0===e||!Number.isFinite(e))return 0;const n=String(e),t=/e-(\d+)$/i.exec(n);if(t){const[e]=n.split(/e/i);return(e.split(".")[1]||"").length+Number(t[1])}return(n.split(".")[1]||"").length},b=e=>"number"==typeof e&&Number.isFinite(e)&&e>0,v=t((({children:n,customRootClass:t="",name:o,defaultValue:a="",value:i,onValueChange:s,largeStep:v,step:f,min:w,max:N,disabled:D,readOnly:h,required:y,id:P,className:C="",...g},F)=>{const k=d(t,m),[x,I]=l(i,a,s),L=b(f)?f:1,O=b(v)?v:10*L,E=r(x);E.current=x;const R=e=>{let n=e;return void 0!==N&&n>N&&(n=N),void 0!==w&&n<w&&(n=w),n},M=e=>{e!==E.current&&(E.current=e,I(e))},S={inputValue:x,handleOnChange:e=>{(""===e||Number.isFinite(e))&&M(e)},handleStep:({type:e,direction:n})=>{if(D||h)return!1;let t="large"===e?O:L;"decrement"===n&&(t*=-1);const r=E.current;let o;return o=R(""===r?0+t:((e,...n)=>{const t=Math.min(Math.max(...n.map(p)),15);return Number(e.toFixed(t))})(r+t,r,L,O,w)),o!==r&&(M(o),!0)},commitValue:()=>{const e=E.current;""!==e&&M(R(e))},setToBound:e=>{if(D||h)return;const n="min"===e?w:N;void 0!==n&&M(n)},canIncrement:!D&&!h&&(void 0===N||""===x||x<N),canDecrement:!D&&!h&&(void 0===w||""===x||x>w),id:P,name:o,min:w,max:N,step:L,disabled:D,readOnly:h,required:y,rootClass:k};return e("div",{ref:F,className:u(k&&`${k}-root`,C),"data-disabled":D?"":void 0,"data-readonly":h?"":void 0,...g,children:e(c.Provider,{value:S,children:n})})}));v.displayName=m;const f=t((({className:n,onKeyDown:t,onChange:r,onBlur:a,...i},l)=>{const d=o(c);if(!d)return console.error("NumberFieldInput must be used within a NumberField"),null;const{inputValue:m,handleOnChange:p,handleStep:b,commitValue:v,setToBound:f,id:w,name:N,min:D,max:h,step:y,disabled:P,readOnly:C,required:g,rootClass:F}=d;return e("input",{ref:l,type:"number",id:w,name:N,min:D,max:h,step:y,disabled:P,readOnly:C,required:g,...i,value:""===m?"":m,onKeyDown:e=>{if(t?.(e),!e.defaultPrevented)switch(e.key){case s.ARROW_UP:e.preventDefault(),b({direction:"increment",type:e.shiftKey?"large":"small"});break;case s.ARROW_DOWN:e.preventDefault(),b({direction:"decrement",type:e.shiftKey?"large":"small"});break;case"PageUp":e.preventDefault(),b({direction:"increment",type:"large"});break;case"PageDown":e.preventDefault(),b({direction:"decrement",type:"large"});break;case"Home":void 0!==D&&(e.preventDefault(),f("min"));break;case"End":void 0!==h&&(e.preventDefault(),f("max"));break;case"Enter":v()}},onChange:e=>{r?.(e);const n=e.target.value;p(""===n?"":Number(n))},onBlur:e=>{v(),a?.(e)},className:u(F&&`${F}-input`,n)})}));f.displayName="NumberFieldInput";function w(e,n,t){const o=r(null),l=r(null),d=r(!1),u=r(n);u.current=n;const s=a((()=>{o.current&&clearTimeout(o.current),l.current&&clearInterval(l.current),o.current=null,l.current=null,"undefined"!=typeof window&&(window.removeEventListener("pointerup",s),window.removeEventListener("pointercancel",s),window.removeEventListener("blur",s))}),[]);i((()=>s),[s]),i((()=>{t||s()}),[t,s]);const c=()=>u.current({direction:e,type:"small"});return{onPointerDown:e=>{t&&0===e.button&&(d.current=!0,s(),c()&&(window.addEventListener("pointerup",s),window.addEventListener("pointercancel",s),window.addEventListener("blur",s),o.current=setTimeout((()=>{l.current=setInterval((()=>{c()||s()}),60)}),400)))},onClick:e=>{const n=d.current;d.current=!1,n&&0!==e.detail||t&&c()},onPointerLeave:s}}const N=t((({children:n,className:t,onMouseDown:r,onPointerDown:a,onPointerLeave:i,onClick:l,disabled:d,...s},m)=>{const p=o(c),b=!!p&&!d&&p.canIncrement,v=w("increment",p?p.handleStep:()=>!1,b);if(!p)return console.error("NumberFieldIncrement must be used within a NumberField"),null;const{rootClass:f}=p,N=!b;return e("button",{ref:m,type:"button",className:u(f&&`${f}-increment`,t),disabled:N,"data-disabled":N?"":void 0,...s,tabIndex:-1,onPointerDown:e=>{a?.(e),e.defaultPrevented||v.onPointerDown(e)},onPointerLeave:e=>{i?.(e),v.onPointerLeave()},onClick:e=>{l?.(e),e.defaultPrevented||v.onClick(e)},onMouseDown:e=>{r?.(e),e.defaultPrevented||e.preventDefault()},children:n})}));N.displayName="NumberFieldIncrement";const D=t((({children:n,className:t,onMouseDown:r,onPointerDown:a,onPointerLeave:i,onClick:l,disabled:d,...s},m)=>{const p=o(c),b=!!p&&!d&&p.canDecrement,v=w("decrement",p?p.handleStep:()=>!1,b);if(!p)return console.error("NumberFieldDecrement must be used within a NumberField"),null;const{rootClass:f}=p,N=!b;return e("button",{ref:m,type:"button",className:u(f&&`${f}-decrement`,t),disabled:N,"data-disabled":N?"":void 0,...s,tabIndex:-1,onPointerDown:e=>{a?.(e),e.defaultPrevented||v.onPointerDown(e)},onPointerLeave:e=>{i?.(e),v.onPointerLeave()},onClick:e=>{l?.(e),e.defaultPrevented||v.onClick(e)},onMouseDown:e=>{r?.(e),e.defaultPrevented||e.preventDefault()},children:n})}));D.displayName="NumberFieldDecrement";const h=()=>(console.warn("Direct usage of NumberField is not supported. Please use NumberField.Root, NumberField.Item instead."),null);h.Root=v,h.Input=f,h.Increment=N,h.Decrement=D;export{D as Decrement,N as Increment,f as Input,v as Root,h as default};
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import React, { ElementRef, ComponentPropsWithoutRef } from 'react';
|
|
2
2
|
import PopoverPrimitive from '~/core/primitives/Popover';
|
|
3
3
|
import * as _floating_ui_react from '@floating-ui/react';
|
|
4
|
+
import Primitive from '~/core/primitives/Primitive';
|
|
4
5
|
|
|
5
6
|
type PopoverRootProps = React.ComponentPropsWithoutRef<typeof PopoverPrimitive.Root> & {
|
|
6
7
|
customRootClass?: string;
|
|
@@ -51,6 +52,18 @@ declare const PopoverArrow: React.ForwardRefExoticComponent<Omit<Omit<Omit<Omit<
|
|
|
51
52
|
asChild?: boolean;
|
|
52
53
|
} & React.RefAttributes<SVGSVGElement>, "ref"> & React.RefAttributes<SVGSVGElement>>;
|
|
53
54
|
|
|
55
|
+
type PopoverTitleProps = React.ComponentPropsWithoutRef<typeof Primitive.h2> & {
|
|
56
|
+
asChild?: boolean;
|
|
57
|
+
};
|
|
58
|
+
/** Heading that labels the popover content (aria-labelledby). */
|
|
59
|
+
declare const PopoverTitle: React.ForwardRefExoticComponent<PopoverTitleProps & React.RefAttributes<HTMLElement>>;
|
|
60
|
+
|
|
61
|
+
type PopoverDescriptionProps = React.ComponentPropsWithoutRef<typeof Primitive.p> & {
|
|
62
|
+
asChild?: boolean;
|
|
63
|
+
};
|
|
64
|
+
/** Text that describes the popover content (aria-describedby). */
|
|
65
|
+
declare const PopoverDescription: React.ForwardRefExoticComponent<PopoverDescriptionProps & React.RefAttributes<HTMLElement>>;
|
|
66
|
+
|
|
54
67
|
type PopoverElement = ElementRef<'div'>;
|
|
55
68
|
type PopoverProps = ComponentPropsWithoutRef<'div'>;
|
|
56
69
|
type PopoverComponent = React.ForwardRefExoticComponent<PopoverProps & React.RefAttributes<PopoverElement>> & {
|
|
@@ -61,8 +74,10 @@ type PopoverComponent = React.ForwardRefExoticComponent<PopoverProps & React.Ref
|
|
|
61
74
|
Content: typeof PopoverContent;
|
|
62
75
|
Close: typeof PopoverClose;
|
|
63
76
|
Arrow: typeof PopoverArrow;
|
|
77
|
+
Title: typeof PopoverTitle;
|
|
78
|
+
Description: typeof PopoverDescription;
|
|
64
79
|
};
|
|
65
80
|
declare const Popover: PopoverComponent;
|
|
66
81
|
|
|
67
|
-
export { Popover as default };
|
|
68
|
-
export type { PopoverAnchorProps, PopoverArrowProps, PopoverCloseProps, PopoverContentProps, PopoverElement, PopoverPortalProps, PopoverProps, PopoverRootProps, PopoverTriggerProps };
|
|
82
|
+
export { PopoverAnchor as Anchor, PopoverArrow as Arrow, PopoverClose as Close, PopoverContent as Content, PopoverDescription as Description, PopoverPortal as Portal, PopoverRoot as Root, PopoverTitle as Title, PopoverTrigger as Trigger, Popover as default };
|
|
83
|
+
export type { PopoverAnchorProps, PopoverArrowProps, PopoverCloseProps, PopoverContentProps, PopoverDescriptionProps, PopoverElement, PopoverPortalProps, PopoverProps, PopoverRootProps, PopoverTitleProps, PopoverTriggerProps };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use client';import e,{createContext as o,forwardRef as t,useContext as n}from"react";import{jsx as r}from"react/jsx-runtime";import{c as s}from"./clsx-BaVHROc5.js";import{F as i}from"./index-Db-tduwt.js";import{P as a}from"./index-XF8itt-H.js";import{u as l}from"./index-wRElCyvx.js";import{u as d}from"./index-UODM4mVT.js";import{B as c}from"./index-CfC8-kd8.js";import{T as u}from"./ThemeContext-Sm-iNANd.js";import{g as f,c as p,m as g}from"./mergeProps-0RucjqeH.js";import{u as m}from"./useComponentClass-QwNivz0h.js";import"./floating-ui.react-Byzse64h.js";import"react-dom";import"./documentOverlayOpen-coyGmcyL.js";const h={side:"bottom",align:"center",sideOffset:0,alignOffset:0,avoidCollisions:!0,collisionBoundary:void 0,collisionPadding:0,arrowPadding:0,sticky:"partial",hideWhenDetached:!1},v=o({isOpen:!1,modal:!1,contentId:"",triggerNode:null,anchorNode:null,handleOpenChange:()=>{},setTriggerNode:()=>{},setAnchorNode:()=>{},setArrowNode:()=>{},positioning:h,setPositioning:()=>{},getReferenceProps:(e={})=>e,getFloatingProps:(e={})=>e,setContentEventHandlers:()=>{},refs:{setFloating:()=>{},floating:{current:null}},isPositioned:!1,floatingStyles:{position:"absolute",top:0,left:0},floatingContext:null}),P="PopoverPrimitive",C=e=>{let o=!1;return{originalEvent:e,get defaultPrevented(){return o},preventDefault(){o=!0}}},y=t((({children:o,open:t,defaultOpen:n=!1,onOpenChange:s,modal:c=!1,...u},f)=>{const[p,g]=l(t,n,s);d(p);const[m,P]=e.useState(null),[y,N]=e.useState(null),[O,w]=e.useState(null),[A,x]=e.useState(h),F=e.useRef({}),E=i.useFloatingNodeId(),R=e.useMemo((()=>{return e=A.side,"center"===(o=A.align)?e:`${e}-${o}`;var e,o}),[A.align,A.side]),D=e.useMemo((()=>(Array.isArray(A.collisionBoundary)?A.collisionBoundary:[A.collisionBoundary]).filter((e=>null!=e))),[A.collisionBoundary]),M=e.useMemo((()=>({padding:A.collisionPadding,boundary:D,altBoundary:D.length>0})),[D,A.collisionPadding]),b=y??m,{context:k,refs:I,floatingStyles:T,isPositioned:j}=i.useFloating({open:p,nodeId:E,onOpenChange:(e,o,t)=>{if(!(!e&&"escape-key"===t&&o instanceof KeyboardEvent&&(F.current.onEscapeKeyDown?.(o),o.defaultPrevented))){if(!e&&"focus-out"===t&&o instanceof FocusEvent){const e=C(o);if(F.current.onFocusOutside?.(e),F.current.onInteractOutside?.(e),e.defaultPrevented)return}g(e)}},placement:R,strategy:"fixed",elements:{reference:b},middleware:[i.offset({mainAxis:A.sideOffset+(O?5:0),crossAxis:A.alignOffset}),A.avoidCollisions?i.flip({crossAxis:R.includes("-"),fallbackAxisSideDirection:"start",...M}):null,A.avoidCollisions?i.shift({...M,limiter:"partial"===A.sticky?i.limitShift():void 0}):null,O?i.arrow({element:O,padding:A.arrowPadding}):null,A.hideWhenDetached?i.hide({strategy:"referenceHidden"}):null].filter(Boolean),whileElementsMounted:i.autoUpdate}),S=i.useClick(k,{event:"click",toggle:!0}),B=i.useDismiss(k,{outsidePressEvent:"pointerdown",outsidePress:e=>{const o=C(e);return F.current.onPointerDownOutside?.(o),F.current.onInteractOutside?.(o),!o.defaultPrevented}}),$=i.useRole(k,{role:"dialog"}),{getReferenceProps:H,getFloatingProps:K}=i.useInteractions([S,B,$]),W=i.useId()??"",q=e.useCallback((e=>{x((o=>({...o,...e})))}),[]),L=e.useCallback((e=>{g(e)}),[g]),U=e.useCallback((e=>{F.current=e}),[]),V=e.useMemo((()=>({isOpen:p,modal:c,contentId:W,triggerNode:m,anchorNode:y,handleOpenChange:L,setTriggerNode:P,setAnchorNode:N,setArrowNode:w,positioning:A,setPositioning:q,getReferenceProps:H,getFloatingProps:K,setContentEventHandlers:U,refs:I,isPositioned:j,floatingStyles:T,floatingContext:k})),[y,W,k,T,K,H,L,p,j,c,A,I,U,q,m]);return r(v.Provider,{value:V,children:r(i.FloatingNode,{id:E,children:r(a.div,{ref:f,"data-state":p?"open":"closed",...u,children:o})})})}));y.displayName=`${P}Inner`;const N=t(((e,o)=>i.useFloatingTree()?r(y,{ref:o,...e}):r(i.FloatingTree,{children:r(y,{ref:o,...e})})));N.displayName=P;const O=t((({children:e,asChild:o=!1,disabled:t=!1,onClick:s,...a},l)=>{const{isOpen:d,contentId:u,getReferenceProps:f,setTriggerNode:p}=n(v),g=i.useMergeRefs([l,e=>{p(e)}]);return r(c,{ref:g,asChild:o,disabled:t,"aria-haspopup":"dialog","aria-expanded":d,"aria-controls":u||void 0,"data-state":d?"open":"closed","data-disabled":t?"":void 0,...f({...a,disabled:t,onClick:e=>{s?.(e)}}),children:e})}));O.displayName="PopoverPrimitiveTrigger";const w=t((({children:e,asChild:o=!1,...t},s)=>{const{setAnchorNode:l}=n(v),d=i.useMergeRefs([s,e=>{l(e)}]);return r(a.div,{ref:d,asChild:o,...t,children:e})}));w.displayName="PopoverPrimitiveAnchor";const A=e.createContext({forceMount:!1}),x=t((({children:o,asChild:t=!1,forceMount:s=!1,side:l="bottom",sideOffset:d=0,align:c="center",alignOffset:u=0,avoidCollisions:f=!0,collisionBoundary:p,collisionPadding:g=0,arrowPadding:m=0,sticky:h="partial",hideWhenDetached:P=!1,onOpenAutoFocus:C,onCloseAutoFocus:y,onEscapeKeyDown:N,onPointerDownOutside:O,onFocusOutside:w,onInteractOutside:x,role:F="dialog",style:E,...R},D)=>{const{forceMount:M}=e.useContext(A),{isOpen:b,modal:k,contentId:I,triggerNode:T,getFloatingProps:j,refs:S,isPositioned:B,floatingStyles:$,floatingContext:H,setContentEventHandlers:K,setPositioning:W}=n(v),q=e.useRef(null),L=i.useMergeRefs([S.setFloating,D]),U=b||s||M;if(e.useEffect((()=>{W({side:l,align:c,sideOffset:d,alignOffset:u,avoidCollisions:f,collisionBoundary:p,collisionPadding:g,arrowPadding:m,sticky:h,hideWhenDetached:P})}),[c,u,m,f,p,g,P,W,l,d,h]),e.useEffect((()=>(K({onEscapeKeyDown:N,onPointerDownOutside:O,onFocusOutside:w,onInteractOutside:x}),()=>{K({})})),[N,w,x,O,K]),e.useEffect((()=>{if(!b||!S.floating.current)return;if(q.current=document.activeElement instanceof HTMLElement?document.activeElement:null,!C)return;C({defaultPrevented:!1,preventDefault(){this.defaultPrevented=!0}})}),[b,C,S.floating]),e.useEffect((()=>{if(b||!y)return;const e={defaultPrevented:!1,preventDefault(){this.defaultPrevented=!0}};if(y(e),!e.defaultPrevented){const e=T??q.current;e&&requestAnimationFrame((()=>{e.focus()}))}}),[b,y,T]),!U)return null;const V=j({...R,id:I,role:F,"data-state":b?"open":"closed","data-side":l,"data-align":c,"aria-hidden":b?void 0:"true",style:{...$,outline:"none",visibility:b&&!B?"hidden":void 0,pointerEvents:b&&!B?"none":void 0,...E}}),z=r(a.div,{ref:L,asChild:t,...V,children:o});return b?r(i.FocusManager,{context:H,modal:k,initialFocus:k?0:-1,returnFocus:!y,restoreFocus:!0,outsideElementsInert:k,closeOnFocusOut:!k,children:z}):z}));x.displayName="PopoverPrimitiveContent";const F=t((({children:e,asChild:o=!1,onClick:t,...s},i)=>{const{handleOpenChange:a}=n(v);return r(c,{ref:i,asChild:o,onClick:e=>{t?.(e),e.defaultPrevented||a(!1)},...s,children:e})}));F.displayName="PopoverPrimitiveClose";const E=t((({children:o,asChild:t=!1,width:s=10,height:a=5,...l},d)=>{const{floatingContext:c,setArrowNode:u}=n(v),m=i.useMergeRefs([d,e=>{u(e)}]);if(t){const t=e.Children.toArray(o);if(1!==t.length||!e.isValidElement(t[0]))return console.warn("PopoverPrimitiveArrow: asChild requires exactly one valid React element child."),null;const n=t[0],d=r(i.Arrow,{ref:m,context:c,width:s,height:a,...l}),u=f(n),h=p(m,u),v=g(d.props,n.props);return e.cloneElement(n,{...v,...h?{ref:h}:{}})}return r(i.Arrow,{ref:m,context:c,width:s,height:a,...l})}));E.displayName="PopoverPrimitiveArrow";const R={Root:N,Trigger:O,Anchor:w,Portal:({children:o,container:t,forceMount:n=!1})=>{const s=e.useContext(u),a=e.useRef(null),[l,d]=e.useState(!1);return e.useEffect((()=>{a.current=t??s?.portalRootRef.current??s?.containerRef.current??document.body,d(!0)}),[t,s]),l?r(A.Provider,{value:{forceMount:n},children:r(i.Portal,{root:a.current,children:o})}):null},Content:x,Close:F,Arrow:E},D=o({rootClass:""}),M="Popover",b=t((({children:e,customRootClass:o="",className:t="",...n},i)=>{const a=m(o,M);return r(D.Provider,{value:{rootClass:a},children:r(R.Root,{ref:i,className:s(a,t),"data-slot":"popover-root",...n,children:e})})}));b.displayName=M;const k=t((({className:e="",...o},t)=>{const{rootClass:i}=n(D);return r(R.Trigger,{ref:t,className:s(i&&`${i}-trigger`,e),"data-slot":"popover-trigger",...o})}));k.displayName="PopoverTrigger";const I=t((({className:e="",...o},t)=>{const{rootClass:i}=n(D);return r(R.Anchor,{ref:t,className:s(i&&`${i}-anchor`,e),"data-slot":"popover-anchor",...o})}));I.displayName="PopoverAnchor";const T=t((({children:e,...o},t)=>r(R.Portal,{...o,children:e})));T.displayName="PopoverPortal";const j=t((({className:e="",...o},t)=>{const{rootClass:i}=n(D);return r(R.Content,{ref:t,className:s(i&&`${i}-content`,e),"data-slot":"popover-content",...o})}));j.displayName="PopoverContent";const S=t((({className:e="",...o},t)=>{const{rootClass:i}=n(D);return r(R.Close,{ref:t,className:s(i&&`${i}-close`,e),"data-slot":"popover-close",...o})}));S.displayName="PopoverClose";const B=t((({className:e="",...o},t)=>{const{rootClass:i}=n(D);return r(R.Arrow,{ref:t,className:s(i&&`${i}-arrow`,e),"data-slot":"popover-arrow",...o})}));B.displayName="PopoverArrow";const $=t(((e,o)=>(console.warn("Direct usage of Popover is not supported. Please use Popover.Root, Popover.Trigger, etc. instead."),null)));$.displayName="Popover",$.Root=b,$.Trigger=k,$.Anchor=I,$.Portal=T,$.Content=j,$.Close=S,$.Arrow=B;export{$ as default};
|
|
1
|
+
'use client';import e,{createContext as o,forwardRef as t,useContext as n,useState as r,useMemo as i,useEffect as s}from"react";import{jsx as a}from"react/jsx-runtime";import{u as l,c as d}from"./useComponentClass-C0isGl1z.js";import{F as c}from"./index-D8I-rMwz.js";import{P as u}from"./index-XF8itt-H.js";import{u as p}from"./index-wRElCyvx.js";import{u as f}from"./index-CBcSLg6O.js";import{B as g}from"./index-FITGoHty.js";import{T as m}from"./ThemeContext-Sm-iNANd.js";import{g as h,c as v,m as P}from"./mergeProps-0RucjqeH.js";import"./floating-ui.react-2kiGB4sW.js";import"react-dom";import"./index-CbNq68zs.js";import"./documentOverlayOpen-coyGmcyL.js";const C={side:"bottom",align:"center",sideOffset:0,alignOffset:0,avoidCollisions:!0,collisionBoundary:void 0,collisionPadding:0,arrowPadding:0,sticky:"partial",hideWhenDetached:!1},y=o({isOpen:!1,modal:!1,contentId:"",triggerNode:null,anchorNode:null,handleOpenChange:()=>{},setTriggerNode:()=>{},setAnchorNode:()=>{},setArrowNode:()=>{},positioning:C,setPositioning:()=>{},getReferenceProps:(e={})=>e,getFloatingProps:(e={})=>e,setContentEventHandlers:()=>{},refs:{setFloating:()=>{},floating:{current:null}},isPositioned:!1,floatingStyles:{position:"absolute",top:0,left:0},floatingContext:null}),N="PopoverPrimitive",w=e=>{let o=!1;return{originalEvent:e,get defaultPrevented(){return o},preventDefault(){o=!0}}},O=t((({children:o,open:t,defaultOpen:n=!1,onOpenChange:r,modal:i=!1,...s},l)=>{const[d,g]=p(t,n,r);f(d);const[m,h]=e.useState(null),[v,P]=e.useState(null),[N,O]=e.useState(null),[A,I]=e.useState(C),x=e.useRef({}),b=c.useFloatingNodeId(),F=e.useMemo((()=>{return e=A.side,"center"===(o=A.align)?e:`${e}-${o}`;var e,o}),[A.align,A.side]),E=e.useMemo((()=>(Array.isArray(A.collisionBoundary)?A.collisionBoundary:[A.collisionBoundary]).filter((e=>null!=e))),[A.collisionBoundary]),D=e.useMemo((()=>({padding:A.collisionPadding,boundary:E,altBoundary:E.length>0})),[E,A.collisionPadding]),R=v??m,{context:T,refs:M,floatingStyles:k,isPositioned:j}=c.useFloating({open:d,nodeId:b,onOpenChange:(e,o,t)=>{if(!(!e&&"escape-key"===t&&o instanceof KeyboardEvent&&(x.current.onEscapeKeyDown?.(o),o.defaultPrevented))){if(!e&&"focus-out"===t&&o instanceof FocusEvent){const e=w(o);if(x.current.onFocusOutside?.(e),x.current.onInteractOutside?.(e),e.defaultPrevented)return}g(e)}},placement:F,strategy:"fixed",elements:{reference:R},middleware:[c.offset({mainAxis:A.sideOffset+(N?5:0),crossAxis:A.alignOffset}),A.avoidCollisions?c.flip({crossAxis:F.includes("-"),fallbackAxisSideDirection:"start",...D}):null,A.avoidCollisions?c.shift({...D,limiter:"partial"===A.sticky?c.limitShift():void 0}):null,N?c.arrow({element:N,padding:A.arrowPadding}):null,A.hideWhenDetached?c.hide({strategy:"referenceHidden"}):null].filter(Boolean),whileElementsMounted:c.autoUpdate}),S=c.useClick(T,{event:"click",toggle:!0}),B=c.useDismiss(T,{outsidePressEvent:"pointerdown",outsidePress:e=>{const o=w(e);return x.current.onPointerDownOutside?.(o),x.current.onInteractOutside?.(o),!o.defaultPrevented}}),$=c.useRole(T,{role:"dialog"}),{getReferenceProps:H,getFloatingProps:K}=c.useInteractions([S,B,$]),W=c.useId()??"",q=e.useCallback((e=>{I((o=>({...o,...e})))}),[]),L=e.useCallback((e=>{g(e)}),[g]),U=e.useCallback((e=>{x.current=e}),[]),V=e.useMemo((()=>({isOpen:d,modal:i,contentId:W,triggerNode:m,anchorNode:v,handleOpenChange:L,setTriggerNode:h,setAnchorNode:P,setArrowNode:O,positioning:A,setPositioning:q,getReferenceProps:H,getFloatingProps:K,setContentEventHandlers:U,refs:M,isPositioned:j,floatingStyles:k,floatingContext:T})),[v,W,T,k,K,H,L,d,j,i,A,M,U,q,m]);return a(y.Provider,{value:V,children:a(c.FloatingNode,{id:b,children:a(u.div,{ref:l,"data-state":d?"open":"closed",...s,children:o})})})}));O.displayName=`${N}Inner`;const A=t(((e,o)=>c.useFloatingTree()?a(O,{ref:o,...e}):a(c.FloatingTree,{children:a(O,{ref:o,...e})})));A.displayName=N;const I=t((({children:e,asChild:o=!1,disabled:t=!1,onClick:r,...i},s)=>{const{isOpen:l,contentId:d,getReferenceProps:u,setTriggerNode:p}=n(y),f=c.useMergeRefs([s,e=>{p(e)}]);return a(g,{ref:f,asChild:o,disabled:t,"aria-haspopup":"dialog","aria-expanded":l,"aria-controls":d||void 0,"data-state":l?"open":"closed","data-disabled":t?"":void 0,...u({...i,disabled:t,onClick:e=>{r?.(e)}}),children:e})}));I.displayName="PopoverPrimitiveTrigger";const x=t((({children:e,asChild:o=!1,...t},r)=>{const{setAnchorNode:i}=n(y),s=c.useMergeRefs([r,e=>{i(e)}]);return a(u.div,{ref:s,asChild:o,...t,children:e})}));x.displayName="PopoverPrimitiveAnchor";const b=e.createContext({forceMount:!1}),F=t((({children:o,asChild:t=!1,forceMount:r=!1,side:i="bottom",sideOffset:s=0,align:l="center",alignOffset:d=0,avoidCollisions:p=!0,collisionBoundary:f,collisionPadding:g=0,arrowPadding:m=0,sticky:h="partial",hideWhenDetached:v=!1,onOpenAutoFocus:P,onCloseAutoFocus:C,onEscapeKeyDown:N,onPointerDownOutside:w,onFocusOutside:O,onInteractOutside:A,role:I="dialog",style:x,...F},E)=>{const{forceMount:D}=e.useContext(b),{isOpen:R,modal:T,contentId:M,triggerNode:k,getFloatingProps:j,refs:S,isPositioned:B,floatingStyles:$,floatingContext:H,setContentEventHandlers:K,setPositioning:W}=n(y),q=e.useRef(null),L=c.useMergeRefs([S.setFloating,E]),U=R||r||D;if(e.useEffect((()=>{W({side:i,align:l,sideOffset:s,alignOffset:d,avoidCollisions:p,collisionBoundary:f,collisionPadding:g,arrowPadding:m,sticky:h,hideWhenDetached:v})}),[l,d,m,p,f,g,v,W,i,s,h]),e.useEffect((()=>(K({onEscapeKeyDown:N,onPointerDownOutside:w,onFocusOutside:O,onInteractOutside:A}),()=>{K({})})),[N,O,A,w,K]),e.useEffect((()=>{if(!R||!S.floating.current)return;if(q.current=document.activeElement instanceof HTMLElement?document.activeElement:null,!P)return;P({defaultPrevented:!1,preventDefault(){this.defaultPrevented=!0}})}),[R,P,S.floating]),e.useEffect((()=>{if(R||!C)return;const e={defaultPrevented:!1,preventDefault(){this.defaultPrevented=!0}};if(C(e),!e.defaultPrevented){const e=k??q.current;e&&requestAnimationFrame((()=>{e.focus()}))}}),[R,C,k]),!U)return null;const V=H?.placement,[z,G]=V?V.split("-"):[i,l],J=j({...F,id:M,role:I,"data-state":R?"open":"closed","data-side":z??i,"data-align":V?G??"center":l,"aria-hidden":R?void 0:"true",style:{...$,outline:"none",visibility:R&&!B?"hidden":void 0,pointerEvents:R&&!B?"none":void 0,...x}}),Q=a(u.div,{ref:L,asChild:t,...J,children:o});return R?a(c.FocusManager,{context:H,modal:T,initialFocus:T?0:-1,returnFocus:!C,restoreFocus:!0,outsideElementsInert:T,closeOnFocusOut:!T,children:Q}):Q}));F.displayName="PopoverPrimitiveContent";const E=t((({children:e,asChild:o=!1,onClick:t,...r},i)=>{const{handleOpenChange:s}=n(y);return a(g,{ref:i,asChild:o,onClick:e=>{t?.(e),e.defaultPrevented||s(!1)},...r,children:e})}));E.displayName="PopoverPrimitiveClose";const D=t((({children:o,asChild:t=!1,width:r=10,height:i=5,...s},l)=>{const{floatingContext:d,setArrowNode:u}=n(y),p=c.useMergeRefs([l,e=>{u(e)}]);if(t){const t=e.Children.toArray(o);if(1!==t.length||!e.isValidElement(t[0]))return console.warn("PopoverPrimitiveArrow: asChild requires exactly one valid React element child."),null;const n=t[0],l=a(c.Arrow,{ref:p,context:d,width:r,height:i,...s}),u=h(n),f=v(p,u),g=P(l.props,n.props);return e.cloneElement(n,{...g,...f?{ref:f}:{}})}return a(c.Arrow,{ref:p,context:d,width:r,height:i,...s})}));D.displayName="PopoverPrimitiveArrow";const R={Root:A,Trigger:I,Anchor:x,Portal:({children:o,container:t,forceMount:n=!1})=>{const r=e.useContext(m),i=e.useRef(null),[s,l]=e.useState(!1);return e.useEffect((()=>{i.current=t??r?.portalRootRef.current??r?.containerRef.current??document.body,l(!0)}),[t,r]),s?a(b.Provider,{value:{forceMount:n},children:a(c.Portal,{root:i.current,children:o})}):null},Content:F,Close:E,Arrow:D},T=o({rootClass:"",titleId:void 0,descriptionId:void 0,setTitleId:()=>{},setDescriptionId:()=>{}}),M="Popover",k=t((({children:e,customRootClass:o="",className:t="",...n},s)=>{const c=l(o,M),[u,p]=r(void 0),[f,g]=r(void 0),m=i((()=>({rootClass:c,titleId:u,descriptionId:f,setTitleId:p,setDescriptionId:g})),[c,u,f]);return a(T.Provider,{value:m,children:a(R.Root,{ref:s,className:d(c,t),"data-slot":"popover-root",...n,children:e})})}));k.displayName=M;const j=t((({className:e="",...o},t)=>{const{rootClass:r}=n(T);return a(R.Trigger,{ref:t,className:d(r&&`${r}-trigger`,e),"data-slot":"popover-trigger",...o})}));j.displayName="PopoverTrigger";const S=t((({className:e="",...o},t)=>{const{rootClass:r}=n(T);return a(R.Anchor,{ref:t,className:d(r&&`${r}-anchor`,e),"data-slot":"popover-anchor",...o})}));S.displayName="PopoverAnchor";const B=t((({children:e,...o},t)=>a(R.Portal,{...o,children:e})));B.displayName="PopoverPortal";const $=t((({className:e="","aria-label":o,"aria-labelledby":t,"aria-describedby":r,...i},s)=>{const{rootClass:l,titleId:c,descriptionId:u}=n(T);return a(R.Content,{ref:s,className:d(l&&`${l}-content`,e),"data-slot":"popover-content","aria-label":o,"aria-labelledby":t??(o?void 0:c),"aria-describedby":r??u,...i})}));$.displayName="PopoverContent";const H=t((({className:e="",...o},t)=>{const{rootClass:r}=n(T);return a(R.Close,{ref:t,className:d(r&&`${r}-close`,e),"data-slot":"popover-close",...o})}));H.displayName="PopoverClose";const K=t((({className:e="",...o},t)=>{const{rootClass:r}=n(T);return a(R.Arrow,{ref:t,className:d(r&&`${r}-arrow`,e),"data-slot":"popover-arrow",...o})}));K.displayName="PopoverArrow";const W=t((({className:e="",id:o,children:t,...r},i)=>{const{rootClass:l,setTitleId:p}=n(T),f=c.useId(),g=o??f;return s((()=>(p(g),()=>p(void 0))),[g,p]),a(u.h2,{ref:i,id:g,className:d(l&&`${l}-title`,e),"data-slot":"popover-title",...r,children:t})}));W.displayName="PopoverTitle";const q=t((({className:e="",id:o,children:t,...r},i)=>{const{rootClass:l,setDescriptionId:p}=n(T),f=c.useId(),g=o??f;return s((()=>(p(g),()=>p(void 0))),[g,p]),a(u.p,{ref:i,id:g,className:d(l&&`${l}-description`,e),"data-slot":"popover-description",...r,children:t})}));q.displayName="PopoverDescription";const L=t(((e,o)=>(console.warn("Direct usage of Popover is not supported. Please use Popover.Root, Popover.Trigger, etc. instead."),null)));L.displayName="Popover",L.Root=k,L.Trigger=j,L.Anchor=S,L.Portal=B,L.Content=$,L.Close=H,L.Arrow=K,L.Title=W,L.Description=q;export{S as Anchor,K as Arrow,H as Close,$ as Content,q as Description,B as Portal,k as Root,W as Title,j as Trigger,L as default};
|
|
@@ -3,9 +3,10 @@ import Primitive from '~/core/primitives/Primitive';
|
|
|
3
3
|
|
|
4
4
|
type ProgressRootElement = ElementRef<typeof Primitive.div>;
|
|
5
5
|
type ProgressRootProps = {
|
|
6
|
-
value
|
|
7
|
-
|
|
8
|
-
|
|
6
|
+
/** Current value. `null` renders an indeterminate progress bar. */
|
|
7
|
+
value?: number | null;
|
|
8
|
+
minValue?: number;
|
|
9
|
+
maxValue?: number;
|
|
9
10
|
getValueLabel?: (value: number, minValue: number, maxValue: number) => string;
|
|
10
11
|
customRootClass?: string;
|
|
11
12
|
children: React.ReactNode;
|
|
@@ -23,5 +24,5 @@ type ProgressComponent = React.ForwardRefExoticComponent<ProgressProps & React.R
|
|
|
23
24
|
};
|
|
24
25
|
declare const Progress: ProgressComponent;
|
|
25
26
|
|
|
26
|
-
export { COMPONENT_NAME, Progress as default };
|
|
27
|
+
export { COMPONENT_NAME, ProgressIndicator as Indicator, ProgressRoot as Root, Progress as default };
|
|
27
28
|
export type { ProgressIndicatorProps, ProgressProps, ProgressRootProps };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use client';import{jsx as a}from"react/jsx-runtime";import{createContext as e,forwardRef as s,useContext as t}from"react";import{
|
|
1
|
+
'use client';import{jsx as a}from"react/jsx-runtime";import{createContext as e,forwardRef as s,useContext as t}from"react";import{u as o,c as r}from"./useComponentClass-C0isGl1z.js";import{P as l}from"./index-XF8itt-H.js";import"./ThemeContext-Sm-iNANd.js";import"./mergeProps-0RucjqeH.js";const i=e({value:0,minValue:0,maxValue:100,rootClass:"",ariaLabel:"",state:"loading"}),d="Progress",n="loading",m="complete",u="indeterminate",c=s((({value:e=0,minValue:s=0,maxValue:t=100,children:c,customRootClass:v,getValueLabel:p,className:g,...x},C)=>{const f=o(v,d),h=null===e,P=h?void 0:p?.(e,s,t),V=P??"",b=((a,e)=>null===a?u:a>=e?m:n)(e,t),N=void 0!==x["aria-label"]||void 0!==x["aria-labelledby"],y={value:e,minValue:s,maxValue:t,rootClass:f,getValueLabel:p,ariaLabel:V,state:b},{asChild:j,...I}=x;return a(i.Provider,{value:y,children:a(l.div,{role:"progressbar","aria-label":N?void 0:P||void 0,"aria-valuetext":P||void 0,"aria-valuenow":h?void 0:e,"aria-valuemin":s,"aria-valuemax":t,"data-state":b,"data-value":h?void 0:e,"data-max":t,"data-min":s,className:r(f,g),asChild:j,ref:C,...I,children:c})})}));c.displayName=d;const v=s((({className:e,style:s,...o},d)=>{const{value:n,minValue:m,maxValue:u,rootClass:c,state:v}=t(i),p=null===n,g=Math.min(Math.max(n??0,m),u),x=u-m,C=x>0?(g-m)/x*100:0,{asChild:f,...h}=o;return a(l.div,{className:r(c&&`${c}-indicator`,e),style:p?s:{transform:`translateX(-${100-C}%)`,...s},"data-state":v,"data-value":p?void 0:g,"data-max":u,"data-min":m,asChild:f,ref:d,...h})}));v.displayName="ProgressIndicator";const p="Progress",g=s(((e,s)=>(console.warn("Direct usage of Progress is not supported. Please use Progress.Root, Progress.Indicator, etc. instead."),a(c,{ref:s,...e}))));g.displayName=p,g.Root=c,g.Indicator=v;export{p as COMPONENT_NAME,v as Indicator,c as Root,g as default};
|
package/dist/components/Quote.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
'use client';import{jsx as t}from"react/jsx-runtime";import
|
|
1
|
+
'use client';import{jsx as t}from"react/jsx-runtime";import e from"react";import{u as o,c as r}from"./useComponentClass-C0isGl1z.js";import{c as s}from"./index-eAZUMNef.js";import"./ThemeContext-Sm-iNANd.js";const a="Quote",m=e.forwardRef((({children:e,customRootClass:m,className:c,truncate:i=!1,...n},u)=>{const f=o(m,a),l=s("quote",{truncate:i||void 0});return t("q",{ref:u,className:r(f,c),...l,...n,children:e})}));m.displayName=a;export{m as default};
|
package/dist/components/Radio.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
'use client';import{jsx as e}from"react/jsx-runtime";import a from"react";import{P as
|
|
1
|
+
'use client';import{jsx as e}from"react/jsx-runtime";import a from"react";import{P as r}from"./index-XF8itt-H.js";import{u as s,c as o}from"./useComponentClass-C0isGl1z.js";import{c as t,a as i,b as d}from"./index-eAZUMNef.js";import{u as n}from"./index-wRElCyvx.js";import{m}from"./mergeRefs-B8eZ_q-T.js";import"./mergeProps-0RucjqeH.js";import"./ThemeContext-Sm-iNANd.js";const c=a.forwardRef((({name:a,value:s,id:o,checked:t,required:i,onChange:d,disabled:n,asChild:m,className:c,...l},u)=>e(r.input,{ref:u,type:"radio",checked:t,name:a,value:s,onChange:d,id:o,"aria-disabled":n,disabled:n,required:i,"aria-required":i,asChild:m,className:c,...l})));c.displayName="RadioPrimitive";const l="Radio",u=a.forwardRef((function({name:r,value:u,id:f,checked:h,defaultChecked:p,required:C,onChange:v,disabled:g,asChild:b,className:j,customRootClass:k,variant:R="",size:x="",color:N="",...q},y){const E=s(k,l),w=a.useRef(null),L=void 0!==h,[P,z]=n(h,Boolean(p),(()=>{v?.()}));a.useEffect((()=>{const e=w.current;if(L||!e||!r)return;const a=e.ownerDocument,s=a=>{const s=a.target;s!==e&&s instanceof HTMLInputElement&&"radio"===s.type&&s.name===r&&s.form===e.form&&z(!1)};return a.addEventListener("change",s,!0),()=>a.removeEventListener("change",s,!0)}),[L,r,z]);const T=t("button",{variant:R,size:x}),B=d(N),D=i(T,B,{"data-slot":"radio-root","data-state":P?"checked":"unchecked","data-disabled":g?"":void 0});return e(c,{ref:m(y,w),name:r,id:f,value:u,checked:P,required:C,onChange:()=>{P||z(!0)},disabled:g,asChild:b,className:o(E,j),...q,"data-checked":P,...D})}));u.displayName=l;export{u as default};
|
|
@@ -39,5 +39,5 @@ interface RadioCardsComponent extends ForwardRefExoticComponent<RadioCardsProps
|
|
|
39
39
|
}
|
|
40
40
|
declare const RadioCards: RadioCardsComponent;
|
|
41
41
|
|
|
42
|
-
export { RadioCards as default };
|
|
42
|
+
export { RadioCardsItem as Item, RadioCardsRoot as Root, RadioCards as default };
|
|
43
43
|
export type { RadioCardsElement, RadioCardsItemProps, RadioCardsProps, RadioCardsRootProps };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use client';import{createContext as o,forwardRef as s,useContext as a}from"react";import{jsx as r}from"react/jsx-runtime";import{R as e}from"./RadioGroupPrimitive-
|
|
1
|
+
'use client';import{createContext as o,forwardRef as s,useContext as a}from"react";import{jsx as r}from"react/jsx-runtime";import{R as e}from"./RadioGroupPrimitive-D1PP4y2M.js";import{u as t,c as i}from"./useComponentClass-C0isGl1z.js";import{c as m,a as d,b as n}from"./index-eAZUMNef.js";import"./index-XF8itt-H.js";import"./mergeProps-0RucjqeH.js";import"./index-C7dBo_Ry.js";import"./index-FITGoHty.js";import"./keyboard-BKF7hXqL.js";import"./mergeRefs-B8eZ_q-T.js";import"./index-wRElCyvx.js";import"./index-CXzybYmm.js";import"./ThemeContext-Sm-iNANd.js";const l=o({rootClass:""}),c=s((({children:o,className:s="",customRootClass:a="",variant:c="",size:p="",color:R="",orientation:u="both",...j},C)=>{const f=t(a,"RadioCards"),x=m("radio-cards",{variant:c,size:p}),h=n(R),v=d(x,h);return r(l.Provider,{value:{rootClass:f},children:r(e.Root,{ref:C,className:i(f,s),...j,...v,orientation:u,children:o})})}));c.displayName="RadioCardsRoot";const p=s((({children:o,className:s="",value:t,...m},d)=>{const{rootClass:n}=a(l);return r(e.Item,{ref:d,className:i(n&&`${n}-item`,s),...m,value:t,children:o})}));p.displayName="RadioCardsItem";const R=s(((o,s)=>(console.warn("Direct usage of RadioCards is not supported. Please use RadioCards.Root and RadioCards.Item instead."),null)));R.displayName="RadioCards",R.Root=c,R.Item=p;export{p as Item,c as Root,R as default};
|
|
@@ -47,5 +47,5 @@ type RadioGroupComponent = React.ForwardRefExoticComponent<RadioGroupProps & Rea
|
|
|
47
47
|
};
|
|
48
48
|
declare const RadioGroup: RadioGroupComponent;
|
|
49
49
|
|
|
50
|
-
export { RadioGroup as default };
|
|
50
|
+
export { RadioGroupIndicator as Indicator, RadioGroupItem as Item, RadioGroupLabel as Label, RadioGroupRoot as Root, RadioGroup as default };
|
|
51
51
|
export type { RadioGroupElement, RadioGroupProps, RadioGroupRootProps };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use client';import o,{createContext as
|
|
1
|
+
'use client';import o,{createContext as a,useContext as r}from"react";import{jsx as s,jsxs as e}from"react/jsx-runtime";import{R as t}from"./RadioGroupPrimitive-D1PP4y2M.js";import{u as i,c as d}from"./useComponentClass-C0isGl1z.js";import{c as l,a as n,b as m}from"./index-eAZUMNef.js";import{P as c}from"./index-XF8itt-H.js";import"./index-C7dBo_Ry.js";import"./index-FITGoHty.js";import"./keyboard-BKF7hXqL.js";import"./mergeRefs-B8eZ_q-T.js";import"./index-wRElCyvx.js";import"./index-CXzybYmm.js";import"./ThemeContext-Sm-iNANd.js";import"./mergeProps-0RucjqeH.js";const p=a({rootClass:""}),u=o.forwardRef((({children:o,className:a="",customRootClass:r="",variant:c="",size:u="",color:f="",...R},j)=>{const C=i(r,"RadioGroup"),N=l("radio-group",{variant:c,size:u}),h=m(f),x=n(N,h,{"data-slot":"radio-group-root"});return s(p.Provider,{value:{rootClass:C},children:e(t.Root,{ref:j,className:d(C&&`${C}-root`,a),...x,...R,children:[" ",o," "]})})}));u.displayName="RadioGroupRoot";const f=o.forwardRef((({children:o,className:a="",value:e,...i},l)=>{const{rootClass:n}=r(p);return s(t.Item,{ref:l,className:d(n&&`${n}-item`,a),value:e,"data-slot":"radio-group-item",...i,children:o})}));f.displayName="RadioGroupItem";const R=o.forwardRef((({className:a="",children:r,...e},i)=>{const{rootClass:l}=o.useContext(p);return s(t.Indicator,{ref:i,className:d(l&&`${l}-indicator`,a),"data-slot":"radio-group-indicator",...e,children:r})}));R.displayName="RadioGroupIndicator";const j=o.forwardRef((({className:a="",asChild:r=!1,children:e,...t},i)=>{const{rootClass:l}=o.useContext(p);return s(c.label,{ref:i,"data-slot":"radio-group-label",...t,className:d(l&&`${l}-label`,a),asChild:r,children:e})}));j.displayName="RadioGroupLabel";const C=o.forwardRef(((o,a)=>(console.warn("Direct usage of RadioGroup is not supported. Please use RadioGroup.Root and RadioGroup.Item instead."),null)));C.displayName="RadioGroup",C.Root=u,C.Item=f,C.Indicator=R,C.Label=j;export{R as Indicator,f as Item,j as Label,u as Root,C as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
'use client';import e,{useContext as r}from"react";import{jsxs as o,jsx as t}from"react/jsx-runtime";import{P as i}from"./index-XF8itt-H.js";import{R as a,a as d}from"./index-C7dBo_Ry.js";import{u as n}from"./index-wRElCyvx.js";import{c as s}from"./index-CXzybYmm.js";import{K as l}from"./keyboard-BKF7hXqL.js";import{B as u}from"./index-FITGoHty.js";const c=e.createContext(null),p=[l.ARROW_UP,l.ARROW_DOWN,l.ARROW_LEFT,l.ARROW_RIGHT,l.HOME,l.END],m={position:"absolute",width:1,height:1,opacity:0,pointerEvents:"none",margin:0},f=e.forwardRef((({value:r,defaultValue:d="",onValueChange:l,children:u,disabled:f=!1,required:h=!1,name:R="",orientation:v="horizontal",loop:b=!0,dir:y="ltr",onKeyDownCapture:C,onKeyUpCapture:w,...I},N)=>{const[g,D]=n(r,d,l),k=e.useRef(!1),x=e.useRef(null),E=e.useRef(d);e.useEffect((()=>{const e=x.current?.form;if(!e)return;const r=()=>D(E.current);return e.addEventListener("reset",r),()=>e.removeEventListener("reset",r)}),[D,R,h]);const G={selectedValue:g,setSelectedValue:D,groupDisabled:f,isNavigatingWithKeyboardRef:k},P=""===g||null==g;return o(i.div,{ref:N,...I,onKeyDownCapture:s(C,(e=>{k.current=p.includes(e.key)}),{checkForDefaultPrevented:!1}),onKeyUpCapture:s(w,(()=>{k.current=!1}),{checkForDefaultPrevented:!1}),"aria-required":h,role:"radiogroup","aria-orientation":"both"===v?void 0:v,"aria-disabled":f,"data-disabled":f?"":void 0,children:[t(a.Root,{dir:y,orientation:v,loop:b,asChild:!0,children:t(c.Provider,{value:G,children:t(a.Group,{children:u})})}),R&&t("input",{ref:x,type:"hidden",name:R,value:g,disabled:f}),h&&t("input",{ref:R?void 0:x,type:"radio",checked:!P,onChange:()=>{},disabled:f,required:!0,"aria-hidden":"true",tabIndex:-1,style:m})]})}));f.displayName="RadioGroupPrimitiveRoot";const h=e.createContext({itemSelected:!1}),R=e.forwardRef((({value:o,children:i,disabled:n,required:p,className:m="",asChild:f=!1,onClick:R,onFocus:v,onKeyDown:b,...y},C)=>{const w=r(c);if(!w)throw new Error("RadioGroup.Item must be used within a RadioGroup.Root");const{groupDisabled:I,selectedValue:N,setSelectedValue:g,isNavigatingWithKeyboardRef:D}=w,{setFocusedItemId:k}=r(d),x=e.useId(),E=o===N,G=Boolean(I||n);e.useEffect((()=>{E&&!G&&k(x)}),[E,G,x,k]);const P=()=>{G||g(o)};return t(h.Provider,{value:{itemSelected:E},children:t(a.Item,{domId:x,children:t(u,{ref:C,role:"radio",type:"button",disabled:G,onClick:s(R,P),onFocus:s(v,(()=>{D?.current&&P()})),onKeyDown:s(b,(e=>{e.key===l.ENTER&&e.preventDefault()})),"aria-disabled":G,"aria-checked":E,"aria-selected":void 0,"data-state":E?"checked":"unchecked","data-disabled":G?"":void 0,asChild:f,className:m,...y,children:i})})})}));R.displayName="RadioGroupPrimitiveItem";const v=e.forwardRef((({children:r,className:o,asChild:a=!1,...d},n)=>{const{itemSelected:s}=e.useContext(h);return s?t(i.span,{ref:n,className:o,asChild:a,...d,children:r}):null}));v.displayName="RadioGroupPrimitiveIndicator";const b=e.forwardRef(((e,r)=>(console.warn("Direct usage of RadioGroup is not supported. Please use RadioGroup.Root, RadioGroup.Item, etc. instead."),null)));b.displayName="RadioGroupPrimitive",b.Root=f,b.Item=R,b.Indicator=v;export{b as R};
|
|
@@ -6,19 +6,11 @@ type ScrollAreaRootProps = ComponentPropsWithoutRef<'div'> & {
|
|
|
6
6
|
customRootClass?: string;
|
|
7
7
|
/** Controls scrollbar and thumb visibility: always, on scroll (1s fade), on hover + scroll, or when overflowing (auto). */
|
|
8
8
|
type?: ScrollAreaScrollbarType;
|
|
9
|
-
/** When set to manual, resets the viewport scroll position on mount and whenever restoreKey changes. */
|
|
10
|
-
scrollRestoration?: 'auto' | 'manual';
|
|
11
|
-
/** Key used to reset manual scroll restoration, such as a route pathname. */
|
|
12
|
-
restoreKey?: React.Key;
|
|
13
9
|
};
|
|
14
10
|
declare const ScrollAreaRoot: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
|
|
15
11
|
customRootClass?: string;
|
|
16
12
|
/** Controls scrollbar and thumb visibility: always, on scroll (1s fade), on hover + scroll, or when overflowing (auto). */
|
|
17
13
|
type?: ScrollAreaScrollbarType;
|
|
18
|
-
/** When set to manual, resets the viewport scroll position on mount and whenever restoreKey changes. */
|
|
19
|
-
scrollRestoration?: "auto" | "manual";
|
|
20
|
-
/** Key used to reset manual scroll restoration, such as a route pathname. */
|
|
21
|
-
restoreKey?: React.Key;
|
|
22
14
|
} & React.RefAttributes<HTMLDivElement>>;
|
|
23
15
|
|
|
24
16
|
type ScrollAreaViewportProps = ComponentPropsWithoutRef<'div'>;
|
|
@@ -50,5 +42,5 @@ declare const ScrollArea: React.ForwardRefExoticComponent<ScrollAreaProps> & {
|
|
|
50
42
|
Corner: typeof ScrollAreaCorner;
|
|
51
43
|
};
|
|
52
44
|
|
|
53
|
-
export { ScrollArea as default };
|
|
45
|
+
export { ScrollAreaCorner as Corner, ScrollAreaRoot as Root, ScrollAreaScrollbar as Scrollbar, ScrollAreaThumb as Thumb, ScrollAreaViewport as Viewport, ScrollArea as default };
|
|
54
46
|
export type { ScrollAreaCornerProps, ScrollAreaRootProps, ScrollAreaScrollbarProps, ScrollAreaScrollbarType, ScrollAreaThumbProps, ScrollAreaViewportProps };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use client';import e,{createContext as t,useState as r,useRef as n,useCallback as l,useEffect as o,forwardRef as c,useLayoutEffect as s,useContext as i}from"react";import{jsx as u}from"react/jsx-runtime";import{c as a}from"./clsx-BaVHROc5.js";import{u as d}from"./useComponentClass-QwNivz0h.js";import{i as m,s as f,D as h}from"./documentOverlayOpen-coyGmcyL.js";import"./ThemeContext-Sm-iNANd.js";const v=t({rootClass:"",type:"hover",scrollbarVisible:!1,overflow:{x:!1,y:!1},overlaySuppressesScrollbar:!1});const p="ScrollArea",y=c((({children:t,className:c="",customRootClass:i="",type:y="hover",scrollRestoration:b="auto",restoreKey:g,...w},L)=>{const S=d(i,p),x=n(null),T=n(null),E=n(null),C=n(null),[R,N]=e.useState({x:!1,y:!1}),A=function(e,t,c){const[s,i]=r("always"===e),u=n(!1),a=n(null),d=l((()=>{a.current&&(clearTimeout(a.current),a.current=null)}),[]),m=l((()=>{d(),a.current=setTimeout((()=>{u.current||i(!1)}),1e3)}),[d]),f=l((()=>{"scroll"!==e&&"hover"!==e||(i(!0),"scroll"!==e&&u.current?d():m())}),[e,m,d]);return o((()=>{i("always"===e),d(),u.current=!1}),[e,d]),o((()=>{if("always"===e||"auto"===e)return;const r=t?.current;if(!r)return;const n=()=>f();return r.addEventListener("scroll",n,{passive:!0}),()=>{r.removeEventListener("scroll",n),d()}}),[e,t,f,d]),o((()=>{if("hover"!==e)return;const t=c?.current;if(!t)return;const r=()=>{u.current=!0,d(),i(!0)},n=()=>{u.current=!1,m()};return t.addEventListener("mouseenter",r),t.addEventListener("mouseleave",n),()=>{t.removeEventListener("mouseenter",r),t.removeEventListener("mouseleave",n),d()}}),[e,c,m,d]),o((()=>()=>d()),[d]),s}(y,C,x),H=function(){const[t,r]=e.useState((()=>m()));return e.useEffect((()=>{const e=()=>{r(m())},t=f(e),n=new MutationObserver(e);return n.observe(document.documentElement,{attributes:!0,attributeFilter:[h]}),n.observe(document.body,{attributes:!0,attributeFilter:["style"]}),()=>{t(),n.disconnect()}}),[]),t}();o((()=>{W()}),[T,E,C]),o((()=>{const e=C.current;if(!e)return;const t=()=>{W()},r=new ResizeObserver((()=>t())),n=()=>{r.disconnect(),r.observe(e),Array.from(e.children).forEach((e=>{e instanceof Element&&r.observe(e)}))};n();const l=new MutationObserver((r=>{const l=r.some((t=>"childList"===t.type&&t.target===e&&(t.addedNodes.length>0||t.removedNodes.length>0)));l&&(e.scrollTop=0,e.scrollLeft=0,n()),t(),l&&M()}));return l.observe(e,{childList:!0,subtree:!1}),window.addEventListener("resize",t),()=>{r.disconnect(),l.disconnect(),window.removeEventListener("resize",t)}}),[]);const W=()=>{if(!C.current)return;const e=C.current,t=e.clientHeight,r=e.scrollHeight,n=r>t;if(T.current)if(t<=0)T.current.style.height="0px";else if(n){let e=t/(r/t);e=Math.max(e,24),T.current.style.height=`${e}px`}else T.current.style.height=`${t}px`;const l=e.clientWidth,o=e.scrollWidth,c=o>l;if(E.current)if(l<=0)E.current.style.width="0px";else if(c){let e=l/(o/l);e=Math.max(e,24),E.current.style.width=`${e}px`}else E.current.style.width=`${l}px`;N({x:c,y:n})},M=()=>{if(!C.current)return;const e=C.current;if(T.current){const t=e.clientHeight,r=e.scrollHeight,n=e.scrollTop,l=T.current.clientHeight;if(t<=0||r<=t)T.current.style.top="0px";else{const e=n/(r-t)*(t-l);T.current.style.top=`${e}px`}}if(E.current){const t=e.clientWidth,r=e.scrollWidth,n=e.scrollLeft,l=E.current.clientWidth;if(t<=0||r<=t)E.current.style.left="0px";else{const e=n/(r-t)*(t-l);E.current.style.left=`${e}px`}}};s((()=>{"manual"===b&&(()=>{const e=C.current;e&&(e.scrollTop=0,e.scrollLeft=0,M())})()}),[b,g]);const X=e=>{if(!C.current)return;const t=C.current,r=t.scrollTop,n=t.scrollLeft,l=void 0!==e.top?e.top-r:0,o=void 0!==e.left?e.left-n:0,c=performance.now(),s=i=>{const u=i-c,a=Math.min(u/150,1),d=1-Math.pow(1-a,3);void 0!==e.top&&(t.scrollTop=r+l*d),void 0!==e.left&&(t.scrollLeft=n+o*d),a<1&&requestAnimationFrame(s)};requestAnimationFrame(s)};return u(v.Provider,{value:{rootClass:S,scrollYThumbRef:T,scrollXThumbRef:E,scrollAreaViewportRef:C,handleScroll:M,handleScrollbarClick:e=>{if(!C.current)return;const t=C.current;if("vertical"===e.orientation&&void 0!==e.clientY){const r=T.current;if(!r)return;if(t.clientHeight<=0||t.scrollHeight<=t.clientHeight)return;const n=r.getBoundingClientRect(),l=t.scrollHeight/t.clientHeight;e.clientY<n.top?X({top:t.scrollTop-r.clientHeight*l}):e.clientY>n.bottom&&X({top:t.scrollTop+r.clientHeight*l})}else if("horizontal"===e.orientation&&void 0!==e.clientX){const r=E.current;if(!r)return;if(t.clientWidth<=0||t.scrollWidth<=t.clientWidth)return;const n=r.getBoundingClientRect(),l=t.scrollWidth/t.clientWidth;e.clientX<n.left?X({left:t.scrollLeft-r.clientWidth*l}):e.clientX>n.right&&X({left:t.scrollLeft+r.clientWidth*l})}},type:y,scrollbarVisible:A,overflow:R,overlaySuppressesScrollbar:H,rootRef:x},children:u("div",{ref:e=>{x.current=e,"function"==typeof L?L(e):L&&(L.current=e)},className:a(S,c),"data-scrollbar-type":y,"data-scrollbar-x":String(R.x||"always"===y),"data-scrollbar-y":String(R.y||"always"===y),...w,children:t})})}));y.displayName=p;const b=c((({children:e,className:t="",...r},n)=>{const{rootClass:l,scrollAreaViewportRef:o,handleScroll:c}=i(v);return u("div",{ref:e=>{o&&(o.current=e),"function"==typeof n?n(e):n&&(n.current=e)},className:a(l&&`${l}-viewport`,t),onScroll:c,...r,children:e})}));b.displayName="ScrollAreaViewport";const g=c((({children:t,className:r="",orientation:l="vertical",...o},c)=>{const{rootClass:s,handleScrollbarClick:d,scrollXThumbRef:m,scrollYThumbRef:f,type:h,scrollbarVisible:p,overflow:y,overlaySuppressesScrollbar:b}=i(v),g=n(null),w=n(!1),L=n(null),[S,x]=e.useState(!1),T=n(0),E="vertical"===l?y.y:y.x,C=e.useCallback((e=>{const t="vertical"===l?f?.current:m?.current;if(!t)return!1;const r=t.getBoundingClientRect();return"vertical"===l?e<r.top||e>r.bottom:e<r.left||e>r.right}),[l,m,f]),R=e.useCallback((e=>{d&&(e.preventDefault(),T.current="vertical"===l?e.clientY:e.clientX,d({clientY:e.clientY,clientX:e.clientX,orientation:l}),setTimeout((()=>{w.current&&(g.current=setInterval((()=>{w.current&&C(T.current)?d({clientY:"vertical"===l?T.current:void 0,clientX:"horizontal"===l?T.current:void 0,orientation:l}):N()}),50))}),300),w.current=!0,x(!0))}),[d,l,C]),N=e.useCallback((()=>{w.current=!1,L.current?.(),L.current=null,g.current&&(clearInterval(g.current),g.current=null),x(!1)}),[]);e.useEffect((()=>{if(!w.current)return()=>{L.current?.(),N()};const e=()=>N(),t=()=>N();return document.addEventListener("mouseup",e),document.addEventListener("mouseleave",t),L.current=()=>{document.removeEventListener("mouseup",e),document.removeEventListener("mouseleave",t)},()=>{L.current?.(),L.current=null,N()}}),[S,N]);const A=!b&&("always"===h||"auto"===h&&E||E&&("scroll"===h||"hover"===h)&&p),H=E||"always"===h;return u("div",{ref:c,className:a(s&&`${s}-scrollbar`,r),"data-orientation":l,"data-state":A?"visible":"hidden",style:{display:H?void 0:"none",...o.style},onMouseDown:R,onMouseUp:N,onMouseLeave:N,...o,children:t})}));g.displayName="ScrollAreaScrollbar";const w=c((({children:t,className:r="",orientation:o="vertical",...c},s)=>{const{rootClass:d,scrollXThumbRef:m,scrollYThumbRef:f,scrollAreaViewportRef:h,type:p,scrollbarVisible:y,overflow:b,overlaySuppressesScrollbar:g}=i(v),w="vertical"===o?b.y:b.x,L=!g&&("always"===p||"auto"===p&&w||w&&("scroll"===p||"hover"===p)&&y),S=n(!1),x=n({x:0,y:0,scrollTop:0,scrollLeft:0}),T=l((e=>{h?.current&&(e.preventDefault(),e.stopPropagation(),S.current=!0,x.current={x:e.clientX,y:e.clientY,scrollTop:h.current.scrollTop,scrollLeft:h.current.scrollLeft},document.body.style.userSelect="none",document.body.style.cursor="grabbing")}),[h]),E=l((e=>{if(!S.current||!h?.current)return;const t=h.current,r="vertical"===o?f?.current:m?.current,n=r?.parentElement?.getBoundingClientRect();if(r&&n)if("vertical"===o){const l=(e.clientY-x.current.y)/(n.height-r.clientHeight),o=t.scrollHeight-t.clientHeight,c=x.current.scrollTop+l*o;t.scrollTop=Math.max(0,Math.min(c,o))}else{const l=(e.clientX-x.current.x)/(n.width-r.clientWidth),o=t.scrollWidth-t.clientWidth,c=x.current.scrollLeft+l*o;t.scrollLeft=Math.max(0,Math.min(c,o))}}),[o,h,m,f]),C=l((()=>{S.current=!1,document.body.style.cursor="",document.body.style.userSelect=""}),[]);e.useEffect((()=>{const e=e=>E(e),t=()=>C();return document.addEventListener("mousemove",e),document.addEventListener("mouseup",t),()=>{document.removeEventListener("mousemove",e),document.removeEventListener("mouseup",t),C()}}),[E,C]);return u("div",{ref:e=>{const t="vertical"===o?f:m;t&&(t.current=e),"function"==typeof s?s(e):s&&(s.current=e)},className:a(d&&`${d}-thumb`,r),"data-state":L?"visible":"hidden",onMouseDown:T,...c,children:t})}));w.displayName="ScrollAreaThumb";const L=c((({children:e,className:t,...r},n)=>{const{rootClass:l}=i(v);return u("div",{ref:n,className:a(l&&`${l}-corner`,t),...r,children:e})}));L.displayName="ScrollAreaCorner";const S=e.forwardRef(((e,t)=>(console.warn("Direct usage of ScrollArea is not supported. Please use ScrollArea.Root and ScrollArea.Viewport instead."),null)));S.Root=y,S.Viewport=b,S.Scrollbar=g,S.Thumb=w,S.Corner=L,S.displayName="ScrollArea";export{S as default};
|
|
1
|
+
'use client';import e,{createContext as t,useState as r,useRef as n,useCallback as o,useEffect as l,forwardRef as c,useContext as i,useLayoutEffect as s}from"react";import{jsx as a}from"react/jsx-runtime";import{u,c as d}from"./useComponentClass-C0isGl1z.js";import{i as f,s as h,D as m}from"./documentOverlayOpen-coyGmcyL.js";import"./ThemeContext-Sm-iNANd.js";const v=t({rootClass:"",type:"hover",scrollbarVisible:!1,overflow:{x:!1,y:!1},overlaySuppressesScrollbar:!1,scrollbarsMounted:{x:!1,y:!1}}),p=t(void 0);function y(e,t,r){if(!e)return r;const n="vertical"===t?e.clientHeight:e.clientWidth;if(n<=0)return r;let o=0,l=0;if("undefined"!=typeof window&&"function"==typeof window.getComputedStyle){const r=window.getComputedStyle(e);o=parseFloat("vertical"===t?r.paddingTop:r.paddingLeft)||0,l=parseFloat("vertical"===t?r.paddingBottom:r.paddingRight)||0}return Math.max(0,n-o-l)}const b=new Set(["A","BUTTON","INPUT","SELECT","TEXTAREA","IFRAME","AUDIO","VIDEO","SUMMARY"]);function g(e){if(!(e instanceof HTMLElement))return!1;const t=e.getAttribute("tabindex");return null!==t?Number(t)>=0:!!e.isContentEditable||!!b.has(e.tagName)&&("A"===e.tagName?e.hasAttribute("href"):"AUDIO"===e.tagName||"VIDEO"===e.tagName?e.hasAttribute("controls"):("INPUT"!==e.tagName||"hidden"!==e.type)&&!e.disabled)}const w="ScrollArea",x=c((({children:t,className:c="",customRootClass:i="",type:s="hover",...p},b)=>{const g=u(i,w),x=n(null),M=n(null),T=n(null),L=n(null),E=n(null),S=n(null),N=n(null),R=n({x:0,y:0}),[A,C]=e.useState({x:!1,y:!1}),[H,W]=e.useState({x:!1,y:!1}),{scrollbarVisible:I,setInteracting:Y}=function(e,t,c){const[i,s]=r("always"===e),a=n(!1),u=n(!1),d=n(null),f=o((()=>{d.current&&(clearTimeout(d.current),d.current=null)}),[]),h=o((()=>{f(),d.current=setTimeout((()=>{a.current||u.current||s(!1)}),1e3)}),[f]),m=o((()=>{"scroll"!==e&&"hover"!==e||(s(!0),"scroll"!==e&&a.current?f():h())}),[e,h,f]);return l((()=>{s("always"===e),f(),a.current=!1}),[e,f]),l((()=>{if("always"===e||"auto"===e)return;const r=t?.current;if(!r)return;const n=()=>m();return r.addEventListener("scroll",n,{passive:!0}),()=>{r.removeEventListener("scroll",n),f()}}),[e,t,m,f]),l((()=>{if("hover"!==e)return;const t=c?.current;if(!t)return;const r=()=>{a.current=!0,f(),s(!0)},n=()=>{a.current=!1,h()};return t.addEventListener("mouseenter",r),t.addEventListener("mouseleave",n),()=>{t.removeEventListener("mouseenter",r),t.removeEventListener("mouseleave",n),f()}}),[e,c,h,f]),l((()=>()=>f()),[f]),{scrollbarVisible:i,setInteracting:o((t=>{u.current=t,"scroll"!==e&&"hover"!==e||(t?(f(),s(!0)):a.current&&"scroll"!==e||h())}),[e,f,h])}}(s,L,x),X=function(){const[t,r]=e.useState((()=>f()));return e.useEffect((()=>{const e=()=>{r(f())},t=h(e),n=new MutationObserver(e);return n.observe(document.documentElement,{attributes:!0,attributeFilter:[m]}),n.observe(document.body,{attributes:!0,attributeFilter:["style"]}),()=>{t(),n.disconnect()}}),[]),t}();l((()=>{D()}),[M,T,L]),l((()=>{const e=L.current;if(!e)return;const t=()=>{D(),V()},r=new ResizeObserver((()=>t())),n=()=>{r.disconnect(),r.observe(e),Array.from(e.children).forEach((e=>{e instanceof Element&&r.observe(e)}))};n();const o=new MutationObserver((r=>{const o=r.some((t=>"childList"===t.type&&t.target===e&&(t.addedNodes.length>0||t.removedNodes.length>0)));o&&(e.scrollTop=0,e.scrollLeft=0,n()),t(),o&&V()}));return o.observe(e,{childList:!0,subtree:!1}),window.addEventListener("resize",t),()=>{r.disconnect(),o.disconnect(),window.removeEventListener("resize",t)}}),[]);const D=()=>{if(!L.current)return;const e=L.current,t=e.clientHeight,r=e.scrollHeight,n=r>t;if(M.current){const e=y(E.current,"vertical",t);if(t<=0)M.current.style.height="0px";else if(n){const n=Math.min(e,Math.max(e*(t/r),24));M.current.style.height=`${n}px`}else M.current.style.height=`${e}px`}const o=e.clientWidth,l=e.scrollWidth,c=l>o;if(T.current){const e=y(S.current,"horizontal",o);if(o<=0)T.current.style.width="0px";else if(c){const t=Math.min(e,Math.max(e*(o/l),24));T.current.style.width=`${t}px`}else T.current.style.width=`${e}px`}W((e=>e.x===c&&e.y===n?e:{x:c,y:n}))},V=()=>{if(!L.current)return;const e=L.current;if(M.current){const t=e.clientHeight,r=e.scrollHeight,n=e.scrollTop,o=M.current.clientHeight,l=y(E.current,"vertical",t);if(t<=0||r<=t)M.current.style.top="0px";else{const e=Math.min(1,Math.max(0,n/(r-t)))*Math.max(0,l-o);M.current.style.top=`${e}px`}}if(T.current){const t=e.clientWidth,r=e.scrollWidth,n=e.scrollLeft,o=T.current.clientWidth,l=y(S.current,"horizontal",t);if(t<=0||r<=t)T.current.style.left="0px";else{const e=Math.min(1,Math.max(0,n/(r-t)))*Math.max(0,l-o);T.current.style.left=`${e}px`}}},F=()=>{D(),V()},O=()=>{null!==N.current&&(cancelAnimationFrame(N.current),N.current=null)};l((()=>O),[]);const P=e=>{if(!L.current)return;const t=L.current;O();const r=Math.max(0,t.scrollHeight-t.clientHeight),n=Math.max(0,t.scrollWidth-t.clientWidth),o=void 0!==e.top?Math.min(r,Math.max(0,e.top)):void 0,l=void 0!==e.left?Math.min(n,Math.max(0,e.left)):void 0;if("undefined"!=typeof window&&"function"==typeof window.matchMedia&&window.matchMedia("(prefers-reduced-motion: reduce)").matches)return void 0!==o&&(t.scrollTop=o),void(void 0!==l&&(t.scrollLeft=l));const c=t.scrollTop,i=t.scrollLeft,s=void 0!==o?o-c:0,a=void 0!==l?l-i:0,u=performance.now(),d=e=>{const r=e-u,n=Math.min(Math.max(r/150,0),1),f=1-Math.pow(1-n,3);void 0!==o&&(t.scrollTop=c+s*f),void 0!==l&&(t.scrollLeft=i+a*f),N.current=n<1?requestAnimationFrame(d):null};N.current=requestAnimationFrame(d)},$=o((e=>{const t="vertical"===e?"y":"x";return R.current[t]+=1,C((e=>e[t]?e:{...e,[t]:!0})),()=>{R.current[t]=Math.max(0,R.current[t]-1),0===R.current[t]&&C((e=>e[t]?{...e,[t]:!1}:e))}}),[]);return l((()=>{F()}),[A.x,A.y,H.x,H.y,s]),a(v.Provider,{value:{rootClass:g,scrollYThumbRef:M,scrollXThumbRef:T,scrollAreaViewportRef:L,handleScroll:V,handleScrollbarClick:e=>{if(!L.current)return;const t=L.current;if("vertical"===e.orientation&&void 0!==e.clientY){const r=M.current;if(!r)return;if(t.clientHeight<=0||t.scrollHeight<=t.clientHeight)return;const n=r.getBoundingClientRect();e.clientY<n.top?P({top:t.scrollTop-t.clientHeight}):e.clientY>n.bottom&&P({top:t.scrollTop+t.clientHeight})}else if("horizontal"===e.orientation&&void 0!==e.clientX){const r=T.current;if(!r)return;if(t.clientWidth<=0||t.scrollWidth<=t.clientWidth)return;const n=r.getBoundingClientRect();e.clientX<n.left?P({left:t.scrollLeft-t.clientWidth}):e.clientX>n.right&&P({left:t.scrollLeft+t.clientWidth})}},type:s,scrollbarVisible:I,overflow:H,overlaySuppressesScrollbar:X,rootRef:x,scrollbarYRef:E,scrollbarXRef:S,registerScrollbar:$,syncThumbs:F,scrollbarsMounted:A,setInteracting:Y},children:a("div",{ref:e=>{x.current=e,"function"==typeof b?b(e):b&&(b.current=e)},className:d(g,c),"data-scrollbar-type":s,"data-scrollbar-x":String(H.x||"always"===s),"data-scrollbar-y":String(H.y||"always"===s),...p,children:t})})}));x.displayName=w;const M=c((({children:e,className:t="",onScroll:n,...o},c)=>{const{rootClass:s,scrollAreaViewportRef:u,handleScroll:f,overflow:h}=i(v),m=h.x||h.y,[p,y]=r(!0);l((()=>{const e=u?.current;if(!e||!m)return;const t=()=>y(function(e){if("undefined"==typeof document)return!1;const t=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:e=>{const t=e;return t.hidden||"true"===t.getAttribute("aria-hidden")||t.hasAttribute("inert")?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT}});let r=t.nextNode();for(;r;){if(g(r))return!0;r=t.nextNode()}return!1}(e));if(t(),"undefined"==typeof MutationObserver)return;const r=new MutationObserver(t);return r.observe(e,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["tabindex","href","disabled","contenteditable","hidden","inert","aria-hidden","controls","type"]}),()=>r.disconnect()}),[m,u]);return a("div",{tabIndex:m&&!p?0:void 0,...o,ref:e=>{u&&(u.current=e),"function"==typeof c?c(e):c&&(c.current=e)},className:d(s&&`${s}-viewport`,t),onScroll:e=>{f?.(),n?.(e)},children:e})}));M.displayName="ScrollAreaViewport";const T="undefined"!=typeof window?s:l,L=c((({children:e,className:t="",orientation:r="vertical",style:c,onMouseDown:s,onMouseUp:u,onMouseLeave:f,...h},m)=>{const{rootClass:y,handleScrollbarClick:b,scrollXThumbRef:g,scrollYThumbRef:w,scrollbarXRef:x,scrollbarYRef:M,scrollAreaViewportRef:L,registerScrollbar:E,scrollbarsMounted:S,type:N,scrollbarVisible:R,overflow:A,overlaySuppressesScrollbar:C}=i(v),H=n(null),W=n(null),I=n(!1),Y=n(null),X=n(0),D=n(null),V="vertical"===r?A.y:A.x,F="vertical"===r?A.x:A.y,O="vertical"===r?S.x:S.y;T((()=>E?.(r)),[r,E]);const P=o((e=>{D.current=e;const t="vertical"===r?M:x;t&&(t.current=e),"function"==typeof m?m(e):m&&(m.current=e)}),[r,m,x,M]),$=o((e=>{const t="vertical"===r?w?.current:g?.current;if(!t)return!1;const n=t.getBoundingClientRect();return"vertical"===r?e<n.top||e>n.bottom:e<n.left||e>n.right}),[r,g,w]),z=o((()=>{I.current=!1,Y.current?.(),Y.current=null,W.current&&(clearTimeout(W.current),W.current=null),H.current&&(clearInterval(H.current),H.current=null)}),[]),U=o((e=>{if(!b||0!==e.button)return;e.preventDefault(),z(),X.current="vertical"===r?e.clientY:e.clientX,I.current=!0,b({clientY:e.clientY,clientX:e.clientX,orientation:r});const t=e=>{X.current="vertical"===r?e.clientY:e.clientX},n=()=>z();document.addEventListener("mousemove",t),document.addEventListener("mouseup",n),Y.current=()=>{document.removeEventListener("mousemove",t),document.removeEventListener("mouseup",n)},W.current=setTimeout((()=>{W.current=null,I.current&&(H.current=setInterval((()=>{I.current&&$(X.current)?b({clientY:"vertical"===r?X.current:void 0,clientX:"horizontal"===r?X.current:void 0,orientation:r}):z()}),50))}),300)}),[b,r,$,z]);l((()=>z),[z]),l((()=>{const e=D.current;if(!e)return;const t=e=>{const t=L?.current;if(!t)return;const n=1===e.deltaMode?16:2===e.deltaMode?"vertical"===r?t.clientHeight:t.clientWidth:1;if("vertical"===r){const r=e.deltaY*n,o=t.scrollHeight-t.clientHeight;if(!(r<0&&t.scrollTop>0||r>0&&t.scrollTop<o))return;e.preventDefault(),t.scrollTop=Math.min(o,Math.max(0,t.scrollTop+r))}else{const r=(e.deltaX||e.deltaY)*n,o=t.scrollWidth-t.clientWidth;if(!(r<0&&t.scrollLeft>0||r>0&&t.scrollLeft<o))return;e.preventDefault(),t.scrollLeft=Math.min(o,Math.max(0,t.scrollLeft+r))}};return e.addEventListener("wheel",t,{passive:!1}),()=>e.removeEventListener("wheel",t)}),[r,L]);const B=!C&&("always"===N||"auto"===N&&V||V&&("scroll"===N||"hover"===N)&&R),j=V||"always"===N,k=j&&O&&(F||"always"===N);return a("div",{...h,ref:P,className:d(y&&`${y}-scrollbar`,t),"data-orientation":r,"data-state":B?"visible":"hidden","data-corner":k?"":void 0,style:{...c,...j?null:{display:"none"}},onMouseDown:e=>{s?.(e),e.defaultPrevented||U(e)},onMouseUp:e=>{u?.(e),z()},onMouseLeave:e=>{f?.(e),z()},children:a(p.Provider,{value:r,children:e})})}));L.displayName="ScrollAreaScrollbar";const E=c((({children:t,className:r="",orientation:l,onMouseDown:c,onPointerDown:s,style:u,...f},h)=>{const m=i(p),b=l??m??"vertical",{rootClass:g,scrollXThumbRef:w,scrollYThumbRef:x,scrollbarXRef:M,scrollbarYRef:T,scrollAreaViewportRef:L,syncThumbs:E,setInteracting:S,type:N,scrollbarVisible:R,overflow:A,overlaySuppressesScrollbar:C}=i(v),H="vertical"===b?A.y:A.x,W=!C&&("always"===N||"auto"===N&&H||H&&("scroll"===N||"hover"===N)&&R),I=n(!1),Y=n({x:0,y:0,scrollTop:0,scrollLeft:0}),X=n(null),[D,V]=e.useState(!1),F=o((e=>{if(!I.current||!L?.current)return;const t=L.current,r="vertical"===b?x?.current:w?.current;if(!r)return;const n=("vertical"===b?T?.current:M?.current)??r.parentElement;if("vertical"===b){const o=e.clientY-Y.current.y,l=y(n,"vertical",t.clientHeight)-r.clientHeight;if(l<=0)return;const c=t.scrollHeight-t.clientHeight,i=Y.current.scrollTop+o/l*c;t.scrollTop=Math.max(0,Math.min(i,c))}else{const o=e.clientX-Y.current.x,l=y(n,"horizontal",t.clientWidth)-r.clientWidth;if(l<=0)return;const c=t.scrollWidth-t.clientWidth,i=Y.current.scrollLeft+o/l*c;t.scrollLeft=Math.max(0,Math.min(i,c))}}),[b,L,w,x,M,T]),O=o((()=>{(I.current||X.current)&&(I.current=!1,X.current?.(),X.current=null,document.body.style.cursor="",document.body.style.userSelect="",V(!1),S?.(!1))}),[S]),P=o((e=>{if(!L?.current)return;if("mouse"===e.pointerType&&0!==e.button)return;if(!1===e.isPrimary)return;e.preventDefault(),e.stopPropagation(),O(),I.current=!0;const t=e.pointerId;Y.current={x:e.clientX,y:e.clientY,scrollTop:L.current.scrollTop,scrollLeft:L.current.scrollLeft};const r=e=>{void 0!==t&&void 0!==e.pointerId&&e.pointerId!==t||F(e)},n=e=>{void 0!==t&&void 0!==e.pointerId&&e.pointerId!==t||O()};document.addEventListener("pointermove",r),document.addEventListener("pointerup",n),document.addEventListener("pointercancel",n),X.current=()=>{document.removeEventListener("pointermove",r),document.removeEventListener("pointerup",n),document.removeEventListener("pointercancel",n)},document.body.style.userSelect="none",document.body.style.cursor="grabbing",V(!0),S?.(!0)}),[L,F,O,S]);e.useEffect((()=>O),[O]),e.useEffect((()=>{E?.()}),[b]);return a("div",{...f,ref:e=>{const t="vertical"===b?x:w;t&&(t.current=e),"function"==typeof h?h(e):h&&(h.current=e)},className:d(g&&`${g}-thumb`,r),"data-orientation":b,"data-state":W?"visible":"hidden","data-dragging":D?"":void 0,style:{touchAction:"none",...u},onPointerDown:e=>{s?.(e),e.defaultPrevented||P(e)},onMouseDown:e=>{c?.(e),e.stopPropagation()},children:t})}));E.displayName="ScrollAreaThumb";const S=c((({children:e,className:t,style:r,...n},o)=>{const{rootClass:l,scrollbarsMounted:c,overflow:s,type:u}=i(v),f=c.x&&c.y&&("always"===u||s.x&&s.y);return a("div",{...n,ref:o,className:d(l&&`${l}-corner`,t),"data-state":f?"visible":"hidden",style:{...r,...f?null:{display:"none"}},children:e})}));S.displayName="ScrollAreaCorner";const N=e.forwardRef(((e,t)=>(console.warn("Direct usage of ScrollArea is not supported. Please use ScrollArea.Root and ScrollArea.Viewport instead."),null)));N.Root=x,N.Viewport=M,N.Scrollbar=L,N.Thumb=E,N.Corner=S,N.displayName="ScrollArea";export{S as Corner,x as Root,L as Scrollbar,E as Thumb,M as Viewport,N as default};
|
|
@@ -93,5 +93,5 @@ interface SelectComponent extends React.ForwardRefExoticComponent<React.RefAttri
|
|
|
93
93
|
}
|
|
94
94
|
declare const Select: SelectComponent;
|
|
95
95
|
|
|
96
|
-
export { Select as default };
|
|
96
|
+
export { SelectContent as Content, SelectGroup as Group, SelectIndicator as Indicator, SelectItem as Item, SelectPortal as Portal, SelectRoot as Root, SelectTrigger as Trigger, Select as default };
|
|
97
97
|
export type { SelectContentProps, SelectGroupProps, SelectIndicatorProps, SelectItemProps, SelectPortalProps, SelectRootProps, SelectTriggerProps };
|