@ynput/ayon-frontend-shared 0.2.28 → 0.2.29

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 (781) hide show
  1. package/dist/DetailsPanel.cjs.js +1 -1
  2. package/dist/DetailsPanel.es.js +6 -6
  3. package/dist/Views.cjs.js.map +1 -1
  4. package/dist/Views.es.js.map +1 -1
  5. package/dist/api.cjs.js +1 -1
  6. package/dist/api.es.js +151 -153
  7. package/dist/components.cjs.js +1 -1
  8. package/dist/components.es.js +79 -86
  9. package/dist/components.es.js.map +1 -1
  10. package/dist/hooks.cjs.js +1 -1
  11. package/dist/hooks.es.js +8 -6
  12. package/dist/hooks.es.js.map +1 -1
  13. package/dist/index.cjs.js +1 -1
  14. package/dist/index.es.js +6 -6
  15. package/dist/node_modules/@ungap/structured-clone/esm/deserialize.cjs.js +2 -0
  16. package/dist/node_modules/@ungap/structured-clone/esm/deserialize.cjs.js.map +1 -0
  17. package/dist/node_modules/@ungap/structured-clone/esm/deserialize.es.js +63 -0
  18. package/dist/node_modules/@ungap/structured-clone/esm/deserialize.es.js.map +1 -0
  19. package/dist/node_modules/@ungap/structured-clone/esm/index.cjs.js +2 -0
  20. package/dist/node_modules/@ungap/structured-clone/esm/index.cjs.js.map +1 -0
  21. package/dist/node_modules/@ungap/structured-clone/esm/index.es.js +12 -0
  22. package/dist/node_modules/@ungap/structured-clone/esm/index.es.js.map +1 -0
  23. package/dist/node_modules/@ungap/structured-clone/esm/serialize.cjs.js +2 -0
  24. package/dist/node_modules/@ungap/structured-clone/esm/serialize.cjs.js.map +1 -0
  25. package/dist/node_modules/@ungap/structured-clone/esm/serialize.es.js +107 -0
  26. package/dist/node_modules/@ungap/structured-clone/esm/serialize.es.js.map +1 -0
  27. package/dist/node_modules/@ungap/structured-clone/esm/types.cjs.js +2 -0
  28. package/dist/node_modules/@ungap/structured-clone/esm/types.cjs.js.map +1 -0
  29. package/dist/node_modules/@ungap/structured-clone/esm/types.es.js +14 -0
  30. package/dist/node_modules/@ungap/structured-clone/esm/types.es.js.map +1 -0
  31. package/dist/node_modules/devlop/lib/default.cjs.js +2 -0
  32. package/dist/node_modules/devlop/lib/default.cjs.js.map +1 -0
  33. package/dist/node_modules/devlop/lib/default.es.js +6 -0
  34. package/dist/node_modules/devlop/lib/default.es.js.map +1 -0
  35. package/dist/node_modules/entities/dist/esm/decode-codepoint.cjs.js +2 -0
  36. package/dist/node_modules/entities/dist/esm/decode-codepoint.cjs.js.map +1 -0
  37. package/dist/node_modules/entities/dist/esm/decode-codepoint.es.js +39 -0
  38. package/dist/node_modules/entities/dist/esm/decode-codepoint.es.js.map +1 -0
  39. package/dist/node_modules/entities/dist/esm/decode.cjs.js +2 -0
  40. package/dist/node_modules/entities/dist/esm/decode.cjs.js.map +1 -0
  41. package/dist/node_modules/entities/dist/esm/decode.es.js +246 -0
  42. package/dist/node_modules/entities/dist/esm/decode.es.js.map +1 -0
  43. package/dist/node_modules/entities/dist/esm/generated/decode-data-html.cjs.js +2 -0
  44. package/dist/node_modules/entities/dist/esm/generated/decode-data-html.cjs.js.map +1 -0
  45. package/dist/node_modules/entities/dist/esm/generated/decode-data-html.es.js +8 -0
  46. package/dist/node_modules/entities/dist/esm/generated/decode-data-html.es.js.map +1 -0
  47. package/dist/node_modules/hast-util-raw/lib/index.cjs.js +2 -0
  48. package/dist/node_modules/hast-util-raw/lib/index.cjs.js.map +1 -0
  49. package/dist/node_modules/hast-util-raw/lib/index.es.js +218 -0
  50. package/dist/node_modules/hast-util-raw/lib/index.es.js.map +1 -0
  51. package/dist/node_modules/hast-util-raw/node_modules/hast-util-from-parse5/lib/index.cjs.js +2 -0
  52. package/dist/node_modules/hast-util-raw/node_modules/hast-util-from-parse5/lib/index.cjs.js.map +1 -0
  53. package/dist/node_modules/hast-util-raw/node_modules/hast-util-from-parse5/lib/index.es.js +146 -0
  54. package/dist/node_modules/hast-util-raw/node_modules/hast-util-from-parse5/lib/index.es.js.map +1 -0
  55. package/dist/node_modules/hast-util-raw/node_modules/hast-util-parse-selector/lib/index.cjs.js +2 -0
  56. package/dist/node_modules/hast-util-raw/node_modules/hast-util-parse-selector/lib/index.cjs.js.map +1 -0
  57. package/dist/node_modules/hast-util-raw/node_modules/hast-util-parse-selector/lib/index.es.js +21 -0
  58. package/dist/node_modules/hast-util-raw/node_modules/hast-util-parse-selector/lib/index.es.js.map +1 -0
  59. package/dist/node_modules/hast-util-raw/node_modules/hastscript/lib/create-h.cjs.js +2 -0
  60. package/dist/node_modules/hast-util-raw/node_modules/hastscript/lib/create-h.cjs.js.map +1 -0
  61. package/dist/node_modules/hast-util-raw/node_modules/hastscript/lib/create-h.es.js +113 -0
  62. package/dist/node_modules/hast-util-raw/node_modules/hastscript/lib/create-h.es.js.map +1 -0
  63. package/dist/node_modules/hast-util-raw/node_modules/hastscript/lib/index.cjs.js +2 -0
  64. package/dist/node_modules/hast-util-raw/node_modules/hastscript/lib/index.cjs.js.map +1 -0
  65. package/dist/node_modules/hast-util-raw/node_modules/hastscript/lib/index.es.js +9 -0
  66. package/dist/node_modules/hast-util-raw/node_modules/hastscript/lib/index.es.js.map +1 -0
  67. package/dist/node_modules/hast-util-raw/node_modules/hastscript/lib/svg-case-sensitive-tag-names.cjs.js +2 -0
  68. package/dist/node_modules/hast-util-raw/node_modules/hastscript/lib/svg-case-sensitive-tag-names.cjs.js.map +1 -0
  69. package/dist/node_modules/hast-util-raw/node_modules/hastscript/lib/svg-case-sensitive-tag-names.es.js +45 -0
  70. package/dist/node_modules/hast-util-raw/node_modules/hastscript/lib/svg-case-sensitive-tag-names.es.js.map +1 -0
  71. package/dist/node_modules/hast-util-raw/node_modules/html-void-elements/index.cjs.js +2 -0
  72. package/dist/node_modules/hast-util-raw/node_modules/html-void-elements/index.cjs.js.map +1 -0
  73. package/dist/node_modules/hast-util-raw/node_modules/html-void-elements/index.es.js +26 -0
  74. package/dist/node_modules/hast-util-raw/node_modules/html-void-elements/index.es.js.map +1 -0
  75. package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/common/doctype.cjs.js +2 -0
  76. package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/common/doctype.cjs.js.map +1 -0
  77. package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/common/doctype.es.js +99 -0
  78. package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/common/doctype.es.js.map +1 -0
  79. package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/common/error-codes.cjs.js +2 -0
  80. package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/common/error-codes.cjs.js.map +1 -0
  81. package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/common/error-codes.es.js +8 -0
  82. package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/common/error-codes.es.js.map +1 -0
  83. package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/common/foreign-content.cjs.js +2 -0
  84. package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/common/foreign-content.cjs.js.map +1 -0
  85. package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/common/foreign-content.es.js +211 -0
  86. package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/common/foreign-content.es.js.map +1 -0
  87. package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/common/html.cjs.js +2 -0
  88. package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/common/html.cjs.js.map +1 -0
  89. package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/common/html.es.js +251 -0
  90. package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/common/html.es.js.map +1 -0
  91. package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/common/token.cjs.js +2 -0
  92. package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/common/token.cjs.js.map +1 -0
  93. package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/common/token.es.js +15 -0
  94. package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/common/token.es.js.map +1 -0
  95. package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/common/unicode.cjs.js +2 -0
  96. package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/common/unicode.cjs.js.map +1 -0
  97. package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/common/unicode.es.js +74 -0
  98. package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/common/unicode.es.js.map +1 -0
  99. package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/parser/formatting-element-list.cjs.js +2 -0
  100. package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/parser/formatting-element-list.cjs.js.map +1 -0
  101. package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/parser/formatting-element-list.es.js +85 -0
  102. package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/parser/formatting-element-list.es.js.map +1 -0
  103. package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/parser/index.cjs.js +2 -0
  104. package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/parser/index.cjs.js.map +1 -0
  105. package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/parser/index.es.js +2272 -0
  106. package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/parser/index.es.js.map +1 -0
  107. package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/parser/open-element-stack.cjs.js +2 -0
  108. package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/parser/open-element-stack.cjs.js.map +1 -0
  109. package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/parser/open-element-stack.es.js +241 -0
  110. package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/parser/open-element-stack.es.js.map +1 -0
  111. package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/serializer/index.cjs.js +2 -0
  112. package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/serializer/index.cjs.js.map +1 -0
  113. package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/serializer/index.es.js +3 -0
  114. package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/serializer/index.es.js.map +1 -0
  115. package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/tokenizer/index.cjs.js +2 -0
  116. package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/tokenizer/index.cjs.js.map +1 -0
  117. package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/tokenizer/index.es.js +1941 -0
  118. package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/tokenizer/index.es.js.map +1 -0
  119. package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/tokenizer/preprocessor.cjs.js +2 -0
  120. package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/tokenizer/preprocessor.cjs.js.map +1 -0
  121. package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/tokenizer/preprocessor.es.js +89 -0
  122. package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/tokenizer/preprocessor.es.js.map +1 -0
  123. package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/tree-adapters/default.cjs.js +2 -0
  124. package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/tree-adapters/default.cjs.js.map +1 -0
  125. package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/tree-adapters/default.es.js +163 -0
  126. package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/tree-adapters/default.es.js.map +1 -0
  127. package/dist/node_modules/hast-util-raw/node_modules/property-information/index.cjs.js +2 -0
  128. package/dist/node_modules/hast-util-raw/node_modules/property-information/index.cjs.js.map +1 -0
  129. package/dist/node_modules/hast-util-raw/node_modules/property-information/index.es.js +13 -0
  130. package/dist/node_modules/hast-util-raw/node_modules/property-information/index.es.js.map +1 -0
  131. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/aria.cjs.js +2 -0
  132. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/aria.cjs.js.map +1 -0
  133. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/aria.es.js +62 -0
  134. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/aria.es.js.map +1 -0
  135. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/find.cjs.js +2 -0
  136. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/find.cjs.js.map +1 -0
  137. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/find.es.js +34 -0
  138. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/find.es.js.map +1 -0
  139. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/html.cjs.js +2 -0
  140. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/html.cjs.js.map +1 -0
  141. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/html.es.js +369 -0
  142. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/html.es.js.map +1 -0
  143. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/normalize.cjs.js +2 -0
  144. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/normalize.cjs.js.map +1 -0
  145. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/normalize.es.js +7 -0
  146. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/normalize.es.js.map +1 -0
  147. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/svg.cjs.js +2 -0
  148. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/svg.cjs.js.map +1 -0
  149. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/svg.es.js +567 -0
  150. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/svg.es.js.map +1 -0
  151. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/case-insensitive-transform.cjs.js +2 -0
  152. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/case-insensitive-transform.cjs.js.map +1 -0
  153. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/case-insensitive-transform.es.js +8 -0
  154. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/case-insensitive-transform.es.js.map +1 -0
  155. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/case-sensitive-transform.cjs.js +2 -0
  156. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/case-sensitive-transform.cjs.js.map +1 -0
  157. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/case-sensitive-transform.es.js +7 -0
  158. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/case-sensitive-transform.es.js.map +1 -0
  159. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/create.cjs.js +2 -0
  160. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/create.cjs.js.map +1 -0
  161. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/create.es.js +20 -0
  162. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/create.es.js.map +1 -0
  163. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/defined-info.cjs.js +2 -0
  164. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/defined-info.cjs.js.map +1 -0
  165. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/defined-info.es.js +37 -0
  166. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/defined-info.es.js.map +1 -0
  167. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/info.cjs.js +2 -0
  168. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/info.cjs.js.map +1 -0
  169. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/info.es.js +29 -0
  170. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/info.es.js.map +1 -0
  171. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/merge.cjs.js +2 -0
  172. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/merge.cjs.js.map +1 -0
  173. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/merge.es.js +11 -0
  174. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/merge.es.js.map +1 -0
  175. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/schema.cjs.js +2 -0
  176. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/schema.cjs.js.map +1 -0
  177. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/schema.es.js +22 -0
  178. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/schema.es.js.map +1 -0
  179. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/types.cjs.js +2 -0
  180. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/types.cjs.js.map +1 -0
  181. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/types.es.js +15 -0
  182. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/types.es.js.map +1 -0
  183. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/xlink.cjs.js +2 -0
  184. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/xlink.cjs.js.map +1 -0
  185. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/xlink.es.js +20 -0
  186. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/xlink.es.js.map +1 -0
  187. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/xml.cjs.js +2 -0
  188. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/xml.cjs.js.map +1 -0
  189. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/xml.es.js +12 -0
  190. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/xml.es.js.map +1 -0
  191. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/xmlns.cjs.js +2 -0
  192. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/xmlns.cjs.js.map +1 -0
  193. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/xmlns.es.js +12 -0
  194. package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/xmlns.es.js.map +1 -0
  195. package/dist/node_modules/hast-util-raw/node_modules/vfile-location/lib/index.cjs.js +3 -0
  196. package/dist/node_modules/hast-util-raw/node_modules/vfile-location/lib/index.cjs.js.map +1 -0
  197. package/dist/node_modules/hast-util-raw/node_modules/vfile-location/lib/index.es.js +43 -0
  198. package/dist/node_modules/hast-util-raw/node_modules/vfile-location/lib/index.es.js.map +1 -0
  199. package/dist/node_modules/hast-util-to-parse5/lib/index.cjs.js +2 -0
  200. package/dist/node_modules/hast-util-to-parse5/lib/index.cjs.js.map +1 -0
  201. package/dist/node_modules/hast-util-to-parse5/lib/index.es.js +119 -0
  202. package/dist/node_modules/hast-util-to-parse5/lib/index.es.js.map +1 -0
  203. package/dist/node_modules/rehype/node_modules/unified/lib/index.cjs.js +1 -1
  204. package/dist/node_modules/rehype/node_modules/unified/lib/index.cjs.js.map +1 -1
  205. package/dist/node_modules/rehype/node_modules/unified/lib/index.es.js +1 -1
  206. package/dist/node_modules/rehype/node_modules/unist-util-stringify-position/lib/index.cjs.js.map +1 -0
  207. package/dist/node_modules/{vfile/node_modules/unist-util-stringify-position/lib/index.cjs.js.map → rehype/node_modules/unist-util-stringify-position/lib/index.es.js.map} +1 -1
  208. package/dist/node_modules/rehype/node_modules/vfile/lib/index.cjs.js +2 -0
  209. package/dist/node_modules/rehype/node_modules/vfile/lib/index.cjs.js.map +1 -0
  210. package/dist/node_modules/{vfile → rehype/node_modules/vfile}/lib/index.es.js +2 -2
  211. package/dist/node_modules/rehype/node_modules/vfile/lib/index.es.js.map +1 -0
  212. package/dist/node_modules/rehype/node_modules/vfile/lib/minpath.browser.cjs.js.map +1 -0
  213. package/dist/node_modules/rehype/node_modules/vfile/lib/minpath.browser.es.js.map +1 -0
  214. package/dist/node_modules/rehype/node_modules/vfile/lib/minproc.browser.cjs.js.map +1 -0
  215. package/dist/node_modules/rehype/node_modules/vfile/lib/minproc.browser.es.js.map +1 -0
  216. package/dist/node_modules/rehype/node_modules/vfile/lib/minurl.browser.cjs.js.map +1 -0
  217. package/dist/node_modules/rehype/node_modules/vfile/lib/minurl.browser.es.js.map +1 -0
  218. package/dist/node_modules/rehype/node_modules/vfile/lib/minurl.shared.cjs.js.map +1 -0
  219. package/dist/node_modules/rehype/node_modules/vfile/lib/minurl.shared.es.js.map +1 -0
  220. package/dist/node_modules/rehype/node_modules/vfile-message/lib/index.cjs.js.map +1 -0
  221. package/dist/node_modules/{vfile/node_modules/vfile-message/lib/index.cjs.js.map → rehype/node_modules/vfile-message/lib/index.es.js.map} +1 -1
  222. package/dist/node_modules/rehype-raw/lib/index.cjs.js +2 -0
  223. package/dist/node_modules/rehype-raw/lib/index.cjs.js.map +1 -0
  224. package/dist/node_modules/rehype-raw/lib/index.es.js +13 -0
  225. package/dist/node_modules/rehype-raw/lib/index.es.js.map +1 -0
  226. package/dist/node_modules/unist-util-is/lib/index.cjs.js +2 -0
  227. package/dist/node_modules/unist-util-is/lib/index.cjs.js.map +1 -0
  228. package/dist/node_modules/unist-util-is/lib/index.es.js +85 -0
  229. package/dist/node_modules/unist-util-is/lib/index.es.js.map +1 -0
  230. package/dist/node_modules/unist-util-position/lib/index.cjs.js +2 -0
  231. package/dist/node_modules/unist-util-position/lib/index.cjs.js.map +1 -0
  232. package/dist/node_modules/unist-util-position/lib/index.es.js +18 -0
  233. package/dist/node_modules/unist-util-position/lib/index.es.js.map +1 -0
  234. package/dist/node_modules/unist-util-visit/lib/index.cjs.js +2 -0
  235. package/dist/node_modules/unist-util-visit/lib/index.cjs.js.map +1 -0
  236. package/dist/node_modules/unist-util-visit/lib/index.es.js +17 -0
  237. package/dist/node_modules/unist-util-visit/lib/index.es.js.map +1 -0
  238. package/dist/node_modules/unist-util-visit-parents/lib/color.cjs.js +2 -0
  239. package/dist/node_modules/unist-util-visit-parents/lib/color.cjs.js.map +1 -0
  240. package/dist/node_modules/unist-util-visit-parents/lib/color.es.js +7 -0
  241. package/dist/node_modules/unist-util-visit-parents/lib/color.es.js.map +1 -0
  242. package/dist/node_modules/unist-util-visit-parents/lib/index.cjs.js +2 -0
  243. package/dist/node_modules/unist-util-visit-parents/lib/index.cjs.js.map +1 -0
  244. package/dist/node_modules/unist-util-visit-parents/lib/index.es.js +57 -0
  245. package/dist/node_modules/unist-util-visit-parents/lib/index.es.js.map +1 -0
  246. package/dist/node_modules/web-namespaces/index.cjs.js +1 -1
  247. package/dist/node_modules/web-namespaces/index.cjs.js.map +1 -1
  248. package/dist/node_modules/web-namespaces/index.es.js +8 -3
  249. package/dist/node_modules/web-namespaces/index.es.js.map +1 -1
  250. package/dist/shared/src/api/generated/entityLists.cjs.js.map +1 -1
  251. package/dist/shared/src/api/generated/entityLists.es.js.map +1 -1
  252. package/dist/shared/src/api/generated/folders.cjs.js.map +1 -1
  253. package/dist/shared/src/api/generated/folders.es.js.map +1 -1
  254. package/dist/shared/src/api/generated/graphql.cjs.js +5 -3
  255. package/dist/shared/src/api/generated/graphql.cjs.js.map +1 -1
  256. package/dist/shared/src/api/generated/graphql.es.js +14 -12
  257. package/dist/shared/src/api/generated/graphql.es.js.map +1 -1
  258. package/dist/shared/src/api/generated/views.cjs.js.map +1 -1
  259. package/dist/shared/src/api/generated/views.es.js.map +1 -1
  260. package/dist/shared/src/api/queries/entityLists/getLists.cjs.js +1 -1
  261. package/dist/shared/src/api/queries/entityLists/getLists.cjs.js.map +1 -1
  262. package/dist/shared/src/api/queries/entityLists/getLists.es.js +117 -142
  263. package/dist/shared/src/api/queries/entityLists/getLists.es.js.map +1 -1
  264. package/dist/shared/src/api/queries/entityLists/updateLists.cjs.js +1 -1
  265. package/dist/shared/src/api/queries/entityLists/updateLists.cjs.js.map +1 -1
  266. package/dist/shared/src/api/queries/entityLists/updateLists.es.js +95 -110
  267. package/dist/shared/src/api/queries/entityLists/updateLists.es.js.map +1 -1
  268. package/dist/shared/src/api/queries/links/getEntityLinks.cjs.js +1 -1
  269. package/dist/shared/src/api/queries/links/getEntityLinks.cjs.js.map +1 -1
  270. package/dist/shared/src/api/queries/links/getEntityLinks.es.js +41 -40
  271. package/dist/shared/src/api/queries/links/getEntityLinks.es.js.map +1 -1
  272. package/dist/shared/src/api/queries/links/updateLinks.cjs.js +1 -1
  273. package/dist/shared/src/api/queries/links/updateLinks.cjs.js.map +1 -1
  274. package/dist/shared/src/api/queries/links/updateLinks.es.js +164 -143
  275. package/dist/shared/src/api/queries/links/updateLinks.es.js.map +1 -1
  276. package/dist/shared/src/api/queries/users/getUsers.cjs.js +1 -1
  277. package/dist/shared/src/api/queries/users/getUsers.cjs.js.map +1 -1
  278. package/dist/shared/src/api/queries/users/getUsers.es.js +17 -21
  279. package/dist/shared/src/api/queries/users/getUsers.es.js.map +1 -1
  280. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js +26 -37
  281. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js.map +1 -1
  282. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.es.js +100 -97
  283. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.es.js.map +1 -1
  284. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js +6 -5
  285. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js.map +1 -1
  286. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js +169 -62
  287. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js.map +1 -1
  288. package/dist/shared/src/components/DetailsPanelDetails/BorderedSection.cjs.js +48 -0
  289. package/dist/shared/src/components/DetailsPanelDetails/BorderedSection.cjs.js.map +1 -0
  290. package/dist/shared/src/components/DetailsPanelDetails/BorderedSection.es.js +87 -0
  291. package/dist/shared/src/components/DetailsPanelDetails/BorderedSection.es.js.map +1 -0
  292. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js +2 -0
  293. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js.map +1 -0
  294. package/dist/shared/src/components/{ListAttributeForm/ListAttributeForm.es.js → DetailsPanelDetails/DescriptionSection.es.js} +117 -105
  295. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js.map +1 -0
  296. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.styles.cjs.js +385 -0
  297. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.styles.cjs.js.map +1 -0
  298. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.styles.es.js +401 -0
  299. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.styles.es.js.map +1 -0
  300. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js +12 -0
  301. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js.map +1 -0
  302. package/dist/shared/src/components/{LinksManager/LinksManagerDialog.es.js → DetailsPanelDetails/DetailsPanelDetails.es.js} +92 -91
  303. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js.map +1 -0
  304. package/dist/shared/src/components/DetailsPanelDetails/DetailsSection.cjs.js +51 -0
  305. package/dist/shared/src/components/DetailsPanelDetails/DetailsSection.cjs.js.map +1 -0
  306. package/dist/shared/src/components/DetailsPanelDetails/DetailsSection.es.js +113 -0
  307. package/dist/shared/src/components/DetailsPanelDetails/DetailsSection.es.js.map +1 -0
  308. package/dist/shared/src/components/DetailsPanelDetails/FieldLabel.cjs.js +8 -0
  309. package/dist/shared/src/components/DetailsPanelDetails/FieldLabel.cjs.js.map +1 -0
  310. package/dist/shared/src/components/DetailsPanelDetails/FieldLabel.es.js +25 -0
  311. package/dist/shared/src/components/DetailsPanelDetails/FieldLabel.es.js.map +1 -0
  312. package/dist/shared/src/components/DetailsPanelDetails/hooks/useDescriptionEditor.cjs.js +2 -0
  313. package/dist/shared/src/components/DetailsPanelDetails/hooks/useDescriptionEditor.cjs.js.map +1 -0
  314. package/dist/shared/src/components/DetailsPanelDetails/hooks/useDescriptionEditor.es.js +61 -0
  315. package/dist/shared/src/components/DetailsPanelDetails/hooks/useDescriptionEditor.es.js.map +1 -0
  316. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityData.cjs.js +2 -0
  317. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityData.cjs.js.map +1 -0
  318. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityData.es.js +95 -0
  319. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityData.es.js.map +1 -0
  320. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js +2 -0
  321. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js.map +1 -0
  322. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js +109 -0
  323. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js.map +1 -0
  324. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityFields.cjs.js +2 -0
  325. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityFields.cjs.js.map +1 -0
  326. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityFields.es.js +131 -0
  327. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityFields.es.js.map +1 -0
  328. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityFormData.cjs.js +2 -0
  329. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityFormData.cjs.js.map +1 -0
  330. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityFormData.es.js +64 -0
  331. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityFormData.es.js.map +1 -0
  332. package/dist/shared/src/components/DetailsPanelDetails/hooks/useMentionSystem.cjs.js +2 -0
  333. package/dist/shared/src/components/DetailsPanelDetails/hooks/useMentionSystem.cjs.js.map +1 -0
  334. package/dist/shared/src/components/DetailsPanelDetails/hooks/useMentionSystem.es.js +28 -0
  335. package/dist/shared/src/components/DetailsPanelDetails/hooks/useMentionSystem.es.js.map +1 -0
  336. package/dist/shared/src/components/DetailsPanelDetails/hooks/useQuillFormats.cjs.js +2 -0
  337. package/dist/shared/src/components/DetailsPanelDetails/hooks/useQuillFormats.cjs.js.map +1 -0
  338. package/dist/shared/src/components/DetailsPanelDetails/hooks/useQuillFormats.es.js +6 -0
  339. package/dist/shared/src/components/DetailsPanelDetails/hooks/useQuillFormats.es.js.map +1 -0
  340. package/dist/shared/src/components/DetailsPanelDetails/types.cjs.js +2 -0
  341. package/dist/shared/src/components/DetailsPanelDetails/types.cjs.js.map +1 -0
  342. package/dist/shared/src/components/DetailsPanelDetails/types.es.js +37 -0
  343. package/dist/shared/src/components/DetailsPanelDetails/types.es.js.map +1 -0
  344. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js +1 -1
  345. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js.map +1 -1
  346. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js +9 -9
  347. package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js +1 -1
  348. package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js.map +1 -1
  349. package/dist/shared/src/components/LinksManager/AddNewLinks.es.js +5 -5
  350. package/dist/shared/src/components/LinksManager/CellEditingDialog.cjs.js +8 -0
  351. package/dist/shared/src/components/LinksManager/CellEditingDialog.cjs.js.map +1 -0
  352. package/dist/shared/src/components/LinksManager/CellEditingDialog.es.js +86 -0
  353. package/dist/shared/src/components/LinksManager/CellEditingDialog.es.js.map +1 -0
  354. package/dist/shared/src/components/LinksManager/LinkManagerItem.cjs.js +1 -1
  355. package/dist/shared/src/components/LinksManager/LinkManagerItem.cjs.js.map +1 -1
  356. package/dist/shared/src/components/LinksManager/LinkManagerItem.es.js +29 -20
  357. package/dist/shared/src/components/LinksManager/LinkManagerItem.es.js.map +1 -1
  358. package/dist/shared/src/components/LinksManager/LinksManager.cjs.js +1 -1
  359. package/dist/shared/src/components/LinksManager/LinksManager.cjs.js.map +1 -1
  360. package/dist/shared/src/components/LinksManager/LinksManager.es.js +55 -43
  361. package/dist/shared/src/components/LinksManager/LinksManager.es.js.map +1 -1
  362. package/dist/shared/src/components/LinksManager/LinksManager.styled.cjs.js +42 -9
  363. package/dist/shared/src/components/LinksManager/LinksManager.styled.cjs.js.map +1 -1
  364. package/dist/shared/src/components/LinksManager/LinksManager.styled.es.js +49 -16
  365. package/dist/shared/src/components/LinksManager/LinksManager.styled.es.js.map +1 -1
  366. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js +1 -1
  367. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js.map +1 -1
  368. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js +9 -9
  369. package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js +3 -3
  370. package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js.map +1 -1
  371. package/dist/shared/src/components/Powerpack/PowerpackButton.es.js +5 -5
  372. package/dist/shared/src/components/Powerpack/PowerpackButton.es.js.map +1 -1
  373. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js +1 -1
  374. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js.map +1 -1
  375. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js +6 -6
  376. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +2 -2
  377. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
  378. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +26 -18
  379. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
  380. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js +1 -1
  381. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js.map +1 -1
  382. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js +27 -21
  383. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js.map +1 -1
  384. package/dist/shared/src/components/QuillListStyles/QuillListStyles.cjs.js +59 -0
  385. package/dist/shared/src/components/QuillListStyles/QuillListStyles.cjs.js.map +1 -0
  386. package/dist/shared/src/components/QuillListStyles/QuillListStyles.es.js +63 -0
  387. package/dist/shared/src/components/QuillListStyles/QuillListStyles.es.js.map +1 -0
  388. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js +31 -0
  389. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js.map +1 -0
  390. package/dist/shared/src/components/RenameForm/RenameForm.es.js +396 -0
  391. package/dist/shared/src/components/RenameForm/RenameForm.es.js.map +1 -0
  392. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +1 -1
  393. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
  394. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +6 -6
  395. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +1 -1
  396. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
  397. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +6 -6
  398. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +1 -1
  399. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
  400. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +6 -6
  401. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +1 -1
  402. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js.map +1 -1
  403. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +6 -6
  404. package/dist/shared/src/components/StyledLink/StyledLink.cjs.js +14 -0
  405. package/dist/shared/src/components/StyledLink/StyledLink.cjs.js.map +1 -0
  406. package/dist/shared/src/components/StyledLink/StyledLink.es.js +19 -0
  407. package/dist/shared/src/components/StyledLink/StyledLink.es.js.map +1 -0
  408. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js +1 -1
  409. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js.map +1 -1
  410. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js +6 -6
  411. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +1 -1
  412. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
  413. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +6 -6
  414. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +1 -1
  415. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
  416. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +6 -6
  417. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +1 -1
  418. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
  419. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +193 -162
  420. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
  421. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.styled.cjs.js +1 -7
  422. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.styled.cjs.js.map +1 -1
  423. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.styled.es.js +6 -13
  424. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.styled.es.js.map +1 -1
  425. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js +1 -1
  426. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
  427. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js +6 -6
  428. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js +1 -1
  429. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
  430. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js +6 -6
  431. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js +1 -1
  432. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
  433. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js +124 -114
  434. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
  435. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js +4 -3
  436. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js.map +1 -1
  437. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.styled.es.js +1 -0
  438. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.styled.es.js.map +1 -1
  439. package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.cjs.js +2 -0
  440. package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.cjs.js.map +1 -0
  441. package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.es.js +85 -0
  442. package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.es.js.map +1 -0
  443. package/dist/shared/src/containers/DetailsPanel/FeedFilters/FeedFilters.cjs.js +1 -1
  444. package/dist/shared/src/containers/DetailsPanel/FeedFilters/FeedFilters.cjs.js.map +1 -1
  445. package/dist/shared/src/containers/DetailsPanel/FeedFilters/FeedFilters.es.js +18 -18
  446. package/dist/shared/src/containers/DetailsPanel/FeedFilters/FeedFilters.es.js.map +1 -1
  447. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js +1 -1
  448. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js.map +1 -1
  449. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js +6 -6
  450. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js +1 -1
  451. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js.map +1 -1
  452. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js +6 -6
  453. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js +1 -1
  454. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js.map +1 -1
  455. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js +6 -6
  456. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js +1 -1
  457. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js.map +1 -1
  458. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js +6 -6
  459. package/dist/shared/src/containers/Feed/components/ActivityDate.cjs.js +8 -3
  460. package/dist/shared/src/containers/Feed/components/ActivityDate.cjs.js.map +1 -1
  461. package/dist/shared/src/containers/Feed/components/ActivityDate.es.js +21 -16
  462. package/dist/shared/src/containers/Feed/components/ActivityDate.es.js.map +1 -1
  463. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.cjs.js +1 -1
  464. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.cjs.js.map +1 -1
  465. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.es.js +21 -21
  466. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.es.js.map +1 -1
  467. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.styled.cjs.js +37 -8
  468. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.styled.cjs.js.map +1 -1
  469. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.styled.es.js +44 -14
  470. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.styled.es.js.map +1 -1
  471. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js +2 -2
  472. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js.map +1 -1
  473. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js +58 -57
  474. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js.map +1 -1
  475. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.styled.cjs.js +7 -58
  476. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.styled.cjs.js.map +1 -1
  477. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.styled.es.js +14 -65
  478. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.styled.es.js.map +1 -1
  479. package/dist/shared/src/containers/Feed/components/CommentInput/modules/index.cjs.js +1 -1
  480. package/dist/shared/src/containers/Feed/components/CommentInput/modules/index.cjs.js.map +1 -1
  481. package/dist/shared/src/containers/Feed/components/CommentInput/modules/index.es.js +17 -15
  482. package/dist/shared/src/containers/Feed/components/CommentInput/modules/index.es.js.map +1 -1
  483. package/dist/shared/src/containers/Feed/components/CommentInput/quillToMarkdown.cjs.js +7 -6
  484. package/dist/shared/src/containers/Feed/components/CommentInput/quillToMarkdown.cjs.js.map +1 -1
  485. package/dist/shared/src/containers/Feed/components/CommentInput/quillToMarkdown.es.js +27 -18
  486. package/dist/shared/src/containers/Feed/components/CommentInput/quillToMarkdown.es.js.map +1 -1
  487. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +1 -1
  488. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
  489. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +53 -51
  490. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
  491. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +1 -1
  492. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js.map +1 -1
  493. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +280 -207
  494. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -1
  495. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js +1 -1
  496. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js.map +1 -1
  497. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js +6 -6
  498. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js +1 -1
  499. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js.map +1 -1
  500. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js +5 -5
  501. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js +3 -3
  502. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js.map +1 -1
  503. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js +212 -206
  504. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js.map +1 -1
  505. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js +1 -1
  506. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js.map +1 -1
  507. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js +41 -34
  508. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js.map +1 -1
  509. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js +1 -1
  510. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js.map +1 -1
  511. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js +5 -5
  512. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.cjs.js +1 -1
  513. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.cjs.js.map +1 -1
  514. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.es.js +130 -33
  515. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.es.js.map +1 -1
  516. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js +1 -1
  517. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js.map +1 -1
  518. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js +10 -13
  519. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js.map +1 -1
  520. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js +1 -1
  521. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js +1 -1
  522. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js +1 -1
  523. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js.map +1 -1
  524. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js +48 -45
  525. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js.map +1 -1
  526. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js +1 -1
  527. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js.map +1 -1
  528. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js +104 -93
  529. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js.map +1 -1
  530. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js +1 -1
  531. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js.map +1 -1
  532. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js +5 -5
  533. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js +1 -1
  534. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js.map +1 -1
  535. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js +5 -5
  536. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js +1 -1
  537. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js.map +1 -1
  538. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js +111 -87
  539. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js.map +1 -1
  540. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js +1 -1
  541. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js.map +1 -1
  542. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js +9 -9
  543. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js +1 -1
  544. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js.map +1 -1
  545. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js +9 -9
  546. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js +1 -1
  547. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js.map +1 -1
  548. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js +5 -5
  549. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +1 -1
  550. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js.map +1 -1
  551. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +5 -5
  552. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js +1 -1
  553. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js.map +1 -1
  554. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js +7 -7
  555. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js.map +1 -1
  556. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js +2 -2
  557. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js.map +1 -1
  558. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js +88 -74
  559. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js.map +1 -1
  560. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.cjs.js +2 -2
  561. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.cjs.js.map +1 -1
  562. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.es.js +66 -66
  563. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.es.js.map +1 -1
  564. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js +1 -1
  565. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js.map +1 -1
  566. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js +58 -61
  567. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js.map +1 -1
  568. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js +2 -0
  569. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js.map +1 -0
  570. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js +241 -0
  571. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js.map +1 -0
  572. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.cjs.js +8 -3
  573. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.cjs.js.map +1 -1
  574. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.es.js +82 -32
  575. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.es.js.map +1 -1
  576. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidgetInput.cjs.js +2 -2
  577. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidgetInput.cjs.js.map +1 -1
  578. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidgetInput.es.js +79 -24
  579. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidgetInput.es.js.map +1 -1
  580. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +1 -1
  581. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
  582. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +6 -6
  583. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js +1 -1
  584. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js.map +1 -1
  585. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js +109 -121
  586. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js.map +1 -1
  587. package/dist/shared/src/containers/SimpleTable/SimpleTable.styled.cjs.js +4 -16
  588. package/dist/shared/src/containers/SimpleTable/SimpleTable.styled.cjs.js.map +1 -1
  589. package/dist/shared/src/containers/SimpleTable/SimpleTable.styled.es.js +1 -13
  590. package/dist/shared/src/containers/SimpleTable/SimpleTable.styled.es.js.map +1 -1
  591. package/dist/shared/src/containers/SimpleTable/SimpleTableRowTemplate.cjs.js +1 -1
  592. package/dist/shared/src/containers/SimpleTable/SimpleTableRowTemplate.cjs.js.map +1 -1
  593. package/dist/shared/src/containers/SimpleTable/SimpleTableRowTemplate.es.js +50 -62
  594. package/dist/shared/src/containers/SimpleTable/SimpleTableRowTemplate.es.js.map +1 -1
  595. package/dist/shared/src/context/DetailsPanelContext.cjs.js.map +1 -1
  596. package/dist/shared/src/context/DetailsPanelContext.es.js.map +1 -1
  597. package/dist/shared/src/context/PowerpackContext.cjs.js +1 -1
  598. package/dist/shared/src/context/PowerpackContext.cjs.js.map +1 -1
  599. package/dist/shared/src/context/PowerpackContext.es.js +15 -20
  600. package/dist/shared/src/context/PowerpackContext.es.js.map +1 -1
  601. package/dist/shared/src/hooks/useActionTriggers.cjs.js +1 -1
  602. package/dist/shared/src/hooks/useActionTriggers.cjs.js.map +1 -1
  603. package/dist/shared/src/hooks/useActionTriggers.es.js +27 -32
  604. package/dist/shared/src/hooks/useActionTriggers.es.js.map +1 -1
  605. package/dist/shared/src/hooks/useTagStyling.cjs.js +2 -0
  606. package/dist/shared/src/hooks/useTagStyling.cjs.js.map +1 -0
  607. package/dist/shared/src/hooks/useTagStyling.es.js +33 -0
  608. package/dist/shared/src/hooks/useTagStyling.es.js.map +1 -0
  609. package/dist/shared/src/util/checkName.cjs.js +2 -0
  610. package/dist/shared/src/util/checkName.cjs.js.map +1 -0
  611. package/dist/shared/src/util/checkName.es.js +9 -0
  612. package/dist/shared/src/util/checkName.es.js.map +1 -0
  613. package/dist/shared/src/util/clipboardUtils.cjs.js +2 -0
  614. package/dist/shared/src/util/clipboardUtils.cjs.js.map +1 -0
  615. package/dist/shared/src/util/clipboardUtils.es.js +13 -0
  616. package/dist/shared/src/util/clipboardUtils.es.js.map +1 -0
  617. package/dist/shared/src/util/copyToClipboard.cjs.js +1 -1
  618. package/dist/shared/src/util/copyToClipboard.cjs.js.map +1 -1
  619. package/dist/shared/src/util/copyToClipboard.es.js +21 -21
  620. package/dist/shared/src/util/copyToClipboard.es.js.map +1 -1
  621. package/dist/shared/src/util/humanizeFieldName.cjs.js +2 -0
  622. package/dist/shared/src/util/humanizeFieldName.cjs.js.map +1 -0
  623. package/dist/shared/src/util/humanizeFieldName.es.js +15 -0
  624. package/dist/shared/src/util/humanizeFieldName.es.js.map +1 -0
  625. package/dist/shared/src/util/parseHtmlToPlainTextWithLinks.cjs.js +7 -0
  626. package/dist/shared/src/util/parseHtmlToPlainTextWithLinks.cjs.js.map +1 -0
  627. package/dist/shared/src/util/parseHtmlToPlainTextWithLinks.es.js +64 -0
  628. package/dist/shared/src/util/parseHtmlToPlainTextWithLinks.es.js.map +1 -0
  629. package/dist/types/api/generated/entityLists.d.ts +8 -8
  630. package/dist/types/api/generated/folders.d.ts +2 -0
  631. package/dist/types/api/generated/graphql.d.ts +20 -5
  632. package/dist/types/api/generated/index.d.ts +1 -0
  633. package/dist/types/api/generated/views.d.ts +9 -47
  634. package/dist/types/api/queries/entityLists/getLists.d.ts +0 -133
  635. package/dist/types/api/queries/entityLists/types.d.ts +1 -2
  636. package/dist/types/api/queries/permissions/getPermissions.d.ts +22 -22
  637. package/dist/types/api/queries/share/share.d.ts +1 -1
  638. package/dist/types/api/queries/users/getUsers.d.ts +0 -132
  639. package/dist/types/api/queries/users/updateUsers.d.ts +3 -3
  640. package/dist/types/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.d.ts +2 -4
  641. package/dist/types/components/DetailsPanelAttributes/components/RenderFieldWidget.d.ts +3 -0
  642. package/dist/types/components/DetailsPanelAttributes/index.d.ts +0 -1
  643. package/dist/types/components/DetailsPanelDetails/BorderedSection.d.ts +14 -0
  644. package/dist/types/components/DetailsPanelDetails/DescriptionSection.d.ts +10 -0
  645. package/dist/types/components/DetailsPanelDetails/DescriptionSection.styles.d.ts +10 -0
  646. package/dist/types/components/DetailsPanelDetails/DetailsPanelDetails.d.ts +6 -0
  647. package/dist/types/components/DetailsPanelDetails/DetailsSection.d.ts +1 -1
  648. package/dist/types/components/DetailsPanelDetails/FieldLabel.d.ts +11 -0
  649. package/dist/types/components/DetailsPanelDetails/hooks/index.d.ts +7 -0
  650. package/dist/types/components/DetailsPanelDetails/hooks/useDescriptionEditor.d.ts +17 -0
  651. package/dist/types/components/DetailsPanelDetails/hooks/useEntityData.d.ts +12 -0
  652. package/dist/types/components/DetailsPanelDetails/hooks/useEntityEditing.d.ts +10 -0
  653. package/dist/types/components/DetailsPanelDetails/hooks/useEntityFields.d.ts +16 -0
  654. package/dist/types/components/DetailsPanelDetails/hooks/useEntityFormData.d.ts +8 -0
  655. package/dist/types/components/DetailsPanelDetails/hooks/useQuillFormats.d.ts +1 -0
  656. package/dist/types/components/DetailsPanelDetails/index.d.ts +2 -0
  657. package/dist/types/components/DetailsPanelDetails/types.d.ts +20 -0
  658. package/dist/types/components/EnumEditor/EnumEditor.styled.d.ts +1 -1
  659. package/dist/types/components/LinksManager/CellEditingDialog.d.ts +8 -0
  660. package/dist/types/components/Powerpack/index.d.ts +0 -1
  661. package/dist/types/components/QuillListStyles/QuillListStyles.d.ts +5 -0
  662. package/dist/types/components/QuillListStyles/index.d.ts +1 -0
  663. package/dist/types/components/RenameForm/RenameForm.d.ts +21 -0
  664. package/dist/types/components/RenameForm/index.d.ts +1 -0
  665. package/dist/types/components/StyledLink/StyledLink.d.ts +2 -0
  666. package/dist/types/components/StyledLink/index.d.ts +1 -0
  667. package/dist/types/components/index.d.ts +2 -4
  668. package/dist/types/containers/Actions/ActionsDropdown/ActionsDropdown.styled.d.ts +1 -1
  669. package/dist/types/containers/DetailsPanel/DetailsPanel.styled.d.ts +0 -7
  670. package/dist/types/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.styled.d.ts +4 -4
  671. package/dist/types/containers/DetailsPanel/FeedContextWrapper.d.ts +19 -0
  672. package/dist/types/containers/Feed/components/ActivityVersions/ActivityVersions.styled.d.ts +1 -0
  673. package/dist/types/containers/Feed/components/CommentInput/modules/index.d.ts +2 -1
  674. package/dist/types/containers/ProjectTreeTable/buildTreeTableColumns.d.ts +1 -1
  675. package/dist/types/containers/ProjectTreeTable/context/ProjectDataContext.d.ts +2 -0
  676. package/dist/types/containers/ProjectTreeTable/context/clipboard/clipboardValidation.d.ts +10 -0
  677. package/dist/types/containers/ProjectTreeTable/hooks/useAttributesList.d.ts +5 -4
  678. package/dist/types/containers/ProjectTreeTable/hooks/useCellContextMenu.d.ts +1 -1
  679. package/dist/types/containers/ProjectTreeTable/types/table.d.ts +6 -0
  680. package/dist/types/containers/ProjectTreeTable/widgets/BooleanWidget.d.ts +0 -1
  681. package/dist/types/containers/ProjectTreeTable/widgets/CellWidget.d.ts +2 -1
  682. package/dist/types/containers/ProjectTreeTable/widgets/LinksWidget.d.ts +1 -0
  683. package/dist/types/containers/ProjectTreeTable/widgets/NameWidget.d.ts +10 -0
  684. package/dist/types/containers/ProjectTreeTable/widgets/TextWidget.d.ts +2 -0
  685. package/dist/types/containers/ProjectTreeTable/widgets/TextWidgetInput.d.ts +2 -0
  686. package/dist/types/containers/SimpleTable/SimpleTable.d.ts +0 -3
  687. package/dist/types/containers/SimpleTable/SimpleTableRowTemplate.d.ts +1 -5
  688. package/dist/types/containers/Views/index.d.ts +1 -4
  689. package/dist/types/context/DetailsPanelContext.d.ts +1 -1
  690. package/dist/types/context/PowerpackContext.d.ts +1 -1
  691. package/dist/types/hooks/index.d.ts +1 -0
  692. package/dist/types/hooks/useActionTriggers.d.ts +1 -1
  693. package/dist/types/hooks/useTagStyling.d.ts +17 -0
  694. package/dist/types/util/checkName.d.ts +1 -0
  695. package/dist/types/util/clipboardUtils.d.ts +18 -0
  696. package/dist/types/util/copyToClipboard.d.ts +1 -1
  697. package/dist/types/util/humanizeFieldName.d.ts +1 -0
  698. package/dist/types/util/index.d.ts +3 -0
  699. package/dist/types/util/parseHtmlToPlainTextWithLinks.d.ts +6 -0
  700. package/dist/util.cjs.js +1 -1
  701. package/dist/util.es.js +38 -32
  702. package/dist/util.es.js.map +1 -1
  703. package/package.json +1 -1
  704. package/dist/node_modules/vfile/lib/index.cjs.js +0 -2
  705. package/dist/node_modules/vfile/lib/index.cjs.js.map +0 -1
  706. package/dist/node_modules/vfile/lib/index.es.js.map +0 -1
  707. package/dist/node_modules/vfile/lib/minpath.browser.cjs.js.map +0 -1
  708. package/dist/node_modules/vfile/lib/minpath.browser.es.js.map +0 -1
  709. package/dist/node_modules/vfile/lib/minproc.browser.cjs.js.map +0 -1
  710. package/dist/node_modules/vfile/lib/minproc.browser.es.js.map +0 -1
  711. package/dist/node_modules/vfile/lib/minurl.browser.cjs.js.map +0 -1
  712. package/dist/node_modules/vfile/lib/minurl.browser.es.js.map +0 -1
  713. package/dist/node_modules/vfile/lib/minurl.shared.cjs.js.map +0 -1
  714. package/dist/node_modules/vfile/lib/minurl.shared.es.js.map +0 -1
  715. package/dist/node_modules/vfile/node_modules/unist-util-stringify-position/lib/index.es.js.map +0 -1
  716. package/dist/node_modules/vfile/node_modules/vfile-message/lib/index.es.js.map +0 -1
  717. package/dist/shared/src/components/AccessUser/AccessUser.cjs.js +0 -2
  718. package/dist/shared/src/components/AccessUser/AccessUser.cjs.js.map +0 -1
  719. package/dist/shared/src/components/AccessUser/AccessUser.es.js +0 -33
  720. package/dist/shared/src/components/AccessUser/AccessUser.es.js.map +0 -1
  721. package/dist/shared/src/components/AccessUser/AccessUser.styled.cjs.js +0 -42
  722. package/dist/shared/src/components/AccessUser/AccessUser.styled.cjs.js.map +0 -1
  723. package/dist/shared/src/components/AccessUser/AccessUser.styled.es.js +0 -46
  724. package/dist/shared/src/components/AccessUser/AccessUser.styled.es.js.map +0 -1
  725. package/dist/shared/src/components/DetailsMetaData/DetailsMetaData.cjs.js +0 -34
  726. package/dist/shared/src/components/DetailsMetaData/DetailsMetaData.cjs.js.map +0 -1
  727. package/dist/shared/src/components/DetailsMetaData/DetailsMetaData.es.js +0 -46
  728. package/dist/shared/src/components/DetailsMetaData/DetailsMetaData.es.js.map +0 -1
  729. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributes.cjs.js +0 -2
  730. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributes.cjs.js.map +0 -1
  731. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributes.es.js +0 -287
  732. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributes.es.js.map +0 -1
  733. package/dist/shared/src/components/LinksManager/LinksManagerDialog.cjs.js +0 -8
  734. package/dist/shared/src/components/LinksManager/LinksManagerDialog.cjs.js.map +0 -1
  735. package/dist/shared/src/components/LinksManager/LinksManagerDialog.es.js.map +0 -1
  736. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js +0 -2
  737. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js.map +0 -1
  738. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js.map +0 -1
  739. package/dist/shared/src/components/ListMetaData/ListMetaData.cjs.js +0 -2
  740. package/dist/shared/src/components/ListMetaData/ListMetaData.cjs.js.map +0 -1
  741. package/dist/shared/src/components/ListMetaData/ListMetaData.es.js +0 -25
  742. package/dist/shared/src/components/ListMetaData/ListMetaData.es.js.map +0 -1
  743. package/dist/shared/src/components/Powerpack/RequiredPowerpackVersion.cjs.js +0 -9
  744. package/dist/shared/src/components/Powerpack/RequiredPowerpackVersion.cjs.js.map +0 -1
  745. package/dist/shared/src/components/Powerpack/RequiredPowerpackVersion.es.js +0 -25
  746. package/dist/shared/src/components/Powerpack/RequiredPowerpackVersion.es.js.map +0 -1
  747. package/dist/shared/src/components/ShareOptionIcon/ShareOptionIcon.cjs.js +0 -2
  748. package/dist/shared/src/components/ShareOptionIcon/ShareOptionIcon.cjs.js.map +0 -1
  749. package/dist/shared/src/components/ShareOptionIcon/ShareOptionIcon.es.js +0 -17
  750. package/dist/shared/src/components/ShareOptionIcon/ShareOptionIcon.es.js.map +0 -1
  751. package/dist/shared/src/hooks/useCustomProtocolCheck.cjs.js +0 -2
  752. package/dist/shared/src/hooks/useCustomProtocolCheck.cjs.js.map +0 -1
  753. package/dist/shared/src/hooks/useCustomProtocolCheck.es.js +0 -43
  754. package/dist/shared/src/hooks/useCustomProtocolCheck.es.js.map +0 -1
  755. package/dist/types/components/AccessUser/AccessUser.d.ts +0 -22
  756. package/dist/types/components/AccessUser/AccessUser.styled.d.ts +0 -1
  757. package/dist/types/components/AccessUser/index.d.ts +0 -1
  758. package/dist/types/components/DetailsMetaData/DetailsMetaData.d.ts +0 -8
  759. package/dist/types/components/DetailsMetaData/index.d.ts +0 -1
  760. package/dist/types/components/DetailsPanelAttributes/DetailsPanelAttributes.d.ts +0 -6
  761. package/dist/types/components/LinksManager/LinksManagerDialog.d.ts +0 -9
  762. package/dist/types/components/ListAttributeForm/ListAttributeForm.d.ts +0 -13
  763. package/dist/types/components/ListAttributeForm/index.d.ts +0 -1
  764. package/dist/types/components/ListMetaData/ListMetaData.d.ts +0 -8
  765. package/dist/types/components/ListMetaData/index.d.ts +0 -1
  766. package/dist/types/components/Powerpack/RequiredPowerpackVersion.d.ts +0 -5
  767. package/dist/types/components/ShareOptionIcon/ShareOptionIcon.d.ts +0 -10
  768. package/dist/types/components/ShareOptionIcon/index.d.ts +0 -2
  769. package/dist/types/hooks/useCustomProtocolCheck.d.ts +0 -10
  770. /package/dist/node_modules/{vfile → rehype}/node_modules/unist-util-stringify-position/lib/index.cjs.js +0 -0
  771. /package/dist/node_modules/{vfile → rehype}/node_modules/unist-util-stringify-position/lib/index.es.js +0 -0
  772. /package/dist/node_modules/{vfile → rehype/node_modules/vfile}/lib/minpath.browser.cjs.js +0 -0
  773. /package/dist/node_modules/{vfile → rehype/node_modules/vfile}/lib/minpath.browser.es.js +0 -0
  774. /package/dist/node_modules/{vfile → rehype/node_modules/vfile}/lib/minproc.browser.cjs.js +0 -0
  775. /package/dist/node_modules/{vfile → rehype/node_modules/vfile}/lib/minproc.browser.es.js +0 -0
  776. /package/dist/node_modules/{vfile → rehype/node_modules/vfile}/lib/minurl.browser.cjs.js +0 -0
  777. /package/dist/node_modules/{vfile → rehype/node_modules/vfile}/lib/minurl.browser.es.js +0 -0
  778. /package/dist/node_modules/{vfile → rehype/node_modules/vfile}/lib/minurl.shared.cjs.js +0 -0
  779. /package/dist/node_modules/{vfile → rehype/node_modules/vfile}/lib/minurl.shared.es.js +0 -0
  780. /package/dist/node_modules/{vfile → rehype}/node_modules/vfile-message/lib/index.cjs.js +0 -0
  781. /package/dist/node_modules/{vfile → rehype}/node_modules/vfile-message/lib/index.es.js +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"ClipboardContext.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/context/ClipboardContext.tsx"],"sourcesContent":["import React, { createContext, useContext, useCallback, useMemo, useEffect } from 'react'\n\n// Contexts\nimport { ROW_SELECTION_COLUMN_ID, useSelectionCellsContext } from './SelectionCellsContext'\nimport { useCellEditing } from './CellEditingContext'\n\n// Utils\nimport {\n getCellValue,\n getEntityDataById,\n getLinkEntityIdsByColumnId,\n parseCellId,\n} from '../utils/cellUtils'\n\n// Types\nimport { EntityUpdate } from '../hooks/useUpdateTableData'\nimport usePasteLinks, { LinkUpdate } from '../hooks/usePasteLinks'\n\n// Import from the new modular files\nimport {\n getEntityPath,\n parseClipboardText,\n clipboardError,\n processFieldValue,\n} from './clipboard/clipboardUtils'\nimport { validateClipboardData } from './clipboard/clipboardValidation'\nimport { ClipboardContextType, ClipboardProviderProps } from './clipboard/clipboardTypes'\nimport { useProjectTableContext } from './ProjectTableContext'\nimport { validateEntityId } from '@shared/util'\n\nconst ClipboardContext = createContext<ClipboardContextType | undefined>(undefined)\n\nexport const ClipboardProvider: React.FC<ClipboardProviderProps> = ({\n children,\n entitiesMap,\n columnEnums,\n columnReadOnly,\n visibleColumns,\n}) => {\n // Get selection information from SelectionContext\n const { selectedCells, gridMap, focusedCellId } = useSelectionCellsContext()\n const { updateEntities } = useCellEditing()\n const { pasteTableLinks } = usePasteLinks()\n const { getEntityById, attribFields } = useProjectTableContext()\n\n const getSelectionData = useCallback(\n async (selected: string[], config?: { headers?: boolean; fullRow?: boolean }) => {\n const { headers, fullRow } = config || {}\n try {\n // Get visible columns in display order, excluding row selection\n const visibleColumnIds = visibleColumns\n .map(col => col.id)\n .filter(id => id !== ROW_SELECTION_COLUMN_ID)\n\n // Organize selected cells by row, filtering to only visible columns\n const cellsByRow = new Map<string, Set<string>>()\n\n // Parse all selected cells and organize by rowId and colId\n selected.forEach((cellId) => {\n const position = parseCellId(cellId)\n if (!position) return\n\n const { rowId, colId } = position\n if (colId === ROW_SELECTION_COLUMN_ID || !visibleColumnIds.includes(colId)) return\n\n if (!cellsByRow.has(rowId)) {\n cellsByRow.set(rowId, new Set())\n }\n\n cellsByRow.get(rowId)?.add(colId)\n })\n\n if (fullRow) {\n const selectedRows = selected\n .filter(\n (cellId) =>\n parseCellId(cellId)?.rowId &&\n parseCellId(cellId)?.colId === ROW_SELECTION_COLUMN_ID,\n )\n .map((cellId) => parseCellId(cellId)?.rowId) as string[]\n\n // select the whole row\n // For rows with selection cells, add all available columns\n selectedRows.forEach((rowId) => {\n // add the rowId if it doesn't exist\n if (!cellsByRow.has(rowId)) {\n cellsByRow.set(rowId, new Set())\n }\n const allColumns = Array.from(gridMap.colIdToIndex.keys())\n allColumns.forEach((colId) => {\n cellsByRow.get(rowId)?.add(colId)\n })\n })\n }\n\n // Get sorted row IDs based on their index in the grid\n const sortedRows = Array.from(cellsByRow.keys()).sort((a, b) => {\n const indexA = gridMap.rowIdToIndex.get(a) ?? Infinity\n const indexB = gridMap.rowIdToIndex.get(b) ?? Infinity\n return indexA - indexB\n })\n\n // Build clipboard text\n let clipboardText = ''\n\n // Get the first row to determine columns\n const firstRowId = sortedRows[0]\n if (!firstRowId) return ''\n\n // Get all column IDs for the first row, sorted by their index in the grid\n const colIds = Array.from(cellsByRow.get(firstRowId) || []).sort((a, b) => {\n const indexA = gridMap.colIdToIndex.get(a) ?? Infinity\n const indexB = gridMap.colIdToIndex.get(b) ?? Infinity\n return indexA - indexB\n })\n\n // Include headers if requested\n if (headers && colIds.length > 0) {\n const headerValues: string[] = []\n\n for (const colId of colIds) {\n // Use colId as the column name since we don't have direct access to column names\n const columnName = colId\n headerValues.push(`${columnName.replace(/\"/g, '\"\"')}`)\n }\n\n clipboardText += headerValues.join('\\t') + '\\n'\n }\n\n for (const rowId of sortedRows) {\n // Get the entity for this row\n const entity = getEntityById(rowId)\n\n if (!entity) {\n console.warn(`Entity not found for rowId: ${rowId}`)\n continue\n }\n\n // Get all column IDs for this row, sorted by their index in the grid\n const colIds = Array.from(cellsByRow.get(rowId) || []).sort((a, b) => {\n const indexA = gridMap.colIdToIndex.get(a) ?? Infinity\n const indexB = gridMap.colIdToIndex.get(b) ?? Infinity\n return indexA - indexB\n })\n\n // Filter out the row selection column from the copied data\n const filteredColIds = colIds.filter((colId) => colId !== ROW_SELECTION_COLUMN_ID)\n\n const rowValues: string[] = []\n\n // For each column in this row\n for (const colId of filteredColIds) {\n // Determine the value based on the column ID\n let cellValue = ''\n\n // special handling of link cells\n if (colId.startsWith('link_')) {\n cellValue = getLinkEntityIdsByColumnId(entity.links, colId)\n } else {\n // @ts-ignore\n let foundValue = getCellValue(entity, colId)\n\n if (!foundValue) {\n // we should look for the default value set out in attribFields\n const field = attribFields.find((f) => f.name === colId.replace('attrib_', ''))\n if (field && field.data.type === 'boolean') {\n foundValue = false // default boolean value\n } else if (field && field.data.type.includes('list_of')) {\n foundValue = [] // default list value\n }\n }\n\n // convert to string if foundValue is not undefined or null use empty string otherwise\n cellValue = foundValue !== undefined && foundValue !== null ? String(foundValue) : ''\n\n // Special handling for name field - include full path\n if (colId === 'name') {\n cellValue = getEntityPath(entity.entityId || entity.id, entitiesMap)\n }\n\n if (colId === 'subType') {\n // get folderType or taskType\n if ('folderType' in entity) {\n cellValue = entity.folderType || ''\n }\n if ('taskType' in entity) {\n cellValue = entity.taskType || ''\n }\n }\n }\n\n // Escape double quotes in the cell value and wrap in quotes\n rowValues.push(`${cellValue.replace(/\"/g, '\"\"')}`)\n }\n\n // Add row to clipboard text\n clipboardText += rowValues.join('\\t') + '\\n'\n }\n\n return clipboardText\n } catch (error) {\n console.error('Failed to copy to clipboard:', error)\n }\n },\n [selectedCells, focusedCellId, gridMap, entitiesMap, getEntityById, visibleColumns],\n )\n\n const doesClipboardContainId = async () => {\n // check if the clipboard contains a valid ID\n const clipboardText = await getClipboardString()\n if (!clipboardText) return false\n const parsedData = parseClipboardText(clipboardText)\n if (parsedData.length === 0) return false\n return parsedData.every((row) => {\n return row.values.every((value) => value.split(',').every((v) => validateEntityId(v)))\n })\n }\n\n const copyToClipboard: ClipboardContextType['copyToClipboard'] = useCallback(\n async (selected, fullRow) => {\n selected = selected || Array.from(selectedCells)\n if (!selected.length) return\n const clipboardText = await getSelectionData(selected, { fullRow })\n if (!clipboardText) {\n return\n }\n if (!navigator.clipboard) {\n clipboardError('Clipboard API not supported in this browser.')\n return\n }\n if (!window.isSecureContext) {\n clipboardError('Clipboard operations require a secure HTTPS context.')\n return\n }\n try {\n await navigator.clipboard.writeText(clipboardText)\n console.log('Copied to clipboard successfully', clipboardText)\n } catch (error: any) {\n clipboardError(`Failed to copy to clipboard: ${error.message}`)\n }\n },\n [selectedCells, entitiesMap, gridMap],\n )\n\n const exportCSV: ClipboardContextType['exportCSV'] = useCallback(\n async (selected, projectName, fullRow) => {\n selected = selected || Array.from(selectedCells)\n if (!selected.length) return\n\n try {\n // Get clipboard text with headers included for CSV export\n const clipboardText = await getSelectionData(selected, { headers: true, fullRow })\n if (!clipboardText) return\n\n // create a csv file and download it\n const blob = new Blob([clipboardText], { type: 'text/csv' })\n const url = URL.createObjectURL(blob)\n const a = document.createElement('a')\n a.href = url\n const selectedCount = selected.length\n a.download = `${projectName}-export-${selectedCount}_cells-${new Date()\n .toISOString()\n .slice(0, 10)}.csv`\n a.click()\n URL.revokeObjectURL(url)\n } catch (error) {\n console.error('Failed to copy to clipboard:', error)\n }\n },\n [selectedCells, entitiesMap, gridMap, getSelectionData],\n )\n\n const getClipboardString = async (): Promise<string | void> => {\n if (!navigator.clipboard) {\n clipboardError('Clipboard API not supported in this browser.')\n return\n }\n if (!window.isSecureContext) {\n clipboardError('Clipboard operations require a secure HTTPS context.')\n return\n }\n let clipboardText: string\n try {\n clipboardText = await navigator.clipboard.readText()\n return clipboardText\n } catch (error: any) {\n clipboardError(`Failed to read from clipboard: ${error.message}`)\n return\n }\n }\n\n const pasteFromClipboard: ClipboardContextType['pasteFromClipboard'] = useCallback(\n async (selected, config) => {\n const { method = 'replace' } = config || {}\n if (!selected.length) return\n\n const clipboardText = await getClipboardString()\n if (!clipboardText) return\n\n // Parse the clipboard text\n const parsedData = parseClipboardText(clipboardText)\n if (!parsedData.length) return\n\n console.log('Clipboard data parsed:', parsedData)\n\n // Determine if we have a single value in the clipboard (one row, one column)\n const isSingleCellValue = parsedData.length === 1 && parsedData[0].values.length === 1\n\n // Get visible columns in display order, excluding row selection\n const visibleColumnIds = visibleColumns\n .map(col => col.id)\n .filter(id => id !== ROW_SELECTION_COLUMN_ID)\n\n // Helper function to map clipboard values to visible columns\n const mapClipboardToVisibleColumns = (clipboardRow: any, visibleColumnIds: string[], clipboardHeaders?: string[]) => {\n const mappedValues: Record<string, string> = {}\n\n if (clipboardHeaders && clipboardHeaders.length > 0) {\n // Map by header names when available\n clipboardHeaders.forEach((header: string, index: number) => {\n const matchingColId = visibleColumnIds.find(colId =>\n colId === header ||\n colId.replace('attrib_', '') === header ||\n colId === `attrib_${header}` ||\n colId.toLowerCase() === header.toLowerCase()\n )\n\n if (matchingColId && index < clipboardRow.values.length) {\n mappedValues[matchingColId] = clipboardRow.values[index]\n }\n })\n } else {\n // Fallback: map by position, but only to visible columns\n visibleColumnIds.forEach((colId, index) => {\n if (index < clipboardRow.values.length) {\n mappedValues[colId] = clipboardRow.values[index]\n }\n })\n }\n\n return mappedValues\n }\n\n // Extract headers if they exist (assuming first row might be headers from external source)\n // You might need to detect this differently based on your clipboard format\n const clipboardHeaders = parsedData[0]?.colIds || undefined\n\n // Organize selected cells by row, filtering to only visible columns\n const cellsByRow = new Map<string, Set<string>>()\n\n Array.from(selected).forEach((cellId) => {\n const position = parseCellId(cellId)\n if (!position) return\n\n const { rowId, colId } = position\n if (colId === ROW_SELECTION_COLUMN_ID || !visibleColumnIds.includes(colId)) return\n\n if (!cellsByRow.has(rowId)) {\n cellsByRow.set(rowId, new Set())\n }\n cellsByRow.get(rowId)?.add(colId)\n })\n\n // Get sorted row IDs and column IDs\n const sortedRows = Array.from(cellsByRow.keys()).sort((a, b) => {\n const indexA = gridMap.rowIdToIndex.get(a) ?? Infinity\n const indexB = gridMap.rowIdToIndex.get(b) ?? Infinity\n return indexA - indexB\n })\n\n const firstRow = sortedRows[0]\n const selectedColIds = Array.from(cellsByRow.get(firstRow) || []).sort((a, b) => {\n const indexA = gridMap.colIdToIndex.get(a) ?? Infinity\n const indexB = gridMap.colIdToIndex.get(b) ?? Infinity\n return indexA - indexB\n })\n\n // First pass: validate all values\n for (let rowIndex = 0; rowIndex < sortedRows.length; rowIndex++) {\n const rowId = sortedRows[rowIndex]\n const isFolder = getEntityDataById<'folder'>(rowId, entitiesMap)?.entityType === 'folder'\n\n const pasteRowIndex = rowIndex % parsedData.length\n const clipboardRow = parsedData[pasteRowIndex]\n\n // Map clipboard data to visible columns\n const mappedValues = isSingleCellValue\n ? { [selectedColIds[0]]: parsedData[0].values[0] }\n : mapClipboardToVisibleColumns(clipboardRow, selectedColIds, clipboardHeaders)\n\n // Validate each mapped value\n for (const colId of selectedColIds) {\n const pasteValue = mappedValues[colId] || ''\n\n const isValid = validateClipboardData({\n colId,\n isFolder,\n pasteValue,\n parsedData,\n columnEnums,\n columnReadOnly,\n rowIndex,\n colIndex: selectedColIds.indexOf(colId),\n isSingleCellValue,\n })\n\n if (!isValid) return\n }\n\n }\n\n // Create a map to consolidate updates for the same entity\n const entitiesToUpdateMap = new Map<\n string,\n {\n rowId: string\n id: string\n type: string\n fields: Record<string, any>\n attrib: Record<string, any>\n links: Record<string, string[]>\n }\n >()\n\n // For each column, prepare updates\n for (let colIndex = 0; colIndex < selectedColIds.length; colIndex++) {\n const colId = selectedColIds[colIndex]\n\n // Skip special handling for 'name' which we don't want to paste\n if (colId === 'name') continue\n\n // Check if this is an attribute field by examining the first entity\n let isAttrib = false,\n isLink = false\n // Check if the field potentially contains array values\n let fieldValueType: 'string' | 'number' | 'boolean' | 'array' = 'string'\n\n if (sortedRows.length > 0) {\n const firstRowId = sortedRows[0]\n const entity = getEntityById(firstRowId)\n if (entity) {\n isAttrib = colId.startsWith('attrib_')\n isLink = colId.startsWith('link_')\n\n // Determine if field is an array and its value type\n // @ts-ignore - Check entity property or attribute\n const fieldValue = getCellValue(entity, colId)\n if (Array.isArray(fieldValue) || isLink) {\n fieldValueType = 'array'\n } else if (typeof fieldValue === 'number') {\n fieldValueType = 'number'\n } else if (typeof fieldValue === 'boolean') {\n fieldValueType = 'boolean'\n }\n\n // Special case for subType\n if (colId === 'subType') {\n isAttrib = false\n }\n }\n }\n\n // Process each row individually\n for (let rowIndex = 0; rowIndex < sortedRows.length; rowIndex++) {\n const rowId = sortedRows[rowIndex]\n const entityType = getEntityDataById(rowId, entitiesMap)?.entityType\n const isFolder = entityType === 'folder'\n\n // Get the appropriate value from the clipboard data\n let pasteValue\n if (isSingleCellValue) {\n pasteValue = parsedData[0].values[0]\n } else {\n const pasteRowIndex = rowIndex % parsedData.length\n // Map visible column index to clipboard data index\n // When clipboard contains hidden columns, we need to skip over values\n // that correspond to hidden columns when pasting to visible columns\n const clipboardRow = parsedData[pasteRowIndex]\n\n // If clipboard has more values than visible columns being pasted to,\n // it likely contains hidden column data. We need to reconstruct the original\n // column order that was copied by finding which columns would have been included.\n if (clipboardRow.values.length > selectedColIds.length) {\n // The clipboard data was created from consecutive columns in grid order.\n // We need to find which consecutive columns would result in this clipboard data.\n // Start from the first visible column and extend the range to match clipboard length.\n const firstVisibleColIndex = gridMap.colIdToIndex.get(selectedColIds[0]) ?? 0\n\n // Get all columns sorted by grid position\n const allGridColumns = Array.from(gridMap.colIdToIndex.keys())\n .filter(id => id !== ROW_SELECTION_COLUMN_ID)\n .sort((a, b) => {\n const indexA = gridMap.colIdToIndex.get(a) ?? Infinity\n const indexB = gridMap.colIdToIndex.get(b) ?? Infinity\n return indexA - indexB\n })\n\n // Find the starting position in the grid columns array\n const startGridPos = allGridColumns.findIndex(id => gridMap.colIdToIndex.get(id) === firstVisibleColIndex)\n\n // The original copied columns are the consecutive ones starting from this position\n const originalCopiedColumns = allGridColumns.slice(startGridPos, startGridPos + clipboardRow.values.length)\n\n // Find this column's position in the original copied columns\n const clipboardColIndex = originalCopiedColumns.indexOf(colId)\n pasteValue = clipboardRow.values[clipboardColIndex] || clipboardRow.values[clipboardColIndex % clipboardRow.values.length]\n console.log(`Pasting (hidden columns detected) to column \"${colId}\" (visible index ${colIndex}, clipboard index ${clipboardColIndex}):`, pasteValue, 'from clipboard values:', clipboardRow.values, 'original columns:', originalCopiedColumns)\n } else {\n // Normal case: map clipboard column index using modulo\n const pasteColIndex = colIndex % clipboardRow.values.length\n pasteValue = clipboardRow.values[pasteColIndex]\n console.log(`Pasting (normal) to column \"${colId}\" (index ${colIndex}, paste index ${pasteColIndex}):`, pasteValue, 'from clipboard values:', clipboardRow.values)\n }\n }\n\n let fieldToUpdate = colId.split('_').pop() || colId\n\n // Special handling for subType (convert to folderType or taskType)\n if (colId === 'subType') {\n fieldToUpdate = isFolder ? 'folderType' : 'taskType'\n isAttrib = false\n\n // Skip empty values for enum fields\n if (!pasteValue) continue\n }\n\n // Process the value based on its type\n const processedValue = processFieldValue(pasteValue, fieldValueType)\n\n // Get or create entity entry in the map\n const entityKey = `${rowId}-${entityType}`\n if (!entitiesToUpdateMap.has(entityKey) && entityType) {\n entitiesToUpdateMap.set(entityKey, {\n rowId,\n id: rowId,\n type: entityType,\n fields: {},\n attrib: {},\n links: {},\n })\n }\n\n const entityData = entitiesToUpdateMap.get(entityKey)!\n\n // Add the field to the appropriate place\n if (isLink) {\n const [_link, linkType, inType, outType, direction] = colId.split('_')\n // final-task|folder|task\n entityData.links[`${linkType}|${inType}|${outType}_${direction}`] = processedValue\n } else if (isAttrib) {\n entityData.attrib[fieldToUpdate] = processedValue\n } else {\n entityData.fields[fieldToUpdate] = processedValue\n }\n }\n }\n\n // Convert the consolidated map to EntityUpdate array and LinkUpdate array\n const allEntityUpdates: EntityUpdate[] = []\n const linkUpdatesMap = new Map<string, LinkUpdate>()\n\n entitiesToUpdateMap.forEach((entity) => {\n // For regular fields, create one update per field\n Object.entries(entity.fields).forEach(([field, value]) => {\n allEntityUpdates.push({\n rowId: entity.rowId,\n id: entity.id,\n type: entity.type,\n field,\n value,\n })\n })\n\n // For attributes, create one update per attribute\n Object.entries(entity.attrib).forEach(([field, value]) => {\n allEntityUpdates.push({\n rowId: entity.rowId,\n id: entity.id,\n type: entity.type,\n field,\n value,\n isAttrib: true,\n })\n })\n\n // For links, create LinkUpdate objects\n Object.entries(entity.links).forEach(([linkKey, targetEntityIds]) => {\n // Parse the linkKey: \"linkType|inType|outType_direction\"\n const [linkTypePart, direction] = linkKey.split('_')\n const linkTypeParts = linkTypePart.split('|')\n\n if (linkTypeParts.length >= 3) {\n const linkTypeName = linkTypeParts[0]\n const inType = linkTypeParts[1]\n const outType = linkTypeParts[2]\n\n // Reconstruct the full linkType in the required format: name|input_type|output_type\n const linkType = `${linkTypeName}|${inType}|${outType}`\n\n // Determine target entity type based on direction\n const targetEntityType = direction === 'out' ? outType : inType\n\n // Create a unique key for this link operation\n const linkUpdateKey = `${entity.id}-${linkType}-${direction}`\n\n linkUpdatesMap.set(linkUpdateKey, {\n rowId: entity.rowId,\n sourceEntityId: entity.id,\n sourceEntityType: entity.type,\n linkType,\n direction: direction as 'in' | 'out',\n targetEntityType,\n operation: method,\n targetEntityIds: Array.isArray(targetEntityIds) ? targetEntityIds : [],\n })\n }\n })\n })\n\n const allLinkUpdates = Array.from(linkUpdatesMap.values())\n\n // Make separate calls to update entities and links\n const updatePromises: Promise<void>[] = []\n\n if (allEntityUpdates.length > 0) {\n updatePromises.push(updateEntities(allEntityUpdates))\n }\n\n if (allLinkUpdates.length > 0) {\n updatePromises.push(pasteTableLinks(allLinkUpdates))\n }\n\n if (updatePromises.length > 0) {\n try {\n await Promise.all(updatePromises)\n } catch (error: any) {\n console.error('Error updating entities:', error)\n clipboardError(`Paste failed: ${error || error?.message || 'Unknown error'}`)\n }\n }\n },\n [\n selectedCells,\n gridMap,\n entitiesMap,\n updateEntities,\n pasteTableLinks,\n columnEnums,\n getEntityById,\n visibleColumns,\n ],\n )\n\n // Set up keyboard event listeners\n useEffect(() => {\n const handleKeyDown = async (e: KeyboardEvent) => {\n // Copy functionality (Ctrl+C or Command+C)\n if ((e.ctrlKey || e.metaKey) && e.key === 'c') {\n copyToClipboard()\n }\n\n // Paste functionality (Ctrl+V or Command+V)\n if ((e.ctrlKey || e.metaKey) && e.key === 'v') {\n // don't execute paste if focus is inside an input, textarea, or content‐editable element\n const activeEl = document.activeElement as HTMLElement | null\n\n if (\n activeEl &&\n (activeEl.tagName === 'INPUT' ||\n activeEl.tagName === 'TEXTAREA' ||\n activeEl.isContentEditable)\n ) {\n // focus is inside an input, textarea, or content-editable element\n const allEntityIds = await doesClipboardContainId()\n // we might still want to paste if the clipboard contains valid entity IDs\n if (allEntityIds) {\n // prevent pasting into input fields and handle as paste on the cell\n e.preventDefault()\n } else {\n // skip pasting\n return\n }\n }\n pasteFromClipboard(Array.from(selectedCells), {\n method: e.shiftKey ? 'merge' : 'replace', // Use shift key to determine paste method\n })\n }\n }\n\n window.addEventListener('keydown', handleKeyDown)\n return () => {\n window.removeEventListener('keydown', handleKeyDown)\n }\n }, [copyToClipboard, pasteFromClipboard])\n\n const value = useMemo(\n () => ({\n copyToClipboard,\n pasteFromClipboard,\n exportCSV,\n }),\n [copyToClipboard, pasteFromClipboard],\n )\n\n return <ClipboardContext.Provider value={value}>{children}</ClipboardContext.Provider>\n}\n\nexport const useClipboard = (): ClipboardContextType => {\n const context = useContext(ClipboardContext)\n if (context === undefined) {\n throw new Error('useClipboard must be used within a ClipboardProvider')\n }\n return context\n}\n"],"names":["ClipboardContext","createContext","ClipboardProvider","children","entitiesMap","columnEnums","columnReadOnly","visibleColumns","selectedCells","gridMap","focusedCellId","useSelectionCellsContext","updateEntities","useCellEditing","pasteTableLinks","usePasteLinks","getEntityById","attribFields","useProjectTableContext","getSelectionData","useCallback","selected","config","headers","fullRow","visibleColumnIds","col","id","ROW_SELECTION_COLUMN_ID","cellsByRow","cellId","position","parseCellId","rowId","colId","_a","_b","sortedRows","a","b","indexA","indexB","clipboardText","firstRowId","colIds","headerValues","columnName","entity","filteredColIds","rowValues","cellValue","getLinkEntityIdsByColumnId","foundValue","getCellValue","field","f","getEntityPath","error","doesClipboardContainId","getClipboardString","parsedData","parseClipboardText","row","value","v","validateEntityId","copyToClipboard","clipboardError","exportCSV","projectName","blob","url","selectedCount","pasteFromClipboard","method","isSingleCellValue","mapClipboardToVisibleColumns","clipboardRow","clipboardHeaders","mappedValues","header","index","matchingColId","firstRow","selectedColIds","rowIndex","isFolder","getEntityDataById","pasteRowIndex","pasteValue","validateClipboardData","entitiesToUpdateMap","colIndex","isAttrib","isLink","fieldValueType","fieldValue","entityType","_c","firstVisibleColIndex","allGridColumns","startGridPos","originalCopiedColumns","clipboardColIndex","pasteColIndex","fieldToUpdate","processedValue","processFieldValue","entityKey","entityData","_link","linkType","inType","outType","direction","allEntityUpdates","linkUpdatesMap","linkKey","targetEntityIds","linkTypePart","linkTypeParts","linkTypeName","targetEntityType","linkUpdateKey","allLinkUpdates","updatePromises","useEffect","handleKeyDown","e","activeEl","useMemo","jsx","useClipboard","context","useContext"],"mappings":"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"}
1
+ {"version":3,"file":"ClipboardContext.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/context/ClipboardContext.tsx"],"sourcesContent":["import React, { createContext, useContext, useCallback, useMemo, useEffect } from 'react'\n\n// Contexts\nimport { ROW_SELECTION_COLUMN_ID, useSelectionCellsContext } from './SelectionCellsContext'\nimport { useCellEditing } from './CellEditingContext'\n\n// Utils\nimport {\n getCellValue,\n getEntityDataById,\n getLinkEntityIdsByColumnId,\n parseCellId,\n} from '../utils/cellUtils'\n\n// Types\nimport { EntityUpdate } from '../hooks/useUpdateTableData'\nimport usePasteLinks, { LinkUpdate } from '../hooks/usePasteLinks'\n\n// Import from the new modular files\nimport {\n getEntityPath,\n parseClipboardText,\n clipboardError,\n processFieldValue,\n} from './clipboard/clipboardUtils'\nimport { validateClipboardData } from './clipboard/clipboardValidation'\nimport { ClipboardContextType, ClipboardProviderProps } from './clipboard/clipboardTypes'\nimport { useProjectTableContext } from './ProjectTableContext'\nimport { validateEntityId } from '@shared/util'\n\nconst ClipboardContext = createContext<ClipboardContextType | undefined>(undefined)\n\nexport const ClipboardProvider: React.FC<ClipboardProviderProps> = ({\n children,\n entitiesMap,\n columnEnums,\n columnReadOnly,\n visibleColumns,\n}) => {\n // Get selection information from SelectionContext\n const { selectedCells, gridMap, focusedCellId } = useSelectionCellsContext()\n const { updateEntities } = useCellEditing()\n const { pasteTableLinks } = usePasteLinks()\n const { getEntityById, attribFields } = useProjectTableContext()\n\n const getSelectionData = useCallback(\n async (selected: string[], config?: { headers?: boolean; fullRow?: boolean }) => {\n const { headers, fullRow } = config || {}\n try {\n // Get visible columns in display order, excluding row selection\n const visibleColumnIds = visibleColumns\n .map((col) => col.id)\n .filter((id) => id !== ROW_SELECTION_COLUMN_ID)\n\n // Organize selected cells by row, filtering to only visible columns\n const cellsByRow = new Map<string, Set<string>>()\n\n // Parse all selected cells and organize by rowId and colId\n selected.forEach((cellId) => {\n const position = parseCellId(cellId)\n if (!position) return\n\n const { rowId, colId } = position\n if (colId === ROW_SELECTION_COLUMN_ID || !visibleColumnIds.includes(colId)) return\n\n if (!cellsByRow.has(rowId)) {\n cellsByRow.set(rowId, new Set())\n }\n\n cellsByRow.get(rowId)?.add(colId)\n })\n\n if (fullRow) {\n const selectedRows = selected\n .filter(\n (cellId) =>\n parseCellId(cellId)?.rowId &&\n parseCellId(cellId)?.colId === ROW_SELECTION_COLUMN_ID,\n )\n .map((cellId) => parseCellId(cellId)?.rowId) as string[]\n\n // select the whole row\n // For rows with selection cells, add all available columns\n selectedRows.forEach((rowId) => {\n // add the rowId if it doesn't exist\n if (!cellsByRow.has(rowId)) {\n cellsByRow.set(rowId, new Set())\n }\n const allColumns = Array.from(gridMap.colIdToIndex.keys())\n allColumns.forEach((colId) => {\n cellsByRow.get(rowId)?.add(colId)\n })\n })\n }\n\n // Get sorted row IDs based on their index in the grid\n const sortedRows = Array.from(cellsByRow.keys()).sort((a, b) => {\n const indexA = gridMap.rowIdToIndex.get(a) ?? Infinity\n const indexB = gridMap.rowIdToIndex.get(b) ?? Infinity\n return indexA - indexB\n })\n\n // Build clipboard text\n let clipboardText = ''\n\n // Get the first row to determine columns\n const firstRowId = sortedRows[0]\n if (!firstRowId) return ''\n\n // Get all column IDs for the first row, sorted by their index in the grid\n const colIds = Array.from(cellsByRow.get(firstRowId) || []).sort((a, b) => {\n const indexA = gridMap.colIdToIndex.get(a) ?? Infinity\n const indexB = gridMap.colIdToIndex.get(b) ?? Infinity\n return indexA - indexB\n })\n\n // Include headers if requested\n if (headers && colIds.length > 0) {\n const headerValues: string[] = []\n\n for (const colId of colIds) {\n // Use colId as the column name since we don't have direct access to column names\n const columnName = colId\n headerValues.push(`${columnName.replace(/\"/g, '\"\"')}`)\n }\n\n clipboardText += headerValues.join('\\t') + '\\n'\n }\n\n for (const rowId of sortedRows) {\n // Get the entity for this row\n const entity = getEntityById(rowId)\n\n if (!entity) {\n console.warn(`Entity not found for rowId: ${rowId}`)\n continue\n }\n\n // Get all column IDs for this row, sorted by their index in the grid\n const colIds = Array.from(cellsByRow.get(rowId) || []).sort((a, b) => {\n const indexA = gridMap.colIdToIndex.get(a) ?? Infinity\n const indexB = gridMap.colIdToIndex.get(b) ?? Infinity\n return indexA - indexB\n })\n\n // Filter out the row selection column from the copied data\n const filteredColIds = colIds.filter((colId) => colId !== ROW_SELECTION_COLUMN_ID)\n\n const rowValues: string[] = []\n\n // For each column in this row\n for (const colId of filteredColIds) {\n // Determine the value based on the column ID\n let cellValue = ''\n\n // special handling of link cells\n if (colId.startsWith('link_')) {\n cellValue = getLinkEntityIdsByColumnId(entity.links, colId)\n } else {\n // @ts-ignore\n let foundValue = getCellValue(entity, colId)\n\n if (!foundValue) {\n // we should look for the default value set out in attribFields\n const field = attribFields.find((f) => f.name === colId.replace('attrib_', ''))\n if (field && field.data.type === 'boolean') {\n foundValue = false // default boolean value\n } else if (field && field.data.type.includes('list_of')) {\n foundValue = [] // default list value\n }\n }\n\n // convert to string if foundValue is not undefined or null use empty string otherwise\n cellValue = foundValue !== undefined && foundValue !== null ? String(foundValue) : ''\n\n // Special handling for name field - include full path\n if (colId === 'name') {\n cellValue = getEntityPath(entity.entityId || entity.id, entitiesMap)\n }\n\n if (colId === 'subType') {\n // get folderType or taskType\n if ('folderType' in entity) {\n cellValue = entity.folderType || ''\n }\n if ('taskType' in entity) {\n cellValue = entity.taskType || ''\n }\n }\n }\n\n // Escape double quotes in the cell value and wrap in quotes\n rowValues.push(`${cellValue.replace(/\"/g, '\"\"')}`)\n }\n\n // Add row to clipboard text\n clipboardText += rowValues.join('\\t') + '\\n'\n }\n\n return clipboardText\n } catch (error) {\n console.error('Failed to copy to clipboard:', error)\n }\n },\n [selectedCells, focusedCellId, gridMap, entitiesMap, getEntityById, visibleColumns],\n )\n\n const doesClipboardContainId = async () => {\n // check if the clipboard contains a valid ID\n const clipboardText = await getClipboardString()\n if (!clipboardText) return false\n const parsedData = parseClipboardText(clipboardText)\n if (parsedData.length === 0) return false\n return parsedData.every((row) => {\n return row.values.every((value) => value.split(',').every((v) => validateEntityId(v)))\n })\n }\n\n const copyToClipboard: ClipboardContextType['copyToClipboard'] = useCallback(\n async (selected, fullRow) => {\n selected = selected || Array.from(selectedCells)\n if (!selected.length) return\n const clipboardText = await getSelectionData(selected, { fullRow })\n if (!clipboardText) {\n return\n }\n if (!navigator.clipboard) {\n clipboardError('Clipboard API not supported in this browser.')\n return\n }\n if (!window.isSecureContext) {\n clipboardError('Clipboard operations require a secure HTTPS context.')\n return\n }\n try {\n await navigator.clipboard.writeText(clipboardText)\n } catch (error: any) {\n clipboardError(`Failed to copy to clipboard: ${error.message}`)\n }\n },\n [selectedCells, entitiesMap, gridMap],\n )\n\n const exportCSV: ClipboardContextType['exportCSV'] = useCallback(\n async (selected, projectName, fullRow) => {\n selected = selected || Array.from(selectedCells)\n if (!selected.length) return\n\n try {\n // Get clipboard text with headers included for CSV export\n const clipboardText = await getSelectionData(selected, { headers: true, fullRow })\n if (!clipboardText) return\n\n // create a csv file and download it\n const blob = new Blob([clipboardText], { type: 'text/csv' })\n const url = URL.createObjectURL(blob)\n const a = document.createElement('a')\n a.href = url\n const selectedCount = selected.length\n a.download = `${projectName}-export-${selectedCount}_cells-${new Date()\n .toISOString()\n .slice(0, 10)}.csv`\n a.click()\n URL.revokeObjectURL(url)\n } catch (error) {\n console.error('Failed to copy to clipboard:', error)\n }\n },\n [selectedCells, entitiesMap, gridMap, getSelectionData],\n )\n\n const getClipboardString = async (): Promise<string | void> => {\n if (!navigator.clipboard) {\n clipboardError('Clipboard API not supported in this browser.')\n return\n }\n if (!window.isSecureContext) {\n clipboardError('Clipboard operations require a secure HTTPS context.')\n return\n }\n let clipboardText: string\n try {\n clipboardText = await navigator.clipboard.readText()\n return clipboardText\n } catch (error: any) {\n clipboardError(`Failed to read from clipboard: ${error.message}`)\n return\n }\n }\n\n const pasteFromClipboard: ClipboardContextType['pasteFromClipboard'] = useCallback(\n async (selected, config) => {\n const { method = 'replace' } = config || {}\n if (!selected.length) return\n\n const clipboardText = await getClipboardString()\n if (!clipboardText) return\n\n // Parse the clipboard text\n const parsedData = parseClipboardText(clipboardText)\n if (!parsedData.length) return\n\n // Determine if we have a single value in the clipboard (one row, one column)\n const isSingleCellValue = parsedData.length === 1 && parsedData[0].values.length === 1\n\n // Get visible columns in display order, excluding row selection\n const visibleColumnIds = visibleColumns\n .map((col) => col.id)\n .filter((id) => id !== ROW_SELECTION_COLUMN_ID)\n\n // Helper function to map clipboard values to visible columns\n const mapClipboardToVisibleColumns = (\n clipboardRow: any,\n visibleColumnIds: string[],\n clipboardHeaders?: string[],\n ) => {\n const mappedValues: Record<string, string> = {}\n\n if (clipboardHeaders && clipboardHeaders.length > 0) {\n // Map by header names when available\n clipboardHeaders.forEach((header: string, index: number) => {\n const matchingColId = visibleColumnIds.find(\n (colId) =>\n colId === header ||\n colId.replace('attrib_', '') === header ||\n colId === `attrib_${header}` ||\n colId.toLowerCase() === header.toLowerCase(),\n )\n\n if (matchingColId && index < clipboardRow.values.length) {\n mappedValues[matchingColId] = clipboardRow.values[index]\n }\n })\n } else {\n // Fallback: map by position, but only to visible columns\n visibleColumnIds.forEach((colId, index) => {\n if (index < clipboardRow.values.length) {\n mappedValues[colId] = clipboardRow.values[index]\n }\n })\n }\n\n return mappedValues\n }\n\n // Extract headers if they exist (assuming first row might be headers from external source)\n // You might need to detect this differently based on your clipboard format\n const clipboardHeaders = parsedData[0]?.colIds || undefined\n\n // Organize selected cells by row, filtering to only visible columns\n const cellsByRow = new Map<string, Set<string>>()\n\n Array.from(selected).forEach((cellId) => {\n const position = parseCellId(cellId)\n if (!position) return\n\n const { rowId, colId } = position\n if (colId === ROW_SELECTION_COLUMN_ID || !visibleColumnIds.includes(colId)) return\n\n if (!cellsByRow.has(rowId)) {\n cellsByRow.set(rowId, new Set())\n }\n cellsByRow.get(rowId)?.add(colId)\n })\n\n // Get sorted row IDs and column IDs\n const sortedRows = Array.from(cellsByRow.keys()).sort((a, b) => {\n const indexA = gridMap.rowIdToIndex.get(a) ?? Infinity\n const indexB = gridMap.rowIdToIndex.get(b) ?? Infinity\n return indexA - indexB\n })\n\n const firstRow = sortedRows[0]\n const selectedColIds = Array.from(cellsByRow.get(firstRow) || []).sort((a, b) => {\n const indexA = gridMap.colIdToIndex.get(a) ?? Infinity\n const indexB = gridMap.colIdToIndex.get(b) ?? Infinity\n return indexA - indexB\n })\n\n // First pass: validate all values\n for (let rowIndex = 0; rowIndex < sortedRows.length; rowIndex++) {\n const rowId = sortedRows[rowIndex]\n const isFolder = getEntityDataById<'folder'>(rowId, entitiesMap)?.entityType === 'folder'\n\n const pasteRowIndex = rowIndex % parsedData.length\n const clipboardRow = parsedData[pasteRowIndex]\n\n // Map clipboard data to visible columns\n const mappedValues = isSingleCellValue\n ? { [selectedColIds[0]]: parsedData[0].values[0] }\n : mapClipboardToVisibleColumns(clipboardRow, selectedColIds, clipboardHeaders)\n\n // Validate each mapped value\n for (const colId of selectedColIds) {\n const pasteValue = mappedValues[colId] || ''\n\n const isValid = validateClipboardData({\n colId,\n isFolder,\n pasteValue,\n parsedData,\n columnEnums,\n columnReadOnly,\n rowIndex,\n colIndex: selectedColIds.indexOf(colId),\n isSingleCellValue,\n attribFields,\n })\n\n if (!isValid) return\n }\n }\n\n // Create a map to consolidate updates for the same entity\n const entitiesToUpdateMap = new Map<\n string,\n {\n rowId: string\n id: string\n type: string\n fields: Record<string, any>\n attrib: Record<string, any>\n links: Record<string, string[]>\n }\n >()\n\n // For each column, prepare updates\n for (let colIndex = 0; colIndex < selectedColIds.length; colIndex++) {\n const colId = selectedColIds[colIndex]\n\n // Skip special handling for 'name' which we don't want to paste\n if (colId === 'name') continue\n\n // Check if this is an attribute field by examining the first entity\n let isAttrib = false,\n isLink = false\n // Check if the field potentially contains array values\n let fieldValueType: 'string' | 'number' | 'boolean' | 'array' = 'string'\n\n if (sortedRows.length > 0) {\n const firstRowId = sortedRows[0]\n const entity = getEntityById(firstRowId)\n if (entity) {\n isAttrib = colId.startsWith('attrib_')\n isLink = colId.startsWith('link_')\n\n // Determine if field is an array and its value type\n // @ts-ignore - Check entity property or attribute\n const fieldValue = getCellValue(entity, colId)\n if (Array.isArray(fieldValue) || isLink) {\n fieldValueType = 'array'\n } else if (typeof fieldValue === 'number') {\n fieldValueType = 'number'\n } else if (typeof fieldValue === 'boolean') {\n fieldValueType = 'boolean'\n }\n\n // Special case for subType\n if (colId === 'subType') {\n isAttrib = false\n }\n }\n }\n\n // Process each row individually\n for (let rowIndex = 0; rowIndex < sortedRows.length; rowIndex++) {\n const rowId = sortedRows[rowIndex]\n const entityType = getEntityDataById(rowId, entitiesMap)?.entityType\n const isFolder = entityType === 'folder'\n\n // Get the appropriate value from the clipboard data\n let pasteValue\n if (isSingleCellValue) {\n pasteValue = parsedData[0].values[0]\n } else {\n const pasteRowIndex = rowIndex % parsedData.length\n // Map visible column index to clipboard data index\n // When clipboard contains hidden columns, we need to skip over values\n // that correspond to hidden columns when pasting to visible columns\n const clipboardRow = parsedData[pasteRowIndex]\n\n // If clipboard has more values than visible columns being pasted to,\n // it likely contains hidden column data. We need to reconstruct the original\n // column order that was copied by finding which columns would have been included.\n if (clipboardRow.values.length > selectedColIds.length) {\n // The clipboard data was created from consecutive columns in grid order.\n // We need to find which consecutive columns would result in this clipboard data.\n // Start from the first visible column and extend the range to match clipboard length.\n const firstVisibleColIndex = gridMap.colIdToIndex.get(selectedColIds[0]) ?? 0\n\n // Get all columns sorted by grid position\n const allGridColumns = Array.from(gridMap.colIdToIndex.keys())\n .filter((id) => id !== ROW_SELECTION_COLUMN_ID)\n .sort((a, b) => {\n const indexA = gridMap.colIdToIndex.get(a) ?? Infinity\n const indexB = gridMap.colIdToIndex.get(b) ?? Infinity\n return indexA - indexB\n })\n\n // Find the starting position in the grid columns array\n const startGridPos = allGridColumns.findIndex(\n (id) => gridMap.colIdToIndex.get(id) === firstVisibleColIndex,\n )\n\n // The original copied columns are the consecutive ones starting from this position\n const originalCopiedColumns = allGridColumns.slice(\n startGridPos,\n startGridPos + clipboardRow.values.length,\n )\n\n // Find this column's position in the original copied columns\n const clipboardColIndex = originalCopiedColumns.indexOf(colId)\n pasteValue =\n clipboardRow.values[clipboardColIndex] ||\n clipboardRow.values[clipboardColIndex % clipboardRow.values.length]\n // Pasting value from hidden columns detection\n } else {\n // Normal case: map clipboard column index using modulo\n const pasteColIndex = colIndex % clipboardRow.values.length\n pasteValue = clipboardRow.values[pasteColIndex]\n // Pasting value normally\n }\n }\n\n let fieldToUpdate = colId.split('_').pop() || colId\n\n // Special handling for subType (convert to folderType or taskType)\n if (colId === 'subType') {\n fieldToUpdate = isFolder ? 'folderType' : 'taskType'\n isAttrib = false\n\n // Skip empty values for enum fields\n if (!pasteValue) continue\n }\n\n // Process the value based on its type\n const processedValue = processFieldValue(pasteValue, fieldValueType)\n\n // Get or create entity entry in the map\n const entityKey = `${rowId}-${entityType}`\n if (!entitiesToUpdateMap.has(entityKey) && entityType) {\n entitiesToUpdateMap.set(entityKey, {\n rowId,\n id: rowId,\n type: entityType,\n fields: {},\n attrib: {},\n links: {},\n })\n }\n\n const entityData = entitiesToUpdateMap.get(entityKey)!\n\n // Add the field to the appropriate place\n if (isLink) {\n const [_link, linkType, inType, outType, direction] = colId.split('_')\n // final-task|folder|task\n entityData.links[`${linkType}|${inType}|${outType}_${direction}`] = processedValue\n } else if (isAttrib) {\n entityData.attrib[fieldToUpdate] = processedValue\n } else {\n entityData.fields[fieldToUpdate] = processedValue\n }\n }\n }\n\n // Convert the consolidated map to EntityUpdate array and LinkUpdate array\n const allEntityUpdates: EntityUpdate[] = []\n const linkUpdatesMap = new Map<string, LinkUpdate>()\n\n entitiesToUpdateMap.forEach((entity) => {\n // For regular fields, create one update per field\n Object.entries(entity.fields).forEach(([field, value]) => {\n allEntityUpdates.push({\n rowId: entity.rowId,\n id: entity.id,\n type: entity.type,\n field,\n value,\n })\n })\n\n // For attributes, create one update per attribute\n Object.entries(entity.attrib).forEach(([field, value]) => {\n allEntityUpdates.push({\n rowId: entity.rowId,\n id: entity.id,\n type: entity.type,\n field,\n value,\n isAttrib: true,\n })\n })\n\n // For links, create LinkUpdate objects\n Object.entries(entity.links).forEach(([linkKey, targetEntityIds]) => {\n // Parse the linkKey: \"linkType|inType|outType_direction\"\n const [linkTypePart, direction] = linkKey.split('_')\n const linkTypeParts = linkTypePart.split('|')\n\n if (linkTypeParts.length >= 3) {\n const linkTypeName = linkTypeParts[0]\n const inType = linkTypeParts[1]\n const outType = linkTypeParts[2]\n\n // Reconstruct the full linkType in the required format: name|input_type|output_type\n const linkType = `${linkTypeName}|${inType}|${outType}`\n\n // Determine target entity type based on direction\n const targetEntityType = direction === 'out' ? outType : inType\n\n // Create a unique key for this link operation\n const linkUpdateKey = `${entity.id}-${linkType}-${direction}`\n\n linkUpdatesMap.set(linkUpdateKey, {\n rowId: entity.rowId,\n sourceEntityId: entity.id,\n sourceEntityType: entity.type,\n linkType,\n direction: direction as 'in' | 'out',\n targetEntityType,\n operation: method,\n targetEntityIds: Array.isArray(targetEntityIds) ? targetEntityIds : [],\n })\n }\n })\n })\n\n const allLinkUpdates = Array.from(linkUpdatesMap.values())\n\n // Make separate calls to update entities and links\n const updatePromises: Promise<void>[] = []\n\n if (allEntityUpdates.length > 0) {\n updatePromises.push(updateEntities(allEntityUpdates))\n }\n\n if (allLinkUpdates.length > 0) {\n updatePromises.push(pasteTableLinks(allLinkUpdates))\n }\n\n if (updatePromises.length > 0) {\n try {\n await Promise.all(updatePromises)\n } catch (error: any) {\n console.error('Error updating entities:', error)\n clipboardError(`Paste failed: ${error || error?.message || 'Unknown error'}`)\n }\n }\n },\n [\n selectedCells,\n gridMap,\n entitiesMap,\n updateEntities,\n pasteTableLinks,\n columnEnums,\n getEntityById,\n visibleColumns,\n attribFields,\n ],\n )\n\n // Set up keyboard event listeners\n useEffect(() => {\n const handleKeyDown = async (e: KeyboardEvent) => {\n // Copy functionality (Ctrl+C or Command+C)\n if ((e.ctrlKey || e.metaKey) && e.key === 'c') {\n copyToClipboard()\n }\n\n // Paste functionality (Ctrl+V or Command+V)\n if ((e.ctrlKey || e.metaKey) && e.key === 'v') {\n // don't execute paste if focus is inside an input, textarea, or content‐editable element\n const activeEl = document.activeElement as HTMLElement | null\n\n if (\n activeEl &&\n (activeEl.tagName === 'INPUT' ||\n activeEl.tagName === 'TEXTAREA' ||\n activeEl.isContentEditable)\n ) {\n // focus is inside an input, textarea, or content-editable element\n const allEntityIds = await doesClipboardContainId()\n // we might still want to paste if the clipboard contains valid entity IDs\n if (allEntityIds) {\n // prevent pasting into input fields and handle as paste on the cell\n e.preventDefault()\n } else {\n // skip pasting\n return\n }\n }\n pasteFromClipboard(Array.from(selectedCells), {\n method: e.shiftKey ? 'merge' : 'replace', // Use shift key to determine paste method\n })\n }\n }\n\n window.addEventListener('keydown', handleKeyDown)\n return () => {\n window.removeEventListener('keydown', handleKeyDown)\n }\n }, [copyToClipboard, pasteFromClipboard])\n\n const value = useMemo(\n () => ({\n copyToClipboard,\n pasteFromClipboard,\n exportCSV,\n }),\n [copyToClipboard, pasteFromClipboard],\n )\n\n return <ClipboardContext.Provider value={value}>{children}</ClipboardContext.Provider>\n}\n\nexport const useClipboard = (): ClipboardContextType => {\n const context = useContext(ClipboardContext)\n if (context === undefined) {\n throw new Error('useClipboard must be used within a ClipboardProvider')\n }\n return context\n}\n"],"names":["ClipboardContext","createContext","ClipboardProvider","children","entitiesMap","columnEnums","columnReadOnly","visibleColumns","selectedCells","gridMap","focusedCellId","useSelectionCellsContext","updateEntities","useCellEditing","pasteTableLinks","usePasteLinks","getEntityById","attribFields","useProjectTableContext","getSelectionData","useCallback","selected","config","headers","fullRow","visibleColumnIds","col","id","ROW_SELECTION_COLUMN_ID","cellsByRow","cellId","position","parseCellId","rowId","colId","_a","_b","sortedRows","a","b","indexA","indexB","clipboardText","firstRowId","colIds","headerValues","columnName","entity","filteredColIds","rowValues","cellValue","getLinkEntityIdsByColumnId","foundValue","getCellValue","field","f","getEntityPath","error","doesClipboardContainId","getClipboardString","parsedData","parseClipboardText","row","value","v","validateEntityId","copyToClipboard","clipboardError","exportCSV","projectName","blob","url","selectedCount","pasteFromClipboard","method","isSingleCellValue","mapClipboardToVisibleColumns","clipboardRow","clipboardHeaders","mappedValues","header","index","matchingColId","firstRow","selectedColIds","rowIndex","isFolder","getEntityDataById","pasteRowIndex","pasteValue","validateClipboardData","entitiesToUpdateMap","colIndex","isAttrib","isLink","fieldValueType","fieldValue","entityType","_c","firstVisibleColIndex","allGridColumns","startGridPos","clipboardColIndex","pasteColIndex","fieldToUpdate","processedValue","processFieldValue","entityKey","entityData","_link","linkType","inType","outType","direction","allEntityUpdates","linkUpdatesMap","linkKey","targetEntityIds","linkTypePart","linkTypeParts","linkTypeName","targetEntityType","linkUpdateKey","allLinkUpdates","updatePromises","useEffect","handleKeyDown","e","activeEl","useMemo","jsx","useClipboard","context","useContext"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const j=require("../../../../../_virtual/jsx-runtime.cjs.js"),q=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/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/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/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/permissions/getPermissions.cjs.js");require("../../../api/queries/products/createProduct.cjs.js");const b=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");const l=require("../../../api/queries/users/getUsers.cjs.js");require("../../../api/queries/users/updateUsers.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");const D=require("../hooks/useAttributesList.cjs.js"),a=q.createContext(void 0),v=({children:r,projectName:e})=>{const{data:t,isSuccess:P,isFetching:i}=b.useGetProjectQuery({projectName:e},{skip:!e}),{attribFields:s,writableFields:o,isSuccess:d,isFetching:u}=D({projectName:e}),{data:x=[]}=l.useGetUsersAssigneeQuery({projectName:e},{skip:!e}),c=x,n=P&&d&&!i&&!u,g=q.useMemo(()=>({isInitialized:n,isLoading:i||u,projectInfo:t,projectName:e,users:c,attribFields:s,writableFields:o}),[n,i,u,t,e,c,s,o]);return j.jsxRuntimeExports.jsx(a.Provider,{value:g,children:r})},h=()=>{const r=q.useContext(a);if(!r)throw new Error("useProjectDataContext must be used within a ProjectDataProvider");return r};exports.ProjectDataProvider=v;exports.useProjectDataContext=h;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const h=require("../../../../../_virtual/jsx-runtime.cjs.js"),i=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/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/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/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");const D=require("../../../api/queries/permissions/getPermissions.cjs.js");require("../../../api/queries/products/createProduct.cjs.js");const m=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");const v=require("../../../api/queries/users/getUsers.cjs.js");require("../../../api/queries/users/updateUsers.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");const y=require("../hooks/useAttributesList.cjs.js"),f=i.createContext(void 0),C=({children:u,projectName:r})=>{const{data:q,isSuccess:b,isFetching:t}=m.useGetProjectQuery({projectName:r},{skip:!r}),{data:n}=D.useGetMyProjectPermissionsQuery({projectName:r},{skip:!r}),{attrib_write:e}=n||{},{attribFields:o,writableFields:c,isSuccess:g,isFetching:s}=y({projectPermissions:n}),{data:j=[]}=v.useGetUsersAssigneeQuery({projectName:r},{skip:!r}),a=j,l=i.useMemo(()=>e?!e.fields||e.fields.length===0?!e.attributes||e.attributes.length===0:e.fields.includes("name"):!1,[e]),d=i.useMemo(()=>e?!e.fields||e.fields.length===0?!e.attributes||e.attributes.length===0:e.fields.includes("label"):!1,[e]),P=b&&g&&!t&&!s,x=i.useMemo(()=>({isInitialized:P,isLoading:t||s,projectInfo:q,projectName:r,users:a,attribFields:o,writableFields:c,canWriteNamePermission:l,canWriteLabelPermission:d}),[P,t,s,q,r,a,o,c,l,d]);return h.jsxRuntimeExports.jsx(f.Provider,{value:x,children:u})},F=()=>{const u=i.useContext(f);if(!u)throw new Error("useProjectDataContext must be used within a ProjectDataProvider");return u};exports.ProjectDataProvider=C;exports.useProjectDataContext=F;
2
2
  //# sourceMappingURL=ProjectDataContext.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ProjectDataContext.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/context/ProjectDataContext.tsx"],"sourcesContent":["import { createContext, ReactNode, useContext, useMemo } from 'react'\nimport { useGetUsersAssigneeQuery, useGetProjectQuery } from '@shared/api'\nimport type { ProjectModel } from '@shared/api'\nimport useAttributeFields, { ProjectTableAttribute } from '../hooks/useAttributesList'\n\ntype User = {\n name: string\n fullName: string\n}\n\nexport interface ProjectDataContextProps {\n isInitialized: boolean\n isLoading: boolean\n // Project Info\n projectInfo?: ProjectModel\n projectName: string\n users: User[]\n // Attributes\n attribFields: ProjectTableAttribute[]\n writableFields?: string[]\n}\n\nconst ProjectDataContext = createContext<ProjectDataContextProps | undefined>(undefined)\n\ninterface ProjectDataProviderProps {\n children: ReactNode\n projectName: string\n}\n\nexport const ProjectDataProvider = ({ children, projectName }: ProjectDataProviderProps) => {\n // GET PROJECT DATA\n const {\n data: projectInfo,\n isSuccess: isSuccessProject,\n isFetching: isFetchingProject,\n } = useGetProjectQuery({ projectName }, { skip: !projectName })\n\n const {\n attribFields,\n writableFields,\n isSuccess: isSuccessAttribs,\n isFetching: isFetchingAttribs,\n } = useAttributeFields({ projectName })\n\n // GET USERS\n const { data: usersData = [] } = useGetUsersAssigneeQuery({ projectName }, { skip: !projectName })\n const users = usersData as User[]\n\n const isInitialized =\n isSuccessProject && isSuccessAttribs && !isFetchingProject && !isFetchingAttribs\n\n const value = useMemo(\n () => ({\n isInitialized,\n isLoading: isFetchingProject || isFetchingAttribs,\n projectInfo,\n projectName,\n users,\n attribFields,\n writableFields,\n }),\n [\n isInitialized,\n isFetchingProject,\n isFetchingAttribs,\n projectInfo,\n projectName,\n users,\n attribFields,\n writableFields,\n ],\n )\n\n return <ProjectDataContext.Provider value={value}>{children}</ProjectDataContext.Provider>\n}\n\nexport const useProjectDataContext = () => {\n const context = useContext(ProjectDataContext)\n if (!context) {\n throw new Error('useProjectDataContext must be used within a ProjectDataProvider')\n }\n return context\n}\n"],"names":["ProjectDataContext","createContext","ProjectDataProvider","children","projectName","projectInfo","isSuccessProject","isFetchingProject","useGetProjectQuery","attribFields","writableFields","isSuccessAttribs","isFetchingAttribs","useAttributeFields","usersData","useGetUsersAssigneeQuery","users","isInitialized","value","useMemo","jsx","useProjectDataContext","context","useContext"],"mappings":"28IAsBMA,EAAqBC,gBAAmD,MAAS,EAO1EC,EAAsB,CAAC,CAAE,SAAAC,EAAU,YAAAC,KAA4C,CAEpF,KAAA,CACJ,KAAMC,EACN,UAAWC,EACX,WAAYC,CAAA,EACVC,EAAAA,mBAAmB,CAAE,YAAAJ,CAAA,EAAe,CAAE,KAAM,CAACA,EAAa,EAExD,CACJ,aAAAK,EACA,eAAAC,EACA,UAAWC,EACX,WAAYC,CAAA,EACVC,EAAmB,CAAE,YAAAT,EAAa,EAGhC,CAAE,KAAMU,EAAY,CAAA,GAAOC,EAAAA,yBAAyB,CAAE,YAAAX,GAAe,CAAE,KAAM,CAACA,EAAa,EAC3FY,EAAQF,EAERG,EACJX,GAAoBK,GAAoB,CAACJ,GAAqB,CAACK,EAE3DM,EAAQC,EAAA,QACZ,KAAO,CACL,cAAAF,EACA,UAAWV,GAAqBK,EAChC,YAAAP,EACA,YAAAD,EACA,MAAAY,EACA,aAAAP,EACA,eAAAC,CAAA,GAEF,CACEO,EACAV,EACAK,EACAP,EACAD,EACAY,EACAP,EACAC,CAAA,CAEJ,EAEA,OAAQU,EAAAA,kBAAAA,IAAApB,EAAmB,SAAnB,CAA4B,MAAAkB,EAAe,SAAAf,CAAS,CAAA,CAC9D,EAEakB,EAAwB,IAAM,CACnC,MAAAC,EAAUC,aAAWvB,CAAkB,EAC7C,GAAI,CAACsB,EACG,MAAA,IAAI,MAAM,iEAAiE,EAE5E,OAAAA,CACT"}
1
+ {"version":3,"file":"ProjectDataContext.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/context/ProjectDataContext.tsx"],"sourcesContent":["import { createContext, ReactNode, useContext, useMemo } from 'react'\nimport {\n useGetUsersAssigneeQuery,\n useGetProjectQuery,\n useGetMyProjectPermissionsQuery,\n} from '@shared/api'\nimport type { ProjectModel } from '@shared/api'\nimport useAttributeFields, { ProjectTableAttribute } from '../hooks/useAttributesList'\n\ntype User = {\n name: string\n fullName: string\n}\n\nexport interface ProjectDataContextProps {\n isInitialized: boolean\n isLoading: boolean\n // Project Info\n projectInfo?: ProjectModel\n projectName: string\n users: User[]\n // Attributes\n attribFields: ProjectTableAttribute[]\n writableFields?: string[]\n // Permissions\n canWriteNamePermission: boolean\n canWriteLabelPermission: boolean\n}\n\nconst ProjectDataContext = createContext<ProjectDataContextProps | undefined>(undefined)\n\ninterface ProjectDataProviderProps {\n children: ReactNode\n projectName: string\n}\n\nexport const ProjectDataProvider = ({ children, projectName }: ProjectDataProviderProps) => {\n // GET PROJECT DATA\n const {\n data: projectInfo,\n isSuccess: isSuccessProject,\n isFetching: isFetchingProject,\n } = useGetProjectQuery({ projectName }, { skip: !projectName })\n\n // GET PERMISSIONS\n const { data: projectPermissions } = useGetMyProjectPermissionsQuery(\n { projectName },\n { skip: !projectName },\n )\n const { attrib_write } = projectPermissions || {}\n\n const {\n attribFields,\n writableFields,\n isSuccess: isSuccessAttribs,\n isFetching: isFetchingAttribs,\n } = useAttributeFields({ projectPermissions })\n\n // GET USERS\n const { data: usersData = [] } = useGetUsersAssigneeQuery({ projectName }, { skip: !projectName })\n const users = usersData as User[]\n // Calculate individual permissions\n const canWriteNamePermission = useMemo((): boolean => {\n if (!attrib_write) return false\n // Check fields array for entity field permissions (name/label)\n if (!attrib_write.fields || attrib_write.fields.length === 0) {\n // If no fields specified, check if this is admin (empty attributes = unrestricted)\n if (!attrib_write.attributes || attrib_write.attributes.length === 0) return true\n return false // Has other attributes but no field permissions\n }\n return attrib_write.fields.includes('name')\n }, [attrib_write])\n\n const canWriteLabelPermission = useMemo((): boolean => {\n if (!attrib_write) return false\n // Check fields array for entity field permissions (name/label)\n if (!attrib_write.fields || attrib_write.fields.length === 0) {\n // If no fields specified, check if this is admin (empty attributes = unrestricted)\n if (!attrib_write.attributes || attrib_write.attributes.length === 0) return true\n return false // Has other attributes but no field permissions\n }\n return attrib_write.fields.includes('label')\n }, [attrib_write])\n\n const isInitialized =\n isSuccessProject && isSuccessAttribs && !isFetchingProject && !isFetchingAttribs\n\n const value = useMemo(\n () => ({\n isInitialized,\n isLoading: isFetchingProject || isFetchingAttribs,\n projectInfo,\n projectName,\n users,\n attribFields,\n writableFields,\n canWriteNamePermission,\n canWriteLabelPermission,\n }),\n [\n isInitialized,\n isFetchingProject,\n isFetchingAttribs,\n projectInfo,\n projectName,\n users,\n attribFields,\n writableFields,\n canWriteNamePermission,\n canWriteLabelPermission,\n ],\n )\n\n return <ProjectDataContext.Provider value={value}>{children}</ProjectDataContext.Provider>\n}\n\nexport const useProjectDataContext = () => {\n const context = useContext(ProjectDataContext)\n if (!context) {\n throw new Error('useProjectDataContext must be used within a ProjectDataProvider')\n }\n return context\n}\n"],"names":["ProjectDataContext","createContext","ProjectDataProvider","children","projectName","projectInfo","isSuccessProject","isFetchingProject","useGetProjectQuery","projectPermissions","useGetMyProjectPermissionsQuery","attrib_write","attribFields","writableFields","isSuccessAttribs","isFetchingAttribs","useAttributeFields","usersData","useGetUsersAssigneeQuery","users","canWriteNamePermission","useMemo","canWriteLabelPermission","isInitialized","value","jsx","useProjectDataContext","context","useContext"],"mappings":"m9IA6BMA,EAAqBC,gBAAmD,MAAS,EAO1EC,EAAsB,CAAC,CAAE,SAAAC,EAAU,YAAAC,KAA4C,CAEpF,KAAA,CACJ,KAAMC,EACN,UAAWC,EACX,WAAYC,CAAA,EACVC,EAAAA,mBAAmB,CAAE,YAAAJ,CAAA,EAAe,CAAE,KAAM,CAACA,EAAa,EAGxD,CAAE,KAAMK,CAAA,EAAuBC,EAAA,gCACnC,CAAE,YAAAN,CAAY,EACd,CAAE,KAAM,CAACA,CAAY,CACvB,EACM,CAAE,aAAAO,GAAiBF,GAAsB,CAAC,EAE1C,CACJ,aAAAG,EACA,eAAAC,EACA,UAAWC,EACX,WAAYC,CAAA,EACVC,EAAmB,CAAE,mBAAAP,EAAoB,EAGvC,CAAE,KAAMQ,EAAY,CAAA,GAAOC,EAAAA,yBAAyB,CAAE,YAAAd,GAAe,CAAE,KAAM,CAACA,EAAa,EAC3Fe,EAAQF,EAERG,EAAyBC,EAAAA,QAAQ,IAChCV,EAED,CAACA,EAAa,QAAUA,EAAa,OAAO,SAAW,EAErD,CAACA,EAAa,YAAcA,EAAa,WAAW,SAAW,EAG9DA,EAAa,OAAO,SAAS,MAAM,EAPhB,GAQzB,CAACA,CAAY,CAAC,EAEXW,EAA0BD,EAAAA,QAAQ,IACjCV,EAED,CAACA,EAAa,QAAUA,EAAa,OAAO,SAAW,EAErD,CAACA,EAAa,YAAcA,EAAa,WAAW,SAAW,EAG9DA,EAAa,OAAO,SAAS,OAAO,EAPjB,GAQzB,CAACA,CAAY,CAAC,EAEXY,EACJjB,GAAoBQ,GAAoB,CAACP,GAAqB,CAACQ,EAE3DS,EAAQH,EAAA,QACZ,KAAO,CACL,cAAAE,EACA,UAAWhB,GAAqBQ,EAChC,YAAAV,EACA,YAAAD,EACA,MAAAe,EACA,aAAAP,EACA,eAAAC,EACA,uBAAAO,EACA,wBAAAE,CAAA,GAEF,CACEC,EACAhB,EACAQ,EACAV,EACAD,EACAe,EACAP,EACAC,EACAO,EACAE,CAAA,CAEJ,EAEA,OAAQG,EAAAA,kBAAAA,IAAAzB,EAAmB,SAAnB,CAA4B,MAAAwB,EAAe,SAAArB,CAAS,CAAA,CAC9D,EAEauB,EAAwB,IAAM,CACnC,MAAAC,EAAUC,aAAW5B,CAAkB,EAC7C,GAAI,CAAC2B,EACG,MAAA,IAAI,MAAM,iEAAiE,EAE5E,OAAAA,CACT"}
@@ -1,5 +1,5 @@
1
1
  import { j as x } from "../../../../../_virtual/jsx-runtime.es.js";
2
- import { createContext as f, useMemo as F, useContext as b } from "react";
2
+ import { createContext as j, useMemo as m, useContext as F } from "react";
3
3
  import "../../../api/base/client.es.js";
4
4
  import "../../../api/generated/graphql.es.js";
5
5
  import "../../../api/generated/graphqlLinks.es.js";
@@ -63,62 +63,69 @@ import "../../../api/queries/links/getLinks.es.js";
63
63
  import "../../../api/queries/links/getEntityLinks.es.js";
64
64
  import "../../../api/queries/overview/getOverview.es.js";
65
65
  import "../../../api/queries/overview/updateOverview.es.js";
66
- import "../../../api/queries/permissions/getPermissions.es.js";
66
+ import { useGetMyProjectPermissionsQuery as D } from "../../../api/queries/permissions/getPermissions.es.js";
67
67
  import "../../../api/queries/products/createProduct.es.js";
68
- import { useGetProjectQuery as g } from "../../../api/queries/project/getProject.es.js";
68
+ import { useGetProjectQuery as v } from "../../../api/queries/project/getProject.es.js";
69
69
  import "../../../api/queries/project/updateProject.es.js";
70
70
  import "../../../api/queries/review/getReview.es.js";
71
71
  import "../../../api/queries/review/updateReview.es.js";
72
72
  import "../../../api/queries/share/share.es.js";
73
73
  import "../../../api/queries/system/getSystem.es.js";
74
74
  import "../../../api/queries/userDashboard/getUserDashboard.es.js";
75
- import { useGetUsersAssigneeQuery as h } from "../../../api/queries/users/getUsers.es.js";
75
+ import { useGetUsersAssigneeQuery as w } from "../../../api/queries/users/getUsers.es.js";
76
76
  import "../../../api/queries/users/updateUsers.es.js";
77
77
  import "../../../api/queries/versions/updateVersions.es.js";
78
78
  import "../../../api/queries/views/getViews.es.js";
79
79
  import "../../../api/queries/views/updateViews.es.js";
80
80
  import "../../../api/queries/watchers/getWatchers.es.js";
81
- import j from "../hooks/useAttributesList.es.js";
82
- const c = f(void 0), Xt = ({ children: i, projectName: t }) => {
81
+ import C from "../hooks/useAttributesList.es.js";
82
+ const d = j(void 0), Nt = ({ children: r, projectName: i }) => {
83
83
  const {
84
- data: m,
85
- isSuccess: u,
84
+ data: s,
85
+ isSuccess: P,
86
86
  isFetching: o
87
- } = g({ projectName: t }, { skip: !t }), {
88
- attribFields: p,
89
- writableFields: s,
90
- isSuccess: a,
91
- isFetching: r
92
- } = j({ projectName: t }), { data: d = [] } = h({ projectName: t }, { skip: !t }), e = d, n = u && a && !o && !r, P = F(
87
+ } = v({ projectName: i }, { skip: !i }), { data: p } = D(
88
+ { projectName: i },
89
+ { skip: !i }
90
+ ), { attrib_write: t } = p || {}, {
91
+ attribFields: n,
92
+ writableFields: u,
93
+ isSuccess: b,
94
+ isFetching: e
95
+ } = C({ projectPermissions: p }), { data: g = [] } = w({ projectName: i }, { skip: !i }), c = g, a = m(() => t ? !t.fields || t.fields.length === 0 ? !t.attributes || t.attributes.length === 0 : t.fields.includes("name") : !1, [t]), l = m(() => t ? !t.fields || t.fields.length === 0 ? !t.attributes || t.attributes.length === 0 : t.fields.includes("label") : !1, [t]), f = P && b && !o && !e, h = m(
93
96
  () => ({
94
- isInitialized: n,
95
- isLoading: o || r,
96
- projectInfo: m,
97
- projectName: t,
98
- users: e,
99
- attribFields: p,
100
- writableFields: s
97
+ isInitialized: f,
98
+ isLoading: o || e,
99
+ projectInfo: s,
100
+ projectName: i,
101
+ users: c,
102
+ attribFields: n,
103
+ writableFields: u,
104
+ canWriteNamePermission: a,
105
+ canWriteLabelPermission: l
101
106
  }),
102
107
  [
103
- n,
108
+ f,
104
109
  o,
105
- r,
106
- m,
107
- t,
108
110
  e,
109
- p,
110
- s
111
+ s,
112
+ i,
113
+ c,
114
+ n,
115
+ u,
116
+ a,
117
+ l
111
118
  ]
112
119
  );
113
- return /* @__PURE__ */ x.jsx(c.Provider, { value: P, children: i });
114
- }, Yt = () => {
115
- const i = b(c);
116
- if (!i)
120
+ return /* @__PURE__ */ x.jsx(d.Provider, { value: h, children: r });
121
+ }, ti = () => {
122
+ const r = F(d);
123
+ if (!r)
117
124
  throw new Error("useProjectDataContext must be used within a ProjectDataProvider");
118
- return i;
125
+ return r;
119
126
  };
120
127
  export {
121
- Xt as ProjectDataProvider,
122
- Yt as useProjectDataContext
128
+ Nt as ProjectDataProvider,
129
+ ti as useProjectDataContext
123
130
  };
124
131
  //# sourceMappingURL=ProjectDataContext.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ProjectDataContext.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/context/ProjectDataContext.tsx"],"sourcesContent":["import { createContext, ReactNode, useContext, useMemo } from 'react'\nimport { useGetUsersAssigneeQuery, useGetProjectQuery } from '@shared/api'\nimport type { ProjectModel } from '@shared/api'\nimport useAttributeFields, { ProjectTableAttribute } from '../hooks/useAttributesList'\n\ntype User = {\n name: string\n fullName: string\n}\n\nexport interface ProjectDataContextProps {\n isInitialized: boolean\n isLoading: boolean\n // Project Info\n projectInfo?: ProjectModel\n projectName: string\n users: User[]\n // Attributes\n attribFields: ProjectTableAttribute[]\n writableFields?: string[]\n}\n\nconst ProjectDataContext = createContext<ProjectDataContextProps | undefined>(undefined)\n\ninterface ProjectDataProviderProps {\n children: ReactNode\n projectName: string\n}\n\nexport const ProjectDataProvider = ({ children, projectName }: ProjectDataProviderProps) => {\n // GET PROJECT DATA\n const {\n data: projectInfo,\n isSuccess: isSuccessProject,\n isFetching: isFetchingProject,\n } = useGetProjectQuery({ projectName }, { skip: !projectName })\n\n const {\n attribFields,\n writableFields,\n isSuccess: isSuccessAttribs,\n isFetching: isFetchingAttribs,\n } = useAttributeFields({ projectName })\n\n // GET USERS\n const { data: usersData = [] } = useGetUsersAssigneeQuery({ projectName }, { skip: !projectName })\n const users = usersData as User[]\n\n const isInitialized =\n isSuccessProject && isSuccessAttribs && !isFetchingProject && !isFetchingAttribs\n\n const value = useMemo(\n () => ({\n isInitialized,\n isLoading: isFetchingProject || isFetchingAttribs,\n projectInfo,\n projectName,\n users,\n attribFields,\n writableFields,\n }),\n [\n isInitialized,\n isFetchingProject,\n isFetchingAttribs,\n projectInfo,\n projectName,\n users,\n attribFields,\n writableFields,\n ],\n )\n\n return <ProjectDataContext.Provider value={value}>{children}</ProjectDataContext.Provider>\n}\n\nexport const useProjectDataContext = () => {\n const context = useContext(ProjectDataContext)\n if (!context) {\n throw new Error('useProjectDataContext must be used within a ProjectDataProvider')\n }\n return context\n}\n"],"names":["ProjectDataContext","createContext","ProjectDataProvider","children","projectName","projectInfo","isSuccessProject","isFetchingProject","useGetProjectQuery","attribFields","writableFields","isSuccessAttribs","isFetchingAttribs","useAttributeFields","usersData","useGetUsersAssigneeQuery","users","isInitialized","value","useMemo","jsx","useProjectDataContext","context","useContext"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsBA,MAAMA,IAAqBC,EAAmD,MAAS,GAO1EC,KAAsB,CAAC,EAAE,UAAAC,GAAU,aAAAC,QAA4C;AAEpF,QAAA;AAAA,IACJ,MAAMC;AAAA,IACN,WAAWC;AAAA,IACX,YAAYC;AAAA,EAAA,IACVC,EAAmB,EAAE,aAAAJ,EAAA,GAAe,EAAE,MAAM,CAACA,GAAa,GAExD;AAAA,IACJ,cAAAK;AAAA,IACA,gBAAAC;AAAA,IACA,WAAWC;AAAA,IACX,YAAYC;AAAA,EAAA,IACVC,EAAmB,EAAE,aAAAT,GAAa,GAGhC,EAAE,MAAMU,IAAY,CAAA,MAAOC,EAAyB,EAAE,aAAAX,KAAe,EAAE,MAAM,CAACA,GAAa,GAC3FY,IAAQF,GAERG,IACJX,KAAoBK,KAAoB,CAACJ,KAAqB,CAACK,GAE3DM,IAAQC;AAAA,IACZ,OAAO;AAAA,MACL,eAAAF;AAAA,MACA,WAAWV,KAAqBK;AAAA,MAChC,aAAAP;AAAA,MACA,aAAAD;AAAA,MACA,OAAAY;AAAA,MACA,cAAAP;AAAA,MACA,gBAAAC;AAAA,IAAA;AAAA,IAEF;AAAA,MACEO;AAAA,MACAV;AAAA,MACAK;AAAA,MACAP;AAAA,MACAD;AAAA,MACAY;AAAA,MACAP;AAAA,MACAC;AAAA,IAAA;AAAA,EAEJ;AAEA,SAAQU,gBAAAA,EAAAA,IAAApB,EAAmB,UAAnB,EAA4B,OAAAkB,GAAe,UAAAf,EAAS,CAAA;AAC9D,GAEakB,KAAwB,MAAM;AACnC,QAAAC,IAAUC,EAAWvB,CAAkB;AAC7C,MAAI,CAACsB;AACG,UAAA,IAAI,MAAM,iEAAiE;AAE5E,SAAAA;AACT;"}
1
+ {"version":3,"file":"ProjectDataContext.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/context/ProjectDataContext.tsx"],"sourcesContent":["import { createContext, ReactNode, useContext, useMemo } from 'react'\nimport {\n useGetUsersAssigneeQuery,\n useGetProjectQuery,\n useGetMyProjectPermissionsQuery,\n} from '@shared/api'\nimport type { ProjectModel } from '@shared/api'\nimport useAttributeFields, { ProjectTableAttribute } from '../hooks/useAttributesList'\n\ntype User = {\n name: string\n fullName: string\n}\n\nexport interface ProjectDataContextProps {\n isInitialized: boolean\n isLoading: boolean\n // Project Info\n projectInfo?: ProjectModel\n projectName: string\n users: User[]\n // Attributes\n attribFields: ProjectTableAttribute[]\n writableFields?: string[]\n // Permissions\n canWriteNamePermission: boolean\n canWriteLabelPermission: boolean\n}\n\nconst ProjectDataContext = createContext<ProjectDataContextProps | undefined>(undefined)\n\ninterface ProjectDataProviderProps {\n children: ReactNode\n projectName: string\n}\n\nexport const ProjectDataProvider = ({ children, projectName }: ProjectDataProviderProps) => {\n // GET PROJECT DATA\n const {\n data: projectInfo,\n isSuccess: isSuccessProject,\n isFetching: isFetchingProject,\n } = useGetProjectQuery({ projectName }, { skip: !projectName })\n\n // GET PERMISSIONS\n const { data: projectPermissions } = useGetMyProjectPermissionsQuery(\n { projectName },\n { skip: !projectName },\n )\n const { attrib_write } = projectPermissions || {}\n\n const {\n attribFields,\n writableFields,\n isSuccess: isSuccessAttribs,\n isFetching: isFetchingAttribs,\n } = useAttributeFields({ projectPermissions })\n\n // GET USERS\n const { data: usersData = [] } = useGetUsersAssigneeQuery({ projectName }, { skip: !projectName })\n const users = usersData as User[]\n // Calculate individual permissions\n const canWriteNamePermission = useMemo((): boolean => {\n if (!attrib_write) return false\n // Check fields array for entity field permissions (name/label)\n if (!attrib_write.fields || attrib_write.fields.length === 0) {\n // If no fields specified, check if this is admin (empty attributes = unrestricted)\n if (!attrib_write.attributes || attrib_write.attributes.length === 0) return true\n return false // Has other attributes but no field permissions\n }\n return attrib_write.fields.includes('name')\n }, [attrib_write])\n\n const canWriteLabelPermission = useMemo((): boolean => {\n if (!attrib_write) return false\n // Check fields array for entity field permissions (name/label)\n if (!attrib_write.fields || attrib_write.fields.length === 0) {\n // If no fields specified, check if this is admin (empty attributes = unrestricted)\n if (!attrib_write.attributes || attrib_write.attributes.length === 0) return true\n return false // Has other attributes but no field permissions\n }\n return attrib_write.fields.includes('label')\n }, [attrib_write])\n\n const isInitialized =\n isSuccessProject && isSuccessAttribs && !isFetchingProject && !isFetchingAttribs\n\n const value = useMemo(\n () => ({\n isInitialized,\n isLoading: isFetchingProject || isFetchingAttribs,\n projectInfo,\n projectName,\n users,\n attribFields,\n writableFields,\n canWriteNamePermission,\n canWriteLabelPermission,\n }),\n [\n isInitialized,\n isFetchingProject,\n isFetchingAttribs,\n projectInfo,\n projectName,\n users,\n attribFields,\n writableFields,\n canWriteNamePermission,\n canWriteLabelPermission,\n ],\n )\n\n return <ProjectDataContext.Provider value={value}>{children}</ProjectDataContext.Provider>\n}\n\nexport const useProjectDataContext = () => {\n const context = useContext(ProjectDataContext)\n if (!context) {\n throw new Error('useProjectDataContext must be used within a ProjectDataProvider')\n }\n return context\n}\n"],"names":["ProjectDataContext","createContext","ProjectDataProvider","children","projectName","projectInfo","isSuccessProject","isFetchingProject","useGetProjectQuery","projectPermissions","useGetMyProjectPermissionsQuery","attrib_write","attribFields","writableFields","isSuccessAttribs","isFetchingAttribs","useAttributeFields","usersData","useGetUsersAssigneeQuery","users","canWriteNamePermission","useMemo","canWriteLabelPermission","isInitialized","value","jsx","useProjectDataContext","context","useContext"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6BA,MAAMA,IAAqBC,EAAmD,MAAS,GAO1EC,KAAsB,CAAC,EAAE,UAAAC,GAAU,aAAAC,QAA4C;AAEpF,QAAA;AAAA,IACJ,MAAMC;AAAA,IACN,WAAWC;AAAA,IACX,YAAYC;AAAA,EAAA,IACVC,EAAmB,EAAE,aAAAJ,EAAA,GAAe,EAAE,MAAM,CAACA,GAAa,GAGxD,EAAE,MAAMK,EAAA,IAAuBC;AAAA,IACnC,EAAE,aAAAN,EAAY;AAAA,IACd,EAAE,MAAM,CAACA,EAAY;AAAA,EACvB,GACM,EAAE,cAAAO,MAAiBF,KAAsB,CAAC,GAE1C;AAAA,IACJ,cAAAG;AAAA,IACA,gBAAAC;AAAA,IACA,WAAWC;AAAA,IACX,YAAYC;AAAA,EAAA,IACVC,EAAmB,EAAE,oBAAAP,GAAoB,GAGvC,EAAE,MAAMQ,IAAY,CAAA,MAAOC,EAAyB,EAAE,aAAAd,KAAe,EAAE,MAAM,CAACA,GAAa,GAC3Fe,IAAQF,GAERG,IAAyBC,EAAQ,MAChCV,IAED,CAACA,EAAa,UAAUA,EAAa,OAAO,WAAW,IAErD,CAACA,EAAa,cAAcA,EAAa,WAAW,WAAW,IAG9DA,EAAa,OAAO,SAAS,MAAM,IAPhB,IAQzB,CAACA,CAAY,CAAC,GAEXW,IAA0BD,EAAQ,MACjCV,IAED,CAACA,EAAa,UAAUA,EAAa,OAAO,WAAW,IAErD,CAACA,EAAa,cAAcA,EAAa,WAAW,WAAW,IAG9DA,EAAa,OAAO,SAAS,OAAO,IAPjB,IAQzB,CAACA,CAAY,CAAC,GAEXY,IACJjB,KAAoBQ,KAAoB,CAACP,KAAqB,CAACQ,GAE3DS,IAAQH;AAAA,IACZ,OAAO;AAAA,MACL,eAAAE;AAAA,MACA,WAAWhB,KAAqBQ;AAAA,MAChC,aAAAV;AAAA,MACA,aAAAD;AAAA,MACA,OAAAe;AAAA,MACA,cAAAP;AAAA,MACA,gBAAAC;AAAA,MACA,wBAAAO;AAAA,MACA,yBAAAE;AAAA,IAAA;AAAA,IAEF;AAAA,MACEC;AAAA,MACAhB;AAAA,MACAQ;AAAA,MACAV;AAAA,MACAD;AAAA,MACAe;AAAA,MACAP;AAAA,MACAC;AAAA,MACAO;AAAA,MACAE;AAAA,IAAA;AAAA,EAEJ;AAEA,SAAQG,gBAAAA,EAAAA,IAAAzB,EAAmB,UAAnB,EAA4B,OAAAwB,GAAe,UAAArB,EAAS,CAAA;AAC9D,GAEauB,KAAwB,MAAM;AACnC,QAAAC,IAAUC,EAAW5B,CAAkB;AAC7C,MAAI,CAAC2B;AACG,UAAA,IAAI,MAAM,iEAAiE;AAE5E,SAAAA;AACT;"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const K=require("../../../../../_virtual/jsx-runtime.cjs.js"),t=require("react"),q=require("../utils/cellUtils.cjs.js"),Q=require("../ProjectTreeTable.cjs.js"),p=require("./SelectionCellsContext.cjs.js");require("lodash");require("react-toastify");require("uuid");require("../../../util/pubsub.cjs.js");require("./ProjectTableQueriesContext.cjs.js");require("./ProjectTableContext.cjs.js");require("@ynput/ayon-react-components");;/* empty css */require("clsx");require("../../ContextMenu/ContextMenuContext.cjs.js");require("./ClipboardContext.cjs.js");require("./CellEditingContext.cjs.js");require("@tanstack/react-table");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/ThumbnailSimple/ThumbnailSimple.cjs.js");require("../../../components/EmptyPlaceholder/EmptyPlaceholder.cjs.js");require("../../../components/EmptyPlaceholder/EmptyPlaceholderFlex.styled.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/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/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/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/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/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("@dnd-kit/core");require("@dnd-kit/sortable");require("../../../components/ReviewablesList/ReviewablesList.styled.cjs.js");require("../../../components/ReviewablesList/ReviewablesUpload.styled.cjs.js");require("axios");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("../../../components/ReviewableCard/ReviewableCard.cjs.js");require("../../../components/ReviewableProgressCard/ReviewableProgressCard.styled.cjs.js");require("../../../components/FileThumbnail/FileThumbnail.cjs.js");require("../../../components/Thumbnail/Thumbnail.styled.cjs.js");require("../../../components/Thumbnail/StackedThumbnails.cjs.js");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/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("./ColumnSettingsContext.cjs.js");require("./SelectedRowsContext.cjs.js");require("./DetailsPanelEntityContext.cjs.js");require("./ProjectDataContext.cjs.js");require("../components/HeaderActionButton.cjs.js");require("../components/RowSelectionHeader.cjs.js");require("../components/SelectionCell.cjs.js");require("../components/ColumnHeaderMenu.cjs.js");require("../../DetailsPanel/DetailsPanel.styled.cjs.js");require("../../../../../_virtual/runtime.cjs.js");require("../../../../../_virtual/semver.cjs.js");require("react-redux");require("custom-protocol-check");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("../../../components/SimpleFormDialog/SimpleFormDialog.cjs.js");require("../../../components/EntityPath/EntityPath.styled.cjs.js");require("../../../components/EntityPath/SegmentProvider.cjs.js");require("../../../components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js");require("../../../components/Watchers/Watchers.cjs.js");require("../../../components/ProjectTableSettings/ProjectTableSettings.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/RequiredPowerpackVersion.cjs.js");require("../../../components/SettingsPanel/SettingsPanel.cjs.js");require("../../../components/SettingsPanel/SettingsPanelItemTemplate.cjs.js");require("../../../components/AttributeEditor/components/MinMaxField.cjs.js");require("../../../components/EnumEditor/EnumEditor.styled.cjs.js");require("../../../components/SearchFilter/filterDates.cjs.js");require("../../../components/Badge/Badge.cjs.js");require("../../../components/VersionUploader/components/UploadVersionDialog.cjs.js");require("../../../components/VersionUploader/context/VersionUploadContext.cjs.js");require("../../../components/Feedback/FeedbackContext.cjs.js");require("../../../components/Feedback/SupportBubble.cjs.js");require("../../../components/Chips/Chips.cjs.js");require("../../../components/LinksManager/LinksManager.styled.cjs.js");require("../../EntityPickerDialog/EntityPickerDialog.cjs.js");require("../../../components/DetailsMetaData/DetailsMetaData.cjs.js");require("../../../components/AccessUser/AccessUser.cjs.js");require("../../../components/LinksManager/LinksManagerDialog.cjs.js");require("../ProjectTreeTable.styled.cjs.js");require("../widgets/LoadMoreWidget.cjs.js");require("../components/GroupSettingsFallback.cjs.js");const X=require("../hooks/useCheckSelectedCellsVisible.cjs.js"),Y=({children:F})=>{const[n,I]=t.useState(new Set),[f,d]=t.useState(null),[T,k]=t.useState(!1),[w,S]=t.useState(null),[g,z]=t.useState({rowIdToIndex:new Map,colIdToIndex:new Map,indexToRowId:new Map,indexToColId:new Map}),m=e=>JSON.stringify(Array.from(e.entries())),s=t.useMemo(()=>g,[m(g.rowIdToIndex),m(g.colIdToIndex),m(g.indexToRowId),m(g.indexToColId)]),O=t.useRef(!1),P=t.useMemo(()=>Array.from(n).filter(e=>{var r,u;return((r=q.parseCellId(e))==null?void 0:r.colId)===p.ROW_SELECTION_COLUMN_ID&&((u=q.parseCellId(e))==null?void 0:u.rowId)}).map(e=>{var r;return(r=q.parseCellId(e))==null?void 0:r.rowId}),[n]);X.useCheckSelectedCellsVisible({selectedCells:n,setSelectedCells:I,focusedCellId:f,setFocusedCellId:d});const _=t.useCallback((e,r)=>{const u=new Map,o=new Map,i=new Map,l=new Map;e.forEach((c,a)=>{u.set(c,a),i.set(a,c)}),r.forEach((c,a)=>{o.set(c,a),l.set(a,c)}),z({rowIdToIndex:u,colIdToIndex:o,indexToRowId:i,indexToColId:l})},[]),C=t.useCallback((e,r)=>{I(u=>{let o=new Set(e);if(r.colId!==p.ROW_SELECTION_COLUMN_ID&&r.colId!==Q.DRAG_HANDLE_COLUMN_ID){const i=Array.from(u).filter(l=>{var c;return((c=q.parseCellId(l))==null?void 0:c.colId)===p.ROW_SELECTION_COLUMN_ID});i.length&&(o=new Set([...o,...i]))}return o})},[]),M=t.useCallback((e,r,u)=>{u||C(new Set,e);const o=s.rowIdToIndex.get(e.rowId)??0,i=s.colIdToIndex.get(e.colId)??0,l=s.rowIdToIndex.get(r.rowId)??0,c=s.colIdToIndex.get(r.colId)??0,a=Math.min(o,l),x=Math.max(o,l),H=Math.min(i,c),J=Math.max(i,c),v=new Set(u?n:[]);for(let R=a;R<=x;R++){const G=s.indexToRowId.get(R);if(G)for(let b=H;b<=J;b++){const W=s.indexToColId.get(b);W&&v.add(q.getCellId(G,W))}}return v},[s,n,C]),E=t.useCallback((e,r)=>{const u=q.parseCellId(e);u&&(k(!0),O.current=n.has(e),r?I(o=>{const i=new Set(o);return i.has(e)?(i.delete(e),f===e&&(i.size>0?d(Array.from(i)[Array.from(i).length-1]):d(null))):(i.add(e),d(e),S(u)),i}):n.size===1&&n.has(e)&&[p.ROW_SELECTION_COLUMN_ID,"name"].includes(u.colId)?(I(new Set),S(null),d(null)):(C(new Set([e]),u),S(u),d(e)))},[n,f,C]),N=t.useCallback((e,r)=>{if(!T||!w)return;const u=q.parseCellId(e);if(u)if(r)I(o=>{const i=new Set(o);return q.parseCellId(e)&&(O.current?i.delete(e):i.add(e)),i});else{const o=M(w,u,!1);C(o,u)}},[T,w,M,C]),L=t.useCallback(()=>{k(!1)},[]),y=t.useCallback((e,r,u)=>{const o=q.parseCellId(e);if(o)if(u&&w){const i=M(w,o,r);C(i,o)}else r?I(i=>{const l=new Set(i);return l.has(e)?l.delete(e):l.add(e),l}):(C(new Set([e]),o),S(o))},[w,M,C]),A=t.useCallback(e=>{d(e)},[]),B=t.useCallback(()=>{I(new Set),S(null),d(null)},[]),h=t.useCallback(e=>n.has(e),[n]),D=t.useCallback(e=>e===f,[f]),U=t.useCallback(e=>q.parseCellId(e),[]),j=t.useCallback(e=>{if(!h(e))return[];const r=q.parseCellId(e);if(!r)return[];const u=s.rowIdToIndex.get(r.rowId),o=s.colIdToIndex.get(r.colId);if(u===void 0||o===void 0)return[];const i=s.indexToRowId.get(u-1),l=s.indexToColId.get(o+1),c=s.indexToRowId.get(u+1),a=s.indexToColId.get(o-1);let x=q.BorderPosition.None;return(!i||!n.has(q.getCellId(i,r.colId)))&&(x|=q.BorderPosition.Top),(!l||!n.has(q.getCellId(r.rowId,l)))&&(x|=q.BorderPosition.Right),(!c||!n.has(q.getCellId(c,r.colId)))&&(x|=q.BorderPosition.Bottom),(!a||!n.has(q.getCellId(r.rowId,a)))&&(x|=q.BorderPosition.Left),q.getBorderClasses(x)},[n,s,h]),V=t.useMemo(()=>({selectedCells:n,selectedRows:P,focusedCellId:f,selectionInProgress:T,anchorCell:w,gridMap:s,setSelectedCells:I,setFocusedCellId:d,setAnchorCell:S,registerGrid:_,selectCell:y,startSelection:E,extendSelection:N,endSelection:L,focusCell:A,clearSelection:B,isCellSelected:h,isCellFocused:D,getCellPositionFromId:U,getCellBorderClasses:j}),[n,P,f,T,w,s,I,d,S,_,y,E,N,L,A,B,h,D,U,j]);return K.jsxRuntimeExports.jsx(p.SelectionCellsContext.Provider,{value:V,children:F})};exports.SelectionCellsProvider=Y;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const K=require("../../../../../_virtual/jsx-runtime.cjs.js"),t=require("react"),q=require("../utils/cellUtils.cjs.js"),Q=require("../ProjectTreeTable.cjs.js"),p=require("./SelectionCellsContext.cjs.js");require("lodash");require("react-toastify");require("uuid");require("../../../util/pubsub.cjs.js");require("./ProjectTableQueriesContext.cjs.js");require("./ProjectTableContext.cjs.js");require("@ynput/ayon-react-components");;/* empty css */require("clsx");require("../../ContextMenu/ContextMenuContext.cjs.js");require("./ClipboardContext.cjs.js");require("./ProjectDataContext.cjs.js");require("./CellEditingContext.cjs.js");require("@tanstack/react-table");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/ThumbnailSimple/ThumbnailSimple.cjs.js");require("../../../components/EmptyPlaceholder/EmptyPlaceholder.cjs.js");require("../../../components/EmptyPlaceholder/EmptyPlaceholderFlex.styled.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/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/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/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/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/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("@dnd-kit/core");require("@dnd-kit/sortable");require("../../../components/ReviewablesList/ReviewablesList.styled.cjs.js");require("../../../components/ReviewablesList/ReviewablesUpload.styled.cjs.js");require("axios");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("../../../components/ReviewableCard/ReviewableCard.cjs.js");require("../../../components/ReviewableProgressCard/ReviewableProgressCard.styled.cjs.js");require("../../../components/FileThumbnail/FileThumbnail.cjs.js");require("../../../components/Thumbnail/Thumbnail.styled.cjs.js");require("../../../components/Thumbnail/StackedThumbnails.cjs.js");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/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("./ColumnSettingsContext.cjs.js");require("./SelectedRowsContext.cjs.js");require("./DetailsPanelEntityContext.cjs.js");require("../components/HeaderActionButton.cjs.js");require("../components/RowSelectionHeader.cjs.js");require("../components/SelectionCell.cjs.js");require("../components/ColumnHeaderMenu.cjs.js");require("../../DetailsPanel/DetailsPanel.styled.cjs.js");require("../../../../../_virtual/runtime.cjs.js");require("../../../../../_virtual/semver.cjs.js");require("react-redux");require("custom-protocol-check");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("../../../components/SimpleFormDialog/SimpleFormDialog.cjs.js");require("../../../components/EntityPath/EntityPath.styled.cjs.js");require("../../../components/EntityPath/SegmentProvider.cjs.js");require("../../../components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js");require("../../../components/DetailsPanelDetails/DetailsPanelDetails.cjs.js");require("../../../components/DetailsPanelDetails/FieldLabel.cjs.js");require("../../../components/Watchers/Watchers.cjs.js");require("../../../components/ProjectTableSettings/ProjectTableSettings.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/SettingsPanel/SettingsPanel.cjs.js");require("../../../components/SettingsPanel/SettingsPanelItemTemplate.cjs.js");require("../../../components/AttributeEditor/components/MinMaxField.cjs.js");require("../../../components/EnumEditor/EnumEditor.styled.cjs.js");require("../../../components/SearchFilter/filterDates.cjs.js");require("../../../components/Badge/Badge.cjs.js");require("../../../components/VersionUploader/components/UploadVersionDialog.cjs.js");require("../../../components/VersionUploader/context/VersionUploadContext.cjs.js");require("../../../components/Feedback/FeedbackContext.cjs.js");require("../../../components/Feedback/SupportBubble.cjs.js");require("../../../components/Chips/Chips.cjs.js");require("../../../components/LinksManager/LinksManager.styled.cjs.js");require("../../EntityPickerDialog/EntityPickerDialog.cjs.js");require("../../../components/StyledLink/StyledLink.cjs.js");require("../../../components/LinksManager/CellEditingDialog.cjs.js");require("../ProjectTreeTable.styled.cjs.js");require("../widgets/LoadMoreWidget.cjs.js");require("../components/GroupSettingsFallback.cjs.js");const X=require("../hooks/useCheckSelectedCellsVisible.cjs.js"),Y=({children:F})=>{const[n,I]=t.useState(new Set),[f,d]=t.useState(null),[T,k]=t.useState(!1),[w,S]=t.useState(null),[g,z]=t.useState({rowIdToIndex:new Map,colIdToIndex:new Map,indexToRowId:new Map,indexToColId:new Map}),m=e=>JSON.stringify(Array.from(e.entries())),s=t.useMemo(()=>g,[m(g.rowIdToIndex),m(g.colIdToIndex),m(g.indexToRowId),m(g.indexToColId)]),O=t.useRef(!1),P=t.useMemo(()=>Array.from(n).filter(e=>{var r,u;return((r=q.parseCellId(e))==null?void 0:r.colId)===p.ROW_SELECTION_COLUMN_ID&&((u=q.parseCellId(e))==null?void 0:u.rowId)}).map(e=>{var r;return(r=q.parseCellId(e))==null?void 0:r.rowId}),[n]);X.useCheckSelectedCellsVisible({selectedCells:n,setSelectedCells:I,focusedCellId:f,setFocusedCellId:d});const _=t.useCallback((e,r)=>{const u=new Map,o=new Map,i=new Map,l=new Map;e.forEach((c,a)=>{u.set(c,a),i.set(a,c)}),r.forEach((c,a)=>{o.set(c,a),l.set(a,c)}),z({rowIdToIndex:u,colIdToIndex:o,indexToRowId:i,indexToColId:l})},[]),C=t.useCallback((e,r)=>{I(u=>{let o=new Set(e);if(r.colId!==p.ROW_SELECTION_COLUMN_ID&&r.colId!==Q.DRAG_HANDLE_COLUMN_ID){const i=Array.from(u).filter(l=>{var c;return((c=q.parseCellId(l))==null?void 0:c.colId)===p.ROW_SELECTION_COLUMN_ID});i.length&&(o=new Set([...o,...i]))}return o})},[]),M=t.useCallback((e,r,u)=>{u||C(new Set,e);const o=s.rowIdToIndex.get(e.rowId)??0,i=s.colIdToIndex.get(e.colId)??0,l=s.rowIdToIndex.get(r.rowId)??0,c=s.colIdToIndex.get(r.colId)??0,a=Math.min(o,l),x=Math.max(o,l),H=Math.min(i,c),J=Math.max(i,c),v=new Set(u?n:[]);for(let R=a;R<=x;R++){const G=s.indexToRowId.get(R);if(G)for(let b=H;b<=J;b++){const W=s.indexToColId.get(b);W&&v.add(q.getCellId(G,W))}}return v},[s,n,C]),E=t.useCallback((e,r)=>{const u=q.parseCellId(e);u&&(k(!0),O.current=n.has(e),r?I(o=>{const i=new Set(o);return i.has(e)?(i.delete(e),f===e&&(i.size>0?d(Array.from(i)[Array.from(i).length-1]):d(null))):(i.add(e),d(e),S(u)),i}):n.size===1&&n.has(e)&&[p.ROW_SELECTION_COLUMN_ID,"name"].includes(u.colId)?(I(new Set),S(null),d(null)):(C(new Set([e]),u),S(u),d(e)))},[n,f,C]),N=t.useCallback((e,r)=>{if(!T||!w)return;const u=q.parseCellId(e);if(u)if(r)I(o=>{const i=new Set(o);return q.parseCellId(e)&&(O.current?i.delete(e):i.add(e)),i});else{const o=M(w,u,!1);C(o,u)}},[T,w,M,C]),L=t.useCallback(()=>{k(!1)},[]),y=t.useCallback((e,r,u)=>{const o=q.parseCellId(e);if(o)if(u&&w){const i=M(w,o,r);C(i,o)}else r?I(i=>{const l=new Set(i);return l.has(e)?l.delete(e):l.add(e),l}):(C(new Set([e]),o),S(o))},[w,M,C]),A=t.useCallback(e=>{d(e)},[]),B=t.useCallback(()=>{I(new Set),S(null),d(null)},[]),h=t.useCallback(e=>n.has(e),[n]),D=t.useCallback(e=>e===f,[f]),U=t.useCallback(e=>q.parseCellId(e),[]),j=t.useCallback(e=>{if(!h(e))return[];const r=q.parseCellId(e);if(!r)return[];const u=s.rowIdToIndex.get(r.rowId),o=s.colIdToIndex.get(r.colId);if(u===void 0||o===void 0)return[];const i=s.indexToRowId.get(u-1),l=s.indexToColId.get(o+1),c=s.indexToRowId.get(u+1),a=s.indexToColId.get(o-1);let x=q.BorderPosition.None;return(!i||!n.has(q.getCellId(i,r.colId)))&&(x|=q.BorderPosition.Top),(!l||!n.has(q.getCellId(r.rowId,l)))&&(x|=q.BorderPosition.Right),(!c||!n.has(q.getCellId(c,r.colId)))&&(x|=q.BorderPosition.Bottom),(!a||!n.has(q.getCellId(r.rowId,a)))&&(x|=q.BorderPosition.Left),q.getBorderClasses(x)},[n,s,h]),V=t.useMemo(()=>({selectedCells:n,selectedRows:P,focusedCellId:f,selectionInProgress:T,anchorCell:w,gridMap:s,setSelectedCells:I,setFocusedCellId:d,setAnchorCell:S,registerGrid:_,selectCell:y,startSelection:E,extendSelection:N,endSelection:L,focusCell:A,clearSelection:B,isCellSelected:h,isCellFocused:D,getCellPositionFromId:U,getCellBorderClasses:j}),[n,P,f,T,w,s,I,d,S,_,y,E,N,L,A,B,h,D,U,j]);return K.jsxRuntimeExports.jsx(p.SelectionCellsContext.Provider,{value:V,children:F})};exports.SelectionCellsProvider=Y;
2
2
  //# sourceMappingURL=SelectionCellsProvider.cjs.js.map