@primereact/headless 11.0.0-alpha.4 → 11.0.0-alpha.5
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/fluid/index.d.ts +2 -0
- package/fluid/index.mjs +2 -0
- package/fluid/index.mjs.map +1 -0
- package/fluid/useFluid.d.ts +1 -0
- package/fluid/useFluid.props.d.ts +2 -0
- package/fluid/useFluid.test.d.ts +0 -0
- package/iconfield/index.d.ts +2 -0
- package/iconfield/index.mjs +2 -0
- package/iconfield/index.mjs.map +1 -0
- package/iconfield/useIconField.d.ts +1 -0
- package/iconfield/useIconField.props.d.ts +2 -0
- package/iconfield/useIconField.test.d.ts +0 -0
- package/inputgroup/index.d.ts +2 -0
- package/inputgroup/index.mjs +2 -0
- package/inputgroup/index.mjs.map +1 -0
- package/inputgroup/useInputGroup.d.ts +1 -0
- package/inputgroup/useInputGroup.props.d.ts +2 -0
- package/inputgroup/useInputGroup.test.d.ts +0 -0
- package/knob/index.d.ts +2 -0
- package/knob/index.mjs +2 -0
- package/knob/index.mjs.map +1 -0
- package/knob/useKnob.d.ts +17 -0
- package/knob/useKnob.props.d.ts +2 -0
- package/knob/useKnob.test.d.ts +0 -0
- package/package.json +3 -3
- package/paginator/index.d.ts +2 -0
- package/paginator/index.mjs +2 -0
- package/paginator/index.mjs.map +1 -0
- package/paginator/usePaginator.d.ts +19 -0
- package/paginator/usePaginator.props.d.ts +2 -0
- package/paginator/usePaginator.test.d.ts +0 -0
- package/speeddial/index.d.ts +2 -0
- package/speeddial/index.mjs +2 -0
- package/speeddial/index.mjs.map +1 -0
- package/speeddial/useSpeedDial.d.ts +45 -0
- package/speeddial/useSpeedDial.props.d.ts +2 -0
- package/speeddial/useSpeedDial.test.d.ts +0 -0
- package/timeline/index.d.ts +2 -0
- package/timeline/index.mjs +2 -0
- package/timeline/index.mjs.map +1 -0
- package/timeline/useTimeline.d.ts +1 -0
- package/timeline/useTimeline.props.d.ts +2 -0
- package/timeline/useTimeline.test.d.ts +0 -0
package/fluid/index.d.ts
ADDED
package/fluid/index.mjs
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/fluid/useFluid.ts","../../src/fluid/useFluid.props.ts"],"sourcesContent":["import { withHeadless } from '@primereact/core/headless';\nimport { defaultProps } from './useFluid.props';\n\nexport const useFluid = withHeadless({\n name: 'useFluid',\n defaultProps\n});\n","import type { useFluidProps } from '@primereact/types/shared/fluid';\n\nexport const defaultProps: useFluidProps = {};\n"],"mappings":"AAAA,OAAS,gBAAAA,MAAoB,4BCEtB,IAAMC,EAA8B,CAAC,EDCrC,IAAMC,EAAWC,EAAa,CACjC,KAAM,WACN,aAAAC,CACJ,CAAC","names":["withHeadless","defaultProps","useFluid","withHeadless","defaultProps"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const useFluid: (inProps?: unknown) => import("@primereact/types/core").HeadlessInstance<import("@primereact/types/shared/fluid").useFluidProps, unknown, Record<PropertyKey, unknown>>;
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/iconfield/useIconField.ts","../../src/iconfield/useIconField.props.ts"],"sourcesContent":["import { withHeadless } from '@primereact/core/headless';\nimport { defaultProps } from './useIconField.props';\n\nexport const useIconField = withHeadless({\n name: 'useIconField',\n defaultProps\n});\n","import type { useIconFieldProps } from '@primereact/types/shared/iconfield';\n\nexport const defaultProps: useIconFieldProps = {};\n"],"mappings":"AAAA,OAAS,gBAAAA,MAAoB,4BCEtB,IAAMC,EAAkC,CAAC,EDCzC,IAAMC,EAAeC,EAAa,CACrC,KAAM,eACN,aAAAC,CACJ,CAAC","names":["withHeadless","defaultProps","useIconField","withHeadless","defaultProps"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const useIconField: (inProps?: unknown) => import("@primereact/types/core").HeadlessInstance<import("@primereact/types/shared/iconfield").useIconFieldProps, unknown, Record<PropertyKey, unknown>>;
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/inputgroup/useInputGroup.ts","../../src/inputgroup/useInputGroup.props.ts"],"sourcesContent":["import { withHeadless } from '@primereact/core/headless';\nimport { defaultProps } from './useInputGroup.props';\n\nexport const useInputGroup = withHeadless({\n name: 'useInputGroup',\n defaultProps\n});\n","import type { useInputGroupProps } from '@primereact/types/shared/inputgroup';\n\nexport const defaultProps: useInputGroupProps = {};\n"],"mappings":"AAAA,OAAS,gBAAAA,MAAoB,4BCEtB,IAAMC,EAAmC,CAAC,EDC1C,IAAMC,EAAgBC,EAAa,CACtC,KAAM,gBACN,aAAAC,CACJ,CAAC","names":["withHeadless","defaultProps","useInputGroup","withHeadless","defaultProps"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const useInputGroup: (inProps?: unknown) => import("@primereact/types/core").HeadlessInstance<import("@primereact/types/shared/inputgroup").useInputGroupProps, unknown, Record<PropertyKey, unknown>>;
|
|
File without changes
|
package/knob/index.d.ts
ADDED
package/knob/index.mjs
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{withHeadless as de}from"@primereact/core/headless";import{useEventListener as R}from"@primereact/hooks";import*as $ from"react";var C={defaultValue:void 0,value:void 0,size:100,step:1,min:0,max:100,readOnly:!1,disabled:!1,onValueChange:void 0};var i=40,y=50,P=50,r=4*Math.PI/3,l=-Math.PI/3,k=3.14159265358979,he=de({name:"useKnob",defaultProps:C,setup({props:e,elementRef:z}){var K,W;let[w,D]=$.useState((W=(K=e.value)!=null?K:e.defaultValue)!=null?W:null),f={value:w},E=(n,t,o,a,s)=>(n-t)*(s-a)/(o-t)+a,x=()=>{var o,a;let n=(o=e.min)!=null?o:0,t=(a=e.max)!=null?a:100;return E(n>0&&t>0?n:0,n,t,r,l)},g=()=>{var a,s;let n=(a=e.min)!=null?a:0,t=(s=e.max)!=null?s:100,o=w!=null?w:n;return E(o,n,t,r,l)},O=()=>y+Math.cos(r)*i,U=()=>P-Math.sin(r)*i,I=()=>y+Math.cos(l)*i,B=()=>P-Math.sin(l)*i,H=()=>y+Math.cos(x())*i,S=()=>P-Math.sin(x())*i,_=()=>y+Math.cos(g())*i,j=()=>P-Math.sin(g())*i,q=()=>Math.abs(x()-g())<k?0:1,F=()=>g()>x()?0:1,G=`M ${O()} ${U()} A ${i} ${i} 0 1 1 ${I()} ${B()}`,J=`M ${H()} ${S()} A ${i} ${i} 0 ${q()} ${F()} ${_()} ${j()}`,[N,Q]=R({target:"window",type:"mousemove",listener:n=>X(n)}),[Z,p]=R({target:"window",type:"mouseup",listener:()=>L()}),[ee,ne]=R({target:"window",type:"touchmove",listener:n=>Y(n)}),[te,ae]=R({target:"window",type:"touchend",listener:()=>T()}),V=(n,t)=>{var c,d;let o=n-((c=e.size)!=null?c:100)/2,a=((d=e.size)!=null?d:100)/2-t,s=Math.atan2(a,o),u=-k/2-k/6;oe(s,u)},oe=(n,t)=>{var s,u,c,d,h,v,b,M;let o;if(n>l)o=E(n,r,l,(s=e.min)!=null?s:0,(u=e.max)!=null?u:100);else if(n<t)o=E(n+2*Math.PI,r,l,(c=e.min)!=null?c:0,(d=e.max)!=null?d:100);else return;let a=Math.round((o-((h=e.min)!=null?h:0))/((v=e.step)!=null?v:1))*((b=e.step)!=null?b:1)+((M=e.min)!=null?M:0);D(a),e.onValueChange&&e.onValueChange({value:a})},m=n=>{var o,a,s,u;let t;n>((o=e.max)!=null?o:100)?t=(a=e.max)!=null?a:100:n<((s=e.min)!=null?s:0)?t=(u=e.min)!=null?u:0:t=n,D(t),e.onValueChange&&e.onValueChange({value:t})},se=n=>{!e.disabled&&!e.readOnly&&V(n.nativeEvent.offsetX,n.nativeEvent.offsetY)},ue=n=>{N(),Z(),n.preventDefault()},L=()=>{Q(),p()},ie=()=>{ee(),te()},T=()=>{ne(),ae()},X=n=>{!e.disabled&&!e.readOnly&&(V(n.nativeEvent.offsetX,n.nativeEvent.offsetY),n.preventDefault())},Y=n=>{var t;if(!e.disabled&&!e.readOnly&&n.touches.length==1){let o=(t=z.current)==null?void 0:t.getBoundingClientRect(),a=n.targetTouches.item(0);if(o&&a){let s=a.clientX-o.left,u=a.clientY-o.top;V(s,u)}}},ce=n=>{var t,o,a,s,u,c,d,h,v,b,M,A;if(!e.disabled&&!e.readOnly)switch(n.code){case"ArrowRight":case"ArrowUp":{n.preventDefault(),m(((o=(t=f.value)!=null?t:e.min)!=null?o:0)+((a=e.step)!=null?a:1));break}case"ArrowLeft":case"ArrowDown":{n.preventDefault(),m(((u=(s=f.value)!=null?s:e.min)!=null?u:0)-((c=e.step)!=null?c:1));break}case"Home":{n.preventDefault(),m((d=e.min)!=null?d:0);break}case"End":{n.preventDefault(),m((h=e.max)!=null?h:100);break}case"PageUp":{n.preventDefault(),m(((b=(v=f.value)!=null?v:e.min)!=null?b:0)+10);break}case"PageDown":{n.preventDefault(),m(((A=(M=f.value)!=null?M:e.min)!=null?A:0)-10);break}}};return $.useEffect(()=>{e.value!==void 0&&D(e.value)},[e.value]),{state:f,rangePath:G,valuePath:J,onClick:se,onMouseDown:ue,onMouseUp:L,onTouchStart:ie,onTouchEnd:T,onMouseMove:X,onTouchMove:Y,onKeyDown:ce}}});export{C as defaultProps,he as useKnob};
|
|
2
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/knob/useKnob.ts","../../src/knob/useKnob.props.ts"],"sourcesContent":["import { withHeadless } from '@primereact/core/headless';\nimport { useEventListener } from '@primereact/hooks';\nimport { useKnobProps } from '@primereact/types/shared/knob';\nimport * as React from 'react';\nimport { defaultProps } from './useKnob.props';\n\nconst radius = 40;\nconst midX = 50;\nconst midY = 50;\nconst minRadians = (4 * Math.PI) / 3;\nconst maxRadians = -Math.PI / 3;\n// Set fix value for SSR.\nconst Math_PI = 3.14159265358979;\n\nexport const useKnob = withHeadless({\n name: 'useKnob',\n defaultProps,\n setup({ props, elementRef }) {\n const [valueState, setValueState] = React.useState<useKnobProps['value']>(props.value ?? props.defaultValue ?? null);\n\n const state = {\n value: valueState\n };\n\n const mapRange = (x: number, inMin: number, inMax: number, outMin: number, outMax: number) => ((x - inMin) * (outMax - outMin)) / (inMax - inMin) + outMin;\n\n const zeroRadians = () => {\n const min = props.min ?? 0;\n const max = props.max ?? 100;\n\n return mapRange(min > 0 && max > 0 ? min : 0, min, max, minRadians, maxRadians);\n };\n\n const valueRadians = () => {\n const min = props.min ?? 0;\n const max = props.max ?? 100;\n const value = valueState ?? min;\n\n return mapRange(value, min, max, minRadians, maxRadians);\n };\n\n const minX = () => midX + Math.cos(minRadians) * radius;\n\n const minY = () => midY - Math.sin(minRadians) * radius;\n\n const maxX = () => midX + Math.cos(maxRadians) * radius;\n\n const maxY = () => midY - Math.sin(maxRadians) * radius;\n\n const zeroX = () => midX + Math.cos(zeroRadians()) * radius;\n\n const zeroY = () => midY - Math.sin(zeroRadians()) * radius;\n\n const valueX = () => midX + Math.cos(valueRadians()) * radius;\n\n const valueY = () => midY - Math.sin(valueRadians()) * radius;\n\n const largeArc = () => (Math.abs(zeroRadians() - valueRadians()) < Math_PI ? 0 : 1);\n\n const sweep = () => (valueRadians() > zeroRadians() ? 0 : 1);\n\n const rangePath = `M ${minX()} ${minY()} A ${radius} ${radius} 0 1 1 ${maxX()} ${maxY()}`;\n\n const valuePath = `M ${zeroX()} ${zeroY()} A ${radius} ${radius} 0 ${largeArc()} ${sweep()} ${valueX()} ${valueY()}`;\n\n const [bindWindowMouseMoveListener, unbindWindowMouseMoveListener] = useEventListener({\n target: 'window',\n type: 'mousemove',\n listener: (event: Event) => onMouseMove(event as unknown as React.MouseEvent)\n });\n\n const [bindWindowMouseUpListener, unbindWindowMouseUpListener] = useEventListener({\n target: 'window',\n type: 'mouseup',\n listener: () => onMouseUp()\n });\n\n const [bindWindowTouchMoveListener, unbindWindowTouchMoveListener] = useEventListener({\n target: 'window',\n type: 'touchmove',\n listener: (event: Event) => onTouchMove(event as unknown as React.TouchEvent)\n });\n\n const [bindWindowTouchEndListener, unbindWindowTouchEndListener] = useEventListener({\n target: 'window',\n type: 'touchend',\n listener: () => onTouchEnd()\n });\n\n const updateValueByOffset = (offsetX: number, offsetY: number) => {\n const dx = offsetX - (props.size ?? 100) / 2;\n const dy = (props.size ?? 100) / 2 - offsetY;\n const angle = Math.atan2(dy, dx);\n const start = -Math_PI / 2 - Math_PI / 6;\n\n updateModel(angle, start);\n };\n\n const updateModel = (angle: number, start: number) => {\n let mappedValue;\n\n if (angle > maxRadians) mappedValue = mapRange(angle, minRadians, maxRadians, props.min ?? 0, props.max ?? 100);\n else if (angle < start) mappedValue = mapRange(angle + 2 * Math.PI, minRadians, maxRadians, props.min ?? 0, props.max ?? 100);\n else return;\n\n const newValue = Math.round((mappedValue - (props.min ?? 0)) / (props.step ?? 1)) * (props.step ?? 1) + (props.min ?? 0);\n\n setValueState(newValue);\n\n if (props.onValueChange) {\n props.onValueChange({\n value: newValue\n });\n }\n };\n\n const updateModelValue = (newValue: number) => {\n let currentValue;\n\n if (newValue > (props.max ?? 100)) {\n currentValue = props.max ?? 100;\n } else if (newValue < (props.min ?? 0)) {\n currentValue = props.min ?? 0;\n } else {\n currentValue = newValue;\n }\n\n setValueState(currentValue);\n\n if (props.onValueChange) {\n props.onValueChange({\n value: currentValue\n });\n }\n };\n\n const onClick = (event: React.MouseEvent) => {\n if (!props.disabled && !props.readOnly) {\n updateValueByOffset(event.nativeEvent.offsetX, event.nativeEvent.offsetY);\n }\n };\n\n const onMouseDown = (event: React.MouseEvent) => {\n bindWindowMouseMoveListener();\n bindWindowMouseUpListener();\n event.preventDefault();\n };\n\n const onMouseUp = () => {\n unbindWindowMouseMoveListener();\n unbindWindowMouseUpListener();\n };\n\n const onTouchStart = () => {\n bindWindowTouchMoveListener();\n bindWindowTouchEndListener();\n };\n\n const onTouchEnd = () => {\n unbindWindowTouchMoveListener();\n unbindWindowTouchEndListener();\n };\n\n const onMouseMove = (event: React.MouseEvent) => {\n if (!props.disabled && !props.readOnly) {\n updateValueByOffset(event.nativeEvent.offsetX, event.nativeEvent.offsetY);\n event.preventDefault();\n }\n };\n\n const onTouchMove = (event: React.TouchEvent) => {\n if (!props.disabled && !props.readOnly && event.touches.length == 1) {\n const rect = elementRef.current?.getBoundingClientRect();\n const touch = event.targetTouches.item(0);\n\n if (rect && touch) {\n const offsetX = touch.clientX - rect.left;\n const offsetY = touch.clientY - rect.top;\n\n updateValueByOffset(offsetX, offsetY);\n }\n }\n };\n\n const onKeyDown = (event: React.KeyboardEvent) => {\n if (!props.disabled && !props.readOnly) {\n switch (event.code) {\n case 'ArrowRight':\n\n case 'ArrowUp': {\n event.preventDefault();\n updateModelValue((state.value ?? props.min ?? 0) + (props.step ?? 1));\n break;\n }\n\n case 'ArrowLeft':\n\n case 'ArrowDown': {\n event.preventDefault();\n updateModelValue((state.value ?? props.min ?? 0) - (props.step ?? 1));\n break;\n }\n\n case 'Home': {\n event.preventDefault();\n updateModelValue(props.min ?? 0);\n break;\n }\n\n case 'End': {\n event.preventDefault();\n updateModelValue(props.max ?? 100);\n break;\n }\n\n case 'PageUp': {\n event.preventDefault();\n updateModelValue((state.value ?? props.min ?? 0) + 10);\n break;\n }\n\n case 'PageDown': {\n event.preventDefault();\n updateModelValue((state.value ?? props.min ?? 0) - 10);\n break;\n }\n }\n }\n };\n\n React.useEffect(() => {\n if (props.value !== undefined) {\n setValueState(props.value);\n }\n }, [props.value]);\n\n return {\n state,\n rangePath,\n valuePath,\n //methods\n onClick,\n onMouseDown,\n onMouseUp,\n onTouchStart,\n onTouchEnd,\n onMouseMove,\n onTouchMove,\n onKeyDown\n };\n }\n});\n","import type { useKnobProps } from '@primereact/types/shared/knob';\n\nexport const defaultProps: useKnobProps = {\n defaultValue: undefined,\n value: undefined,\n size: 100,\n step: 1,\n min: 0,\n max: 100,\n readOnly: false,\n disabled: false,\n onValueChange: undefined\n};\n"],"mappings":"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","names":["withHeadless","useEventListener","React","defaultProps","radius","midX","midY","minRadians","maxRadians","Math_PI","useKnob","withHeadless","defaultProps","props","elementRef","_a","_b","valueState","setValueState","state","mapRange","x","inMin","inMax","outMin","outMax","zeroRadians","min","max","valueRadians","value","minX","minY","maxX","maxY","zeroX","zeroY","valueX","valueY","largeArc","sweep","rangePath","valuePath","bindWindowMouseMoveListener","unbindWindowMouseMoveListener","useEventListener","event","onMouseMove","bindWindowMouseUpListener","unbindWindowMouseUpListener","onMouseUp","bindWindowTouchMoveListener","unbindWindowTouchMoveListener","onTouchMove","bindWindowTouchEndListener","unbindWindowTouchEndListener","onTouchEnd","updateValueByOffset","offsetX","offsetY","dx","dy","angle","start","updateModel","_c","_d","_e","_f","_g","_h","mappedValue","newValue","updateModelValue","currentValue","onClick","onMouseDown","onTouchStart","rect","touch","onKeyDown","_i","_j","_k","_l"]}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { useKnobProps } from '@primereact/types/shared/knob';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
export declare const useKnob: (inProps?: unknown) => import("@primereact/types/core").HeadlessInstance<useKnobProps, unknown, {
|
|
4
|
+
state: {
|
|
5
|
+
value: number | null | undefined;
|
|
6
|
+
};
|
|
7
|
+
rangePath: string;
|
|
8
|
+
valuePath: string;
|
|
9
|
+
onClick: (event: React.MouseEvent) => void;
|
|
10
|
+
onMouseDown: (event: React.MouseEvent) => void;
|
|
11
|
+
onMouseUp: () => void;
|
|
12
|
+
onTouchStart: () => void;
|
|
13
|
+
onTouchEnd: () => void;
|
|
14
|
+
onMouseMove: (event: React.MouseEvent) => void;
|
|
15
|
+
onTouchMove: (event: React.TouchEvent) => void;
|
|
16
|
+
onKeyDown: (event: React.KeyboardEvent) => void;
|
|
17
|
+
}>;
|
|
File without changes
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@primereact/headless",
|
|
3
|
-
"version": "11.0.0-alpha.
|
|
3
|
+
"version": "11.0.0-alpha.5",
|
|
4
4
|
"author": "PrimeTek Informatics",
|
|
5
5
|
"description": "",
|
|
6
6
|
"homepage": "https://primereact.org/",
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
"dependencies": {
|
|
35
35
|
"@primeuix/styled": "^0.7.2",
|
|
36
36
|
"@primeuix/utils": "^0.6.1",
|
|
37
|
-
"@primereact/
|
|
38
|
-
"@primereact/
|
|
37
|
+
"@primereact/core": "11.0.0-alpha.5",
|
|
38
|
+
"@primereact/hooks": "11.0.0-alpha.5"
|
|
39
39
|
}
|
|
40
40
|
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{withHeadless as L}from"@primereact/core/headless";import*as l from"react";var w={defaultPage:1,page:void 0,total:0,itemsPerPage:10,onPageChange:void 0,siblings:1,edges:1,disabled:!1,showEllipsis:!0};var r=(e,a)=>{let s=Math.max(0,a-e+1);return Array.from({length:s},(g,n)=>({type:"page",value:e+n}))},M={type:"ellipsis"},H=L({name:"usePaginator",defaultProps:w,setup({props:e}){var m,f,d,P;let{edges:a=1,siblings:s=1,showEllipsis:g=!0}=e,[n,S]=l.useState((f=(m=e.defaultPage)!=null?m:e.page)!=null?f:1),t=Math.max(1,Math.ceil(((d=e.total)!=null?d:0)/((P=e.itemsPerPage)!=null?P:1))),b=n>1,v=n<t,c=i=>{var u;if(e.disabled||i===void 0)return;let o=i<1?1:i>t?t:i;o!==n&&((u=e.onPageChange)==null||u.call(e,{originalEvent:{},value:o})),S(o)},E=()=>c(n+1),y=()=>c(n-1),R=()=>c(1),I=()=>c(t),p=l.useMemo(()=>{let i=Math.max(n-s,1),o=Math.min(n+s,t);if(g){if(2*a+2*s+(g?3:1)>=t)return r(1,t);let h=i>a+2,x=o<t-a-1;return[...r(1,a),...h?[M]:r(a+1,s*2+a+2),...h&&x?r(i,o):[],...x?[M]:r(t-a-1-2*s,t-a),...r(t-a+1,t)]}else return[...r(Math.max(Math.min(i,o-2*s),1),Math.min(Math.max(o,i+2*s),t))]},[t,a,s,n,g]);return l.useEffect(()=>{e.page!==void 0&&c(e.page)},[e.page]),{state:{activePage:n,totalPages:t,canPrev:b,canNext:v},pages:p,prev:y,next:E,first:R,last:I,handlePage:c}}});export{w as defaultProps,H as usePaginator};
|
|
2
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/paginator/usePaginator.ts","../../src/paginator/usePaginator.props.ts"],"sourcesContent":["import { withHeadless } from '@primereact/core/headless';\nimport * as React from 'react';\nimport { defaultProps } from './usePaginator.props';\n\nconst range = (start: number, end: number) => {\n const length = Math.max(0, end - start + 1);\n\n return Array.from({ length }, (_, i) => ({ type: 'page' as const, value: start + i }));\n};\n\nconst ELLIPSIS = { type: 'ellipsis' as const };\n\nexport const usePaginator = withHeadless({\n name: 'usePaginator',\n defaultProps,\n setup({ props }) {\n const { edges = 1, siblings = 1, showEllipsis = true } = props;\n const [activePage, setActivePage] = React.useState(props.defaultPage ?? props.page ?? 1);\n\n const totalPages = Math.max(1, Math.ceil((props.total ?? 0) / (props.itemsPerPage ?? 1)));\n const canPrev = activePage > 1;\n const canNext = activePage < totalPages;\n\n const handlePage = (page?: number) => {\n if (props.disabled || page === undefined) return;\n\n const newPageValue = page < 1 ? 1 : page > totalPages ? totalPages : page;\n\n if (newPageValue !== activePage) {\n props.onPageChange?.({\n originalEvent: {} as React.SyntheticEvent,\n value: newPageValue\n });\n }\n\n setActivePage(newPageValue);\n };\n\n const next = () => handlePage(activePage + 1);\n const prev = () => handlePage(activePage - 1);\n const first = () => handlePage(1);\n const last = () => handlePage(totalPages);\n\n const pages = React.useMemo(() => {\n const leftSiblingIndex = Math.max(activePage - siblings, 1);\n const rightSiblingIndex = Math.min(activePage + siblings, totalPages);\n\n if (showEllipsis) {\n const windowSize = 2 * edges + 2 * siblings + (showEllipsis ? 3 : 1);\n\n if (windowSize >= totalPages) {\n return range(1, totalPages);\n }\n\n const isShowLeftEllipsis = leftSiblingIndex > edges + 2;\n const isShowRightEllipsis = rightSiblingIndex < totalPages - edges - 1;\n\n return [\n ...range(1, edges),\n\n ...(isShowLeftEllipsis ? [ELLIPSIS] : range(edges + 1, siblings * 2 + edges + 2)),\n\n ...(isShowLeftEllipsis && isShowRightEllipsis ? range(leftSiblingIndex, rightSiblingIndex) : []),\n\n ...(isShowRightEllipsis ? [ELLIPSIS] : range(totalPages - edges - 1 - 2 * siblings, totalPages - edges)),\n\n ...range(totalPages - edges + 1, totalPages)\n ];\n } else {\n return [...range(Math.max(Math.min(leftSiblingIndex, rightSiblingIndex - 2 * siblings), 1), Math.min(Math.max(rightSiblingIndex, leftSiblingIndex + 2 * siblings), totalPages))];\n }\n }, [totalPages, edges, siblings, activePage, showEllipsis]);\n\n React.useEffect(() => {\n if (props.page !== undefined) {\n handlePage(props.page);\n }\n }, [props.page]);\n\n return {\n state: {\n activePage,\n totalPages,\n canPrev,\n canNext\n },\n pages,\n prev,\n next,\n first,\n last,\n handlePage\n };\n }\n});\n","import type { usePaginatorProps } from '@primereact/types/shared/paginator';\n\nexport const defaultProps: usePaginatorProps = {\n defaultPage: 1,\n page: undefined,\n total: 0,\n itemsPerPage: 10,\n onPageChange: undefined,\n siblings: 1,\n edges: 1,\n disabled: false,\n showEllipsis: true\n};\n"],"mappings":"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","names":["withHeadless","React","defaultProps","range","start","end","length","_","i","ELLIPSIS","usePaginator","withHeadless","defaultProps","props","_a","_b","_c","_d","edges","siblings","showEllipsis","activePage","setActivePage","totalPages","canPrev","canNext","handlePage","page","newPageValue","next","prev","first","last","pages","leftSiblingIndex","rightSiblingIndex","isShowLeftEllipsis","isShowRightEllipsis"]}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export declare const usePaginator: (inProps?: unknown) => import("@primereact/types/core").HeadlessInstance<import("@primereact/types/shared/paginator").usePaginatorProps, unknown, {
|
|
2
|
+
state: {
|
|
3
|
+
activePage: number;
|
|
4
|
+
totalPages: number;
|
|
5
|
+
canPrev: boolean;
|
|
6
|
+
canNext: boolean;
|
|
7
|
+
};
|
|
8
|
+
pages: ({
|
|
9
|
+
type: "ellipsis";
|
|
10
|
+
} | {
|
|
11
|
+
type: "page";
|
|
12
|
+
value: number;
|
|
13
|
+
})[];
|
|
14
|
+
prev: () => void;
|
|
15
|
+
next: () => void;
|
|
16
|
+
first: () => void;
|
|
17
|
+
last: () => void;
|
|
18
|
+
handlePage: (page?: number) => void;
|
|
19
|
+
}>;
|
|
File without changes
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
var st=Object.defineProperty;var $=Object.getOwnPropertySymbols;var at=Object.prototype.hasOwnProperty,ot=Object.prototype.propertyIsEnumerable;var C=(e,s,c)=>s in e?st(e,s,{enumerable:!0,configurable:!0,writable:!0,value:c}):e[s]=c,S=(e,s)=>{for(var c in s||(s={}))at.call(s,c)&&C(e,c,s[c]);if($)for(var c of $(s))ot.call(s,c)&&C(e,c,s[c]);return e};import{withHeadless as ct}from"@primereact/core/headless";import{useEventListener as lt,useMountEffect as ut,useUnmountEffect as dt,useUpdateEffect as ft}from"@primereact/hooks";import{$dt as f}from"@primeuix/styled";import{find as I,findSingle as m,focus as L,hasClass as k}from"@primeuix/utils/dom";import*as d from"react";var O={visible:!1,defaultVisible:!1,direction:"up",transitionDelay:30,type:"linear",radius:0,hideOnClickOutside:!0,onVisibleChange:void 0};var Dt=ct({name:"useSpeedDial",defaultProps:O,setup:({props:e,elementRef:s})=>{var A,K;let c=d.useRef(null),[h,x]=d.useState((K=(A=e.visible)!=null?A:e.defaultVisible)!=null?K:!1),[w,p]=d.useState(-1),D=d.useRef(!1),y=d.useRef(0),v=3.14159265358979,P={visible:h,focusedOptionIndex:w},U=d.useCallback(()=>{let t=y.current;return y.current+=1,t},[]);ut(()=>{if(e.type!=="linear"){let t=m(s.current,'[data-pc-name="button"]'),n=m(c.current,'[data-pc-name="speeddialitem"]');if(t&&n){let i=Math.abs(t.offsetWidth-n.offsetWidth),o=Math.abs(t.offsetHeight-n.offsetHeight);c.current.style.setProperty(f("item.diff.x").name,`${i/2}px`),c.current.style.setProperty(f("item.diff.y").name,`${o/2}px`)}}}),ft(()=>(h&&e.hideOnClickOutside&&V(),()=>{e.hideOnClickOutside&&R()}),[h]),dt(()=>{R()});let[V,R]=lt({type:"click",listener:t=>{h&&N(t)&&E(),D.current=!1}}),N=t=>s.current&&!(s.current.isSameNode(t.target)||s.current.contains(t.target)),B=t=>{var n;(n=s.current)!=null&&n.contains(t.relatedTarget)||p(-1)},F=t=>{E(),D.current=!0,t.preventDefault()},W=()=>{h?E():M(),D.current=!0},M=()=>{var t;x(!0),(t=e.onVisibleChange)==null||t.call(e,{value:!0})},E=()=>{var t;x(!1),(t=e.onVisibleChange)==null||t.call(e,{value:!1})},q=t=>{var o;let n=y.current;return(h?t:n-t-1)*((o=e.transitionDelay)!=null?o:30)},_=t=>{let n=e.type;if(n!=="linear"){let i=y.current,o=e.radius||i*20;if(n==="circle"){let r=2*v/i;return{left:`calc(${o*Math.cos(r*t)}px + ${f("item.diff.x").variable})`,top:`calc(${o*Math.sin(r*t)}px + ${f("item.diff.y").variable})`}}else if(n==="semi-circle"){let r=e.direction,a=v/(i-1),l=`calc(${o*Math.cos(a*t)}px + ${f("item.diff.x").variable})`,u=`calc(${o*Math.sin(a*t)}px + ${f("item.diff.y").variable})`;if(r==="up")return{left:l,bottom:u};if(r==="down")return{left:l,top:u};if(r==="left")return{right:u,top:l};if(r==="right")return{left:u,top:l}}else if(n==="quarter-circle"){let r=e.direction,a=v/(2*(i-1)),l=`calc(${o*Math.cos(a*t)}px + ${f("item.diff.x").variable})`,u=`calc(${o*Math.sin(a*t)}px + ${f("item.diff.y").variable})`;if(r==="up-left")return{right:l,bottom:u};if(r==="up-right")return{left:l,bottom:u};if(r==="down-left")return{right:u,top:l};if(r==="down-right")return{left:u,top:l}}}return{}},j=t=>{switch(t.code){case"ArrowDown":case"ArrowLeft":J(t);break;case"ArrowUp":case"ArrowRight":G(t);break;case"Escape":H();break;default:break}},z=t=>{switch(t.code){case"ArrowDown":Y(t);break;case"ArrowUp":X(t);break;case"ArrowLeft":Z(t);break;case"ArrowRight":tt(t);break;case"Enter":case"NumpadEnter":case"Space":Q();break;case"Escape":H();break;case"Home":nt(t);break;case"End":et(t);break;default:break}},G=t=>{M(),g(t),t.preventDefault()},J=t=>{M(),b(t),t.preventDefault()},Q=()=>{E(),p(-1);let t=m(s.current,"button");t&&L(t)},H=()=>{E(),p(-1);let t=m(s.current,"button");t&&L(t)},X=t=>{e.direction==="down"?g(t):b(t)},Y=t=>{e.direction==="down"?b(t):g(t)},Z=t=>{let n=["left","up-right","down-left"],i=["right","up-left","down-right"];n.includes(e.direction)?b(t):(i.includes(e.direction),g(t))},tt=t=>{let n=["left","up-right","down-left"],i=["right","up-left","down-right"];n.includes(e.direction)?g(t):(i.includes(e.direction),b(t))},et=t=>{t.preventDefault(),p(-1),g(t)},nt=t=>{t.preventDefault(),p(-1),b(t)},b=t=>{let n=rt(w);T(n),t.preventDefault()},g=t=>{let n=it(w);T(n),t.preventDefault()},T=t=>{var o;let i=[...I(s.current,'[data-pc-name="speeddialitem"]')].filter(r=>{let a=m(r,"a");return a?!k(a,"p-disabled"):!0});if(i[t]){let r=(o=i[t].getAttribute("id"))!=null?o:-1;p(r);let a=m(i[t],'[type="button"]');a&&L(a)}},it=t=>{let i=[...I(s.current,'[data-pc-name="speeddialitem"]')].filter(a=>{let l=m(a,"a");return l?!k(l,"p-disabled"):!0}),o=t===-1?i[i.length-1].id:t,r=i.findIndex(a=>a.getAttribute("id")===o);return r=t===-1?i.length-1:r-1,r},rt=t=>{let i=[...I(s.current,'[data-pc-name="speeddialitem"]')].filter(a=>{let l=m(a,"a");return l?!k(l,"p-disabled"):!0}),o=t===-1?i[0].id:t,r=i.findIndex(a=>a.getAttribute("id")===o);return r=t===-1?0:r+1,r};return{state:P,listRef:c,registerItem:U,getItemStyle:t=>{let n=q(t),i=_(t);return S({transitionDelay:`${n}ms`},i)},onBlur:B,onKeyDown:z,onClick:W,onTogglerKeydown:j,onItemClick:F}}});export{O as defaultProps,Dt as useSpeedDial};
|
|
2
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/speeddial/useSpeedDial.ts","../../src/speeddial/useSpeedDial.props.ts"],"sourcesContent":["import { withHeadless } from '@primereact/core/headless';\nimport { useEventListener, useMountEffect, useUnmountEffect, useUpdateEffect } from '@primereact/hooks';\nimport { $dt } from '@primeuix/styled';\nimport { find, findSingle, focus, hasClass } from '@primeuix/utils/dom';\nimport * as React from 'react';\nimport { defaultProps } from './useSpeedDial.props';\n\nexport const useSpeedDial = withHeadless({\n name: 'useSpeedDial',\n defaultProps,\n setup: ({ props, elementRef }) => {\n const listRef = React.useRef<HTMLUListElement | null>(null);\n const [visibleState, setVisibleState] = React.useState<boolean>(props.visible ?? props.defaultVisible ?? false);\n const [focusedOptionIndex, setFocusedOptionIndex] = React.useState<string | number>(-1);\n const isItemClicked = React.useRef(false);\n const itemCounter = React.useRef(0);\n const Math_PI = 3.14159265358979;\n\n const state = {\n visible: visibleState,\n focusedOptionIndex\n };\n\n const registerItem = React.useCallback(() => {\n const index = itemCounter.current;\n\n itemCounter.current += 1;\n\n return index;\n }, []);\n\n useMountEffect(() => {\n if (props.type !== 'linear') {\n const button = findSingle(elementRef.current as HTMLDivElement, '[data-pc-name=\"button\"]') as HTMLButtonElement;\n const firstItem = findSingle(listRef.current as HTMLUListElement, '[data-pc-name=\"speeddialitem\"]') as HTMLLIElement;\n\n if (button && firstItem) {\n const wDiff = Math.abs(button.offsetWidth - firstItem.offsetWidth);\n const hDiff = Math.abs(button.offsetHeight - firstItem.offsetHeight);\n\n (listRef.current as HTMLUListElement).style.setProperty($dt('item.diff.x').name, `${wDiff / 2}px`);\n (listRef.current as HTMLUListElement).style.setProperty($dt('item.diff.y').name, `${hDiff / 2}px`);\n }\n }\n });\n\n useUpdateEffect(() => {\n if (visibleState) {\n if (props.hideOnClickOutside) {\n bindDocumentClickListener();\n }\n }\n\n return () => {\n if (props.hideOnClickOutside) {\n unbindDocumentClickListener();\n }\n };\n }, [visibleState]);\n\n useUnmountEffect(() => {\n unbindDocumentClickListener();\n });\n\n const [bindDocumentClickListener, unbindDocumentClickListener] = useEventListener({\n type: 'click',\n listener: (event) => {\n if (visibleState && isOutsideClicked(event as unknown as React.MouseEvent)) {\n hide();\n }\n\n isItemClicked.current = false;\n }\n });\n\n const isOutsideClicked = (event: React.MouseEvent) => {\n return elementRef.current && !(elementRef.current.isSameNode(event.target as Node) || elementRef.current.contains(event.target as Node));\n };\n\n const onBlur = (event: React.FocusEvent) => {\n if (!elementRef.current?.contains(event.relatedTarget as Node)) {\n setFocusedOptionIndex(-1);\n }\n };\n\n const onItemClick = (event: React.MouseEvent) => {\n hide();\n\n isItemClicked.current = true;\n event.preventDefault();\n };\n\n const onClick = () => {\n if (visibleState) {\n hide();\n } else {\n show();\n }\n\n isItemClicked.current = true;\n };\n\n const show = () => {\n setVisibleState(true);\n\n props.onVisibleChange?.({\n value: true\n });\n };\n\n const hide = () => {\n setVisibleState(false);\n\n props.onVisibleChange?.({\n value: false\n });\n };\n\n const calculateTransitionDelay = (index: number) => {\n const length = itemCounter.current;\n const visible = visibleState;\n\n return (visible ? index : length - index - 1) * (props.transitionDelay ?? 30);\n };\n\n const calculatePointStyle = (index: number) => {\n const type = props.type;\n\n if (type !== 'linear') {\n const length = itemCounter.current;\n const radius = (props.radius || length * 20) as number;\n\n if (type === 'circle') {\n const step = (2 * Math_PI) / length;\n\n return {\n left: `calc(${radius * Math.cos(step * index)}px + ${$dt('item.diff.x').variable})`,\n top: `calc(${radius * Math.sin(step * index)}px + ${$dt('item.diff.y').variable})`\n };\n } else if (type === 'semi-circle') {\n const direction = props.direction;\n const step = Math_PI / (length - 1);\n const x = `calc(${radius * Math.cos(step * index)}px + ${$dt('item.diff.x').variable})`;\n const y = `calc(${radius * Math.sin(step * index)}px + ${$dt('item.diff.y').variable})`;\n\n if (direction === 'up') {\n return { left: x, bottom: y };\n } else if (direction === 'down') {\n return { left: x, top: y };\n } else if (direction === 'left') {\n return { right: y, top: x };\n } else if (direction === 'right') {\n return { left: y, top: x };\n }\n } else if (type === 'quarter-circle') {\n const direction = props.direction;\n const step = Math_PI / (2 * (length - 1));\n const x = `calc(${radius * Math.cos(step * index)}px + ${$dt('item.diff.x').variable})`;\n const y = `calc(${radius * Math.sin(step * index)}px + ${$dt('item.diff.y').variable})`;\n\n if (direction === 'up-left') {\n return { right: x, bottom: y };\n } else if (direction === 'up-right') {\n return { left: x, bottom: y };\n } else if (direction === 'down-left') {\n return { right: y, top: x };\n } else if (direction === 'down-right') {\n return { left: y, top: x };\n }\n }\n }\n\n return {};\n };\n\n const onTogglerKeydown = (event: React.KeyboardEvent) => {\n switch (event.code) {\n case 'ArrowDown':\n case 'ArrowLeft':\n onTogglerArrowDown(event);\n\n break;\n\n case 'ArrowUp':\n case 'ArrowRight':\n onTogglerArrowUp(event);\n\n break;\n\n case 'Escape':\n onEscapeKey();\n\n break;\n\n default:\n break;\n }\n };\n\n const onKeyDown = (event: React.KeyboardEvent) => {\n switch (event.code) {\n case 'ArrowDown':\n onArrowDown(event);\n break;\n\n case 'ArrowUp':\n onArrowUp(event);\n break;\n\n case 'ArrowLeft':\n onArrowLeft(event);\n break;\n\n case 'ArrowRight':\n onArrowRight(event);\n break;\n\n case 'Enter':\n case 'NumpadEnter':\n case 'Space':\n onEnterKey();\n break;\n\n case 'Escape':\n onEscapeKey();\n break;\n\n case 'Home':\n onHomeKey(event);\n break;\n\n case 'End':\n onEndKey(event);\n break;\n\n default:\n break;\n }\n };\n\n const onTogglerArrowUp = (event: React.KeyboardEvent) => {\n show();\n navigatePrevItem(event);\n\n event.preventDefault();\n };\n\n const onTogglerArrowDown = (event: React.KeyboardEvent) => {\n show();\n navigateNextItem(event);\n\n event.preventDefault();\n };\n\n const onEnterKey = () => {\n hide();\n setFocusedOptionIndex(-1);\n\n const buttonEl = findSingle(elementRef.current as HTMLDivElement, 'button') as HTMLButtonElement;\n\n if (buttonEl) {\n focus(buttonEl);\n }\n };\n\n const onEscapeKey = () => {\n hide();\n setFocusedOptionIndex(-1);\n\n const buttonEl = findSingle(elementRef.current as HTMLDivElement, 'button') as HTMLButtonElement;\n\n if (buttonEl) {\n focus(buttonEl);\n }\n };\n\n const onArrowUp = (event: React.KeyboardEvent) => {\n if (props.direction === 'down') {\n navigatePrevItem(event);\n } else {\n navigateNextItem(event);\n }\n };\n\n const onArrowDown = (event: React.KeyboardEvent) => {\n if (props.direction === 'down') {\n navigateNextItem(event);\n } else {\n navigatePrevItem(event);\n }\n };\n\n const onArrowLeft = (event: React.KeyboardEvent) => {\n const leftValidDirections = ['left', 'up-right', 'down-left'];\n const rightValidDirections = ['right', 'up-left', 'down-right'];\n\n if (leftValidDirections.includes(props.direction as string)) {\n navigateNextItem(event);\n } else if (rightValidDirections.includes(props.direction as string)) {\n navigatePrevItem(event);\n } else {\n navigatePrevItem(event);\n }\n };\n\n const onArrowRight = (event: React.KeyboardEvent) => {\n const leftValidDirections = ['left', 'up-right', 'down-left'];\n const rightValidDirections = ['right', 'up-left', 'down-right'];\n\n if (leftValidDirections.includes(props.direction as string)) {\n navigatePrevItem(event);\n } else if (rightValidDirections.includes(props.direction as string)) {\n navigateNextItem(event);\n } else {\n navigateNextItem(event);\n }\n };\n\n const onEndKey = (event: React.KeyboardEvent) => {\n event.preventDefault();\n\n setFocusedOptionIndex(-1);\n navigatePrevItem(event);\n };\n\n const onHomeKey = (event: React.KeyboardEvent) => {\n event.preventDefault();\n\n setFocusedOptionIndex(-1);\n navigateNextItem(event);\n };\n\n const navigateNextItem = (event: React.KeyboardEvent) => {\n const optionIndex = findNextOptionIndex(focusedOptionIndex);\n\n changeFocusedOptionIndex(optionIndex);\n\n event.preventDefault();\n };\n\n const navigatePrevItem = (event: React.KeyboardEvent) => {\n const optionIndex = findPrevOptionIndex(focusedOptionIndex);\n\n changeFocusedOptionIndex(optionIndex);\n\n event.preventDefault();\n };\n\n const changeFocusedOptionIndex = (index: number) => {\n const items = find(elementRef.current as HTMLDivElement, '[data-pc-name=\"speeddialitem\"]');\n const filteredItems = [...items].filter((item) => {\n const element = findSingle(item, 'a');\n\n return element ? !hasClass(element, 'p-disabled') : true;\n });\n\n if (filteredItems[index]) {\n const idAttr = filteredItems[index].getAttribute('id') ?? -1;\n\n setFocusedOptionIndex(idAttr);\n\n const buttonEl = findSingle(filteredItems[index], '[type=\"button\"]') as HTMLButtonElement;\n\n if (buttonEl) {\n focus(buttonEl);\n }\n }\n };\n\n const findPrevOptionIndex = (index: string | number) => {\n const items = find(elementRef.current as HTMLDivElement, '[data-pc-name=\"speeddialitem\"]');\n const filteredItems = [...items].filter((item) => {\n const element = findSingle(item, 'a');\n\n return element ? !hasClass(element, 'p-disabled') : true;\n });\n const newIndex = index === -1 ? filteredItems[filteredItems.length - 1].id : index;\n let matchedOptionIndex = filteredItems.findIndex((link) => link.getAttribute('id') === newIndex);\n\n matchedOptionIndex = index === -1 ? filteredItems.length - 1 : matchedOptionIndex - 1;\n\n return matchedOptionIndex;\n };\n\n const findNextOptionIndex = (index: string | number) => {\n const items = find(elementRef.current as HTMLDivElement, '[data-pc-name=\"speeddialitem\"]');\n const filteredItems = [...items].filter((item) => {\n const element = findSingle(item, 'a');\n\n return element ? !hasClass(element, 'p-disabled') : true;\n });\n\n const newIndex = index === -1 ? filteredItems[0].id : index;\n\n let matchedOptionIndex = filteredItems.findIndex((link) => link.getAttribute('id') === newIndex);\n\n matchedOptionIndex = index === -1 ? 0 : matchedOptionIndex + 1;\n\n return matchedOptionIndex;\n };\n\n const getItemStyle = (index: number) => {\n const transitionDelay = calculateTransitionDelay(index);\n const pointStyle = calculatePointStyle(index);\n\n return {\n transitionDelay: `${transitionDelay}ms`,\n ...pointStyle\n };\n };\n\n return {\n state,\n //refs\n listRef,\n // methods\n registerItem,\n getItemStyle,\n onBlur,\n onKeyDown,\n onClick,\n onTogglerKeydown,\n onItemClick\n };\n }\n});\n","import type { useSpeedDialProps } from '@primereact/types/shared/speeddial';\n\nexport const defaultProps: useSpeedDialProps = {\n visible: false,\n defaultVisible: false,\n direction: 'up',\n transitionDelay: 30,\n type: 'linear',\n radius: 0,\n hideOnClickOutside: true,\n onVisibleChange: undefined\n};\n"],"mappings":"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","names":["withHeadless","useEventListener","useMountEffect","useUnmountEffect","useUpdateEffect","$dt","find","findSingle","focus","hasClass","React","defaultProps","useSpeedDial","withHeadless","defaultProps","props","elementRef","_a","_b","listRef","visibleState","setVisibleState","focusedOptionIndex","setFocusedOptionIndex","isItemClicked","itemCounter","Math_PI","state","registerItem","index","useMountEffect","button","findSingle","firstItem","wDiff","hDiff","$dt","useUpdateEffect","bindDocumentClickListener","unbindDocumentClickListener","useUnmountEffect","useEventListener","event","isOutsideClicked","hide","onBlur","onItemClick","onClick","show","calculateTransitionDelay","length","calculatePointStyle","type","radius","step","direction","x","y","onTogglerKeydown","onTogglerArrowDown","onTogglerArrowUp","onEscapeKey","onKeyDown","onArrowDown","onArrowUp","onArrowLeft","onArrowRight","onEnterKey","onHomeKey","onEndKey","navigatePrevItem","navigateNextItem","buttonEl","focus","leftValidDirections","rightValidDirections","optionIndex","findNextOptionIndex","changeFocusedOptionIndex","findPrevOptionIndex","filteredItems","find","item","element","hasClass","idAttr","newIndex","matchedOptionIndex","link","transitionDelay","pointStyle","__spreadValues"]}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
export declare const useSpeedDial: (inProps?: unknown) => import("@primereact/types/core").HeadlessInstance<import("@primereact/types/shared/speeddial").useSpeedDialProps, unknown, {
|
|
3
|
+
state: {
|
|
4
|
+
visible: boolean;
|
|
5
|
+
focusedOptionIndex: string | number;
|
|
6
|
+
};
|
|
7
|
+
listRef: React.RefObject<HTMLUListElement | null>;
|
|
8
|
+
registerItem: () => number;
|
|
9
|
+
getItemStyle: (index: number) => {
|
|
10
|
+
left: string;
|
|
11
|
+
top: string;
|
|
12
|
+
bottom?: undefined;
|
|
13
|
+
right?: undefined;
|
|
14
|
+
transitionDelay: string;
|
|
15
|
+
} | {
|
|
16
|
+
left: string;
|
|
17
|
+
bottom: string;
|
|
18
|
+
top?: undefined;
|
|
19
|
+
right?: undefined;
|
|
20
|
+
transitionDelay: string;
|
|
21
|
+
} | {
|
|
22
|
+
right: string;
|
|
23
|
+
top: string;
|
|
24
|
+
left?: undefined;
|
|
25
|
+
bottom?: undefined;
|
|
26
|
+
transitionDelay: string;
|
|
27
|
+
} | {
|
|
28
|
+
right: string;
|
|
29
|
+
bottom: string;
|
|
30
|
+
left?: undefined;
|
|
31
|
+
top?: undefined;
|
|
32
|
+
transitionDelay: string;
|
|
33
|
+
} | {
|
|
34
|
+
left?: undefined;
|
|
35
|
+
top?: undefined;
|
|
36
|
+
bottom?: undefined;
|
|
37
|
+
right?: undefined;
|
|
38
|
+
transitionDelay: string;
|
|
39
|
+
};
|
|
40
|
+
onBlur: (event: React.FocusEvent) => void;
|
|
41
|
+
onKeyDown: (event: React.KeyboardEvent) => void;
|
|
42
|
+
onClick: () => void;
|
|
43
|
+
onTogglerKeydown: (event: React.KeyboardEvent) => void;
|
|
44
|
+
onItemClick: (event: React.MouseEvent) => void;
|
|
45
|
+
}>;
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/timeline/useTimeline.ts","../../src/timeline/useTimeline.props.ts"],"sourcesContent":["import { withHeadless } from '@primereact/core/headless';\nimport { defaultProps } from './useTimeline.props';\n\nexport const useTimeline = withHeadless({\n name: 'useTimeline',\n defaultProps\n});\n","import type { useTimelineProps } from '@primereact/types/shared/timeline';\n\nexport const defaultProps: useTimelineProps = {};\n"],"mappings":"AAAA,OAAS,gBAAAA,MAAoB,4BCEtB,IAAMC,EAAiC,CAAC,EDCxC,IAAMC,EAAcC,EAAa,CACpC,KAAM,cACN,aAAAC,CACJ,CAAC","names":["withHeadless","defaultProps","useTimeline","withHeadless","defaultProps"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const useTimeline: (inProps?: unknown) => import("@primereact/types/core").HeadlessInstance<import("@primereact/types/shared/timeline").useTimelineProps, unknown, Record<PropertyKey, unknown>>;
|
|
File without changes
|