@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.
- package/LICENSE +21 -0
- package/README.md +1 -0
- package/accordion/index.d.ts +2 -0
- package/accordion/index.mjs +2 -0
- package/accordion/index.mjs.map +1 -0
- package/accordion/useAccordion.d.ts +12 -0
- package/accordion/useAccordion.props.d.ts +2 -0
- package/accordion/useAccordion.test.d.ts +0 -0
- package/avatar/index.d.ts +2 -0
- package/avatar/index.mjs +2 -0
- package/avatar/index.mjs.map +1 -0
- package/avatar/useAvatar.d.ts +7 -0
- package/avatar/useAvatar.props.d.ts +2 -0
- package/avatar/useAvatar.test.d.ts +0 -0
- package/badge/index.d.ts +2 -0
- package/badge/index.mjs +2 -0
- package/badge/index.mjs.map +1 -0
- package/badge/useBadge.d.ts +1 -0
- package/badge/useBadge.props.d.ts +2 -0
- package/badge/useBadge.test.d.ts +0 -0
- package/button/index.d.ts +2 -0
- package/button/index.mjs +2 -0
- package/button/index.mjs.map +1 -0
- package/button/useButton.d.ts +1 -0
- package/button/useButton.props.d.ts +2 -0
- package/button/useButton.test.d.ts +0 -0
- package/card/index.d.ts +2 -0
- package/card/index.mjs +2 -0
- package/card/index.mjs.map +1 -0
- package/card/useCard.d.ts +1 -0
- package/card/useCard.props.d.ts +2 -0
- package/card/useCard.test.d.ts +0 -0
- package/checkbox/index.d.ts +2 -0
- package/checkbox/index.mjs +2 -0
- package/checkbox/index.mjs.map +1 -0
- package/checkbox/useCheckbox.d.ts +8 -0
- package/checkbox/useCheckbox.props.d.ts +2 -0
- package/checkbox/useCheckbox.test.d.ts +0 -0
- package/chip/index.d.ts +2 -0
- package/chip/index.mjs +2 -0
- package/chip/index.mjs.map +1 -0
- package/chip/useChip.d.ts +10 -0
- package/chip/useChip.props.d.ts +2 -0
- package/chip/useChip.test.d.ts +0 -0
- package/divider/index.d.ts +2 -0
- package/divider/index.mjs +2 -0
- package/divider/index.mjs.map +1 -0
- package/divider/useDivider.d.ts +1 -0
- package/divider/useDivider.props.d.ts +2 -0
- package/divider/useDivider.test.d.ts +0 -0
- package/fieldset/index.d.ts +2 -0
- package/fieldset/index.mjs +2 -0
- package/fieldset/index.mjs.map +1 -0
- package/fieldset/useFieldset.d.ts +1 -0
- package/fieldset/useFieldset.props.d.ts +2 -0
- package/fieldset/useFieldset.test.d.ts +0 -0
- package/inplace/index.d.ts +2 -0
- package/inplace/index.mjs +2 -0
- package/inplace/index.mjs.map +1 -0
- package/inplace/useInplace.d.ts +8 -0
- package/inplace/useInplace.props.d.ts +2 -0
- package/inplace/useInplace.test.d.ts +0 -0
- package/inputtext/index.d.ts +2 -0
- package/inputtext/index.mjs +2 -0
- package/inputtext/index.mjs.map +1 -0
- package/inputtext/useInputText.d.ts +1 -0
- package/inputtext/useInputText.props.d.ts +2 -0
- package/inputtext/useInputText.test.d.ts +0 -0
- package/label/index.d.ts +2 -0
- package/label/index.mjs +2 -0
- package/label/index.mjs.map +1 -0
- package/label/useLabel.d.ts +1 -0
- package/label/useLabel.props.d.ts +2 -0
- package/label/useLabel.test.d.ts +0 -0
- package/metergroup/index.d.ts +2 -0
- package/metergroup/index.mjs +2 -0
- package/metergroup/index.mjs.map +1 -0
- package/metergroup/useMeterGroup.d.ts +9 -0
- package/metergroup/useMeterGroup.props.d.ts +2 -0
- package/metergroup/useMeterGroup.test.d.ts +0 -0
- package/package.json +40 -0
- package/panel/index.d.ts +2 -0
- package/panel/index.mjs +2 -0
- package/panel/index.mjs.map +1 -0
- package/panel/usePanel.d.ts +11 -0
- package/panel/usePanel.props.d.ts +2 -0
- package/panel/usePanel.test.d.ts +0 -0
- package/progressbar/index.d.ts +2 -0
- package/progressbar/index.mjs +2 -0
- package/progressbar/index.mjs.map +1 -0
- package/progressbar/useProgressBar.d.ts +6 -0
- package/progressbar/useProgressBar.props.d.ts +2 -0
- package/progressbar/useProgressBar.test.d.ts +0 -0
- package/progressspinner/index.d.ts +2 -0
- package/progressspinner/index.mjs +2 -0
- package/progressspinner/index.mjs.map +1 -0
- package/progressspinner/useProgressSpinner.d.ts +1 -0
- package/progressspinner/useProgressSpinner.props.d.ts +2 -0
- package/progressspinner/useProgressSpinner.test.d.ts +0 -0
- package/radiobutton/index.d.ts +2 -0
- package/radiobutton/index.mjs +2 -0
- package/radiobutton/index.mjs.map +1 -0
- package/radiobutton/useRadioButton.d.ts +7 -0
- package/radiobutton/useRadioButton.props.d.ts +2 -0
- package/radiobutton/useRadioButton.test.d.ts +0 -0
- package/scrollarea/index.d.ts +2 -0
- package/scrollarea/index.mjs +2 -0
- package/scrollarea/index.mjs.map +1 -0
- package/scrollarea/useScrollArea.d.ts +18 -0
- package/scrollarea/useScrollArea.props.d.ts +2 -0
- package/scrollarea/useScrollArea.test.d.ts +0 -0
- package/skeleton/index.d.ts +2 -0
- package/skeleton/index.mjs +2 -0
- package/skeleton/index.mjs.map +1 -0
- package/skeleton/useSkeleton.d.ts +1 -0
- package/skeleton/useSkeleton.props.d.ts +2 -0
- package/skeleton/useSkeleton.test.d.ts +0 -0
- package/splitter/index.d.ts +2 -0
- package/splitter/index.mjs +2 -0
- package/splitter/index.mjs.map +1 -0
- package/splitter/useSplitter.d.ts +23 -0
- package/splitter/useSplitter.props.d.ts +2 -0
- package/splitter/useSplitter.test.d.ts +0 -0
- package/stepper/index.d.ts +2 -0
- package/stepper/index.mjs +2 -0
- package/stepper/index.mjs.map +1 -0
- package/stepper/useStepper.d.ts +9 -0
- package/stepper/useStepper.props.d.ts +2 -0
- package/stepper/useStepper.test.d.ts +0 -0
- package/styleclass/index.d.ts +2 -0
- package/styleclass/index.mjs +2 -0
- package/styleclass/index.mjs.map +1 -0
- package/styleclass/useStyleClass.d.ts +6 -0
- package/styleclass/useStyleClass.props.d.ts +2 -0
- package/styleclass/useStyleClass.test.d.ts +0 -0
- package/switch/index.d.ts +2 -0
- package/switch/index.mjs +2 -0
- package/switch/index.mjs.map +1 -0
- package/switch/useSwitch.d.ts +7 -0
- package/switch/useSwitch.props.d.ts +2 -0
- package/switch/useSwitch.test.d.ts +0 -0
- package/tabs/index.d.ts +2 -0
- package/tabs/index.mjs +2 -0
- package/tabs/index.mjs.map +1 -0
- package/tabs/useTabs.d.ts +14 -0
- package/tabs/useTabs.props.d.ts +2 -0
- package/tabs/useTabs.test.d.ts +0 -0
- package/tag/index.d.ts +2 -0
- package/tag/index.mjs +2 -0
- package/tag/index.mjs.map +1 -0
- package/tag/useTag.d.ts +1 -0
- package/tag/useTag.props.d.ts +2 -0
- package/tag/useTag.test.d.ts +0 -0
- package/togglebutton/index.d.ts +2 -0
- package/togglebutton/index.mjs +2 -0
- package/togglebutton/index.mjs.map +1 -0
- package/togglebutton/useToggle.test.d.ts +0 -0
- package/togglebutton/useToggleButton.d.ts +7 -0
- package/togglebutton/useToggleButton.props.d.ts +2 -0
- package/toolbar/index.d.ts +2 -0
- package/toolbar/index.mjs +2 -0
- package/toolbar/index.mjs.map +1 -0
- package/toolbar/useToolbar.d.ts +1 -0
- package/toolbar/useToolbar.props.d.ts +2 -0
- package/toolbar/useToolbar.test.d.ts +0 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 PrimeTek
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
# PrimeReact Headless
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{withHeadless as P}from"@primereact/core/headless";import{findSingle as x,focus as h,getAttribute as V}from"@primeuix/utils/dom";import*as T from"react";var H={defaultValue:null,value:null,multiple:!1,onValueChange:void 0,selectOnFocus:!1};var k=P({name:"useAccordion",defaultProps:H,setup({props:a,elementRef:p}){var g,v;let[i,A]=T.useState((v=(g=a.value)!=null?g:a.defaultValue)!=null?v:null),M={value:i},o=e=>{if(e===void 0)return;let t=i,d=E(e);if(a.multiple){let r=Array.isArray(t)?t:[];t=d?r.filter(s=>s!==e):e!=null?[...r,e]:r}else t=d?null:e;A(t)},E=e=>{if(e==null)return!1;if(a.multiple){let t=i;return Array.isArray(t)&&t.includes(e)}else return i===e},c=(e,t)=>{let d=l=>x(l,'[data-pc-name="accordionheader"]'),r=(l,u,f=!1)=>{let m=f?l:l[u==="next"?"nextElementSibling":"previousElementSibling"];return m?V(m,"data-p-disabled")?r(m,u):d(m):null},s=l=>{let u=p==null?void 0:p.current;if(!u)return null;let f=l==="first"?u.firstElementChild:u.lastElementChild;return f?r(f,l==="first"?"next":"previous",!0):null},b=e==null?void 0:e.closest('[data-pc-name="accordionpanel"]');if(!b)return;let n=null;switch(t){case"next":n=r(b,"next"),n||(n=s("first"));break;case"previous":n=r(b,"previous"),n||(n=s("last"));break;case"first":n=s("first");break;case"last":n=s("last");break}n&&h(n)};return{state:M,updateValue:o,isItemActive:E,onHeaderClick:(e,t)=>{a.selectOnFocus||o(t)},onHeaderFocus:(e,t)=>{a.selectOnFocus&&o(t)},onHeaderKeyDown:(e,t)=>{switch(e.code){case"ArrowDown":c(e.currentTarget,"next");break;case"ArrowUp":c(e.currentTarget,"previous");break;case"Home":c(e.currentTarget,"first");break;case"End":c(e.currentTarget,"last");break;case"Enter":case"NumpadEnter":case"Space":o(t);break;case"Tab":return;default:break}e.preventDefault()}}}});export{H as defaultProps,k as useAccordion};
|
|
2
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/accordion/useAccordion.ts","../../src/accordion/useAccordion.props.ts"],"sourcesContent":["import { withHeadless } from '@primereact/core/headless';\nimport type { NavigationDirection } from '@primereact/types/shared/accordion';\nimport { useAccordionProps } from '@primereact/types/shared/accordion';\nimport { findSingle, focus, getAttribute } from '@primeuix/utils/dom';\nimport * as React from 'react';\nimport { defaultProps } from './useAccordion.props';\n\nexport const useAccordion = withHeadless({\n name: 'useAccordion',\n defaultProps,\n setup({ props, elementRef }) {\n const [activeValueState, setActiveValueState] = React.useState<useAccordionProps['value']>(props.value ?? props.defaultValue ?? null);\n\n const state = {\n value: activeValueState\n };\n\n // methods\n const updateValue = (key: null | undefined | string | number) => {\n if (key === undefined) return;\n\n let activeValue = activeValueState;\n const isActive = isItemActive(key);\n\n if (props.multiple) {\n const arrayValue = Array.isArray(activeValue) ? activeValue : [];\n\n activeValue = isActive ? arrayValue.filter((k) => k !== key) : key !== null && key !== undefined ? [...arrayValue, key] : arrayValue;\n } else {\n activeValue = isActive ? null : key;\n }\n\n setActiveValueState(activeValue);\n };\n\n const isItemActive = (key: null | undefined | string | number): boolean => {\n if (key === null || key === undefined) return false;\n\n if (props.multiple) {\n const arrayValue = activeValueState as (string | number)[] | null | undefined;\n\n return Array.isArray(arrayValue) && arrayValue.includes(key as string | number);\n } else {\n return activeValueState === key;\n }\n };\n\n const focusPanel = (accordionHeader: HTMLElement | null, direction: NavigationDirection): void => {\n const findHeader = (panelElement: HTMLElement): HTMLElement | null => {\n return findSingle(panelElement, '[data-pc-name=\"accordionheader\"]') as HTMLElement | null;\n };\n\n const findAdjacentPanel = (panelElement: HTMLElement, direction: 'next' | 'previous', selfCheck = false): HTMLElement | null => {\n const siblingProperty = direction === 'next' ? 'nextElementSibling' : 'previousElementSibling';\n const element = selfCheck ? panelElement : (panelElement[siblingProperty] as HTMLElement | null);\n\n if (!element) {\n return null;\n }\n\n if (getAttribute(element, 'data-p-disabled')) {\n return findAdjacentPanel(element, direction);\n }\n\n return findHeader(element);\n };\n\n const findBoundaryPanel = (boundary: 'first' | 'last'): HTMLElement | null => {\n const accordionElement = elementRef?.current;\n\n if (!accordionElement) return null;\n\n const targetChild = boundary === 'first' ? accordionElement.firstElementChild : accordionElement.lastElementChild;\n\n if (!targetChild) return null;\n\n const direction = boundary === 'first' ? 'next' : 'previous';\n\n return findAdjacentPanel(targetChild as HTMLElement, direction, true);\n };\n\n const currentPanel = accordionHeader?.closest('[data-pc-name=\"accordionpanel\"]') as HTMLElement | null;\n\n if (!currentPanel) return;\n\n let targetPanel: HTMLElement | null = null;\n\n switch (direction) {\n case 'next':\n targetPanel = findAdjacentPanel(currentPanel, 'next');\n\n if (!targetPanel) {\n targetPanel = findBoundaryPanel('first');\n }\n\n break;\n\n case 'previous':\n targetPanel = findAdjacentPanel(currentPanel, 'previous');\n\n if (!targetPanel) {\n targetPanel = findBoundaryPanel('last');\n }\n\n break;\n\n case 'first':\n targetPanel = findBoundaryPanel('first');\n break;\n\n case 'last':\n targetPanel = findBoundaryPanel('last');\n break;\n }\n\n if (targetPanel) {\n focus(targetPanel);\n }\n };\n\n const onHeaderClick = (event: React.MouseEvent<HTMLButtonElement>, value: null | undefined | string | number) => {\n if (!props.selectOnFocus) {\n updateValue(value);\n }\n };\n\n const onHeaderFocus = (event: React.FocusEvent<HTMLButtonElement>, value: null | undefined | string | number) => {\n if (props.selectOnFocus) {\n updateValue(value);\n }\n };\n\n const onHeaderKeyDown = (event: React.KeyboardEvent<HTMLButtonElement>, value: null | undefined | string | number) => {\n switch (event.code) {\n case 'ArrowDown':\n focusPanel(event.currentTarget, 'next');\n break;\n\n case 'ArrowUp':\n focusPanel(event.currentTarget, 'previous');\n break;\n\n case 'Home':\n focusPanel(event.currentTarget, 'first');\n break;\n\n case 'End':\n focusPanel(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 // effects\n\n return {\n state,\n // methods\n updateValue,\n isItemActive,\n onHeaderClick,\n onHeaderFocus,\n onHeaderKeyDown\n };\n }\n});\n","import type { useAccordionProps } from '@primereact/types/shared/accordion';\n\nexport const defaultProps: useAccordionProps = {\n defaultValue: null,\n value: null,\n multiple: false,\n onValueChange: undefined,\n selectOnFocus: false\n};\n"],"mappings":"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","names":["withHeadless","findSingle","focus","getAttribute","React","defaultProps","useAccordion","withHeadless","defaultProps","props","elementRef","_a","_b","activeValueState","setActiveValueState","state","updateValue","key","activeValue","isActive","isItemActive","arrayValue","k","focusPanel","accordionHeader","direction","findHeader","panelElement","findSingle","findAdjacentPanel","selfCheck","element","getAttribute","findBoundaryPanel","boundary","accordionElement","targetChild","currentPanel","targetPanel","focus","event","value"]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { useAccordionProps } from '@primereact/types/shared/accordion';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
export declare const useAccordion: (inProps?: unknown) => import("@primereact/types/core").HeadlessInstance<useAccordionProps, unknown, {
|
|
4
|
+
state: {
|
|
5
|
+
value: string | number | (string | number)[] | null | undefined;
|
|
6
|
+
};
|
|
7
|
+
updateValue: (key: null | undefined | string | number) => void;
|
|
8
|
+
isItemActive: (key: null | undefined | string | number) => boolean;
|
|
9
|
+
onHeaderClick: (event: React.MouseEvent<HTMLButtonElement>, value: null | undefined | string | number) => void;
|
|
10
|
+
onHeaderFocus: (event: React.FocusEvent<HTMLButtonElement>, value: null | undefined | string | number) => void;
|
|
11
|
+
onHeaderKeyDown: (event: React.KeyboardEvent<HTMLButtonElement>, value: null | undefined | string | number) => void;
|
|
12
|
+
}>;
|
|
File without changes
|
package/avatar/index.mjs
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
var c={delayDuration:0};import{withHeadless as f}from"@primereact/core/headless";import*as e from"react";var g=f({name:"useAvatar",defaultProps:c,setup({props:s}){let[m,r]=e.useState(!1),t=e.useRef(null),d={load:m},o=e.useCallback(()=>{var a;setTimeout(()=>{r(!0)},(a=s.delayDuration)!=null?a:0)},[s.delayDuration]),n=e.useCallback(()=>{r(!1)},[]),i=e.useCallback(a=>{if(!a){r(!1);return}t.current=new window.Image,t.current.src=a,t.current.addEventListener("load",o),t.current.addEventListener("error",n)},[t,o,n]),l=e.useCallback(()=>{var a,u;r(!1),(a=t.current)==null||a.removeEventListener("load",o),(u=t.current)==null||u.removeEventListener("error",n),t.current=null},[o,n]);return e.useEffect(()=>()=>{l()},[]),{state:d,handleImageLoad:i,handleImageUnload:l}}});export{c as defaultProps,g as useAvatar};
|
|
2
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/avatar/useAvatar.props.ts","../../src/avatar/useAvatar.ts"],"sourcesContent":["import type { useAvatarProps } from '@primereact/types/shared/avatar';\n\nexport const defaultProps: useAvatarProps = {\n delayDuration: 0\n};\n","import { withHeadless } from '@primereact/core/headless';\nimport * as React from 'react';\nimport { defaultProps } from './useAvatar.props';\n\nexport const useAvatar = withHeadless({\n name: 'useAvatar',\n defaultProps,\n setup({ props }) {\n const [loadState, setLoadState] = React.useState<boolean>(false);\n const imageRef = React.useRef<HTMLImageElement | null>(null);\n\n const state = {\n load: loadState\n };\n\n // methods\n const onImageLoad = React.useCallback(() => {\n setTimeout(() => {\n setLoadState(true);\n }, props.delayDuration ?? 0);\n }, [props.delayDuration]);\n\n const onImageError = React.useCallback(() => {\n setLoadState(false);\n }, []);\n\n const handleImageLoad = React.useCallback(\n (src?: string) => {\n if (!src) {\n setLoadState(false);\n\n return;\n }\n\n imageRef.current = new window.Image();\n imageRef.current.src = src;\n imageRef.current.addEventListener('load', onImageLoad);\n imageRef.current.addEventListener('error', onImageError);\n },\n [imageRef, onImageLoad, onImageError]\n );\n\n const handleImageUnload = React.useCallback(() => {\n setLoadState(false);\n imageRef.current?.removeEventListener('load', onImageLoad);\n imageRef.current?.removeEventListener('error', onImageError);\n imageRef.current = null;\n }, [onImageLoad, onImageError]);\n\n // effects\n React.useEffect(() => {\n return () => {\n handleImageUnload();\n };\n }, []);\n\n return {\n state,\n // methods\n handleImageLoad,\n handleImageUnload\n };\n }\n});\n"],"mappings":"AAEO,IAAMA,EAA+B,CACxC,cAAe,CACnB,ECJA,OAAS,gBAAAC,MAAoB,4BAC7B,UAAYC,MAAW,QAGhB,IAAMC,EAAYC,EAAa,CAClC,KAAM,YACN,aAAAC,EACA,MAAM,CAAE,MAAAC,CAAM,EAAG,CACb,GAAM,CAACC,EAAWC,CAAY,EAAU,WAAkB,EAAK,EACzDC,EAAiB,SAAgC,IAAI,EAErDC,EAAQ,CACV,KAAMH,CACV,EAGMI,EAAoB,cAAY,IAAM,CAhBpD,IAAAC,EAiBY,WAAW,IAAM,CACbJ,EAAa,EAAI,CACrB,GAAGI,EAAAN,EAAM,gBAAN,KAAAM,EAAuB,CAAC,CAC/B,EAAG,CAACN,EAAM,aAAa,CAAC,EAElBO,EAAqB,cAAY,IAAM,CACzCL,EAAa,EAAK,CACtB,EAAG,CAAC,CAAC,EAECM,EAAwB,cACzBC,GAAiB,CACd,GAAI,CAACA,EAAK,CACNP,EAAa,EAAK,EAElB,MACJ,CAEAC,EAAS,QAAU,IAAI,OAAO,MAC9BA,EAAS,QAAQ,IAAMM,EACvBN,EAAS,QAAQ,iBAAiB,OAAQE,CAAW,EACrDF,EAAS,QAAQ,iBAAiB,QAASI,CAAY,CAC3D,EACA,CAACJ,EAAUE,EAAaE,CAAY,CACxC,EAEMG,EAA0B,cAAY,IAAM,CA1C1D,IAAAJ,EAAAK,EA2CYT,EAAa,EAAK,GAClBI,EAAAH,EAAS,UAAT,MAAAG,EAAkB,oBAAoB,OAAQD,IAC9CM,EAAAR,EAAS,UAAT,MAAAQ,EAAkB,oBAAoB,QAASJ,GAC/CJ,EAAS,QAAU,IACvB,EAAG,CAACE,EAAaE,CAAY,CAAC,EAG9B,OAAM,YAAU,IACL,IAAM,CACTG,EAAkB,CACtB,EACD,CAAC,CAAC,EAEE,CACH,MAAAN,EAEA,gBAAAI,EACA,kBAAAE,CACJ,CACJ,CACJ,CAAC","names":["defaultProps","withHeadless","React","useAvatar","withHeadless","defaultProps","props","loadState","setLoadState","imageRef","state","onImageLoad","_a","onImageError","handleImageLoad","src","handleImageUnload","_b"]}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export declare const useAvatar: (inProps?: unknown) => import("@primereact/types/core").HeadlessInstance<import("@primereact/types/shared/avatar").useAvatarProps, unknown, {
|
|
2
|
+
state: {
|
|
3
|
+
load: boolean;
|
|
4
|
+
};
|
|
5
|
+
handleImageLoad: (src?: string) => void;
|
|
6
|
+
handleImageUnload: () => void;
|
|
7
|
+
}>;
|
|
File without changes
|
package/badge/index.d.ts
ADDED
package/badge/index.mjs
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/badge/useBadge.ts","../../src/badge/useBadge.props.ts"],"sourcesContent":["import { withHeadless } from '@primereact/core/headless';\nimport { defaultProps } from './useBadge.props';\n\nexport const useBadge = withHeadless({\n name: 'useBadge',\n defaultProps\n});\n","import type { useBadgeProps } from '@primereact/types/shared/badge';\n\nexport const defaultProps: useBadgeProps = {};\n"],"mappings":"AAAA,OAAS,gBAAAA,MAAoB,4BCEtB,IAAMC,EAA8B,CAAC,EDCrC,IAAMC,EAAWC,EAAa,CACjC,KAAM,WACN,aAAAC,CACJ,CAAC","names":["withHeadless","defaultProps","useBadge","withHeadless","defaultProps"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const useBadge: (inProps?: unknown) => import("@primereact/types/core").HeadlessInstance<import("@primereact/types/shared/badge").useBadgeProps, unknown, Record<PropertyKey, unknown>>;
|
|
File without changes
|
package/button/index.mjs
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/button/useButton.ts","../../src/button/useButton.props.ts"],"sourcesContent":["import { withHeadless } from '@primereact/core/headless';\nimport { defaultProps } from './useButton.props';\n\nexport const useButton = withHeadless({\n name: 'useButton',\n defaultProps\n});\n","import type { useButtonProps } from '@primereact/types/shared/button';\n\nexport const defaultProps: useButtonProps = {};\n"],"mappings":"AAAA,OAAS,gBAAAA,MAAoB,4BCEtB,IAAMC,EAA+B,CAAC,EDCtC,IAAMC,EAAYC,EAAa,CAClC,KAAM,YACN,aAAAC,CACJ,CAAC","names":["withHeadless","defaultProps","useButton","withHeadless","defaultProps"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const useButton: (inProps?: unknown) => import("@primereact/types/core").HeadlessInstance<import("@primereact/types/shared/button").useButtonProps, unknown, Record<PropertyKey, unknown>>;
|
|
File without changes
|
package/card/index.d.ts
ADDED
package/card/index.mjs
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/card/useCard.ts","../../src/card/useCard.props.ts"],"sourcesContent":["import { withHeadless } from '@primereact/core/headless';\nimport { defaultProps } from './useCard.props';\n\nexport const useCard = withHeadless({\n name: 'useCard',\n defaultProps\n});\n","import type { useCardProps } from '@primereact/types/shared/card';\n\nexport const defaultProps: useCardProps = {};\n"],"mappings":"AAAA,OAAS,gBAAAA,MAAoB,4BCEtB,IAAMC,EAA6B,CAAC,EDCpC,IAAMC,EAAUC,EAAa,CAChC,KAAM,UACN,aAAAC,CACJ,CAAC","names":["withHeadless","defaultProps","useCard","withHeadless","defaultProps"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const useCard: (inProps?: unknown) => import("@primereact/types/core").HeadlessInstance<import("@primereact/types/shared/card").useCardProps, unknown, Record<PropertyKey, unknown>>;
|
|
File without changes
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{withHeadless as m}from"@primereact/core/headless";import{useControlledState as l}from"@primereact/hooks/use-controlled-state";import*as a from"react";var r={checked:void 0,defaultChecked:void 0,indeterminate:!1,trueValue:!0,falseValue:!1,onCheckedChange:void 0};var g=m({name:"useCheckbox",defaultProps:r,setup({props:e}){var d;let[t,n]=a.useState(e.indeterminate),[u,i]=l({value:e.checked,defaultValue:(d=e.defaultChecked)!=null?d:!1,onChange:e.onCheckedChange}),c=t?!1:u===e.trueValue,f={checked:c,indeterminate:t},s=h=>{let o=t?e.trueValue:c?e.falseValue:e.trueValue;t&&n(!1),i([o,{originalEvent:h,checked:o}])};return a.useEffect(()=>{e.indeterminate!==void 0&&n(e.indeterminate)},[e.indeterminate]),{state:f,onChange:s}}});export{r as defaultProps,g as useCheckbox};
|
|
2
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/checkbox/useCheckbox.ts","../../src/checkbox/useCheckbox.props.ts"],"sourcesContent":["import { withHeadless } from '@primereact/core/headless';\nimport { useControlledState } from '@primereact/hooks/use-controlled-state';\nimport type { useCheckboxChangeEvent } from '@primereact/types/shared/checkbox';\nimport * as React from 'react';\nimport { defaultProps } from './useCheckbox.props';\n\nexport const useCheckbox = withHeadless({\n name: 'useCheckbox',\n defaultProps,\n setup({ props }) {\n const [indeterminateState, setIndeterminateState] = React.useState<boolean | undefined>(props.indeterminate);\n const [checkedState, setCheckedState] = useControlledState({\n value: props.checked,\n defaultValue: props.defaultChecked ?? false,\n onChange: props.onCheckedChange\n });\n\n const checked = indeterminateState ? false : checkedState === props.trueValue;\n\n const state = {\n checked,\n indeterminate: indeterminateState\n };\n\n // methods\n const onChange = (event: useCheckboxChangeEvent) => {\n const computedChecked = indeterminateState ? props.trueValue : checked ? props.falseValue : props.trueValue;\n\n if (indeterminateState) {\n setIndeterminateState(false);\n }\n\n setCheckedState([\n computedChecked,\n {\n originalEvent: event,\n checked: computedChecked\n }\n ]);\n };\n\n React.useEffect(() => {\n if (props.indeterminate !== undefined) {\n setIndeterminateState(props.indeterminate);\n }\n }, [props.indeterminate]);\n\n return {\n state,\n // methods\n onChange\n };\n }\n});\n","import type { useCheckboxProps } from '@primereact/types/shared/checkbox';\n\nexport const defaultProps: useCheckboxProps = {\n checked: undefined,\n defaultChecked: undefined,\n indeterminate: false,\n trueValue: true,\n falseValue: false,\n onCheckedChange: undefined\n};\n"],"mappings":"AAAA,OAAS,gBAAAA,MAAoB,4BAC7B,OAAS,sBAAAC,MAA0B,yCAEnC,UAAYC,MAAW,QCDhB,IAAMC,EAAiC,CAC1C,QAAS,OACT,eAAgB,OAChB,cAAe,GACf,UAAW,GACX,WAAY,GACZ,gBAAiB,MACrB,EDHO,IAAMC,EAAcC,EAAa,CACpC,KAAM,cACN,aAAAC,EACA,MAAM,CAAE,MAAAC,CAAM,EAAG,CATrB,IAAAC,EAUQ,GAAM,CAACC,EAAoBC,CAAqB,EAAU,WAA8BH,EAAM,aAAa,EACrG,CAACI,EAAcC,CAAe,EAAIC,EAAmB,CACvD,MAAON,EAAM,QACb,cAAcC,EAAAD,EAAM,iBAAN,KAAAC,EAAwB,GACtC,SAAUD,EAAM,eACpB,CAAC,EAEKO,EAAUL,EAAqB,GAAQE,IAAiBJ,EAAM,UAE9DQ,EAAQ,CACV,QAAAD,EACA,cAAeL,CACnB,EAGMO,EAAYC,GAAkC,CAChD,IAAMC,EAAkBT,EAAqBF,EAAM,UAAYO,EAAUP,EAAM,WAAaA,EAAM,UAE9FE,GACAC,EAAsB,EAAK,EAG/BE,EAAgB,CACZM,EACA,CACI,cAAeD,EACf,QAASC,CACb,CACJ,CAAC,CACL,EAEA,OAAM,YAAU,IAAM,CACdX,EAAM,gBAAkB,QACxBG,EAAsBH,EAAM,aAAa,CAEjD,EAAG,CAACA,EAAM,aAAa,CAAC,EAEjB,CACH,MAAAQ,EAEA,SAAAC,CACJ,CACJ,CACJ,CAAC","names":["withHeadless","useControlledState","React","defaultProps","useCheckbox","withHeadless","defaultProps","props","_a","indeterminateState","setIndeterminateState","checkedState","setCheckedState","useControlledState","checked","state","onChange","event","computedChecked"]}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { useCheckboxChangeEvent } from '@primereact/types/shared/checkbox';
|
|
2
|
+
export declare const useCheckbox: (inProps?: unknown) => import("@primereact/types/core").HeadlessInstance<import("@primereact/types/shared/checkbox").useCheckboxProps, unknown, {
|
|
3
|
+
state: {
|
|
4
|
+
checked: boolean;
|
|
5
|
+
indeterminate: boolean | undefined;
|
|
6
|
+
};
|
|
7
|
+
onChange: (event: useCheckboxChangeEvent) => void;
|
|
8
|
+
}>;
|
|
File without changes
|
package/chip/index.d.ts
ADDED
package/chip/index.mjs
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{withHeadless as p}from"@primereact/core/headless";import*as a from"react";var s={onRemove:void 0};var f=p({name:"useChip",defaultProps:s,setup({props:t}){let[i,n]=a.useState(!0),c={visible:i},m=e=>{(e.code==="Enter"||e.code==="NumpadEnter"||e.code==="Backspace")&&o(e)},o=e=>{var r;n(!1),(r=t.onRemove)==null||r.call(t,{originalEvent:e})};return{state:c,close:o,removeIconProps:{onKeyDown:m}}}});export{s as defaultProps,f as useChip};
|
|
2
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/chip/useChip.ts","../../src/chip/useChip.props.ts"],"sourcesContent":["import { withHeadless } from '@primereact/core/headless';\nimport * as React from 'react';\nimport { defaultProps } from './useChip.props';\n\nexport const useChip = withHeadless({\n name: 'useChip',\n defaultProps,\n setup({ props }) {\n const [visibleState, setVisibleState] = React.useState<boolean>(true);\n\n const state = {\n visible: visibleState\n };\n\n const onKeyDown = (event: React.KeyboardEvent<HTMLElement>) => {\n if (event.code === 'Enter' || event.code === 'NumpadEnter' || event.code === 'Backspace') {\n close(event);\n }\n };\n\n const close = (event: React.SyntheticEvent<HTMLElement>) => {\n setVisibleState(false);\n\n props.onRemove?.({\n originalEvent: event\n });\n };\n\n return {\n state,\n // methods\n close,\n removeIconProps: {\n onKeyDown\n }\n };\n }\n});\n","import type { useChipProps } from '@primereact/types/shared/chip';\n\nexport const defaultProps: useChipProps = {\n onRemove: undefined\n};\n"],"mappings":"AAAA,OAAS,gBAAAA,MAAoB,4BAC7B,UAAYC,MAAW,QCChB,IAAMC,EAA6B,CACtC,SAAU,MACd,EDAO,IAAMC,EAAUC,EAAa,CAChC,KAAM,UACN,aAAAC,EACA,MAAM,CAAE,MAAAC,CAAM,EAAG,CACb,GAAM,CAACC,EAAcC,CAAe,EAAU,WAAkB,EAAI,EAE9DC,EAAQ,CACV,QAASF,CACb,EAEMG,EAAaC,GAA4C,EACvDA,EAAM,OAAS,SAAWA,EAAM,OAAS,eAAiBA,EAAM,OAAS,cACzEC,EAAMD,CAAK,CAEnB,EAEMC,EAASD,GAA6C,CApBpE,IAAAE,EAqBYL,EAAgB,EAAK,GAErBK,EAAAP,EAAM,WAAN,MAAAO,EAAA,KAAAP,EAAiB,CACb,cAAeK,CACnB,EACJ,EAEA,MAAO,CACH,MAAAF,EAEA,MAAAG,EACA,gBAAiB,CACb,UAAAF,CACJ,CACJ,CACJ,CACJ,CAAC","names":["withHeadless","React","defaultProps","useChip","withHeadless","defaultProps","props","visibleState","setVisibleState","state","onKeyDown","event","close","_a"]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
export declare const useChip: (inProps?: unknown) => import("@primereact/types/core").HeadlessInstance<import("@primereact/types/shared/chip").useChipProps, unknown, {
|
|
3
|
+
state: {
|
|
4
|
+
visible: boolean;
|
|
5
|
+
};
|
|
6
|
+
close: (event: React.SyntheticEvent<HTMLElement>) => void;
|
|
7
|
+
removeIconProps: {
|
|
8
|
+
onKeyDown: (event: React.KeyboardEvent<HTMLElement>) => void;
|
|
9
|
+
};
|
|
10
|
+
}>;
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/divider/useDivider.ts","../../src/divider/useDivider.props.ts"],"sourcesContent":["import { withHeadless } from '@primereact/core/headless';\nimport { defaultProps } from './useDivider.props';\n\nexport const useDivider = withHeadless({\n name: 'useDivider',\n defaultProps\n});\n","import type { useDividerProps } from '@primereact/types/shared/divider';\n\nexport const defaultProps: useDividerProps = {};\n"],"mappings":"AAAA,OAAS,gBAAAA,MAAoB,4BCEtB,IAAMC,EAAgC,CAAC,EDCvC,IAAMC,EAAaC,EAAa,CACnC,KAAM,aACN,aAAAC,CACJ,CAAC","names":["withHeadless","defaultProps","useDivider","withHeadless","defaultProps"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const useDivider: (inProps?: unknown) => import("@primereact/types/core").HeadlessInstance<import("@primereact/types/shared/divider").useDividerProps, unknown, Record<PropertyKey, unknown>>;
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/fieldset/useFieldset.ts","../../src/fieldset/useFieldset.props.ts"],"sourcesContent":["import { withHeadless } from '@primereact/core/headless';\nimport { defaultProps } from './useFieldset.props';\n\nexport const useFieldset = withHeadless({\n name: 'useFieldset',\n defaultProps\n});\n","import type { useFieldsetProps } from '@primereact/types/shared/fieldset';\n\nexport const defaultProps: useFieldsetProps = {};\n"],"mappings":"AAAA,OAAS,gBAAAA,MAAoB,4BCEtB,IAAMC,EAAiC,CAAC,EDCxC,IAAMC,EAAcC,EAAa,CACpC,KAAM,cACN,aAAAC,CACJ,CAAC","names":["withHeadless","defaultProps","useFieldset","withHeadless","defaultProps"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const useFieldset: (inProps?: unknown) => import("@primereact/types/core").HeadlessInstance<import("@primereact/types/shared/fieldset").useFieldsetProps, unknown, Record<PropertyKey, unknown>>;
|
|
File without changes
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{withHeadless as s}from"@primereact/core/headless";import*as o from"react";var c={active:!1,onActiveChange:void 0};var d=s({name:"useInplace",defaultProps:c,setup:({props:e})=>{let[i,t]=o.useState(e.active),a={active:i};return{state:a,open:()=>t(!0),close:()=>t(!1),onActiveChange:()=>{var n;(n=e==null?void 0:e.onActiveChange)==null||n.call(e,a.active)}}}});export{c as defaultProps,d as useInplace};
|
|
2
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/inplace/useInplace.ts","../../src/inplace/useInplace.props.ts"],"sourcesContent":["import { withHeadless } from '@primereact/core/headless';\nimport * as React from 'react';\nimport { defaultProps } from './useInplace.props';\n\nexport const useInplace = withHeadless({\n name: 'useInplace',\n defaultProps,\n setup: ({ props }) => {\n const [activeState, setActiveState] = React.useState<boolean | undefined>(props.active);\n\n const state = {\n active: activeState\n };\n\n // methods\n const open = () => setActiveState(true);\n const close = () => setActiveState(false);\n\n const onActiveChange = () => {\n props?.onActiveChange?.(state.active);\n };\n\n return {\n state,\n open,\n close,\n onActiveChange\n };\n }\n});\n","import type { useInplaceProps } from '@primereact/types/shared/inplace';\n\nexport const defaultProps: useInplaceProps = {\n active: false,\n onActiveChange: undefined\n};\n"],"mappings":"AAAA,OAAS,gBAAAA,MAAoB,4BAC7B,UAAYC,MAAW,QCChB,IAAMC,EAAgC,CACzC,OAAQ,GACR,eAAgB,MACpB,EDDO,IAAMC,EAAaC,EAAa,CACnC,KAAM,aACN,aAAAC,EACA,MAAO,CAAC,CAAE,MAAAC,CAAM,IAAM,CAClB,GAAM,CAACC,EAAaC,CAAc,EAAU,WAA8BF,EAAM,MAAM,EAEhFG,EAAQ,CACV,OAAQF,CACZ,EAUA,MAAO,CACH,MAAAE,EACA,KATS,IAAMD,EAAe,EAAI,EAUlC,MATU,IAAMA,EAAe,EAAK,EAUpC,eARmB,IAAM,CAlBrC,IAAAE,GAmBYA,EAAAJ,GAAA,YAAAA,EAAO,iBAAP,MAAAI,EAAA,KAAAJ,EAAwBG,EAAM,OAClC,CAOA,CACJ,CACJ,CAAC","names":["withHeadless","React","defaultProps","useInplace","withHeadless","defaultProps","props","activeState","setActiveState","state","_a"]}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export declare const useInplace: (inProps?: unknown) => import("@primereact/types/core").HeadlessInstance<import("@primereact/types/shared/inplace").useInplaceProps, unknown, {
|
|
2
|
+
state: {
|
|
3
|
+
active: boolean | undefined;
|
|
4
|
+
};
|
|
5
|
+
open: () => void;
|
|
6
|
+
close: () => void;
|
|
7
|
+
onActiveChange: () => void;
|
|
8
|
+
}>;
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/inputtext/useInputText.ts","../../src/inputtext/useInputText.props.ts"],"sourcesContent":["import { withHeadless } from '@primereact/core/headless';\nimport { defaultProps } from './useInputText.props';\n\nexport const useInputText = withHeadless({\n name: 'useInputText',\n defaultProps\n});\n","import type { useInputTextProps } from '@primereact/types/shared/inputtext';\n\nexport const defaultProps: useInputTextProps = {};\n"],"mappings":"AAAA,OAAS,gBAAAA,MAAoB,4BCEtB,IAAMC,EAAkC,CAAC,EDCzC,IAAMC,EAAeC,EAAa,CACrC,KAAM,eACN,aAAAC,CACJ,CAAC","names":["withHeadless","defaultProps","useInputText","withHeadless","defaultProps"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const useInputText: (inProps?: unknown) => import("@primereact/types/core").HeadlessInstance<import("@primereact/types/shared/inputtext").useInputTextProps, unknown, Record<PropertyKey, unknown>>;
|
|
File without changes
|
package/label/index.d.ts
ADDED
package/label/index.mjs
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/label/useLabel.ts","../../src/label/useLabel.props.ts"],"sourcesContent":["import { withHeadless } from '@primereact/core/headless';\nimport { defaultProps } from './useLabel.props';\n\nexport const useLabel = withHeadless({\n name: 'useLabel',\n defaultProps\n});\n","import type { useLabelProps } from '@primereact/types/shared/label';\n\nexport const defaultProps: useLabelProps = {};\n"],"mappings":"AAAA,OAAS,gBAAAA,MAAoB,4BCEtB,IAAMC,EAA8B,CAAC,EDCrC,IAAMC,EAAWC,EAAa,CACjC,KAAM,WACN,aAAAC,CACJ,CAAC","names":["withHeadless","defaultProps","useLabel","withHeadless","defaultProps"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const useLabel: (inProps?: unknown) => import("@primereact/types/core").HeadlessInstance<import("@primereact/types/shared/label").useLabelProps, unknown, Record<PropertyKey, unknown>>;
|
|
File without changes
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{withHeadless as x}from"@primereact/core/headless";import*as e from"react";var u={min:0,max:100};var R=x({name:"useMeterGroup",defaultProps:u,setup({props:a}){let[m,o]=e.useState(0),p={totalPercent:m},s=e.useCallback((t=0)=>{var n,c;let r=(n=a.min)!=null?n:0,f=(c=a.max)!=null?c:100;return Math.round(Math.max(0,Math.min(100,(t-r)/(f-r)*100)))},[]),l=e.useCallback((t=0)=>s(t)+"%",[]),i=e.useCallback((t=0)=>{o(r=>r+t)},[]),P=e.useCallback(()=>{o(0)},[]);return{state:p,percent:s,percentAsString:l,updateTotalPercent:i,resetTotalPercent:P}}});export{u as defaultProps,R as useMeterGroup};
|
|
2
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/metergroup/useMeterGroup.ts","../../src/metergroup/useMeterGroup.props.ts"],"sourcesContent":["import { withHeadless } from '@primereact/core/headless';\nimport * as React from 'react';\nimport { defaultProps } from './useMeterGroup.props';\n\nexport const useMeterGroup = withHeadless({\n name: 'useMeterGroup',\n defaultProps,\n setup({ props }) {\n const [totalPercentState, setTotalPercentState] = React.useState(0);\n\n const state = {\n totalPercent: totalPercentState\n };\n\n // methods\n const percent = React.useCallback((meterValue: number = 0) => {\n const min = props.min ?? 0;\n const max = props.max ?? 100;\n\n return Math.round(Math.max(0, Math.min(100, ((meterValue - min) / (max - min)) * 100)));\n }, []);\n\n const percentAsString = React.useCallback((meterValue: number = 0) => {\n return percent(meterValue) + '%';\n }, []);\n\n const updateTotalPercent = React.useCallback((percent: number = 0) => {\n setTotalPercentState((prev) => prev + percent);\n }, []);\n\n const resetTotalPercent = React.useCallback(() => {\n setTotalPercentState(0);\n }, []);\n\n return {\n state,\n // methods\n percent,\n percentAsString,\n updateTotalPercent,\n resetTotalPercent\n };\n }\n});\n","import type { useMeterGroupProps } from '@primereact/types/shared/metergroup';\n\nexport const defaultProps: useMeterGroupProps = {\n min: 0,\n max: 100\n};\n"],"mappings":"AAAA,OAAS,gBAAAA,MAAoB,4BAC7B,UAAYC,MAAW,QCChB,IAAMC,EAAmC,CAC5C,IAAK,EACL,IAAK,GACT,EDDO,IAAMC,EAAgBC,EAAa,CACtC,KAAM,gBACN,aAAAC,EACA,MAAM,CAAE,MAAAC,CAAM,EAAG,CACb,GAAM,CAACC,EAAmBC,CAAoB,EAAU,WAAS,CAAC,EAE5DC,EAAQ,CACV,aAAcF,CAClB,EAGMG,EAAgB,cAAY,CAACC,EAAqB,IAAM,CAftE,IAAAC,EAAAC,EAgBY,IAAMC,GAAMF,EAAAN,EAAM,MAAN,KAAAM,EAAa,EACnBG,GAAMF,EAAAP,EAAM,MAAN,KAAAO,EAAa,IAEzB,OAAO,KAAK,MAAM,KAAK,IAAI,EAAG,KAAK,IAAI,KAAOF,EAAaG,IAAQC,EAAMD,GAAQ,GAAG,CAAC,CAAC,CAC1F,EAAG,CAAC,CAAC,EAECE,EAAwB,cAAY,CAACL,EAAqB,IACrDD,EAAQC,CAAU,EAAI,IAC9B,CAAC,CAAC,EAECM,EAA2B,cAAY,CAACP,EAAkB,IAAM,CAClEF,EAAsBU,GAASA,EAAOR,CAAO,CACjD,EAAG,CAAC,CAAC,EAECS,EAA0B,cAAY,IAAM,CAC9CX,EAAqB,CAAC,CAC1B,EAAG,CAAC,CAAC,EAEL,MAAO,CACH,MAAAC,EAEA,QAAAC,EACA,gBAAAM,EACA,mBAAAC,EACA,kBAAAE,CACJ,CACJ,CACJ,CAAC","names":["withHeadless","React","defaultProps","useMeterGroup","withHeadless","defaultProps","props","totalPercentState","setTotalPercentState","state","percent","meterValue","_a","_b","min","max","percentAsString","updateTotalPercent","prev","resetTotalPercent"]}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare const useMeterGroup: (inProps?: unknown) => import("@primereact/types/core").HeadlessInstance<import("@primereact/types/shared/metergroup").useMeterGroupProps, unknown, {
|
|
2
|
+
state: {
|
|
3
|
+
totalPercent: number;
|
|
4
|
+
};
|
|
5
|
+
percent: (meterValue?: number) => number;
|
|
6
|
+
percentAsString: (meterValue?: number) => string;
|
|
7
|
+
updateTotalPercent: (percent?: number) => void;
|
|
8
|
+
resetTotalPercent: () => void;
|
|
9
|
+
}>;
|
|
File without changes
|
package/package.json
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@primereact/headless",
|
|
3
|
+
"version": "11.0.0-alpha.1",
|
|
4
|
+
"author": "PrimeTek Informatics",
|
|
5
|
+
"description": "",
|
|
6
|
+
"homepage": "https://primereact.org/",
|
|
7
|
+
"license": "MIT",
|
|
8
|
+
"repository": {
|
|
9
|
+
"type": "git",
|
|
10
|
+
"url": "git+https://github.com/primefaces/primereact.git",
|
|
11
|
+
"directory": "packages/headless"
|
|
12
|
+
},
|
|
13
|
+
"bugs": {
|
|
14
|
+
"url": "https://github.com/primefaces/primereact/issues"
|
|
15
|
+
},
|
|
16
|
+
"main": "./index.mjs",
|
|
17
|
+
"module": "./index.mjs",
|
|
18
|
+
"types": "./index.d.ts",
|
|
19
|
+
"exports": {
|
|
20
|
+
".": {
|
|
21
|
+
"types": "./index.d.ts",
|
|
22
|
+
"import": "./index.mjs",
|
|
23
|
+
"default": "./index.mjs"
|
|
24
|
+
},
|
|
25
|
+
"./*": {
|
|
26
|
+
"types": "./*/index.d.ts",
|
|
27
|
+
"import": "./*/index.mjs",
|
|
28
|
+
"default": "./*/index.mjs"
|
|
29
|
+
}
|
|
30
|
+
},
|
|
31
|
+
"publishConfig": {
|
|
32
|
+
"access": "public"
|
|
33
|
+
},
|
|
34
|
+
"dependencies": {
|
|
35
|
+
"@primeuix/styled": "^0.7.0-beta.2",
|
|
36
|
+
"@primeuix/utils": "^0.6.0-beta.2",
|
|
37
|
+
"@primereact/core": "11.0.0-alpha.1",
|
|
38
|
+
"@primereact/hooks": "11.0.0-alpha.1"
|
|
39
|
+
}
|
|
40
|
+
}
|
package/panel/index.d.ts
ADDED
package/panel/index.mjs
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{withHeadless as m}from"@primereact/core/headless";import*as l from"react";var f={collapsed:void 0,toggleable:void 0,onCollapse:void 0,onExpand:void 0,onToggle:void 0};var E=m({name:"usePanel",defaultProps:f,setup({props:e}){let[u,o]=l.useState(e.collapsed),a=e.toggleable?e.onToggle?e.collapsed:u:!1,g={collapsed:a},s=l.useRef(null),c=t=>{var n;e.toggleable&&(a?d(t):i(t),(n=e.onToggle)==null||n.call(e,{originalEvent:t,value:!a}))},d=t=>{var n;e.onToggle||o(!1),(n=e.onExpand)==null||n.call(e,t)},i=t=>{var n;e.onToggle||o(!0),(n=e.onCollapse)==null||n.call(e,t)};return{state:g,contentRef:s,toggle:c,expand:d,collapse:i,onButtonClick:t=>{c(t),t.preventDefault()}}}});export{f as defaultProps,E as usePanel};
|
|
2
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/panel/usePanel.ts","../../src/panel/usePanel.props.ts"],"sourcesContent":["import { withHeadless } from '@primereact/core/headless';\nimport * as React from 'react';\nimport { defaultProps } from './usePanel.props';\n\nexport const usePanel = withHeadless({\n name: 'usePanel',\n defaultProps,\n setup({ props }) {\n const [collapsedState, setCollapsedState] = React.useState<boolean | undefined>(props.collapsed);\n const collapsed = props.toggleable ? (props.onToggle ? props.collapsed : collapsedState) : false;\n const state = {\n collapsed\n };\n\n // element refs\n const contentRef = React.useRef(null);\n\n // methods\n const toggle = (event: React.SyntheticEvent) => {\n if (!props.toggleable) {\n return;\n }\n\n if (collapsed) expand(event);\n else collapse(event);\n\n props.onToggle?.({\n originalEvent: event,\n value: !collapsed\n });\n };\n\n const expand = (event: React.SyntheticEvent) => {\n if (!props.onToggle) {\n setCollapsedState(false);\n }\n\n props.onExpand?.(event);\n };\n\n const collapse = (event: React.SyntheticEvent) => {\n if (!props.onToggle) {\n setCollapsedState(true);\n }\n\n props.onCollapse?.(event);\n };\n\n const onButtonClick = (event: React.SyntheticEvent) => {\n toggle(event);\n event.preventDefault();\n };\n\n return {\n state,\n // element refs\n contentRef,\n // methods\n toggle,\n expand,\n collapse,\n onButtonClick\n };\n }\n});\n","import type { usePanelProps } from '@primereact/types/shared/panel';\n\nexport const defaultProps: usePanelProps = {\n collapsed: undefined,\n toggleable: undefined,\n // events\n onCollapse: undefined,\n onExpand: undefined,\n onToggle: undefined\n};\n"],"mappings":"AAAA,OAAS,gBAAAA,MAAoB,4BAC7B,UAAYC,MAAW,QCChB,IAAMC,EAA8B,CACvC,UAAW,OACX,WAAY,OAEZ,WAAY,OACZ,SAAU,OACV,SAAU,MACd,EDLO,IAAMC,EAAWC,EAAa,CACjC,KAAM,WACN,aAAAC,EACA,MAAM,CAAE,MAAAC,CAAM,EAAG,CACb,GAAM,CAACC,EAAgBC,CAAiB,EAAU,WAA8BF,EAAM,SAAS,EACzFG,EAAYH,EAAM,WAAcA,EAAM,SAAWA,EAAM,UAAYC,EAAkB,GACrFG,EAAQ,CACV,UAAAD,CACJ,EAGME,EAAmB,SAAO,IAAI,EAG9BC,EAAUC,GAAgC,CAlBxD,IAAAC,EAmBiBR,EAAM,aAIPG,EAAWM,EAAOF,CAAK,EACtBG,EAASH,CAAK,GAEnBC,EAAAR,EAAM,WAAN,MAAAQ,EAAA,KAAAR,EAAiB,CACb,cAAeO,EACf,MAAO,CAACJ,CACZ,GACJ,EAEMM,EAAUF,GAAgC,CAhCxD,IAAAC,EAiCiBR,EAAM,UACPE,EAAkB,EAAK,GAG3BM,EAAAR,EAAM,WAAN,MAAAQ,EAAA,KAAAR,EAAiBO,EACrB,EAEMG,EAAYH,GAAgC,CAxC1D,IAAAC,EAyCiBR,EAAM,UACPE,EAAkB,EAAI,GAG1BM,EAAAR,EAAM,aAAN,MAAAQ,EAAA,KAAAR,EAAmBO,EACvB,EAOA,MAAO,CACH,MAAAH,EAEA,WAAAC,EAEA,OAAAC,EACA,OAAAG,EACA,SAAAC,EACA,cAbmBH,GAAgC,CACnDD,EAAOC,CAAK,EACZA,EAAM,eAAe,CACzB,CAWA,CACJ,CACJ,CAAC","names":["withHeadless","React","defaultProps","usePanel","withHeadless","defaultProps","props","collapsedState","setCollapsedState","collapsed","state","contentRef","toggle","event","_a","expand","collapse"]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
export declare const usePanel: (inProps?: unknown) => import("@primereact/types/core").HeadlessInstance<import("@primereact/types/shared/panel").usePanelProps, unknown, {
|
|
3
|
+
state: {
|
|
4
|
+
collapsed: boolean | undefined;
|
|
5
|
+
};
|
|
6
|
+
contentRef: React.RefObject<null>;
|
|
7
|
+
toggle: (event: React.SyntheticEvent) => void;
|
|
8
|
+
expand: (event: React.SyntheticEvent) => void;
|
|
9
|
+
collapse: (event: React.SyntheticEvent) => void;
|
|
10
|
+
onButtonClick: (event: React.SyntheticEvent) => void;
|
|
11
|
+
}>;
|
|
File without changes
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{withHeadless as l}from"@primereact/core/headless";import*as n from"react";var u={value:void 0,max:100,min:0,formatter:e=>new Intl.NumberFormat(void 0,{minimumFractionDigits:0,maximumFractionDigits:2}).format(e)+"%"};var h=l({name:"useProgressBar",defaultProps:u,setup({props:e}){let i=t=>{var o,s;let r=(o=e.min)!=null?o:0,m=(s=e.max)!=null?s:100;if(r>=m)return console.error("[ProgressBar] min must be less than max."),0;let d=(Math.min(Math.max(t!=null?t:r,r),m)-r)/(m-r)*100;return Math.min(Math.max(d,0),100)},a=n.useMemo(()=>i(e.value),[e.value,e.min,e.max]),c=n.useMemo(()=>{var t;return(t=e.formatter)==null?void 0:t.call(e,a)},[a,e.formatter]);return{state:{computedValue:a,formattedValue:c}}}});export{u as defaultProps,h as useProgressBar};
|
|
2
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/progressbar/useProgressBar.ts","../../src/progressbar/useProgressBar.props.ts"],"sourcesContent":["import { withHeadless } from '@primereact/core/headless';\nimport * as React from 'react';\nimport { defaultProps } from './useProgressBar.props';\n\nexport const useProgressBar = withHeadless({\n name: 'useProgressBar',\n defaultProps,\n setup({ props }) {\n // methods\n const handleProgressValue = (value: number | undefined): number => {\n const minValue = props.min ?? 0;\n const maxValue = props.max ?? 100;\n\n if (minValue >= maxValue) {\n // eslint-disable-next-line no-console\n console.error('[ProgressBar] min must be less than max.');\n\n return 0;\n }\n\n const clampedValue = Math.min(Math.max(value ?? minValue, minValue), maxValue);\n const newValue = ((clampedValue - minValue) / (maxValue - minValue)) * 100;\n const boundedValue = Math.min(Math.max(newValue, 0), 100);\n\n return boundedValue;\n };\n\n const computedValue = React.useMemo(() => {\n return handleProgressValue(props.value);\n }, [props.value, props.min, props.max]);\n\n const formattedValue = React.useMemo(() => {\n return props.formatter?.(computedValue);\n }, [computedValue, props.formatter]);\n\n const state = {\n computedValue,\n formattedValue\n };\n\n return {\n state\n };\n }\n});\n","import type { useProgressBarProps } from '@primereact/types/shared/progressbar';\n\nexport const defaultProps: useProgressBarProps = {\n value: undefined,\n max: 100,\n min: 0,\n formatter: (value: number) =>\n new Intl.NumberFormat(undefined, {\n minimumFractionDigits: 0,\n maximumFractionDigits: 2\n }).format(value) + '%'\n};\n"],"mappings":"AAAA,OAAS,gBAAAA,MAAoB,4BAC7B,UAAYC,MAAW,QCChB,IAAMC,EAAoC,CAC7C,MAAO,OACP,IAAK,IACL,IAAK,EACL,UAAYC,GACR,IAAI,KAAK,aAAa,OAAW,CAC7B,sBAAuB,EACvB,sBAAuB,CAC3B,CAAC,EAAE,OAAOA,CAAK,EAAI,GAC3B,EDPO,IAAMC,EAAiBC,EAAa,CACvC,KAAM,iBACN,aAAAC,EACA,MAAM,CAAE,MAAAC,CAAM,EAAG,CAEb,IAAMC,EAAuBC,GAAsC,CAT3E,IAAAC,EAAAC,EAUY,IAAMC,GAAWF,EAAAH,EAAM,MAAN,KAAAG,EAAa,EACxBG,GAAWF,EAAAJ,EAAM,MAAN,KAAAI,EAAa,IAE9B,GAAIC,GAAYC,EAEZ,eAAQ,MAAM,0CAA0C,EAEjD,EAIX,IAAMC,GADe,KAAK,IAAI,KAAK,IAAIL,GAAA,KAAAA,EAASG,EAAUA,CAAQ,EAAGC,CAAQ,EAC3CD,IAAaC,EAAWD,GAAa,IAGvE,OAFqB,KAAK,IAAI,KAAK,IAAIE,EAAU,CAAC,EAAG,GAAG,CAG5D,EAEMC,EAAsB,UAAQ,IACzBP,EAAoBD,EAAM,KAAK,EACvC,CAACA,EAAM,MAAOA,EAAM,IAAKA,EAAM,GAAG,CAAC,EAEhCS,EAAuB,UAAQ,IAAM,CA/BnD,IAAAN,EAgCY,OAAOA,EAAAH,EAAM,YAAN,YAAAG,EAAA,KAAAH,EAAkBQ,EAC7B,EAAG,CAACA,EAAeR,EAAM,SAAS,CAAC,EAOnC,MAAO,CACH,MANU,CACV,cAAAQ,EACA,eAAAC,CACJ,CAIA,CACJ,CACJ,CAAC","names":["withHeadless","React","defaultProps","value","useProgressBar","withHeadless","defaultProps","props","handleProgressValue","value","_a","_b","minValue","maxValue","newValue","computedValue","formattedValue"]}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export declare const useProgressBar: (inProps?: unknown) => import("@primereact/types/core").HeadlessInstance<import("@primereact/types/shared/progressbar").useProgressBarProps, unknown, {
|
|
2
|
+
state: {
|
|
3
|
+
computedValue: number;
|
|
4
|
+
formattedValue: string | undefined;
|
|
5
|
+
};
|
|
6
|
+
}>;
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/progressspinner/useProgressSpinner.ts","../../src/progressspinner/useProgressSpinner.props.ts"],"sourcesContent":["import { withHeadless } from '@primereact/core/headless';\nimport { defaultProps } from './useProgressSpinner.props';\n\nexport const useProgressSpinner = withHeadless({\n name: 'useProgressSpinner',\n defaultProps\n});\n","import type { useProgressSpinnerProps } from '@primereact/types/shared/progressspinner';\n\nexport const defaultProps: useProgressSpinnerProps = {};\n"],"mappings":"AAAA,OAAS,gBAAAA,MAAoB,4BCEtB,IAAMC,EAAwC,CAAC,EDC/C,IAAMC,EAAqBC,EAAa,CAC3C,KAAM,qBACN,aAAAC,CACJ,CAAC","names":["withHeadless","defaultProps","useProgressSpinner","withHeadless","defaultProps"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const useProgressSpinner: (inProps?: unknown) => import("@primereact/types/core").HeadlessInstance<import("@primereact/types/shared/progressspinner").useProgressSpinnerProps, unknown, Record<PropertyKey, unknown>>;
|
|
File without changes
|