@ynput/ayon-frontend-shared 0.3.21 → 0.3.23

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 (360) hide show
  1. package/dist/DetailsPanel.cjs.js +1 -1
  2. package/dist/DetailsPanel.es.js +23 -22
  3. package/dist/DetailsPanel.es.js.map +1 -1
  4. package/dist/_virtual/index.cjs15.js +1 -1
  5. package/dist/_virtual/index.cjs19.js +1 -1
  6. package/dist/_virtual/index.cjs6.js +1 -1
  7. package/dist/_virtual/index.cjs8.js +1 -1
  8. package/dist/_virtual/index.es15.js +2 -2
  9. package/dist/_virtual/index.es16.js +2 -2
  10. package/dist/_virtual/index.es17.js +2 -2
  11. package/dist/_virtual/index.es18.js +2 -2
  12. package/dist/_virtual/index.es19.js +2 -2
  13. package/dist/_virtual/index.es6.js +2 -2
  14. package/dist/_virtual/index.es8.js +2 -2
  15. package/dist/components.cjs.js +1 -1
  16. package/dist/components.es.js +157 -155
  17. package/dist/components.es.js.map +1 -1
  18. package/dist/index.cjs.js +1 -1
  19. package/dist/index.es.js +10 -9
  20. package/dist/index.es.js.map +1 -1
  21. package/dist/node_modules/parse-numeric-range/index.cjs.js +1 -1
  22. package/dist/node_modules/parse-numeric-range/index.es.js +1 -1
  23. package/dist/node_modules/remove-accents/index.cjs.js +1 -1
  24. package/dist/node_modules/remove-accents/index.es.js +1 -1
  25. package/dist/shared/node_modules/@module-federation/error-codes/dist/index.cjs.js +1 -1
  26. package/dist/shared/node_modules/@module-federation/error-codes/dist/index.es.js +1 -1
  27. package/dist/shared/node_modules/@module-federation/runtime-core/dist/index.cjs.js +1 -1
  28. package/dist/shared/node_modules/@module-federation/runtime-core/dist/index.es.js +1 -1
  29. package/dist/shared/node_modules/@module-federation/runtime-core/dist/plugins/snapshot/index.cjs.js +1 -1
  30. package/dist/shared/node_modules/@module-federation/runtime-core/dist/plugins/snapshot/index.es.js +1 -1
  31. package/dist/shared/node_modules/@module-federation/runtime-core/dist/remote/index.cjs.js +1 -1
  32. package/dist/shared/node_modules/@module-federation/runtime-core/dist/remote/index.es.js +1 -1
  33. package/dist/shared/node_modules/@module-federation/runtime-core/dist/shared/index.cjs.js +1 -1
  34. package/dist/shared/node_modules/@module-federation/runtime-core/dist/shared/index.es.js +1 -1
  35. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/index.cjs.js +1 -1
  36. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/index.es.js +1 -1
  37. package/dist/shared/node_modules/prop-types/index.cjs.js +1 -1
  38. package/dist/shared/node_modules/prop-types/index.es.js +1 -1
  39. package/dist/shared/node_modules/react-is/index.cjs.js +1 -1
  40. package/dist/shared/node_modules/react-is/index.es.js +1 -1
  41. package/dist/shared/src/components/AttributeEditor/AttributeEditor.cjs.js +1 -1
  42. package/dist/shared/src/components/AttributeEditor/AttributeEditor.cjs.js.map +1 -1
  43. package/dist/shared/src/components/AttributeEditor/AttributeEditor.es.js +155 -175
  44. package/dist/shared/src/components/AttributeEditor/AttributeEditor.es.js.map +1 -1
  45. package/dist/shared/src/components/AttributeEditor/attributeTypeMap.cjs.js +2 -0
  46. package/dist/shared/src/components/AttributeEditor/attributeTypeMap.cjs.js.map +1 -0
  47. package/dist/shared/src/components/AttributeEditor/attributeTypeMap.es.js +77 -0
  48. package/dist/shared/src/components/AttributeEditor/attributeTypeMap.es.js.map +1 -0
  49. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js +1 -1
  50. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js.map +1 -1
  51. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js +3 -2
  52. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js.map +1 -1
  53. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.cjs.js +1 -1
  54. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.cjs.js.map +1 -1
  55. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.es.js +3 -2
  56. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.es.js.map +1 -1
  57. package/dist/shared/src/components/EnumEditor/DraggableEnumEditorItem.cjs.js +1 -1
  58. package/dist/shared/src/components/EnumEditor/DraggableEnumEditorItem.cjs.js.map +1 -1
  59. package/dist/shared/src/components/EnumEditor/DraggableEnumEditorItem.es.js +26 -24
  60. package/dist/shared/src/components/EnumEditor/DraggableEnumEditorItem.es.js.map +1 -1
  61. package/dist/shared/src/components/EnumEditor/EnumEditor.cjs.js +1 -1
  62. package/dist/shared/src/components/EnumEditor/EnumEditor.cjs.js.map +1 -1
  63. package/dist/shared/src/components/EnumEditor/EnumEditor.es.js +63 -60
  64. package/dist/shared/src/components/EnumEditor/EnumEditor.es.js.map +1 -1
  65. package/dist/shared/src/components/EnumEditor/EnumEditorItem.cjs.js +1 -1
  66. package/dist/shared/src/components/EnumEditor/EnumEditorItem.cjs.js.map +1 -1
  67. package/dist/shared/src/components/EnumEditor/EnumEditorItem.es.js +110 -89
  68. package/dist/shared/src/components/EnumEditor/EnumEditorItem.es.js.map +1 -1
  69. package/dist/shared/src/components/EnumEditor/hooks/useDraggable.cjs.js +1 -1
  70. package/dist/shared/src/components/EnumEditor/hooks/useDraggable.cjs.js.map +1 -1
  71. package/dist/shared/src/components/EnumEditor/hooks/useDraggable.es.js +36 -28
  72. package/dist/shared/src/components/EnumEditor/hooks/useDraggable.es.js.map +1 -1
  73. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js +1 -1
  74. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js.map +1 -1
  75. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js +3 -2
  76. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js.map +1 -1
  77. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js +1 -1
  78. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js.map +1 -1
  79. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js +3 -2
  80. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js.map +1 -1
  81. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +1 -1
  82. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
  83. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +5 -4
  84. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
  85. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js +1 -1
  86. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js.map +1 -1
  87. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js +3 -2
  88. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js.map +1 -1
  89. package/dist/shared/src/components/RemotePage/ProjectPageRemote.cjs.js +1 -1
  90. package/dist/shared/src/components/RemotePage/ProjectPageRemote.cjs.js.map +1 -1
  91. package/dist/shared/src/components/RemotePage/ProjectPageRemote.es.js +3 -2
  92. package/dist/shared/src/components/RemotePage/ProjectPageRemote.es.js.map +1 -1
  93. package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js +1 -1
  94. package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js.map +1 -1
  95. package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js +3 -2
  96. package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js.map +1 -1
  97. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js +1 -1
  98. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js.map +1 -1
  99. package/dist/shared/src/components/RenameForm/RenameForm.es.js +3 -2
  100. package/dist/shared/src/components/RenameForm/RenameForm.es.js.map +1 -1
  101. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +1 -1
  102. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
  103. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +3 -2
  104. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js.map +1 -1
  105. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +1 -1
  106. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
  107. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +4 -3
  108. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js.map +1 -1
  109. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +1 -1
  110. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
  111. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +3 -2
  112. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
  113. package/dist/shared/src/components/ReviewablesSelector/Card.cjs.js +2 -0
  114. package/dist/shared/src/components/ReviewablesSelector/Card.cjs.js.map +1 -0
  115. package/dist/shared/src/components/ReviewablesSelector/Card.es.js +307 -0
  116. package/dist/shared/src/components/ReviewablesSelector/Card.es.js.map +1 -0
  117. package/dist/shared/src/components/ReviewablesSelector/ReviewablesSelector.cjs.js +1 -1
  118. package/dist/shared/src/components/ReviewablesSelector/ReviewablesSelector.cjs.js.map +1 -1
  119. package/dist/shared/src/components/ReviewablesSelector/ReviewablesSelector.es.js +64 -322
  120. package/dist/shared/src/components/ReviewablesSelector/ReviewablesSelector.es.js.map +1 -1
  121. package/dist/shared/src/components/ReviewablesSelector/ReviewablesSelector.styled.cjs.js +22 -5
  122. package/dist/shared/src/components/ReviewablesSelector/ReviewablesSelector.styled.cjs.js.map +1 -1
  123. package/dist/shared/src/components/ReviewablesSelector/ReviewablesSelector.styled.es.js +27 -9
  124. package/dist/shared/src/components/ReviewablesSelector/ReviewablesSelector.styled.es.js.map +1 -1
  125. package/dist/shared/src/components/SimpleFormDialog/FormFile.cjs.js +1 -1
  126. package/dist/shared/src/components/SimpleFormDialog/FormFile.cjs.js.map +1 -1
  127. package/dist/shared/src/components/SimpleFormDialog/FormFile.es.js +5 -4
  128. package/dist/shared/src/components/SimpleFormDialog/FormFile.es.js.map +1 -1
  129. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +1 -1
  130. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js.map +1 -1
  131. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +3 -2
  132. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
  133. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js +1 -1
  134. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js.map +1 -1
  135. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js +3 -2
  136. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js.map +1 -1
  137. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js +1 -1
  138. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js.map +1 -1
  139. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js +5 -4
  140. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js.map +1 -1
  141. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +1 -1
  142. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
  143. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +3 -2
  144. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
  145. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +1 -1
  146. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
  147. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +3 -2
  148. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
  149. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +1 -1
  150. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
  151. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +3 -2
  152. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
  153. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js +1 -1
  154. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
  155. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.es.js +3 -2
  156. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
  157. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.cjs.js +1 -1
  158. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
  159. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.es.js +3 -2
  160. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
  161. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.cjs.js +1 -1
  162. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
  163. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.es.js +3 -2
  164. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
  165. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js +1 -1
  166. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js.map +1 -1
  167. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js +17 -16
  168. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js.map +1 -1
  169. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.cjs.js +1 -1
  170. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.cjs.js.map +1 -1
  171. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.es.js +3 -2
  172. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.es.js.map +1 -1
  173. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.cjs.js +1 -1
  174. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.cjs.js.map +1 -1
  175. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.es.js +3 -2
  176. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.es.js.map +1 -1
  177. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js +1 -1
  178. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js.map +1 -1
  179. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js +3 -2
  180. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js.map +1 -1
  181. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js +1 -1
  182. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js.map +1 -1
  183. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js +3 -2
  184. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js.map +1 -1
  185. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js +1 -1
  186. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js.map +1 -1
  187. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js +3 -2
  188. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js.map +1 -1
  189. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js +1 -1
  190. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js.map +1 -1
  191. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js +3 -2
  192. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js.map +1 -1
  193. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.cjs.js +1 -1
  194. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.cjs.js.map +1 -1
  195. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.es.js +3 -2
  196. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.es.js.map +1 -1
  197. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js +1 -1
  198. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js.map +1 -1
  199. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js +3 -2
  200. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js.map +1 -1
  201. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js +1 -1
  202. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js.map +1 -1
  203. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js +3 -2
  204. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js.map +1 -1
  205. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js +1 -1
  206. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js.map +1 -1
  207. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js +3 -2
  208. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js.map +1 -1
  209. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.cjs.js +1 -1
  210. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.cjs.js.map +1 -1
  211. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.es.js +7 -6
  212. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.es.js.map +1 -1
  213. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js +1 -1
  214. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js.map +1 -1
  215. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js +3 -2
  216. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js.map +1 -1
  217. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +1 -1
  218. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
  219. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +3 -2
  220. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
  221. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +1 -1
  222. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js.map +1 -1
  223. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +3 -2
  224. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -1
  225. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.cjs.js +1 -1
  226. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.cjs.js.map +1 -1
  227. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.es.js +3 -2
  228. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.es.js.map +1 -1
  229. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js +1 -1
  230. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js.map +1 -1
  231. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js +3 -2
  232. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js.map +1 -1
  233. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js +1 -1
  234. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js.map +1 -1
  235. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js +3 -2
  236. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -1
  237. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js +1 -1
  238. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js.map +1 -1
  239. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js +3 -2
  240. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js.map +1 -1
  241. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js +1 -1
  242. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js.map +1 -1
  243. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js +3 -2
  244. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js.map +1 -1
  245. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js +1 -1
  246. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js.map +1 -1
  247. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js +6 -5
  248. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js.map +1 -1
  249. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js +1 -1
  250. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js.map +1 -1
  251. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js +3 -2
  252. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js.map +1 -1
  253. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js +1 -1
  254. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js.map +1 -1
  255. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js +3 -2
  256. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js.map +1 -1
  257. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js +1 -1
  258. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js.map +1 -1
  259. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js +3 -2
  260. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js.map +1 -1
  261. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js +1 -1
  262. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js.map +1 -1
  263. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js +3 -2
  264. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js.map +1 -1
  265. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js +1 -1
  266. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js.map +1 -1
  267. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js +3 -2
  268. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js.map +1 -1
  269. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js +1 -1
  270. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js.map +1 -1
  271. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js +3 -2
  272. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js.map +1 -1
  273. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js +1 -1
  274. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js.map +1 -1
  275. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js +3 -2
  276. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js.map +1 -1
  277. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js +1 -1
  278. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js.map +1 -1
  279. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js +3 -2
  280. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js.map +1 -1
  281. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js +1 -1
  282. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js.map +1 -1
  283. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js +3 -2
  284. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js.map +1 -1
  285. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js +1 -1
  286. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js.map +1 -1
  287. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js +3 -2
  288. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js.map +1 -1
  289. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.cjs.js +1 -1
  290. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.cjs.js.map +1 -1
  291. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.es.js +9 -8
  292. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.es.js.map +1 -1
  293. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +1 -1
  294. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js.map +1 -1
  295. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +14 -13
  296. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
  297. package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.cjs.js +1 -1
  298. package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.cjs.js.map +1 -1
  299. package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.es.js +1 -0
  300. package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.es.js.map +1 -1
  301. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js +1 -1
  302. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js.map +1 -1
  303. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js +4 -3
  304. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js.map +1 -1
  305. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js +1 -1
  306. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js.map +1 -1
  307. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js +5 -4
  308. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js.map +1 -1
  309. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js +1 -1
  310. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js.map +1 -1
  311. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js +3 -2
  312. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js.map +1 -1
  313. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.cjs.js +1 -1
  314. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.cjs.js.map +1 -1
  315. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.es.js +3 -2
  316. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.es.js.map +1 -1
  317. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +1 -1
  318. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
  319. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +3 -2
  320. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js.map +1 -1
  321. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js +1 -1
  322. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js.map +1 -1
  323. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js +3 -2
  324. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js.map +1 -1
  325. package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js +1 -1
  326. package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js.map +1 -1
  327. package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js +3 -2
  328. package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js.map +1 -1
  329. package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.cjs.js +1 -1
  330. package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.cjs.js.map +1 -1
  331. package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.es.js +3 -2
  332. package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.es.js.map +1 -1
  333. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.cjs.js +1 -1
  334. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.cjs.js.map +1 -1
  335. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.es.js +4 -4
  336. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.es.js.map +1 -1
  337. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js +1 -1
  338. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js.map +1 -1
  339. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js +3 -2
  340. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js.map +1 -1
  341. package/dist/shared/src/context/WebsocketContext.cjs.js +1 -1
  342. package/dist/shared/src/context/WebsocketContext.cjs.js.map +1 -1
  343. package/dist/shared/src/context/WebsocketContext.es.js +5 -4
  344. package/dist/shared/src/context/WebsocketContext.es.js.map +1 -1
  345. package/dist/shared/src/hooks/useLoadModule.cjs.js.map +1 -1
  346. package/dist/shared/src/hooks/useLoadModule.es.js.map +1 -1
  347. package/dist/shared/src/util/getAttributeIcon.cjs.js +1 -1
  348. package/dist/shared/src/util/getAttributeIcon.cjs.js.map +1 -1
  349. package/dist/shared/src/util/getAttributeIcon.es.js +5 -5
  350. package/dist/shared/src/util/getAttributeIcon.es.js.map +1 -1
  351. package/dist/types/components/AttributeEditor/attributeTypeMap.d.ts +13 -0
  352. package/dist/types/components/AttributeEditor/index.d.ts +1 -0
  353. package/dist/types/components/EnumEditor/DraggableEnumEditorItem.d.ts +2 -1
  354. package/dist/types/components/EnumEditor/EnumEditor.d.ts +2 -1
  355. package/dist/types/components/EnumEditor/EnumEditorItem.d.ts +2 -1
  356. package/dist/types/components/EnumEditor/hooks/useDraggable.d.ts +3 -1
  357. package/dist/types/components/ReviewablesSelector/Card.d.ts +18 -0
  358. package/dist/types/components/ReviewablesSelector/ReviewablesSelector.d.ts +1 -2
  359. package/dist/types/components/ReviewablesSelector/ReviewablesSelector.styled.d.ts +1 -0
  360. package/package.json +1 -1
@@ -1,2 +1,2 @@
1
- "use strict";const e=require("../../../../_virtual/jsx-runtime.cjs.js"),i=require("react"),E=require("lodash"),l=require("./EnumEditor.styled.cjs.js"),o=require("clsx"),A=({item:c,onChange:r,onRemove:f,onDuplicate:N,showRemoveButton:m=!0,showDuplicateButton:R=!0,autoFocus:n=!1,isExpanded:x=!0,className:h,pt:s,...k})=>{const{label:w,value:y,icon:a,color:u,isNewAttribute:d}=c,p=i.useRef(null),j=i.useRef(null),b=i.useRef(null),v=i.useRef(null);return i.useEffect(()=>{(n||c.isNewAttribute)&&p.current?.select()},[n,c.isNewAttribute]),i.useEffect(()=>{x&&!n&&!c.isNewAttribute&&setTimeout(()=>p.current?.focus(),250)},[x,n,c.isNewAttribute]),e.jsxRuntimeExports.jsxs(l.EnumItemBody,{...s?.wrapper,...k,className:o(h,s?.wrapper?.className,{expanded:x,collapsed:!x}),children:[e.jsxRuntimeExports.jsxs(l.Row,{...s?.label?.wrapper,children:[e.jsxRuntimeExports.jsx(l.Label,{...s?.label?.label,children:"Label"}),e.jsxRuntimeExports.jsx(l.InputText,{ref:p,value:w,autoFocus:n||d,...s?.label?.input,className:o(s?.label?.input?.className),onChange:t=>{if(!d)return r&&r(["label"],[t.target.value]);j.current&&(j.current.value=E.kebabCase(t.target.value)),r&&r(["label","value"],[t.target.value,E.kebabCase(t.target.value)])},placeholder:"Enter label"})]},"label"),e.jsxRuntimeExports.jsxs(l.Row,{...s?.value?.wrapper,children:[e.jsxRuntimeExports.jsx(l.Label,{...s?.value?.label,children:"Value"}),e.jsxRuntimeExports.jsx(l.InputText,{ref:j,value:j.current?.value||y,...s?.value?.input,className:o(s?.value?.input?.className),onChange:t=>r&&r(["value"],[t.target.value]),placeholder:"Enter value"})]},"value"),e.jsxRuntimeExports.jsxs(l.Row,{...s?.icon?.wrapper,children:[e.jsxRuntimeExports.jsx(l.Label,{...s?.icon?.label,children:"Icon"}),e.jsxRuntimeExports.jsxs(l.PlaceholderWrapper,{style:{position:"relative"},children:[e.jsxRuntimeExports.jsx(l.Placeholder,{style:{display:a?"none":"flex"},onClick:()=>{v.current?.open()},children:"Pick an icon..."}),e.jsxRuntimeExports.jsx(l.IconSelect,{ref:v,value:[a||"question_mark"],widthExpand:!0,...s?.icon?.input,className:o(s?.icon?.input?.className),style:{position:a?"relative":"absolute",visibility:a?"visible":"hidden",...s?.icon?.input?.style},onChange:t=>r&&r(["icon"],[t[0]])}),a&&e.jsxRuntimeExports.jsx(l.Button,{icon:"close",variant:"text",onClick:()=>{r&&r(["icon"],[void 0])}})]})]},"icon"),e.jsxRuntimeExports.jsxs(l.Row,{...s?.color?.wrapper,children:[e.jsxRuntimeExports.jsx(l.Label,{...s?.color?.label,children:"Color"}),e.jsxRuntimeExports.jsxs(l.PlaceholderWrapper,{style:{position:"relative"},children:[e.jsxRuntimeExports.jsxs(l.ColorPicker,{className:u?"active":"",style:{backgroundColor:u||void 0},onClick:()=>b.current?.click(),children:[u?"":"Pick a color...",e.jsxRuntimeExports.jsx("input",{type:"color",ref:b,value:u||"#000000",...s?.color?.input,className:o(s?.color?.input?.className),onChange:t=>r&&r(["color"],[t?.target.value.toString()])})]}),u&&e.jsxRuntimeExports.jsx(l.Button,{icon:"close",variant:"text",onClick:()=>{r&&r(["color"],[void 0])}})]})]},"color"),(m||R)&&e.jsxRuntimeExports.jsxs(l.Row,{...s?.footer,className:o("footer",s?.footer?.className),children:[m&&e.jsxRuntimeExports.jsx(l.ActionWrapper,{children:e.jsxRuntimeExports.jsx(l.Button,{icon:"close",variant:"text",onClick:f,children:"Remove"})}),R&&e.jsxRuntimeExports.jsx(l.ActionWrapper,{children:e.jsxRuntimeExports.jsx(l.Button,{icon:"content_copy",variant:"text",onClick:N,children:"Duplicate"})})]})]})};module.exports=A;
1
+ "use strict";const l=require("../../../../_virtual/jsx-runtime.cjs.js"),i=require("react"),R=require("lodash"),r=require("./EnumEditor.styled.cjs.js"),c=require("clsx"),P=({item:u,onChange:a,onCommit:t,onRemove:N,onDuplicate:w,showRemoveButton:d=!0,showDuplicateButton:E=!0,autoFocus:o=!1,isExpanded:p=!0,className:y,pt:s,...h})=>{const{label:g,value:m,icon:n,color:x,isNewAttribute:j}=u,v=i.useRef(null),b=i.useRef(null),f=i.useRef(null),k=i.useRef(null);return i.useEffect(()=>{(o||u.isNewAttribute)&&v.current?.select()},[o,u.isNewAttribute]),i.useEffect(()=>{p&&!o&&!u.isNewAttribute&&setTimeout(()=>v.current?.focus(),250)},[p,o,u.isNewAttribute]),l.jsxRuntimeExports.jsxs(r.EnumItemBody,{...s?.wrapper,...h,className:c(y,s?.wrapper?.className,{expanded:p,collapsed:!p}),children:[l.jsxRuntimeExports.jsxs(r.Row,{...s?.label?.wrapper,children:[l.jsxRuntimeExports.jsx(r.Label,{...s?.label?.label,children:"Label"}),l.jsxRuntimeExports.jsx(r.InputText,{ref:v,value:g,autoFocus:o||j,...s?.label?.input,className:c(s?.label?.input?.className),onChange:e=>{if(!j)return a&&a(["label"],[e.target.value]);b.current&&(b.current.value=R.kebabCase(e.target.value)),a&&a(["label","value"],[e.target.value,R.kebabCase(e.target.value)])},onBlur:e=>{j?t&&t(["label","value"],[e.target.value,R.kebabCase(e.target.value)]):t&&t(["label"],[e.target.value])},onKeyDown:e=>{e.key==="Enter"&&(e.stopPropagation(),j?t&&t(["label","value"],[e.target.value,R.kebabCase(e.target.value)]):t&&t(["label"],[e.target.value]))},placeholder:"Enter label"})]},"label"),l.jsxRuntimeExports.jsxs(r.Row,{...s?.value?.wrapper,children:[l.jsxRuntimeExports.jsx(r.Label,{...s?.value?.label,children:"Value"}),l.jsxRuntimeExports.jsx(r.InputText,{ref:b,value:b.current?.value||m,...s?.value?.input,className:c(s?.value?.input?.className),onChange:e=>a&&a(["value"],[e.target.value]),onBlur:e=>t&&t(["value"],[e.target.value]),onKeyDown:e=>{e.key==="Enter"&&(e.stopPropagation(),t&&t(["value"],[e.target.value]))},placeholder:"Enter value"})]},"value"),l.jsxRuntimeExports.jsxs(r.Row,{...s?.icon?.wrapper,children:[l.jsxRuntimeExports.jsx(r.Label,{...s?.icon?.label,children:"Icon"}),l.jsxRuntimeExports.jsxs(r.PlaceholderWrapper,{style:{position:"relative"},children:[l.jsxRuntimeExports.jsx(r.Placeholder,{style:{display:n?"none":"flex"},onClick:()=>{k.current?.open()},children:"Pick an icon..."}),l.jsxRuntimeExports.jsx(r.IconSelect,{ref:k,value:[n||"question_mark"],widthExpand:!0,...s?.icon?.input,className:c(s?.icon?.input?.className),style:{position:n?"relative":"absolute",visibility:n?"visible":"hidden",...s?.icon?.input?.style},onChange:e=>{a&&a(["icon"],[e[0]]),t&&t(["icon"],[e[0]])}}),n&&l.jsxRuntimeExports.jsx(r.Button,{icon:"close",variant:"text",onClick:()=>{a&&a(["icon"],[void 0])}})]})]},"icon"),l.jsxRuntimeExports.jsxs(r.Row,{...s?.color?.wrapper,children:[l.jsxRuntimeExports.jsx(r.Label,{...s?.color?.label,children:"Color"}),l.jsxRuntimeExports.jsxs(r.PlaceholderWrapper,{style:{position:"relative"},children:[l.jsxRuntimeExports.jsxs(r.ColorPicker,{className:x?"active":"",style:{backgroundColor:x||void 0},onClick:()=>f.current?.click(),children:[x?"":"Pick a color...",l.jsxRuntimeExports.jsx("input",{type:"color",ref:f,value:x||"#000000",...s?.color?.input,className:c(s?.color?.input?.className),onChange:e=>{a&&a(["color"],[e?.target.value.toString()]),t&&t(["color"],[e?.target.value.toString()])}})]}),x&&l.jsxRuntimeExports.jsx(r.Button,{icon:"close",variant:"text",onClick:()=>{a&&a(["color"],[void 0])}})]})]},"color"),(d||E)&&l.jsxRuntimeExports.jsxs(r.Row,{...s?.footer,className:c("footer",s?.footer?.className),children:[d&&l.jsxRuntimeExports.jsx(r.ActionWrapper,{children:l.jsxRuntimeExports.jsx(r.Button,{icon:"close",variant:"text",onClick:N,children:"Remove"})}),E&&l.jsxRuntimeExports.jsx(r.ActionWrapper,{children:l.jsxRuntimeExports.jsx(r.Button,{icon:"content_copy",variant:"text",onClick:w,children:"Duplicate"})})]})]})};module.exports=P;
2
2
  //# sourceMappingURL=EnumEditorItem.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EnumEditorItem.cjs.js","sources":["../../../../../src/components/EnumEditor/EnumEditorItem.tsx"],"sourcesContent":["import { useEffect, useRef } from 'react'\nimport { kebabCase } from 'lodash'\n\nimport { DropdownRef, Icon } from '@ynput/ayon-react-components'\n\nimport * as Styled from './EnumEditor.styled'\nimport { AttributeData } from './EnumEditor'\nimport clsx from 'clsx'\n\ntype DivPt = Partial<React.HTMLAttributes<HTMLDivElement>>\n\ntype TextInputPt = Partial<React.ComponentProps<typeof Styled.InputText>>\ntype IconInputPt = Partial<React.ComponentProps<typeof Styled.IconSelect>>\ntype ColorInputPt = Partial<React.InputHTMLAttributes<HTMLInputElement>>\n\nexport interface EnumEditorFieldPt<TInput> {\n wrapper?: DivPt\n label?: DivPt\n input?: Partial<TInput>\n}\n\nexport interface EnumEditorItemPt {\n wrapper?: DivPt\n label?: EnumEditorFieldPt<TextInputPt>\n value?: EnumEditorFieldPt<TextInputPt>\n icon?: EnumEditorFieldPt<IconInputPt>\n color?: EnumEditorFieldPt<ColorInputPt>\n footer?: DivPt\n}\n\nexport interface EnumEditorItemProps\n extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange'> {\n item: AttributeData\n onChange?: (attr: (keyof AttributeData)[], value: (boolean | string | undefined)[]) => void\n onRemove?: () => void\n onDuplicate?: () => void\n showRemoveButton?: boolean\n showDuplicateButton?: boolean\n autoFocus?: boolean\n isExpanded?: boolean\n pt?: EnumEditorItemPt\n}\n\nconst EnumEditorItem = ({\n item,\n onChange,\n onRemove,\n onDuplicate,\n showRemoveButton = true,\n showDuplicateButton = true,\n autoFocus = false,\n isExpanded = true,\n className,\n pt,\n ...props\n}: EnumEditorItemProps) => {\n const { label, value, icon, color, isNewAttribute } = item\n const labelRef = useRef<HTMLInputElement>(null)\n const valueRef = useRef<HTMLInputElement>(null)\n const colorPickerRef = useRef<HTMLInputElement>(null)\n const iconSelectRef = useRef<DropdownRef>(null)\n\n useEffect(() => {\n if (autoFocus || item.isNewAttribute) {\n labelRef.current?.select()\n }\n }, [autoFocus, item.isNewAttribute])\n\n // Handle focus when item becomes expanded\n useEffect(() => {\n if (isExpanded && !autoFocus && !item.isNewAttribute) {\n // Avoids jittery expand animation\n setTimeout(() => labelRef.current?.focus(), 250)\n }\n }, [isExpanded, autoFocus, item.isNewAttribute])\n\n return (\n <Styled.EnumItemBody\n {...pt?.wrapper}\n {...props}\n className={clsx(className, pt?.wrapper?.className, {\n expanded: isExpanded,\n collapsed: !isExpanded,\n })}\n >\n <Styled.Row key=\"label\" {...pt?.label?.wrapper}>\n <Styled.Label {...pt?.label?.label}>Label</Styled.Label>\n <Styled.InputText\n ref={labelRef}\n value={label}\n autoFocus={autoFocus || isNewAttribute}\n {...pt?.label?.input}\n className={clsx(pt?.label?.input?.className)}\n onChange={(event) => {\n if (!isNewAttribute) {\n return onChange && onChange(['label'], [event.target.value])\n }\n if (valueRef.current) {\n valueRef.current.value = kebabCase(event.target.value)\n }\n onChange &&\n onChange(['label', 'value'], [event.target.value, kebabCase(event.target.value)])\n }}\n placeholder=\"Enter label\"\n />\n </Styled.Row>\n\n <Styled.Row key=\"value\" {...pt?.value?.wrapper}>\n <Styled.Label {...pt?.value?.label}>Value</Styled.Label>\n <Styled.InputText\n ref={valueRef}\n value={valueRef.current?.value || value}\n {...pt?.value?.input}\n className={clsx(pt?.value?.input?.className)}\n onChange={(event) => onChange && onChange(['value'], [event.target.value])}\n placeholder=\"Enter value\"\n />\n </Styled.Row>\n\n <Styled.Row key=\"icon\" {...pt?.icon?.wrapper}>\n <Styled.Label {...pt?.icon?.label}>Icon</Styled.Label>\n\n <Styled.PlaceholderWrapper style={{ position: 'relative' }}>\n <Styled.Placeholder\n style={{ display: icon ? 'none' : 'flex' }}\n onClick={() => {\n iconSelectRef.current?.open()\n }}\n >\n Pick an icon...\n </Styled.Placeholder>\n\n <Styled.IconSelect\n ref={iconSelectRef}\n value={[icon || 'question_mark']}\n widthExpand\n {...pt?.icon?.input}\n className={clsx(pt?.icon?.input?.className)}\n style={{\n position: icon ? 'relative' : 'absolute',\n visibility: icon ? 'visible' : 'hidden',\n ...pt?.icon?.input?.style,\n }}\n onChange={(value) => {\n return onChange && onChange(['icon'], [value[0]])\n }}\n />\n {icon && (\n <Styled.Button\n icon=\"close\"\n variant=\"text\"\n onClick={() => {\n onChange && onChange(['icon'], [undefined])\n }}\n />\n )}\n </Styled.PlaceholderWrapper>\n </Styled.Row>\n\n <Styled.Row key=\"color\" {...pt?.color?.wrapper}>\n <Styled.Label {...pt?.color?.label}>Color</Styled.Label>\n\n <Styled.PlaceholderWrapper style={{ position: 'relative' }}>\n <Styled.ColorPicker\n className={color ? 'active' : ''}\n style={{ backgroundColor: color || undefined }}\n onClick={() => colorPickerRef.current?.click()}\n >\n {!color ? 'Pick a color...' : ''}\n <input\n type=\"color\"\n ref={colorPickerRef}\n value={color || '#000000'}\n {...pt?.color?.input}\n className={clsx(pt?.color?.input?.className)}\n onChange={(event) =>\n onChange && onChange(['color'], [event?.target.value.toString()])\n }\n />\n </Styled.ColorPicker>\n {color && (\n <Styled.Button\n icon=\"close\"\n variant=\"text\"\n onClick={() => {\n onChange && onChange(['color'], [undefined])\n }}\n />\n )}\n </Styled.PlaceholderWrapper>\n </Styled.Row>\n\n {(showRemoveButton || showDuplicateButton) && (\n <Styled.Row {...pt?.footer} className={clsx('footer', pt?.footer?.className)}>\n {showRemoveButton && (\n <Styled.ActionWrapper>\n <Styled.Button icon=\"close\" variant=\"text\" onClick={onRemove}>\n Remove\n </Styled.Button>\n </Styled.ActionWrapper>\n )}\n {showDuplicateButton && (\n <Styled.ActionWrapper>\n <Styled.Button icon=\"content_copy\" variant=\"text\" onClick={onDuplicate}>\n Duplicate\n </Styled.Button>\n </Styled.ActionWrapper>\n )}\n </Styled.Row>\n )}\n </Styled.EnumItemBody>\n )\n}\n\nexport default EnumEditorItem\n"],"names":["EnumEditorItem","item","onChange","onRemove","onDuplicate","showRemoveButton","showDuplicateButton","autoFocus","isExpanded","className","pt","props","label","value","icon","color","isNewAttribute","labelRef","useRef","valueRef","colorPickerRef","iconSelectRef","useEffect","jsxs","Styled.EnumItemBody","clsx","Styled.Row","jsx","Styled.Label","Styled.InputText","event","kebabCase","Styled.PlaceholderWrapper","Styled.Placeholder","Styled.IconSelect","Styled.Button","Styled.ColorPicker","Styled.ActionWrapper"],"mappings":"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"}
1
+ {"version":3,"file":"EnumEditorItem.cjs.js","sources":["../../../../../src/components/EnumEditor/EnumEditorItem.tsx"],"sourcesContent":["import { useEffect, useRef } from 'react'\nimport { kebabCase } from 'lodash'\n\nimport { DropdownRef, Icon } from '@ynput/ayon-react-components'\n\nimport * as Styled from './EnumEditor.styled'\nimport { AttributeData } from './EnumEditor'\nimport clsx from 'clsx'\n\ntype DivPt = Partial<React.HTMLAttributes<HTMLDivElement>>\n\ntype TextInputPt = Partial<React.ComponentProps<typeof Styled.InputText>>\ntype IconInputPt = Partial<React.ComponentProps<typeof Styled.IconSelect>>\ntype ColorInputPt = Partial<React.InputHTMLAttributes<HTMLInputElement>>\n\nexport interface EnumEditorFieldPt<TInput> {\n wrapper?: DivPt\n label?: DivPt\n input?: Partial<TInput>\n}\n\nexport interface EnumEditorItemPt {\n wrapper?: DivPt\n label?: EnumEditorFieldPt<TextInputPt>\n value?: EnumEditorFieldPt<TextInputPt>\n icon?: EnumEditorFieldPt<IconInputPt>\n color?: EnumEditorFieldPt<ColorInputPt>\n footer?: DivPt\n}\n\nexport interface EnumEditorItemProps\n extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange'> {\n item: AttributeData\n onChange?: (attr: (keyof AttributeData)[], value: (boolean | string | undefined)[]) => void\n onCommit?: (attr: (keyof AttributeData)[], value: (boolean | string | undefined)[]) => void\n onRemove?: () => void\n onDuplicate?: () => void\n showRemoveButton?: boolean\n showDuplicateButton?: boolean\n autoFocus?: boolean\n isExpanded?: boolean\n pt?: EnumEditorItemPt\n}\n\nconst EnumEditorItem = ({\n item,\n onChange,\n onCommit,\n onRemove,\n onDuplicate,\n showRemoveButton = true,\n showDuplicateButton = true,\n autoFocus = false,\n isExpanded = true,\n className,\n pt,\n ...props\n}: EnumEditorItemProps) => {\n const { label, value, icon, color, isNewAttribute } = item\n const labelRef = useRef<HTMLInputElement>(null)\n const valueRef = useRef<HTMLInputElement>(null)\n const colorPickerRef = useRef<HTMLInputElement>(null)\n const iconSelectRef = useRef<DropdownRef>(null)\n\n useEffect(() => {\n if (autoFocus || item.isNewAttribute) {\n labelRef.current?.select()\n }\n }, [autoFocus, item.isNewAttribute])\n\n // Handle focus when item becomes expanded\n useEffect(() => {\n if (isExpanded && !autoFocus && !item.isNewAttribute) {\n // Avoids jittery expand animation\n setTimeout(() => labelRef.current?.focus(), 250)\n }\n }, [isExpanded, autoFocus, item.isNewAttribute])\n\n return (\n <Styled.EnumItemBody\n {...pt?.wrapper}\n {...props}\n className={clsx(className, pt?.wrapper?.className, {\n expanded: isExpanded,\n collapsed: !isExpanded,\n })}\n >\n <Styled.Row key=\"label\" {...pt?.label?.wrapper}>\n <Styled.Label {...pt?.label?.label}>Label</Styled.Label>\n <Styled.InputText\n ref={labelRef}\n value={label}\n autoFocus={autoFocus || isNewAttribute}\n {...pt?.label?.input}\n className={clsx(pt?.label?.input?.className)}\n onChange={(event) => {\n if (!isNewAttribute) {\n return onChange && onChange(['label'], [event.target.value])\n }\n if (valueRef.current) {\n valueRef.current.value = kebabCase(event.target.value)\n }\n onChange &&\n onChange(['label', 'value'], [event.target.value, kebabCase(event.target.value)])\n }}\n onBlur={(event) => {\n if (!isNewAttribute) {\n onCommit && onCommit(['label'], [event.target.value])\n } else {\n onCommit &&\n onCommit(['label', 'value'], [event.target.value, kebabCase(event.target.value)])\n }\n }}\n onKeyDown={(event) => {\n if (event.key === 'Enter') {\n event.stopPropagation()\n if (!isNewAttribute) {\n onCommit && onCommit(['label'], [(event.target as HTMLInputElement).value])\n } else {\n onCommit &&\n onCommit(\n ['label', 'value'],\n [\n (event.target as HTMLInputElement).value,\n kebabCase((event.target as HTMLInputElement).value),\n ],\n )\n }\n }\n }}\n placeholder=\"Enter label\"\n />\n </Styled.Row>\n\n <Styled.Row key=\"value\" {...pt?.value?.wrapper}>\n <Styled.Label {...pt?.value?.label}>Value</Styled.Label>\n <Styled.InputText\n ref={valueRef}\n value={valueRef.current?.value || value}\n {...pt?.value?.input}\n className={clsx(pt?.value?.input?.className)}\n onChange={(event) => onChange && onChange(['value'], [event.target.value])}\n onBlur={(event) => onCommit && onCommit(['value'], [event.target.value])}\n onKeyDown={(event) => {\n if (event.key === 'Enter') {\n event.stopPropagation()\n onCommit && onCommit(['value'], [(event.target as HTMLInputElement).value])\n }\n }}\n placeholder=\"Enter value\"\n />\n </Styled.Row>\n\n <Styled.Row key=\"icon\" {...pt?.icon?.wrapper}>\n <Styled.Label {...pt?.icon?.label}>Icon</Styled.Label>\n\n <Styled.PlaceholderWrapper style={{ position: 'relative' }}>\n <Styled.Placeholder\n style={{ display: icon ? 'none' : 'flex' }}\n onClick={() => {\n iconSelectRef.current?.open()\n }}\n >\n Pick an icon...\n </Styled.Placeholder>\n\n <Styled.IconSelect\n ref={iconSelectRef}\n value={[icon || 'question_mark']}\n widthExpand\n {...pt?.icon?.input}\n className={clsx(pt?.icon?.input?.className)}\n style={{\n position: icon ? 'relative' : 'absolute',\n visibility: icon ? 'visible' : 'hidden',\n ...pt?.icon?.input?.style,\n }}\n onChange={(value) => {\n onChange && onChange(['icon'], [value[0]])\n onCommit && onCommit(['icon'], [value[0]])\n }}\n />\n {icon && (\n <Styled.Button\n icon=\"close\"\n variant=\"text\"\n onClick={() => {\n onChange && onChange(['icon'], [undefined])\n }}\n />\n )}\n </Styled.PlaceholderWrapper>\n </Styled.Row>\n\n <Styled.Row key=\"color\" {...pt?.color?.wrapper}>\n <Styled.Label {...pt?.color?.label}>Color</Styled.Label>\n\n <Styled.PlaceholderWrapper style={{ position: 'relative' }}>\n <Styled.ColorPicker\n className={color ? 'active' : ''}\n style={{ backgroundColor: color || undefined }}\n onClick={() => colorPickerRef.current?.click()}\n >\n {!color ? 'Pick a color...' : ''}\n <input\n type=\"color\"\n ref={colorPickerRef}\n value={color || '#000000'}\n {...pt?.color?.input}\n className={clsx(pt?.color?.input?.className)}\n onChange={(event) => {\n onChange && onChange(['color'], [event?.target.value.toString()])\n onCommit && onCommit(['color'], [event?.target.value.toString()])\n }}\n />\n </Styled.ColorPicker>\n {color && (\n <Styled.Button\n icon=\"close\"\n variant=\"text\"\n onClick={() => {\n onChange && onChange(['color'], [undefined])\n }}\n />\n )}\n </Styled.PlaceholderWrapper>\n </Styled.Row>\n\n {(showRemoveButton || showDuplicateButton) && (\n <Styled.Row {...pt?.footer} className={clsx('footer', pt?.footer?.className)}>\n {showRemoveButton && (\n <Styled.ActionWrapper>\n <Styled.Button icon=\"close\" variant=\"text\" onClick={onRemove}>\n Remove\n </Styled.Button>\n </Styled.ActionWrapper>\n )}\n {showDuplicateButton && (\n <Styled.ActionWrapper>\n <Styled.Button icon=\"content_copy\" variant=\"text\" onClick={onDuplicate}>\n Duplicate\n </Styled.Button>\n </Styled.ActionWrapper>\n )}\n </Styled.Row>\n )}\n </Styled.EnumItemBody>\n )\n}\n\nexport default EnumEditorItem\n"],"names":["EnumEditorItem","item","onChange","onCommit","onRemove","onDuplicate","showRemoveButton","showDuplicateButton","autoFocus","isExpanded","className","pt","props","label","value","icon","color","isNewAttribute","labelRef","useRef","valueRef","colorPickerRef","iconSelectRef","useEffect","jsxs","Styled.EnumItemBody","clsx","Styled.Row","jsx","Styled.Label","Styled.InputText","event","kebabCase","Styled.PlaceholderWrapper","Styled.Placeholder","Styled.IconSelect","Styled.Button","Styled.ColorPicker","Styled.ActionWrapper"],"mappings":"yKA4CMA,EAAiB,CAAC,CACtB,KAAAC,EACA,SAAAC,EACA,SAAAC,EACA,SAAAC,EACA,YAAAC,EACA,iBAAAC,EAAmB,GACnB,oBAAAC,EAAsB,GACtB,UAAAC,EAAY,GACZ,WAAAC,EAAa,GACb,UAAAC,EACA,GAAAC,EACA,GAAGC,CACL,IAA2B,CACzB,KAAM,CAAE,MAAAC,EAAO,MAAAC,EAAO,KAAAC,EAAM,MAAAC,EAAO,eAAAC,GAAmBhB,EAChDiB,EAAWC,EAAAA,OAAyB,IAAI,EACxCC,EAAWD,EAAAA,OAAyB,IAAI,EACxCE,EAAiBF,EAAAA,OAAyB,IAAI,EAC9CG,EAAgBH,EAAAA,OAAoB,IAAI,EAE9CI,OAAAA,EAAAA,UAAU,IAAM,EACVf,GAAaP,EAAK,iBACpBiB,EAAS,SAAS,OAAA,CAEtB,EAAG,CAACV,EAAWP,EAAK,cAAc,CAAC,EAGnCsB,EAAAA,UAAU,IAAM,CACVd,GAAc,CAACD,GAAa,CAACP,EAAK,gBAEpC,WAAW,IAAMiB,EAAS,SAAS,MAAA,EAAS,GAAG,CAEnD,EAAG,CAACT,EAAYD,EAAWP,EAAK,cAAc,CAAC,EAG7CuB,EAAAA,kBAAAA,KAACC,EAAAA,aAAA,CACE,GAAGd,GAAI,QACP,GAAGC,EACJ,UAAWc,EAAKhB,EAAWC,GAAI,SAAS,UAAW,CACjD,SAAUF,EACV,UAAW,CAACA,CAAA,CACb,EAED,SAAA,CAAAe,EAAAA,kBAAAA,KAACG,EAAAA,IAAA,CAAwB,GAAGhB,GAAI,OAAO,QACrC,SAAA,CAAAiB,wBAACC,EAAAA,MAAA,CAAc,GAAGlB,GAAI,OAAO,MAAO,SAAA,QAAK,EACzCiB,EAAAA,kBAAAA,IAACE,EAAAA,UAAA,CACC,IAAKZ,EACL,MAAOL,EACP,UAAWL,GAAaS,EACvB,GAAGN,GAAI,OAAO,MACf,UAAWe,EAAKf,GAAI,OAAO,OAAO,SAAS,EAC3C,SAAWoB,GAAU,CACnB,GAAI,CAACd,EACH,OAAOf,GAAYA,EAAS,CAAC,OAAO,EAAG,CAAC6B,EAAM,OAAO,KAAK,CAAC,EAEzDX,EAAS,UACXA,EAAS,QAAQ,MAAQY,EAAAA,UAAUD,EAAM,OAAO,KAAK,GAEvD7B,GACEA,EAAS,CAAC,QAAS,OAAO,EAAG,CAAC6B,EAAM,OAAO,MAAOC,EAAAA,UAAUD,EAAM,OAAO,KAAK,CAAC,CAAC,CACpF,EACA,OAASA,GAAU,CACZd,EAGHd,GACEA,EAAS,CAAC,QAAS,OAAO,EAAG,CAAC4B,EAAM,OAAO,MAAOC,EAAAA,UAAUD,EAAM,OAAO,KAAK,CAAC,CAAC,EAHlF5B,GAAYA,EAAS,CAAC,OAAO,EAAG,CAAC4B,EAAM,OAAO,KAAK,CAAC,CAKxD,EACA,UAAYA,GAAU,CAChBA,EAAM,MAAQ,UAChBA,EAAM,gBAAA,EACDd,EAGHd,GACEA,EACE,CAAC,QAAS,OAAO,EACjB,CACG4B,EAAM,OAA4B,MACnCC,YAAWD,EAAM,OAA4B,KAAK,CAAA,CACpD,EARJ5B,GAAYA,EAAS,CAAC,OAAO,EAAG,CAAE4B,EAAM,OAA4B,KAAK,CAAC,EAYhF,EACA,YAAY,aAAA,CAAA,CACd,CAAA,EA5Cc,OA6ChB,2BAECJ,EAAAA,IAAA,CAAwB,GAAGhB,GAAI,OAAO,QACrC,SAAA,CAAAiB,wBAACC,EAAAA,MAAA,CAAc,GAAGlB,GAAI,OAAO,MAAO,SAAA,QAAK,EACzCiB,EAAAA,kBAAAA,IAACE,EAAAA,UAAA,CACC,IAAKV,EACL,MAAOA,EAAS,SAAS,OAASN,EACjC,GAAGH,GAAI,OAAO,MACf,UAAWe,EAAKf,GAAI,OAAO,OAAO,SAAS,EAC3C,SAAWoB,GAAU7B,GAAYA,EAAS,CAAC,OAAO,EAAG,CAAC6B,EAAM,OAAO,KAAK,CAAC,EACzE,OAASA,GAAU5B,GAAYA,EAAS,CAAC,OAAO,EAAG,CAAC4B,EAAM,OAAO,KAAK,CAAC,EACvE,UAAYA,GAAU,CAChBA,EAAM,MAAQ,UAChBA,EAAM,gBAAA,EACN5B,GAAYA,EAAS,CAAC,OAAO,EAAG,CAAE4B,EAAM,OAA4B,KAAK,CAAC,EAE9E,EACA,YAAY,aAAA,CAAA,CACd,CAAA,EAhBc,OAiBhB,2BAECJ,EAAAA,IAAA,CAAuB,GAAGhB,GAAI,MAAM,QACnC,SAAA,CAAAiB,wBAACC,EAAAA,MAAA,CAAc,GAAGlB,GAAI,MAAM,MAAO,SAAA,OAAI,EAEvCa,EAAAA,kBAAAA,KAACS,EAAAA,mBAAA,CAA0B,MAAO,CAAE,SAAU,YAC5C,SAAA,CAAAL,EAAAA,kBAAAA,IAACM,EAAAA,YAAA,CACC,MAAO,CAAE,QAASnB,EAAO,OAAS,MAAA,EAClC,QAAS,IAAM,CACbO,EAAc,SAAS,KAAA,CACzB,EACD,SAAA,iBAAA,CAAA,EAIDM,EAAAA,kBAAAA,IAACO,EAAAA,WAAA,CACC,IAAKb,EACL,MAAO,CAACP,GAAQ,eAAe,EAC/B,YAAW,GACV,GAAGJ,GAAI,MAAM,MACd,UAAWe,EAAKf,GAAI,MAAM,OAAO,SAAS,EAC1C,MAAO,CACL,SAAUI,EAAO,WAAa,WAC9B,WAAYA,EAAO,UAAY,SAC/B,GAAGJ,GAAI,MAAM,OAAO,KAAA,EAEtB,SAAWG,GAAU,CACnBZ,GAAYA,EAAS,CAAC,MAAM,EAAG,CAACY,EAAM,CAAC,CAAC,CAAC,EACzCX,GAAYA,EAAS,CAAC,MAAM,EAAG,CAACW,EAAM,CAAC,CAAC,CAAC,CAC3C,CAAA,CAAA,EAEDC,GACCa,EAAAA,kBAAAA,IAACQ,EAAAA,OAAA,CACC,KAAK,QACL,QAAQ,OACR,QAAS,IAAM,CACblC,GAAYA,EAAS,CAAC,MAAM,EAAG,CAAC,MAAS,CAAC,CAC5C,CAAA,CAAA,CACF,CAAA,CAEJ,CAAA,CAAA,EAtCc,MAuChB,2BAECyB,EAAAA,IAAA,CAAwB,GAAGhB,GAAI,OAAO,QACrC,SAAA,CAAAiB,wBAACC,EAAAA,MAAA,CAAc,GAAGlB,GAAI,OAAO,MAAO,SAAA,QAAK,EAEzCa,EAAAA,kBAAAA,KAACS,EAAAA,mBAAA,CAA0B,MAAO,CAAE,SAAU,YAC5C,SAAA,CAAAT,EAAAA,kBAAAA,KAACa,EAAAA,YAAA,CACC,UAAWrB,EAAQ,SAAW,GAC9B,MAAO,CAAE,gBAAiBA,GAAS,MAAA,EACnC,QAAS,IAAMK,EAAe,SAAS,MAAA,EAEtC,SAAA,CAACL,EAA4B,GAApB,kBACVY,EAAAA,kBAAAA,IAAC,QAAA,CACC,KAAK,QACL,IAAKP,EACL,MAAOL,GAAS,UACf,GAAGL,GAAI,OAAO,MACf,UAAWe,EAAKf,GAAI,OAAO,OAAO,SAAS,EAC3C,SAAWoB,GAAU,CACnB7B,GAAYA,EAAS,CAAC,OAAO,EAAG,CAAC6B,GAAO,OAAO,MAAM,SAAA,CAAU,CAAC,EAChE5B,GAAYA,EAAS,CAAC,OAAO,EAAG,CAAC4B,GAAO,OAAO,MAAM,SAAA,CAAU,CAAC,CAClE,CAAA,CAAA,CACF,CAAA,CAAA,EAEDf,GACCY,EAAAA,kBAAAA,IAACQ,EAAAA,OAAA,CACC,KAAK,QACL,QAAQ,OACR,QAAS,IAAM,CACblC,GAAYA,EAAS,CAAC,OAAO,EAAG,CAAC,MAAS,CAAC,CAC7C,CAAA,CAAA,CACF,CAAA,CAEJ,CAAA,CAAA,EA/Bc,OAgChB,GAEEI,GAAoBC,IACpBiB,EAAAA,kBAAAA,KAACG,EAAAA,IAAA,CAAY,GAAGhB,GAAI,OAAQ,UAAWe,EAAK,SAAUf,GAAI,QAAQ,SAAS,EACxE,SAAA,CAAAL,GACCsB,EAAAA,kBAAAA,IAACU,gBAAA,CACC,iCAACF,EAAAA,OAAA,CAAc,KAAK,QAAQ,QAAQ,OAAO,QAAShC,EAAU,kBAE9D,EACF,EAEDG,GACCqB,EAAAA,kBAAAA,IAACU,EAAAA,cAAA,CACC,iCAACF,EAAAA,OAAA,CAAc,KAAK,eAAe,QAAQ,OAAO,QAAS/B,EAAa,qBAExE,CAAA,CACF,CAAA,CAAA,CAEJ,CAAA,CAAA,CAAA,CAIR"}
@@ -1,156 +1,177 @@
1
- import { j as e } from "../../../../_virtual/jsx-runtime.es.js";
2
- import { useRef as v, useEffect as h } from "react";
3
- import { kebabCase as w } from "lodash";
4
- import { EnumItemBody as W, Row as n, Label as d, InputText as y, PlaceholderWrapper as R, Placeholder as _, IconSelect as q, Button as b, ColorPicker as C, ActionWrapper as A } from "./EnumEditor.styled.es.js";
5
- import i from "clsx";
6
- const H = ({
7
- item: a,
8
- onChange: r,
9
- onRemove: P,
10
- onDuplicate: E,
11
- showRemoveButton: j = !0,
12
- showDuplicateButton: m = !0,
13
- autoFocus: s = !1,
14
- isExpanded: u = !0,
15
- className: I,
16
- pt: l,
17
- ...S
1
+ import { j as l } from "../../../../_virtual/jsx-runtime.es.js";
2
+ import { useRef as d, useEffect as g } from "react";
3
+ import { kebabCase as f } from "lodash";
4
+ import { EnumItemBody as L, Row as n, Label as p, InputText as P, PlaceholderWrapper as E, Placeholder as T, IconSelect as W, Button as j, ColorPicker as _, ActionWrapper as R } from "./EnumEditor.styled.es.js";
5
+ import s from "clsx";
6
+ const J = ({
7
+ item: i,
8
+ onChange: c,
9
+ onCommit: a,
10
+ onRemove: A,
11
+ onDuplicate: I,
12
+ showRemoveButton: k = !0,
13
+ showDuplicateButton: y = !0,
14
+ autoFocus: t = !1,
15
+ isExpanded: v = !0,
16
+ className: S,
17
+ pt: r,
18
+ ...B
18
19
  }) => {
19
- const { label: L, value: T, icon: o, color: t, isNewAttribute: p } = a, f = v(null), x = v(null), N = v(null), k = v(null);
20
- return h(() => {
21
- (s || a.isNewAttribute) && f.current?.select();
22
- }, [s, a.isNewAttribute]), h(() => {
23
- u && !s && !a.isNewAttribute && setTimeout(() => f.current?.focus(), 250);
24
- }, [u, s, a.isNewAttribute]), /* @__PURE__ */ e.jsxs(
25
- W,
20
+ const { label: D, value: K, icon: o, color: u, isNewAttribute: x } = i, N = d(null), b = d(null), h = d(null), w = d(null);
21
+ return g(() => {
22
+ (t || i.isNewAttribute) && N.current?.select();
23
+ }, [t, i.isNewAttribute]), g(() => {
24
+ v && !t && !i.isNewAttribute && setTimeout(() => N.current?.focus(), 250);
25
+ }, [v, t, i.isNewAttribute]), /* @__PURE__ */ l.jsxs(
26
+ L,
26
27
  {
27
- ...l?.wrapper,
28
- ...S,
29
- className: i(I, l?.wrapper?.className, {
30
- expanded: u,
31
- collapsed: !u
28
+ ...r?.wrapper,
29
+ ...B,
30
+ className: s(S, r?.wrapper?.className, {
31
+ expanded: v,
32
+ collapsed: !v
32
33
  }),
33
34
  children: [
34
- /* @__PURE__ */ e.jsxs(n, { ...l?.label?.wrapper, children: [
35
- /* @__PURE__ */ e.jsx(d, { ...l?.label?.label, children: "Label" }),
36
- /* @__PURE__ */ e.jsx(
37
- y,
35
+ /* @__PURE__ */ l.jsxs(n, { ...r?.label?.wrapper, children: [
36
+ /* @__PURE__ */ l.jsx(p, { ...r?.label?.label, children: "Label" }),
37
+ /* @__PURE__ */ l.jsx(
38
+ P,
38
39
  {
39
- ref: f,
40
- value: L,
41
- autoFocus: s || p,
42
- ...l?.label?.input,
43
- className: i(l?.label?.input?.className),
44
- onChange: (c) => {
45
- if (!p)
46
- return r && r(["label"], [c.target.value]);
47
- x.current && (x.current.value = w(c.target.value)), r && r(["label", "value"], [c.target.value, w(c.target.value)]);
40
+ ref: N,
41
+ value: D,
42
+ autoFocus: t || x,
43
+ ...r?.label?.input,
44
+ className: s(r?.label?.input?.className),
45
+ onChange: (e) => {
46
+ if (!x)
47
+ return c && c(["label"], [e.target.value]);
48
+ b.current && (b.current.value = f(e.target.value)), c && c(["label", "value"], [e.target.value, f(e.target.value)]);
49
+ },
50
+ onBlur: (e) => {
51
+ x ? a && a(["label", "value"], [e.target.value, f(e.target.value)]) : a && a(["label"], [e.target.value]);
52
+ },
53
+ onKeyDown: (e) => {
54
+ e.key === "Enter" && (e.stopPropagation(), x ? a && a(
55
+ ["label", "value"],
56
+ [
57
+ e.target.value,
58
+ f(e.target.value)
59
+ ]
60
+ ) : a && a(["label"], [e.target.value]));
48
61
  },
49
62
  placeholder: "Enter label"
50
63
  }
51
64
  )
52
65
  ] }, "label"),
53
- /* @__PURE__ */ e.jsxs(n, { ...l?.value?.wrapper, children: [
54
- /* @__PURE__ */ e.jsx(d, { ...l?.value?.label, children: "Value" }),
55
- /* @__PURE__ */ e.jsx(
56
- y,
66
+ /* @__PURE__ */ l.jsxs(n, { ...r?.value?.wrapper, children: [
67
+ /* @__PURE__ */ l.jsx(p, { ...r?.value?.label, children: "Value" }),
68
+ /* @__PURE__ */ l.jsx(
69
+ P,
57
70
  {
58
- ref: x,
59
- value: x.current?.value || T,
60
- ...l?.value?.input,
61
- className: i(l?.value?.input?.className),
62
- onChange: (c) => r && r(["value"], [c.target.value]),
71
+ ref: b,
72
+ value: b.current?.value || K,
73
+ ...r?.value?.input,
74
+ className: s(r?.value?.input?.className),
75
+ onChange: (e) => c && c(["value"], [e.target.value]),
76
+ onBlur: (e) => a && a(["value"], [e.target.value]),
77
+ onKeyDown: (e) => {
78
+ e.key === "Enter" && (e.stopPropagation(), a && a(["value"], [e.target.value]));
79
+ },
63
80
  placeholder: "Enter value"
64
81
  }
65
82
  )
66
83
  ] }, "value"),
67
- /* @__PURE__ */ e.jsxs(n, { ...l?.icon?.wrapper, children: [
68
- /* @__PURE__ */ e.jsx(d, { ...l?.icon?.label, children: "Icon" }),
69
- /* @__PURE__ */ e.jsxs(R, { style: { position: "relative" }, children: [
70
- /* @__PURE__ */ e.jsx(
71
- _,
84
+ /* @__PURE__ */ l.jsxs(n, { ...r?.icon?.wrapper, children: [
85
+ /* @__PURE__ */ l.jsx(p, { ...r?.icon?.label, children: "Icon" }),
86
+ /* @__PURE__ */ l.jsxs(E, { style: { position: "relative" }, children: [
87
+ /* @__PURE__ */ l.jsx(
88
+ T,
72
89
  {
73
90
  style: { display: o ? "none" : "flex" },
74
91
  onClick: () => {
75
- k.current?.open();
92
+ w.current?.open();
76
93
  },
77
94
  children: "Pick an icon..."
78
95
  }
79
96
  ),
80
- /* @__PURE__ */ e.jsx(
81
- q,
97
+ /* @__PURE__ */ l.jsx(
98
+ W,
82
99
  {
83
- ref: k,
100
+ ref: w,
84
101
  value: [o || "question_mark"],
85
102
  widthExpand: !0,
86
- ...l?.icon?.input,
87
- className: i(l?.icon?.input?.className),
103
+ ...r?.icon?.input,
104
+ className: s(r?.icon?.input?.className),
88
105
  style: {
89
106
  position: o ? "relative" : "absolute",
90
107
  visibility: o ? "visible" : "hidden",
91
- ...l?.icon?.input?.style
108
+ ...r?.icon?.input?.style
92
109
  },
93
- onChange: (c) => r && r(["icon"], [c[0]])
110
+ onChange: (e) => {
111
+ c && c(["icon"], [e[0]]), a && a(["icon"], [e[0]]);
112
+ }
94
113
  }
95
114
  ),
96
- o && /* @__PURE__ */ e.jsx(
97
- b,
115
+ o && /* @__PURE__ */ l.jsx(
116
+ j,
98
117
  {
99
118
  icon: "close",
100
119
  variant: "text",
101
120
  onClick: () => {
102
- r && r(["icon"], [void 0]);
121
+ c && c(["icon"], [void 0]);
103
122
  }
104
123
  }
105
124
  )
106
125
  ] })
107
126
  ] }, "icon"),
108
- /* @__PURE__ */ e.jsxs(n, { ...l?.color?.wrapper, children: [
109
- /* @__PURE__ */ e.jsx(d, { ...l?.color?.label, children: "Color" }),
110
- /* @__PURE__ */ e.jsxs(R, { style: { position: "relative" }, children: [
111
- /* @__PURE__ */ e.jsxs(
112
- C,
127
+ /* @__PURE__ */ l.jsxs(n, { ...r?.color?.wrapper, children: [
128
+ /* @__PURE__ */ l.jsx(p, { ...r?.color?.label, children: "Color" }),
129
+ /* @__PURE__ */ l.jsxs(E, { style: { position: "relative" }, children: [
130
+ /* @__PURE__ */ l.jsxs(
131
+ _,
113
132
  {
114
- className: t ? "active" : "",
115
- style: { backgroundColor: t || void 0 },
116
- onClick: () => N.current?.click(),
133
+ className: u ? "active" : "",
134
+ style: { backgroundColor: u || void 0 },
135
+ onClick: () => h.current?.click(),
117
136
  children: [
118
- t ? "" : "Pick a color...",
119
- /* @__PURE__ */ e.jsx(
137
+ u ? "" : "Pick a color...",
138
+ /* @__PURE__ */ l.jsx(
120
139
  "input",
121
140
  {
122
141
  type: "color",
123
- ref: N,
124
- value: t || "#000000",
125
- ...l?.color?.input,
126
- className: i(l?.color?.input?.className),
127
- onChange: (c) => r && r(["color"], [c?.target.value.toString()])
142
+ ref: h,
143
+ value: u || "#000000",
144
+ ...r?.color?.input,
145
+ className: s(r?.color?.input?.className),
146
+ onChange: (e) => {
147
+ c && c(["color"], [e?.target.value.toString()]), a && a(["color"], [e?.target.value.toString()]);
148
+ }
128
149
  }
129
150
  )
130
151
  ]
131
152
  }
132
153
  ),
133
- t && /* @__PURE__ */ e.jsx(
134
- b,
154
+ u && /* @__PURE__ */ l.jsx(
155
+ j,
135
156
  {
136
157
  icon: "close",
137
158
  variant: "text",
138
159
  onClick: () => {
139
- r && r(["color"], [void 0]);
160
+ c && c(["color"], [void 0]);
140
161
  }
141
162
  }
142
163
  )
143
164
  ] })
144
165
  ] }, "color"),
145
- (j || m) && /* @__PURE__ */ e.jsxs(n, { ...l?.footer, className: i("footer", l?.footer?.className), children: [
146
- j && /* @__PURE__ */ e.jsx(A, { children: /* @__PURE__ */ e.jsx(b, { icon: "close", variant: "text", onClick: P, children: "Remove" }) }),
147
- m && /* @__PURE__ */ e.jsx(A, { children: /* @__PURE__ */ e.jsx(b, { icon: "content_copy", variant: "text", onClick: E, children: "Duplicate" }) })
166
+ (k || y) && /* @__PURE__ */ l.jsxs(n, { ...r?.footer, className: s("footer", r?.footer?.className), children: [
167
+ k && /* @__PURE__ */ l.jsx(R, { children: /* @__PURE__ */ l.jsx(j, { icon: "close", variant: "text", onClick: A, children: "Remove" }) }),
168
+ y && /* @__PURE__ */ l.jsx(R, { children: /* @__PURE__ */ l.jsx(j, { icon: "content_copy", variant: "text", onClick: I, children: "Duplicate" }) })
148
169
  ] })
149
170
  ]
150
171
  }
151
172
  );
152
173
  };
153
174
  export {
154
- H as default
175
+ J as default
155
176
  };
156
177
  //# sourceMappingURL=EnumEditorItem.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EnumEditorItem.es.js","sources":["../../../../../src/components/EnumEditor/EnumEditorItem.tsx"],"sourcesContent":["import { useEffect, useRef } from 'react'\nimport { kebabCase } from 'lodash'\n\nimport { DropdownRef, Icon } from '@ynput/ayon-react-components'\n\nimport * as Styled from './EnumEditor.styled'\nimport { AttributeData } from './EnumEditor'\nimport clsx from 'clsx'\n\ntype DivPt = Partial<React.HTMLAttributes<HTMLDivElement>>\n\ntype TextInputPt = Partial<React.ComponentProps<typeof Styled.InputText>>\ntype IconInputPt = Partial<React.ComponentProps<typeof Styled.IconSelect>>\ntype ColorInputPt = Partial<React.InputHTMLAttributes<HTMLInputElement>>\n\nexport interface EnumEditorFieldPt<TInput> {\n wrapper?: DivPt\n label?: DivPt\n input?: Partial<TInput>\n}\n\nexport interface EnumEditorItemPt {\n wrapper?: DivPt\n label?: EnumEditorFieldPt<TextInputPt>\n value?: EnumEditorFieldPt<TextInputPt>\n icon?: EnumEditorFieldPt<IconInputPt>\n color?: EnumEditorFieldPt<ColorInputPt>\n footer?: DivPt\n}\n\nexport interface EnumEditorItemProps\n extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange'> {\n item: AttributeData\n onChange?: (attr: (keyof AttributeData)[], value: (boolean | string | undefined)[]) => void\n onRemove?: () => void\n onDuplicate?: () => void\n showRemoveButton?: boolean\n showDuplicateButton?: boolean\n autoFocus?: boolean\n isExpanded?: boolean\n pt?: EnumEditorItemPt\n}\n\nconst EnumEditorItem = ({\n item,\n onChange,\n onRemove,\n onDuplicate,\n showRemoveButton = true,\n showDuplicateButton = true,\n autoFocus = false,\n isExpanded = true,\n className,\n pt,\n ...props\n}: EnumEditorItemProps) => {\n const { label, value, icon, color, isNewAttribute } = item\n const labelRef = useRef<HTMLInputElement>(null)\n const valueRef = useRef<HTMLInputElement>(null)\n const colorPickerRef = useRef<HTMLInputElement>(null)\n const iconSelectRef = useRef<DropdownRef>(null)\n\n useEffect(() => {\n if (autoFocus || item.isNewAttribute) {\n labelRef.current?.select()\n }\n }, [autoFocus, item.isNewAttribute])\n\n // Handle focus when item becomes expanded\n useEffect(() => {\n if (isExpanded && !autoFocus && !item.isNewAttribute) {\n // Avoids jittery expand animation\n setTimeout(() => labelRef.current?.focus(), 250)\n }\n }, [isExpanded, autoFocus, item.isNewAttribute])\n\n return (\n <Styled.EnumItemBody\n {...pt?.wrapper}\n {...props}\n className={clsx(className, pt?.wrapper?.className, {\n expanded: isExpanded,\n collapsed: !isExpanded,\n })}\n >\n <Styled.Row key=\"label\" {...pt?.label?.wrapper}>\n <Styled.Label {...pt?.label?.label}>Label</Styled.Label>\n <Styled.InputText\n ref={labelRef}\n value={label}\n autoFocus={autoFocus || isNewAttribute}\n {...pt?.label?.input}\n className={clsx(pt?.label?.input?.className)}\n onChange={(event) => {\n if (!isNewAttribute) {\n return onChange && onChange(['label'], [event.target.value])\n }\n if (valueRef.current) {\n valueRef.current.value = kebabCase(event.target.value)\n }\n onChange &&\n onChange(['label', 'value'], [event.target.value, kebabCase(event.target.value)])\n }}\n placeholder=\"Enter label\"\n />\n </Styled.Row>\n\n <Styled.Row key=\"value\" {...pt?.value?.wrapper}>\n <Styled.Label {...pt?.value?.label}>Value</Styled.Label>\n <Styled.InputText\n ref={valueRef}\n value={valueRef.current?.value || value}\n {...pt?.value?.input}\n className={clsx(pt?.value?.input?.className)}\n onChange={(event) => onChange && onChange(['value'], [event.target.value])}\n placeholder=\"Enter value\"\n />\n </Styled.Row>\n\n <Styled.Row key=\"icon\" {...pt?.icon?.wrapper}>\n <Styled.Label {...pt?.icon?.label}>Icon</Styled.Label>\n\n <Styled.PlaceholderWrapper style={{ position: 'relative' }}>\n <Styled.Placeholder\n style={{ display: icon ? 'none' : 'flex' }}\n onClick={() => {\n iconSelectRef.current?.open()\n }}\n >\n Pick an icon...\n </Styled.Placeholder>\n\n <Styled.IconSelect\n ref={iconSelectRef}\n value={[icon || 'question_mark']}\n widthExpand\n {...pt?.icon?.input}\n className={clsx(pt?.icon?.input?.className)}\n style={{\n position: icon ? 'relative' : 'absolute',\n visibility: icon ? 'visible' : 'hidden',\n ...pt?.icon?.input?.style,\n }}\n onChange={(value) => {\n return onChange && onChange(['icon'], [value[0]])\n }}\n />\n {icon && (\n <Styled.Button\n icon=\"close\"\n variant=\"text\"\n onClick={() => {\n onChange && onChange(['icon'], [undefined])\n }}\n />\n )}\n </Styled.PlaceholderWrapper>\n </Styled.Row>\n\n <Styled.Row key=\"color\" {...pt?.color?.wrapper}>\n <Styled.Label {...pt?.color?.label}>Color</Styled.Label>\n\n <Styled.PlaceholderWrapper style={{ position: 'relative' }}>\n <Styled.ColorPicker\n className={color ? 'active' : ''}\n style={{ backgroundColor: color || undefined }}\n onClick={() => colorPickerRef.current?.click()}\n >\n {!color ? 'Pick a color...' : ''}\n <input\n type=\"color\"\n ref={colorPickerRef}\n value={color || '#000000'}\n {...pt?.color?.input}\n className={clsx(pt?.color?.input?.className)}\n onChange={(event) =>\n onChange && onChange(['color'], [event?.target.value.toString()])\n }\n />\n </Styled.ColorPicker>\n {color && (\n <Styled.Button\n icon=\"close\"\n variant=\"text\"\n onClick={() => {\n onChange && onChange(['color'], [undefined])\n }}\n />\n )}\n </Styled.PlaceholderWrapper>\n </Styled.Row>\n\n {(showRemoveButton || showDuplicateButton) && (\n <Styled.Row {...pt?.footer} className={clsx('footer', pt?.footer?.className)}>\n {showRemoveButton && (\n <Styled.ActionWrapper>\n <Styled.Button icon=\"close\" variant=\"text\" onClick={onRemove}>\n Remove\n </Styled.Button>\n </Styled.ActionWrapper>\n )}\n {showDuplicateButton && (\n <Styled.ActionWrapper>\n <Styled.Button icon=\"content_copy\" variant=\"text\" onClick={onDuplicate}>\n Duplicate\n </Styled.Button>\n </Styled.ActionWrapper>\n )}\n </Styled.Row>\n )}\n </Styled.EnumItemBody>\n )\n}\n\nexport default EnumEditorItem\n"],"names":["EnumEditorItem","item","onChange","onRemove","onDuplicate","showRemoveButton","showDuplicateButton","autoFocus","isExpanded","className","pt","props","label","value","icon","color","isNewAttribute","labelRef","useRef","valueRef","colorPickerRef","iconSelectRef","useEffect","jsxs","Styled.EnumItemBody","clsx","Styled.Row","jsx","Styled.Label","Styled.InputText","event","kebabCase","Styled.PlaceholderWrapper","Styled.Placeholder","Styled.IconSelect","Styled.Button","Styled.ColorPicker","Styled.ActionWrapper"],"mappings":"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"}
1
+ {"version":3,"file":"EnumEditorItem.es.js","sources":["../../../../../src/components/EnumEditor/EnumEditorItem.tsx"],"sourcesContent":["import { useEffect, useRef } from 'react'\nimport { kebabCase } from 'lodash'\n\nimport { DropdownRef, Icon } from '@ynput/ayon-react-components'\n\nimport * as Styled from './EnumEditor.styled'\nimport { AttributeData } from './EnumEditor'\nimport clsx from 'clsx'\n\ntype DivPt = Partial<React.HTMLAttributes<HTMLDivElement>>\n\ntype TextInputPt = Partial<React.ComponentProps<typeof Styled.InputText>>\ntype IconInputPt = Partial<React.ComponentProps<typeof Styled.IconSelect>>\ntype ColorInputPt = Partial<React.InputHTMLAttributes<HTMLInputElement>>\n\nexport interface EnumEditorFieldPt<TInput> {\n wrapper?: DivPt\n label?: DivPt\n input?: Partial<TInput>\n}\n\nexport interface EnumEditorItemPt {\n wrapper?: DivPt\n label?: EnumEditorFieldPt<TextInputPt>\n value?: EnumEditorFieldPt<TextInputPt>\n icon?: EnumEditorFieldPt<IconInputPt>\n color?: EnumEditorFieldPt<ColorInputPt>\n footer?: DivPt\n}\n\nexport interface EnumEditorItemProps\n extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange'> {\n item: AttributeData\n onChange?: (attr: (keyof AttributeData)[], value: (boolean | string | undefined)[]) => void\n onCommit?: (attr: (keyof AttributeData)[], value: (boolean | string | undefined)[]) => void\n onRemove?: () => void\n onDuplicate?: () => void\n showRemoveButton?: boolean\n showDuplicateButton?: boolean\n autoFocus?: boolean\n isExpanded?: boolean\n pt?: EnumEditorItemPt\n}\n\nconst EnumEditorItem = ({\n item,\n onChange,\n onCommit,\n onRemove,\n onDuplicate,\n showRemoveButton = true,\n showDuplicateButton = true,\n autoFocus = false,\n isExpanded = true,\n className,\n pt,\n ...props\n}: EnumEditorItemProps) => {\n const { label, value, icon, color, isNewAttribute } = item\n const labelRef = useRef<HTMLInputElement>(null)\n const valueRef = useRef<HTMLInputElement>(null)\n const colorPickerRef = useRef<HTMLInputElement>(null)\n const iconSelectRef = useRef<DropdownRef>(null)\n\n useEffect(() => {\n if (autoFocus || item.isNewAttribute) {\n labelRef.current?.select()\n }\n }, [autoFocus, item.isNewAttribute])\n\n // Handle focus when item becomes expanded\n useEffect(() => {\n if (isExpanded && !autoFocus && !item.isNewAttribute) {\n // Avoids jittery expand animation\n setTimeout(() => labelRef.current?.focus(), 250)\n }\n }, [isExpanded, autoFocus, item.isNewAttribute])\n\n return (\n <Styled.EnumItemBody\n {...pt?.wrapper}\n {...props}\n className={clsx(className, pt?.wrapper?.className, {\n expanded: isExpanded,\n collapsed: !isExpanded,\n })}\n >\n <Styled.Row key=\"label\" {...pt?.label?.wrapper}>\n <Styled.Label {...pt?.label?.label}>Label</Styled.Label>\n <Styled.InputText\n ref={labelRef}\n value={label}\n autoFocus={autoFocus || isNewAttribute}\n {...pt?.label?.input}\n className={clsx(pt?.label?.input?.className)}\n onChange={(event) => {\n if (!isNewAttribute) {\n return onChange && onChange(['label'], [event.target.value])\n }\n if (valueRef.current) {\n valueRef.current.value = kebabCase(event.target.value)\n }\n onChange &&\n onChange(['label', 'value'], [event.target.value, kebabCase(event.target.value)])\n }}\n onBlur={(event) => {\n if (!isNewAttribute) {\n onCommit && onCommit(['label'], [event.target.value])\n } else {\n onCommit &&\n onCommit(['label', 'value'], [event.target.value, kebabCase(event.target.value)])\n }\n }}\n onKeyDown={(event) => {\n if (event.key === 'Enter') {\n event.stopPropagation()\n if (!isNewAttribute) {\n onCommit && onCommit(['label'], [(event.target as HTMLInputElement).value])\n } else {\n onCommit &&\n onCommit(\n ['label', 'value'],\n [\n (event.target as HTMLInputElement).value,\n kebabCase((event.target as HTMLInputElement).value),\n ],\n )\n }\n }\n }}\n placeholder=\"Enter label\"\n />\n </Styled.Row>\n\n <Styled.Row key=\"value\" {...pt?.value?.wrapper}>\n <Styled.Label {...pt?.value?.label}>Value</Styled.Label>\n <Styled.InputText\n ref={valueRef}\n value={valueRef.current?.value || value}\n {...pt?.value?.input}\n className={clsx(pt?.value?.input?.className)}\n onChange={(event) => onChange && onChange(['value'], [event.target.value])}\n onBlur={(event) => onCommit && onCommit(['value'], [event.target.value])}\n onKeyDown={(event) => {\n if (event.key === 'Enter') {\n event.stopPropagation()\n onCommit && onCommit(['value'], [(event.target as HTMLInputElement).value])\n }\n }}\n placeholder=\"Enter value\"\n />\n </Styled.Row>\n\n <Styled.Row key=\"icon\" {...pt?.icon?.wrapper}>\n <Styled.Label {...pt?.icon?.label}>Icon</Styled.Label>\n\n <Styled.PlaceholderWrapper style={{ position: 'relative' }}>\n <Styled.Placeholder\n style={{ display: icon ? 'none' : 'flex' }}\n onClick={() => {\n iconSelectRef.current?.open()\n }}\n >\n Pick an icon...\n </Styled.Placeholder>\n\n <Styled.IconSelect\n ref={iconSelectRef}\n value={[icon || 'question_mark']}\n widthExpand\n {...pt?.icon?.input}\n className={clsx(pt?.icon?.input?.className)}\n style={{\n position: icon ? 'relative' : 'absolute',\n visibility: icon ? 'visible' : 'hidden',\n ...pt?.icon?.input?.style,\n }}\n onChange={(value) => {\n onChange && onChange(['icon'], [value[0]])\n onCommit && onCommit(['icon'], [value[0]])\n }}\n />\n {icon && (\n <Styled.Button\n icon=\"close\"\n variant=\"text\"\n onClick={() => {\n onChange && onChange(['icon'], [undefined])\n }}\n />\n )}\n </Styled.PlaceholderWrapper>\n </Styled.Row>\n\n <Styled.Row key=\"color\" {...pt?.color?.wrapper}>\n <Styled.Label {...pt?.color?.label}>Color</Styled.Label>\n\n <Styled.PlaceholderWrapper style={{ position: 'relative' }}>\n <Styled.ColorPicker\n className={color ? 'active' : ''}\n style={{ backgroundColor: color || undefined }}\n onClick={() => colorPickerRef.current?.click()}\n >\n {!color ? 'Pick a color...' : ''}\n <input\n type=\"color\"\n ref={colorPickerRef}\n value={color || '#000000'}\n {...pt?.color?.input}\n className={clsx(pt?.color?.input?.className)}\n onChange={(event) => {\n onChange && onChange(['color'], [event?.target.value.toString()])\n onCommit && onCommit(['color'], [event?.target.value.toString()])\n }}\n />\n </Styled.ColorPicker>\n {color && (\n <Styled.Button\n icon=\"close\"\n variant=\"text\"\n onClick={() => {\n onChange && onChange(['color'], [undefined])\n }}\n />\n )}\n </Styled.PlaceholderWrapper>\n </Styled.Row>\n\n {(showRemoveButton || showDuplicateButton) && (\n <Styled.Row {...pt?.footer} className={clsx('footer', pt?.footer?.className)}>\n {showRemoveButton && (\n <Styled.ActionWrapper>\n <Styled.Button icon=\"close\" variant=\"text\" onClick={onRemove}>\n Remove\n </Styled.Button>\n </Styled.ActionWrapper>\n )}\n {showDuplicateButton && (\n <Styled.ActionWrapper>\n <Styled.Button icon=\"content_copy\" variant=\"text\" onClick={onDuplicate}>\n Duplicate\n </Styled.Button>\n </Styled.ActionWrapper>\n )}\n </Styled.Row>\n )}\n </Styled.EnumItemBody>\n )\n}\n\nexport default EnumEditorItem\n"],"names":["EnumEditorItem","item","onChange","onCommit","onRemove","onDuplicate","showRemoveButton","showDuplicateButton","autoFocus","isExpanded","className","pt","props","label","value","icon","color","isNewAttribute","labelRef","useRef","valueRef","colorPickerRef","iconSelectRef","useEffect","jsxs","Styled.EnumItemBody","clsx","Styled.Row","jsx","Styled.Label","Styled.InputText","event","kebabCase","Styled.PlaceholderWrapper","Styled.Placeholder","Styled.IconSelect","Styled.Button","Styled.ColorPicker","Styled.ActionWrapper"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";const r=require("lodash"),h=require("react"),v=({creator:m,initialData:l,onChange:f,normalizer:o,mergeIncomingData:I})=>{const[s,a]=h.useState(l),d=e=>{a(e);const c=o(s),t=o(e);r.isEqual(c,t)||f(t)};return h.useEffect(()=>{a(e=>{const c=o(e),t=o(l);return r.isEqual(c,t)?e:I?I(e,l):l})},[l,I,o]),{items:s,handleAddItem:e=>{d([...s,{...m(),...e,id:r.uniqueId()}])},handleRemoveItem:e=>()=>{d([...s.slice(0,e),...s.slice(e+1)])},handleChangeItem:e=>(c,t)=>{let u={...s[e]};c.map((n,i)=>u[n]=t[i]),d([...s.slice(0,e),u,...s.slice(e+1)])},handleDuplicateItem:(e,c)=>{d([...s.slice(0,e+1),{...s[e],id:r.uniqueId(),...c},...s.slice(e+1)])},handleDraggableEnd:e=>{if(!e.over)return;const c=s.find(i=>i.id==e.active.id),t=s.indexOf(c),u=s.find(i=>i.id==e.over.id),n=s.indexOf(u);t<n?d([...s.slice(0,t),...s.slice(t+1,n+1),c,...s.slice(n+1)]):d([...s.slice(0,n),c,...s.slice(n,t),...s.slice(t+1)])}}};module.exports=v;
1
+ "use strict";const m=require("lodash"),r=require("react"),q=({creator:f,initialData:u,onChange:p,onCommit:a,normalizer:o,mergeIncomingData:I})=>{const[t,h]=r.useState(u),i=e=>{h(e);const c=o(t),s=o(e);m.isEqual(c,s)||p(s)};return r.useEffect(()=>{h(e=>{const c=o(e),s=o(u);return m.isEqual(c,s)?e:I?I(e,u):u})},[u,I,o]),{items:t,handleAddItem:e=>{i([...t,{...f(),...e,id:m.uniqueId()}])},handleRemoveItem:e=>()=>{i([...t.slice(0,e),...t.slice(e+1)])},handleChangeItem:e=>(c,s)=>{let d={...t[e]};c.map((n,l)=>d[n]=s[l]),i([...t.slice(0,e),d,...t.slice(e+1)])},handleCommitItem:e=>(c,s)=>{if(!a)return;let d={...t[e]};c.map((l,v)=>d[l]=s[v]);const n=[...t.slice(0,e),d,...t.slice(e+1)];a(o(n))},handleDuplicateItem:(e,c)=>{i([...t.slice(0,e+1),{...t[e],id:m.uniqueId(),...c},...t.slice(e+1)])},handleDraggableEnd:e=>{if(!e.over)return;const c=t.find(l=>l.id==e.active.id),s=t.indexOf(c),d=t.find(l=>l.id==e.over.id),n=t.indexOf(d);s<n?i([...t.slice(0,s),...t.slice(s+1,n+1),c,...t.slice(n+1)]):i([...t.slice(0,n),c,...t.slice(n,s),...t.slice(s+1)])}}};module.exports=q;
2
2
  //# sourceMappingURL=useDraggable.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useDraggable.cjs.js","sources":["../../../../../../src/components/EnumEditor/hooks/useDraggable.ts"],"sourcesContent":["import { DragEndEvent } from '@dnd-kit/core'\nimport { isEqual } from 'lodash'\nimport { uniqueId } from 'lodash'\nimport { useEffect, useState } from 'react'\n\nconst useDraggable = <T extends { id: string }, U>({\n creator,\n initialData,\n onChange,\n normalizer,\n mergeIncomingData,\n}: {\n creator: () => T\n initialData: T[]\n onChange: (data: U[]) => void\n normalizer: (data: T[]) => U[]\n mergeIncomingData?: (currentData: T[], incomingData: T[]) => T[]\n}) => {\n const [items, setItems] = useState<T[]>(initialData)\n\n const updateAndSync = (data: T[]) => {\n setItems(data)\n\n const currentNormalized = normalizer(items)\n const nextNormalized = normalizer(data)\n\n if (!isEqual(currentNormalized, nextNormalized)) {\n onChange(nextNormalized)\n }\n }\n\n useEffect(() => {\n setItems((currentItems) => {\n const currentNormalized = normalizer(currentItems)\n const incomingNormalized = normalizer(initialData)\n\n if (isEqual(currentNormalized, incomingNormalized)) {\n return currentItems\n }\n\n return mergeIncomingData ? mergeIncomingData(currentItems, initialData) : initialData\n })\n }, [initialData, mergeIncomingData, normalizer])\n\n const handleAddItem = (overrides: Partial<T>) => {\n updateAndSync([...items, { ...creator(), ...overrides, id: uniqueId() }])\n }\n\n const handleRemoveItem = (idx: number) => () => {\n updateAndSync([...items.slice(0, idx), ...items.slice(idx + 1)])\n }\n\n const handleChangeItem =\n (idx: number) => (attrs: (keyof T)[], values: (boolean | string | undefined)[]) => {\n let updatedItem: T = { ...items[idx] }\n //@ts-ignore\n attrs.map((attr, index) => (updatedItem[attr] = values[index]))\n updateAndSync([...items.slice(0, idx), updatedItem, ...items.slice(idx + 1)])\n }\n\n const handleDuplicateItem = (idx: number, overrides: Partial<T>) => {\n updateAndSync([\n ...items.slice(0, idx + 1),\n { ...items[idx], id: uniqueId(), ...overrides },\n ...items.slice(idx + 1),\n ])\n }\n\n const handleDraggableEnd = (event: DragEndEvent) => {\n if (!event.over) {\n return\n }\n\n const activeItem = items.find((filterItem) => filterItem.id == event.active.id)\n const activeItemIndex = items.indexOf(activeItem!)\n const overItem = items.find((item) => item.id == event.over!.id)\n const overItemIndex = items.indexOf(overItem!)\n\n if (activeItemIndex < overItemIndex) {\n updateAndSync([\n ...items.slice(0, activeItemIndex),\n ...items.slice(activeItemIndex + 1, overItemIndex + 1),\n activeItem!,\n ...items.slice(overItemIndex + 1),\n ])\n } else {\n updateAndSync([\n ...items.slice(0, overItemIndex),\n activeItem!,\n ...items.slice(overItemIndex, activeItemIndex),\n ...items.slice(activeItemIndex + 1),\n ])\n }\n }\n\n return {\n items,\n handleAddItem,\n handleRemoveItem,\n handleChangeItem,\n handleDuplicateItem,\n handleDraggableEnd,\n }\n}\n\nexport default useDraggable\n"],"names":["useDraggable","creator","initialData","onChange","normalizer","mergeIncomingData","items","setItems","useState","updateAndSync","data","currentNormalized","nextNormalized","isEqual","useEffect","currentItems","incomingNormalized","overrides","uniqueId","idx","attrs","values","updatedItem","attr","index","event","activeItem","filterItem","activeItemIndex","overItem","item","overItemIndex"],"mappings":"0DAKMA,EAAe,CAA8B,CACjD,QAAAC,EACA,YAAAC,EACA,SAAAC,EACA,WAAAC,EACA,kBAAAC,CACF,IAMM,CACJ,KAAM,CAACC,EAAOC,CAAQ,EAAIC,EAAAA,SAAcN,CAAW,EAE7CO,EAAiBC,GAAc,CACnCH,EAASG,CAAI,EAEb,MAAMC,EAAoBP,EAAWE,CAAK,EACpCM,EAAiBR,EAAWM,CAAI,EAEjCG,EAAAA,QAAQF,EAAmBC,CAAc,GAC5CT,EAASS,CAAc,CAE3B,EAEAE,OAAAA,EAAAA,UAAU,IAAM,CACdP,EAAUQ,GAAiB,CACzB,MAAMJ,EAAoBP,EAAWW,CAAY,EAC3CC,EAAqBZ,EAAWF,CAAW,EAEjD,OAAIW,EAAAA,QAAQF,EAAmBK,CAAkB,EACxCD,EAGFV,EAAoBA,EAAkBU,EAAcb,CAAW,EAAIA,CAC5E,CAAC,CACH,EAAG,CAACA,EAAaG,EAAmBD,CAAU,CAAC,EAqDxC,CACL,MAAAE,EACA,cArDqBW,GAA0B,CAC/CR,EAAc,CAAC,GAAGH,EAAO,CAAE,GAAGL,EAAA,EAAW,GAAGgB,EAAW,GAAIC,WAAA,CAAS,CAAG,CAAC,CAC1E,EAoDE,iBAlDwBC,GAAgB,IAAM,CAC9CV,EAAc,CAAC,GAAGH,EAAM,MAAM,EAAGa,CAAG,EAAG,GAAGb,EAAM,MAAMa,EAAM,CAAC,CAAC,CAAC,CACjE,EAiDE,iBA9CCA,GAAgB,CAACC,EAAoBC,IAA6C,CACjF,IAAIC,EAAiB,CAAE,GAAGhB,EAAMa,CAAG,CAAA,EAEnCC,EAAM,IAAI,CAACG,EAAMC,IAAWF,EAAYC,CAAI,EAAIF,EAAOG,CAAK,CAAE,EAC9Df,EAAc,CAAC,GAAGH,EAAM,MAAM,EAAGa,CAAG,EAAGG,EAAa,GAAGhB,EAAM,MAAMa,EAAM,CAAC,CAAC,CAAC,CAC9E,EA0CA,oBAxC0B,CAACA,EAAaF,IAA0B,CAClER,EAAc,CACZ,GAAGH,EAAM,MAAM,EAAGa,EAAM,CAAC,EACzB,CAAE,GAAGb,EAAMa,CAAG,EAAG,GAAID,EAAAA,SAAA,EAAY,GAAGD,CAAA,EACpC,GAAGX,EAAM,MAAMa,EAAM,CAAC,CAAA,CACvB,CACH,EAmCE,mBAjC0BM,GAAwB,CAClD,GAAI,CAACA,EAAM,KACT,OAGF,MAAMC,EAAapB,EAAM,KAAMqB,GAAeA,EAAW,IAAMF,EAAM,OAAO,EAAE,EACxEG,EAAkBtB,EAAM,QAAQoB,CAAW,EAC3CG,EAAWvB,EAAM,KAAMwB,GAASA,EAAK,IAAML,EAAM,KAAM,EAAE,EACzDM,EAAgBzB,EAAM,QAAQuB,CAAS,EAEzCD,EAAkBG,EACpBtB,EAAc,CACZ,GAAGH,EAAM,MAAM,EAAGsB,CAAe,EACjC,GAAGtB,EAAM,MAAMsB,EAAkB,EAAGG,EAAgB,CAAC,EACrDL,EACA,GAAGpB,EAAM,MAAMyB,EAAgB,CAAC,CAAA,CACjC,EAEDtB,EAAc,CACZ,GAAGH,EAAM,MAAM,EAAGyB,CAAa,EAC/BL,EACA,GAAGpB,EAAM,MAAMyB,EAAeH,CAAe,EAC7C,GAAGtB,EAAM,MAAMsB,EAAkB,CAAC,CAAA,CACnC,CAEL,CAQE,CAEJ"}
1
+ {"version":3,"file":"useDraggable.cjs.js","sources":["../../../../../../src/components/EnumEditor/hooks/useDraggable.ts"],"sourcesContent":["import { DragEndEvent } from '@dnd-kit/core'\nimport { isEqual } from 'lodash'\nimport { uniqueId } from 'lodash'\nimport { useEffect, useState } from 'react'\n\nconst useDraggable = <T extends { id: string }, U>({\n creator,\n initialData,\n onChange,\n onCommit,\n normalizer,\n mergeIncomingData,\n}: {\n creator: () => T\n initialData: T[]\n onChange: (data: U[]) => void\n onCommit?: (data: U[]) => void\n normalizer: (data: T[]) => U[]\n mergeIncomingData?: (currentData: T[], incomingData: T[]) => T[]\n}) => {\n const [items, setItems] = useState<T[]>(initialData)\n\n const updateAndSync = (data: T[]) => {\n setItems(data)\n\n const currentNormalized = normalizer(items)\n const nextNormalized = normalizer(data)\n\n if (!isEqual(currentNormalized, nextNormalized)) {\n onChange(nextNormalized)\n }\n }\n\n useEffect(() => {\n setItems((currentItems) => {\n const currentNormalized = normalizer(currentItems)\n const incomingNormalized = normalizer(initialData)\n\n if (isEqual(currentNormalized, incomingNormalized)) {\n return currentItems\n }\n\n return mergeIncomingData ? mergeIncomingData(currentItems, initialData) : initialData\n })\n }, [initialData, mergeIncomingData, normalizer])\n\n const handleAddItem = (overrides: Partial<T>) => {\n updateAndSync([...items, { ...creator(), ...overrides, id: uniqueId() }])\n }\n\n const handleRemoveItem = (idx: number) => () => {\n updateAndSync([...items.slice(0, idx), ...items.slice(idx + 1)])\n }\n\n const handleChangeItem =\n (idx: number) => (attrs: (keyof T)[], values: (boolean | string | undefined)[]) => {\n let updatedItem: T = { ...items[idx] }\n //@ts-ignore\n attrs.map((attr, index) => (updatedItem[attr] = values[index]))\n updateAndSync([...items.slice(0, idx), updatedItem, ...items.slice(idx + 1)])\n }\n\n const handleCommitItem =\n (idx: number) => (attrs: (keyof T)[], values: (boolean | string | undefined)[]) => {\n if (!onCommit) return\n let updatedItem: T = { ...items[idx] }\n //@ts-ignore\n attrs.map((attr, index) => (updatedItem[attr] = values[index]))\n const nextItems = [...items.slice(0, idx), updatedItem, ...items.slice(idx + 1)]\n onCommit(normalizer(nextItems))\n }\n\n const handleDuplicateItem = (idx: number, overrides: Partial<T>) => {\n updateAndSync([\n ...items.slice(0, idx + 1),\n { ...items[idx], id: uniqueId(), ...overrides },\n ...items.slice(idx + 1),\n ])\n }\n\n const handleDraggableEnd = (event: DragEndEvent) => {\n if (!event.over) {\n return\n }\n\n const activeItem = items.find((filterItem) => filterItem.id == event.active.id)\n const activeItemIndex = items.indexOf(activeItem!)\n const overItem = items.find((item) => item.id == event.over!.id)\n const overItemIndex = items.indexOf(overItem!)\n\n if (activeItemIndex < overItemIndex) {\n updateAndSync([\n ...items.slice(0, activeItemIndex),\n ...items.slice(activeItemIndex + 1, overItemIndex + 1),\n activeItem!,\n ...items.slice(overItemIndex + 1),\n ])\n } else {\n updateAndSync([\n ...items.slice(0, overItemIndex),\n activeItem!,\n ...items.slice(overItemIndex, activeItemIndex),\n ...items.slice(activeItemIndex + 1),\n ])\n }\n }\n\n return {\n items,\n handleAddItem,\n handleRemoveItem,\n handleChangeItem,\n handleCommitItem,\n handleDuplicateItem,\n handleDraggableEnd,\n }\n}\n\nexport default useDraggable\n"],"names":["useDraggable","creator","initialData","onChange","onCommit","normalizer","mergeIncomingData","items","setItems","useState","updateAndSync","data","currentNormalized","nextNormalized","isEqual","useEffect","currentItems","incomingNormalized","overrides","uniqueId","idx","attrs","values","updatedItem","attr","index","nextItems","event","activeItem","filterItem","activeItemIndex","overItem","item","overItemIndex"],"mappings":"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"}
@@ -1,60 +1,68 @@
1
- import { isEqual as f, uniqueId as I } from "lodash";
2
- import { useState as p, useEffect as v } from "react";
3
- const O = ({
4
- creator: a,
5
- initialData: l,
6
- onChange: h,
1
+ import { isEqual as f, uniqueId as h } from "lodash";
2
+ import { useState as g, useEffect as E } from "react";
3
+ const y = ({
4
+ creator: r,
5
+ initialData: i,
6
+ onChange: p,
7
+ onCommit: I,
7
8
  normalizer: o,
8
9
  mergeIncomingData: u
9
10
  }) => {
10
- const [t, r] = p(l), n = (e) => {
11
- r(e);
11
+ const [t, a] = g(i), m = (e) => {
12
+ a(e);
12
13
  const c = o(t), s = o(e);
13
- f(c, s) || h(s);
14
+ f(c, s) || p(s);
14
15
  };
15
- return v(() => {
16
- r((e) => {
17
- const c = o(e), s = o(l);
18
- return f(c, s) ? e : u ? u(e, l) : l;
16
+ return E(() => {
17
+ a((e) => {
18
+ const c = o(e), s = o(i);
19
+ return f(c, s) ? e : u ? u(e, i) : i;
19
20
  });
20
- }, [l, u, o]), {
21
+ }, [i, u, o]), {
21
22
  items: t,
22
23
  handleAddItem: (e) => {
23
- n([...t, { ...a(), ...e, id: I() }]);
24
+ m([...t, { ...r(), ...e, id: h() }]);
24
25
  },
25
26
  handleRemoveItem: (e) => () => {
26
- n([...t.slice(0, e), ...t.slice(e + 1)]);
27
+ m([...t.slice(0, e), ...t.slice(e + 1)]);
27
28
  },
28
29
  handleChangeItem: (e) => (c, s) => {
29
- let m = { ...t[e] };
30
- c.map((d, i) => m[d] = s[i]), n([...t.slice(0, e), m, ...t.slice(e + 1)]);
30
+ let d = { ...t[e] };
31
+ c.map((n, l) => d[n] = s[l]), m([...t.slice(0, e), d, ...t.slice(e + 1)]);
32
+ },
33
+ handleCommitItem: (e) => (c, s) => {
34
+ if (!I) return;
35
+ let d = { ...t[e] };
36
+ c.map((l, v) => d[l] = s[v]);
37
+ const n = [...t.slice(0, e), d, ...t.slice(e + 1)];
38
+ I(o(n));
31
39
  },
32
40
  handleDuplicateItem: (e, c) => {
33
- n([
41
+ m([
34
42
  ...t.slice(0, e + 1),
35
- { ...t[e], id: I(), ...c },
43
+ { ...t[e], id: h(), ...c },
36
44
  ...t.slice(e + 1)
37
45
  ]);
38
46
  },
39
47
  handleDraggableEnd: (e) => {
40
48
  if (!e.over)
41
49
  return;
42
- const c = t.find((i) => i.id == e.active.id), s = t.indexOf(c), m = t.find((i) => i.id == e.over.id), d = t.indexOf(m);
43
- s < d ? n([
50
+ const c = t.find((l) => l.id == e.active.id), s = t.indexOf(c), d = t.find((l) => l.id == e.over.id), n = t.indexOf(d);
51
+ s < n ? m([
44
52
  ...t.slice(0, s),
45
- ...t.slice(s + 1, d + 1),
53
+ ...t.slice(s + 1, n + 1),
46
54
  c,
47
- ...t.slice(d + 1)
48
- ]) : n([
49
- ...t.slice(0, d),
55
+ ...t.slice(n + 1)
56
+ ]) : m([
57
+ ...t.slice(0, n),
50
58
  c,
51
- ...t.slice(d, s),
59
+ ...t.slice(n, s),
52
60
  ...t.slice(s + 1)
53
61
  ]);
54
62
  }
55
63
  };
56
64
  };
57
65
  export {
58
- O as default
66
+ y as default
59
67
  };
60
68
  //# sourceMappingURL=useDraggable.es.js.map