@ynput/ayon-frontend-shared 0.3.26 → 0.3.28

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 (672) hide show
  1. package/dist/DetailsPanel.cjs.js +1 -1
  2. package/dist/DetailsPanel.es.js +25 -23
  3. package/dist/DetailsPanel.es.js.map +1 -1
  4. package/dist/ProjectTreeTable.cjs.js +1 -1
  5. package/dist/ProjectTreeTable.es.js +404 -190
  6. package/dist/ProjectTreeTable.es.js.map +1 -1
  7. package/dist/Slicer.cjs.js +1 -1
  8. package/dist/Slicer.es.js +19 -18
  9. package/dist/Slicer.es.js.map +1 -1
  10. package/dist/_virtual/index.cjs14.js +1 -1
  11. package/dist/_virtual/index.cjs8.js +1 -1
  12. package/dist/_virtual/index.es14.js +5 -2
  13. package/dist/_virtual/index.es14.js.map +1 -1
  14. package/dist/_virtual/index.es8.js +2 -5
  15. package/dist/_virtual/index.es8.js.map +1 -1
  16. package/dist/api.cjs.js +1 -1
  17. package/dist/api.es.js +406 -402
  18. package/dist/api.es.js.map +1 -1
  19. package/dist/hooks.cjs.js +1 -1
  20. package/dist/hooks.es.js +15 -13
  21. package/dist/hooks.es.js.map +1 -1
  22. package/dist/index.cjs.js +1 -1
  23. package/dist/index.es.js +12 -10
  24. package/dist/index.es.js.map +1 -1
  25. package/dist/node_modules/parse-numeric-range/index.cjs.js +1 -1
  26. package/dist/node_modules/parse-numeric-range/index.es.js +1 -1
  27. package/dist/node_modules/remove-accents/index.cjs.js +1 -1
  28. package/dist/node_modules/remove-accents/index.cjs.js.map +1 -1
  29. package/dist/node_modules/remove-accents/index.es.js +1 -1
  30. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/utils.cjs.js +1 -1
  31. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/utils.es.js +1 -1
  32. package/dist/shared/node_modules/@module-federation/sdk/dist/utils.cjs.js +1 -1
  33. package/dist/shared/node_modules/@module-federation/sdk/dist/utils.es.js +1 -1
  34. package/dist/shared/node_modules/react-is/index.cjs.js +1 -1
  35. package/dist/shared/node_modules/react-is/index.es.js +1 -1
  36. package/dist/shared/node_modules/react-transition-group/esm/CSSTransition.cjs.js +1 -1
  37. package/dist/shared/node_modules/react-transition-group/esm/CSSTransition.cjs.js.map +1 -1
  38. package/dist/shared/node_modules/react-transition-group/esm/CSSTransition.es.js +1 -1
  39. package/dist/shared/node_modules/react-transition-group/esm/Transition.cjs.js +1 -1
  40. package/dist/shared/node_modules/react-transition-group/esm/Transition.cjs.js.map +1 -1
  41. package/dist/shared/node_modules/react-transition-group/esm/Transition.es.js +1 -1
  42. package/dist/shared/node_modules/react-transition-group/esm/utils/PropTypes.cjs.js +1 -1
  43. package/dist/shared/node_modules/react-transition-group/esm/utils/PropTypes.cjs.js.map +1 -1
  44. package/dist/shared/node_modules/react-transition-group/esm/utils/PropTypes.es.js +1 -1
  45. package/dist/shared/src/api/base/client.cjs.js +1 -1
  46. package/dist/shared/src/api/base/client.cjs.js.map +1 -1
  47. package/dist/shared/src/api/base/client.es.js +1 -0
  48. package/dist/shared/src/api/base/client.es.js.map +1 -1
  49. package/dist/shared/src/api/generated/graphql.cjs.js +58 -36
  50. package/dist/shared/src/api/generated/graphql.cjs.js.map +1 -1
  51. package/dist/shared/src/api/generated/graphql.es.js +125 -99
  52. package/dist/shared/src/api/generated/graphql.es.js.map +1 -1
  53. package/dist/shared/src/api/generated/graphqlLinks.cjs.js +69 -9
  54. package/dist/shared/src/api/generated/graphqlLinks.cjs.js.map +1 -1
  55. package/dist/shared/src/api/generated/graphqlLinks.es.js +95 -35
  56. package/dist/shared/src/api/generated/graphqlLinks.es.js.map +1 -1
  57. package/dist/shared/src/api/generated/projectFolders.cjs.js.map +1 -1
  58. package/dist/shared/src/api/generated/projectFolders.es.js.map +1 -1
  59. package/dist/shared/src/api/queries/entities/patchDetailsPanel.cjs.js +1 -1
  60. package/dist/shared/src/api/queries/entities/patchDetailsPanel.cjs.js.map +1 -1
  61. package/dist/shared/src/api/queries/entities/patchDetailsPanel.es.js +20 -19
  62. package/dist/shared/src/api/queries/entities/patchDetailsPanel.es.js.map +1 -1
  63. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js +1 -1
  64. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js.map +1 -1
  65. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js +4 -3
  66. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js.map +1 -1
  67. package/dist/shared/src/api/queries/folders/getFolderDeleteInfo.cjs.js +2 -0
  68. package/dist/shared/src/api/queries/folders/getFolderDeleteInfo.cjs.js.map +1 -0
  69. package/dist/shared/src/api/queries/folders/getFolderDeleteInfo.es.js +64 -0
  70. package/dist/shared/src/api/queries/folders/getFolderDeleteInfo.es.js.map +1 -0
  71. package/dist/shared/src/api/queries/links/getLinks.cjs.js +1 -1
  72. package/dist/shared/src/api/queries/links/getLinks.cjs.js.map +1 -1
  73. package/dist/shared/src/api/queries/links/getLinks.es.js +27 -26
  74. package/dist/shared/src/api/queries/links/getLinks.es.js.map +1 -1
  75. package/dist/shared/src/api/queries/overview/getOverview.cjs.js +1 -1
  76. package/dist/shared/src/api/queries/overview/getOverview.cjs.js.map +1 -1
  77. package/dist/shared/src/api/queries/overview/getOverview.es.js +104 -103
  78. package/dist/shared/src/api/queries/overview/getOverview.es.js.map +1 -1
  79. package/dist/shared/src/api/queries/overview/updateOverview.cjs.js +1 -1
  80. package/dist/shared/src/api/queries/overview/updateOverview.cjs.js.map +1 -1
  81. package/dist/shared/src/api/queries/overview/updateOverview.es.js +118 -111
  82. package/dist/shared/src/api/queries/overview/updateOverview.es.js.map +1 -1
  83. package/dist/shared/src/api/queries/project/updateProject.cjs.js +1 -1
  84. package/dist/shared/src/api/queries/project/updateProject.cjs.js.map +1 -1
  85. package/dist/shared/src/api/queries/project/updateProject.es.js +43 -19
  86. package/dist/shared/src/api/queries/project/updateProject.es.js.map +1 -1
  87. package/dist/shared/src/api/queries/users/getUsers.cjs.js +1 -1
  88. package/dist/shared/src/api/queries/users/getUsers.cjs.js.map +1 -1
  89. package/dist/shared/src/api/queries/users/getUsers.es.js +22 -21
  90. package/dist/shared/src/api/queries/users/getUsers.es.js.map +1 -1
  91. package/dist/shared/src/api/queries/views/getViews.cjs.js +1 -1
  92. package/dist/shared/src/api/queries/views/getViews.cjs.js.map +1 -1
  93. package/dist/shared/src/api/queries/views/getViews.es.js +24 -20
  94. package/dist/shared/src/api/queries/views/getViews.es.js.map +1 -1
  95. package/dist/shared/src/components/DateRangePicker/DateRangePicker.cjs.js +1 -1
  96. package/dist/shared/src/components/DateRangePicker/DateRangePicker.cjs.js.map +1 -1
  97. package/dist/shared/src/components/DateRangePicker/DateRangePicker.es.js +89 -88
  98. package/dist/shared/src/components/DateRangePicker/DateRangePicker.es.js.map +1 -1
  99. package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js +1 -1
  100. package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js.map +1 -1
  101. package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js +3 -2
  102. package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js.map +1 -1
  103. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js +1 -1
  104. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js.map +1 -1
  105. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js +6 -2
  106. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js.map +1 -1
  107. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js +1 -1
  108. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js.map +1 -1
  109. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js +3 -2
  110. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js.map +1 -1
  111. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js +1 -1
  112. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js.map +1 -1
  113. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js +3 -2
  114. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js.map +1 -1
  115. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js +1 -1
  116. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js.map +1 -1
  117. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js +5 -2
  118. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js.map +1 -1
  119. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js +1 -1
  120. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js.map +1 -1
  121. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js +9 -7
  122. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js.map +1 -1
  123. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.cjs.js +1 -1
  124. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.cjs.js.map +1 -1
  125. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.es.js +5 -3
  126. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.es.js.map +1 -1
  127. package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js +1 -1
  128. package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js.map +1 -1
  129. package/dist/shared/src/components/Feedback/FeedbackContext.es.js +5 -4
  130. package/dist/shared/src/components/Feedback/FeedbackContext.es.js.map +1 -1
  131. package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js +1 -1
  132. package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js.map +1 -1
  133. package/dist/shared/src/components/LinksManager/AddNewLinks.es.js +3 -2
  134. package/dist/shared/src/components/LinksManager/AddNewLinks.es.js.map +1 -1
  135. package/dist/shared/src/components/LinksManager/LinkManagerItem.cjs.js +1 -1
  136. package/dist/shared/src/components/LinksManager/LinkManagerItem.cjs.js.map +1 -1
  137. package/dist/shared/src/components/LinksManager/LinkManagerItem.es.js +3 -2
  138. package/dist/shared/src/components/LinksManager/LinkManagerItem.es.js.map +1 -1
  139. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js +1 -1
  140. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js.map +1 -1
  141. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js +9 -7
  142. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js.map +1 -1
  143. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js +1 -1
  144. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js.map +1 -1
  145. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js +3 -2
  146. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js.map +1 -1
  147. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js +1 -1
  148. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js.map +1 -1
  149. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js +5 -3
  150. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js.map +1 -1
  151. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +2 -2
  152. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
  153. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +46 -43
  154. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
  155. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js +1 -1
  156. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js.map +1 -1
  157. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js +5 -3
  158. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js.map +1 -1
  159. package/dist/shared/src/components/RemotePage/ProjectPageRemote.cjs.js +1 -1
  160. package/dist/shared/src/components/RemotePage/ProjectPageRemote.cjs.js.map +1 -1
  161. package/dist/shared/src/components/RemotePage/ProjectPageRemote.es.js +5 -3
  162. package/dist/shared/src/components/RemotePage/ProjectPageRemote.es.js.map +1 -1
  163. package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js +1 -1
  164. package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js.map +1 -1
  165. package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js +23 -21
  166. package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js.map +1 -1
  167. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js +1 -1
  168. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js.map +1 -1
  169. package/dist/shared/src/components/RenameForm/RenameForm.es.js +9 -7
  170. package/dist/shared/src/components/RenameForm/RenameForm.es.js.map +1 -1
  171. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.cjs.js +1 -1
  172. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.cjs.js.map +1 -1
  173. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.es.js +3 -2
  174. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.es.js.map +1 -1
  175. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +1 -1
  176. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
  177. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +5 -3
  178. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js.map +1 -1
  179. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +1 -1
  180. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
  181. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +6 -4
  182. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js.map +1 -1
  183. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +1 -1
  184. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
  185. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +5 -3
  186. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
  187. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js +1 -1
  188. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js.map +1 -1
  189. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js +3 -2
  190. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js.map +1 -1
  191. package/dist/shared/src/components/ReviewablesSelector/Card.cjs.js +1 -1
  192. package/dist/shared/src/components/ReviewablesSelector/Card.cjs.js.map +1 -1
  193. package/dist/shared/src/components/ReviewablesSelector/Card.es.js +5 -2
  194. package/dist/shared/src/components/ReviewablesSelector/Card.es.js.map +1 -1
  195. package/dist/shared/src/components/ReviewablesSelector/ReviewablesSelector.cjs.js +1 -1
  196. package/dist/shared/src/components/ReviewablesSelector/ReviewablesSelector.cjs.js.map +1 -1
  197. package/dist/shared/src/components/ReviewablesSelector/ReviewablesSelector.es.js +67 -77
  198. package/dist/shared/src/components/ReviewablesSelector/ReviewablesSelector.es.js.map +1 -1
  199. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js +1 -1
  200. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js.map +1 -1
  201. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js +192 -141
  202. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js.map +1 -1
  203. package/dist/shared/src/components/SimpleFormDialog/FormFile.cjs.js +1 -1
  204. package/dist/shared/src/components/SimpleFormDialog/FormFile.cjs.js.map +1 -1
  205. package/dist/shared/src/components/SimpleFormDialog/FormFile.es.js +7 -5
  206. package/dist/shared/src/components/SimpleFormDialog/FormFile.es.js.map +1 -1
  207. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +1 -1
  208. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js.map +1 -1
  209. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +5 -3
  210. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
  211. package/dist/shared/src/components/SubtasksManager/SubtasksManagerWrapper.cjs.js +1 -1
  212. package/dist/shared/src/components/SubtasksManager/SubtasksManagerWrapper.cjs.js.map +1 -1
  213. package/dist/shared/src/components/SubtasksManager/SubtasksManagerWrapper.es.js +3 -2
  214. package/dist/shared/src/components/SubtasksManager/SubtasksManagerWrapper.es.js.map +1 -1
  215. package/dist/shared/src/components/Thumbnail/Thumbnail.cjs.js +1 -1
  216. package/dist/shared/src/components/Thumbnail/Thumbnail.cjs.js.map +1 -1
  217. package/dist/shared/src/components/Thumbnail/Thumbnail.es.js +41 -44
  218. package/dist/shared/src/components/Thumbnail/Thumbnail.es.js.map +1 -1
  219. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js +4 -4
  220. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js.map +1 -1
  221. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js +5 -3
  222. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js.map +1 -1
  223. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js +1 -1
  224. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js.map +1 -1
  225. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js +7 -5
  226. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js.map +1 -1
  227. package/dist/shared/src/components/Watchers/Watchers.cjs.js +1 -1
  228. package/dist/shared/src/components/Watchers/Watchers.cjs.js.map +1 -1
  229. package/dist/shared/src/components/Watchers/Watchers.es.js +3 -2
  230. package/dist/shared/src/components/Watchers/Watchers.es.js.map +1 -1
  231. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +1 -1
  232. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
  233. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +5 -3
  234. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
  235. package/dist/shared/src/containers/Actions/Actions.cjs.js +1 -1
  236. package/dist/shared/src/containers/Actions/Actions.cjs.js.map +1 -1
  237. package/dist/shared/src/containers/Actions/Actions.es.js +5 -2
  238. package/dist/shared/src/containers/Actions/Actions.es.js.map +1 -1
  239. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +1 -1
  240. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
  241. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +5 -3
  242. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
  243. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +1 -1
  244. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
  245. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +5 -3
  246. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
  247. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js +1 -1
  248. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
  249. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.es.js +5 -3
  250. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
  251. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.cjs.js +1 -1
  252. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
  253. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.es.js +5 -3
  254. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
  255. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.cjs.js +1 -1
  256. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
  257. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.es.js +5 -3
  258. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
  259. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js +1 -1
  260. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js.map +1 -1
  261. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js +3 -2
  262. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js.map +1 -1
  263. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js +1 -1
  264. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js.map +1 -1
  265. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js +20 -18
  266. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js.map +1 -1
  267. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.cjs.js +1 -1
  268. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.cjs.js.map +1 -1
  269. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.es.js +5 -3
  270. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.es.js.map +1 -1
  271. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.cjs.js +1 -1
  272. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.cjs.js.map +1 -1
  273. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.es.js +5 -3
  274. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.es.js.map +1 -1
  275. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.cjs.js +1 -1
  276. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.cjs.js.map +1 -1
  277. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.es.js +5 -2
  278. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.es.js.map +1 -1
  279. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js +1 -1
  280. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js.map +1 -1
  281. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js +5 -2
  282. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js.map +1 -1
  283. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js +2 -2
  284. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js.map +1 -1
  285. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js +67 -64
  286. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js.map +1 -1
  287. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js +1 -1
  288. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js.map +1 -1
  289. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js +5 -3
  290. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js.map +1 -1
  291. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js +1 -1
  292. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js.map +1 -1
  293. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js +5 -3
  294. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js.map +1 -1
  295. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js +1 -1
  296. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js.map +1 -1
  297. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js +5 -3
  298. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js.map +1 -1
  299. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js +1 -1
  300. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js.map +1 -1
  301. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js +5 -2
  302. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js.map +1 -1
  303. package/dist/shared/src/containers/Feed/Feed.cjs.js +1 -1
  304. package/dist/shared/src/containers/Feed/Feed.cjs.js.map +1 -1
  305. package/dist/shared/src/containers/Feed/Feed.es.js +5 -4
  306. package/dist/shared/src/containers/Feed/Feed.es.js.map +1 -1
  307. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.cjs.js +1 -1
  308. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.cjs.js.map +1 -1
  309. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.es.js +5 -3
  310. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.es.js.map +1 -1
  311. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js +1 -1
  312. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js.map +1 -1
  313. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js +5 -3
  314. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js.map +1 -1
  315. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js +1 -1
  316. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js.map +1 -1
  317. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js +5 -3
  318. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js.map +1 -1
  319. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js +1 -1
  320. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js.map +1 -1
  321. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js +5 -3
  322. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js.map +1 -1
  323. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.cjs.js +1 -1
  324. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.cjs.js.map +1 -1
  325. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.es.js +9 -7
  326. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.es.js.map +1 -1
  327. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js +1 -1
  328. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js.map +1 -1
  329. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js +5 -3
  330. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js.map +1 -1
  331. package/dist/shared/src/containers/Feed/components/Tooltips/TeamTooltip/TeamTooltip.cjs.js +1 -1
  332. package/dist/shared/src/containers/Feed/components/Tooltips/TeamTooltip/TeamTooltip.cjs.js.map +1 -1
  333. package/dist/shared/src/containers/Feed/components/Tooltips/TeamTooltip/TeamTooltip.es.js +3 -2
  334. package/dist/shared/src/containers/Feed/components/Tooltips/TeamTooltip/TeamTooltip.es.js.map +1 -1
  335. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js +1 -1
  336. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js.map +1 -1
  337. package/dist/shared/src/containers/Feed/context/FeedContext.es.js +6 -5
  338. package/dist/shared/src/containers/Feed/context/FeedContext.es.js.map +1 -1
  339. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js +1 -1
  340. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js.map +1 -1
  341. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js +3 -2
  342. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js.map +1 -1
  343. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +1 -1
  344. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
  345. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +565 -563
  346. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
  347. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +1 -1
  348. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js.map +1 -1
  349. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +61 -50
  350. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -1
  351. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.cjs.js +1 -1
  352. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.cjs.js.map +1 -1
  353. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.es.js +9 -7
  354. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.es.js.map +1 -1
  355. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js +2 -2
  356. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js.map +1 -1
  357. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js +104 -102
  358. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js.map +1 -1
  359. package/dist/shared/src/containers/ProjectTreeTable/components/DeleteConfirmContent.cjs.js +10 -0
  360. package/dist/shared/src/containers/ProjectTreeTable/components/DeleteConfirmContent.cjs.js.map +1 -0
  361. package/dist/shared/src/containers/ProjectTreeTable/components/DeleteConfirmContent.es.js +25 -0
  362. package/dist/shared/src/containers/ProjectTreeTable/components/DeleteConfirmContent.es.js.map +1 -0
  363. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js +1 -1
  364. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js.map +1 -1
  365. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js +5 -3
  366. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -1
  367. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js +1 -1
  368. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js.map +1 -1
  369. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js +114 -112
  370. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js.map +1 -1
  371. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js +3 -3
  372. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js.map +1 -1
  373. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js +5 -4
  374. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js.map +1 -1
  375. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js +1 -1
  376. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js.map +1 -1
  377. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js +8 -8
  378. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js.map +1 -1
  379. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js +1 -1
  380. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js.map +1 -1
  381. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js +5 -4
  382. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js.map +1 -1
  383. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js +1 -1
  384. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js.map +1 -1
  385. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js +21 -19
  386. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js.map +1 -1
  387. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js +1 -1
  388. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js.map +1 -1
  389. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js +113 -111
  390. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js.map +1 -1
  391. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js +1 -1
  392. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js.map +1 -1
  393. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js +109 -107
  394. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js.map +1 -1
  395. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js +1 -1
  396. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js.map +1 -1
  397. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js +106 -105
  398. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js.map +1 -1
  399. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js +1 -1
  400. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js.map +1 -1
  401. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js +107 -105
  402. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js.map +1 -1
  403. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js +1 -1
  404. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js.map +1 -1
  405. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js +101 -99
  406. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js.map +1 -1
  407. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.cjs.js +1 -1
  408. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.cjs.js.map +1 -1
  409. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.es.js +337 -40
  410. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.es.js.map +1 -1
  411. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js +1 -1
  412. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js.map +1 -1
  413. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js +123 -119
  414. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js.map +1 -1
  415. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js +1 -1
  416. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js.map +1 -1
  417. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js +100 -98
  418. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js.map +1 -1
  419. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js +1 -1
  420. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js.map +1 -1
  421. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js +125 -120
  422. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js.map +1 -1
  423. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js +1 -1
  424. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js.map +1 -1
  425. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js +103 -101
  426. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js.map +1 -1
  427. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js +1 -1
  428. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js.map +1 -1
  429. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js +9 -7
  430. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js.map +1 -1
  431. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js +1 -1
  432. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js.map +1 -1
  433. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js +9 -7
  434. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js.map +1 -1
  435. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js +1 -1
  436. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js.map +1 -1
  437. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js +112 -110
  438. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js.map +1 -1
  439. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.cjs.js +1 -1
  440. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.cjs.js.map +1 -1
  441. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.es.js +100 -98
  442. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.es.js.map +1 -1
  443. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +1 -1
  444. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js.map +1 -1
  445. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +110 -108
  446. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
  447. package/dist/shared/src/containers/ProjectTreeTable/utils/expandRelativeDates.cjs.js.map +1 -1
  448. package/dist/shared/src/containers/ProjectTreeTable/utils/expandRelativeDates.es.js.map +1 -1
  449. package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.cjs.js +1 -1
  450. package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.cjs.js.map +1 -1
  451. package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.es.js +89 -356
  452. package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.es.js.map +1 -1
  453. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js +1 -1
  454. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js.map +1 -1
  455. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js +41 -39
  456. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js.map +1 -1
  457. package/dist/shared/src/containers/ProjectTreeTable/widgets/DateWidget.cjs.js +1 -1
  458. package/dist/shared/src/containers/ProjectTreeTable/widgets/DateWidget.cjs.js.map +1 -1
  459. package/dist/shared/src/containers/ProjectTreeTable/widgets/DateWidget.es.js +29 -28
  460. package/dist/shared/src/containers/ProjectTreeTable/widgets/DateWidget.es.js.map +1 -1
  461. package/dist/shared/src/containers/ProjectTreeTable/widgets/DateWidgetInput.cjs.js +2 -2
  462. package/dist/shared/src/containers/ProjectTreeTable/widgets/DateWidgetInput.cjs.js.map +1 -1
  463. package/dist/shared/src/containers/ProjectTreeTable/widgets/DateWidgetInput.es.js +31 -32
  464. package/dist/shared/src/containers/ProjectTreeTable/widgets/DateWidgetInput.es.js.map +1 -1
  465. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js +1 -1
  466. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js.map +1 -1
  467. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js +7 -5
  468. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js.map +1 -1
  469. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js +1 -1
  470. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js.map +1 -1
  471. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js +98 -96
  472. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js.map +1 -1
  473. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.cjs.js +1 -1
  474. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.cjs.js.map +1 -1
  475. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.es.js +5 -3
  476. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.es.js.map +1 -1
  477. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.cjs.js +1 -1
  478. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.cjs.js.map +1 -1
  479. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.es.js +3 -2
  480. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.es.js.map +1 -1
  481. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +1 -1
  482. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
  483. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +5 -3
  484. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js.map +1 -1
  485. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js +1 -1
  486. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js.map +1 -1
  487. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js +5 -3
  488. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js.map +1 -1
  489. package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js +1 -1
  490. package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js.map +1 -1
  491. package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js +5 -3
  492. package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js.map +1 -1
  493. package/dist/shared/src/containers/Slicer/context/SlicerContext.cjs.js +1 -1
  494. package/dist/shared/src/containers/Slicer/context/SlicerContext.cjs.js.map +1 -1
  495. package/dist/shared/src/containers/Slicer/context/SlicerContext.es.js +53 -49
  496. package/dist/shared/src/containers/Slicer/context/SlicerContext.es.js.map +1 -1
  497. package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.cjs.js +1 -1
  498. package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.cjs.js.map +1 -1
  499. package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.es.js +3 -2
  500. package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.es.js.map +1 -1
  501. package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.cjs.js +1 -1
  502. package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.cjs.js.map +1 -1
  503. package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.es.js +9 -7
  504. package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.es.js.map +1 -1
  505. package/dist/shared/src/containers/Slicer/hooks/useSlicerViewSync.cjs.js +1 -1
  506. package/dist/shared/src/containers/Slicer/hooks/useSlicerViewSync.cjs.js.map +1 -1
  507. package/dist/shared/src/containers/Slicer/hooks/useSlicerViewSync.es.js +21 -149
  508. package/dist/shared/src/containers/Slicer/hooks/useSlicerViewSync.es.js.map +1 -1
  509. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.cjs.js +1 -1
  510. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.cjs.js.map +1 -1
  511. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.es.js +54 -53
  512. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.es.js.map +1 -1
  513. package/dist/shared/src/containers/Slicer/hooks/useUsersTable.cjs.js +1 -1
  514. package/dist/shared/src/containers/Slicer/hooks/useUsersTable.cjs.js.map +1 -1
  515. package/dist/shared/src/containers/Slicer/hooks/useUsersTable.es.js +3 -2
  516. package/dist/shared/src/containers/Slicer/hooks/useUsersTable.es.js.map +1 -1
  517. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js +1 -1
  518. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js.map +1 -1
  519. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js +5 -2
  520. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js.map +1 -1
  521. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js +1 -1
  522. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js.map +1 -1
  523. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js +10 -8
  524. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js.map +1 -1
  525. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js +1 -1
  526. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js.map +1 -1
  527. package/dist/shared/src/containers/Views/context/ViewsContext.es.js +23 -20
  528. package/dist/shared/src/containers/Views/context/ViewsContext.es.js.map +1 -1
  529. package/dist/shared/src/containers/Views/hooks/useBaseViewMutations.cjs.js +1 -1
  530. package/dist/shared/src/containers/Views/hooks/useBaseViewMutations.cjs.js.map +1 -1
  531. package/dist/shared/src/containers/Views/hooks/useBaseViewMutations.es.js +3 -2
  532. package/dist/shared/src/containers/Views/hooks/useBaseViewMutations.es.js.map +1 -1
  533. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js +1 -1
  534. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js.map +1 -1
  535. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js +8 -5
  536. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js.map +1 -1
  537. package/dist/shared/src/containers/Views/hooks/useSelectedView.cjs.js +1 -1
  538. package/dist/shared/src/containers/Views/hooks/useSelectedView.cjs.js.map +1 -1
  539. package/dist/shared/src/containers/Views/hooks/useSelectedView.es.js +3 -2
  540. package/dist/shared/src/containers/Views/hooks/useSelectedView.es.js.map +1 -1
  541. package/dist/shared/src/containers/Views/hooks/useViewsMutations.cjs.js +1 -1
  542. package/dist/shared/src/containers/Views/hooks/useViewsMutations.cjs.js.map +1 -1
  543. package/dist/shared/src/containers/Views/hooks/useViewsMutations.es.js +3 -2
  544. package/dist/shared/src/containers/Views/hooks/useViewsMutations.es.js.map +1 -1
  545. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js +1 -1
  546. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js.map +1 -1
  547. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js +32 -26
  548. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js.map +1 -1
  549. package/dist/shared/src/context/AddonProjectContext.cjs.js +1 -1
  550. package/dist/shared/src/context/AddonProjectContext.cjs.js.map +1 -1
  551. package/dist/shared/src/context/AddonProjectContext.es.js +5 -4
  552. package/dist/shared/src/context/AddonProjectContext.es.js.map +1 -1
  553. package/dist/shared/src/context/DetailsPanelContext.cjs.js +1 -1
  554. package/dist/shared/src/context/DetailsPanelContext.cjs.js.map +1 -1
  555. package/dist/shared/src/context/DetailsPanelContext.es.js +7 -4
  556. package/dist/shared/src/context/DetailsPanelContext.es.js.map +1 -1
  557. package/dist/shared/src/context/GlobalContext.cjs.js +1 -1
  558. package/dist/shared/src/context/GlobalContext.cjs.js.map +1 -1
  559. package/dist/shared/src/context/GlobalContext.es.js +5 -4
  560. package/dist/shared/src/context/GlobalContext.es.js.map +1 -1
  561. package/dist/shared/src/context/PowerpackContext.cjs.js +1 -1
  562. package/dist/shared/src/context/PowerpackContext.cjs.js.map +1 -1
  563. package/dist/shared/src/context/PowerpackContext.es.js +9 -6
  564. package/dist/shared/src/context/PowerpackContext.es.js.map +1 -1
  565. package/dist/shared/src/context/ProjectContext.cjs.js +1 -1
  566. package/dist/shared/src/context/ProjectContext.cjs.js.map +1 -1
  567. package/dist/shared/src/context/ProjectContext.es.js +5 -4
  568. package/dist/shared/src/context/ProjectContext.es.js.map +1 -1
  569. package/dist/shared/src/context/ProjectFoldersContext.cjs.js +1 -1
  570. package/dist/shared/src/context/ProjectFoldersContext.cjs.js.map +1 -1
  571. package/dist/shared/src/context/ProjectFoldersContext.es.js +7 -4
  572. package/dist/shared/src/context/ProjectFoldersContext.es.js.map +1 -1
  573. package/dist/shared/src/context/RemoteModulesContext.cjs.js +1 -1
  574. package/dist/shared/src/context/RemoteModulesContext.cjs.js.map +1 -1
  575. package/dist/shared/src/context/RemoteModulesContext.es.js +5 -4
  576. package/dist/shared/src/context/RemoteModulesContext.es.js.map +1 -1
  577. package/dist/shared/src/context/SubtasksModulesContext.cjs.js +1 -1
  578. package/dist/shared/src/context/SubtasksModulesContext.cjs.js.map +1 -1
  579. package/dist/shared/src/context/SubtasksModulesContext.es.js +7 -4
  580. package/dist/shared/src/context/SubtasksModulesContext.es.js.map +1 -1
  581. package/dist/shared/src/context/UriContext.cjs.js +1 -1
  582. package/dist/shared/src/context/UriContext.cjs.js.map +1 -1
  583. package/dist/shared/src/context/UriContext.es.js +6 -5
  584. package/dist/shared/src/context/UriContext.es.js.map +1 -1
  585. package/dist/shared/src/context/WebsocketContext.cjs.js +1 -1
  586. package/dist/shared/src/context/WebsocketContext.cjs.js.map +1 -1
  587. package/dist/shared/src/context/WebsocketContext.es.js +7 -5
  588. package/dist/shared/src/context/WebsocketContext.es.js.map +1 -1
  589. package/dist/shared/src/hooks/useActionTriggers.cjs.js +1 -1
  590. package/dist/shared/src/hooks/useActionTriggers.cjs.js.map +1 -1
  591. package/dist/shared/src/hooks/useActionTriggers.es.js +3 -2
  592. package/dist/shared/src/hooks/useActionTriggers.es.js.map +1 -1
  593. package/dist/shared/src/hooks/useEntityUpdate.cjs.js +1 -1
  594. package/dist/shared/src/hooks/useEntityUpdate.cjs.js.map +1 -1
  595. package/dist/shared/src/hooks/useEntityUpdate.es.js +3 -2
  596. package/dist/shared/src/hooks/useEntityUpdate.es.js.map +1 -1
  597. package/dist/shared/src/hooks/useGetEntityGroups.cjs.js +1 -1
  598. package/dist/shared/src/hooks/useGetEntityGroups.cjs.js.map +1 -1
  599. package/dist/shared/src/hooks/useGetEntityGroups.es.js +3 -2
  600. package/dist/shared/src/hooks/useGetEntityGroups.es.js.map +1 -1
  601. package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js +1 -1
  602. package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js.map +1 -1
  603. package/dist/shared/src/hooks/useGroupByRemoteModules.es.js +5 -2
  604. package/dist/shared/src/hooks/useGroupByRemoteModules.es.js.map +1 -1
  605. package/dist/shared/src/hooks/useReviewablesKeyboardNavigation.cjs.js +2 -0
  606. package/dist/shared/src/hooks/useReviewablesKeyboardNavigation.cjs.js.map +1 -0
  607. package/dist/shared/src/hooks/useReviewablesKeyboardNavigation.es.js +31 -0
  608. package/dist/shared/src/hooks/useReviewablesKeyboardNavigation.es.js.map +1 -0
  609. package/dist/shared/src/hooks/useScopedStatuses.cjs.js +1 -1
  610. package/dist/shared/src/hooks/useScopedStatuses.cjs.js.map +1 -1
  611. package/dist/shared/src/hooks/useScopedStatuses.es.js +5 -4
  612. package/dist/shared/src/hooks/useScopedStatuses.es.js.map +1 -1
  613. package/dist/shared/src/hooks/useScopedTypes.cjs.js +1 -1
  614. package/dist/shared/src/hooks/useScopedTypes.cjs.js.map +1 -1
  615. package/dist/shared/src/hooks/useScopedTypes.es.js +3 -2
  616. package/dist/shared/src/hooks/useScopedTypes.es.js.map +1 -1
  617. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js +1 -1
  618. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js.map +1 -1
  619. package/dist/shared/src/hooks/useUserProjectConfig.es.js +3 -2
  620. package/dist/shared/src/hooks/useUserProjectConfig.es.js.map +1 -1
  621. package/dist/shared/src/util/buildHierarchicalTableRows.cjs.js +1 -1
  622. package/dist/shared/src/util/buildHierarchicalTableRows.cjs.js.map +1 -1
  623. package/dist/shared/src/util/buildHierarchicalTableRows.es.js +43 -44
  624. package/dist/shared/src/util/buildHierarchicalTableRows.es.js.map +1 -1
  625. package/dist/shared/src/util/confirmDelete.cjs.js.map +1 -1
  626. package/dist/shared/src/util/confirmDelete.es.js.map +1 -1
  627. package/dist/shared/src/util/formatUTCDate.cjs.js +2 -0
  628. package/dist/shared/src/util/formatUTCDate.cjs.js.map +1 -0
  629. package/dist/shared/src/util/formatUTCDate.es.js +9 -0
  630. package/dist/shared/src/util/formatUTCDate.es.js.map +1 -0
  631. package/dist/shared/src/util/getProjectDisplayName.cjs.js +2 -0
  632. package/dist/shared/src/util/getProjectDisplayName.cjs.js.map +1 -0
  633. package/dist/shared/src/util/getProjectDisplayName.es.js +5 -0
  634. package/dist/shared/src/util/getProjectDisplayName.es.js.map +1 -0
  635. package/dist/types/api/generated/graphql.d.ts +38 -0
  636. package/dist/types/api/generated/graphqlLinks.d.ts +10 -4
  637. package/dist/types/api/generated/projectFolders.d.ts +1 -0
  638. package/dist/types/api/queries/activities/getActivities.d.ts +7 -0
  639. package/dist/types/api/queries/activities/updateActivities.d.ts +14 -0
  640. package/dist/types/api/queries/entities/getEntity.d.ts +7 -0
  641. package/dist/types/api/queries/entities/getEntityPanel.d.ts +7 -0
  642. package/dist/types/api/queries/entities/updateEntity.d.ts +7 -0
  643. package/dist/types/api/queries/entityLists/getLists.d.ts +7 -0
  644. package/dist/types/api/queries/folders/getFolderDeleteInfo.d.ts +566 -0
  645. package/dist/types/api/queries/folders/index.d.ts +1 -0
  646. package/dist/types/api/queries/links/getLinks.d.ts +1 -0
  647. package/dist/types/api/queries/overview/getOverview.d.ts +7 -0
  648. package/dist/types/api/queries/userDashboard/getUserDashboard.d.ts +7 -0
  649. package/dist/types/api/queries/users/getUsers.d.ts +7 -0
  650. package/dist/types/api/queries/versions/getVersionsProducts.d.ts +14 -0
  651. package/dist/types/components/ProjectTableSettings/ProjectTableSettings.d.ts +1 -0
  652. package/dist/types/components/ReviewablesSelector/ReviewablesSelector.d.ts +7 -2
  653. package/dist/types/components/ReviewablesSelector/index.d.ts +1 -0
  654. package/dist/types/components/SearchFilter/useBuildFilterOptions.d.ts +2 -1
  655. package/dist/types/containers/EntityPickerDialog/EntityPickerDialog.d.ts +1 -0
  656. package/dist/types/containers/ProjectTreeTable/ProjectTreeTable.d.ts +2 -1
  657. package/dist/types/containers/ProjectTreeTable/components/DeleteConfirmContent.d.ts +6 -0
  658. package/dist/types/containers/ProjectTreeTable/utils/expandRelativeDates.d.ts +1 -1
  659. package/dist/types/containers/Slicer/context/SlicerContext.d.ts +1 -0
  660. package/dist/types/containers/Slicer/hooks/useSlicerViewSync.d.ts +3 -7
  661. package/dist/types/containers/Views/utils/viewUpdateHelper.d.ts +2 -0
  662. package/dist/types/hooks/index.d.ts +1 -0
  663. package/dist/types/hooks/useReviewablesKeyboardNavigation.d.ts +13 -0
  664. package/dist/types/util/buildHierarchicalTableRows.d.ts +2 -0
  665. package/dist/types/util/confirmDelete.d.ts +1 -1
  666. package/dist/types/util/formatUTCDate.d.ts +1 -0
  667. package/dist/types/util/getProjectDisplayName.d.ts +6 -0
  668. package/dist/types/util/index.d.ts +1 -0
  669. package/dist/util.cjs.js +1 -1
  670. package/dist/util.es.js +23 -21
  671. package/dist/util.es.js.map +1 -1
  672. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"DateRangePicker.cjs.js","sources":["../../../../../src/components/DateRangePicker/DateRangePicker.tsx"],"sourcesContent":["import {\n FC,\n useState,\n useRef,\n useEffect,\n ReactNode,\n useCallback,\n HTMLAttributes,\n ButtonHTMLAttributes,\n LabelHTMLAttributes,\n InputHTMLAttributes,\n} from 'react'\nimport { createPortal } from 'react-dom'\nimport { format, isValid, parseISO } from 'date-fns'\nimport * as Styled from './DateRangePicker.styled'\nimport clsx from 'clsx'\nimport { BLOCK_DIALOG_CLOSE_CLASS } from '../LinksManager/CellEditingDialog'\nimport { ButtonProps } from '@ynput/ayon-react-components'\n\nexport interface DateRangePickerPassthrough {\n root?: Partial<HTMLAttributes<HTMLDivElement>>\n trigger?: Partial<ButtonHTMLAttributes<HTMLButtonElement>>\n dropdown?: Partial<HTMLAttributes<HTMLDivElement>>\n content?: Partial<HTMLAttributes<HTMLDivElement>>\n startDate?: Partial<{\n field?: Partial<HTMLAttributes<HTMLDivElement>>\n label?: Partial<LabelHTMLAttributes<HTMLLabelElement>>\n input?: Partial<InputHTMLAttributes<HTMLInputElement>>\n }>\n endDate?: Partial<{\n field?: Partial<HTMLAttributes<HTMLDivElement>>\n label?: Partial<LabelHTMLAttributes<HTMLLabelElement>>\n input?: Partial<InputHTMLAttributes<HTMLInputElement>>\n }>\n clearButton?: Partial<ButtonProps>\n closeButton?: Partial<ButtonProps>\n valueDisplay?: Partial<HTMLAttributes<HTMLSpanElement>>\n}\n\nexport interface DateRange {\n startDate: string | null\n endDate: string | null\n}\n\nexport interface DateRangePickerProps {\n /** Current date range value */\n value: DateRange\n /** Callback when date range changes */\n onChange: (range: DateRange) => void\n /** Custom trigger button when no dates are set */\n emptyTrigger?: ReactNode\n /** Custom trigger button when dates are set */\n valueTrigger?: (range: DateRange, formattedRange: string) => ReactNode\n /** Alignment of the dropdown relative to trigger */\n align?: 'left' | 'right'\n /** Whether the picker is disabled */\n disabled?: boolean\n /** Additional class name for the container */\n className?: string\n /** Format for displaying dates (default: 'MMM d') */\n displayFormat?: string\n /** Minimum selectable date */\n minDate?: Date\n /** Maximum selectable date */\n maxDate?: Date\n /** Passthrough props for internal components */\n pt?: DateRangePickerPassthrough\n}\n\nconst formatDateForInput = (dateStr: string | null): string => {\n if (!dateStr) return ''\n try {\n const date = parseISO(dateStr)\n if (isValid(date)) {\n return format(date, 'yyyy-MM-dd')\n }\n } catch {\n return ''\n }\n return ''\n}\n\nconst formatDateForDisplay = (dateStr: string | null, formatStr: string): string | null => {\n if (!dateStr) return null\n try {\n const date = parseISO(dateStr)\n if (isValid(date)) {\n return format(date, formatStr)\n }\n } catch {\n return null\n }\n return null\n}\n\nconst parseDateInput = (value: string): string | null => {\n if (!value) return null\n try {\n const date = new Date(value)\n if (isValid(date)) {\n date.setUTCHours(0, 0, 0, 0)\n return date.toISOString()\n }\n } catch {\n return null\n }\n return null\n}\n\nexport const DateRangePicker: FC<DateRangePickerProps> = ({\n value,\n onChange,\n emptyTrigger,\n valueTrigger,\n align = 'left',\n disabled = false,\n className,\n displayFormat = 'MMM d',\n minDate,\n maxDate,\n pt,\n}) => {\n const [isOpen, setIsOpen] = useState(false)\n const [localStartDate, setLocalStartDate] = useState('')\n const [localEndDate, setLocalEndDate] = useState('')\n const triggerRef = useRef<HTMLButtonElement>(null)\n const dropdownRef = useRef<HTMLDivElement>(null)\n const startDateInputRef = useRef<HTMLInputElement>(null)\n const endDateInputRef = useRef<HTMLInputElement>(null)\n\n const hasValue = value.startDate || value.endDate\n\n const handleSaveAndClose = useCallback(() => {\n const start = parseDateInput(localStartDate)\n const end = parseDateInput(localEndDate)\n if (start !== value.startDate || end !== value.endDate) {\n onChange({ startDate: start, endDate: end })\n }\n setIsOpen(false)\n }, [localStartDate, localEndDate, value.startDate, value.endDate, onChange])\n\n useEffect(() => {\n if (isOpen) {\n setLocalStartDate(formatDateForInput(value.startDate))\n setLocalEndDate(formatDateForInput(value.endDate))\n\n // Automatically open start date picker if no dates are set\n if (!value.startDate && !value.endDate) {\n setTimeout(() => {\n try {\n startDateInputRef.current?.showPicker()\n } catch (err) {\n // fallback\n }\n }, 100)\n }\n }\n }, [isOpen, value.startDate, value.endDate])\n\n // Handle click outside to close\n useEffect(() => {\n if (!isOpen) return\n\n const handleClickOutside = (e: MouseEvent) => {\n const target = e.target as Node\n if (\n triggerRef.current &&\n !triggerRef.current.contains(target) &&\n dropdownRef.current &&\n !dropdownRef.current.contains(target)\n ) {\n handleSaveAndClose()\n }\n }\n\n document.addEventListener('mousedown', handleClickOutside)\n return () => document.removeEventListener('mousedown', handleClickOutside)\n }, [isOpen, handleSaveAndClose])\n\n // Handle escape key\n useEffect(() => {\n if (!isOpen) return\n\n const handleKeyDown = (e: KeyboardEvent) => {\n if (e.key === 'Escape') {\n e.stopPropagation()\n handleSaveAndClose()\n }\n }\n\n document.addEventListener('keydown', handleKeyDown)\n return () => document.removeEventListener('keydown', handleKeyDown)\n }, [isOpen, handleSaveAndClose])\n\n const handleStartDateChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n const newValue = e.target.value\n setLocalStartDate(newValue)\n\n const newStartDate = parseDateInput(newValue)\n const currentEndDate = parseDateInput(localEndDate)\n\n // Validate: startDate cannot be after endDate\n if (newStartDate && currentEndDate) {\n const start = new Date(newStartDate)\n const end = new Date(currentEndDate)\n if (start > end) {\n // If start is after end, set end to same as start\n setLocalEndDate(newValue)\n }\n }\n\n // Automatically open end date picker after start date is selected\n if (newStartDate) {\n setTimeout(() => {\n try {\n endDateInputRef.current?.showPicker()\n } catch (err) {\n // fallback\n }\n }, 100)\n }\n }\n\n const handleEndDateChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n const newValue = e.target.value\n setLocalEndDate(newValue)\n\n const newEndDate = parseDateInput(newValue)\n const currentStartDate = parseDateInput(localStartDate)\n\n let finalStart = currentStartDate\n let finalEnd = newEndDate\n\n // Validate: endDate cannot be before startDate\n if (newEndDate && currentStartDate) {\n const start = new Date(currentStartDate)\n const end = new Date(newEndDate)\n if (end < start) {\n // If end is before start, set start to same as end\n setLocalStartDate(newValue)\n finalStart = newEndDate\n }\n }\n\n onChange({ startDate: finalStart, endDate: finalEnd })\n }\n\n const handleClear = () => {\n setLocalStartDate('')\n setLocalEndDate('')\n onChange({ startDate: null, endDate: null })\n setIsOpen(false)\n }\n\n const handleToggle = (e: React.MouseEvent) => {\n e.stopPropagation()\n if (!disabled) {\n if (isOpen) {\n handleSaveAndClose()\n } else {\n setIsOpen(true)\n }\n }\n }\n\n // Format the display string\n const displayStart = isOpen ? parseDateInput(localStartDate) : value.startDate\n const displayEnd = isOpen ? parseDateInput(localEndDate) : value.endDate\n\n const startDisplay = formatDateForDisplay(displayStart, displayFormat)\n const endDisplay = formatDateForDisplay(displayEnd, displayFormat)\n const formattedRange =\n startDisplay && endDisplay\n ? `${startDisplay} - ${endDisplay}`\n : startDisplay || endDisplay || ''\n\n // Get position for dropdown\n const getDropdownPosition = () => {\n if (!triggerRef.current) return { top: 0, left: 0 }\n const rect = triggerRef.current.getBoundingClientRect()\n return {\n top: rect.bottom + 4,\n left: align === 'left' ? rect.left : rect.right,\n }\n }\n\n const renderTrigger = () => {\n if (hasValue) {\n if (valueTrigger) {\n return valueTrigger(value, formattedRange)\n }\n return (\n <span className={clsx('date-value', pt?.valueDisplay?.className)} {...pt?.valueDisplay}>\n {formattedRange}\n </span>\n )\n }\n\n if (emptyTrigger) {\n return emptyTrigger\n }\n\n return <Styled.DefaultEmptyTrigger icon={'calendar_add_on'} />\n }\n\n const position = getDropdownPosition()\n\n return (\n <Styled.Container\n {...pt?.root}\n className={clsx(BLOCK_DIALOG_CLOSE_CLASS, className, pt?.root?.className)}\n >\n <Styled.Trigger\n ref={triggerRef}\n onClick={handleToggle}\n disabled={disabled}\n type=\"button\"\n {...pt?.trigger}\n className={clsx(hasValue ? 'has-value' : 'empty', pt?.trigger?.className)}\n >\n {renderTrigger()}\n </Styled.Trigger>\n\n {isOpen &&\n createPortal(\n <Styled.Dropdown\n ref={dropdownRef}\n style={{\n top: position.top,\n left: align === 'left' ? position.left : 'auto',\n right: align === 'right' ? window.innerWidth - position.left : 'auto',\n ...pt?.dropdown?.style,\n }}\n onMouseDown={(e) => e.stopPropagation()}\n {...pt?.dropdown}\n className={clsx(BLOCK_DIALOG_CLOSE_CLASS, align, pt?.dropdown?.className)}\n >\n <Styled.DropdownContent className={pt?.content?.className} {...pt?.content}>\n <Styled.CloseButton\n icon=\"close\"\n variant=\"text\"\n onClick={handleSaveAndClose}\n {...pt?.closeButton}\n />\n <Styled.DateField\n className={pt?.startDate?.field?.className}\n {...pt?.startDate?.field}\n >\n <label {...pt?.startDate?.label}>Start date</label>\n <Styled.DateInput\n ref={startDateInputRef}\n type=\"date\"\n value={localStartDate}\n onChange={handleStartDateChange}\n max={maxDate ? format(maxDate, 'yyyy-MM-dd') : undefined}\n min={minDate ? format(minDate, 'yyyy-MM-dd') : undefined}\n onClick={(e: any) => {\n try {\n e.currentTarget.showPicker()\n } catch (err) {\n // fallback for older browsers\n }\n }}\n {...pt?.startDate?.input}\n />\n </Styled.DateField>\n\n <Styled.DateField className={pt?.endDate?.field?.className} {...pt?.endDate?.field}>\n <label {...pt?.endDate?.label}>End date</label>\n <Styled.DateInput\n ref={endDateInputRef}\n type=\"date\"\n value={localEndDate}\n onChange={handleEndDateChange}\n max={maxDate ? format(maxDate, 'yyyy-MM-dd') : undefined}\n min={localStartDate || (minDate ? format(minDate, 'yyyy-MM-dd') : undefined)}\n onClick={(e: any) => {\n try {\n e.currentTarget.showPicker()\n } catch (err) {\n // fallback for older browsers\n }\n }}\n {...pt?.endDate?.input}\n />\n </Styled.DateField>\n\n {hasValue && (\n <Styled.ClearButton onClick={handleClear} variant=\"text\" {...pt?.clearButton}>\n Clear dates\n </Styled.ClearButton>\n )}\n </Styled.DropdownContent>\n </Styled.Dropdown>,\n document.body,\n )}\n </Styled.Container>\n )\n}\n"],"names":["formatDateForInput","dateStr","date","parseISO","isValid","format","formatDateForDisplay","formatStr","parseDateInput","value","DateRangePicker","onChange","emptyTrigger","valueTrigger","align","disabled","className","displayFormat","minDate","maxDate","pt","isOpen","setIsOpen","useState","localStartDate","setLocalStartDate","localEndDate","setLocalEndDate","triggerRef","useRef","dropdownRef","startDateInputRef","endDateInputRef","hasValue","handleSaveAndClose","useCallback","start","end","useEffect","handleClickOutside","e","target","handleKeyDown","handleStartDateChange","newValue","newStartDate","currentEndDate","handleEndDateChange","newEndDate","currentStartDate","finalStart","finalEnd","handleClear","handleToggle","displayStart","displayEnd","startDisplay","endDisplay","formattedRange","getDropdownPosition","rect","renderTrigger","jsx","clsx","Styled.DefaultEmptyTrigger","position","jsxs","Styled.Container","BLOCK_DIALOG_CLOSE_CLASS","Styled.Trigger","createPortal","Styled.Dropdown","Styled.DropdownContent","Styled.CloseButton","Styled.DateField","Styled.DateInput","Styled.ClearButton"],"mappings":"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"}
1
+ {"version":3,"file":"DateRangePicker.cjs.js","sources":["../../../../../src/components/DateRangePicker/DateRangePicker.tsx"],"sourcesContent":["import {\n FC,\n useState,\n useRef,\n useEffect,\n ReactNode,\n useCallback,\n HTMLAttributes,\n ButtonHTMLAttributes,\n LabelHTMLAttributes,\n InputHTMLAttributes,\n} from 'react'\nimport { createPortal } from 'react-dom'\nimport { format, isValid, parseISO } from 'date-fns'\nimport { formatUTCDate } from '../../util/formatUTCDate'\nimport * as Styled from './DateRangePicker.styled'\nimport clsx from 'clsx'\nimport { BLOCK_DIALOG_CLOSE_CLASS } from '../LinksManager/CellEditingDialog'\nimport { ButtonProps } from '@ynput/ayon-react-components'\n\nexport interface DateRangePickerPassthrough {\n root?: Partial<HTMLAttributes<HTMLDivElement>>\n trigger?: Partial<ButtonHTMLAttributes<HTMLButtonElement>>\n dropdown?: Partial<HTMLAttributes<HTMLDivElement>>\n content?: Partial<HTMLAttributes<HTMLDivElement>>\n startDate?: Partial<{\n field?: Partial<HTMLAttributes<HTMLDivElement>>\n label?: Partial<LabelHTMLAttributes<HTMLLabelElement>>\n input?: Partial<InputHTMLAttributes<HTMLInputElement>>\n }>\n endDate?: Partial<{\n field?: Partial<HTMLAttributes<HTMLDivElement>>\n label?: Partial<LabelHTMLAttributes<HTMLLabelElement>>\n input?: Partial<InputHTMLAttributes<HTMLInputElement>>\n }>\n clearButton?: Partial<ButtonProps>\n closeButton?: Partial<ButtonProps>\n valueDisplay?: Partial<HTMLAttributes<HTMLSpanElement>>\n}\n\nexport interface DateRange {\n startDate: string | null\n endDate: string | null\n}\n\nexport interface DateRangePickerProps {\n /** Current date range value */\n value: DateRange\n /** Callback when date range changes */\n onChange: (range: DateRange) => void\n /** Custom trigger button when no dates are set */\n emptyTrigger?: ReactNode\n /** Custom trigger button when dates are set */\n valueTrigger?: (range: DateRange, formattedRange: string) => ReactNode\n /** Alignment of the dropdown relative to trigger */\n align?: 'left' | 'right'\n /** Whether the picker is disabled */\n disabled?: boolean\n /** Additional class name for the container */\n className?: string\n /** Format for displaying dates (default: 'MMM d') */\n displayFormat?: string\n /** Minimum selectable date */\n minDate?: Date\n /** Maximum selectable date */\n maxDate?: Date\n /** Passthrough props for internal components */\n pt?: DateRangePickerPassthrough\n}\n\nconst formatDateForInput = (dateStr: string | null): string => {\n if (!dateStr) return ''\n try {\n const date = parseISO(dateStr)\n if (isValid(date)) {\n return formatUTCDate(date, 'yyyy-MM-dd')\n }\n } catch {\n return ''\n }\n return ''\n}\n\nconst formatDateForDisplay = (dateStr: string | null, formatStr: string): string | null => {\n if (!dateStr) return null\n try {\n const date = parseISO(dateStr)\n if (isValid(date)) {\n return formatUTCDate(date, formatStr)\n }\n } catch {\n return null\n }\n return null\n}\n\nconst parseDateInput = (value: string): string | null => {\n if (!value) return null\n try {\n const [y, m, d] = value.split('-').map(Number)\n if (y && m && d) {\n return new Date(Date.UTC(y, m - 1, d)).toISOString()\n }\n } catch {\n return null\n }\n return null\n}\n\nexport const DateRangePicker: FC<DateRangePickerProps> = ({\n value,\n onChange,\n emptyTrigger,\n valueTrigger,\n align = 'left',\n disabled = false,\n className,\n displayFormat = 'MMM d',\n minDate,\n maxDate,\n pt,\n}) => {\n const [isOpen, setIsOpen] = useState(false)\n const [localStartDate, setLocalStartDate] = useState('')\n const [localEndDate, setLocalEndDate] = useState('')\n const triggerRef = useRef<HTMLButtonElement>(null)\n const dropdownRef = useRef<HTMLDivElement>(null)\n const startDateInputRef = useRef<HTMLInputElement>(null)\n const endDateInputRef = useRef<HTMLInputElement>(null)\n\n const hasValue = value.startDate || value.endDate\n\n const handleSaveAndClose = useCallback(() => {\n const start = parseDateInput(localStartDate)\n const end = parseDateInput(localEndDate)\n if (start !== value.startDate || end !== value.endDate) {\n onChange({ startDate: start, endDate: end })\n }\n setIsOpen(false)\n }, [localStartDate, localEndDate, value.startDate, value.endDate, onChange])\n\n useEffect(() => {\n if (isOpen) {\n setLocalStartDate(formatDateForInput(value.startDate))\n setLocalEndDate(formatDateForInput(value.endDate))\n\n // Automatically open start date picker if no dates are set\n if (!value.startDate && !value.endDate) {\n setTimeout(() => {\n try {\n startDateInputRef.current?.showPicker()\n } catch (err) {\n // fallback\n }\n }, 100)\n }\n }\n }, [isOpen, value.startDate, value.endDate])\n\n // Handle click outside to close\n useEffect(() => {\n if (!isOpen) return\n\n const handleClickOutside = (e: MouseEvent) => {\n const target = e.target as Node\n if (\n triggerRef.current &&\n !triggerRef.current.contains(target) &&\n dropdownRef.current &&\n !dropdownRef.current.contains(target)\n ) {\n handleSaveAndClose()\n }\n }\n\n document.addEventListener('mousedown', handleClickOutside)\n return () => document.removeEventListener('mousedown', handleClickOutside)\n }, [isOpen, handleSaveAndClose])\n\n // Handle escape key\n useEffect(() => {\n if (!isOpen) return\n\n const handleKeyDown = (e: KeyboardEvent) => {\n if (e.key === 'Escape') {\n e.stopPropagation()\n handleSaveAndClose()\n }\n }\n\n document.addEventListener('keydown', handleKeyDown)\n return () => document.removeEventListener('keydown', handleKeyDown)\n }, [isOpen, handleSaveAndClose])\n\n const handleStartDateChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n const newValue = e.target.value\n setLocalStartDate(newValue)\n\n const newStartDate = parseDateInput(newValue)\n const currentEndDate = parseDateInput(localEndDate)\n\n // Validate: startDate cannot be after endDate\n if (newStartDate && currentEndDate) {\n const start = new Date(newStartDate)\n const end = new Date(currentEndDate)\n if (start > end) {\n // If start is after end, set end to same as start\n setLocalEndDate(newValue)\n }\n }\n\n // Automatically open end date picker after start date is selected\n if (newStartDate) {\n setTimeout(() => {\n try {\n endDateInputRef.current?.showPicker()\n } catch (err) {\n // fallback\n }\n }, 100)\n }\n }\n\n const handleEndDateChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n const newValue = e.target.value\n setLocalEndDate(newValue)\n\n const newEndDate = parseDateInput(newValue)\n const currentStartDate = parseDateInput(localStartDate)\n\n let finalStart = currentStartDate\n let finalEnd = newEndDate\n\n // Validate: endDate cannot be before startDate\n if (newEndDate && currentStartDate) {\n const start = new Date(currentStartDate)\n const end = new Date(newEndDate)\n if (end < start) {\n // If end is before start, set start to same as end\n setLocalStartDate(newValue)\n finalStart = newEndDate\n }\n }\n\n onChange({ startDate: finalStart, endDate: finalEnd })\n }\n\n const handleClear = () => {\n setLocalStartDate('')\n setLocalEndDate('')\n onChange({ startDate: null, endDate: null })\n setIsOpen(false)\n }\n\n const handleToggle = (e: React.MouseEvent) => {\n e.stopPropagation()\n if (!disabled) {\n if (isOpen) {\n handleSaveAndClose()\n } else {\n setIsOpen(true)\n }\n }\n }\n\n // Format the display string\n const displayStart = isOpen ? parseDateInput(localStartDate) : value.startDate\n const displayEnd = isOpen ? parseDateInput(localEndDate) : value.endDate\n\n const startDisplay = formatDateForDisplay(displayStart, displayFormat)\n const endDisplay = formatDateForDisplay(displayEnd, displayFormat)\n const formattedRange =\n startDisplay && endDisplay\n ? `${startDisplay} - ${endDisplay}`\n : startDisplay || endDisplay || ''\n\n // Get position for dropdown\n const getDropdownPosition = () => {\n if (!triggerRef.current) return { top: 0, left: 0 }\n const rect = triggerRef.current.getBoundingClientRect()\n return {\n top: rect.bottom + 4,\n left: align === 'left' ? rect.left : rect.right,\n }\n }\n\n const renderTrigger = () => {\n if (hasValue) {\n if (valueTrigger) {\n return valueTrigger(value, formattedRange)\n }\n return (\n <span className={clsx('date-value', pt?.valueDisplay?.className)} {...pt?.valueDisplay}>\n {formattedRange}\n </span>\n )\n }\n\n if (emptyTrigger) {\n return emptyTrigger\n }\n\n return <Styled.DefaultEmptyTrigger icon={'calendar_add_on'} />\n }\n\n const position = getDropdownPosition()\n\n return (\n <Styled.Container\n {...pt?.root}\n className={clsx(BLOCK_DIALOG_CLOSE_CLASS, className, pt?.root?.className)}\n >\n <Styled.Trigger\n ref={triggerRef}\n onClick={handleToggle}\n disabled={disabled}\n type=\"button\"\n {...pt?.trigger}\n className={clsx(hasValue ? 'has-value' : 'empty', pt?.trigger?.className)}\n >\n {renderTrigger()}\n </Styled.Trigger>\n\n {isOpen &&\n createPortal(\n <Styled.Dropdown\n ref={dropdownRef}\n style={{\n top: position.top,\n left: align === 'left' ? position.left : 'auto',\n right: align === 'right' ? window.innerWidth - position.left : 'auto',\n ...pt?.dropdown?.style,\n }}\n onMouseDown={(e) => e.stopPropagation()}\n {...pt?.dropdown}\n className={clsx(BLOCK_DIALOG_CLOSE_CLASS, align, pt?.dropdown?.className)}\n >\n <Styled.DropdownContent className={pt?.content?.className} {...pt?.content}>\n <Styled.CloseButton\n icon=\"close\"\n variant=\"text\"\n onClick={handleSaveAndClose}\n {...pt?.closeButton}\n />\n <Styled.DateField\n className={pt?.startDate?.field?.className}\n {...pt?.startDate?.field}\n >\n <label {...pt?.startDate?.label}>Start date</label>\n <Styled.DateInput\n ref={startDateInputRef}\n type=\"date\"\n value={localStartDate}\n onChange={handleStartDateChange}\n max={maxDate ? format(maxDate, 'yyyy-MM-dd') : undefined}\n min={minDate ? format(minDate, 'yyyy-MM-dd') : undefined}\n onClick={(e: any) => {\n try {\n e.currentTarget.showPicker()\n } catch (err) {\n // fallback for older browsers\n }\n }}\n {...pt?.startDate?.input}\n />\n </Styled.DateField>\n\n <Styled.DateField className={pt?.endDate?.field?.className} {...pt?.endDate?.field}>\n <label {...pt?.endDate?.label}>End date</label>\n <Styled.DateInput\n ref={endDateInputRef}\n type=\"date\"\n value={localEndDate}\n onChange={handleEndDateChange}\n max={maxDate ? format(maxDate, 'yyyy-MM-dd') : undefined}\n min={localStartDate || (minDate ? format(minDate, 'yyyy-MM-dd') : undefined)}\n onClick={(e: any) => {\n try {\n e.currentTarget.showPicker()\n } catch (err) {\n // fallback for older browsers\n }\n }}\n {...pt?.endDate?.input}\n />\n </Styled.DateField>\n\n {hasValue && (\n <Styled.ClearButton onClick={handleClear} variant=\"text\" {...pt?.clearButton}>\n Clear dates\n </Styled.ClearButton>\n )}\n </Styled.DropdownContent>\n </Styled.Dropdown>,\n document.body,\n )}\n </Styled.Container>\n )\n}\n"],"names":["formatDateForInput","dateStr","date","parseISO","isValid","formatUTCDate","formatDateForDisplay","formatStr","parseDateInput","value","y","m","d","DateRangePicker","onChange","emptyTrigger","valueTrigger","align","disabled","className","displayFormat","minDate","maxDate","pt","isOpen","setIsOpen","useState","localStartDate","setLocalStartDate","localEndDate","setLocalEndDate","triggerRef","useRef","dropdownRef","startDateInputRef","endDateInputRef","hasValue","handleSaveAndClose","useCallback","start","end","useEffect","handleClickOutside","e","target","handleKeyDown","handleStartDateChange","newValue","newStartDate","currentEndDate","handleEndDateChange","newEndDate","currentStartDate","finalStart","finalEnd","handleClear","handleToggle","displayStart","displayEnd","startDisplay","endDisplay","formattedRange","getDropdownPosition","rect","renderTrigger","jsx","clsx","Styled.DefaultEmptyTrigger","position","jsxs","Styled.Container","BLOCK_DIALOG_CLOSE_CLASS","Styled.Trigger","createPortal","Styled.Dropdown","Styled.DropdownContent","Styled.CloseButton","Styled.DateField","Styled.DateInput","format","Styled.ClearButton"],"mappings":"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"}
@@ -1,61 +1,62 @@
1
1
  import { j as a } from "../../../../_virtual/jsx-runtime.es.js";
2
- import { useState as R, useRef as E, useCallback as nt, useEffect as O } from "react";
3
- import { createPortal as rt } from "react-dom";
4
- import { format as f, isValid as b, parseISO as U } from "date-fns";
5
- import { Container as at, Trigger as st, Dropdown as ot, DropdownContent as ct, CloseButton as lt, DateField as F, DateInput as K, ClearButton as dt, DefaultEmptyTrigger as it } from "./DateRangePicker.styled.es.js";
6
- import j from "clsx";
7
- import { BLOCK_DIALOG_CLOSE_CLASS as $ } from "../LinksManager/CellEditingDialog.es.js";
8
- const G = (e) => {
2
+ import { useState as b, useRef as E, useCallback as rt, useEffect as O } from "react";
3
+ import { createPortal as at } from "react-dom";
4
+ import { format as j, parseISO as G, isValid as W } from "date-fns";
5
+ import { formatUTCDate as q } from "../../util/formatUTCDate.es.js";
6
+ import { Container as st, Trigger as ot, Dropdown as ct, DropdownContent as lt, CloseButton as dt, DateField as A, DateInput as F, ClearButton as it, DefaultEmptyTrigger as ut } from "./DateRangePicker.styled.es.js";
7
+ import k from "clsx";
8
+ import { BLOCK_DIALOG_CLOSE_CLASS as K } from "../LinksManager/CellEditingDialog.es.js";
9
+ const U = (e) => {
9
10
  if (!e) return "";
10
11
  try {
11
- const s = U(e);
12
- if (b(s))
13
- return f(s, "yyyy-MM-dd");
12
+ const s = G(e);
13
+ if (W(s))
14
+ return q(s, "yyyy-MM-dd");
14
15
  } catch {
15
16
  return "";
16
17
  }
17
18
  return "";
18
- }, H = (e, s) => {
19
+ }, $ = (e, s) => {
19
20
  if (!e) return null;
20
21
  try {
21
- const D = U(e);
22
- if (b(D))
23
- return f(D, s);
22
+ const l = G(e);
23
+ if (W(l))
24
+ return q(l, s);
24
25
  } catch {
25
26
  return null;
26
27
  }
27
28
  return null;
28
- }, l = (e) => {
29
+ }, d = (e) => {
29
30
  if (!e) return null;
30
31
  try {
31
- const s = new Date(e);
32
- if (b(s))
33
- return s.setUTCHours(0, 0, 0, 0), s.toISOString();
32
+ const [s, l, D] = e.split("-").map(Number);
33
+ if (s && l && D)
34
+ return new Date(Date.UTC(s, l - 1, D)).toISOString();
34
35
  } catch {
35
36
  return null;
36
37
  }
37
38
  return null;
38
- }, gt = ({
39
+ }, xt = ({
39
40
  value: e,
40
41
  onChange: s,
41
- emptyTrigger: D,
42
- valueTrigger: T,
42
+ emptyTrigger: l,
43
+ valueTrigger: D,
43
44
  align: p = "left",
44
- disabled: B = !1,
45
- className: W,
46
- displayFormat: v = "MMM d",
45
+ disabled: T = !1,
46
+ className: z,
47
+ displayFormat: B = "MMM d",
47
48
  minDate: w,
48
49
  maxDate: g,
49
50
  pt: n
50
51
  }) => {
51
- const [c, k] = R(!1), [d, C] = R(""), [y, x] = R(""), m = E(null), M = E(null), _ = E(null), V = E(null), N = e.startDate || e.endDate, i = nt(() => {
52
- const t = l(d), r = l(y);
53
- (t !== e.startDate || r !== e.endDate) && s({ startDate: t, endDate: r }), k(!1);
54
- }, [d, y, e.startDate, e.endDate, s]);
52
+ const [c, N] = b(!1), [i, C] = b(""), [m, x] = b(""), y = E(null), M = E(null), v = E(null), _ = E(null), S = e.startDate || e.endDate, u = rt(() => {
53
+ const t = d(i), r = d(m);
54
+ (t !== e.startDate || r !== e.endDate) && s({ startDate: t, endDate: r }), N(!1);
55
+ }, [i, m, e.startDate, e.endDate, s]);
55
56
  O(() => {
56
- c && (C(G(e.startDate)), x(G(e.endDate)), !e.startDate && !e.endDate && setTimeout(() => {
57
+ c && (C(U(e.startDate)), x(U(e.endDate)), !e.startDate && !e.endDate && setTimeout(() => {
57
58
  try {
58
- _.current?.showPicker();
59
+ v.current?.showPicker();
59
60
  } catch {
60
61
  }
61
62
  }, 100));
@@ -63,110 +64,110 @@ const G = (e) => {
63
64
  if (!c) return;
64
65
  const t = (r) => {
65
66
  const o = r.target;
66
- m.current && !m.current.contains(o) && M.current && !M.current.contains(o) && i();
67
+ y.current && !y.current.contains(o) && M.current && !M.current.contains(o) && u();
67
68
  };
68
69
  return document.addEventListener("mousedown", t), () => document.removeEventListener("mousedown", t);
69
- }, [c, i]), O(() => {
70
+ }, [c, u]), O(() => {
70
71
  if (!c) return;
71
72
  const t = (r) => {
72
- r.key === "Escape" && (r.stopPropagation(), i());
73
+ r.key === "Escape" && (r.stopPropagation(), u());
73
74
  };
74
75
  return document.addEventListener("keydown", t), () => document.removeEventListener("keydown", t);
75
- }, [c, i]);
76
- const q = (t) => {
76
+ }, [c, u]);
77
+ const H = (t) => {
77
78
  const r = t.target.value;
78
79
  C(r);
79
- const o = l(r), u = l(y);
80
- if (o && u) {
81
- const h = new Date(o), I = new Date(u);
82
- h > I && x(r);
80
+ const o = d(r), f = d(m);
81
+ if (o && f) {
82
+ const h = new Date(o), R = new Date(f);
83
+ h > R && x(r);
83
84
  }
84
85
  o && setTimeout(() => {
85
86
  try {
86
- V.current?.showPicker();
87
+ _.current?.showPicker();
87
88
  } catch {
88
89
  }
89
90
  }, 100);
90
- }, z = (t) => {
91
+ }, J = (t) => {
91
92
  const r = t.target.value;
92
93
  x(r);
93
- const o = l(r), u = l(d);
94
- let h = u, I = o;
95
- if (o && u) {
96
- const et = new Date(u);
97
- new Date(o) < et && (C(r), h = o);
94
+ const o = d(r), f = d(i);
95
+ let h = f, R = o;
96
+ if (o && f) {
97
+ const nt = new Date(f);
98
+ new Date(o) < nt && (C(r), h = o);
98
99
  }
99
- s({ startDate: h, endDate: I });
100
- }, J = () => {
101
- C(""), x(""), s({ startDate: null, endDate: null }), k(!1);
102
- }, Q = (t) => {
103
- t.stopPropagation(), B || (c ? i() : k(!0));
104
- }, X = c ? l(d) : e.startDate, Y = c ? l(y) : e.endDate, S = H(X, v), L = H(Y, v), A = S && L ? `${S} - ${L}` : S || L || "", Z = () => {
105
- if (!m.current) return { top: 0, left: 0 };
106
- const t = m.current.getBoundingClientRect();
100
+ s({ startDate: h, endDate: R });
101
+ }, Q = () => {
102
+ C(""), x(""), s({ startDate: null, endDate: null }), N(!1);
103
+ }, X = (t) => {
104
+ t.stopPropagation(), T || (c ? u() : N(!0));
105
+ }, Y = c ? d(i) : e.startDate, Z = c ? d(m) : e.endDate, L = $(Y, B), P = $(Z, B), V = L && P ? `${L} - ${P}` : L || P || "", tt = () => {
106
+ if (!y.current) return { top: 0, left: 0 };
107
+ const t = y.current.getBoundingClientRect();
107
108
  return {
108
109
  top: t.bottom + 4,
109
110
  left: p === "left" ? t.left : t.right
110
111
  };
111
- }, tt = () => N ? T ? T(e, A) : /* @__PURE__ */ a.jsx("span", { className: j("date-value", n?.valueDisplay?.className), ...n?.valueDisplay, children: A }) : D || /* @__PURE__ */ a.jsx(it, { icon: "calendar_add_on" }), P = Z();
112
+ }, et = () => S ? D ? D(e, V) : /* @__PURE__ */ a.jsx("span", { className: k("date-value", n?.valueDisplay?.className), ...n?.valueDisplay, children: V }) : l || /* @__PURE__ */ a.jsx(ut, { icon: "calendar_add_on" }), I = tt();
112
113
  return /* @__PURE__ */ a.jsxs(
113
- at,
114
+ st,
114
115
  {
115
116
  ...n?.root,
116
- className: j($, W, n?.root?.className),
117
+ className: k(K, z, n?.root?.className),
117
118
  children: [
118
119
  /* @__PURE__ */ a.jsx(
119
- st,
120
+ ot,
120
121
  {
121
- ref: m,
122
- onClick: Q,
123
- disabled: B,
122
+ ref: y,
123
+ onClick: X,
124
+ disabled: T,
124
125
  type: "button",
125
126
  ...n?.trigger,
126
- className: j(N ? "has-value" : "empty", n?.trigger?.className),
127
- children: tt()
127
+ className: k(S ? "has-value" : "empty", n?.trigger?.className),
128
+ children: et()
128
129
  }
129
130
  ),
130
- c && rt(
131
+ c && at(
131
132
  /* @__PURE__ */ a.jsx(
132
- ot,
133
+ ct,
133
134
  {
134
135
  ref: M,
135
136
  style: {
136
- top: P.top,
137
- left: p === "left" ? P.left : "auto",
138
- right: p === "right" ? window.innerWidth - P.left : "auto",
137
+ top: I.top,
138
+ left: p === "left" ? I.left : "auto",
139
+ right: p === "right" ? window.innerWidth - I.left : "auto",
139
140
  ...n?.dropdown?.style
140
141
  },
141
142
  onMouseDown: (t) => t.stopPropagation(),
142
143
  ...n?.dropdown,
143
- className: j($, p, n?.dropdown?.className),
144
- children: /* @__PURE__ */ a.jsxs(ct, { className: n?.content?.className, ...n?.content, children: [
144
+ className: k(K, p, n?.dropdown?.className),
145
+ children: /* @__PURE__ */ a.jsxs(lt, { className: n?.content?.className, ...n?.content, children: [
145
146
  /* @__PURE__ */ a.jsx(
146
- lt,
147
+ dt,
147
148
  {
148
149
  icon: "close",
149
150
  variant: "text",
150
- onClick: i,
151
+ onClick: u,
151
152
  ...n?.closeButton
152
153
  }
153
154
  ),
154
155
  /* @__PURE__ */ a.jsxs(
155
- F,
156
+ A,
156
157
  {
157
158
  className: n?.startDate?.field?.className,
158
159
  ...n?.startDate?.field,
159
160
  children: [
160
161
  /* @__PURE__ */ a.jsx("label", { ...n?.startDate?.label, children: "Start date" }),
161
162
  /* @__PURE__ */ a.jsx(
162
- K,
163
+ F,
163
164
  {
164
- ref: _,
165
+ ref: v,
165
166
  type: "date",
166
- value: d,
167
- onChange: q,
168
- max: g ? f(g, "yyyy-MM-dd") : void 0,
169
- min: w ? f(w, "yyyy-MM-dd") : void 0,
167
+ value: i,
168
+ onChange: H,
169
+ max: g ? j(g, "yyyy-MM-dd") : void 0,
170
+ min: w ? j(w, "yyyy-MM-dd") : void 0,
170
171
  onClick: (t) => {
171
172
  try {
172
173
  t.currentTarget.showPicker();
@@ -179,17 +180,17 @@ const G = (e) => {
179
180
  ]
180
181
  }
181
182
  ),
182
- /* @__PURE__ */ a.jsxs(F, { className: n?.endDate?.field?.className, ...n?.endDate?.field, children: [
183
+ /* @__PURE__ */ a.jsxs(A, { className: n?.endDate?.field?.className, ...n?.endDate?.field, children: [
183
184
  /* @__PURE__ */ a.jsx("label", { ...n?.endDate?.label, children: "End date" }),
184
185
  /* @__PURE__ */ a.jsx(
185
- K,
186
+ F,
186
187
  {
187
- ref: V,
188
+ ref: _,
188
189
  type: "date",
189
- value: y,
190
- onChange: z,
191
- max: g ? f(g, "yyyy-MM-dd") : void 0,
192
- min: d || (w ? f(w, "yyyy-MM-dd") : void 0),
190
+ value: m,
191
+ onChange: J,
192
+ max: g ? j(g, "yyyy-MM-dd") : void 0,
193
+ min: i || (w ? j(w, "yyyy-MM-dd") : void 0),
193
194
  onClick: (t) => {
194
195
  try {
195
196
  t.currentTarget.showPicker();
@@ -200,7 +201,7 @@ const G = (e) => {
200
201
  }
201
202
  )
202
203
  ] }),
203
- N && /* @__PURE__ */ a.jsx(dt, { onClick: J, variant: "text", ...n?.clearButton, children: "Clear dates" })
204
+ S && /* @__PURE__ */ a.jsx(it, { onClick: Q, variant: "text", ...n?.clearButton, children: "Clear dates" })
204
205
  ] })
205
206
  }
206
207
  ),
@@ -211,6 +212,6 @@ const G = (e) => {
211
212
  );
212
213
  };
213
214
  export {
214
- gt as DateRangePicker
215
+ xt as DateRangePicker
215
216
  };
216
217
  //# sourceMappingURL=DateRangePicker.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DateRangePicker.es.js","sources":["../../../../../src/components/DateRangePicker/DateRangePicker.tsx"],"sourcesContent":["import {\n FC,\n useState,\n useRef,\n useEffect,\n ReactNode,\n useCallback,\n HTMLAttributes,\n ButtonHTMLAttributes,\n LabelHTMLAttributes,\n InputHTMLAttributes,\n} from 'react'\nimport { createPortal } from 'react-dom'\nimport { format, isValid, parseISO } from 'date-fns'\nimport * as Styled from './DateRangePicker.styled'\nimport clsx from 'clsx'\nimport { BLOCK_DIALOG_CLOSE_CLASS } from '../LinksManager/CellEditingDialog'\nimport { ButtonProps } from '@ynput/ayon-react-components'\n\nexport interface DateRangePickerPassthrough {\n root?: Partial<HTMLAttributes<HTMLDivElement>>\n trigger?: Partial<ButtonHTMLAttributes<HTMLButtonElement>>\n dropdown?: Partial<HTMLAttributes<HTMLDivElement>>\n content?: Partial<HTMLAttributes<HTMLDivElement>>\n startDate?: Partial<{\n field?: Partial<HTMLAttributes<HTMLDivElement>>\n label?: Partial<LabelHTMLAttributes<HTMLLabelElement>>\n input?: Partial<InputHTMLAttributes<HTMLInputElement>>\n }>\n endDate?: Partial<{\n field?: Partial<HTMLAttributes<HTMLDivElement>>\n label?: Partial<LabelHTMLAttributes<HTMLLabelElement>>\n input?: Partial<InputHTMLAttributes<HTMLInputElement>>\n }>\n clearButton?: Partial<ButtonProps>\n closeButton?: Partial<ButtonProps>\n valueDisplay?: Partial<HTMLAttributes<HTMLSpanElement>>\n}\n\nexport interface DateRange {\n startDate: string | null\n endDate: string | null\n}\n\nexport interface DateRangePickerProps {\n /** Current date range value */\n value: DateRange\n /** Callback when date range changes */\n onChange: (range: DateRange) => void\n /** Custom trigger button when no dates are set */\n emptyTrigger?: ReactNode\n /** Custom trigger button when dates are set */\n valueTrigger?: (range: DateRange, formattedRange: string) => ReactNode\n /** Alignment of the dropdown relative to trigger */\n align?: 'left' | 'right'\n /** Whether the picker is disabled */\n disabled?: boolean\n /** Additional class name for the container */\n className?: string\n /** Format for displaying dates (default: 'MMM d') */\n displayFormat?: string\n /** Minimum selectable date */\n minDate?: Date\n /** Maximum selectable date */\n maxDate?: Date\n /** Passthrough props for internal components */\n pt?: DateRangePickerPassthrough\n}\n\nconst formatDateForInput = (dateStr: string | null): string => {\n if (!dateStr) return ''\n try {\n const date = parseISO(dateStr)\n if (isValid(date)) {\n return format(date, 'yyyy-MM-dd')\n }\n } catch {\n return ''\n }\n return ''\n}\n\nconst formatDateForDisplay = (dateStr: string | null, formatStr: string): string | null => {\n if (!dateStr) return null\n try {\n const date = parseISO(dateStr)\n if (isValid(date)) {\n return format(date, formatStr)\n }\n } catch {\n return null\n }\n return null\n}\n\nconst parseDateInput = (value: string): string | null => {\n if (!value) return null\n try {\n const date = new Date(value)\n if (isValid(date)) {\n date.setUTCHours(0, 0, 0, 0)\n return date.toISOString()\n }\n } catch {\n return null\n }\n return null\n}\n\nexport const DateRangePicker: FC<DateRangePickerProps> = ({\n value,\n onChange,\n emptyTrigger,\n valueTrigger,\n align = 'left',\n disabled = false,\n className,\n displayFormat = 'MMM d',\n minDate,\n maxDate,\n pt,\n}) => {\n const [isOpen, setIsOpen] = useState(false)\n const [localStartDate, setLocalStartDate] = useState('')\n const [localEndDate, setLocalEndDate] = useState('')\n const triggerRef = useRef<HTMLButtonElement>(null)\n const dropdownRef = useRef<HTMLDivElement>(null)\n const startDateInputRef = useRef<HTMLInputElement>(null)\n const endDateInputRef = useRef<HTMLInputElement>(null)\n\n const hasValue = value.startDate || value.endDate\n\n const handleSaveAndClose = useCallback(() => {\n const start = parseDateInput(localStartDate)\n const end = parseDateInput(localEndDate)\n if (start !== value.startDate || end !== value.endDate) {\n onChange({ startDate: start, endDate: end })\n }\n setIsOpen(false)\n }, [localStartDate, localEndDate, value.startDate, value.endDate, onChange])\n\n useEffect(() => {\n if (isOpen) {\n setLocalStartDate(formatDateForInput(value.startDate))\n setLocalEndDate(formatDateForInput(value.endDate))\n\n // Automatically open start date picker if no dates are set\n if (!value.startDate && !value.endDate) {\n setTimeout(() => {\n try {\n startDateInputRef.current?.showPicker()\n } catch (err) {\n // fallback\n }\n }, 100)\n }\n }\n }, [isOpen, value.startDate, value.endDate])\n\n // Handle click outside to close\n useEffect(() => {\n if (!isOpen) return\n\n const handleClickOutside = (e: MouseEvent) => {\n const target = e.target as Node\n if (\n triggerRef.current &&\n !triggerRef.current.contains(target) &&\n dropdownRef.current &&\n !dropdownRef.current.contains(target)\n ) {\n handleSaveAndClose()\n }\n }\n\n document.addEventListener('mousedown', handleClickOutside)\n return () => document.removeEventListener('mousedown', handleClickOutside)\n }, [isOpen, handleSaveAndClose])\n\n // Handle escape key\n useEffect(() => {\n if (!isOpen) return\n\n const handleKeyDown = (e: KeyboardEvent) => {\n if (e.key === 'Escape') {\n e.stopPropagation()\n handleSaveAndClose()\n }\n }\n\n document.addEventListener('keydown', handleKeyDown)\n return () => document.removeEventListener('keydown', handleKeyDown)\n }, [isOpen, handleSaveAndClose])\n\n const handleStartDateChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n const newValue = e.target.value\n setLocalStartDate(newValue)\n\n const newStartDate = parseDateInput(newValue)\n const currentEndDate = parseDateInput(localEndDate)\n\n // Validate: startDate cannot be after endDate\n if (newStartDate && currentEndDate) {\n const start = new Date(newStartDate)\n const end = new Date(currentEndDate)\n if (start > end) {\n // If start is after end, set end to same as start\n setLocalEndDate(newValue)\n }\n }\n\n // Automatically open end date picker after start date is selected\n if (newStartDate) {\n setTimeout(() => {\n try {\n endDateInputRef.current?.showPicker()\n } catch (err) {\n // fallback\n }\n }, 100)\n }\n }\n\n const handleEndDateChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n const newValue = e.target.value\n setLocalEndDate(newValue)\n\n const newEndDate = parseDateInput(newValue)\n const currentStartDate = parseDateInput(localStartDate)\n\n let finalStart = currentStartDate\n let finalEnd = newEndDate\n\n // Validate: endDate cannot be before startDate\n if (newEndDate && currentStartDate) {\n const start = new Date(currentStartDate)\n const end = new Date(newEndDate)\n if (end < start) {\n // If end is before start, set start to same as end\n setLocalStartDate(newValue)\n finalStart = newEndDate\n }\n }\n\n onChange({ startDate: finalStart, endDate: finalEnd })\n }\n\n const handleClear = () => {\n setLocalStartDate('')\n setLocalEndDate('')\n onChange({ startDate: null, endDate: null })\n setIsOpen(false)\n }\n\n const handleToggle = (e: React.MouseEvent) => {\n e.stopPropagation()\n if (!disabled) {\n if (isOpen) {\n handleSaveAndClose()\n } else {\n setIsOpen(true)\n }\n }\n }\n\n // Format the display string\n const displayStart = isOpen ? parseDateInput(localStartDate) : value.startDate\n const displayEnd = isOpen ? parseDateInput(localEndDate) : value.endDate\n\n const startDisplay = formatDateForDisplay(displayStart, displayFormat)\n const endDisplay = formatDateForDisplay(displayEnd, displayFormat)\n const formattedRange =\n startDisplay && endDisplay\n ? `${startDisplay} - ${endDisplay}`\n : startDisplay || endDisplay || ''\n\n // Get position for dropdown\n const getDropdownPosition = () => {\n if (!triggerRef.current) return { top: 0, left: 0 }\n const rect = triggerRef.current.getBoundingClientRect()\n return {\n top: rect.bottom + 4,\n left: align === 'left' ? rect.left : rect.right,\n }\n }\n\n const renderTrigger = () => {\n if (hasValue) {\n if (valueTrigger) {\n return valueTrigger(value, formattedRange)\n }\n return (\n <span className={clsx('date-value', pt?.valueDisplay?.className)} {...pt?.valueDisplay}>\n {formattedRange}\n </span>\n )\n }\n\n if (emptyTrigger) {\n return emptyTrigger\n }\n\n return <Styled.DefaultEmptyTrigger icon={'calendar_add_on'} />\n }\n\n const position = getDropdownPosition()\n\n return (\n <Styled.Container\n {...pt?.root}\n className={clsx(BLOCK_DIALOG_CLOSE_CLASS, className, pt?.root?.className)}\n >\n <Styled.Trigger\n ref={triggerRef}\n onClick={handleToggle}\n disabled={disabled}\n type=\"button\"\n {...pt?.trigger}\n className={clsx(hasValue ? 'has-value' : 'empty', pt?.trigger?.className)}\n >\n {renderTrigger()}\n </Styled.Trigger>\n\n {isOpen &&\n createPortal(\n <Styled.Dropdown\n ref={dropdownRef}\n style={{\n top: position.top,\n left: align === 'left' ? position.left : 'auto',\n right: align === 'right' ? window.innerWidth - position.left : 'auto',\n ...pt?.dropdown?.style,\n }}\n onMouseDown={(e) => e.stopPropagation()}\n {...pt?.dropdown}\n className={clsx(BLOCK_DIALOG_CLOSE_CLASS, align, pt?.dropdown?.className)}\n >\n <Styled.DropdownContent className={pt?.content?.className} {...pt?.content}>\n <Styled.CloseButton\n icon=\"close\"\n variant=\"text\"\n onClick={handleSaveAndClose}\n {...pt?.closeButton}\n />\n <Styled.DateField\n className={pt?.startDate?.field?.className}\n {...pt?.startDate?.field}\n >\n <label {...pt?.startDate?.label}>Start date</label>\n <Styled.DateInput\n ref={startDateInputRef}\n type=\"date\"\n value={localStartDate}\n onChange={handleStartDateChange}\n max={maxDate ? format(maxDate, 'yyyy-MM-dd') : undefined}\n min={minDate ? format(minDate, 'yyyy-MM-dd') : undefined}\n onClick={(e: any) => {\n try {\n e.currentTarget.showPicker()\n } catch (err) {\n // fallback for older browsers\n }\n }}\n {...pt?.startDate?.input}\n />\n </Styled.DateField>\n\n <Styled.DateField className={pt?.endDate?.field?.className} {...pt?.endDate?.field}>\n <label {...pt?.endDate?.label}>End date</label>\n <Styled.DateInput\n ref={endDateInputRef}\n type=\"date\"\n value={localEndDate}\n onChange={handleEndDateChange}\n max={maxDate ? format(maxDate, 'yyyy-MM-dd') : undefined}\n min={localStartDate || (minDate ? format(minDate, 'yyyy-MM-dd') : undefined)}\n onClick={(e: any) => {\n try {\n e.currentTarget.showPicker()\n } catch (err) {\n // fallback for older browsers\n }\n }}\n {...pt?.endDate?.input}\n />\n </Styled.DateField>\n\n {hasValue && (\n <Styled.ClearButton onClick={handleClear} variant=\"text\" {...pt?.clearButton}>\n Clear dates\n </Styled.ClearButton>\n )}\n </Styled.DropdownContent>\n </Styled.Dropdown>,\n document.body,\n )}\n </Styled.Container>\n )\n}\n"],"names":["formatDateForInput","dateStr","date","parseISO","isValid","format","formatDateForDisplay","formatStr","parseDateInput","value","DateRangePicker","onChange","emptyTrigger","valueTrigger","align","disabled","className","displayFormat","minDate","maxDate","pt","isOpen","setIsOpen","useState","localStartDate","setLocalStartDate","localEndDate","setLocalEndDate","triggerRef","useRef","dropdownRef","startDateInputRef","endDateInputRef","hasValue","handleSaveAndClose","useCallback","start","end","useEffect","handleClickOutside","e","target","handleKeyDown","handleStartDateChange","newValue","newStartDate","currentEndDate","handleEndDateChange","newEndDate","currentStartDate","finalStart","finalEnd","handleClear","handleToggle","displayStart","displayEnd","startDisplay","endDisplay","formattedRange","getDropdownPosition","rect","renderTrigger","jsx","clsx","Styled.DefaultEmptyTrigger","position","jsxs","Styled.Container","BLOCK_DIALOG_CLOSE_CLASS","Styled.Trigger","createPortal","Styled.Dropdown","Styled.DropdownContent","Styled.CloseButton","Styled.DateField","Styled.DateInput","Styled.ClearButton"],"mappings":"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"}
1
+ {"version":3,"file":"DateRangePicker.es.js","sources":["../../../../../src/components/DateRangePicker/DateRangePicker.tsx"],"sourcesContent":["import {\n FC,\n useState,\n useRef,\n useEffect,\n ReactNode,\n useCallback,\n HTMLAttributes,\n ButtonHTMLAttributes,\n LabelHTMLAttributes,\n InputHTMLAttributes,\n} from 'react'\nimport { createPortal } from 'react-dom'\nimport { format, isValid, parseISO } from 'date-fns'\nimport { formatUTCDate } from '../../util/formatUTCDate'\nimport * as Styled from './DateRangePicker.styled'\nimport clsx from 'clsx'\nimport { BLOCK_DIALOG_CLOSE_CLASS } from '../LinksManager/CellEditingDialog'\nimport { ButtonProps } from '@ynput/ayon-react-components'\n\nexport interface DateRangePickerPassthrough {\n root?: Partial<HTMLAttributes<HTMLDivElement>>\n trigger?: Partial<ButtonHTMLAttributes<HTMLButtonElement>>\n dropdown?: Partial<HTMLAttributes<HTMLDivElement>>\n content?: Partial<HTMLAttributes<HTMLDivElement>>\n startDate?: Partial<{\n field?: Partial<HTMLAttributes<HTMLDivElement>>\n label?: Partial<LabelHTMLAttributes<HTMLLabelElement>>\n input?: Partial<InputHTMLAttributes<HTMLInputElement>>\n }>\n endDate?: Partial<{\n field?: Partial<HTMLAttributes<HTMLDivElement>>\n label?: Partial<LabelHTMLAttributes<HTMLLabelElement>>\n input?: Partial<InputHTMLAttributes<HTMLInputElement>>\n }>\n clearButton?: Partial<ButtonProps>\n closeButton?: Partial<ButtonProps>\n valueDisplay?: Partial<HTMLAttributes<HTMLSpanElement>>\n}\n\nexport interface DateRange {\n startDate: string | null\n endDate: string | null\n}\n\nexport interface DateRangePickerProps {\n /** Current date range value */\n value: DateRange\n /** Callback when date range changes */\n onChange: (range: DateRange) => void\n /** Custom trigger button when no dates are set */\n emptyTrigger?: ReactNode\n /** Custom trigger button when dates are set */\n valueTrigger?: (range: DateRange, formattedRange: string) => ReactNode\n /** Alignment of the dropdown relative to trigger */\n align?: 'left' | 'right'\n /** Whether the picker is disabled */\n disabled?: boolean\n /** Additional class name for the container */\n className?: string\n /** Format for displaying dates (default: 'MMM d') */\n displayFormat?: string\n /** Minimum selectable date */\n minDate?: Date\n /** Maximum selectable date */\n maxDate?: Date\n /** Passthrough props for internal components */\n pt?: DateRangePickerPassthrough\n}\n\nconst formatDateForInput = (dateStr: string | null): string => {\n if (!dateStr) return ''\n try {\n const date = parseISO(dateStr)\n if (isValid(date)) {\n return formatUTCDate(date, 'yyyy-MM-dd')\n }\n } catch {\n return ''\n }\n return ''\n}\n\nconst formatDateForDisplay = (dateStr: string | null, formatStr: string): string | null => {\n if (!dateStr) return null\n try {\n const date = parseISO(dateStr)\n if (isValid(date)) {\n return formatUTCDate(date, formatStr)\n }\n } catch {\n return null\n }\n return null\n}\n\nconst parseDateInput = (value: string): string | null => {\n if (!value) return null\n try {\n const [y, m, d] = value.split('-').map(Number)\n if (y && m && d) {\n return new Date(Date.UTC(y, m - 1, d)).toISOString()\n }\n } catch {\n return null\n }\n return null\n}\n\nexport const DateRangePicker: FC<DateRangePickerProps> = ({\n value,\n onChange,\n emptyTrigger,\n valueTrigger,\n align = 'left',\n disabled = false,\n className,\n displayFormat = 'MMM d',\n minDate,\n maxDate,\n pt,\n}) => {\n const [isOpen, setIsOpen] = useState(false)\n const [localStartDate, setLocalStartDate] = useState('')\n const [localEndDate, setLocalEndDate] = useState('')\n const triggerRef = useRef<HTMLButtonElement>(null)\n const dropdownRef = useRef<HTMLDivElement>(null)\n const startDateInputRef = useRef<HTMLInputElement>(null)\n const endDateInputRef = useRef<HTMLInputElement>(null)\n\n const hasValue = value.startDate || value.endDate\n\n const handleSaveAndClose = useCallback(() => {\n const start = parseDateInput(localStartDate)\n const end = parseDateInput(localEndDate)\n if (start !== value.startDate || end !== value.endDate) {\n onChange({ startDate: start, endDate: end })\n }\n setIsOpen(false)\n }, [localStartDate, localEndDate, value.startDate, value.endDate, onChange])\n\n useEffect(() => {\n if (isOpen) {\n setLocalStartDate(formatDateForInput(value.startDate))\n setLocalEndDate(formatDateForInput(value.endDate))\n\n // Automatically open start date picker if no dates are set\n if (!value.startDate && !value.endDate) {\n setTimeout(() => {\n try {\n startDateInputRef.current?.showPicker()\n } catch (err) {\n // fallback\n }\n }, 100)\n }\n }\n }, [isOpen, value.startDate, value.endDate])\n\n // Handle click outside to close\n useEffect(() => {\n if (!isOpen) return\n\n const handleClickOutside = (e: MouseEvent) => {\n const target = e.target as Node\n if (\n triggerRef.current &&\n !triggerRef.current.contains(target) &&\n dropdownRef.current &&\n !dropdownRef.current.contains(target)\n ) {\n handleSaveAndClose()\n }\n }\n\n document.addEventListener('mousedown', handleClickOutside)\n return () => document.removeEventListener('mousedown', handleClickOutside)\n }, [isOpen, handleSaveAndClose])\n\n // Handle escape key\n useEffect(() => {\n if (!isOpen) return\n\n const handleKeyDown = (e: KeyboardEvent) => {\n if (e.key === 'Escape') {\n e.stopPropagation()\n handleSaveAndClose()\n }\n }\n\n document.addEventListener('keydown', handleKeyDown)\n return () => document.removeEventListener('keydown', handleKeyDown)\n }, [isOpen, handleSaveAndClose])\n\n const handleStartDateChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n const newValue = e.target.value\n setLocalStartDate(newValue)\n\n const newStartDate = parseDateInput(newValue)\n const currentEndDate = parseDateInput(localEndDate)\n\n // Validate: startDate cannot be after endDate\n if (newStartDate && currentEndDate) {\n const start = new Date(newStartDate)\n const end = new Date(currentEndDate)\n if (start > end) {\n // If start is after end, set end to same as start\n setLocalEndDate(newValue)\n }\n }\n\n // Automatically open end date picker after start date is selected\n if (newStartDate) {\n setTimeout(() => {\n try {\n endDateInputRef.current?.showPicker()\n } catch (err) {\n // fallback\n }\n }, 100)\n }\n }\n\n const handleEndDateChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n const newValue = e.target.value\n setLocalEndDate(newValue)\n\n const newEndDate = parseDateInput(newValue)\n const currentStartDate = parseDateInput(localStartDate)\n\n let finalStart = currentStartDate\n let finalEnd = newEndDate\n\n // Validate: endDate cannot be before startDate\n if (newEndDate && currentStartDate) {\n const start = new Date(currentStartDate)\n const end = new Date(newEndDate)\n if (end < start) {\n // If end is before start, set start to same as end\n setLocalStartDate(newValue)\n finalStart = newEndDate\n }\n }\n\n onChange({ startDate: finalStart, endDate: finalEnd })\n }\n\n const handleClear = () => {\n setLocalStartDate('')\n setLocalEndDate('')\n onChange({ startDate: null, endDate: null })\n setIsOpen(false)\n }\n\n const handleToggle = (e: React.MouseEvent) => {\n e.stopPropagation()\n if (!disabled) {\n if (isOpen) {\n handleSaveAndClose()\n } else {\n setIsOpen(true)\n }\n }\n }\n\n // Format the display string\n const displayStart = isOpen ? parseDateInput(localStartDate) : value.startDate\n const displayEnd = isOpen ? parseDateInput(localEndDate) : value.endDate\n\n const startDisplay = formatDateForDisplay(displayStart, displayFormat)\n const endDisplay = formatDateForDisplay(displayEnd, displayFormat)\n const formattedRange =\n startDisplay && endDisplay\n ? `${startDisplay} - ${endDisplay}`\n : startDisplay || endDisplay || ''\n\n // Get position for dropdown\n const getDropdownPosition = () => {\n if (!triggerRef.current) return { top: 0, left: 0 }\n const rect = triggerRef.current.getBoundingClientRect()\n return {\n top: rect.bottom + 4,\n left: align === 'left' ? rect.left : rect.right,\n }\n }\n\n const renderTrigger = () => {\n if (hasValue) {\n if (valueTrigger) {\n return valueTrigger(value, formattedRange)\n }\n return (\n <span className={clsx('date-value', pt?.valueDisplay?.className)} {...pt?.valueDisplay}>\n {formattedRange}\n </span>\n )\n }\n\n if (emptyTrigger) {\n return emptyTrigger\n }\n\n return <Styled.DefaultEmptyTrigger icon={'calendar_add_on'} />\n }\n\n const position = getDropdownPosition()\n\n return (\n <Styled.Container\n {...pt?.root}\n className={clsx(BLOCK_DIALOG_CLOSE_CLASS, className, pt?.root?.className)}\n >\n <Styled.Trigger\n ref={triggerRef}\n onClick={handleToggle}\n disabled={disabled}\n type=\"button\"\n {...pt?.trigger}\n className={clsx(hasValue ? 'has-value' : 'empty', pt?.trigger?.className)}\n >\n {renderTrigger()}\n </Styled.Trigger>\n\n {isOpen &&\n createPortal(\n <Styled.Dropdown\n ref={dropdownRef}\n style={{\n top: position.top,\n left: align === 'left' ? position.left : 'auto',\n right: align === 'right' ? window.innerWidth - position.left : 'auto',\n ...pt?.dropdown?.style,\n }}\n onMouseDown={(e) => e.stopPropagation()}\n {...pt?.dropdown}\n className={clsx(BLOCK_DIALOG_CLOSE_CLASS, align, pt?.dropdown?.className)}\n >\n <Styled.DropdownContent className={pt?.content?.className} {...pt?.content}>\n <Styled.CloseButton\n icon=\"close\"\n variant=\"text\"\n onClick={handleSaveAndClose}\n {...pt?.closeButton}\n />\n <Styled.DateField\n className={pt?.startDate?.field?.className}\n {...pt?.startDate?.field}\n >\n <label {...pt?.startDate?.label}>Start date</label>\n <Styled.DateInput\n ref={startDateInputRef}\n type=\"date\"\n value={localStartDate}\n onChange={handleStartDateChange}\n max={maxDate ? format(maxDate, 'yyyy-MM-dd') : undefined}\n min={minDate ? format(minDate, 'yyyy-MM-dd') : undefined}\n onClick={(e: any) => {\n try {\n e.currentTarget.showPicker()\n } catch (err) {\n // fallback for older browsers\n }\n }}\n {...pt?.startDate?.input}\n />\n </Styled.DateField>\n\n <Styled.DateField className={pt?.endDate?.field?.className} {...pt?.endDate?.field}>\n <label {...pt?.endDate?.label}>End date</label>\n <Styled.DateInput\n ref={endDateInputRef}\n type=\"date\"\n value={localEndDate}\n onChange={handleEndDateChange}\n max={maxDate ? format(maxDate, 'yyyy-MM-dd') : undefined}\n min={localStartDate || (minDate ? format(minDate, 'yyyy-MM-dd') : undefined)}\n onClick={(e: any) => {\n try {\n e.currentTarget.showPicker()\n } catch (err) {\n // fallback for older browsers\n }\n }}\n {...pt?.endDate?.input}\n />\n </Styled.DateField>\n\n {hasValue && (\n <Styled.ClearButton onClick={handleClear} variant=\"text\" {...pt?.clearButton}>\n Clear dates\n </Styled.ClearButton>\n )}\n </Styled.DropdownContent>\n </Styled.Dropdown>,\n document.body,\n )}\n </Styled.Container>\n )\n}\n"],"names":["formatDateForInput","dateStr","date","parseISO","isValid","formatUTCDate","formatDateForDisplay","formatStr","parseDateInput","value","y","m","d","DateRangePicker","onChange","emptyTrigger","valueTrigger","align","disabled","className","displayFormat","minDate","maxDate","pt","isOpen","setIsOpen","useState","localStartDate","setLocalStartDate","localEndDate","setLocalEndDate","triggerRef","useRef","dropdownRef","startDateInputRef","endDateInputRef","hasValue","handleSaveAndClose","useCallback","start","end","useEffect","handleClickOutside","e","target","handleKeyDown","handleStartDateChange","newValue","newStartDate","currentEndDate","handleEndDateChange","newEndDate","currentStartDate","finalStart","finalEnd","handleClear","handleToggle","displayStart","displayEnd","startDisplay","endDisplay","formattedRange","getDropdownPosition","rect","renderTrigger","jsx","clsx","Styled.DefaultEmptyTrigger","position","jsxs","Styled.Container","BLOCK_DIALOG_CLOSE_CLASS","Styled.Trigger","createPortal","Styled.Dropdown","Styled.DropdownContent","Styled.CloseButton","Styled.DateField","Styled.DateInput","format","Styled.ClearButton"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../../../../_virtual/jsx-runtime.cjs.js"),d=require("react"),p=require("react-toastify");require("../../api/base/client.cjs.js");require("../../api/generated/graphql.cjs.js");require("../../api/generated/graphqlLinks.cjs.js");require("../../api/generated/access.cjs.js");require("../../api/generated/actions.cjs.js");require("../../api/generated/activityFeed.cjs.js");require("../../api/generated/addons.cjs.js");require("../../api/generated/anatomy.cjs.js");require("../../api/generated/attributes.cjs.js");require("../../api/generated/authentication.cjs.js");require("../../api/generated/bundles.cjs.js");require("../../api/generated/configuration.cjs.js");require("../../api/generated/dataImport.cjs.js");require("../../api/generated/desktop.cjs.js");require("../../api/generated/entityLists.cjs.js");require("../../api/generated/events.cjs.js");require("../../api/generated/files.cjs.js");require("../../api/generated/folders.cjs.js");require("../../api/generated/inbox.cjs.js");require("../../api/generated/links.cjs.js");require("../../api/generated/market.cjs.js");require("../../api/generated/onboarding.cjs.js");require("../../api/generated/operations.cjs.js");require("../../api/generated/products.cjs.js");require("../../api/generated/projectDashboard.cjs.js");require("../../api/generated/projects.cjs.js");require("../../api/generated/projectFolders.cjs.js");require("../../api/generated/reviewables.cjs.js");require("../../api/generated/services.cjs.js");require("../../api/generated/system.cjs.js");require("../../api/generated/tasks.cjs.js");require("../../api/generated/teams.cjs.js");require("../../api/generated/thumbnails.cjs.js");require("../../api/generated/uRIs.cjs.js");require("../../api/generated/users.cjs.js");require("../../api/generated/versions.cjs.js");require("../../api/generated/workfiles.cjs.js");require("../../api/generated/ynputCloud.cjs.js");require("../../api/generated/grouping.cjs.js");require("../../api/generated/views.cjs.js");require("../../api/queries/actions/getActions.cjs.js");require("../../api/queries/activities/getActivities.cjs.js");require("../../api/queries/activities/updateActivities.cjs.js");require("../../api/queries/activities/updateReaction.cjs.js");require("../../api/queries/activities/getMentions.cjs.js");require("../../api/queries/activities/getCategories.cjs.js");require("../../api/queries/addons/getAddons.cjs.js");require("../../api/queries/addons/updateAddons.cjs.js");require("../../api/queries/attributes/getAttributes.cjs.js");require("../../api/queries/attributes/updateAttributes.cjs.js");require("../../api/queries/authentication/getAuthentication.cjs.js");require("../../api/queries/cloud/cloud.cjs.js");require("../../api/queries/config/getConfig.cjs.js");require("../../api/queries/config/updateConfig.cjs.js");const x=require("../../api/queries/entities/getEntity.cjs.js");require("../../api/queries/entities/getEntityPanel.cjs.js");require("../../api/queries/entities/updateEntity.cjs.js");require("../../api/queries/entityLists/getLists.cjs.js");require("../../api/queries/entityLists/updateLists.cjs.js");require("../../api/queries/entityLists/getListsAttributes.cjs.js");require("../../api/queries/entityLists/updateListsAttributes.cjs.js");require("../../api/queries/entityLists/listFolders.cjs.js");require("../../api/queries/folders/getFolders.cjs.js");require("../../api/queries/grouping/getGrouping.cjs.js");require("../../api/queries/links/updateLinks.cjs.js");require("../../api/queries/links/getLinks.cjs.js");require("../../api/queries/links/getEntityLinks.cjs.js");require("../../api/queries/overview/getOverview.cjs.js");require("../../api/queries/overview/updateOverview.cjs.js");require("../../api/queries/versions/getVersionsProducts.cjs.js");require("../../api/queries/permissions/getPermissions.cjs.js");require("../../api/queries/products/createProduct.cjs.js");require("../../api/queries/products/getFolderProducts.cjs.js");require("../../api/queries/project/getProject.cjs.js");require("../../api/queries/project/updateProject.cjs.js");require("../../api/queries/projectFolders/projectFolders.cjs.js");require("../../api/queries/review/getReview.cjs.js");require("../../api/queries/review/updateReview.cjs.js");require("../../api/queries/share/share.cjs.js");require("../../api/queries/system/getSystem.cjs.js");require("../../api/queries/tasks/getTasks.cjs.js");require("../../api/queries/tasks/updateTasks.cjs.js");require("../../api/queries/teams/getTeams.cjs.js");require("../../api/queries/userDashboard/getUserDashboard.cjs.js");require("../../api/queries/users/getUsers.cjs.js");require("../../api/queries/users/updateUsers.cjs.js");require("../../api/queries/users/guests.cjs.js");require("../../api/queries/versions/updateVersions.cjs.js");require("../../api/queries/views/getViews.cjs.js");require("../../api/queries/views/updateViews.cjs.js");require("../../api/queries/watchers/getWatchers.cjs.js");require("../../api/queries/uris/getUris.cjs.js");const a=require("@ynput/ayon-react-components"),g=require("../../../../node_modules/@uiw/react-textarea-code-editor/esm/index.cjs.js");require("lodash");const m=require("../../util/copyToClipboard.cjs.js");require("uuid");require("../../util/pubsub.cjs.js");const y=({projectName:n,entityType:i,entityIds:s,visible:t,onHide:l})=>{const{data:r={},isLoading:o,isError:u,error:c}=x.useGetEntityQuery({projectName:n,entityType:i,entityId:s?.[0]},{skip:!t});u&&p.toast.error(`Unable to load detail. ${c}`);const q=d.useMemo(()=>{try{return JSON.stringify(r,null,2)}catch{return String(r)}},[r]);return!t||Array.isArray(r)&&r.length<1?null:e.jsxRuntimeExports.jsxs(a.Dialog,{isOpen:!0,onClose:l,size:"lg",style:{width:"50vw"},header:`${i} detail`,children:[e.jsxRuntimeExports.jsx("style",{children:`
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../../../../_virtual/jsx-runtime.cjs.js"),d=require("react"),p=require("react-toastify");require("../../api/base/client.cjs.js");require("../../api/generated/graphql.cjs.js");require("../../api/generated/graphqlLinks.cjs.js");require("../../api/generated/access.cjs.js");require("../../api/generated/actions.cjs.js");require("../../api/generated/activityFeed.cjs.js");require("../../api/generated/addons.cjs.js");require("../../api/generated/anatomy.cjs.js");require("../../api/generated/attributes.cjs.js");require("../../api/generated/authentication.cjs.js");require("../../api/generated/bundles.cjs.js");require("../../api/generated/configuration.cjs.js");require("../../api/generated/dataImport.cjs.js");require("../../api/generated/desktop.cjs.js");require("../../api/generated/entityLists.cjs.js");require("../../api/generated/events.cjs.js");require("../../api/generated/files.cjs.js");require("../../api/generated/folders.cjs.js");require("../../api/generated/inbox.cjs.js");require("../../api/generated/links.cjs.js");require("../../api/generated/market.cjs.js");require("../../api/generated/onboarding.cjs.js");require("../../api/generated/operations.cjs.js");require("../../api/generated/products.cjs.js");require("../../api/generated/projectDashboard.cjs.js");require("../../api/generated/projects.cjs.js");require("../../api/generated/projectFolders.cjs.js");require("../../api/generated/reviewables.cjs.js");require("../../api/generated/services.cjs.js");require("../../api/generated/system.cjs.js");require("../../api/generated/tasks.cjs.js");require("../../api/generated/teams.cjs.js");require("../../api/generated/thumbnails.cjs.js");require("../../api/generated/uRIs.cjs.js");require("../../api/generated/users.cjs.js");require("../../api/generated/versions.cjs.js");require("../../api/generated/workfiles.cjs.js");require("../../api/generated/ynputCloud.cjs.js");require("../../api/generated/grouping.cjs.js");require("../../api/generated/views.cjs.js");require("../../api/queries/actions/getActions.cjs.js");require("../../api/queries/activities/getActivities.cjs.js");require("../../api/queries/activities/updateActivities.cjs.js");require("../../api/queries/activities/updateReaction.cjs.js");require("../../api/queries/activities/getMentions.cjs.js");require("../../api/queries/activities/getCategories.cjs.js");require("../../api/queries/addons/getAddons.cjs.js");require("../../api/queries/addons/updateAddons.cjs.js");require("../../api/queries/attributes/getAttributes.cjs.js");require("../../api/queries/attributes/updateAttributes.cjs.js");require("../../api/queries/authentication/getAuthentication.cjs.js");require("../../api/queries/cloud/cloud.cjs.js");require("../../api/queries/config/getConfig.cjs.js");require("../../api/queries/config/updateConfig.cjs.js");const x=require("../../api/queries/entities/getEntity.cjs.js");require("../../api/queries/entities/getEntityPanel.cjs.js");require("../../api/queries/entities/updateEntity.cjs.js");require("../../api/queries/entityLists/getLists.cjs.js");require("../../api/queries/entityLists/updateLists.cjs.js");require("../../api/queries/entityLists/getListsAttributes.cjs.js");require("../../api/queries/entityLists/updateListsAttributes.cjs.js");require("../../api/queries/entityLists/listFolders.cjs.js");require("../../api/queries/folders/getFolders.cjs.js");require("../../api/queries/folders/getFolderDeleteInfo.cjs.js");require("../../api/queries/grouping/getGrouping.cjs.js");require("../../api/queries/links/updateLinks.cjs.js");require("../../api/queries/links/getLinks.cjs.js");require("../../api/queries/links/getEntityLinks.cjs.js");require("../../api/queries/overview/getOverview.cjs.js");require("../../api/queries/overview/updateOverview.cjs.js");require("../../api/queries/versions/getVersionsProducts.cjs.js");require("../../api/queries/permissions/getPermissions.cjs.js");require("../../api/queries/products/createProduct.cjs.js");require("../../api/queries/products/getFolderProducts.cjs.js");require("../../api/queries/project/getProject.cjs.js");require("../../api/queries/project/updateProject.cjs.js");require("../../api/queries/projectFolders/projectFolders.cjs.js");require("../../api/queries/review/getReview.cjs.js");require("../../api/queries/review/updateReview.cjs.js");require("../../api/queries/share/share.cjs.js");require("../../api/queries/system/getSystem.cjs.js");require("../../api/queries/tasks/getTasks.cjs.js");require("../../api/queries/tasks/updateTasks.cjs.js");require("../../api/queries/teams/getTeams.cjs.js");require("../../api/queries/userDashboard/getUserDashboard.cjs.js");require("../../api/queries/users/getUsers.cjs.js");require("../../api/queries/users/updateUsers.cjs.js");require("../../api/queries/users/guests.cjs.js");require("../../api/queries/versions/updateVersions.cjs.js");require("../../api/queries/views/getViews.cjs.js");require("../../api/queries/views/updateViews.cjs.js");require("../../api/queries/watchers/getWatchers.cjs.js");require("../../api/queries/uris/getUris.cjs.js");const a=require("@ynput/ayon-react-components"),g=require("../../../../node_modules/@uiw/react-textarea-code-editor/esm/index.cjs.js");require("lodash");const m=require("../../util/copyToClipboard.cjs.js");require("uuid");require("../../util/pubsub.cjs.js");const y=({projectName:n,entityType:i,entityIds:s,visible:t,onHide:l})=>{const{data:r={},isLoading:o,isError:u,error:c}=x.useGetEntityQuery({projectName:n,entityType:i,entityId:s?.[0]},{skip:!t});u&&p.toast.error(`Unable to load detail. ${c}`);const q=d.useMemo(()=>{try{return JSON.stringify(r,null,2)}catch{return String(r)}},[r]);return!t||Array.isArray(r)&&r.length<1?null:e.jsxRuntimeExports.jsxs(a.Dialog,{isOpen:!0,onClose:l,size:"lg",style:{width:"50vw"},header:`${i} detail`,children:[e.jsxRuntimeExports.jsx("style",{children:`
2
2
  .details-dialog__code { position: relative; }
3
3
  .details-dialog__copy { position: absolute; right: 12px; top: 24px; z-index: 10; background: rgba(0,0,0,0.5); border-radius: 4px; padding: 6px; cursor: pointer; display: none; align-items: center; justify-content: center; }
4
4
  .details-dialog__code:hover .details-dialog__copy, .details-dialog__code:focus-within .details-dialog__copy { display: flex; }
@@ -1 +1 @@
1
- {"version":3,"file":"DetailsDialog.cjs.js","sources":["../../../../../src/components/DetailsDialog/DetailsDialog.tsx"],"sourcesContent":["import { useMemo } from 'react'\nimport { toast } from 'react-toastify'\nimport { useGetEntityQuery } from '@shared/api'\nimport { Dialog, Icon } from '@ynput/ayon-react-components'\nimport CodeEditor from '@uiw/react-textarea-code-editor'\nimport { copyToClipboard } from '@shared/util'\n\nexport interface DetailsDialogProps {\n projectName?: string\n entityType: string\n entityIds: string[]\n visible: boolean\n onHide: () => void\n}\n\nexport const DetailsDialog = ({\n projectName,\n entityType,\n entityIds,\n visible,\n onHide,\n}: DetailsDialogProps) => {\n const {\n data = {},\n isLoading,\n isError,\n error,\n } = useGetEntityQuery(\n { projectName, entityType: entityType, entityId: entityIds?.[0] },\n { skip: !visible },\n )\n\n // Show error toast if the query errored\n if (isError) {\n toast.error(`Unable to load detail. ${error}`)\n }\n\n // Raw pretty JSON for copying and highlighting\n const rawJson = useMemo(() => {\n try {\n return JSON.stringify(data, null, 2)\n } catch {\n return String(data)\n }\n }, [data])\n\n // Keep the early return after hooks to ensure hooks are called on every render in the same order\n if (!visible || (Array.isArray(data) ? data.length < 1 : false)) return null\n\n return (\n <Dialog\n isOpen={true}\n onClose={onHide}\n size=\"lg\"\n style={{ width: '50vw' }}\n header={`${entityType} detail`}\n >\n <style>{`\n .details-dialog__code { position: relative; }\n .details-dialog__copy { position: absolute; right: 12px; top: 24px; z-index: 10; background: rgba(0,0,0,0.5); border-radius: 4px; padding: 6px; cursor: pointer; display: none; align-items: center; justify-content: center; }\n .details-dialog__code:hover .details-dialog__copy, .details-dialog__code:focus-within .details-dialog__copy { display: flex; }\n .w-tc-editor .token.property { color: #c9a5f7 !important; }\n .w-tc-editor .token.string { color: #6bc985 !important; }\n .w-tc-editor .token.number { color: #e5a66b !important; }\n .w-tc-editor .token.boolean { color: #e5a66b !important; }\n .w-tc-editor .token.null { color: #7a8a99 !important; }\n .w-tc-editor .token.punctuation { color: #b0bec5 !important; }\n .w-tc-editor .token.operator { color: #b0bec5 !important; }\n .details-dialog__code .w-tc-editor textarea { display: none !important; }\n `}</style>\n <div className=\"details-dialog__code\">\n {isLoading || isError ? (\n <pre>{isLoading ? 'loading...' : 'error...'}</pre>\n ) : (\n <>\n <div\n role=\"button\"\n aria-label=\"Copy JSON\"\n onClick={() => copyToClipboard(rawJson)}\n className=\"details-dialog__copy\"\n >\n <Icon icon={'content_copy'} data-tooltip=\"Copy to clipboard\" />\n </div>\n <CodeEditor\n wrap={'off'}\n value={rawJson}\n language=\"json\"\n placeholder=\"Please enter JS code.\"\n readOnly\n data-color-mode={'dark'}\n />\n </>\n )}\n </div>\n </Dialog>\n )\n}"],"names":["DetailsDialog","projectName","entityType","entityIds","visible","onHide","data","isLoading","isError","error","useGetEntityQuery","toast","rawJson","useMemo","jsxs","Dialog","jsx","Fragment","copyToClipboard","Icon","CodeEditor"],"mappings":"2sKAeO,MAAMA,EAAgB,CAAC,CAC5B,YAAAC,EACA,WAAAC,EACA,UAAAC,EACA,QAAAC,EACA,OAAAC,CACF,IAA0B,CACxB,KAAM,CACJ,KAAAC,EAAO,CAAA,EACP,UAAAC,EACA,QAAAC,EACA,MAAAC,CAAA,EACEC,EAAAA,kBACF,CAAE,YAAAT,EAAa,WAAAC,EAAwB,SAAUC,IAAY,CAAC,CAAA,EAC9D,CAAE,KAAM,CAACC,CAAA,CAAQ,EAIfI,GACFG,EAAAA,MAAM,MAAM,0BAA0BF,CAAK,EAAE,EAI/C,MAAMG,EAAUC,EAAAA,QAAQ,IAAM,CAC5B,GAAI,CACF,OAAO,KAAK,UAAUP,EAAM,KAAM,CAAC,CACrC,MAAQ,CACN,OAAO,OAAOA,CAAI,CACpB,CACF,EAAG,CAACA,CAAI,CAAC,EAGT,MAAI,CAACF,GAAY,MAAM,QAAQE,CAAI,GAAIA,EAAK,OAAS,EAAmB,KAGtEQ,EAAAA,kBAAAA,KAACC,EAAAA,OAAA,CACC,OAAQ,GACR,QAASV,EACT,KAAK,KACL,MAAO,CAAE,MAAO,MAAA,EAChB,OAAQ,GAAGH,CAAU,UAErB,SAAA,CAAAc,wBAAC,QAAA,CAAO,SAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAYN,EACFA,wBAAC,MAAA,CAAI,UAAU,uBACZ,SAAAT,GAAaC,EACZQ,wBAAC,MAAA,CAAK,SAAAT,EAAY,aAAe,UAAA,CAAW,EAE5CO,yBAAAG,EAAAA,kBAAAA,SAAA,CACE,SAAA,CAAAD,EAAAA,kBAAAA,IAAC,MAAA,CACC,KAAK,SACL,aAAW,YACX,QAAS,IAAME,EAAAA,gBAAgBN,CAAO,EACtC,UAAU,uBAEV,SAAAI,EAAAA,kBAAAA,IAACG,OAAA,CAAK,KAAM,eAAgB,eAAa,mBAAA,CAAoB,CAAA,CAAA,EAE/DH,EAAAA,kBAAAA,IAACI,EAAAA,QAAA,CACC,KAAM,MACN,MAAOR,EACP,SAAS,OACT,YAAY,wBACZ,SAAQ,GACR,kBAAiB,MAAA,CAAA,CACnB,CAAA,CACF,CAAA,CAEJ,CAAA,CAAA,CAAA,CAGN"}
1
+ {"version":3,"file":"DetailsDialog.cjs.js","sources":["../../../../../src/components/DetailsDialog/DetailsDialog.tsx"],"sourcesContent":["import { useMemo } from 'react'\nimport { toast } from 'react-toastify'\nimport { useGetEntityQuery } from '@shared/api'\nimport { Dialog, Icon } from '@ynput/ayon-react-components'\nimport CodeEditor from '@uiw/react-textarea-code-editor'\nimport { copyToClipboard } from '@shared/util'\n\nexport interface DetailsDialogProps {\n projectName?: string\n entityType: string\n entityIds: string[]\n visible: boolean\n onHide: () => void\n}\n\nexport const DetailsDialog = ({\n projectName,\n entityType,\n entityIds,\n visible,\n onHide,\n}: DetailsDialogProps) => {\n const {\n data = {},\n isLoading,\n isError,\n error,\n } = useGetEntityQuery(\n { projectName, entityType: entityType, entityId: entityIds?.[0] },\n { skip: !visible },\n )\n\n // Show error toast if the query errored\n if (isError) {\n toast.error(`Unable to load detail. ${error}`)\n }\n\n // Raw pretty JSON for copying and highlighting\n const rawJson = useMemo(() => {\n try {\n return JSON.stringify(data, null, 2)\n } catch {\n return String(data)\n }\n }, [data])\n\n // Keep the early return after hooks to ensure hooks are called on every render in the same order\n if (!visible || (Array.isArray(data) ? data.length < 1 : false)) return null\n\n return (\n <Dialog\n isOpen={true}\n onClose={onHide}\n size=\"lg\"\n style={{ width: '50vw' }}\n header={`${entityType} detail`}\n >\n <style>{`\n .details-dialog__code { position: relative; }\n .details-dialog__copy { position: absolute; right: 12px; top: 24px; z-index: 10; background: rgba(0,0,0,0.5); border-radius: 4px; padding: 6px; cursor: pointer; display: none; align-items: center; justify-content: center; }\n .details-dialog__code:hover .details-dialog__copy, .details-dialog__code:focus-within .details-dialog__copy { display: flex; }\n .w-tc-editor .token.property { color: #c9a5f7 !important; }\n .w-tc-editor .token.string { color: #6bc985 !important; }\n .w-tc-editor .token.number { color: #e5a66b !important; }\n .w-tc-editor .token.boolean { color: #e5a66b !important; }\n .w-tc-editor .token.null { color: #7a8a99 !important; }\n .w-tc-editor .token.punctuation { color: #b0bec5 !important; }\n .w-tc-editor .token.operator { color: #b0bec5 !important; }\n .details-dialog__code .w-tc-editor textarea { display: none !important; }\n `}</style>\n <div className=\"details-dialog__code\">\n {isLoading || isError ? (\n <pre>{isLoading ? 'loading...' : 'error...'}</pre>\n ) : (\n <>\n <div\n role=\"button\"\n aria-label=\"Copy JSON\"\n onClick={() => copyToClipboard(rawJson)}\n className=\"details-dialog__copy\"\n >\n <Icon icon={'content_copy'} data-tooltip=\"Copy to clipboard\" />\n </div>\n <CodeEditor\n wrap={'off'}\n value={rawJson}\n language=\"json\"\n placeholder=\"Please enter JS code.\"\n readOnly\n data-color-mode={'dark'}\n />\n </>\n )}\n </div>\n </Dialog>\n )\n}"],"names":["DetailsDialog","projectName","entityType","entityIds","visible","onHide","data","isLoading","isError","error","useGetEntityQuery","toast","rawJson","useMemo","jsxs","Dialog","jsx","Fragment","copyToClipboard","Icon","CodeEditor"],"mappings":"2wKAeO,MAAMA,EAAgB,CAAC,CAC5B,YAAAC,EACA,WAAAC,EACA,UAAAC,EACA,QAAAC,EACA,OAAAC,CACF,IAA0B,CACxB,KAAM,CACJ,KAAAC,EAAO,CAAA,EACP,UAAAC,EACA,QAAAC,EACA,MAAAC,CAAA,EACEC,EAAAA,kBACF,CAAE,YAAAT,EAAa,WAAAC,EAAwB,SAAUC,IAAY,CAAC,CAAA,EAC9D,CAAE,KAAM,CAACC,CAAA,CAAQ,EAIfI,GACFG,EAAAA,MAAM,MAAM,0BAA0BF,CAAK,EAAE,EAI/C,MAAMG,EAAUC,EAAAA,QAAQ,IAAM,CAC5B,GAAI,CACF,OAAO,KAAK,UAAUP,EAAM,KAAM,CAAC,CACrC,MAAQ,CACN,OAAO,OAAOA,CAAI,CACpB,CACF,EAAG,CAACA,CAAI,CAAC,EAGT,MAAI,CAACF,GAAY,MAAM,QAAQE,CAAI,GAAIA,EAAK,OAAS,EAAmB,KAGtEQ,EAAAA,kBAAAA,KAACC,EAAAA,OAAA,CACC,OAAQ,GACR,QAASV,EACT,KAAK,KACL,MAAO,CAAE,MAAO,MAAA,EAChB,OAAQ,GAAGH,CAAU,UAErB,SAAA,CAAAc,wBAAC,QAAA,CAAO,SAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAYN,EACFA,wBAAC,MAAA,CAAI,UAAU,uBACZ,SAAAT,GAAaC,EACZQ,wBAAC,MAAA,CAAK,SAAAT,EAAY,aAAe,UAAA,CAAW,EAE5CO,yBAAAG,EAAAA,kBAAAA,SAAA,CACE,SAAA,CAAAD,EAAAA,kBAAAA,IAAC,MAAA,CACC,KAAK,SACL,aAAW,YACX,QAAS,IAAME,EAAAA,gBAAgBN,CAAO,EACtC,UAAU,uBAEV,SAAAI,EAAAA,kBAAAA,IAACG,OAAA,CAAK,KAAM,eAAgB,eAAa,mBAAA,CAAoB,CAAA,CAAA,EAE/DH,EAAAA,kBAAAA,IAACI,EAAAA,QAAA,CACC,KAAM,MACN,MAAOR,EACP,SAAS,OACT,YAAY,wBACZ,SAAQ,GACR,kBAAiB,MAAA,CAAA,CACnB,CAAA,CACF,CAAA,CAEJ,CAAA,CAAA,CAAA,CAGN"}
@@ -64,6 +64,7 @@ import "../../api/queries/entityLists/getListsAttributes.es.js";
64
64
  import "../../api/queries/entityLists/updateListsAttributes.es.js";
65
65
  import "../../api/queries/entityLists/listFolders.es.js";
66
66
  import "../../api/queries/folders/getFolders.es.js";
67
+ import "../../api/queries/folders/getFolderDeleteInfo.es.js";
67
68
  import "../../api/queries/grouping/getGrouping.es.js";
68
69
  import "../../api/queries/links/updateLinks.es.js";
69
70
  import "../../api/queries/links/getLinks.es.js";
@@ -99,7 +100,7 @@ import "lodash";
99
100
  import { copyToClipboard as x } from "../../util/copyToClipboard.es.js";
100
101
  import "uuid";
101
102
  import "../../util/pubsub.es.js";
102
- const st = ({
103
+ const gt = ({
103
104
  projectName: a,
104
105
  entityType: r,
105
106
  entityIds: l,
@@ -173,6 +174,6 @@ const st = ({
173
174
  );
174
175
  };
175
176
  export {
176
- st as DetailsDialog
177
+ gt as DetailsDialog
177
178
  };
178
179
  //# sourceMappingURL=DetailsDialog.es.js.map