@primereact/core 11.0.0-alpha.9 → 11.0.0-rc.2
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/LICENSE.md +45 -0
- package/README.md +43 -0
- package/api/{index.d.mts → FilterMatchMode.d.ts} +2 -10
- package/api/FilterOperator.d.ts +5 -0
- package/api/index.d.ts +2 -0
- package/api/index.mjs +0 -1
- package/base/index.d.ts +1 -0
- package/base/index.mjs +1 -2
- package/base/{index.d.mts → useBase.d.ts} +3 -6
- package/component/Component.d.ts +11 -0
- package/component/Component.props.d.ts +3 -0
- package/component/Component.utils.d.ts +12 -0
- package/component/index.d.ts +4 -0
- package/component/index.mjs +1 -2
- package/component/useComponent.d.ts +30 -0
- package/component/useComponentPT.d.ts +9 -0
- package/component/useComponentStyle.d.ts +10 -0
- package/component/useComponentStyleHandler.d.ts +51 -0
- package/component/withComponent.d.ts +22 -0
- package/config/PrimeReact.context.d.ts +4 -0
- package/config/PrimeReact.props.d.ts +2 -0
- package/config/index.d.ts +3 -0
- package/config/index.mjs +3 -2
- package/config/usePrimeReact.d.ts +6 -0
- package/dnd/announcements.d.ts +5 -0
- package/dnd/collision.d.ts +39 -0
- package/dnd/createDnd.d.ts +15 -0
- package/dnd/index.d.ts +3 -0
- package/dnd/index.mjs +1 -0
- package/dnd/sortable.d.ts +56 -0
- package/dnd/utils.d.ts +21 -0
- package/headless/index.d.ts +2 -0
- package/headless/index.mjs +1 -2
- package/headless/useHeadless.d.ts +9 -0
- package/headless/withHeadless.d.ts +15 -0
- package/icon/Icon.d.ts +2 -0
- package/icon/Icon.props.d.ts +2 -0
- package/icon/Icon.style.d.ts +2 -0
- package/icon/index.d.ts +5 -0
- package/icon/index.mjs +2 -46
- package/icon/useIcon.d.ts +6 -0
- package/icon/withIcon.d.ts +22 -0
- package/{index.d.mts → index.d.ts} +4 -0
- package/index.mjs +1 -2
- package/license/index.d.ts +1 -0
- package/license/index.mjs +1 -0
- package/license/licensebanner.d.ts +20 -0
- package/locale/Locale.context.d.ts +4 -0
- package/locale/Locale.props.d.ts +2 -0
- package/locale/defaultLocale.d.ts +125 -0
- package/locale/index.d.ts +5 -0
- package/locale/index.mjs +3 -2
- package/locale/useLocale.d.ts +6 -0
- package/motion/Motion.context.d.ts +5 -0
- package/motion/Motion.d.ts +2 -0
- package/motion/Motion.props.d.ts +2 -0
- package/motion/Motion.utils.d.ts +4 -0
- package/motion/index.d.ts +5 -0
- package/motion/index.mjs +3 -2
- package/motion/useMotion.d.ts +23 -0
- package/motion/useMotion.props.d.ts +2 -0
- package/overlay-manager/OverlayManager.d.ts +81 -0
- package/overlay-manager/index.d.ts +1 -0
- package/overlay-manager/index.mjs +1 -0
- package/package.json +19 -18
- package/passthrough/PassThrough.context.d.ts +4 -0
- package/passthrough/PassThrough.props.d.ts +2 -0
- package/passthrough/index.d.ts +3 -0
- package/passthrough/index.mjs +3 -2
- package/passthrough/usePassThrough.d.ts +1 -0
- package/stylesheet/PrimeReactStyleSheet.d.ts +7 -0
- package/stylesheet/index.d.ts +1 -0
- package/stylesheet/index.mjs +1 -2
- package/theme/Theme.context.d.ts +4 -0
- package/theme/Theme.props.d.ts +2 -0
- package/theme/index.d.ts +3 -0
- package/theme/index.mjs +3 -2
- package/theme/useTheme.d.ts +1 -0
- package/umd/index.js +9 -213
- package/use-style/index.d.ts +2 -0
- package/use-style/index.mjs +1 -2
- package/use-style/useStyle.d.ts +2 -0
- package/use-style/useStyle.props.d.ts +1 -0
- package/utils/ConnectedOverlayScrollHandler.d.ts +10 -0
- package/utils/combinedRefs.d.ts +2 -0
- package/utils/createContext.d.ts +9 -0
- package/utils/env.d.ts +1 -0
- package/utils/index.d.ts +10 -0
- package/utils/index.mjs +3 -2
- package/utils/mergeRefs.d.ts +11 -0
- package/utils/overlayEventBus.d.ts +9 -0
- package/utils/stylePreloadRegistry.d.ts +33 -0
- package/utils/styleRegistry.d.ts +19 -0
- package/LICENSE +0 -21
- package/api/index.mjs.map +0 -1
- package/base/index.mjs.map +0 -1
- package/component/index.d.mts +0 -69
- package/component/index.mjs.map +0 -1
- package/config/index.d.mts +0 -17
- package/config/index.mjs.map +0 -1
- package/headless/index.d.mts +0 -28
- package/headless/index.mjs.map +0 -1
- package/icon/index.d.mts +0 -40
- package/icon/index.mjs.map +0 -1
- package/index.mjs.map +0 -1
- package/locale/index.d.mts +0 -12
- package/locale/index.mjs.map +0 -1
- package/motion/index.d.mts +0 -28
- package/motion/index.mjs.map +0 -1
- package/passthrough/index.d.mts +0 -12
- package/passthrough/index.mjs.map +0 -1
- package/stylesheet/index.d.mts +0 -10
- package/stylesheet/index.mjs.map +0 -1
- package/theme/index.d.mts +0 -12
- package/theme/index.mjs.map +0 -1
- package/umd/index.js.map +0 -1
- package/use-style/index.d.mts +0 -7
- package/use-style/index.mjs.map +0 -1
- package/utils/index.d.mts +0 -35
- package/utils/index.mjs.map +0 -1
package/dnd/utils.d.ts
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SSR & DOM utility functions for createDnd.
|
|
3
|
+
* Pure, stateless helpers — no side effects at module level.
|
|
4
|
+
*/
|
|
5
|
+
import type { Point, Rect } from '@primereact/types/primitive/dnd';
|
|
6
|
+
export declare function isClient(): boolean;
|
|
7
|
+
export declare function getElementRect(el: HTMLElement): Rect;
|
|
8
|
+
export declare function createRect(x: number, y: number, width: number, height: number): Rect;
|
|
9
|
+
export declare function adjustRect(rect: Rect, scrollDelta: Point): Rect;
|
|
10
|
+
export declare function distanceBetween(a: Point, b: Point): number;
|
|
11
|
+
export declare function rectCenter(rect: Rect): Point;
|
|
12
|
+
export declare function isPointInRect(point: Point, rect: Rect): boolean;
|
|
13
|
+
export declare function rectArea(rect: Rect): number;
|
|
14
|
+
export declare function intersectionArea(a: Rect, b: Rect): number;
|
|
15
|
+
export declare function findScrollableAncestor(element: HTMLElement): HTMLElement | null;
|
|
16
|
+
export declare function getScrollPosition(el: HTMLElement): Point;
|
|
17
|
+
export declare function scrollElement(el: HTMLElement, left: number, top: number): void;
|
|
18
|
+
export declare function debounce(fn: () => void, ms: number): {
|
|
19
|
+
call: () => void;
|
|
20
|
+
cancel: () => void;
|
|
21
|
+
};
|
package/headless/index.mjs
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
|
-
import{useBase as
|
|
2
|
-
//# sourceMappingURL=index.mjs.map
|
|
1
|
+
import{useBase as n}from"@primereact/core/base";function r(e="UnknownHeadless",s={}){return n(e,s)}function P({name:e,type:s="headless",defaultProps:o,setup:p}){return t=>r(e,{type:s,inProps:t,defaultProps:o,setup:p})}export{r as useHeadless,P as withHeadless};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { HeadlessInstance, useHeadlessOptions } from '@primereact/types/core';
|
|
2
|
+
/**
|
|
3
|
+
* A custom hook for using headless components.
|
|
4
|
+
*
|
|
5
|
+
* @param name The name of the headless component.
|
|
6
|
+
* @param options Options for the headless component.
|
|
7
|
+
* @returns The headless instance.
|
|
8
|
+
*/
|
|
9
|
+
export declare function useHeadless<IProps, DProps, Exposes extends Record<PropertyKey, unknown>>(name?: string, options?: useHeadlessOptions<IProps, DProps, Exposes>): HeadlessInstance<DProps, IProps, Exposes>;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { withHeadlessOptions } from '@primereact/types/core';
|
|
2
|
+
/**
|
|
3
|
+
* Higher-order component for using headless components.
|
|
4
|
+
*
|
|
5
|
+
* @template IProps The input properties type for the headless component.
|
|
6
|
+
* @template DProps The default properties type for the headless component.
|
|
7
|
+
* @template Exposes The properties that the headless component exposes.
|
|
8
|
+
*
|
|
9
|
+
* @param options The options for the headless component.
|
|
10
|
+
* @param options.name The name of the headless component.
|
|
11
|
+
* @param options.defaultProps The default properties for the headless component.
|
|
12
|
+
* @param options.setup The setup function for the headless component.
|
|
13
|
+
* @returns A function that takes in props and returns the headless instance.
|
|
14
|
+
*/
|
|
15
|
+
export declare function withHeadless<IProps, DProps, Exposes extends Record<PropertyKey, unknown> = Record<PropertyKey, unknown>>({ name, type, defaultProps, setup }: withHeadlessOptions<IProps, DProps, Exposes>): (inProps?: IProps) => import("@primereact/types/core").HeadlessInstance<DProps, IProps, Exposes>;
|
package/icon/Icon.d.ts
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
export declare const Icon: (<I extends import("@primereact/types/core").ComponentInstance, T extends React.ElementType>(inProps?: (import("@primereact/types/core").GlobalComponentProps<I, unknown, T, unknown, unknown> & {} & {} & Omit<import("@primereact/types").ExtractProps<T>, keyof import("@primereact/types/core").GlobalComponentProps<I_1, P, T_1, unknown, unknown>> & import("@primereact/types/core").IconProps) | undefined) => React.JSX.Element | null) & Record<string, unknown> & React.FC<{}>;
|
package/icon/index.d.ts
ADDED
package/icon/index.mjs
CHANGED
|
@@ -1,47 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
.p-icon {
|
|
3
|
-
display: inline-block;
|
|
4
|
-
vertical-align: baseline;
|
|
5
|
-
font-size: dt('icon.size');
|
|
6
|
-
width: dt('icon.size');
|
|
7
|
-
height: dt('icon.size');
|
|
8
|
-
transform: rotate(dt('icon.rotate'));
|
|
9
|
-
flex-shrink: 0;
|
|
10
|
-
}
|
|
1
|
+
'use client';
|
|
11
2
|
|
|
12
|
-
.p-icon-flip-horizontal {
|
|
13
|
-
transform: scaleX(-1);
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
.p-icon-flip-vertical {
|
|
17
|
-
transform: scaleY(-1);
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
.p-icon-spin {
|
|
21
|
-
-webkit-animation: p-icon-spin 2s infinite linear;
|
|
22
|
-
animation: p-icon-spin 2s infinite linear;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
@-webkit-keyframes p-icon-spin {
|
|
26
|
-
0% {
|
|
27
|
-
-webkit-transform: rotate(0deg);
|
|
28
|
-
transform: rotate(0deg);
|
|
29
|
-
}
|
|
30
|
-
100% {
|
|
31
|
-
-webkit-transform: rotate(359deg);
|
|
32
|
-
transform: rotate(359deg);
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
@keyframes p-icon-spin {
|
|
37
|
-
0% {
|
|
38
|
-
-webkit-transform: rotate(0deg);
|
|
39
|
-
transform: rotate(0deg);
|
|
40
|
-
}
|
|
41
|
-
100% {
|
|
42
|
-
-webkit-transform: rotate(359deg);
|
|
43
|
-
transform: rotate(359deg);
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
`,y={name:"icon",css:b,classes:{root:({props:o})=>["p-icon",{"p-icon-spin":o.spin,"p-icon-flip-horizontal":o.flip==="horizontal","p-icon-flip-vertical":o.flip==="vertical"}]},inlineStyles:{root:({props:o})=>n(n({},o.size?{[d("icon.size").name]:o.size}:void 0),o.rotate?{[d("icon.rotate").name]:`${o.rotate}deg`}:void 0)}};import{withComponent as S}from"@primereact/core/component";import{resolve as E}from"@primeuix/utils";import*as I from"react";import{withHeadless as z}from"@primereact/core/headless";import{isEmpty as u}from"@primeuix/utils";var x=z({name:"useIcon",setup({attrs:o}){return{pti:()=>{let t=u(o["aria-label"]);return{role:t?void 0:"img","aria-hidden":u(o.tabIndex)&&t}}}}});function w({name:o,defaultProps:e,styles:t,components:p,setup:i,render:a}){return S({name:`${o!=null?o:"Unknown"}Icon`,defaultProps:e,styles:t,components:p,setup(r){let s=x(r==null?void 0:r.inProps),m=E(i,r);return I.useMemo(()=>n(n({},s),m),[s,m])},render:a})}var J=w({name:"Icon",styles:y,defaultProps:l,render(o){let{id:e,props:t,ptmi:p,pti:i,cx:a,sx:r}=o,s=D({id:e,style:r("root"),className:a("root")},i==null?void 0:i(),p("root"));return P.createElement(C,{instance:o,attrs:s,children:t.children})}});export{J as Icon,l as defaultIconProps,y as styles,x as useIcon,w as withIcon};
|
|
47
|
-
//# sourceMappingURL=index.mjs.map
|
|
3
|
+
"use client";import{Component as w}from"@primereact/core/component";import{mergeProps as E}from"@primeuix/utils";import*as I from"react";var a={as:"i",size:void 0,rotate:void 0,flip:void 0,spin:!1};import{$dt as c}from"@primeuix/styled";var l={name:"icon",classes:{root:({props:o})=>["p-icon",{"p-icon-spin":o.spin,"p-icon-flip-horizontal":o.flip==="horizontal","p-icon-flip-vertical":o.flip==="vertical"}]},inlineStyles:{root:({props:o})=>({...o.size?{[c("icon.size").name]:o.size}:void 0,...o.rotate?{[c("icon.rotate").name]:`${o.rotate}deg`}:void 0})}};import{withComponent as h}from"@primereact/core/component";import{resolve as S}from"@primeuix/utils";import*as y from"react";import{withHeadless as P}from"@primereact/core/headless";import{isEmpty as f}from"@primeuix/utils";import*as d from"react";var u=P({name:"useIcon",setup({attrs:o}){let e=o["aria-label"],t=o.tabIndex;return{pti:d.useCallback(()=>{let r=f(e);return{role:r?void 0:"img","aria-hidden":f(t)&&r}},[e,t])}}});function x({name:o,defaultProps:e,styles:t,components:s,setup:r,render:i}){return h({name:`${o??"Unknown"}Icon`,defaultProps:e,styles:t,components:s,setup(n){let p=u(n?.inProps),m=S(r,n);return y.useMemo(()=>({...p,...m}),[p,m])},render:i})}var M=x({name:"Icon",styles:l,defaultProps:a,render(o){let{id:e,props:t,ptmi:s,pti:r,cx:i,sx:n}=o,p=E({id:e,style:n("root"),className:i("root")},r?.(),s("root"));return I.createElement(w,{instance:o,attrs:p,children:t.children})}});export{M as Icon,a as defaultIconProps,l as styles,u as useIcon,x as withIcon};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { IconExposes, withComponentOptions } from '@primereact/types/core';
|
|
2
|
+
import type { StylesOptions } from '@primereact/types/styles';
|
|
3
|
+
import * as React from 'react';
|
|
4
|
+
/**
|
|
5
|
+
* Higher-order component for enhancing icon components.
|
|
6
|
+
*
|
|
7
|
+
* @template IProps - The interface for the icon component's props.
|
|
8
|
+
* @template DProps - The interface for the default properties of the icon component.
|
|
9
|
+
* @template Exposes - The interface for the properties exposed by the icon component.
|
|
10
|
+
* @template Styles - The styles options for the icon component.
|
|
11
|
+
* @template CData - The context data for the icon component.
|
|
12
|
+
*
|
|
13
|
+
* @param options - The options for the icon component.
|
|
14
|
+
* @param options.name - The name of the icon component.
|
|
15
|
+
* @param options.defaultProps - The default properties for the icon component.
|
|
16
|
+
* @param options.styles - The styles options for the icon component.
|
|
17
|
+
* @param options.components - The components to be used within the icon component.
|
|
18
|
+
* @param options.setup - The setup function for the icon component.
|
|
19
|
+
* @param options.render - The render function for the icon component.
|
|
20
|
+
* @returns A React component wrapped with the specified options.
|
|
21
|
+
*/
|
|
22
|
+
export declare function withIcon<IProps, DProps, Exposes extends Record<PropertyKey, unknown> = Record<PropertyKey, unknown>, Styles = StylesOptions, CData = Record<string, unknown>>({ name, defaultProps, styles, components, setup, render }: withComponentOptions<IProps, DProps, Exposes & IconExposes, Styles, CData>): (<I extends import("@primereact/types/core").ComponentInstance, T extends React.ElementType>(inProps?: (IProps & import("@primereact/types/core").GlobalComponentProps<I, unknown, T, unknown, unknown> & {} & {} & Omit<import("@primereact/types").ExtractProps<T>, keyof import("@primereact/types/core").GlobalComponentProps<I_1, P, T_1, unknown, unknown> | keyof IProps> & DProps) | undefined) => React.JSX.Element | null) & CData & React.FC<{}>;
|
|
@@ -1,11 +1,15 @@
|
|
|
1
|
+
/***************** PrimeReact Core (Auto-Generated) *****************/
|
|
1
2
|
export * from '@primereact/core/api';
|
|
2
3
|
export * from '@primereact/core/base';
|
|
3
4
|
export * from '@primereact/core/component';
|
|
4
5
|
export * from '@primereact/core/config';
|
|
6
|
+
export * from '@primereact/core/dnd';
|
|
5
7
|
export * from '@primereact/core/headless';
|
|
6
8
|
export * from '@primereact/core/icon';
|
|
9
|
+
export * from '@primereact/core/license';
|
|
7
10
|
export * from '@primereact/core/locale';
|
|
8
11
|
export * from '@primereact/core/motion';
|
|
12
|
+
export * from '@primereact/core/overlay-manager';
|
|
9
13
|
export * from '@primereact/core/passthrough';
|
|
10
14
|
export * from '@primereact/core/stylesheet';
|
|
11
15
|
export * from '@primereact/core/theme';
|
package/index.mjs
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
|
-
export*from"@primereact/core/api";export*from"@primereact/core/base";export*from"@primereact/core/component";export*from"@primereact/core/config";export*from"@primereact/core/headless";export*from"@primereact/core/icon";export*from"@primereact/core/locale";export*from"@primereact/core/motion";export*from"@primereact/core/passthrough";export*from"@primereact/core/stylesheet";export*from"@primereact/core/theme";export*from"@primereact/core/use-style";export*from"@primereact/core/utils";
|
|
2
|
-
//# sourceMappingURL=index.mjs.map
|
|
1
|
+
export*from"@primereact/core/api";export*from"@primereact/core/base";export*from"@primereact/core/component";export*from"@primereact/core/config";export*from"@primereact/core/dnd";export*from"@primereact/core/headless";export*from"@primereact/core/icon";export*from"@primereact/core/license";export*from"@primereact/core/locale";export*from"@primereact/core/motion";export*from"@primereact/core/overlay-manager";export*from"@primereact/core/passthrough";export*from"@primereact/core/stylesheet";export*from"@primereact/core/theme";export*from"@primereact/core/use-style";export*from"@primereact/core/utils";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './licensebanner';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function o(){if(typeof document>"u"||document.getElementById("p-license-host"))return;let e=document.createElement("div");e.id="p-license-host",e.style.cssText="all:initial;position:fixed;bottom:16px;right:16px;z-index:2147483647;pointer-events:none;";let n=e.attachShadow({mode:"closed"});n.innerHTML='<div role="alert" style="padding:10px 14px;background:#991b1b;color:#fff;font:600 13px/1.2 system-ui,-apple-system,sans-serif;border-radius:6px;box-shadow:0 4px 12px rgba(0,0,0,0.2);">Invalid PrimeUI License</div>',document.body.appendChild(e)}export{o as showInvalidLicenseBanner};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Inject a fixed-positioned banner into the bottom-right of the page when the
|
|
3
|
+
* PrimeReact license cannot be verified.
|
|
4
|
+
*
|
|
5
|
+
* The banner content is rendered inside a closed-mode shadow root so page-level
|
|
6
|
+
* CSS cannot reach into it. `all:initial` on the host element blocks inherited
|
|
7
|
+
* styles. The host carries no semantically obvious id, slowing down trivial
|
|
8
|
+
* hide-by-selector attempts.
|
|
9
|
+
*
|
|
10
|
+
* Idempotent — guarded by the host id, so multiple call sites cannot produce
|
|
11
|
+
* more than one banner per page.
|
|
12
|
+
*
|
|
13
|
+
* SSR-safe — short-circuits when `document` is undefined.
|
|
14
|
+
*
|
|
15
|
+
* Note: client-side license enforcement is anti-honest-user signaling, not
|
|
16
|
+
* anti-piracy. The cryptographic signature (Ed25519) is what actually prevents
|
|
17
|
+
* forging valid tokens. This banner just makes the licensing problem visible
|
|
18
|
+
* to a legitimate customer whose key needs attention.
|
|
19
|
+
*/
|
|
20
|
+
export declare function showInvalidLicenseBanner(): void;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { LocaleContextValue, LocaleProps } from '@primereact/types/core';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
export declare const LocaleContext: React.Context<LocaleContextValue | undefined>;
|
|
4
|
+
export declare const LocaleProvider: (inProps?: React.PropsWithChildren<LocaleProps>) => React.JSX.Element;
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
export declare const en: {
|
|
2
|
+
startsWith: string;
|
|
3
|
+
contains: string;
|
|
4
|
+
notContains: string;
|
|
5
|
+
endsWith: string;
|
|
6
|
+
equals: string;
|
|
7
|
+
notEquals: string;
|
|
8
|
+
noFilter: string;
|
|
9
|
+
lt: string;
|
|
10
|
+
lte: string;
|
|
11
|
+
gt: string;
|
|
12
|
+
gte: string;
|
|
13
|
+
dateIs: string;
|
|
14
|
+
dateIsNot: string;
|
|
15
|
+
dateBefore: string;
|
|
16
|
+
dateAfter: string;
|
|
17
|
+
clear: string;
|
|
18
|
+
apply: string;
|
|
19
|
+
matchAll: string;
|
|
20
|
+
matchAny: string;
|
|
21
|
+
addRule: string;
|
|
22
|
+
removeRule: string;
|
|
23
|
+
accept: string;
|
|
24
|
+
reject: string;
|
|
25
|
+
choose: string;
|
|
26
|
+
upload: string;
|
|
27
|
+
cancel: string;
|
|
28
|
+
completed: string;
|
|
29
|
+
pending: string;
|
|
30
|
+
fileSizeTypes: string[];
|
|
31
|
+
dayNames: string[];
|
|
32
|
+
dayNamesShort: string[];
|
|
33
|
+
dayNamesMin: string[];
|
|
34
|
+
monthNames: string[];
|
|
35
|
+
monthNamesShort: string[];
|
|
36
|
+
chooseYear: string;
|
|
37
|
+
chooseMonth: string;
|
|
38
|
+
chooseDate: string;
|
|
39
|
+
prevDecade: string;
|
|
40
|
+
nextDecade: string;
|
|
41
|
+
prevYear: string;
|
|
42
|
+
nextYear: string;
|
|
43
|
+
prevMonth: string;
|
|
44
|
+
nextMonth: string;
|
|
45
|
+
prevHour: string;
|
|
46
|
+
nextHour: string;
|
|
47
|
+
prevMinute: string;
|
|
48
|
+
nextMinute: string;
|
|
49
|
+
prevSecond: string;
|
|
50
|
+
nextSecond: string;
|
|
51
|
+
am: string;
|
|
52
|
+
pm: string;
|
|
53
|
+
today: string;
|
|
54
|
+
weekHeader: string;
|
|
55
|
+
firstDayOfWeek: number;
|
|
56
|
+
showMonthAfterYear: false;
|
|
57
|
+
dateFormat: string;
|
|
58
|
+
weak: string;
|
|
59
|
+
medium: string;
|
|
60
|
+
strong: string;
|
|
61
|
+
passwordPrompt: string;
|
|
62
|
+
emptyFilterMessage: string;
|
|
63
|
+
searchMessage: string;
|
|
64
|
+
selectionMessage: string;
|
|
65
|
+
emptySelectionMessage: string;
|
|
66
|
+
emptySearchMessage: string;
|
|
67
|
+
fileChosenMessage: string;
|
|
68
|
+
noFileChosenMessage: string;
|
|
69
|
+
emptyMessage: string;
|
|
70
|
+
aria: {
|
|
71
|
+
trueLabel: string;
|
|
72
|
+
falseLabel: string;
|
|
73
|
+
nullLabel: string;
|
|
74
|
+
star: string;
|
|
75
|
+
stars: string;
|
|
76
|
+
selectAll: string;
|
|
77
|
+
unselectAll: string;
|
|
78
|
+
close: string;
|
|
79
|
+
previous: string;
|
|
80
|
+
next: string;
|
|
81
|
+
navigation: string;
|
|
82
|
+
scrollTop: string;
|
|
83
|
+
moveTop: string;
|
|
84
|
+
moveUp: string;
|
|
85
|
+
moveDown: string;
|
|
86
|
+
moveBottom: string;
|
|
87
|
+
moveToTarget: string;
|
|
88
|
+
moveToSource: string;
|
|
89
|
+
moveAllToTarget: string;
|
|
90
|
+
moveAllToSource: string;
|
|
91
|
+
pageLabel: string;
|
|
92
|
+
firstPageLabel: string;
|
|
93
|
+
lastPageLabel: string;
|
|
94
|
+
nextPageLabel: string;
|
|
95
|
+
prevPageLabel: string;
|
|
96
|
+
rowsPerPageLabel: string;
|
|
97
|
+
jumpToPageDropdownLabel: string;
|
|
98
|
+
jumpToPageInputLabel: string;
|
|
99
|
+
selectRow: string;
|
|
100
|
+
unselectRow: string;
|
|
101
|
+
expandRow: string;
|
|
102
|
+
collapseRow: string;
|
|
103
|
+
showFilterMenu: string;
|
|
104
|
+
hideFilterMenu: string;
|
|
105
|
+
filterOperator: string;
|
|
106
|
+
filterConstraint: string;
|
|
107
|
+
editRow: string;
|
|
108
|
+
saveEdit: string;
|
|
109
|
+
cancelEdit: string;
|
|
110
|
+
listView: string;
|
|
111
|
+
gridView: string;
|
|
112
|
+
slide: string;
|
|
113
|
+
slideNumber: string;
|
|
114
|
+
zoomImage: string;
|
|
115
|
+
zoomIn: string;
|
|
116
|
+
zoomOut: string;
|
|
117
|
+
rotateRight: string;
|
|
118
|
+
rotateLeft: string;
|
|
119
|
+
listLabel: string;
|
|
120
|
+
};
|
|
121
|
+
};
|
|
122
|
+
/**
|
|
123
|
+
* Translates a key against the active locale, ensuring the built-in `en` messages are registered first.
|
|
124
|
+
*/
|
|
125
|
+
export declare const $t: (key: string, ...args: unknown[]) => unknown;
|
package/locale/index.mjs
CHANGED
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
3
|
+
import{$l as q,defineLocale as H,LocaleService as $,updateLocale as j}from"@primeuix/locale";import{$t as L,defineLocale as v,Locale as M}from"@primeuix/locale";var x={startsWith:"Starts with",contains:"Contains",notContains:"Not contains",endsWith:"Ends with",equals:"Equals",notEquals:"Not equals",noFilter:"No Filter",lt:"Less than",lte:"Less than or equal to",gt:"Greater than",gte:"Greater than or equal to",dateIs:"Date is",dateIsNot:"Date is not",dateBefore:"Date is before",dateAfter:"Date is after",clear:"Clear",apply:"Apply",matchAll:"Match All",matchAny:"Match Any",addRule:"Add Rule",removeRule:"Remove Rule",accept:"Yes",reject:"No",choose:"Choose",upload:"Upload",cancel:"Cancel",completed:"Completed",pending:"Pending",fileSizeTypes:["B","KB","MB","GB","TB","PB","EB","ZB","YB"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],chooseYear:"Choose Year",chooseMonth:"Choose Month",chooseDate:"Choose Date",prevDecade:"Previous Decade",nextDecade:"Next Decade",prevYear:"Previous Year",nextYear:"Next Year",prevMonth:"Previous Month",nextMonth:"Next Month",prevHour:"Previous Hour",nextHour:"Next Hour",prevMinute:"Previous Minute",nextMinute:"Next Minute",prevSecond:"Previous Second",nextSecond:"Next Second",am:"am",pm:"pm",today:"Today",weekHeader:"Wk",firstDayOfWeek:0,showMonthAfterYear:!1,dateFormat:"mm/dd/yy",weak:"Weak",medium:"Medium",strong:"Strong",passwordPrompt:"Enter a password",emptyFilterMessage:"No results found",searchMessage:"{0} results are available",selectionMessage:"{0} items selected",emptySelectionMessage:"No selected item",emptySearchMessage:"No results found",fileChosenMessage:"{0} files",noFileChosenMessage:"No file chosen",emptyMessage:"No available options",aria:{trueLabel:"True",falseLabel:"False",nullLabel:"Not Selected",star:"1 star",stars:"{star} stars",selectAll:"All items selected",unselectAll:"All items unselected",close:"Close",previous:"Previous",next:"Next",navigation:"Navigation",scrollTop:"Scroll Top",moveTop:"Move Top",moveUp:"Move Up",moveDown:"Move Down",moveBottom:"Move Bottom",moveToTarget:"Move to Target",moveToSource:"Move to Source",moveAllToTarget:"Move All to Target",moveAllToSource:"Move All to Source",pageLabel:"Page {page}",firstPageLabel:"First Page",lastPageLabel:"Last Page",nextPageLabel:"Next Page",prevPageLabel:"Previous Page",rowsPerPageLabel:"Rows per page",jumpToPageDropdownLabel:"Jump to Page Dropdown",jumpToPageInputLabel:"Jump to Page Input",selectRow:"Row Selected",unselectRow:"Row Unselected",expandRow:"Row Expanded",collapseRow:"Row Collapsed",showFilterMenu:"Show Filter Menu",hideFilterMenu:"Hide Filter Menu",filterOperator:"Filter Operator",filterConstraint:"Filter Constraint",editRow:"Row Edit",saveEdit:"Save Edit",cancelEdit:"Cancel Edit",listView:"List View",gridView:"Grid View",slide:"Slide",slideNumber:"{slideNumber}",zoomImage:"Zoom Image",zoomIn:"Zoom In",zoomOut:"Zoom Out",rotateRight:"Rotate Right",rotateLeft:"Rotate Left",listLabel:"Option List"}},y=()=>{M.get("en")||v("en",x)},p=(t,...o)=>(y(),L(t,...o));import{useMountEffect as P,useProps as R}from"@primereact/hooks";import{defineLocale as w,Locale as d,LocaleService as g}from"@primeuix/locale";import{resolve as S}from"@primeuix/utils";import*as e from"react";var m={lang:"en",locales:void 0};var i=e.createContext(void 0),E=(t={})=>{let{props:o,attrs:a}=R(m,t),[r,f]=e.useState(0);P(()=>{o.locales&&Object.entries(o.locales).forEach(([s,c])=>w(s,c)),o.lang&&d.use(o.lang)}),e.useEffect(()=>{let s=()=>f(c=>c+1);return g.on("locale:change",s),()=>g.off("locale:change",s)},[]);let n=e.useMemo(()=>({lang:d.lang,version:r}),[r]),h=e.useMemo(()=>S(a.children,n),[a.children,n]);return e.createElement(i.Provider,{value:n},h)};import{Locale as u}from"@primeuix/locale";import*as l from"react";function W(){let t=l.useContext(i),o=t?.lang??u.lang;return l.useMemo(()=>({lang:o,messages:u.get(o)??u.get("en"),t:(a,...r)=>String(p(a,...r))}),[o,t?.version])}export{q as $l,p as $t,i as LocaleContext,E as LocaleProvider,$ as LocaleService,m as defaultLocaleProps,H as defineLocale,x as en,j as updateLocale,W as useLocale};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { LocaleValue } from '@primereact/types/core';
|
|
2
|
+
/**
|
|
3
|
+
* Returns the active locale as `{ lang, messages, t }`. Reads from the LocaleContext so it
|
|
4
|
+
* re-renders on language changes; falls back to the singleton when no provider is present.
|
|
5
|
+
*/
|
|
6
|
+
export declare function useLocale(): LocaleValue;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { MotionInstance } from '@primereact/types/primitive/motion';
|
|
2
|
+
export declare const MotionProvider: ({ value, children }: {
|
|
3
|
+
value: MotionInstance;
|
|
4
|
+
children: React.ReactNode;
|
|
5
|
+
}) => import("react").JSX.Element, useMotionContext: () => MotionInstance | undefined;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
export declare const Motion: (<I extends import("@primereact/types/core").ComponentInstance, T extends React.ElementType>(inProps?: (import("@primereact/types/core").GlobalComponentProps<I, unknown, T, unknown, unknown> & {} & {} & Omit<import("@primereact/types").ExtractProps<T>, keyof import("@primereact/types/core").GlobalComponentProps<I_1, P, T_1, unknown, unknown>> & import("@primereact/types/primitive/motion").MotionProps) | undefined) => React.JSX.Element | null) & Record<string, unknown> & React.FC<{}>;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type * as React from 'react';
|
|
2
|
+
export declare function getHiddenStyle(strategy?: 'display' | 'visibility' | 'none'): React.CSSProperties | undefined;
|
|
3
|
+
export declare function applyHiddenStyles(element?: HTMLElement, strategy?: 'display' | 'visibility' | 'none'): void;
|
|
4
|
+
export declare function resetStyles(element?: HTMLElement, strategy?: 'display' | 'visibility' | 'none'): void;
|
package/motion/index.mjs
CHANGED
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
3
|
+
import{Component as se,withComponent as ae}from"@primereact/core/component";import{mergeProps as le}from"@primeuix/utils";import*as L from"react";import{createOptionalContext as F}from"@primereact/core/utils";var[N,de]=F();var E={elementRef:void 0,visible:!1,mountOnEnter:!0,unmountOnLeave:!0,name:void 0,type:void 0,safe:!1,disabled:!1,appear:!1,enter:!0,leave:!0,duration:void 0,hideStrategy:"display",cssVarPrefix:void 0,enterFromClassName:void 0,enterToClassName:void 0,enterActiveClassName:void 0,leaveFromClassName:void 0,leaveToClassName:void 0,leaveActiveClassName:void 0,onBeforeEnter:void 0,onEnter:void 0,onAfterEnter:void 0,onEnterCancelled:void 0,onBeforeLeave:void 0,onLeave:void 0,onAfterLeave:void 0,onLeaveCancelled:void 0};var I={...E,as:"div"};import{withHeadless as z}from"@primereact/core/headless";import{nextFrame as _,toElement as q}from"@primeuix/utils";import*as r from"react";var P=new WeakMap,Y=Object.freeze({display:"none"}),B=Object.freeze({visibility:"hidden",maxHeight:"0"});function b(e){switch(e){case"display":return Y;case"visibility":return B;default:return}}function S(e,a){if(!e)return;P.has(e)||P.set(e,{display:e.style.display==="none"?"":e.style.display,visibility:e.style.visibility==="hidden"?"":e.style.visibility,maxHeight:e.style.maxHeight==="0"?"":e.style.maxHeight});let t=b(a);t&&Object.assign(e.style,t)}function g(e,a){if(!e)return;let t=P.get(e);switch(a){case"display":e.style.display=t?.display??"";break;case"visibility":e.style.visibility=t?.visibility??"",e.style.maxHeight=t?.maxHeight??"";break}P.delete(e)}import{getMotionHooks as J,getMotionMetadata as K,mergeOptions as Q,removeMotionPhase as w,removeMotionState as X,resolveClassNames as Z,resolveCSSVarName as C,resolveDuration as $,setAutoDimensionVariables as V,setDimensionVariables as x,setMotionPhase as ee,setMotionState as k,shouldSkipMotion as te}from"@primeuix/motion";import{addClass as H,removeClass as A}from"@primeuix/utils";var G=Object.freeze({}),ne={name:"p",safe:!0,disabled:!1,enter:!0,leave:!0,autoHeight:!0,autoWidth:!1};function ie(e,a){if(!e)throw new Error("Element is required.");let t={},u=!1,y={},o=null,l={},f=i=>{if(Object.assign(t,Q(i,ne)),!t.enter&&!t.leave)throw new Error("Enter or leave must be true.");l=J(t),u=te(t),y=Z(t),o=null},v=async i=>{o?.();let{onBefore:d,onStart:M,onAfter:n,onCancelled:s}=l[i]||{},c={element:e};if(ee(e,i),u){d?.(c),M?.(c),n?.(c),w(e);return}let{from:p,active:h,to:R}=y[i]||{};return d?.(c),i==="enter"?x(e,t,"0px"):V(e,t),H(e,p),H(e,h),k(e,i,"from"),await _(),i==="enter"?V(e,t):x(e,t,"0px"),A(e,p),H(e,R),k(e,i,"to"),M?.(c),new Promise(T=>{let U=$(t.duration,i),O=()=>{A(e,[R,h]),o=null,X(e),w(e)},W=()=>{O(),n?.(c),T(),i==="enter"&&x(e,t,"auto")};o=()=>{O(),s?.(c),T()},re(e,t.type,U,W)})};f(a);let m={enter:()=>t.enter?v("enter"):Promise.resolve(),leave:()=>t.leave?v("leave"):Promise.resolve(),cancel:()=>{o?.(),o=null},update:(i,d)=>{if(!i)throw new Error("Element is required.");e=i,m.cancel(),f(d)}};return t.appear&&m.enter(),m}var oe=0;function re(e,a,t,u){let y=e._motionEndId=++oe,o=()=>{y===e._motionEndId&&u()};if(t!=null)return setTimeout(o,t);let{type:l,timeout:f,count:v}=K(e,a);if(!l){u();return}let m=l+"end",i=0,d=()=>{e.removeEventListener(m,M,!0),o()},M=n=>{n.target===e&&++i>=v&&d()};e.addEventListener(m,M,{capture:!0,once:!0}),setTimeout(()=>{i<v&&d()},f+1)}var D=z({name:"useMotion",defaultProps:E,setup({props:e,elementRef:a}){let[t,u]=r.useState(()=>e.visible&&e.mountOnEnter||!e.mountOnEnter),y={rendered:t},o=r.useRef(void 0),l=r.useRef(!0),f=r.useCallback(()=>q(e.elementRef)??a?.current,[e.elementRef,a]),v=r.useCallback(()=>o.current?.enter(),[]),m=r.useCallback(()=>o.current?.leave(),[]),i=r.useCallback(()=>o.current?.cancel(),[]),d=r.useCallback((n,s={})=>{if(!n)return;let c={...s,enterClass:{from:s.enterFromClassName,to:s.enterToClassName,active:s.enterActiveClassName},leaveClass:{from:s.leaveFromClassName,to:s.leaveToClassName,active:s.leaveActiveClassName}};o.current?o.current?.update(n,c):o.current=ie(n,c)},[]);r.useLayoutEffect(()=>()=>{let n=f();g(n,e.hideStrategy),l.current=!0},[]),r.useLayoutEffect(()=>{e.visible&&!t&&u(!0)},[e.visible]),r.useLayoutEffect(()=>{let n=f();d?.(n,e)},[]),r.useLayoutEffect(()=>{let n=f();if(!n||!t){n&&!e.visible&&S(n,e.hideStrategy),l.current=!1;return}let s=!1,c=l.current&&e.visible&&e.appear;if(g(n,e.hideStrategy),d?.(n,e),e.visible){if(c||!l.current)v?.();else if(e.cssVarPrefix){let p=C(e.cssVarPrefix,"width"),h=C(e.cssVarPrefix,"height");n.style.setProperty(p,"auto"),n.style.setProperty(h,"auto")}}else m?.()?.then(()=>{!n||s||e.visible||(e.unmountOnLeave?(S(n,e.hideStrategy),_().then(()=>{s||u(!1)})):S(n,e.hideStrategy))});return l.current=!1,()=>{s=!0,i?.()}},[e.visible,t,e.unmountOnLeave,e.appear,f]);let M=r.useMemo(()=>{if(!e.visible&&!t){let n=C(e.cssVarPrefix,"width"),s=C(e.cssVarPrefix,"height");return{style:{...b(e.hideStrategy),[n]:"0px",[s]:"0px"}}}return G},[e.visible,t,e.hideStrategy,e.cssVarPrefix]);return{state:y,enter:v,leave:m,cancel:i,update:d,rootProps:M}}});var He=ae({name:"Motion",defaultProps:I,setup(e){return D(e.inProps)},render(e){let{id:a,props:t,state:u,ptmi:y,rootProps:o}=e,l=le({id:a},y("root"),o);return L.createElement(N,{value:e},L.createElement(se,{pIf:u.rendered,instance:e,attrs:l,children:t.children}))}});export{ne as DEFAULT_MOTION_OPTIONS,He as Motion,N as MotionProvider,ie as createMotion2,I as defaultMotionProps,E as defaultUseMotionProps,D as useMotion,de as useMotionContext};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { UseMotionProps } from '@primereact/types/headless/motion';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import type { MotionInstance, MotionOptions } from '@primeuix/motion';
|
|
4
|
+
export declare const DEFAULT_MOTION_OPTIONS: MotionOptions;
|
|
5
|
+
/**
|
|
6
|
+
* Creates a MotionInstance for the given element with the specified options.
|
|
7
|
+
* @param element - The target element for motion effects.
|
|
8
|
+
* @param options - Configuration options for the motion instance.
|
|
9
|
+
* @returns A MotionInstance that can be used to control the motion.
|
|
10
|
+
*/
|
|
11
|
+
export declare function createMotion2(element: Element, options?: MotionOptions): MotionInstance;
|
|
12
|
+
export declare const useMotion: (inProps?: unknown) => import("@primereact/types/core").HeadlessInstance<UseMotionProps, unknown, {
|
|
13
|
+
state: {
|
|
14
|
+
rendered: boolean;
|
|
15
|
+
};
|
|
16
|
+
enter: () => Promise<void | (() => void)> | undefined;
|
|
17
|
+
leave: () => Promise<void | (() => void)> | undefined;
|
|
18
|
+
cancel: () => void | undefined;
|
|
19
|
+
update: (element?: Element, motionProps?: UseMotionProps) => void;
|
|
20
|
+
rootProps: {
|
|
21
|
+
style?: React.CSSProperties;
|
|
22
|
+
};
|
|
23
|
+
}>;
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
export interface OverlayOpenChangeEvent {
|
|
3
|
+
value: boolean | undefined;
|
|
4
|
+
}
|
|
5
|
+
export interface OverlayEntry<P> {
|
|
6
|
+
id: string;
|
|
7
|
+
props: P;
|
|
8
|
+
open: boolean;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Props the manager injects into every overlay's prop bag. Spread these onto the overlay's
|
|
12
|
+
* root component (e.g. `<Dialog.Root {...rest}>`) — the manager owns open state and lifecycle,
|
|
13
|
+
* so the render function should not wire any of these manually.
|
|
14
|
+
*/
|
|
15
|
+
export interface OverlayInjectedProps {
|
|
16
|
+
/** Stable id of the overlay entry. */
|
|
17
|
+
overlayId: string;
|
|
18
|
+
/** Whether the overlay should currently be open. The manager owns this value. */
|
|
19
|
+
open: boolean;
|
|
20
|
+
/** Fired by the overlay when its open state changes. The manager listens for `value: false` to begin closing the entry. */
|
|
21
|
+
onOpenChange: (event: OverlayOpenChangeEvent) => void;
|
|
22
|
+
/** Fired by the overlay once its leave transition completes. The manager removes the entry from the store. */
|
|
23
|
+
onExitComplete: () => void;
|
|
24
|
+
}
|
|
25
|
+
/** Render function passed to `createOverlayManager`. */
|
|
26
|
+
export type OverlayRenderFn<P> = (props: P & OverlayInjectedProps) => React.ReactNode;
|
|
27
|
+
/** Options for `createOverlayManager`. */
|
|
28
|
+
export interface OverlayManagerOptions<P> {
|
|
29
|
+
/** Default props merged under every entry's caller-supplied props. */
|
|
30
|
+
props?: Partial<P>;
|
|
31
|
+
}
|
|
32
|
+
/** Public instance returned from `createOverlayManager`. */
|
|
33
|
+
export interface OverlayManagerInstance<P> {
|
|
34
|
+
/** Opens (or replaces) the overlay entry under `id`. */
|
|
35
|
+
open: (id: string, props: P) => void;
|
|
36
|
+
/**
|
|
37
|
+
* Begins closing the entry (sets injected `open` to false). The entry is not removed until
|
|
38
|
+
* the overlay's exit transition completes — this lets exit animations finish. Pass no `id`
|
|
39
|
+
* to close every open entry.
|
|
40
|
+
*/
|
|
41
|
+
close: (id?: string) => void;
|
|
42
|
+
/**
|
|
43
|
+
* Updates the props of an existing overlay entry. Manager-owned keys (`open`, `onOpenChange`,
|
|
44
|
+
* `onExitComplete`, `overlayId`) are stripped to prevent accidental clobbering.
|
|
45
|
+
*/
|
|
46
|
+
update: (id: string, props: Partial<P>) => void;
|
|
47
|
+
/** Removes an entry immediately, skipping the exit animation. */
|
|
48
|
+
remove: (id: string) => void;
|
|
49
|
+
/** Removes every entry immediately. */
|
|
50
|
+
removeAll: () => void;
|
|
51
|
+
/** Whether the entry under `id` is currently open. */
|
|
52
|
+
isOpen: (id: string) => boolean;
|
|
53
|
+
/** Whether any entry is currently open. */
|
|
54
|
+
isAnyOpen: () => boolean;
|
|
55
|
+
/** Returns the user-supplied props for the entry under `id`, or undefined if not found. */
|
|
56
|
+
get: (id: string) => P | undefined;
|
|
57
|
+
/** Returns a snapshot of all current entries (id, open, props). */
|
|
58
|
+
getSnapshot: () => readonly OverlayEntry<P>[];
|
|
59
|
+
/** Replaces the render function. Useful for HMR or per-route render swaps. */
|
|
60
|
+
setRender: (render: OverlayRenderFn<P>) => void;
|
|
61
|
+
/** Renderer component. Mount as `<instance.Viewport />` once in the layout. */
|
|
62
|
+
Viewport: React.ComponentType;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Creates an overlay manager. Mount `<instance.Viewport />` once in the layout, then call
|
|
66
|
+
* `instance.open(id, props)` from anywhere to drive overlays imperatively.
|
|
67
|
+
*
|
|
68
|
+
* @example
|
|
69
|
+
* ```tsx
|
|
70
|
+
* const dialog = createOverlayManager<{ title: string }>(
|
|
71
|
+
* ({ title, ...rest }) => <Dialog.Root {...rest}>{title}</Dialog.Root>
|
|
72
|
+
* );
|
|
73
|
+
*
|
|
74
|
+
* // Layout
|
|
75
|
+
* <dialog.Viewport />
|
|
76
|
+
*
|
|
77
|
+
* // Anywhere
|
|
78
|
+
* dialog.open('greeting', { title: 'Hi' });
|
|
79
|
+
* ```
|
|
80
|
+
*/
|
|
81
|
+
export declare function createOverlayManager<P extends Record<string, any> = Record<string, never>>(render: OverlayRenderFn<P>, options?: OverlayManagerOptions<P>): OverlayManagerInstance<P>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './OverlayManager';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import*as o from"react";var v=(e,t)=>{if(e.length!==t.length)return!1;for(let r=0;r<e.length;r++)if(e[r].id!==t[r].id||e[r].open!==t[r].open)return!1;return!0};function y(){let e=new Map,t=new Set,r=[],l=[],p=()=>{let n=Array.from(e.values()),s=n.map(i=>({id:i.id,open:i.open}));return v(l,s)&&n.length===r.length&&!n.some((d,c)=>d.props!==r[c]?.props)?!1:(r=n,l=s,!0)},a=()=>{p()&&t.forEach(n=>n())};return{subscribe(n){return t.add(n),()=>{t.delete(n)}},getSnapshot(){return r},open(n,s){e.set(n,{id:n,props:s,open:!0}),a()},close(n){if(n===void 0){let i=!1;e.forEach((d,c)=>{d.open&&(e.set(c,{...d,open:!1}),i=!0)}),i&&a();return}let s=e.get(n);s?.open&&(e.set(n,{...s,open:!1}),a())},remove(n){e.delete(n)&&a()},removeAll(){e.size!==0&&(e.clear(),a())},update(n,s){let i=e.get(n);i&&(e.set(n,{...i,props:{...i.props,...s}}),a())},getItem(n){return e.get(n)},isOpen(n){return e.get(n)?.open??!1},isAnyOpen(){for(let n of e.values())if(n.open)return!0;return!1}}}function u({item:e,store:t,render:r,defaults:l}){let[p,a]=o.useState(!1);o.useEffect(()=>{a(!0)},[]);let n=o.useCallback(i=>{i.value||t.close(e.id)},[e.id,t]),s=o.useCallback(()=>{t.remove(e.id)},[e.id,t]);return o.createElement(o.Fragment,null,r.current({...l.current,...e.props,overlayId:e.id,open:p?e.open:!1,onOpenChange:n,onExitComplete:s}))}var P=(e,t,r)=>{let l=()=>{let p=o.useSyncExternalStore(e.subscribe,e.getSnapshot,e.getSnapshot);return o.createElement(o.Fragment,null,p.map(a=>o.createElement(u,{key:a.id,item:a,store:e,render:t,defaults:r})))};return l.displayName="OverlayManagerRender",l},f=["open","onOpenChange","onExitComplete","overlayId"];function g(e){let t={...e};for(let r of f)delete t[r];return t}function O(e,t={}){let r=y(),l={current:e},p={current:t.props},a=P(r,l,p);return{open:r.open,close:r.close,remove:r.remove,removeAll:r.removeAll,update:(n,s)=>r.update(n,g(s)),isOpen:r.isOpen,isAnyOpen:r.isAnyOpen,get:n=>r.getItem(n)?.props,getSnapshot:r.getSnapshot,setRender:n=>{l.current=n},Viewport:a}}export{O as createOverlayManager};
|
package/package.json
CHANGED
|
@@ -1,43 +1,44 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@primereact/core",
|
|
3
|
-
"version": "11.0.0-
|
|
3
|
+
"version": "11.0.0-rc.2",
|
|
4
4
|
"author": "PrimeTek Informatics",
|
|
5
|
-
"description": "",
|
|
6
|
-
"homepage": "https://primereact.
|
|
7
|
-
"license": "
|
|
8
|
-
"repository": {
|
|
9
|
-
"type": "git",
|
|
10
|
-
"url": "git+https://github.com/primefaces/primereact.git",
|
|
11
|
-
"directory": "packages/core"
|
|
12
|
-
},
|
|
5
|
+
"description": "Core components for PrimeReact.",
|
|
6
|
+
"homepage": "https://primereact.dev",
|
|
7
|
+
"license": "SEE LICENSE IN LICENSE.md",
|
|
13
8
|
"bugs": {
|
|
14
|
-
"url": "https://
|
|
9
|
+
"url": "https://support.primeui.dev"
|
|
15
10
|
},
|
|
16
11
|
"main": "./index.mjs",
|
|
17
12
|
"module": "./index.mjs",
|
|
18
|
-
"types": "./index.d.
|
|
13
|
+
"types": "./index.d.ts",
|
|
19
14
|
"exports": {
|
|
20
15
|
".": {
|
|
21
|
-
"types": "./index.d.
|
|
16
|
+
"types": "./index.d.ts",
|
|
22
17
|
"import": "./index.mjs",
|
|
23
18
|
"default": "./index.mjs"
|
|
24
19
|
},
|
|
25
20
|
"./*": {
|
|
26
|
-
"types": "./*/index.d.
|
|
21
|
+
"types": "./*/index.d.ts",
|
|
27
22
|
"import": "./*/index.mjs",
|
|
28
23
|
"default": "./*/index.mjs"
|
|
29
24
|
}
|
|
30
25
|
},
|
|
26
|
+
"sideEffects": false,
|
|
31
27
|
"publishConfig": {
|
|
32
28
|
"access": "public"
|
|
33
29
|
},
|
|
34
30
|
"dependencies": {
|
|
35
|
-
"@
|
|
36
|
-
"@primeuix/
|
|
37
|
-
"@primeuix/
|
|
38
|
-
"@
|
|
31
|
+
"@primeui/license-manager": "^1.0.0-rc.2",
|
|
32
|
+
"@primeuix/styled": "^1.0.0-rc.3",
|
|
33
|
+
"@primeuix/utils": "^0.8.0-rc.2",
|
|
34
|
+
"@primeuix/motion": "^1.0.0-rc.2",
|
|
35
|
+
"@primeuix/locale": "^0.1.0-rc.1",
|
|
36
|
+
"@primereact/hooks": "11.0.0-rc.2",
|
|
37
|
+
"@primereact/types": "11.0.0-rc.2"
|
|
39
38
|
},
|
|
40
39
|
"peerDependencies": {
|
|
41
40
|
"react": ">=19.0.0"
|
|
42
|
-
}
|
|
41
|
+
},
|
|
42
|
+
"repository": {},
|
|
43
|
+
"type": "module"
|
|
43
44
|
}
|