@primereact/core 11.0.0-rc.1 → 11.0.0-rc.3
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/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} +2 -5
- 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 +24 -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 -2
- 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 +0 -1
- package/headless/useHeadless.d.ts +9 -0
- package/headless/withHeadless.d.ts +15 -0
- package/icon/Icon.d.ts +4 -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 +3 -2
- package/icon/useIcon.d.ts +6 -0
- package/icon/withIcon.d.ts +24 -0
- package/{index.d.mts → index.d.ts} +1 -0
- package/index.mjs +0 -1
- package/license/index.d.ts +1 -0
- package/license/index.mjs +1 -2
- package/license/{index.d.mts → licensebanner.d.ts} +1 -3
- 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 +4 -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/{index.d.mts → OverlayManager.d.ts} +7 -10
- package/overlay-manager/index.d.ts +1 -0
- package/overlay-manager/index.mjs +1 -2
- package/package.json +14 -11
- 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 +2 -1
- 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 +5 -4
- 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/api/index.mjs.map +0 -1
- package/base/index.mjs.map +0 -1
- package/component/index.d.mts +0 -71
- package/component/index.mjs.map +0 -1
- package/config/index.d.mts +0 -17
- package/config/index.mjs.map +0 -1
- package/dnd/index.d.mts +0 -69
- package/dnd/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/license/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 -42
- package/motion/index.mjs.map +0 -1
- package/overlay-manager/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 -104
- package/utils/index.mjs.map +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
declare const FilterMatchMode: Readonly<{
|
|
1
|
+
export declare const FilterMatchMode: Readonly<{
|
|
2
2
|
readonly STARTS_WITH: "startsWith";
|
|
3
3
|
readonly CONTAINS: "contains";
|
|
4
4
|
readonly NOT_CONTAINS: "notContains";
|
|
@@ -17,12 +17,4 @@ declare const FilterMatchMode: Readonly<{
|
|
|
17
17
|
readonly DATE_AFTER: "dateAfter";
|
|
18
18
|
readonly CUSTOM: "custom";
|
|
19
19
|
}>;
|
|
20
|
-
declare type FilterMatchModeType = (typeof FilterMatchMode)[keyof typeof FilterMatchMode];
|
|
21
|
-
|
|
22
|
-
declare const FilterOperator: Readonly<{
|
|
23
|
-
AND: "and";
|
|
24
|
-
OR: "or";
|
|
25
|
-
}>;
|
|
26
|
-
declare type FilterOperatorType = (typeof FilterOperator)[keyof typeof FilterOperator];
|
|
27
|
-
|
|
28
|
-
export { FilterMatchMode, type FilterMatchModeType, FilterOperator, type FilterOperatorType };
|
|
20
|
+
export declare type FilterMatchModeType = (typeof FilterMatchMode)[keyof typeof FilterMatchMode];
|
package/api/index.d.ts
ADDED
package/api/index.mjs
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
1
|
var e=Object.freeze({STARTS_WITH:"startsWith",CONTAINS:"contains",NOT_CONTAINS:"notContains",ENDS_WITH:"endsWith",EQUALS:"equals",NOT_EQUALS:"notEquals",IN:"in",LESS_THAN:"lt",LESS_THAN_OR_EQUAL_TO:"lte",GREATER_THAN:"gt",GREATER_THAN_OR_EQUAL_TO:"gte",BETWEEN:"between",DATE_IS:"dateIs",DATE_IS_NOT:"dateIsNot",DATE_BEFORE:"dateBefore",DATE_AFTER:"dateAfter",CUSTOM:"custom"});var o=Object.freeze({AND:"and",OR:"or"});export{e as FilterMatchMode,o as FilterOperator};
|
|
2
|
-
//# sourceMappingURL=index.mjs.map
|
package/base/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './useBase';
|
package/base/index.mjs
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
//# sourceMappingURL=index.mjs.map
|
|
1
|
+
import{usePrimeReact as M}from"@primereact/core/config";import{useAttrSelector as b,useId as w,useProps as C}from"@primereact/hooks";import{resolve as I,toKebabCase as S}from"@primeuix/utils";import*as e from"react";var K=(s="UnknownBase",y)=>{let n=M(),{type:u,inProps:t,defaultProps:f,setup:x}=y||{},i=w(t?.id),m=b("pc_"),[B,D]=e.useMemo(()=>s.toLowerCase().split("."),[s]),d=e.useRef(null),R=e.useRef(void 0),r=e.useMemo(()=>({ref:d,elementRef:R,id:i,name:s,type:u,scope:B,part:S(D),inProps:t,$attrSelector:m,$primereact:n}),[i,t,m,n,s,u]),p=n.config?.defaults,E=e.useMemo(()=>{let g=I(p?.[s]||p?.[s.toLowerCase()],r);return{...f,...g?.props}},[f,p,s]),{props:l,attrs:P}=C(E,t),a=e.useMemo(()=>({...r,props:l,attrs:P}),[r,l,P]),o=I(x,a),c=e.useMemo(()=>({state:{},$computedSetup:o,...o,...a,elementRef:o?.elementRef??R}),[o,a]);return e.useImperativeHandle(d,()=>c,[c]),c};export{K as useBase};
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { Instance, useBaseOptions } from '@primereact/types/core';
|
|
2
2
|
import * as React from 'react';
|
|
3
|
-
|
|
4
3
|
/**
|
|
5
4
|
* A custom hook for creating a base instance.
|
|
6
5
|
* This hook is used to initialize a base instance with common properties and methods.
|
|
@@ -9,9 +8,7 @@ import * as React from 'react';
|
|
|
9
8
|
* @param options The options for the base instance.
|
|
10
9
|
* @returns The base instance.
|
|
11
10
|
*/
|
|
12
|
-
declare const useBase: <IProps extends {
|
|
11
|
+
export declare const useBase: <IProps extends {
|
|
13
12
|
id?: string;
|
|
14
13
|
ref?: React.Ref<unknown>;
|
|
15
14
|
}, DProps, Exposes extends Record<PropertyKey, unknown>>(name: string | undefined, options: useBaseOptions<IProps, DProps, Exposes>) => Instance<Pick<DProps & IProps, keyof DProps>, IProps, Record<PropertyKey, unknown>, Exposes>;
|
|
16
|
-
|
|
17
|
-
export { useBase };
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { ComponentInstance, ComponentProps } from '@primereact/types/core';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
/**
|
|
4
|
+
* A component wrapper for rendering elements with additional props and attributes.
|
|
5
|
+
* @param inProps The properties to pass to the component.
|
|
6
|
+
* @returns A React element or null if `pIf` is false.
|
|
7
|
+
*/
|
|
8
|
+
export declare function Component<I extends ComponentInstance = ComponentInstance>(inProps?: ComponentProps<I>): React.JSX.Element | null;
|
|
9
|
+
export declare namespace Component {
|
|
10
|
+
var displayName: string;
|
|
11
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Merges props based on the merge function or merge flag.
|
|
3
|
+
*/
|
|
4
|
+
export declare function mergeProps<T extends unknown[], R = Record<PropertyKey, unknown>>(fn: ((...args: T) => R | undefined) | boolean, ...args: T): R;
|
|
5
|
+
/**
|
|
6
|
+
* Resolves a PT class value — wraps string/array values in { className }.
|
|
7
|
+
*/
|
|
8
|
+
export declare function getPTClassValue(obj?: Record<string, unknown>, key?: string, params?: Record<string, unknown>): unknown;
|
|
9
|
+
/**
|
|
10
|
+
* Extracts pass-through value for a given component name from the PT object.
|
|
11
|
+
*/
|
|
12
|
+
export declare function getPT<Fn extends (...args: unknown[]) => unknown>(pt: Record<string, unknown> | undefined, key: string | undefined, name: string | undefined, fn?: Fn): Record<string, unknown>;
|
package/component/index.mjs
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
|
-
var Se=Object.defineProperty,he=Object.defineProperties;var we=Object.getOwnPropertyDescriptors;var J=Object.getOwnPropertySymbols;var ce=Object.prototype.hasOwnProperty,ue=Object.prototype.propertyIsEnumerable;var ae=(c,r,p)=>r in c?Se(c,r,{enumerable:!0,configurable:!0,writable:!0,value:p}):c[r]=p,a=(c,r)=>{for(var p in r||(r={}))ce.call(r,p)&&ae(c,p,r[p]);if(J)for(var p of J(r))ue.call(r,p)&&ae(c,p,r[p]);return c},I=(c,r)=>he(c,we(r));var $=(c,r)=>{var p={};for(var t in c)ce.call(c,t)&&r.indexOf(t)<0&&(p[t]=c[t]);if(c!=null&&J)for(var t of J(c))r.indexOf(t)<0&&ue.call(c,t)&&(p[t]=c[t]);return p};import{isValidElement as be,mergeRefs as ke}from"@primereact/core/utils";import{cn as Te,resolve as Q}from"@primeuix/utils";import*as A from"react";function xe(c={}){var j,D,v,d,R;let L=c,{pIf:r=!0,style:p,className:t,as:l,asChild:w,instance:n,render:e}=L,m=$(L,["pIf","style","className","as","asChild","instance","render"]);if(r===!1)return null;let u=l||((j=n==null?void 0:n.props)==null?void 0:j.as)||A.Fragment,f=e||w||((D=n==null?void 0:n.props)==null?void 0:D.asChild),y=u===A.Fragment,N=m,{ref:g,children:C,attrs:x}=N,O=$(N,["ref","children","attrs"]),b=a(a({},x),O),F=Q(e!=null?e:C,n,b),M=Q(p||((v=n==null?void 0:n.props)==null?void 0:v.style),n),H=Q(t||((d=n==null?void 0:n.props)==null?void 0:d.className),n);if(f||y)return A.createElement(A.Fragment,null,F);if(be(u))return Q(u,n);{let o=I(a({},b),{style:a(a({},b.style),M),className:Te(b.className,H)}),s=ke(n==null?void 0:n.elementRef,b.ref,g,(R=n==null?void 0:n.props)==null?void 0:R.ref);return o.children?A.createElement(u,I(a({},o),{ref:s})):A.createElement(u,I(a({},o),{ref:s}),F)}}xe.displayName="PrimeReact.Component";import{omit as Ie}from"@primeuix/utils";var ee=Object.freeze({ref:void 0,pIf:!0,style:void 0,className:void 0,as:void 0,asChild:!1,instance:void 0,pt:void 0,ptOptions:void 0,unstyled:void 0,dt:void 0,styles:void 0,render:void 0,children:void 0}),Ye=Object.freeze(I(a({},Ie(ee,"pt","ptOptions","dt","styles")),{attrs:void 0}));import{useBase as Ge}from"@primereact/core/base";import*as z from"react";import{useMountEffect as ve,useUnmountEffect as Ke,useUpdateEffect as Fe}from"@primereact/hooks";import{mergeProps as Le}from"@primeuix/utils/mergeprops";import{getKeyValue as ne,isNotEmpty as je,isString as le,resolve as pe}from"@primeuix/utils/object";import*as T from"react";import{mergeProps as Oe}from"@primeuix/utils/mergeprops";import{getKeyValue as Ee,isArray as _e,isFunction as Me,isString as Ne,toFlatCase as ie}from"@primeuix/utils/object";function X(c,...r){return Me(c)?c(...r):c?Oe(...r):Object.assign({},...r)}function Y(c={},r="",p){let t=Ee(c,r,p);return Ne(t)||_e(t)?{className:t}:t}function U(c,r,p,t){let l=(w,n=!1)=>{var f;let e=t?t(w):w,m=ie(r!=null?r:""),u=ie(p!=null?p:"");return(f=n?m!==u?e==null?void 0:e[m]:void 0:e==null?void 0:e[m])!=null?f:e};return c&&Object.hasOwn(c,"_usept")?{_usept:c._usept,originalValue:l(c.originalValue),value:l(c.value)}:l(c,!0)}function me(c,r){let{id:p,name:t,scope:l,part:w,props:n,attrs:e,$primereact:m,$attrSelector:u}=c||{},f=m==null?void 0:m.passthrough,y=f==null?void 0:f.value,g=f==null?void 0:f.options,C=T.useCallback((o,s,i="",S)=>{let h=k=>s(k,i,S);if(o&&Object.hasOwn(o,"_usept")){let{mergeSections:k=!0,mergeProps:K=!1}=o._usept||g||{},E=h(o.originalValue),_=h(o.value);return E===void 0&&_===void 0?void 0:le(_)?_:le(E)?E:k||!k&&_?X(K,E,_):_}return h(o)},[g]),x=T.useCallback(o=>{let s=C(U(n.pt,t,t),ne,`hooks.${o}`),i=C(U(y,void 0,t),ne,`hooks.${o}`);s==null||s(),i==null||i()},[n.pt,t,C,y]),O=T.useMemo(()=>U(y,void 0,t,o=>pe(o,c)),[y,t]),b=T.useMemo(()=>U(y,void 0,t,o=>ne(o,t,c)||pe(o,c)),[y,t]),F=T.useMemo(()=>Object.entries(e||{}).filter(([o])=>o==null?void 0:o.startsWith("pt-")).reduce((o,[s,i])=>{let[,S,...h]=s.split("-");return[S,h==null?void 0:h.join("-")].filter(Boolean).reduce((k,K,E,_)=>(k[K]||(k[K]=E===_.length-1?i:{}),k[K]),o),o},{}),[e]),M=T.useMemo(()=>Object.entries(e||{}).filter(([o])=>!(o!=null&&o.startsWith("pt-"))).reduce((o,[s,i])=>(o[s]=i,o),{}),[e]),H=T.useCallback((o="")=>{let s="data-";return o==="root"&&je(e==null?void 0:e["data-scope"])?{[`${s}extend`]:l,[`${s}styled`]:l}:I(a({[`${s}scope`]:l},o==="root"&&{[`${s}part`]:w,[`${s}id`]:u,[`${s}styled`]:l}),{[`${s}slot`]:o})},[l,w,u,e]),L=T.useCallback((o={},s,i="",S)=>{let h=C(U(o,t,t),s,i,S),k=C(F,s,i,S);return X(!0,h!=null?h:{},k!=null?k:{})},[F,C,t]),j=T.useCallback((o,s="",i)=>C(O,o,s,i),[O,C]),D=T.useCallback((o,s,i)=>C(b,o,s,i),[b,C]),N=T.useCallback((o={},s="",i={},S=!0)=>{let h=s.includes(".")&&!!i[s.split(".")[0]],{mergeSections:k=!0,mergeProps:K=!1}=(n==null?void 0:n.ptOptions)||g||{},E=S?h?j(Y,s,i):D(Y,s,i):void 0,_=h?void 0:L(o,Y,s,I(a({},i),{global:E||{}})),re=H(s);return k||!k&&_?X(K,E,_,re):a(a({},_),re)},[n.ptOptions,j,D,L,H]),v=T.useCallback((o="",s={})=>N(n.pt,o,a(a({},r),s)),[n.pt,r,N]),d=T.useCallback((o="",s={})=>{var S;let i=Le(M,v(o,s));return i&&Object.hasOwn(i,"id")&&((S=i.id)!=null||(i.id=p)),i},[v,p,M]),R=T.useCallback((o={},s="",i={})=>N(o,s,a(a({},r),i),!1),[r,N]);return ve(()=>x("onMounted")),Fe(()=>x("onUpdated")),Ke(()=>x("onUnmounted")),T.useMemo(()=>({ptm:v,ptmi:d,ptmo:R}),[v,d,R])}import{isDev as He,StyleRegistry as q}from"@primereact/core/utils";import{Theme as W,ThemeService as ye}from"@primeuix/styled";import{cn as Ue,getKeyValue as se,isClient as V}from"@primeuix/utils";import*as P from"react";import{ThemeContext as De}from"@primereact/core/theme";import{useStyle as Ae}from"@primereact/core/use-style";import{css as te,dt as de,Theme as B}from"@primeuix/styled";import{isNotEmpty as Be,minifyCSS as oe,resolve as fe,toElement as Ve}from"@primeuix/utils";import*as G from"react";function Re(c,r){let p=G.useContext(De),[t]=Ae(),l=G.useCallback((w,n)=>t({name:n==null?void 0:n.name,css:w,element:Ve(r),options:n}),[t,r]);return G.useMemo(()=>{let w=I(a({name:"base"},c),{load(n="",e={},m="",u=!1){let f=e.name||w.name,y=te`${n}${m}`,g=u?B.transformCSS(f,y):y;return Be(g)?l(oe(g),a({name:f},e)):void 0},loadCSS(n){return this.load(this.css,n)},loadStyle(n,e=""){return this.load(this.style,n,e,!0)},getCommonTheme(n){return B.getCommon(this.name,n)},getComponentTheme(n){return B.getComponent(this.name,n)},getPresetTheme(n,e,m){return B.getCustomPreset(this.name,n,e,m)},getLayerOrderThemeCSS(){return B.getLayerOrderCSS(this.name)},getStyleSheet(n="",e={}){if(this.css){let m=fe(this.css,{dt:de}),u=oe(te`${m}${n}`),f=Object.entries(e).reduce((y,[g,C])=>(y.push(`${g}="${C}"`),y),[]).join(" ");return`<style type="text/css" data-primereact-style-id="${this.name}" ${f}>${u}</style>`}return""},getCommonThemeStyleSheet(n,e={}){return B.getCommonStyleSheet(this.name,n,e)},getThemeStyleSheet(n,e={}){let m=[B.getStyleSheet(this.name,n,e)];if(p){let u=this.name==="base"?"global-style":`${this.name}-style`,f=te`${fe(p,{dt:de})}`,y=oe(B.transformCSS(this.name,f)),g=Object.entries(e).reduce((C,[x,O])=>(C.push(`${x}="${O}"`),C),[]).join(" ");m.push(`<style type="text/css" data-primereact-style-id="${u}" ${g}>${y}</style>`)}return m.join("")}});return w},[c,p,l])}function ge(c,r,p){var j,D,N,v;let{props:t={unstyled:!1,dt:void 0},$primereact:l,$attrSelector:w,elementRef:n}=c||{},e=Re(r,n),m=P.useMemo(()=>{var d;return t.unstyled!==void 0?t.unstyled:(d=l==null?void 0:l.config)==null?void 0:d.unstyled},[t.unstyled,(j=l==null?void 0:l.config)==null?void 0:j.unstyled]),u=P.useMemo(()=>{var d,R;return{nonce:(R=(d=l==null?void 0:l.config)==null?void 0:d.csp)==null?void 0:R.nonce}},[(N=(D=l==null?void 0:l.config)==null?void 0:D.csp)==null?void 0:N.nonce]),f=P.useRef(null),y=P.useRef(!1),g=P.useRef(null),C=P.useRef(null),x=P.useRef(!1);if(He){let d=r==null?void 0:r.style,R=typeof d=="string"?d:null;R!==null&&C.current!==R&&(C.current=R,x.current=!0)}let O=P.useCallback(()=>{if(!(e!=null&&e.name))return;let d=e.name==="global"?"base":e.name;if(!V()){e.loadCSS(a({name:d},u));return}g.current&&g.current!==e.name&&(q.releaseStyleName(g.current),g.current=null);let R=x.current;(R||!g.current)&&((R||q.retainStyleName(e.name))&&e.loadCSS(a({name:d},u)),g.current=e.name)},[e,u]),b=P.useCallback(()=>{if(m||(l==null?void 0:l.theme)==="none")return;let d=()=>{var K,E;let{primitive:i,semantic:S,global:h,style:k}=((K=e==null?void 0:e.getCommonTheme)==null?void 0:K.call(e))||{};e.load(i==null?void 0:i.css,a({name:"primitive-variables"},u)),e.load(S==null?void 0:S.css,a({name:"semantic-variables"},u)),e.load(h==null?void 0:h.css,a({name:"global-variables"},u)),e.load((E=e.baseStyles)==null?void 0:E.style,a({name:"global-style"},u),k,!0)},R=()=>{var h;let{css:i,style:S}=((h=e==null?void 0:e.getComponentTheme)==null?void 0:h.call(e))||{};e.load(i,a({name:`${e.name}-variables`},u)),e.loadStyle(a({name:`${e.name}-style`},u),S)},o=()=>{var S;let i=(S=e==null?void 0:e.getLayerOrderThemeCSS)==null?void 0:S.call(e);e.load(i,a({name:"layer-order",first:!0},u))};if(!V()){d(),e!=null&&e.name&&R(),o();return}let s=x.current;(s||!W.isStyleNameLoaded("common"))&&(d(),W.setLoadedStyleName("common")),(s||!W.isStyleNameLoaded(e==null?void 0:e.name))&&(e!=null&&e.name)&&(R(),W.setLoadedStyleName(e.name)),(s||!W.isStyleNameLoaded("layer-order"))&&(o(),W.setLoadedStyleName("layer-order"))},[m,e,u]),F=P.useCallback(()=>{let{css:d}=e.baseStyles||{};if(!V()){e.load(d,a({name:"base"},u)),b();return}let R=x.current;(R||!y.current)&&(y.current=!0,(R||q.retainStyleName("base"))&&e.load(d,a({name:"base"},u))),b(),x.current=!1},[e,u,b]),M=P.useCallback(d=>{var s;let{css:R}=((s=e==null?void 0:e.getPresetTheme)==null?void 0:s.call(e,d,`[${w}]`))||{},o=e==null?void 0:e.load(R,a({name:`${w}-${e.name}`},u));f.current=o||null},[e,w,u]),H=P.useCallback((d="",R={})=>m?void 0:Ue(se(e.classes,d,I(a({},p),{context:R}))),[m,p,e.classes]),L=P.useCallback((d="",R=!0,o={})=>{var s;if(R){let i=se(e.inlineStyles,d,I(a({},p),{context:o})),S=se((s=e.baseStyles)==null?void 0:s.inlineStyles,d,I(a({},p),{context:o}));return a(a({},S),i)}},[e.inlineStyles,(v=e.baseStyles)==null?void 0:v.inlineStyles,p]);return!V()&&!m&&(O(),F(),M(t.dt)),P.useInsertionEffect(()=>{!V()||m||(O(),F())},[m,O,F]),P.useEffect(()=>{if(!V()||m||(l==null?void 0:l.theme)==="none")return;let d=()=>{b(),M(t.dt)};return ye.on("theme:change",d),()=>{ye.off("theme:change",d)}},[m,l==null?void 0:l.theme,b,M,t.dt]),P.useInsertionEffect(()=>{var d;if(!(!V()||m))return(d=f.current)==null||d.remove(),f.current=null,M(t.dt),()=>{var R;(R=f.current)==null||R.remove(),f.current=null}},[m,t.dt,M]),P.useEffect(()=>{if(V())return()=>{y.current&&(q.releaseStyleName("base"),y.current=!1),g.current&&(q.releaseStyleName(g.current),g.current=null)}},[]),P.useMemo(()=>({cx:H,sx:L,isUnstyled:m,$style:e}),[H,L,m,e])}function Ce(c="UnknownComponent",r={}){let p=z.useMemo(()=>a(a({},ee),r.defaultProps),[r.defaultProps]),t=Ge(c,{type:r.type,inProps:r.inProps,defaultProps:p,setup:r.setup}),{ref:l,props:w}=t,n=z.useMemo(()=>({instance:t,props:t.props,attrs:t.attrs,state:t.state}),[t.props,t.attrs,t.state]),e=me(t,n),m=ge(t,w.styles||r.styles,n),u=z.useMemo(()=>a(a(a({},t),e),m),[t,e,m]);return z.useImperativeHandle(l,()=>u,[u]),u}import{isObject as Pe}from"@primeuix/utils";import*as Z from"react";function _n({name:c="UnknownComponent",type:r="primitive",defaultProps:p,styles:t,components:l,setup:w,render:n}){let m=Z.memo(u=>{let f=Ce(c,{type:r,inProps:u,defaultProps:p,styles:t,setup:w}),y=n!=null?n:(()=>null);return f.props.pIf?Z.createElement(y,a({},f)):null},(u,f)=>{if(!Pe(u)||!Pe(f))return!1;let y=u,g=f,C=Object.keys(y);if(C.length!==Object.keys(g).length)return!1;for(let x of C){let O=y[x],b=g[x];if(typeof O=="function"||typeof b=="function"){if(O!==b)return!1;continue}if(!Object.is(O,b))return!1}return!0});return m.displayName=`PrimeReact.${c}`,Object.entries(l||{}).forEach(([u,f])=>{m[u]=f}),m}export{xe as Component,Ye as defaultComponentProps,ee as globalProps,Ce as useComponent,_n as withComponent};
|
|
2
|
-
//# sourceMappingURL=index.mjs.map
|
|
1
|
+
import{isValidElement as de,mergeRefs as fe}from"@primereact/core/utils";import{cn as ye,resolve as W}from"@primeuix/utils";import*as K from"react";function Re(c={}){let{pIf:u=!0,style:g,className:t,as:i,asChild:C,instance:n,render:e,...r}=c;if(u===!1)return null;let s=i||n?.props?.as||K.Fragment,d=e||C||n?.props?.asChild,m=s===K.Fragment,{ref:f,children:y,attrs:k,...b}=r,S={...k,...b},E=W(e??y,n,S),O=W(g||n?.props?.style,n),V=W(t||n?.props?.className,n);if(d||m)return K.createElement(K.Fragment,null,E);if(de(s))return W(s,n);{let _={...S,style:{...S.style,...O},className:ye(S.className,V)},l=fe(n?.elementRef,S.ref,f,n?.props?.ref);return _.children?K.createElement(s,{..._,ref:l}):K.createElement(s,{..._,ref:l},E)}}Re.displayName="PrimeReact.Component";import{omit as ge}from"@primeuix/utils";var Q=Object.freeze({ref:void 0,pIf:!0,style:void 0,className:void 0,as:void 0,asChild:!1,instance:void 0,pt:void 0,ptOptions:void 0,unstyled:void 0,dt:void 0,styles:void 0,render:void 0,children:void 0}),Ve=Object.freeze({...ge(Q,"pt","ptOptions","dt","styles"),attrs:void 0});import{useBase as Me}from"@primereact/core/base";import*as U from"react";import{useMountEffect as be,useUnmountEffect as we,useUpdateEffect as Te}from"@primereact/hooks";import{mergeProps as xe}from"@primeuix/utils/mergeprops";import{getKeyValue as X,isNotEmpty as Ie,isString as se,resolve as oe}from"@primeuix/utils/object";import*as h from"react";import{mergeProps as Pe}from"@primeuix/utils/mergeprops";import{getKeyValue as Ce,isArray as Se,isFunction as he,isString as ke,toFlatCase as ne}from"@primeuix/utils/object";function z(c,...u){return he(c)?c(...u):c?Pe(...u):Object.assign({},...u)}function q(c={},u="",g){let t=Ce(c,u,g);return ke(t)||Se(t)?{className:t}:t}function A(c,u,g,t){let i=(C,n=!1)=>{let e=t?t(C):C,r=ne(u??""),s=ne(g??"");return(n?r!==s?e?.[r]:void 0:e?.[r])??e};return c&&Object.hasOwn(c,"_usept")?{_usept:c._usept,originalValue:i(c.originalValue),value:i(c.value)}:i(c,!0)}function re(c,u){let{id:g,name:t,scope:i,part:C,props:n,attrs:e,$primereact:r,$attrSelector:s}=c||{},d=r?.passthrough,m=d?.value,f=d?.options,y=h.useCallback((o,a,p="",M)=>{let $=w=>a(w,p,M);if(o&&Object.hasOwn(o,"_usept")){let{mergeSections:w=!0,mergeProps:H=!1}=o._usept||f||{},v=$(o.originalValue),x=$(o.value);return v===void 0&&x===void 0?void 0:se(x)?x:se(v)?v:w||!w&&x?z(H,v,x):x}return $(o)},[f]),k=h.useCallback(o=>{let a=y(A(n.pt,t,t),X,`hooks.${o}`),p=y(A(m,void 0,t),X,`hooks.${o}`);a?.(),p?.()},[n.pt,t,y,m]),b=h.useMemo(()=>A(m,void 0,t,o=>oe(o,c)),[m,t]),S=h.useMemo(()=>A(m,void 0,t,o=>X(o,t,c)||oe(o,c)),[m,t]),E=h.useMemo(()=>Object.entries(e||{}).filter(([o])=>o?.startsWith("pt-")).reduce((o,[a,p])=>{let[,M,...$]=a.split("-");return[M,$?.join("-")].filter(Boolean).reduce((w,H,v,x)=>(w[H]||(w[H]=v===x.length-1?p:{}),w[H]),o),o},{}),[e]),O=h.useMemo(()=>Object.entries(e||{}).filter(([o])=>!o?.startsWith("pt-")).reduce((o,[a,p])=>(o[a]=p,o),{}),[e]),V=h.useCallback((o="")=>{let a="data-";return o==="root"&&Ie(e?.["data-scope"])?{[`${a}extend`]:i,[`${a}styled`]:i}:{[`${a}scope`]:i,...o==="root"&&{[`${a}part`]:C,[`${a}id`]:s,[`${a}styled`]:i},[`${a}slot`]:o}},[i,C,s,e]),_=h.useCallback((o={},a,p="",M)=>{let $=y(A(o,t,t),a,p,M),w=y(E,a,p,M);return z(!0,$??{},w??{})},[E,y,t]),l=h.useCallback((o,a="",p)=>y(b,o,a,p),[b,y]),P=h.useCallback((o,a,p)=>y(S,o,a,p),[S,y]),T=h.useCallback((o={},a="",p={},M=!0)=>{let $=a.includes(".")&&!!p[a.split(".")[0]],{mergeSections:w=!0,mergeProps:H=!1}=n?.ptOptions||f||{},v=M?$?l(q,a,p):P(q,a,p):void 0,x=$?void 0:_(o,q,a,{...p,global:v||{}}),te=V(a);return w||!w&&x?z(H,v,x,te):{...x,...te}},[n.ptOptions,l,P,_,V]),I=h.useCallback((o="",a={})=>T(n.pt,o,{...u,...a}),[n.pt,u,T]),N=h.useCallback((o="",a={})=>{let p=xe(O,I(o,a));return p&&Object.hasOwn(p,"id")&&(p.id??=g),p},[I,g,O]),D=h.useCallback((o={},a="",p={})=>T(o,a,{...u,...p},!1),[u,T]);return be(()=>k("onMounted")),Te(()=>k("onUpdated")),we(()=>k("onUnmounted")),h.useMemo(()=>({ptm:I,ptmi:N,ptmo:D}),[I,N,D])}import{isDev as Ne,StyleRegistry as G}from"@primereact/core/utils";import{Theme as F,ThemeService as ie}from"@primeuix/styled";import{cn as ve,getKeyValue as ee,isClient as j}from"@primeuix/utils";import*as R from"react";import{ThemeContext as Oe}from"@primereact/core/theme";import{useStyle as $e}from"@primereact/core/use-style";import{css as Y,dt as ae,Theme as L}from"@primeuix/styled";import{isNotEmpty as Ee,minifyCSS as Z,resolve as ce,toElement as _e}from"@primeuix/utils";import*as B from"react";function ue(c,u){let g=B.useContext(Oe),[t]=$e(),i=B.useCallback((C,n)=>t({name:n?.name,css:C,element:_e(u),options:n}),[t,u]);return B.useMemo(()=>{let C={name:"base",...c,load(n="",e={},r="",s=!1){let d=e.name||C.name,m=Y`${n}${r}`,f=s?L.transformCSS(d,m):m;return Ee(f)?i(Z(f),{name:d,...e}):void 0},loadCSS(n){return this.load(this.css,n)},loadStyle(n,e=""){return this.load(this.style,n,e,!0)},getCommonTheme(n){return L.getCommon(this.name,n)},getComponentTheme(n){return L.getComponent(this.name,n)},getPresetTheme(n,e,r){return L.getCustomPreset(this.name,n,e,r)},getLayerOrderThemeCSS(){return L.getLayerOrderCSS(this.name)},getStyleSheet(n="",e={}){if(this.css){let r=ce(this.css,{dt:ae}),s=Z(Y`${r}${n}`),d=Object.entries(e).reduce((m,[f,y])=>(m.push(`${f}="${y}"`),m),[]).join(" ");return`<style type="text/css" data-primereact-style-id="${this.name}" ${d}>${s}</style>`}return""},getCommonThemeStyleSheet(n,e={}){return L.getCommonStyleSheet(this.name,n,e)},getThemeStyleSheet(n,e={}){let r=[L.getStyleSheet(this.name,n,e)];if(g){let s=this.name==="base"?"global-style":`${this.name}-style`,d=Y`${ce(g,{dt:ae})}`,m=Z(L.transformCSS(this.name,d)),f=Object.entries(e).reduce((y,[k,b])=>(y.push(`${k}="${b}"`),y),[]).join(" ");r.push(`<style type="text/css" data-primereact-style-id="${s}" ${f}>${m}</style>`)}return r.join("")}};return C},[c,g,i])}function le(c,u,g){let{props:t={unstyled:!1,dt:void 0},$primereact:i,$attrSelector:C,elementRef:n}=c||{},e=ue(u,n),r=R.useMemo(()=>t.unstyled!==void 0?t.unstyled:i?.config?.unstyled,[t.unstyled,i?.config?.unstyled]),s=R.useMemo(()=>({nonce:i?.config?.csp?.nonce}),[i?.config?.csp?.nonce]),d=R.useRef(null),m=R.useRef(!1),f=R.useRef(null),y=R.useRef(null),k=R.useRef(!1);if(Ne){let l=u?.style,P=typeof l=="string"?l:null;P!==null&&y.current!==P&&(y.current=P,k.current=!0)}let b=R.useCallback(()=>{if(!e?.name)return;let l=e.name==="global"?"base":e.name;if(!j()){e.loadCSS({name:l,...s});return}f.current&&f.current!==e.name&&(G.releaseStyleName(f.current),f.current=null);let P=k.current;(P||!f.current)&&((P||G.retainStyleName(e.name))&&e.loadCSS({name:l,...s}),f.current=e.name)},[e,s]),S=R.useCallback(()=>{if(r||i?.theme==="none")return;let l=()=>{let{primitive:N,semantic:D,global:o,style:a}=e?.getCommonTheme?.()||{};e.load(N?.css,{name:"primitive-variables",...s}),e.load(D?.css,{name:"semantic-variables",...s}),e.load(o?.css,{name:"global-variables",...s}),e.load(e.baseStyles?.style,{name:"global-style",...s},a,!0)},P=()=>{let{css:N,style:D}=e?.getComponentTheme?.()||{};e.load(N,{name:`${e.name}-variables`,...s}),e.loadStyle({name:`${e.name}-style`,...s},D)},T=()=>{let N=e?.getLayerOrderThemeCSS?.();e.load(N,{name:"layer-order",first:!0,...s})};if(!j()){l(),e?.name&&P(),T();return}let I=k.current;(I||!F.isStyleNameLoaded("common"))&&(l(),F.setLoadedStyleName("common")),(I||!F.isStyleNameLoaded(e?.name))&&e?.name&&(P(),F.setLoadedStyleName(e.name)),(I||!F.isStyleNameLoaded("layer-order"))&&(T(),F.setLoadedStyleName("layer-order"))},[r,e,s]),E=R.useCallback(()=>{let{css:l}=e.baseStyles||{};if(!j()){e.load(l,{name:"base",...s}),S();return}let P=k.current;(P||!m.current)&&(m.current=!0,(P||G.retainStyleName("base"))&&e.load(l,{name:"base",...s})),S(),k.current=!1},[e,s,S]),O=R.useCallback(l=>{i?.theme?.options?.cssVariables===!1&&e?.name&&F.addScopedToken({[e.name]:l})&&(F.deleteLoadedStyleName(e.name),S());let{css:P}=e?.getPresetTheme?.(l,`[${C}]`)||{},T=e?.load(P,{name:`${C}-${e.name}`,...s});d.current=T||null},[e,C,s,S,i?.theme]),V=R.useCallback((l="",P={})=>r?void 0:ve(ee(e.classes,l,{...g,context:P})),[r,g,e.classes]),_=R.useCallback((l="",P=!0,T={})=>{if(P){let I=ee(e.inlineStyles,l,{...g,context:T});return{...ee(e.baseStyles?.inlineStyles,l,{...g,context:T}),...I}}},[e.inlineStyles,e.baseStyles?.inlineStyles,g]);return!j()&&!r&&(b(),E(),O(t.dt)),R.useInsertionEffect(()=>{!j()||r||(b(),E())},[r,b,E]),R.useEffect(()=>{if(!j()||r||i?.theme==="none")return;let l=()=>{S(),O(t.dt)};return ie.on("theme:change",l),()=>{ie.off("theme:change",l)}},[r,i?.theme,S,O,t.dt]),R.useInsertionEffect(()=>{if(!(!j()||r))return d.current?.remove(),d.current=null,O(t.dt),()=>{d.current?.remove(),d.current=null}},[r,t.dt,O]),R.useEffect(()=>{if(j())return()=>{m.current&&(G.releaseStyleName("base"),m.current=!1),f.current&&(G.releaseStyleName(f.current),f.current=null)}},[]),R.useMemo(()=>({cx:V,sx:_,isUnstyled:r,$style:e}),[V,_,r,e])}function pe(c="UnknownComponent",u={}){let g=U.useMemo(()=>({...Q,...u.defaultProps}),[u.defaultProps]),t=Me(c,{type:u.type,inProps:u.inProps,defaultProps:g,setup:u.setup}),{ref:i,props:C}=t,n=U.useMemo(()=>({instance:t,props:t.props,attrs:t.attrs,state:t.state}),[t.props,t.attrs,t.state]),e=re(t,n),r=le(t,C.styles||u.styles,n),s=U.useMemo(()=>({...t,...e,...r}),[t,e,r]);return U.useImperativeHandle(i,()=>s,[s]),s}import{isObject as me}from"@primeuix/utils";import*as J from"react";function dt({name:c="UnknownComponent",type:u="primitive",defaultProps:g,styles:t,components:i,setup:C,render:n}){let r=J.memo(s=>{let d=pe(c,{type:u,inProps:s,defaultProps:g,styles:t,setup:C}),m=n??(()=>null);return d.props.pIf?J.createElement(m,{...d}):null},(s,d)=>{if(!me(s)||!me(d))return!1;let m=s,f=d,y=Object.keys(m);if(y.length!==Object.keys(f).length)return!1;for(let k of y){let b=m[k],S=f[k];if(typeof b=="function"||typeof S=="function"){if(b!==S)return!1;continue}if(!Object.is(b,S))return!1}return!0});return r.displayName=`PrimeReact.${c}`,Object.entries(i||{}).forEach(([s,d])=>{r[s]=d}),r}export{Re as Component,Ve as defaultComponentProps,Q as globalProps,pe as useComponent,dt as withComponent};
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { InComponentInstance, useComponentOptions } from '@primereact/types/core';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
/**
|
|
4
|
+
* A hook for creating a component instance.
|
|
5
|
+
* This hook initializes a component with properties, attributes, and styles, and provides methods for handling pass-through options and styles.
|
|
6
|
+
* It also supports custom setup functions for additional configuration.
|
|
7
|
+
*
|
|
8
|
+
* @param name The name of the component, used for debugging and identification.
|
|
9
|
+
* @param options The options to customize the component instance.
|
|
10
|
+
* @returns The component instance.
|
|
11
|
+
*/
|
|
12
|
+
export declare function useComponent<IProps, DProps, Exposes extends Record<PropertyKey, unknown>, Styles>(name?: string, options?: useComponentOptions<IProps, DProps, Exposes, Styles>): InComponentInstance<import("@primereact/types").SafeRecord<Pick<{
|
|
13
|
+
ref?: React.Ref<unknown> | undefined;
|
|
14
|
+
pIf?: boolean | undefined;
|
|
15
|
+
style?: React.CSSProperties | ((instance?: import("@primereact/types/core").ComponentInstance<Record<PropertyKey, unknown>, Record<PropertyKey, unknown>, Record<PropertyKey, unknown>> | undefined) => React.CSSProperties | undefined) | undefined;
|
|
16
|
+
className?: string | ((instance?: import("@primereact/types/core").ComponentInstance<Record<PropertyKey, unknown>, Record<PropertyKey, unknown>, Record<PropertyKey, unknown>> | undefined) => string | undefined) | undefined;
|
|
17
|
+
as?: string | number | bigint | boolean | React.ComponentClass<any, any> | React.FunctionComponent<any> | React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | Iterable<React.ReactNode> | React.ReactPortal | Promise<string | number | bigint | boolean | React.ReactPortal | React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | Iterable<React.ReactNode> | null | undefined> | null | undefined;
|
|
18
|
+
asChild?: boolean | undefined;
|
|
19
|
+
instance?: import("@primereact/types/core").ComponentInstance<Record<PropertyKey, unknown>, Record<PropertyKey, unknown>, Record<PropertyKey, unknown>> | undefined;
|
|
20
|
+
pt?: Record<PropertyKey, unknown> | undefined;
|
|
21
|
+
ptOptions?: import("@primereact/types/core").PassThroughOptions | undefined;
|
|
22
|
+
unstyled?: boolean | undefined;
|
|
23
|
+
dt?: unknown;
|
|
24
|
+
styles?: import("@primereact/types/styles").StylesOptions | undefined;
|
|
25
|
+
render?: ((instance: import("@primereact/types/core").ComponentInstance<Record<PropertyKey, unknown>, Record<PropertyKey, unknown>, Record<PropertyKey, unknown>>) => React.ReactNode) | undefined;
|
|
26
|
+
children?: any;
|
|
27
|
+
} & IProps & {
|
|
28
|
+
id?: string;
|
|
29
|
+
ref?: React.Ref<unknown>;
|
|
30
|
+
}, "dt" | "style" | "ref" | "pIf" | "className" | "as" | "asChild" | "instance" | "pt" | "ptOptions" | "unstyled" | "styles" | "render" | "children">>, IProps, Record<PropertyKey, unknown>, Exposes>;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { GlobalComponentProps, Instance, useComponentPTReturnType } from '@primereact/types/core';
|
|
2
|
+
/**
|
|
3
|
+
* A hook for managing pass-through options for a component.
|
|
4
|
+
*
|
|
5
|
+
* @param instance The instance of the component.
|
|
6
|
+
* @param $params Additional parameters for the hook.
|
|
7
|
+
* @returns An object containing the pass-through options.
|
|
8
|
+
*/
|
|
9
|
+
export declare function useComponentPT<Props extends GlobalComponentProps, IProps, Params>(instance: Instance<Props, IProps>, $params?: Params): useComponentPTReturnType;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { GlobalComponentProps, Instance, useComponentStyleReturnType } from '@primereact/types/core';
|
|
2
|
+
/**
|
|
3
|
+
* A hook for managing component styles.
|
|
4
|
+
*
|
|
5
|
+
* @param instance The instance of the component.
|
|
6
|
+
* @param styles The styles to apply to the component.
|
|
7
|
+
* @param $params Additional parameters for the hook.
|
|
8
|
+
* @returns An object containing the component styles.
|
|
9
|
+
*/
|
|
10
|
+
export declare function useComponentStyle<Props extends GlobalComponentProps, IProps, Styles, Params>(instance: Instance<Props, IProps>, styles?: Styles, $params?: Params): useComponentStyleReturnType;
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import type { Preset, StylesOptions, StyleType } from '@primereact/types/styles';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
/**
|
|
4
|
+
* A custom hook for managing component styles.
|
|
5
|
+
*
|
|
6
|
+
* @param styles The styles to apply to the component.
|
|
7
|
+
* @param elementRef A reference to the HTML element.
|
|
8
|
+
* @returns An object containing methods to load and manage styles.
|
|
9
|
+
*/
|
|
10
|
+
export declare function useComponentStyleHandler<Styles>(styles?: Styles, elementRef?: React.Ref<HTMLElement>): {
|
|
11
|
+
load(style?: StyleType, options?: Record<PropertyKey, unknown> & {
|
|
12
|
+
name?: string;
|
|
13
|
+
}, extendedStyle?: string, enableThemeTransform?: boolean): void | Element;
|
|
14
|
+
loadCSS(options?: Record<PropertyKey, unknown>): void | Element;
|
|
15
|
+
loadStyle(options?: Record<PropertyKey, unknown>, extendedStyle?: string): void | Element;
|
|
16
|
+
getCommonTheme(params?: Record<PropertyKey, unknown>): {
|
|
17
|
+
primitive: {
|
|
18
|
+
css: string | undefined;
|
|
19
|
+
tokens: string[] | undefined;
|
|
20
|
+
};
|
|
21
|
+
semantic: {
|
|
22
|
+
css: string | undefined;
|
|
23
|
+
tokens: string[] | undefined;
|
|
24
|
+
};
|
|
25
|
+
global: {
|
|
26
|
+
css: string | undefined;
|
|
27
|
+
tokens: string[] | undefined;
|
|
28
|
+
};
|
|
29
|
+
style: string | undefined;
|
|
30
|
+
};
|
|
31
|
+
getComponentTheme(params?: Record<PropertyKey, unknown>): {
|
|
32
|
+
css: string | undefined;
|
|
33
|
+
tokens: string[] | undefined;
|
|
34
|
+
style: string | undefined;
|
|
35
|
+
};
|
|
36
|
+
getPresetTheme(preset: Preset, selector: string, params?: Record<PropertyKey, unknown>): {
|
|
37
|
+
css: string | undefined;
|
|
38
|
+
tokens: string[] | undefined;
|
|
39
|
+
style: string | undefined;
|
|
40
|
+
};
|
|
41
|
+
getLayerOrderThemeCSS(): string;
|
|
42
|
+
getStyleSheet(extendedCSS?: string, props?: {}): string;
|
|
43
|
+
getCommonThemeStyleSheet(params?: Record<PropertyKey, unknown>, props?: Record<PropertyKey, unknown>): string;
|
|
44
|
+
getThemeStyleSheet(params?: Record<PropertyKey, unknown>, props?: Record<PropertyKey, unknown>): string;
|
|
45
|
+
name: string;
|
|
46
|
+
css?: StyleType | undefined;
|
|
47
|
+
style?: StyleType | undefined;
|
|
48
|
+
classes?: import("@primereact/types/styles").ClassesType<import("@primereact/types/core").ComponentInstance> | undefined;
|
|
49
|
+
inlineStyles?: import("@primereact/types/styles").InlineStylesType<import("@primereact/types/core").ComponentInstance> | undefined;
|
|
50
|
+
baseStyles?: StylesOptions<import("@primereact/types/core").ComponentInstance> | undefined;
|
|
51
|
+
};
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { ComponentInstance, withComponentOptions } from '@primereact/types/core';
|
|
2
|
+
import type { StylesOptions } from '@primereact/types/styles';
|
|
3
|
+
import * as React from 'react';
|
|
4
|
+
/**
|
|
5
|
+
* A higher-order component for enhancing a component with additional features.
|
|
6
|
+
*
|
|
7
|
+
* @template IProps The interface for the component's input properties.
|
|
8
|
+
* @template DProps The interface for the component's default properties.
|
|
9
|
+
* @template Exposes The interface for the properties that the component exposes.
|
|
10
|
+
* @template Styles The styles options for the component.
|
|
11
|
+
* @template CData Additional data to expose on the component.
|
|
12
|
+
*
|
|
13
|
+
* @param options The options for the component.
|
|
14
|
+
* @param options.name The name of the component, used for debugging and identification.
|
|
15
|
+
* @param options.defaultProps The default properties for the component.
|
|
16
|
+
* @param options.styles The styles to apply to the component.
|
|
17
|
+
* @param options.components Additional components to include in the component.
|
|
18
|
+
* @param options.setup A setup function for additional configuration of the component.
|
|
19
|
+
* @param options.render A render function for the component.
|
|
20
|
+
* @returns A React component wrapped with the specified options.
|
|
21
|
+
*/
|
|
22
|
+
export declare function withComponent<IProps, DProps, Exposes extends Record<PropertyKey, unknown> = Record<PropertyKey, unknown>, Styles = StylesOptions, CData = Record<string, unknown>>({ name, type, defaultProps, styles, components, setup, render }: withComponentOptions<IProps, DProps, Exposes, Styles, CData>): (<I extends 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) => React.JSX.Element | null) & CData & {
|
|
23
|
+
displayName?: string;
|
|
24
|
+
};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { PrimeReactProps } from '@primereact/types/core';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
export declare const PrimeReactContext: React.Context<PrimeReactProps | undefined>;
|
|
4
|
+
export declare function PrimeReactProvider(inProps?: React.PropsWithChildren<PrimeReactProps>): React.JSX.Element;
|
package/config/index.mjs
CHANGED
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
3
|
+
import{showInvalidLicenseBanner as T}from"@primereact/core/license";import{LocaleProvider as h}from"@primereact/core/locale";import{PassThroughProvider as E}from"@primereact/core/passthrough";import{ThemeProvider as x}from"@primereact/core/theme";import{useProps as A}from"@primereact/hooks";import{registerLicense as _,verifyLicense as v}from"@primeui/license-manager";import{resolve as S}from"@primeuix/utils";import*as t from"react";import{FilterMatchMode as e}from"@primereact/core/api";var f={csp:{nonce:void 0},defaults:void 0,filterMatchModeOptions:{text:[e.STARTS_WITH,e.CONTAINS,e.NOT_CONTAINS,e.ENDS_WITH,e.EQUALS,e.NOT_EQUALS],numeric:[e.EQUALS,e.NOT_EQUALS,e.LESS_THAN,e.LESS_THAN_OR_EQUAL_TO,e.GREATER_THAN,e.GREATER_THAN_OR_EQUAL_TO],date:[e.DATE_IS,e.DATE_IS_NOT,e.DATE_BEFORE,e.DATE_AFTER]},inputVariant:void 0,locale:"en",pt:void 0,ptOptions:{mergeSections:!0,mergeProps:!1},ripple:!1,theme:void 0,stylesheet:void 0,unstyled:!1,zIndex:{modal:1100,overlay:1e3,menu:1e3,tooltip:1100},license:void 0};var C="2026-06-28",c=t.createContext(void 0);function W(i={}){let{props:r,attrs:n}=A(f,i),[s,u]=t.useState(r.inputVariant),[m,l]=t.useState(r.defaults),[p,R]=t.useState(r.zIndex);t.useEffect(()=>{r.license&&_({primeui:r.license}),v("primeui",{releaseDate:C}).then(d=>{d.valid||(console.warn(`[PrimeUI] ${d.message}`),T())})},[]);let a=t.useMemo(()=>({inputVariant:s,setInputVariant:u,defaults:m,setDefaults:l,zIndex:p,setZIndex:R}),[s,m,p]),P=t.useMemo(()=>S(n.children,a),[n.children,a]);return t.createElement(c.Provider,{value:a},t.createElement(h,{lang:r.locale},t.createElement(E,{value:r.pt,...r.ptOptions},t.createElement(x,{preset:r.theme?.preset,stylesheet:r.stylesheet,...r.theme?.options},P))))}import{LocaleContext as L}from"@primereact/core/locale";import{PassThroughContext as N}from"@primereact/core/passthrough";import{ThemeContext as O}from"@primereact/core/theme";import*as o from"react";function Z(){let i=o.useContext(c),r=o.useContext(L),n=o.useContext(N),s=o.useContext(O);if(i===void 0)throw new Error("[PrimeReact] PrimeReactProvider not found. Wrap your application in <PrimeReactProvider> before using PrimeReact components.");return o.useMemo(()=>({config:i,locale:r,passthrough:n,theme:s}),[i,r,n,s])}export{c as PrimeReactContext,W as PrimeReactProvider,f as defaultConfigProps,Z as usePrimeReact};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export declare function usePrimeReact(): {
|
|
2
|
+
config: import("@primereact/types/core").PrimeReactProps;
|
|
3
|
+
locale: import("@primereact/types/core").LocaleContextValue | undefined;
|
|
4
|
+
passthrough: import("@primereact/types/core").PassThroughProps | undefined;
|
|
5
|
+
theme: import("@primereact/types/core").ThemeProps | null;
|
|
6
|
+
};
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Collision detection strategies for createDnd.
|
|
3
|
+
*/
|
|
4
|
+
import type { CollisionResult, DragData, Point, Rect, UniqueId } from '@primereact/types/primitive/dnd';
|
|
5
|
+
export interface CollisionInput {
|
|
6
|
+
position: Point;
|
|
7
|
+
activeRect: Rect | null;
|
|
8
|
+
droppables: Array<{
|
|
9
|
+
id: UniqueId;
|
|
10
|
+
rect: Rect;
|
|
11
|
+
data: DragData;
|
|
12
|
+
disabled?: boolean;
|
|
13
|
+
}>;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Returns droppables whose rect contains the pointer.
|
|
17
|
+
* Smallest (innermost) droppable wins for nested scenarios.
|
|
18
|
+
*/
|
|
19
|
+
declare function pointerWithin(input: CollisionInput): CollisionResult[];
|
|
20
|
+
/**
|
|
21
|
+
* Returns droppables overlapping the active drag rect, sorted by overlap %.
|
|
22
|
+
*/
|
|
23
|
+
declare function rectIntersection(input: CollisionInput): CollisionResult[];
|
|
24
|
+
/**
|
|
25
|
+
* Returns droppables sorted by center-to-center distance (closest first).
|
|
26
|
+
*/
|
|
27
|
+
declare function closestCenter(input: CollisionInput): CollisionResult[];
|
|
28
|
+
/**
|
|
29
|
+
* Returns droppables sorted by average corner-to-corner distance (closest first).
|
|
30
|
+
*/
|
|
31
|
+
declare function closestCorners(input: CollisionInput): CollisionResult[];
|
|
32
|
+
/** All built-in collision strategies. */
|
|
33
|
+
export declare const collisionStrategies: {
|
|
34
|
+
readonly pointerWithin: typeof pointerWithin;
|
|
35
|
+
readonly rectIntersection: typeof rectIntersection;
|
|
36
|
+
readonly closestCenter: typeof closestCenter;
|
|
37
|
+
readonly closestCorners: typeof closestCorners;
|
|
38
|
+
};
|
|
39
|
+
export {};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* createDnd — Framework-Agnostic Drag & Drop Core
|
|
3
|
+
*
|
|
4
|
+
* Pure JavaScript implementation following the createMotion pattern.
|
|
5
|
+
* Can be wrapped by React, Angular, Vue, Lit, Svelte, Solid etc.
|
|
6
|
+
*
|
|
7
|
+
* - SSR-safe: No DOM access at module level or during creation.
|
|
8
|
+
* - Zero memory leaks: destroy() cleans every listener, timer, observer.
|
|
9
|
+
* - Cross-browser: Uses only standard, well-supported APIs.
|
|
10
|
+
* - Performance: RAF-throttled pointer, zero-reflow scroll pattern, rect caching.
|
|
11
|
+
*/
|
|
12
|
+
import type { CreateDndOptions, DndInstance } from '@primereact/types/primitive/dnd';
|
|
13
|
+
export { collisionStrategies } from './collision';
|
|
14
|
+
export { arrayMove, arrayTransfer } from './sortable';
|
|
15
|
+
export declare function createDnd(options?: CreateDndOptions): DndInstance;
|
package/dnd/index.d.ts
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export { createDnd, collisionStrategies, arrayMove, arrayTransfer } from './createDnd';
|
|
2
|
+
export type { UniqueId, Point, Rect, DragData, Transform, CollisionStrategy, SortDirection, DraggableRegistration, DroppableRegistration, SortableContainerRegistration, DragStartEvent, DragMoveEvent, DragOverEvent, DragEndEvent, DragCancelEvent, SortEvent, TransferEvent, DragOperation, SortableOperationState, CollisionResult, DndState, PointerSensorOptions, KeyboardSensorOptions, AutoScrollOptions, DndAnnouncements, CreateDndOptions, DndEventMap, DndInstance } from '@primereact/types/primitive/dnd';
|
|
3
|
+
export type { CollisionInput } from './collision';
|
package/dnd/index.mjs
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
|
-
var Qe=Object.defineProperty,et=Object.defineProperties;var tt=Object.getOwnPropertyDescriptors;var we=Object.getOwnPropertySymbols;var nt=Object.prototype.hasOwnProperty,ot=Object.prototype.propertyIsEnumerable;var Se=(n,e,a)=>e in n?Qe(n,e,{enumerable:!0,configurable:!0,writable:!0,value:a}):n[e]=a,K=(n,e)=>{for(var a in e||(e={}))nt.call(e,a)&&Se(n,a,e[a]);if(we)for(var a of we(e))ot.call(e,a)&&Se(n,a,e[a]);return n},X=(n,e)=>et(n,tt(e));var Ee={onDragStart:n=>{var e,a;return`Picked up ${(a=(e=n.active.data)==null?void 0:e.label)!=null?a:"item"}. Use Arrow keys to move, Space or Enter to drop, Escape to cancel.`},onDragOver:n=>{var e,a;return n.over?`Over ${(a=(e=n.over.data)==null?void 0:e.label)!=null?a:"drop zone"}.`:"Not over a drop zone."},onDragEnd:n=>{var e,a;return n.cancelled?"Drag cancelled. Item returned to original position.":n.over?`Dropped on ${(a=(e=n.over.data)==null?void 0:e.label)!=null?a:"drop zone"}.`:"Dropped."},onDragCancel:()=>"Drag cancelled. Item returned to original position.",onSortOver:n=>`Moved to position ${n.index+1} of ${n.total}${n.containerId?` in ${String(n.containerId)}`:""}.`};function _(){return typeof window!="undefined"&&typeof document!="undefined"}function te(n){let e=n.getBoundingClientRect();return{x:e.x,y:e.y,width:e.width,height:e.height,top:e.top,right:e.right,bottom:e.bottom,left:e.left}}function ge(n,e,a,t){return{x:n,y:e,width:a,height:t,top:e,right:n+a,bottom:e+t,left:n}}function Me(n,e){return ge(n.x-e.x,n.y-e.y,n.width,n.height)}function Z(n,e){return Math.sqrt((n.x-e.x)**2+(n.y-e.y)**2)}function N(n){return{x:n.x+n.width/2,y:n.y+n.height/2}}function se(n,e){return n.x>=e.left&&n.x<=e.right&&n.y>=e.top&&n.y<=e.bottom}function ve(n){return n.width*n.height}function Pe(n,e){let a=Math.max(n.left,e.left),t=Math.max(n.top,e.top),s=Math.min(n.right,e.right)-a,m=Math.min(n.bottom,e.bottom)-t;return s>0&&m>0?s*m:0}function Te(n){if(!_())return null;let e=n.parentElement;for(;e&&e!==document.documentElement;){let a=getComputedStyle(e),t=(a.overflowY==="auto"||a.overflowY==="scroll")&&e.scrollHeight>e.clientHeight,s=(a.overflowX==="auto"||a.overflowX==="scroll")&&e.scrollWidth>e.clientWidth;if(t||s)return e;e=e.parentElement}return document.documentElement.scrollHeight>document.documentElement.clientHeight?document.documentElement:null}function be(n){return n===document.documentElement?{x:window.scrollX,y:window.scrollY}:{x:n.scrollLeft,y:n.scrollTop}}function Ae(n,e,a){n===document.documentElement?window.scrollBy(e,a):n.scrollBy(e,a)}function Ie(n,e){let a=null;return{call(){a!==null&&clearTimeout(a),a=setTimeout(()=>{a=null,n()},e)},cancel(){a!==null&&(clearTimeout(a),a=null)}}}function it(n){let e=[];for(let a of n.droppables)if(!a.disabled&&se(n.position,a.rect)){let t=ve(a.rect);t>0&&e.push({id:a.id,data:a.data,ratio:1/t})}return e.sort((a,t)=>{var s,m;return((s=t.ratio)!=null?s:0)-((m=a.ratio)!=null?m:0)}),e}function rt(n){if(!n.activeRect)return[];let e=[];for(let a of n.droppables){if(a.disabled)continue;let t=Pe(n.activeRect,a.rect);if(t>0){let s=ve(a.rect);e.push({id:a.id,data:a.data,ratio:s>0?t/s:0})}}return e.sort((a,t)=>{var s,m;return((s=t.ratio)!=null?s:0)-((m=a.ratio)!=null?m:0)}),e}function at(n){if(!n.activeRect)return[];let e=N(n.activeRect),a=[];for(let t of n.droppables)t.disabled||a.push({id:t.id,data:t.data,distance:Z(e,N(t.rect))});return a.sort((t,s)=>{var m,C;return((m=t.distance)!=null?m:1/0)-((C=s.distance)!=null?C:1/0)}),a}function ct(n){if(!n.activeRect)return[];let e=n.activeRect,a=[{x:e.left,y:e.top},{x:e.right,y:e.top},{x:e.left,y:e.bottom},{x:e.right,y:e.bottom}],t=[];for(let s of n.droppables){if(s.disabled)continue;let m=s.rect,C=[{x:m.left,y:m.top},{x:m.right,y:m.top},{x:m.left,y:m.bottom},{x:m.right,y:m.bottom}],g=0;for(let S=0;S<4;S++)g+=Z(a[S],C[S]);t.push({id:s.id,data:s.data,distance:g/4})}return t.sort((s,m)=>{var C,g;return((C=s.distance)!=null?C:1/0)-((g=m.distance)!=null?g:1/0)}),t}var ce={pointerWithin:it,rectIntersection:rt,closestCenter:at,closestCorners:ct};var Ue=.25;function qe(n){let{position:e,items:a,direction:t,activeId:s,allowInsideDrop:m=!1}=n,C={index:0,position:"before",targetId:null,dropPosition:"before",targetRect:null};if(a.length===0)return C;let g=a.filter(x=>x.id!==s);if(g.length===0)return C;let S=0,E=1/0;for(let x=0;x<g.length;x++){let ne=N(g[x].rect),F=t==="horizontal"?Math.abs(e.x-ne.x):t==="vertical"?Math.abs(e.y-ne.y):Z(e,ne);F<E&&(E=F,S=x)}let w=g[S],O=w.rect,v=N(O),U;t==="horizontal"?U=e.x<v.x?"before":"after":t==="vertical"?U=e.y<v.y?"before":"after":U=e.y<v.y?"before":e.y>v.y?"after":e.x<v.x?"before":"after";let z;m?z=lt(e,O,t):z=U;let y=a.findIndex(x=>x.id===w.id);return{index:U==="after"?y+1:y,position:U,targetId:w.id,dropPosition:z,targetRect:O}}function lt(n,e,a){if(a==="horizontal"){let s=e.width*Ue;return n.x<e.left+s?"before":n.x>e.right-s?"after":"inside"}let t=e.height*Ue;return n.y<e.top+t?"before":n.y>e.bottom-t?"after":"inside"}function Le(n){let{items:e,activeId:a,originalIndex:t,projectedIndex:s,activeRect:m,itemRects:C,direction:g}=n,S=new Map;if(!m||t===s)return S;let E=s>t;if(g==="grid")for(let w=0;w<e.length;w++){let O=e[w];if(O===a||!(E?w>t&&w<=s:w>=s&&w<t))continue;let U=E?w-1:w+1;e[U]===a&&(U=E?U-1:U+1);let z=e[U],y=C.get(O),x=z?C.get(z):null;y&&x&&S.set(O,{x:x.x-y.x,y:x.y-y.y,scaleX:1,scaleY:1})}else{let w=g==="horizontal"?m.width:0,O=g==="vertical"?m.height:0;for(let v=0;v<e.length;v++){let U=e[v];if(U===a)continue;let z=0,y=0;E?v>t&&v<=s&&(z=-w,y=-O):v>=s&&v<t&&(z=w,y=O),(z!==0||y!==0)&&S.set(U,{x:z,y,scaleX:1,scaleY:1})}}return S}function ke(n){let{sourceItems:e,targetItems:a,activeId:t,originalIndex:s,projectedIndex:m,activeRect:C,sourceDirection:g,targetDirection:S}=n,E=new Map,w=new Map;if(!C)return{sourceTransforms:E,targetTransforms:w};let O=g==="horizontal"?C.width:0,v=g==="vertical"||g==="grid"?C.height:0;for(let y=0;y<e.length;y++)e[y]!==t&&y>s&&E.set(e[y],{x:-O,y:-v,scaleX:1,scaleY:1});let U=S==="horizontal"?C.width:0,z=S==="vertical"||S==="grid"?C.height:0;for(let y=0;y<a.length;y++)y>=m&&w.set(a[y],{x:U,y:z,scaleX:1,scaleY:1});return{sourceTransforms:E,targetTransforms:w}}function Ke(n,e,a){if(e<0||e>=n.length||a<0||a>n.length)return n.slice();let t=n.slice(),[s]=t.splice(e,1);return t.splice(a,0,s),t}function ze(n,e,a,t){if(a<0||a>=n.length||t<0||t>e.length)return{source:n.slice(),target:e.slice()};let s=n.slice(),[m]=s.splice(a,1),C=e.slice();return C.splice(t,0,m),{source:s,target:C}}function st(n){var Re;let e=!1;function a(){if(e)throw new Error("createDnd: instance has been destroyed.")}let t={operation:null,draggables:new Map,droppables:new Map,sortableContainers:new Map,collisions:[],sortable:null},s=new Set,m=!1;function C(){if(!m){m=!0;try{for(let o of s)o()}finally{m=!1}}}function g(o){let i=o(t);i!==t&&(t=i,C())}let S=new Map;function E(o,i){let r=S.get(o);if(r)for(let c of r)c(i)}let w=(Re=n==null?void 0:n.collisionDetection)!=null?Re:"pointerWithin";function O(){var o;return(o=ce[w])!=null?o:ce.pointerWithin}let v=null,U=(n==null?void 0:n.autoScroll)!==!1,z=typeof(n==null?void 0:n.autoScroll)=="object"?n.autoScroll:{},y=null,x={x:0,y:0},ne=K(K({},Ee),n==null?void 0:n.announcements),F=new Map;function de(){if(_()){F.clear();for(let[o,i]of t.draggables)i.node&&F.set(o,te(i.node));for(let[o,i]of t.droppables)i.node&&F.set(o,te(i.node));for(let[o,i]of t.sortableContainers)i.node&&F.set(o,te(i.node))}}function Y(o,i){let r=F.get(o);return r?Me(r,i):null}function ye(){t.operation&&(de(),x={x:0,y:0},le(t.operation.current))}let oe=Ie(ye,50),ue=Ie(ye,100),W=null,J=null,ie=null,re=null;function He(){if(!(!_()||typeof ResizeObserver=="undefined")){W=new ResizeObserver(()=>oe.call());for(let[,o]of t.sortableContainers)o.node&&W.observe(o.node)}}function je(){if(!_())return;let o=()=>ue.call();window.addEventListener("resize",o,{passive:!0}),re=()=>{window.removeEventListener("resize",o),ue.cancel()}}function Oe(){if(!_())return;if(typeof MutationObserver!="undefined"){J=new MutationObserver(()=>oe.call());for(let[,r]of t.sortableContainers)r.node&&J.observe(r.node,{childList:!0})}let o=v!=null?v:window,i=()=>oe.call();o.addEventListener("scroll",i,{passive:!0}),ie=()=>o.removeEventListener("scroll",i)}function xe(){J==null||J.disconnect(),J=null,ie==null||ie(),ie=null,oe.cancel()}function Xe(o){var u;let i=[],r=t.operation;if(!r)return i;let c=t.draggables.get(r.activeId);for(let[l,f]of t.droppables){if(f.disabled)continue;let R=Y(l,o);if(!R)continue;let T=!f.accept||(c==null?void 0:c.scope)!=null&&f.accept.includes(c.scope),H=f.canDrop?f.canDrop(r.data):!0;T&&H&&i.push({id:l,rect:R,data:(u=f.data)!=null?u:{},disabled:!1})}for(let[l,f]of t.sortableContainers){if(f.disabled)continue;let R=Y(l,o);if(!R)continue;(!f.accept||(c==null?void 0:c.scope)!=null&&f.accept.includes(c.scope))&&i.push({id:l,rect:R,data:{},disabled:!1})}return i}function Ye(o,i){if(o.length!==i.length)return!1;for(let r=0;r<o.length;r++)if(o[r].id!==i[r].id)return!1;return!0}function le(o,i){var T,H;let r=t.operation;if(!r)return;let c=i!=null?i:x,u=Xe(c),l=Y(r.activeId,c),f=O()({position:o,activeRect:l,droppables:u});if(!Ye(t.collisions,f)){let q=(T=t.collisions[0])!=null?T:null,b=(H=f[0])!=null?H:null;g(I=>X(K({},I),{collisions:f})),(q==null?void 0:q.id)!==(b==null?void 0:b.id)&&E("dragOver",{active:{id:r.activeId,data:r.data},over:b?{id:b.id,data:b.data}:null})}Be(o,c)}let ae=null;function Ne(o){if(ae){let i=t.sortableContainers.get(ae.containerId);if(i){let r=i.items.indexOf(o);if(r!==-1)return{container:i,index:r}}ae=null}for(let[,i]of t.sortableContainers){let r=i.items.indexOf(o);if(r!==-1)return ae={containerId:i.id,index:r},{container:i,index:r}}return null}function Fe(o,i){if(o.size!==i.size)return!1;for(let[r,c]of o){let u=i.get(r);if(!u||c.x!==u.x||c.y!==u.y)return!1}return!0}function Be(o,i){var d,M,P,D;let r=t.operation;if(!r)return;let c=Ne(r.activeId);if(!c){t.sortable!==null&&g(p=>X(K({},p),{sortable:null}));return}let u=t.draggables.get(r.activeId),l=null;for(let[,p]of t.sortableContainers){let A=Y(p.id,i);if(!A||!se(o,A))continue;if(!p.accept||(u==null?void 0:u.scope)!=null&&p.accept.includes(u.scope)||p.id===c.container.id){l=p;break}}l||(l=c.container);let f=[];for(let p of l.items){let A=Y(p,i);A&&f.push({id:p,rect:A})}let R=qe({position:o,items:f,direction:l.direction,activeId:r.activeId,allowInsideDrop:l.allowInsideDrop}),T=R.index,H=l.id!==c.container.id,q;if(H){let{sourceTransforms:p,targetTransforms:A}=ke({sourceItems:c.container.items,targetItems:l.items,activeId:r.activeId,originalIndex:c.index,projectedIndex:T,activeRect:Y(r.activeId,i),sourceDirection:c.container.direction,targetDirection:l.direction});q=new Map([...p,...A])}else q=Le({items:c.container.items,activeId:r.activeId,originalIndex:c.index,projectedIndex:T,activeRect:Y(r.activeId,i),itemRects:F,direction:c.container.direction});let b=R.targetId!=null?{targetId:R.targetId,position:R.dropPosition,targetRect:R.targetRect}:null,I={sourceContainerId:c.container.id,currentContainerId:l.id,originalIndex:c.index,projectedIndex:T,transforms:q,dropIndicator:b},k=t.sortable;(!k||k.currentContainerId!==I.currentContainerId||k.projectedIndex!==I.projectedIndex||!Fe(k.transforms,I.transforms)||((d=k.dropIndicator)==null?void 0:d.targetId)!==((M=I.dropIndicator)==null?void 0:M.targetId)||((P=k.dropIndicator)==null?void 0:P.position)!==((D=I.dropIndicator)==null?void 0:D.position))&&g(p=>X(K({},p),{sortable:I}))}function We(){if(!(!U||!_())){if(!v){let o=t.draggables.get(t.operation.activeId);o!=null&&o.node&&(v=Te(o.node))}v&&(x={x:0,y:0},De())}}function he(){y!==null&&(cancelAnimationFrame(y),y=null),x={x:0,y:0}}function De(){var T,H,q;let o=t.operation;if(!o||!v)return;let i=(T=z.threshold)!=null?T:50,r=(H=z.speed)!=null?H:15,c=(q=z.direction)!=null?q:"both",u=o.current,l=v===document.documentElement?ge(0,0,window.innerWidth,window.innerHeight):te(v),f=0,R=0;if(c!=="horizontal"){let b=u.y-l.top,I=l.bottom-u.y;b>=0&&b<i?R=-r*(1-b/i):I>=0&&I<i&&(R=r*(1-I/i))}if(c!=="vertical"){let b=u.x-l.left,I=l.right-u.x;b>=0&&b<i?f=-r*(1-b/i):I>=0&&I<i&&(f=r*(1-I/i))}if(f!==0||R!==0){let b=be(v);Ae(v,f,R);let I=be(v),k=I.x-b.x,d=I.y-b.y;(k!==0||d!==0)&&(x={x:x.x+k,y:x.y+d},le(o.current,x))}y=requestAnimationFrame(De)}function fe(o,i){if(a(),t.operation)return;let r=t.draggables.get(i);if(!r||r.disabled)return;let c=K({},r.data),u;if("clientX"in o){let l=o;u={x:l.clientX,y:l.clientY}}else{let l=r.node?te(r.node):null;u=l?N(l):{x:0,y:0}}g(l=>X(K({},l),{operation:{activeId:i,origin:u,current:K({},u),delta:{x:0,y:0},data:c},collisions:[],sortable:null})),de(),Oe(),We(),E("dragStart",{active:{id:i,data:c,node:r.node},event:o}),le(u)}function Q(o,i){var l;a();let r=t.operation;if(!r)return;let c={x:i.x-r.origin.x,y:i.y-r.origin.y};g(f=>X(K({},f),{operation:f.operation?X(K({},f.operation),{current:i,delta:c}):null})),le(i);let u=t.draggables.get(r.activeId);E("dragMove",{active:{id:r.activeId,data:r.data,node:(l=u==null?void 0:u.node)!=null?l:null},position:i,delta:c,event:o})}function pe(o){var u;a();let i=t.operation;if(!i)return;let r=(u=t.collisions[0])!=null?u:null,c=t.sortable;c&&(c.sourceContainerId!==c.currentContainerId?E("transfer",{activeId:i.activeId,from:{containerId:c.sourceContainerId,index:c.originalIndex},to:{containerId:c.currentContainerId,index:c.projectedIndex},event:o}):c.originalIndex!==c.projectedIndex&&E("sort",{containerId:c.sourceContainerId,activeId:i.activeId,fromIndex:c.originalIndex,toIndex:c.projectedIndex,event:o})),E("dragEnd",{active:{id:i.activeId,data:i.data},over:r?{id:r.id,data:r.data}:null,cancelled:!1,event:o}),Ce()}function G(o){a();let i=t.operation;i&&(E("dragCancel",{active:{id:i.activeId,data:i.data},event:o}),E("dragEnd",{active:{id:i.activeId,data:i.data},over:null,cancelled:!0,event:o}),Ce())}function Ce(){he(),xe(),F.clear(),x={x:0,y:0},ae=null,v=null,g(o=>X(K({},o),{operation:null,collisions:[],sortable:null}))}let ee=new Set;function $e(o,i,r){var $,V;if(a(),!_())return()=>{};let c=($=r==null?void 0:r.activationDistance)!=null?$:5,u=(V=r==null?void 0:r.activationDelay)!=null?V:0,l=!1,f=!1,R=null,T=null,H=u===0,q=null,b=null,I=null;function k(){l=!1,f=!1,R=null,H=u===0,T!==null&&(clearTimeout(T),T=null),q!==null&&(cancelAnimationFrame(q),q=null),b=null,I=null,document.removeEventListener("pointermove",P),document.removeEventListener("pointerup",D),document.removeEventListener("pointercancel",p),document.removeEventListener("keydown",A),document.removeEventListener("contextmenu",L)}function d(){b&&I&&f&&(Q(I,b),b=null,I=null),q=null}function M(h){if(h.button!==0||t.operation)return;let B=t.draggables.get(i);if(!(B!=null&&B.disabled)){l=!0,R={x:h.clientX,y:h.clientY},H=u===0;try{o.setPointerCapture(h.pointerId)}catch(me){}u>0&&(T=setTimeout(()=>{H=!0,T=null},u)),document.addEventListener("pointermove",P),document.addEventListener("pointerup",D),document.addEventListener("pointercancel",p),document.addEventListener("keydown",A),document.addEventListener("contextmenu",L)}}function P(h){if(!l&&!f||!R)return;let B={x:h.clientX,y:h.clientY};if(!f){let me=Z(R,B);if(!H){me>c&&k();return}if(me<c)return;f=!0,l=!1,fe(h,i);return}b=B,I=h,q===null&&(q=requestAnimationFrame(d))}function D(h){f&&(b&&Q(h,b),pe(h));try{o.releasePointerCapture(h.pointerId)}catch(B){}k()}function p(h){f&&G(h);try{o.releasePointerCapture(h.pointerId)}catch(B){}k()}function A(h){h.key==="Escape"&&f&&(G(h),k())}function L(h){(f||l)&&h.preventDefault()}o.addEventListener("pointerdown",M);let j=()=>{k(),o.removeEventListener("pointerdown",M),ee.delete(j)};return ee.add(j),j}function _e(o,i,r){var I,k;if(a(),!_())return()=>{};let c=(I=r==null?void 0:r.step)!=null?I:25,u=(k=r==null?void 0:r.fastStep)!=null?k:c*5,l=!1;function f(d){let M=t.draggables.get(i);if(!(M!=null&&M.disabled)){if(!l){(d.key===" "||d.key==="Enter")&&(d.preventDefault(),l=!0,fe(d,i));return}switch(d.preventDefault(),d.key){case"Escape":l=!1,G(d);break;case"Tab":l=!1,G(d);break;case" ":case"Enter":l=!1,pe(d);break;case"ArrowUp":case"ArrowDown":case"ArrowLeft":case"ArrowRight":if(!t.operation)break;if(t.sortable!==null)R(d);else{let P=d.shiftKey?u:c,D=t.operation.current,p={x:D.x,y:D.y};d.key==="ArrowUp"&&(p.y-=P),d.key==="ArrowDown"&&(p.y+=P),d.key==="ArrowLeft"&&(p.x-=P),d.key==="ArrowRight"&&(p.x+=P),Q(d,p)}break;case"Home":case"End":t.sortable&&T(d);break}}}function R(d){if(!t.operation||!t.sortable)return;let{currentContainerId:M,projectedIndex:P}=t.sortable,D=t.sortableContainers.get(M);if(!D)return;let p=D.direction==="vertical"||D.direction==="grid",A=D.direction==="horizontal"||D.direction==="grid",L=P,j=M;if(d.key==="ArrowUp"&&p||d.key==="ArrowLeft"&&A)L>0&&L--;else if(d.key==="ArrowDown"&&p||d.key==="ArrowRight"&&A){let $=D.items.filter(V=>V!==t.operation.activeId).length;L<$&&L++}else if(d.key==="ArrowLeft"||d.key==="ArrowRight"){let $=q(M,d.key==="ArrowRight"?"right":"left");$&&(j=$.id,L=0)}(L!==P||j!==M)&&H(j,L,d)}function T(d){if(!t.operation||!t.sortable)return;let M=t.sortableContainers.get(t.sortable.currentContainerId);if(!M)return;let P=M.items.filter(p=>p!==t.operation.activeId),D=d.key==="Home"?P[0]:P[P.length-1];if(D!=null){let p=Y(D,x);p&&Q(d,N(p))}}function H(d,M,P){let D=t.sortableContainers.get(d);if(!D)return;let p=D.items.filter(L=>L!==t.operation.activeId),A=p[Math.min(M,p.length-1)];if(A!=null){let L=Y(A,x);if(L){Q(P,N(L));let j=t.draggables.get(A);j!=null&&j.node&&j.node.scrollIntoView({block:"nearest",inline:"nearest",behavior:"smooth"})}}}function q(d,M){let P=Y(d,x);if(!P)return null;let D=N(P),p=null,A=1/0;for(let[L,j]of t.sortableContainers){if(L===d)continue;let $=Y(L,x);if(!$)continue;let V=N($);if(M==="right"&&V.x<=D.x||M==="left"&&V.x>=D.x)continue;let h=t.draggables.get(t.operation.activeId);if(j.accept&&(h==null?void 0:h.scope)!=null&&!j.accept.includes(h.scope))continue;let B=Z(D,V);B<A&&(A=B,p=j)}return p}o.addEventListener("keydown",f);let b=()=>{l&&(l=!1,G()),o.removeEventListener("keydown",f),ee.delete(b)};return ee.add(b),b}function Ve(o){return a(),g(i=>{let r=new Map(i.draggables);return r.set(o.id,o),X(K({},i),{draggables:r})}),()=>{var i;((i=t.operation)==null?void 0:i.activeId)===o.id&&G(),g(r=>{let c=new Map(r.draggables);return c.delete(o.id),X(K({},r),{draggables:c})})}}function Ze(o){return a(),g(i=>{let r=new Map(i.droppables);return r.set(o.id,o),X(K({},i),{droppables:r})}),()=>{g(i=>{let r=new Map(i.droppables);return r.delete(o.id),X(K({},i),{droppables:r})})}}function Ge(o){return a(),g(i=>{let r=new Map(i.sortableContainers);return r.set(o.id,o),X(K({},i),{sortableContainers:r})}),o.node&&W&&W.observe(o.node),()=>{o.node&&W&&W.unobserve(o.node),g(i=>{let r=new Map(i.sortableContainers);return r.delete(o.id),X(K({},i),{sortableContainers:r})})}}function Je(o,i){let r=ne[o];return r?r(i):""}return _()&&(He(),je()),{getState:()=>t,subscribe(o){return a(),s.add(o),()=>{s.delete(o)}},registerDraggable:Ve,registerDroppable:Ze,registerSortableContainer:Ge,startDrag:fe,updateDrag:Q,endDrag:pe,cancelDrag:G,on(o,i){a(),S.has(o)||S.set(o,new Set);let r=S.get(o),c=i;return r.add(c),()=>{r.delete(c)}},attachPointerSensor:$e,attachKeyboardSensor:_e,setScrollableElement(o){v=o},setCollisionDetection(o){w=o},measureRects:de,getAdjustedRect:Y,getAnnouncement:Je,destroy(){if(!e){e=!0,t.operation&&(E("dragCancel",{active:{id:t.operation.activeId,data:t.operation.data}}),E("dragEnd",{active:{id:t.operation.activeId,data:t.operation.data},over:null,cancelled:!0}),he(),xe());for(let o of ee)o();ee.clear(),W==null||W.disconnect(),W=null,re==null||re(),re=null,oe.cancel(),ue.cancel(),S.clear(),s.clear(),F.clear(),t={operation:null,draggables:new Map,droppables:new Map,sortableContainers:new Map,collisions:[],sortable:null}}}}}export{Ke as arrayMove,ze as arrayTransfer,ce as collisionStrategies,st as createDnd};
|
|
2
|
-
//# sourceMappingURL=index.mjs.map
|
|
1
|
+
var xe={onDragStart:i=>`Picked up ${i.active.data?.label??"item"}. Use Arrow keys to move, Space or Enter to drop, Escape to cancel.`,onDragOver:i=>i.over?`Over ${i.over.data?.label??"drop zone"}.`:"Not over a drop zone.",onDragEnd:i=>i.cancelled?"Drag cancelled. Item returned to original position.":i.over?`Dropped on ${i.over.data?.label??"drop zone"}.`:"Dropped.",onDragCancel:()=>"Drag cancelled. Item returned to original position.",onSortOver:i=>`Moved to position ${i.index+1} of ${i.total}${i.containerId?` in ${String(i.containerId)}`:""}.`};function Y(){return typeof window<"u"&&typeof document<"u"}function Z(i){let n=i.getBoundingClientRect();return{x:n.x,y:n.y,width:n.width,height:n.height,top:n.top,right:n.right,bottom:n.bottom,left:n.left}}function de(i,n,a,e){return{x:i,y:n,width:a,height:e,top:n,right:i+a,bottom:n+e,left:i}}function he(i,n){return de(i.x-n.x,i.y-n.y,i.width,i.height)}function B(i,n){return Math.sqrt((i.x-n.x)**2+(i.y-n.y)**2)}function H(i){return{x:i.x+i.width/2,y:i.y+i.height/2}}function oe(i,n){return i.x>=n.left&&i.x<=n.right&&i.y>=n.top&&i.y<=n.bottom}function ue(i){return i.width*i.height}function Re(i,n){let a=Math.max(i.left,n.left),e=Math.max(i.top,n.top),d=Math.min(i.right,n.right)-a,b=Math.min(i.bottom,n.bottom)-e;return d>0&&b>0?d*b:0}function De(i){if(!Y())return null;let n=i.parentElement;for(;n&&n!==document.documentElement;){let a=getComputedStyle(n),e=(a.overflowY==="auto"||a.overflowY==="scroll")&&n.scrollHeight>n.clientHeight,d=(a.overflowX==="auto"||a.overflowX==="scroll")&&n.scrollWidth>n.clientWidth;if(e||d)return n;n=n.parentElement}return document.documentElement.scrollHeight>document.documentElement.clientHeight?document.documentElement:null}function fe(i){return i===document.documentElement?{x:window.scrollX,y:window.scrollY}:{x:i.scrollLeft,y:i.scrollTop}}function Ce(i,n,a){i===document.documentElement?window.scrollBy(n,a):i.scrollBy(n,a)}function pe(i,n){let a=null;return{call(){a!==null&&clearTimeout(a),a=setTimeout(()=>{a=null,i()},n)},cancel(){a!==null&&(clearTimeout(a),a=null)}}}function We(i){let n=[];for(let a of i.droppables)if(!a.disabled&&oe(i.position,a.rect)){let e=ue(a.rect);e>0&&n.push({id:a.id,data:a.data,ratio:1/e})}return n.sort((a,e)=>(e.ratio??0)-(a.ratio??0)),n}function $e(i){if(!i.activeRect)return[];let n=[];for(let a of i.droppables){if(a.disabled)continue;let e=Re(i.activeRect,a.rect);if(e>0){let d=ue(a.rect);n.push({id:a.id,data:a.data,ratio:d>0?e/d:0})}}return n.sort((a,e)=>(e.ratio??0)-(a.ratio??0)),n}function _e(i){if(!i.activeRect)return[];let n=H(i.activeRect),a=[];for(let e of i.droppables)e.disabled||a.push({id:e.id,data:e.data,distance:B(n,H(e.rect))});return a.sort((e,d)=>(e.distance??1/0)-(d.distance??1/0)),a}function Ve(i){if(!i.activeRect)return[];let n=i.activeRect,a=[{x:n.left,y:n.top},{x:n.right,y:n.top},{x:n.left,y:n.bottom},{x:n.right,y:n.bottom}],e=[];for(let d of i.droppables){if(d.disabled)continue;let b=d.rect,T=[{x:b.left,y:b.top},{x:b.right,y:b.top},{x:b.left,y:b.bottom},{x:b.right,y:b.bottom}],v=0;for(let E=0;E<4;E++)v+=B(a[E],T[E]);e.push({id:d.id,data:d.data,distance:v/4})}return e.sort((d,b)=>(d.distance??1/0)-(b.distance??1/0)),e}var ee={pointerWithin:We,rectIntersection:$e,closestCenter:_e,closestCorners:Ve};var we=.25;function Ee(i){let{position:n,items:a,direction:e,activeId:d,allowInsideDrop:b=!1}=i,T={index:0,position:"before",targetId:null,dropPosition:"before",targetRect:null};if(a.length===0)return T;let v=a.filter(y=>y.id!==d);if(v.length===0)return T;let E=0,S=1/0;for(let y=0;y<v.length;y++){let G=H(v[y].rect),j=e==="horizontal"?Math.abs(n.x-G.x):e==="vertical"?Math.abs(n.y-G.y):B(n,G);j<S&&(S=j,E=y)}let C=v[E],L=C.rect,m=H(L),P;e==="horizontal"?P=n.x<m.x?"before":"after":e==="vertical"?P=n.y<m.y?"before":"after":P=n.y<m.y?"before":n.y>m.y?"after":n.x<m.x?"before":"after";let U;b?U=Ze(n,L,e):U=P;let I=a.findIndex(y=>y.id===C.id);return{index:P==="after"?I+1:I,position:P,targetId:C.id,dropPosition:U,targetRect:L}}function Ze(i,n,a){if(a==="horizontal"){let d=n.width*we;return i.x<n.left+d?"before":i.x>n.right-d?"after":"inside"}let e=n.height*we;return i.y<n.top+e?"before":i.y>n.bottom-e?"after":"inside"}function Se(i){let{items:n,activeId:a,originalIndex:e,projectedIndex:d,activeRect:b,itemRects:T,direction:v}=i,E=new Map;if(!b||e===d)return E;let S=d>e;if(v==="grid")for(let C=0;C<n.length;C++){let L=n[C];if(L===a||!(S?C>e&&C<=d:C>=d&&C<e))continue;let P=S?C-1:C+1;n[P]===a&&(P=S?P-1:P+1);let U=n[P],I=T.get(L),y=U?T.get(U):null;I&&y&&E.set(L,{x:y.x-I.x,y:y.y-I.y,scaleX:1,scaleY:1})}else{let C=v==="horizontal"?b.width:0,L=v==="vertical"?b.height:0;for(let m=0;m<n.length;m++){let P=n[m];if(P===a)continue;let U=0,I=0;S?m>e&&m<=d&&(U=-C,I=-L):m>=d&&m<e&&(U=C,I=L),(U!==0||I!==0)&&E.set(P,{x:U,y:I,scaleX:1,scaleY:1})}}return E}function Me(i){let{sourceItems:n,targetItems:a,activeId:e,originalIndex:d,projectedIndex:b,activeRect:T,sourceDirection:v,targetDirection:E}=i,S=new Map,C=new Map;if(!T)return{sourceTransforms:S,targetTransforms:C};let L=v==="horizontal"?T.width:0,m=v==="vertical"||v==="grid"?T.height:0;for(let I=0;I<n.length;I++)n[I]!==e&&I>d&&S.set(n[I],{x:-L,y:-m,scaleX:1,scaleY:1});let P=E==="horizontal"?T.width:0,U=E==="vertical"||E==="grid"?T.height:0;for(let I=0;I<a.length;I++)I>=b&&C.set(a[I],{x:P,y:U,scaleX:1,scaleY:1});return{sourceTransforms:S,targetTransforms:C}}function Pe(i,n,a){if(n<0||n>=i.length||a<0||a>i.length)return i.slice();let e=i.slice(),[d]=e.splice(n,1);return e.splice(a,0,d),e}function Te(i,n,a,e){if(a<0||a>=i.length||e<0||e>n.length)return{source:i.slice(),target:n.slice()};let d=i.slice(),[b]=d.splice(a,1),T=n.slice();return T.splice(e,0,b),{source:d,target:T}}function Ge(i){let n=!1;function a(){if(n)throw new Error("createDnd: instance has been destroyed.")}let e={operation:null,draggables:new Map,droppables:new Map,sortableContainers:new Map,collisions:[],sortable:null},d=new Set,b=!1;function T(){if(!b){b=!0;try{for(let t of d)t()}finally{b=!1}}}function v(t){let o=t(e);o!==e&&(e=o,T())}let E=new Map;function S(t,o){let r=E.get(t);if(r)for(let s of r)s(o)}let C=i?.collisionDetection??"pointerWithin";function L(){return ee[C]??ee.pointerWithin}let m=null,P=i?.autoScroll!==!1,U=typeof i?.autoScroll=="object"?i.autoScroll:{},I=null,y={x:0,y:0},G={...xe,...i?.announcements},j=new Map;function ie(){if(Y()){j.clear();for(let[t,o]of e.draggables)o.node&&j.set(t,Z(o.node));for(let[t,o]of e.droppables)o.node&&j.set(t,Z(o.node));for(let[t,o]of e.sortableContainers)o.node&&j.set(t,Z(o.node))}}function z(t,o){let r=j.get(t);return r?he(r,o):null}function ge(){e.operation&&(ie(),y={x:0,y:0},ne(e.operation.current))}let J=pe(ge,50),re=pe(ge,100),F=null,te=null,ae=null,se=null;function Ae(){if(!(!Y()||typeof ResizeObserver>"u")){F=new ResizeObserver(()=>J.call());for(let[,t]of e.sortableContainers)t.node&&F.observe(t.node)}}function Ue(){if(!Y())return;let t=()=>re.call();window.addEventListener("resize",t,{passive:!0}),se=()=>{window.removeEventListener("resize",t),re.cancel()}}function Oe(){if(!Y())return;if(typeof MutationObserver<"u"){te=new MutationObserver(()=>J.call());for(let[,r]of e.sortableContainers)r.node&&te.observe(r.node,{childList:!0})}let t=m??window,o=()=>J.call();t.addEventListener("scroll",o,{passive:!0}),ae=()=>t.removeEventListener("scroll",o)}function me(){te?.disconnect(),te=null,ae?.(),ae=null,J.cancel()}function qe(t){let o=[],r=e.operation;if(!r)return o;let s=e.draggables.get(r.activeId);for(let[u,c]of e.droppables){if(c.disabled)continue;let p=z(u,t);if(!p)continue;let M=!c.accept||s?.scope!=null&&c.accept.includes(s.scope),x=c.canDrop?c.canDrop(r.data):!0;M&&x&&o.push({id:u,rect:p,data:c.data??{},disabled:!1})}for(let[u,c]of e.sortableContainers){if(c.disabled)continue;let p=z(u,t);if(!p)continue;(!c.accept||s?.scope!=null&&c.accept.includes(s.scope))&&o.push({id:u,rect:p,data:{},disabled:!1})}return o}function Le(t,o){if(t.length!==o.length)return!1;for(let r=0;r<t.length;r++)if(t[r].id!==o[r].id)return!1;return!0}function ne(t,o){let r=e.operation;if(!r)return;let s=o??y,u=qe(s),c=z(r.activeId,s),p=L()({position:t,activeRect:c,droppables:u});if(!Le(e.collisions,p)){let x=e.collisions[0]??null,R=p[0]??null;v(O=>({...O,collisions:p})),x?.id!==R?.id&&S("dragOver",{active:{id:r.activeId,data:r.data},over:R?{id:R.id,data:R.data}:null})}Ke(t,s)}let Q=null;function ke(t){if(Q){let o=e.sortableContainers.get(Q.containerId);if(o){let r=o.items.indexOf(t);if(r!==-1)return{container:o,index:r}}Q=null}for(let[,o]of e.sortableContainers){let r=o.items.indexOf(t);if(r!==-1)return Q={containerId:o.id,index:r},{container:o,index:r}}return null}function ze(t,o){if(t.size!==o.size)return!1;for(let[r,s]of t){let u=o.get(r);if(!u||s.x!==u.x||s.y!==u.y)return!1}return!0}function Ke(t,o){let r=e.operation;if(!r)return;let s=ke(r.activeId);if(!s){e.sortable!==null&&v(f=>({...f,sortable:null}));return}let u=e.draggables.get(r.activeId),c=null;for(let[,f]of e.sortableContainers){let g=z(f.id,o);if(!g||!oe(t,g))continue;if(!f.accept||u?.scope!=null&&f.accept.includes(u.scope)||f.id===s.container.id){c=f;break}}c||(c=s.container);let p=[];for(let f of c.items){let g=z(f,o);g&&p.push({id:f,rect:g})}let M=Ee({position:t,items:p,direction:c.direction,activeId:r.activeId,allowInsideDrop:c.allowInsideDrop}),x=M.index,R=c.id!==s.container.id,O;if(R){let{sourceTransforms:f,targetTransforms:g}=Me({sourceItems:s.container.items,targetItems:c.items,activeId:r.activeId,originalIndex:s.index,projectedIndex:x,activeRect:z(r.activeId,o),sourceDirection:s.container.direction,targetDirection:c.direction});O=new Map([...f,...g])}else O=Se({items:s.container.items,activeId:r.activeId,originalIndex:s.index,projectedIndex:x,activeRect:z(r.activeId,o),itemRects:j,direction:s.container.direction});let q=M.targetId!=null?{targetId:M.targetId,position:M.dropPosition,targetRect:M.targetRect}:null,l={sourceContainerId:s.container.id,currentContainerId:c.id,originalIndex:s.index,projectedIndex:x,transforms:O,dropIndicator:q},h=e.sortable;(!h||h.currentContainerId!==l.currentContainerId||h.projectedIndex!==l.projectedIndex||!ze(h.transforms,l.transforms)||h.dropIndicator?.targetId!==l.dropIndicator?.targetId||h.dropIndicator?.position!==l.dropIndicator?.position)&&v(f=>({...f,sortable:l}))}function He(){if(!(!P||!Y())){if(!m){let t=e.draggables.get(e.operation.activeId);t?.node&&(m=De(t.node))}m&&(y={x:0,y:0},be())}}function ve(){I!==null&&(cancelAnimationFrame(I),I=null),y={x:0,y:0}}function be(){let t=e.operation;if(!t||!m)return;let o=U.threshold??50,r=U.speed??15,s=U.direction??"both",u=t.current,c=m===document.documentElement?de(0,0,window.innerWidth,window.innerHeight):Z(m),p=0,M=0;if(s!=="horizontal"){let x=u.y-c.top,R=c.bottom-u.y;x>=0&&x<o?M=-r*(1-x/o):R>=0&&R<o&&(M=r*(1-R/o))}if(s!=="vertical"){let x=u.x-c.left,R=c.right-u.x;x>=0&&x<o?p=-r*(1-x/o):R>=0&&R<o&&(p=r*(1-R/o))}if(p!==0||M!==0){let x=fe(m);Ce(m,p,M);let R=fe(m),O=R.x-x.x,q=R.y-x.y;(O!==0||q!==0)&&(y={x:y.x+O,y:y.y+q},ne(t.current,y))}I=requestAnimationFrame(be)}function ce(t,o){if(a(),e.operation)return;let r=e.draggables.get(o);if(!r||r.disabled)return;let s={...r.data},u;if("clientX"in t){let c=t;u={x:c.clientX,y:c.clientY}}else{let c=r.node?Z(r.node):null;u=c?H(c):{x:0,y:0}}v(c=>({...c,operation:{activeId:o,origin:u,current:{...u},delta:{x:0,y:0},data:s},collisions:[],sortable:null})),ie(),Oe(),He(),S("dragStart",{active:{id:o,data:s,node:r.node},event:t}),ne(u)}function $(t,o){a();let r=e.operation;if(!r)return;let s={x:o.x-r.origin.x,y:o.y-r.origin.y};v(c=>({...c,operation:c.operation?{...c.operation,current:o,delta:s}:null})),ne(o);let u=e.draggables.get(r.activeId);S("dragMove",{active:{id:r.activeId,data:r.data,node:u?.node??null},position:o,delta:s,event:t})}function le(t){a();let o=e.operation;if(!o)return;let r=e.collisions[0]??null,s=e.sortable;s&&(s.sourceContainerId!==s.currentContainerId?S("transfer",{activeId:o.activeId,from:{containerId:s.sourceContainerId,index:s.originalIndex},to:{containerId:s.currentContainerId,index:s.projectedIndex},event:t}):s.originalIndex!==s.projectedIndex&&S("sort",{containerId:s.sourceContainerId,activeId:o.activeId,fromIndex:s.originalIndex,toIndex:s.projectedIndex,event:t})),S("dragEnd",{active:{id:o.activeId,data:o.data},over:r?{id:r.id,data:r.data}:null,cancelled:!1,event:t}),Ie()}function W(t){a();let o=e.operation;o&&(S("dragCancel",{active:{id:o.activeId,data:o.data},event:t}),S("dragEnd",{active:{id:o.activeId,data:o.data},over:null,cancelled:!0,event:t}),Ie())}function Ie(){ve(),me(),j.clear(),y={x:0,y:0},Q=null,m=null,v(t=>({...t,operation:null,collisions:[],sortable:null}))}let _=new Set;function je(t,o,r){if(a(),!Y())return()=>{};let s=r?.activationDistance??5,u=r?.activationDelay??0,c=!1,p=!1,M=null,x=null,R=u===0,O=null,q=null,l=null;function h(){c=!1,p=!1,M=null,R=u===0,x!==null&&(clearTimeout(x),x=null),O!==null&&(cancelAnimationFrame(O),O=null),q=null,l=null,document.removeEventListener("pointermove",w),document.removeEventListener("pointerup",K),document.removeEventListener("pointercancel",A),document.removeEventListener("keydown",k),document.removeEventListener("contextmenu",X)}function f(){q&&l&&p&&($(l,q),q=null,l=null),O=null}function g(D){if(!(D.button!==0||e.operation||e.draggables.get(o)?.disabled)){c=!0,M={x:D.clientX,y:D.clientY},R=u===0;try{t.setPointerCapture(D.pointerId)}catch{}u>0&&(x=setTimeout(()=>{R=!0,x=null},u)),document.addEventListener("pointermove",w),document.addEventListener("pointerup",K),document.addEventListener("pointercancel",A),document.addEventListener("keydown",k),document.addEventListener("contextmenu",X)}}function w(D){if(!c&&!p||!M)return;let V={x:D.clientX,y:D.clientY};if(!p){let ye=B(M,V);if(!R){ye>s&&h();return}if(ye<s)return;p=!0,c=!1,ce(D,o);return}q=V,l=D,O===null&&(O=requestAnimationFrame(f))}function K(D){p&&(q&&$(D,q),le(D));try{t.releasePointerCapture(D.pointerId)}catch{}h()}function A(D){p&&W(D);try{t.releasePointerCapture(D.pointerId)}catch{}h()}function k(D){D.key==="Escape"&&p&&(W(D),h())}function X(D){(p||c)&&D.preventDefault()}t.addEventListener("pointerdown",g);let N=()=>{h(),t.removeEventListener("pointerdown",g),_.delete(N)};return _.add(N),N}function Xe(t,o,r){if(a(),!Y())return()=>{};let s=r?.step??25,u=r?.fastStep??s*5,c=!1;function p(l){if(!e.draggables.get(o)?.disabled){if(!c){(l.key===" "||l.key==="Enter")&&(l.preventDefault(),c=!0,ce(l,o));return}switch(l.preventDefault(),l.key){case"Escape":c=!1,W(l);break;case"Tab":c=!1,W(l);break;case" ":case"Enter":c=!1,le(l);break;case"ArrowUp":case"ArrowDown":case"ArrowLeft":case"ArrowRight":if(!e.operation)break;if(e.sortable!==null)M(l);else{let f=l.shiftKey?u:s,g=e.operation.current,w={x:g.x,y:g.y};l.key==="ArrowUp"&&(w.y-=f),l.key==="ArrowDown"&&(w.y+=f),l.key==="ArrowLeft"&&(w.x-=f),l.key==="ArrowRight"&&(w.x+=f),$(l,w)}break;case"Home":case"End":e.sortable&&x(l);break}}}function M(l){if(!e.operation||!e.sortable)return;let{currentContainerId:h,projectedIndex:f}=e.sortable,g=e.sortableContainers.get(h);if(!g)return;let w=g.direction==="vertical"||g.direction==="grid",K=g.direction==="horizontal"||g.direction==="grid",A=f,k=h;if(l.key==="ArrowUp"&&w||l.key==="ArrowLeft"&&K)A>0&&A--;else if(l.key==="ArrowDown"&&w||l.key==="ArrowRight"&&K){let X=g.items.filter(N=>N!==e.operation.activeId).length;A<X&&A++}else if(l.key==="ArrowLeft"||l.key==="ArrowRight"){let X=O(h,l.key==="ArrowRight"?"right":"left");X&&(k=X.id,A=0)}(A!==f||k!==h)&&R(k,A,l)}function x(l){if(!e.operation||!e.sortable)return;let h=e.sortableContainers.get(e.sortable.currentContainerId);if(!h)return;let f=h.items.filter(w=>w!==e.operation.activeId),g=l.key==="Home"?f[0]:f[f.length-1];if(g!=null){let w=z(g,y);w&&$(l,H(w))}}function R(l,h,f){let g=e.sortableContainers.get(l);if(!g)return;let w=g.items.filter(A=>A!==e.operation.activeId),K=w[Math.min(h,w.length-1)];if(K!=null){let A=z(K,y);if(A){$(f,H(A));let k=e.draggables.get(K);k?.node&&k.node.scrollIntoView({block:"nearest",inline:"nearest",behavior:"smooth"})}}}function O(l,h){let f=z(l,y);if(!f)return null;let g=H(f),w=null,K=1/0;for(let[A,k]of e.sortableContainers){if(A===l)continue;let X=z(A,y);if(!X)continue;let N=H(X);if(h==="right"&&N.x<=g.x||h==="left"&&N.x>=g.x)continue;let D=e.draggables.get(e.operation.activeId);if(k.accept&&D?.scope!=null&&!k.accept.includes(D.scope))continue;let V=B(g,N);V<K&&(K=V,w=k)}return w}t.addEventListener("keydown",p);let q=()=>{c&&(c=!1,W()),t.removeEventListener("keydown",p),_.delete(q)};return _.add(q),q}function Ye(t){return a(),v(o=>{let r=new Map(o.draggables);return r.set(t.id,t),{...o,draggables:r}}),()=>{e.operation?.activeId===t.id&&W(),v(o=>{let r=new Map(o.draggables);return r.delete(t.id),{...o,draggables:r}})}}function Ne(t){return a(),v(o=>{let r=new Map(o.droppables);return r.set(t.id,t),{...o,droppables:r}}),()=>{v(o=>{let r=new Map(o.droppables);return r.delete(t.id),{...o,droppables:r}})}}function Fe(t){return a(),v(o=>{let r=new Map(o.sortableContainers);return r.set(t.id,t),{...o,sortableContainers:r}}),t.node&&F&&F.observe(t.node),()=>{t.node&&F&&F.unobserve(t.node),v(o=>{let r=new Map(o.sortableContainers);return r.delete(t.id),{...o,sortableContainers:r}})}}function Be(t,o){let r=G[t];return r?r(o):""}return Y()&&(Ae(),Ue()),{getState:()=>e,subscribe(t){return a(),d.add(t),()=>{d.delete(t)}},registerDraggable:Ye,registerDroppable:Ne,registerSortableContainer:Fe,startDrag:ce,updateDrag:$,endDrag:le,cancelDrag:W,on(t,o){a(),E.has(t)||E.set(t,new Set);let r=E.get(t),s=o;return r.add(s),()=>{r.delete(s)}},attachPointerSensor:je,attachKeyboardSensor:Xe,setScrollableElement(t){m=t},setCollisionDetection(t){C=t},measureRects:ie,getAdjustedRect:z,getAnnouncement:Be,destroy(){if(!n){n=!0,e.operation&&(S("dragCancel",{active:{id:e.operation.activeId,data:e.operation.data}}),S("dragEnd",{active:{id:e.operation.activeId,data:e.operation.data},over:null,cancelled:!0}),ve(),me());for(let t of _)t();_.clear(),F?.disconnect(),F=null,se?.(),se=null,J.cancel(),re.cancel(),E.clear(),d.clear(),j.clear(),e={operation:null,draggables:new Map,droppables:new Map,sortableContainers:new Map,collisions:[],sortable:null}}}}}export{Pe as arrayMove,Te as arrayTransfer,ee as collisionStrategies,Ge as createDnd};
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Sortable collision detection and transform computation for createDnd.
|
|
3
|
+
*/
|
|
4
|
+
import type { DropPosition, Point, Rect, SortDirection, Transform, UniqueId } from '@primereact/types/primitive/dnd';
|
|
5
|
+
export interface SortableCollisionInput {
|
|
6
|
+
position: Point;
|
|
7
|
+
items: Array<{
|
|
8
|
+
id: UniqueId;
|
|
9
|
+
rect: Rect;
|
|
10
|
+
}>;
|
|
11
|
+
direction: SortDirection;
|
|
12
|
+
activeId: UniqueId;
|
|
13
|
+
/** When true, the middle zone returns 'inside' (for Tree-like nested drops). */
|
|
14
|
+
allowInsideDrop?: boolean;
|
|
15
|
+
}
|
|
16
|
+
export interface SortableCollisionResult {
|
|
17
|
+
index: number;
|
|
18
|
+
position: 'before' | 'after';
|
|
19
|
+
/** Drop indicator info for visual feedback. */
|
|
20
|
+
targetId: UniqueId | null;
|
|
21
|
+
/** Three-zone position: 'before' | 'after' | 'inside'. Only 'inside' when allowInsideDrop is true. */
|
|
22
|
+
dropPosition: DropPosition;
|
|
23
|
+
/** Rect of the closest target item. */
|
|
24
|
+
targetRect: Rect | null;
|
|
25
|
+
}
|
|
26
|
+
export declare function sortableCollision(input: SortableCollisionInput): SortableCollisionResult;
|
|
27
|
+
export interface ComputeTransformsInput {
|
|
28
|
+
items: UniqueId[];
|
|
29
|
+
activeId: UniqueId;
|
|
30
|
+
originalIndex: number;
|
|
31
|
+
projectedIndex: number;
|
|
32
|
+
activeRect: Rect | null;
|
|
33
|
+
itemRects: Map<UniqueId, Rect>;
|
|
34
|
+
direction: SortDirection;
|
|
35
|
+
}
|
|
36
|
+
export declare function computeShiftTransforms(input: ComputeTransformsInput): Map<UniqueId, Transform>;
|
|
37
|
+
export declare function computeCrossContainerTransforms(input: {
|
|
38
|
+
sourceItems: UniqueId[];
|
|
39
|
+
targetItems: UniqueId[];
|
|
40
|
+
activeId: UniqueId;
|
|
41
|
+
originalIndex: number;
|
|
42
|
+
projectedIndex: number;
|
|
43
|
+
activeRect: Rect | null;
|
|
44
|
+
sourceDirection: SortDirection;
|
|
45
|
+
targetDirection: SortDirection;
|
|
46
|
+
}): {
|
|
47
|
+
sourceTransforms: Map<UniqueId, Transform>;
|
|
48
|
+
targetTransforms: Map<UniqueId, Transform>;
|
|
49
|
+
};
|
|
50
|
+
/** Immutably moves an item within an array. Returns original array if indices are out of bounds. */
|
|
51
|
+
export declare function arrayMove<T>(arr: readonly T[], fromIndex: number, toIndex: number): T[];
|
|
52
|
+
/** Immutably transfers an item between two arrays. Returns originals if indices are out of bounds. */
|
|
53
|
+
export declare function arrayTransfer<T>(source: readonly T[], target: readonly T[], fromIndex: number, toIndex: number): {
|
|
54
|
+
source: T[];
|
|
55
|
+
target: T[];
|
|
56
|
+
};
|
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
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};
|
|
2
|
-
//# sourceMappingURL=index.mjs.map
|