@primereact/headless 11.0.0-alpha.1

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 (165) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +1 -0
  3. package/accordion/index.d.ts +2 -0
  4. package/accordion/index.mjs +2 -0
  5. package/accordion/index.mjs.map +1 -0
  6. package/accordion/useAccordion.d.ts +12 -0
  7. package/accordion/useAccordion.props.d.ts +2 -0
  8. package/accordion/useAccordion.test.d.ts +0 -0
  9. package/avatar/index.d.ts +2 -0
  10. package/avatar/index.mjs +2 -0
  11. package/avatar/index.mjs.map +1 -0
  12. package/avatar/useAvatar.d.ts +7 -0
  13. package/avatar/useAvatar.props.d.ts +2 -0
  14. package/avatar/useAvatar.test.d.ts +0 -0
  15. package/badge/index.d.ts +2 -0
  16. package/badge/index.mjs +2 -0
  17. package/badge/index.mjs.map +1 -0
  18. package/badge/useBadge.d.ts +1 -0
  19. package/badge/useBadge.props.d.ts +2 -0
  20. package/badge/useBadge.test.d.ts +0 -0
  21. package/button/index.d.ts +2 -0
  22. package/button/index.mjs +2 -0
  23. package/button/index.mjs.map +1 -0
  24. package/button/useButton.d.ts +1 -0
  25. package/button/useButton.props.d.ts +2 -0
  26. package/button/useButton.test.d.ts +0 -0
  27. package/card/index.d.ts +2 -0
  28. package/card/index.mjs +2 -0
  29. package/card/index.mjs.map +1 -0
  30. package/card/useCard.d.ts +1 -0
  31. package/card/useCard.props.d.ts +2 -0
  32. package/card/useCard.test.d.ts +0 -0
  33. package/checkbox/index.d.ts +2 -0
  34. package/checkbox/index.mjs +2 -0
  35. package/checkbox/index.mjs.map +1 -0
  36. package/checkbox/useCheckbox.d.ts +8 -0
  37. package/checkbox/useCheckbox.props.d.ts +2 -0
  38. package/checkbox/useCheckbox.test.d.ts +0 -0
  39. package/chip/index.d.ts +2 -0
  40. package/chip/index.mjs +2 -0
  41. package/chip/index.mjs.map +1 -0
  42. package/chip/useChip.d.ts +10 -0
  43. package/chip/useChip.props.d.ts +2 -0
  44. package/chip/useChip.test.d.ts +0 -0
  45. package/divider/index.d.ts +2 -0
  46. package/divider/index.mjs +2 -0
  47. package/divider/index.mjs.map +1 -0
  48. package/divider/useDivider.d.ts +1 -0
  49. package/divider/useDivider.props.d.ts +2 -0
  50. package/divider/useDivider.test.d.ts +0 -0
  51. package/fieldset/index.d.ts +2 -0
  52. package/fieldset/index.mjs +2 -0
  53. package/fieldset/index.mjs.map +1 -0
  54. package/fieldset/useFieldset.d.ts +1 -0
  55. package/fieldset/useFieldset.props.d.ts +2 -0
  56. package/fieldset/useFieldset.test.d.ts +0 -0
  57. package/inplace/index.d.ts +2 -0
  58. package/inplace/index.mjs +2 -0
  59. package/inplace/index.mjs.map +1 -0
  60. package/inplace/useInplace.d.ts +8 -0
  61. package/inplace/useInplace.props.d.ts +2 -0
  62. package/inplace/useInplace.test.d.ts +0 -0
  63. package/inputtext/index.d.ts +2 -0
  64. package/inputtext/index.mjs +2 -0
  65. package/inputtext/index.mjs.map +1 -0
  66. package/inputtext/useInputText.d.ts +1 -0
  67. package/inputtext/useInputText.props.d.ts +2 -0
  68. package/inputtext/useInputText.test.d.ts +0 -0
  69. package/label/index.d.ts +2 -0
  70. package/label/index.mjs +2 -0
  71. package/label/index.mjs.map +1 -0
  72. package/label/useLabel.d.ts +1 -0
  73. package/label/useLabel.props.d.ts +2 -0
  74. package/label/useLabel.test.d.ts +0 -0
  75. package/metergroup/index.d.ts +2 -0
  76. package/metergroup/index.mjs +2 -0
  77. package/metergroup/index.mjs.map +1 -0
  78. package/metergroup/useMeterGroup.d.ts +9 -0
  79. package/metergroup/useMeterGroup.props.d.ts +2 -0
  80. package/metergroup/useMeterGroup.test.d.ts +0 -0
  81. package/package.json +40 -0
  82. package/panel/index.d.ts +2 -0
  83. package/panel/index.mjs +2 -0
  84. package/panel/index.mjs.map +1 -0
  85. package/panel/usePanel.d.ts +11 -0
  86. package/panel/usePanel.props.d.ts +2 -0
  87. package/panel/usePanel.test.d.ts +0 -0
  88. package/progressbar/index.d.ts +2 -0
  89. package/progressbar/index.mjs +2 -0
  90. package/progressbar/index.mjs.map +1 -0
  91. package/progressbar/useProgressBar.d.ts +6 -0
  92. package/progressbar/useProgressBar.props.d.ts +2 -0
  93. package/progressbar/useProgressBar.test.d.ts +0 -0
  94. package/progressspinner/index.d.ts +2 -0
  95. package/progressspinner/index.mjs +2 -0
  96. package/progressspinner/index.mjs.map +1 -0
  97. package/progressspinner/useProgressSpinner.d.ts +1 -0
  98. package/progressspinner/useProgressSpinner.props.d.ts +2 -0
  99. package/progressspinner/useProgressSpinner.test.d.ts +0 -0
  100. package/radiobutton/index.d.ts +2 -0
  101. package/radiobutton/index.mjs +2 -0
  102. package/radiobutton/index.mjs.map +1 -0
  103. package/radiobutton/useRadioButton.d.ts +7 -0
  104. package/radiobutton/useRadioButton.props.d.ts +2 -0
  105. package/radiobutton/useRadioButton.test.d.ts +0 -0
  106. package/scrollarea/index.d.ts +2 -0
  107. package/scrollarea/index.mjs +2 -0
  108. package/scrollarea/index.mjs.map +1 -0
  109. package/scrollarea/useScrollArea.d.ts +18 -0
  110. package/scrollarea/useScrollArea.props.d.ts +2 -0
  111. package/scrollarea/useScrollArea.test.d.ts +0 -0
  112. package/skeleton/index.d.ts +2 -0
  113. package/skeleton/index.mjs +2 -0
  114. package/skeleton/index.mjs.map +1 -0
  115. package/skeleton/useSkeleton.d.ts +1 -0
  116. package/skeleton/useSkeleton.props.d.ts +2 -0
  117. package/skeleton/useSkeleton.test.d.ts +0 -0
  118. package/splitter/index.d.ts +2 -0
  119. package/splitter/index.mjs +2 -0
  120. package/splitter/index.mjs.map +1 -0
  121. package/splitter/useSplitter.d.ts +23 -0
  122. package/splitter/useSplitter.props.d.ts +2 -0
  123. package/splitter/useSplitter.test.d.ts +0 -0
  124. package/stepper/index.d.ts +2 -0
  125. package/stepper/index.mjs +2 -0
  126. package/stepper/index.mjs.map +1 -0
  127. package/stepper/useStepper.d.ts +9 -0
  128. package/stepper/useStepper.props.d.ts +2 -0
  129. package/stepper/useStepper.test.d.ts +0 -0
  130. package/styleclass/index.d.ts +2 -0
  131. package/styleclass/index.mjs +2 -0
  132. package/styleclass/index.mjs.map +1 -0
  133. package/styleclass/useStyleClass.d.ts +6 -0
  134. package/styleclass/useStyleClass.props.d.ts +2 -0
  135. package/styleclass/useStyleClass.test.d.ts +0 -0
  136. package/switch/index.d.ts +2 -0
  137. package/switch/index.mjs +2 -0
  138. package/switch/index.mjs.map +1 -0
  139. package/switch/useSwitch.d.ts +7 -0
  140. package/switch/useSwitch.props.d.ts +2 -0
  141. package/switch/useSwitch.test.d.ts +0 -0
  142. package/tabs/index.d.ts +2 -0
  143. package/tabs/index.mjs +2 -0
  144. package/tabs/index.mjs.map +1 -0
  145. package/tabs/useTabs.d.ts +14 -0
  146. package/tabs/useTabs.props.d.ts +2 -0
  147. package/tabs/useTabs.test.d.ts +0 -0
  148. package/tag/index.d.ts +2 -0
  149. package/tag/index.mjs +2 -0
  150. package/tag/index.mjs.map +1 -0
  151. package/tag/useTag.d.ts +1 -0
  152. package/tag/useTag.props.d.ts +2 -0
  153. package/tag/useTag.test.d.ts +0 -0
  154. package/togglebutton/index.d.ts +2 -0
  155. package/togglebutton/index.mjs +2 -0
  156. package/togglebutton/index.mjs.map +1 -0
  157. package/togglebutton/useToggle.test.d.ts +0 -0
  158. package/togglebutton/useToggleButton.d.ts +7 -0
  159. package/togglebutton/useToggleButton.props.d.ts +2 -0
  160. package/toolbar/index.d.ts +2 -0
  161. package/toolbar/index.mjs +2 -0
  162. package/toolbar/index.mjs.map +1 -0
  163. package/toolbar/useToolbar.d.ts +1 -0
  164. package/toolbar/useToolbar.props.d.ts +2 -0
  165. package/toolbar/useToolbar.test.d.ts +0 -0
@@ -0,0 +1,2 @@
1
+ import{withHeadless as u}from"@primereact/core/headless";import{useControlledState as s}from"@primereact/hooks/use-controlled-state";var a={checked:void 0,defaultChecked:void 0,onCheckedChange:void 0};var C=u({name:"useRadioButton",defaultProps:a,setup:({props:e})=>{var o;let[t,d]=s({value:e.checked,defaultValue:(o=e.defaultChecked)!=null?o:!1,onChange:e.onCheckedChange});return{state:{checked:t},onChange:r=>{let n=!t;d([n,{originalEvent:r,checked:n}])}}}});export{a as defaultProps,C as useRadioButton};
2
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/radiobutton/useRadioButton.ts","../../src/radiobutton/useRadioButton.props.ts"],"sourcesContent":["import { withHeadless } from '@primereact/core/headless';\nimport { useControlledState } from '@primereact/hooks/use-controlled-state';\nimport type { useRadioButtonChangeEvent } from '@primereact/types/shared/radiobutton';\nimport { defaultProps } from './useRadioButton.props';\n\nexport const useRadioButton = withHeadless({\n name: 'useRadioButton',\n defaultProps,\n setup: ({ props }) => {\n const [checkedState, setCheckedState] = useControlledState({\n value: props.checked,\n defaultValue: props.defaultChecked ?? false,\n onChange: props.onCheckedChange\n });\n\n const state = {\n checked: checkedState\n };\n\n // methods\n const onChange = (event: useRadioButtonChangeEvent) => {\n const computedChecked = !checkedState;\n\n setCheckedState([\n computedChecked,\n {\n originalEvent: event,\n checked: computedChecked\n }\n ]);\n };\n\n return {\n state,\n // methods\n onChange\n };\n }\n});\n","import type { useRadioButtonProps } from '@primereact/types/shared/radiobutton';\n\nexport const defaultProps: useRadioButtonProps = {\n checked: undefined,\n defaultChecked: undefined,\n onCheckedChange: undefined\n};\n"],"mappings":"AAAA,OAAS,gBAAAA,MAAoB,4BAC7B,OAAS,sBAAAC,MAA0B,yCCC5B,IAAMC,EAAoC,CAC7C,QAAS,OACT,eAAgB,OAChB,gBAAiB,MACrB,EDDO,IAAMC,EAAiBC,EAAa,CACvC,KAAM,iBACN,aAAAC,EACA,MAAO,CAAC,CAAE,MAAAC,CAAM,IAAM,CAR1B,IAAAC,EASQ,GAAM,CAACC,EAAcC,CAAe,EAAIC,EAAmB,CACvD,MAAOJ,EAAM,QACb,cAAcC,EAAAD,EAAM,iBAAN,KAAAC,EAAwB,GACtC,SAAUD,EAAM,eACpB,CAAC,EAmBD,MAAO,CACH,MAlBU,CACV,QAASE,CACb,EAkBI,SAfcG,GAAqC,CACnD,IAAMC,EAAkB,CAACJ,EAEzBC,EAAgB,CACZG,EACA,CACI,cAAeD,EACf,QAASC,CACb,CACJ,CAAC,CACL,CAMA,CACJ,CACJ,CAAC","names":["withHeadless","useControlledState","defaultProps","useRadioButton","withHeadless","defaultProps","props","_a","checkedState","setCheckedState","useControlledState","event","computedChecked"]}
@@ -0,0 +1,7 @@
1
+ import type { useRadioButtonChangeEvent } from '@primereact/types/shared/radiobutton';
2
+ export declare const useRadioButton: (inProps?: unknown) => import("@primereact/types/core").HeadlessInstance<import("@primereact/types/shared/radiobutton").useRadioButtonProps, unknown, {
3
+ state: {
4
+ checked: boolean | undefined;
5
+ };
6
+ onChange: (event: useRadioButtonChangeEvent) => void;
7
+ }>;
@@ -0,0 +1,2 @@
1
+ import type { useRadioButtonProps } from '@primereact/types/shared/radiobutton';
2
+ export declare const defaultProps: useRadioButtonProps;
File without changes
@@ -0,0 +1,2 @@
1
+ export * from './useScrollArea';
2
+ export * from './useScrollArea.props';
@@ -0,0 +1,2 @@
1
+ import{withHeadless as le}from"@primereact/core/headless";import{useMountEffect as ue,useUnmountEffect as ae}from"@primereact/hooks";import{useEventListener as H}from"@primereact/hooks/use-event-listener";import{addClass as l,getHeight as ie,removeClass as d}from"@primeuix/utils";import*as n from"react";var W={step:5};var he=le({name:"useScrollArea",defaultProps:W,setup({props:f,elementRef:s}){let t=n.useRef(null),r=n.useRef(null),o=n.useRef(null),[D,q]=n.useState(0),[v,I]=n.useState(0),T=n.useRef(!1),y=n.useRef(!1),m=n.useRef(null),b=n.useRef(null),u=n.useRef(null),a=n.useRef(null),i=n.useRef(null),A=n.useRef(!1),g=n.useRef(null),[h,p]=n.useState("vertical"),K={orientationState:h},N=()=>{if(!s.current||!t.current)return;let e=getComputedStyle(s.current),c=r.current?parseInt(getComputedStyle(r.current).height,10):0,w=ie(s.current)-c;e.maxHeight!=="none"&&w===0&&(t.current.offsetHeight+c>parseInt(e.maxHeight,10)?s.current.style.height=e.maxHeight:s.current.style.height=t.current.offsetHeight+parseFloat(e.paddingTop)+parseFloat(e.paddingBottom)+parseFloat(e.borderTopWidth)+parseFloat(e.borderBottomWidth)+"px")},R=()=>{var Y,z;if(!t.current||!s.current)return;let e=t.current.scrollWidth,c=t.current.clientWidth,w=(s.current.clientHeight-(((Y=r.current)==null?void 0:Y.clientHeight)||0))*-1;u.current=c/e;let X=t.current.scrollHeight,ce=t.current.clientHeight,se=(s.current.clientWidth-(((z=o.current)==null?void 0:z.clientWidth)||0))*-1;a.current=ce/X;let k=u.current,B=a.current;i.current=requestAnimationFrame(()=>{var C,P,U;r.current&&(k>=1?l(r.current,"p-scrollpanel-hidden"):(d(r.current,"p-scrollpanel-hidden"),r.current.style.width=Math.max(k*100,10)+"%",r.current.style.setProperty("inset-inline-start",(((C=t.current)==null?void 0:C.scrollLeft)||0)/e*100+"%"),r.current.style.bottom=w+"px")),o.current&&(B>=1?l(o.current,"p-scrollpanel-hidden"):(d(o.current,"p-scrollpanel-hidden"),o.current.style.height=Math.max(B*100,10)+"%",o.current.style.top=`calc(${(((P=t.current)==null?void 0:P.scrollTop)||0)/X*100}% - ${((U=r.current)==null?void 0:U.clientHeight)||0}px)`,o.current.style.setProperty("inset-inline-end",se+"px")))})},$=e=>{r.current&&r.current.isSameNode(e.target)?p("horizontal"):o.current&&o.current.isSameNode(e.target)&&p("vertical")},O=()=>{h==="horizontal"&&p("vertical")},j=e=>{D!==e.currentTarget.scrollLeft?(q(e.currentTarget.scrollLeft),p("horizontal")):v!==e.currentTarget.scrollTop&&(I(e.currentTarget.scrollTop),p("vertical")),R()},G=e=>{T.current?E(e):(y.current||E(e),S(e))},J=e=>{y.current=!0,b.current=e.pageY,o.current&&(l(o.current,"p-scrollpanel-grabbed"),o.current.setAttribute("data-p-scrollpanel-grabbed","true")),l(document.body,"p-scrollpanel-grabbed"),document.body.setAttribute("data-p-scrollpanel-grabbed","true"),x(),F(),e.preventDefault()},Q=e=>{T.current=!0,m.current=e.pageX,r.current&&(l(r.current,"p-scrollpanel-grabbed"),l(r.current,"p-scrollpanel-grabbed")),l(document.body,"p-scrollpanel-grabbed"),document.body.setAttribute("data-p-scrollpanel-grabbed","true"),x(),oe(),e.preventDefault()},E=e=>{if(!m.current||!u.current||!t.current)return;let c=e.pageX-m.current;m.current=e.pageX,i.current=window.requestAnimationFrame(()=>{t.current&&u.current!==null&&(t.current.scrollLeft+=c/u.current)})},S=e=>{if(!b.current||!a.current||!t.current)return;let c=e.pageY-b.current;b.current=e.pageY,i.current=window.requestAnimationFrame(()=>{t.current&&a.current!==null&&(t.current.scrollTop+=c/a.current)})},V=()=>{o.current&&(d(o.current,"p-scrollpanel-grabbed"),o.current.setAttribute("data-p-scrollpanel-grabbed","false")),r.current&&(d(r.current,"p-scrollpanel-grabbed"),r.current.setAttribute("data-p-scrollpanel-grabbed","false")),d(document.body,"p-scrollpanel-grabbed"),document.body.setAttribute("data-p-scrollpanel-grabbed","false"),ne(),F(),T.current=!1,y.current=!1},Z=e=>{if(h==="vertical")switch(e.code){case"ArrowDown":{M("scrollTop",f.step),e.preventDefault();break}case"ArrowUp":{M("scrollTop",f.step*-1),e.preventDefault();break}case"ArrowLeft":case"ArrowRight":{e.preventDefault();break}default:break}else if(h==="horizontal")switch(e.code){case"ArrowRight":{M("scrollLeft",f.step),e.preventDefault();break}case"ArrowLeft":{M("scrollLeft",f.step*-1),e.preventDefault();break}case"ArrowDown":case"ArrowUp":{e.preventDefault();break}default:break}},_=()=>{L()},ee=(e,c)=>{t.current&&(t.current[e]+=c,R())},M=(e,c)=>{L(),g.current=setTimeout(()=>{ee(e,c)},40)},L=()=>{g.current&&(clearTimeout(g.current),g.current=null)},[te,re]=H({target:"window",type:"resize",listener:()=>{R()}}),[x,ne]=H({target:"document",type:"mousemove",listener:e=>{G(e)}}),[oe,F]=H({target:"document",type:"mouseup",listener:()=>{V()}});return ue(()=>{setTimeout(()=>{R(),N(),A.current=!0},0),te()}),ae(()=>{A.current&&re(),i.current&&window.cancelAnimationFrame(i.current),L()}),{state:K,contentRef:t,thumbXRef:r,thumbYRef:o,lastScrollLeft:D,lastScrollTop:v,onScroll:j,onXBarMouseDown:Q,onYBarMouseDown:J,onFocus:$,onBlur:O,onKeyDown:Z,onKeyUp:_}}});export{W as defaultProps,he as useScrollArea};
2
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/scrollarea/useScrollArea.ts","../../src/scrollarea/useScrollArea.props.ts"],"sourcesContent":["import { withHeadless } from '@primereact/core/headless';\nimport { useMountEffect, useUnmountEffect } from '@primereact/hooks';\nimport { useEventListener } from '@primereact/hooks/use-event-listener';\nimport { addClass, getHeight, removeClass } from '@primeuix/utils';\nimport * as React from 'react';\nimport { defaultProps } from './useScrollArea.props';\n\nexport const useScrollArea = withHeadless({\n name: 'useScrollArea',\n defaultProps,\n setup({ props, elementRef }) {\n const contentRef = React.useRef<HTMLDivElement>(null);\n const thumbXRef = React.useRef<HTMLDivElement>(null);\n const thumbYRef = React.useRef<HTMLDivElement>(null);\n const [lastScrollLeft, setLastScrollLeft] = React.useState(0);\n const [lastScrollTop, setLastScrollTop] = React.useState(0);\n const isXBarClicked = React.useRef<boolean>(false);\n const isYBarClicked = React.useRef<boolean>(false);\n const lastPageX = React.useRef<number | null>(null);\n const lastPageY = React.useRef<number | null>(null);\n const scrollXRatio = React.useRef<number | null>(null);\n const scrollYRatio = React.useRef<number | null>(null);\n const frame = React.useRef<number | null>(null);\n const initialized = React.useRef<boolean>(false);\n const timer = React.useRef<ReturnType<typeof setTimeout> | null>(null);\n const [orientationState, setOrientationState] = React.useState('vertical');\n\n const state = {\n orientationState\n };\n\n const calculateContainerHeight = () => {\n if (!elementRef.current || !contentRef.current) return;\n\n const containerStyles = getComputedStyle(elementRef.current);\n const thumbXHeight = thumbXRef.current ? parseInt(getComputedStyle(thumbXRef.current).height, 10) : 0;\n const pureContainerHeight = getHeight(elementRef.current) - thumbXHeight;\n\n if (containerStyles.maxHeight !== 'none' && pureContainerHeight === 0) {\n if (contentRef.current.offsetHeight + thumbXHeight > parseInt(containerStyles.maxHeight, 10)) {\n elementRef.current.style.height = containerStyles.maxHeight;\n } else {\n elementRef.current.style.height =\n contentRef.current.offsetHeight + parseFloat(containerStyles.paddingTop) + parseFloat(containerStyles.paddingBottom) + parseFloat(containerStyles.borderTopWidth) + parseFloat(containerStyles.borderBottomWidth) + 'px';\n }\n }\n };\n\n const moveBar = () => {\n if (!contentRef.current || !elementRef.current) return;\n\n // horizontal scroll\n const totalWidth = contentRef.current.scrollWidth;\n const ownWidth = contentRef.current.clientWidth;\n const bottom = (elementRef.current.clientHeight - (thumbXRef.current?.clientHeight || 0)) * -1;\n\n scrollXRatio.current = ownWidth / totalWidth;\n\n // vertical scroll\n const totalHeight = contentRef.current.scrollHeight;\n const ownHeight = contentRef.current.clientHeight;\n const right = (elementRef.current.clientWidth - (thumbYRef.current?.clientWidth || 0)) * -1;\n\n scrollYRatio.current = ownHeight / totalHeight;\n\n const xRatio = scrollXRatio.current;\n const yRatio = scrollYRatio.current;\n\n frame.current = requestAnimationFrame(() => {\n if (thumbXRef.current) {\n if (xRatio >= 1) {\n addClass(thumbXRef.current, 'p-scrollpanel-hidden');\n } else {\n removeClass(thumbXRef.current, 'p-scrollpanel-hidden');\n thumbXRef.current.style.width = Math.max(xRatio * 100, 10) + '%';\n thumbXRef.current.style.setProperty('inset-inline-start', ((contentRef.current?.scrollLeft || 0) / totalWidth) * 100 + '%');\n thumbXRef.current.style.bottom = bottom + 'px';\n }\n }\n\n if (thumbYRef.current) {\n if (yRatio >= 1) {\n addClass(thumbYRef.current, 'p-scrollpanel-hidden');\n } else {\n removeClass(thumbYRef.current, 'p-scrollpanel-hidden');\n\n thumbYRef.current.style.height = Math.max(yRatio * 100, 10) + '%';\n thumbYRef.current.style.top = `calc(${((contentRef.current?.scrollTop || 0) / totalHeight) * 100}% - ${thumbXRef.current?.clientHeight || 0}px)`;\n thumbYRef.current.style.setProperty('inset-inline-end', right + 'px');\n }\n }\n });\n };\n\n const onFocus = (event: React.FocusEvent<HTMLDivElement>) => {\n if (thumbXRef.current && thumbXRef.current.isSameNode(event.target)) {\n setOrientationState('horizontal');\n } else if (thumbYRef.current && thumbYRef.current.isSameNode(event.target)) {\n setOrientationState('vertical');\n }\n };\n\n const onBlur = () => {\n if (orientationState === 'horizontal') {\n setOrientationState('vertical');\n }\n };\n\n const onScroll = (event: React.UIEvent<HTMLDivElement>) => {\n if (lastScrollLeft !== event.currentTarget.scrollLeft) {\n setLastScrollLeft(event.currentTarget.scrollLeft);\n setOrientationState('horizontal');\n } else if (lastScrollTop !== event.currentTarget.scrollTop) {\n setLastScrollTop(event.currentTarget.scrollTop);\n setOrientationState('vertical');\n }\n\n moveBar();\n };\n\n const onDocumentMouseMove = (event: MouseEvent) => {\n if (isXBarClicked.current) {\n onMouseMoveForXBar(event);\n } else if (isYBarClicked.current) {\n onMouseMoveForYBar(event);\n } else {\n onMouseMoveForXBar(event);\n onMouseMoveForYBar(event);\n }\n };\n\n const onYBarMouseDown = (event: React.MouseEvent<HTMLDivElement>) => {\n isYBarClicked.current = true;\n lastPageY.current = event.pageY;\n\n if (thumbYRef.current) {\n addClass(thumbYRef.current, 'p-scrollpanel-grabbed');\n thumbYRef.current.setAttribute('data-p-scrollpanel-grabbed', 'true');\n }\n\n addClass(document.body, 'p-scrollpanel-grabbed');\n document.body.setAttribute('data-p-scrollpanel-grabbed', 'true');\n\n bindMouseMoveListener();\n unbindMouseUpListener();\n event.preventDefault();\n };\n\n const onXBarMouseDown = (event: React.MouseEvent<HTMLDivElement>) => {\n isXBarClicked.current = true;\n lastPageX.current = event.pageX;\n\n if (thumbXRef.current) {\n addClass(thumbXRef.current, 'p-scrollpanel-grabbed');\n addClass(thumbXRef.current, 'p-scrollpanel-grabbed');\n }\n\n addClass(document.body, 'p-scrollpanel-grabbed');\n document.body.setAttribute('data-p-scrollpanel-grabbed', 'true');\n\n bindMouseMoveListener();\n bindMouseUpListener();\n event.preventDefault();\n };\n\n const onMouseMoveForXBar = (event: MouseEvent) => {\n if (!lastPageX.current || !scrollXRatio.current || !contentRef.current) return;\n\n const deltaX = event.pageX - lastPageX.current;\n\n lastPageX.current = event.pageX;\n\n frame.current = window.requestAnimationFrame(() => {\n if (contentRef.current && scrollXRatio.current !== null) {\n contentRef.current.scrollLeft += deltaX / scrollXRatio.current;\n }\n });\n };\n\n const onMouseMoveForYBar = (event: MouseEvent) => {\n if (!lastPageY.current || !scrollYRatio.current || !contentRef.current) return;\n\n const deltaY = event.pageY - lastPageY.current;\n\n lastPageY.current = event.pageY;\n\n frame.current = window.requestAnimationFrame(() => {\n if (contentRef.current && scrollYRatio.current !== null) {\n contentRef.current.scrollTop += deltaY / scrollYRatio.current;\n }\n });\n };\n\n const onDocumentMouseUp = () => {\n if (thumbYRef.current) {\n removeClass(thumbYRef.current, 'p-scrollpanel-grabbed');\n thumbYRef.current.setAttribute('data-p-scrollpanel-grabbed', 'false');\n }\n\n if (thumbXRef.current) {\n removeClass(thumbXRef.current, 'p-scrollpanel-grabbed');\n thumbXRef.current.setAttribute('data-p-scrollpanel-grabbed', 'false');\n }\n\n removeClass(document.body, 'p-scrollpanel-grabbed');\n document.body.setAttribute('data-p-scrollpanel-grabbed', 'false');\n\n unbindMouseMoveListener();\n unbindMouseUpListener();\n isXBarClicked.current = false;\n isYBarClicked.current = false;\n };\n\n const onKeyDown = (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (orientationState === 'vertical') {\n switch (event.code) {\n case 'ArrowDown': {\n setTimer('scrollTop', props.step as number);\n event.preventDefault();\n break;\n }\n\n case 'ArrowUp': {\n setTimer('scrollTop', (props.step as number) * -1);\n event.preventDefault();\n break;\n }\n\n case 'ArrowLeft':\n\n case 'ArrowRight': {\n event.preventDefault();\n break;\n }\n\n default:\n //no op\n break;\n }\n } else if (orientationState === 'horizontal') {\n switch (event.code) {\n case 'ArrowRight': {\n setTimer('scrollLeft', props.step as number);\n event.preventDefault();\n break;\n }\n\n case 'ArrowLeft': {\n setTimer('scrollLeft', (props.step as number) * -1);\n event.preventDefault();\n break;\n }\n\n case 'ArrowDown':\n\n case 'ArrowUp': {\n event.preventDefault();\n break;\n }\n\n default:\n //no op\n break;\n }\n }\n };\n\n const onKeyUp = () => {\n clearTimer();\n };\n\n const repeat = (bar: 'scrollTop' | 'scrollLeft', step: number) => {\n if (contentRef.current) {\n contentRef.current[bar] += step;\n moveBar();\n }\n };\n\n const setTimer = (bar: 'scrollTop' | 'scrollLeft', step: number) => {\n clearTimer();\n timer.current = setTimeout(() => {\n repeat(bar, step);\n }, 40);\n };\n\n const clearTimer = () => {\n if (timer.current) {\n clearTimeout(timer.current);\n timer.current = null;\n }\n };\n\n const [bindResizeListener, unbindResizeListener] = useEventListener({\n target: 'window',\n type: 'resize',\n listener: () => {\n moveBar();\n }\n });\n\n const [bindMouseMoveListener, unbindMouseMoveListener] = useEventListener({\n target: 'document',\n type: 'mousemove',\n listener: (event: Event) => {\n onDocumentMouseMove(event as MouseEvent);\n }\n });\n\n const [bindMouseUpListener, unbindMouseUpListener] = useEventListener({\n target: 'document',\n type: 'mouseup',\n listener: () => {\n onDocumentMouseUp();\n }\n });\n\n useMountEffect(() => {\n setTimeout(() => {\n moveBar();\n calculateContainerHeight();\n initialized.current = true;\n }, 0);\n\n bindResizeListener();\n });\n\n useUnmountEffect(() => {\n if (initialized.current) {\n unbindResizeListener();\n }\n\n if (frame.current) {\n window.cancelAnimationFrame(frame.current);\n }\n\n clearTimer();\n });\n\n return {\n state,\n contentRef,\n thumbXRef,\n thumbYRef,\n lastScrollLeft,\n lastScrollTop,\n //methods\n onScroll,\n onXBarMouseDown,\n onYBarMouseDown,\n onFocus,\n onBlur,\n onKeyDown,\n onKeyUp\n };\n }\n});\n","import type { useScrollAreaProps } from '@primereact/types/shared/scrollarea';\n\nexport const defaultProps: useScrollAreaProps = {\n step: 5\n};\n"],"mappings":"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","names":["withHeadless","useMountEffect","useUnmountEffect","useEventListener","addClass","getHeight","removeClass","React","defaultProps","useScrollArea","withHeadless","defaultProps","props","elementRef","contentRef","thumbXRef","thumbYRef","lastScrollLeft","setLastScrollLeft","lastScrollTop","setLastScrollTop","isXBarClicked","isYBarClicked","lastPageX","lastPageY","scrollXRatio","scrollYRatio","frame","initialized","timer","orientationState","setOrientationState","state","calculateContainerHeight","containerStyles","thumbXHeight","pureContainerHeight","getHeight","moveBar","_a","_b","totalWidth","ownWidth","bottom","totalHeight","ownHeight","right","xRatio","yRatio","_c","addClass","removeClass","onFocus","event","onBlur","onScroll","onDocumentMouseMove","onMouseMoveForXBar","onMouseMoveForYBar","onYBarMouseDown","bindMouseMoveListener","unbindMouseUpListener","onXBarMouseDown","bindMouseUpListener","deltaX","deltaY","onDocumentMouseUp","unbindMouseMoveListener","onKeyDown","setTimer","onKeyUp","clearTimer","repeat","bar","step","bindResizeListener","unbindResizeListener","useEventListener","useMountEffect","useUnmountEffect"]}
@@ -0,0 +1,18 @@
1
+ import * as React from 'react';
2
+ export declare const useScrollArea: (inProps?: unknown) => import("@primereact/types/core").HeadlessInstance<import("@primereact/types/shared/scrollarea").useScrollAreaProps, unknown, {
3
+ state: {
4
+ orientationState: string;
5
+ };
6
+ contentRef: React.RefObject<HTMLDivElement | null>;
7
+ thumbXRef: React.RefObject<HTMLDivElement | null>;
8
+ thumbYRef: React.RefObject<HTMLDivElement | null>;
9
+ lastScrollLeft: number;
10
+ lastScrollTop: number;
11
+ onScroll: (event: React.UIEvent<HTMLDivElement>) => void;
12
+ onXBarMouseDown: (event: React.MouseEvent<HTMLDivElement>) => void;
13
+ onYBarMouseDown: (event: React.MouseEvent<HTMLDivElement>) => void;
14
+ onFocus: (event: React.FocusEvent<HTMLDivElement>) => void;
15
+ onBlur: () => void;
16
+ onKeyDown: (event: React.KeyboardEvent<HTMLDivElement>) => void;
17
+ onKeyUp: () => void;
18
+ }>;
@@ -0,0 +1,2 @@
1
+ import type { useScrollAreaProps } from '@primereact/types/shared/scrollarea';
2
+ export declare const defaultProps: useScrollAreaProps;
File without changes
@@ -0,0 +1,2 @@
1
+ export * from './useSkeleton';
2
+ export * from './useSkeleton.props';
@@ -0,0 +1,2 @@
1
+ import{withHeadless as o}from"@primereact/core/headless";var e={};var p=o({name:"useSkeleton",defaultProps:e});export{e as defaultProps,p as useSkeleton};
2
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/skeleton/useSkeleton.ts","../../src/skeleton/useSkeleton.props.ts"],"sourcesContent":["import { withHeadless } from '@primereact/core/headless';\nimport { defaultProps } from './useSkeleton.props';\n\nexport const useSkeleton = withHeadless({\n name: 'useSkeleton',\n defaultProps\n});\n","import type { useSkeletonProps } from '@primereact/types/shared/skeleton';\n\nexport const defaultProps: useSkeletonProps = {};\n"],"mappings":"AAAA,OAAS,gBAAAA,MAAoB,4BCEtB,IAAMC,EAAiC,CAAC,EDCxC,IAAMC,EAAcC,EAAa,CACpC,KAAM,cACN,aAAAC,CACJ,CAAC","names":["withHeadless","defaultProps","useSkeleton","withHeadless","defaultProps"]}
@@ -0,0 +1 @@
1
+ export declare const useSkeleton: (inProps?: unknown) => import("@primereact/types/core").HeadlessInstance<import("@primereact/types/shared/skeleton").useSkeletonProps, unknown, Record<PropertyKey, unknown>>;
@@ -0,0 +1,2 @@
1
+ import type { useSkeletonProps } from '@primereact/types/shared/skeleton';
2
+ export declare const defaultProps: useSkeletonProps;
File without changes
@@ -0,0 +1,2 @@
1
+ export * from './useSplitter';
2
+ export * from './useSplitter.props';
@@ -0,0 +1,2 @@
1
+ import{withHeadless as Se}from"@primereact/core/headless";import{useEventListener as K}from"@primereact/hooks/use-event-listener";import{getHeight as ye,getOuterHeight as A,getOuterWidth as H,getWidth as Me,isRTL as Te}from"@primeuix/utils/dom";import{isArray as ze,isNotEmpty as De}from"@primeuix/utils/object";import*as r from"react";var V={orientation:"horizontal",gutterSize:4,stateKey:void 0,stateStorage:"session",step:5};var C=u=>r.isValidElement(u),He=Se({name:"useSplitter",defaultProps:V,setup({props:u,elementRef:d,inProps:c}){let p=r.useRef(null),S=r.useRef([]),l=r.useRef(null),O=r.useRef(!1),v=r.useRef(null),m=r.useRef(null),R=r.useRef(null),E=r.useRef(null),[W,U]=r.useState(null),h=r.useRef(null),g=r.useRef(null),y=r.useRef(null),[M,X]=r.useState([]),[f,_]=r.useState([]),i=u.orientation==="horizontal",T=r.useRef(0),L=r.useRef(0),w=r.useRef(0),j={panels:f},q=r.useCallback(()=>{let e=T.current;return T.current+=1,e},[]),Q=r.useCallback(()=>{let e=L.current;return L.current+=1,e},[]),Z=r.useCallback(()=>{let e=w.current;return w.current+=1,e},[]);r.useEffect(()=>(T.current=0,L.current=0,w.current=0,()=>{T.current=0,L.current=0,w.current=0}),[]);let x=(e,t,n=!1)=>{var o,a,s,b;d.current&&(p.current=S.current[t],l.current=i?Me(d.current):ye(d.current),n||(O.current=!0,v.current=i?e.pageX||((a=(o=e.changedTouches)==null?void 0:o[0])==null?void 0:a.pageX):e.pageY||((b=(s=e.changedTouches)==null?void 0:s[0])==null?void 0:b.pageY)),p.current&&(m.current=p.current.previousElementSibling,R.current=p.current.nextElementSibling,m.current&&R.current&&(n?(E.current=i?H(m.current,!0):A(m.current,!0),h.current=i?H(R.current,!0):A(R.current,!0)):(E.current=100*(i?H(m.current,!0):A(m.current,!0))/(l.current||1),h.current=100*(i?H(R.current,!0):A(R.current,!0))/(l.current||1)),g.current=t,S.current[t].setAttribute("data-p-gutter-resizing","true"),d.current.setAttribute("data-p-resizing","true"))))},z=(e,t=5,n=!1)=>{var b,J;if(!m.current||!R.current||l.current===null||E.current===null||h.current===null)return;let o,a,s;if(n)i?(a=100*(E.current+t)/l.current,s=100*(h.current-t)/l.current):(a=100*(E.current-t)/l.current,s=100*(h.current+t)/l.current);else{if(v.current===null)return;i?Te(d.current)?o=(v.current-e.pageX)*100/l.current:o=(e.pageX-v.current)*100/l.current:o=(e.pageY-v.current)*100/l.current,a=E.current+o,s=h.current-o}ae(a,s)||(a=Math.min(Math.max(N(),a),100-G()),s=Math.min(Math.max(G(),s),100-N())),m.current.style.flexBasis="calc("+a+"% - "+(f.length-1)*((b=u.gutterSize)!=null?b:4)+"px)",R.current.style.flexBasis="calc("+s+"% - "+(f.length-1)*((J=u.gutterSize)!=null?J:4)+"px)",g.current!==null&&(M[g.current]=a,M[g.current+1]=s),U(Number(a.toFixed(4)))},D=()=>{Y()&&pe(),S.current&&S.current.forEach(e=>{e.setAttribute("data-p-gutter-resizing","false")}),d.current&&d.current.setAttribute("data-p-resizing","false"),ge()},$=(e,t,n)=>{x(e,t,!0),z(e,n,!0)},k=(e,t,n)=>{y.current||(y.current=setInterval(()=>{$(e,t,n)},40))},P=()=>{y.current&&(clearInterval(y.current),y.current=null)},ee=()=>{P(),D()},te=(e,t)=>{switch(e.code){case"ArrowLeft":{i&&k(e,t,u.step*-1),e.preventDefault();break}case"ArrowRight":{i&&k(e,t,u.step),e.preventDefault();break}case"ArrowDown":{i||k(e,t,u.step*-1),e.preventDefault();break}case"ArrowUp":{i||k(e,t,u.step),e.preventDefault();break}default:break}},re=(e,t)=>{x(e,t),fe()},ne=(e,t)=>{x(e,t),he(),e.preventDefault()},ue=e=>{z(e),e.preventDefault()},ce=e=>{D(),F(),e.preventDefault()},ae=(e,t)=>!(e>100||e<0||t>100||t<0||N()>e||G()>t),[se,oe]=K({type:"mousemove",listener:e=>z(e)}),[le,ie]=K({type:"mouseup",listener:()=>{D(),me()}}),fe=()=>{se(),le()},me=()=>{oe(),ie()},[Re,be]=K({type:"touchmove",listener:e=>z(e)}),[de,Ee]=K({type:"touchend",listener:()=>{D(),F()}}),he=()=>{Re(),de()},F=()=>{be(),Ee()},ge=()=>{O.current=!1,l.current=null,v.current=null,m.current=null,R.current=null,E.current=null,h.current=null,p.current=null,g.current=null},Y=()=>u.stateKey!=null,I=r.useCallback(()=>{switch(u.stateStorage){case"local":return window.localStorage;case"session":return window.sessionStorage;default:throw new Error(u.stateStorage+' is not a valid value for the state storage, supported values are "local" and "session".')}},[u.stateStorage]),pe=()=>{ze(M)&&I().setItem(u.stateKey,JSON.stringify(M))},B=r.useCallback(()=>{let e=I().getItem(u.stateKey);e&&X(JSON.parse(e))},[I,u.stateKey]);r.useEffect(()=>{Y()&&B()},[B]);let ve=()=>{let e=c!=null&&c.children?Array.isArray(c==null?void 0:c.children)?c==null?void 0:c.children:[c==null?void 0:c.children]:[],t=[];e.forEach(n=>{C(n)&&n.type&&n.type.displayName==="PrimeReact.SplitterPanel"&&t.push(n)}),_(t)};r.useEffect(()=>{ve()},[c==null?void 0:c.children]),r.useEffect(()=>{if(!f.length)return;let e=[];f.forEach((t,n)=>{var s,b;let a=(C(t)&&De((s=t.props)==null?void 0:s.size)?(b=t.props)==null?void 0:b.size:null)||100/f.length;e[n]=a}),U(Number.parseFloat(Number(e[0]).toFixed(4))),X(e)},[f]);let N=()=>{var t;let e=g.current;if(e!==null&&typeof e=="number"&&f[e]){let n=f[e];if(C(n)&&((t=n.props)==null?void 0:t.minSize)!==void 0)return n.props.minSize}return 0},G=()=>{var t;let e=g.current;if(e!==null&&typeof e=="number"){let n=e+1,o=f[n];if(C(o)&&((t=o.props)==null?void 0:t.minSize)!==void 0)return o.props.minSize}return 0};return{state:j,registerPanel:q,registerGutter:Q,registerThumb:Z,panelCounter:T,panelSizes:M,prevSize:W,gutterRef:p,gutterRefs:S,onResizeStart:x,onResize:z,onResizeEnd:D,onGutterMouseDown:re,onGutterTouchStart:ne,onGutterTouchMove:ue,onGutterTouchEnd:ce,onGutterKeyUp:ee,onGutterKeyDown:te}}});export{V as defaultProps,He as useSplitter};
2
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/splitter/useSplitter.ts","../../src/splitter/useSplitter.props.ts"],"sourcesContent":["import { withHeadless } from '@primereact/core/headless';\nimport { useEventListener } from '@primereact/hooks/use-event-listener';\nimport { SplitterPanelProps } from '@primereact/types/shared/splitter';\nimport { getHeight, getOuterHeight, getOuterWidth, getWidth, isRTL } from '@primeuix/utils/dom';\nimport { isArray, isNotEmpty } from '@primeuix/utils/object';\nimport * as React from 'react';\nimport { defaultProps } from './useSplitter.props';\n\nconst isValidPanelElement = (panel: React.ReactNode): panel is React.ReactElement<SplitterPanelProps> => {\n return React.isValidElement(panel);\n};\n\nexport const useSplitter = withHeadless({\n name: 'useSplitter',\n defaultProps,\n setup({ props, elementRef, inProps }) {\n const gutterRef = React.useRef<HTMLDivElement | null>(null);\n const gutterRefs = React.useRef<HTMLDivElement[]>([]);\n const size = React.useRef<number | null>(null);\n const dragging = React.useRef(false);\n const startPos = React.useRef<number | null>(null);\n const prevPanelElement = React.useRef<HTMLDivElement | null>(null);\n const nextPanelElement = React.useRef<HTMLDivElement | null>(null);\n const prevPanelSize = React.useRef<number | null>(null);\n const [prevSize, setPrevSize] = React.useState<number | null>(null);\n const nextPanelSize = React.useRef<number | null>(null);\n const prevPanelIndex = React.useRef<number | null>(null);\n const timer = React.useRef<ReturnType<typeof setInterval> | null>(null);\n const [panelSizes, setPanelSizes] = React.useState<number[]>([]);\n const [panels, setPanels] = React.useState<React.ReactNode[]>([]);\n const horizontal = props.orientation === 'horizontal';\n const panelCounter = React.useRef(0);\n const gutterCounter = React.useRef(0);\n const thumbCounter = React.useRef(0);\n\n const state = {\n panels\n };\n\n const registerPanel = React.useCallback(() => {\n const index = panelCounter.current;\n\n panelCounter.current += 1;\n\n return index;\n }, []);\n\n const registerGutter = React.useCallback(() => {\n const index = gutterCounter.current;\n\n gutterCounter.current += 1;\n\n return index;\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 panelCounter.current = 0;\n gutterCounter.current = 0;\n thumbCounter.current = 0;\n\n return () => {\n panelCounter.current = 0;\n gutterCounter.current = 0;\n thumbCounter.current = 0;\n };\n }, []);\n\n const onResizeStart = (event: React.MouseEvent | React.TouchEvent | KeyboardEvent, index: number, isKeyDown = false) => {\n if (!elementRef.current) return;\n\n gutterRef.current = gutterRefs.current[index];\n size.current = horizontal ? getWidth(elementRef.current) : getHeight(elementRef.current);\n\n if (!isKeyDown) {\n dragging.current = true;\n startPos.current = horizontal ? (event as React.MouseEvent).pageX || (event as React.TouchEvent).changedTouches?.[0]?.pageX : (event as React.MouseEvent).pageY || (event as React.TouchEvent).changedTouches?.[0]?.pageY;\n }\n\n if (gutterRef.current) {\n prevPanelElement.current = gutterRef.current.previousElementSibling as HTMLDivElement;\n nextPanelElement.current = gutterRef.current.nextElementSibling as HTMLDivElement;\n\n if (prevPanelElement.current && nextPanelElement.current) {\n if (isKeyDown) {\n prevPanelSize.current = horizontal ? getOuterWidth(prevPanelElement.current, true) : getOuterHeight(prevPanelElement.current, true);\n nextPanelSize.current = horizontal ? getOuterWidth(nextPanelElement.current, true) : getOuterHeight(nextPanelElement.current, true);\n } else {\n prevPanelSize.current = (100 * (horizontal ? getOuterWidth(prevPanelElement.current, true) : getOuterHeight(prevPanelElement.current, true))) / (size.current || 1);\n nextPanelSize.current = (100 * (horizontal ? getOuterWidth(nextPanelElement.current, true) : getOuterHeight(nextPanelElement.current, true))) / (size.current || 1);\n }\n\n prevPanelIndex.current = index;\n gutterRefs.current[index].setAttribute('data-p-gutter-resizing', 'true');\n elementRef.current.setAttribute('data-p-resizing', 'true');\n }\n }\n };\n\n const onResize = (event: React.MouseEvent | React.TouchEvent | KeyboardEvent, step = 5, isKeyDown = false) => {\n if (!prevPanelElement.current || !nextPanelElement.current || size.current === null || prevPanelSize.current === null || nextPanelSize.current === null) {\n return;\n }\n\n let newPos: number, newPrevPanelSize: number, newNextPanelSize: number;\n\n if (isKeyDown) {\n if (horizontal) {\n newPrevPanelSize = (100 * (prevPanelSize.current + step)) / size.current;\n newNextPanelSize = (100 * (nextPanelSize.current - step)) / size.current;\n } else {\n newPrevPanelSize = (100 * (prevPanelSize.current - step)) / size.current;\n newNextPanelSize = (100 * (nextPanelSize.current + step)) / size.current;\n }\n } else {\n if (startPos.current === null) {\n return;\n }\n\n if (horizontal) {\n if (isRTL(elementRef.current as HTMLElement)) {\n newPos = ((startPos.current - (event as React.MouseEvent).pageX) * 100) / size.current;\n } else {\n newPos = (((event as React.MouseEvent).pageX - startPos.current) * 100) / size.current;\n }\n } else {\n newPos = (((event as React.MouseEvent).pageY - startPos.current) * 100) / size.current;\n }\n\n newPrevPanelSize = prevPanelSize.current + newPos;\n newNextPanelSize = nextPanelSize.current - newPos;\n }\n\n if (!validateResize(newPrevPanelSize, newNextPanelSize)) {\n newPrevPanelSize = Math.min(Math.max(prevPanelMinSize(), newPrevPanelSize), 100 - nextPanelMinSize());\n newNextPanelSize = Math.min(Math.max(nextPanelMinSize(), newNextPanelSize), 100 - prevPanelMinSize());\n }\n\n prevPanelElement.current.style.flexBasis = 'calc(' + newPrevPanelSize + '% - ' + (panels.length - 1) * (props.gutterSize ?? 4) + 'px)';\n nextPanelElement.current.style.flexBasis = 'calc(' + newNextPanelSize + '% - ' + (panels.length - 1) * (props.gutterSize ?? 4) + 'px)';\n\n if (prevPanelIndex.current !== null) {\n panelSizes[prevPanelIndex.current] = newPrevPanelSize;\n panelSizes[prevPanelIndex.current + 1] = newNextPanelSize;\n }\n\n setPrevSize(Number(newPrevPanelSize.toFixed(4)));\n };\n\n const onResizeEnd = () => {\n if (isStateful()) {\n saveState();\n }\n\n if (gutterRefs.current) {\n gutterRefs.current.forEach((gutter) => {\n gutter.setAttribute('data-p-gutter-resizing', 'false');\n });\n }\n\n if (elementRef.current) {\n elementRef.current.setAttribute('data-p-resizing', 'false');\n }\n\n clear();\n };\n\n const repeat = (event: React.MouseEvent | React.TouchEvent | KeyboardEvent, index: number, step: number) => {\n onResizeStart(event, index, true);\n onResize(event, step, true);\n };\n\n const setTimer = (event: React.MouseEvent | React.TouchEvent | KeyboardEvent, index: number, step: number) => {\n if (!timer.current) {\n timer.current = setInterval(() => {\n repeat(event, index, step);\n }, 40);\n }\n };\n\n const clearTimer = () => {\n if (timer.current) {\n clearInterval(timer.current);\n timer.current = null;\n }\n };\n\n const onGutterKeyUp = () => {\n clearTimer();\n onResizeEnd();\n };\n\n const onGutterKeyDown = (event: React.KeyboardEvent, index: number) => {\n switch (event.code) {\n case 'ArrowLeft': {\n if (horizontal) {\n setTimer(event as unknown as KeyboardEvent, index, (props.step as number) * -1);\n }\n\n event.preventDefault();\n break;\n }\n\n case 'ArrowRight': {\n if (horizontal) {\n setTimer(event as unknown as KeyboardEvent, index, props.step as number);\n }\n\n event.preventDefault();\n break;\n }\n\n case 'ArrowDown': {\n if (!horizontal) {\n setTimer(event as unknown as KeyboardEvent, index, (props.step as number) * -1);\n }\n\n event.preventDefault();\n break;\n }\n\n case 'ArrowUp': {\n if (!horizontal) {\n setTimer(event as unknown as KeyboardEvent, index, props.step as number);\n }\n\n event.preventDefault();\n break;\n }\n\n default:\n //no op\n break;\n }\n };\n\n const onGutterMouseDown = (event: React.MouseEvent, index: number) => {\n onResizeStart(event, index);\n bindMouseListeners();\n };\n\n const onGutterTouchStart = (event: React.TouchEvent, index: number) => {\n onResizeStart(event, index);\n bindTouchListeners();\n event.preventDefault();\n };\n\n const onGutterTouchMove = (event: React.TouchEvent) => {\n onResize(event);\n event.preventDefault();\n };\n\n const onGutterTouchEnd = (event: React.TouchEvent) => {\n onResizeEnd();\n unbindTouchListeners();\n event.preventDefault();\n };\n\n const validateResize = (newPrevPanelSize: number, newNextPanelSize: number) => {\n if (newPrevPanelSize > 100 || newPrevPanelSize < 0) return false;\n\n if (newNextPanelSize > 100 || newNextPanelSize < 0) return false;\n\n if (prevPanelMinSize() > newPrevPanelSize) {\n return false;\n }\n\n if (nextPanelMinSize() > newNextPanelSize) {\n return false;\n }\n\n return true;\n };\n\n const [bindDocumentMouseMoveListener, unbindDocumentMouseMoveListener] = useEventListener({\n type: 'mousemove',\n listener: (event: Event) => onResize(event as unknown as React.MouseEvent)\n });\n const [bindDocumentMouseUpListener, unbindDocumentMouseUpListener] = useEventListener({\n type: 'mouseup',\n listener: () => {\n onResizeEnd();\n unbindMouseListeners();\n }\n });\n\n const bindMouseListeners = () => {\n bindDocumentMouseMoveListener();\n bindDocumentMouseUpListener();\n };\n\n const unbindMouseListeners = () => {\n unbindDocumentMouseMoveListener();\n unbindDocumentMouseUpListener();\n };\n\n const [bindDocumentTouchMoveListener, unbindDocumentTouchMoveListener] = useEventListener({\n type: 'touchmove',\n listener: (event: Event) => onResize(event as unknown as React.TouchEvent)\n });\n\n const [bindDocumentTouchEndListener, unbindDocumentTouchEndListener] = useEventListener({\n type: 'touchend',\n listener: () => {\n onResizeEnd();\n unbindTouchListeners();\n }\n });\n\n const bindTouchListeners = () => {\n bindDocumentTouchMoveListener();\n bindDocumentTouchEndListener();\n };\n\n const unbindTouchListeners = () => {\n unbindDocumentTouchMoveListener();\n unbindDocumentTouchEndListener();\n };\n\n const clear = () => {\n dragging.current = false;\n size.current = null;\n startPos.current = null;\n prevPanelElement.current = null;\n nextPanelElement.current = null;\n prevPanelSize.current = null;\n nextPanelSize.current = null;\n gutterRef.current = null;\n prevPanelIndex.current = null;\n };\n\n const isStateful = () => {\n return props.stateKey != null;\n };\n\n const getStorage = React.useCallback(() => {\n switch (props.stateStorage) {\n case 'local':\n return window.localStorage;\n\n case 'session':\n return window.sessionStorage;\n\n default:\n throw new Error(props.stateStorage + ' is not a valid value for the state storage, supported values are \"local\" and \"session\".');\n }\n }, [props.stateStorage]);\n\n const saveState = () => {\n if (isArray(panelSizes)) {\n getStorage().setItem(props.stateKey as string, JSON.stringify(panelSizes));\n }\n };\n\n const restoreState = React.useCallback(() => {\n const stateString = getStorage().getItem(props.stateKey as string);\n\n if (stateString) {\n setPanelSizes(JSON.parse(stateString));\n }\n }, [getStorage, props.stateKey]);\n\n React.useEffect(() => {\n if (isStateful()) {\n restoreState();\n }\n }, [restoreState]);\n\n const findPanels = () => {\n const childrenArray = inProps?.children ? (Array.isArray(inProps?.children) ? inProps?.children : [inProps?.children]) : [];\n const panelsArray: React.ReactElement[] = [];\n\n childrenArray.forEach((child) => {\n if (isValidPanelElement(child) && child.type && (child.type as React.ComponentType).displayName === 'PrimeReact.SplitterPanel') {\n panelsArray.push(child);\n }\n });\n\n setPanels(panelsArray);\n };\n\n React.useEffect(() => {\n findPanels();\n }, [inProps?.children]);\n\n React.useEffect(() => {\n if (!panels.length) return;\n\n const _panelSizes: number[] = [];\n\n panels.forEach((panel, i) => {\n const panelInitialSize = isValidPanelElement(panel) && isNotEmpty(panel.props?.size) ? panel.props?.size : null;\n const panelSize = panelInitialSize || 100 / panels.length;\n\n _panelSizes[i] = panelSize;\n });\n\n setPrevSize(Number.parseFloat(Number(_panelSizes[0]).toFixed(4)));\n setPanelSizes(_panelSizes);\n }, [panels]);\n\n const prevPanelMinSize = () => {\n const index = prevPanelIndex.current;\n\n if (index !== null && typeof index === 'number' && panels[index]) {\n const panel = panels[index];\n\n if (isValidPanelElement(panel) && panel.props?.minSize !== undefined) {\n return panel.props.minSize;\n }\n }\n\n return 0;\n };\n\n const nextPanelMinSize = () => {\n const index = prevPanelIndex.current;\n\n if (index !== null && typeof index === 'number') {\n const nextIndex = index + 1;\n const panel = panels[nextIndex];\n\n if (isValidPanelElement(panel) && panel.props?.minSize !== undefined) {\n return panel.props.minSize;\n }\n }\n\n return 0;\n };\n\n return {\n state,\n registerPanel,\n registerGutter,\n registerThumb,\n panelCounter,\n panelSizes,\n prevSize,\n // refs\n gutterRef,\n gutterRefs,\n // methods\n onResizeStart,\n onResize,\n onResizeEnd,\n onGutterMouseDown,\n onGutterTouchStart,\n onGutterTouchMove,\n onGutterTouchEnd,\n onGutterKeyUp,\n onGutterKeyDown\n };\n }\n});\n","import type { useSplitterProps } from '@primereact/types/shared/splitter';\n\nexport const defaultProps: useSplitterProps = {\n orientation: 'horizontal',\n gutterSize: 4,\n stateKey: undefined,\n stateStorage: 'session',\n step: 5\n};\n"],"mappings":"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","names":["withHeadless","useEventListener","getHeight","getOuterHeight","getOuterWidth","getWidth","isRTL","isArray","isNotEmpty","React","defaultProps","isValidPanelElement","panel","useSplitter","withHeadless","defaultProps","props","elementRef","inProps","gutterRef","gutterRefs","size","dragging","startPos","prevPanelElement","nextPanelElement","prevPanelSize","prevSize","setPrevSize","nextPanelSize","prevPanelIndex","timer","panelSizes","setPanelSizes","panels","setPanels","horizontal","panelCounter","gutterCounter","thumbCounter","state","registerPanel","index","registerGutter","registerThumb","onResizeStart","event","isKeyDown","_a","_b","_c","_d","getWidth","getHeight","getOuterWidth","getOuterHeight","onResize","step","newPos","newPrevPanelSize","newNextPanelSize","isRTL","validateResize","prevPanelMinSize","nextPanelMinSize","onResizeEnd","isStateful","saveState","gutter","clear","repeat","setTimer","clearTimer","onGutterKeyUp","onGutterKeyDown","onGutterMouseDown","bindMouseListeners","onGutterTouchStart","bindTouchListeners","onGutterTouchMove","onGutterTouchEnd","unbindTouchListeners","bindDocumentMouseMoveListener","unbindDocumentMouseMoveListener","useEventListener","bindDocumentMouseUpListener","unbindDocumentMouseUpListener","unbindMouseListeners","bindDocumentTouchMoveListener","unbindDocumentTouchMoveListener","bindDocumentTouchEndListener","unbindDocumentTouchEndListener","getStorage","isArray","restoreState","stateString","findPanels","childrenArray","panelsArray","child","_panelSizes","i","panelSize","isNotEmpty","nextIndex"]}
@@ -0,0 +1,23 @@
1
+ import * as React from 'react';
2
+ export declare const useSplitter: (inProps?: unknown) => import("@primereact/types/core").HeadlessInstance<import("@primereact/types/shared/splitter").useSplitterProps, unknown, {
3
+ state: {
4
+ panels: React.ReactNode[];
5
+ };
6
+ registerPanel: () => number;
7
+ registerGutter: () => number;
8
+ registerThumb: () => number;
9
+ panelCounter: React.RefObject<number>;
10
+ panelSizes: number[];
11
+ prevSize: number | null;
12
+ gutterRef: React.RefObject<HTMLDivElement | null>;
13
+ gutterRefs: React.RefObject<HTMLDivElement[]>;
14
+ onResizeStart: (event: React.MouseEvent | React.TouchEvent | KeyboardEvent, index: number, isKeyDown?: boolean) => void;
15
+ onResize: (event: React.MouseEvent | React.TouchEvent | KeyboardEvent, step?: number, isKeyDown?: boolean) => void;
16
+ onResizeEnd: () => void;
17
+ onGutterMouseDown: (event: React.MouseEvent, index: number) => void;
18
+ onGutterTouchStart: (event: React.TouchEvent, index: number) => void;
19
+ onGutterTouchMove: (event: React.TouchEvent) => void;
20
+ onGutterTouchEnd: (event: React.TouchEvent) => void;
21
+ onGutterKeyUp: () => void;
22
+ onGutterKeyDown: (event: React.KeyboardEvent, index: number) => void;
23
+ }>;
@@ -0,0 +1,2 @@
1
+ import type { useSplitterProps } from '@primereact/types/shared/splitter';
2
+ export declare const defaultProps: useSplitterProps;
File without changes
@@ -0,0 +1,2 @@
1
+ export * from './useStepper';
2
+ export * from './useStepper.props';
@@ -0,0 +1,2 @@
1
+ import{withHeadless as o}from"@primereact/core/headless";import*as l from"react";var a={defaultValue:null,value:null,linear:!1,onValueChange:void 0};var P=o({name:"useStepper",defaultProps:a,setup({props:t}){var s,n;let[r,i]=l.useState((n=(s=t.value)!=null?s:t.defaultValue)!=null?n:null);return{state:{value:r},setActiveStep:e=>{var u;e!==r&&(i(e),(u=t.onValueChange)==null||u.call(t,{value:e}))},isStepActive:e=>r===e,isStepDisabled:()=>{var e;return(e=t.linear)!=null?e:!1}}}});export{a as defaultProps,P as useStepper};
2
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/stepper/useStepper.ts","../../src/stepper/useStepper.props.ts"],"sourcesContent":["import { withHeadless } from '@primereact/core/headless';\nimport { useStepperProps } from '@primereact/types/shared/stepper';\nimport * as React from 'react';\nimport { defaultProps } from './useStepper.props';\n\nexport const useStepper = withHeadless({\n name: 'useStepper',\n defaultProps,\n setup({ props }) {\n const [activeValue, setActiveValue] = React.useState<useStepperProps['value']>(props.value ?? props.defaultValue ?? null);\n\n const state = {\n value: activeValue\n };\n\n const setActiveStep = (value: null | undefined | string | number) => {\n if (value !== activeValue) {\n setActiveValue(value);\n\n props.onValueChange?.({\n value\n });\n }\n };\n\n const isStepActive = (value: null | undefined | string | number): boolean => {\n return activeValue === value;\n };\n\n const isStepDisabled = () => {\n return props.linear ?? false;\n };\n\n return {\n state,\n //methods\n setActiveStep,\n isStepActive,\n isStepDisabled\n };\n }\n});\n","import type { useStepperProps } from '@primereact/types/shared/stepper';\n\nexport const defaultProps: useStepperProps = {\n defaultValue: null,\n value: null,\n linear: false,\n onValueChange: undefined\n};\n"],"mappings":"AAAA,OAAS,gBAAAA,MAAoB,4BAE7B,UAAYC,MAAW,QCAhB,IAAMC,EAAgC,CACzC,aAAc,KACd,MAAO,KACP,OAAQ,GACR,cAAe,MACnB,EDFO,IAAMC,EAAaC,EAAa,CACnC,KAAM,aACN,aAAAC,EACA,MAAM,CAAE,MAAAC,CAAM,EAAG,CARrB,IAAAC,EAAAC,EASQ,GAAM,CAACC,EAAaC,CAAc,EAAU,YAAmCF,GAAAD,EAAAD,EAAM,QAAN,KAAAC,EAAeD,EAAM,eAArB,KAAAE,EAAqC,IAAI,EAwBxH,MAAO,CACH,MAvBU,CACV,MAAOC,CACX,EAuBI,cArBmBE,GAA8C,CAf7E,IAAAJ,EAgBgBI,IAAUF,IACVC,EAAeC,CAAK,GAEpBJ,EAAAD,EAAM,gBAAN,MAAAC,EAAA,KAAAD,EAAsB,CAClB,MAAAK,CACJ,GAER,EAcI,aAZkBA,GACXF,IAAgBE,EAYvB,eATmB,IAAM,CA7BrC,IAAAJ,EA8BY,OAAOA,EAAAD,EAAM,SAAN,KAAAC,EAAgB,EAC3B,CAQA,CACJ,CACJ,CAAC","names":["withHeadless","React","defaultProps","useStepper","withHeadless","defaultProps","props","_a","_b","activeValue","setActiveValue","value"]}
@@ -0,0 +1,9 @@
1
+ import { useStepperProps } from '@primereact/types/shared/stepper';
2
+ export declare const useStepper: (inProps?: unknown) => import("@primereact/types/core").HeadlessInstance<useStepperProps, unknown, {
3
+ state: {
4
+ value: string | number | null | undefined;
5
+ };
6
+ setActiveStep: (value: null | undefined | string | number) => void;
7
+ isStepActive: (value: null | undefined | string | number) => boolean;
8
+ isStepDisabled: () => boolean;
9
+ }>;
@@ -0,0 +1,2 @@
1
+ import type { useStepperProps } from '@primereact/types/shared/stepper';
2
+ export declare const defaultProps: useStepperProps;
File without changes
@@ -0,0 +1,2 @@
1
+ export * from './useStyleClass';
2
+ export * from './useStyleClass.props';
@@ -0,0 +1,2 @@
1
+ import{withHeadless as M}from"@primereact/core/headless";import{useEventListener as m}from"@primereact/hooks/use-event-listener";import{useMountEffect as O}from"@primereact/hooks/use-mount-effect";import{useUnmountEffect as P}from"@primereact/hooks/use-unmount-effect";import{useUpdateEffect as R}from"@primereact/hooks/use-update-effect";import{addClass as l,getTargetElement as S,hasClass as w,isVisible as b,removeClass as i,setAttribute as D,toElement as U}from"@primeuix/utils";import*as r from"react";var L={nodeRef:void 0,selector:void 0,enterFromClassName:void 0,enterActiveClassName:void 0,enterToClassName:void 0,leaveFromClassName:void 0,leaveActiveClassName:void 0,leaveToClassName:void 0,hiddenClassName:void 0,hideOnOutsideClick:!1,toggleClassName:void 0};var K=M({name:"useStyleClass",defaultProps:L,setup({props:e,elementRef:n}){let c=r.useRef(!1),t=r.useRef(null),[o,k]=m({type:"animationend",listener(){var a,s;i(t.current,(a=e.enterActiveClassName)!=null?a:""),e.enterToClassName&&l(t.current,e.enterToClassName),k(),t.current&&((s=e.enterActiveClassName)!=null&&s.includes("slidedown"))&&(t.current.style.maxHeight=""),c.current=!1}}),[C,A]=m({type:"animationend",listener(){var a;i(t.current,(a=e.leaveActiveClassName)!=null?a:""),e.leaveToClassName&&l(t.current,e.leaveToClassName),A(),c.current=!1}}),[f,u]=m({type:"click",listener(a){!b(t.current)||getComputedStyle(t.current).getPropertyValue("position")==="static"?u():x(a)&&d()},when:e.hideOnOutsideClick}),[N,g]=m({type:"click",listener(){t.current=F(),e.toggleClassName?w(t.current,e.toggleClassName)?i(t.current,e.toggleClassName):l(t.current,e.toggleClassName):b(t.current)?d():v()}}),v=r.useCallback(()=>{var a,s;t.current&&(e.enterActiveClassName?c.current||(c.current=!0,e.enterActiveClassName.includes("slidedown")&&(t.current.style.height="0px",i(t.current,(a=e.hiddenClassName||e.enterFromClassName)!=null?a:""),t.current.style.maxHeight=t.current.scrollHeight+"px",l(t.current,e.hiddenClassName||e.enterActiveClassName),t.current.style.height=""),l(t.current,e.enterActiveClassName),e.enterFromClassName&&i(t.current,e.enterFromClassName),o({target:t.current})):(e.enterFromClassName&&i(t.current,e.enterFromClassName),e.enterToClassName&&l(t.current,e.enterToClassName)),f({target:(s=n.current)==null?void 0:s.ownerDocument}))},[f,o,n,e]),d=r.useCallback(()=>{e.leaveActiveClassName?c.current||(c.current=!0,l(t.current,e.leaveActiveClassName),e.leaveFromClassName&&i(t.current,e.leaveFromClassName),C({target:t.current})):(e.leaveFromClassName&&i(t.current,e.leaveFromClassName),e.leaveToClassName&&l(t.current,e.leaveToClassName)),e.hideOnOutsideClick&&u()},[C,e,u]),F=r.useCallback(()=>t.current||S(e.selector,n.current),[n,e.selector]),E=r.useCallback(()=>{Promise.resolve().then(()=>{var a;(a=e.nodeRef)!=null&&a.current&&(n.current=U(e.nodeRef)),D(n.current,"data-pd-styleclass",!0),N({target:n.current})})},[N,n,e.nodeRef]),H=r.useCallback(()=>{g(),u(),t.current=null},[]),x=a=>{var T,y,h;let s=a==null?void 0:a.target;return!((T=n.current)!=null&&T.isSameNode(s))&&!((y=n.current)!=null&&y.contains(s))&&!((h=t.current)!=null&&h.contains(s))};return O(()=>{E()}),R(()=>(E(),()=>{g()})),P(()=>{H()}),{targetRef:t,enter:v,leave:d}}});export{L as defaultProps,K as useStyleClass};
2
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/styleclass/useStyleClass.ts","../../src/styleclass/useStyleClass.props.ts"],"sourcesContent":["import { withHeadless } from '@primereact/core/headless';\nimport { useEventListener } from '@primereact/hooks/use-event-listener';\nimport { useMountEffect } from '@primereact/hooks/use-mount-effect';\nimport { useUnmountEffect } from '@primereact/hooks/use-unmount-effect';\nimport { useUpdateEffect } from '@primereact/hooks/use-update-effect';\nimport { addClass, getTargetElement, hasClass, isVisible, removeClass, setAttribute, toElement } from '@primeuix/utils';\nimport * as React from 'react';\nimport { defaultProps } from './useStyleClass.props';\n\nexport const useStyleClass = withHeadless({\n name: 'useStyleClass',\n defaultProps,\n setup({ props, elementRef }) {\n const animating = React.useRef(false);\n\n // element refs\n const targetRef = React.useRef<HTMLElement | null>(null);\n\n // events\n const [bindTargetEnterListener, unbindTargetEnterListener] = useEventListener({\n type: 'animationend',\n listener() {\n removeClass(targetRef.current as Element, props.enterActiveClassName ?? '');\n\n if (props.enterToClassName) {\n addClass(targetRef.current as Element, props.enterToClassName);\n }\n\n unbindTargetEnterListener();\n\n if (targetRef.current && props.enterActiveClassName?.includes('slidedown')) {\n targetRef.current.style.maxHeight = '';\n }\n\n animating.current = false;\n }\n });\n\n const [bindTargetLeaveListener, unbindTargetLeaveListener] = useEventListener({\n type: 'animationend',\n listener() {\n removeClass(targetRef.current as Element, props.leaveActiveClassName ?? '');\n\n if (props.leaveToClassName) {\n addClass(targetRef.current as Element, props.leaveToClassName);\n }\n\n unbindTargetLeaveListener();\n animating.current = false;\n }\n });\n\n const [bindDocumentClickListener, unbindDocumentClickListener] = useEventListener({\n type: 'click',\n listener(event) {\n if (!isVisible(targetRef.current as HTMLElement) || getComputedStyle(targetRef.current as Element).getPropertyValue('position') === 'static') {\n unbindDocumentClickListener();\n } else if (isOutsideClick(event as MouseEvent)) {\n leave();\n }\n },\n when: props.hideOnOutsideClick\n });\n\n const [bindClickListener, unbindClickListener] = useEventListener({\n type: 'click',\n listener() {\n targetRef.current = resolveTarget() as HTMLElement;\n\n if (props.toggleClassName) {\n if (hasClass(targetRef.current, props.toggleClassName)) {\n removeClass(targetRef.current, props.toggleClassName);\n } else {\n addClass(targetRef.current, props.toggleClassName);\n }\n } else {\n if (isVisible(targetRef.current)) {\n leave();\n } else {\n enter();\n }\n }\n }\n });\n\n // methods\n const enter = React.useCallback(() => {\n if (!targetRef.current) return;\n\n if (props.enterActiveClassName) {\n if (!animating.current) {\n animating.current = true;\n\n if (props.enterActiveClassName.includes('slidedown')) {\n targetRef.current.style.height = '0px';\n removeClass(targetRef.current, (props.hiddenClassName || props.enterFromClassName) ?? '');\n targetRef.current.style.maxHeight = targetRef.current.scrollHeight + 'px';\n addClass(targetRef.current, props.hiddenClassName || props.enterActiveClassName);\n targetRef.current.style.height = '';\n }\n\n addClass(targetRef.current, props.enterActiveClassName);\n\n if (props.enterFromClassName) {\n removeClass(targetRef.current, props.enterFromClassName);\n }\n\n bindTargetEnterListener({ target: targetRef.current });\n }\n } else {\n if (props.enterFromClassName) {\n removeClass(targetRef.current, props.enterFromClassName);\n }\n\n if (props.enterToClassName) {\n addClass(targetRef.current, props.enterToClassName);\n }\n }\n\n bindDocumentClickListener({ target: elementRef.current?.ownerDocument });\n }, [bindDocumentClickListener, bindTargetEnterListener, elementRef, props]);\n\n const leave = React.useCallback(() => {\n if (props.leaveActiveClassName) {\n if (!animating.current) {\n animating.current = true;\n addClass(targetRef.current as Element, props.leaveActiveClassName);\n\n if (props.leaveFromClassName) {\n removeClass(targetRef.current as Element, props.leaveFromClassName);\n }\n\n bindTargetLeaveListener({ target: targetRef.current });\n }\n } else {\n if (props.leaveFromClassName) {\n removeClass(targetRef.current as Element, props.leaveFromClassName);\n }\n\n if (props.leaveToClassName) {\n addClass(targetRef.current as Element, props.leaveToClassName);\n }\n }\n\n if (props.hideOnOutsideClick) {\n unbindDocumentClickListener();\n }\n }, [bindTargetLeaveListener, props, unbindDocumentClickListener]);\n\n const resolveTarget = React.useCallback(() => {\n return targetRef.current || getTargetElement(props.selector, elementRef.current as Element);\n }, [elementRef, props.selector]);\n\n const init = React.useCallback(() => {\n Promise.resolve().then(() => {\n if (props.nodeRef?.current) {\n elementRef.current = toElement(props.nodeRef) as HTMLElement;\n }\n\n setAttribute(elementRef.current as HTMLElement, 'data-pd-styleclass', true);\n bindClickListener({ target: elementRef.current });\n });\n }, [bindClickListener, elementRef, props.nodeRef]);\n\n const destroy = React.useCallback(() => {\n unbindClickListener();\n unbindDocumentClickListener();\n targetRef.current = null;\n }, []);\n\n const isOutsideClick = (event: MouseEvent) => {\n const target = event?.target as Node;\n\n return !elementRef.current?.isSameNode(target) && !elementRef.current?.contains(target) && !targetRef.current?.contains(target);\n };\n\n // effects\n useMountEffect(() => {\n init();\n });\n\n useUpdateEffect(() => {\n init();\n\n return () => {\n unbindClickListener();\n };\n });\n\n useUnmountEffect(() => {\n destroy();\n });\n\n return {\n // element refs\n targetRef,\n // methods\n enter,\n leave\n };\n }\n});\n","import type { useStyleClassProps } from '@primereact/types/shared/styleclass';\n\nexport const defaultProps: useStyleClassProps = {\n nodeRef: undefined,\n selector: undefined,\n enterFromClassName: undefined,\n enterActiveClassName: undefined,\n enterToClassName: undefined,\n leaveFromClassName: undefined,\n leaveActiveClassName: undefined,\n leaveToClassName: undefined,\n hiddenClassName: undefined,\n hideOnOutsideClick: false,\n toggleClassName: undefined\n};\n"],"mappings":"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","names":["withHeadless","useEventListener","useMountEffect","useUnmountEffect","useUpdateEffect","addClass","getTargetElement","hasClass","isVisible","removeClass","setAttribute","toElement","React","defaultProps","useStyleClass","withHeadless","defaultProps","props","elementRef","animating","targetRef","bindTargetEnterListener","unbindTargetEnterListener","useEventListener","_a","_b","removeClass","addClass","bindTargetLeaveListener","unbindTargetLeaveListener","bindDocumentClickListener","unbindDocumentClickListener","event","isVisible","isOutsideClick","leave","bindClickListener","unbindClickListener","resolveTarget","hasClass","enter","getTargetElement","init","toElement","setAttribute","destroy","_c","target","useMountEffect","useUpdateEffect","useUnmountEffect"]}
@@ -0,0 +1,6 @@
1
+ import * as React from 'react';
2
+ export declare const useStyleClass: (inProps?: unknown) => import("@primereact/types/core").HeadlessInstance<import("@primereact/types/shared/styleclass").useStyleClassProps, unknown, {
3
+ targetRef: React.RefObject<HTMLElement | null>;
4
+ enter: () => void;
5
+ leave: () => void;
6
+ }>;
@@ -0,0 +1,2 @@
1
+ import type { useStyleClassProps } from '@primereact/types/shared/styleclass';
2
+ export declare const defaultProps: useStyleClassProps;
File without changes
@@ -0,0 +1,2 @@
1
+ export * from './useSwitch';
2
+ export * from './useSwitch.props';
@@ -0,0 +1,2 @@
1
+ import{withHeadless as s}from"@primereact/core/headless";import{useControlledState as a}from"@primereact/hooks/use-controlled-state";var n={checked:void 0,defaultChecked:void 0,onCheckedChange:void 0};var C=s({name:"useSwitch",defaultProps:n,setup({props:e}){var c;let[t,h]=a({value:e.checked,defaultValue:(c=e.defaultChecked)!=null?c:!1,onChange:e.onCheckedChange});return{state:{checked:t},onChange:r=>{let o=!t;h([o,{originalEvent:r,checked:o}])}}}});export{n as defaultProps,C as useSwitch};
2
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/switch/useSwitch.ts","../../src/switch/useSwitch.props.ts"],"sourcesContent":["import { withHeadless } from '@primereact/core/headless';\nimport { useControlledState } from '@primereact/hooks/use-controlled-state';\nimport type { useSwitchChangeEvent } from '@primereact/types/shared/switch';\nimport { defaultProps } from './useSwitch.props';\n\nexport const useSwitch = withHeadless({\n name: 'useSwitch',\n defaultProps,\n setup({ props }) {\n const [checkedState, setCheckedState] = useControlledState({\n value: props.checked,\n defaultValue: props.defaultChecked ?? false,\n onChange: props.onCheckedChange\n });\n\n const state = {\n checked: checkedState\n };\n\n // methods\n const onChange = (event: useSwitchChangeEvent) => {\n const computedChecked = !checkedState;\n\n setCheckedState([\n computedChecked,\n {\n originalEvent: event,\n checked: computedChecked\n }\n ]);\n };\n\n return {\n state,\n // methods\n onChange\n };\n }\n});\n","import type { useSwitchProps } from '@primereact/types/shared/switch';\n\nexport const defaultProps: useSwitchProps = {\n checked: undefined,\n defaultChecked: undefined,\n onCheckedChange: undefined\n};\n"],"mappings":"AAAA,OAAS,gBAAAA,MAAoB,4BAC7B,OAAS,sBAAAC,MAA0B,yCCC5B,IAAMC,EAA+B,CACxC,QAAS,OACT,eAAgB,OAChB,gBAAiB,MACrB,EDDO,IAAMC,EAAYC,EAAa,CAClC,KAAM,YACN,aAAAC,EACA,MAAM,CAAE,MAAAC,CAAM,EAAG,CARrB,IAAAC,EASQ,GAAM,CAACC,EAAcC,CAAe,EAAIC,EAAmB,CACvD,MAAOJ,EAAM,QACb,cAAcC,EAAAD,EAAM,iBAAN,KAAAC,EAAwB,GACtC,SAAUD,EAAM,eACpB,CAAC,EAmBD,MAAO,CACH,MAlBU,CACV,QAASE,CACb,EAkBI,SAfcG,GAAgC,CAC9C,IAAMC,EAAkB,CAACJ,EAEzBC,EAAgB,CACZG,EACA,CACI,cAAeD,EACf,QAASC,CACb,CACJ,CAAC,CACL,CAMA,CACJ,CACJ,CAAC","names":["withHeadless","useControlledState","defaultProps","useSwitch","withHeadless","defaultProps","props","_a","checkedState","setCheckedState","useControlledState","event","computedChecked"]}
@@ -0,0 +1,7 @@
1
+ import type { useSwitchChangeEvent } from '@primereact/types/shared/switch';
2
+ export declare const useSwitch: (inProps?: unknown) => import("@primereact/types/core").HeadlessInstance<import("@primereact/types/shared/switch").useSwitchProps, unknown, {
3
+ state: {
4
+ checked: boolean | undefined;
5
+ };
6
+ onChange: (event: useSwitchChangeEvent) => void;
7
+ }>;
@@ -0,0 +1,2 @@
1
+ import type { useSwitchProps } from '@primereact/types/shared/switch';
2
+ export declare const defaultProps: useSwitchProps;
File without changes
@@ -0,0 +1,2 @@
1
+ export * from './useTabs';
2
+ export * from './useTabs.props';
package/tabs/index.mjs ADDED
@@ -0,0 +1,2 @@
1
+ import{withHeadless as C}from"@primereact/core/headless";import{findSingle as E,focus as D,getAttribute as q,getOffset as H,getOuterHeight as h,getOuterWidth as V}from"@primeuix/utils";import*as m from"react";var M={value:void 0,onValueChange:void 0,selectOnFocus:!1};var j=C({name:"useTabs",defaultProps:M,setup:({props:s,elementRef:f})=>{var v;let[d,L]=m.useState((v=s.value)!=null?v:void 0),[x,S]=m.useState({}),k={activeTab:d,inkBarDimensions:x},g=t=>{var e;d!==t&&(L(t),(e=s.onValueChange)==null||e.call(s,{value:t}))};m.useEffect(()=>{s.value!==d&&L(s.value)},[s.value]);let P=t=>t==null?!1:d===t,A=()=>{let t=f==null?void 0:f.current;if(!t)return;let e=E(t,'[data-pc-section="tab"][data-p-active="true"]');if(!e)return;let a=t.querySelector('[data-pc-section="content"]');if(!a)return;let b=(a==null?void 0:a.scrollLeft)||0,i=H(e),n=H(t),r=H(a),o=V(e),u=h(e),c=h(a),l=Number(i.left)-Number(r.left),p=Number(i.left)-Number(n.left)+b,w=a.offsetWidth-(l+o),F=Number(i.top)-Number(r.top),y=Number(r.top)+c-(u+Number(i.top));return{"--width":o+"px","--height":u+"px","--top":F+"px","--left":p+"px","--right":w+"px","--bottom":y+"px"}},T=(t,e)=>{let a=r=>E(r,'[data-pc-section="tab"]'),b=(r,o,u=!1)=>{let l=u?r:r[o==="next"?"nextElementSibling":"previousElementSibling"];return l?q(l,"data-p-disabled")?b(l,o):a(l):null},i=r=>{let o=E(f==null?void 0:f.current,'[data-pc-section="tablist"]');if(!o)return null;let u='[data-pc-section="tab"]',c=null;if(r==="first")c=o.querySelector(u);else{let p=o.querySelectorAll(u);c=p.length>0?p[p.length-1]:null}return c?b(c,r==="first"?"next":"previous",!0):null};if(!t)return;let n=null;switch(e){case"next":n=b(t,"next"),n||(n=i("first"));break;case"previous":n=b(t,"previous"),n||(n=i("last"));break;case"first":n=i("first");break;case"last":n=i("last");break}n&&D(n)},B=(t,e)=>{switch(t.code){case"ArrowRight":T(t.currentTarget,"next");break;case"ArrowLeft":T(t.currentTarget,"previous");break;case"Home":T(t.currentTarget,"first");break;case"End":T(t.currentTarget,"last");break;case"Enter":case"NumpadEnter":case"Space":g(e);break;case"Tab":return;default:break}t.preventDefault()},N=(t,e)=>{s.selectOnFocus||g(e)},O=(t,e)=>{s.selectOnFocus&&g(e)};return m.useEffect(()=>{let t=requestAnimationFrame(()=>{let e=A();e&&S(e)});return()=>cancelAnimationFrame(t)},[d]),{state:k,updateValue:g,isItemActive:P,focusTab:T,onTabKeyDown:B,onTabClick:N,onTabFocus:O}}});export{M as defaultProps,j as useTabs};
2
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/tabs/useTabs.ts","../../src/tabs/useTabs.props.ts"],"sourcesContent":["import { withHeadless } from '@primereact/core/headless';\nimport { useTabsProps } from '@primereact/types/shared/tabs';\nimport { findSingle, focus, getAttribute, getOffset, getOuterHeight, getOuterWidth } from '@primeuix/utils';\nimport * as React from 'react';\nimport { defaultProps } from './useTabs.props';\n\nexport const useTabs = withHeadless({\n name: 'useTabs',\n defaultProps,\n setup: ({ props, elementRef }) => {\n const [activeTabState, setActiveTabState] = React.useState<useTabsProps['value']>(props.value ?? undefined);\n const [inkBarDimensionsState, setInkBarDimensionsState] = React.useState<React.CSSProperties>({});\n\n const state = {\n activeTab: activeTabState,\n inkBarDimensions: inkBarDimensionsState\n };\n\n // methods\n const updateValue = (value: string | number | undefined) => {\n if (activeTabState !== value) {\n setActiveTabState(value);\n props.onValueChange?.({\n value\n });\n }\n };\n\n React.useEffect(() => {\n if (props.value !== activeTabState) {\n setActiveTabState(props.value);\n }\n }, [props.value]);\n\n const isItemActive = (key: null | undefined | string | number): boolean => {\n if (key === null || key === undefined) return false;\n\n return activeTabState === key;\n };\n\n const updateInkBar = () => {\n const tabs = elementRef?.current;\n\n if (!tabs) return;\n\n const activeTab = findSingle(tabs, '[data-pc-section=\"tab\"][data-p-active=\"true\"]');\n\n if (!activeTab) return;\n\n // Get elements and their offsets\n const scrollContainer = tabs.querySelector('[data-pc-section=\"content\"]') as HTMLElement;\n\n if (!scrollContainer) return;\n\n const scrollLeft = scrollContainer?.scrollLeft || 0;\n\n const activeTabOffset = getOffset(activeTab as HTMLElement);\n const containerOffset = getOffset(tabs);\n const scrollContainerOffset = getOffset(scrollContainer);\n\n // Get dimensions\n const tabWidth = getOuterWidth(activeTab as HTMLElement);\n const tabHeight = getOuterHeight(activeTab as HTMLElement);\n const scrollContainerHeight = getOuterHeight(scrollContainer);\n\n // Calculate positions\n const leftFromViewport = Number(activeTabOffset.left) - Number(scrollContainerOffset.left);\n const relativeLeft = Number(activeTabOffset.left) - Number(containerOffset.left) + scrollLeft;\n const relativeRight = scrollContainer.offsetWidth - (leftFromViewport + tabWidth);\n const relativeTop = Number(activeTabOffset.top) - Number(scrollContainerOffset.top);\n const relativeBottom = Number(scrollContainerOffset.top) + scrollContainerHeight - (tabHeight + Number(activeTabOffset.top));\n\n return {\n '--width': tabWidth + 'px',\n '--height': tabHeight + 'px',\n '--top': relativeTop + 'px',\n '--left': relativeLeft + 'px',\n '--right': relativeRight + 'px',\n '--bottom': relativeBottom + 'px'\n } as React.CSSProperties;\n };\n\n const focusTab = (tabElement: HTMLElement | null, direction: 'next' | 'previous' | 'first' | 'last'): void => {\n const findTab = (listElement: HTMLElement): HTMLElement | null => {\n return findSingle(listElement, '[data-pc-section=\"tab\"]') as HTMLElement | null;\n };\n\n const findAdjacentTab = (listElement: HTMLElement, direction: 'next' | 'previous', selfCheck = false): HTMLElement | null => {\n const siblingProperty = direction === 'next' ? 'nextElementSibling' : 'previousElementSibling';\n const element = selfCheck ? listElement : (listElement[siblingProperty] as HTMLElement | null);\n\n if (!element) {\n return null;\n }\n\n if (getAttribute(element, 'data-p-disabled')) {\n return findAdjacentTab(element, direction);\n }\n\n return findTab(element);\n };\n\n const findBoundaryTab = (boundary: 'first' | 'last'): HTMLElement | null => {\n const listElement = findSingle(elementRef?.current as HTMLElement, '[data-pc-section=\"tablist\"]') as HTMLElement | null;\n\n if (!listElement) return null;\n\n const tabSelector = '[data-pc-section=\"tab\"]';\n let targetChild: HTMLElement | null = null;\n\n if (boundary === 'first') {\n targetChild = listElement.querySelector(tabSelector) as HTMLElement | null;\n } else {\n const allTabs = listElement.querySelectorAll(tabSelector);\n\n targetChild = allTabs.length > 0 ? (allTabs[allTabs.length - 1] as HTMLElement) : null;\n }\n\n if (!targetChild) return null;\n\n const direction = boundary === 'first' ? 'next' : 'previous';\n\n return findAdjacentTab(targetChild, direction, true);\n };\n\n if (!tabElement) return;\n\n let targetTab: HTMLElement | null = null;\n\n switch (direction) {\n case 'next':\n targetTab = findAdjacentTab(tabElement, 'next');\n\n if (!targetTab) {\n targetTab = findBoundaryTab('first');\n }\n\n break;\n\n case 'previous':\n targetTab = findAdjacentTab(tabElement, 'previous');\n\n if (!targetTab) {\n targetTab = findBoundaryTab('last');\n }\n\n break;\n\n case 'first':\n targetTab = findBoundaryTab('first');\n break;\n\n case 'last':\n targetTab = findBoundaryTab('last');\n break;\n }\n\n if (targetTab) {\n focus(targetTab);\n }\n };\n\n const onTabKeyDown = (event: React.KeyboardEvent<HTMLButtonElement>, value: undefined | string | number) => {\n switch (event.code) {\n case 'ArrowRight':\n focusTab(event.currentTarget, 'next');\n break;\n\n case 'ArrowLeft':\n focusTab(event.currentTarget, 'previous');\n break;\n\n case 'Home':\n focusTab(event.currentTarget, 'first');\n break;\n\n case 'End':\n focusTab(event.currentTarget, 'last');\n break;\n\n case 'Enter':\n case 'NumpadEnter':\n case 'Space':\n updateValue(value);\n break;\n\n case 'Tab':\n return;\n\n default:\n break;\n }\n\n event.preventDefault();\n };\n\n const onTabClick = (event: React.MouseEvent<HTMLButtonElement>, value: undefined | string | number) => {\n if (!props.selectOnFocus) {\n updateValue(value);\n }\n };\n\n const onTabFocus = (event: React.FocusEvent<HTMLButtonElement>, value: undefined | string | number) => {\n if (props.selectOnFocus) {\n updateValue(value);\n }\n };\n\n // effects\n React.useEffect(() => {\n const raf = requestAnimationFrame(() => {\n const dimensions = updateInkBar();\n\n if (dimensions) {\n setInkBarDimensionsState(dimensions);\n }\n });\n\n return () => cancelAnimationFrame(raf);\n }, [activeTabState]);\n\n return {\n state,\n // methods\n updateValue,\n isItemActive,\n focusTab,\n onTabKeyDown,\n onTabClick,\n onTabFocus\n };\n }\n});\n","import type { useTabsProps } from '@primereact/types/shared/tabs';\n\nexport const defaultProps: useTabsProps = {\n value: undefined,\n onValueChange: undefined,\n selectOnFocus: false\n};\n"],"mappings":"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","names":["withHeadless","findSingle","focus","getAttribute","getOffset","getOuterHeight","getOuterWidth","React","defaultProps","useTabs","withHeadless","defaultProps","props","elementRef","_a","activeTabState","setActiveTabState","inkBarDimensionsState","setInkBarDimensionsState","state","updateValue","value","isItemActive","key","updateInkBar","tabs","activeTab","findSingle","scrollContainer","scrollLeft","activeTabOffset","getOffset","containerOffset","scrollContainerOffset","tabWidth","getOuterWidth","tabHeight","getOuterHeight","scrollContainerHeight","leftFromViewport","relativeLeft","relativeRight","relativeTop","relativeBottom","focusTab","tabElement","direction","findTab","listElement","findAdjacentTab","selfCheck","element","getAttribute","findBoundaryTab","boundary","tabSelector","targetChild","allTabs","targetTab","focus","onTabKeyDown","event","onTabClick","onTabFocus","raf","dimensions"]}
@@ -0,0 +1,14 @@
1
+ import { useTabsProps } from '@primereact/types/shared/tabs';
2
+ import * as React from 'react';
3
+ export declare const useTabs: (inProps?: unknown) => import("@primereact/types/core").HeadlessInstance<useTabsProps, unknown, {
4
+ state: {
5
+ activeTab: string | number | undefined;
6
+ inkBarDimensions: React.CSSProperties;
7
+ };
8
+ updateValue: (value: string | number | undefined) => void;
9
+ isItemActive: (key: null | undefined | string | number) => boolean;
10
+ focusTab: (tabElement: HTMLElement | null, direction: "next" | "previous" | "first" | "last") => void;
11
+ onTabKeyDown: (event: React.KeyboardEvent<HTMLButtonElement>, value: undefined | string | number) => void;
12
+ onTabClick: (event: React.MouseEvent<HTMLButtonElement>, value: undefined | string | number) => void;
13
+ onTabFocus: (event: React.FocusEvent<HTMLButtonElement>, value: undefined | string | number) => void;
14
+ }>;
@@ -0,0 +1,2 @@
1
+ import type { useTabsProps } from '@primereact/types/shared/tabs';
2
+ export declare const defaultProps: useTabsProps;
File without changes
package/tag/index.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ export * from './useTag';
2
+ export * from './useTag.props';
package/tag/index.mjs ADDED
@@ -0,0 +1,2 @@
1
+ import{withHeadless as e}from"@primereact/core/headless";var r={};var s=e({name:"useTag",defaultProps:r});export{r as defaultProps,s as useTag};
2
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/tag/useTag.ts","../../src/tag/useTag.props.ts"],"sourcesContent":["import { withHeadless } from '@primereact/core/headless';\nimport { defaultProps } from './useTag.props';\n\nexport const useTag = withHeadless({\n name: 'useTag',\n defaultProps\n});\n","import type { useTagProps } from '@primereact/types/shared/tag';\n\nexport const defaultProps: useTagProps = {};\n"],"mappings":"AAAA,OAAS,gBAAAA,MAAoB,4BCEtB,IAAMC,EAA4B,CAAC,EDCnC,IAAMC,EAASC,EAAa,CAC/B,KAAM,SACN,aAAAC,CACJ,CAAC","names":["withHeadless","defaultProps","useTag","withHeadless","defaultProps"]}
@@ -0,0 +1 @@
1
+ export declare const useTag: (inProps?: unknown) => import("@primereact/types/core").HeadlessInstance<import("@primereact/types/shared/tag").useTagProps, unknown, Record<PropertyKey, unknown>>;
@@ -0,0 +1,2 @@
1
+ import type { useTagProps } from '@primereact/types/shared/tag';
2
+ export declare const defaultProps: useTagProps;
File without changes
@@ -0,0 +1,2 @@
1
+ export * from './useToggleButton';
2
+ export * from './useToggleButton.props';
@@ -0,0 +1,2 @@
1
+ import{withHeadless as a}from"@primereact/core/headless";import{useControlledState as d}from"@primereact/hooks/use-controlled-state";var n={pressed:void 0,defaultPressed:void 0,onPressedChange:void 0};var h=a({name:"useToggleButton",defaultProps:n,setup({props:e}){var o;let[t,r]=d({value:e.pressed,defaultValue:(o=e.defaultPressed)!=null?o:!1,onChange:e.onPressedChange});return{state:{pressed:t},onChange:u=>{let s=!t;r([s,{originalEvent:u,pressed:s}])}}}});export{n as defaultProps,h as useToggleButton};
2
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/togglebutton/useToggleButton.ts","../../src/togglebutton/useToggleButton.props.ts"],"sourcesContent":["import { withHeadless } from '@primereact/core/headless';\nimport { useControlledState } from '@primereact/hooks/use-controlled-state';\nimport type { useToggleButtonChangeEvent } from '@primereact/types/shared/togglebutton';\nimport { defaultProps } from './useToggleButton.props';\n\nexport const useToggleButton = withHeadless({\n name: 'useToggleButton',\n defaultProps,\n setup({ props }) {\n const [pressedState, setPressedState] = useControlledState({\n value: props.pressed,\n defaultValue: props.defaultPressed ?? false,\n onChange: props.onPressedChange\n });\n\n const state = {\n pressed: pressedState\n };\n\n // methods\n const onChange = (event: useToggleButtonChangeEvent) => {\n const computedPressed = !pressedState;\n\n setPressedState([\n computedPressed,\n {\n originalEvent: event,\n pressed: computedPressed\n }\n ]);\n };\n\n return {\n state,\n // methods\n onChange\n };\n }\n});\n","import type { useToggleButtonProps } from '@primereact/types/shared/togglebutton';\n\nexport const defaultProps: useToggleButtonProps = {\n pressed: undefined,\n defaultPressed: undefined,\n onPressedChange: undefined\n};\n"],"mappings":"AAAA,OAAS,gBAAAA,MAAoB,4BAC7B,OAAS,sBAAAC,MAA0B,yCCC5B,IAAMC,EAAqC,CAC9C,QAAS,OACT,eAAgB,OAChB,gBAAiB,MACrB,EDDO,IAAMC,EAAkBC,EAAa,CACxC,KAAM,kBACN,aAAAC,EACA,MAAM,CAAE,MAAAC,CAAM,EAAG,CARrB,IAAAC,EASQ,GAAM,CAACC,EAAcC,CAAe,EAAIC,EAAmB,CACvD,MAAOJ,EAAM,QACb,cAAcC,EAAAD,EAAM,iBAAN,KAAAC,EAAwB,GACtC,SAAUD,EAAM,eACpB,CAAC,EAmBD,MAAO,CACH,MAlBU,CACV,QAASE,CACb,EAkBI,SAfcG,GAAsC,CACpD,IAAMC,EAAkB,CAACJ,EAEzBC,EAAgB,CACZG,EACA,CACI,cAAeD,EACf,QAASC,CACb,CACJ,CAAC,CACL,CAMA,CACJ,CACJ,CAAC","names":["withHeadless","useControlledState","defaultProps","useToggleButton","withHeadless","defaultProps","props","_a","pressedState","setPressedState","useControlledState","event","computedPressed"]}
File without changes
@@ -0,0 +1,7 @@
1
+ import type { useToggleButtonChangeEvent } from '@primereact/types/shared/togglebutton';
2
+ export declare const useToggleButton: (inProps?: unknown) => import("@primereact/types/core").HeadlessInstance<import("@primereact/types/shared/togglebutton").useToggleButtonProps, unknown, {
3
+ state: {
4
+ pressed: boolean | undefined;
5
+ };
6
+ onChange: (event: useToggleButtonChangeEvent) => void;
7
+ }>;
@@ -0,0 +1,2 @@
1
+ import type { useToggleButtonProps } from '@primereact/types/shared/togglebutton';
2
+ export declare const defaultProps: useToggleButtonProps;
@@ -0,0 +1,2 @@
1
+ export * from './useToolbar';
2
+ export * from './useToolbar.props';
@@ -0,0 +1,2 @@
1
+ import{withHeadless as r}from"@primereact/core/headless";var o={};var s=r({name:"useToolbar",defaultProps:o});export{o as defaultProps,s as useToolbar};
2
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/toolbar/useToolbar.ts","../../src/toolbar/useToolbar.props.ts"],"sourcesContent":["import { withHeadless } from '@primereact/core/headless';\nimport { defaultProps } from './useToolbar.props';\n\nexport const useToolbar = withHeadless({\n name: 'useToolbar',\n defaultProps\n});\n","import type { useToolbarProps } from '@primereact/types/shared/toolbar';\n\nexport const defaultProps: useToolbarProps = {};\n"],"mappings":"AAAA,OAAS,gBAAAA,MAAoB,4BCEtB,IAAMC,EAAgC,CAAC,EDCvC,IAAMC,EAAaC,EAAa,CACnC,KAAM,aACN,aAAAC,CACJ,CAAC","names":["withHeadless","defaultProps","useToolbar","withHeadless","defaultProps"]}
@@ -0,0 +1 @@
1
+ export declare const useToolbar: (inProps?: unknown) => import("@primereact/types/core").HeadlessInstance<import("@primereact/types/shared/toolbar").useToolbarProps, unknown, Record<PropertyKey, unknown>>;
@@ -0,0 +1,2 @@
1
+ import type { useToolbarProps } from '@primereact/types/shared/toolbar';
2
+ export declare const defaultProps: useToolbarProps;
File without changes