@ynput/ayon-frontend-shared 0.3.0 → 0.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (377) hide show
  1. package/dist/_virtual/index.cjs4.js +1 -1
  2. package/dist/_virtual/index.cjs5.js +1 -1
  3. package/dist/_virtual/index.es4.js +2 -5
  4. package/dist/_virtual/index.es4.js.map +1 -1
  5. package/dist/_virtual/index.es5.js +5 -2
  6. package/dist/_virtual/index.es5.js.map +1 -1
  7. package/dist/node_modules/remove-accents/index.cjs.js +1 -1
  8. package/dist/node_modules/remove-accents/index.es.js +1 -1
  9. package/dist/node_modules/web-namespaces/index.cjs.js +1 -1
  10. package/dist/node_modules/web-namespaces/index.cjs.js.map +1 -1
  11. package/dist/node_modules/web-namespaces/index.es.js +3 -8
  12. package/dist/node_modules/web-namespaces/index.es.js.map +1 -1
  13. package/dist/shared/node_modules/react-transition-group/esm/CSSTransition.cjs.js +1 -1
  14. package/dist/shared/node_modules/react-transition-group/esm/CSSTransition.es.js +1 -1
  15. package/dist/shared/node_modules/react-transition-group/esm/Transition.cjs.js +1 -1
  16. package/dist/shared/node_modules/react-transition-group/esm/Transition.es.js +1 -1
  17. package/dist/shared/node_modules/react-transition-group/esm/utils/PropTypes.cjs.js +1 -1
  18. package/dist/shared/node_modules/react-transition-group/esm/utils/PropTypes.es.js +1 -1
  19. package/dist/shared/src/api/generated/graphql.cjs.js +12 -8
  20. package/dist/shared/src/api/generated/graphql.cjs.js.map +1 -1
  21. package/dist/shared/src/api/generated/graphql.es.js +11 -7
  22. package/dist/shared/src/api/generated/graphql.es.js.map +1 -1
  23. package/dist/shared/src/api/generated/graphqlLinks.cjs.js.map +1 -1
  24. package/dist/shared/src/api/generated/graphqlLinks.es.js.map +1 -1
  25. package/dist/shared/src/api/queries/overview/getOverview.cjs.js +1 -1
  26. package/dist/shared/src/api/queries/overview/getOverview.cjs.js.map +1 -1
  27. package/dist/shared/src/api/queries/overview/getOverview.es.js +95 -95
  28. package/dist/shared/src/api/queries/overview/getOverview.es.js.map +1 -1
  29. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js +2 -2
  30. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js.map +1 -1
  31. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.es.js +66 -61
  32. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.es.js.map +1 -1
  33. package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js +1 -1
  34. package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js.map +1 -1
  35. package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js +14 -11
  36. package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js.map +1 -1
  37. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js +1 -1
  38. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js.map +1 -1
  39. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js +42 -41
  40. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js.map +1 -1
  41. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +1 -1
  42. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
  43. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +23 -23
  44. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
  45. package/dist/shared/src/containers/Feed/hooks/useTransformActivities.cjs.js +1 -1
  46. package/dist/shared/src/containers/Feed/hooks/useTransformActivities.cjs.js.map +1 -1
  47. package/dist/shared/src/containers/Feed/hooks/useTransformActivities.es.js +6 -6
  48. package/dist/shared/src/containers/Feed/hooks/useTransformActivities.es.js.map +1 -1
  49. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +1 -1
  50. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
  51. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +65 -64
  52. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
  53. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +1 -1
  54. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js.map +1 -1
  55. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +16 -16
  56. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -1
  57. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js +3 -3
  58. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js.map +1 -1
  59. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js +142 -146
  60. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js.map +1 -1
  61. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js +1 -1
  62. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js.map +1 -1
  63. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js +24 -24
  64. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js.map +1 -1
  65. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js +1 -1
  66. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js.map +1 -1
  67. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js +141 -132
  68. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js.map +1 -1
  69. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js +1 -1
  70. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js.map +1 -1
  71. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js +35 -28
  72. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js.map +1 -1
  73. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.cjs.js +2 -2
  74. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.cjs.js.map +1 -1
  75. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.es.js +10 -10
  76. package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.cjs.js.map +1 -1
  77. package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.es.js.map +1 -1
  78. package/dist/shared/src/context/AddonContext.cjs.js.map +1 -1
  79. package/dist/shared/src/context/AddonContext.es.js.map +1 -1
  80. package/dist/shared/src/context/ProjectFoldersContext.cjs.js +1 -1
  81. package/dist/shared/src/context/ProjectFoldersContext.cjs.js.map +1 -1
  82. package/dist/shared/src/context/ProjectFoldersContext.es.js +62 -49
  83. package/dist/shared/src/context/ProjectFoldersContext.es.js.map +1 -1
  84. package/dist/shared/src/hooks/useLoadModules.cjs.js +1 -1
  85. package/dist/shared/src/hooks/useLoadModules.cjs.js.map +1 -1
  86. package/dist/shared/src/hooks/useLoadModules.es.js +86 -80
  87. package/dist/shared/src/hooks/useLoadModules.es.js.map +1 -1
  88. package/dist/types/api/generated/graphql.d.ts +2 -1
  89. package/dist/types/api/generated/graphqlLinks.d.ts +1 -0
  90. package/dist/types/api/queries/overview/getOverview.d.ts +1 -0
  91. package/dist/types/components/RemotePage/RemotePageWrapper.d.ts +1 -0
  92. package/dist/types/components/SearchFilter/useBuildFilterOptions.d.ts +1 -0
  93. package/dist/types/containers/ProjectTreeTable/hooks/useFetchOverviewData.d.ts +2 -1
  94. package/dist/types/containers/ProjectTreeTable/hooks/useQueryFilters.d.ts +4 -1
  95. package/dist/types/context/AddonContext.d.ts +1 -0
  96. package/dist/types/context/ProjectFoldersContext.d.ts +1 -0
  97. package/package.json +2 -1
  98. package/dist/node_modules/@ungap/structured-clone/esm/deserialize.cjs.js +0 -2
  99. package/dist/node_modules/@ungap/structured-clone/esm/deserialize.cjs.js.map +0 -1
  100. package/dist/node_modules/@ungap/structured-clone/esm/deserialize.es.js +0 -63
  101. package/dist/node_modules/@ungap/structured-clone/esm/deserialize.es.js.map +0 -1
  102. package/dist/node_modules/@ungap/structured-clone/esm/index.cjs.js +0 -2
  103. package/dist/node_modules/@ungap/structured-clone/esm/index.cjs.js.map +0 -1
  104. package/dist/node_modules/@ungap/structured-clone/esm/index.es.js +0 -12
  105. package/dist/node_modules/@ungap/structured-clone/esm/index.es.js.map +0 -1
  106. package/dist/node_modules/@ungap/structured-clone/esm/serialize.cjs.js +0 -2
  107. package/dist/node_modules/@ungap/structured-clone/esm/serialize.cjs.js.map +0 -1
  108. package/dist/node_modules/@ungap/structured-clone/esm/serialize.es.js +0 -107
  109. package/dist/node_modules/@ungap/structured-clone/esm/serialize.es.js.map +0 -1
  110. package/dist/node_modules/@ungap/structured-clone/esm/types.cjs.js +0 -2
  111. package/dist/node_modules/@ungap/structured-clone/esm/types.cjs.js.map +0 -1
  112. package/dist/node_modules/@ungap/structured-clone/esm/types.es.js +0 -14
  113. package/dist/node_modules/@ungap/structured-clone/esm/types.es.js.map +0 -1
  114. package/dist/node_modules/devlop/lib/default.cjs.js +0 -2
  115. package/dist/node_modules/devlop/lib/default.cjs.js.map +0 -1
  116. package/dist/node_modules/devlop/lib/default.es.js +0 -6
  117. package/dist/node_modules/devlop/lib/default.es.js.map +0 -1
  118. package/dist/node_modules/entities/dist/esm/decode-codepoint.cjs.js +0 -2
  119. package/dist/node_modules/entities/dist/esm/decode-codepoint.cjs.js.map +0 -1
  120. package/dist/node_modules/entities/dist/esm/decode-codepoint.es.js +0 -39
  121. package/dist/node_modules/entities/dist/esm/decode-codepoint.es.js.map +0 -1
  122. package/dist/node_modules/entities/dist/esm/decode.cjs.js +0 -2
  123. package/dist/node_modules/entities/dist/esm/decode.cjs.js.map +0 -1
  124. package/dist/node_modules/entities/dist/esm/decode.es.js +0 -246
  125. package/dist/node_modules/entities/dist/esm/decode.es.js.map +0 -1
  126. package/dist/node_modules/entities/dist/esm/generated/decode-data-html.cjs.js +0 -2
  127. package/dist/node_modules/entities/dist/esm/generated/decode-data-html.cjs.js.map +0 -1
  128. package/dist/node_modules/entities/dist/esm/generated/decode-data-html.es.js +0 -8
  129. package/dist/node_modules/entities/dist/esm/generated/decode-data-html.es.js.map +0 -1
  130. package/dist/node_modules/hast-util-raw/lib/index.cjs.js +0 -2
  131. package/dist/node_modules/hast-util-raw/lib/index.cjs.js.map +0 -1
  132. package/dist/node_modules/hast-util-raw/lib/index.es.js +0 -218
  133. package/dist/node_modules/hast-util-raw/lib/index.es.js.map +0 -1
  134. package/dist/node_modules/hast-util-raw/node_modules/hast-util-from-parse5/lib/index.cjs.js +0 -2
  135. package/dist/node_modules/hast-util-raw/node_modules/hast-util-from-parse5/lib/index.cjs.js.map +0 -1
  136. package/dist/node_modules/hast-util-raw/node_modules/hast-util-from-parse5/lib/index.es.js +0 -146
  137. package/dist/node_modules/hast-util-raw/node_modules/hast-util-from-parse5/lib/index.es.js.map +0 -1
  138. package/dist/node_modules/hast-util-raw/node_modules/hast-util-parse-selector/lib/index.cjs.js +0 -2
  139. package/dist/node_modules/hast-util-raw/node_modules/hast-util-parse-selector/lib/index.cjs.js.map +0 -1
  140. package/dist/node_modules/hast-util-raw/node_modules/hast-util-parse-selector/lib/index.es.js +0 -21
  141. package/dist/node_modules/hast-util-raw/node_modules/hast-util-parse-selector/lib/index.es.js.map +0 -1
  142. package/dist/node_modules/hast-util-raw/node_modules/hastscript/lib/create-h.cjs.js +0 -2
  143. package/dist/node_modules/hast-util-raw/node_modules/hastscript/lib/create-h.cjs.js.map +0 -1
  144. package/dist/node_modules/hast-util-raw/node_modules/hastscript/lib/create-h.es.js +0 -113
  145. package/dist/node_modules/hast-util-raw/node_modules/hastscript/lib/create-h.es.js.map +0 -1
  146. package/dist/node_modules/hast-util-raw/node_modules/hastscript/lib/index.cjs.js +0 -2
  147. package/dist/node_modules/hast-util-raw/node_modules/hastscript/lib/index.cjs.js.map +0 -1
  148. package/dist/node_modules/hast-util-raw/node_modules/hastscript/lib/index.es.js +0 -9
  149. package/dist/node_modules/hast-util-raw/node_modules/hastscript/lib/index.es.js.map +0 -1
  150. package/dist/node_modules/hast-util-raw/node_modules/hastscript/lib/svg-case-sensitive-tag-names.cjs.js +0 -2
  151. package/dist/node_modules/hast-util-raw/node_modules/hastscript/lib/svg-case-sensitive-tag-names.cjs.js.map +0 -1
  152. package/dist/node_modules/hast-util-raw/node_modules/hastscript/lib/svg-case-sensitive-tag-names.es.js +0 -45
  153. package/dist/node_modules/hast-util-raw/node_modules/hastscript/lib/svg-case-sensitive-tag-names.es.js.map +0 -1
  154. package/dist/node_modules/hast-util-raw/node_modules/html-void-elements/index.cjs.js +0 -2
  155. package/dist/node_modules/hast-util-raw/node_modules/html-void-elements/index.cjs.js.map +0 -1
  156. package/dist/node_modules/hast-util-raw/node_modules/html-void-elements/index.es.js +0 -26
  157. package/dist/node_modules/hast-util-raw/node_modules/html-void-elements/index.es.js.map +0 -1
  158. package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/common/doctype.cjs.js +0 -2
  159. package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/common/doctype.cjs.js.map +0 -1
  160. package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/common/doctype.es.js +0 -99
  161. package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/common/doctype.es.js.map +0 -1
  162. package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/common/error-codes.cjs.js +0 -2
  163. package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/common/error-codes.cjs.js.map +0 -1
  164. package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/common/error-codes.es.js +0 -8
  165. package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/common/error-codes.es.js.map +0 -1
  166. package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/common/foreign-content.cjs.js +0 -2
  167. package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/common/foreign-content.cjs.js.map +0 -1
  168. package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/common/foreign-content.es.js +0 -211
  169. package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/common/foreign-content.es.js.map +0 -1
  170. package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/common/html.cjs.js +0 -2
  171. package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/common/html.cjs.js.map +0 -1
  172. package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/common/html.es.js +0 -251
  173. package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/common/html.es.js.map +0 -1
  174. package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/common/token.cjs.js +0 -2
  175. package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/common/token.cjs.js.map +0 -1
  176. package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/common/token.es.js +0 -15
  177. package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/common/token.es.js.map +0 -1
  178. package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/common/unicode.cjs.js +0 -2
  179. package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/common/unicode.cjs.js.map +0 -1
  180. package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/common/unicode.es.js +0 -74
  181. package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/common/unicode.es.js.map +0 -1
  182. package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/parser/formatting-element-list.cjs.js +0 -2
  183. package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/parser/formatting-element-list.cjs.js.map +0 -1
  184. package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/parser/formatting-element-list.es.js +0 -85
  185. package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/parser/formatting-element-list.es.js.map +0 -1
  186. package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/parser/index.cjs.js +0 -2
  187. package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/parser/index.cjs.js.map +0 -1
  188. package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/parser/index.es.js +0 -2272
  189. package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/parser/index.es.js.map +0 -1
  190. package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/parser/open-element-stack.cjs.js +0 -2
  191. package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/parser/open-element-stack.cjs.js.map +0 -1
  192. package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/parser/open-element-stack.es.js +0 -241
  193. package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/parser/open-element-stack.es.js.map +0 -1
  194. package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/serializer/index.cjs.js +0 -2
  195. package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/serializer/index.cjs.js.map +0 -1
  196. package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/serializer/index.es.js +0 -3
  197. package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/serializer/index.es.js.map +0 -1
  198. package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/tokenizer/index.cjs.js +0 -2
  199. package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/tokenizer/index.cjs.js.map +0 -1
  200. package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/tokenizer/index.es.js +0 -1941
  201. package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/tokenizer/index.es.js.map +0 -1
  202. package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/tokenizer/preprocessor.cjs.js +0 -2
  203. package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/tokenizer/preprocessor.cjs.js.map +0 -1
  204. package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/tokenizer/preprocessor.es.js +0 -89
  205. package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/tokenizer/preprocessor.es.js.map +0 -1
  206. package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/tree-adapters/default.cjs.js +0 -2
  207. package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/tree-adapters/default.cjs.js.map +0 -1
  208. package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/tree-adapters/default.es.js +0 -163
  209. package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/tree-adapters/default.es.js.map +0 -1
  210. package/dist/node_modules/hast-util-raw/node_modules/property-information/index.cjs.js +0 -2
  211. package/dist/node_modules/hast-util-raw/node_modules/property-information/index.cjs.js.map +0 -1
  212. package/dist/node_modules/hast-util-raw/node_modules/property-information/index.es.js +0 -13
  213. package/dist/node_modules/hast-util-raw/node_modules/property-information/index.es.js.map +0 -1
  214. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/aria.cjs.js +0 -2
  215. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/aria.cjs.js.map +0 -1
  216. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/aria.es.js +0 -62
  217. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/aria.es.js.map +0 -1
  218. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/find.cjs.js +0 -2
  219. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/find.cjs.js.map +0 -1
  220. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/find.es.js +0 -34
  221. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/find.es.js.map +0 -1
  222. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/html.cjs.js +0 -2
  223. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/html.cjs.js.map +0 -1
  224. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/html.es.js +0 -369
  225. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/html.es.js.map +0 -1
  226. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/normalize.cjs.js +0 -2
  227. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/normalize.cjs.js.map +0 -1
  228. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/normalize.es.js +0 -7
  229. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/normalize.es.js.map +0 -1
  230. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/svg.cjs.js +0 -2
  231. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/svg.cjs.js.map +0 -1
  232. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/svg.es.js +0 -567
  233. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/svg.es.js.map +0 -1
  234. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/case-insensitive-transform.cjs.js +0 -2
  235. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/case-insensitive-transform.cjs.js.map +0 -1
  236. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/case-insensitive-transform.es.js +0 -8
  237. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/case-insensitive-transform.es.js.map +0 -1
  238. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/case-sensitive-transform.cjs.js +0 -2
  239. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/case-sensitive-transform.cjs.js.map +0 -1
  240. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/case-sensitive-transform.es.js +0 -7
  241. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/case-sensitive-transform.es.js.map +0 -1
  242. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/create.cjs.js +0 -2
  243. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/create.cjs.js.map +0 -1
  244. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/create.es.js +0 -20
  245. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/create.es.js.map +0 -1
  246. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/defined-info.cjs.js +0 -2
  247. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/defined-info.cjs.js.map +0 -1
  248. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/defined-info.es.js +0 -37
  249. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/defined-info.es.js.map +0 -1
  250. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/info.cjs.js +0 -2
  251. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/info.cjs.js.map +0 -1
  252. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/info.es.js +0 -29
  253. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/info.es.js.map +0 -1
  254. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/merge.cjs.js +0 -2
  255. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/merge.cjs.js.map +0 -1
  256. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/merge.es.js +0 -11
  257. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/merge.es.js.map +0 -1
  258. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/schema.cjs.js +0 -2
  259. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/schema.cjs.js.map +0 -1
  260. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/schema.es.js +0 -22
  261. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/schema.es.js.map +0 -1
  262. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/types.cjs.js +0 -2
  263. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/types.cjs.js.map +0 -1
  264. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/types.es.js +0 -15
  265. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/types.es.js.map +0 -1
  266. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/xlink.cjs.js +0 -2
  267. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/xlink.cjs.js.map +0 -1
  268. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/xlink.es.js +0 -20
  269. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/xlink.es.js.map +0 -1
  270. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/xml.cjs.js +0 -2
  271. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/xml.cjs.js.map +0 -1
  272. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/xml.es.js +0 -12
  273. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/xml.es.js.map +0 -1
  274. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/xmlns.cjs.js +0 -2
  275. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/xmlns.cjs.js.map +0 -1
  276. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/xmlns.es.js +0 -12
  277. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/xmlns.es.js.map +0 -1
  278. package/dist/node_modules/hast-util-raw/node_modules/vfile-location/lib/index.cjs.js +0 -3
  279. package/dist/node_modules/hast-util-raw/node_modules/vfile-location/lib/index.cjs.js.map +0 -1
  280. package/dist/node_modules/hast-util-raw/node_modules/vfile-location/lib/index.es.js +0 -43
  281. package/dist/node_modules/hast-util-raw/node_modules/vfile-location/lib/index.es.js.map +0 -1
  282. package/dist/node_modules/hast-util-to-parse5/lib/index.cjs.js +0 -2
  283. package/dist/node_modules/hast-util-to-parse5/lib/index.cjs.js.map +0 -1
  284. package/dist/node_modules/hast-util-to-parse5/lib/index.es.js +0 -119
  285. package/dist/node_modules/hast-util-to-parse5/lib/index.es.js.map +0 -1
  286. package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/index.cjs.js +0 -2
  287. package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/index.cjs.js.map +0 -1
  288. package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/index.es.js +0 -13
  289. package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/index.es.js.map +0 -1
  290. package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/aria.cjs.js +0 -2
  291. package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/aria.cjs.js.map +0 -1
  292. package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/aria.es.js +0 -62
  293. package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/aria.es.js.map +0 -1
  294. package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/find.cjs.js +0 -2
  295. package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/find.cjs.js.map +0 -1
  296. package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/find.es.js +0 -34
  297. package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/find.es.js.map +0 -1
  298. package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/html.cjs.js +0 -2
  299. package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/html.cjs.js.map +0 -1
  300. package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/html.es.js +0 -369
  301. package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/html.es.js.map +0 -1
  302. package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/normalize.cjs.js +0 -2
  303. package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/normalize.cjs.js.map +0 -1
  304. package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/normalize.es.js +0 -7
  305. package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/normalize.es.js.map +0 -1
  306. package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/svg.cjs.js +0 -2
  307. package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/svg.cjs.js.map +0 -1
  308. package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/svg.es.js +0 -567
  309. package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/svg.es.js.map +0 -1
  310. package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/util/case-insensitive-transform.cjs.js +0 -2
  311. package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/util/case-insensitive-transform.cjs.js.map +0 -1
  312. package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/util/case-insensitive-transform.es.js +0 -8
  313. package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/util/case-insensitive-transform.es.js.map +0 -1
  314. package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/util/case-sensitive-transform.cjs.js +0 -2
  315. package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/util/case-sensitive-transform.cjs.js.map +0 -1
  316. package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/util/case-sensitive-transform.es.js +0 -7
  317. package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/util/case-sensitive-transform.es.js.map +0 -1
  318. package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/util/create.cjs.js +0 -2
  319. package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/util/create.cjs.js.map +0 -1
  320. package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/util/create.es.js +0 -20
  321. package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/util/create.es.js.map +0 -1
  322. package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/util/defined-info.cjs.js +0 -2
  323. package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/util/defined-info.cjs.js.map +0 -1
  324. package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/util/defined-info.es.js +0 -37
  325. package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/util/defined-info.es.js.map +0 -1
  326. package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/util/info.cjs.js +0 -2
  327. package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/util/info.cjs.js.map +0 -1
  328. package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/util/info.es.js +0 -29
  329. package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/util/info.es.js.map +0 -1
  330. package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/util/merge.cjs.js +0 -2
  331. package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/util/merge.cjs.js.map +0 -1
  332. package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/util/merge.es.js +0 -11
  333. package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/util/merge.es.js.map +0 -1
  334. package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/util/schema.cjs.js +0 -2
  335. package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/util/schema.cjs.js.map +0 -1
  336. package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/util/schema.es.js +0 -22
  337. package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/util/schema.es.js.map +0 -1
  338. package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/util/types.cjs.js +0 -2
  339. package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/util/types.cjs.js.map +0 -1
  340. package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/util/types.es.js +0 -15
  341. package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/util/types.es.js.map +0 -1
  342. package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/xlink.cjs.js +0 -2
  343. package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/xlink.cjs.js.map +0 -1
  344. package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/xlink.es.js +0 -20
  345. package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/xlink.es.js.map +0 -1
  346. package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/xml.cjs.js +0 -2
  347. package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/xml.cjs.js.map +0 -1
  348. package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/xml.es.js +0 -12
  349. package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/xml.es.js.map +0 -1
  350. package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/xmlns.cjs.js +0 -2
  351. package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/xmlns.cjs.js.map +0 -1
  352. package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/xmlns.es.js +0 -12
  353. package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/xmlns.es.js.map +0 -1
  354. package/dist/node_modules/rehype-raw/lib/index.cjs.js +0 -2
  355. package/dist/node_modules/rehype-raw/lib/index.cjs.js.map +0 -1
  356. package/dist/node_modules/rehype-raw/lib/index.es.js +0 -13
  357. package/dist/node_modules/rehype-raw/lib/index.es.js.map +0 -1
  358. package/dist/node_modules/unist-util-is/lib/index.cjs.js +0 -2
  359. package/dist/node_modules/unist-util-is/lib/index.cjs.js.map +0 -1
  360. package/dist/node_modules/unist-util-is/lib/index.es.js +0 -92
  361. package/dist/node_modules/unist-util-is/lib/index.es.js.map +0 -1
  362. package/dist/node_modules/unist-util-position/lib/index.cjs.js +0 -2
  363. package/dist/node_modules/unist-util-position/lib/index.cjs.js.map +0 -1
  364. package/dist/node_modules/unist-util-position/lib/index.es.js +0 -18
  365. package/dist/node_modules/unist-util-position/lib/index.es.js.map +0 -1
  366. package/dist/node_modules/unist-util-visit/lib/index.cjs.js +0 -2
  367. package/dist/node_modules/unist-util-visit/lib/index.cjs.js.map +0 -1
  368. package/dist/node_modules/unist-util-visit/lib/index.es.js +0 -17
  369. package/dist/node_modules/unist-util-visit/lib/index.es.js.map +0 -1
  370. package/dist/node_modules/unist-util-visit-parents/lib/color.cjs.js +0 -2
  371. package/dist/node_modules/unist-util-visit-parents/lib/color.cjs.js.map +0 -1
  372. package/dist/node_modules/unist-util-visit-parents/lib/color.es.js +0 -7
  373. package/dist/node_modules/unist-util-visit-parents/lib/color.es.js.map +0 -1
  374. package/dist/node_modules/unist-util-visit-parents/lib/index.cjs.js +0 -2
  375. package/dist/node_modules/unist-util-visit-parents/lib/index.cjs.js.map +0 -1
  376. package/dist/node_modules/unist-util-visit-parents/lib/index.es.js +0 -57
  377. package/dist/node_modules/unist-util-visit-parents/lib/index.es.js.map +0 -1
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("react"),d=require("@ynput/ayon-react-components"),g=require("../utils/clientFilterToQueryFilter.cjs.js");require("short-uuid");require("react-toastify");require("lodash");require("uuid");require("../../../util/pubsub.cjs.js");require("../context/CellEditingContext.cjs.js");require("../../../../../_virtual/jsx-runtime.cjs.js");require("../context/SelectionCellsContext.cjs.js");require("../context/ProjectTableQueriesContext.cjs.js");require("../context/ProjectTableContext.cjs.js");require("../../../context/RemoteModulesContext.cjs.js");require("../../../context/DetailsPanelContext.cjs.js");require("../../../context/ThumbnailUploaderContext.cjs.js");require("../../../context/SettingsPanelContext.cjs.js");require("../../../context/pip/PiPProvider.cjs.js");require("react-dom");require("../../../context/pip/PiPWrapper.cjs.js");require("../../../context/AddonProjectContext.cjs.js");require("../../../context/AddonContext.cjs.js");require("../../../context/PowerpackContext.cjs.js");require("../../../context/MoveEntityContext.cjs.js");require("../../../context/MenuContext.cjs.js");require("../../../context/WebsocketContext.cjs.js");require("../../../context/GlobalContext.cjs.js");require("../../../context/ProjectContext.cjs.js");require("../../../context/ProjectFoldersContext.cjs.js");require("../../../context/UriContext.cjs.js");require("../context/ClipboardContext.cjs.js");require("@tanstack/react-table");require("@tanstack/react-virtual");require("clsx");require("../widgets/CollapsedWidget.cjs.js");require("../widgets/DateWidget.cjs.js");require("../widgets/EnumWidget.cjs.js");require("../widgets/TextWidget.cjs.js");require("../widgets/BooleanWidget.cjs.js");require("../widgets/CellWidget.cjs.js");require("../widgets/EntityNameWidget.cjs.js");require("../widgets/GroupHeaderWidget.cjs.js");require("../widgets/ThumbnailWidget.cjs.js");require("../../../components/AddonLoadingScreen/AddonLoadingScreen.cjs.js");require("../../../../../node_modules/match-sorter/dist/match-sorter.esm.cjs.js");require("../../../components/AccessSearchInput/AccessSearchInput.styled.cjs.js");require("../../../components/AccessUser/AccessUser.cjs.js");require("../../../components/AttributeEditor/components/MinMaxField.cjs.js");require("@dnd-kit/core");require("@dnd-kit/sortable");require("../../../components/EnumEditor/EnumEditor.styled.cjs.js");require("../../../components/Badge/Badge.cjs.js");require("../../../components/Chips/Chips.cjs.js");require("../../../api/base/client.cjs.js");require("../../../api/generated/graphql.cjs.js");require("../../../api/generated/graphqlLinks.cjs.js");require("../../../api/generated/access.cjs.js");require("../../../api/generated/actions.cjs.js");require("../../../api/generated/activityFeed.cjs.js");require("../../../api/generated/addons.cjs.js");require("../../../api/generated/anatomy.cjs.js");require("../../../api/generated/attributes.cjs.js");require("../../../api/generated/authentication.cjs.js");require("../../../api/generated/bundles.cjs.js");require("../../../api/generated/configuration.cjs.js");require("../../../api/generated/desktop.cjs.js");require("../../../api/generated/entityLists.cjs.js");require("../../../api/generated/events.cjs.js");require("../../../api/generated/files.cjs.js");require("../../../api/generated/folders.cjs.js");require("../../../api/generated/inbox.cjs.js");require("../../../api/generated/links.cjs.js");require("../../../api/generated/market.cjs.js");require("../../../api/generated/onboarding.cjs.js");require("../../../api/generated/operations.cjs.js");require("../../../api/generated/products.cjs.js");require("../../../api/generated/projectDashboard.cjs.js");require("../../../api/generated/projects.cjs.js");require("../../../api/generated/reviewables.cjs.js");require("../../../api/generated/services.cjs.js");require("../../../api/generated/system.cjs.js");require("../../../api/generated/tasks.cjs.js");require("../../../api/generated/teams.cjs.js");require("../../../api/generated/thumbnails.cjs.js");require("../../../api/generated/uRIs.cjs.js");require("../../../api/generated/users.cjs.js");require("../../../api/generated/versions.cjs.js");require("../../../api/generated/workfiles.cjs.js");require("../../../api/generated/ynputCloud.cjs.js");require("../../../api/generated/grouping.cjs.js");require("../../../api/generated/views.cjs.js");require("../../../api/queries/actions/getActions.cjs.js");require("../../../api/queries/activities/getActivities.cjs.js");require("../../../api/queries/activities/updateActivities.cjs.js");require("../../../api/queries/activities/updateReaction.cjs.js");require("../../../api/queries/activities/getMentions.cjs.js");require("../../../api/queries/activities/getCategories.cjs.js");require("../../../api/queries/addons/getAddons.cjs.js");require("../../../api/queries/addons/updateAddons.cjs.js");require("../../../api/queries/attributes/getAttributes.cjs.js");require("../../../api/queries/attributes/updateAttributes.cjs.js");require("../../../api/queries/authentication/getAuthentication.cjs.js");require("../../../api/queries/cloud/cloud.cjs.js");require("../../../api/queries/config/getConfig.cjs.js");require("../../../api/queries/config/updateConfig.cjs.js");require("../../../api/queries/entities/getEntity.cjs.js");require("../../../api/queries/entities/getEntityPanel.cjs.js");require("../../../api/queries/entities/updateEntity.cjs.js");require("../../../api/queries/entityLists/getLists.cjs.js");require("../../../api/queries/entityLists/updateLists.cjs.js");require("../../../api/queries/entityLists/getListsAttributes.cjs.js");require("../../../api/queries/entityLists/updateListsAttributes.cjs.js");require("../../../api/queries/entityLists/listFolders.cjs.js");require("../../../api/queries/folders/getFolders.cjs.js");require("../../../api/queries/grouping/getGrouping.cjs.js");require("../../../api/queries/links/updateLinks.cjs.js");require("../../../api/queries/links/getLinks.cjs.js");require("../../../api/queries/links/getEntityLinks.cjs.js");require("../../../api/queries/overview/getOverview.cjs.js");require("../../../api/queries/overview/updateOverview.cjs.js");require("../../../api/queries/versions/getVersionsProducts.cjs.js");require("../../../api/queries/permissions/getPermissions.cjs.js");require("../../../api/queries/products/createProduct.cjs.js");require("../../../api/queries/project/getProject.cjs.js");require("../../../api/queries/project/updateProject.cjs.js");require("../../../api/queries/review/getReview.cjs.js");require("../../../api/queries/review/updateReview.cjs.js");require("../../../api/queries/share/share.cjs.js");require("../../../api/queries/system/getSystem.cjs.js");require("../../../api/queries/userDashboard/getUserDashboard.cjs.js");require("../../../api/queries/users/getUsers.cjs.js");require("../../../api/queries/users/updateUsers.cjs.js");require("../../../api/queries/users/guests.cjs.js");require("../../../api/queries/versions/updateVersions.cjs.js");require("../../../api/queries/views/getViews.cjs.js");require("../../../api/queries/views/updateViews.cjs.js");require("../../../api/queries/watchers/getWatchers.cjs.js");require("../../../api/queries/uris/getUris.cjs.js");require("../../../components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js");require("../../../components/DetailsPanelDetails/DetailsPanelDetails.cjs.js");require("../../../components/DetailsPanelDetails/DetailsSection.cjs.js");require("../../../components/DetailsPanelDetails/FieldLabel.cjs.js");require("../../../components/EarlyPreview/EarlyPreview.cjs.js");require("../../../components/EmptyPlaceholder/EmptyPlaceholder.cjs.js");require("../../../components/EmptyPlaceholder/EmptyPlaceholderFlex.styled.cjs.js");require("../../ContextMenu/ContextMenuContext.cjs.js");;/* empty css */require("../../Feed/context/FeedContext.cjs.js");require("../../Feed/components/Tooltips/UserTooltip/UserTooltip.styled.cjs.js");require("../../Feed/components/Tooltips/EntityTooltip/EntityTooltip.styled.cjs.js");require("../../Feed/components/FileUploadPreview/FileUploadPreview.styled.cjs.js");require("../../Feed/components/FileUploadPreview/Mimes/TextMime.cjs.js");require("react-markdown");require("remark-emoji");require("remark-gfm");require("remark-directive");require("remark-directive-rehype");require("../../Feed/components/CommentInput/CommentInput.cjs.js");require("../../Feed/components/ReactionContainer/Reactions.styled.cjs.js");require("../../Feed/components/FilesGrid/FilesGrid.styled.cjs.js");require("../../Feed/components/FileUploadCard/FileUploadCard.styled.cjs.js");require("../../Feed/components/CommentInput/quillToMarkdown.cjs.js");require("../../Feed/components/ActivityComment/ActivityComment.styled.cjs.js");require("../../Feed/components/ActivityCheckbox/ActivityCheckbox.styled.cjs.js");require("../../Feed/components/ActivityReference/ActivityReference.styled.cjs.js");require("react-router-dom");require("../../Feed/components/ActivityStatus/ActivityStatus.cjs.js");require("../../Feed/components/ActivityHeader/ActivityHeader.styled.cjs.js");require("../../Feed/components/ActivityDate.cjs.js");require("../../Feed/components/ActivityCategorySelect/CategoryTag.cjs.js");require("../../Feed/components/ActivityStatusChange/ActivityStatusChange.styled.cjs.js");require("../../Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.styled.cjs.js");require("../../Feed/components/ActivityVersions/ActivityVersions.styled.cjs.js");require("../../Feed/components/ActivityGroup/ActivityGroup.styled.cjs.js");require("../../Feed/Feed.styled.cjs.js");require("date-fns");require("../../Feed/components/ActivityCategorySelect/ActivityCategorySelect.cjs.js");require("../../Feed/components/ActivityCategorySelect/CategoryDropdownItem.cjs.js");require("../context/ProjectDataContext.cjs.js");require("../../../../../_virtual/runtime.cjs.js");require("../../../../../_virtual/semver.cjs.js");require("react-redux");require("custom-protocol-check");require("../components/GroupSettingsFallback.cjs.js");require("../components/HeaderActionButton.cjs.js");require("../components/RowSelectionHeader.cjs.js");require("../components/SelectionCell.cjs.js");require("../components/ColumnHeaderMenu.cjs.js");require("../../SimpleTable/SimpleTable.styled.cjs.js");require("@tanstack/match-sorter-utils");require("../../SimpleTable/context/SimpleTableContext.cjs.js");require("../../SimpleTable/SimpleTableRowTemplate.cjs.js");require("../../Slicer/hooks/useTableDataBySlice.cjs.js");require("../../Slicer/components/SlicerSearch.cjs.js");require("../../Slicer/context/SlicerContext.cjs.js");require("../../DetailsPanel/DetailsPanel.styled.cjs.js");require("../../DetailsPanel/FeedFilters/FeedFilters.styled.cjs.js");require("../../DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js");require("../../../components/PlayableIcon/PlayableIcon.cjs.js");require("../../DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js");require("../../DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.styled.cjs.js");require("../../DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.styled.cjs.js");require("../../Actions/Actions.styled.cjs.js");require("../../Actions/ActionsDropdown/ActionsDropdown.cjs.js");require("../../Actions/ActionIcon.cjs.js");require("../../Views/context/ViewsContext.cjs.js");require("../../Views/Views.styled.cjs.js");require("../../Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js");require("../../Views/ViewsMenu/ViewsMenu.cjs.js");require("../../../components/EntityPanelUploader/EntityPanelUploader.styled.cjs.js");require("axios");require("../../../components/ReviewablesList/ReviewablesList.styled.cjs.js");require("../../../components/ReviewablesList/ReviewablesUpload.styled.cjs.js");require("../../../components/EntityPath/EntityPath.styled.cjs.js");require("../../../components/EntityPath/SegmentProvider.cjs.js");require("../../../components/FeaturedVersionOrder/FeaturedVersionOrder.cjs.js");require("../../../components/Feedback/FeedbackContext.cjs.js");require("../../../components/Feedback/SupportBubble.cjs.js");require("../../../components/FileThumbnail/FileThumbnail.cjs.js");require("../../../components/LegacyBadge/LegacyBadge.cjs.js");require("../../../components/LinksManager/LinksManager.styled.cjs.js");require("../../EntityPickerDialog/EntityPickerDialog.cjs.js");require("../../../components/Powerpack/PowerpackButton.cjs.js");require("../../../components/Powerpack/PricingLink.cjs.js");require("../../../components/Powerpack/PowerpackDialog.styled.cjs.js");require("../../../components/Powerpack/CTAButton.cjs.js");require("../../../components/Powerpack/RequiredAddonVersion.cjs.js");require("../../../components/ProjectTableSettings/ProjectTableSettings.cjs.js");require("../../../components/SizeSlider/SizeSlider.cjs.js");require("../../../components/ReviewableCard/ReviewableCard.cjs.js");require("../../../components/ReviewableProgressCard/ReviewableProgressCard.styled.cjs.js");require("../../../components/SearchFilter/filterDates.cjs.js");require("../../../components/SettingsPanel/SettingsPanel.cjs.js");require("../../../components/SettingsPanel/SettingsPanelItemTemplate.cjs.js");require("../../../components/ShareOptionIcon/ShareOptionIcon.cjs.js");require("../../../components/SimpleFormDialog/SimpleFormDialog.cjs.js");require("../../../components/SortingSetting/SortingSetting.styled.cjs.js");require("../../../components/StyledLink/StyledLink.cjs.js");require("../../../components/TableGridSwitch/TableGridSwitch.cjs.js");require("../../../components/Thumbnail/Thumbnail.styled.cjs.js");require("../../../components/Thumbnail/StackedThumbnails.cjs.js");require("../../../components/ThumbnailSimple/ThumbnailSimple.cjs.js");require("../../../components/VersionUploader/components/UploadVersionDialog.cjs.js");require("../../../components/VersionUploader/context/VersionUploadContext.cjs.js");require("../../../components/Watchers/Watchers.cjs.js");require("../../../components/Menu/Menu.styled.cjs.js");require("../../../components/Menu/MenuItem.cjs.js");require("../../../components/LinksManager/CellEditingDialog.cjs.js");require("../context/DetailsPanelEntityContext.cjs.js");require("../context/SelectedRowsContext.cjs.js");require("../widgets/EmptyWidget.cjs.js");require("../widgets/ErrorWidget.cjs.js");require("../ProjectTreeTable.styled.cjs.js");require("../widgets/LoadMoreWidget.cjs.js");require("../context/ColumnSettingsContext.cjs.js");const y=({queryFilters:q,sliceFilter:t})=>a.useMemo(()=>{let e=q;if(t?.values?.length){const i=g.clientFilterToQueryFilter([t]);i.conditions?.length&&(e={conditions:[...e?.conditions||[],...i.conditions],operator:"and"})}let l=q,o="";if(e?.conditions?.length){const i=[],n=e.conditions.filter(c=>{const u=c;if(u.key===d.SEARCH_FILTER_ID){const r=u.value;return r!=null&&String(r).trim()!==""&&i.push(String(r)),!1}if(u.key==="name"||u.key?.endsWith("_name")){const r=u.value;if(r!=null){const s=String(r).replace(/%/g,"").trim();s&&i.push(s)}return!1}return!0});o=i.join(" "),e=n.length?{...e,conditions:n}:{...e,conditions:[]}}return{filterString:e?.conditions?.length?JSON.stringify(e):"",filter:e,search:o,combinedFilters:e,displayFilters:l}},[q,t]);exports.useQueryFilters=y;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const g=require("react"),f=require("@ynput/ayon-react-components"),y=require("../utils/clientFilterToQueryFilter.cjs.js");require("short-uuid");require("react-toastify");require("lodash");require("uuid");require("../../../util/pubsub.cjs.js");require("../context/CellEditingContext.cjs.js");require("../../../../../_virtual/jsx-runtime.cjs.js");require("../context/SelectionCellsContext.cjs.js");require("../context/ProjectTableQueriesContext.cjs.js");require("../context/ProjectTableContext.cjs.js");require("../../../context/RemoteModulesContext.cjs.js");require("../../../context/DetailsPanelContext.cjs.js");require("../../../context/ThumbnailUploaderContext.cjs.js");require("../../../context/SettingsPanelContext.cjs.js");require("../../../context/pip/PiPProvider.cjs.js");require("react-dom");require("../../../context/pip/PiPWrapper.cjs.js");require("../../../context/AddonProjectContext.cjs.js");require("../../../context/AddonContext.cjs.js");require("../../../context/PowerpackContext.cjs.js");require("../../../context/MoveEntityContext.cjs.js");require("../../../context/MenuContext.cjs.js");require("../../../context/WebsocketContext.cjs.js");require("../../../context/GlobalContext.cjs.js");require("../../../context/ProjectContext.cjs.js");require("../../../context/ProjectFoldersContext.cjs.js");require("../../../context/UriContext.cjs.js");require("../context/ClipboardContext.cjs.js");require("@tanstack/react-table");require("@tanstack/react-virtual");require("clsx");require("../widgets/CollapsedWidget.cjs.js");require("../widgets/DateWidget.cjs.js");require("../widgets/EnumWidget.cjs.js");require("../widgets/TextWidget.cjs.js");require("../widgets/BooleanWidget.cjs.js");require("../widgets/CellWidget.cjs.js");require("../widgets/EntityNameWidget.cjs.js");require("../widgets/GroupHeaderWidget.cjs.js");require("../widgets/ThumbnailWidget.cjs.js");require("../../../components/AddonLoadingScreen/AddonLoadingScreen.cjs.js");require("../../../../../node_modules/match-sorter/dist/match-sorter.esm.cjs.js");require("../../../components/AccessSearchInput/AccessSearchInput.styled.cjs.js");require("../../../components/AccessUser/AccessUser.cjs.js");require("../../../components/AttributeEditor/components/MinMaxField.cjs.js");require("@dnd-kit/core");require("@dnd-kit/sortable");require("../../../components/EnumEditor/EnumEditor.styled.cjs.js");require("../../../components/Badge/Badge.cjs.js");require("../../../components/Chips/Chips.cjs.js");require("../../../api/base/client.cjs.js");require("../../../api/generated/graphql.cjs.js");require("../../../api/generated/graphqlLinks.cjs.js");require("../../../api/generated/access.cjs.js");require("../../../api/generated/actions.cjs.js");require("../../../api/generated/activityFeed.cjs.js");require("../../../api/generated/addons.cjs.js");require("../../../api/generated/anatomy.cjs.js");require("../../../api/generated/attributes.cjs.js");require("../../../api/generated/authentication.cjs.js");require("../../../api/generated/bundles.cjs.js");require("../../../api/generated/configuration.cjs.js");require("../../../api/generated/desktop.cjs.js");require("../../../api/generated/entityLists.cjs.js");require("../../../api/generated/events.cjs.js");require("../../../api/generated/files.cjs.js");require("../../../api/generated/folders.cjs.js");require("../../../api/generated/inbox.cjs.js");require("../../../api/generated/links.cjs.js");require("../../../api/generated/market.cjs.js");require("../../../api/generated/onboarding.cjs.js");require("../../../api/generated/operations.cjs.js");require("../../../api/generated/products.cjs.js");require("../../../api/generated/projectDashboard.cjs.js");require("../../../api/generated/projects.cjs.js");require("../../../api/generated/reviewables.cjs.js");require("../../../api/generated/services.cjs.js");require("../../../api/generated/system.cjs.js");require("../../../api/generated/tasks.cjs.js");require("../../../api/generated/teams.cjs.js");require("../../../api/generated/thumbnails.cjs.js");require("../../../api/generated/uRIs.cjs.js");require("../../../api/generated/users.cjs.js");require("../../../api/generated/versions.cjs.js");require("../../../api/generated/workfiles.cjs.js");require("../../../api/generated/ynputCloud.cjs.js");require("../../../api/generated/grouping.cjs.js");require("../../../api/generated/views.cjs.js");require("../../../api/queries/actions/getActions.cjs.js");require("../../../api/queries/activities/getActivities.cjs.js");require("../../../api/queries/activities/updateActivities.cjs.js");require("../../../api/queries/activities/updateReaction.cjs.js");require("../../../api/queries/activities/getMentions.cjs.js");require("../../../api/queries/activities/getCategories.cjs.js");require("../../../api/queries/addons/getAddons.cjs.js");require("../../../api/queries/addons/updateAddons.cjs.js");require("../../../api/queries/attributes/getAttributes.cjs.js");require("../../../api/queries/attributes/updateAttributes.cjs.js");require("../../../api/queries/authentication/getAuthentication.cjs.js");require("../../../api/queries/cloud/cloud.cjs.js");require("../../../api/queries/config/getConfig.cjs.js");require("../../../api/queries/config/updateConfig.cjs.js");require("../../../api/queries/entities/getEntity.cjs.js");require("../../../api/queries/entities/getEntityPanel.cjs.js");require("../../../api/queries/entities/updateEntity.cjs.js");require("../../../api/queries/entityLists/getLists.cjs.js");require("../../../api/queries/entityLists/updateLists.cjs.js");require("../../../api/queries/entityLists/getListsAttributes.cjs.js");require("../../../api/queries/entityLists/updateListsAttributes.cjs.js");require("../../../api/queries/entityLists/listFolders.cjs.js");require("../../../api/queries/folders/getFolders.cjs.js");require("../../../api/queries/grouping/getGrouping.cjs.js");require("../../../api/queries/links/updateLinks.cjs.js");require("../../../api/queries/links/getLinks.cjs.js");require("../../../api/queries/links/getEntityLinks.cjs.js");require("../../../api/queries/overview/getOverview.cjs.js");require("../../../api/queries/overview/updateOverview.cjs.js");require("../../../api/queries/versions/getVersionsProducts.cjs.js");require("../../../api/queries/permissions/getPermissions.cjs.js");require("../../../api/queries/products/createProduct.cjs.js");require("../../../api/queries/project/getProject.cjs.js");require("../../../api/queries/project/updateProject.cjs.js");require("../../../api/queries/review/getReview.cjs.js");require("../../../api/queries/review/updateReview.cjs.js");require("../../../api/queries/share/share.cjs.js");require("../../../api/queries/system/getSystem.cjs.js");require("../../../api/queries/userDashboard/getUserDashboard.cjs.js");require("../../../api/queries/users/getUsers.cjs.js");require("../../../api/queries/users/updateUsers.cjs.js");require("../../../api/queries/users/guests.cjs.js");require("../../../api/queries/versions/updateVersions.cjs.js");require("../../../api/queries/views/getViews.cjs.js");require("../../../api/queries/views/updateViews.cjs.js");require("../../../api/queries/watchers/getWatchers.cjs.js");require("../../../api/queries/uris/getUris.cjs.js");require("../../../components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js");require("../../../components/DetailsPanelDetails/DetailsPanelDetails.cjs.js");require("../../../components/DetailsPanelDetails/DetailsSection.cjs.js");require("../../../components/DetailsPanelDetails/FieldLabel.cjs.js");require("../../../components/EarlyPreview/EarlyPreview.cjs.js");require("../../../components/EmptyPlaceholder/EmptyPlaceholder.cjs.js");require("../../../components/EmptyPlaceholder/EmptyPlaceholderFlex.styled.cjs.js");require("../../ContextMenu/ContextMenuContext.cjs.js");;/* empty css */require("../../Feed/context/FeedContext.cjs.js");require("../../Feed/components/Tooltips/UserTooltip/UserTooltip.styled.cjs.js");require("../../Feed/components/Tooltips/EntityTooltip/EntityTooltip.styled.cjs.js");require("../../Feed/components/FileUploadPreview/FileUploadPreview.styled.cjs.js");require("../../Feed/components/FileUploadPreview/Mimes/TextMime.cjs.js");require("react-markdown");require("remark-emoji");require("remark-gfm");require("remark-directive");require("remark-directive-rehype");require("../../Feed/components/CommentInput/CommentInput.cjs.js");require("../../Feed/components/ReactionContainer/Reactions.styled.cjs.js");require("../../Feed/components/FilesGrid/FilesGrid.styled.cjs.js");require("../../Feed/components/FileUploadCard/FileUploadCard.styled.cjs.js");require("../../Feed/components/CommentInput/quillToMarkdown.cjs.js");require("../../Feed/components/ActivityComment/ActivityComment.styled.cjs.js");require("../../Feed/components/ActivityCheckbox/ActivityCheckbox.styled.cjs.js");require("../../Feed/components/ActivityReference/ActivityReference.styled.cjs.js");require("react-router-dom");require("../../Feed/components/ActivityStatus/ActivityStatus.cjs.js");require("../../Feed/components/ActivityHeader/ActivityHeader.styled.cjs.js");require("../../Feed/components/ActivityDate.cjs.js");require("../../Feed/components/ActivityCategorySelect/CategoryTag.cjs.js");require("../../Feed/components/ActivityStatusChange/ActivityStatusChange.styled.cjs.js");require("../../Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.styled.cjs.js");require("../../Feed/components/ActivityVersions/ActivityVersions.styled.cjs.js");require("../../Feed/components/ActivityGroup/ActivityGroup.styled.cjs.js");require("../../Feed/Feed.styled.cjs.js");require("date-fns");require("../../Feed/components/ActivityCategorySelect/ActivityCategorySelect.cjs.js");require("../../Feed/components/ActivityCategorySelect/CategoryDropdownItem.cjs.js");require("../context/ProjectDataContext.cjs.js");require("../../../../../_virtual/runtime.cjs.js");require("../../../../../_virtual/semver.cjs.js");require("react-redux");require("custom-protocol-check");require("../components/GroupSettingsFallback.cjs.js");require("../components/HeaderActionButton.cjs.js");require("../components/RowSelectionHeader.cjs.js");require("../components/SelectionCell.cjs.js");require("../components/ColumnHeaderMenu.cjs.js");require("../../SimpleTable/SimpleTable.styled.cjs.js");require("@tanstack/match-sorter-utils");require("../../SimpleTable/context/SimpleTableContext.cjs.js");require("../../SimpleTable/SimpleTableRowTemplate.cjs.js");require("../../Slicer/hooks/useTableDataBySlice.cjs.js");require("../../Slicer/components/SlicerSearch.cjs.js");require("../../Slicer/context/SlicerContext.cjs.js");require("../../DetailsPanel/DetailsPanel.styled.cjs.js");require("../../DetailsPanel/FeedFilters/FeedFilters.styled.cjs.js");require("../../DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js");require("../../../components/PlayableIcon/PlayableIcon.cjs.js");require("../../DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js");require("../../DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.styled.cjs.js");require("../../DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.styled.cjs.js");require("../../Actions/Actions.styled.cjs.js");require("../../Actions/ActionsDropdown/ActionsDropdown.cjs.js");require("../../Actions/ActionIcon.cjs.js");require("../../Views/context/ViewsContext.cjs.js");require("../../Views/Views.styled.cjs.js");require("../../Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js");require("../../Views/ViewsMenu/ViewsMenu.cjs.js");require("../../../components/EntityPanelUploader/EntityPanelUploader.styled.cjs.js");require("axios");require("../../../components/ReviewablesList/ReviewablesList.styled.cjs.js");require("../../../components/ReviewablesList/ReviewablesUpload.styled.cjs.js");require("../../../components/EntityPath/EntityPath.styled.cjs.js");require("../../../components/EntityPath/SegmentProvider.cjs.js");require("../../../components/FeaturedVersionOrder/FeaturedVersionOrder.cjs.js");require("../../../components/Feedback/FeedbackContext.cjs.js");require("../../../components/Feedback/SupportBubble.cjs.js");require("../../../components/FileThumbnail/FileThumbnail.cjs.js");require("../../../components/LegacyBadge/LegacyBadge.cjs.js");require("../../../components/LinksManager/LinksManager.styled.cjs.js");require("../../EntityPickerDialog/EntityPickerDialog.cjs.js");require("../../../components/Powerpack/PowerpackButton.cjs.js");require("../../../components/Powerpack/PricingLink.cjs.js");require("../../../components/Powerpack/PowerpackDialog.styled.cjs.js");require("../../../components/Powerpack/CTAButton.cjs.js");require("../../../components/Powerpack/RequiredAddonVersion.cjs.js");require("../../../components/ProjectTableSettings/ProjectTableSettings.cjs.js");require("../../../components/SizeSlider/SizeSlider.cjs.js");require("../../../components/ReviewableCard/ReviewableCard.cjs.js");require("../../../components/ReviewableProgressCard/ReviewableProgressCard.styled.cjs.js");require("../../../components/SearchFilter/filterDates.cjs.js");require("../../../components/SettingsPanel/SettingsPanel.cjs.js");require("../../../components/SettingsPanel/SettingsPanelItemTemplate.cjs.js");require("../../../components/ShareOptionIcon/ShareOptionIcon.cjs.js");require("../../../components/SimpleFormDialog/SimpleFormDialog.cjs.js");require("../../../components/SortingSetting/SortingSetting.styled.cjs.js");require("../../../components/StyledLink/StyledLink.cjs.js");require("../../../components/TableGridSwitch/TableGridSwitch.cjs.js");require("../../../components/Thumbnail/Thumbnail.styled.cjs.js");require("../../../components/Thumbnail/StackedThumbnails.cjs.js");require("../../../components/ThumbnailSimple/ThumbnailSimple.cjs.js");require("../../../components/VersionUploader/components/UploadVersionDialog.cjs.js");require("../../../components/VersionUploader/context/VersionUploadContext.cjs.js");require("../../../components/Watchers/Watchers.cjs.js");require("../../../components/Menu/Menu.styled.cjs.js");require("../../../components/Menu/MenuItem.cjs.js");require("../../../components/LinksManager/CellEditingDialog.cjs.js");require("../context/DetailsPanelEntityContext.cjs.js");require("../context/SelectedRowsContext.cjs.js");require("../widgets/EmptyWidget.cjs.js");require("../widgets/ErrorWidget.cjs.js");require("../ProjectTreeTable.styled.cjs.js");require("../widgets/LoadMoreWidget.cjs.js");require("../context/ColumnSettingsContext.cjs.js");const h=({queryFilters:t,sliceFilter:n,config:{searchKey:s}={}})=>g.useMemo(()=>{let e=t;if(n?.values?.length){const i=y.clientFilterToQueryFilter([n]);i.conditions?.length&&(e={conditions:[...e?.conditions||[],...i.conditions],operator:"and"})}let a=t,l="";if(e?.conditions?.length){const i=[],o=e.conditions.filter(d=>{const u=d;if(u.key===f.SEARCH_FILTER_ID){const r=u.value;return r!=null&&String(r).trim()!==""&&i.push(String(r)),!1}if(s&&u.key===s||u.key?.endsWith("_searchKey")){const r=u.value;if(r!=null)if(Array.isArray(r))r.forEach(q=>{const c=String(q).replace(/%/g,"").trim();c&&i.push(c)});else{const q=String(r).replace(/%/g,"").trim();q&&i.push(q)}return!1}return!0});l=i.join(" "),e=o.length?{...e,conditions:o}:{...e,conditions:[]}}return{filterString:e?.conditions?.length?JSON.stringify(e):"",filter:e,search:l,combinedFilters:e,displayFilters:a}},[t,n]);exports.useQueryFilters=h;
2
2
  //# sourceMappingURL=useQueryFilters.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useQueryFilters.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useQueryFilters.ts"],"sourcesContent":["import { useMemo } from 'react'\nimport { Filter, SEARCH_FILTER_ID } from '@ynput/ayon-react-components'\nimport { type QueryTasksFoldersApiArg } from '@shared/api'\nimport { clientFilterToQueryFilter } from '../utils'\nimport { QueryFilter, QueryCondition } from '../types/operations'\n\ninterface UseQueryFiltersProps {\n queryFilters: QueryFilter\n sliceFilter?: Filter | null\n}\n\ninterface QueryFiltersResult {\n filter: QueryTasksFoldersApiArg['tasksFoldersQuery']['filter']\n filterString?: string\n search: QueryTasksFoldersApiArg['tasksFoldersQuery']['search']\n combinedFilters: QueryFilter // For data fetching (includes slice filters)\n displayFilters: QueryFilter // For SearchFilterWrapper (excludes slice filters, except hierarchy)\n}\n\nexport const useQueryFilters = ({\n queryFilters,\n sliceFilter,\n}: UseQueryFiltersProps): QueryFiltersResult => {\n return useMemo(() => {\n let combinedQueryFilter = queryFilters\n\n // If there's a slice filter, convert it and merge it with the query filters\n if (sliceFilter?.values?.length) {\n const sliceQueryFilter = clientFilterToQueryFilter([sliceFilter])\n\n // Merge the slice filter with existing query filters for data fetching\n if (sliceQueryFilter.conditions?.length) {\n const existingConditions = combinedQueryFilter?.conditions || []\n combinedQueryFilter = {\n conditions: [...existingConditions, ...sliceQueryFilter.conditions],\n operator: 'and',\n }\n }\n }\n\n // Create display filters (for SearchFilterWrapper)\n // This excludes slice filters, except for hierarchy when slice type changes\n let displayQueryFilter = queryFilters\n\n // extract text search and name filter conditions, remove them from combinedQueryFilter and merge to fuzzySearchFilter\n let fuzzySearchFilter = ''\n\n if (combinedQueryFilter?.conditions?.length) {\n const searchValues: string[] = []\n\n const remainingConditions = combinedQueryFilter.conditions.filter((condition) => {\n const queryCondition = condition as QueryCondition\n\n // Extract global text search filter\n if (queryCondition.key === SEARCH_FILTER_ID) {\n const val = queryCondition.value\n if (val !== undefined && val !== null && String(val).trim() !== '') {\n searchValues.push(String(val))\n }\n return false // remove search condition\n }\n\n // Extract name filter (can be scoped like 'task_name' or 'folder_name' or just 'name')\n if (queryCondition.key === 'name' || queryCondition.key?.endsWith('_name')) {\n const val = queryCondition.value\n // Name filters use 'like' operator with wildcards, extract the actual search term\n if (val !== undefined && val !== null) {\n const searchTerm = String(val).replace(/%/g, '').trim()\n if (searchTerm) {\n searchValues.push(searchTerm)\n }\n }\n return false // remove name condition\n }\n\n return true\n })\n\n // Join multiple search conditions into one space-separated fuzzy search string\n fuzzySearchFilter = searchValues.join(' ')\n\n // If there are remaining conditions, keep them; otherwise set empty conditions\n combinedQueryFilter = remainingConditions.length\n ? { ...combinedQueryFilter, conditions: remainingConditions }\n : { ...combinedQueryFilter, conditions: [] }\n }\n\n const queryFilterString = combinedQueryFilter?.conditions?.length\n ? JSON.stringify(combinedQueryFilter)\n : ''\n\n return {\n filterString: queryFilterString,\n filter: combinedQueryFilter,\n search: fuzzySearchFilter,\n combinedFilters: combinedQueryFilter,\n displayFilters: displayQueryFilter,\n }\n }, [queryFilters, sliceFilter])\n}\n"],"names":["useQueryFilters","queryFilters","sliceFilter","useMemo","combinedQueryFilter","sliceQueryFilter","clientFilterToQueryFilter","displayQueryFilter","fuzzySearchFilter","searchValues","remainingConditions","condition","queryCondition","SEARCH_FILTER_ID","val","searchTerm"],"mappings":"+ucAmBO,MAAMA,EAAkB,CAAC,CAC9B,aAAAC,EACA,YAAAC,CACF,IACSC,EAAAA,QAAQ,IAAM,CACnB,IAAIC,EAAsBH,EAG1B,GAAIC,GAAa,QAAQ,OAAQ,CAC/B,MAAMG,EAAmBC,EAAAA,0BAA0B,CAACJ,CAAW,CAAC,EAG5DG,EAAiB,YAAY,SAE/BD,EAAsB,CACpB,WAAY,CAAC,GAFYA,GAAqB,YAAc,CAAA,EAExB,GAAGC,EAAiB,UAAU,EAClE,SAAU,KAAA,EAGhB,CAIA,IAAIE,EAAqBN,EAGrBO,EAAoB,GAExB,GAAIJ,GAAqB,YAAY,OAAQ,CAC3C,MAAMK,EAAyB,CAAA,EAEzBC,EAAsBN,EAAoB,WAAW,OAAQO,GAAc,CAC/E,MAAMC,EAAiBD,EAGvB,GAAIC,EAAe,MAAQC,mBAAkB,CAC3C,MAAMC,EAAMF,EAAe,MAC3B,OAAyBE,GAAQ,MAAQ,OAAOA,CAAG,EAAE,KAAA,IAAW,IAC9DL,EAAa,KAAK,OAAOK,CAAG,CAAC,EAExB,EACT,CAGA,GAAIF,EAAe,MAAQ,QAAUA,EAAe,KAAK,SAAS,OAAO,EAAG,CAC1E,MAAME,EAAMF,EAAe,MAE3B,GAAyBE,GAAQ,KAAM,CACrC,MAAMC,EAAa,OAAOD,CAAG,EAAE,QAAQ,KAAM,EAAE,EAAE,KAAA,EAC7CC,GACFN,EAAa,KAAKM,CAAU,CAEhC,CACA,MAAO,EACT,CAEA,MAAO,EACT,CAAC,EAGDP,EAAoBC,EAAa,KAAK,GAAG,EAGzCL,EAAsBM,EAAoB,OACtC,CAAE,GAAGN,EAAqB,WAAYM,CAAA,EACtC,CAAE,GAAGN,EAAqB,WAAY,CAAA,CAAC,CAC7C,CAMA,MAAO,CACL,aALwBA,GAAqB,YAAY,OACvD,KAAK,UAAUA,CAAmB,EAClC,GAIF,OAAQA,EACR,OAAQI,EACR,gBAAiBJ,EACjB,eAAgBG,CAAA,CAEpB,EAAG,CAACN,EAAcC,CAAW,CAAC"}
1
+ {"version":3,"file":"useQueryFilters.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useQueryFilters.ts"],"sourcesContent":["import { useMemo } from 'react'\nimport { Filter, SEARCH_FILTER_ID } from '@ynput/ayon-react-components'\nimport { type QueryTasksFoldersApiArg } from '@shared/api'\nimport { clientFilterToQueryFilter } from '../utils'\nimport { QueryFilter, QueryCondition } from '../types/operations'\n\ninterface UseQueryFiltersProps {\n queryFilters: QueryFilter\n sliceFilter?: Filter | null\n config?: {\n searchKey?: string\n }\n}\n\ninterface QueryFiltersResult {\n filter: QueryTasksFoldersApiArg['tasksFoldersQuery']['filter']\n filterString?: string\n search: QueryTasksFoldersApiArg['tasksFoldersQuery']['search']\n combinedFilters: QueryFilter // For data fetching (includes slice filters)\n displayFilters: QueryFilter // For SearchFilterWrapper (excludes slice filters, except hierarchy)\n}\n\nexport const useQueryFilters = ({\n queryFilters,\n sliceFilter,\n config: { searchKey } = {},\n}: UseQueryFiltersProps): QueryFiltersResult => {\n return useMemo(() => {\n let combinedQueryFilter = queryFilters\n\n // If there's a slice filter, convert it and merge it with the query filters\n if (sliceFilter?.values?.length) {\n const sliceQueryFilter = clientFilterToQueryFilter([sliceFilter])\n\n // Merge the slice filter with existing query filters for data fetching\n if (sliceQueryFilter.conditions?.length) {\n const existingConditions = combinedQueryFilter?.conditions || []\n combinedQueryFilter = {\n conditions: [...existingConditions, ...sliceQueryFilter.conditions],\n operator: 'and',\n }\n }\n }\n\n // Create display filters (for SearchFilterWrapper)\n // This excludes slice filters, except for hierarchy when slice type changes\n let displayQueryFilter = queryFilters\n\n // extract text search and name filter conditions, remove them from combinedQueryFilter and merge to fuzzySearchFilter\n let fuzzySearchFilter = ''\n\n if (combinedQueryFilter?.conditions?.length) {\n const searchValues: string[] = []\n\n const remainingConditions = combinedQueryFilter.conditions.filter((condition) => {\n const queryCondition = condition as QueryCondition\n\n // Extract global text search filter\n if (queryCondition.key === SEARCH_FILTER_ID) {\n const val = queryCondition.value\n if (val !== undefined && val !== null && String(val).trim() !== '') {\n searchValues.push(String(val))\n }\n return false // remove search condition\n }\n\n // Extract name filter (can be scoped like 'task_name' or 'folder_name' or just 'name')\n if (\n (searchKey && queryCondition.key === searchKey) ||\n queryCondition.key?.endsWith('_' + 'searchKey')\n ) {\n const val = queryCondition.value\n // Name filters use 'like' operator with wildcards, extract the actual search term\n if (val !== undefined && val !== null) {\n if (Array.isArray(val)) {\n val.forEach((v) => {\n const searchTerm = String(v).replace(/%/g, '').trim()\n if (searchTerm) {\n searchValues.push(searchTerm)\n }\n })\n } else {\n const searchTerm = String(val).replace(/%/g, '').trim()\n if (searchTerm) {\n searchValues.push(searchTerm)\n }\n }\n }\n return false // remove name condition\n }\n\n return true\n })\n\n // Join multiple search conditions into one space-separated fuzzy search string\n fuzzySearchFilter = searchValues.join(' ')\n\n // If there are remaining conditions, keep them; otherwise set empty conditions\n combinedQueryFilter = remainingConditions.length\n ? { ...combinedQueryFilter, conditions: remainingConditions }\n : { ...combinedQueryFilter, conditions: [] }\n }\n\n const queryFilterString = combinedQueryFilter?.conditions?.length\n ? JSON.stringify(combinedQueryFilter)\n : ''\n\n return {\n filterString: queryFilterString,\n filter: combinedQueryFilter,\n search: fuzzySearchFilter,\n combinedFilters: combinedQueryFilter,\n displayFilters: displayQueryFilter,\n }\n }, [queryFilters, sliceFilter])\n}\n"],"names":["useQueryFilters","queryFilters","sliceFilter","searchKey","useMemo","combinedQueryFilter","sliceQueryFilter","clientFilterToQueryFilter","displayQueryFilter","fuzzySearchFilter","searchValues","remainingConditions","condition","queryCondition","SEARCH_FILTER_ID","val","v","searchTerm"],"mappings":"+ucAsBO,MAAMA,EAAkB,CAAC,CAC9B,aAAAC,EACA,YAAAC,EACA,OAAQ,CAAE,UAAAC,GAAc,CAAA,CAC1B,IACSC,EAAAA,QAAQ,IAAM,CACnB,IAAIC,EAAsBJ,EAG1B,GAAIC,GAAa,QAAQ,OAAQ,CAC/B,MAAMI,EAAmBC,EAAAA,0BAA0B,CAACL,CAAW,CAAC,EAG5DI,EAAiB,YAAY,SAE/BD,EAAsB,CACpB,WAAY,CAAC,GAFYA,GAAqB,YAAc,CAAA,EAExB,GAAGC,EAAiB,UAAU,EAClE,SAAU,KAAA,EAGhB,CAIA,IAAIE,EAAqBP,EAGrBQ,EAAoB,GAExB,GAAIJ,GAAqB,YAAY,OAAQ,CAC3C,MAAMK,EAAyB,CAAA,EAEzBC,EAAsBN,EAAoB,WAAW,OAAQO,GAAc,CAC/E,MAAMC,EAAiBD,EAGvB,GAAIC,EAAe,MAAQC,mBAAkB,CAC3C,MAAMC,EAAMF,EAAe,MAC3B,OAAyBE,GAAQ,MAAQ,OAAOA,CAAG,EAAE,KAAA,IAAW,IAC9DL,EAAa,KAAK,OAAOK,CAAG,CAAC,EAExB,EACT,CAGA,GACGZ,GAAaU,EAAe,MAAQV,GACrCU,EAAe,KAAK,SAAS,YAAiB,EAC9C,CACA,MAAME,EAAMF,EAAe,MAE3B,GAAyBE,GAAQ,KAC/B,GAAI,MAAM,QAAQA,CAAG,EACnBA,EAAI,QAASC,GAAM,CACjB,MAAMC,EAAa,OAAOD,CAAC,EAAE,QAAQ,KAAM,EAAE,EAAE,KAAA,EAC3CC,GACFP,EAAa,KAAKO,CAAU,CAEhC,CAAC,MACI,CACL,MAAMA,EAAa,OAAOF,CAAG,EAAE,QAAQ,KAAM,EAAE,EAAE,KAAA,EAC7CE,GACFP,EAAa,KAAKO,CAAU,CAEhC,CAEF,MAAO,EACT,CAEA,MAAO,EACT,CAAC,EAGDR,EAAoBC,EAAa,KAAK,GAAG,EAGzCL,EAAsBM,EAAoB,OACtC,CAAE,GAAGN,EAAqB,WAAYM,CAAA,EACtC,CAAE,GAAGN,EAAqB,WAAY,CAAA,CAAC,CAC7C,CAMA,MAAO,CACL,aALwBA,GAAqB,YAAY,OACvD,KAAK,UAAUA,CAAmB,EAClC,GAIF,OAAQA,EACR,OAAQI,EACR,gBAAiBJ,EACjB,eAAgBG,CAAA,CAEpB,EAAG,CAACP,EAAcC,CAAW,CAAC"}
@@ -1,6 +1,6 @@
1
- import { useMemo as u } from "react";
1
+ import { useMemo as f } from "react";
2
2
  import { SEARCH_FILTER_ID as d } from "@ynput/ayon-react-components";
3
- import { clientFilterToQueryFilter as a } from "../utils/clientFilterToQueryFilter.es.js";
3
+ import { clientFilterToQueryFilter as g } from "../utils/clientFilterToQueryFilter.es.js";
4
4
  import "short-uuid";
5
5
  import "react-toastify";
6
6
  import "lodash";
@@ -253,47 +253,54 @@ import "../widgets/ErrorWidget.es.js";
253
253
  import "../ProjectTreeTable.styled.es.js";
254
254
  import "../widgets/LoadMoreWidget.es.js";
255
255
  import "../context/ColumnSettingsContext.es.js";
256
- const tm = ({
257
- queryFilters: m,
258
- sliceFilter: p
259
- }) => u(() => {
260
- let i = m;
261
- if (p?.values?.length) {
262
- const o = a([p]);
263
- o.conditions?.length && (i = {
264
- conditions: [...i?.conditions || [], ...o.conditions],
256
+ const om = ({
257
+ queryFilters: p,
258
+ sliceFilter: n,
259
+ config: { searchKey: s } = {}
260
+ }) => f(() => {
261
+ let i = p;
262
+ if (n?.values?.length) {
263
+ const r = g([n]);
264
+ r.conditions?.length && (i = {
265
+ conditions: [...i?.conditions || [], ...r.conditions],
265
266
  operator: "and"
266
267
  });
267
268
  }
268
- let l = m, e = "";
269
+ let u = p, l = "";
269
270
  if (i?.conditions?.length) {
270
- const o = [], n = i.conditions.filter((c) => {
271
- const r = c;
272
- if (r.key === d) {
273
- const t = r.value;
274
- return t != null && String(t).trim() !== "" && o.push(String(t)), !1;
271
+ const r = [], e = i.conditions.filter((a) => {
272
+ const o = a;
273
+ if (o.key === d) {
274
+ const t = o.value;
275
+ return t != null && String(t).trim() !== "" && r.push(String(t)), !1;
275
276
  }
276
- if (r.key === "name" || r.key?.endsWith("_name")) {
277
- const t = r.value;
278
- if (t != null) {
279
- const s = String(t).replace(/%/g, "").trim();
280
- s && o.push(s);
281
- }
277
+ if (s && o.key === s || o.key?.endsWith("_searchKey")) {
278
+ const t = o.value;
279
+ if (t != null)
280
+ if (Array.isArray(t))
281
+ t.forEach((m) => {
282
+ const c = String(m).replace(/%/g, "").trim();
283
+ c && r.push(c);
284
+ });
285
+ else {
286
+ const m = String(t).replace(/%/g, "").trim();
287
+ m && r.push(m);
288
+ }
282
289
  return !1;
283
290
  }
284
291
  return !0;
285
292
  });
286
- e = o.join(" "), i = n.length ? { ...i, conditions: n } : { ...i, conditions: [] };
293
+ l = r.join(" "), i = e.length ? { ...i, conditions: e } : { ...i, conditions: [] };
287
294
  }
288
295
  return {
289
296
  filterString: i?.conditions?.length ? JSON.stringify(i) : "",
290
297
  filter: i,
291
- search: e,
298
+ search: l,
292
299
  combinedFilters: i,
293
- displayFilters: l
300
+ displayFilters: u
294
301
  };
295
- }, [m, p]);
302
+ }, [p, n]);
296
303
  export {
297
- tm as useQueryFilters
304
+ om as useQueryFilters
298
305
  };
299
306
  //# sourceMappingURL=useQueryFilters.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useQueryFilters.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useQueryFilters.ts"],"sourcesContent":["import { useMemo } from 'react'\nimport { Filter, SEARCH_FILTER_ID } from '@ynput/ayon-react-components'\nimport { type QueryTasksFoldersApiArg } from '@shared/api'\nimport { clientFilterToQueryFilter } from '../utils'\nimport { QueryFilter, QueryCondition } from '../types/operations'\n\ninterface UseQueryFiltersProps {\n queryFilters: QueryFilter\n sliceFilter?: Filter | null\n}\n\ninterface QueryFiltersResult {\n filter: QueryTasksFoldersApiArg['tasksFoldersQuery']['filter']\n filterString?: string\n search: QueryTasksFoldersApiArg['tasksFoldersQuery']['search']\n combinedFilters: QueryFilter // For data fetching (includes slice filters)\n displayFilters: QueryFilter // For SearchFilterWrapper (excludes slice filters, except hierarchy)\n}\n\nexport const useQueryFilters = ({\n queryFilters,\n sliceFilter,\n}: UseQueryFiltersProps): QueryFiltersResult => {\n return useMemo(() => {\n let combinedQueryFilter = queryFilters\n\n // If there's a slice filter, convert it and merge it with the query filters\n if (sliceFilter?.values?.length) {\n const sliceQueryFilter = clientFilterToQueryFilter([sliceFilter])\n\n // Merge the slice filter with existing query filters for data fetching\n if (sliceQueryFilter.conditions?.length) {\n const existingConditions = combinedQueryFilter?.conditions || []\n combinedQueryFilter = {\n conditions: [...existingConditions, ...sliceQueryFilter.conditions],\n operator: 'and',\n }\n }\n }\n\n // Create display filters (for SearchFilterWrapper)\n // This excludes slice filters, except for hierarchy when slice type changes\n let displayQueryFilter = queryFilters\n\n // extract text search and name filter conditions, remove them from combinedQueryFilter and merge to fuzzySearchFilter\n let fuzzySearchFilter = ''\n\n if (combinedQueryFilter?.conditions?.length) {\n const searchValues: string[] = []\n\n const remainingConditions = combinedQueryFilter.conditions.filter((condition) => {\n const queryCondition = condition as QueryCondition\n\n // Extract global text search filter\n if (queryCondition.key === SEARCH_FILTER_ID) {\n const val = queryCondition.value\n if (val !== undefined && val !== null && String(val).trim() !== '') {\n searchValues.push(String(val))\n }\n return false // remove search condition\n }\n\n // Extract name filter (can be scoped like 'task_name' or 'folder_name' or just 'name')\n if (queryCondition.key === 'name' || queryCondition.key?.endsWith('_name')) {\n const val = queryCondition.value\n // Name filters use 'like' operator with wildcards, extract the actual search term\n if (val !== undefined && val !== null) {\n const searchTerm = String(val).replace(/%/g, '').trim()\n if (searchTerm) {\n searchValues.push(searchTerm)\n }\n }\n return false // remove name condition\n }\n\n return true\n })\n\n // Join multiple search conditions into one space-separated fuzzy search string\n fuzzySearchFilter = searchValues.join(' ')\n\n // If there are remaining conditions, keep them; otherwise set empty conditions\n combinedQueryFilter = remainingConditions.length\n ? { ...combinedQueryFilter, conditions: remainingConditions }\n : { ...combinedQueryFilter, conditions: [] }\n }\n\n const queryFilterString = combinedQueryFilter?.conditions?.length\n ? JSON.stringify(combinedQueryFilter)\n : ''\n\n return {\n filterString: queryFilterString,\n filter: combinedQueryFilter,\n search: fuzzySearchFilter,\n combinedFilters: combinedQueryFilter,\n displayFilters: displayQueryFilter,\n }\n }, [queryFilters, sliceFilter])\n}\n"],"names":["useQueryFilters","queryFilters","sliceFilter","useMemo","combinedQueryFilter","sliceQueryFilter","clientFilterToQueryFilter","displayQueryFilter","fuzzySearchFilter","searchValues","remainingConditions","condition","queryCondition","SEARCH_FILTER_ID","val","searchTerm"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmBO,MAAMA,KAAkB,CAAC;AAAA,EAC9B,cAAAC;AAAA,EACA,aAAAC;AACF,MACSC,EAAQ,MAAM;AACnB,MAAIC,IAAsBH;AAG1B,MAAIC,GAAa,QAAQ,QAAQ;AAC/B,UAAMG,IAAmBC,EAA0B,CAACJ,CAAW,CAAC;AAGhE,IAAIG,EAAiB,YAAY,WAE/BD,IAAsB;AAAA,MACpB,YAAY,CAAC,GAFYA,GAAqB,cAAc,CAAA,GAExB,GAAGC,EAAiB,UAAU;AAAA,MAClE,UAAU;AAAA,IAAA;AAAA,EAGhB;AAIA,MAAIE,IAAqBN,GAGrBO,IAAoB;AAExB,MAAIJ,GAAqB,YAAY,QAAQ;AAC3C,UAAMK,IAAyB,CAAA,GAEzBC,IAAsBN,EAAoB,WAAW,OAAO,CAACO,MAAc;AAC/E,YAAMC,IAAiBD;AAGvB,UAAIC,EAAe,QAAQC,GAAkB;AAC3C,cAAMC,IAAMF,EAAe;AAC3B,eAAyBE,KAAQ,QAAQ,OAAOA,CAAG,EAAE,KAAA,MAAW,MAC9DL,EAAa,KAAK,OAAOK,CAAG,CAAC,GAExB;AAAA,MACT;AAGA,UAAIF,EAAe,QAAQ,UAAUA,EAAe,KAAK,SAAS,OAAO,GAAG;AAC1E,cAAME,IAAMF,EAAe;AAE3B,YAAyBE,KAAQ,MAAM;AACrC,gBAAMC,IAAa,OAAOD,CAAG,EAAE,QAAQ,MAAM,EAAE,EAAE,KAAA;AACjD,UAAIC,KACFN,EAAa,KAAKM,CAAU;AAAA,QAEhC;AACA,eAAO;AAAA,MACT;AAEA,aAAO;AAAA,IACT,CAAC;AAGD,IAAAP,IAAoBC,EAAa,KAAK,GAAG,GAGzCL,IAAsBM,EAAoB,SACtC,EAAE,GAAGN,GAAqB,YAAYM,EAAA,IACtC,EAAE,GAAGN,GAAqB,YAAY,CAAA,EAAC;AAAA,EAC7C;AAMA,SAAO;AAAA,IACL,cALwBA,GAAqB,YAAY,SACvD,KAAK,UAAUA,CAAmB,IAClC;AAAA,IAIF,QAAQA;AAAA,IACR,QAAQI;AAAA,IACR,iBAAiBJ;AAAA,IACjB,gBAAgBG;AAAA,EAAA;AAEpB,GAAG,CAACN,GAAcC,CAAW,CAAC;"}
1
+ {"version":3,"file":"useQueryFilters.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useQueryFilters.ts"],"sourcesContent":["import { useMemo } from 'react'\nimport { Filter, SEARCH_FILTER_ID } from '@ynput/ayon-react-components'\nimport { type QueryTasksFoldersApiArg } from '@shared/api'\nimport { clientFilterToQueryFilter } from '../utils'\nimport { QueryFilter, QueryCondition } from '../types/operations'\n\ninterface UseQueryFiltersProps {\n queryFilters: QueryFilter\n sliceFilter?: Filter | null\n config?: {\n searchKey?: string\n }\n}\n\ninterface QueryFiltersResult {\n filter: QueryTasksFoldersApiArg['tasksFoldersQuery']['filter']\n filterString?: string\n search: QueryTasksFoldersApiArg['tasksFoldersQuery']['search']\n combinedFilters: QueryFilter // For data fetching (includes slice filters)\n displayFilters: QueryFilter // For SearchFilterWrapper (excludes slice filters, except hierarchy)\n}\n\nexport const useQueryFilters = ({\n queryFilters,\n sliceFilter,\n config: { searchKey } = {},\n}: UseQueryFiltersProps): QueryFiltersResult => {\n return useMemo(() => {\n let combinedQueryFilter = queryFilters\n\n // If there's a slice filter, convert it and merge it with the query filters\n if (sliceFilter?.values?.length) {\n const sliceQueryFilter = clientFilterToQueryFilter([sliceFilter])\n\n // Merge the slice filter with existing query filters for data fetching\n if (sliceQueryFilter.conditions?.length) {\n const existingConditions = combinedQueryFilter?.conditions || []\n combinedQueryFilter = {\n conditions: [...existingConditions, ...sliceQueryFilter.conditions],\n operator: 'and',\n }\n }\n }\n\n // Create display filters (for SearchFilterWrapper)\n // This excludes slice filters, except for hierarchy when slice type changes\n let displayQueryFilter = queryFilters\n\n // extract text search and name filter conditions, remove them from combinedQueryFilter and merge to fuzzySearchFilter\n let fuzzySearchFilter = ''\n\n if (combinedQueryFilter?.conditions?.length) {\n const searchValues: string[] = []\n\n const remainingConditions = combinedQueryFilter.conditions.filter((condition) => {\n const queryCondition = condition as QueryCondition\n\n // Extract global text search filter\n if (queryCondition.key === SEARCH_FILTER_ID) {\n const val = queryCondition.value\n if (val !== undefined && val !== null && String(val).trim() !== '') {\n searchValues.push(String(val))\n }\n return false // remove search condition\n }\n\n // Extract name filter (can be scoped like 'task_name' or 'folder_name' or just 'name')\n if (\n (searchKey && queryCondition.key === searchKey) ||\n queryCondition.key?.endsWith('_' + 'searchKey')\n ) {\n const val = queryCondition.value\n // Name filters use 'like' operator with wildcards, extract the actual search term\n if (val !== undefined && val !== null) {\n if (Array.isArray(val)) {\n val.forEach((v) => {\n const searchTerm = String(v).replace(/%/g, '').trim()\n if (searchTerm) {\n searchValues.push(searchTerm)\n }\n })\n } else {\n const searchTerm = String(val).replace(/%/g, '').trim()\n if (searchTerm) {\n searchValues.push(searchTerm)\n }\n }\n }\n return false // remove name condition\n }\n\n return true\n })\n\n // Join multiple search conditions into one space-separated fuzzy search string\n fuzzySearchFilter = searchValues.join(' ')\n\n // If there are remaining conditions, keep them; otherwise set empty conditions\n combinedQueryFilter = remainingConditions.length\n ? { ...combinedQueryFilter, conditions: remainingConditions }\n : { ...combinedQueryFilter, conditions: [] }\n }\n\n const queryFilterString = combinedQueryFilter?.conditions?.length\n ? JSON.stringify(combinedQueryFilter)\n : ''\n\n return {\n filterString: queryFilterString,\n filter: combinedQueryFilter,\n search: fuzzySearchFilter,\n combinedFilters: combinedQueryFilter,\n displayFilters: displayQueryFilter,\n }\n }, [queryFilters, sliceFilter])\n}\n"],"names":["useQueryFilters","queryFilters","sliceFilter","searchKey","useMemo","combinedQueryFilter","sliceQueryFilter","clientFilterToQueryFilter","displayQueryFilter","fuzzySearchFilter","searchValues","remainingConditions","condition","queryCondition","SEARCH_FILTER_ID","val","v","searchTerm"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsBO,MAAMA,KAAkB,CAAC;AAAA,EAC9B,cAAAC;AAAA,EACA,aAAAC;AAAA,EACA,QAAQ,EAAE,WAAAC,MAAc,CAAA;AAC1B,MACSC,EAAQ,MAAM;AACnB,MAAIC,IAAsBJ;AAG1B,MAAIC,GAAa,QAAQ,QAAQ;AAC/B,UAAMI,IAAmBC,EAA0B,CAACL,CAAW,CAAC;AAGhE,IAAII,EAAiB,YAAY,WAE/BD,IAAsB;AAAA,MACpB,YAAY,CAAC,GAFYA,GAAqB,cAAc,CAAA,GAExB,GAAGC,EAAiB,UAAU;AAAA,MAClE,UAAU;AAAA,IAAA;AAAA,EAGhB;AAIA,MAAIE,IAAqBP,GAGrBQ,IAAoB;AAExB,MAAIJ,GAAqB,YAAY,QAAQ;AAC3C,UAAMK,IAAyB,CAAA,GAEzBC,IAAsBN,EAAoB,WAAW,OAAO,CAACO,MAAc;AAC/E,YAAMC,IAAiBD;AAGvB,UAAIC,EAAe,QAAQC,GAAkB;AAC3C,cAAMC,IAAMF,EAAe;AAC3B,eAAyBE,KAAQ,QAAQ,OAAOA,CAAG,EAAE,KAAA,MAAW,MAC9DL,EAAa,KAAK,OAAOK,CAAG,CAAC,GAExB;AAAA,MACT;AAGA,UACGZ,KAAaU,EAAe,QAAQV,KACrCU,EAAe,KAAK,SAAS,YAAiB,GAC9C;AACA,cAAME,IAAMF,EAAe;AAE3B,YAAyBE,KAAQ;AAC/B,cAAI,MAAM,QAAQA,CAAG;AACnB,YAAAA,EAAI,QAAQ,CAACC,MAAM;AACjB,oBAAMC,IAAa,OAAOD,CAAC,EAAE,QAAQ,MAAM,EAAE,EAAE,KAAA;AAC/C,cAAIC,KACFP,EAAa,KAAKO,CAAU;AAAA,YAEhC,CAAC;AAAA,eACI;AACL,kBAAMA,IAAa,OAAOF,CAAG,EAAE,QAAQ,MAAM,EAAE,EAAE,KAAA;AACjD,YAAIE,KACFP,EAAa,KAAKO,CAAU;AAAA,UAEhC;AAEF,eAAO;AAAA,MACT;AAEA,aAAO;AAAA,IACT,CAAC;AAGD,IAAAR,IAAoBC,EAAa,KAAK,GAAG,GAGzCL,IAAsBM,EAAoB,SACtC,EAAE,GAAGN,GAAqB,YAAYM,EAAA,IACtC,EAAE,GAAGN,GAAqB,YAAY,CAAA,EAAC;AAAA,EAC7C;AAMA,SAAO;AAAA,IACL,cALwBA,GAAqB,YAAY,SACvD,KAAK,UAAUA,CAAmB,IAClC;AAAA,IAIF,QAAQA;AAAA,IACR,QAAQI;AAAA,IACR,iBAAiBJ;AAAA,IACjB,gBAAgBG;AAAA,EAAA;AAEpB,GAAG,CAACP,GAAcC,CAAW,CAAC;"}
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("../../../../../_virtual/jsx-runtime.cjs.js"),b=require("react"),E=require("react-markdown"),P=require("remark-gfm"),S=require("./TextWidgetInput.cjs.js"),m=require("styled-components"),W=require("@ynput/ayon-react-components"),v=require("clsx");require("lodash");require("react-toastify");require("uuid");const C=require("../../../util/parseHtmlToPlainTextWithLinks.cjs.js");require("../../../util/pubsub.cjs.js");const M=require("../../../../../node_modules/rehype-raw/lib/index.cjs.js"),U=m.span`
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("../../../../../_virtual/jsx-runtime.cjs.js"),b=require("react"),E=require("react-markdown"),P=require("remark-gfm"),S=require("rehype-raw"),W=require("./TextWidgetInput.cjs.js"),m=require("styled-components"),v=require("@ynput/ayon-react-components"),C=require("clsx");require("lodash");require("react-toastify");require("uuid");const M=require("../../../util/parseHtmlToPlainTextWithLinks.cjs.js");require("../../../util/pubsub.cjs.js");const U=m.span`
2
2
  overflow: hidden;
3
3
  text-overflow: ellipsis;
4
4
  white-space: nowrap;
@@ -26,5 +26,5 @@
26
26
  &:hover {
27
27
  text-decoration: underline;
28
28
  }
29
- `,D=n=>{try{const t=new URL(n.trim());return t.protocol==="http:"||t.protocol==="https:"}catch{return!1}},L=n=>{const t=/(https?:\/\/[^\s<>"]+[^\s.,!?;:<>\")\]])/gi;return n.split(t).map((c,l)=>D(c)?{type:"url",content:c,key:l}:{type:"text",content:c,key:l})},h=n=>/<[^>]*>/.test(n),_=b.forwardRef(({value:n,option:t,isEditing:x,isInherited:c,onChange:l,onCancelEdit:g,style:y,type:f,columnId:d,className:j,...k},w)=>{if(x)return r.jsxRuntimeExports.jsx(S.TextWidgetInput,{value:n,onChange:l,onCancel:g,type:f||"string"});const a=t?.label||n,s=typeof a=="string"?a:String(a||""),u=d==="attrib_description"||d==="description",R=!u&&!h(s)&&!s.match(/(https?:\/\/\S+)/gi),q=()=>u?r.jsxRuntimeExports.jsx(E,{remarkPlugins:[P],rehypePlugins:[M],components:{p:({children:o})=>r.jsxRuntimeExports.jsx("span",{children:o}),a:({href:o,children:e})=>r.jsxRuntimeExports.jsx(p,{href:o||"#",onMouseDown:i=>i.stopPropagation(),target:"_blank",rel:"noopener noreferrer",children:e})},children:s}):h(s)?C.parseHtmlToPlainTextWithLinks(s).map(e=>e.type==="url"&&e.href?r.jsxRuntimeExports.jsx(p,{href:e.href,onMouseDown:i=>i.stopPropagation(),target:"_blank",rel:"noopener noreferrer",children:e.content},e.key):r.jsxRuntimeExports.jsx("span",{style:{whiteSpace:"pre-line"},children:e.content},e.key)):s.match(/(https?:\/\/\S+)/gi)?L(s).map(e=>e.type==="url"?r.jsxRuntimeExports.jsx(p,{href:e.content,onMouseDown:i=>i.stopPropagation(),target:"_blank",rel:"noopener noreferrer",children:e.content},e.key):e.content):s,T=v(j,{markdown:u,regular:R});return r.jsxRuntimeExports.jsxs(U,{className:T,style:{color:t?.color,...y},...k,ref:w,children:[t?.icon&&r.jsxRuntimeExports.jsx(W.Icon,{icon:t.icon,style:{color:t.color}}),q()]})});exports.TextWidget=_;
29
+ `,D=n=>{try{const t=new URL(n.trim());return t.protocol==="http:"||t.protocol==="https:"}catch{return!1}},L=n=>{const t=/(https?:\/\/[^\s<>"]+[^\s.,!?;:<>\")\]])/gi;return n.split(t).map((c,l)=>D(c)?{type:"url",content:c,key:l}:{type:"text",content:c,key:l})},h=n=>/<[^>]*>/.test(n),_=b.forwardRef(({value:n,option:t,isEditing:x,isInherited:c,onChange:l,onCancelEdit:g,style:y,type:f,columnId:d,className:j,...w},R)=>{if(x)return r.jsxRuntimeExports.jsx(W.TextWidgetInput,{value:n,onChange:l,onCancel:g,type:f||"string"});const a=t?.label||n,s=typeof a=="string"?a:String(a||""),u=d==="attrib_description"||d==="description",k=!u&&!h(s)&&!s.match(/(https?:\/\/\S+)/gi),q=()=>u?r.jsxRuntimeExports.jsx(E,{remarkPlugins:[P],rehypePlugins:[S],components:{p:({children:o})=>r.jsxRuntimeExports.jsx("span",{children:o}),a:({href:o,children:e})=>r.jsxRuntimeExports.jsx(p,{href:o||"#",onMouseDown:i=>i.stopPropagation(),target:"_blank",rel:"noopener noreferrer",children:e})},children:s}):h(s)?M.parseHtmlToPlainTextWithLinks(s).map(e=>e.type==="url"&&e.href?r.jsxRuntimeExports.jsx(p,{href:e.href,onMouseDown:i=>i.stopPropagation(),target:"_blank",rel:"noopener noreferrer",children:e.content},e.key):r.jsxRuntimeExports.jsx("span",{style:{whiteSpace:"pre-line"},children:e.content},e.key)):s.match(/(https?:\/\/\S+)/gi)?L(s).map(e=>e.type==="url"?r.jsxRuntimeExports.jsx(p,{href:e.content,onMouseDown:i=>i.stopPropagation(),target:"_blank",rel:"noopener noreferrer",children:e.content},e.key):e.content):s,T=C(j,{markdown:u,regular:k});return r.jsxRuntimeExports.jsxs(U,{className:T,style:{color:t?.color,...y},...w,ref:R,children:[t?.icon&&r.jsxRuntimeExports.jsx(v.Icon,{icon:t.icon,style:{color:t.color}}),q()]})});exports.TextWidget=_;
30
30
  //# sourceMappingURL=TextWidget.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TextWidget.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/widgets/TextWidget.tsx"],"sourcesContent":["import { forwardRef } from 'react'\nimport Markdown from 'react-markdown'\nimport remarkGfm from 'remark-gfm'\nimport rehypeRaw from 'rehype-raw'\nimport { TextWidgetInput } from './TextWidgetInput'\nimport { WidgetBaseProps, EDIT_TRIGGER_CLASS } from './CellWidget'\nimport styled from 'styled-components'\nimport { AttributeData } from '../types'\nimport { AttributeEnumItem } from '@shared/api'\nimport { Icon } from '@ynput/ayon-react-components'\nimport clsx from 'clsx'\nimport { parseHtmlToPlainTextWithLinks } from '@shared/util'\n\nconst StyledBaseTextWidget = styled.span`\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n user-select: none;\n\n display: flex;\n gap: 4px;\n\n &.markdown {\n margin-top: 18px;\n height: 40px;\n }\n\n &.regular {\n display: block;\n }\n`\n\nconst StyledLink = styled.a`\n color: var(--md-sys-color-primary, #0066cc);\n text-decoration: none;\n cursor: pointer;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n\n &:hover {\n text-decoration: underline;\n }\n`\n\n// Function to check if a string is a valid URL\nconst isValidUrl = (text: string): boolean => {\n try {\n const url = new URL(text.trim())\n return url.protocol === 'http:' || url.protocol === 'https:'\n } catch {\n return false\n }\n}\n\n// Function to parse text and extract URLs\nconst parseTextWithUrls = (text: string) => {\n // Regex to match HTTP/HTTPS URLs\n const urlRegex = /(https?:\\/\\/[^\\s<>\"]+[^\\s.,!?;:<>\\\")\\]])/gi\n const parts = text.split(urlRegex)\n\n return parts.map((part, index) => {\n if (isValidUrl(part)) {\n return { type: 'url', content: part, key: index }\n }\n return { type: 'text', content: part, key: index }\n })\n}\n\n// Function to check if content contains HTML tags\nconst containsHtml = (text: string): boolean => {\n return /<[^>]*>/.test(text)\n}\n\ntype AttributeType = AttributeData['type']\nexport type TextWidgetType = Extract<AttributeType, 'string' | 'integer' | 'float'>\n\nexport interface TextWidgetProps\n extends Omit<React.HTMLAttributes<HTMLSpanElement>, 'onChange'>,\n WidgetBaseProps {\n value: string\n option?: AttributeEnumItem\n isInherited?: boolean\n type?: TextWidgetType\n columnId?: string\n}\n\nexport const TextWidget = forwardRef<HTMLSpanElement, TextWidgetProps>(\n (\n {\n value,\n option,\n isEditing,\n isInherited,\n onChange,\n onCancelEdit,\n style,\n type,\n columnId,\n className,\n ...props\n },\n ref,\n ) => {\n if (isEditing) {\n return (\n <TextWidgetInput\n value={value}\n onChange={onChange}\n onCancel={onCancelEdit}\n type={type || 'string'}\n />\n )\n }\n\n const displayText = option?.label || value\n const textValue = typeof displayText === 'string' ? displayText : String(displayText || '')\n const isDescriptionColumn = columnId === 'attrib_description' || columnId === 'description'\n // does the content contain only regular text?\n const isRegularText =\n !isDescriptionColumn && !containsHtml(textValue) && !textValue.match(/(https?:\\/\\/\\S+)/gi)\n\n const renderContent = () => {\n // For description columns, keep markdown rendering\n if (isDescriptionColumn) {\n return (\n <Markdown\n remarkPlugins={[remarkGfm]}\n rehypePlugins={[rehypeRaw]}\n components={{\n p: ({ children }) => <span>{children}</span>,\n a: ({ href, children }) => (\n <StyledLink\n href={href || '#'}\n onMouseDown={(e) => e.stopPropagation()}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n {children}\n </StyledLink>\n ),\n }}\n >\n {textValue}\n </Markdown>\n )\n }\n\n // Check if content contains HTML\n if (containsHtml(textValue)) {\n // Parse HTML to plain text with preserved links\n const parts = parseHtmlToPlainTextWithLinks(textValue)\n return parts.map((part) => {\n if (part.type === 'url' && part.href) {\n return (\n <StyledLink\n key={part.key}\n href={part.href}\n onMouseDown={(e) => e.stopPropagation()}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n {part.content}\n </StyledLink>\n )\n }\n return (\n <span key={part.key} style={{ whiteSpace: 'pre-line' }}>\n {part.content}\n </span>\n )\n })\n }\n\n // Check for URLs in plain text\n const hasUrls = textValue.match(/(https?:\\/\\/\\S+)/gi)\n if (hasUrls) {\n // Text with URLs (handles both single URL and mixed content)\n const parts = parseTextWithUrls(textValue)\n return parts.map((part) => {\n if (part.type === 'url') {\n return (\n <StyledLink\n key={part.key}\n href={part.content}\n onMouseDown={(e) => e.stopPropagation()}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n {part.content}\n </StyledLink>\n )\n }\n return part.content\n })\n }\n\n // Regular text\n return textValue\n }\n\n const combinedClassName = clsx(className, {\n markdown: isDescriptionColumn,\n regular: isRegularText,\n })\n\n return (\n <StyledBaseTextWidget\n className={combinedClassName}\n style={{ color: option?.color, ...style }}\n {...props}\n ref={ref}\n >\n {option?.icon && (\n <Icon\n icon={option.icon}\n style={{\n color: option.color,\n }}\n />\n )}\n {renderContent()}\n </StyledBaseTextWidget>\n )\n },\n)\n"],"names":["StyledBaseTextWidget","styled","StyledLink","isValidUrl","text","url","parseTextWithUrls","urlRegex","part","index","containsHtml","TextWidget","forwardRef","value","option","isEditing","isInherited","onChange","onCancelEdit","style","type","columnId","className","props","ref","jsx","TextWidgetInput","displayText","textValue","isDescriptionColumn","isRegularText","renderContent","Markdown","remarkGfm","rehypeRaw","children","href","e","parseHtmlToPlainTextWithLinks","combinedClassName","clsx","jsxs","Icon"],"mappings":"0kBAaMA,EAAuBC,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAmB9BC,EAAaD,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAcpBE,EAAcC,GAA0B,CAC5C,GAAI,CACF,MAAMC,EAAM,IAAI,IAAID,EAAK,MAAM,EAC/B,OAAOC,EAAI,WAAa,SAAWA,EAAI,WAAa,QACtD,MAAQ,CACN,MAAO,EACT,CACF,EAGMC,EAAqBF,GAAiB,CAE1C,MAAMG,EAAW,6CAGjB,OAFcH,EAAK,MAAMG,CAAQ,EAEpB,IAAI,CAACC,EAAMC,IAClBN,EAAWK,CAAI,EACV,CAAE,KAAM,MAAO,QAASA,EAAM,IAAKC,CAAA,EAErC,CAAE,KAAM,OAAQ,QAASD,EAAM,IAAKC,CAAA,CAC5C,CACH,EAGMC,EAAgBN,GACb,UAAU,KAAKA,CAAI,EAgBfO,EAAaC,EAAAA,WACxB,CACE,CACE,MAAAC,EACA,OAAAC,EACA,UAAAC,EACA,YAAAC,EACA,SAAAC,EACA,aAAAC,EACA,MAAAC,EACA,KAAAC,EACA,SAAAC,EACA,UAAAC,EACA,GAAGC,CAAA,EAELC,IACG,CACH,GAAIT,EACF,OACEU,EAAAA,kBAAAA,IAACC,EAAAA,gBAAA,CACC,MAAAb,EACA,SAAAI,EACA,SAAUC,EACV,KAAME,GAAQ,QAAA,CAAA,EAKpB,MAAMO,EAAcb,GAAQ,OAASD,EAC/Be,EAAY,OAAOD,GAAgB,SAAWA,EAAc,OAAOA,GAAe,EAAE,EACpFE,EAAsBR,IAAa,sBAAwBA,IAAa,cAExES,EACJ,CAACD,GAAuB,CAACnB,EAAakB,CAAS,GAAK,CAACA,EAAU,MAAM,oBAAoB,EAErFG,EAAgB,IAEhBF,EAEAJ,EAAAA,kBAAAA,IAACO,EAAA,CACC,cAAe,CAACC,CAAS,EACzB,cAAe,CAACC,CAAS,EACzB,WAAY,CACV,EAAG,CAAC,CAAE,SAAAC,KAAeV,EAAAA,kBAAAA,IAAC,QAAM,SAAAU,EAAS,EACrC,EAAG,CAAC,CAAE,KAAAC,EAAM,SAAAD,KACVV,EAAAA,kBAAAA,IAACvB,EAAA,CACC,KAAMkC,GAAQ,IACd,YAAcC,GAAMA,EAAE,gBAAA,EACtB,OAAO,SACP,IAAI,sBAEH,SAAAF,CAAA,CAAA,CACH,EAIH,SAAAP,CAAA,CAAA,EAMHlB,EAAakB,CAAS,EAEVU,EAAAA,8BAA8BV,CAAS,EACxC,IAAKpB,GACZA,EAAK,OAAS,OAASA,EAAK,KAE5BiB,EAAAA,kBAAAA,IAACvB,EAAA,CAEC,KAAMM,EAAK,KACX,YAAc6B,GAAMA,EAAE,gBAAA,EACtB,OAAO,SACP,IAAI,sBAEH,SAAA7B,EAAK,OAAA,EANDA,EAAK,GAAA,EAWdiB,EAAAA,kBAAAA,IAAC,OAAA,CAAoB,MAAO,CAAE,WAAY,YACvC,SAAAjB,EAAK,SADGA,EAAK,GAEhB,CAEH,EAIaoB,EAAU,MAAM,oBAAoB,EAGpCtB,EAAkBsB,CAAS,EAC5B,IAAKpB,GACZA,EAAK,OAAS,MAEdiB,EAAAA,kBAAAA,IAACvB,EAAA,CAEC,KAAMM,EAAK,QACX,YAAc6B,GAAMA,EAAE,gBAAA,EACtB,OAAO,SACP,IAAI,sBAEH,SAAA7B,EAAK,OAAA,EANDA,EAAK,GAAA,EAUTA,EAAK,OACb,EAIIoB,EAGHW,EAAoBC,EAAKlB,EAAW,CACxC,SAAUO,EACV,QAASC,CAAA,CACV,EAED,OACEW,EAAAA,kBAAAA,KAACzC,EAAA,CACC,UAAWuC,EACX,MAAO,CAAE,MAAOzB,GAAQ,MAAO,GAAGK,CAAA,EACjC,GAAGI,EACJ,IAAAC,EAEC,SAAA,CAAAV,GAAQ,MACPW,EAAAA,kBAAAA,IAACiB,EAAAA,KAAA,CACC,KAAM5B,EAAO,KACb,MAAO,CACL,MAAOA,EAAO,KAAA,CAChB,CAAA,EAGHiB,EAAA,CAAc,CAAA,CAAA,CAGrB,CACF"}
1
+ {"version":3,"file":"TextWidget.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/widgets/TextWidget.tsx"],"sourcesContent":["import { forwardRef } from 'react'\nimport Markdown from 'react-markdown'\nimport remarkGfm from 'remark-gfm'\nimport rehypeRaw from 'rehype-raw'\nimport { TextWidgetInput } from './TextWidgetInput'\nimport { WidgetBaseProps, EDIT_TRIGGER_CLASS } from './CellWidget'\nimport styled from 'styled-components'\nimport { AttributeData } from '../types'\nimport { AttributeEnumItem } from '@shared/api'\nimport { Icon } from '@ynput/ayon-react-components'\nimport clsx from 'clsx'\nimport { parseHtmlToPlainTextWithLinks } from '@shared/util'\n\nconst StyledBaseTextWidget = styled.span`\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n user-select: none;\n\n display: flex;\n gap: 4px;\n\n &.markdown {\n margin-top: 18px;\n height: 40px;\n }\n\n &.regular {\n display: block;\n }\n`\n\nconst StyledLink = styled.a`\n color: var(--md-sys-color-primary, #0066cc);\n text-decoration: none;\n cursor: pointer;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n\n &:hover {\n text-decoration: underline;\n }\n`\n\n// Function to check if a string is a valid URL\nconst isValidUrl = (text: string): boolean => {\n try {\n const url = new URL(text.trim())\n return url.protocol === 'http:' || url.protocol === 'https:'\n } catch {\n return false\n }\n}\n\n// Function to parse text and extract URLs\nconst parseTextWithUrls = (text: string) => {\n // Regex to match HTTP/HTTPS URLs\n const urlRegex = /(https?:\\/\\/[^\\s<>\"]+[^\\s.,!?;:<>\\\")\\]])/gi\n const parts = text.split(urlRegex)\n\n return parts.map((part, index) => {\n if (isValidUrl(part)) {\n return { type: 'url', content: part, key: index }\n }\n return { type: 'text', content: part, key: index }\n })\n}\n\n// Function to check if content contains HTML tags\nconst containsHtml = (text: string): boolean => {\n return /<[^>]*>/.test(text)\n}\n\ntype AttributeType = AttributeData['type']\nexport type TextWidgetType = Extract<AttributeType, 'string' | 'integer' | 'float'>\n\nexport interface TextWidgetProps\n extends Omit<React.HTMLAttributes<HTMLSpanElement>, 'onChange'>,\n WidgetBaseProps {\n value: string\n option?: AttributeEnumItem\n isInherited?: boolean\n type?: TextWidgetType\n columnId?: string\n}\n\nexport const TextWidget = forwardRef<HTMLSpanElement, TextWidgetProps>(\n (\n {\n value,\n option,\n isEditing,\n isInherited,\n onChange,\n onCancelEdit,\n style,\n type,\n columnId,\n className,\n ...props\n },\n ref,\n ) => {\n if (isEditing) {\n return (\n <TextWidgetInput\n value={value}\n onChange={onChange}\n onCancel={onCancelEdit}\n type={type || 'string'}\n />\n )\n }\n\n const displayText = option?.label || value\n const textValue = typeof displayText === 'string' ? displayText : String(displayText || '')\n const isDescriptionColumn = columnId === 'attrib_description' || columnId === 'description'\n // does the content contain only regular text?\n const isRegularText =\n !isDescriptionColumn && !containsHtml(textValue) && !textValue.match(/(https?:\\/\\/\\S+)/gi)\n\n const renderContent = () => {\n // For description columns, keep markdown rendering\n if (isDescriptionColumn) {\n return (\n <Markdown\n remarkPlugins={[remarkGfm]}\n rehypePlugins={[rehypeRaw]}\n components={{\n p: ({ children }) => <span>{children}</span>,\n a: ({ href, children }) => (\n <StyledLink\n href={href || '#'}\n onMouseDown={(e) => e.stopPropagation()}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n {children}\n </StyledLink>\n ),\n }}\n >\n {textValue}\n </Markdown>\n )\n }\n\n // Check if content contains HTML\n if (containsHtml(textValue)) {\n // Parse HTML to plain text with preserved links\n const parts = parseHtmlToPlainTextWithLinks(textValue)\n return parts.map((part) => {\n if (part.type === 'url' && part.href) {\n return (\n <StyledLink\n key={part.key}\n href={part.href}\n onMouseDown={(e) => e.stopPropagation()}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n {part.content}\n </StyledLink>\n )\n }\n return (\n <span key={part.key} style={{ whiteSpace: 'pre-line' }}>\n {part.content}\n </span>\n )\n })\n }\n\n // Check for URLs in plain text\n const hasUrls = textValue.match(/(https?:\\/\\/\\S+)/gi)\n if (hasUrls) {\n // Text with URLs (handles both single URL and mixed content)\n const parts = parseTextWithUrls(textValue)\n return parts.map((part) => {\n if (part.type === 'url') {\n return (\n <StyledLink\n key={part.key}\n href={part.content}\n onMouseDown={(e) => e.stopPropagation()}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n {part.content}\n </StyledLink>\n )\n }\n return part.content\n })\n }\n\n // Regular text\n return textValue\n }\n\n const combinedClassName = clsx(className, {\n markdown: isDescriptionColumn,\n regular: isRegularText,\n })\n\n return (\n <StyledBaseTextWidget\n className={combinedClassName}\n style={{ color: option?.color, ...style }}\n {...props}\n ref={ref}\n >\n {option?.icon && (\n <Icon\n icon={option.icon}\n style={{\n color: option.color,\n }}\n />\n )}\n {renderContent()}\n </StyledBaseTextWidget>\n )\n },\n)\n"],"names":["StyledBaseTextWidget","styled","StyledLink","isValidUrl","text","url","parseTextWithUrls","urlRegex","part","index","containsHtml","TextWidget","forwardRef","value","option","isEditing","isInherited","onChange","onCancelEdit","style","type","columnId","className","props","ref","jsx","TextWidgetInput","displayText","textValue","isDescriptionColumn","isRegularText","renderContent","Markdown","remarkGfm","rehypeRaw","children","href","e","parseHtmlToPlainTextWithLinks","combinedClassName","clsx","jsxs","Icon"],"mappings":"uhBAaA,MAAMA,EAAuBC,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAmB9BC,EAAaD,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAcpBE,EAAcC,GAA0B,CAC5C,GAAI,CACF,MAAMC,EAAM,IAAI,IAAID,EAAK,MAAM,EAC/B,OAAOC,EAAI,WAAa,SAAWA,EAAI,WAAa,QACtD,MAAQ,CACN,MAAO,EACT,CACF,EAGMC,EAAqBF,GAAiB,CAE1C,MAAMG,EAAW,6CAGjB,OAFcH,EAAK,MAAMG,CAAQ,EAEpB,IAAI,CAACC,EAAMC,IAClBN,EAAWK,CAAI,EACV,CAAE,KAAM,MAAO,QAASA,EAAM,IAAKC,CAAA,EAErC,CAAE,KAAM,OAAQ,QAASD,EAAM,IAAKC,CAAA,CAC5C,CACH,EAGMC,EAAgBN,GACb,UAAU,KAAKA,CAAI,EAgBfO,EAAaC,EAAAA,WACxB,CACE,CACE,MAAAC,EACA,OAAAC,EACA,UAAAC,EACA,YAAAC,EACA,SAAAC,EACA,aAAAC,EACA,MAAAC,EACA,KAAAC,EACA,SAAAC,EACA,UAAAC,EACA,GAAGC,CAAA,EAELC,IACG,CACH,GAAIT,EACF,OACEU,EAAAA,kBAAAA,IAACC,EAAAA,gBAAA,CACC,MAAAb,EACA,SAAAI,EACA,SAAUC,EACV,KAAME,GAAQ,QAAA,CAAA,EAKpB,MAAMO,EAAcb,GAAQ,OAASD,EAC/Be,EAAY,OAAOD,GAAgB,SAAWA,EAAc,OAAOA,GAAe,EAAE,EACpFE,EAAsBR,IAAa,sBAAwBA,IAAa,cAExES,EACJ,CAACD,GAAuB,CAACnB,EAAakB,CAAS,GAAK,CAACA,EAAU,MAAM,oBAAoB,EAErFG,EAAgB,IAEhBF,EAEAJ,EAAAA,kBAAAA,IAACO,EAAA,CACC,cAAe,CAACC,CAAS,EACzB,cAAe,CAACC,CAAS,EACzB,WAAY,CACV,EAAG,CAAC,CAAE,SAAAC,KAAeV,EAAAA,kBAAAA,IAAC,QAAM,SAAAU,EAAS,EACrC,EAAG,CAAC,CAAE,KAAAC,EAAM,SAAAD,KACVV,EAAAA,kBAAAA,IAACvB,EAAA,CACC,KAAMkC,GAAQ,IACd,YAAcC,GAAMA,EAAE,gBAAA,EACtB,OAAO,SACP,IAAI,sBAEH,SAAAF,CAAA,CAAA,CACH,EAIH,SAAAP,CAAA,CAAA,EAMHlB,EAAakB,CAAS,EAEVU,EAAAA,8BAA8BV,CAAS,EACxC,IAAKpB,GACZA,EAAK,OAAS,OAASA,EAAK,KAE5BiB,EAAAA,kBAAAA,IAACvB,EAAA,CAEC,KAAMM,EAAK,KACX,YAAc6B,GAAMA,EAAE,gBAAA,EACtB,OAAO,SACP,IAAI,sBAEH,SAAA7B,EAAK,OAAA,EANDA,EAAK,GAAA,EAWdiB,EAAAA,kBAAAA,IAAC,OAAA,CAAoB,MAAO,CAAE,WAAY,YACvC,SAAAjB,EAAK,SADGA,EAAK,GAEhB,CAEH,EAIaoB,EAAU,MAAM,oBAAoB,EAGpCtB,EAAkBsB,CAAS,EAC5B,IAAKpB,GACZA,EAAK,OAAS,MAEdiB,EAAAA,kBAAAA,IAACvB,EAAA,CAEC,KAAMM,EAAK,QACX,YAAc6B,GAAMA,EAAE,gBAAA,EACtB,OAAO,SACP,IAAI,sBAEH,SAAA7B,EAAK,OAAA,EANDA,EAAK,GAAA,EAUTA,EAAK,OACb,EAIIoB,EAGHW,EAAoBC,EAAKlB,EAAW,CACxC,SAAUO,EACV,QAASC,CAAA,CACV,EAED,OACEW,EAAAA,kBAAAA,KAACzC,EAAA,CACC,UAAWuC,EACX,MAAO,CAAE,MAAOzB,GAAQ,MAAO,GAAGK,CAAA,EACjC,GAAGI,EACJ,IAAAC,EAEC,SAAA,CAAAV,GAAQ,MACPW,EAAAA,kBAAAA,IAACiB,EAAAA,KAAA,CACC,KAAM5B,EAAO,KACb,MAAO,CACL,MAAOA,EAAO,KAAA,CAChB,CAAA,EAGHiB,EAAA,CAAc,CAAA,CAAA,CAGrB,CACF"}
@@ -2,16 +2,16 @@ import { j as t } from "../../../../../_virtual/jsx-runtime.es.js";
2
2
  import { forwardRef as P } from "react";
3
3
  import S from "react-markdown";
4
4
  import v from "remark-gfm";
5
- import { TextWidgetInput as U } from "./TextWidgetInput.es.js";
5
+ import U from "rehype-raw";
6
+ import { TextWidgetInput as W } from "./TextWidgetInput.es.js";
6
7
  import d from "styled-components";
7
- import { Icon as W } from "@ynput/ayon-react-components";
8
- import C from "clsx";
8
+ import { Icon as C } from "@ynput/ayon-react-components";
9
+ import D from "clsx";
9
10
  import "lodash";
10
11
  import "react-toastify";
11
12
  import "uuid";
12
- import { parseHtmlToPlainTextWithLinks as D } from "../../../util/parseHtmlToPlainTextWithLinks.es.js";
13
+ import { parseHtmlToPlainTextWithLinks as M } from "../../../util/parseHtmlToPlainTextWithLinks.es.js";
13
14
  import "../../../util/pubsub.es.js";
14
- import M from "../../../../../node_modules/rehype-raw/lib/index.es.js";
15
15
  const _ = d.span`
16
16
  overflow: hidden;
17
17
  text-overflow: ellipsis;
@@ -66,7 +66,7 @@ const _ = d.span`
66
66
  }, j) => {
67
67
  if (f)
68
68
  return /* @__PURE__ */ t.jsx(
69
- U,
69
+ W,
70
70
  {
71
71
  value: o,
72
72
  onChange: c,
@@ -78,7 +78,7 @@ const _ = d.span`
78
78
  S,
79
79
  {
80
80
  remarkPlugins: [v],
81
- rehypePlugins: [M],
81
+ rehypePlugins: [U],
82
82
  components: {
83
83
  p: ({ children: s }) => /* @__PURE__ */ t.jsx("span", { children: s }),
84
84
  a: ({ href: s, children: e }) => /* @__PURE__ */ t.jsx(
@@ -94,7 +94,7 @@ const _ = d.span`
94
94
  },
95
95
  children: n
96
96
  }
97
- ) : h(n) ? D(n).map((e) => e.type === "url" && e.href ? /* @__PURE__ */ t.jsx(
97
+ ) : h(n) ? M(n).map((e) => e.type === "url" && e.href ? /* @__PURE__ */ t.jsx(
98
98
  m,
99
99
  {
100
100
  href: e.href,
@@ -114,7 +114,7 @@ const _ = d.span`
114
114
  children: e.content
115
115
  },
116
116
  e.key
117
- ) : e.content) : n, R = C(w, {
117
+ ) : e.content) : n, R = D(w, {
118
118
  markdown: a,
119
119
  regular: T
120
120
  });
@@ -127,7 +127,7 @@ const _ = d.span`
127
127
  ref: j,
128
128
  children: [
129
129
  r?.icon && /* @__PURE__ */ t.jsx(
130
- W,
130
+ C,
131
131
  {
132
132
  icon: r.icon,
133
133
  style: {
@@ -1 +1 @@
1
- {"version":3,"file":"useOverviewViewSettings.cjs.js","sources":["../../../../../../../src/containers/Views/hooks/pages/useOverviewViewSettings.ts"],"sourcesContent":["/**\n * Unified hook for managing all overview page view settings.\n *\n * The hook handles:\n * - Filter settings (QueryFilter format)\n * - Hierarchy visibility toggle\n * - Column configurations (ColumnsConfig format)\n *\n * Must be used within a ViewsProvider context.\n */\n\nimport { useViewsContext } from '../../context/ViewsContext'\nimport { OverviewSettings } from '@shared/api'\nimport { ColumnsConfig } from '@shared/containers/ProjectTreeTable'\nimport {\n convertColumnConfigToTanstackStates,\n convertTanstackStatesToColumnConfig,\n} from '@shared/util'\nimport { UpdateViewSettingsFn, useViewUpdateHelper } from '../../utils/viewUpdateHelper'\nimport { useState, useEffect, useCallback, useMemo } from 'react'\n\n// Import the internal QueryFilter type that the app uses\nimport { QueryFilter } from '@shared/containers/ProjectTreeTable/types/operations'\n\ntype Return = {\n // Filter management\n filters: QueryFilter\n onUpdateFilters: (filters: QueryFilter) => void\n\n // Hierarchy management\n showHierarchy: boolean\n onUpdateHierarchy: (showHierarchy: boolean) => void\n\n // Column management\n columns: ColumnsConfig\n onUpdateColumns: (columns: ColumnsConfig, allColumnIds?: string[]) => void\n}\n\ntype Props = {\n viewSettings: OverviewSettings | undefined\n updateViewSettings: UpdateViewSettingsFn\n}\n\nexport const useOverviewViewSettings = ({ viewSettings, updateViewSettings }: Props): Return => {\n // Local state for immediate updates\n const [localFilters, setLocalFilters] = useState<QueryFilter | null>(null)\n const [localHierarchy, setLocalHierarchy] = useState<boolean | null>(null)\n const [localColumns, setLocalColumns] = useState<ColumnsConfig | null>(null)\n\n // Get server settings\n const overviewSettings = viewSettings as OverviewSettings\n const serverFilters = (overviewSettings?.filter as any) ?? {}\n const serverHierarchy = overviewSettings?.showHierarchy ?? true\n\n const serverColumns = useMemo(\n () => convertColumnConfigToTanstackStates(overviewSettings),\n [JSON.stringify(viewSettings)],\n )\n\n // Sync local state with server when viewSettings change\n useEffect(() => {\n setLocalFilters(null)\n setLocalHierarchy(null)\n setLocalColumns(null)\n }, [JSON.stringify(viewSettings)])\n\n // Use local state if available, otherwise use server state\n const filters = localFilters !== null ? localFilters : serverFilters\n const showHierarchy = localHierarchy !== null ? localHierarchy : serverHierarchy\n const columns = localColumns || serverColumns\n\n // Filter update handler\n const onUpdateFilters = useCallback(\n async (newFilters: QueryFilter) => {\n await updateViewSettings({ filter: newFilters as any }, setLocalFilters, newFilters, {\n errorMessage: 'Failed to update filter settings',\n })\n },\n [updateViewSettings],\n )\n\n // Hierarchy update handler\n const onUpdateHierarchy = useCallback(\n async (newShowHierarchy: boolean) => {\n // If turning hierarchy ON while grouped, clear groupBy in the same update\n if (newShowHierarchy && (columns as ColumnsConfig)?.groupBy) {\n const clearedColumns: ColumnsConfig = { ...columns, groupBy: undefined }\n // Optimistically update local columns to remove grouping\n setLocalColumns(clearedColumns)\n const settings = convertTanstackStatesToColumnConfig(clearedColumns)\n await updateViewSettings(\n { ...settings, showHierarchy: true },\n setLocalHierarchy,\n newShowHierarchy,\n { errorMessage: 'Failed to update hierarchy setting' },\n )\n return\n }\n\n await updateViewSettings(\n { showHierarchy: newShowHierarchy },\n setLocalHierarchy,\n newShowHierarchy,\n { errorMessage: 'Failed to update hierarchy setting' },\n )\n },\n [updateViewSettings, columns],\n )\n\n // Column update handler\n const onUpdateColumns = useCallback(\n async (tableSettings: ColumnsConfig, allColumnIds?: string[]) => {\n // Derive a stable allColumnIds if not provided to preserve order and grouping on server\n const derivedAll =\n allColumnIds ||\n [\n ...(tableSettings.columnOrder || []),\n ...Object.keys(tableSettings.columnVisibility || {}),\n ...((tableSettings.columnPinning?.left as string[]) || []),\n ...((tableSettings.columnPinning?.right as string[]) || []),\n ]\n .filter(Boolean)\n .filter((v, i, a) => a.indexOf(v) === i)\n\n const settings = convertTanstackStatesToColumnConfig(tableSettings, derivedAll)\n const hasGroupBy = !!tableSettings.groupBy\n\n // If grouping is being set, turn off hierarchy in the same update for consistency\n if (hasGroupBy) {\n // Optimistically reflect hierarchy off\n setLocalHierarchy(false)\n }\n\n await updateViewSettings(\n hasGroupBy ? { ...settings, showHierarchy: false } : settings,\n setLocalColumns,\n tableSettings,\n { errorMessage: 'Failed to update columns' },\n )\n },\n [updateViewSettings],\n )\n\n return {\n filters,\n onUpdateFilters,\n showHierarchy,\n onUpdateHierarchy,\n columns,\n onUpdateColumns,\n }\n}\n"],"names":["useOverviewViewSettings","viewSettings","updateViewSettings","localFilters","setLocalFilters","useState","localHierarchy","setLocalHierarchy","localColumns","setLocalColumns","overviewSettings","serverFilters","serverHierarchy","serverColumns","useMemo","convertColumnConfigToTanstackStates","useEffect","filters","showHierarchy","columns","onUpdateFilters","useCallback","newFilters","onUpdateHierarchy","newShowHierarchy","clearedColumns","settings","convertTanstackStatesToColumnConfig","onUpdateColumns","tableSettings","allColumnIds","derivedAll","v","i","a","hasGroupBy"],"mappings":"gRA2CaA,EAA0B,CAAC,CAAE,aAAAC,EAAc,mBAAAC,KAAwC,CAE9F,KAAM,CAACC,EAAcC,CAAe,EAAIC,EAAAA,SAA6B,IAAI,EACnE,CAACC,EAAgBC,CAAiB,EAAIF,EAAAA,SAAyB,IAAI,EACnE,CAACG,EAAcC,CAAe,EAAIJ,EAAAA,SAA+B,IAAI,EAGrEK,EAAmBT,EACnBU,EAAiBD,GAAkB,QAAkB,CAAA,EACrDE,EAAkBF,GAAkB,eAAiB,GAErDG,EAAgBC,EAAAA,QACpB,IAAMC,EAAAA,oCAAoCL,CAAgB,EAC1D,CAAC,KAAK,UAAUT,CAAY,CAAC,CAAA,EAI/Be,EAAAA,UAAU,IAAM,CACdZ,EAAgB,IAAI,EACpBG,EAAkB,IAAI,EACtBE,EAAgB,IAAI,CACtB,EAAG,CAAC,KAAK,UAAUR,CAAY,CAAC,CAAC,EAGjC,MAAMgB,EAAUd,IAAiB,KAAOA,EAAeQ,EACjDO,EAAgBZ,IAAmB,KAAOA,EAAiBM,EAC3DO,EAAUX,GAAgBK,EAG1BO,EAAkBC,EAAAA,YACtB,MAAOC,GAA4B,CACjC,MAAMpB,EAAmB,CAAE,OAAQoB,CAAA,EAAqBlB,EAAiBkB,EAAY,CACnF,aAAc,kCAAA,CACf,CACH,EACA,CAACpB,CAAkB,CAAA,EAIfqB,EAAoBF,EAAAA,YACxB,MAAOG,GAA8B,CAEnC,GAAIA,GAAqBL,GAA2B,QAAS,CAC3D,MAAMM,EAAgC,CAAE,GAAGN,EAAS,QAAS,MAAA,EAE7DV,EAAgBgB,CAAc,EAC9B,MAAMC,EAAWC,EAAAA,oCAAoCF,CAAc,EACnE,MAAMvB,EACJ,CAAE,GAAGwB,EAAU,cAAe,EAAA,EAC9BnB,EACAiB,EACA,CAAE,aAAc,oCAAA,CAAqC,EAEvD,MACF,CAEA,MAAMtB,EACJ,CAAE,cAAesB,CAAA,EACjBjB,EACAiB,EACA,CAAE,aAAc,oCAAA,CAAqC,CAEzD,EACA,CAACtB,EAAoBiB,CAAO,CAAA,EAIxBS,EAAkBP,EAAAA,YACtB,MAAOQ,EAA8BC,IAA4B,CAE/D,MAAMC,EACJD,GACA,CACE,GAAID,EAAc,aAAe,CAAA,EACjC,GAAG,OAAO,KAAKA,EAAc,kBAAoB,CAAA,CAAE,EACnD,GAAKA,EAAc,eAAe,MAAqB,CAAA,EACvD,GAAKA,EAAc,eAAe,OAAsB,CAAA,CAAC,EAExD,OAAO,OAAO,EACd,OAAO,CAACG,EAAGC,EAAGC,IAAMA,EAAE,QAAQF,CAAC,IAAMC,CAAC,EAErCP,EAAWC,EAAAA,oCAAoCE,EAAeE,CAAU,EACxEI,EAAa,CAAC,CAACN,EAAc,QAG/BM,GAEF5B,EAAkB,EAAK,EAGzB,MAAML,EACJiC,EAAa,CAAE,GAAGT,EAAU,cAAe,IAAUA,EACrDjB,EACAoB,EACA,CAAE,aAAc,0BAAA,CAA2B,CAE/C,EACA,CAAC3B,CAAkB,CAAA,EAGrB,MAAO,CACL,QAAAe,EACA,gBAAAG,EACA,cAAAF,EACA,kBAAAK,EACA,QAAAJ,EACA,gBAAAS,CAAA,CAEJ"}
1
+ {"version":3,"file":"useOverviewViewSettings.cjs.js","sources":["../../../../../../../src/containers/Views/hooks/pages/useOverviewViewSettings.ts"],"sourcesContent":["/**\n * Unified hook for managing all overview page view settings.\n *\n * The hook handles:\n * - Filter settings (QueryFilter format)\n * - Hierarchy visibility toggle\n * - Column configurations (ColumnsConfig format)\n *\n * Must be used within a ViewsProvider context.\n */\n\nimport { useViewsContext } from '../../context/ViewsContext'\nimport { OverviewSettings } from '@shared/api'\nimport { ColumnsConfig } from '@shared/containers/ProjectTreeTable'\nimport {\n convertColumnConfigToTanstackStates,\n convertTanstackStatesToColumnConfig,\n} from '@shared/util'\nimport { UpdateViewSettingsFn } from '../../utils/viewUpdateHelper'\nimport { useState, useEffect, useCallback, useMemo } from 'react'\n\n// Import the internal QueryFilter type that the app uses\nimport { QueryFilter } from '@shared/containers/ProjectTreeTable/types/operations'\n\ntype Return = {\n // Filter management\n filters: QueryFilter\n onUpdateFilters: (filters: QueryFilter) => void\n\n // Hierarchy management\n showHierarchy: boolean\n onUpdateHierarchy: (showHierarchy: boolean) => void\n\n // Column management\n columns: ColumnsConfig\n onUpdateColumns: (columns: ColumnsConfig, allColumnIds?: string[]) => void\n}\n\ntype Props = {\n viewSettings: OverviewSettings | undefined\n updateViewSettings: UpdateViewSettingsFn\n}\n\nexport const useOverviewViewSettings = ({ viewSettings, updateViewSettings }: Props): Return => {\n // Local state for immediate updates\n const [localFilters, setLocalFilters] = useState<QueryFilter | null>(null)\n const [localHierarchy, setLocalHierarchy] = useState<boolean | null>(null)\n const [localColumns, setLocalColumns] = useState<ColumnsConfig | null>(null)\n\n // Get server settings\n const overviewSettings = viewSettings as OverviewSettings\n const serverFilters = (overviewSettings?.filter as any) ?? {}\n const serverHierarchy = overviewSettings?.showHierarchy ?? true\n\n const serverColumns = useMemo(\n () => convertColumnConfigToTanstackStates(overviewSettings),\n [JSON.stringify(viewSettings)],\n )\n\n // Sync local state with server when viewSettings change\n useEffect(() => {\n setLocalFilters(null)\n setLocalHierarchy(null)\n setLocalColumns(null)\n }, [JSON.stringify(viewSettings)])\n\n // Use local state if available, otherwise use server state\n const filters = localFilters !== null ? localFilters : serverFilters\n const showHierarchy = localHierarchy !== null ? localHierarchy : serverHierarchy\n const columns = localColumns || serverColumns\n\n // Filter update handler\n const onUpdateFilters = useCallback(\n async (newFilters: QueryFilter) => {\n await updateViewSettings({ filter: newFilters as any }, setLocalFilters, newFilters, {\n errorMessage: 'Failed to update filter settings',\n })\n },\n [updateViewSettings],\n )\n\n // Hierarchy update handler\n const onUpdateHierarchy = useCallback(\n async (newShowHierarchy: boolean) => {\n // If turning hierarchy ON while grouped, clear groupBy in the same update\n if (newShowHierarchy && (columns as ColumnsConfig)?.groupBy) {\n const clearedColumns: ColumnsConfig = { ...columns, groupBy: undefined }\n // Optimistically update local columns to remove grouping\n setLocalColumns(clearedColumns)\n const settings = convertTanstackStatesToColumnConfig(clearedColumns)\n await updateViewSettings(\n { ...settings, showHierarchy: true },\n setLocalHierarchy,\n newShowHierarchy,\n { errorMessage: 'Failed to update hierarchy setting' },\n )\n return\n }\n\n await updateViewSettings(\n { showHierarchy: newShowHierarchy },\n setLocalHierarchy,\n newShowHierarchy,\n { errorMessage: 'Failed to update hierarchy setting' },\n )\n },\n [updateViewSettings, columns],\n )\n\n // Column update handler\n const onUpdateColumns = useCallback(\n async (tableSettings: ColumnsConfig, allColumnIds?: string[]) => {\n // Derive a stable allColumnIds if not provided to preserve order and grouping on server\n const derivedAll =\n allColumnIds ||\n [\n ...(tableSettings.columnOrder || []),\n ...Object.keys(tableSettings.columnVisibility || {}),\n ...((tableSettings.columnPinning?.left as string[]) || []),\n ...((tableSettings.columnPinning?.right as string[]) || []),\n ]\n .filter(Boolean)\n .filter((v, i, a) => a.indexOf(v) === i)\n\n const settings = convertTanstackStatesToColumnConfig(tableSettings, derivedAll)\n const hasGroupBy = !!tableSettings.groupBy\n\n // If grouping is being set, turn off hierarchy in the same update for consistency\n if (hasGroupBy) {\n // Optimistically reflect hierarchy off\n setLocalHierarchy(false)\n }\n\n await updateViewSettings(\n hasGroupBy ? { ...settings, showHierarchy: false } : settings,\n setLocalColumns,\n tableSettings,\n { errorMessage: 'Failed to update columns' },\n )\n },\n [updateViewSettings],\n )\n\n return {\n filters,\n onUpdateFilters,\n showHierarchy,\n onUpdateHierarchy,\n columns,\n onUpdateColumns,\n }\n}\n"],"names":["useOverviewViewSettings","viewSettings","updateViewSettings","localFilters","setLocalFilters","useState","localHierarchy","setLocalHierarchy","localColumns","setLocalColumns","overviewSettings","serverFilters","serverHierarchy","serverColumns","useMemo","convertColumnConfigToTanstackStates","useEffect","filters","showHierarchy","columns","onUpdateFilters","useCallback","newFilters","onUpdateHierarchy","newShowHierarchy","clearedColumns","settings","convertTanstackStatesToColumnConfig","onUpdateColumns","tableSettings","allColumnIds","derivedAll","v","i","a","hasGroupBy"],"mappings":"gRA2CaA,EAA0B,CAAC,CAAE,aAAAC,EAAc,mBAAAC,KAAwC,CAE9F,KAAM,CAACC,EAAcC,CAAe,EAAIC,EAAAA,SAA6B,IAAI,EACnE,CAACC,EAAgBC,CAAiB,EAAIF,EAAAA,SAAyB,IAAI,EACnE,CAACG,EAAcC,CAAe,EAAIJ,EAAAA,SAA+B,IAAI,EAGrEK,EAAmBT,EACnBU,EAAiBD,GAAkB,QAAkB,CAAA,EACrDE,EAAkBF,GAAkB,eAAiB,GAErDG,EAAgBC,EAAAA,QACpB,IAAMC,EAAAA,oCAAoCL,CAAgB,EAC1D,CAAC,KAAK,UAAUT,CAAY,CAAC,CAAA,EAI/Be,EAAAA,UAAU,IAAM,CACdZ,EAAgB,IAAI,EACpBG,EAAkB,IAAI,EACtBE,EAAgB,IAAI,CACtB,EAAG,CAAC,KAAK,UAAUR,CAAY,CAAC,CAAC,EAGjC,MAAMgB,EAAUd,IAAiB,KAAOA,EAAeQ,EACjDO,EAAgBZ,IAAmB,KAAOA,EAAiBM,EAC3DO,EAAUX,GAAgBK,EAG1BO,EAAkBC,EAAAA,YACtB,MAAOC,GAA4B,CACjC,MAAMpB,EAAmB,CAAE,OAAQoB,CAAA,EAAqBlB,EAAiBkB,EAAY,CACnF,aAAc,kCAAA,CACf,CACH,EACA,CAACpB,CAAkB,CAAA,EAIfqB,EAAoBF,EAAAA,YACxB,MAAOG,GAA8B,CAEnC,GAAIA,GAAqBL,GAA2B,QAAS,CAC3D,MAAMM,EAAgC,CAAE,GAAGN,EAAS,QAAS,MAAA,EAE7DV,EAAgBgB,CAAc,EAC9B,MAAMC,EAAWC,EAAAA,oCAAoCF,CAAc,EACnE,MAAMvB,EACJ,CAAE,GAAGwB,EAAU,cAAe,EAAA,EAC9BnB,EACAiB,EACA,CAAE,aAAc,oCAAA,CAAqC,EAEvD,MACF,CAEA,MAAMtB,EACJ,CAAE,cAAesB,CAAA,EACjBjB,EACAiB,EACA,CAAE,aAAc,oCAAA,CAAqC,CAEzD,EACA,CAACtB,EAAoBiB,CAAO,CAAA,EAIxBS,EAAkBP,EAAAA,YACtB,MAAOQ,EAA8BC,IAA4B,CAE/D,MAAMC,EACJD,GACA,CACE,GAAID,EAAc,aAAe,CAAA,EACjC,GAAG,OAAO,KAAKA,EAAc,kBAAoB,CAAA,CAAE,EACnD,GAAKA,EAAc,eAAe,MAAqB,CAAA,EACvD,GAAKA,EAAc,eAAe,OAAsB,CAAA,CAAC,EAExD,OAAO,OAAO,EACd,OAAO,CAACG,EAAGC,EAAGC,IAAMA,EAAE,QAAQF,CAAC,IAAMC,CAAC,EAErCP,EAAWC,EAAAA,oCAAoCE,EAAeE,CAAU,EACxEI,EAAa,CAAC,CAACN,EAAc,QAG/BM,GAEF5B,EAAkB,EAAK,EAGzB,MAAML,EACJiC,EAAa,CAAE,GAAGT,EAAU,cAAe,IAAUA,EACrDjB,EACAoB,EACA,CAAE,aAAc,0BAAA,CAA2B,CAE/C,EACA,CAAC3B,CAAkB,CAAA,EAGrB,MAAO,CACL,QAAAe,EACA,gBAAAG,EACA,cAAAF,EACA,kBAAAK,EACA,QAAAJ,EACA,gBAAAS,CAAA,CAEJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"useOverviewViewSettings.es.js","sources":["../../../../../../../src/containers/Views/hooks/pages/useOverviewViewSettings.ts"],"sourcesContent":["/**\n * Unified hook for managing all overview page view settings.\n *\n * The hook handles:\n * - Filter settings (QueryFilter format)\n * - Hierarchy visibility toggle\n * - Column configurations (ColumnsConfig format)\n *\n * Must be used within a ViewsProvider context.\n */\n\nimport { useViewsContext } from '../../context/ViewsContext'\nimport { OverviewSettings } from '@shared/api'\nimport { ColumnsConfig } from '@shared/containers/ProjectTreeTable'\nimport {\n convertColumnConfigToTanstackStates,\n convertTanstackStatesToColumnConfig,\n} from '@shared/util'\nimport { UpdateViewSettingsFn, useViewUpdateHelper } from '../../utils/viewUpdateHelper'\nimport { useState, useEffect, useCallback, useMemo } from 'react'\n\n// Import the internal QueryFilter type that the app uses\nimport { QueryFilter } from '@shared/containers/ProjectTreeTable/types/operations'\n\ntype Return = {\n // Filter management\n filters: QueryFilter\n onUpdateFilters: (filters: QueryFilter) => void\n\n // Hierarchy management\n showHierarchy: boolean\n onUpdateHierarchy: (showHierarchy: boolean) => void\n\n // Column management\n columns: ColumnsConfig\n onUpdateColumns: (columns: ColumnsConfig, allColumnIds?: string[]) => void\n}\n\ntype Props = {\n viewSettings: OverviewSettings | undefined\n updateViewSettings: UpdateViewSettingsFn\n}\n\nexport const useOverviewViewSettings = ({ viewSettings, updateViewSettings }: Props): Return => {\n // Local state for immediate updates\n const [localFilters, setLocalFilters] = useState<QueryFilter | null>(null)\n const [localHierarchy, setLocalHierarchy] = useState<boolean | null>(null)\n const [localColumns, setLocalColumns] = useState<ColumnsConfig | null>(null)\n\n // Get server settings\n const overviewSettings = viewSettings as OverviewSettings\n const serverFilters = (overviewSettings?.filter as any) ?? {}\n const serverHierarchy = overviewSettings?.showHierarchy ?? true\n\n const serverColumns = useMemo(\n () => convertColumnConfigToTanstackStates(overviewSettings),\n [JSON.stringify(viewSettings)],\n )\n\n // Sync local state with server when viewSettings change\n useEffect(() => {\n setLocalFilters(null)\n setLocalHierarchy(null)\n setLocalColumns(null)\n }, [JSON.stringify(viewSettings)])\n\n // Use local state if available, otherwise use server state\n const filters = localFilters !== null ? localFilters : serverFilters\n const showHierarchy = localHierarchy !== null ? localHierarchy : serverHierarchy\n const columns = localColumns || serverColumns\n\n // Filter update handler\n const onUpdateFilters = useCallback(\n async (newFilters: QueryFilter) => {\n await updateViewSettings({ filter: newFilters as any }, setLocalFilters, newFilters, {\n errorMessage: 'Failed to update filter settings',\n })\n },\n [updateViewSettings],\n )\n\n // Hierarchy update handler\n const onUpdateHierarchy = useCallback(\n async (newShowHierarchy: boolean) => {\n // If turning hierarchy ON while grouped, clear groupBy in the same update\n if (newShowHierarchy && (columns as ColumnsConfig)?.groupBy) {\n const clearedColumns: ColumnsConfig = { ...columns, groupBy: undefined }\n // Optimistically update local columns to remove grouping\n setLocalColumns(clearedColumns)\n const settings = convertTanstackStatesToColumnConfig(clearedColumns)\n await updateViewSettings(\n { ...settings, showHierarchy: true },\n setLocalHierarchy,\n newShowHierarchy,\n { errorMessage: 'Failed to update hierarchy setting' },\n )\n return\n }\n\n await updateViewSettings(\n { showHierarchy: newShowHierarchy },\n setLocalHierarchy,\n newShowHierarchy,\n { errorMessage: 'Failed to update hierarchy setting' },\n )\n },\n [updateViewSettings, columns],\n )\n\n // Column update handler\n const onUpdateColumns = useCallback(\n async (tableSettings: ColumnsConfig, allColumnIds?: string[]) => {\n // Derive a stable allColumnIds if not provided to preserve order and grouping on server\n const derivedAll =\n allColumnIds ||\n [\n ...(tableSettings.columnOrder || []),\n ...Object.keys(tableSettings.columnVisibility || {}),\n ...((tableSettings.columnPinning?.left as string[]) || []),\n ...((tableSettings.columnPinning?.right as string[]) || []),\n ]\n .filter(Boolean)\n .filter((v, i, a) => a.indexOf(v) === i)\n\n const settings = convertTanstackStatesToColumnConfig(tableSettings, derivedAll)\n const hasGroupBy = !!tableSettings.groupBy\n\n // If grouping is being set, turn off hierarchy in the same update for consistency\n if (hasGroupBy) {\n // Optimistically reflect hierarchy off\n setLocalHierarchy(false)\n }\n\n await updateViewSettings(\n hasGroupBy ? { ...settings, showHierarchy: false } : settings,\n setLocalColumns,\n tableSettings,\n { errorMessage: 'Failed to update columns' },\n )\n },\n [updateViewSettings],\n )\n\n return {\n filters,\n onUpdateFilters,\n showHierarchy,\n onUpdateHierarchy,\n columns,\n onUpdateColumns,\n }\n}\n"],"names":["useOverviewViewSettings","viewSettings","updateViewSettings","localFilters","setLocalFilters","useState","localHierarchy","setLocalHierarchy","localColumns","setLocalColumns","overviewSettings","serverFilters","serverHierarchy","serverColumns","useMemo","convertColumnConfigToTanstackStates","useEffect","filters","showHierarchy","columns","onUpdateFilters","useCallback","newFilters","onUpdateHierarchy","newShowHierarchy","clearedColumns","settings","convertTanstackStatesToColumnConfig","onUpdateColumns","tableSettings","allColumnIds","derivedAll","v","i","a","hasGroupBy"],"mappings":";;;;;;AA2CO,MAAMA,IAA0B,CAAC,EAAE,cAAAC,GAAc,oBAAAC,QAAwC;AAE9F,QAAM,CAACC,GAAcC,CAAe,IAAIC,EAA6B,IAAI,GACnE,CAACC,GAAgBC,CAAiB,IAAIF,EAAyB,IAAI,GACnE,CAACG,GAAcC,CAAe,IAAIJ,EAA+B,IAAI,GAGrEK,IAAmBT,GACnBU,IAAiBD,GAAkB,UAAkB,CAAA,GACrDE,IAAkBF,GAAkB,iBAAiB,IAErDG,IAAgBC;AAAA,IACpB,MAAMC,EAAoCL,CAAgB;AAAA,IAC1D,CAAC,KAAK,UAAUT,CAAY,CAAC;AAAA,EAAA;AAI/B,EAAAe,EAAU,MAAM;AACd,IAAAZ,EAAgB,IAAI,GACpBG,EAAkB,IAAI,GACtBE,EAAgB,IAAI;AAAA,EACtB,GAAG,CAAC,KAAK,UAAUR,CAAY,CAAC,CAAC;AAGjC,QAAMgB,IAAUd,MAAiB,OAAOA,IAAeQ,GACjDO,IAAgBZ,MAAmB,OAAOA,IAAiBM,GAC3DO,IAAUX,KAAgBK,GAG1BO,IAAkBC;AAAA,IACtB,OAAOC,MAA4B;AACjC,YAAMpB,EAAmB,EAAE,QAAQoB,EAAA,GAAqBlB,GAAiBkB,GAAY;AAAA,QACnF,cAAc;AAAA,MAAA,CACf;AAAA,IACH;AAAA,IACA,CAACpB,CAAkB;AAAA,EAAA,GAIfqB,IAAoBF;AAAA,IACxB,OAAOG,MAA8B;AAEnC,UAAIA,KAAqBL,GAA2B,SAAS;AAC3D,cAAMM,IAAgC,EAAE,GAAGN,GAAS,SAAS,OAAA;AAE7D,QAAAV,EAAgBgB,CAAc;AAC9B,cAAMC,IAAWC,EAAoCF,CAAc;AACnE,cAAMvB;AAAA,UACJ,EAAE,GAAGwB,GAAU,eAAe,GAAA;AAAA,UAC9BnB;AAAA,UACAiB;AAAA,UACA,EAAE,cAAc,qCAAA;AAAA,QAAqC;AAEvD;AAAA,MACF;AAEA,YAAMtB;AAAA,QACJ,EAAE,eAAesB,EAAA;AAAA,QACjBjB;AAAA,QACAiB;AAAA,QACA,EAAE,cAAc,qCAAA;AAAA,MAAqC;AAAA,IAEzD;AAAA,IACA,CAACtB,GAAoBiB,CAAO;AAAA,EAAA,GAIxBS,IAAkBP;AAAA,IACtB,OAAOQ,GAA8BC,MAA4B;AAE/D,YAAMC,IACJD,KACA;AAAA,QACE,GAAID,EAAc,eAAe,CAAA;AAAA,QACjC,GAAG,OAAO,KAAKA,EAAc,oBAAoB,CAAA,CAAE;AAAA,QACnD,GAAKA,EAAc,eAAe,QAAqB,CAAA;AAAA,QACvD,GAAKA,EAAc,eAAe,SAAsB,CAAA;AAAA,MAAC,EAExD,OAAO,OAAO,EACd,OAAO,CAACG,GAAGC,GAAGC,MAAMA,EAAE,QAAQF,CAAC,MAAMC,CAAC,GAErCP,IAAWC,EAAoCE,GAAeE,CAAU,GACxEI,IAAa,CAAC,CAACN,EAAc;AAGnC,MAAIM,KAEF5B,EAAkB,EAAK,GAGzB,MAAML;AAAA,QACJiC,IAAa,EAAE,GAAGT,GAAU,eAAe,OAAUA;AAAA,QACrDjB;AAAA,QACAoB;AAAA,QACA,EAAE,cAAc,2BAAA;AAAA,MAA2B;AAAA,IAE/C;AAAA,IACA,CAAC3B,CAAkB;AAAA,EAAA;AAGrB,SAAO;AAAA,IACL,SAAAe;AAAA,IACA,iBAAAG;AAAA,IACA,eAAAF;AAAA,IACA,mBAAAK;AAAA,IACA,SAAAJ;AAAA,IACA,iBAAAS;AAAA,EAAA;AAEJ;"}
1
+ {"version":3,"file":"useOverviewViewSettings.es.js","sources":["../../../../../../../src/containers/Views/hooks/pages/useOverviewViewSettings.ts"],"sourcesContent":["/**\n * Unified hook for managing all overview page view settings.\n *\n * The hook handles:\n * - Filter settings (QueryFilter format)\n * - Hierarchy visibility toggle\n * - Column configurations (ColumnsConfig format)\n *\n * Must be used within a ViewsProvider context.\n */\n\nimport { useViewsContext } from '../../context/ViewsContext'\nimport { OverviewSettings } from '@shared/api'\nimport { ColumnsConfig } from '@shared/containers/ProjectTreeTable'\nimport {\n convertColumnConfigToTanstackStates,\n convertTanstackStatesToColumnConfig,\n} from '@shared/util'\nimport { UpdateViewSettingsFn } from '../../utils/viewUpdateHelper'\nimport { useState, useEffect, useCallback, useMemo } from 'react'\n\n// Import the internal QueryFilter type that the app uses\nimport { QueryFilter } from '@shared/containers/ProjectTreeTable/types/operations'\n\ntype Return = {\n // Filter management\n filters: QueryFilter\n onUpdateFilters: (filters: QueryFilter) => void\n\n // Hierarchy management\n showHierarchy: boolean\n onUpdateHierarchy: (showHierarchy: boolean) => void\n\n // Column management\n columns: ColumnsConfig\n onUpdateColumns: (columns: ColumnsConfig, allColumnIds?: string[]) => void\n}\n\ntype Props = {\n viewSettings: OverviewSettings | undefined\n updateViewSettings: UpdateViewSettingsFn\n}\n\nexport const useOverviewViewSettings = ({ viewSettings, updateViewSettings }: Props): Return => {\n // Local state for immediate updates\n const [localFilters, setLocalFilters] = useState<QueryFilter | null>(null)\n const [localHierarchy, setLocalHierarchy] = useState<boolean | null>(null)\n const [localColumns, setLocalColumns] = useState<ColumnsConfig | null>(null)\n\n // Get server settings\n const overviewSettings = viewSettings as OverviewSettings\n const serverFilters = (overviewSettings?.filter as any) ?? {}\n const serverHierarchy = overviewSettings?.showHierarchy ?? true\n\n const serverColumns = useMemo(\n () => convertColumnConfigToTanstackStates(overviewSettings),\n [JSON.stringify(viewSettings)],\n )\n\n // Sync local state with server when viewSettings change\n useEffect(() => {\n setLocalFilters(null)\n setLocalHierarchy(null)\n setLocalColumns(null)\n }, [JSON.stringify(viewSettings)])\n\n // Use local state if available, otherwise use server state\n const filters = localFilters !== null ? localFilters : serverFilters\n const showHierarchy = localHierarchy !== null ? localHierarchy : serverHierarchy\n const columns = localColumns || serverColumns\n\n // Filter update handler\n const onUpdateFilters = useCallback(\n async (newFilters: QueryFilter) => {\n await updateViewSettings({ filter: newFilters as any }, setLocalFilters, newFilters, {\n errorMessage: 'Failed to update filter settings',\n })\n },\n [updateViewSettings],\n )\n\n // Hierarchy update handler\n const onUpdateHierarchy = useCallback(\n async (newShowHierarchy: boolean) => {\n // If turning hierarchy ON while grouped, clear groupBy in the same update\n if (newShowHierarchy && (columns as ColumnsConfig)?.groupBy) {\n const clearedColumns: ColumnsConfig = { ...columns, groupBy: undefined }\n // Optimistically update local columns to remove grouping\n setLocalColumns(clearedColumns)\n const settings = convertTanstackStatesToColumnConfig(clearedColumns)\n await updateViewSettings(\n { ...settings, showHierarchy: true },\n setLocalHierarchy,\n newShowHierarchy,\n { errorMessage: 'Failed to update hierarchy setting' },\n )\n return\n }\n\n await updateViewSettings(\n { showHierarchy: newShowHierarchy },\n setLocalHierarchy,\n newShowHierarchy,\n { errorMessage: 'Failed to update hierarchy setting' },\n )\n },\n [updateViewSettings, columns],\n )\n\n // Column update handler\n const onUpdateColumns = useCallback(\n async (tableSettings: ColumnsConfig, allColumnIds?: string[]) => {\n // Derive a stable allColumnIds if not provided to preserve order and grouping on server\n const derivedAll =\n allColumnIds ||\n [\n ...(tableSettings.columnOrder || []),\n ...Object.keys(tableSettings.columnVisibility || {}),\n ...((tableSettings.columnPinning?.left as string[]) || []),\n ...((tableSettings.columnPinning?.right as string[]) || []),\n ]\n .filter(Boolean)\n .filter((v, i, a) => a.indexOf(v) === i)\n\n const settings = convertTanstackStatesToColumnConfig(tableSettings, derivedAll)\n const hasGroupBy = !!tableSettings.groupBy\n\n // If grouping is being set, turn off hierarchy in the same update for consistency\n if (hasGroupBy) {\n // Optimistically reflect hierarchy off\n setLocalHierarchy(false)\n }\n\n await updateViewSettings(\n hasGroupBy ? { ...settings, showHierarchy: false } : settings,\n setLocalColumns,\n tableSettings,\n { errorMessage: 'Failed to update columns' },\n )\n },\n [updateViewSettings],\n )\n\n return {\n filters,\n onUpdateFilters,\n showHierarchy,\n onUpdateHierarchy,\n columns,\n onUpdateColumns,\n }\n}\n"],"names":["useOverviewViewSettings","viewSettings","updateViewSettings","localFilters","setLocalFilters","useState","localHierarchy","setLocalHierarchy","localColumns","setLocalColumns","overviewSettings","serverFilters","serverHierarchy","serverColumns","useMemo","convertColumnConfigToTanstackStates","useEffect","filters","showHierarchy","columns","onUpdateFilters","useCallback","newFilters","onUpdateHierarchy","newShowHierarchy","clearedColumns","settings","convertTanstackStatesToColumnConfig","onUpdateColumns","tableSettings","allColumnIds","derivedAll","v","i","a","hasGroupBy"],"mappings":";;;;;;AA2CO,MAAMA,IAA0B,CAAC,EAAE,cAAAC,GAAc,oBAAAC,QAAwC;AAE9F,QAAM,CAACC,GAAcC,CAAe,IAAIC,EAA6B,IAAI,GACnE,CAACC,GAAgBC,CAAiB,IAAIF,EAAyB,IAAI,GACnE,CAACG,GAAcC,CAAe,IAAIJ,EAA+B,IAAI,GAGrEK,IAAmBT,GACnBU,IAAiBD,GAAkB,UAAkB,CAAA,GACrDE,IAAkBF,GAAkB,iBAAiB,IAErDG,IAAgBC;AAAA,IACpB,MAAMC,EAAoCL,CAAgB;AAAA,IAC1D,CAAC,KAAK,UAAUT,CAAY,CAAC;AAAA,EAAA;AAI/B,EAAAe,EAAU,MAAM;AACd,IAAAZ,EAAgB,IAAI,GACpBG,EAAkB,IAAI,GACtBE,EAAgB,IAAI;AAAA,EACtB,GAAG,CAAC,KAAK,UAAUR,CAAY,CAAC,CAAC;AAGjC,QAAMgB,IAAUd,MAAiB,OAAOA,IAAeQ,GACjDO,IAAgBZ,MAAmB,OAAOA,IAAiBM,GAC3DO,IAAUX,KAAgBK,GAG1BO,IAAkBC;AAAA,IACtB,OAAOC,MAA4B;AACjC,YAAMpB,EAAmB,EAAE,QAAQoB,EAAA,GAAqBlB,GAAiBkB,GAAY;AAAA,QACnF,cAAc;AAAA,MAAA,CACf;AAAA,IACH;AAAA,IACA,CAACpB,CAAkB;AAAA,EAAA,GAIfqB,IAAoBF;AAAA,IACxB,OAAOG,MAA8B;AAEnC,UAAIA,KAAqBL,GAA2B,SAAS;AAC3D,cAAMM,IAAgC,EAAE,GAAGN,GAAS,SAAS,OAAA;AAE7D,QAAAV,EAAgBgB,CAAc;AAC9B,cAAMC,IAAWC,EAAoCF,CAAc;AACnE,cAAMvB;AAAA,UACJ,EAAE,GAAGwB,GAAU,eAAe,GAAA;AAAA,UAC9BnB;AAAA,UACAiB;AAAA,UACA,EAAE,cAAc,qCAAA;AAAA,QAAqC;AAEvD;AAAA,MACF;AAEA,YAAMtB;AAAA,QACJ,EAAE,eAAesB,EAAA;AAAA,QACjBjB;AAAA,QACAiB;AAAA,QACA,EAAE,cAAc,qCAAA;AAAA,MAAqC;AAAA,IAEzD;AAAA,IACA,CAACtB,GAAoBiB,CAAO;AAAA,EAAA,GAIxBS,IAAkBP;AAAA,IACtB,OAAOQ,GAA8BC,MAA4B;AAE/D,YAAMC,IACJD,KACA;AAAA,QACE,GAAID,EAAc,eAAe,CAAA;AAAA,QACjC,GAAG,OAAO,KAAKA,EAAc,oBAAoB,CAAA,CAAE;AAAA,QACnD,GAAKA,EAAc,eAAe,QAAqB,CAAA;AAAA,QACvD,GAAKA,EAAc,eAAe,SAAsB,CAAA;AAAA,MAAC,EAExD,OAAO,OAAO,EACd,OAAO,CAACG,GAAGC,GAAGC,MAAMA,EAAE,QAAQF,CAAC,MAAMC,CAAC,GAErCP,IAAWC,EAAoCE,GAAeE,CAAU,GACxEI,IAAa,CAAC,CAACN,EAAc;AAGnC,MAAIM,KAEF5B,EAAkB,EAAK,GAGzB,MAAML;AAAA,QACJiC,IAAa,EAAE,GAAGT,GAAU,eAAe,OAAUA;AAAA,QACrDjB;AAAA,QACAoB;AAAA,QACA,EAAE,cAAc,2BAAA;AAAA,MAA2B;AAAA,IAE/C;AAAA,IACA,CAAC3B,CAAkB;AAAA,EAAA;AAGrB,SAAO;AAAA,IACL,SAAAe;AAAA,IACA,iBAAAG;AAAA,IACA,eAAAF;AAAA,IACA,mBAAAK;AAAA,IACA,SAAAJ;AAAA,IACA,iBAAAS;AAAA,EAAA;AAEJ;"}
@@ -1 +1 @@
1
- {"version":3,"file":"AddonContext.cjs.js","sources":["../../../../src/context/AddonContext.tsx"],"sourcesContent":["import { createContext, FC, useContext } from 'react'\nimport { RouterTypes } from '@shared/components'\n\nexport type RemoteAddonComponent = FC<RemoteAddonProps>\nexport type RemoteAddon = {\n id: string\n component: RemoteAddonComponent\n module: string\n viewType?: string // if the addon is using views\n slicer?: { fields: string[] }\n projectList?: { multiSelect?: boolean; enabled: boolean }\n}\n\nexport interface RemoteAddonProps {\n router: RouterTypes\n toast: any\n}\n\n// types for props passed to the provider\nexport interface AddonContextProps extends RemoteAddonProps {\n children: React.ReactNode\n}\n\n// types returned by context\nexport interface AddonContextType extends RemoteAddonProps {}\n\nconst AddonContext = createContext<AddonContextType | undefined>(undefined)\n\nexport const AddonProvider = ({ children, ...props }: AddonContextProps) => {\n return <AddonContext.Provider value={{ ...props }}>{children}</AddonContext.Provider>\n}\n\nexport const useAddonContext = () => {\n const context = useContext(AddonContext)\n if (!context) {\n throw new Error('useAddonContext must be used within a AddonContext')\n }\n return context\n}\n"],"names":["AddonContext","createContext","AddonProvider","children","props","jsx","useAddonContext","context","useContext"],"mappings":"2JA0BMA,EAAeC,EAAAA,cAA4C,MAAS,EAE7DC,EAAgB,CAAC,CAAE,SAAAC,EAAU,GAAGC,KACpCC,EAAAA,kBAAAA,IAACL,EAAa,SAAb,CAAsB,MAAO,CAAE,GAAGI,GAAU,SAAAD,EAAS,EAGlDG,EAAkB,IAAM,CACnC,MAAMC,EAAUC,EAAAA,WAAWR,CAAY,EACvC,GAAI,CAACO,EACH,MAAM,IAAI,MAAM,oDAAoD,EAEtE,OAAOA,CACT"}
1
+ {"version":3,"file":"AddonContext.cjs.js","sources":["../../../../src/context/AddonContext.tsx"],"sourcesContent":["import { createContext, FC, useContext } from 'react'\nimport { RouterTypes } from '@shared/components'\n\nexport type RemoteAddonComponent = FC<RemoteAddonProps>\nexport type RemoteAddon = {\n id: string\n component: RemoteAddonComponent\n path: string\n module: string\n viewType?: string // if the addon is using views\n slicer?: { fields: string[] }\n projectList?: { multiSelect?: boolean; enabled: boolean }\n}\n\nexport interface RemoteAddonProps {\n router: RouterTypes\n toast: any\n}\n\n// types for props passed to the provider\nexport interface AddonContextProps extends RemoteAddonProps {\n children: React.ReactNode\n}\n\n// types returned by context\nexport interface AddonContextType extends RemoteAddonProps {}\n\nconst AddonContext = createContext<AddonContextType | undefined>(undefined)\n\nexport const AddonProvider = ({ children, ...props }: AddonContextProps) => {\n return <AddonContext.Provider value={{ ...props }}>{children}</AddonContext.Provider>\n}\n\nexport const useAddonContext = () => {\n const context = useContext(AddonContext)\n if (!context) {\n throw new Error('useAddonContext must be used within a AddonContext')\n }\n return context\n}\n"],"names":["AddonContext","createContext","AddonProvider","children","props","jsx","useAddonContext","context","useContext"],"mappings":"2JA2BMA,EAAeC,EAAAA,cAA4C,MAAS,EAE7DC,EAAgB,CAAC,CAAE,SAAAC,EAAU,GAAGC,KACpCC,EAAAA,kBAAAA,IAACL,EAAa,SAAb,CAAsB,MAAO,CAAE,GAAGI,GAAU,SAAAD,EAAS,EAGlDG,EAAkB,IAAM,CACnC,MAAMC,EAAUC,EAAAA,WAAWR,CAAY,EACvC,GAAI,CAACO,EACH,MAAM,IAAI,MAAM,oDAAoD,EAEtE,OAAOA,CACT"}
@@ -1 +1 @@
1
- {"version":3,"file":"AddonContext.es.js","sources":["../../../../src/context/AddonContext.tsx"],"sourcesContent":["import { createContext, FC, useContext } from 'react'\nimport { RouterTypes } from '@shared/components'\n\nexport type RemoteAddonComponent = FC<RemoteAddonProps>\nexport type RemoteAddon = {\n id: string\n component: RemoteAddonComponent\n module: string\n viewType?: string // if the addon is using views\n slicer?: { fields: string[] }\n projectList?: { multiSelect?: boolean; enabled: boolean }\n}\n\nexport interface RemoteAddonProps {\n router: RouterTypes\n toast: any\n}\n\n// types for props passed to the provider\nexport interface AddonContextProps extends RemoteAddonProps {\n children: React.ReactNode\n}\n\n// types returned by context\nexport interface AddonContextType extends RemoteAddonProps {}\n\nconst AddonContext = createContext<AddonContextType | undefined>(undefined)\n\nexport const AddonProvider = ({ children, ...props }: AddonContextProps) => {\n return <AddonContext.Provider value={{ ...props }}>{children}</AddonContext.Provider>\n}\n\nexport const useAddonContext = () => {\n const context = useContext(AddonContext)\n if (!context) {\n throw new Error('useAddonContext must be used within a AddonContext')\n }\n return context\n}\n"],"names":["AddonContext","createContext","AddonProvider","children","props","jsx","useAddonContext","context","useContext"],"mappings":";;AA0BA,MAAMA,IAAeC,EAA4C,MAAS,GAE7DC,IAAgB,CAAC,EAAE,UAAAC,GAAU,GAAGC,QACpCC,gBAAAA,EAAAA,IAACL,EAAa,UAAb,EAAsB,OAAO,EAAE,GAAGI,KAAU,UAAAD,GAAS,GAGlDG,IAAkB,MAAM;AACnC,QAAMC,IAAUC,EAAWR,CAAY;AACvC,MAAI,CAACO;AACH,UAAM,IAAI,MAAM,oDAAoD;AAEtE,SAAOA;AACT;"}
1
+ {"version":3,"file":"AddonContext.es.js","sources":["../../../../src/context/AddonContext.tsx"],"sourcesContent":["import { createContext, FC, useContext } from 'react'\nimport { RouterTypes } from '@shared/components'\n\nexport type RemoteAddonComponent = FC<RemoteAddonProps>\nexport type RemoteAddon = {\n id: string\n component: RemoteAddonComponent\n path: string\n module: string\n viewType?: string // if the addon is using views\n slicer?: { fields: string[] }\n projectList?: { multiSelect?: boolean; enabled: boolean }\n}\n\nexport interface RemoteAddonProps {\n router: RouterTypes\n toast: any\n}\n\n// types for props passed to the provider\nexport interface AddonContextProps extends RemoteAddonProps {\n children: React.ReactNode\n}\n\n// types returned by context\nexport interface AddonContextType extends RemoteAddonProps {}\n\nconst AddonContext = createContext<AddonContextType | undefined>(undefined)\n\nexport const AddonProvider = ({ children, ...props }: AddonContextProps) => {\n return <AddonContext.Provider value={{ ...props }}>{children}</AddonContext.Provider>\n}\n\nexport const useAddonContext = () => {\n const context = useContext(AddonContext)\n if (!context) {\n throw new Error('useAddonContext must be used within a AddonContext')\n }\n return context\n}\n"],"names":["AddonContext","createContext","AddonProvider","children","props","jsx","useAddonContext","context","useContext"],"mappings":";;AA2BA,MAAMA,IAAeC,EAA4C,MAAS,GAE7DC,IAAgB,CAAC,EAAE,UAAAC,GAAU,GAAGC,QACpCC,gBAAAA,EAAAA,IAACL,EAAa,UAAb,EAAsB,OAAO,EAAE,GAAGI,KAAU,UAAAD,GAAS,GAGlDG,IAAkB,MAAM;AACnC,QAAMC,IAAUC,EAAWR,CAAY;AACvC,MAAI,CAACO;AACH,UAAM,IAAI,MAAM,oDAAoD;AAEtE,SAAOA;AACT;"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const h=require("../../../_virtual/jsx-runtime.cjs.js"),r=require("react");require("../api/base/client.cjs.js");require("../api/generated/graphql.cjs.js");require("../api/generated/graphqlLinks.cjs.js");require("../api/generated/access.cjs.js");require("../api/generated/actions.cjs.js");require("../api/generated/activityFeed.cjs.js");require("../api/generated/addons.cjs.js");require("../api/generated/anatomy.cjs.js");require("../api/generated/attributes.cjs.js");require("../api/generated/authentication.cjs.js");require("../api/generated/bundles.cjs.js");require("../api/generated/configuration.cjs.js");require("../api/generated/desktop.cjs.js");require("../api/generated/entityLists.cjs.js");require("../api/generated/events.cjs.js");require("../api/generated/files.cjs.js");require("../api/generated/folders.cjs.js");require("../api/generated/inbox.cjs.js");require("../api/generated/links.cjs.js");require("../api/generated/market.cjs.js");require("../api/generated/onboarding.cjs.js");require("../api/generated/operations.cjs.js");require("../api/generated/products.cjs.js");require("../api/generated/projectDashboard.cjs.js");require("../api/generated/projects.cjs.js");require("../api/generated/reviewables.cjs.js");require("../api/generated/services.cjs.js");require("../api/generated/system.cjs.js");require("../api/generated/tasks.cjs.js");require("../api/generated/teams.cjs.js");require("../api/generated/thumbnails.cjs.js");require("../api/generated/uRIs.cjs.js");require("../api/generated/users.cjs.js");require("../api/generated/versions.cjs.js");require("../api/generated/workfiles.cjs.js");require("../api/generated/ynputCloud.cjs.js");require("../api/generated/grouping.cjs.js");require("../api/generated/views.cjs.js");require("../api/queries/actions/getActions.cjs.js");require("../api/queries/activities/getActivities.cjs.js");require("../api/queries/activities/updateActivities.cjs.js");require("../api/queries/activities/updateReaction.cjs.js");require("../api/queries/activities/getMentions.cjs.js");require("../api/queries/activities/getCategories.cjs.js");require("../api/queries/addons/getAddons.cjs.js");require("../api/queries/addons/updateAddons.cjs.js");require("../api/queries/attributes/getAttributes.cjs.js");require("../api/queries/attributes/updateAttributes.cjs.js");require("../api/queries/authentication/getAuthentication.cjs.js");require("../api/queries/cloud/cloud.cjs.js");require("../api/queries/config/getConfig.cjs.js");require("../api/queries/config/updateConfig.cjs.js");require("../api/queries/entities/getEntity.cjs.js");require("../api/queries/entities/getEntityPanel.cjs.js");require("../api/queries/entities/updateEntity.cjs.js");require("../api/queries/entityLists/getLists.cjs.js");require("../api/queries/entityLists/updateLists.cjs.js");require("../api/queries/entityLists/getListsAttributes.cjs.js");require("../api/queries/entityLists/updateListsAttributes.cjs.js");require("../api/queries/entityLists/listFolders.cjs.js");const p=require("../api/queries/folders/getFolders.cjs.js");require("../api/queries/grouping/getGrouping.cjs.js");require("../api/queries/links/updateLinks.cjs.js");require("../api/queries/links/getLinks.cjs.js");require("../api/queries/links/getEntityLinks.cjs.js");require("../api/queries/overview/getOverview.cjs.js");require("../api/queries/overview/updateOverview.cjs.js");require("../api/queries/versions/getVersionsProducts.cjs.js");require("../api/queries/permissions/getPermissions.cjs.js");require("../api/queries/products/createProduct.cjs.js");require("../api/queries/project/getProject.cjs.js");require("../api/queries/project/updateProject.cjs.js");require("../api/queries/review/getReview.cjs.js");require("../api/queries/review/updateReview.cjs.js");require("../api/queries/share/share.cjs.js");require("../api/queries/system/getSystem.cjs.js");require("../api/queries/userDashboard/getUserDashboard.cjs.js");require("../api/queries/users/getUsers.cjs.js");require("../api/queries/users/updateUsers.cjs.js");require("../api/queries/users/guests.cjs.js");require("../api/queries/versions/updateVersions.cjs.js");require("../api/queries/views/getViews.cjs.js");require("../api/queries/views/updateViews.cjs.js");require("../api/queries/watchers/getWatchers.cjs.js");require("../api/queries/uris/getUris.cjs.js");require("./RemoteModulesContext.cjs.js");require("../../../_virtual/runtime.cjs.js");require("../../../_virtual/semver.cjs.js");require("lodash");require("react-toastify");require("./DetailsPanelContext.cjs.js");require("./ThumbnailUploaderContext.cjs.js");require("./SettingsPanelContext.cjs.js");require("./pip/PiPProvider.cjs.js");require("react-dom");require("./pip/PiPWrapper.cjs.js");require("./AddonProjectContext.cjs.js");require("./AddonContext.cjs.js");require("./PowerpackContext.cjs.js");require("./MoveEntityContext.cjs.js");require("./MenuContext.cjs.js");require("./WebsocketContext.cjs.js");require("./GlobalContext.cjs.js");require("./ProjectContext.cjs.js");require("./UriContext.cjs.js");require("react-redux");require("custom-protocol-check");const v=require("../hooks/useQueryArgumentChangeLoading.cjs.js");require("../containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js");const C=r.createContext(void 0),I=({projectName:i,children:j})=>{const{data:{folders:t=[]}={},isLoading:m,isFetching:s,isSuccess:d,isUninitialized:c,error:a,refetch:l}=p.useGetFolderListQuery({projectName:i,attrib:!0}),g=v.useQueryArgumentChangeLoading({projectName:i},s||m),o=r.useMemo(()=>{const e=new Map;for(const u of t)e.set(u.id,u);return e},[t]),x=r.useMemo(()=>e=>o.get(e),[o]),F=r.useMemo(()=>e=>{const u=[],P=new Set;let q=e;for(;q&&!P.has(q);){P.add(q);const n=o.get(q);if(!n?.parentId)break;u.push(n.parentId),q=n.parentId}return u},[o]),f=r.useMemo(()=>({folders:t,getFolderById:x,getParentFolderIds:F,isLoading:g,isFetching:s,isSuccess:d,isUninitialized:c,error:a,refetch:l}),[t,x,F,g,s,d,c,a,l]);return h.jsxRuntimeExports.jsx(C.Provider,{value:f,children:j})},M=()=>{const i=r.useContext(C);if(i===void 0)throw new Error("useProjectFoldersContext must be used within a ProjectFoldersContextProvider");return i};exports.ProjectFoldersContextProvider=I;exports.useProjectFoldersContext=M;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const I=require("../../../_virtual/jsx-runtime.cjs.js"),u=require("react");require("../api/base/client.cjs.js");require("../api/generated/graphql.cjs.js");require("../api/generated/graphqlLinks.cjs.js");require("../api/generated/access.cjs.js");require("../api/generated/actions.cjs.js");require("../api/generated/activityFeed.cjs.js");require("../api/generated/addons.cjs.js");require("../api/generated/anatomy.cjs.js");require("../api/generated/attributes.cjs.js");require("../api/generated/authentication.cjs.js");require("../api/generated/bundles.cjs.js");require("../api/generated/configuration.cjs.js");require("../api/generated/desktop.cjs.js");require("../api/generated/entityLists.cjs.js");require("../api/generated/events.cjs.js");require("../api/generated/files.cjs.js");require("../api/generated/folders.cjs.js");require("../api/generated/inbox.cjs.js");require("../api/generated/links.cjs.js");require("../api/generated/market.cjs.js");require("../api/generated/onboarding.cjs.js");require("../api/generated/operations.cjs.js");require("../api/generated/products.cjs.js");require("../api/generated/projectDashboard.cjs.js");require("../api/generated/projects.cjs.js");require("../api/generated/reviewables.cjs.js");require("../api/generated/services.cjs.js");require("../api/generated/system.cjs.js");require("../api/generated/tasks.cjs.js");require("../api/generated/teams.cjs.js");require("../api/generated/thumbnails.cjs.js");require("../api/generated/uRIs.cjs.js");require("../api/generated/users.cjs.js");require("../api/generated/versions.cjs.js");require("../api/generated/workfiles.cjs.js");require("../api/generated/ynputCloud.cjs.js");require("../api/generated/grouping.cjs.js");require("../api/generated/views.cjs.js");require("../api/queries/actions/getActions.cjs.js");require("../api/queries/activities/getActivities.cjs.js");require("../api/queries/activities/updateActivities.cjs.js");require("../api/queries/activities/updateReaction.cjs.js");require("../api/queries/activities/getMentions.cjs.js");require("../api/queries/activities/getCategories.cjs.js");require("../api/queries/addons/getAddons.cjs.js");require("../api/queries/addons/updateAddons.cjs.js");require("../api/queries/attributes/getAttributes.cjs.js");require("../api/queries/attributes/updateAttributes.cjs.js");require("../api/queries/authentication/getAuthentication.cjs.js");require("../api/queries/cloud/cloud.cjs.js");require("../api/queries/config/getConfig.cjs.js");require("../api/queries/config/updateConfig.cjs.js");require("../api/queries/entities/getEntity.cjs.js");require("../api/queries/entities/getEntityPanel.cjs.js");require("../api/queries/entities/updateEntity.cjs.js");require("../api/queries/entityLists/getLists.cjs.js");require("../api/queries/entityLists/updateLists.cjs.js");require("../api/queries/entityLists/getListsAttributes.cjs.js");require("../api/queries/entityLists/updateListsAttributes.cjs.js");require("../api/queries/entityLists/listFolders.cjs.js");const v=require("../api/queries/folders/getFolders.cjs.js");require("../api/queries/grouping/getGrouping.cjs.js");require("../api/queries/links/updateLinks.cjs.js");require("../api/queries/links/getLinks.cjs.js");require("../api/queries/links/getEntityLinks.cjs.js");require("../api/queries/overview/getOverview.cjs.js");require("../api/queries/overview/updateOverview.cjs.js");require("../api/queries/versions/getVersionsProducts.cjs.js");require("../api/queries/permissions/getPermissions.cjs.js");require("../api/queries/products/createProduct.cjs.js");require("../api/queries/project/getProject.cjs.js");require("../api/queries/project/updateProject.cjs.js");require("../api/queries/review/getReview.cjs.js");require("../api/queries/review/updateReview.cjs.js");require("../api/queries/share/share.cjs.js");require("../api/queries/system/getSystem.cjs.js");require("../api/queries/userDashboard/getUserDashboard.cjs.js");require("../api/queries/users/getUsers.cjs.js");require("../api/queries/users/updateUsers.cjs.js");require("../api/queries/users/guests.cjs.js");require("../api/queries/versions/updateVersions.cjs.js");require("../api/queries/views/getViews.cjs.js");require("../api/queries/views/updateViews.cjs.js");require("../api/queries/watchers/getWatchers.cjs.js");require("../api/queries/uris/getUris.cjs.js");require("./RemoteModulesContext.cjs.js");require("../../../_virtual/runtime.cjs.js");require("../../../_virtual/semver.cjs.js");require("lodash");require("react-toastify");require("./DetailsPanelContext.cjs.js");require("./ThumbnailUploaderContext.cjs.js");require("./SettingsPanelContext.cjs.js");require("./pip/PiPProvider.cjs.js");require("react-dom");require("./pip/PiPWrapper.cjs.js");require("./AddonProjectContext.cjs.js");require("./AddonContext.cjs.js");require("./PowerpackContext.cjs.js");require("./MoveEntityContext.cjs.js");require("./MenuContext.cjs.js");require("./WebsocketContext.cjs.js");require("./GlobalContext.cjs.js");require("./ProjectContext.cjs.js");require("./UriContext.cjs.js");require("react-redux");require("custom-protocol-check");const M=require("../hooks/useQueryArgumentChangeLoading.cjs.js");require("../containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js");const p=u.createContext(void 0),w=({projectName:t,children:C})=>{const{data:{folders:q=[]}={},isLoading:m,isFetching:d,isSuccess:a,isUninitialized:l,error:g,refetch:h}=v.useGetFolderListQuery({projectName:t,attrib:!0}),F=M.useQueryArgumentChangeLoading({projectName:t},d||m),n=u.useMemo(()=>{const e=new Map;for(const i of q)e.set(i.id,i);return e},[q]),f=u.useMemo(()=>e=>n.get(e),[n]),x=u.useMemo(()=>e=>{const i=[],o=new Set;let r=e;for(;r&&!o.has(r);){o.add(r);const s=n.get(r);if(!s?.parentId)break;i.push(s.parentId),r=s.parentId}return i},[n]),P=u.useMemo(()=>(e,i=!1)=>{const o=i?[...e]:[],r=[...e];for(;r.length>0;){const s=r.shift();for(const c of q)c.parentId===s&&(o.push(c.id),r.push(c.id))}return o},[q]),j=u.useMemo(()=>({folders:q,getFolderById:f,getParentFolderIds:x,getChildFolderIds:P,isLoading:F,isFetching:d,isSuccess:a,isUninitialized:l,error:g,refetch:h}),[q,f,x,P,F,d,a,l,g,h]);return I.jsxRuntimeExports.jsx(p.Provider,{value:j,children:C})},y=()=>{const t=u.useContext(p);if(t===void 0)throw new Error("useProjectFoldersContext must be used within a ProjectFoldersContextProvider");return t};exports.ProjectFoldersContextProvider=w;exports.useProjectFoldersContext=y;
2
2
  //# sourceMappingURL=ProjectFoldersContext.cjs.js.map