@primereact/headless 11.0.0-alpha.7 → 11.0.0-alpha.9

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 (114) hide show
  1. package/breadcrumb/index.d.ts +2 -0
  2. package/breadcrumb/index.mjs +2 -0
  3. package/breadcrumb/index.mjs.map +1 -0
  4. package/breadcrumb/useBreadcrumb.d.ts +3 -0
  5. package/breadcrumb/useBreadcrumb.props.d.ts +2 -0
  6. package/breadcrumb/useBreadcrumb.test.d.ts +0 -0
  7. package/carousel/index.mjs +1 -1
  8. package/carousel/index.mjs.map +1 -1
  9. package/carousel/useCarousel.d.ts +18 -18
  10. package/colorpicker/colorManager.d.ts +101 -0
  11. package/colorpicker/index.d.ts +3 -0
  12. package/colorpicker/index.mjs +2 -0
  13. package/colorpicker/index.mjs.map +1 -0
  14. package/colorpicker/input/index.d.ts +2 -0
  15. package/colorpicker/input/index.mjs +2 -0
  16. package/colorpicker/input/index.mjs.map +1 -0
  17. package/colorpicker/input/useColorPickerInput.d.ts +11 -0
  18. package/colorpicker/input/useColorPickerInput.props.d.ts +2 -0
  19. package/colorpicker/input/useColorPickerInput.test.d.ts +0 -0
  20. package/colorpicker/slider/index.d.ts +2 -0
  21. package/colorpicker/slider/index.mjs +2 -0
  22. package/colorpicker/slider/index.mjs.map +1 -0
  23. package/colorpicker/slider/useColorPickerSlider.d.ts +13 -0
  24. package/colorpicker/slider/useColorPickerSlider.props.d.ts +2 -0
  25. package/colorpicker/slider/useColorPickerSlider.test.d.ts +0 -0
  26. package/colorpicker/useColorPicker.d.ts +26 -0
  27. package/colorpicker/useColorPicker.props.d.ts +2 -0
  28. package/colorpicker/useColorPicker.test.d.ts +0 -0
  29. package/commandmenu/index.d.ts +2 -0
  30. package/commandmenu/index.mjs +2 -0
  31. package/commandmenu/index.mjs.map +1 -0
  32. package/commandmenu/useCommandMenu.d.ts +11 -0
  33. package/commandmenu/useCommandMenu.props.d.ts +2 -0
  34. package/commandmenu/useCommandMenu.test.d.ts +0 -0
  35. package/contextmenu/index.d.ts +2 -0
  36. package/contextmenu/index.mjs +2 -0
  37. package/contextmenu/index.mjs.map +1 -0
  38. package/contextmenu/useContextMenu.d.ts +1 -0
  39. package/contextmenu/useContextMenu.props.d.ts +2 -0
  40. package/contextmenu/useContextMenu.test.d.ts +0 -0
  41. package/datepicker/index.d.ts +2 -0
  42. package/datepicker/index.mjs +2 -0
  43. package/datepicker/index.mjs.map +1 -0
  44. package/datepicker/useDatePicker.d.ts +114 -0
  45. package/datepicker/useDatePicker.props.d.ts +2 -0
  46. package/datepicker/useDatePicker.test.d.ts +0 -0
  47. package/gallery/index.mjs +1 -1
  48. package/gallery/index.mjs.map +1 -1
  49. package/gallery/item/index.mjs +1 -1
  50. package/gallery/item/index.mjs.map +1 -1
  51. package/gallery/useGallery.d.ts +2 -8
  52. package/inputtags/index.d.ts +2 -0
  53. package/inputtags/index.mjs +2 -0
  54. package/inputtags/index.mjs.map +1 -0
  55. package/inputtags/useInputTags.d.ts +20 -0
  56. package/inputtags/useInputTags.props.d.ts +2 -0
  57. package/inputtags/useInputTags.test.d.ts +0 -0
  58. package/listbox/index.d.ts +2 -0
  59. package/listbox/index.mjs +2 -0
  60. package/listbox/index.mjs.map +1 -0
  61. package/listbox/useListbox.d.ts +45 -0
  62. package/listbox/useListbox.props.d.ts +2 -0
  63. package/listbox/useListbox.test.d.ts +0 -0
  64. package/menu/index.d.ts +2 -0
  65. package/menu/index.mjs +2 -0
  66. package/menu/index.mjs.map +1 -0
  67. package/menu/sub/index.d.ts +2 -0
  68. package/menu/sub/index.mjs +2 -0
  69. package/menu/sub/index.mjs.map +1 -0
  70. package/menu/sub/useMenuSub.d.ts +19 -0
  71. package/menu/sub/useMenuSub.props.d.ts +2 -0
  72. package/menu/useMenu.d.ts +34 -0
  73. package/menu/useMenu.props.d.ts +2 -0
  74. package/menu/useMenu.test.d.ts +0 -0
  75. package/orgchart/index.d.ts +2 -0
  76. package/orgchart/index.mjs +2 -0
  77. package/orgchart/index.mjs.map +1 -0
  78. package/orgchart/useOrgChart.d.ts +20 -0
  79. package/orgchart/useOrgChart.props.d.ts +2 -0
  80. package/orgchart/useOrgChart.test.d.ts +0 -0
  81. package/overlay/index.d.ts +2 -0
  82. package/overlay/index.mjs +2 -0
  83. package/overlay/index.mjs.map +1 -0
  84. package/overlay/useOverlay.d.ts +16 -0
  85. package/overlay/useOverlay.props.d.ts +2 -0
  86. package/overlay/useOverlay.test.d.ts +0 -0
  87. package/package.json +4 -4
  88. package/password/index.d.ts +2 -0
  89. package/password/index.mjs +2 -0
  90. package/password/index.mjs.map +1 -0
  91. package/password/usePassword.d.ts +35 -0
  92. package/password/usePassword.props.d.ts +2 -0
  93. package/password/usePassword.test.d.ts +0 -0
  94. package/placer/index.mjs +1 -1
  95. package/placer/index.mjs.map +1 -1
  96. package/toast/index.d.ts +1 -0
  97. package/toast/index.mjs +1 -1
  98. package/toast/index.mjs.map +1 -1
  99. package/toast/item/index.css +1 -1
  100. package/toast/item/index.css.map +1 -1
  101. package/toast/item/index.mjs +1 -1
  102. package/toast/item/index.mjs.map +1 -1
  103. package/toast/item/useToastItem.d.ts +12 -8
  104. package/toast/toastStore.d.ts +40 -0
  105. package/toast/useToast.d.ts +12 -4
  106. package/tree/TreeDragDropService.d.ts +24 -0
  107. package/tree/index.d.ts +3 -0
  108. package/tree/index.mjs +2 -0
  109. package/tree/index.mjs.map +1 -0
  110. package/tree/useTree.d.ts +27 -0
  111. package/tree/useTree.props.d.ts +2 -0
  112. package/tree/useTree.test.d.ts +0 -0
  113. package/toast/index.css +0 -2
  114. package/toast/index.css.map +0 -1
@@ -0,0 +1,114 @@
1
+ import { useDatePickerDateMeta, useDatePickerProps } from '@primereact/types/shared/datepicker';
2
+ import * as React from 'react';
3
+ export declare const useDatePicker: (inProps?: unknown) => import("@primereact/types/core").HeadlessInstance<useDatePickerProps, unknown, {
4
+ state: {
5
+ rawValue: string | string[] | Date | Date[] | (Date | null)[] | (string | null)[] | null | undefined;
6
+ overlayVisible: boolean;
7
+ currentView: "date" | "month" | "year" | undefined;
8
+ showClearIcon: boolean;
9
+ hoveredDate: useDatePickerDateMeta | null;
10
+ };
11
+ inputRef: React.RefObject<{
12
+ elementRef: React.RefObject<HTMLInputElement>;
13
+ } | null>;
14
+ nextButtonRef: React.RefObject<{
15
+ elementRef: React.RefObject<HTMLButtonElement>;
16
+ } | null>;
17
+ prevButtonRef: React.RefObject<{
18
+ elementRef: React.RefObject<HTMLButtonElement>;
19
+ } | null>;
20
+ portalRef: React.RefObject<{
21
+ containerRef: {
22
+ current: {
23
+ elementRef: React.RefObject<HTMLDivElement>;
24
+ };
25
+ };
26
+ } | null>;
27
+ overlayRef: React.RefObject<HTMLDivElement | null>;
28
+ inputFieldValue: string;
29
+ weekHeaderLabel: string;
30
+ todayLabel: string;
31
+ clearLabel: string;
32
+ weekDays: string[];
33
+ months: {
34
+ month: number;
35
+ year: number;
36
+ dates: {
37
+ day: number;
38
+ month: number;
39
+ year: number;
40
+ otherMonth: boolean;
41
+ today: boolean;
42
+ selectable: boolean;
43
+ }[][];
44
+ weekNumbers: number[];
45
+ }[];
46
+ getIndexedMonth: (index?: number) => {
47
+ month: number;
48
+ year: number;
49
+ dates: {
50
+ day: number;
51
+ month: number;
52
+ year: number;
53
+ otherMonth: boolean;
54
+ today: boolean;
55
+ selectable: boolean;
56
+ }[][];
57
+ weekNumbers: number[];
58
+ };
59
+ getYear: () => number;
60
+ getMonthName: (index?: number) => string;
61
+ onPrevButtonClick: (event: React.MouseEvent<HTMLButtonElement>) => void;
62
+ onNextButtonClick: (event: React.MouseEvent<HTMLButtonElement>) => void;
63
+ monthPickerValues: {
64
+ value: string;
65
+ selectable: boolean;
66
+ }[];
67
+ yearPickerValues: {
68
+ value: number;
69
+ selectable: boolean;
70
+ }[];
71
+ switchToMonthView: (event: React.MouseEvent<HTMLButtonElement>) => void;
72
+ switchToYearView: (event: React.MouseEvent<HTMLButtonElement>) => void;
73
+ onDateSelect: (event: React.MouseEvent<HTMLSpanElement> | React.KeyboardEvent<HTMLSpanElement> | null, dateMeta: useDatePickerDateMeta) => void;
74
+ onMonthSelect: (event: React.MouseEvent<HTMLSpanElement> | React.KeyboardEvent<HTMLSpanElement>, index: number) => void;
75
+ onYearSelect: (event: React.MouseEvent<HTMLSpanElement> | React.KeyboardEvent<HTMLSpanElement>, year: {
76
+ value: number;
77
+ }) => void;
78
+ onDateCellKeydown: (event: React.KeyboardEvent<HTMLSpanElement>, date: useDatePickerDateMeta, groupIndex: number) => void;
79
+ onMonthCellKeydown: (event: React.KeyboardEvent<HTMLSpanElement>, index: number) => void;
80
+ onYearCellKeydown: (event: React.KeyboardEvent<HTMLSpanElement>, year: {
81
+ value: number;
82
+ }) => void;
83
+ onButtonClick: () => void;
84
+ switchViewButtonDisabled: boolean;
85
+ formattedCurrentHour: string | number;
86
+ formattedCurrentMinute: string | number;
87
+ formattedCurrentSecond: string | number;
88
+ ampmLabel: string;
89
+ onTimePickerElementMouseDown: (event: React.MouseEvent<HTMLButtonElement>, type: number, direction: number) => void;
90
+ onTimePickerElementMouseUp: (event: React.MouseEvent<HTMLButtonElement> | React.KeyboardEvent<HTMLButtonElement>) => void;
91
+ onTimePickerElementMouseLeave: () => void;
92
+ onContainerButtonKeydown: (event: React.KeyboardEvent<HTMLButtonElement>) => void;
93
+ onTimePickerElementKeyDown: (event: React.KeyboardEvent<HTMLButtonElement>, type: number, direction: number) => void;
94
+ onTimePickerElementKeyUp: (event: React.KeyboardEvent<HTMLButtonElement>) => void;
95
+ toggleAMPM: (event: React.MouseEvent<HTMLButtonElement>) => void;
96
+ onTodayButtonClick: (event: React.MouseEvent<HTMLButtonElement>) => void;
97
+ onClearButtonClick: (event: React.MouseEvent<HTMLButtonElement>) => void;
98
+ onClearClick: () => void;
99
+ onInput: (event: React.ChangeEvent<HTMLInputElement>) => void;
100
+ onInputClick: () => void;
101
+ onInputKeyDown: (event: React.KeyboardEvent<HTMLInputElement>) => void;
102
+ onInputFocus: (event: React.FocusEvent<HTMLInputElement>) => void;
103
+ onInputBlur: (event: React.FocusEvent<HTMLInputElement>) => void;
104
+ onOverlayEnter: () => void;
105
+ changeVisibleState: (isVisible: boolean) => void;
106
+ isRangeSelection: () => boolean;
107
+ isSelected: (dateMeta: useDatePickerDateMeta) => boolean;
108
+ parseValue: (text: string) => useDatePickerProps["value"];
109
+ isDateEquals: (value: Date | string | null | undefined, dateMeta: useDatePickerDateMeta) => boolean;
110
+ isMonthSelected: (month: number) => boolean;
111
+ isYearSelected: (year: number) => boolean;
112
+ isInHoverRange: (dateMeta: useDatePickerDateMeta) => boolean;
113
+ onDateCellMouseEnter: (dateMeta: useDatePickerDateMeta) => void;
114
+ }>;
@@ -0,0 +1,2 @@
1
+ import type { useDatePickerProps } from '@primereact/types/shared/datepicker';
2
+ export declare const defaultProps: useDatePickerProps;
File without changes
package/gallery/index.mjs CHANGED
@@ -1,2 +1,2 @@
1
- import{withHeadless as S}from"@primereact/core/headless";import*as t from"react";var h={activeIndex:0,onActiveIndexChange:void 0};var O=S({name:"useGallery",defaultProps:h,setup:({props:y,elementRef:u})=>{let{activeIndex:i=0,onActiveIndexChange:s=void 0}=y,g=t.useRef(null),o=t.useRef([]),x=t.useRef(null),w=t.useRef(null),E=t.useRef(null),I=t.useRef(null),[,b]=t.useState(0),[l,f]=t.useState(i),[d,p]=t.useState(!1);t.useEffect(()=>{f(i)},[i]);let z=e=>{if(!e)return-1;let c=o.current.findIndex(r=>r.current===e);return c===-1?(o.current.push({current:e}),b(r=>r+1),o.current.length-1):c},m=()=>{let e=(l+1)%o.current.length;f(e),s==null||s({originalEvent:void 0,value:e})},R=()=>{let e=(l-1+o.current.length)%o.current.length;f(e),s==null||s({originalEvent:void 0,value:e})},n=e=>()=>{var r;let c=(r=o.current[l])==null?void 0:r.current;if(c){let L=new CustomEvent("gallery-"+e,{detail:{action:e}});c.dispatchEvent(L)}},v=()=>{u.current&&(d?(Object.assign(u.current.style,{position:"relative",top:"",left:"",width:"",height:"",zIndex:""}),document.body.style.overflow="auto",p(!1)):(Object.assign(u.current.style,{position:"fixed",top:"0",left:"0",width:"100dvw",height:"100dvh",zIndex:"9999"}),document.body.style.overflow="hidden",p(!0)),setTimeout(()=>{window.dispatchEvent(new Event("resize"))},100))},a={zoomIn:n("zoom-in"),zoomOut:n("zoom-out"),rotateLeft:n("rotate-left"),rotateRight:n("rotate-right"),flipX:n("flip-x"),flipY:n("flip-y"),download:n("download"),next:m,prev:R,toggleFullScreen:v},H=t.useCallback(e=>{e&&a[e]&&a[e]()},[a]);return{state:{isFullscreen:d,activeIndex:l},registerItem:z,handleNext:m,handlePrev:R,createCustomEvent:n,toggleFullScreen:v,handleClickAction:H,actions:a,contentRef:g,toolbarRef:x,thumbnailRef:w,prevRef:E,nextRef:I}}});export{h as defaultProps,O as useGallery};
1
+ import{withHeadless as S}from"@primereact/core/headless";import*as t from"react";var h={activeIndex:0,onActiveIndexChange:void 0};var C=S({name:"useGallery",defaultProps:h,setup:({props:y,elementRef:u})=>{let{activeIndex:i=0,onActiveIndexChange:s=void 0}=y,g=t.useRef(null),o=t.useRef([]),x=t.useRef(null),w=t.useRef(null),E=t.useRef(null),I=t.useRef(null),[,b]=t.useState(0),[l,f]=t.useState(i),[d,p]=t.useState(!1);t.useEffect(()=>{f(i)},[i]);let z=e=>{if(!e)return-1;let c=o.current.findIndex(r=>r.current===e);return c===-1?(o.current.push({current:e}),b(r=>r+1),o.current.length-1):c},m=()=>{let e=(l+1)%o.current.length;f(e),s==null||s({originalEvent:void 0,value:e})},v=()=>{let e=(l-1+o.current.length)%o.current.length;f(e),s==null||s({originalEvent:void 0,value:e})},n=e=>()=>{var r;let c=(r=o.current[l])==null?void 0:r.current;if(c){let L=new CustomEvent("gallery-"+e,{detail:{action:e}});c.dispatchEvent(L)}},R=()=>{u.current&&(d?(Object.assign(u.current.style,{position:"relative",top:"",left:"",width:"",height:"",zIndex:""}),document.body.style.overflow="auto",p(!1)):(Object.assign(u.current.style,{position:"fixed",top:"0",left:"0",width:"100dvw",height:"100dvh",zIndex:"9999"}),document.body.style.overflow="hidden",p(!0)),setTimeout(()=>{window.dispatchEvent(new Event("resize"))},100))},a={zoomIn:n("zoom-in"),zoomOut:n("zoom-out"),rotateLeft:n("rotate-left"),rotateRight:n("rotate-right"),flipX:n("flip-x"),flipY:n("flip-y"),download:n("download"),next:m,prev:v,toggleFullScreen:R},H=t.useCallback(e=>{e&&a[e]&&a[e]()},[a]);return{state:{isFullscreen:d,activeIndex:l},registerItem:z,handleNext:m,handlePrev:v,createCustomEvent:n,toggleFullScreen:R,handleClickAction:H,actions:a,contentRef:g,toolbarRef:x,thumbnailRef:w,prevRef:E,nextRef:I}}});export{h as defaultProps,C as useGallery};
2
2
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/gallery/useGallery.tsx","../../src/gallery/useGallery.props.ts"],"sourcesContent":["import { withHeadless } from '@primereact/core/headless';\nimport { Carousel } from 'primereact/carousel';\nimport * as React from 'react';\nimport { defaultProps } from './useGallery.props';\n\nexport const useGallery = withHeadless({\n name: 'useGallery',\n defaultProps,\n setup: ({ props, elementRef }) => {\n const { activeIndex: activeIndexProp = 0, onActiveIndexChange = undefined } = props;\n const contentRef = React.useRef<HTMLDivElement>(null);\n const itemsRef = React.useRef<React.RefObject<HTMLDivElement>[]>([]);\n const toolbarRef = React.useRef<HTMLDivElement>(null);\n const thumbnailRef = React.useRef<React.RefObject<typeof Carousel>>(null);\n const prevRef = React.useRef<HTMLButtonElement>(null);\n const nextRef = React.useRef<HTMLButtonElement>(null);\n const [, forceUpdate] = React.useState(0);\n const [activeIndex, setActiveIndex] = React.useState(activeIndexProp);\n\n const [isFullscreen, setIsFullscreen] = React.useState(false);\n\n React.useEffect(() => {\n setActiveIndex(activeIndexProp);\n }, [activeIndexProp]);\n\n const registerItem = (ref: HTMLDivElement | null): number => {\n if (!ref) return -1;\n\n const existingIndex = itemsRef.current.findIndex((item) => item.current === ref);\n\n if (existingIndex === -1) {\n itemsRef.current.push({ current: ref });\n forceUpdate((x) => x + 1);\n\n return itemsRef.current.length - 1;\n }\n\n return existingIndex;\n };\n\n const handleNext = () => {\n const newIndex = (activeIndex + 1) % itemsRef.current.length;\n\n setActiveIndex(newIndex);\n onActiveIndexChange?.({ originalEvent: undefined as unknown as React.SyntheticEvent, value: newIndex });\n };\n\n const handlePrev = () => {\n const newIndex = (activeIndex - 1 + itemsRef.current.length) % itemsRef.current.length;\n\n setActiveIndex(newIndex);\n onActiveIndexChange?.({ originalEvent: undefined as unknown as React.SyntheticEvent, value: newIndex });\n };\n\n const createCustomEvent = (action: string) => () => {\n const activeItem = itemsRef.current[activeIndex]?.current;\n\n if (activeItem) {\n const event = new CustomEvent('gallery-' + action, {\n detail: { action: action }\n });\n\n activeItem.dispatchEvent(event);\n }\n };\n\n const toggleFullScreen = () => {\n if (!elementRef.current) return;\n\n if (!isFullscreen) {\n Object.assign(elementRef.current.style, {\n position: 'fixed',\n top: '0',\n left: '0',\n width: '100dvw',\n height: '100dvh',\n zIndex: '9999'\n });\n\n document.body.style.overflow = 'hidden';\n\n setIsFullscreen(true);\n } else {\n Object.assign(elementRef.current.style, {\n position: 'relative',\n top: '',\n left: '',\n width: '',\n height: '',\n zIndex: ''\n });\n\n document.body.style.overflow = 'auto';\n\n setIsFullscreen(false);\n }\n\n setTimeout(() => {\n window.dispatchEvent(new Event('resize'));\n }, 100);\n };\n\n const actions = {\n zoomIn: createCustomEvent('zoom-in'),\n zoomOut: createCustomEvent('zoom-out'),\n rotateLeft: createCustomEvent('rotate-left'),\n rotateRight: createCustomEvent('rotate-right'),\n flipX: createCustomEvent('flip-x'),\n flipY: createCustomEvent('flip-y'),\n download: createCustomEvent('download'),\n next: handleNext,\n prev: handlePrev,\n toggleFullScreen: toggleFullScreen\n };\n\n const handleClickAction = React.useCallback(\n (action?: string) => {\n if (action && actions[action as keyof typeof actions]) {\n actions[action as keyof typeof actions]();\n }\n },\n [actions]\n );\n\n const state = {\n isFullscreen,\n activeIndex\n };\n\n return {\n state,\n registerItem,\n handleNext,\n handlePrev,\n createCustomEvent,\n toggleFullScreen,\n handleClickAction,\n actions,\n contentRef,\n toolbarRef,\n thumbnailRef,\n prevRef,\n nextRef\n };\n }\n});\n","import type { useGalleryProps } from '@primereact/types/shared/gallery';\n\nexport const defaultProps: useGalleryProps = {\n activeIndex: 0,\n onActiveIndexChange: undefined\n};\n"],"mappings":"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","names":["withHeadless","React","defaultProps","useGallery","withHeadless","defaultProps","props","elementRef","activeIndexProp","onActiveIndexChange","contentRef","itemsRef","toolbarRef","thumbnailRef","prevRef","nextRef","forceUpdate","activeIndex","setActiveIndex","isFullscreen","setIsFullscreen","registerItem","ref","existingIndex","item","x","handleNext","newIndex","handlePrev","createCustomEvent","action","_a","activeItem","event","toggleFullScreen","actions","handleClickAction"]}
1
+ {"version":3,"sources":["../../src/gallery/useGallery.tsx","../../src/gallery/useGallery.props.ts"],"sourcesContent":["import { withHeadless } from '@primereact/core/headless';\nimport type { CarouselInstance } from '@primereact/types/shared/carousel';\nimport * as React from 'react';\nimport { defaultProps } from './useGallery.props';\n\nexport const useGallery = withHeadless({\n name: 'useGallery',\n defaultProps,\n setup: ({ props, elementRef }) => {\n const { activeIndex: activeIndexProp = 0, onActiveIndexChange = undefined } = props;\n const contentRef = React.useRef<HTMLDivElement>(null);\n const itemsRef = React.useRef<React.RefObject<HTMLDivElement>[]>([]);\n const toolbarRef = React.useRef<HTMLDivElement>(null);\n const thumbnailRef = React.useRef<CarouselInstance | null>(null);\n const prevRef = React.useRef<HTMLButtonElement>(null);\n const nextRef = React.useRef<HTMLButtonElement>(null);\n const [, forceUpdate] = React.useState(0);\n const [activeIndex, setActiveIndex] = React.useState(activeIndexProp);\n\n const [isFullscreen, setIsFullscreen] = React.useState(false);\n\n React.useEffect(() => {\n setActiveIndex(activeIndexProp);\n }, [activeIndexProp]);\n\n const registerItem = (ref: HTMLDivElement | null): number => {\n if (!ref) return -1;\n\n const existingIndex = itemsRef.current.findIndex((item) => item.current === ref);\n\n if (existingIndex === -1) {\n itemsRef.current.push({ current: ref });\n forceUpdate((x) => x + 1);\n\n return itemsRef.current.length - 1;\n }\n\n return existingIndex;\n };\n\n const handleNext = () => {\n const newIndex = (activeIndex + 1) % itemsRef.current.length;\n\n setActiveIndex(newIndex);\n onActiveIndexChange?.({ originalEvent: undefined as unknown as React.SyntheticEvent, value: newIndex });\n };\n\n const handlePrev = () => {\n const newIndex = (activeIndex - 1 + itemsRef.current.length) % itemsRef.current.length;\n\n setActiveIndex(newIndex);\n onActiveIndexChange?.({ originalEvent: undefined as unknown as React.SyntheticEvent, value: newIndex });\n };\n\n const createCustomEvent = (action: string) => () => {\n const activeItem = itemsRef.current[activeIndex]?.current;\n\n if (activeItem) {\n const event = new CustomEvent('gallery-' + action, {\n detail: { action: action }\n });\n\n activeItem.dispatchEvent(event);\n }\n };\n\n const toggleFullScreen = () => {\n if (!elementRef.current) return;\n\n if (!isFullscreen) {\n Object.assign(elementRef.current.style, {\n position: 'fixed',\n top: '0',\n left: '0',\n width: '100dvw',\n height: '100dvh',\n zIndex: '9999'\n });\n\n document.body.style.overflow = 'hidden';\n\n setIsFullscreen(true);\n } else {\n Object.assign(elementRef.current.style, {\n position: 'relative',\n top: '',\n left: '',\n width: '',\n height: '',\n zIndex: ''\n });\n\n document.body.style.overflow = 'auto';\n\n setIsFullscreen(false);\n }\n\n setTimeout(() => {\n window.dispatchEvent(new Event('resize'));\n }, 100);\n };\n\n const actions = {\n zoomIn: createCustomEvent('zoom-in'),\n zoomOut: createCustomEvent('zoom-out'),\n rotateLeft: createCustomEvent('rotate-left'),\n rotateRight: createCustomEvent('rotate-right'),\n flipX: createCustomEvent('flip-x'),\n flipY: createCustomEvent('flip-y'),\n download: createCustomEvent('download'),\n next: handleNext,\n prev: handlePrev,\n toggleFullScreen: toggleFullScreen\n };\n\n const handleClickAction = React.useCallback(\n (action?: string) => {\n if (action && actions[action as keyof typeof actions]) {\n actions[action as keyof typeof actions]();\n }\n },\n [actions]\n );\n\n const state = {\n isFullscreen,\n activeIndex\n };\n\n return {\n state,\n registerItem,\n handleNext,\n handlePrev,\n createCustomEvent,\n toggleFullScreen,\n handleClickAction,\n actions,\n contentRef,\n toolbarRef,\n thumbnailRef,\n prevRef,\n nextRef\n };\n }\n});\n","import type { useGalleryProps } from '@primereact/types/shared/gallery';\n\nexport const defaultProps: useGalleryProps = {\n activeIndex: 0,\n onActiveIndexChange: undefined\n};\n"],"mappings":"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","names":["withHeadless","React","defaultProps","useGallery","withHeadless","defaultProps","props","elementRef","activeIndexProp","onActiveIndexChange","contentRef","itemsRef","toolbarRef","thumbnailRef","prevRef","nextRef","forceUpdate","activeIndex","setActiveIndex","isFullscreen","setIsFullscreen","registerItem","ref","existingIndex","item","x","handleNext","newIndex","handlePrev","createCustomEvent","action","_a","activeItem","event","toggleFullScreen","actions","handleClickAction"]}
@@ -1,2 +1,2 @@
1
- var ye=Object.defineProperty,ve=Object.defineProperties;var be=Object.getOwnPropertyDescriptors;var it=Object.getOwnPropertySymbols;var Ie=Object.prototype.hasOwnProperty,Ge=Object.prototype.propertyIsEnumerable;var at=(o,r,s)=>r in o?ye(o,r,{enumerable:!0,configurable:!0,writable:!0,value:s}):o[r]=s,P=(o,r)=>{for(var s in r||(r={}))Ie.call(r,s)&&at(o,s,r[s]);if(it)for(var s of it(r))Ge.call(r,s)&&at(o,s,r[s]);return o},b=(o,r)=>ve(o,be(r));import{withHeadless as xr}from"@primereact/core/headless";import{Component as lr}from"@primereact/core/component";import{useGallery as ur}from"@primereact/headless/gallery";import{styles as fr}from"@primereact/styles/gallery";import{mergeProps as dr}from"@primeuix/utils";import{withComponent as Re}from"@primereact/core/component";import{styles as Ee}from"@primereact/styles/base";var m=({name:o="UnknownComponent",defaultProps:r,styles:s=b(P({},Ee),{name:"global"}),components:t,setup:e,render:a})=>Re({name:o,defaultProps:r,styles:s,components:t,setup:e,render:a});import*as _ from"react";import{createOptionalContext as we}from"@primereact/core/utils";var[mt,f]=we();import*as pt from"@primereact/headless/gallery";var ct=b(P({},pt.defaultProps),{as:"div"});import{Component as Te}from"@primereact/core/component";import{mergeProps as Se}from"@primeuix/utils";import*as ut from"react";var lt={as:"div"};var ft=m({name:"GalleryBackdrop",defaultProps:lt,setup(){return{gallery:f()}},render(o){let{props:r,ptmi:s,gallery:t}=o,e=Se({className:t==null?void 0:t.cx("backdrop")},s("root"));return ut.createElement(Te,{instance:o,attrs:e,children:r.children})}});import{Component as ke}from"@primereact/core/component";import{mergeProps as Le}from"@primeuix/utils";import*as xt from"react";var dt={as:"div"};var ht=m({name:"GalleryContent",defaultProps:dt,setup(){return{gallery:f()}},render(o){let{props:r,ptmi:s,gallery:t}=o,e=Le({className:t==null?void 0:t.cx("content")},s("root"));return xt.createElement(ke,{instance:o,attrs:e,children:r.children,ref:t==null?void 0:t.contentRef})}});import{Component as Me}from"@primereact/core/component";import{useGalleryItem as ge}from"@primereact/headless/gallery/item";import{mergeProps as ze}from"@primeuix/utils";import*as K from"react";import{createOptionalContext as Ne}from"@primereact/core/utils";var[Ct,jr]=Ne();import*as Pt from"@primereact/headless/gallery";var yt=b(P({},Pt.defaultProps),{as:"div"});var vt=m({name:"GalleryItem",defaultProps:yt,setup(o){let r=f(),s=ge(o.inProps);return b(P({},s),{gallery:r})},render(o){let{id:r,props:s,ptmi:t,gallery:e,handleClick:a,handlePointerDown:N,handlePointerMove:S,handlePointerUp:k,handleDragStart:y,CSSVariables:L,attributes:x}=o,H=ze(P({id:r,className:e==null?void 0:e.cx("item"),onClick:a,onPointerDown:N,onPointerMove:S,onPointerUp:k,onDragStart:y,style:L},x),t("root"),e==null?void 0:e.ptm("item"));return K.createElement(Ct,{value:o},K.createElement(Me,{instance:o,attrs:H,children:s.children}))}});import{Component as De}from"@primereact/core/component";import{mergeProps as Xe}from"@primeuix/utils";import*as It from"react";var bt={as:"button"};var Gt=m({name:"GalleryNext",defaultProps:bt,setup(){return{gallery:f()}},render(o){var a;let{props:r,ptmi:s,gallery:t}=o,e=Xe({className:t==null?void 0:t.cx("next"),onClick:(a=t==null?void 0:t.actions)==null?void 0:a.next},s("root"));return It.createElement(De,{instance:o,attrs:e,children:r.children,ref:t==null?void 0:t.nextRef})}});import{Component as Ye}from"@primereact/core/component";import{mergeProps as He}from"@primeuix/utils";import*as Et from"react";var Rt={as:"button"};var wt=m({name:"GalleryPrev",defaultProps:Rt,setup(){return{gallery:f()}},render(o){var a;let{props:r,ptmi:s,gallery:t}=o,e=He({className:t==null?void 0:t.cx("prev"),onClick:(a=t==null?void 0:t.actions)==null?void 0:a.prev},s("root"));return Et.createElement(Ye,{instance:o,attrs:e,children:r.children,ref:t==null?void 0:t.prevRef})}});import{Component as er}from"@primereact/core/component";import{mergeProps as rr}from"@primeuix/utils";import{Component as Je}from"@primereact/core/component";import{useCarousel as Qe}from"@primereact/headless/carousel";import{styles as Ze}from"@primereact/styles/carousel";import{mergeProps as tr}from"@primeuix/utils";import*as q from"react";import{createOptionalContext as Oe}from"@primereact/core/utils";var[Tt,I]=Oe();import*as St from"@primereact/headless/carousel";var kt=b(P({},St.defaultProps),{as:"div"});import{Component as $e}from"@primereact/core/component";import{mergeProps as Nt}from"@primeuix/utils";import*as V from"react";var Lt={as:"div"};var Mt=m({name:"CarouselContent",defaultProps:Lt,setup(){return{carousel:I()}},render(o){let{props:r,ptmi:s,carousel:t}=o,e=Nt({className:t==null?void 0:t.cx("content",{orientation:t==null?void 0:t.props.orientation}),style:{"--p-swipe-amount-x":"0px","--p-swipe-amount-y":"0px","--p-spacing":`${t==null?void 0:t.props.spacing}px`},onPointerDown:t==null?void 0:t.handlePointerDown,onPointerMove:t==null?void 0:t.handlePointerMove,onPointerUp:t==null?void 0:t.handlePointerUp,onClick:t==null?void 0:t.handleClick,onClickCapture:t==null?void 0:t.handleClick},t==null?void 0:t.ptm("content"),s("root")),a=Nt({className:t==null?void 0:t.cx("viewport")},t==null?void 0:t.ptm("viewport"));return V.createElement("div",P({},a),V.createElement($e,{instance:o,attrs:e,children:r.children,ref:t==null?void 0:t.carouselRef}))}});import{Component as je}from"@primereact/core/component";import{mergeProps as Be}from"@primeuix/utils";import*as zt from"react";var gt={as:"button",snap:void 0,index:void 0};var W=m({name:"CarouselIndicator",defaultProps:gt,setup(){return{carousel:I()}},render(o){var a;let{props:r,ptmi:s,carousel:t}=o,e=Be({className:t==null?void 0:t.cx("indicator",{active:r.index===((a=t==null?void 0:t.state)==null?void 0:a.activeIndex)}),onClick:()=>t==null?void 0:t.slideTo(void 0,r.snap)},t==null?void 0:t.ptm("indicator"),s("root"));return zt.createElement(je,{instance:o,attrs:e,children:r.children})}});import{Component as Ae}from"@primereact/core/component";import{mergeProps as We}from"@primeuix/utils";import*as X from"react";var Dt={as:"div"};var Xt=m({name:"CarouselIndicators",defaultProps:Dt,setup(){return{carousel:I()}},render(o){var a,N;let{props:r,ptmi:s,carousel:t}=o,e=We({className:t==null?void 0:t.cx("indicators")},t==null?void 0:t.ptm("indicators"),s("root"));return X.createElement(Ae,{instance:o,attrs:e,children:(N=r.children)!=null?N:X.createElement(X.Fragment,null,(a=t==null?void 0:t.state)==null?void 0:a.snapPoints.map((S,k)=>X.createElement(W,{key:k,snap:S,index:k})))})}});import{Component as Ue}from"@primereact/core/component";import{mergeProps as Fe}from"@primeuix/utils";import*as Ht from"react";var Yt={as:"div",size:100};var Ot=m({name:"CarouselItem",defaultProps:Yt,setup(){return{carousel:I()}},render(o){let{props:r,ptmi:s,carousel:t}=o,e=Fe({className:t==null?void 0:t.cx("item"),style:{"--p-slide-size":`${r.size}%`}},t==null?void 0:t.ptm("item"),s("root"));return Ht.createElement(Ue,{instance:o,attrs:e,children:r.children,ref:t==null?void 0:t.addSlideRef})}});import{Component as Ke}from"@primereact/core/component";import{mergeProps as Ve}from"@primeuix/utils";import*as jt from"react";var $t={as:"button"};var Bt=m({name:"CarouselNext",defaultProps:$t,setup(){return{carousel:I()}},render(o){let{props:r,ptmi:s,carousel:t}=o,e=t==null?void 0:t.state.nextDisabled,a=Ve({className:t==null?void 0:t.cx("prev",{disabled:e}),onClick:t==null?void 0:t.handleNext,disabled:e},t==null?void 0:t.ptm("prev"),s("root"));return jt.createElement(Ke,{instance:o,attrs:a,children:r.children})}});import{Component as qe}from"@primereact/core/component";import{mergeProps as _e}from"@primeuix/utils";import*as Wt from"react";var At={as:"button"};var Ut=m({name:"CarouselPrev",defaultProps:At,setup(){return{carousel:I()}},render(o){let{props:r,ptmi:s,carousel:t}=o,e=t==null?void 0:t.state.prevDisabled,a=_e({className:t==null?void 0:t.cx("prev",{disabled:e}),onClick:t==null?void 0:t.handlePrev,disabled:e},t==null?void 0:t.ptm("prev"),s("root"));return Wt.createElement(qe,{instance:o,attrs:a,children:r.children})}});var Y=m({name:"Carousel",defaultProps:kt,styles:Ze,setup(o){return Qe(o.inProps)},render(o){let{id:r,props:s,ptmi:t,cx:e}=o,a=tr({id:r,className:e("root")},t("root"));return q.createElement(Tt,{value:o},q.createElement(Je,{instance:o,attrs:a,children:s.children}))},components:{Content:Mt,Item:Ot,Next:Bt,Prev:Ut,Indicators:Xt,Indicator:W}});import*as Kt from"react";var Ft={as:"div"};var Vt=m({name:"GalleryThumbnail",defaultProps:Ft,setup(){return{gallery:f()}},render(o){let{props:r,ptmi:s,gallery:t}=o,e=rr({className:t==null?void 0:t.cx("thumbnail")},s("root"));return Kt.createElement(er,{as:Y,instance:o,attrs:e,children:r.children,ref:t==null?void 0:t.thumbnailRef})}});import{Component as or}from"@primereact/core/component";import{mergeProps as nr}from"@primeuix/utils";import*as _t from"react";var qt={};var Jt=m({name:"GalleryThumbnailContent",defaultProps:qt,setup(){return{gallery:f()}},render(o){let{props:r,ptmi:s,gallery:t}=o,e=nr({className:t==null?void 0:t.cx("thumbnailContent")},s("root"));return _t.createElement(or,{as:Y.Content,instance:o,attrs:e,children:r.children})}});import{Component as sr}from"@primereact/core/component";import{mergeProps as ir}from"@primeuix/utils";import*as Zt from"react";var Qt={};var te=m({name:"GalleryThumbnailItem",defaultProps:Qt,setup(){return{gallery:f()}},render(o){let{props:r,ptmi:s,gallery:t}=o,e=ir({className:t==null?void 0:t.cx("thumbnailItem")},s("root"));return Zt.createElement(sr,{as:Y.Item,instance:o,attrs:e,children:r.children})}});import{Component as ar}from"@primereact/core/component";import{mergeProps as mr}from"@primeuix/utils";import*as re from"react";var ee={as:"div"};var oe=m({name:"GalleryToolbar",defaultProps:ee,setup(){return{gallery:f()}},render(o){let{props:r,ptmi:s,gallery:t}=o,e=mr({className:t==null?void 0:t.cx("toolbar")},s("root"));return re.createElement(ar,{instance:o,attrs:e,children:r.children,ref:t==null?void 0:t.toolbarRef})}});import{Component as pr}from"@primereact/core/component";import{mergeProps as cr}from"@primeuix/utils";import*as se from"react";var ne={as:"div",action:void 0,onClick:void 0};var ie=m({name:"GalleryToolbarItem",defaultProps:ne,setup(){return{gallery:f()}},render(o){let{props:r,ptmi:s,gallery:t}=o,e=cr({className:t==null?void 0:t.cx("toolbarItem"),onClick:()=>{var a;t==null||t.handleClickAction(r==null?void 0:r.action),(a=r==null?void 0:r.onClick)==null||a.call(r)}},s("root"));return se.createElement(pr,{instance:o,attrs:e,children:r.children})}});var Ks=m({name:"Gallery",defaultProps:ct,styles:fr,setup(o){return ur(o.inProps)},render(o){let{id:r,props:s,ptmi:t,cx:e}=o,a=dr({id:r,className:e("root")},t("root"));return _.createElement(mt,{value:o},_.createElement(lr,{instance:o,attrs:a,children:s.children}))},components:{Backdrop:ft,Content:ht,Item:vt,Next:Gt,Prev:wt,Toolbar:oe,ToolbarItem:ie,Thumbnail:Vt,ThumbnailContent:Jt,ThumbnailItem:te}});import*as p from"react";var ae={normalScale:1,zoomedScale:3};var oi=xr({name:"useGalleryItem",defaultProps:ae,setup:({props:o,elementRef:r})=>{let{normalScale:s=1,zoomedScale:t=3}=o,e=f(),[a,N]=p.useState(-1),[S,k]=p.useState(!1),[y,L]=p.useState({x:0,y:0}),[x,H]=p.useState(1),[T,J]=p.useState(0),[O,Q]=p.useState({x:1,y:1}),[Z,U]=p.useState(!1),[$,tt]=p.useState({x:0,y:0}),[F,j]=p.useState(!1),E=p.useRef(new Map),M=p.useRef(0),w=p.useCallback(()=>{if(!(e!=null&&e.contentRef.current)||!r.current)return;let n=e==null?void 0:e.contentRef.current.getBoundingClientRect(),i=r.current.firstElementChild;if(!i)return;let c=i.naturalWidth||i.offsetWidth,l=i.naturalHeight||i.offsetHeight;if(c===0||l===0)return;let C=Math.abs(T)%180===90;C&&([c,l]=[l,c]);let h=c/l,v=n.width/n.height,d,u;h>v?(d=Math.min(n.width*.99,c),u=d/h):(u=Math.min(n.height*.99,l),d=u*h),C?(i.style.width=`${u}px`,i.style.height=`${d}px`,r.current.style.width=`${u>0?u:"auto"}px`,r.current.style.height=`${d>0?d:"auto"}px`):(i.style.width=`${d}px`,i.style.height=`${u}px`,r.current.style.width=`${d>0?d:"auto"}px`,r.current.style.height=`${u>0?u:"auto"}px`),r.current.style.aspectRatio=`${c/l}`},[e==null?void 0:e.contentRef,T]),g=p.useCallback(n=>{if(!(e!=null&&e.contentRef.current)||!r.current)return{minX:0,maxX:0,minY:0,maxY:0};let i=e==null?void 0:e.contentRef.current.getBoundingClientRect(),c=n!==void 0?n:x,l=r.current.firstElementChild;if(!l)return{minX:0,maxX:0,minY:0,maxY:0};let C=l.offsetWidth,h=l.offsetHeight;Math.abs(T)%180===90&&([C,h]=[h,C]);let d=C*c,u=h*c,G=i.width/2,R=i.height/2,z=d/2,D=u/2,xe=z>G?z-G:0,he=z>G?-(z-G):0,Ce=D>R?D-R:0,Pe=D>R?-(D-R):0;return{minX:he,maxX:xe,minY:Pe,maxY:Ce}},[e==null?void 0:e.contentRef,x,T]),B=p.useCallback(()=>{H(t);let n={visibility:"hidden",opacity:0,pointerEvents:"none",userSelect:"none",touchAction:"none"};e!=null&&e.toolbarRef.current&&Object.assign(e==null?void 0:e.toolbarRef.current.style,n),e!=null&&e.thumbnailRef.current&&Object.assign(e==null?void 0:e.thumbnailRef.current.elementRef.current.style,n),e!=null&&e.prevRef.current&&Object.assign(e.prevRef.current.style,n),e!=null&&e.nextRef.current&&Object.assign(e.nextRef.current.style,n),r.current&&(r.current.style.cursor="zoom-out",r.current.style.pointerEvents="auto")},[t,e==null?void 0:e.toolbarRef,e==null?void 0:e.thumbnailRef,e==null?void 0:e.prevRef,e==null?void 0:e.nextRef]),A=p.useCallback(()=>{H(s),L({x:0,y:0});let n={visibility:"",opacity:"",pointerEvents:"",userSelect:"",touchAction:""};e!=null&&e.toolbarRef.current&&Object.assign(e.toolbarRef.current.style,n),e!=null&&e.thumbnailRef.current&&Object.assign(e.thumbnailRef.current.elementRef.current.style,n),e!=null&&e.prevRef.current&&Object.assign(e.prevRef.current.style,n),e!=null&&e.nextRef.current&&Object.assign(e.nextRef.current.style,n),r.current&&(r.current.style.cursor="zoom-in",r.current.style.pointerEvents="auto")},[s,e==null?void 0:e.toolbarRef,e==null?void 0:e.thumbnailRef,e==null?void 0:e.prevRef,e==null?void 0:e.nextRef]),et=()=>{r.current&&(r.current.style.transition="none",J(n=>n-90),setTimeout(()=>{r.current&&(r.current.style.transition="")},0))},rt=()=>{r.current&&(r.current.style.transition="none",J(n=>n+90),setTimeout(()=>{r.current&&(r.current.style.transition="")},0))},ot=()=>{Q(n=>b(P({},n),{x:Math.sign(n.x)*-1}))},nt=()=>{Q(n=>b(P({},n),{y:Math.sign(n.y)*-1}))},st=()=>{if(!r.current)return;let n=r.current.querySelector("img");if(!n||!n.src)return;let i=document.createElement("a");i.href=n.src;let c=n.src.split("/"),l=c[c.length-1]||"image.jpg";i.download=l,i.target="_blank",document.body.appendChild(i),i.click(),document.body.removeChild(i)},me=p.useCallback(n=>{if(F){j(!1);return}if(x===s){if(r.current){let i=r.current.getBoundingClientRect(),c=i.width/2,l=i.height/2,C=n.clientX-i.left,h=n.clientY-i.top,v=c-C,d=l-h,u=v*(t-1),G=d*(t-1),R=g(t),z=Math.max(R.minX,Math.min(R.maxX,u)),D=Math.max(R.minY,Math.min(R.maxY,G));L({x:z,y:D})}B()}else A()},[F,s,t,g,x,B,A]),pe=p.useCallback(n=>{n.preventDefault()},[]),ce=p.useCallback(n=>{n.currentTarget.setPointerCapture(n.pointerId),E.current.set(n.pointerId,{x:n.clientX,y:n.clientY}),x>1&&(n.pointerType==="mouse"?(U(!0),tt({x:n.clientX-y.x,y:n.clientY-y.y}),j(!1)):n.pointerType==="touch"&&E.current.size===1&&(U(!0),tt({x:n.clientX-y.x,y:n.clientY-y.y}),j(!1),M.current=0)),n.pointerType==="touch"&&E.current.size===1&&(M.current=0)},[x,y]),le=p.useCallback(n=>{if(!E.current.has(n.pointerId)||!r.current)return;r.current.style.transition="none",r.current.style.cursor||(r.current.style.cursor=x>s?"zoom-out":"zoom-in"),E.current.set(n.pointerId,{x:n.clientX,y:n.clientY});let c=Array.from(E.current.values());if(c.length===2){let[l,C]=c,h=Math.hypot(C.x-l.x,C.y-l.y);if(M.current>0){let v=(h-M.current)*.01;if(Math.abs(v)>.01){let d=x===s?t:s,u=g(d),G=Math.max(u.minX,Math.min(u.maxX,y.x)),R=Math.max(u.minY,Math.min(u.maxY,y.y));L({x:G,y:R}),H(d)}}M.current=h}else if(c.length===1&&Z){let l=c[0],C=l.x-$.x,h=l.y-$.y,v=g(),d=Math.max(v.minX,Math.min(v.maxX,C)),u=Math.max(v.minY,Math.min(v.maxY,h));L({x:d,y:u}),j(!0)}},[Z,$,x,s,t,y,g]),ue=p.useCallback(n=>{r.current&&(r.current.style.transition="",r.current.style.cursor=x>s?"zoom-out":"zoom-in",n.currentTarget.releasePointerCapture(n.pointerId),E.current.delete(n.pointerId),E.current.size<2&&(M.current=0),E.current.size===0&&U(!1))},[]);p.useEffect(()=>{x<=1&&L({x:0,y:0})},[x]),p.useEffect(()=>{(e==null?void 0:e.state.activeIndex)===a&&document.readyState==="complete"&&w()},[e==null?void 0:e.state.activeIndex,a,w]),p.useEffect(()=>{(e==null?void 0:e.state.activeIndex)===a&&w()},[T,w,e==null?void 0:e.state.activeIndex,a]),p.useEffect(()=>{(e==null?void 0:e.state.activeIndex)===a&&(e==null?void 0:e.state.isFullscreen)!==void 0&&w()},[e==null?void 0:e.state.isFullscreen,w,e==null?void 0:e.state.activeIndex,a]),p.useEffect(()=>{let n=()=>{(e==null?void 0:e.state.activeIndex)===a&&w()};return window.addEventListener("resize",n),()=>window.removeEventListener("resize",n)},[e==null?void 0:e.state.activeIndex,a,w]),p.useEffect(()=>{if(e&&r.current){let n=e.registerItem(r.current);N(n)}},[e]),p.useEffect(()=>{let n=c=>{var l,C,h,v,d,u,G;((l=c.detail)==null?void 0:l.action)==="zoom-in"?B():((C=c.detail)==null?void 0:C.action)==="zoom-out"?A():((h=c.detail)==null?void 0:h.action)==="rotate-left"?et():((v=c.detail)==null?void 0:v.action)==="rotate-right"?rt():((d=c.detail)==null?void 0:d.action)==="flip-x"?ot():((u=c.detail)==null?void 0:u.action)==="flip-y"?nt():((G=c.detail)==null?void 0:G.action)==="download"&&st()},i=r.current;return i&&(i.addEventListener("gallery-zoom-in",n),i.addEventListener("gallery-zoom-out",n),i.addEventListener("gallery-rotate-left",n),i.addEventListener("gallery-rotate-right",n),i.addEventListener("gallery-flip-x",n),i.addEventListener("gallery-flip-y",n),i.addEventListener("gallery-download",n)),()=>{i&&(i.removeEventListener("gallery-zoom-in",n),i.removeEventListener("gallery-zoom-out",n),i.removeEventListener("gallery-rotate-left",n),i.removeEventListener("gallery-rotate-right",n),i.removeEventListener("gallery-flip-x",n),i.removeEventListener("gallery-flip-y",n),i.removeEventListener("gallery-download",n))}},[s,t]),p.useEffect(()=>{(e==null?void 0:e.state.activeIndex)===a?k(!0):k(!1)},[e==null?void 0:e.state.activeIndex,a]);let fe=p.useMemo(()=>({"data-active":S}),[S]),de=p.useMemo(()=>({"--position-x":`${y.x}px`,"--position-y":`${y.y}px`,"--scale":`${x}`,"--rotation":`${T}deg`,"--flip-x":O.x,"--flip-y":O.y}),[y,x,T,O]);return{state:{index:a,position:y,scale:x,rotation:T,flip:O,isActive:S,dragStart:$,hasDragged:F},attributes:fe,CSSVariables:de,handlePointerUp:ue,handlePointerMove:le,handlePointerDown:ce,handleClick:me,handleDragStart:pe,zoomIn:B,zoomOut:A,rotateLeft:et,rotateRight:rt,flipX:ot,flipY:nt,download:st,calculateConstraints:g,calculateItemSize:w}}});export{ae as defaultItemProps,oi as useGalleryItem};
1
+ var Pe=Object.defineProperty,ye=Object.defineProperties;var ve=Object.getOwnPropertyDescriptors;var st=Object.getOwnPropertySymbols;var be=Object.prototype.hasOwnProperty,Ie=Object.prototype.propertyIsEnumerable;var it=(o,r,s)=>r in o?Pe(o,r,{enumerable:!0,configurable:!0,writable:!0,value:s}):o[r]=s,x=(o,r)=>{for(var s in r||(r={}))be.call(r,s)&&it(o,s,r[s]);if(st)for(var s of st(r))Ie.call(r,s)&&it(o,s,r[s]);return o},b=(o,r)=>ye(o,ve(r));import{withHeadless as xr}from"@primereact/core/headless";import{Component as lr}from"@primereact/core/component";import{useGallery as ur}from"@primereact/headless/gallery";import{styles as fr}from"@primereact/styles/gallery";import{mergeProps as dr}from"@primeuix/utils";import{withComponent as Ge}from"@primereact/core/component";import{styles as Re}from"@primereact/styles/base";var m=({name:o="UnknownComponent",defaultProps:r,styles:s=b(x({},Re),{name:"global"}),components:e,setup:t,render:a})=>Ge({name:o,defaultProps:r,styles:s,components:e,setup:t,render:a});import*as _ from"react";import{createOptionalContext as Ee}from"@primereact/core/utils";var[at,f]=Ee();import*as mt from"@primereact/headless/gallery";var pt=b(x({},mt.defaultProps),{as:"div"});import{Component as we}from"@primereact/core/component";import{mergeProps as Te}from"@primeuix/utils";import*as lt from"react";var ct={as:"div"};var ut=m({name:"GalleryBackdrop",defaultProps:ct,setup(){return{gallery:f()}},render(o){let{props:r,ptmi:s,gallery:e}=o,t=Te({className:e==null?void 0:e.cx("backdrop")},s("root"));return lt.createElement(we,{instance:o,attrs:t,children:r.children})}});import{Component as Se}from"@primereact/core/component";import{mergeProps as ge}from"@primeuix/utils";import*as dt from"react";var ft={as:"div"};var xt=m({name:"GalleryContent",defaultProps:ft,setup(){return{gallery:f()}},render(o){let{props:r,ptmi:s,gallery:e}=o,t=ge({className:e==null?void 0:e.cx("content")},s("root"));return dt.createElement(Se,{instance:o,attrs:t,children:r.children,ref:e==null?void 0:e.contentRef})}});import{Component as Le}from"@primereact/core/component";import{useGalleryItem as Me}from"@primereact/headless/gallery/item";import{mergeProps as Ne}from"@primeuix/utils";import*as K from"react";import{createOptionalContext as ke}from"@primereact/core/utils";var[ht,Ar]=ke();import*as Ct from"@primereact/headless/gallery";var Pt=b(x({},Ct.defaultProps),{as:"div"});var yt=m({name:"GalleryItem",defaultProps:Pt,setup(o){let r=f(),s=Me(o.inProps);return b(x({},s),{gallery:r})},render(o){let{id:r,props:s,ptmi:e,gallery:t,handleClick:a,handlePointerDown:T,handlePointerMove:L,handlePointerUp:g,handleDragStart:y,CSSVariables:k,attributes:h}=o,H=Ne(x({id:r,className:t==null?void 0:t.cx("item"),onClick:a,onPointerDown:T,onPointerMove:L,onPointerUp:g,onDragStart:y,style:k},h),e("root"),t==null?void 0:t.ptm("item"));return K.createElement(ht,{value:o},K.createElement(Le,{instance:o,attrs:H,children:s.children}))}});import{Component as De}from"@primereact/core/component";import{mergeProps as Xe}from"@primeuix/utils";import*as bt from"react";var vt={as:"button"};var It=m({name:"GalleryNext",defaultProps:vt,setup(){return{gallery:f()}},render(o){var a;let{props:r,ptmi:s,gallery:e}=o,t=Xe({className:e==null?void 0:e.cx("next"),onClick:(a=e==null?void 0:e.actions)==null?void 0:a.next},s("root"));return bt.createElement(De,{instance:o,attrs:t,children:r.children,ref:e==null?void 0:e.nextRef})}});import{Component as Ye}from"@primereact/core/component";import{mergeProps as ze}from"@primeuix/utils";import*as Rt from"react";var Gt={as:"button"};var Et=m({name:"GalleryPrev",defaultProps:Gt,setup(){return{gallery:f()}},render(o){var a;let{props:r,ptmi:s,gallery:e}=o,t=ze({className:e==null?void 0:e.cx("prev"),onClick:(a=e==null?void 0:e.actions)==null?void 0:a.prev},s("root"));return Rt.createElement(Ye,{instance:o,attrs:t,children:r.children,ref:e==null?void 0:e.prevRef})}});import{Component as er}from"@primereact/core/component";import{mergeProps as rr}from"@primeuix/utils";import{Component as Je}from"@primereact/core/component";import{useCarousel as Qe}from"@primereact/headless/carousel";import{styles as Ze}from"@primereact/styles/carousel";import{mergeProps as tr}from"@primeuix/utils";import*as V from"react";import{createOptionalContext as He}from"@primereact/core/utils";var[wt,I]=He();import*as Tt from"@primereact/headless/carousel";var St=b(x({},Tt.defaultProps),{as:"div"});import{Component as Oe}from"@primereact/core/component";import{mergeProps as $e}from"@primeuix/utils";import*as kt from"react";var gt={as:"div"};var Lt=m({name:"CarouselContent",defaultProps:gt,setup(){return{carousel:I()}},render(o){let{props:r,ptmi:s,carousel:e}=o,t=$e({className:e==null?void 0:e.cx("content"),style:x(x({},e==null?void 0:e.contentStyles),e==null?void 0:e.sx("content")),onPointerDown:e==null?void 0:e.onContentPointerDown,onPointerMove:e==null?void 0:e.onContentPointerMove,onPointerUp:e==null?void 0:e.onContentPointerUp,onWheel:e==null?void 0:e.onContentWheel},e==null?void 0:e.ptm("content"),s("root"));return kt.createElement(Oe,{instance:o,attrs:t,children:r.children,ref:e==null?void 0:e.contentRef})}});import{Component as Ae}from"@primereact/core/component";import{mergeProps as We}from"@primeuix/utils";import*as Nt from"react";var Mt={as:"button",page:void 0};var B=m({name:"CarouselIndicator",defaultProps:Mt,setup(){return{carousel:I()}},render(o){let{props:r,ptmi:s,carousel:e}=o,t=(e==null?void 0:e.state.page)===r.page,a=We({className:e==null?void 0:e.cx("indicator",{active:t}),onClick:()=>e==null?void 0:e.scrollToPage(r.page),"data-active":t},e==null?void 0:e.ptm("indicator"),s("root"));return Nt.createElement(Ae,{instance:o,attrs:a,children:r.children})}});import{Component as je}from"@primereact/core/component";import{mergeProps as Be}from"@primeuix/utils";import*as Y from"react";var Dt={as:"div"};var Xt=m({name:"CarouselIndicators",defaultProps:Dt,setup(){return{carousel:I()}},render(o){var a,T;let{props:r,ptmi:s,carousel:e}=o,t=Be({className:e==null?void 0:e.cx("indicators")},e==null?void 0:e.ptm("indicators"),s("root"));return Y.createElement(je,{instance:o,attrs:t,children:(T=r.children)!=null?T:Y.createElement(Y.Fragment,null,Array.from((a=e==null?void 0:e.state.snapPoints)!=null?a:[]).map((L,g)=>Y.createElement(B,{key:g,page:g})))})}});import{Component as Ue}from"@primereact/core/component";import{mergeProps as Fe}from"@primeuix/utils";import*as zt from"react";var Yt={as:"div",value:void 0};var Ht=m({name:"CarouselItem",defaultProps:Yt,setup(){return{carousel:I()}},render(o){let{id:r,props:s,ptmi:e,carousel:t}=o,a=Fe({id:r,className:t==null?void 0:t.cx("item"),style:x(x({},(t==null?void 0:t.itemStyles)||{}),(t==null?void 0:t.sx("item"))||{}),"data-value":s.value,"data-item":"","data-inview":"false"},t==null?void 0:t.ptm("item"),e("root"));return zt.createElement(Ue,{instance:o,attrs:a,children:s.children})}});import{Component as Ke}from"@primereact/core/component";import{mergeProps as Ve}from"@primeuix/utils";import*as $t from"react";var Ot={as:"button"};var At=m({name:"CarouselNext",defaultProps:Ot,setup(){return{carousel:I()}},render(o){let{props:r,ptmi:s,carousel:e}=o,t=(e==null?void 0:e.state.isNextDisabled)||r.disabled,a=Ve({className:e==null?void 0:e.cx("next",{disabled:t}),onClick:e==null?void 0:e.next,disabled:t},e==null?void 0:e.ptm("prev"),s("root"));return $t.createElement(Ke,{instance:o,attrs:a,children:r.children})}});import{Component as _e}from"@primereact/core/component";import{mergeProps as qe}from"@primeuix/utils";import*as jt from"react";var Wt={as:"button"};var Bt=m({name:"CarouselPrev",defaultProps:Wt,setup(){return{carousel:I()}},render(o){let{props:r,ptmi:s,carousel:e}=o,t=(e==null?void 0:e.state.isPrevDisabled)||r.disabled,a=qe({className:e==null?void 0:e.cx("prev",{disabled:t}),onClick:e==null?void 0:e.prev,disabled:t},e==null?void 0:e.ptm("prev"),s("root"));return jt.createElement(_e,{instance:o,attrs:a,children:r.children})}});var z=m({name:"Carousel",defaultProps:St,styles:Ze,setup(o){return Qe(o.inProps)},render(o){let{id:r,props:s,state:e,ptmi:t,cx:a}=o,T=tr({id:r,className:a("root"),"data-swiping":e.swiping},t("root"));return V.createElement(wt,{value:o},V.createElement(Je,{instance:o,attrs:T,children:s.children}))},components:{Content:Lt,Item:Ht,Next:At,Prev:Bt,Indicators:Xt,Indicator:B}});import*as Ft from"react";var Ut={as:"div"};var Kt=m({name:"GalleryThumbnail",defaultProps:Ut,setup(){return{gallery:f()}},render(o){let{props:r,ptmi:s,gallery:e}=o,t=rr({className:e==null?void 0:e.cx("thumbnail")},s("root"));return Ft.createElement(er,{as:z,instance:o,attrs:t,children:r.children,ref:e==null?void 0:e.thumbnailRef})}});import{Component as or}from"@primereact/core/component";import{mergeProps as nr}from"@primeuix/utils";import*as _t from"react";var Vt={};var qt=m({name:"GalleryThumbnailContent",defaultProps:Vt,setup(){return{gallery:f()}},render(o){let{props:r,ptmi:s,gallery:e}=o,t=nr({className:e==null?void 0:e.cx("thumbnailContent")},s("root"));return _t.createElement(or,{as:z.Content,instance:o,attrs:t,children:r.children})}});import{Component as sr}from"@primereact/core/component";import{mergeProps as ir}from"@primeuix/utils";import*as Qt from"react";var Jt={};var Zt=m({name:"GalleryThumbnailItem",defaultProps:Jt,setup(){return{gallery:f()}},render(o){let{props:r,ptmi:s,gallery:e}=o,t=ir({className:e==null?void 0:e.cx("thumbnailItem")},s("root"));return Qt.createElement(sr,{as:z.Item,instance:o,attrs:t,children:r.children})}});import{Component as ar}from"@primereact/core/component";import{mergeProps as mr}from"@primeuix/utils";import*as ee from"react";var te={as:"div"};var re=m({name:"GalleryToolbar",defaultProps:te,setup(){return{gallery:f()}},render(o){let{props:r,ptmi:s,gallery:e}=o,t=mr({className:e==null?void 0:e.cx("toolbar")},s("root"));return ee.createElement(ar,{instance:o,attrs:t,children:r.children,ref:e==null?void 0:e.toolbarRef})}});import{Component as pr}from"@primereact/core/component";import{mergeProps as cr}from"@primeuix/utils";import*as ne from"react";var oe={as:"div",action:void 0,onClick:void 0};var se=m({name:"GalleryToolbarItem",defaultProps:oe,setup(){return{gallery:f()}},render(o){let{props:r,ptmi:s,gallery:e}=o,t=cr({className:e==null?void 0:e.cx("toolbarItem"),onClick:()=>{var a;e==null||e.handleClickAction(r==null?void 0:r.action),(a=r==null?void 0:r.onClick)==null||a.call(r)}},s("root"));return ne.createElement(pr,{instance:o,attrs:t,children:r.children})}});var Vs=m({name:"Gallery",defaultProps:pt,styles:fr,setup(o){return ur(o.inProps)},render(o){let{id:r,props:s,ptmi:e,cx:t}=o,a=dr({id:r,className:t("root")},e("root"));return _.createElement(at,{value:o},_.createElement(lr,{instance:o,attrs:a,children:s.children}))},components:{Backdrop:ut,Content:xt,Item:yt,Next:It,Prev:Et,Toolbar:re,ToolbarItem:se,Thumbnail:Kt,ThumbnailContent:qt,ThumbnailItem:Zt}});import*as p from"react";var ie={normalScale:1,zoomedScale:3};var ni=xr({name:"useGalleryItem",defaultProps:ie,setup:({props:o,elementRef:r})=>{let{normalScale:s=1,zoomedScale:e=3}=o,t=f(),[a,T]=p.useState(-1),[L,g]=p.useState(!1),[y,k]=p.useState({x:0,y:0}),[h,H]=p.useState(1),[S,q]=p.useState(0),[O,J]=p.useState({x:1,y:1}),[Q,U]=p.useState(!1),[$,Z]=p.useState({x:0,y:0}),[F,A]=p.useState(!1),E=p.useRef(new Map),M=p.useRef(0),w=p.useCallback(()=>{if(!(t!=null&&t.contentRef.current)||!r.current)return;let n=t==null?void 0:t.contentRef.current.getBoundingClientRect(),i=r.current.firstElementChild;if(!i)return;let c=i.naturalWidth||i.offsetWidth,l=i.naturalHeight||i.offsetHeight;if(c===0||l===0)return;let P=Math.abs(S)%180===90;P&&([c,l]=[l,c]);let C=c/l,v=n.width/n.height,d,u;C>v?(d=Math.min(n.width*.99,c),u=d/C):(u=Math.min(n.height*.99,l),d=u*C),P?(i.style.width=`${u}px`,i.style.height=`${d}px`,r.current.style.width=`${u>0?u:"auto"}px`,r.current.style.height=`${d>0?d:"auto"}px`):(i.style.width=`${d}px`,i.style.height=`${u}px`,r.current.style.width=`${d>0?d:"auto"}px`,r.current.style.height=`${u>0?u:"auto"}px`),r.current.style.aspectRatio=`${c/l}`},[t==null?void 0:t.contentRef,S]),N=p.useCallback(n=>{if(!(t!=null&&t.contentRef.current)||!r.current)return{minX:0,maxX:0,minY:0,maxY:0};let i=t==null?void 0:t.contentRef.current.getBoundingClientRect(),c=n!==void 0?n:h,l=r.current.firstElementChild;if(!l)return{minX:0,maxX:0,minY:0,maxY:0};let P=l.offsetWidth,C=l.offsetHeight;Math.abs(S)%180===90&&([P,C]=[C,P]);let d=P*c,u=C*c,G=i.width/2,R=i.height/2,D=d/2,X=u/2,de=D>G?D-G:0,xe=D>G?-(D-G):0,he=X>R?X-R:0,Ce=X>R?-(X-R):0;return{minX:xe,maxX:de,minY:Ce,maxY:he}},[t==null?void 0:t.contentRef,h,S]),W=p.useCallback(()=>{H(e);let n={visibility:"hidden",opacity:0,pointerEvents:"none",userSelect:"none",touchAction:"none"};t!=null&&t.toolbarRef.current&&Object.assign(t==null?void 0:t.toolbarRef.current.style,n),t!=null&&t.thumbnailRef.current&&Object.assign(t==null?void 0:t.thumbnailRef.current.elementRef.current.style,n),t!=null&&t.prevRef.current&&Object.assign(t.prevRef.current.style,n),t!=null&&t.nextRef.current&&Object.assign(t.nextRef.current.style,n),r.current&&(r.current.style.cursor="zoom-out",r.current.style.pointerEvents="auto")},[e,t==null?void 0:t.toolbarRef,t==null?void 0:t.thumbnailRef,t==null?void 0:t.prevRef,t==null?void 0:t.nextRef]),j=p.useCallback(()=>{H(s),k({x:0,y:0});let n={visibility:"",opacity:"",pointerEvents:"",userSelect:"",touchAction:""};t!=null&&t.toolbarRef.current&&Object.assign(t.toolbarRef.current.style,n),t!=null&&t.thumbnailRef.current&&Object.assign(t.thumbnailRef.current.elementRef.current.style,n),t!=null&&t.prevRef.current&&Object.assign(t.prevRef.current.style,n),t!=null&&t.nextRef.current&&Object.assign(t.nextRef.current.style,n),r.current&&(r.current.style.cursor="zoom-in",r.current.style.pointerEvents="auto")},[s,t==null?void 0:t.toolbarRef,t==null?void 0:t.thumbnailRef,t==null?void 0:t.prevRef,t==null?void 0:t.nextRef]),tt=()=>{r.current&&(r.current.style.transition="none",q(n=>n-90),setTimeout(()=>{r.current&&(r.current.style.transition="")},0))},et=()=>{r.current&&(r.current.style.transition="none",q(n=>n+90),setTimeout(()=>{r.current&&(r.current.style.transition="")},0))},rt=()=>{J(n=>b(x({},n),{x:Math.sign(n.x)*-1}))},ot=()=>{J(n=>b(x({},n),{y:Math.sign(n.y)*-1}))},nt=()=>{if(!r.current)return;let n=r.current.querySelector("img");if(!n||!n.src)return;let i=document.createElement("a");i.href=n.src;let c=n.src.split("/"),l=c[c.length-1]||"image.jpg";i.download=l,i.target="_blank",document.body.appendChild(i),i.click(),document.body.removeChild(i)},ae=p.useCallback(n=>{if(F){A(!1);return}if(h===s){if(r.current){let i=r.current.getBoundingClientRect(),c=i.width/2,l=i.height/2,P=n.clientX-i.left,C=n.clientY-i.top,v=c-P,d=l-C,u=v*(e-1),G=d*(e-1),R=N(e),D=Math.max(R.minX,Math.min(R.maxX,u)),X=Math.max(R.minY,Math.min(R.maxY,G));k({x:D,y:X})}W()}else j()},[F,s,e,N,h,W,j]),me=p.useCallback(n=>{n.preventDefault()},[]),pe=p.useCallback(n=>{n.currentTarget.setPointerCapture(n.pointerId),E.current.set(n.pointerId,{x:n.clientX,y:n.clientY}),h>1&&(n.pointerType==="mouse"?(U(!0),Z({x:n.clientX-y.x,y:n.clientY-y.y}),A(!1)):n.pointerType==="touch"&&E.current.size===1&&(U(!0),Z({x:n.clientX-y.x,y:n.clientY-y.y}),A(!1),M.current=0)),n.pointerType==="touch"&&E.current.size===1&&(M.current=0)},[h,y]),ce=p.useCallback(n=>{if(!E.current.has(n.pointerId)||!r.current)return;r.current.style.transition="none",r.current.style.cursor||(r.current.style.cursor=h>s?"zoom-out":"zoom-in"),E.current.set(n.pointerId,{x:n.clientX,y:n.clientY});let c=Array.from(E.current.values());if(c.length===2){let[l,P]=c,C=Math.hypot(P.x-l.x,P.y-l.y);if(M.current>0){let v=(C-M.current)*.01;if(Math.abs(v)>.01){let d=h===s?e:s,u=N(d),G=Math.max(u.minX,Math.min(u.maxX,y.x)),R=Math.max(u.minY,Math.min(u.maxY,y.y));k({x:G,y:R}),H(d)}}M.current=C}else if(c.length===1&&Q){let l=c[0],P=l.x-$.x,C=l.y-$.y,v=N(),d=Math.max(v.minX,Math.min(v.maxX,P)),u=Math.max(v.minY,Math.min(v.maxY,C));k({x:d,y:u}),A(!0)}},[Q,$,h,s,e,y,N]),le=p.useCallback(n=>{r.current&&(r.current.style.transition="",r.current.style.cursor=h>s?"zoom-out":"zoom-in",n.currentTarget.releasePointerCapture(n.pointerId),E.current.delete(n.pointerId),E.current.size<2&&(M.current=0),E.current.size===0&&U(!1))},[]);p.useEffect(()=>{h<=1&&k({x:0,y:0})},[h]),p.useEffect(()=>{(t==null?void 0:t.state.activeIndex)===a&&document.readyState==="complete"&&w()},[t==null?void 0:t.state.activeIndex,a,w]),p.useEffect(()=>{(t==null?void 0:t.state.activeIndex)===a&&w()},[S,w,t==null?void 0:t.state.activeIndex,a]),p.useEffect(()=>{(t==null?void 0:t.state.activeIndex)===a&&(t==null?void 0:t.state.isFullscreen)!==void 0&&w()},[t==null?void 0:t.state.isFullscreen,w,t==null?void 0:t.state.activeIndex,a]),p.useEffect(()=>{let n=()=>{(t==null?void 0:t.state.activeIndex)===a&&w()};return window.addEventListener("resize",n),()=>window.removeEventListener("resize",n)},[t==null?void 0:t.state.activeIndex,a,w]),p.useEffect(()=>{if(t&&r.current){let n=t.registerItem(r.current);T(n)}},[t]),p.useEffect(()=>{let n=c=>{var l,P,C,v,d,u,G;((l=c.detail)==null?void 0:l.action)==="zoom-in"?W():((P=c.detail)==null?void 0:P.action)==="zoom-out"?j():((C=c.detail)==null?void 0:C.action)==="rotate-left"?tt():((v=c.detail)==null?void 0:v.action)==="rotate-right"?et():((d=c.detail)==null?void 0:d.action)==="flip-x"?rt():((u=c.detail)==null?void 0:u.action)==="flip-y"?ot():((G=c.detail)==null?void 0:G.action)==="download"&&nt()},i=r.current;return i&&(i.addEventListener("gallery-zoom-in",n),i.addEventListener("gallery-zoom-out",n),i.addEventListener("gallery-rotate-left",n),i.addEventListener("gallery-rotate-right",n),i.addEventListener("gallery-flip-x",n),i.addEventListener("gallery-flip-y",n),i.addEventListener("gallery-download",n)),()=>{i&&(i.removeEventListener("gallery-zoom-in",n),i.removeEventListener("gallery-zoom-out",n),i.removeEventListener("gallery-rotate-left",n),i.removeEventListener("gallery-rotate-right",n),i.removeEventListener("gallery-flip-x",n),i.removeEventListener("gallery-flip-y",n),i.removeEventListener("gallery-download",n))}},[s,e]),p.useEffect(()=>{(t==null?void 0:t.state.activeIndex)===a?g(!0):g(!1)},[t==null?void 0:t.state.activeIndex,a]);let ue=p.useMemo(()=>({"data-active":L}),[L]),fe=p.useMemo(()=>({"--position-x":`${y.x}px`,"--position-y":`${y.y}px`,"--scale":`${h}`,"--rotation":`${S}deg`,"--flip-x":O.x,"--flip-y":O.y}),[y,h,S,O]);return{state:{index:a,position:y,scale:h,rotation:S,flip:O,isActive:L,dragStart:$,hasDragged:F},attributes:ue,CSSVariables:fe,handlePointerUp:le,handlePointerMove:ce,handlePointerDown:pe,handleClick:ae,handleDragStart:me,zoomIn:W,zoomOut:j,rotateLeft:tt,rotateRight:et,flipX:rt,flipY:ot,download:nt,calculateConstraints:N,calculateItemSize:w}}});export{ie as defaultItemProps,ni as useGalleryItem};
2
2
  //# sourceMappingURL=index.mjs.map