@primereact/headless 11.0.0-rc.1 → 11.0.0-rc.2

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 (279) hide show
  1. package/accordion/index.mjs +1 -2
  2. package/animateonscroll/index.mjs +1 -2
  3. package/autocomplete/index.mjs +1 -2
  4. package/avatar/index.mjs +1 -2
  5. package/avatargroup/index.mjs +0 -1
  6. package/badge/index.mjs +1 -2
  7. package/breadcrumb/index.mjs +0 -1
  8. package/button/index.mjs +0 -1
  9. package/card/index.mjs +0 -1
  10. package/carousel/index.mjs +1 -2
  11. package/carousel/useCarousel.d.ts +28 -15
  12. package/checkbox/index.mjs +1 -2
  13. package/checkboxgroup/index.mjs +1 -2
  14. package/chip/index.mjs +1 -2
  15. package/collapsible/index.mjs +1 -2
  16. package/compare/index.mjs +1 -2
  17. package/contextmenu/index.mjs +1 -2
  18. package/contextmenu/submenu/index.mjs +0 -1
  19. package/datatable/features/index.mjs +8 -9
  20. package/datatable/features/useDataTableExport.d.ts +1 -1
  21. package/datatable/features/useDataTableKeyboard.d.ts +1 -1
  22. package/datatable/features/useDataTableSelection.d.ts +4 -4
  23. package/datatable/index.mjs +8 -9
  24. package/datatable/useDataTable.d.ts +2 -2
  25. package/datatable/utils/index.mjs +0 -1
  26. package/dataview/index.mjs +1 -2
  27. package/datepicker/index.mjs +1 -2
  28. package/dialog/index.mjs +1 -2
  29. package/dialog/useDialog.d.ts +12 -12
  30. package/divider/index.mjs +0 -1
  31. package/divider/useDivider.d.ts +1 -1
  32. package/dnd/index.mjs +1 -2
  33. package/drawer/index.mjs +1 -2
  34. package/fieldset/index.mjs +1 -2
  35. package/fileupload/index.mjs +1 -2
  36. package/fileupload/useFileUpload.d.ts +3 -0
  37. package/floatlabel/index.mjs +0 -1
  38. package/fluid/index.mjs +0 -1
  39. package/focustrap/index.mjs +1 -2
  40. package/gallery/index.mjs +1 -2
  41. package/gallery/item/index.mjs +1 -2
  42. package/gallery/useGallery.d.ts +17 -9
  43. package/iconfield/index.mjs +0 -1
  44. package/iftalabel/index.mjs +0 -1
  45. package/inplace/index.mjs +1 -2
  46. package/inplace/useInplace.d.ts +18 -6
  47. package/inputcolor/colorManager.d.ts +1 -1
  48. package/inputcolor/index.mjs +1 -2
  49. package/inputgroup/index.mjs +0 -1
  50. package/inputnumber/index.mjs +1 -2
  51. package/inputotp/index.mjs +1 -2
  52. package/inputpassword/index.mjs +1 -2
  53. package/inputtags/index.mjs +1 -2
  54. package/inputtext/index.mjs +1 -2
  55. package/knob/index.mjs +1 -2
  56. package/label/index.mjs +0 -1
  57. package/listbox/index.mjs +1 -2
  58. package/menu/checkboxitem/index.mjs +1 -2
  59. package/menu/index.mjs +1 -2
  60. package/menu/radioitem/index.mjs +1 -2
  61. package/menu/submenu/index.mjs +1 -2
  62. package/message/index.mjs +1 -2
  63. package/metergroup/index.mjs +1 -2
  64. package/navigationmenu/index.mjs +1 -2
  65. package/orderlist/index.mjs +1 -2
  66. package/orderlist/useOrderList.d.ts +1 -0
  67. package/organizationchart/index.mjs +1 -2
  68. package/overlaybadge/index.mjs +0 -1
  69. package/package.json +9 -7
  70. package/paginator/index.mjs +1 -2
  71. package/paginator/usePaginator.d.ts +1 -1
  72. package/panel/index.mjs +1 -2
  73. package/picklist/index.mjs +1 -2
  74. package/popover/index.mjs +1 -2
  75. package/portal/index.mjs +0 -1
  76. package/positioner/index.mjs +1 -2
  77. package/positioner/usePositioner.anchor.d.ts +2 -2
  78. package/positioner/usePositioner.fallback.d.ts +2 -2
  79. package/progressbar/index.mjs +1 -2
  80. package/progressspinner/index.mjs +1 -2
  81. package/radiobutton/index.mjs +1 -2
  82. package/radiobuttongroup/index.mjs +1 -2
  83. package/rating/index.mjs +1 -2
  84. package/scrollarea/index.mjs +1 -2
  85. package/scrollarea/useScrollArea.d.ts +1 -1
  86. package/select/index.mjs +1 -2
  87. package/sidebar/index.mjs +1 -2
  88. package/sidebar/useSidebar.d.ts +30 -4
  89. package/sidebar/useSidebarLayout.d.ts +4 -4
  90. package/sidebar/useSidebarMenuItem.d.ts +0 -1
  91. package/skeleton/index.mjs +0 -1
  92. package/slider/index.mjs +1 -2
  93. package/speeddial/index.mjs +1 -2
  94. package/splitter/index.mjs +1 -2
  95. package/stepper/index.mjs +1 -2
  96. package/styleclass/index.mjs +1 -2
  97. package/tabs/index.mjs +1 -2
  98. package/tag/index.mjs +0 -1
  99. package/terminal/index.mjs +1 -2
  100. package/textarea/index.mjs +1 -2
  101. package/timeline/index.mjs +0 -1
  102. package/toast/index.mjs +1 -2
  103. package/toaster/index.mjs +1 -2
  104. package/togglebutton/index.mjs +1 -2
  105. package/togglebuttongroup/index.mjs +1 -2
  106. package/toggleswitch/index.mjs +1 -2
  107. package/toolbar/index.mjs +0 -1
  108. package/tooltip/index.mjs +1 -2
  109. package/tooltipmanager/index.mjs +1 -2
  110. package/tree/index.mjs +1 -2
  111. package/tree/useTree.d.ts +4 -4
  112. package/tree/useTreeDragDrop.d.ts +2 -2
  113. package/tree/useTreeFlatten.d.ts +1 -1
  114. package/tree/useTreeSelection.d.ts +3 -3
  115. package/accordion/index.mjs.map +0 -1
  116. package/accordion/useAccordion.test.d.ts +0 -0
  117. package/animateonscroll/index.mjs.map +0 -1
  118. package/animateonscroll/useAnimateOnScroll.test.d.ts +0 -0
  119. package/autocomplete/index.mjs.map +0 -1
  120. package/autocomplete/useAutoComplete.test.d.ts +0 -0
  121. package/avatar/index.mjs.map +0 -1
  122. package/avatar/useAvatar.test.d.ts +0 -0
  123. package/avatargroup/index.mjs.map +0 -1
  124. package/badge/index.mjs.map +0 -1
  125. package/badge/useBadge.test.d.ts +0 -0
  126. package/breadcrumb/index.mjs.map +0 -1
  127. package/breadcrumb/useBreadcrumb.test.d.ts +0 -0
  128. package/button/index.mjs.map +0 -1
  129. package/button/useButton.test.d.ts +0 -0
  130. package/card/index.mjs.map +0 -1
  131. package/card/useCard.test.d.ts +0 -0
  132. package/carousel/index.mjs.map +0 -1
  133. package/carousel/useCarousel.test.d.ts +0 -0
  134. package/checkbox/index.mjs.map +0 -1
  135. package/checkbox/useCheckbox.test.d.ts +0 -0
  136. package/checkboxgroup/index.mjs.map +0 -1
  137. package/checkboxgroup/useCheckboxGroup.test.d.ts +0 -0
  138. package/chip/index.mjs.map +0 -1
  139. package/chip/useChip.test.d.ts +0 -0
  140. package/collapsible/index.mjs.map +0 -1
  141. package/collapsible/useCollapsible.test.d.ts +0 -0
  142. package/compare/index.mjs.map +0 -1
  143. package/compare/useCompare.test.d.ts +0 -0
  144. package/contextmenu/index.mjs.map +0 -1
  145. package/contextmenu/submenu/index.mjs.map +0 -1
  146. package/contextmenu/useContextMenu.test.d.ts +0 -0
  147. package/datatable/features/index.mjs.map +0 -1
  148. package/datatable/index.mjs.map +0 -1
  149. package/datatable/utils/index.mjs.map +0 -1
  150. package/dataview/index.mjs.map +0 -1
  151. package/dataview/useDataView.test.d.ts +0 -0
  152. package/datepicker/index.mjs.map +0 -1
  153. package/datepicker/useDatePicker.test.d.ts +0 -0
  154. package/dialog/index.mjs.map +0 -1
  155. package/dialog/useDialog.test.d.ts +0 -0
  156. package/divider/index.mjs.map +0 -1
  157. package/divider/useDivider.test.d.ts +0 -0
  158. package/dnd/index.mjs.map +0 -1
  159. package/drawer/index.mjs.map +0 -1
  160. package/drawer/useDrawer.test.d.ts +0 -0
  161. package/fieldset/index.mjs.map +0 -1
  162. package/fieldset/useFieldset.test.d.ts +0 -0
  163. package/fileupload/index.mjs.map +0 -1
  164. package/fileupload/useFileUpload.test.d.ts +0 -0
  165. package/floatlabel/index.mjs.map +0 -1
  166. package/floatlabel/useFloatLabel.test.d.ts +0 -0
  167. package/fluid/index.mjs.map +0 -1
  168. package/fluid/useFluid.test.d.ts +0 -0
  169. package/focustrap/index.mjs.map +0 -1
  170. package/focustrap/useFocusTrap.test.d.ts +0 -0
  171. package/gallery/index.mjs.map +0 -1
  172. package/gallery/item/index.mjs.map +0 -1
  173. package/gallery/useGallery.test.d.ts +0 -0
  174. package/iconfield/index.mjs.map +0 -1
  175. package/iconfield/useIconField.test.d.ts +0 -0
  176. package/iftalabel/index.mjs.map +0 -1
  177. package/iftalabel/useIftaLabel.test.d.ts +0 -0
  178. package/inplace/index.mjs.map +0 -1
  179. package/inplace/useInplace.test.d.ts +0 -0
  180. package/inputcolor/index.mjs.map +0 -1
  181. package/inputcolor/useInputColor.test.d.ts +0 -0
  182. package/inputgroup/index.mjs.map +0 -1
  183. package/inputgroup/useInputGroup.test.d.ts +0 -0
  184. package/inputnumber/index.mjs.map +0 -1
  185. package/inputnumber/useInputNumber.test.d.ts +0 -0
  186. package/inputotp/index.mjs.map +0 -1
  187. package/inputotp/useInputOtp.test.d.ts +0 -0
  188. package/inputpassword/index.mjs.map +0 -1
  189. package/inputpassword/useInputPassword.test.d.ts +0 -0
  190. package/inputtags/index.mjs.map +0 -1
  191. package/inputtags/useInputTags.test.d.ts +0 -0
  192. package/inputtext/index.mjs.map +0 -1
  193. package/inputtext/useInputText.test.d.ts +0 -0
  194. package/knob/index.mjs.map +0 -1
  195. package/knob/useKnob.test.d.ts +0 -0
  196. package/label/index.mjs.map +0 -1
  197. package/label/useLabel.test.d.ts +0 -0
  198. package/listbox/index.mjs.map +0 -1
  199. package/listbox/useListbox.test.d.ts +0 -0
  200. package/menu/checkboxitem/index.mjs.map +0 -1
  201. package/menu/index.mjs.map +0 -1
  202. package/menu/radioitem/index.mjs.map +0 -1
  203. package/menu/submenu/index.mjs.map +0 -1
  204. package/menu/useMenu.test.d.ts +0 -0
  205. package/message/index.mjs.map +0 -1
  206. package/message/useMessage.test.d.ts +0 -0
  207. package/metergroup/index.mjs.map +0 -1
  208. package/metergroup/useMeterGroup.test.d.ts +0 -0
  209. package/navigationmenu/index.mjs.map +0 -1
  210. package/navigationmenu/useNavigationMenu.test.d.ts +0 -0
  211. package/orderlist/index.mjs.map +0 -1
  212. package/organizationchart/index.mjs.map +0 -1
  213. package/organizationchart/useOrganizationChart.test.d.ts +0 -0
  214. package/overlaybadge/index.mjs.map +0 -1
  215. package/overlaybadge/useOverlayBadge.test.d.ts +0 -0
  216. package/paginator/index.mjs.map +0 -1
  217. package/paginator/usePaginator.test.d.ts +0 -0
  218. package/panel/index.mjs.map +0 -1
  219. package/panel/usePanel.test.d.ts +0 -0
  220. package/picklist/index.mjs.map +0 -1
  221. package/popover/index.mjs.map +0 -1
  222. package/popover/usePopover.test.d.ts +0 -0
  223. package/portal/index.mjs.map +0 -1
  224. package/portal/usePortal.test.d.ts +0 -0
  225. package/positioner/index.mjs.map +0 -1
  226. package/positioner/usePositioner.test.d.ts +0 -0
  227. package/progressbar/index.mjs.map +0 -1
  228. package/progressbar/useProgressBar.test.d.ts +0 -0
  229. package/progressspinner/index.mjs.map +0 -1
  230. package/radiobutton/index.mjs.map +0 -1
  231. package/radiobutton/useRadioButton.test.d.ts +0 -0
  232. package/radiobuttongroup/index.mjs.map +0 -1
  233. package/radiobuttongroup/useRadioButtonGroup.test.d.ts +0 -0
  234. package/rating/index.mjs.map +0 -1
  235. package/scrollarea/index.mjs.map +0 -1
  236. package/scrollarea/useScrollArea.test.d.ts +0 -0
  237. package/select/index.mjs.map +0 -1
  238. package/select/useSelect.test.d.ts +0 -1
  239. package/sidebar/index.mjs.map +0 -1
  240. package/skeleton/index.mjs.map +0 -1
  241. package/skeleton/useSkeleton.test.d.ts +0 -0
  242. package/slider/index.mjs.map +0 -1
  243. package/slider/useSlider.test.d.ts +0 -0
  244. package/speeddial/index.mjs.map +0 -1
  245. package/speeddial/useSpeedDial.test.d.ts +0 -0
  246. package/splitter/index.mjs.map +0 -1
  247. package/splitter/useSplitter.test.d.ts +0 -0
  248. package/stepper/index.mjs.map +0 -1
  249. package/stepper/useStepper.test.d.ts +0 -0
  250. package/styleclass/index.mjs.map +0 -1
  251. package/styleclass/useStyleClass.test.d.ts +0 -0
  252. package/tabs/index.mjs.map +0 -1
  253. package/tabs/useTabs.test.d.ts +0 -0
  254. package/tag/index.mjs.map +0 -1
  255. package/tag/useTag.test.d.ts +0 -0
  256. package/terminal/index.mjs.map +0 -1
  257. package/terminal/useTerminal.test.d.ts +0 -0
  258. package/textarea/index.mjs.map +0 -1
  259. package/textarea/useTextarea.test.d.ts +0 -0
  260. package/timeline/index.mjs.map +0 -1
  261. package/timeline/useTimeline.test.d.ts +0 -0
  262. package/toast/index.mjs.map +0 -1
  263. package/toast/useToast.test.d.ts +0 -0
  264. package/toaster/index.mjs.map +0 -1
  265. package/toaster/useToaster.test.d.ts +0 -0
  266. package/togglebutton/index.mjs.map +0 -1
  267. package/togglebutton/useToggle.test.d.ts +0 -0
  268. package/togglebuttongroup/index.mjs.map +0 -1
  269. package/togglebuttongroup/useToggleButtonGroup.test.d.ts +0 -0
  270. package/toggleswitch/index.mjs.map +0 -1
  271. package/toggleswitch/useToggleSwitch.test.d.ts +0 -0
  272. package/toolbar/index.mjs.map +0 -1
  273. package/toolbar/useToolbar.test.d.ts +0 -0
  274. package/tooltip/index.mjs.map +0 -1
  275. package/tooltip/useTooltip.test.d.ts +0 -0
  276. package/tooltipmanager/index.mjs.map +0 -1
  277. package/tooltipmanager/useTooltipManager.test.d.ts +0 -0
  278. package/tree/index.mjs.map +0 -1
  279. package/tree/useTree.test.d.ts +0 -0
@@ -1,2 +1 @@
1
- var oe=Object.defineProperty;var I=Object.getOwnPropertySymbols;var re=Object.prototype.hasOwnProperty,ce=Object.prototype.propertyIsEnumerable;var j=(e,r,s)=>r in e?oe(e,r,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[r]=s,p=(e,r)=>{for(var s in r||(r={}))re.call(r,s)&&j(e,s,r[s]);if(I)for(var s of I(r))ce.call(r,s)&&j(e,s,r[s]);return e};import{withHeadless as de}from"@primereact/core/headless";import{addClass as fe,isNotEmpty as S,removeClass as A}from"@primeuix/utils";import*as c from"react";var O={name:void 0,url:void 0,multiple:!1,accept:void 0,disabled:!1,auto:!1,maxFileSize:void 0,fileLimit:void 0,withCredentials:!1,customUpload:!1,invalidFileLimitMessage:"Maximum number of files exceeded, limit is {0} at most.",invalidFileSizeMessage:"{0}: Invalid file size, file size should be smaller than {1}.",invalidFileTypeMessage:"{0}: Invalid file type, allowed file types: {1}.",uploadHandler:void 0,onSelect:void 0,onChange:void 0,onBeforeUpload:void 0,onUpload:void 0,onError:void 0,onProgress:void 0,onBeforeSend:void 0,onClear:void 0,onRemove:void 0};var Se=de({name:"useFileUpload",defaultProps:O,setup({props:e,$primereact:r}){let s=c.useRef(null),u=c.useRef(null),h=c.useRef(0),N=c.useCallback(t=>{s.current=t},[]),W=c.useCallback(t=>{u.current=t},[]),[o,v]=c.useState([]),[F,T]=c.useState([]),[M,P]=c.useState(0),m=c.useMemo(()=>S(o),[o]),q=c.useMemo(()=>S(F),[F]),G={files:o,progress:M,uploadedFiles:F},C=()=>{m&&D(o)},L=t=>{var d,g;let a=l=>"dataTransfer"in l&&!!l.dataTransfer;m&&v([]);let n=[];e.multiple&&(n=o?[...o]:[]);let i=a(t)?(d=t.dataTransfer)==null?void 0:d.files:(g=t.target)==null?void 0:g.files;if(!i)return;let f=[];for(let l of Array.from(i)){if(K(l)||R())continue;let k=V(l);if(k.length){f.push({file:l,errors:k});continue}if(J(l)){let le=l;le.objectURL=window.URL.createObjectURL(l)}n.push(l)}if(v(n),e.fileLimit){let l=$();l&&f.push({errors:[l]})}f.length&&e.onError&&e.onError({type:"validation",rejectedFiles:f}),e.onChange&&e.onChange({acceptedFiles:n,rejectedFiles:f}),e.auto&&S(n)&&!R()&&D(n),e.onSelect&&e.onSelect({originalEvent:t,files:n}),b()},y=()=>{s.current&&s.current.click()},D=(t=o)=>{var n;let a=(n=t!=null?t:o)!=null?n:[];if(e.customUpload)e.fileLimit&&(h.current+=a.length),e.uploadHandler&&e.uploadHandler({files:a,options:{clear:E,props:e}});else{let i=new XMLHttpRequest,f=new FormData;e.onBeforeUpload&&e.onBeforeUpload({xhr:i,files:a});for(let d of a)f.append(e.name,d,d.name);i.upload.addEventListener("progress",d=>{if(d.lengthComputable){let g=Math.round(d.loaded*100/d.total);P(g)}e.onProgress&&e.onProgress({originalEvent:d,progress:M})}),i.onreadystatechange=()=>{i.readyState===4&&(P(0),i.status>=200&&i.status<300?(e.fileLimit&&(h.current+=a.length),e.onUpload&&e.onUpload({xhr:i,files:a}),T(d=>[...d,...a])):e.onError&&e.onError({type:"upload",reason:"upload",xhr:i,files:a}),E())},e.url&&(i.open("POST",e.url,!0),e.onBeforeSend&&e.onBeforeSend({xhr:i,formData:f}),i.withCredentials=!!e.withCredentials,i.send(f))}},E=()=>{v([]),e.onClear&&e.onClear(),e.onChange&&e.onChange({acceptedFiles:[],rejectedFiles:[]}),b()},K=t=>{if(o&&o.length){for(let a of o)if(a.name+a.type+a.size===t.name+t.type+t.size)return!0}return!1},V=t=>{let a=[];return e.accept&&!X(t)&&a.push({reason:"fileType",message:e.invalidFileTypeMessage.replace("{0}",t.name).replace("{1}",e.accept)}),e.maxFileSize&&t.size>e.maxFileSize&&a.push({reason:"fileSize",message:e.invalidFileSizeMessage.replace("{0}",t.name).replace("{1}",B(e.maxFileSize))}),a},X=t=>{let a=e.accept.split(",").map(n=>n.trim());for(let n of a)if(Y(n)?H(t.type)===H(n):t.type==n||Z(t).toLowerCase()===n.toLowerCase())return!0;return!1},H=t=>t.substring(0,t.indexOf("/")),Y=t=>t.indexOf("*")!==-1,Z=t=>"."+t.name.split(".").pop(),J=t=>/^image\//.test(t.type),U=t=>{!e.disabled&&(!m||e.multiple)&&(t.stopPropagation(),t.preventDefault())},z=t=>{!e.disabled&&(!m||e.multiple)&&(fe(u.current,"p-fileupload-highlight"),u.current.setAttribute("data-highlight","true"),t.stopPropagation(),t.preventDefault())},w=()=>{e.disabled||(A(u.current,"p-fileupload-highlight"),u.current.setAttribute("data-highlight","false"))},x=t=>{var a;if(!e.disabled){A(u.current,"p-fileupload-highlight"),u.current.setAttribute("data-highlight","false"),t.stopPropagation(),t.preventDefault();let n=(a=t.dataTransfer)==null?void 0:a.files;(e.multiple||n&&n.length===1)&&L(t)}},Q=t=>{b();let a=[...o],n=o[t];a.splice(t,1),v(a),e.onRemove&&e.onRemove({file:n}),e.onChange&&e.onChange({acceptedFiles:a,rejectedFiles:[]})},_=t=>{let a=[...F];a.splice(t,1),T(a),e.onRemove&&e.onRemove({file:o[t]})},b=()=>{s.current&&(s.current.value="")},B=t=>{var g,l;let i=((l=(g=r==null?void 0:r.config)==null?void 0:g.locale)==null?void 0:l.fileSizeTypes)||["B","KB","MB","GB","TB","PB","EB","ZB","YB"];if(t===0)return`0 ${i[0]}`;let f=Math.floor(Math.log(t)/Math.log(1024));return`${parseFloat((t/Math.pow(1024,f)).toFixed(3))} ${i[f]}`},R=()=>e.fileLimit&&e.fileLimit<o.length+h.current,$=()=>R()?{reason:"fileLimit",message:e.invalidFileLimitMessage.replace("{0}",e.fileLimit.toString())}:null,ee=p({"data-scope":"fileupload","data-part":"root"},e.disabled&&{"data-disabled":""}),te={ref:N,"data-scope":"fileupload","data-part":"text",type:"file",accept:e.accept,multiple:e.multiple,disabled:e.disabled,onChange:L},ae={ref:W,"data-scope":"fileupload","data-part":"content",onDragEnter:U,onDragOver:z,onDragLeave:w,onDrop:x},ne=p({"data-scope":"fileupload","data-part":"choose",onClick:y},e.disabled&&{"data-disabled":""}),ie=p({"data-scope":"fileupload","data-part":"upload",onClick:C,disabled:!m},e.disabled&&{"data-disabled":""}),se=p({"data-scope":"fileupload","data-part":"clear",onClick:E,disabled:!m},e.disabled&&{"data-disabled":""});return{state:G,uploadedFileCount:h,hasFiles:m,hasUploadedFiles:q,rootProps:ee,chooseProps:ne,uploadProps:ie,clearProps:se,inputProps:te,contentProps:ae,fileRemoveProps:{"data-scope":"fileupload","data-part":"fileRemove"},fileProps:{"data-scope":"fileupload","data-part":"file"},fileThumbnailProps:{"data-scope":"fileupload","data-part":"fileThumbnail"},fileInfoProps:{"data-scope":"fileupload","data-part":"fileInfo"},fileNameProps:{"data-scope":"fileupload","data-part":"fileName"},fileSizeProps:{"data-scope":"fileupload","data-part":"fileSize"},fileListProps:{"data-scope":"fileupload","data-part":"fileList"},upload:C,onFileSelect:L,choose:y,uploader:D,clear:E,remove:Q,removeUploadedFile:_,formatSize:B,onDragEnter:U,onDragOver:z,onDragLeave:w,onDrop:x}}});export{O as defaultProps,Se as useFileUpload};
2
- //# sourceMappingURL=index.mjs.map
1
+ import{withHeadless as ae}from"@primereact/core/headless";import{$t as ne}from"@primereact/core/locale";import{addClass as ie,isNotEmpty as R,removeClass as I}from"@primeuix/utils";import*as l from"react";var k={name:void 0,url:void 0,multiple:!1,accept:void 0,disabled:!1,auto:!1,maxFileSize:void 0,fileLimit:void 0,withCredentials:!1,customUpload:!1,invalidFileLimitMessage:"Maximum number of files exceeded, limit is {0} at most.",invalidFileSizeMessage:"{0}: Invalid file size, file size should be smaller than {1}.",invalidFileTypeMessage:"{0}: Invalid file type, allowed file types: {1}.",uploadHandler:void 0,onSelect:void 0,onChange:void 0,onBeforeUpload:void 0,onUpload:void 0,onError:void 0,onProgress:void 0,onBeforeSend:void 0,onClear:void 0,onRemove:void 0};var Fe=ae({name:"useFileUpload",defaultProps:k,setup({props:e}){let f=l.useRef(null),c=l.useRef(null),u=l.useRef(0),m=l.useRef(null),B=l.useCallback(t=>{f.current=t},[]),A=l.useCallback(t=>{c.current=t},[]),[s,g]=l.useState([]),[p,S]=l.useState([]),[F,v]=l.useState(0),d=l.useMemo(()=>R(s),[s]),O=l.useMemo(()=>R(p),[p]),N={files:s,progress:F,uploadedFiles:p},T=t=>{let a=m.current;a&&(a.onreadystatechange=null,a.abort(),m.current=null,t&&v(0))},$=()=>T(!0);l.useEffect(()=>()=>{T(!1)},[]);let M=()=>{d&&L(s)},E=t=>{let a=o=>"dataTransfer"in o&&!!o.dataTransfer;d&&g([]);let n=[];e.multiple&&(n=s?[...s]:[]);let r=a(t)?t.dataTransfer?.files:t.target?.files;if(!r)return;let i=[];for(let o of Array.from(r)){if(j(o)||D())continue;let w=X(o);if(w.length){i.push({file:o,errors:w});continue}n.push(o)}if(g(n),e.fileLimit){let o=K();o&&i.push({errors:[o]})}i.length&&e.onError&&e.onError({type:"validation",rejectedFiles:i}),e.onChange&&e.onChange({acceptedFiles:n,rejectedFiles:i}),e.auto&&R(n)&&!D()&&L(n),e.onSelect&&e.onSelect({originalEvent:t,files:n}),b()},P=()=>{f.current&&f.current.click()},L=(t=s)=>{let a=t??s??[];if(e.customUpload)e.fileLimit&&(u.current+=a.length),e.uploadHandler&&e.uploadHandler({files:a,options:{clear:h,props:e}});else{let n=new XMLHttpRequest;m.current=n;let r=new FormData;e.onBeforeUpload&&e.onBeforeUpload({xhr:n,files:a});for(let i of a)r.append(e.name,i,i.name);n.upload.addEventListener("progress",i=>{let o=i.lengthComputable?Math.round(i.loaded*100/i.total):0;i.lengthComputable&&v(o),e.onProgress?.({originalEvent:i,progress:o})}),n.onreadystatechange=()=>{n.readyState===4&&(v(0),m.current=null,n.status>=200&&n.status<300?(e.fileLimit&&(u.current+=a.length),e.onUpload&&e.onUpload({xhr:n,files:a}),S(i=>[...i,...a])):e.onError&&e.onError({type:"upload",reason:"upload",xhr:n,files:a}),h())},e.url&&(n.open("POST",e.url,!0),e.onBeforeSend&&e.onBeforeSend({xhr:n,formData:r}),n.withCredentials=!!e.withCredentials,n.send(r))}},h=()=>{g([]),e.onClear&&e.onClear(),e.onChange&&e.onChange({acceptedFiles:[],rejectedFiles:[]}),b()},j=t=>{if(s&&s.length){for(let a of s)if(a.name+a.type+a.size===t.name+t.type+t.size)return!0}return!1},X=t=>{let a=[];return e.accept&&!q(t)&&a.push({reason:"fileType",message:e.invalidFileTypeMessage.replace("{0}",t.name).replace("{1}",e.accept)}),e.maxFileSize&&t.size>e.maxFileSize&&a.push({reason:"fileSize",message:e.invalidFileSizeMessage.replace("{0}",t.name).replace("{1}",x(e.maxFileSize))}),a},q=t=>{let a=e.accept.split(",").map(n=>n.trim());for(let n of a)if(V(n)?C(t.type)===C(n):t.type==n||W(t).toLowerCase()===n.toLowerCase())return!0;return!1},C=t=>t.substring(0,t.indexOf("/")),V=t=>t.indexOf("*")!==-1,W=t=>"."+t.name.split(".").pop(),y=t=>{!e.disabled&&(!d||e.multiple)&&(t.stopPropagation(),t.preventDefault())},H=t=>{!e.disabled&&(!d||e.multiple)&&(ie(c.current,"p-fileupload-highlight"),c.current.setAttribute("data-highlight","true"),t.stopPropagation(),t.preventDefault())},z=()=>{e.disabled||(I(c.current,"p-fileupload-highlight"),c.current.setAttribute("data-highlight","false"))},U=t=>{if(!e.disabled){I(c.current,"p-fileupload-highlight"),c.current.setAttribute("data-highlight","false"),t.stopPropagation(),t.preventDefault();let a=t.dataTransfer?.files;(e.multiple||a&&a.length===1)&&E(t)}},G=t=>{b();let a=[...s],n=s[t];a.splice(t,1),g(a),e.onRemove&&e.onRemove({file:n}),e.onChange&&e.onChange({acceptedFiles:a,rejectedFiles:[]})},J=t=>{let a=[...p];a.splice(t,1),S(a),e.onRemove&&e.onRemove({file:s[t]})},b=()=>{f.current&&(f.current.value="")},x=t=>{let r=ne("fileSizeTypes");if(t===0)return`0 ${r[0]}`;let i=Math.floor(Math.log(t)/Math.log(1024));return`${parseFloat((t/Math.pow(1024,i)).toFixed(3))} ${r[i]}`},D=()=>e.fileLimit&&e.fileLimit<s.length+u.current,K=()=>D()?{reason:"fileLimit",message:e.invalidFileLimitMessage.replace("{0}",e.fileLimit.toString())}:null,Q={"data-scope":"fileupload","data-part":"root",...e.disabled&&{"data-disabled":""}},Y={ref:B,"data-scope":"fileupload","data-part":"text",type:"file",accept:e.accept,multiple:e.multiple,disabled:e.disabled,onChange:E},Z={ref:A,"data-scope":"fileupload","data-part":"content",role:"region","aria-busy":F>0&&F<100,onDragEnter:y,onDragOver:H,onDragLeave:z,onDrop:U},_={"data-scope":"fileupload","data-part":"choose",onClick:P,...e.disabled&&{"data-disabled":""}},ee={"data-scope":"fileupload","data-part":"upload",onClick:M,disabled:!d,...e.disabled&&{"data-disabled":""}},te={"data-scope":"fileupload","data-part":"clear",onClick:h,disabled:!d,...e.disabled&&{"data-disabled":""}};return{state:N,uploadedFileCount:u,hasFiles:d,hasUploadedFiles:O,rootProps:Q,chooseProps:_,uploadProps:ee,clearProps:te,inputProps:Y,contentProps:Z,fileRemoveProps:{"data-scope":"fileupload","data-part":"fileRemove"},fileProps:{"data-scope":"fileupload","data-part":"file"},fileThumbnailProps:{"data-scope":"fileupload","data-part":"fileThumbnail"},fileInfoProps:{"data-scope":"fileupload","data-part":"fileInfo"},fileNameProps:{"data-scope":"fileupload","data-part":"fileName"},fileSizeProps:{"data-scope":"fileupload","data-part":"fileSize"},fileListProps:{"data-scope":"fileupload","data-part":"fileList"},upload:M,cancelUpload:$,onFileSelect:E,choose:P,uploader:L,clear:h,remove:G,removeUploadedFile:J,formatSize:x,onDragEnter:y,onDragOver:H,onDragLeave:z,onDrop:U}}});export{k as defaultProps,Fe as useFileUpload};
@@ -47,6 +47,8 @@ export declare const useFileUpload: (inProps?: unknown) => import("@primereact/t
47
47
  ref: (node: HTMLDivElement | null) => void;
48
48
  'data-scope': "fileupload";
49
49
  'data-part': "content";
50
+ role: "region";
51
+ 'aria-busy': boolean;
50
52
  onDragEnter: React.DragEventHandler<HTMLDivElement>;
51
53
  onDragOver: React.DragEventHandler<HTMLDivElement>;
52
54
  onDragLeave: React.DragEventHandler<HTMLDivElement>;
@@ -81,6 +83,7 @@ export declare const useFileUpload: (inProps?: unknown) => import("@primereact/t
81
83
  'data-part': "fileList";
82
84
  };
83
85
  upload: () => void;
86
+ cancelUpload: () => void;
84
87
  onFileSelect: (event: React.ChangeEvent<HTMLInputElement> | DragEvent) => void;
85
88
  choose: () => void;
86
89
  uploader: (uploadFiles?: File[]) => void;
@@ -1,2 +1 @@
1
1
  import{withHeadless as e}from"@primereact/core/headless";var o={};var s=e({name:"useFloatLabel",defaultProps:o,setup(){return{rootProps:{"data-scope":"floatlabel","data-part":"root"}}}});export{o as defaultProps,s as useFloatLabel};
2
- //# sourceMappingURL=index.mjs.map
package/fluid/index.mjs CHANGED
@@ -1,2 +1 @@
1
1
  import{withHeadless as r}from"@primereact/core/headless";var o={};var d=r({name:"useFluid",defaultProps:o,setup(){return{rootProps:{"data-scope":"fluid","data-part":"root"}}}});export{o as defaultProps,d as useFluid};
2
- //# sourceMappingURL=index.mjs.map
@@ -1,2 +1 @@
1
- import{withHeadless as P}from"@primereact/core/headless";import{focus as i,getFirstFocusableElement as m,getLastFocusableElement as S,isFocusableElement as y,toElement as a}from"@primeuix/utils";import{isNotEmpty as w}from"@primeuix/utils/object";import*as s from"react";var v={trapped:!0,autoFocus:!0,initialFocusRef:void 0,onEscape:void 0,onTabFirst:void 0,onTabLast:void 0};var j=P({name:"useFocusTrap",defaultProps:v,setup:({props:h})=>{let{trapped:c,autoFocus:R,initialFocusRef:f,onEscape:p,onTabFirst:b,onTabLast:T}=h,L=s.useRef(null),F=s.useRef(null),d=s.useRef(null),u=s.useRef(null),H=s.useRef(null),r=e=>`:not([data-focus-guard])${e!=null?e:""}`,x=s.useCallback(e=>{if(!c)return;if(b){b(e);return}let t=a(u),l=e.relatedTarget,n=a(F);if(!t||!n)return;let o=l===n||!t.contains(l)?m(t,r()):n;o&&i(o)},[c,b]),C=s.useCallback(e=>{if(!c)return;if(T){T(e);return}let t=a(u),l=e.relatedTarget,n=a(L);if(!t||!n)return;let o=l===n||!t.contains(l)?S(t,r()):n;o&&i(o)},[c,T]),M=s.useCallback(()=>{if(!R)return;let e=a(u);if(!e)return;if(f!=null&&f.current){i(a(f));return}let t=m(e,`[autofocus]${r()}, [data-autofocus]${r()}`);t||(t=m(e,r())),t&&i(t)},[R,f]),E=s.useCallback(e=>{e.key==="Escape"&&(p==null||p(e))},[p]),g=s.useCallback(()=>{let e=a(u);!e||!c||!(e instanceof Element)||(H.current=document.activeElement,e.setAttribute("data-focus-trap",""),e.addEventListener("keydown",E),d.current=new MutationObserver(t=>{for(let l of t)if(l.type==="childList"&&!e.contains(document.activeElement)){let n=l.nextSibling,o=null;for(;n&&!(n instanceof Element&&(y(n)?o=y(n,r(""))?n:m(e,r("")):o=m(n,`[autofocus]${r()}, [data-autofocus]${r()}`),w(o)));)n=n.nextSibling;o&&i(o)}}),d.current.observe(e,{childList:!0}))},[c,E]),k=s.useCallback(()=>{let e=a(u);e&&(e.removeAttribute("data-focus-trap"),e.removeEventListener("keydown",E)),d.current&&(d.current.disconnect(),d.current=null);let t=H.current;t!=null&&t.isConnected&&i(t,{preventScroll:!0}),H.current=null},[E]);return s.useEffect(()=>{if(!(!c||!a(u)))return g(),M(),()=>k()},[c,g,M,k]),{containerRef:u,firstHiddenElementRef:L,lastHiddenElementRef:F,firstHiddenProps:{role:"presentation","aria-hidden":!0,"data-focus-guard":"",onFocus:x},lastHiddenProps:{role:"presentation","aria-hidden":!0,"data-focus-guard":"",onFocus:C}}}});export{v as defaultProps,j as useFocusTrap};
2
- //# sourceMappingURL=index.mjs.map
1
+ import{withHeadless as P}from"@primereact/core/headless";import{focus as i,getFirstFocusableElement as d,getLastFocusableElement as S,isFocusableElement as y,toElement as a}from"@primeuix/utils";import{isNotEmpty as w}from"@primeuix/utils/object";import*as s from"react";var k={trapped:!0,autoFocus:!0,initialFocusRef:void 0,onEscape:void 0,onTabFirst:void 0,onTabLast:void 0};var j=P({name:"useFocusTrap",defaultProps:k,setup:({props:h})=>{let{trapped:c,autoFocus:H,initialFocusRef:p,onEscape:R,onTabFirst:E,onTabLast:b}=h,L=s.useRef(null),F=s.useRef(null),f=s.useRef(null),u=s.useRef(null),T=s.useRef(null),r=e=>`:not([data-focus-guard])${e??""}`,x=s.useCallback(e=>{if(!c)return;if(E){E(e);return}let t=a(u),l=e.relatedTarget,n=a(F);if(!t||!n)return;let o=l===n||!t.contains(l)?d(t,r()):n;o&&i(o)},[c,E]),C=s.useCallback(e=>{if(!c)return;if(b){b(e);return}let t=a(u),l=e.relatedTarget,n=a(L);if(!t||!n)return;let o=l===n||!t.contains(l)?S(t,r()):n;o&&i(o)},[c,b]),M=s.useCallback(()=>{if(!H)return;let e=a(u);if(!e)return;if(p?.current){i(a(p));return}let t=d(e,`[autofocus]${r()}, [data-autofocus]${r()}`);t||(t=d(e,r())),t&&i(t)},[H,p]),m=s.useCallback(e=>{e.key==="Escape"&&R?.(e)},[R]),v=s.useCallback(()=>{let e=a(u);!e||!c||!(e instanceof Element)||(T.current=document.activeElement,e.setAttribute("data-focus-trap",""),e.addEventListener("keydown",m),f.current=new MutationObserver(t=>{for(let l of t)if(l.type==="childList"&&!e.contains(document.activeElement)){let n=l.nextSibling,o=null;for(;n&&!(n instanceof Element&&(y(n)?o=y(n,r(""))?n:d(e,r("")):o=d(n,`[autofocus]${r()}, [data-autofocus]${r()}`),w(o)));)n=n.nextSibling;o&&i(o)}}),f.current.observe(e,{childList:!0}))},[c,m]),g=s.useCallback(()=>{let e=a(u);e&&(e.removeAttribute("data-focus-trap"),e.removeEventListener("keydown",m)),f.current&&(f.current.disconnect(),f.current=null);let t=T.current;t?.isConnected&&i(t,{preventScroll:!0}),T.current=null},[m]);return s.useEffect(()=>{if(!(!c||!a(u)))return v(),M(),()=>g()},[c,v,M,g]),{containerRef:u,firstHiddenElementRef:L,lastHiddenElementRef:F,firstHiddenProps:{role:"presentation","aria-hidden":!0,"data-focus-guard":"",onFocus:x},lastHiddenProps:{role:"presentation","aria-hidden":!0,"data-focus-guard":"",onFocus:C}}}});export{k as defaultProps,j as useFocusTrap};
package/gallery/index.mjs CHANGED
@@ -1,2 +1 @@
1
- var gt=Object.defineProperty,bt=Object.defineProperties;var Rt=Object.getOwnPropertyDescriptors;var G=Object.getOwnPropertySymbols;var vt=Object.prototype.hasOwnProperty,Pt=Object.prototype.propertyIsEnumerable;var H=(c,n,o)=>n in c?gt(c,n,{enumerable:!0,configurable:!0,writable:!0,value:o}):c[n]=o,i=(c,n)=>{for(var o in n||(n={}))vt.call(n,o)&&H(c,o,n[o]);if(G)for(var o of G(n))Pt.call(n,o)&&H(c,o,n[o]);return c},w=(c,n)=>bt(c,Rt(n));import{withHeadless as ht}from"@primereact/core/headless";import*as e from"react";var M={activeIndex:0,fullscreen:void 0,closeOnEscape:!0,onActiveIndexChange:void 0,onFullscreenChange:void 0,onZoomChange:void 0,onRotateChange:void 0,onFlipChange:void 0};var Tt=ht({name:"useGallery",defaultProps:M,setup:({props:c,id:n,elementRef:o})=>{let{activeIndex:I=0,fullscreen:r,closeOnEscape:K=!0,onActiveIndexChange:d=void 0,onFullscreenChange:p,onZoomChange:g,onRotateChange:b,onFlipChange:R}=c,x=e.useRef(null),s=e.useRef(0),X=e.useRef(null),Y=e.useRef(null),N=e.useRef(null),[m,v]=e.useState(I),E=e.useRef(m);E.current=m;let[q,B]=e.useState(!1),P=r!=null?r:q,[u,U]=e.useState({zoomed:!1,rotated:!1,flipped:!1}),[j,T]=e.useState(null);e.useEffect(()=>{v(I)},[I]),e.useEffect(()=>()=>{s.current=0},[]);let S=e.useCallback(t=>{if(t!==null)return t>=s.current&&(s.current=t+1),t;let a=s.current;return s.current+=1,a},[]),J=e.useCallback(()=>T(null),[]),h=()=>{if(s.current<=0)return;let t=(E.current+1)%s.current;v(t),d==null||d({originalEvent:void 0,value:t})},k=()=>{if(s.current<=0)return;let t=(E.current-1+s.current)%s.current;v(t),d==null||d({originalEvent:void 0,value:t})},L=t=>{t<0||t>=s.current||(v(t),d==null||d({originalEvent:void 0,value:t}))},f=t=>()=>{T({type:t,timestamp:Date.now()})},C=()=>{var t,a,y;if(r!==void 0){p==null||p(!r);return}o.current&&(document.fullscreenElement?(t=document.exitFullscreen)==null||t.call(document):(y=(a=o.current).requestFullscreen)==null||y.call(a))};e.useEffect(()=>{var a,y,F,A,O;if(r===void 0||!o.current)return;let t=document.fullscreenElement===o.current;r&&!t?(F=(y=(a=o.current).requestFullscreen)==null?void 0:y.call(a))==null||F.catch(()=>{}):!r&&document.fullscreenElement&&((O=(A=document.exitFullscreen)==null?void 0:A.call(document))==null||O.catch(()=>{}))},[r]),e.useEffect(()=>{let t=()=>{let a=document.fullscreenElement===o.current;B(a),r!==void 0&&r!==a&&(p==null||p(a))};return document.addEventListener("fullscreenchange",t),()=>document.removeEventListener("fullscreenchange",t)},[r,p]);let D=e.useRef(null),Q=e.useCallback(t=>{U({zoomed:t.zoomed,rotated:t.rotated,flipped:t.flipped});let a=D.current;(!a||a.scale!==t.scale)&&(g==null||g(t.scale)),(!a||a.rotation!==t.rotation)&&(b==null||b(t.rotation)),(!a||a.flip.x!==t.flip.x||a.flip.y!==t.flip.y)&&(R==null||R(t.flip)),D.current={scale:t.scale,rotation:t.rotation,flip:t.flip}},[g,b,R]),z={zoomIn:f("zoom-in"),zoomOut:f("zoom-out"),rotateLeft:f("rotate-left"),rotateRight:f("rotate-right"),flipX:f("flip-x"),flipY:f("flip-y"),download:f("download"),next:h,prev:k,toggleFullScreen:C},l=e.useCallback(t=>{t&&z[t]&&z[t]()},[z]),V={isFullscreen:P,activeIndex:m,zoomed:u.zoomed,rotated:u.rotated,flipped:u.flipped,pendingAction:j},W=i(i(i(i({ref:o,id:n,tabIndex:0,"data-scope":"gallery","data-part":"root",onKeyDown:t=>{t.key==="ArrowRight"?(t.preventDefault(),h()):t.key==="ArrowLeft"?(t.preventDefault(),k()):t.key==="Escape"&&K&&P&&(t.preventDefault(),C())}},P&&{"data-fullscreen":""}),u.zoomed&&{"data-zoomed":""}),u.rotated&&{"data-rotated":""}),u.flipped&&{"data-flipped":""}),Z={"data-scope":"gallery","data-part":"next",onClick:h},_={"data-scope":"gallery","data-part":"prev",onClick:k},$={"data-scope":"gallery","data-part":"thumbnail",slide:m},tt={"data-scope":"gallery","data-part":"thumbnailContent"},et=t=>{let a=()=>{t!==void 0&&L(t)};return w(i({"data-scope":"gallery","data-part":"thumbnailItem"},t!==void 0&&m===t&&{"data-active":""}),{onClick:a})},at={"data-scope":"gallery","data-part":"toolbar"},ot=t=>({"data-scope":"gallery","data-part":"toolbarItem",onClick:()=>{l(t)}}),nt={"data-scope":"gallery","data-part":"header"},st={"data-scope":"gallery","data-part":"footer"},rt={"data-scope":"gallery","data-part":"backdrop"},ct={ref:x,"data-scope":"gallery","data-part":"content"},lt={"data-scope":"gallery","data-part":"download","data-action":"download",onClick:()=>l("download")},dt={"data-scope":"gallery","data-part":"flipX","data-action":"flip-x",onClick:()=>l("flipX")},ut={"data-scope":"gallery","data-part":"flipY","data-action":"flip-y",onClick:()=>l("flipY")},it={"data-scope":"gallery","data-part":"rotateLeft","data-action":"rotate-left",onClick:()=>l("rotateLeft")},pt={"data-scope":"gallery","data-part":"rotateRight","data-action":"rotate-right",onClick:()=>l("rotateRight")},ft=w(i({"data-scope":"gallery","data-part":"fullScreen","data-action":"fullscreen"},P&&{"data-fullscreen":""}),{onClick:()=>l("toggleFullScreen")}),mt={"data-scope":"gallery","data-part":"zoomIn","data-action":"zoom-in",disabled:u.zoomed||void 0,onClick:()=>l("zoomIn")},yt={"data-scope":"gallery","data-part":"zoomOut","data-action":"zoom-out",disabled:!u.zoomed||void 0,onClick:()=>l("zoomOut")};return{state:V,registerItem:S,handleNext:h,handlePrev:k,selectItem:L,reportItemState:Q,clearPendingAction:J,toggleFullScreen:C,handleClickAction:l,actions:z,contentRef:x,thumbnailRef:X,prevRef:Y,nextRef:N,rootProps:W,nextProps:Z,prevProps:_,thumbnailProps:$,thumbnailContentProps:tt,thumbnailItemProps:et,toolbarProps:at,toolbarItemProps:ot,headerProps:nt,footerProps:st,backdropProps:rt,contentProps:ct,downloadProps:lt,flipXProps:dt,flipYProps:ut,rotateLeftProps:it,rotateRightProps:pt,fullScreenProps:ft,zoomInProps:mt,zoomOutProps:yt,zoomToggleProps:{"data-scope":"gallery","data-part":"zoomToggle","data-action":"zoom-toggle",onClick:()=>l(u.zoomed?"zoomOut":"zoomIn")},getItemProps:t=>(t>=s.current&&(s.current=t+1),i({"data-scope":"gallery","data-part":"item"},m===t&&{"data-active":""}))}}});export{M as defaultProps,Tt as useGallery};
2
- //# sourceMappingURL=index.mjs.map
1
+ import{withHeadless as pe}from"@primereact/core/headless";import{useControlledState as fe}from"@primereact/hooks/use-controlled-state";import*as n from"react";var A={activeIndex:void 0,defaultActiveIndex:0,fullscreen:void 0,closeOnEscape:!0,onActiveIndexChange:void 0,onFullscreenChange:void 0,onZoomChange:void 0,onRotateChange:void 0,onFlipChange:void 0};var Ce=pe({name:"useGallery",defaultProps:A,setup:({props:y,id:F,elementRef:c})=>{let{fullscreen:s,closeOnEscape:w=!0,onActiveIndexChange:T=void 0,onFullscreenChange:h,onZoomChange:I,onRotateChange:P,onFlipChange:k}=y,z=n.useRef(null),a=n.useRef(0),u=n.useRef(new Set),D=n.useRef(null),L=n.useRef(null),G=n.useRef(null),[M,O]=fe({value:y.activeIndex,defaultValue:y.defaultActiveIndex??0,onChange:T}),i=M??0,v=n.useRef(i);v.current=i;let b=(e,t)=>{O([e,{originalEvent:t,value:e}])},[H,S]=n.useState(!1),l=s??H,[r,K]=n.useState({zoomed:!1,rotated:!1,flipped:!1}),[U,x]=n.useState(null);n.useEffect(()=>()=>{a.current=0,u.current.clear()},[]);let X=n.useCallback(e=>{let t=e;return(t===null||u.current.has(t))&&(t=a.current),u.current.add(t),a.current=Math.max(a.current,t+1),{index:t,unregister:()=>{u.current.delete(t),a.current=u.current.size===0?0:Math.max(...u.current)+1}}},[]),Y=n.useCallback(()=>x(null),[]),p=e=>{if(a.current<=0)return;let t=(v.current+1)%a.current;b(t,e)},f=e=>{if(a.current<=0)return;let t=(v.current-1+a.current)%a.current;b(t,e)},m=(e,t)=>{e<0||e>=a.current||b(e,t)},d=e=>()=>{x({type:e,timestamp:Date.now()})},R=()=>{if(s!==void 0){h?.(!s);return}c.current&&(document.fullscreenElement?document.exitFullscreen?.():c.current.requestFullscreen?.())};n.useEffect(()=>{if(s===void 0||!c.current)return;let e=document.fullscreenElement===c.current;s&&!e?c.current.requestFullscreen?.()?.catch(()=>{}):!s&&document.fullscreenElement&&document.exitFullscreen?.()?.catch(()=>{})},[s]),n.useEffect(()=>{let e=()=>{let t=document.fullscreenElement===c.current;S(t),s!==void 0&&s!==t&&h?.(t)};return document.addEventListener("fullscreenchange",e),()=>document.removeEventListener("fullscreenchange",e)},[s,h]);let E=n.useRef(null),N=n.useCallback(e=>{K({zoomed:e.zoomed,rotated:e.rotated,flipped:e.flipped});let t=E.current;(!t||t.scale!==e.scale)&&I?.(e.scale),(!t||t.rotation!==e.rotation)&&P?.(e.rotation),(!t||t.flip.x!==e.flip.x||t.flip.y!==e.flip.y)&&k?.(e.flip),E.current={scale:e.scale,rotation:e.rotation,flip:e.flip}},[I,P,k]),g={zoomIn:d("zoom-in"),zoomOut:d("zoom-out"),rotateLeft:d("rotate-left"),rotateRight:d("rotate-right"),flipX:d("flip-x"),flipY:d("flip-y"),download:d("download"),next:p,prev:f,toggleFullScreen:R},o=n.useCallback(e=>{e&&g[e]&&g[e]()},[g]),q={isFullscreen:l,activeIndex:i,zoomed:r.zoomed,rotated:r.rotated,flipped:r.flipped,pendingAction:U},B={ref:c,id:F,tabIndex:0,role:l?"dialog":"group","aria-roledescription":l?void 0:"carousel","aria-modal":l||void 0,"data-scope":"gallery","data-part":"root",onKeyDown:e=>{e.key==="ArrowRight"?(e.preventDefault(),p(e)):e.key==="ArrowLeft"?(e.preventDefault(),f(e)):e.key==="Home"?(e.preventDefault(),m(0,e)):e.key==="End"?(e.preventDefault(),m(a.current-1,e)):e.key==="Escape"&&w&&l&&(e.preventDefault(),R())},...l&&{"data-fullscreen":""},...r.zoomed&&{"data-zoomed":""},...r.rotated&&{"data-rotated":""},...r.flipped&&{"data-flipped":""}},Z={"data-scope":"gallery","data-part":"next",onClick:p},j={"data-scope":"gallery","data-part":"prev",onClick:f},V={"data-scope":"gallery","data-part":"thumbnail",slide:i},J={"data-scope":"gallery","data-part":"thumbnailContent"},Q=e=>{let t=ie=>{e!==void 0&&m(e,ie)},C=e!==void 0&&i===e;return{"data-scope":"gallery","data-part":"thumbnailItem",role:"button","aria-current":C||void 0,...C&&{"data-active":""},onClick:t}},W={"data-scope":"gallery","data-part":"toolbar"},_=e=>({"data-scope":"gallery","data-part":"toolbarItem",onClick:()=>{o(e)}}),$={"data-scope":"gallery","data-part":"header"},ee={"data-scope":"gallery","data-part":"footer"},te={"data-scope":"gallery","data-part":"backdrop"},ne={ref:z,"data-scope":"gallery","data-part":"content"},ae={"data-scope":"gallery","data-part":"download","data-action":"download",onClick:()=>o("download")},oe={"data-scope":"gallery","data-part":"flipX","data-action":"flip-x",onClick:()=>o("flipX")},se={"data-scope":"gallery","data-part":"flipY","data-action":"flip-y",onClick:()=>o("flipY")},re={"data-scope":"gallery","data-part":"rotateLeft","data-action":"rotate-left",onClick:()=>o("rotateLeft")},ce={"data-scope":"gallery","data-part":"rotateRight","data-action":"rotate-right",onClick:()=>o("rotateRight")},le={"data-scope":"gallery","data-part":"fullScreen","data-action":"fullscreen",...l&&{"data-fullscreen":""},onClick:()=>o("toggleFullScreen")},de={"data-scope":"gallery","data-part":"zoomIn","data-action":"zoom-in",disabled:r.zoomed||void 0,onClick:()=>o("zoomIn")},ue={"data-scope":"gallery","data-part":"zoomOut","data-action":"zoom-out",disabled:!r.zoomed||void 0,onClick:()=>o("zoomOut")};return{state:q,registerItem:X,handleNext:p,handlePrev:f,selectItem:m,reportItemState:N,clearPendingAction:Y,toggleFullScreen:R,handleClickAction:o,actions:g,contentRef:z,thumbnailRef:D,prevRef:L,nextRef:G,rootProps:B,nextProps:Z,prevProps:j,thumbnailProps:V,thumbnailContentProps:J,thumbnailItemProps:Q,toolbarProps:W,toolbarItemProps:_,headerProps:$,footerProps:ee,backdropProps:te,contentProps:ne,downloadProps:ae,flipXProps:oe,flipYProps:se,rotateLeftProps:re,rotateRightProps:ce,fullScreenProps:le,zoomInProps:de,zoomOutProps:ue,zoomToggleProps:{"data-scope":"gallery","data-part":"zoomToggle","data-action":"zoom-toggle",onClick:()=>o(r.zoomed?"zoomOut":"zoomIn")},getItemProps:e=>(e>=a.current&&(a.current=e+1),{"data-scope":"gallery","data-part":"item",...i===e&&{"data-active":""}})}}});export{A as defaultProps,Ce as useGallery};
@@ -1,2 +1 @@
1
- var go=Object.defineProperty,ur=Object.defineProperties;var fr=Object.getOwnPropertyDescriptors;var Tt=Object.getOwnPropertySymbols;var Fo=Object.prototype.hasOwnProperty,No=Object.prototype.propertyIsEnumerable;var To=(o,r,n)=>r in o?go(o,r,{enumerable:!0,configurable:!0,writable:!0,value:n}):o[r]=n,G=(o,r)=>{for(var n in r||(r={}))Fo.call(r,n)&&To(o,n,r[n]);if(Tt)for(var n of Tt(r))No.call(r,n)&&To(o,n,r[n]);return o},b=(o,r)=>ur(o,fr(r));var H=(o,r)=>{var n={};for(var t in o)Fo.call(o,t)&&r.indexOf(t)<0&&(n[t]=o[t]);if(o!=null&&Tt)for(var t of Tt(o))r.indexOf(t)<0&&No.call(o,t)&&(n[t]=o[t]);return n};var gt=(o,r)=>{for(var n in r)go(o,n,{get:r[n],enumerable:!0})};import{withHeadless as _e}from"@primereact/core/headless";import{createOptionalContext as dr}from"@primereact/core/utils";var[So,m]=dr();var so={};gt(so,{Backdrop:()=>kt,Content:()=>Yt,Download:()=>Xt,FlipX:()=>Mt,FlipY:()=>Et,Footer:()=>Zt,FullScreen:()=>zt,Header:()=>Ht,Item:()=>Lt,Next:()=>$t,Prev:()=>Ot,Root:()=>At,RotateLeft:()=>Wt,RotateRight:()=>Ut,Thumbnail:()=>Qt,ThumbnailContent:()=>to,ThumbnailItem:()=>oo,ZoomIn:()=>ro,ZoomOut:()=>eo,ZoomToggle:()=>no});import{Component as xr,withComponent as Pr}from"@primereact/core/component";import{mergeProps as hr}from"@primeuix/utils";import*as ko from"react";var B={as:"div"};var kt=Pr({name:"Gallery.Backdrop",defaultProps:B,setup(){return{gallery:m()}},render(o){let{props:r,ptmi:n,gallery:t}=o,s=hr(t==null?void 0:t.backdropProps,{className:t==null?void 0:t.cx("backdrop")},n("root"));return ko.createElement(xr,{instance:o,attrs:s,children:r.children})}});import{Component as Cr,withComponent as yr}from"@primereact/core/component";import{mergeProps as Gr}from"@primeuix/utils";import*as Yo from"react";var A={as:"div"};var Yt=yr({name:"Gallery.Content",defaultProps:A,setup(){return{gallery:m()}},render(o){let{props:r,ptmi:n,gallery:t}=o,s=Gr(t==null?void 0:t.contentProps,{className:t==null?void 0:t.cx("content")},n("root"));return Yo.createElement(Cr,{instance:o,attrs:s,children:r.children})}});import{Component as Rr,withComponent as Ir}from"@primereact/core/component";import{mergeProps as vr}from"@primeuix/utils";import*as Xo from"react";var W={as:"button",onClick:void 0};var Xt=Ir({name:"Gallery.Download",defaultProps:W,setup(){return{gallery:m()}},render(o){let{props:r,ptmi:n,gallery:t}=o,s=vr(t==null?void 0:t.downloadProps,{className:t==null?void 0:t.cx("download")},n("root"));return Xo.createElement(Rr,{instance:o,attrs:s,children:r.children})}});import{Component as br,withComponent as wr}from"@primereact/core/component";import{mergeProps as Tr}from"@primeuix/utils";import*as Mo from"react";var U={as:"button",onClick:void 0};var Mt=wr({name:"Gallery.FlipX",defaultProps:U,setup(){return{gallery:m()}},render(o){let{props:r,ptmi:n,gallery:t}=o,s=Tr(t==null?void 0:t.flipXProps,{className:t==null?void 0:t.cx("flipX")},n("root"));return Mo.createElement(br,{instance:o,attrs:s,children:r.children})}});import{Component as gr,withComponent as Fr}from"@primereact/core/component";import{mergeProps as Nr}from"@primeuix/utils";import*as Eo from"react";var j={as:"button",onClick:void 0};var Et=Fr({name:"Gallery.FlipY",defaultProps:j,setup(){return{gallery:m()}},render(o){let{props:r,ptmi:n,gallery:t}=o,s=Nr(t==null?void 0:t.flipYProps,{className:t==null?void 0:t.cx("flipY")},n("root"));return Eo.createElement(gr,{instance:o,attrs:s,children:r.children})}});import{Component as Sr,withComponent as kr}from"@primereact/core/component";import{mergeProps as Yr}from"@primeuix/utils";import*as Zo from"react";var _={as:"div"};var Zt=kr({name:"Gallery.Footer",defaultProps:_,setup(){return{gallery:m()}},render(o){let{props:r,ptmi:n,gallery:t}=o,s=Yr(t==null?void 0:t.footerProps,{className:t==null?void 0:t.cx("footer")},n("root"));return Zo.createElement(Sr,{instance:o,attrs:s,children:r.children})}});import{Component as Xr,withComponent as Mr}from"@primereact/core/component";import{mergeProps as Er}from"@primeuix/utils";import*as zo from"react";var q={as:"button",onClick:void 0};var zt=Mr({name:"Gallery.FullScreen",defaultProps:q,setup(){return{gallery:m()}},render(o){var c;let{props:r,ptmi:n,gallery:t}=o,s=(c=t==null?void 0:t.state.isFullscreen)!=null?c:!1,l=Er(t==null?void 0:t.fullScreenProps,{className:t==null?void 0:t.cx("fullScreen")},n("root")),e=typeof r.children=="function"?r.children({isFullscreen:s}):r.children;return zo.createElement(Xr,{instance:o,attrs:l,children:e})}});import{Component as Zr,withComponent as zr}from"@primereact/core/component";import{mergeProps as Hr}from"@primeuix/utils";import*as Ho from"react";var K={as:"div"};var Ht=zr({name:"Gallery.Header",defaultProps:K,setup(){return{gallery:m()}},render(o){let{props:r,ptmi:n,gallery:t}=o,s=Hr(t==null?void 0:t.headerProps,{className:t==null?void 0:t.cx("header")},n("root"));return Ho.createElement(Zr,{instance:o,attrs:s,children:r.children})}});import{Component as Lr,withComponent as $r}from"@primereact/core/component";import{useGalleryItem as Or}from"@primereact/headless/gallery/item";import{mergeProps as Br}from"@primeuix/utils";import*as Dt from"react";import{createOptionalContext as Dr}from"@primereact/core/utils";var[Do,Cs]=Dr();import*as Lo from"@primereact/headless/gallery";var V=b(G({},Lo.defaultProps),{as:"div"});var Lt=$r({name:"Gallery.Item",defaultProps:V,setup(o){let r=m(),n=Or(o.inProps);return b(G({},n),{gallery:r})},render(o){let{id:r,props:n,ptmi:t,gallery:s,itemProps:l}=o,e=Br(l,{id:r,className:s==null?void 0:s.cx("item")},t("root"),s==null?void 0:s.ptm("item"));return Dt.createElement(Do,{value:o},Dt.createElement(Lr,{instance:o,attrs:e,children:n.children}))}});import{Component as Ar,withComponent as Wr}from"@primereact/core/component";import{mergeProps as Ur}from"@primeuix/utils";import*as $o from"react";var J={as:"button"};var $t=Wr({name:"Gallery.Next",defaultProps:J,setup(){return{gallery:m()}},render(o){let{props:r,ptmi:n,gallery:t}=o,s=Ur(t==null?void 0:t.nextProps,{className:t==null?void 0:t.cx("next")},n("root"));return $o.createElement(Ar,{instance:o,attrs:s,children:r.children,ref:t==null?void 0:t.nextRef})}});import{Component as jr,withComponent as _r}from"@primereact/core/component";import{mergeProps as qr}from"@primeuix/utils";import*as Oo from"react";var Q={as:"button"};var Ot=_r({name:"Gallery.Prev",defaultProps:Q,setup(){return{gallery:m()}},render(o){let{props:r,ptmi:n,gallery:t}=o,s=qr(t==null?void 0:t.prevProps,{className:t==null?void 0:t.cx("prev")},n("root"));return Oo.createElement(jr,{instance:o,attrs:s,children:r.children,ref:t==null?void 0:t.prevRef})}});import{Component as Kr,withComponent as Vr}from"@primereact/core/component";import{useGallery as Jr}from"@primereact/headless/gallery";import{mergeProps as Qr}from"@primeuix/utils";import*as Bt from"react";import{createPortal as te}from"react-dom";import*as Bo from"@primereact/headless/gallery";var tt=b(G({},Bo.defaultProps),{as:"div"});var At=Vr({name:"Gallery.Root",defaultProps:tt,setup(o){return Jr(o.inProps)},render(o){let{props:r,ptmi:n,cx:t,rootProps:s}=o,l=!!r.fullscreen,e=Qr(s,{className:t("root")},n("root")),c=Bt.createElement(So,{value:o},Bt.createElement(Kr,{instance:o,attrs:e,children:r.children}));return l&&typeof document!="undefined"?te(c,document.body):c}});import{Component as oe,withComponent as re}from"@primereact/core/component";import{mergeProps as ee}from"@primeuix/utils";import*as Ao from"react";var ot={as:"button",onClick:void 0};var Wt=re({name:"Gallery.RotateLeft",defaultProps:ot,setup(){return{gallery:m()}},render(o){let{props:r,ptmi:n,gallery:t}=o,s=ee(t==null?void 0:t.rotateLeftProps,{className:t==null?void 0:t.cx("rotateLeft")},n("root"));return Ao.createElement(oe,{instance:o,attrs:s,children:r.children})}});import{Component as ne,withComponent as se}from"@primereact/core/component";import{mergeProps as pe}from"@primeuix/utils";import*as Wo from"react";var rt={as:"button",onClick:void 0};var Ut=se({name:"Gallery.RotateRight",defaultProps:rt,setup(){return{gallery:m()}},render(o){let{props:r,ptmi:n,gallery:t}=o,s=pe(t==null?void 0:t.rotateRightProps,{className:t==null?void 0:t.cx("rotateRight")},n("root"));return Wo.createElement(ne,{instance:o,attrs:s,children:r.children})}});import{Component as Se,withComponent as ke}from"@primereact/core/component";import{mergeProps as Ye}from"@primeuix/utils";import*as Qo from"react";import{createOptionalContext as ae}from"@primereact/core/utils";var[Uo,v]=ae();var Vt={};gt(Vt,{Content:()=>nt,Indicator:()=>pt,Indicators:()=>jt,Item:()=>it,Next:()=>_t,Prev:()=>qt,Root:()=>ft});import{Component as me,withComponent as ie}from"@primereact/core/component";import{mergeProps as ce}from"@primeuix/utils";import*as jo from"react";var et={as:"div"};var nt=ie({name:"Carousel.Content",defaultProps:et,setup(){return{carousel:v()}},render(o){let{props:r,ptmi:n,carousel:t}=o,s=ce(t==null?void 0:t.contentProps,{className:t==null?void 0:t.cx("content")},t==null?void 0:t.ptm("content"),n("root"));return jo.createElement(me,{instance:o,attrs:s,children:r.children})}});import{Component as le,withComponent as ue}from"@primereact/core/component";import{mergeProps as fe}from"@primeuix/utils";import*as _o from"react";var st={as:"button",page:void 0};var pt=ue({name:"Carousel.Indicator",defaultProps:st,setup(o){let r=v(),n=(r==null?void 0:r.state.page)===o.props.page;return{carousel:r,isActive:n}},render(o){var e;let{props:r,ptmi:n,carousel:t,isActive:s}=o,l=fe(t==null?void 0:t.getIndicatorProps((e=r.page)!=null?e:0),{className:t==null?void 0:t.cx("indicator",{active:s})},t==null?void 0:t.ptm("indicator"),n("root"));return _o.createElement(le,{instance:o,attrs:l,children:r.children})}});import{Component as de,withComponent as xe}from"@primereact/core/component";import{mergeProps as Pe}from"@primeuix/utils";import*as D from"react";var at={as:"div"};var jt=xe({name:"Carousel.Indicators",defaultProps:at,setup(){return{carousel:v()}},render(o){var l,e;let{props:r,ptmi:n,carousel:t}=o,s=Pe(t==null?void 0:t.indicatorsProps,{className:t==null?void 0:t.cx("indicators")},t==null?void 0:t.ptm("indicators"),n("root"));return D.createElement(de,{instance:o,attrs:s,children:(e=r.children)!=null?e:D.createElement(D.Fragment,null,Array.from((l=t==null?void 0:t.state.snapPoints)!=null?l:[]).map((c,w)=>D.createElement(pt,{key:w,page:w})))})}});import{Component as he,withComponent as Ce}from"@primereact/core/component";import{mergeProps as ye}from"@primeuix/utils";import*as qo from"react";var mt={as:"div",value:void 0};var it=Ce({name:"Carousel.Item",defaultProps:mt,setup(){return{carousel:v()}},render(o){let{id:r,props:n,ptmi:t,carousel:s}=o,l=ye(s==null?void 0:s.getItemProps(n.value),{id:r,className:s==null?void 0:s.cx("item")},s==null?void 0:s.ptm("item"),t("root"));return qo.createElement(he,{instance:o,attrs:l,children:n.children})}});import{Component as Ge,withComponent as Re}from"@primereact/core/component";import{mergeProps as Ie}from"@primeuix/utils";import*as Ko from"react";var ct={as:"button"};var _t=Re({name:"Carousel.Next",defaultProps:ct,setup(o){var t;let r=v(),n=(t=(r==null?void 0:r.state.isNextDisabled)||o.props.disabled)!=null?t:!1;return{carousel:r,disabled:n}},render(o){let{props:r,ptmi:n,carousel:t,disabled:s}=o,l=Ie(t==null?void 0:t.getNextProps(s),{className:t==null?void 0:t.cx("next",{disabled:s})},t==null?void 0:t.ptm("next"),n("root"));return Ko.createElement(Ge,{instance:o,attrs:l,children:r.children})}});import{Component as ve,withComponent as be}from"@primereact/core/component";import{mergeProps as we}from"@primeuix/utils";import*as Vo from"react";var lt={as:"button"};var qt=be({name:"Carousel.Prev",defaultProps:lt,setup(o){var t;let r=v(),n=(t=(r==null?void 0:r.state.isPrevDisabled)||o.props.disabled)!=null?t:!1;return{carousel:r,disabled:n}},render(o){let{props:r,ptmi:n,carousel:t,disabled:s}=o,l=we(t==null?void 0:t.getPrevProps(s),{className:t==null?void 0:t.cx("prev",{disabled:s})},t==null?void 0:t.ptm("prev"),n("root"));return Vo.createElement(ve,{instance:o,attrs:l,children:r.children})}});import{Component as Te,withComponent as ge}from"@primereact/core/component";import{useCarousel as Fe}from"@primereact/headless/carousel";import{mergeProps as Ne}from"@primeuix/utils";import*as Kt from"react";import*as Jo from"@primereact/headless/carousel";var ut=b(G({},Jo.defaultProps),{as:"div"});var ft=ge({name:"Carousel.Root",defaultProps:ut,setup(o){return Fe(o.inProps)},render(o){let{id:r,props:n,rootProps:t,ptmi:s,cx:l}=o,e=Ne(t,{id:r,className:l("root")},s("root"));return Kt.createElement(Uo,{value:o},Kt.createElement(Te,{instance:o,attrs:e,children:n.children}))}});var Jt={};gt(Jt,{defaultContentProps:()=>et,defaultIndicatorProps:()=>st,defaultIndicatorsProps:()=>at,defaultItemProps:()=>mt,defaultNextProps:()=>ct,defaultPrevProps:()=>lt,defaultRootProps:()=>ut});var dt={as:ft,autoSize:!0,loop:!0,align:"center",spacing:8};var Qt=ke({name:"Gallery.Thumbnail",defaultProps:dt,setup(){return{gallery:m()}},render(o){let{props:r,ptmi:n,gallery:t}=o,c=r,{as:s}=c,l=H(c,["as"]),e=Ye(l,t==null?void 0:t.thumbnailProps,{className:t==null?void 0:t.cx("thumbnail")},t==null?void 0:t.ptm("thumbnail"),n("root"));return Qo.createElement(Se,{as:s,instance:o,attrs:e,children:r.children,ref:t==null?void 0:t.thumbnailRef})}});import{Component as Xe,withComponent as Me}from"@primereact/core/component";import{mergeProps as Ee}from"@primeuix/utils";import*as tr from"react";var xt={as:nt};var to=Me({name:"Gallery.ThumbnailContent",defaultProps:xt,setup(){var n;let o=m(),r=(n=o==null?void 0:o.thumbnailContentProps)!=null?n:{};return{gallery:o,thumbnailContentProps:r}},render(o){let{props:r,ptmi:n,gallery:t,thumbnailContentProps:s}=o,w=r,{as:l}=w,e=H(w,["as"]),c=Ee(e,s,{className:t==null?void 0:t.cx("thumbnailContent")},t==null?void 0:t.ptm("thumbnailContent"),n("root"));return tr.createElement(Xe,{as:l,instance:o,attrs:c,children:r.children})}});import{Component as Ze,withComponent as ze}from"@primereact/core/component";import{mergeProps as He}from"@primeuix/utils";import*as or from"react";var Pt={as:it,index:void 0};var oo=ze({name:"Gallery.ThumbnailItem",defaultProps:Pt,setup(o){var s;let r=m(),{index:n}=o.props,t=(s=r==null?void 0:r.thumbnailItemProps(n))!=null?s:{};return{gallery:r,thumbnailItemProps:t}},render(o){let{props:r,ptmi:n,gallery:t,thumbnailItemProps:s}=o,w=r,{as:l}=w,e=H(w,["as"]),c=He(e,s,{className:t==null?void 0:t.cx("thumbnailItem")},t==null?void 0:t.ptm("thumbnailItem"),n("root"));return or.createElement(Ze,{as:l,instance:o,attrs:c,children:r.children})}});import{Component as De,withComponent as Le}from"@primereact/core/component";import{mergeProps as $e}from"@primeuix/utils";import*as rr from"react";var ht={as:"button",onClick:void 0};var ro=Le({name:"Gallery.ZoomIn",defaultProps:ht,setup(){return{gallery:m()}},render(o){let{props:r,ptmi:n,gallery:t}=o,s=$e(t==null?void 0:t.zoomInProps,{className:t==null?void 0:t.cx("zoomIn")},n("root"));return rr.createElement(De,{instance:o,attrs:s,children:r.children})}});import{Component as Oe,withComponent as Be}from"@primereact/core/component";import{mergeProps as Ae}from"@primeuix/utils";import*as er from"react";var Ct={as:"button",onClick:void 0};var eo=Be({name:"Gallery.ZoomOut",defaultProps:Ct,setup(){return{gallery:m()}},render(o){let{props:r,ptmi:n,gallery:t}=o,s=Ae(t==null?void 0:t.zoomOutProps,{className:t==null?void 0:t.cx("zoomOut")},n("root"));return er.createElement(Oe,{instance:o,attrs:s,children:r.children})}});import{Component as We,withComponent as Ue}from"@primereact/core/component";import{mergeProps as je}from"@primeuix/utils";import*as nr from"react";var yt={as:"button",onClick:void 0};var no=Ue({name:"Gallery.ZoomToggle",defaultProps:yt,setup(){return{gallery:m()}},render(o){let{props:r,ptmi:n,gallery:t}=o,s=je(t==null?void 0:t.zoomToggleProps,{className:t==null?void 0:t.cx("zoomToggle")},n("root"));return nr.createElement(We,{instance:o,attrs:s,children:r.children})}});var po={};gt(po,{defaultBackdropProps:()=>B,defaultContentProps:()=>A,defaultDownloadProps:()=>W,defaultFlipXProps:()=>U,defaultFlipYProps:()=>j,defaultFooterProps:()=>_,defaultFullScreenProps:()=>q,defaultHeaderProps:()=>K,defaultItemProps:()=>V,defaultNextProps:()=>J,defaultPrevProps:()=>Q,defaultRootProps:()=>tt,defaultRotateLeftProps:()=>ot,defaultRotateRightProps:()=>rt,defaultThumbnailContentProps:()=>xt,defaultThumbnailItemProps:()=>Pt,defaultThumbnailProps:()=>dt,defaultZoomInProps:()=>ht,defaultZoomOutProps:()=>Ct,defaultZoomToggleProps:()=>yt});import*as a from"react";var sr={context:void 0,normalScale:1,zoomedScale:3};var Nc=_e({name:"useGalleryItem",defaultProps:sr,setup:({props:o,elementRef:r})=>{let{context:n,normalScale:t=1,zoomedScale:s=3}=o,l=m(),e=n!=null?n:l,[c,w]=a.useState(-1),[g,ao]=a.useState(!1),[E,L]=a.useState({x:0,y:0}),[T,Gt]=a.useState(1),[R,mo]=a.useState(0),[Y,io]=a.useState({x:1,y:1}),[Rt,Ft]=a.useState(!1),co=a.useRef(null),F=a.useRef(new Map),Nt=a.useRef({x:0,y:0}),lo=a.useRef(0),$=a.useRef(0),It=a.useRef(1),uo=a.useRef(!1),y=a.useRef(1),I=a.useRef({x:0,y:0}),vt=a.useRef(!1),St=a.useRef({x:0,y:0}),O=a.useRef(!1),M=a.useRef(null);a.useLayoutEffect(()=>{if(e!=null&&e.registerItem){let p=e.registerItem(co.current);co.current=p,p!==c&&w(p)}},[e]),a.useEffect(()=>{y.current=T},[T]),a.useEffect(()=>{I.current=E},[E]);let N=a.useCallback(()=>{if(!(e!=null&&e.contentRef.current)||!r.current)return;let p=e==null?void 0:e.contentRef.current.getBoundingClientRect(),i=r.current.firstElementChild;if(!i)return;let u=i.naturalWidth||i.offsetWidth,d=i.naturalHeight||i.offsetHeight;if(u===0||d===0)return;let h=Math.abs(R)%180===90;h&&([u,d]=[d,u]);let x=u/d,C=p.width/p.height,f,P;x>C?(f=Math.min(p.width*.99,u),P=f/x):(P=Math.min(p.height*.99,d),f=P*x),h?(i.style.width=`${P}px`,i.style.height=`${f}px`,r.current.style.width=`${P>0?P:"auto"}px`,r.current.style.height=`${f>0?f:"auto"}px`):(i.style.width=`${f}px`,i.style.height=`${P}px`,r.current.style.width=`${f>0?f:"auto"}px`,r.current.style.height=`${P>0?P:"auto"}px`),r.current.style.aspectRatio=`${u/d}`},[e==null?void 0:e.contentRef,R]),X=a.useCallback(p=>{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(),u=p!==void 0?p:y.current,d=r.current.firstElementChild;if(!d)return{minX:0,maxX:0,minY:0,maxY:0};let h=d.offsetWidth,x=d.offsetHeight;Math.abs(R)%180===90&&([h,x]=[x,h]);let f=h*u,P=x*u,S=i.width/2,k=i.height/2,Z=f/2,z=P/2,mr=Z>S?Z-S:0,ir=Z>S?-(Z-S):0,cr=z>k?z-k:0,lr=z>k?-(z-k):0;return{minX:ir,maxX:mr,minY:lr,maxY:cr}},[e==null?void 0:e.contentRef,R]),bt=a.useCallback(()=>{Gt(s),r.current&&(r.current.style.cursor="zoom-out")},[s]),wt=a.useCallback(()=>{Gt(t),L({x:0,y:0}),r.current&&(r.current.style.cursor="zoom-in")},[t]),fo=()=>{Ft(!0),r.current&&(r.current.style.transition=""),mo(p=>p-90)},xo=()=>{Ft(!0),r.current&&(r.current.style.transition=""),mo(p=>p+90)},Po=()=>{io(p=>b(G({},p),{x:Math.sign(p.x)*-1}))},ho=()=>{io(p=>b(G({},p),{y:Math.sign(p.y)*-1}))},Co=()=>{if(!r.current)return;let p=r.current.querySelector("img");if(!p||!p.src)return;let i=document.createElement("a");i.href=p.src;let u=p.src.split("/"),d=u[u.length-1]||"image.jpg";i.download=d,i.target="_blank",document.body.appendChild(i),i.click(),document.body.removeChild(i)},yo=a.useCallback(p=>{if(O.current){O.current=!1;return}if(y.current===t){if(r.current){let i=r.current.getBoundingClientRect(),u=i.width/2,d=i.height/2,h=p.clientX-i.left,x=p.clientY-i.top,C=u-h,f=d-x,P=C*(s-1),S=f*(s-1),k=X(s),Z=Math.max(k.minX,Math.min(k.maxX,P)),z=Math.max(k.minY,Math.min(k.maxY,S));L({x:Z,y:z})}bt()}else wt()},[t,s,X,bt,wt]),Go=a.useCallback(p=>{p.preventDefault()},[]),Ro=a.useCallback(p=>{p.currentTarget.setPointerCapture(p.pointerId),F.current.set(p.pointerId,{x:p.clientX,y:p.clientY}),Nt.current={x:p.clientX,y:p.clientY},p.pointerType==="touch"&&F.current.size>=2?(vt.current=!1,$.current=0,It.current=y.current):y.current>1&&(p.pointerType==="mouse"||p.pointerType==="touch"&&F.current.size===1)&&(vt.current=!0,St.current={x:p.clientX-I.current.x,y:p.clientY-I.current.y},O.current=!1)},[]),Io=a.useCallback(p=>{if(!F.current.has(p.pointerId)||!r.current)return;r.current.style.transition="none",p.pointerType==="mouse"&&!r.current.style.cursor&&(r.current.style.cursor=y.current>t?"zoom-out":"zoom-in"),F.current.set(p.pointerId,{x:p.clientX,y:p.clientY});let i=Array.from(F.current.values());if(i.length===2){let[u,d]=i,h=Math.hypot(d.x-u.x,d.y-u.y);if(uo.current=!0,O.current=!0,$.current===0)$.current=h,It.current=y.current;else{let x=h/$.current,C=Math.max(t,Math.min(s,It.current*x)),f=X(C),P=Math.max(f.minX,Math.min(f.maxX,I.current.x)),S=Math.max(f.minY,Math.min(f.maxY,I.current.y));y.current=C,I.current={x:P,y:S},r.current.style.setProperty("--px-scale",`${C}`),r.current.style.setProperty("--px-position-x",`${P}px`),r.current.style.setProperty("--px-position-y",`${S}px`)}lo.current=h}else if(i.length===1&&vt.current){let u=i[0],d=u.x-St.current.x,h=u.y-St.current.y,x=X(y.current),C=Math.max(x.minX,Math.min(x.maxX,d)),f=Math.max(x.minY,Math.min(x.maxY,h));I.current={x:C,y:f},r.current.style.setProperty("--px-position-x",`${C}px`),r.current.style.setProperty("--px-position-y",`${f}px`),Math.hypot(u.x-Nt.current.x,u.y-Nt.current.y)>5&&(O.current=!0)}},[t,s,X]),vo=a.useCallback(p=>{r.current&&(r.current.style.transition="",p.pointerType==="mouse"&&(r.current.style.cursor=y.current>t?"zoom-out":"zoom-in"),p.currentTarget.releasePointerCapture(p.pointerId),F.current.delete(p.pointerId),F.current.size<2&&(lo.current=0,$.current=0,It.current=1,uo.current=!1),F.current.size===0&&(vt.current=!1,Gt(y.current),L(I.current)))},[t]);a.useEffect(()=>{T<=1&&L({x:0,y:0})},[T]),a.useEffect(()=>{(e==null?void 0:e.state.activeIndex)===c&&document.readyState==="complete"&&N()},[e==null?void 0:e.state.activeIndex,c,N]),a.useEffect(()=>{(e==null?void 0:e.state.activeIndex)===c&&N()},[R,N,e==null?void 0:e.state.activeIndex,c]),a.useEffect(()=>{(e==null?void 0:e.state.activeIndex)===c&&(e==null?void 0:e.state.isFullscreen)!==void 0&&N()},[e==null?void 0:e.state.isFullscreen,N,e==null?void 0:e.state.activeIndex,c]),a.useEffect(()=>{let p=()=>{(e==null?void 0:e.state.activeIndex)===c&&N()};return window.addEventListener("resize",p),()=>window.removeEventListener("resize",p)},[e==null?void 0:e.state.activeIndex,c,N]),a.useEffect(()=>{let p=e==null?void 0:e.state.pendingAction;if(!(!p||!g)){switch(p.type){case"zoom-in":bt();break;case"zoom-out":wt();break;case"rotate-left":fo();break;case"rotate-right":xo();break;case"flip-x":Po();break;case"flip-y":ho();break;case"download":Co();break}e==null||e.clearPendingAction()}},[e==null?void 0:e.state.pendingAction,g]),a.useEffect(()=>{let p=r.current;if(!p||!g)return;let i=u=>{if(!u.ctrlKey)return;u.preventDefault(),p.style.transition="none";let h=1+-u.deltaY*.01,x=Math.max(t,Math.min(s,y.current*h)),C=X(x),f=Math.max(C.minX,Math.min(C.maxX,I.current.x)),P=Math.max(C.minY,Math.min(C.maxY,I.current.y));y.current=x,I.current={x:f,y:P},p.style.setProperty("--px-scale",`${x}`),p.style.setProperty("--px-position-x",`${f}px`),p.style.setProperty("--px-position-y",`${P}px`),M.current&&clearTimeout(M.current),M.current=setTimeout(()=>{p.style.transition="",p.style.cursor=y.current>t?"zoom-out":"zoom-in",Gt(y.current),L(I.current),M.current=null},150)};return p.addEventListener("wheel",i,{passive:!1}),()=>{p.removeEventListener("wheel",i),M.current&&(clearTimeout(M.current),M.current=null)}},[g,t,s,X]),a.useEffect(()=>{(e==null?void 0:e.state.activeIndex)===c?ao(!0):ao(!1)},[e==null?void 0:e.state.activeIndex,c]),a.useEffect(()=>{g&&(e!=null&&e.reportItemState)&&e.reportItemState({zoomed:T>t,rotated:R!==0,flipped:Y.x===-1||Y.y===-1,scale:T,rotation:R,flip:Y})},[g,T,t,R,Y,e==null?void 0:e.reportItemState]),a.useLayoutEffect(()=>{if(!Rt)return;let p=setTimeout(()=>Ft(!1),300);return()=>clearTimeout(p)},[Rt,R]);let bo=a.useMemo(()=>G(G({},g?{"data-active":""}:{}),Rt?{"data-rotating":""}:{}),[g,Rt]),wo=a.useMemo(()=>({"--px-position-x":`${E.x}px`,"--px-position-y":`${E.y}px`,"--px-scale":`${T}`,"--px-rotation":`${R}deg`,"--px-flip-x":Y.x,"--px-flip-y":Y.y}),[E,T,R,Y]),pr={index:c,position:E,scale:T,rotation:R,flip:Y,isActive:g},ar=G({ref:r,"data-scope":"gallery","data-part":"item","data-index":c,onClick:yo,onPointerDown:Ro,onPointerMove:Io,onPointerUp:vo,onDragStart:Go,style:wo},bo);return{state:pr,attributes:bo,CSSVariables:wo,itemProps:ar,handlePointerUp:vo,handlePointerMove:Io,handlePointerDown:Ro,handleClick:yo,handleDragStart:Go,zoomIn:bt,zoomOut:wt,rotateLeft:fo,rotateRight:xo,flipX:Po,flipY:ho,download:Co,calculateConstraints:X,calculateItemSize:N}}});export{sr as defaultItemProps,Nc as useGalleryItem};
2
- //# sourceMappingURL=index.mjs.map
1
+ import{withHeadless as xt}from"@primereact/core/headless";import*as e from"react";var at={context:void 0,normalScale:1,zoomedScale:3};var Rt=xt({name:"useGalleryItem",defaultProps:at,setup:({props:ot,elementRef:n})=>{let{context:c,normalScale:d=1,zoomedScale:y=3}=ot,[m,it]=e.useState(-1),[R,O]=e.useState(!1),[Y,C]=e.useState({x:0,y:0}),[g,T]=e.useState(1),[x,B]=e.useState(0),[I,j]=e.useState({x:1,y:1}),[$,F]=e.useState(!1),D=e.useRef(null),M=e.useRef(new Map),U=e.useRef({x:0,y:0}),N=e.useRef(0),z=e.useRef(0),H=e.useRef(1),q=e.useRef(!1),p=e.useRef(1),h=e.useRef({x:0,y:0}),L=e.useRef(!1),G=e.useRef({x:0,y:0}),k=e.useRef(!1),b=e.useRef(null);e.useLayoutEffect(()=>{if(c?.registerItem){let t=c.registerItem(D.current?.index??null);D.current=t,t.index!==m&&it(t.index)}return()=>{D.current?.unregister(),D.current=null}},[c]),e.useEffect(()=>{p.current=g},[g]),e.useEffect(()=>{h.current=Y},[Y]);let S=e.useCallback(()=>{if(!c?.contentRef.current||!n.current)return;let t=c?.contentRef.current.getBoundingClientRect(),r=n.current.firstElementChild;if(!r)return;let a=r.naturalWidth||r.offsetWidth,s=r.naturalHeight||r.offsetHeight;if(a===0||s===0)return;let l=Math.abs(x)%180===90;l&&([a,s]=[s,a]);let i=a/s,f=t.width/t.height,o,u;i>f?(o=Math.min(t.width*.99,a),u=o/i):(u=Math.min(t.height*.99,s),o=u*i),l?(r.style.width=`${u}px`,r.style.height=`${o}px`,n.current.style.width=`${u>0?u:"auto"}px`,n.current.style.height=`${o>0?o:"auto"}px`):(r.style.width=`${o}px`,r.style.height=`${u}px`,n.current.style.width=`${o>0?o:"auto"}px`,n.current.style.height=`${u>0?u:"auto"}px`),n.current.style.aspectRatio=`${a/s}`},[c?.contentRef,x]),P=e.useCallback(t=>{if(!c?.contentRef.current||!n.current)return{minX:0,maxX:0,minY:0,maxY:0};let r=c?.contentRef.current.getBoundingClientRect(),a=t!==void 0?t:p.current,s=n.current.firstElementChild;if(!s)return{minX:0,maxX:0,minY:0,maxY:0};let l=s.offsetWidth,i=s.offsetHeight;Math.abs(x)%180===90&&([l,i]=[i,l]);let o=l*a,u=i*a,v=r.width/2,E=r.height/2,X=o/2,w=u/2,ft=X>v?X-v:0,pt=X>v?-(X-v):0,dt=w>E?w-E:0,mt=w>E?-(w-E):0;return{minX:pt,maxX:ft,minY:mt,maxY:dt}},[c?.contentRef,x]),W=e.useCallback(()=>{T(y),n.current&&(n.current.style.cursor="zoom-out")},[y]),A=e.useCallback(()=>{T(d),C({x:0,y:0}),n.current&&(n.current.style.cursor="zoom-in")},[d]),K=()=>{F(!0),n.current&&(n.current.style.transition=""),B(t=>t-90)},V=()=>{F(!0),n.current&&(n.current.style.transition=""),B(t=>t+90)},_=()=>{j(t=>({...t,x:Math.sign(t.x)*-1}))},J=()=>{j(t=>({...t,y:Math.sign(t.y)*-1}))},Q=()=>{if(!n.current)return;let t=n.current.querySelector("img");if(!t||!t.src)return;let r=t.src;if(!/^(https?:|blob:|data:image\/)/i.test(r))return;let s=document.createElement("a");s.href=r;let l=r.split("/"),f=(l[l.length-1]||"").split(/[?#]/)[0].replace(/[\\/:*?"<>|]/g,"")||"image.jpg";s.download=f,s.target="_blank",s.rel="noopener",document.body.appendChild(s),s.click(),document.body.removeChild(s)},Z=e.useCallback(t=>{if(k.current){k.current=!1;return}if(p.current===d){if(n.current){let r=n.current.getBoundingClientRect(),a=r.width/2,s=r.height/2,l=t.clientX-r.left,i=t.clientY-r.top,f=a-l,o=s-i,u=f*(y-1),v=o*(y-1),E=P(y),X=Math.max(E.minX,Math.min(E.maxX,u)),w=Math.max(E.minY,Math.min(E.maxY,v));C({x:X,y:w})}W()}else A()},[d,y,P,W,A]),tt=e.useCallback(t=>{t.preventDefault()},[]),et=e.useCallback(t=>{t.currentTarget.setPointerCapture(t.pointerId),M.current.set(t.pointerId,{x:t.clientX,y:t.clientY}),U.current={x:t.clientX,y:t.clientY},t.pointerType==="touch"&&M.current.size>=2?(L.current=!1,z.current=0,H.current=p.current):p.current>1&&(t.pointerType==="mouse"||t.pointerType==="touch"&&M.current.size===1)&&(L.current=!0,G.current={x:t.clientX-h.current.x,y:t.clientY-h.current.y},k.current=!1)},[]),nt=e.useCallback(t=>{if(!M.current.has(t.pointerId)||!n.current)return;n.current.style.transition="none",t.pointerType==="mouse"&&!n.current.style.cursor&&(n.current.style.cursor=p.current>d?"zoom-out":"zoom-in"),M.current.set(t.pointerId,{x:t.clientX,y:t.clientY});let r=Array.from(M.current.values());if(r.length===2){let[a,s]=r,l=Math.hypot(s.x-a.x,s.y-a.y);if(q.current=!0,k.current=!0,z.current===0)z.current=l,H.current=p.current;else{let i=l/z.current,f=Math.max(d,Math.min(y,H.current*i)),o=P(f),u=Math.max(o.minX,Math.min(o.maxX,h.current.x)),v=Math.max(o.minY,Math.min(o.maxY,h.current.y));p.current=f,h.current={x:u,y:v},n.current.style.setProperty("--px-scale",`${f}`),n.current.style.setProperty("--px-position-x",`${u}px`),n.current.style.setProperty("--px-position-y",`${v}px`)}N.current=l}else if(r.length===1&&L.current){let a=r[0],s=a.x-G.current.x,l=a.y-G.current.y,i=P(p.current),f=Math.max(i.minX,Math.min(i.maxX,s)),o=Math.max(i.minY,Math.min(i.maxY,l));h.current={x:f,y:o},n.current.style.setProperty("--px-position-x",`${f}px`),n.current.style.setProperty("--px-position-y",`${o}px`),Math.hypot(a.x-U.current.x,a.y-U.current.y)>5&&(k.current=!0)}},[d,y,P]),rt=e.useCallback(t=>{n.current&&(n.current.style.transition="",t.pointerType==="mouse"&&(n.current.style.cursor=p.current>d?"zoom-out":"zoom-in"),t.currentTarget.releasePointerCapture(t.pointerId),M.current.delete(t.pointerId),M.current.size<2&&(N.current=0,z.current=0,H.current=1,q.current=!1),M.current.size===0&&(L.current=!1,T(p.current),C(h.current)))},[d]);e.useEffect(()=>{g<=1&&C({x:0,y:0})},[g]),e.useEffect(()=>{c?.state.activeIndex===m&&document.readyState==="complete"&&S()},[c?.state.activeIndex,m,S]),e.useEffect(()=>{c?.state.activeIndex===m&&S()},[x,S,c?.state.activeIndex,m]),e.useEffect(()=>{c?.state.activeIndex===m&&c?.state.isFullscreen!==void 0&&S()},[c?.state.isFullscreen,S,c?.state.activeIndex,m]),e.useEffect(()=>{let t=()=>{c?.state.activeIndex===m&&S()};return window.addEventListener("resize",t),()=>window.removeEventListener("resize",t)},[c?.state.activeIndex,m,S]),e.useEffect(()=>{let t=c?.state.pendingAction;if(!(!t||!R)){switch(t.type){case"zoom-in":W();break;case"zoom-out":A();break;case"rotate-left":K();break;case"rotate-right":V();break;case"flip-x":_();break;case"flip-y":J();break;case"download":Q();break}c?.clearPendingAction()}},[c?.state.pendingAction,R]),e.useEffect(()=>{let t=n.current;if(!t||!R)return;let r=a=>{if(!a.ctrlKey)return;a.preventDefault(),t.style.transition="none";let l=1+-a.deltaY*.01,i=Math.max(d,Math.min(y,p.current*l)),f=P(i),o=Math.max(f.minX,Math.min(f.maxX,h.current.x)),u=Math.max(f.minY,Math.min(f.maxY,h.current.y));p.current=i,h.current={x:o,y:u},t.style.setProperty("--px-scale",`${i}`),t.style.setProperty("--px-position-x",`${o}px`),t.style.setProperty("--px-position-y",`${u}px`),b.current&&clearTimeout(b.current),b.current=setTimeout(()=>{t.style.transition="",t.style.cursor=p.current>d?"zoom-out":"zoom-in",T(p.current),C(h.current),b.current=null},150)};return t.addEventListener("wheel",r,{passive:!1}),()=>{t.removeEventListener("wheel",r),b.current&&(clearTimeout(b.current),b.current=null)}},[R,d,y,P]),e.useEffect(()=>{c?.state.activeIndex===m?O(!0):O(!1)},[c?.state.activeIndex,m]),e.useEffect(()=>{R&&c?.reportItemState&&c.reportItemState({zoomed:g>d,rotated:x!==0,flipped:I.x===-1||I.y===-1,scale:g,rotation:x,flip:I})},[R,g,d,x,I,c?.reportItemState]),e.useLayoutEffect(()=>{if(!$)return;let t=setTimeout(()=>F(!1),300);return()=>clearTimeout(t)},[$,x]);let ct=e.useMemo(()=>({...R?{"data-active":""}:{},...$?{"data-rotating":""}:{}}),[R,$]),st=e.useMemo(()=>({"--px-position-x":`${Y.x}px`,"--px-position-y":`${Y.y}px`,"--px-scale":`${g}`,"--px-rotation":`${x}deg`,"--px-flip-x":I.x,"--px-flip-y":I.y}),[Y,g,x,I]),ut={index:m,position:Y,scale:g,rotation:x,flip:I,isActive:R},lt={ref:n,"data-scope":"gallery","data-part":"item","data-index":m,onClick:Z,onPointerDown:et,onPointerMove:nt,onPointerUp:rt,onDragStart:tt,style:st,...ct};return{state:ut,attributes:ct,CSSVariables:st,itemProps:lt,handlePointerUp:rt,handlePointerMove:nt,handlePointerDown:et,handleClick:Z,handleDragStart:tt,zoomIn:W,zoomOut:A,rotateLeft:K,rotateRight:V,flipX:_,flipY:J,download:Q,calculateConstraints:P,calculateItemSize:S}}});export{at as defaultItemProps,Rt as useGalleryItem};
@@ -10,10 +10,13 @@ export declare const useGallery: (inProps?: unknown) => import("@primereact/type
10
10
  flipped: boolean;
11
11
  pendingAction: GalleryPendingAction | null;
12
12
  };
13
- registerItem: (index: number | null) => number;
14
- handleNext: () => void;
15
- handlePrev: () => void;
16
- selectItem: (index: number) => void;
13
+ registerItem: (index: number | null) => {
14
+ index: number;
15
+ unregister: () => void;
16
+ };
17
+ handleNext: (originalEvent?: React.SyntheticEvent) => void;
18
+ handlePrev: (originalEvent?: React.SyntheticEvent) => void;
19
+ selectItem: (index: number, originalEvent?: React.SyntheticEvent) => void;
17
20
  reportItemState: (itemState: {
18
21
  zoomed: boolean;
19
22
  rotated: boolean;
@@ -36,8 +39,8 @@ export declare const useGallery: (inProps?: unknown) => import("@primereact/type
36
39
  flipX: () => void;
37
40
  flipY: () => void;
38
41
  download: () => void;
39
- next: () => void;
40
- prev: () => void;
42
+ next: (originalEvent?: React.SyntheticEvent) => void;
43
+ prev: (originalEvent?: React.SyntheticEvent) => void;
41
44
  toggleFullScreen: () => void;
42
45
  };
43
46
  contentRef: React.RefObject<HTMLDivElement | null>;
@@ -52,6 +55,9 @@ export declare const useGallery: (inProps?: unknown) => import("@primereact/type
52
55
  ref: React.RefObject<HTMLDivElement>;
53
56
  id: string | undefined;
54
57
  tabIndex: number;
58
+ role: "dialog" | "group";
59
+ 'aria-roledescription': string | undefined;
60
+ 'aria-modal': true | undefined;
55
61
  'data-scope': "gallery";
56
62
  'data-part': "root";
57
63
  onKeyDown: (e: React.KeyboardEvent<HTMLDivElement>) => void;
@@ -59,12 +65,12 @@ export declare const useGallery: (inProps?: unknown) => import("@primereact/type
59
65
  nextProps: {
60
66
  'data-scope': "gallery";
61
67
  'data-part': "next";
62
- onClick: () => void;
68
+ onClick: (originalEvent?: React.SyntheticEvent) => void;
63
69
  };
64
70
  prevProps: {
65
71
  'data-scope': "gallery";
66
72
  'data-part': "prev";
67
- onClick: () => void;
73
+ onClick: (originalEvent?: React.SyntheticEvent) => void;
68
74
  };
69
75
  thumbnailProps: {
70
76
  'data-scope': "gallery";
@@ -76,10 +82,12 @@ export declare const useGallery: (inProps?: unknown) => import("@primereact/type
76
82
  'data-part': "thumbnailContent";
77
83
  };
78
84
  thumbnailItemProps: (index: number | undefined) => {
79
- onClick: () => void;
85
+ onClick: (event: React.MouseEvent) => void;
80
86
  'data-active'?: "" | undefined;
81
87
  'data-scope': "gallery";
82
88
  'data-part': "thumbnailItem";
89
+ role: "button";
90
+ 'aria-current': true | undefined;
83
91
  };
84
92
  toolbarProps: {
85
93
  'data-scope': "gallery";
@@ -1,2 +1 @@
1
1
  import{withHeadless as e}from"@primereact/core/headless";var o={};var i=e({name:"useIconField",defaultProps:o,setup(){return{rootProps:{"data-scope":"iconfield","data-part":"root"}}}});export{o as defaultProps,i as useIconField};
2
- //# sourceMappingURL=index.mjs.map
@@ -1,2 +1 @@
1
1
  import{withHeadless as t}from"@primereact/core/headless";var e={};var s=t({name:"useIftaLabel",defaultProps:e,setup(){return{rootProps:{"data-scope":"iftalabel","data-part":"root"}}}});export{e as defaultProps,s as useIftaLabel};
2
- //# sourceMappingURL=index.mjs.map
package/inplace/index.mjs CHANGED
@@ -1,2 +1 @@
1
- var y=Object.defineProperty;var l=Object.getOwnPropertySymbols;var b=Object.prototype.hasOwnProperty,P=Object.prototype.propertyIsEnumerable;var r=(a,e,t)=>e in a?y(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t,o=(a,e)=>{for(var t in e||(e={}))b.call(e,t)&&r(a,t,e[t]);if(l)for(var t of l(e))P.call(e,t)&&r(a,t,e[t]);return a};import{withHeadless as h}from"@primereact/core/headless";import{useControlledState as x}from"@primereact/hooks/use-controlled-state";var p={active:void 0,defaultActive:!1,disabled:!1,onActiveChange:void 0};var I=h({name:"useInplace",defaultProps:p,setup:({props:a})=>{var d;let[e,t]=x({value:a.active,defaultValue:(d=a.defaultActive)!=null?d:!1,onChange:a.onActiveChange}),f={active:e},s=()=>t([!0,{originalEvent:void 0,active:!0}]),c=()=>t([!1,{originalEvent:void 0,active:!1}]);function i(n){n.defaultPrevented||(n.preventDefault(),(n.code==="Enter"||n.code==="Space")&&s())}let u=o({"data-scope":"inplace","data-part":"root",[e?"data-active":"data-inactive"]:""},a.disabled&&{"data-disabled":""}),v=o({"data-scope":"inplace","data-part":"display",tabIndex:0,onClick:s,onKeyDown:i,[e?"data-active":"data-inactive"]:""},a.disabled&&{"data-disabled":""}),m=o({"data-scope":"inplace","data-part":"close",onClick:c,[e?"data-active":"data-inactive"]:""},a.disabled&&{"data-disabled":""});return{state:f,open:s,close:c,onDisplayKeyDown:i,rootProps:u,displayProps:v,closeProps:m}}});export{p as defaultProps,I as useInplace};
2
- //# sourceMappingURL=index.mjs.map
1
+ import{withHeadless as y}from"@primereact/core/headless";import{useControlledState as h}from"@primereact/hooks/use-controlled-state";var i={open:void 0,defaultOpen:!1,active:void 0,defaultActive:void 0,disabled:!1,onOpenChange:void 0,onActiveChange:void 0};var g=y({name:"useInplace",defaultProps:i,setup:({props:a})=>{let p=e=>{let l={...e,active:e.open};a.onOpenChange?.(l),a.onActiveChange?.(l)},[t,d]=h({value:a.open??a.active,defaultValue:a.defaultOpen??a.defaultActive??!1,onChange:p}),r={open:t},n=e=>{a.disabled||d([!0,{originalEvent:e,open:!0}])},o=e=>{a.disabled||d([!1,{originalEvent:e,open:!1}])};function s(e){e.defaultPrevented||(e.code==="Enter"||e.code==="Space")&&(e.preventDefault(),n(e))}function c(e){e.defaultPrevented||e.code==="Escape"&&(e.preventDefault(),o(e))}let f={"data-scope":"inplace","data-part":"root",[t?"data-open":"data-closed"]:"",...a.disabled&&{"data-disabled":""}},u={"data-scope":"inplace","data-part":"display",role:"button",tabIndex:a.disabled?-1:0,"aria-expanded":!!t,"aria-disabled":a.disabled||void 0,onClick:e=>n(e),onKeyDown:s,[t?"data-open":"data-closed"]:"",...a.disabled&&{"data-disabled":""}},m={"data-scope":"inplace","data-part":"content",onKeyDown:c,[t?"data-open":"data-closed"]:"",...a.disabled&&{"data-disabled":""}},b={"data-scope":"inplace","data-part":"close",type:"button",onClick:e=>o(e),[t?"data-open":"data-closed"]:"",...a.disabled&&{"data-disabled":""}};return{state:r,open:n,close:o,onDisplayKeyDown:s,onContentKeyDown:c,rootProps:f,displayProps:u,contentProps:m,closeProps:b}}});export{i as defaultProps,g as useInplace};
@@ -1,10 +1,12 @@
1
+ import * as React from 'react';
1
2
  export declare const useInplace: (inProps?: unknown) => import("@primereact/types/core").HeadlessInstance<import("@primereact/types/headless/inplace").UseInplaceProps, unknown, {
2
3
  state: {
3
- active: boolean | undefined;
4
+ open: boolean | undefined;
4
5
  };
5
- open: () => void;
6
- close: () => void;
6
+ open: (originalEvent?: React.SyntheticEvent) => void;
7
+ close: (originalEvent?: React.SyntheticEvent) => void;
7
8
  onDisplayKeyDown: (event: React.KeyboardEvent<HTMLDivElement>) => void;
9
+ onContentKeyDown: (event: React.KeyboardEvent<HTMLElement>) => void;
8
10
  rootProps: {
9
11
  'data-disabled'?: "" | undefined;
10
12
  'data-scope': string;
@@ -14,14 +16,24 @@ export declare const useInplace: (inProps?: unknown) => import("@primereact/type
14
16
  'data-disabled'?: "" | undefined;
15
17
  'data-scope': string;
16
18
  'data-part': string;
17
- tabIndex: 0;
18
- onClick: () => void;
19
+ role: "button";
20
+ tabIndex: number;
21
+ 'aria-expanded': boolean;
22
+ 'aria-disabled': true | undefined;
23
+ onClick: (event: React.MouseEvent) => void;
19
24
  onKeyDown: (event: React.KeyboardEvent<HTMLDivElement>) => void;
20
25
  };
26
+ contentProps: {
27
+ 'data-disabled'?: "" | undefined;
28
+ 'data-scope': "inplace";
29
+ 'data-part': "content";
30
+ onKeyDown: (event: React.KeyboardEvent<HTMLElement>) => void;
31
+ };
21
32
  closeProps: {
22
33
  'data-disabled'?: "" | undefined;
23
34
  'data-scope': string;
24
35
  'data-part': string;
25
- onClick: () => void;
36
+ type: "button";
37
+ onClick: (event: React.MouseEvent) => void;
26
38
  };
27
39
  }>;
@@ -92,7 +92,7 @@ export declare class OKLCHColor extends Color {
92
92
  getChannels(): [ColorChannel, ColorChannel, ColorChannel];
93
93
  }
94
94
  export declare const parseColor: (color: string) => ColorInstance;
95
- export declare function getChannelGradient(channel: ColorSliderChannel, value: ColorInstance, orientation: 'horizontal' | 'vertical'): string;
95
+ export declare function getChannelGradient(channel: ColorSliderChannel, value: ColorInstance, orientation: 'horizontal' | 'vertical', isRtl?: boolean): string;
96
96
  export declare function getChannelColor(color: ColorInstance, channel: ColorChannel): ColorInstance;
97
97
  export declare function getAreaGradient(color: ColorInstance, axes: Color2DAxes): {
98
98
  '--px-area-gradient': string;
@@ -1,2 +1 @@
1
- var Mt=Object.defineProperty,Et=Object.defineProperties;var Ft=Object.getOwnPropertyDescriptors;var at=Object.getOwnPropertySymbols;var Nt=Object.prototype.hasOwnProperty,Vt=Object.prototype.propertyIsEnumerable;var st=(n,t,e)=>t in n?Mt(n,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):n[t]=e,X=(n,t)=>{for(var e in t||(t={}))Nt.call(t,e)&&st(n,e,t[e]);if(at)for(var e of at(t))Vt.call(t,e)&&st(n,e,t[e]);return n},ot=(n,t)=>Et(n,Ft(t));var Ht=/hsb\(([-+]?\d+(?:.\d+)?\s*,\s*[-+]?\d+(?:.\d+)?%\s*,\s*[-+]?\d+(?:.\d+)?%)\)|hsba\(([-+]?\d+(?:.\d+)?\s*,\s*[-+]?\d+(?:.\d+)?%\s*,\s*[-+]?\d+(?:.\d+)?%\s*,\s*[-+]?\d(.\d+)?)\)/,It=/hsl\(([-+]?\d+(?:.\d+)?\s*,\s*[-+]?\d+(?:.\d+)?%\s*,\s*[-+]?\d+(?:.\d+)?%)\)|hsla\(([-+]?\d+(?:.\d+)?\s*,\s*[-+]?\d+(?:.\d+)?%\s*,\s*[-+]?\d+(?:.\d+)?%\s*,\s*[-+]?\d(.\d+)?)\)/,yt=/^#?([a-fA-F0-9]{3,8})$/,Gt=/^rgba?\(\s*([^)]+)\s*\)$/,$t=/oklch\(\s*([\d.]+)%?\s+([\d.]+)\s+([\d.]+)(deg)?(?:\s*\/\s*([\d.]+))?\)/i;function R(n,t,e){return Math.min(Math.max(n,t),e)}var Kt=(n,t)=>JSON.stringify(n)===JSON.stringify(t),B=(n,t)=>[n[0]*t[0]+n[1]*t[1]+n[2]*t[2],n[3]*t[0]+n[4]*t[1]+n[5]*t[2],n[6]*t[0]+n[7]*t[1]+n[8]*t[2]];function Bt(n,t,e,r){let i=R(n,t,e)-t,o=Math.round(i/r),l=t+o*r,h=(r.toString().split(".")[1]||"").length;return parseFloat(l.toFixed(h))}var v=class{getChannelValue(t){if(t in this)return this[t];throw new Error(`Unknown color channel: ${t}`)}withChannelValue(t,e){let{min:r,max:a}=this.getChannelRange(t);if(t in this){let i=this.clone();return i[t]=R(e,r,a),i}throw new Error(`Unknown color channel: ${t}`)}getSpaceAxes(t){let{xChannel:e,yChannel:r}=t;if(e===r)throw new Error("xChannel and yChannel cannot be the same");let a=this.getChannels().find(i=>i!==e&&i!==r);if(!a)throw new Error("zChannel not found");return{xChannel:e,yChannel:r,zChannel:a}}incChannelValue(t,e){let{min:r,max:a,step:i}=this.getChannelRange(t),o=Bt(R(this.getChannelValue(t)+e,r,a),r,a,i);return this.withChannelValue(t,o)}decChannelValue(t,e){return this.incChannelValue(t,-e)}},P=class n extends v{constructor(t,e,r,a){super(),this.hue=t,this.saturation=e,this.brightness=r,this.alpha=a}static parse(t){var l;let e=t.match(Ht);if(!e)return;let[r,a,i,o]=((l=e[1])!=null?l:e[2]).split(",").map(h=>Number(h.trim().replace("%","")));return new n(r%360,R(a,0,100),R(i,0,100),R(o!=null?o:1,0,1))}toRGB(){let t=this.hue,e=this.saturation/100,r=this.brightness/100;function a(i){let o=(i+t/60)%6;return r-r*e*Math.max(0,Math.min(o,4-o,1))}return new L(Math.round(a(5)*255),Math.round(a(3)*255),Math.round(a(1)*255),Number(this.alpha.toFixed(2)))}toHSL(){let t=this.hue,e=this.saturation/100,r=this.brightness/100,a=r*(1-e/2);return a===0||a===1?e=0:e=(r-a)/Math.min(a,1-a),new D(Number(t.toFixed(2)),Number((e*100).toFixed(2)),Number((a*100).toFixed(2)),Number(this.alpha.toFixed(2)))}toFormat(t){switch(t){case"hsba":return this;case"rgba":return this.toRGB();case"hsla":return this.toHSL();case"oklcha":return this.toRGB().toFormat("oklcha");default:throw new Error(`Invalid format: ${t}`)}}toString(t){switch(t){case"css":return this.toHSL().toString("css");case"hex":return this.toRGB().toString("hex");case"hexa":return this.toRGB().toString("hexa");case"hsb":return`hsb(${this.hue}, ${this.saturation.toFixed(2)}%, ${this.brightness.toFixed(2)}%)`;case"hsba":return`hsba(${this.hue}, ${this.saturation.toFixed(2)}%, ${this.brightness.toFixed(2)}%, ${this.alpha})`;case"hsl":return this.toHSL().toString("hsl");case"rgb":return this.toRGB().toString("rgb");case"oklch":return this.toRGB().toFormat("oklcha").toString("oklch");default:return this.toFormat(t).toString(t)}}toJSON(){return{hue:this.hue,saturation:this.saturation,brightness:this.brightness,alpha:this.alpha}}clone(){return new n(this.hue,this.saturation,this.brightness,this.alpha)}getChannelRange(t){switch(t){case"hue":return{min:0,max:360,step:1};case"saturation":case"brightness":return{min:0,max:100,step:1};case"alpha":return{min:0,max:1,step:.01};default:throw new Error(`Unknown color channel: ${t}`)}}getFormat(){return"hsba"}getChannels(){return["hue","saturation","brightness"]}},D=class n extends v{constructor(t,e,r,a){super(),this.hue=t,this.saturation=e,this.lightness=r,this.alpha=a}static parse(t){var l,h;let e=t.match(It);if(!e)return;let[r,a,i,o]=(h=(l=e[1]||e[2])==null?void 0:l.split(",").map(d=>Number(d.trim().replace("%",""))))!=null?h:[];return new n(r%360,R(a,0,100),R(i,0,100),R(o!=null?o:1,0,1))}toRGB(){let t=this.hue,e=this.saturation/100,r=this.lightness/100;function a(i){let o=(i+t/30)%12,l=e*Math.min(r,1-r);return r-l*Math.max(-1,Math.min(o-3,9-o,1))}return new L(Math.round(a(0)*255),Math.round(a(8)*255),Math.round(a(4)*255),Number(this.alpha.toFixed(2)))}toHSB(){let t=this.hue,e=this.saturation/100,r=this.lightness/100,a=r+e*Math.min(r,1-r);return a===0?e=0:e=2*(1-r/a),new P(Number(t.toFixed(2)),Number((e*100).toFixed(2)),Number((a*100).toFixed(2)),Number(this.alpha.toFixed(2)))}toFormat(t){switch(t){case"hsla":return this;case"rgba":return this.toRGB();case"hsba":return this.toHSB();case"oklcha":return this.toRGB().toFormat("oklcha");default:throw new Error(`Invalid format: ${t}`)}}toString(t){switch(t){case"hex":return this.toRGB().toString("hex");case"hexa":return this.toRGB().toString("hexa");case"hsl":return`hsl(${this.hue}, ${this.saturation.toFixed(2)}%, ${this.lightness.toFixed(2)}%)`;case"css":case"hsla":return`hsla(${this.hue}, ${this.saturation.toFixed(2)}%, ${this.lightness.toFixed(2)}%, ${this.alpha})`;case"rgb":return this.toRGB().toString("rgb");case"hsb":return this.toHSB().toString("hsb");case"oklch":return this.toRGB().toFormat("oklcha").toString("oklch");default:return this.toFormat(t).toString(t)}}toJSON(){return{hue:this.hue,saturation:this.saturation,lightness:this.lightness,alpha:this.alpha}}clone(){return new n(this.hue,this.saturation,this.lightness,this.alpha)}getChannelRange(t){switch(t){case"hue":return{min:0,max:360,step:1};case"saturation":case"lightness":return{min:0,max:100,step:1};case"alpha":return{min:0,max:1,step:.01};default:throw new Error(`Unknown color channel: ${t}`)}}getFormat(){return"hsla"}getChannels(){return["hue","saturation","lightness"]}},L=class n extends v{constructor(t,e,r,a){super(),this.red=t,this.green=e,this.blue=r,this.alpha=a}static parse(t){var r;if(!t)return;let e=t.trim();return(r=this.parseHexColor(e))!=null?r:this.parseRgbFunction(e)}static expandShortHex(t){return t.split("").map(e=>e+e).join("")}static parseHexColor(t){let e=t.match(yt);if(!e)return;let r=e[1];if(r.length<=4&&(r=this.expandShortHex(r)),![6,8].includes(r.length))return;let a=parseInt(r.slice(0,2),16),i=parseInt(r.slice(2,4),16),o=parseInt(r.slice(4,6),16),l=r.length===8?parseInt(r.slice(6,8),16)/255:1;return new n(a,i,o,l)}static parseRgbFunction(t){let e=t.match(Gt);if(!(e!=null&&e[1]))return;let[r,a,i,o]=e[1].split(",").map(w=>w.trim()),l=R(Number(r),0,255),h=R(Number(a),0,255),d=R(Number(i),0,255),c=o!==void 0?R(Number(o),0,1):1;if(![l,h,d,c].some(w=>Number.isNaN(w)))return new n(l,h,d,c)}toHSB(){let[t,e,r]=[this.red/255,this.green/255,this.blue/255],a=Math.max(t,e,r),i=Math.min(t,e,r),o=a-i,l=a,h=a===0?0:o/a,d=0;if(o!==0){switch(a){case t:d=(e-r)/o%6;break;case e:d=(r-t)/o+2;break;case r:d=(t-e)/o+4;break}d*=60,d<0&&(d+=360)}return new P(Number(d.toFixed(2)),Number((h*100).toFixed(2)),Number((l*100).toFixed(2)),Number(this.alpha.toFixed(2)))}toHSL(){let[t,e,r]=[this.red/255,this.green/255,this.blue/255],a=Math.max(t,e,r),i=Math.min(t,e,r),o=(a+i)/2,l=a-i,h=0,d=-1;if(l!==0){switch(a){case t:h=(e-r)/l%6;break;case e:h=(r-t)/l+2;break;case r:h=(t-e)/l+4;break}h*=60,h<0&&(h+=360)}return o===0||o===1?d=0:d=l/(1-Math.abs(2*a-l-1)),new D(Number(h.toFixed(2)),Number((d*100).toFixed(2)),Number((o*100).toFixed(2)),Number(this.alpha.toFixed(2)))}toOKLCH(){let e=[this.red/255,this.green/255,this.blue/255].map(N=>Math.abs(N)<=.04045?N/12.92:(N<0?-1:1)*((Math.abs(N)+.055)/1.055)**2.4),r=B([.41239079926595934,.357584339383878,.1804807884018343,.21263900587151027,.715168678767756,.07219231536073371,.01933081871559182,.11919477979462598,.9505321522496607],e),i=B([.819022437996703,.3619062600528904,-.1288737815209879,.0329836539323885,.9292868615863434,.0361446663506424,.0481771893596242,.2642395317527308,.6335478284694309],r).map(N=>Math.cbrt(N)),[o,l,h]=B([.210454268309314,.7936177747023054,-.0040720430116193,1.9779985324311684,-2.42859224204858,.450593709617411,.0259040424655478,.7827717124575296,-.8086757549230774],i),d=Math.sqrt(l**2+h**2),c=Math.abs(l)<2e-4&&Math.abs(h)<2e-4?NaN:(Math.atan2(h,l)*180/Math.PI%360+360)%360,w=Number(Math.min(1,Math.max(0,o)).toFixed(4)),C=Number(d.toFixed(4)),T=Number.isNaN(c)?NaN:Number(c.toFixed(2));return new U(w,C,T,Number(this.alpha.toFixed(2)))}toHexInt(){return this.red<<16|this.green<<8|this.blue}toFormat(t){switch(t){case"rgba":return this;case"hsla":return this.toHSL();case"hsba":return this.toHSB();case"oklcha":return this.toOKLCH();default:throw new Error(`Invalid format: ${t}`)}}toString(t){switch(t){case"hex":return`#${this.red.toString(16).padStart(2,"0")}${this.green.toString(16).padStart(2,"0")}${this.blue.toString(16).padStart(2,"0")}`;case"hexa":return`#${this.red.toString(16).padStart(2,"0")}${this.green.toString(16).padStart(2,"0")}${this.blue.toString(16).padStart(2,"0")}${Math.round(this.alpha*255).toString(16).padStart(2,"0")}`;case"rgb":return`rgb(${this.red}, ${this.green}, ${this.blue})`;case"rgba":case"css":return`rgba(${this.red}, ${this.green}, ${this.blue}, ${this.alpha})`;case"hsl":return this.toHSL().toString("hsl");case"hsb":return this.toHSB().toString("hsb");case"oklch":return this.toOKLCH().toString("oklch");default:return this.toFormat(t).toString(t)}}toJSON(){return{red:this.red,green:this.green,blue:this.blue,alpha:this.alpha}}clone(){return new n(this.red,this.green,this.blue,this.alpha)}getChannelRange(t){switch(t){case"red":case"green":case"blue":return{min:0,max:255,step:1};case"alpha":return{min:0,max:1,step:.01};default:throw new Error(`Unknown color channel: ${t}`)}}getFormat(){return"rgba"}getChannels(){return["red","green","blue"]}},U=class n extends v{constructor(t,e,r,a){super(),this.L=t,this.C=e,this.H=r,this.alpha=a}static parse(t){if(!t)return;let e=t.trim().match($t);if(!e)return;let r=Number(e[1])/100,a=Number(e[2]),i=Number(e[3]),o=e[5]!==void 0?Number(e[5]):1;return new n(r,a,i,o)}toRGB(){let t=this.L,e=Number.isNaN(this.H)?0:this.C*Math.cos(this.H*Math.PI/180),r=Number.isNaN(this.H)?0:this.C*Math.sin(this.H*Math.PI/180),i=B([1,.3963377774,.2158037573,1,-.1055613458,-.0638541728,1,-.0894841775,-1.291485548],[t,e,r]).map(c=>c**3),o=B([1.2268798758,-.5578149945,.2813910457,-.0405757452,1.1122868033,-.0717110581,-.0763729367,-.4214933324,1.5869240198],i),[l,h,d]=B([3.240969942,-1.537383178,-.49861076,-.969243636,1.875967502,.041555057,.05563008,-.203976959,1.056971514],o);return[l,h,d]=[l,h,d].map(c=>Math.abs(c)>.0031308?(c<0?-1:1)*(1.055*Math.abs(c)**(1/2.4)-.055):12.92*c),new L(Math.round(R(l,0,1)*255),Math.round(R(h,0,1)*255),Math.round(R(d,0,1)*255),Number(this.alpha.toFixed(2)))}toJSON(){return{L:this.L,C:this.C,H:this.H,alpha:this.alpha}}clone(){return new n(this.L,this.C,this.H,this.alpha)}toFormat(t){switch(t){case"oklcha":return this;case"rgba":return this.toRGB();case"hsla":return this.toRGB().toFormat("hsla");case"hsba":return this.toRGB().toFormat("hsba");default:throw new Error(`Invalid format: ${t}`)}}toString(t){switch(t){case"hex":return this.toRGB().toString("hex");case"hexa":return this.toRGB().toString("hexa");case"oklch":{let e=Number.isNaN(this.L)?0:Number((this.L*100).toFixed(2)),r=Number.isNaN(this.C)?0:Number(this.C.toFixed(4)),a=Number.isNaN(this.H)?0:Number(this.H.toFixed(2));return`oklch(${e}% ${r} ${a})`}case"oklcha":case"css":{let e=Number.isNaN(this.L)?0:Number((this.L*100).toFixed(2)),r=Number.isNaN(this.C)?0:Number(this.C.toFixed(4)),a=Number.isNaN(this.H)?0:Number(this.H.toFixed(2)),i=Number.isNaN(this.alpha)?1:Number(this.alpha.toFixed(2));return`oklch(${e}% ${r} ${a} / ${i})`}case"hsl":return this.toRGB().toString("hsl");case"hsb":return this.toRGB().toString("hsb");case"rgb":return this.toRGB().toString("rgb");default:return this.toFormat(t).toString(t)}}getChannelRange(t){switch(t){case"L":return{min:0,max:1,step:.01};case"C":return{min:0,max:.4,step:.01};case"H":return{min:0,max:360,step:1};case"alpha":return{min:0,max:1,step:.01};default:throw new Error(`Unknown color channel: ${t}`)}}getFormat(){return"oklcha"}getChannels(){return["L","C","H"]}},H=n=>{var e,r,a;let t=(a=(r=(e=L.parse(n))!=null?e:D.parse(n))!=null?r:P.parse(n))!=null?a:void 0;if(!t)throw new Error(`Invalid color: ${n}`);return t};function it(n,t,e){let{min:r,max:a}=t.getChannelRange(n),i=e==="horizontal"?"right":"bottom";switch(n){case"hue":return`linear-gradient(to ${i}, rgb(255, 0, 0) 0%, rgb(255, 255, 0) 17%, rgb(0, 255, 0) 33%, rgb(0, 255, 255) 50%, rgb(0, 0, 255) 67%, rgb(255, 0, 255) 83%, rgb(255, 0, 0) 100%)`;case"lightness":{let o=t.withChannelValue(n,r).toString("css"),l=t.withChannelValue(n,(a-r)/2).toString("css"),h=t.withChannelValue(n,a).toString("css");return`linear-gradient(to ${i}, ${o}, ${l}, ${h})`}case"red":case"green":case"blue":case"saturation":case"brightness":case"alpha":{let o=t.withChannelValue(n,r).toString("css"),l=t.withChannelValue(n,a).toString("css");return`linear-gradient(to ${i}, ${o}, ${l})`}default:throw new Error(`Unknown color channel: ${n}`)}}function lt(n,t){switch(t){case"hue":return H(`hsl(${n.getChannelValue("hue")}, 100%, 50%)`);case"red":case"green":case"blue":case"lightness":case"brightness":case"saturation":return n.withChannelValue("alpha",1);case"alpha":return n;default:throw new Error(`Unknown color channel: ${t}`)}}var vt={hue:n=>[0,60,120,180,240,300,360].map(t=>n.withChannelValue("hue",t).toString("css")).join(", "),saturation:n=>`${n.withChannelValue("saturation",0).toString("css")}, transparent`,lightness:()=>"black, transparent, white",brightness:()=>"black, transparent"};function ht(n,t){let{xChannel:e,zChannel:r}=n.getSpaceAxes(t),a=n.getChannelValue(r),i=n.getFormat(),l=H((i==="rgba"||i==="oklcha"?"hsba":i)==="hsla"?"hsl(0, 100%, 50%)":"hsb(0, 100%, 100%)").withChannelValue(r,a),h=n.getChannels(),d=w=>w===e?"right":"top",c=h.filter(w=>w!==r).map(w=>`linear-gradient(to ${d(w)}, ${vt[w](l)})`).reverse();return r==="hue"&&c.push(l.toString("css")),{"--px-area-gradient":c.join(", ")}}function K(n,t,e="hsba"){let r=n.getFormat()==="hsla";switch(t){case"hex":return n.getChannelValue("alpha")<n.getChannelRange("alpha").max?n.toString("hexa"):n.toString("hex");case"css":return n.toFormat(e).toString("css");case"red":case"green":case"blue":return n.toFormat("rgba").getChannelValue(t).toString();case"hue":return n.toFormat(r?"hsla":"hsba").getChannelValue("hue").toString();case"saturation":return n.toFormat(r?"hsla":"hsba").getChannelValue("saturation").toString();case"lightness":return n.toFormat("hsla").getChannelValue("lightness").toString();case"brightness":return n.toFormat("hsba").getChannelValue("brightness").toString();case"C":return n.toFormat("oklcha").getChannelValue("C").toString();case"H":return n.toFormat("oklcha").getChannelValue("H").toString();case"L":return n.toFormat("oklcha").getChannelValue("L").toString();default:return n.getChannelValue(t).toString()}}function ut(n,t="hex"){switch(t){case"hex":return{min:H("#000000").toHexInt(),max:H("#FFFFFF").toHexInt(),step:1};case"css":return;case"red":case"green":case"blue":return n.toFormat("rgba").getChannelRange(t);case"hue":case"lightness":case"saturation":return n.toFormat("hsla").getChannelRange(t);case"brightness":return n.toFormat("hsba").getChannelRange(t);case"L":case"C":case"H":return n.toFormat("oklcha").getChannelRange(t);default:return n.getChannelRange(t)}}import{withHeadless as Lt}from"@primereact/core/headless";import{useControlledState as kt}from"@primereact/hooks/use-controlled-state";import*as V from"react";var ct={defaultValue:void 0,value:void 0,format:"hsba",disabled:!1,onValueChange:void 0,onValueChangeEnd:void 0};var At=/^[0-9a-fA-F]{3,8}$/;function Xt(n){return At.test(n)}function Pt(n){return n.startsWith("#")?n:Xt(n)?`#${n}`:n}function Dt(n){return n.replace("to bottom","to top")}var Qt=Lt({name:"useInputColor",defaultProps:ct,setup({props:n}){var rt;let{format:t="hsba",disabled:e}=n,[r,a]=V.useState(!1),i=V.useRef([]),o=V.useRef({x:0,y:0}),l=V.useRef((rt=n.defaultValue)!=null?rt:H("#ff0000").toFormat(n.format||"hsba")),[h,d]=kt({value:n.value,defaultValue:l.current,onChange:n.onValueChange}),c=V.useMemo(()=>h!=null?h:H("#ff0000").toFormat(t),[h,t]),w=t.startsWith("hsl")?"hsla":"hsba",C=V.useMemo(()=>c.toFormat(w),[c,w]),T={value:c,isAreaDragging:r},N=(s,u)=>{d([s,X({color:s.toString(t),value:s},u!=null&&u.originalEvent?{originalEvent:u.originalEvent}:{})]),O(s)},z=(s,u,x)=>{if(!x||e)return;let p=x.getBoundingClientRect(),f=Math.max(0,Math.min(1,(s-o.current.x-p.left)/p.width)),g=Math.max(0,Math.min(1,(u-o.current.y-p.top)/p.height)),{xChannel:b,yChannel:E}=_(),G=C.getChannelRange(b),y=C.getChannelRange(E),k=f*(G.max-G.min)+G.min,A=(1-g)*(y.max-y.min)+y.min,F=k-C.getChannelValue(b),m=A-C.getChannelValue(E),S=C.incChannelValue(b,F).incChannelValue(E,m);N(S)},J=s=>{var f;let u=s.currentTarget;if(!u||s.button!==0)return;let x=s.target,p=(f=x==null?void 0:x.closest)==null?void 0:f.call(x,'[data-part="area-handle"], .p-input-color-area-handle');if(p){let g=p.getBoundingClientRect(),b=g.left+g.width/2,E=g.top+g.height/2;o.current={x:s.clientX-b,y:s.clientY-E}}else o.current={x:0,y:0};u.setPointerCapture(s.pointerId),a(!0),z(s.clientX,s.clientY,u)},Y=s=>{r&&z(s.clientX,s.clientY,s.currentTarget)},j=s=>{let u=s.currentTarget;u&&(u.releasePointerCapture(s.pointerId),a(!1),o.current={x:0,y:0},n.onValueChangeEnd&&n.onValueChangeEnd({originalEvent:s,color:c.toString(t),value:c}))},q=s=>{n.onValueChangeEnd&&n.onValueChangeEnd({originalEvent:s,color:c.toString(t),value:c})},W=s=>{if(e)return;let u=s.key;if(!["ArrowRight","ArrowLeft","ArrowUp","ArrowDown"].includes(u))return;s.preventDefault();let{xChannel:x,yChannel:p}=_(),{step:f}=C.getChannelRange(x),{step:g}=C.getChannelRange(p),b=C;u==="ArrowRight"&&(b=b.incChannelValue(x,f)),u==="ArrowLeft"&&(b=b.decChannelValue(x,f)),u==="ArrowUp"&&(b=b.incChannelValue(p,g)),u==="ArrowDown"&&(b=b.decChannelValue(p,g)),N(b),n.onValueChangeEnd&&n.onValueChangeEnd({originalEvent:s,color:b.toString(t),value:b})},_=()=>{let s=C.getChannels();return{xChannel:s[1],yChannel:s[2]}},Q=()=>{if(typeof window!="undefined"&&!window.EyeDropper||e)return;new window.EyeDropper().open().then(u=>{let x=H(u.sRGBHex);N(x)}).catch(u=>{console.error("Error opening eyedropper",u)})},M=_(),{min:Z,max:dt}=C.getChannelRange(M.xChannel),{min:tt,max:gt}=C.getChannelRange(M.yChannel),mt=C.getChannelValue(M.xChannel),Ct=C.getChannelValue(M.yChannel),et=ot(X({},ht(C,M)),{"--px-handle-background":C.withChannelValue("alpha",1).toString("css"),"--px-handle-position-left":(mt-Z)/(dt-Z)*100+"%","--px-handle-position-top":(1-(Ct-tt)/(gt-tt))*100+"%"}),nt={"--px-swatch-background":c.toString("css")},pt=({channel:s="hue",orientation:u="horizontal",disabled:x}={})=>{let p=e||x,f=s==="alpha"?C:c.getChannels().includes(s)?c:C.getChannels().includes(s)?C:c.toFormat(t),g=f.getChannelRange(s),b=f.getChannelValue(s),E=it(s,f,u),y={"--px-slider-background":u==="vertical"?Dt(E):E,"--px-slider-handle-background":lt(f,s).toString("css")},k=F=>{if(p)return;let m=Array.isArray(F.value)?F.value[0]:F.value;if(m===void 0||Number.isNaN(m))return;let S=f.withChannelValue(s,m);N(S,{originalEvent:F.originalEvent})},A=F=>{if(p||!n.onValueChangeEnd)return;let m=Array.isArray(F.value)?F.value[0]:F.value;if(m===void 0||Number.isNaN(m))return;let S=f.withChannelValue(s,m);n.onValueChangeEnd({originalEvent:F.originalEvent,color:S.toString(t),value:S})};return{"data-scope":"inputcolor","data-part":"slider","data-orientation":u,"data-channel":s,orientation:u,style:y,value:b,min:g.min,max:g.max,step:g.step,disabled:p,onValueChange:k,onValueChangeEnd:A}},bt=s=>{let u=s.elementRef.current;i.current.includes(u)||i.current.push(u)},O=s=>{requestAnimationFrame(()=>{let u=s||c;i.current.forEach(p=>{let f=p.getAttribute("data-channel");if(f){let g=K(u,f,t);p.value=String(g)}})})};V.useEffect(()=>{O()},[c,t]);let xt=({channel:s="hex",disabled:u}={})=>{let x=e||u,p=c,f=t,g=ut(p,s),b=K(p,s,f),E=s==="hex"||s==="css",G=m=>{if(x)return;let S;if(E)try{S=H(s==="hex"?Pt(String(m)):String(m))}catch(I){S=p}else{let I=p;s!=="alpha"&&(I=I.toFormat(f));let $=Number.parseFloat(String(m)),wt=Number.isNaN($)?I.getChannelValue(s):$;S=I.withChannelValue(s,wt)}return N(S),S},y=m=>{let S=m.currentTarget,I=E?S.value:S.valueAsNumber,$=G(I);!$||!n.onValueChangeEnd||n.onValueChangeEnd({originalEvent:m,color:$.toString(t),value:$})},k=m=>{let S=m.currentTarget,I=E?S.value:S.valueAsNumber;G(I)},A=m=>{y(m)},F=m=>{m.defaultPrevented||m.key==="Enter"&&(y(m),m.preventDefault())};return{"data-scope":"inputcolor","data-part":"input",type:E?"text":"number",spellCheck:!1,autoComplete:"off",disabled:!!x,"data-channel":s,"aria-label":s,min:g==null?void 0:g.min,max:g==null?void 0:g.max,step:g==null?void 0:g.step,channelValue:b,onChange:k,onBlur:A,onKeyDown:F}},ft=X(X({"data-scope":"inputcolor","data-part":"root"},e&&{"data-disabled":""}),r&&{"data-dragging":""}),St={"data-scope":"inputcolor","data-part":"area",style:et,onPointerDown:J,onPointerMove:Y,onPointerUp:j},Rt={"data-scope":"inputcolor","data-part":"area-handle",role:"slider",tabIndex:e?-1:0,"aria-disabled":e,"aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":C.getChannelValue(M.xChannel),"aria-label":`${M.xChannel} and ${M.yChannel}`,"aria-roledescription":"2d slider","aria-valuetext":`${M.xChannel} ${C.getChannelValue(M.xChannel)}, ${M.yChannel} ${C.getChannelValue(M.yChannel)}`,onKeyDown:W,onBlur:q};return{state:T,value:h,areaValue:C,areaChannels:M,rootProps:ft,areaProps:St,areaHandleProps:Rt,swatchProps:{"data-scope":"inputcolor","data-part":"swatch",style:nt},eyeDropperProps:{"data-scope":"inputcolor","data-part":"eye-dropper",disabled:!!e,onClick:Q},sliderHandleProps:{"data-scope":"inputcolor","data-part":"slider-handle",role:"slider",tabIndex:e?-1:0,"aria-disabled":e},getInputProps:xt,getSliderProps:pt,setValue:d,handleAreaPointerDown:J,handleAreaPointerMove:Y,handleAreaPointerUp:j,handleAreaBlur:q,handleAreaKeyDown:W,areaStyles:et,swatchStyles:nt,openEyeDropper:Q,syncChannelInputs:O,registerInputEl:bt}}});export{P as HSBColor,D as HSLColor,U as OKLCHColor,L as RGBColor,ct as defaultProps,ht as getAreaGradient,lt as getChannelColor,it as getChannelGradient,ut as getInputChannelRange,K as getInputChannelValue,Kt as isEqual,H as parseColor,Qt as useInputColor};
2
- //# sourceMappingURL=index.mjs.map
1
+ var ft=/hsb\(([-+]?\d+(?:.\d+)?\s*,\s*[-+]?\d+(?:.\d+)?%\s*,\s*[-+]?\d+(?:.\d+)?%)\)|hsba\(([-+]?\d+(?:.\d+)?\s*,\s*[-+]?\d+(?:.\d+)?%\s*,\s*[-+]?\d+(?:.\d+)?%\s*,\s*[-+]?\d(.\d+)?)\)/,St=/hsl\(([-+]?\d+(?:.\d+)?\s*,\s*[-+]?\d+(?:.\d+)?%\s*,\s*[-+]?\d+(?:.\d+)?%)\)|hsla\(([-+]?\d+(?:.\d+)?\s*,\s*[-+]?\d+(?:.\d+)?%\s*,\s*[-+]?\d+(?:.\d+)?%\s*,\s*[-+]?\d(.\d+)?)\)/,Rt=/^#?([a-fA-F0-9]{3,8})$/,wt=/^rgba?\(\s*([^)]+)\s*\)$/,Mt=/oklch\(\s*([\d.]+)%?\s+([\d.]+)\s+([\d.]+)(deg)?(?:\s*\/\s*([\d.]+))?\)/i;function R(e,t,n){return Math.min(Math.max(e,t),n)}var kt=(e,t)=>JSON.stringify(e)===JSON.stringify(t),B=(e,t)=>[e[0]*t[0]+e[1]*t[1]+e[2]*t[2],e[3]*t[0]+e[4]*t[1]+e[5]*t[2],e[6]*t[0]+e[7]*t[1]+e[8]*t[2]];function Et(e,t,n,r){let o=R(e,t,n)-t,i=Math.round(o/r),l=t+i*r,u=(r.toString().split(".")[1]||"").length;return parseFloat(l.toFixed(u))}var v=class{getChannelValue(t){if(t in this)return this[t];throw new Error(`Unknown color channel: ${t}`)}withChannelValue(t,n){let{min:r,max:a}=this.getChannelRange(t);if(t in this){let o=this.clone();return o[t]=R(n,r,a),o}throw new Error(`Unknown color channel: ${t}`)}getSpaceAxes(t){let{xChannel:n,yChannel:r}=t;if(n===r)throw new Error("xChannel and yChannel cannot be the same");let a=this.getChannels().find(o=>o!==n&&o!==r);if(!a)throw new Error("zChannel not found");return{xChannel:n,yChannel:r,zChannel:a}}incChannelValue(t,n){let{min:r,max:a,step:o}=this.getChannelRange(t),i=Et(R(this.getChannelValue(t)+n,r,a),r,a,o);return this.withChannelValue(t,i)}decChannelValue(t,n){return this.incChannelValue(t,-n)}},P=class e extends v{constructor(t,n,r,a){super(),this.hue=t,this.saturation=n,this.brightness=r,this.alpha=a}static parse(t){let n=t.match(ft);if(!n)return;let[r,a,o,i]=(n[1]??n[2]).split(",").map(l=>Number(l.trim().replace("%","")));return new e(r%360,R(a,0,100),R(o,0,100),R(i??1,0,1))}toRGB(){let t=this.hue,n=this.saturation/100,r=this.brightness/100;function a(o){let i=(o+t/60)%6;return r-r*n*Math.max(0,Math.min(i,4-i,1))}return new L(Math.round(a(5)*255),Math.round(a(3)*255),Math.round(a(1)*255),Number(this.alpha.toFixed(2)))}toHSL(){let t=this.hue,n=this.saturation/100,r=this.brightness/100,a=r*(1-n/2);return a===0||a===1?n=0:n=(r-a)/Math.min(a,1-a),new D(Number(t.toFixed(2)),Number((n*100).toFixed(2)),Number((a*100).toFixed(2)),Number(this.alpha.toFixed(2)))}toFormat(t){switch(t){case"hsba":return this;case"rgba":return this.toRGB();case"hsla":return this.toHSL();case"oklcha":return this.toRGB().toFormat("oklcha");default:throw new Error(`Invalid format: ${t}`)}}toString(t){switch(t){case"css":return this.toHSL().toString("css");case"hex":return this.toRGB().toString("hex");case"hexa":return this.toRGB().toString("hexa");case"hsb":return`hsb(${this.hue}, ${this.saturation.toFixed(2)}%, ${this.brightness.toFixed(2)}%)`;case"hsba":return`hsba(${this.hue}, ${this.saturation.toFixed(2)}%, ${this.brightness.toFixed(2)}%, ${this.alpha})`;case"hsl":return this.toHSL().toString("hsl");case"rgb":return this.toRGB().toString("rgb");case"oklch":return this.toRGB().toFormat("oklcha").toString("oklch");default:return this.toFormat(t).toString(t)}}toJSON(){return{hue:this.hue,saturation:this.saturation,brightness:this.brightness,alpha:this.alpha}}clone(){return new e(this.hue,this.saturation,this.brightness,this.alpha)}getChannelRange(t){switch(t){case"hue":return{min:0,max:360,step:1};case"saturation":case"brightness":return{min:0,max:100,step:1};case"alpha":return{min:0,max:1,step:.01};default:throw new Error(`Unknown color channel: ${t}`)}}getFormat(){return"hsba"}getChannels(){return["hue","saturation","brightness"]}},D=class e extends v{constructor(t,n,r,a){super(),this.hue=t,this.saturation=n,this.lightness=r,this.alpha=a}static parse(t){let n=t.match(St);if(!n)return;let[r,a,o,i]=(n[1]||n[2])?.split(",").map(l=>Number(l.trim().replace("%","")))??[];return new e(r%360,R(a,0,100),R(o,0,100),R(i??1,0,1))}toRGB(){let t=this.hue,n=this.saturation/100,r=this.lightness/100;function a(o){let i=(o+t/30)%12,l=n*Math.min(r,1-r);return r-l*Math.max(-1,Math.min(i-3,9-i,1))}return new L(Math.round(a(0)*255),Math.round(a(8)*255),Math.round(a(4)*255),Number(this.alpha.toFixed(2)))}toHSB(){let t=this.hue,n=this.saturation/100,r=this.lightness/100,a=r+n*Math.min(r,1-r);return a===0?n=0:n=2*(1-r/a),new P(Number(t.toFixed(2)),Number((n*100).toFixed(2)),Number((a*100).toFixed(2)),Number(this.alpha.toFixed(2)))}toFormat(t){switch(t){case"hsla":return this;case"rgba":return this.toRGB();case"hsba":return this.toHSB();case"oklcha":return this.toRGB().toFormat("oklcha");default:throw new Error(`Invalid format: ${t}`)}}toString(t){switch(t){case"hex":return this.toRGB().toString("hex");case"hexa":return this.toRGB().toString("hexa");case"hsl":return`hsl(${this.hue}, ${this.saturation.toFixed(2)}%, ${this.lightness.toFixed(2)}%)`;case"css":case"hsla":return`hsla(${this.hue}, ${this.saturation.toFixed(2)}%, ${this.lightness.toFixed(2)}%, ${this.alpha})`;case"rgb":return this.toRGB().toString("rgb");case"hsb":return this.toHSB().toString("hsb");case"oklch":return this.toRGB().toFormat("oklcha").toString("oklch");default:return this.toFormat(t).toString(t)}}toJSON(){return{hue:this.hue,saturation:this.saturation,lightness:this.lightness,alpha:this.alpha}}clone(){return new e(this.hue,this.saturation,this.lightness,this.alpha)}getChannelRange(t){switch(t){case"hue":return{min:0,max:360,step:1};case"saturation":case"lightness":return{min:0,max:100,step:1};case"alpha":return{min:0,max:1,step:.01};default:throw new Error(`Unknown color channel: ${t}`)}}getFormat(){return"hsla"}getChannels(){return["hue","saturation","lightness"]}},L=class e extends v{constructor(t,n,r,a){super(),this.red=t,this.green=n,this.blue=r,this.alpha=a}static parse(t){if(!t)return;let n=t.trim();return this.parseHexColor(n)??this.parseRgbFunction(n)}static expandShortHex(t){return t.split("").map(n=>n+n).join("")}static parseHexColor(t){let n=t.match(Rt);if(!n)return;let r=n[1];if(r.length<=4&&(r=this.expandShortHex(r)),![6,8].includes(r.length))return;let a=parseInt(r.slice(0,2),16),o=parseInt(r.slice(2,4),16),i=parseInt(r.slice(4,6),16),l=r.length===8?parseInt(r.slice(6,8),16)/255:1;return new e(a,o,i,l)}static parseRgbFunction(t){let n=t.match(wt);if(!n?.[1])return;let[r,a,o,i]=n[1].split(",").map(g=>g.trim()),l=R(Number(r),0,255),u=R(Number(a),0,255),c=R(Number(o),0,255),x=i!==void 0?R(Number(i),0,1):1;if(![l,u,c,x].some(g=>Number.isNaN(g)))return new e(l,u,c,x)}toHSB(){let[t,n,r]=[this.red/255,this.green/255,this.blue/255],a=Math.max(t,n,r),o=Math.min(t,n,r),i=a-o,l=a,u=a===0?0:i/a,c=0;if(i!==0){switch(a){case t:c=(n-r)/i%6;break;case n:c=(r-t)/i+2;break;case r:c=(t-n)/i+4;break}c*=60,c<0&&(c+=360)}return new P(Number(c.toFixed(2)),Number((u*100).toFixed(2)),Number((l*100).toFixed(2)),Number(this.alpha.toFixed(2)))}toHSL(){let[t,n,r]=[this.red/255,this.green/255,this.blue/255],a=Math.max(t,n,r),o=Math.min(t,n,r),i=(a+o)/2,l=a-o,u=0,c=-1;if(l!==0){switch(a){case t:u=(n-r)/l%6;break;case n:u=(r-t)/l+2;break;case r:u=(t-n)/l+4;break}u*=60,u<0&&(u+=360)}return i===0||i===1?c=0:c=l/(1-Math.abs(2*a-l-1)),new D(Number(u.toFixed(2)),Number((c*100).toFixed(2)),Number((i*100).toFixed(2)),Number(this.alpha.toFixed(2)))}toOKLCH(){let n=[this.red/255,this.green/255,this.blue/255].map(H=>Math.abs(H)<=.04045?H/12.92:(H<0?-1:1)*((Math.abs(H)+.055)/1.055)**2.4),r=B([.41239079926595934,.357584339383878,.1804807884018343,.21263900587151027,.715168678767756,.07219231536073371,.01933081871559182,.11919477979462598,.9505321522496607],n),o=B([.819022437996703,.3619062600528904,-.1288737815209879,.0329836539323885,.9292868615863434,.0361446663506424,.0481771893596242,.2642395317527308,.6335478284694309],r).map(H=>Math.cbrt(H)),[i,l,u]=B([.210454268309314,.7936177747023054,-.0040720430116193,1.9779985324311684,-2.42859224204858,.450593709617411,.0259040424655478,.7827717124575296,-.8086757549230774],o),c=Math.sqrt(l**2+u**2),x=Math.abs(l)<2e-4&&Math.abs(u)<2e-4?NaN:(Math.atan2(u,l)*180/Math.PI%360+360)%360,g=Number(Math.min(1,Math.max(0,i)).toFixed(4)),T=Number(c.toFixed(4)),m=Number.isNaN(x)?NaN:Number(x.toFixed(2));return new U(g,T,m,Number(this.alpha.toFixed(2)))}toHexInt(){return this.red<<16|this.green<<8|this.blue}toFormat(t){switch(t){case"rgba":return this;case"hsla":return this.toHSL();case"hsba":return this.toHSB();case"oklcha":return this.toOKLCH();default:throw new Error(`Invalid format: ${t}`)}}toString(t){switch(t){case"hex":return`#${this.red.toString(16).padStart(2,"0")}${this.green.toString(16).padStart(2,"0")}${this.blue.toString(16).padStart(2,"0")}`;case"hexa":return`#${this.red.toString(16).padStart(2,"0")}${this.green.toString(16).padStart(2,"0")}${this.blue.toString(16).padStart(2,"0")}${Math.round(this.alpha*255).toString(16).padStart(2,"0")}`;case"rgb":return`rgb(${this.red}, ${this.green}, ${this.blue})`;case"rgba":case"css":return`rgba(${this.red}, ${this.green}, ${this.blue}, ${this.alpha})`;case"hsl":return this.toHSL().toString("hsl");case"hsb":return this.toHSB().toString("hsb");case"oklch":return this.toOKLCH().toString("oklch");default:return this.toFormat(t).toString(t)}}toJSON(){return{red:this.red,green:this.green,blue:this.blue,alpha:this.alpha}}clone(){return new e(this.red,this.green,this.blue,this.alpha)}getChannelRange(t){switch(t){case"red":case"green":case"blue":return{min:0,max:255,step:1};case"alpha":return{min:0,max:1,step:.01};default:throw new Error(`Unknown color channel: ${t}`)}}getFormat(){return"rgba"}getChannels(){return["red","green","blue"]}},U=class e extends v{constructor(t,n,r,a){super(),this.L=t,this.C=n,this.H=r,this.alpha=a}static parse(t){if(!t)return;let n=t.trim().match(Mt);if(!n)return;let r=Number(n[1])/100,a=Number(n[2]),o=Number(n[3]),i=n[5]!==void 0?Number(n[5]):1;return new e(r,a,o,i)}toRGB(){let t=this.L,n=Number.isNaN(this.H)?0:this.C*Math.cos(this.H*Math.PI/180),r=Number.isNaN(this.H)?0:this.C*Math.sin(this.H*Math.PI/180),o=B([1,.3963377774,.2158037573,1,-.1055613458,-.0638541728,1,-.0894841775,-1.291485548],[t,n,r]).map(x=>x**3),i=B([1.2268798758,-.5578149945,.2813910457,-.0405757452,1.1122868033,-.0717110581,-.0763729367,-.4214933324,1.5869240198],o),[l,u,c]=B([3.240969942,-1.537383178,-.49861076,-.969243636,1.875967502,.041555057,.05563008,-.203976959,1.056971514],i);return[l,u,c]=[l,u,c].map(x=>Math.abs(x)>.0031308?(x<0?-1:1)*(1.055*Math.abs(x)**(1/2.4)-.055):12.92*x),new L(Math.round(R(l,0,1)*255),Math.round(R(u,0,1)*255),Math.round(R(c,0,1)*255),Number(this.alpha.toFixed(2)))}toJSON(){return{L:this.L,C:this.C,H:this.H,alpha:this.alpha}}clone(){return new e(this.L,this.C,this.H,this.alpha)}toFormat(t){switch(t){case"oklcha":return this;case"rgba":return this.toRGB();case"hsla":return this.toRGB().toFormat("hsla");case"hsba":return this.toRGB().toFormat("hsba");default:throw new Error(`Invalid format: ${t}`)}}toString(t){switch(t){case"hex":return this.toRGB().toString("hex");case"hexa":return this.toRGB().toString("hexa");case"oklch":{let n=Number.isNaN(this.L)?0:Number((this.L*100).toFixed(2)),r=Number.isNaN(this.C)?0:Number(this.C.toFixed(4)),a=Number.isNaN(this.H)?0:Number(this.H.toFixed(2));return`oklch(${n}% ${r} ${a})`}case"oklcha":case"css":{let n=Number.isNaN(this.L)?0:Number((this.L*100).toFixed(2)),r=Number.isNaN(this.C)?0:Number(this.C.toFixed(4)),a=Number.isNaN(this.H)?0:Number(this.H.toFixed(2)),o=Number.isNaN(this.alpha)?1:Number(this.alpha.toFixed(2));return`oklch(${n}% ${r} ${a} / ${o})`}case"hsl":return this.toRGB().toString("hsl");case"hsb":return this.toRGB().toString("hsb");case"rgb":return this.toRGB().toString("rgb");default:return this.toFormat(t).toString(t)}}getChannelRange(t){switch(t){case"L":return{min:0,max:1,step:.01};case"C":return{min:0,max:.4,step:.01};case"H":return{min:0,max:360,step:1};case"alpha":return{min:0,max:1,step:.01};default:throw new Error(`Unknown color channel: ${t}`)}}getFormat(){return"oklcha"}getChannels(){return["L","C","H"]}},V=e=>{let t=L.parse(e)??D.parse(e)??P.parse(e)??void 0;if(!t)throw new Error(`Invalid color: ${e}`);return t};function rt(e,t,n,r=!1){let{min:a,max:o}=t.getChannelRange(e),i=n==="horizontal"?r?"left":"right":"bottom";switch(e){case"hue":return`linear-gradient(to ${i}, rgb(255, 0, 0) 0%, rgb(255, 255, 0) 17%, rgb(0, 255, 0) 33%, rgb(0, 255, 255) 50%, rgb(0, 0, 255) 67%, rgb(255, 0, 255) 83%, rgb(255, 0, 0) 100%)`;case"lightness":{let l=t.withChannelValue(e,a).toString("css"),u=t.withChannelValue(e,(o-a)/2).toString("css"),c=t.withChannelValue(e,o).toString("css");return`linear-gradient(to ${i}, ${l}, ${u}, ${c})`}case"red":case"green":case"blue":case"saturation":case"brightness":case"alpha":{let l=t.withChannelValue(e,a).toString("css"),u=t.withChannelValue(e,o).toString("css");return`linear-gradient(to ${i}, ${l}, ${u})`}default:throw new Error(`Unknown color channel: ${e}`)}}function at(e,t){switch(t){case"hue":return V(`hsl(${e.getChannelValue("hue")}, 100%, 50%)`);case"red":case"green":case"blue":case"lightness":case"brightness":case"saturation":return e.withChannelValue("alpha",1);case"alpha":return e;default:throw new Error(`Unknown color channel: ${t}`)}}var Ft={hue:e=>[0,60,120,180,240,300,360].map(t=>e.withChannelValue("hue",t).toString("css")).join(", "),saturation:e=>`${e.withChannelValue("saturation",0).toString("css")}, transparent`,lightness:()=>"black, transparent, white",brightness:()=>"black, transparent"};function st(e,t){let{xChannel:n,zChannel:r}=e.getSpaceAxes(t),a=e.getChannelValue(r),o=e.getFormat(),l=V((o==="rgba"||o==="oklcha"?"hsba":o)==="hsla"?"hsl(0, 100%, 50%)":"hsb(0, 100%, 100%)").withChannelValue(r,a),u=e.getChannels(),c=g=>g===n?"right":"top",x=u.filter(g=>g!==r).map(g=>`linear-gradient(to ${c(g)}, ${Ft[g](l)})`).reverse();return r==="hue"&&x.push(l.toString("css")),{"--px-area-gradient":x.join(", ")}}function K(e,t,n="hsba"){let r=e.getFormat()==="hsla";switch(t){case"hex":return e.getChannelValue("alpha")<e.getChannelRange("alpha").max?e.toString("hexa"):e.toString("hex");case"css":return e.toFormat(n).toString("css");case"red":case"green":case"blue":return e.toFormat("rgba").getChannelValue(t).toString();case"hue":return e.toFormat(r?"hsla":"hsba").getChannelValue("hue").toString();case"saturation":return e.toFormat(r?"hsla":"hsba").getChannelValue("saturation").toString();case"lightness":return e.toFormat("hsla").getChannelValue("lightness").toString();case"brightness":return e.toFormat("hsba").getChannelValue("brightness").toString();case"C":return e.toFormat("oklcha").getChannelValue("C").toString();case"H":return e.toFormat("oklcha").getChannelValue("H").toString();case"L":return e.toFormat("oklcha").getChannelValue("L").toString();default:return e.getChannelValue(t).toString()}}function ot(e,t="hex"){switch(t){case"hex":return{min:V("#000000").toHexInt(),max:V("#FFFFFF").toHexInt(),step:1};case"css":return;case"red":case"green":case"blue":return e.toFormat("rgba").getChannelRange(t);case"hue":case"lightness":case"saturation":return e.toFormat("hsla").getChannelRange(t);case"brightness":return e.toFormat("hsba").getChannelRange(t);case"L":case"C":case"H":return e.toFormat("oklcha").getChannelRange(t);default:return e.getChannelRange(t)}}import{withHeadless as Nt}from"@primereact/core/headless";import{useControlledState as Vt}from"@primereact/hooks/use-controlled-state";import{useDirection as Ht}from"@primereact/hooks/use-direction";import*as N from"react";var it={defaultValue:void 0,value:void 0,format:"hsba",disabled:!1,onValueChange:void 0,onValueChangeEnd:void 0};var It=/^[0-9a-fA-F]{3,8}$/;function yt(e){return It.test(e)}function Gt(e){return e.startsWith("#")?e:yt(e)?`#${e}`:e}function $t(e){return e.replace("to bottom","to top")}var Ut=Nt({name:"useInputColor",defaultProps:it,setup({props:e}){let{format:t="hsba",disabled:n}=e,[r,a]=N.useState(!1),o=Ht()==="rtl",i=N.useRef([]),l=N.useRef({x:0,y:0}),u=N.useRef(e.defaultValue??V("#ff0000").toFormat(e.format||"hsba")),[c,x]=Vt({value:e.value,defaultValue:u.current,onChange:e.onValueChange}),g=N.useMemo(()=>c??V("#ff0000").toFormat(t),[c,t]),T=t.startsWith("hsl")?"hsla":"hsba",m=N.useMemo(()=>g.toFormat(T),[g,T]),H={value:g,isAreaDragging:r},k=(s,h)=>{x([s,{color:s.toString(t),value:s,...h?.originalEvent?{originalEvent:h.originalEvent}:{}}]),O(s)},z=(s,h,w)=>{if(!w||n)return;let C=w.getBoundingClientRect(),p=Math.max(0,Math.min(1,(s-l.current.x-C.left)/C.width)),S=Math.max(0,Math.min(1,(h-l.current.y-C.top)/C.height)),{xChannel:b,yChannel:F}=_(),G=m.getChannelRange(b),I=m.getChannelRange(F),A=p*(G.max-G.min)+G.min,X=(1-S)*(I.max-I.min)+I.min,E=A-m.getChannelValue(b),d=X-m.getChannelValue(F),f=m.incChannelValue(b,E).incChannelValue(F,d);k(f)},J=s=>{let h=s.currentTarget;if(!h||s.button!==0)return;let C=s.target?.closest?.('[data-part="area-handle"], .p-input-color-area-handle');if(C){let p=C.getBoundingClientRect(),S=p.left+p.width/2,b=p.top+p.height/2;l.current={x:s.clientX-S,y:s.clientY-b}}else l.current={x:0,y:0};h.setPointerCapture(s.pointerId),a(!0),z(s.clientX,s.clientY,h)},Y=s=>{r&&z(s.clientX,s.clientY,s.currentTarget)},j=s=>{let h=s.currentTarget;h&&(h.releasePointerCapture(s.pointerId),a(!1),l.current={x:0,y:0},e.onValueChangeEnd&&e.onValueChangeEnd({originalEvent:s,color:g.toString(t),value:g}))},q=s=>{e.onValueChangeEnd&&e.onValueChangeEnd({originalEvent:s,color:g.toString(t),value:g})},W=s=>{if(n)return;let h=s.key;if(!["ArrowRight","ArrowLeft","ArrowUp","ArrowDown"].includes(h))return;s.preventDefault();let{xChannel:w,yChannel:C}=_(),{step:p}=m.getChannelRange(w),{step:S}=m.getChannelRange(C),b=m;h==="ArrowRight"&&(b=b.incChannelValue(w,p)),h==="ArrowLeft"&&(b=b.decChannelValue(w,p)),h==="ArrowUp"&&(b=b.incChannelValue(C,S)),h==="ArrowDown"&&(b=b.decChannelValue(C,S)),k(b),e.onValueChangeEnd&&e.onValueChangeEnd({originalEvent:s,color:b.toString(t),value:b})},_=()=>{let s=m.getChannels();return{xChannel:s[1],yChannel:s[2]}},Q=()=>{if(typeof window<"u"&&!window.EyeDropper||n)return;new window.EyeDropper().open().then(h=>{let w=V(h.sRGBHex);k(w)}).catch(h=>{console.error("Error opening eyedropper",h)})},M=_(),{min:Z,max:lt}=m.getChannelRange(M.xChannel),{min:tt,max:ht}=m.getChannelRange(M.yChannel),ut=m.getChannelValue(M.xChannel),ct=m.getChannelValue(M.yChannel),et={...st(m,M),"--px-handle-background":m.withChannelValue("alpha",1).toString("css"),"--px-handle-position-left":(ut-Z)/(lt-Z)*100+"%","--px-handle-position-top":(1-(ct-tt)/(ht-tt))*100+"%"},nt={"--px-swatch-background":g.toString("css")},gt=({channel:s="hue",orientation:h="horizontal",disabled:w}={})=>{let C=n||w,p=s==="alpha"?m:g.getChannels().includes(s)?g:m.getChannels().includes(s)?m:g.toFormat(t),S=p.getChannelRange(s),b=p.getChannelValue(s),F=rt(s,p,h,o),I={"--px-slider-background":h==="vertical"?$t(F):F,"--px-slider-handle-background":at(p,s).toString("css")},A=E=>{if(C)return;let d=Array.isArray(E.value)?E.value[0]:E.value;if(d===void 0||Number.isNaN(d))return;let f=p.withChannelValue(s,d);k(f,{originalEvent:E.originalEvent})},X=E=>{if(C||!e.onValueChangeEnd)return;let d=Array.isArray(E.value)?E.value[0]:E.value;if(d===void 0||Number.isNaN(d))return;let f=p.withChannelValue(s,d);e.onValueChangeEnd({originalEvent:E.originalEvent,color:f.toString(t),value:f})};return{"data-scope":"inputcolor","data-part":"slider","data-orientation":h,"data-channel":s,orientation:h,style:I,value:b,min:S.min,max:S.max,step:S.step,disabled:C,onValueChange:A,onValueChangeEnd:X}},dt=s=>{let h=s.elementRef.current;i.current.includes(h)||i.current.push(h)},O=s=>{requestAnimationFrame(()=>{let h=s||g;i.current.forEach(C=>{let p=C.getAttribute("data-channel");if(p){let S=K(h,p,t);C.value=String(S)}})})};N.useEffect(()=>{O()},[g,t]);let mt=({channel:s="hex",disabled:h}={})=>{let w=n||h,C=g,p=t,S=ot(C,s),b=K(C,s,p),F=s==="hex"||s==="css",G=d=>{if(w)return;let f;if(F)try{f=V(s==="hex"?Gt(String(d)):String(d))}catch{f=C}else{let y=C;s!=="alpha"&&(y=y.toFormat(p));let $=Number.parseFloat(String(d)),xt=Number.isNaN($)?y.getChannelValue(s):$;f=y.withChannelValue(s,xt)}return k(f),f},I=d=>{let f=d.currentTarget,y=F?f.value:f.valueAsNumber,$=G(y);!$||!e.onValueChangeEnd||e.onValueChangeEnd({originalEvent:d,color:$.toString(t),value:$})},A=d=>{let f=d.currentTarget,y=F?f.value:f.valueAsNumber;G(y)},X=d=>{I(d)},E=d=>{d.defaultPrevented||d.key==="Enter"&&(I(d),d.preventDefault())};return{"data-scope":"inputcolor","data-part":"input",type:F?"text":"number",spellCheck:!1,autoComplete:"off",disabled:!!w,"data-channel":s,"aria-label":s,min:S?.min,max:S?.max,step:S?.step,channelValue:b,onChange:A,onBlur:X,onKeyDown:E}},Ct={"data-scope":"inputcolor","data-part":"root",...n&&{"data-disabled":""},...r&&{"data-dragging":""}},pt={"data-scope":"inputcolor","data-part":"area",style:et,onPointerDown:J,onPointerMove:Y,onPointerUp:j},bt={"data-scope":"inputcolor","data-part":"area-handle",role:"slider",tabIndex:n?-1:0,"aria-disabled":n,"aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":m.getChannelValue(M.xChannel),"aria-label":`${M.xChannel} and ${M.yChannel}`,"aria-roledescription":"2d slider","aria-valuetext":`${M.xChannel} ${m.getChannelValue(M.xChannel)}, ${M.yChannel} ${m.getChannelValue(M.yChannel)}`,onKeyDown:W,onBlur:q};return{state:H,value:c,areaValue:m,areaChannels:M,rootProps:Ct,areaProps:pt,areaHandleProps:bt,swatchProps:{"data-scope":"inputcolor","data-part":"swatch",style:nt},eyeDropperProps:{"data-scope":"inputcolor","data-part":"eye-dropper",disabled:!!n,onClick:Q},sliderHandleProps:{"data-scope":"inputcolor","data-part":"slider-handle",role:"slider",tabIndex:n?-1:0,"aria-disabled":n},getInputProps:mt,getSliderProps:gt,setValue:x,handleAreaPointerDown:J,handleAreaPointerMove:Y,handleAreaPointerUp:j,handleAreaBlur:q,handleAreaKeyDown:W,areaStyles:et,swatchStyles:nt,openEyeDropper:Q,syncChannelInputs:O,registerInputEl:dt}}});export{P as HSBColor,D as HSLColor,U as OKLCHColor,L as RGBColor,it as defaultProps,st as getAreaGradient,at as getChannelColor,rt as getChannelGradient,ot as getInputChannelRange,K as getInputChannelValue,kt as isEqual,V as parseColor,Ut as useInputColor};
@@ -1,2 +1 @@
1
1
  import{withHeadless as p}from"@primereact/core/headless";var o={};var u=p({name:"useInputGroup",defaultProps:o,setup(){return{rootProps:{"data-scope":"inputgroup","data-part":"root"}}}});export{o as defaultProps,u as useInputGroup};
2
- //# sourceMappingURL=index.mjs.map
@@ -1,2 +1 @@
1
- var Oe=Object.defineProperty;var re=Object.getOwnPropertySymbols;var Ue=Object.prototype.hasOwnProperty,pe=Object.prototype.propertyIsEnumerable;var oe=(t,s,b)=>s in t?Oe(t,s,{enumerable:!0,configurable:!0,writable:!0,value:b}):t[s]=b,C=(t,s)=>{for(var b in s||(s={}))Ue.call(s,b)&&oe(t,b,s[b]);if(re)for(var b of re(s))pe.call(s,b)&&oe(t,b,s[b]);return t};import{withHeadless as Ae}from"@primereact/core/headless";import{useControlledState as Be,useMountEffect as ve,useNumberFormatter as Ge,useUnmountEffect as $e,useUpdateEffect as W}from"@primereact/hooks";import{clearSelection as We,getSelection as de,isEmpty as je,isNotEmpty as fe}from"@primeuix/utils";import*as F from"react";var me={value:void 0,defaultValue:void 0,format:!0,locale:void 0,mode:"decimal",prefix:void 0,suffix:void 0,currency:void 0,currencyDisplay:void 0,useGrouping:!0,minFractionDigits:void 0,maxFractionDigits:void 0,roundingMode:void 0,min:void 0,max:void 0,step:1,allowEmpty:!0,highlightOnFocus:!1,onValueChange:void 0,onChange:void 0,invalid:void 0,disabled:void 0,readOnly:void 0};var Ye=Ae({name:"useInputNumber",defaultProps:me,setup({props:t}){let[s,b]=Be({value:t.value,defaultValue:t.defaultValue,onChange:t.onValueChange}),ge=Ge({value:s,locale:t.locale,localeMatcher:t.localeMatcher,mode:t.mode,currency:t.currency,currencyDisplay:t.currencyDisplay,useGrouping:t.useGrouping,minFractionDigits:t.minFractionDigits,maxFractionDigits:t.maxFractionDigits,roundingMode:t.roundingMode,prefix:t.prefix,suffix:t.suffix,min:t.min,format:t.format}),{formattedValue:Ee,formatValue:P,parseValue:I,addWithPrecision:j,isDecimalMode:J,isNumeralChar:y,isMinusSign:be,isDecimalSign:N,allowMinusSign:he,getDecimalCharIndexes:_,getCharIndexes:Re,getDecimalLength:q,concatValues:Te,groupChar:x,prefixChar:z,suffixChar:Q,resolvedOptions:Ie}=ge,K=F.useRef(null),O=F.useRef(null),U=F.useRef(null),X=F.useRef(s);X.current=s;let ye={value:s,formattedValue:Ee},p=(e,l)=>{var u,r;let n=((u=t.step)!=null?u:1)*l;if(e){let i=I(e.currentTarget.value)||0,a=w(j(Number(i),n));le(e,a,null,"spin",String(i)),H(e,a),$(e,String(i),a)}else{let i=(r=X.current)!=null?r:0,a=w(j(Number(i),n));H(null,a),$(null,String(i),a)}},A=(e,l,n)=>{if(t.readOnly)return;let u=l||500;k(),K.current=setTimeout(()=>{A(e,40,n)},u),p(e,n)},Y=(e,l)=>{var n;t.disabled||(A(e,void 0,(n=l!=null?l:t.step)!=null?n:1),e==null||e.preventDefault())},Z=(e,l)=>{var n;t.disabled||(A(e,void 0,l!=null?l:((n=t.step)!=null?n:1)*-1),e==null||e.preventDefault())},B=()=>{Y(null,1)},v=()=>{Z(null,-1)},S=()=>{t.disabled||k()},ee=e=>{var l;t.disabled||t.readOnly||(U.current&&(e.currentTarget.value=(l=O.current)!=null?l:""),U.current=!1)},Me=e=>{var m,h,M,g;if(t.readOnly)return;let l=e.currentTarget;if(e.altKey||e.ctrlKey||e.metaKey){U.current=!0,O.current=l.value;return}O.current=l.value;let n=(m=l.selectionStart)!=null?m:0,u=(h=l.selectionEnd)!=null?h:0,r=u-n,i=l.value,a=null;switch(e.code||e.key){case"ArrowUp":p(e,1),e.preventDefault();break;case"ArrowDown":p(e,-1),e.preventDefault();break;case"ArrowLeft":if(r>1){let d=y(i.charAt(n))?n+1:n+2;e.currentTarget.setSelectionRange(d,d)}else y(i.charAt(n-1))||e.preventDefault();break;case"ArrowRight":if(r>1){let d=u-1;e.currentTarget.setSelectionRange(d,d)}else y(i.charAt(n))||e.preventDefault();break;case"Tab":case"Enter":case"NumpadEnter":a=w(I(i)),e.currentTarget.value=P(a),e.currentTarget.setAttribute("aria-valuenow",a!=null?String(a):""),H(e,a);break;case"Backspace":{if(e.preventDefault(),n===u){n>=i.length&&Q!==null&&(n=i.length-Q.length,e.currentTarget.setSelectionRange(n,n));let d=i.charAt(n-1),{decimalCharIndex:c,decimalCharIndexWithoutPrefix:T}=_(i);if(y(d)){let E=q(i);if(x&&new RegExp(`[${x}]`,"g").test(d))a=i.slice(0,n-2)+i.slice(n-1);else if(N(d))E?e.currentTarget.setSelectionRange(n-1,n-1):a=i.slice(0,n-1)+i.slice(n);else if(c>0&&n>c){let f=J()&&(t.minFractionDigits||0)<E?"":"0";a=i.slice(0,n-1)+f+i.slice(n)}else if(T===1){a=i.slice(0,n-1)+"0"+i.slice(n);let f=I(a);a=typeof f=="number"&&f>0?a:""}else a=i.slice(0,n-1)+i.slice(n)}R(e,a,null,"delete-single")}else a=te(i,n,u),R(e,a,null,"delete-range");break}case"Delete":if(e.preventDefault(),n===u){let d=i.charAt(n),{decimalCharIndex:c,decimalCharIndexWithoutPrefix:T}=_(i);if(y(d)){let E=q(i);if(x&&new RegExp(`[${x}]`,"g").test(d))a=i.slice(0,n)+i.slice(n+2);else if(N(d))E?e.currentTarget.setSelectionRange(n+1,n+1):a=i.slice(0,n)+i.slice(n+1);else if(c>0&&n>c){let f=J()&&(t.minFractionDigits||0)<E?"":"0";a=i.slice(0,n)+f+i.slice(n+1)}else if(T===1){a=i.slice(0,n)+"0"+i.slice(n+1);let f=I(a);a=typeof f=="number"&&f>0?a:""}else a=i.slice(0,n)+i.slice(n+1)}R(e,a,null,"delete-back-single")}else a=te(i,n,u),R(e,a,null,"delete-range");break;case"Home":e.preventDefault(),fe(t.min)&&H(e,(M=t.min)!=null?M:0);break;case"End":e.preventDefault(),fe(t.max)&&H(e,(g=t.max)!=null?g:100);break;default:break}},Le=e=>{if(t.readOnly)return;let l=e.key,n=N(l),u=be(l);e.code!=="Enter"&&e.preventDefault(),(Number(l)>=0&&Number(l)<=9||u||n)&&ne(e,l,{isDecimalSign:n,isMinusSign:u})},xe=e=>{var n;if(t.readOnly)return;e.preventDefault();let l=(n=e.clipboardData||window.clipboardData)==null?void 0:n.getData("Text");if(l){let u=I(l);u!=null&&ne(e,u.toString())}},ne=(e,l,n={isDecimalSign:!1,isMinusSign:!1})=>{var d,c,T,E;let u=l.search(/-/);if(!he()&&u!==-1)return;let r=(d=e.currentTarget.selectionStart)!=null?d:0,i=(c=e.currentTarget.selectionEnd)!=null?c:0,a=e.currentTarget.value.trim(),{decimalCharIndex:o,minusCharIndex:m,suffixCharIndex:h,currencyCharIndex:M}=Re(a),g;if(n.isMinusSign){let f=m===-1;(r===0||r===M+1)&&(g=a,(f||i!==0)&&(g=V(a,l,0,i)),R(e,g,l,"insert"))}else if(n.isDecimalSign)o>0&&r===o?R(e,a,l,"insert"):(o>r&&o<i||o===-1&&t.maxFractionDigits)&&(g=V(a,l,r,i),R(e,g,l,"insert"));else{let f=(E=(T=Ie())==null?void 0:T.maximumFractionDigits)!=null?E:0,D=r!==i?"range-insert":"insert";if(o>0&&r>o){if(r+l.length-(o+1)<=f){let L=M>=r?M-1:h>=r?h:a.length;g=a.slice(0,r)+l+a.slice(r+l.length,L)+a.slice(L),R(e,g,l,D)}}else g=V(a,l,r,i),R(e,g,l,D)}},V=(e,l,n,u)=>(l==="."?l:l.split(".")).length===2?e.slice(n,u).search(/[.,]/)>0?e.slice(0,n)+P(l)+e.slice(u):P(l)||e:u-n===e.length?P(l):n===0?l+e.slice(u):u===e.length?e.slice(0,n)+l:e.slice(0,n)+l+e.slice(u),te=(e,l,n)=>{let u;return n-l===e.length?u="":l===0?u=e.slice(n):n===e.length?u=e.slice(0,l):u=e.slice(0,l)+e.slice(n),u},G=e=>{var h;let l=e.currentTarget,n=l.value,u=(h=l.selectionStart)!=null?h:0,r=n.length,i=null,a=(z||"").length;n=n.replace(z||"",""),u=u-a;let o=n.charAt(u);if(y(o))return u+a;let m=u-1;for(;m>=0;)if(o=n.charAt(m),y(o)){i=m+a;break}else m--;if(i!==null)l.setSelectionRange&&l.setSelectionRange(i+1,i+1);else{for(m=u;m<r;)if(o=n.charAt(m),y(o)){i=m+a;break}else m++;i!==null&&l.setSelectionRange&&l.setSelectionRange(i,i)}return i||0},He=e=>{!t.readOnly&&e.currentTarget.value!==de()&&G(e)},ie=()=>{let e=s!=null?s:null,l=De(e);ae(l);let n=w(e);e!==null&&e!==n&&H(null,n)},R=(e,l,n,u)=>{let r=e.currentTarget.value,i=null;l!=null&&(i=I(l),i=!i&&!t.allowEmpty?0:i,le(e,i,n,u,l),$(e,r,i))},Se=(e,l)=>{if(l===null&&e!==null)return!0;if(l!=null){let n=typeof e=="string"?I(e):e;return l!==n}return!1},$=(e,l,n)=>{t.onChange&&Se(l,n)&&t.onChange({originalEvent:e,value:n})},w=e=>e==="-"||e==null?null:t.min!=null&&typeof t.min=="number"&&typeof e=="number"&&e<t.min?t.min:t.max!=null&&typeof t.max=="number"&&typeof e=="number"&&e>t.max?t.max:e,De=e=>je(e)?null:t.min!==void 0&&t.min!==null&&e!==null&&e<t.min?t.min:t.max!==void 0&&t.max!==null&&e!==null&&e>t.max?t.max:e,le=(e,l,n,u,r)=>{var h,M,g;let i=e.currentTarget,a=(h=i.value)!=null?h:"",o=P(l),m=a.length;if(o!==r&&(o=Te(o,r)),m===0){i.value=o,i.setSelectionRange&&i.setSelectionRange(0,0);let c=G(e)+(n?n.length:0);i.setSelectionRange&&i.setSelectionRange(c,c)}else{let d=(M=i.selectionStart)!=null?M:0,c=(g=i.selectionEnd)!=null?g:0;i.value=o;let T=o.length;if(u==="range-insert"){let E=I(a.slice(0,d)),D=(E!==null?E.toString():"").split("").join(`(${x})?`),L=new RegExp(D,"g");L.test(o);let Ke=(n!=null?n:"").split("").join(`(${x})?`),se=new RegExp(Ke,"g");se.test(o.slice(L.lastIndex)),c=L.lastIndex+se.lastIndex,i.setSelectionRange&&i.setSelectionRange(c,c)}else if(T===m)u==="insert"||u==="delete-back-single"?i.setSelectionRange&&i.setSelectionRange(c+1,c+1):u==="delete-single"?i.setSelectionRange&&i.setSelectionRange(c-1,c-1):(u==="delete-range"||u==="spin")&&i.setSelectionRange&&i.setSelectionRange(c,c);else if(u==="delete-back-single"){let E=a.charAt(c-1),f=a.charAt(c),D=m-T,L=x?new RegExp(`[${x}]`,"g").test(f):!1;L&&D===1?c+=1:!L&&y(E)&&(c+=-1*D+1),i.setSelectionRange&&i.setSelectionRange(c,c)}else if(a==="-"&&u==="insert"){i.setSelectionRange&&i.setSelectionRange(0,0);let f=G(e)+(n?n.length:0)+1;i.setSelectionRange&&i.setSelectionRange(f,f)}else c=c+(T-m),i.setSelectionRange&&i.setSelectionRange(c,c)}i.setAttribute("aria-valuenow",String(l))},Ce=e=>{var l;return!e&&!t.allowEmpty?(l=t.min)!=null?l:0:e},ae=e=>{let l=Ce(e);b([l,{value:l}])},H=(e,l)=>{let n=e!=null?e:null;b([l,{originalEvent:n,value:l}])},we=e=>{!t.disabled&&!t.readOnly&&e.currentTarget.value!==de()&&t.highlightOnFocus&&e.currentTarget.select()},Pe=e=>{let l=e.currentTarget,n=w(I(l.value));H(e,n),!t.disabled&&!t.readOnly&&t.highlightOnFocus&&We()},k=()=>{K.current&&clearInterval(K.current)},ue=()=>t.max!==void 0&&(s!=null?s:0)>=t.max,ce=()=>t.min!==void 0&&(s!=null?s:0)<=t.min;$e(()=>{k()}),ve(()=>{let e=w(s);ae(typeof e=="number"?e:null),s!==null&&s!==e&&H(null,e)}),W(()=>{ie()},[t.locale,t.localeMatcher,t.mode,t.currency,t.currencyDisplay,t.useGrouping,t.minFractionDigits,t.maxFractionDigits,t.suffix,t.prefix]),W(()=>{ie()},[t.value,t.defaultValue]),W(()=>{t.disabled&&k()},[t.disabled]);let Fe=C(C(C({"data-scope":"inputnumber","data-part":"root"},t.disabled?{"data-disabled":""}:{}),t.invalid?{"data-invalid":""}:{}),t.readOnly?{"data-readonly":""}:{}),Ve=C(C(C({"data-scope":"inputnumber","data-part":"input",role:"spinbutton","aria-valuemin":t.min,"aria-valuemax":t.max,"aria-valuenow":s!=null?s:void 0,inputMode:t.mode==="decimal"&&!t.minFractionDigits?"numeric":"decimal",disabled:!!t.disabled||void 0,readOnly:!!t.readOnly||void 0,onChange:ee,onInput:ee,onKeyDown:Me,onKeyPress:Le,onClick:He,onPaste:xe,onFocus:we,onBlur:Pe},t.disabled?{"data-disabled":""}:{}),t.invalid?{"data-invalid":""}:{}),t.readOnly?{"data-readonly":""}:{}),ke={disabled:!!t.disabled||ue(),tabIndex:-1,onPointerDown:()=>B(),onPointerUp:()=>S(),onPointerLeave:()=>S(),onKeyDown:e=>{(e.key==="Enter"||e.key===" ")&&B()},onKeyUp:()=>S()},Ne={disabled:!!t.disabled||ce(),tabIndex:-1,onPointerDown:()=>v(),onPointerUp:()=>S(),onPointerLeave:()=>S(),onKeyDown:e=>{(e.key==="Enter"||e.key===" ")&&v()},onKeyUp:()=>S()};return{state:ye,rootProps:Fe,inputProps:Ve,incrementProps:ke,decrementProps:Ne,maxBoundry:ue,minBoundry:ce,increment:Y,decrement:Z,stepUp:B,stepDown:v,stopSpin:S}}});export{me as defaultProps,Ye as useInputNumber};
2
- //# sourceMappingURL=index.mjs.map
1
+ import{withHeadless as Pe}from"@primereact/core/headless";import{useControlledState as ve,useMountEffect as Ve,useNumberFormatter as Fe,useUnmountEffect as ke,useUpdateEffect as p}from"@primereact/hooks";import{clearSelection as Ne,getSelection as ue,isEmpty as Ke,isNotEmpty as re}from"@primeuix/utils";import*as H from"react";var ae={value:void 0,defaultValue:void 0,format:!0,locale:void 0,mode:"decimal",prefix:void 0,suffix:void 0,currency:void 0,currencyDisplay:void 0,useGrouping:!0,minFractionDigits:void 0,maxFractionDigits:void 0,roundingMode:void 0,min:void 0,max:void 0,step:1,allowEmpty:!0,highlightOnFocus:!1,onValueChange:void 0,onChange:void 0,invalid:void 0,disabled:void 0,readOnly:void 0};var Ge=Pe({name:"useInputNumber",defaultProps:ae,setup({props:n}){let[f,A]=ve({value:n.value,defaultValue:n.defaultValue,onChange:n.onValueChange}),ce=Fe({value:f,locale:n.locale,localeMatcher:n.localeMatcher,mode:n.mode,currency:n.currency,currencyDisplay:n.currencyDisplay,useGrouping:n.useGrouping,minFractionDigits:n.minFractionDigits,maxFractionDigits:n.maxFractionDigits,roundingMode:n.roundingMode,prefix:n.prefix,suffix:n.suffix,min:n.min,format:n.format}),{formattedValue:se,formatValue:x,parseValue:b,addWithPrecision:B,isDecimalMode:G,isNumeralChar:h,isMinusSign:oe,isDecimalSign:w,allowMinusSign:de,getDecimalCharIndexes:$,getCharIndexes:me,getDecimalLength:W,concatValues:fe,groupChar:R,prefixChar:j,suffixChar:J,resolvedOptions:ge}=ce,P=H.useRef(null),v=H.useRef(null),V=H.useRef(null),_=H.useRef(f);_.current=f;let Ee={value:f,formattedValue:se},F=(e,l)=>{let t=(n.step??1)*l;if(e){let a=b(e.currentTarget.value)||0,r=S(B(Number(a),t));ee(e,r,null,"spin",String(a)),T(e,r),U(e,String(a),r)}else{let a=_.current??0,r=S(B(Number(a),t));T(null,r),U(null,String(a),r)}},k=(e,l,t)=>{if(n.readOnly)return;let a=l||500;C(),P.current=setTimeout(()=>{k(e,40,t)},a),F(e,t)},q=(e,l)=>{n.disabled||(k(e,void 0,l??n.step??1),e?.preventDefault())},z=(e,l)=>{n.disabled||(k(e,void 0,l??(n.step??1)*-1),e?.preventDefault())},N=()=>{q(null,1)},K=()=>{z(null,-1)},y=()=>{n.disabled||C()},Q=e=>{n.disabled||n.readOnly||(V.current&&(e.currentTarget.value=v.current??""),V.current=!1)},be=e=>{if(n.readOnly)return;let l=e.currentTarget;if(e.altKey||e.ctrlKey||e.metaKey){V.current=!0,v.current=l.value;return}v.current=l.value;let t=l.selectionStart??0,a=l.selectionEnd??0,r=a-t,i=l.value,u=null;switch(e.code||e.key){case"ArrowUp":F(e,1),e.preventDefault();break;case"ArrowDown":F(e,-1),e.preventDefault();break;case"ArrowLeft":if(r>1){let c=h(i.charAt(t))?t+1:t+2;e.currentTarget.setSelectionRange(c,c)}else h(i.charAt(t-1))||e.preventDefault();break;case"ArrowRight":if(r>1){let c=a-1;e.currentTarget.setSelectionRange(c,c)}else h(i.charAt(t))||e.preventDefault();break;case"Tab":case"Enter":case"NumpadEnter":u=S(b(i)),e.currentTarget.value=x(u),e.currentTarget.setAttribute("aria-valuenow",u!=null?String(u):""),T(e,u);break;case"Backspace":{if(e.preventDefault(),t===a){t>=i.length&&J!==null&&(t=i.length-J.length,e.currentTarget.setSelectionRange(t,t));let c=i.charAt(t-1),{decimalCharIndex:g,decimalCharIndexWithoutPrefix:s}=$(i);if(h(c)){let d=W(i);if(R&&new RegExp(`[${R}]`,"g").test(c))u=i.slice(0,t-2)+i.slice(t-1);else if(w(c))d?e.currentTarget.setSelectionRange(t-1,t-1):u=i.slice(0,t-1)+i.slice(t);else if(g>0&&t>g){let m=G()&&(n.minFractionDigits||0)<d?"":"0";u=i.slice(0,t-1)+m+i.slice(t)}else if(s===1){u=i.slice(0,t-1)+"0"+i.slice(t);let m=b(u);u=typeof m=="number"&&m>0?u:""}else u=i.slice(0,t-1)+i.slice(t)}E(e,u,null,"delete-single")}else u=Y(i,t,a),E(e,u,null,"delete-range");break}case"Delete":if(e.preventDefault(),t===a){let c=i.charAt(t),{decimalCharIndex:g,decimalCharIndexWithoutPrefix:s}=$(i);if(h(c)){let d=W(i);if(R&&new RegExp(`[${R}]`,"g").test(c))u=i.slice(0,t)+i.slice(t+2);else if(w(c))d?e.currentTarget.setSelectionRange(t+1,t+1):u=i.slice(0,t)+i.slice(t+1);else if(g>0&&t>g){let m=G()&&(n.minFractionDigits||0)<d?"":"0";u=i.slice(0,t)+m+i.slice(t+1)}else if(s===1){u=i.slice(0,t)+"0"+i.slice(t+1);let m=b(u);u=typeof m=="number"&&m>0?u:""}else u=i.slice(0,t)+i.slice(t+1)}E(e,u,null,"delete-back-single")}else u=Y(i,t,a),E(e,u,null,"delete-range");break;case"Home":e.preventDefault(),re(n.min)&&T(e,n.min??0);break;case"End":e.preventDefault(),re(n.max)&&T(e,n.max??100);break;default:break}},he=e=>{if(n.readOnly)return;let l=e.key,t=w(l),a=oe(l);e.code!=="Enter"&&e.preventDefault(),(Number(l)>=0&&Number(l)<=9||a||t)&&X(e,l,{isDecimalSign:t,isMinusSign:a})},Re=e=>{if(n.readOnly)return;e.preventDefault();let l=(e.clipboardData||window.clipboardData)?.getData("Text");if(l){let t=b(l);t!=null&&X(e,t.toString())}},X=(e,l,t={isDecimalSign:!1,isMinusSign:!1})=>{let a=l.search(/-/);if(!de()&&a!==-1)return;let r=e.currentTarget.selectionStart??0,i=e.currentTarget.selectionEnd??0,u=e.currentTarget.value.trim(),{decimalCharIndex:o,minusCharIndex:c,suffixCharIndex:g,currencyCharIndex:s}=me(u),d;if(t.isMinusSign){let m=c===-1;(r===0||r===s+1)&&(d=u,(m||i!==0)&&(d=D(u,l,0,i)),E(e,d,l,"insert"))}else if(t.isDecimalSign)o>0&&r===o?E(e,u,l,"insert"):(o>r&&o<i||o===-1&&n.maxFractionDigits)&&(d=D(u,l,r,i),E(e,d,l,"insert"));else{let m=ge()?.maximumFractionDigits??0,I=r!==i?"range-insert":"insert";if(o>0&&r>o){if(r+l.length-(o+1)<=m){let M=s>=r?s-1:g>=r?g:u.length;d=u.slice(0,r)+l+u.slice(r+l.length,M)+u.slice(M),E(e,d,l,I)}}else d=D(u,l,r,i),E(e,d,l,I)}},D=(e,l,t,a)=>(l==="."?l:l.split(".")).length===2?e.slice(t,a).search(/[.,]/)>0?e.slice(0,t)+x(l)+e.slice(a):x(l)||e:a-t===e.length?x(l):t===0?l+e.slice(a):a===e.length?e.slice(0,t)+l:e.slice(0,t)+l+e.slice(a),Y=(e,l,t)=>{let a;return t-l===e.length?a="":l===0?a=e.slice(t):t===e.length?a=e.slice(0,l):a=e.slice(0,l)+e.slice(t),a},O=e=>{let l=e.currentTarget,t=l.value,a=l.selectionStart??0,r=t.length,i=null,u=(j||"").length;t=t.replace(j||"",""),a=a-u;let o=t.charAt(a);if(h(o))return a+u;let c=a-1;for(;c>=0;)if(o=t.charAt(c),h(o)){i=c+u;break}else c--;if(i!==null)l.setSelectionRange&&l.setSelectionRange(i+1,i+1);else{for(c=a;c<r;)if(o=t.charAt(c),h(o)){i=c+u;break}else c++;i!==null&&l.setSelectionRange&&l.setSelectionRange(i,i)}return i||0},Te=e=>{!n.readOnly&&e.currentTarget.value!==ue()&&O(e)},Z=()=>{let e=f??null,l=ye(e);ne(l);let t=S(e);e!==null&&e!==t&&T(null,t)},E=(e,l,t,a)=>{let r=e.currentTarget.value,i=null;l!=null&&(i=b(l),i=!i&&!n.allowEmpty?0:i,ee(e,i,t,a,l),U(e,r,i))},Ie=(e,l)=>{if(l===null&&e!==null)return!0;if(l!=null){let t=typeof e=="string"?b(e):e;return l!==t}return!1},U=(e,l,t)=>{n.onChange&&Ie(l,t)&&n.onChange({originalEvent:e,value:t})},S=e=>e==="-"||e==null?null:n.min!=null&&typeof n.min=="number"&&typeof e=="number"&&e<n.min?n.min:n.max!=null&&typeof n.max=="number"&&typeof e=="number"&&e>n.max?n.max:e,ye=e=>Ke(e)?null:n.min!==void 0&&n.min!==null&&e!==null&&e<n.min?n.min:n.max!==void 0&&n.max!==null&&e!==null&&e>n.max?n.max:e,ee=(e,l,t,a,r)=>{let i=e.currentTarget,u=i.value??"",o=x(l),c=u.length;if(o!==r&&(o=fe(o,r)),c===0){i.value=o,i.setSelectionRange&&i.setSelectionRange(0,0);let s=O(e)+(t?t.length:0);i.setSelectionRange&&i.setSelectionRange(s,s)}else{let g=i.selectionStart??0,s=i.selectionEnd??0;i.value=o;let d=o.length;if(a==="range-insert"){let m=b(u.slice(0,g)),M=(m!==null?m.toString():"").split("").join(`(${R})?`),L=new RegExp(M,"g");L.test(o);let we=(t??"").split("").join(`(${R})?`),le=new RegExp(we,"g");le.test(o.slice(L.lastIndex)),s=L.lastIndex+le.lastIndex,i.setSelectionRange&&i.setSelectionRange(s,s)}else if(d===c)a==="insert"||a==="delete-back-single"?i.setSelectionRange&&i.setSelectionRange(s+1,s+1):a==="delete-single"?i.setSelectionRange&&i.setSelectionRange(s-1,s-1):(a==="delete-range"||a==="spin")&&i.setSelectionRange&&i.setSelectionRange(s,s);else if(a==="delete-back-single"){let m=u.charAt(s-1),I=u.charAt(s),M=c-d,L=R?new RegExp(`[${R}]`,"g").test(I):!1;L&&M===1?s+=1:!L&&h(m)&&(s+=-1*M+1),i.setSelectionRange&&i.setSelectionRange(s,s)}else if(u==="-"&&a==="insert"){i.setSelectionRange&&i.setSelectionRange(0,0);let I=O(e)+(t?t.length:0)+1;i.setSelectionRange&&i.setSelectionRange(I,I)}else s=s+(d-c),i.setSelectionRange&&i.setSelectionRange(s,s)}i.setAttribute("aria-valuenow",String(l))},Me=e=>!e&&!n.allowEmpty?n.min??0:e,ne=e=>{let l=Me(e);A([l,{value:l}])},T=(e,l)=>{A([l,{originalEvent:e??null,value:l}])},Se=e=>{!n.disabled&&!n.readOnly&&e.currentTarget.value!==ue()&&n.highlightOnFocus&&e.currentTarget.select()},Le=e=>{let l=e.currentTarget,t=S(b(l.value));T(e,t),!n.disabled&&!n.readOnly&&n.highlightOnFocus&&Ne()},C=()=>{P.current&&clearInterval(P.current)},te=()=>n.max!==void 0&&(f??0)>=n.max,ie=()=>n.min!==void 0&&(f??0)<=n.min;ke(()=>{C()}),Ve(()=>{let e=S(f);ne(typeof e=="number"?e:null),f!==null&&f!==e&&T(null,e)}),p(()=>{Z()},[n.locale,n.localeMatcher,n.mode,n.currency,n.currencyDisplay,n.useGrouping,n.minFractionDigits,n.maxFractionDigits,n.suffix,n.prefix]),p(()=>{Z()},[n.value,n.defaultValue]),p(()=>{n.disabled&&C()},[n.disabled]);let xe={"data-scope":"inputnumber","data-part":"root",...n.disabled?{"data-disabled":""}:{},...n.invalid?{"data-invalid":""}:{},...n.readOnly?{"data-readonly":""}:{}},He={"data-scope":"inputnumber","data-part":"input",role:"spinbutton","aria-valuemin":n.min,"aria-valuemax":n.max,"aria-valuenow":f??void 0,inputMode:n.mode==="decimal"&&!n.minFractionDigits?"numeric":"decimal",disabled:!!n.disabled||void 0,readOnly:!!n.readOnly||void 0,onChange:Q,onInput:Q,onKeyDown:be,onKeyPress:he,onClick:Te,onPaste:Re,onFocus:Se,onBlur:Le,...n.disabled?{"data-disabled":""}:{},...n.invalid?{"data-invalid":""}:{},...n.readOnly?{"data-readonly":""}:{}},De={disabled:!!n.disabled||te(),tabIndex:-1,onPointerDown:()=>N(),onPointerUp:()=>y(),onPointerLeave:()=>y(),onKeyDown:e=>{(e.key==="Enter"||e.key===" ")&&N()},onKeyUp:()=>y()},Ce={disabled:!!n.disabled||ie(),tabIndex:-1,onPointerDown:()=>K(),onPointerUp:()=>y(),onPointerLeave:()=>y(),onKeyDown:e=>{(e.key==="Enter"||e.key===" ")&&K()},onKeyUp:()=>y()};return{state:Ee,rootProps:xe,inputProps:He,incrementProps:De,decrementProps:Ce,maxBoundry:te,minBoundry:ie,increment:q,decrement:z,stepUp:N,stepDown:K,stopSpin:y}}});export{ae as defaultProps,Ge as useInputNumber};