@primereact/headless 11.0.0-alpha.3 → 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.
Files changed (66) hide show
  1. package/fluid/index.d.ts +2 -0
  2. package/fluid/index.mjs +2 -0
  3. package/fluid/index.mjs.map +1 -0
  4. package/fluid/useFluid.d.ts +1 -0
  5. package/fluid/useFluid.props.d.ts +2 -0
  6. package/fluid/useFluid.test.d.ts +0 -0
  7. package/iconfield/index.d.ts +2 -0
  8. package/iconfield/index.mjs +2 -0
  9. package/iconfield/index.mjs.map +1 -0
  10. package/iconfield/useIconField.d.ts +1 -0
  11. package/iconfield/useIconField.props.d.ts +2 -0
  12. package/iconfield/useIconField.test.d.ts +0 -0
  13. package/inputgroup/index.d.ts +2 -0
  14. package/inputgroup/index.mjs +2 -0
  15. package/inputgroup/index.mjs.map +1 -0
  16. package/inputgroup/useInputGroup.d.ts +1 -0
  17. package/inputgroup/useInputGroup.props.d.ts +2 -0
  18. package/inputgroup/useInputGroup.test.d.ts +0 -0
  19. package/inputotp/index.d.ts +2 -0
  20. package/inputotp/index.mjs +2 -0
  21. package/inputotp/index.mjs.map +1 -0
  22. package/inputotp/useInputOtp.d.ts +15 -0
  23. package/inputotp/useInputOtp.props.d.ts +2 -0
  24. package/inputotp/useInputOtp.test.d.ts +0 -0
  25. package/knob/index.d.ts +2 -0
  26. package/knob/index.mjs +2 -0
  27. package/knob/index.mjs.map +1 -0
  28. package/knob/useKnob.d.ts +17 -0
  29. package/knob/useKnob.props.d.ts +2 -0
  30. package/knob/useKnob.test.d.ts +0 -0
  31. package/package.json +5 -5
  32. package/paginator/index.d.ts +2 -0
  33. package/paginator/index.mjs +2 -0
  34. package/paginator/index.mjs.map +1 -0
  35. package/paginator/usePaginator.d.ts +19 -0
  36. package/paginator/usePaginator.props.d.ts +2 -0
  37. package/paginator/usePaginator.test.d.ts +0 -0
  38. package/rating/index.mjs +1 -1
  39. package/rating/index.mjs.map +1 -1
  40. package/rating/useRating.d.ts +8 -5
  41. package/slider/index.mjs +1 -1
  42. package/slider/index.mjs.map +1 -1
  43. package/speeddial/index.d.ts +2 -0
  44. package/speeddial/index.mjs +2 -0
  45. package/speeddial/index.mjs.map +1 -0
  46. package/speeddial/useSpeedDial.d.ts +45 -0
  47. package/speeddial/useSpeedDial.props.d.ts +2 -0
  48. package/speeddial/useSpeedDial.test.d.ts +0 -0
  49. package/terminal/index.d.ts +2 -0
  50. package/terminal/index.mjs +2 -0
  51. package/terminal/index.mjs.map +1 -0
  52. package/terminal/useTerminal.d.ts +12 -0
  53. package/terminal/useTerminal.props.d.ts +2 -0
  54. package/terminal/useTerminal.test.d.ts +0 -0
  55. package/textarea/index.d.ts +2 -0
  56. package/textarea/index.mjs +2 -0
  57. package/textarea/index.mjs.map +1 -0
  58. package/textarea/useTextarea.d.ts +3 -0
  59. package/textarea/useTextarea.props.d.ts +2 -0
  60. package/textarea/useTextarea.test.d.ts +0 -0
  61. package/timeline/index.d.ts +2 -0
  62. package/timeline/index.mjs +2 -0
  63. package/timeline/index.mjs.map +1 -0
  64. package/timeline/useTimeline.d.ts +1 -0
  65. package/timeline/useTimeline.props.d.ts +2 -0
  66. package/timeline/useTimeline.test.d.ts +0 -0
@@ -0,0 +1,2 @@
1
+ export * from './useFluid';
2
+ export * from './useFluid.props';
@@ -0,0 +1,2 @@
1
+ import{withHeadless as e}from"@primereact/core/headless";var r={};var s=e({name:"useFluid",defaultProps:r});export{r as defaultProps,s as useFluid};
2
+ //# sourceMappingURL=index.mjs.map
@@ -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>>;
@@ -0,0 +1,2 @@
1
+ import type { useFluidProps } from '@primereact/types/shared/fluid';
2
+ export declare const defaultProps: useFluidProps;
File without changes
@@ -0,0 +1,2 @@
1
+ export * from './useIconField';
2
+ export * from './useIconField.props';
@@ -0,0 +1,2 @@
1
+ import{withHeadless as o}from"@primereact/core/headless";var e={};var s=o({name:"useIconField",defaultProps:e});export{e as defaultProps,s as useIconField};
2
+ //# sourceMappingURL=index.mjs.map
@@ -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>>;
@@ -0,0 +1,2 @@
1
+ import type { useIconFieldProps } from '@primereact/types/shared/iconfield';
2
+ export declare const defaultProps: useIconFieldProps;
File without changes
@@ -0,0 +1,2 @@
1
+ export * from './useInputGroup';
2
+ export * from './useInputGroup.props';
@@ -0,0 +1,2 @@
1
+ import{withHeadless as r}from"@primereact/core/headless";var p={};var u=r({name:"useInputGroup",defaultProps:p});export{p as defaultProps,u as useInputGroup};
2
+ //# sourceMappingURL=index.mjs.map
@@ -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>>;
@@ -0,0 +1,2 @@
1
+ import type { useInputGroupProps } from '@primereact/types/shared/inputgroup';
2
+ export declare const defaultProps: useInputGroupProps;
File without changes
@@ -0,0 +1,2 @@
1
+ export * from './useInputOtp';
2
+ export * from './useInputOtp.props';
@@ -0,0 +1,2 @@
1
+ import{withHeadless as R}from"@primereact/core/headless";import{isTouchDevice as x}from"@primeuix/utils";import*as u from"react";var d={value:void 0,defaultValue:void 0,integerOnly:!1,mask:!1,onValueChange:void 0};var h=R({name:"useInputOtp",defaultProps:d,setup({props:n}){var E,I;let[g,M]=u.useState((I=(E=n.value)!=null?E:n.defaultValue)!=null?I:null),[r,c]=u.useState(()=>{var t,a;let e=(a=(t=n.value)!=null?t:n.defaultValue)!=null?a:"";return e&&typeof e=="string"?e.split(""):[]}),s=u.useRef(0),k={value:g,tokens:r},H=u.useCallback(()=>{let e=s.current;return s.current+=1,e},[]),L=u.useCallback(()=>n.integerOnly?"numeric":"text",[n.integerOnly]),b=u.useCallback(()=>n.mask?"password":"text",[n.maks]),i=e=>{var a;let t=r.join("");M(t),(a=n.onValueChange)==null||a.call(n,{originalEvent:e,value:t})},y=(e,t)=>{let a=e.nativeEvent,o=e.target,T=[...r];T[t]=o.value,c(T),i(e),a.inputType==="deleteContentBackward"?l(e):(a.inputType==="insertText"||a.inputType==="deleteContentForward"||x()&&e instanceof CustomEvent)&&p(e)},l=e=>{let t=f(e.target);t&&(t.focus(),t.select())},p=e=>{let t=m(e.target);t&&(t.focus(),t.select())},m=e=>{let t=e.nextElementSibling;return t?t.nodeName==="INPUT"?t:m(t):null},f=e=>{let t=e.previousElementSibling;return t?t.nodeName==="INPUT"?t:f(t):null};return{state:k,registerText:H,inputMode:L,inputType:b,onInput:y,onClick:e=>{setTimeout(()=>e.target.select(),1)},onKeyDown:e=>{if(!(e.ctrlKey||e.metaKey))switch(e.code){case"ArrowLeft":l(e),e.preventDefault();break;case"ArrowUp":case"ArrowDown":e.preventDefault();break;case"Backspace":e.target.value.length===0&&(l(e),e.preventDefault());break;case"ArrowRight":p(e),e.preventDefault();break;case"Enter":case"NumpadEnter":case"Tab":break;default:(n.integerOnly&&!(e.code!=="Space"&&Number(e.key)>=0&&Number(e.key)<=9)||r.join("").length>=s.current&&e.code!=="Delete")&&e.preventDefault();break}},onPaste:e=>{let t=e.clipboardData.getData("text");if(t.length){let a=t.substring(0,s.current);if(!n.integerOnly||!isNaN(Number(a))){let o=a.split("");c(o),i(e)}}e.preventDefault()}}}});export{d as defaultProps,h as useInputOtp};
2
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/inputotp/useInputOtp.ts","../../src/inputotp/useInputOtp.props.ts"],"sourcesContent":["import { withHeadless } from '@primereact/core/headless';\nimport { useInputOtpProps } from '@primereact/types/shared/inputotp';\nimport { isTouchDevice } from '@primeuix/utils';\nimport * as React from 'react';\nimport { defaultProps } from './useInputOtp.props';\n\nexport const useInputOtp = withHeadless({\n name: 'useInputOtp',\n defaultProps,\n setup({ props }) {\n const [valueState, setValueState] = React.useState<useInputOtpProps['value']>(props.value ?? props.defaultValue ?? null);\n const [tokens, setTokens] = React.useState<string[]>(() => {\n const initialValue = props.value ?? props.defaultValue ?? '';\n\n return initialValue && typeof initialValue === 'string' ? initialValue.split('') : [];\n });\n const textCounter = React.useRef(0);\n\n const state = {\n value: valueState,\n tokens\n };\n\n const registerText = React.useCallback(() => {\n const index = textCounter.current;\n\n textCounter.current += 1;\n\n return index;\n }, []);\n\n const inputMode = React.useCallback(() => {\n return props.integerOnly ? 'numeric' : 'text';\n }, [props.integerOnly]);\n\n const inputType = React.useCallback(() => {\n return props.mask ? 'password' : 'text';\n }, [props.maks]);\n\n const updateValue = (event: React.FormEvent<HTMLInputElement> | React.ClipboardEvent<HTMLInputElement>) => {\n const newValue = tokens.join('');\n\n setValueState(newValue);\n\n props.onValueChange?.({\n originalEvent: event,\n value: newValue\n });\n };\n\n const onInput = (event: React.FormEvent<HTMLInputElement>, index: number) => {\n const inputEvent = event.nativeEvent as InputEvent;\n const target = event.target as HTMLInputElement;\n const currentTokens = [...tokens];\n\n currentTokens[index] = target.value;\n setTokens(currentTokens);\n updateValue(event);\n\n if (inputEvent.inputType === 'deleteContentBackward') {\n moveToPrev(event);\n } else if (inputEvent.inputType === 'insertText' || inputEvent.inputType === 'deleteContentForward' || (isTouchDevice() && event instanceof CustomEvent)) {\n moveToNext(event);\n }\n };\n\n const moveToPrev = (event: React.FormEvent<HTMLInputElement>) => {\n const prevInput = findPrevInput(event.target as HTMLInputElement);\n\n if (prevInput) {\n prevInput.focus();\n prevInput.select();\n }\n };\n\n const moveToNext = (event: React.FormEvent<HTMLInputElement>) => {\n const nextInput = findNextInput(event.target as HTMLInputElement);\n\n if (nextInput) {\n nextInput.focus();\n nextInput.select();\n }\n };\n\n const findNextInput = (element: HTMLInputElement): HTMLInputElement | null => {\n const nextInput = element.nextElementSibling;\n\n if (!nextInput) return null;\n\n return nextInput.nodeName === 'INPUT' ? (nextInput as HTMLInputElement) : findNextInput(nextInput as HTMLInputElement);\n };\n\n const findPrevInput = (element: HTMLInputElement): HTMLInputElement | null => {\n const prevInput = element.previousElementSibling;\n\n if (!prevInput) return null;\n\n return prevInput.nodeName === 'INPUT' ? (prevInput as HTMLInputElement) : findPrevInput(prevInput as HTMLInputElement);\n };\n\n const onClick = (event: React.MouseEvent<HTMLInputElement>) => {\n setTimeout(() => (event.target as HTMLInputElement).select(), 1);\n };\n\n const onKeyDown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n if (event.ctrlKey || event.metaKey) {\n return;\n }\n\n switch (event.code) {\n case 'ArrowLeft':\n moveToPrev(event);\n event.preventDefault();\n\n break;\n\n case 'ArrowUp':\n case 'ArrowDown':\n event.preventDefault();\n\n break;\n\n case 'Backspace':\n if ((event.target as HTMLInputElement).value.length === 0) {\n moveToPrev(event);\n event.preventDefault();\n }\n\n break;\n\n case 'ArrowRight':\n moveToNext(event);\n event.preventDefault();\n\n break;\n\n case 'Enter':\n case 'NumpadEnter':\n case 'Tab':\n break;\n\n default:\n if ((props.integerOnly && !(event.code !== 'Space' && Number(event.key) >= 0 && Number(event.key) <= 9)) || (tokens.join('').length >= textCounter.current && event.code !== 'Delete')) {\n event.preventDefault();\n }\n\n break;\n }\n };\n\n const onPaste = (event: React.ClipboardEvent<HTMLInputElement>) => {\n const paste = event.clipboardData.getData('text');\n\n if (paste.length) {\n const pastedCode = paste.substring(0, textCounter.current);\n\n if (!props.integerOnly || !isNaN(Number(pastedCode))) {\n const newTokens = pastedCode.split('');\n\n setTokens(newTokens);\n updateValue(event);\n }\n }\n\n event.preventDefault();\n };\n\n return {\n state,\n // methods\n registerText,\n inputMode,\n inputType,\n onInput,\n onClick,\n onKeyDown,\n onPaste\n };\n }\n});\n","import type { useInputOtpProps } from '@primereact/types/shared/inputotp';\n\nexport const defaultProps: useInputOtpProps = {\n value: undefined,\n defaultValue: undefined,\n integerOnly: false,\n mask: false,\n onValueChange: undefined\n};\n"],"mappings":"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","names":["withHeadless","isTouchDevice","React","defaultProps","useInputOtp","withHeadless","defaultProps","props","_a","_b","valueState","setValueState","tokens","setTokens","initialValue","textCounter","state","registerText","index","inputMode","inputType","updateValue","event","newValue","onInput","inputEvent","target","currentTokens","moveToPrev","isTouchDevice","moveToNext","prevInput","findPrevInput","nextInput","findNextInput","element","paste","pastedCode","newTokens"]}
@@ -0,0 +1,15 @@
1
+ import { useInputOtpProps } from '@primereact/types/shared/inputotp';
2
+ import * as React from 'react';
3
+ export declare const useInputOtp: (inProps?: unknown) => import("@primereact/types/core").HeadlessInstance<useInputOtpProps, unknown, {
4
+ state: {
5
+ value: string | null | undefined;
6
+ tokens: string[];
7
+ };
8
+ registerText: () => number;
9
+ inputMode: () => "text" | "numeric";
10
+ inputType: () => "text" | "password";
11
+ onInput: (event: React.FormEvent<HTMLInputElement>, index: number) => void;
12
+ onClick: (event: React.MouseEvent<HTMLInputElement>) => void;
13
+ onKeyDown: (event: React.KeyboardEvent<HTMLInputElement>) => void;
14
+ onPaste: (event: React.ClipboardEvent<HTMLInputElement>) => void;
15
+ }>;
@@ -0,0 +1,2 @@
1
+ import type { useInputOtpProps } from '@primereact/types/shared/inputotp';
2
+ export declare const defaultProps: useInputOtpProps;
File without changes
@@ -0,0 +1,2 @@
1
+ export * from './useKnob';
2
+ export * from './useKnob.props';
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
+ }>;
@@ -0,0 +1,2 @@
1
+ import type { useKnobProps } from '@primereact/types/shared/knob';
2
+ export declare const defaultProps: useKnobProps;
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",
3
+ "version": "11.0.0-alpha.5",
4
4
  "author": "PrimeTek Informatics",
5
5
  "description": "",
6
6
  "homepage": "https://primereact.org/",
@@ -32,9 +32,9 @@
32
32
  "access": "public"
33
33
  },
34
34
  "dependencies": {
35
- "@primeuix/styled": "^0.7.0",
36
- "@primeuix/utils": "^0.6.0",
37
- "@primereact/core": "11.0.0-alpha.3",
38
- "@primereact/hooks": "11.0.0-alpha.3"
35
+ "@primeuix/styled": "^0.7.2",
36
+ "@primeuix/utils": "^0.6.1",
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
+ export * from './usePaginator';
2
+ export * from './usePaginator.props';
@@ -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
+ }>;
@@ -0,0 +1,2 @@
1
+ import type { usePaginatorProps } from '@primereact/types/shared/paginator';
2
+ export declare const defaultProps: usePaginatorProps;
File without changes
package/rating/index.mjs CHANGED
@@ -1,2 +1,2 @@
1
- import{withHeadless as V}from"@primereact/core/headless";import{focus as x,getFirstFocusableElement as C}from"@primeuix/utils";import*as n from"react";var d={modelValue:void 0,defaultValue:void 0,stars:5,disabled:!1,readOnly:!1,onChange:void 0};var y=V({name:"useRating",defaultProps:d,setup:({props:o,elementRef:R})=>{let{readOnly:u,disabled:c}=o,[i,l]=n.useState(o.modelValue),f=n.useRef(-1),E=n.useRef(!1),[b,g]=n.useState(-1),[F,I]=n.useState(!1),T={value:i,focusedOptionIndex:b,isFocusVisibleItem:F},r=e=>{f.current=e,g(e)},a=e=>{E.current=e,I(e)},v=(e,s)=>{if(!u&&!c){m(s),a(!1);let t=C(e.currentTarget);t&&t instanceof HTMLElement&&x(t)}},m=e=>{u||c||(f.current===e||i===e?(r(-1),a(!1),l(void 0)):(r(e),a(!0),l(e)))},h=(e,s)=>{var t;u||c||(r(s),a(((t=e.nativeEvent.sourceCapabilities)==null?void 0:t.firesTouchEvents)===!1))},p=e=>{var t;if(u||c)return;let s=e.relatedTarget;s&&((t=R.current)!=null&&t.contains(s))||(r(-1),a(!1))},O=(e,s)=>{u||c||(m(s),a(!0))};return n.useEffect(()=>{var e;(e=o==null?void 0:o.onChange)==null||e.call(o,{value:i,originalEvent:null})},[i]),{state:T,onOptionClick:v,onFocus:h,onBlur:p,onChange:O}}});export{d as defaultProps,y as useRating};
1
+ import{withHeadless as O}from"@primereact/core/headless";import{focus as S,getFirstFocusableElement as y}from"@primeuix/utils";import*as u from"react";var b={value:void 0,defaultValue:void 0,stars:5,disabled:!1,readOnly:!1,allowHalf:!0,onValueChange:void 0};var B=O({name:"useRating",defaultProps:b,setup:({props:t,elementRef:h})=>{var R,v,V;let{readOnly:d,disabled:m}=t,[s,f]=u.useState(t.allowHalf?(R=t.defaultValue)!=null?R:t.value:Math.ceil((V=(v=t.defaultValue)!=null?v:t.value)!=null?V:0)),[c,E]=u.useState(void 0),[H,o]=u.useState(void 0),[M,r]=u.useState(!1),g=u.useRef(void 0),I={value:s,hoverValue:c,focusedOptionIndex:H,isFocusVisibleItem:M},F=n=>{var i;let e=parseFloat(n.target.value),a=Math.ceil(e);o(a);let l=n.nativeEvent;r(((i=l.sourceCapabilities)==null?void 0:i.firesTouchEvents)===!1)},T=n=>{var a;let e=n.relatedTarget;e&&((a=h.current)!=null&&a.contains(e))||o(void 0)},w=n=>{f(Number(n.target.value));let e=parseFloat(n.target.value),a=Math.ceil(e);o(a),r(!0)},x=(n,e)=>{if(d||m)return;let a=t.allowHalf?e:Math.ceil(e!=null?e:0);g.current===a&&E(void 0),f(i=>i===a?void 0:a),r(!1);let l=y(n.currentTarget);l&&l instanceof HTMLElement&&S(l)},C=(n,e)=>{if(d||m)return;o(void 0);let a=e?t.allowHalf?e:Math.ceil(e!=null?e:0):void 0;E(a),g.current=a},L=n=>{var i;let e=(i=c!=null?c:s)!=null?i:0,a=Math.floor(e),l="empty";return n<=a?l="filled":n===a+1&&!Number.isInteger(e)&&(l="half"),l};return u.useEffect(()=>{var n;(n=t==null?void 0:t.onValueChange)==null||n.call(t,{value:s,originalEvent:null})},[s]),u.useEffect(()=>{var n,e,a;f(t.allowHalf?(n=t.defaultValue)!=null?n:t.value:Math.ceil((a=(e=t.defaultValue)!=null?e:t.value)!=null?a:0))},[t.value,t.defaultValue,t.allowHalf]),{state:I,onInputFocus:F,onInputBlur:T,onInputChange:w,getOptionState:L,onOptionClick:x,onOptionHover:C}}});export{b as defaultProps,B as useRating};
2
2
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/rating/useRating.ts","../../src/rating/useRating.props.ts"],"sourcesContent":["import { withHeadless } from '@primereact/core/headless';\nimport { focus, getFirstFocusableElement } from '@primeuix/utils';\nimport * as React from 'react';\nimport { defaultProps } from './useRating.props';\n\nexport const useRating = withHeadless({\n name: 'useRating',\n defaultProps,\n setup: ({ props, elementRef }) => {\n const { readOnly, disabled } = props;\n const [valueState, setValueState] = React.useState(props.modelValue);\n const focusedOptionIndexRef = React.useRef(-1);\n const isFocusVisibleItemRef = React.useRef(false);\n const [focusedOptionIndex, setFocusedOptionIndex] = React.useState(-1);\n const [isFocusVisibleItem, setIsFocusVisibleItem] = React.useState(false);\n\n const state = {\n value: valueState,\n focusedOptionIndex,\n isFocusVisibleItem\n };\n\n // methods\n const setFocusedOption = (val: number) => {\n focusedOptionIndexRef.current = val;\n setFocusedOptionIndex(val);\n };\n\n const setIsFocusVisible = (val: boolean) => {\n isFocusVisibleItemRef.current = val;\n setIsFocusVisibleItem(val);\n };\n\n const onOptionClick = (event: React.MouseEvent<HTMLDivElement>, value: number) => {\n if (!readOnly && !disabled) {\n onOptionSelect(value);\n setIsFocusVisible(false);\n\n const firstFocusableEl = getFirstFocusableElement(event.currentTarget);\n\n if (firstFocusableEl && firstFocusableEl instanceof HTMLElement) {\n focus(firstFocusableEl);\n }\n }\n };\n\n const onOptionSelect = (value: number) => {\n if (readOnly || disabled) return;\n\n if (focusedOptionIndexRef.current === value || valueState === value) {\n setFocusedOption(-1);\n setIsFocusVisible(false);\n setValueState(undefined);\n } else {\n setFocusedOption(value);\n setIsFocusVisible(true);\n setValueState(value);\n }\n };\n\n const onFocus = (event: React.FocusEvent<HTMLInputElement>, value: number) => {\n if (readOnly || disabled) return;\n\n setFocusedOption(value);\n setIsFocusVisible((event.nativeEvent as FocusEvent & { sourceCapabilities?: { firesTouchEvents: boolean } | null }).sourceCapabilities?.firesTouchEvents === false);\n };\n\n const onBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n if (readOnly || disabled) return;\n\n const relatedTarget = event.relatedTarget as HTMLElement | null;\n\n if (relatedTarget && elementRef.current?.contains(relatedTarget)) {\n return;\n }\n\n setFocusedOption(-1);\n setIsFocusVisible(false);\n // formField.onBlur?.();\n };\n\n const onChange = (event: React.ChangeEvent<HTMLInputElement>, value: number) => {\n if (readOnly || disabled) return;\n\n onOptionSelect(value);\n setIsFocusVisible(true);\n };\n\n // effects\n\n React.useEffect(() => {\n props?.onChange?.({ value: valueState, originalEvent: null });\n }, [valueState]);\n\n return {\n state,\n // methods\n onOptionClick,\n onFocus,\n onBlur,\n onChange\n };\n }\n});\n","import type { useRatingProps } from '@primereact/types/shared/rating';\n\nexport const defaultProps: useRatingProps = {\n modelValue: undefined,\n defaultValue: undefined,\n stars: 5,\n disabled: false,\n readOnly: false,\n onChange: undefined\n};\n"],"mappings":"AAAA,OAAS,gBAAAA,MAAoB,4BAC7B,OAAS,SAAAC,EAAO,4BAAAC,MAAgC,kBAChD,UAAYC,MAAW,QCAhB,IAAMC,EAA+B,CACxC,WAAY,OACZ,aAAc,OACd,MAAO,EACP,SAAU,GACV,SAAU,GACV,SAAU,MACd,EDJO,IAAMC,EAAYC,EAAa,CAClC,KAAM,YACN,aAAAC,EACA,MAAO,CAAC,CAAE,MAAAC,EAAO,WAAAC,CAAW,IAAM,CAC9B,GAAM,CAAE,SAAAC,EAAU,SAAAC,CAAS,EAAIH,EACzB,CAACI,EAAYC,CAAa,EAAU,WAASL,EAAM,UAAU,EAC7DM,EAA8B,SAAO,EAAE,EACvCC,EAA8B,SAAO,EAAK,EAC1C,CAACC,EAAoBC,CAAqB,EAAU,WAAS,EAAE,EAC/D,CAACC,EAAoBC,CAAqB,EAAU,WAAS,EAAK,EAElEC,EAAQ,CACV,MAAOR,EACP,mBAAAI,EACA,mBAAAE,CACJ,EAGMG,EAAoBC,GAAgB,CACtCR,EAAsB,QAAUQ,EAChCL,EAAsBK,CAAG,CAC7B,EAEMC,EAAqBD,GAAiB,CACxCP,EAAsB,QAAUO,EAChCH,EAAsBG,CAAG,CAC7B,EAEME,EAAgB,CAACC,EAAyCC,IAAkB,CAC9E,GAAI,CAAChB,GAAY,CAACC,EAAU,CACxBgB,EAAeD,CAAK,EACpBH,EAAkB,EAAK,EAEvB,IAAMK,EAAmBC,EAAyBJ,EAAM,aAAa,EAEjEG,GAAoBA,aAA4B,aAChDE,EAAMF,CAAgB,CAE9B,CACJ,EAEMD,EAAkBD,GAAkB,CAClChB,GAAYC,IAEZG,EAAsB,UAAYY,GAASd,IAAec,GAC1DL,EAAiB,EAAE,EACnBE,EAAkB,EAAK,EACvBV,EAAc,MAAS,IAEvBQ,EAAiBK,CAAK,EACtBH,EAAkB,EAAI,EACtBV,EAAca,CAAK,GAE3B,EAEMK,EAAU,CAACN,EAA2CC,IAAkB,CA5DtF,IAAAM,EA6DgBtB,GAAYC,IAEhBU,EAAiBK,CAAK,EACtBH,IAAmBS,EAAAP,EAAM,YAA2F,qBAAjG,YAAAO,EAAqH,oBAAqB,EAAK,EACtK,EAEMC,EAAUR,GAA8C,CAnEtE,IAAAO,EAoEY,GAAItB,GAAYC,EAAU,OAE1B,IAAMuB,EAAgBT,EAAM,cAExBS,KAAiBF,EAAAvB,EAAW,UAAX,MAAAuB,EAAoB,SAASE,MAIlDb,EAAiB,EAAE,EACnBE,EAAkB,EAAK,EAE3B,EAEMY,EAAW,CAACV,EAA4CC,IAAkB,CACxEhB,GAAYC,IAEhBgB,EAAeD,CAAK,EACpBH,EAAkB,EAAI,EAC1B,EAIA,OAAM,YAAU,IAAM,CA1F9B,IAAAS,GA2FYA,EAAAxB,GAAA,YAAAA,EAAO,WAAP,MAAAwB,EAAA,KAAAxB,EAAkB,CAAE,MAAOI,EAAY,cAAe,IAAK,EAC/D,EAAG,CAACA,CAAU,CAAC,EAER,CACH,MAAAQ,EAEA,cAAAI,EACA,QAAAO,EACA,OAAAE,EACA,SAAAE,CACJ,CACJ,CACJ,CAAC","names":["withHeadless","focus","getFirstFocusableElement","React","defaultProps","useRating","withHeadless","defaultProps","props","elementRef","readOnly","disabled","valueState","setValueState","focusedOptionIndexRef","isFocusVisibleItemRef","focusedOptionIndex","setFocusedOptionIndex","isFocusVisibleItem","setIsFocusVisibleItem","state","setFocusedOption","val","setIsFocusVisible","onOptionClick","event","value","onOptionSelect","firstFocusableEl","getFirstFocusableElement","focus","onFocus","_a","onBlur","relatedTarget","onChange"]}
1
+ {"version":3,"sources":["../../src/rating/useRating.ts","../../src/rating/useRating.props.ts"],"sourcesContent":["import { withHeadless } from '@primereact/core/headless';\nimport { focus, getFirstFocusableElement } from '@primeuix/utils';\nimport * as React from 'react';\nimport { defaultProps } from './useRating.props';\n\nexport const useRating = withHeadless({\n name: 'useRating',\n defaultProps,\n setup: ({ props, elementRef }) => {\n const { readOnly, disabled } = props;\n const [valueState, setValueState] = React.useState(props.allowHalf ? (props.defaultValue ?? props.value) : Math.ceil(props.defaultValue ?? props.value ?? 0));\n const [hoverValueState, setHoverValueState] = React.useState<number | undefined>(undefined);\n const [focusedOptionIndex, setFocusedOptionIndex] = React.useState<number | undefined>(undefined);\n const [isFocusVisibleItem, setIsFocusVisibleItem] = React.useState(false);\n\n const hoverValueRef = React.useRef<number | undefined>(undefined);\n\n const state = {\n value: valueState,\n hoverValue: hoverValueState,\n focusedOptionIndex,\n isFocusVisibleItem\n };\n\n // methods\n\n const onInputFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n const inputValue = parseFloat(event.target.value);\n const starIndex = Math.ceil(inputValue);\n\n setFocusedOptionIndex(starIndex);\n\n const native = event.nativeEvent as FocusEvent & {\n sourceCapabilities?: {\n firesTouchEvents: boolean;\n };\n };\n\n setIsFocusVisibleItem(native.sourceCapabilities?.firesTouchEvents === false);\n };\n\n const onInputBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n const relatedTarget = event.relatedTarget as HTMLElement | null;\n\n if (relatedTarget && elementRef.current?.contains(relatedTarget)) {\n return;\n }\n\n setFocusedOptionIndex(undefined);\n };\n\n const onInputChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n setValueState(Number(event.target.value));\n const inputValue = parseFloat(event.target.value);\n const starIndex = Math.ceil(inputValue);\n\n setFocusedOptionIndex(starIndex);\n setIsFocusVisibleItem(true);\n };\n\n const onOptionClick = (event: React.MouseEvent<HTMLDivElement>, value: number | undefined) => {\n if (readOnly || disabled) return;\n\n const effectiveValue = props.allowHalf ? value : Math.ceil(value ?? 0);\n\n if (hoverValueRef.current === effectiveValue) {\n setHoverValueState(undefined);\n }\n\n setValueState((prev) => (prev === effectiveValue ? undefined : effectiveValue));\n setIsFocusVisibleItem(false);\n\n const firstFocusableEl = getFirstFocusableElement(event.currentTarget);\n\n if (firstFocusableEl && firstFocusableEl instanceof HTMLElement) {\n focus(firstFocusableEl);\n }\n };\n\n const onOptionHover = (event: React.PointerEvent<HTMLDivElement>, value: number | undefined) => {\n if (readOnly || disabled) return;\n\n setFocusedOptionIndex(undefined);\n const newValue = value ? (props.allowHalf ? value : Math.ceil(value ?? 0)) : undefined;\n\n setHoverValueState(newValue);\n hoverValueRef.current = newValue;\n };\n\n const getOptionState = (value: number) => {\n const effectiveValue = hoverValueState ?? valueState ?? 0;\n\n const floor = Math.floor(effectiveValue);\n\n let state = 'empty';\n\n if (value <= floor) {\n state = 'filled';\n } else if (value === floor + 1 && !Number.isInteger(effectiveValue)) {\n state = 'half';\n }\n\n return state;\n };\n\n // effects\n\n React.useEffect(() => {\n props?.onValueChange?.({ value: valueState, originalEvent: null });\n }, [valueState]);\n\n React.useEffect(() => {\n setValueState(props.allowHalf ? (props.defaultValue ?? props.value) : Math.ceil(props.defaultValue ?? props.value ?? 0));\n }, [props.value, props.defaultValue, props.allowHalf]);\n\n return {\n state,\n // methods\n onInputFocus,\n onInputBlur,\n onInputChange,\n getOptionState,\n onOptionClick,\n onOptionHover\n };\n }\n});\n","import type { useRatingProps } from '@primereact/types/shared/rating';\n\nexport const defaultProps: useRatingProps = {\n value: undefined,\n defaultValue: undefined,\n stars: 5,\n disabled: false,\n readOnly: false,\n allowHalf: true,\n onValueChange: undefined\n};\n"],"mappings":"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","names":["withHeadless","focus","getFirstFocusableElement","React","defaultProps","useRating","withHeadless","defaultProps","props","elementRef","_a","_b","_c","readOnly","disabled","valueState","setValueState","hoverValueState","setHoverValueState","focusedOptionIndex","setFocusedOptionIndex","isFocusVisibleItem","setIsFocusVisibleItem","hoverValueRef","state","onInputFocus","event","inputValue","starIndex","native","onInputBlur","relatedTarget","onInputChange","onOptionClick","value","effectiveValue","prev","firstFocusableEl","getFirstFocusableElement","focus","onOptionHover","newValue","getOptionState","floor"]}
@@ -2,11 +2,14 @@ import * as React from 'react';
2
2
  export declare const useRating: (inProps?: unknown) => import("@primereact/types/core").HeadlessInstance<import("@primereact/types/shared/rating").useRatingProps, unknown, {
3
3
  state: {
4
4
  value: number | undefined;
5
- focusedOptionIndex: number;
5
+ hoverValue: number | undefined;
6
+ focusedOptionIndex: number | undefined;
6
7
  isFocusVisibleItem: boolean;
7
8
  };
8
- onOptionClick: (event: React.MouseEvent<HTMLDivElement>, value: number) => void;
9
- onFocus: (event: React.FocusEvent<HTMLInputElement>, value: number) => void;
10
- onBlur: (event: React.FocusEvent<HTMLInputElement>) => void;
11
- onChange: (event: React.ChangeEvent<HTMLInputElement>, value: number) => void;
9
+ onInputFocus: (event: React.FocusEvent<HTMLInputElement>) => void;
10
+ onInputBlur: (event: React.FocusEvent<HTMLInputElement>) => void;
11
+ onInputChange: (event: React.ChangeEvent<HTMLInputElement>) => void;
12
+ getOptionState: (value: number) => string;
13
+ onOptionClick: (event: React.MouseEvent<HTMLDivElement>, value: number | undefined) => void;
14
+ onOptionHover: (event: React.PointerEvent<HTMLDivElement>, value: number | undefined) => void;
12
15
  }>;
package/slider/index.mjs CHANGED
@@ -1,2 +1,2 @@
1
- import{withHeadless as ae}from"@primereact/core/headless";import{useEventListener as S}from"@primereact/hooks";import{focus as ue,getAttribute as re,getWindowScrollLeft as le,getWindowScrollTop as se,isRTL as ie}from"@primeuix/utils";import*as s from"react";var X={value:void 0,defaultValue:void 0,orientation:"horizontal",min:0,max:100,step:void 0,onValueChange:void 0};var be=ae({name:"useSlider",defaultProps:X,setup({props:t,elementRef:f}){var W,U;let[Y,L]=s.useState((U=(W=t.value)!=null?W:t.defaultValue)!=null?U:void 0),g=s.useRef(0),E=s.useRef(!1),M=s.useRef(0),w=s.useRef(0),k=s.useRef(0),A=s.useRef(null),D=s.useRef(null);s.useEffect(()=>{t.value!==void 0&&L(t.value)},[t.value]);let r={value:Y},z=s.useCallback(()=>{let e=M.current;return M.current+=1,e},[]),d=s.useCallback(()=>Array.isArray(r.value)||M.current>1,[r.value]),C=()=>{var n,a,u,l,c,i,o;let e=(n=f.current)==null?void 0:n.getBoundingClientRect();w.current=((a=e==null?void 0:e.left)!=null?a:0)+le(),k.current=((u=e==null?void 0:e.top)!=null?u:0)+se(),A.current=(c=(l=f.current)==null?void 0:l.offsetWidth)!=null?c:null,D.current=(o=(i=f.current)==null?void 0:i.offsetHeight)!=null?o:null},P=e=>{var o;let n,a=e,u=e,l=a.touches?a.touches[0].pageX:u.pageX,c=a.touches?a.touches[0].pageY:u.pageY;if(h()){if(!f.current)return;ie(f.current)?n=(w.current+A.current-l)*100/A.current:n=(l-w.current)*100/A.current}else n=(k.current+D.current-c)*100/D.current;let i=(t.max-t.min)*(n/100)+t.min;if(t.step){let m=d()?Array.isArray(r.value)&&(o=r.value[g.current])!=null?o:0:typeof r.value=="number"?r.value:0,y=i-m;y<0?i=m+Math.ceil(i/t.step-m/t.step)*t.step:y>0&&(i=m+Math.floor(i/t.step-m/t.step)*t.step)}else i=Math.floor(i);R(e,i)},R=(e,n)=>{var l,c,i,o,m,y;let a=Math.round(n*100)/100,u;d()?(u=Array.isArray(r.value)?[...r.value]:[0,0],g.current==0?(a<((l=t.min)!=null?l:0)?a=t.min:a>=((c=t.max)!=null?c:100)&&(a=t.max),u[0]=a):(a>((i=t.max)!=null?i:100)?a=t.max:a<=((o=t.min)!=null?o:0)&&(a=t.min),u[1]=a)):(a<((m=t.min)!=null?m:0)?a=t.min:a>((y=t.max)!=null?y:100)&&(a=t.max),u=a),L(u),t.onValueChange&&t.onValueChange({originalEvent:e,value:u})},H=(e,n=0)=>{var a;t.disabled||((a=f.current)==null||a.setAttribute("data-p-sliding","true"),E.current=!0,C(),d()&&Array.isArray(r.value)&&r.value[0]===t.max?g.current=0:g.current=n,ue(e.currentTarget))},x=e=>{E.current&&P(e)},V=()=>{var e;E.current&&(E.current=!1,(e=f.current)==null||e.removeAttribute("data-p-sliding"),J(),O(),Z(),$())},B=(e,n)=>{Q(),_(),H(e,n)},j=(e,n)=>{G(),N(),H(e,n)},q=(e,n)=>{var a,u;switch(g.current=n,e.code){case"ArrowDown":case"ArrowLeft":I(e,n),e.preventDefault();break;case"ArrowUp":case"ArrowRight":K(e,n),e.preventDefault();break;case"PageDown":I(e,n,!0),e.preventDefault();break;case"PageUp":K(e,n,!0),e.preventDefault();break;case"Home":R(e,(a=t.min)!=null?a:0),e.preventDefault();break;case"End":R(e,(u=t.max)!=null?u:100),e.preventDefault();break;default:break}},F=e=>{t.disabled||re(e.target,"data-pc-name")!=="sliderthumb"&&(C(),P(e))},[G,J]=S({type:"mousemove",listener:e=>x(e)}),[N,O]=S({type:"mouseup",listener:()=>V()}),[Q,Z]=S({type:"touchmove",listener:e=>x(e)}),[_,$]=S({type:"touchend",listener:()=>V()}),I=(e,n,a=!1)=>{var l,c;let u;d()?Array.isArray(r.value)?t.step?u=((l=r.value[n])!=null?l:0)-t.step:u=((c=r.value[n])!=null?c:0)-1:u=0:typeof r.value=="number"?t.step?u=r.value-t.step:!t.step&&a?u=r.value-10:u=r.value-1:u=0,R(e,u),e.preventDefault()},K=(e,n,a=!1)=>{var l,c;let u;d()?Array.isArray(r.value)?t.step?u=((l=r.value[n])!=null?l:0)+t.step:u=((c=r.value[n])!=null?c:0)+1:u=0:t.step?u=(typeof r.value=="number"?r.value:0)+t.step:!t.step&&a?u=(typeof r.value=="number"?r.value:0)+10:u=(typeof r.value=="number"?r.value:0)+1,R(e,u),e.preventDefault()},T=s.useCallback(()=>{var u,l;let e=r.value,n=(u=t.min)!=null?u:0,a=(l=t.max)!=null?l:100;return e===void 0||Array.isArray(e)||e<n?0:e>a?100:(e-n)*100/(a-n)},[r.value,t.min,t.max]),b=s.useCallback(()=>{var u,l;let e=r.value,n=(u=t.min)!=null?u:0,a=(l=t.max)!=null?l:100;return Array.isArray(e)&&e[0]!==void 0?e[0]<n?0:(e[0]-n)*100/(a-n):0},[r.value,t.min,t.max]),v=s.useCallback(()=>{var u,l;let e=r.value,n=(u=t.min)!=null?u:0,a=(l=t.max)!=null?l:100;return Array.isArray(e)&&e.length===2&&e[1]!==void 0?e[1]>a?100:(e[1]-n)*100/(a-n):100},[r.value,t.min,t.max]),p=()=>{if(d()){let e=v()>b()?v()-b():b()-v(),n=v()>b()?b():v();return h()?{insetInlineStart:n+"%",width:e+"%"}:{bottom:n+"%",height:e+"%"}}else return h()?{width:T()+"%"}:{height:T()+"%"}},ee=()=>h()?{insetInlineStart:T()+"%"}:{bottom:T()+"%"},te=()=>h()?{insetInlineStart:b()+"%"}:{bottom:b()+"%"},ne=()=>h()?{insetInlineStart:v()+"%"}:{bottom:v()+"%"},h=s.useCallback(()=>t.orientation==="horizontal",[]);return{state:r,registerThumb:z,thumbCounter:M,range:d,onTouchStart:B,onDrag:x,onDragEnd:V,onMouseDown:j,onKeyDown:q,onBarClick:F,rangeStyle:p,handleThumbStyle:ee,rangeStartHandleStyle:te,rangeEndHandleStyle:ne}}});export{X as defaultProps,be as useSlider};
1
+ import{withHeadless as ae}from"@primereact/core/headless";import{useEventListener as S}from"@primereact/hooks";import{focus as ue,getAttribute as re,getWindowScrollLeft as le,getWindowScrollTop as se,isRTL as ie}from"@primeuix/utils";import*as s from"react";var X={value:void 0,defaultValue:void 0,orientation:"horizontal",min:0,max:100,step:void 0,onValueChange:void 0};var be=ae({name:"useSlider",defaultProps:X,setup({props:t,elementRef:f}){var W,U;let[Y,L]=s.useState((U=(W=t.value)!=null?W:t.defaultValue)!=null?U:void 0),R=s.useRef(0),M=s.useRef(!1),h=s.useRef(0),w=s.useRef(0),k=s.useRef(0),A=s.useRef(null),D=s.useRef(null);s.useEffect(()=>{t.value!==void 0&&L(t.value)},[t.value]);let r={value:Y},z=s.useCallback(()=>{let e=h.current;return h.current+=1,e},[]);s.useEffect(()=>(h.current=0,()=>{h.current=0}),[]);let d=s.useCallback(()=>Array.isArray(r.value)||h.current>1,[r.value]),C=()=>{var n,a,u,l,c,i,o;let e=(n=f.current)==null?void 0:n.getBoundingClientRect();w.current=((a=e==null?void 0:e.left)!=null?a:0)+le(),k.current=((u=e==null?void 0:e.top)!=null?u:0)+se(),A.current=(c=(l=f.current)==null?void 0:l.offsetWidth)!=null?c:null,D.current=(o=(i=f.current)==null?void 0:i.offsetHeight)!=null?o:null},P=e=>{var o;let n,a=e,u=e,l=a.touches?a.touches[0].pageX:u.pageX,c=a.touches?a.touches[0].pageY:u.pageY;if(g()){if(!f.current)return;ie(f.current)?n=(w.current+A.current-l)*100/A.current:n=(l-w.current)*100/A.current}else n=(k.current+D.current-c)*100/D.current;let i=(t.max-t.min)*(n/100)+t.min;if(t.step){let m=d()?Array.isArray(r.value)&&(o=r.value[R.current])!=null?o:0:typeof r.value=="number"?r.value:0,y=i-m;y<0?i=m+Math.ceil(i/t.step-m/t.step)*t.step:y>0&&(i=m+Math.floor(i/t.step-m/t.step)*t.step)}else i=Math.floor(i);E(e,i)},E=(e,n)=>{var l,c,i,o,m,y;let a=Math.round(n*100)/100,u;d()?(u=Array.isArray(r.value)?[...r.value]:[0,0],R.current==0?(a<((l=t.min)!=null?l:0)?a=t.min:a>=((c=t.max)!=null?c:100)&&(a=t.max),u[0]=a):(a>((i=t.max)!=null?i:100)?a=t.max:a<=((o=t.min)!=null?o:0)&&(a=t.min),u[1]=a)):(a<((m=t.min)!=null?m:0)?a=t.min:a>((y=t.max)!=null?y:100)&&(a=t.max),u=a),L(u),t.onValueChange&&t.onValueChange({originalEvent:e,value:u})},H=(e,n=0)=>{var a;t.disabled||((a=f.current)==null||a.setAttribute("data-p-sliding","true"),M.current=!0,C(),d()&&Array.isArray(r.value)&&r.value[0]===t.max?R.current=0:R.current=n,ue(e.currentTarget))},x=e=>{M.current&&P(e)},V=()=>{var e;M.current&&(M.current=!1,(e=f.current)==null||e.removeAttribute("data-p-sliding"),J(),O(),Z(),$())},B=(e,n)=>{Q(),_(),H(e,n)},j=(e,n)=>{G(),N(),H(e,n)},q=(e,n)=>{var a,u;switch(R.current=n,e.code){case"ArrowDown":case"ArrowLeft":I(e,n),e.preventDefault();break;case"ArrowUp":case"ArrowRight":K(e,n),e.preventDefault();break;case"PageDown":I(e,n,!0),e.preventDefault();break;case"PageUp":K(e,n,!0),e.preventDefault();break;case"Home":E(e,(a=t.min)!=null?a:0),e.preventDefault();break;case"End":E(e,(u=t.max)!=null?u:100),e.preventDefault();break;default:break}},F=e=>{t.disabled||re(e.target,"data-pc-name")!=="sliderthumb"&&(C(),P(e))},[G,J]=S({type:"mousemove",listener:e=>x(e)}),[N,O]=S({type:"mouseup",listener:()=>V()}),[Q,Z]=S({type:"touchmove",listener:e=>x(e)}),[_,$]=S({type:"touchend",listener:()=>V()}),I=(e,n,a=!1)=>{var l,c;let u;d()?Array.isArray(r.value)?t.step?u=((l=r.value[n])!=null?l:0)-t.step:u=((c=r.value[n])!=null?c:0)-1:u=0:typeof r.value=="number"?t.step?u=r.value-t.step:!t.step&&a?u=r.value-10:u=r.value-1:u=0,E(e,u),e.preventDefault()},K=(e,n,a=!1)=>{var l,c;let u;d()?Array.isArray(r.value)?t.step?u=((l=r.value[n])!=null?l:0)+t.step:u=((c=r.value[n])!=null?c:0)+1:u=0:t.step?u=(typeof r.value=="number"?r.value:0)+t.step:!t.step&&a?u=(typeof r.value=="number"?r.value:0)+10:u=(typeof r.value=="number"?r.value:0)+1,E(e,u),e.preventDefault()},T=s.useCallback(()=>{var u,l;let e=r.value,n=(u=t.min)!=null?u:0,a=(l=t.max)!=null?l:100;return e===void 0||Array.isArray(e)||e<n?0:e>a?100:(e-n)*100/(a-n)},[r.value,t.min,t.max]),b=s.useCallback(()=>{var u,l;let e=r.value,n=(u=t.min)!=null?u:0,a=(l=t.max)!=null?l:100;return Array.isArray(e)&&e[0]!==void 0?e[0]<n?0:(e[0]-n)*100/(a-n):0},[r.value,t.min,t.max]),v=s.useCallback(()=>{var u,l;let e=r.value,n=(u=t.min)!=null?u:0,a=(l=t.max)!=null?l:100;return Array.isArray(e)&&e.length===2&&e[1]!==void 0?e[1]>a?100:(e[1]-n)*100/(a-n):100},[r.value,t.min,t.max]),p=()=>{if(d()){let e=v()>b()?v()-b():b()-v(),n=v()>b()?b():v();return g()?{insetInlineStart:n+"%",width:e+"%"}:{bottom:n+"%",height:e+"%"}}else return g()?{width:T()+"%"}:{height:T()+"%"}},ee=()=>g()?{insetInlineStart:T()+"%"}:{bottom:T()+"%"},te=()=>g()?{insetInlineStart:b()+"%"}:{bottom:b()+"%"},ne=()=>g()?{insetInlineStart:v()+"%"}:{bottom:v()+"%"},g=s.useCallback(()=>t.orientation==="horizontal",[]);return{state:r,registerThumb:z,thumbCounter:h,range:d,onTouchStart:B,onDrag:x,onDragEnd:V,onMouseDown:j,onKeyDown:q,onBarClick:F,rangeStyle:p,handleThumbStyle:ee,rangeStartHandleStyle:te,rangeEndHandleStyle:ne}}});export{X as defaultProps,be as useSlider};
2
2
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/slider/useSlider.ts","../../src/slider/useSlider.props.ts"],"sourcesContent":["import { withHeadless } from '@primereact/core/headless';\nimport { useEventListener } from '@primereact/hooks';\nimport { useSliderProps } from '@primereact/types/shared/slider';\nimport { focus, getAttribute, getWindowScrollLeft, getWindowScrollTop, isRTL } from '@primeuix/utils';\nimport * as React from 'react';\nimport { defaultProps } from './useSlider.props';\n\nexport const useSlider = withHeadless({\n name: 'useSlider',\n defaultProps,\n setup({ props, elementRef }) {\n const [activeValue, setActiveValue] = React.useState<useSliderProps['value']>(props.value ?? props.defaultValue ?? undefined);\n const handleIndex = React.useRef(0);\n const dragging = React.useRef(false);\n const thumbCounter = React.useRef(0);\n const initX = React.useRef(0);\n const initY = React.useRef(0);\n const barWidth = React.useRef<number | null>(null);\n const barHeight = React.useRef<number | null>(null);\n\n React.useEffect(() => {\n if (props.value !== undefined) {\n setActiveValue(props.value);\n }\n }, [props.value]);\n\n const state = {\n value: activeValue\n };\n\n const registerThumb = React.useCallback(() => {\n const index = thumbCounter.current;\n\n thumbCounter.current += 1;\n\n return index;\n }, []);\n\n const range = React.useCallback(() => {\n return Array.isArray(state.value) || thumbCounter.current > 1;\n }, [state.value]);\n\n const updateDomData = () => {\n const rect = elementRef.current?.getBoundingClientRect();\n\n initX.current = (rect?.left ?? 0) + getWindowScrollLeft();\n initY.current = (rect?.top ?? 0) + getWindowScrollTop();\n barWidth.current = elementRef.current?.offsetWidth ?? null;\n barHeight.current = elementRef.current?.offsetHeight ?? null;\n };\n\n const handleValue = (event: React.MouseEvent | React.TouchEvent) => {\n let rawValue;\n const touchEvent = event as React.TouchEvent;\n const mouseEvent = event as React.MouseEvent;\n const pageX = touchEvent.touches ? touchEvent.touches[0].pageX : mouseEvent.pageX;\n const pageY = touchEvent.touches ? touchEvent.touches[0].pageY : mouseEvent.pageY;\n\n if (horizontal()) {\n if (!elementRef.current) return;\n\n if (isRTL(elementRef.current)) {\n rawValue = ((initX.current + (barWidth.current as number) - pageX) * 100) / (barWidth.current as number);\n } else {\n rawValue = ((pageX - initX.current) * 100) / (barWidth.current as number);\n }\n } else {\n rawValue = ((initY.current + (barHeight.current as number) - pageY) * 100) / (barHeight.current as number);\n }\n\n let newValue = ((props.max as number) - (props.min as number)) * (rawValue / 100) + (props.min as number);\n\n if (props.step) {\n const oldValue: number = range() ? (Array.isArray(state.value) ? (state.value[handleIndex.current] ?? 0) : 0) : typeof state.value === 'number' ? state.value : 0;\n const diff = newValue - oldValue;\n\n if (diff < 0) newValue = oldValue + Math.ceil(newValue / props.step - oldValue / props.step) * props.step;\n else if (diff > 0) newValue = oldValue + Math.floor(newValue / props.step - oldValue / props.step) * props.step;\n } else {\n newValue = Math.floor(newValue);\n }\n\n updateValue(event, newValue);\n };\n\n const updateValue = (event: React.MouseEvent | React.TouchEvent | React.KeyboardEvent, value: number) => {\n let newValue = Math.round(value * 100) / 100;\n let updatedValue;\n\n if (range()) {\n updatedValue = Array.isArray(state.value) ? [...state.value] : [0, 0];\n\n if (handleIndex.current == 0) {\n if (newValue < (props.min ?? 0)) {\n newValue = props.min as number;\n } else if (newValue >= (props.max ?? 100)) {\n newValue = props.max as number;\n }\n\n updatedValue[0] = newValue;\n } else {\n if (newValue > (props.max ?? 100)) {\n newValue = props.max as number;\n } else if (newValue <= (props.min ?? 0)) {\n newValue = props.min as number;\n }\n\n updatedValue[1] = newValue;\n }\n } else {\n if (newValue < (props.min ?? 0)) {\n newValue = props.min as number;\n } else if (newValue > (props.max ?? 100)) {\n newValue = props.max as number;\n }\n\n updatedValue = newValue;\n }\n\n setActiveValue(updatedValue);\n\n if (props.onValueChange) {\n props.onValueChange({\n originalEvent: event,\n value: updatedValue\n });\n }\n };\n\n const onDragStart = (event: React.MouseEvent<HTMLElement> | React.TouchEvent<HTMLElement>, index: number = 0) => {\n if (props.disabled) {\n return;\n }\n\n elementRef.current?.setAttribute('data-p-sliding', 'true');\n dragging.current = true;\n updateDomData();\n\n if (range() && Array.isArray(state.value) && state.value[0] === props.max) {\n handleIndex.current = 0;\n } else {\n handleIndex.current = index;\n }\n\n focus(event.currentTarget as HTMLElement);\n };\n\n const onDrag = (event: React.MouseEvent | React.TouchEvent) => {\n if (dragging.current) {\n handleValue(event);\n }\n };\n\n const onDragEnd = () => {\n if (dragging.current) {\n dragging.current = false;\n elementRef.current?.removeAttribute('data-p-sliding');\n\n unbindThumbMouseMoveListener();\n unbindThumbMouseUpListener();\n unbindDocumentTouchMoveListener();\n unbindDocumentTouchEndListener();\n }\n };\n\n const onTouchStart = (event: React.TouchEvent<HTMLElement>, index: number) => {\n bindDocumentTouchMoveListener();\n bindDocumentTouchEndListener();\n onDragStart(event, index);\n };\n\n const onMouseDown = (event: React.MouseEvent<HTMLElement>, index: number) => {\n bindThumbMouseMoveListener();\n bindThumbMouseUpListener();\n onDragStart(event, index);\n };\n\n const onKeyDown = (event: React.KeyboardEvent, index: number) => {\n handleIndex.current = index;\n\n switch (event.code) {\n case 'ArrowDown':\n case 'ArrowLeft':\n decrementValue(event, index);\n event.preventDefault();\n break;\n\n case 'ArrowUp':\n case 'ArrowRight':\n incrementValue(event, index);\n event.preventDefault();\n break;\n\n case 'PageDown':\n decrementValue(event, index, true);\n event.preventDefault();\n break;\n\n case 'PageUp':\n incrementValue(event, index, true);\n event.preventDefault();\n break;\n\n case 'Home':\n updateValue(event, props.min ?? 0);\n event.preventDefault();\n break;\n\n case 'End':\n updateValue(event, props.max ?? 100);\n event.preventDefault();\n break;\n\n default:\n break;\n }\n };\n\n const onBarClick = (event: React.MouseEvent) => {\n if (props.disabled) {\n return;\n }\n\n if (getAttribute(event.target as Element, 'data-pc-name') !== 'sliderthumb') {\n updateDomData();\n handleValue(event);\n }\n };\n\n const [bindThumbMouseMoveListener, unbindThumbMouseMoveListener] = useEventListener({\n type: 'mousemove',\n listener: (event: Event) => onDrag(event as unknown as React.MouseEvent)\n });\n\n const [bindThumbMouseUpListener, unbindThumbMouseUpListener] = useEventListener({\n type: 'mouseup',\n listener: () => onDragEnd()\n });\n\n const [bindDocumentTouchMoveListener, unbindDocumentTouchMoveListener] = useEventListener({\n type: 'touchmove',\n listener: (event: Event) => onDrag(event as unknown as React.MouseEvent)\n });\n\n const [bindDocumentTouchEndListener, unbindDocumentTouchEndListener] = useEventListener({\n type: 'touchend',\n listener: () => onDragEnd()\n });\n\n const decrementValue = (event: React.KeyboardEvent, index: number, pageKey = false) => {\n let newValue;\n\n if (range()) {\n if (Array.isArray(state.value)) {\n if (props.step) newValue = (state.value[index] ?? 0) - props.step;\n else newValue = (state.value[index] ?? 0) - 1;\n } else {\n newValue = 0;\n }\n } else {\n if (typeof state.value === 'number') {\n if (props.step) newValue = state.value - props.step;\n else if (!props.step && pageKey) newValue = state.value - 10;\n else newValue = state.value - 1;\n } else {\n newValue = 0;\n }\n }\n\n updateValue(event, newValue);\n event.preventDefault();\n };\n\n const incrementValue = (event: React.KeyboardEvent, index: number, pageKey = false) => {\n let newValue;\n\n if (range()) {\n if (Array.isArray(state.value)) {\n if (props.step) newValue = (state.value[index] ?? 0) + props.step;\n else newValue = (state.value[index] ?? 0) + 1;\n } else {\n newValue = 0;\n }\n } else {\n if (props.step) newValue = (typeof state.value === 'number' ? state.value : 0) + props.step;\n else if (!props.step && pageKey) newValue = (typeof state.value === 'number' ? state.value : 0) + 10;\n else newValue = (typeof state.value === 'number' ? state.value : 0) + 1;\n }\n\n updateValue(event, newValue);\n event.preventDefault();\n };\n\n const handlePosition = React.useCallback(() => {\n const value = state.value;\n const min = props.min ?? 0;\n const max = props.max ?? 100;\n\n if (value === undefined || Array.isArray(value)) return 0;\n\n if (value < min) return 0;\n else if (value > max) return 100;\n else return ((value - min) * 100) / (max - min);\n }, [state.value, props.min, props.max]);\n\n const rangeStartPosition = React.useCallback(() => {\n const value = state.value;\n const min = props.min ?? 0;\n const max = props.max ?? 100;\n\n if (Array.isArray(value) && value[0] !== undefined) {\n if (value[0] < min) return 0;\n else return ((value[0] - min) * 100) / (max - min);\n } else return 0;\n }, [state.value, props.min, props.max]);\n\n const rangeEndPosition = React.useCallback(() => {\n const value = state.value;\n const min = props.min ?? 0;\n const max = props.max ?? 100;\n\n if (Array.isArray(value) && value.length === 2 && value[1] !== undefined) {\n if (value[1] > max) return 100;\n else return ((value[1] - min) * 100) / (max - min);\n } else return 100;\n }, [state.value, props.min, props.max]);\n\n const rangeStyle = () => {\n if (range()) {\n const rangeSliderWidth = rangeEndPosition() > rangeStartPosition() ? rangeEndPosition() - rangeStartPosition() : rangeStartPosition() - rangeEndPosition();\n const rangeSliderPosition = rangeEndPosition() > rangeStartPosition() ? rangeStartPosition() : rangeEndPosition();\n\n if (horizontal()) {\n return { insetInlineStart: rangeSliderPosition + '%', width: rangeSliderWidth + '%' };\n } else {\n return { bottom: rangeSliderPosition + '%', height: rangeSliderWidth + '%' };\n }\n } else {\n if (horizontal()) {\n return { width: handlePosition() + '%' };\n } else {\n return { height: handlePosition() + '%' };\n }\n }\n };\n\n const handleThumbStyle = () => {\n if (horizontal()) {\n return { insetInlineStart: handlePosition() + '%' };\n } else {\n return { bottom: handlePosition() + '%' };\n }\n };\n\n const rangeStartHandleStyle = () => {\n if (horizontal()) {\n return { insetInlineStart: rangeStartPosition() + '%' };\n } else {\n return { bottom: rangeStartPosition() + '%' };\n }\n };\n\n const rangeEndHandleStyle = () => {\n if (horizontal()) {\n return { insetInlineStart: rangeEndPosition() + '%' };\n } else {\n return { bottom: rangeEndPosition() + '%' };\n }\n };\n\n const horizontal = React.useCallback(() => {\n return props.orientation === 'horizontal';\n }, []);\n\n return {\n state,\n registerThumb,\n thumbCounter,\n //methods\n range,\n onTouchStart,\n onDrag,\n onDragEnd,\n onMouseDown,\n onKeyDown,\n onBarClick,\n rangeStyle,\n handleThumbStyle,\n rangeStartHandleStyle,\n rangeEndHandleStyle\n };\n }\n});\n","import type { useSliderProps } from '@primereact/types/shared/slider';\n\nexport const defaultProps: useSliderProps = {\n value: undefined,\n defaultValue: undefined,\n orientation: 'horizontal',\n min: 0,\n max: 100,\n step: undefined,\n onValueChange: undefined\n};\n"],"mappings":"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","names":["withHeadless","useEventListener","focus","getAttribute","getWindowScrollLeft","getWindowScrollTop","isRTL","React","defaultProps","useSlider","withHeadless","defaultProps","props","elementRef","_a","_b","activeValue","setActiveValue","handleIndex","dragging","thumbCounter","initX","initY","barWidth","barHeight","state","registerThumb","index","range","updateDomData","_c","_d","_e","_f","_g","rect","getWindowScrollLeft","getWindowScrollTop","handleValue","event","rawValue","touchEvent","mouseEvent","pageX","pageY","horizontal","isRTL","newValue","oldValue","diff","updateValue","value","updatedValue","onDragStart","focus","onDrag","onDragEnd","unbindThumbMouseMoveListener","unbindThumbMouseUpListener","unbindDocumentTouchMoveListener","unbindDocumentTouchEndListener","onTouchStart","bindDocumentTouchMoveListener","bindDocumentTouchEndListener","onMouseDown","bindThumbMouseMoveListener","bindThumbMouseUpListener","onKeyDown","decrementValue","incrementValue","onBarClick","getAttribute","useEventListener","pageKey","handlePosition","min","max","rangeStartPosition","rangeEndPosition","rangeStyle","rangeSliderWidth","rangeSliderPosition","handleThumbStyle","rangeStartHandleStyle","rangeEndHandleStyle"]}
1
+ {"version":3,"sources":["../../src/slider/useSlider.ts","../../src/slider/useSlider.props.ts"],"sourcesContent":["import { withHeadless } from '@primereact/core/headless';\nimport { useEventListener } from '@primereact/hooks';\nimport { useSliderProps } from '@primereact/types/shared/slider';\nimport { focus, getAttribute, getWindowScrollLeft, getWindowScrollTop, isRTL } from '@primeuix/utils';\nimport * as React from 'react';\nimport { defaultProps } from './useSlider.props';\n\nexport const useSlider = withHeadless({\n name: 'useSlider',\n defaultProps,\n setup({ props, elementRef }) {\n const [activeValue, setActiveValue] = React.useState<useSliderProps['value']>(props.value ?? props.defaultValue ?? undefined);\n const handleIndex = React.useRef(0);\n const dragging = React.useRef(false);\n const thumbCounter = React.useRef(0);\n const initX = React.useRef(0);\n const initY = React.useRef(0);\n const barWidth = React.useRef<number | null>(null);\n const barHeight = React.useRef<number | null>(null);\n\n React.useEffect(() => {\n if (props.value !== undefined) {\n setActiveValue(props.value);\n }\n }, [props.value]);\n\n const state = {\n value: activeValue\n };\n\n const registerThumb = React.useCallback(() => {\n const index = thumbCounter.current;\n\n thumbCounter.current += 1;\n\n return index;\n }, []);\n\n React.useEffect(() => {\n thumbCounter.current = 0;\n\n return () => {\n thumbCounter.current = 0;\n };\n }, []);\n\n const range = React.useCallback(() => {\n return Array.isArray(state.value) || thumbCounter.current > 1;\n }, [state.value]);\n\n const updateDomData = () => {\n const rect = elementRef.current?.getBoundingClientRect();\n\n initX.current = (rect?.left ?? 0) + getWindowScrollLeft();\n initY.current = (rect?.top ?? 0) + getWindowScrollTop();\n barWidth.current = elementRef.current?.offsetWidth ?? null;\n barHeight.current = elementRef.current?.offsetHeight ?? null;\n };\n\n const handleValue = (event: React.MouseEvent | React.TouchEvent) => {\n let rawValue;\n const touchEvent = event as React.TouchEvent;\n const mouseEvent = event as React.MouseEvent;\n const pageX = touchEvent.touches ? touchEvent.touches[0].pageX : mouseEvent.pageX;\n const pageY = touchEvent.touches ? touchEvent.touches[0].pageY : mouseEvent.pageY;\n\n if (horizontal()) {\n if (!elementRef.current) return;\n\n if (isRTL(elementRef.current)) {\n rawValue = ((initX.current + (barWidth.current as number) - pageX) * 100) / (barWidth.current as number);\n } else {\n rawValue = ((pageX - initX.current) * 100) / (barWidth.current as number);\n }\n } else {\n rawValue = ((initY.current + (barHeight.current as number) - pageY) * 100) / (barHeight.current as number);\n }\n\n let newValue = ((props.max as number) - (props.min as number)) * (rawValue / 100) + (props.min as number);\n\n if (props.step) {\n const oldValue: number = range() ? (Array.isArray(state.value) ? (state.value[handleIndex.current] ?? 0) : 0) : typeof state.value === 'number' ? state.value : 0;\n const diff = newValue - oldValue;\n\n if (diff < 0) newValue = oldValue + Math.ceil(newValue / props.step - oldValue / props.step) * props.step;\n else if (diff > 0) newValue = oldValue + Math.floor(newValue / props.step - oldValue / props.step) * props.step;\n } else {\n newValue = Math.floor(newValue);\n }\n\n updateValue(event, newValue);\n };\n\n const updateValue = (event: React.MouseEvent | React.TouchEvent | React.KeyboardEvent, value: number) => {\n let newValue = Math.round(value * 100) / 100;\n let updatedValue;\n\n if (range()) {\n updatedValue = Array.isArray(state.value) ? [...state.value] : [0, 0];\n\n if (handleIndex.current == 0) {\n if (newValue < (props.min ?? 0)) {\n newValue = props.min as number;\n } else if (newValue >= (props.max ?? 100)) {\n newValue = props.max as number;\n }\n\n updatedValue[0] = newValue;\n } else {\n if (newValue > (props.max ?? 100)) {\n newValue = props.max as number;\n } else if (newValue <= (props.min ?? 0)) {\n newValue = props.min as number;\n }\n\n updatedValue[1] = newValue;\n }\n } else {\n if (newValue < (props.min ?? 0)) {\n newValue = props.min as number;\n } else if (newValue > (props.max ?? 100)) {\n newValue = props.max as number;\n }\n\n updatedValue = newValue;\n }\n\n setActiveValue(updatedValue);\n\n if (props.onValueChange) {\n props.onValueChange({\n originalEvent: event,\n value: updatedValue\n });\n }\n };\n\n const onDragStart = (event: React.MouseEvent<HTMLElement> | React.TouchEvent<HTMLElement>, index: number = 0) => {\n if (props.disabled) {\n return;\n }\n\n elementRef.current?.setAttribute('data-p-sliding', 'true');\n dragging.current = true;\n updateDomData();\n\n if (range() && Array.isArray(state.value) && state.value[0] === props.max) {\n handleIndex.current = 0;\n } else {\n handleIndex.current = index;\n }\n\n focus(event.currentTarget as HTMLElement);\n };\n\n const onDrag = (event: React.MouseEvent | React.TouchEvent) => {\n if (dragging.current) {\n handleValue(event);\n }\n };\n\n const onDragEnd = () => {\n if (dragging.current) {\n dragging.current = false;\n elementRef.current?.removeAttribute('data-p-sliding');\n\n unbindThumbMouseMoveListener();\n unbindThumbMouseUpListener();\n unbindDocumentTouchMoveListener();\n unbindDocumentTouchEndListener();\n }\n };\n\n const onTouchStart = (event: React.TouchEvent<HTMLElement>, index: number) => {\n bindDocumentTouchMoveListener();\n bindDocumentTouchEndListener();\n onDragStart(event, index);\n };\n\n const onMouseDown = (event: React.MouseEvent<HTMLElement>, index: number) => {\n bindThumbMouseMoveListener();\n bindThumbMouseUpListener();\n onDragStart(event, index);\n };\n\n const onKeyDown = (event: React.KeyboardEvent, index: number) => {\n handleIndex.current = index;\n\n switch (event.code) {\n case 'ArrowDown':\n case 'ArrowLeft':\n decrementValue(event, index);\n event.preventDefault();\n break;\n\n case 'ArrowUp':\n case 'ArrowRight':\n incrementValue(event, index);\n event.preventDefault();\n break;\n\n case 'PageDown':\n decrementValue(event, index, true);\n event.preventDefault();\n break;\n\n case 'PageUp':\n incrementValue(event, index, true);\n event.preventDefault();\n break;\n\n case 'Home':\n updateValue(event, props.min ?? 0);\n event.preventDefault();\n break;\n\n case 'End':\n updateValue(event, props.max ?? 100);\n event.preventDefault();\n break;\n\n default:\n break;\n }\n };\n\n const onBarClick = (event: React.MouseEvent) => {\n if (props.disabled) {\n return;\n }\n\n if (getAttribute(event.target as Element, 'data-pc-name') !== 'sliderthumb') {\n updateDomData();\n handleValue(event);\n }\n };\n\n const [bindThumbMouseMoveListener, unbindThumbMouseMoveListener] = useEventListener({\n type: 'mousemove',\n listener: (event: Event) => onDrag(event as unknown as React.MouseEvent)\n });\n\n const [bindThumbMouseUpListener, unbindThumbMouseUpListener] = useEventListener({\n type: 'mouseup',\n listener: () => onDragEnd()\n });\n\n const [bindDocumentTouchMoveListener, unbindDocumentTouchMoveListener] = useEventListener({\n type: 'touchmove',\n listener: (event: Event) => onDrag(event as unknown as React.MouseEvent)\n });\n\n const [bindDocumentTouchEndListener, unbindDocumentTouchEndListener] = useEventListener({\n type: 'touchend',\n listener: () => onDragEnd()\n });\n\n const decrementValue = (event: React.KeyboardEvent, index: number, pageKey = false) => {\n let newValue;\n\n if (range()) {\n if (Array.isArray(state.value)) {\n if (props.step) newValue = (state.value[index] ?? 0) - props.step;\n else newValue = (state.value[index] ?? 0) - 1;\n } else {\n newValue = 0;\n }\n } else {\n if (typeof state.value === 'number') {\n if (props.step) newValue = state.value - props.step;\n else if (!props.step && pageKey) newValue = state.value - 10;\n else newValue = state.value - 1;\n } else {\n newValue = 0;\n }\n }\n\n updateValue(event, newValue);\n event.preventDefault();\n };\n\n const incrementValue = (event: React.KeyboardEvent, index: number, pageKey = false) => {\n let newValue;\n\n if (range()) {\n if (Array.isArray(state.value)) {\n if (props.step) newValue = (state.value[index] ?? 0) + props.step;\n else newValue = (state.value[index] ?? 0) + 1;\n } else {\n newValue = 0;\n }\n } else {\n if (props.step) newValue = (typeof state.value === 'number' ? state.value : 0) + props.step;\n else if (!props.step && pageKey) newValue = (typeof state.value === 'number' ? state.value : 0) + 10;\n else newValue = (typeof state.value === 'number' ? state.value : 0) + 1;\n }\n\n updateValue(event, newValue);\n event.preventDefault();\n };\n\n const handlePosition = React.useCallback(() => {\n const value = state.value;\n const min = props.min ?? 0;\n const max = props.max ?? 100;\n\n if (value === undefined || Array.isArray(value)) return 0;\n\n if (value < min) return 0;\n else if (value > max) return 100;\n else return ((value - min) * 100) / (max - min);\n }, [state.value, props.min, props.max]);\n\n const rangeStartPosition = React.useCallback(() => {\n const value = state.value;\n const min = props.min ?? 0;\n const max = props.max ?? 100;\n\n if (Array.isArray(value) && value[0] !== undefined) {\n if (value[0] < min) return 0;\n else return ((value[0] - min) * 100) / (max - min);\n } else return 0;\n }, [state.value, props.min, props.max]);\n\n const rangeEndPosition = React.useCallback(() => {\n const value = state.value;\n const min = props.min ?? 0;\n const max = props.max ?? 100;\n\n if (Array.isArray(value) && value.length === 2 && value[1] !== undefined) {\n if (value[1] > max) return 100;\n else return ((value[1] - min) * 100) / (max - min);\n } else return 100;\n }, [state.value, props.min, props.max]);\n\n const rangeStyle = () => {\n if (range()) {\n const rangeSliderWidth = rangeEndPosition() > rangeStartPosition() ? rangeEndPosition() - rangeStartPosition() : rangeStartPosition() - rangeEndPosition();\n const rangeSliderPosition = rangeEndPosition() > rangeStartPosition() ? rangeStartPosition() : rangeEndPosition();\n\n if (horizontal()) {\n return { insetInlineStart: rangeSliderPosition + '%', width: rangeSliderWidth + '%' };\n } else {\n return { bottom: rangeSliderPosition + '%', height: rangeSliderWidth + '%' };\n }\n } else {\n if (horizontal()) {\n return { width: handlePosition() + '%' };\n } else {\n return { height: handlePosition() + '%' };\n }\n }\n };\n\n const handleThumbStyle = () => {\n if (horizontal()) {\n return { insetInlineStart: handlePosition() + '%' };\n } else {\n return { bottom: handlePosition() + '%' };\n }\n };\n\n const rangeStartHandleStyle = () => {\n if (horizontal()) {\n return { insetInlineStart: rangeStartPosition() + '%' };\n } else {\n return { bottom: rangeStartPosition() + '%' };\n }\n };\n\n const rangeEndHandleStyle = () => {\n if (horizontal()) {\n return { insetInlineStart: rangeEndPosition() + '%' };\n } else {\n return { bottom: rangeEndPosition() + '%' };\n }\n };\n\n const horizontal = React.useCallback(() => {\n return props.orientation === 'horizontal';\n }, []);\n\n return {\n state,\n registerThumb,\n thumbCounter,\n //methods\n range,\n onTouchStart,\n onDrag,\n onDragEnd,\n onMouseDown,\n onKeyDown,\n onBarClick,\n rangeStyle,\n handleThumbStyle,\n rangeStartHandleStyle,\n rangeEndHandleStyle\n };\n }\n});\n","import type { useSliderProps } from '@primereact/types/shared/slider';\n\nexport const defaultProps: useSliderProps = {\n value: undefined,\n defaultValue: undefined,\n orientation: 'horizontal',\n min: 0,\n max: 100,\n step: undefined,\n onValueChange: undefined\n};\n"],"mappings":"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","names":["withHeadless","useEventListener","focus","getAttribute","getWindowScrollLeft","getWindowScrollTop","isRTL","React","defaultProps","useSlider","withHeadless","defaultProps","props","elementRef","_a","_b","activeValue","setActiveValue","handleIndex","dragging","thumbCounter","initX","initY","barWidth","barHeight","state","registerThumb","index","range","updateDomData","_c","_d","_e","_f","_g","rect","getWindowScrollLeft","getWindowScrollTop","handleValue","event","rawValue","touchEvent","mouseEvent","pageX","pageY","horizontal","isRTL","newValue","oldValue","diff","updateValue","value","updatedValue","onDragStart","focus","onDrag","onDragEnd","unbindThumbMouseMoveListener","unbindThumbMouseUpListener","unbindDocumentTouchMoveListener","unbindDocumentTouchEndListener","onTouchStart","bindDocumentTouchMoveListener","bindDocumentTouchEndListener","onMouseDown","bindThumbMouseMoveListener","bindThumbMouseUpListener","onKeyDown","decrementValue","incrementValue","onBarClick","getAttribute","useEventListener","pageKey","handlePosition","min","max","rangeStartPosition","rangeEndPosition","rangeStyle","rangeSliderWidth","rangeSliderPosition","handleThumbStyle","rangeStartHandleStyle","rangeEndHandleStyle"]}
@@ -0,0 +1,2 @@
1
+ export * from './useSpeedDial';
2
+ export * from './useSpeedDial.props';
@@ -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
+ }>;
@@ -0,0 +1,2 @@
1
+ import type { useSpeedDialProps } from '@primereact/types/shared/speeddial';
2
+ export declare const defaultProps: useSpeedDialProps;
File without changes
@@ -0,0 +1,2 @@
1
+ export * from './useTerminal';
2
+ export * from './useTerminal.props';
@@ -0,0 +1,2 @@
1
+ import{withHeadless as E}from"@primereact/core/headless";import{focus as R}from"@primeuix/utils";import{EventBus as h}from"@primeuix/utils/eventbus";var r=h();import*as e from"react";var T={prompt:void 0};var D=E({name:"useTerminal",defaultProps:T,setup({elementRef:m}){let[s,c]=e.useState(""),[t,u]=e.useState([]),[d,i]=e.useState(0),[x,S]=e.useState(""),p=e.useRef(null),l=e.useRef(!1),g={commandText:s,commands:t};return e.useEffect(()=>{let o=a=>{if(t&&t.length>0){let f=[...t];f[f.length-1].response=String(a),u(f)}},n=()=>{u([]),i(0)};return r.on("response",o),r.on("clear",n),()=>{r.off("response",o),r.off("clear",n)}},[t]),e.useEffect(()=>{l.current&&(r.emit("command",x),l.current=!1),m.current&&(m.current.scrollTop=m.current.scrollHeight)}),{state:g,inputRef:p,onClick:()=>{p.current&&R(p.current)},onKeyDown:o=>{switch(o.code){case"ArrowUp":if(t&&t.length){let n=d-1<0?t.length-1:d-1,a=t[n];i(n),c(a.text)}break;case"Enter":case"NumpadEnter":if(s){let n=[...t];n.push({text:s}),i(a=>a+1),c(""),u(n),S(s),l.current=!0}break;default:break}},onInputChange:o=>{c(o.target.value)}}}});export{T as defaultProps,D as useTerminal};
2
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/terminal/useTerminal.ts","../../../primereact/src/terminalservice/TerminalService.ts","../../src/terminal/useTerminal.props.ts"],"sourcesContent":["import { withHeadless } from '@primereact/core/headless';\nimport { TerminalCommandItem } from '@primereact/types/shared/terminal';\nimport { focus } from '@primeuix/utils';\nimport { TerminalService } from 'primereact/terminalservice';\nimport * as React from 'react';\nimport { defaultProps } from './useTerminal.props';\n\nexport const useTerminal = withHeadless({\n name: 'useTerminal',\n defaultProps,\n setup({ elementRef }) {\n const [commandTextState, setCommandTextState] = React.useState<string>('');\n const [commandsState, setCommandsState] = React.useState<TerminalCommandItem[]>([]);\n const [indexState, setIndexState] = React.useState<number>(0);\n const [emittedTextState, setEmittedTextState] = React.useState<string>('');\n const inputRef = React.useRef<HTMLInputElement>(null);\n const isEmitted = React.useRef<boolean>(false);\n\n const state = {\n commandText: commandTextState,\n commands: commandsState\n };\n\n React.useEffect(() => {\n const response = (res: unknown) => {\n if (commandsState && commandsState.length > 0) {\n const commands = [...commandsState];\n\n commands[commands.length - 1].response = String(res);\n\n setCommandsState(commands);\n }\n };\n\n const clear = () => {\n setCommandsState([]);\n setIndexState(0);\n };\n\n TerminalService.on('response', response);\n TerminalService.on('clear', clear);\n\n return () => {\n TerminalService.off('response', response);\n TerminalService.off('clear', clear);\n };\n }, [commandsState]);\n\n React.useEffect(() => {\n if (isEmitted.current) {\n TerminalService.emit('command', emittedTextState);\n isEmitted.current = false;\n }\n\n if (elementRef.current) {\n elementRef.current.scrollTop = elementRef.current.scrollHeight;\n }\n });\n\n const onClick = () => {\n if (inputRef.current) {\n focus(inputRef.current);\n }\n };\n\n const onKeyDown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n switch (event.code) {\n case 'ArrowUp':\n if (commandsState && commandsState.length) {\n const prevIndex = indexState - 1 < 0 ? commandsState.length - 1 : indexState - 1;\n const command = commandsState[prevIndex];\n\n setIndexState(prevIndex);\n setCommandTextState(command.text);\n }\n\n break;\n\n case 'Enter':\n case 'NumpadEnter':\n if (commandTextState) {\n const newCommands = [...commandsState];\n\n newCommands.push({ text: commandTextState });\n\n setIndexState((prevIndex) => prevIndex + 1);\n setCommandTextState('');\n setCommandsState(newCommands);\n setEmittedTextState(commandTextState);\n isEmitted.current = true;\n }\n\n break;\n\n default:\n break;\n }\n };\n\n const onInputChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n setCommandTextState(e.target.value);\n };\n\n return {\n state,\n inputRef,\n onClick,\n onKeyDown,\n onInputChange\n };\n }\n});\n","import { EventBus } from '@primeuix/utils/eventbus';\n\nexport default EventBus();\n","import type { useTerminalProps } from '@primereact/types/shared/terminal';\n\nexport const defaultProps: useTerminalProps = {\n prompt: undefined\n};\n"],"mappings":"AAAA,OAAS,gBAAAA,MAAoB,4BAE7B,OAAS,SAAAC,MAAa,kBCFtB,OAAS,YAAAC,MAAgB,2BAEzB,IAAOC,EAAQD,EAAS,EDExB,UAAYE,MAAW,QEFhB,IAAMC,EAAiC,CAC1C,OAAQ,MACZ,EFGO,IAAMC,EAAcC,EAAa,CACpC,KAAM,cACN,aAAAC,EACA,MAAM,CAAE,WAAAC,CAAW,EAAG,CAClB,GAAM,CAACC,EAAkBC,CAAmB,EAAU,WAAiB,EAAE,EACnE,CAACC,EAAeC,CAAgB,EAAU,WAAgC,CAAC,CAAC,EAC5E,CAACC,EAAYC,CAAa,EAAU,WAAiB,CAAC,EACtD,CAACC,EAAkBC,CAAmB,EAAU,WAAiB,EAAE,EACnEC,EAAiB,SAAyB,IAAI,EAC9CC,EAAkB,SAAgB,EAAK,EAEvCC,EAAQ,CACV,YAAaV,EACb,SAAUE,CACd,EAEA,OAAM,YAAU,IAAM,CAClB,IAAMS,EAAYC,GAAiB,CAC/B,GAAIV,GAAiBA,EAAc,OAAS,EAAG,CAC3C,IAAMW,EAAW,CAAC,GAAGX,CAAa,EAElCW,EAASA,EAAS,OAAS,CAAC,EAAE,SAAW,OAAOD,CAAG,EAEnDT,EAAiBU,CAAQ,CAC7B,CACJ,EAEMC,EAAQ,IAAM,CAChBX,EAAiB,CAAC,CAAC,EACnBE,EAAc,CAAC,CACnB,EAEA,OAAAU,EAAgB,GAAG,WAAYJ,CAAQ,EACvCI,EAAgB,GAAG,QAASD,CAAK,EAE1B,IAAM,CACTC,EAAgB,IAAI,WAAYJ,CAAQ,EACxCI,EAAgB,IAAI,QAASD,CAAK,CACtC,CACJ,EAAG,CAACZ,CAAa,CAAC,EAEZ,YAAU,IAAM,CACdO,EAAU,UACVM,EAAgB,KAAK,UAAWT,CAAgB,EAChDG,EAAU,QAAU,IAGpBV,EAAW,UACXA,EAAW,QAAQ,UAAYA,EAAW,QAAQ,aAE1D,CAAC,EA8CM,CACH,MAAAW,EACA,SAAAF,EACA,QA/CY,IAAM,CACdA,EAAS,SACTQ,EAAMR,EAAS,OAAO,CAE9B,EA4CI,UA1CeS,GAAiD,CAChE,OAAQA,EAAM,KAAM,CAChB,IAAK,UACD,GAAIf,GAAiBA,EAAc,OAAQ,CACvC,IAAMgB,EAAYd,EAAa,EAAI,EAAIF,EAAc,OAAS,EAAIE,EAAa,EACzEe,EAAUjB,EAAcgB,CAAS,EAEvCb,EAAca,CAAS,EACvBjB,EAAoBkB,EAAQ,IAAI,CACpC,CAEA,MAEJ,IAAK,QACL,IAAK,cACD,GAAInB,EAAkB,CAClB,IAAMoB,EAAc,CAAC,GAAGlB,CAAa,EAErCkB,EAAY,KAAK,CAAE,KAAMpB,CAAiB,CAAC,EAE3CK,EAAea,GAAcA,EAAY,CAAC,EAC1CjB,EAAoB,EAAE,EACtBE,EAAiBiB,CAAW,EAC5Bb,EAAoBP,CAAgB,EACpCS,EAAU,QAAU,EACxB,CAEA,MAEJ,QACI,KACR,CACJ,EAWI,cATmBY,GAA2C,CAC9DpB,EAAoBoB,EAAE,OAAO,KAAK,CACtC,CAQA,CACJ,CACJ,CAAC","names":["withHeadless","focus","EventBus","TerminalService_default","React","defaultProps","useTerminal","withHeadless","defaultProps","elementRef","commandTextState","setCommandTextState","commandsState","setCommandsState","indexState","setIndexState","emittedTextState","setEmittedTextState","inputRef","isEmitted","state","response","res","commands","clear","TerminalService_default","focus","event","prevIndex","command","newCommands","e"]}
@@ -0,0 +1,12 @@
1
+ import { TerminalCommandItem } from '@primereact/types/shared/terminal';
2
+ import * as React from 'react';
3
+ export declare const useTerminal: (inProps?: unknown) => import("@primereact/types/core").HeadlessInstance<import("@primereact/types/shared/terminal").useTerminalProps, unknown, {
4
+ state: {
5
+ commandText: string;
6
+ commands: TerminalCommandItem[];
7
+ };
8
+ inputRef: React.RefObject<HTMLInputElement | null>;
9
+ onClick: () => void;
10
+ onKeyDown: (event: React.KeyboardEvent<HTMLInputElement>) => void;
11
+ onInputChange: (e: React.ChangeEvent<HTMLInputElement>) => void;
12
+ }>;
@@ -0,0 +1,2 @@
1
+ import type { useTerminalProps } from '@primereact/types/shared/terminal';
2
+ export declare const defaultProps: useTerminalProps;
File without changes
@@ -0,0 +1,2 @@
1
+ export * from './useTextarea';
2
+ export * from './useTextarea.props';
@@ -0,0 +1,2 @@
1
+ import{withHeadless as s}from"@primereact/core/headless";var t={autoResize:void 0};var c=s({name:"useTextarea",defaultProps:t,setup({props:e,elementRef:r}){let o=()=>{!r.current||!r.current.offsetParent||(r.current.style.height="auto",r.current.style.height=r.current.scrollHeight+"px",parseFloat(r.current.style.height)>=parseFloat(r.current.style.maxHeight)?(r.current.style.overflowY="scroll",r.current.style.height=r.current.style.maxHeight):r.current.style.overflow="hidden")};return{onInput:()=>{e.autoResize&&o()}}}});export{t as defaultProps,c as useTextarea};
2
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/textarea/useTextarea.ts","../../src/textarea/useTextarea.props.ts"],"sourcesContent":["import { withHeadless } from '@primereact/core/headless';\nimport { defaultProps } from './useTextarea.props';\n\nexport const useTextarea = withHeadless({\n name: 'useTextarea',\n defaultProps,\n setup({ props, elementRef }) {\n const resize = () => {\n if (!elementRef.current || !elementRef.current.offsetParent) return;\n\n elementRef.current.style.height = 'auto';\n elementRef.current.style.height = elementRef.current.scrollHeight + 'px';\n\n if (parseFloat(elementRef.current.style.height) >= parseFloat(elementRef.current.style.maxHeight)) {\n elementRef.current.style.overflowY = 'scroll';\n elementRef.current.style.height = elementRef.current.style.maxHeight;\n } else {\n elementRef.current.style.overflow = 'hidden';\n }\n };\n\n const onInput = () => {\n if (props.autoResize) {\n resize();\n }\n };\n\n return {\n onInput\n };\n }\n});\n","import type { useTextareaProps } from '@primereact/types/shared/textarea';\n\nexport const defaultProps: useTextareaProps = {\n autoResize: undefined\n};\n"],"mappings":"AAAA,OAAS,gBAAAA,MAAoB,4BCEtB,IAAMC,EAAiC,CAC1C,WAAY,MAChB,EDDO,IAAMC,EAAcC,EAAa,CACpC,KAAM,cACN,aAAAC,EACA,MAAM,CAAE,MAAAC,EAAO,WAAAC,CAAW,EAAG,CACzB,IAAMC,EAAS,IAAM,CACb,CAACD,EAAW,SAAW,CAACA,EAAW,QAAQ,eAE/CA,EAAW,QAAQ,MAAM,OAAS,OAClCA,EAAW,QAAQ,MAAM,OAASA,EAAW,QAAQ,aAAe,KAEhE,WAAWA,EAAW,QAAQ,MAAM,MAAM,GAAK,WAAWA,EAAW,QAAQ,MAAM,SAAS,GAC5FA,EAAW,QAAQ,MAAM,UAAY,SACrCA,EAAW,QAAQ,MAAM,OAASA,EAAW,QAAQ,MAAM,WAE3DA,EAAW,QAAQ,MAAM,SAAW,SAE5C,EAQA,MAAO,CACH,QAPY,IAAM,CACdD,EAAM,YACNE,EAAO,CAEf,CAIA,CACJ,CACJ,CAAC","names":["withHeadless","defaultProps","useTextarea","withHeadless","defaultProps","props","elementRef","resize"]}
@@ -0,0 +1,3 @@
1
+ export declare const useTextarea: (inProps?: unknown) => import("@primereact/types/core").HeadlessInstance<import("@primereact/types/shared/textarea").useTextareaProps, unknown, {
2
+ onInput: () => void;
3
+ }>;
@@ -0,0 +1,2 @@
1
+ import type { useTextareaProps } from '@primereact/types/shared/textarea';
2
+ export declare const defaultProps: useTextareaProps;
File without changes
@@ -0,0 +1,2 @@
1
+ export * from './useTimeline';
2
+ export * from './useTimeline.props';
@@ -0,0 +1,2 @@
1
+ import{withHeadless as r}from"@primereact/core/headless";var e={};var m=r({name:"useTimeline",defaultProps:e});export{e as defaultProps,m as useTimeline};
2
+ //# sourceMappingURL=index.mjs.map
@@ -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>>;
@@ -0,0 +1,2 @@
1
+ import type { useTimelineProps } from '@primereact/types/shared/timeline';
2
+ export declare const defaultProps: useTimelineProps;
File without changes