@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":"SelectionCellsProvider.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/context/SelectionCellsProvider.tsx"],"sourcesContent":["import React, { useState, useCallback, useMemo, ReactNode, useRef } from 'react'\nimport {\n CellId,\n RowId,\n ColId,\n CellPosition,\n getCellId,\n parseCellId,\n BorderPosition,\n getBorderClasses,\n} from '../utils/cellUtils'\nimport { DRAG_HANDLE_COLUMN_ID } from '../ProjectTreeTable'\nimport { SelectionCellsContext, GridMap, ROW_SELECTION_COLUMN_ID } from './SelectionCellsContext'\nimport { useCheckSelectedCellsVisible } from '../hooks'\n\nexport const SelectionCellsProvider: React.FC<{ children: ReactNode }> = ({ children }) => {\n const [selectedCells, setSelectedCells] = useState<Set<CellId>>(new Set())\n const [focusedCellId, setFocusedCellId] = useState<CellId | null>(null)\n const [selectionInProgress, setSelectionInProgress] = useState<boolean>(false)\n const [anchorCell, setAnchorCell] = useState<CellPosition | null>(null)\n const [gridMap, setGridMap] = useState<GridMap>({\n rowIdToIndex: new Map(),\n colIdToIndex: new Map(),\n indexToRowId: new Map(),\n indexToColId: new Map(),\n })\n const mapToString = (map: Map<any, any>) => {\n return JSON.stringify(Array.from(map.entries()))\n }\n\n const stableGridMap = useMemo(\n () => gridMap,\n [\n mapToString(gridMap.rowIdToIndex),\n mapToString(gridMap.colIdToIndex),\n mapToString(gridMap.indexToRowId),\n mapToString(gridMap.indexToColId),\n ],\n )\n // Track whether we're selecting or unselecting during drag\n const initialCellSelected = useRef<boolean>(false)\n\n const selectedRows = useMemo(\n () =>\n Array.from(selectedCells)\n .filter(\n (cellId) =>\n parseCellId(cellId)?.colId === ROW_SELECTION_COLUMN_ID && parseCellId(cellId)?.rowId,\n )\n .map((cellId) => parseCellId(cellId)?.rowId) as string[],\n [selectedCells],\n )\n\n useCheckSelectedCellsVisible({\n selectedCells,\n setSelectedCells,\n focusedCellId,\n setFocusedCellId,\n })\n\n // Register grid structure for range selections\n const registerGrid = useCallback((rows: RowId[], columns: ColId[]) => {\n const rowIdToIndex = new Map<RowId, number>()\n const colIdToIndex = new Map<ColId, number>()\n const indexToRowId = new Map<number, RowId>()\n const indexToColId = new Map<number, ColId>()\n\n rows.forEach((rowId, index) => {\n rowIdToIndex.set(rowId, index)\n indexToRowId.set(index, rowId)\n })\n\n columns.forEach((colId, index) => {\n colIdToIndex.set(colId, index)\n indexToColId.set(index, colId)\n })\n\n setGridMap({ rowIdToIndex, colIdToIndex, indexToRowId, indexToColId })\n }, [])\n\n // update the selection whilst properly handling the row-selection column\n const updateSelection = useCallback((selection: Set<CellId>, position: CellPosition) => {\n setSelectedCells((prevSelectedCells) => {\n let newSelection = new Set(selection)\n if (position.colId !== ROW_SELECTION_COLUMN_ID && position.colId !== DRAG_HANDLE_COLUMN_ID) {\n const rowSelection = Array.from(prevSelectedCells).filter(\n (id) => parseCellId(id)?.colId === ROW_SELECTION_COLUMN_ID,\n )\n if (rowSelection.length) {\n newSelection = new Set([...newSelection, ...rowSelection])\n }\n }\n return newSelection\n })\n }, [])\n\n // Select cells between two points in the grid\n const selectCellRange = useCallback(\n (start: CellPosition, end: CellPosition, additive: boolean): Set<CellId> => {\n if (!additive) {\n // Clear existing selection if not additive\n updateSelection(new Set(), start)\n }\n\n const startRowIdx = stableGridMap.rowIdToIndex.get(start.rowId) ?? 0\n const startColIdx = stableGridMap.colIdToIndex.get(start.colId) ?? 0\n const endRowIdx = stableGridMap.rowIdToIndex.get(end.rowId) ?? 0\n const endColIdx = stableGridMap.colIdToIndex.get(end.colId) ?? 0\n\n const minRowIdx = Math.min(startRowIdx, endRowIdx)\n const maxRowIdx = Math.max(startRowIdx, endRowIdx)\n const minColIdx = Math.min(startColIdx, endColIdx)\n const maxColIdx = Math.max(startColIdx, endColIdx)\n\n const newSelection = new Set(additive ? selectedCells : [])\n\n for (let r = minRowIdx; r <= maxRowIdx; r++) {\n const rowId = stableGridMap.indexToRowId.get(r)\n if (!rowId) continue\n\n for (let c = minColIdx; c <= maxColIdx; c++) {\n const colId = stableGridMap.indexToColId.get(c)\n if (!colId) continue\n\n newSelection.add(getCellId(rowId, colId))\n }\n }\n\n return newSelection\n },\n [stableGridMap, selectedCells, updateSelection],\n )\n\n // Start a selection operation\n const startSelection = useCallback(\n (cellId: CellId, additive: boolean) => {\n const position = parseCellId(cellId)\n if (!position) return\n\n setSelectionInProgress(true)\n // Store whether the initial cell was selected to determine drag behavior\n initialCellSelected.current = selectedCells.has(cellId)\n\n if (additive) {\n // Toggle this cell in multi-select mode\n setSelectedCells((prev) => {\n const newSelection = new Set(prev)\n if (newSelection.has(cellId)) {\n newSelection.delete(cellId)\n // If this was the focused cell, set focus to another cell in the selection or null\n if (focusedCellId === cellId) {\n if (newSelection.size > 0) {\n setFocusedCellId(Array.from(newSelection)[Array.from(newSelection).length - 1])\n } else {\n setFocusedCellId(null)\n }\n }\n } else {\n newSelection.add(cellId)\n setFocusedCellId(cellId)\n setAnchorCell(position)\n }\n return newSelection\n })\n } else {\n // Single cell selection\n // If this cell is already the only selected cell, deselect it\n // and it is from name column\n if (\n selectedCells.size === 1 &&\n selectedCells.has(cellId) &&\n [ROW_SELECTION_COLUMN_ID, 'name'].includes(position.colId)\n ) {\n setSelectedCells(new Set())\n setAnchorCell(null)\n setFocusedCellId(null)\n } else {\n updateSelection(new Set([cellId]), position)\n setAnchorCell(position)\n setFocusedCellId(cellId)\n }\n }\n },\n [selectedCells, focusedCellId, updateSelection],\n )\n\n // Extend the current selection during drag\n const extendSelection = useCallback(\n (cellId: CellId, isRowSelectionColumn?: boolean) => {\n if (!selectionInProgress || !anchorCell) return\n\n const currentPosition = parseCellId(cellId)\n if (!currentPosition) return\n\n if (isRowSelectionColumn) {\n // Handle row selection column differently during drag\n setSelectedCells((prev) => {\n const newSelection = new Set(prev)\n const position = parseCellId(cellId)\n\n if (!position) return newSelection\n\n // We're either selecting or unselecting based on the initial cell's state\n if (initialCellSelected.current) {\n // If we started on a selected cell, we're removing cells during drag\n newSelection.delete(cellId)\n } else {\n // If we started on an unselected cell, we're adding cells during drag\n newSelection.add(cellId)\n }\n\n return newSelection\n })\n } else {\n // For normal cells, use the range selection behavior\n const newSelection = selectCellRange(anchorCell, currentPosition, false)\n updateSelection(newSelection, currentPosition)\n }\n },\n [selectionInProgress, anchorCell, selectCellRange, updateSelection],\n )\n\n // End a selection operation\n const endSelection = useCallback(() => {\n setSelectionInProgress(false)\n }, [])\n\n // Select a cell (click or programmatically)\n const selectCell = useCallback(\n (cellId: CellId, additive: boolean, range: boolean) => {\n const position = parseCellId(cellId)\n if (!position) return\n\n if (range && anchorCell) {\n // Shift+click for range selection - select cells between anchor and current\n const newSelection = selectCellRange(anchorCell, position, additive)\n updateSelection(newSelection, position)\n } else if (additive) {\n // Ctrl/Cmd+click for toggling selection\n setSelectedCells((prev) => {\n const newSelection = new Set(prev)\n if (newSelection.has(cellId)) {\n newSelection.delete(cellId)\n } else {\n newSelection.add(cellId)\n }\n return newSelection\n })\n } else {\n // Normal click - select just this cell and set as new anchor\n updateSelection(new Set([cellId]), position)\n setAnchorCell(position)\n }\n },\n [anchorCell, selectCellRange, updateSelection],\n )\n\n // Focus a cell without changing selection\n const focusCell = useCallback((cellId: CellId | null) => {\n setFocusedCellId(cellId)\n }, [])\n\n // Clear all selections\n const clearSelection = useCallback(() => {\n setSelectedCells(new Set())\n setAnchorCell(null)\n setFocusedCellId(null)\n }, [])\n\n // Check if a cell is selected\n const isCellSelected = useCallback((cellId: CellId) => selectedCells.has(cellId), [selectedCells])\n\n // Check if a cell is focused\n const isCellFocused = useCallback((cellId: CellId) => cellId === focusedCellId, [focusedCellId])\n\n // Get position from cell ID - using shared utility\n const getCellPositionFromId = useCallback((cellId: CellId) => parseCellId(cellId), [])\n\n // Get border classes for a cell based on its selection state and neighbors\n const getCellBorderClasses = useCallback(\n (cellId: CellId): string[] => {\n if (!isCellSelected(cellId)) return []\n\n const position = parseCellId(cellId)\n if (!position) return []\n\n const rowIndex = stableGridMap.rowIdToIndex.get(position.rowId)\n const colIndex = stableGridMap.colIdToIndex.get(position.colId)\n\n if (rowIndex === undefined || colIndex === undefined) return []\n\n // Check if the cell's neighbors in all four directions are selected\n const top = stableGridMap.indexToRowId.get(rowIndex - 1)\n const right = stableGridMap.indexToColId.get(colIndex + 1)\n const bottom = stableGridMap.indexToRowId.get(rowIndex + 1)\n const left = stableGridMap.indexToColId.get(colIndex - 1)\n\n // Default to no borders\n let borderPos = BorderPosition.None\n\n // Top edge check: show border if we're at the top of the grid or the cell above is not selected\n if (!top || !selectedCells.has(getCellId(top, position.colId))) {\n borderPos |= BorderPosition.Top\n }\n\n // Right edge check: show border if we're at the right edge of the grid or the cell to the right is not selected\n if (!right || !selectedCells.has(getCellId(position.rowId, right))) {\n borderPos |= BorderPosition.Right\n }\n\n // Bottom edge check: show border if we're at the bottom of the grid or the cell below is not selected\n if (!bottom || !selectedCells.has(getCellId(bottom, position.colId))) {\n borderPos |= BorderPosition.Bottom\n }\n\n // Left edge check: show border if we're at the left edge of the grid or the cell to the left is not selected\n if (!left || !selectedCells.has(getCellId(position.rowId, left))) {\n borderPos |= BorderPosition.Left\n }\n\n return getBorderClasses(borderPos)\n },\n [selectedCells, stableGridMap, isCellSelected],\n )\n\n // Memoize context value to prevent unnecessary re-renders\n const value = useMemo(\n () => ({\n selectedCells,\n selectedRows,\n focusedCellId,\n selectionInProgress,\n anchorCell,\n gridMap: stableGridMap,\n setSelectedCells,\n setFocusedCellId,\n setAnchorCell,\n registerGrid,\n selectCell,\n startSelection,\n extendSelection,\n endSelection,\n focusCell,\n clearSelection,\n isCellSelected,\n isCellFocused,\n getCellPositionFromId,\n getCellBorderClasses,\n }),\n [\n selectedCells,\n selectedRows,\n focusedCellId,\n selectionInProgress,\n anchorCell,\n stableGridMap,\n setSelectedCells,\n setFocusedCellId,\n setAnchorCell,\n registerGrid,\n selectCell,\n startSelection,\n extendSelection,\n endSelection,\n focusCell,\n clearSelection,\n isCellSelected,\n isCellFocused,\n getCellPositionFromId,\n getCellBorderClasses,\n ],\n )\n\n return <SelectionCellsContext.Provider value={value}>{children}</SelectionCellsContext.Provider>\n}\n"],"names":["SelectionCellsProvider","children","selectedCells","setSelectedCells","useState","focusedCellId","setFocusedCellId","selectionInProgress","setSelectionInProgress","anchorCell","setAnchorCell","gridMap","setGridMap","mapToString","map","stableGridMap","useMemo","initialCellSelected","useRef","selectedRows","cellId","parseCellId","ROW_SELECTION_COLUMN_ID","useCheckSelectedCellsVisible","registerGrid","useCallback","rows","columns","rowIdToIndex","colIdToIndex","indexToRowId","indexToColId","rowId","index","colId","updateSelection","selection","position","prevSelectedCells","newSelection","DRAG_HANDLE_COLUMN_ID","rowSelection","id","selectCellRange","start","end","additive","startRowIdx","startColIdx","endRowIdx","endColIdx","minRowIdx","maxRowIdx","minColIdx","maxColIdx","r","c","getCellId","startSelection","prev","extendSelection","isRowSelectionColumn","currentPosition","endSelection","selectCell","range","focusCell","clearSelection","isCellSelected","isCellFocused","getCellPositionFromId","getCellBorderClasses","rowIndex","colIndex","top","right","bottom","left","borderPos","BorderPosition","getBorderClasses","value","jsx","SelectionCellsContext"],"mappings":"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"}
1
+ {"version":3,"file":"SelectionCellsProvider.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/context/SelectionCellsProvider.tsx"],"sourcesContent":["import React, { useState, useCallback, useMemo, ReactNode, useRef } from 'react'\nimport {\n CellId,\n RowId,\n ColId,\n CellPosition,\n getCellId,\n parseCellId,\n BorderPosition,\n getBorderClasses,\n} from '../utils/cellUtils'\nimport { DRAG_HANDLE_COLUMN_ID } from '../ProjectTreeTable'\nimport { SelectionCellsContext, GridMap, ROW_SELECTION_COLUMN_ID } from './SelectionCellsContext'\nimport { useCheckSelectedCellsVisible } from '../hooks'\n\nexport const SelectionCellsProvider: React.FC<{ children: ReactNode }> = ({ children }) => {\n const [selectedCells, setSelectedCells] = useState<Set<CellId>>(new Set())\n const [focusedCellId, setFocusedCellId] = useState<CellId | null>(null)\n const [selectionInProgress, setSelectionInProgress] = useState<boolean>(false)\n const [anchorCell, setAnchorCell] = useState<CellPosition | null>(null)\n const [gridMap, setGridMap] = useState<GridMap>({\n rowIdToIndex: new Map(),\n colIdToIndex: new Map(),\n indexToRowId: new Map(),\n indexToColId: new Map(),\n })\n const mapToString = (map: Map<any, any>) => {\n return JSON.stringify(Array.from(map.entries()))\n }\n\n const stableGridMap = useMemo(\n () => gridMap,\n [\n mapToString(gridMap.rowIdToIndex),\n mapToString(gridMap.colIdToIndex),\n mapToString(gridMap.indexToRowId),\n mapToString(gridMap.indexToColId),\n ],\n )\n // Track whether we're selecting or unselecting during drag\n const initialCellSelected = useRef<boolean>(false)\n\n const selectedRows = useMemo(\n () =>\n Array.from(selectedCells)\n .filter(\n (cellId) =>\n parseCellId(cellId)?.colId === ROW_SELECTION_COLUMN_ID && parseCellId(cellId)?.rowId,\n )\n .map((cellId) => parseCellId(cellId)?.rowId) as string[],\n [selectedCells],\n )\n\n useCheckSelectedCellsVisible({\n selectedCells,\n setSelectedCells,\n focusedCellId,\n setFocusedCellId,\n })\n\n // Register grid structure for range selections\n const registerGrid = useCallback((rows: RowId[], columns: ColId[]) => {\n const rowIdToIndex = new Map<RowId, number>()\n const colIdToIndex = new Map<ColId, number>()\n const indexToRowId = new Map<number, RowId>()\n const indexToColId = new Map<number, ColId>()\n\n rows.forEach((rowId, index) => {\n rowIdToIndex.set(rowId, index)\n indexToRowId.set(index, rowId)\n })\n\n columns.forEach((colId, index) => {\n colIdToIndex.set(colId, index)\n indexToColId.set(index, colId)\n })\n\n setGridMap({ rowIdToIndex, colIdToIndex, indexToRowId, indexToColId })\n }, [])\n\n // update the selection whilst properly handling the row-selection column\n const updateSelection = useCallback((selection: Set<CellId>, position: CellPosition) => {\n setSelectedCells((prevSelectedCells) => {\n let newSelection = new Set(selection)\n if (position.colId !== ROW_SELECTION_COLUMN_ID && position.colId !== DRAG_HANDLE_COLUMN_ID) {\n const rowSelection = Array.from(prevSelectedCells).filter(\n (id) => parseCellId(id)?.colId === ROW_SELECTION_COLUMN_ID,\n )\n if (rowSelection.length) {\n newSelection = new Set([...newSelection, ...rowSelection])\n }\n }\n return newSelection\n })\n }, [])\n\n // Select cells between two points in the grid\n const selectCellRange = useCallback(\n (start: CellPosition, end: CellPosition, additive: boolean): Set<CellId> => {\n if (!additive) {\n // Clear existing selection if not additive\n updateSelection(new Set(), start)\n }\n\n const startRowIdx = stableGridMap.rowIdToIndex.get(start.rowId) ?? 0\n const startColIdx = stableGridMap.colIdToIndex.get(start.colId) ?? 0\n const endRowIdx = stableGridMap.rowIdToIndex.get(end.rowId) ?? 0\n const endColIdx = stableGridMap.colIdToIndex.get(end.colId) ?? 0\n\n const minRowIdx = Math.min(startRowIdx, endRowIdx)\n const maxRowIdx = Math.max(startRowIdx, endRowIdx)\n const minColIdx = Math.min(startColIdx, endColIdx)\n const maxColIdx = Math.max(startColIdx, endColIdx)\n\n const newSelection = new Set(additive ? selectedCells : [])\n\n for (let r = minRowIdx; r <= maxRowIdx; r++) {\n const rowId = stableGridMap.indexToRowId.get(r)\n if (!rowId) continue\n\n for (let c = minColIdx; c <= maxColIdx; c++) {\n const colId = stableGridMap.indexToColId.get(c)\n if (!colId) continue\n\n newSelection.add(getCellId(rowId, colId))\n }\n }\n\n return newSelection\n },\n [stableGridMap, selectedCells, updateSelection],\n )\n\n // Start a selection operation\n const startSelection = useCallback(\n (cellId: CellId, additive: boolean) => {\n const position = parseCellId(cellId)\n if (!position) return\n\n setSelectionInProgress(true)\n // Store whether the initial cell was selected to determine drag behavior\n initialCellSelected.current = selectedCells.has(cellId)\n\n if (additive) {\n // Toggle this cell in multi-select mode\n setSelectedCells((prev) => {\n const newSelection = new Set(prev)\n if (newSelection.has(cellId)) {\n newSelection.delete(cellId)\n // If this was the focused cell, set focus to another cell in the selection or null\n if (focusedCellId === cellId) {\n if (newSelection.size > 0) {\n setFocusedCellId(Array.from(newSelection)[Array.from(newSelection).length - 1])\n } else {\n setFocusedCellId(null)\n }\n }\n } else {\n newSelection.add(cellId)\n setFocusedCellId(cellId)\n setAnchorCell(position)\n }\n return newSelection\n })\n } else {\n // Single cell selection\n // If this cell is already the only selected cell, deselect it\n // and it is from name column\n if (\n selectedCells.size === 1 &&\n selectedCells.has(cellId) &&\n [ROW_SELECTION_COLUMN_ID, 'name'].includes(position.colId)\n ) {\n setSelectedCells(new Set())\n setAnchorCell(null)\n setFocusedCellId(null)\n } else {\n updateSelection(new Set([cellId]), position)\n setAnchorCell(position)\n setFocusedCellId(cellId)\n }\n }\n },\n [selectedCells, focusedCellId, updateSelection],\n )\n\n // Extend the current selection during drag\n const extendSelection = useCallback(\n (cellId: CellId, isRowSelectionColumn?: boolean) => {\n if (!selectionInProgress || !anchorCell) return\n\n const currentPosition = parseCellId(cellId)\n if (!currentPosition) return\n\n if (isRowSelectionColumn) {\n // Handle row selection column differently during drag\n setSelectedCells((prev) => {\n const newSelection = new Set(prev)\n const position = parseCellId(cellId)\n\n if (!position) return newSelection\n\n // We're either selecting or unselecting based on the initial cell's state\n if (initialCellSelected.current) {\n // If we started on a selected cell, we're removing cells during drag\n newSelection.delete(cellId)\n } else {\n // If we started on an unselected cell, we're adding cells during drag\n newSelection.add(cellId)\n }\n\n return newSelection\n })\n } else {\n // For normal cells, use the range selection behavior\n const newSelection = selectCellRange(anchorCell, currentPosition, false)\n updateSelection(newSelection, currentPosition)\n }\n },\n [selectionInProgress, anchorCell, selectCellRange, updateSelection],\n )\n\n // End a selection operation\n const endSelection = useCallback(() => {\n setSelectionInProgress(false)\n }, [])\n\n // Select a cell (click or programmatically)\n const selectCell = useCallback(\n (cellId: CellId, additive: boolean, range: boolean) => {\n const position = parseCellId(cellId)\n if (!position) return\n\n if (range && anchorCell) {\n // Shift+click for range selection - select cells between anchor and current\n const newSelection = selectCellRange(anchorCell, position, additive)\n updateSelection(newSelection, position)\n } else if (additive) {\n // Ctrl/Cmd+click for toggling selection\n setSelectedCells((prev) => {\n const newSelection = new Set(prev)\n if (newSelection.has(cellId)) {\n newSelection.delete(cellId)\n } else {\n newSelection.add(cellId)\n }\n return newSelection\n })\n } else {\n // Normal click - select just this cell and set as new anchor\n updateSelection(new Set([cellId]), position)\n setAnchorCell(position)\n }\n },\n [anchorCell, selectCellRange, updateSelection],\n )\n\n // Focus a cell without changing selection\n const focusCell = useCallback((cellId: CellId | null) => {\n setFocusedCellId(cellId)\n }, [])\n\n // Clear all selections\n const clearSelection = useCallback(() => {\n setSelectedCells(new Set())\n setAnchorCell(null)\n setFocusedCellId(null)\n }, [])\n\n // Check if a cell is selected\n const isCellSelected = useCallback((cellId: CellId) => selectedCells.has(cellId), [selectedCells])\n\n // Check if a cell is focused\n const isCellFocused = useCallback((cellId: CellId) => cellId === focusedCellId, [focusedCellId])\n\n // Get position from cell ID - using shared utility\n const getCellPositionFromId = useCallback((cellId: CellId) => parseCellId(cellId), [])\n\n // Get border classes for a cell based on its selection state and neighbors\n const getCellBorderClasses = useCallback(\n (cellId: CellId): string[] => {\n if (!isCellSelected(cellId)) return []\n\n const position = parseCellId(cellId)\n if (!position) return []\n\n const rowIndex = stableGridMap.rowIdToIndex.get(position.rowId)\n const colIndex = stableGridMap.colIdToIndex.get(position.colId)\n\n if (rowIndex === undefined || colIndex === undefined) return []\n\n // Check if the cell's neighbors in all four directions are selected\n const top = stableGridMap.indexToRowId.get(rowIndex - 1)\n const right = stableGridMap.indexToColId.get(colIndex + 1)\n const bottom = stableGridMap.indexToRowId.get(rowIndex + 1)\n const left = stableGridMap.indexToColId.get(colIndex - 1)\n\n // Default to no borders\n let borderPos = BorderPosition.None\n\n // Top edge check: show border if we're at the top of the grid or the cell above is not selected\n if (!top || !selectedCells.has(getCellId(top, position.colId))) {\n borderPos |= BorderPosition.Top\n }\n\n // Right edge check: show border if we're at the right edge of the grid or the cell to the right is not selected\n if (!right || !selectedCells.has(getCellId(position.rowId, right))) {\n borderPos |= BorderPosition.Right\n }\n\n // Bottom edge check: show border if we're at the bottom of the grid or the cell below is not selected\n if (!bottom || !selectedCells.has(getCellId(bottom, position.colId))) {\n borderPos |= BorderPosition.Bottom\n }\n\n // Left edge check: show border if we're at the left edge of the grid or the cell to the left is not selected\n if (!left || !selectedCells.has(getCellId(position.rowId, left))) {\n borderPos |= BorderPosition.Left\n }\n\n return getBorderClasses(borderPos)\n },\n [selectedCells, stableGridMap, isCellSelected],\n )\n\n // Memoize context value to prevent unnecessary re-renders\n const value = useMemo(\n () => ({\n selectedCells,\n selectedRows,\n focusedCellId,\n selectionInProgress,\n anchorCell,\n gridMap: stableGridMap,\n setSelectedCells,\n setFocusedCellId,\n setAnchorCell,\n registerGrid,\n selectCell,\n startSelection,\n extendSelection,\n endSelection,\n focusCell,\n clearSelection,\n isCellSelected,\n isCellFocused,\n getCellPositionFromId,\n getCellBorderClasses,\n }),\n [\n selectedCells,\n selectedRows,\n focusedCellId,\n selectionInProgress,\n anchorCell,\n stableGridMap,\n setSelectedCells,\n setFocusedCellId,\n setAnchorCell,\n registerGrid,\n selectCell,\n startSelection,\n extendSelection,\n endSelection,\n focusCell,\n clearSelection,\n isCellSelected,\n isCellFocused,\n getCellPositionFromId,\n getCellBorderClasses,\n ],\n )\n\n return <SelectionCellsContext.Provider value={value}>{children}</SelectionCellsContext.Provider>\n}\n"],"names":["SelectionCellsProvider","children","selectedCells","setSelectedCells","useState","focusedCellId","setFocusedCellId","selectionInProgress","setSelectionInProgress","anchorCell","setAnchorCell","gridMap","setGridMap","mapToString","map","stableGridMap","useMemo","initialCellSelected","useRef","selectedRows","cellId","parseCellId","ROW_SELECTION_COLUMN_ID","useCheckSelectedCellsVisible","registerGrid","useCallback","rows","columns","rowIdToIndex","colIdToIndex","indexToRowId","indexToColId","rowId","index","colId","updateSelection","selection","position","prevSelectedCells","newSelection","DRAG_HANDLE_COLUMN_ID","rowSelection","id","selectCellRange","start","end","additive","startRowIdx","startColIdx","endRowIdx","endColIdx","minRowIdx","maxRowIdx","minColIdx","maxColIdx","r","c","getCellId","startSelection","prev","extendSelection","isRowSelectionColumn","currentPosition","endSelection","selectCell","range","focusCell","clearSelection","isCellSelected","isCellFocused","getCellPositionFromId","getCellBorderClasses","rowIndex","colIndex","top","right","bottom","left","borderPos","BorderPosition","getBorderClasses","value","jsx","SelectionCellsContext"],"mappings":"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"}
@@ -14,6 +14,7 @@ import "@ynput/ayon-react-components";
14
14
  import "clsx";
15
15
  import "../../ContextMenu/ContextMenuContext.es.js";
16
16
  import "./ClipboardContext.es.js";
17
+ import "./ProjectDataContext.es.js";
17
18
  import "./CellEditingContext.es.js";
18
19
  import "@tanstack/react-table";
19
20
  import "../widgets/CollapsedWidget.es.js";
@@ -158,7 +159,6 @@ import "date-fns";
158
159
  import "./ColumnSettingsContext.es.js";
159
160
  import "./SelectedRowsContext.es.js";
160
161
  import "./DetailsPanelEntityContext.es.js";
161
- import "./ProjectDataContext.es.js";
162
162
  import "../components/HeaderActionButton.es.js";
163
163
  import "../components/RowSelectionHeader.es.js";
164
164
  import "../components/SelectionCell.es.js";
@@ -186,13 +186,14 @@ import "../../../components/SimpleFormDialog/SimpleFormDialog.es.js";
186
186
  import "../../../components/EntityPath/EntityPath.styled.es.js";
187
187
  import "../../../components/EntityPath/SegmentProvider.es.js";
188
188
  import "../../../components/DetailsPanelAttributes/DetailsPanelAttributesEditor.es.js";
189
+ import "../../../components/DetailsPanelDetails/DetailsPanelDetails.es.js";
190
+ import "../../../components/DetailsPanelDetails/FieldLabel.es.js";
189
191
  import "../../../components/Watchers/Watchers.es.js";
190
192
  import "../../../components/ProjectTableSettings/ProjectTableSettings.es.js";
191
193
  import "../../../components/Powerpack/PowerpackButton.es.js";
192
194
  import "../../../components/Powerpack/PricingLink.es.js";
193
195
  import "../../../components/Powerpack/PowerpackDialog.styled.es.js";
194
196
  import "../../../components/Powerpack/CTAButton.es.js";
195
- import "../../../components/Powerpack/RequiredPowerpackVersion.es.js";
196
197
  import "../../../components/SettingsPanel/SettingsPanel.es.js";
197
198
  import "../../../components/SettingsPanel/SettingsPanelItemTemplate.es.js";
198
199
  import "../../../components/AttributeEditor/components/MinMaxField.es.js";
@@ -206,9 +207,8 @@ import "../../../components/Feedback/SupportBubble.es.js";
206
207
  import "../../../components/Chips/Chips.es.js";
207
208
  import "../../../components/LinksManager/LinksManager.styled.es.js";
208
209
  import "../../EntityPickerDialog/EntityPickerDialog.es.js";
209
- import "../../../components/DetailsMetaData/DetailsMetaData.es.js";
210
- import "../../../components/AccessUser/AccessUser.es.js";
211
- import "../../../components/LinksManager/LinksManagerDialog.es.js";
210
+ import "../../../components/StyledLink/StyledLink.es.js";
211
+ import "../../../components/LinksManager/CellEditingDialog.es.js";
212
212
  import "../ProjectTreeTable.styled.es.js";
213
213
  import "../widgets/LoadMoreWidget.es.js";
214
214
  import "../components/GroupSettingsFallback.es.js";
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("lodash");require("react-toastify");const g=require("../../../../util/getEntityId.cjs.js");require("../../../../util/pubsub.cjs.js");const I=require("./clipboardTypes.cjs.js"),c=require("./clipboardUtils.cjs.js"),E=y=>{const{colId:s,isFolder:p,pasteValue:i,parsedData:n,columnEnums:u,columnReadOnly:f,rowIndex:m,colIndex:v,isSingleCellValue:b}=y;if(!i)return!0;if(f.includes(s.replace("attrib_","")))return c.clipboardError(`This column is read-only: "${s}". Paste operation cancelled.`),!1;if(s.startsWith("link_"))return i.split(",").map(a=>a.trim()).every(a=>g.validateEntityId(a))?!0:(c.clipboardError(`Invalid link id format: "${i}". Paste operation cancelled.`),!1);if(s==="assignees"){const e=i.split(",").map(r=>r.trim()),l=u.assignee||[],a=e.filter(r=>l.some(o=>o.value===r||o.label===r));if(b)n[0].values[0]=a.join(", ");else{const r=m%n.length,o=v%n[r].values.length;n[r].values[o]=a.join(", ")}return!0}let t=s==="subType"?p?"folderType":"taskType":s;if(t=I.builtInFieldMappings[t]||t,!(t in u))return!0;const d=u[t];if(!Array.isArray(d)||d.length===0)return!0;if(!i.split(",").map(e=>e.trim()).every(e=>d.some(l=>l.value===e||l.label===e))){const e=t==="folderType"||t==="taskType"?`${p?"folder":"task"} type`:t;return c.clipboardError(`Invalid ${e} value: "${i}". Paste operation cancelled.`),!1}return!0};exports.validateClipboardData=E;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("lodash");require("react-toastify");const M=require("../../../../util/getEntityId.cjs.js");require("../../../../util/pubsub.cjs.js");const x=require("./clipboardTypes.cjs.js"),f=require("./clipboardUtils.cjs.js"),N=["assignees","status","subType"],P=S=>{const{colId:t,isFolder:g,pasteValue:l,parsedData:u,columnEnums:h,columnReadOnly:w,rowIndex:m,colIndex:I,isSingleCellValue:y,attribFields:$=[]}=S;if(!l)return!0;if(w.includes(t.replace("attrib_","")))return f.clipboardError(`This column is read-only: "${t}". Paste operation cancelled.`),!1;if(t.startsWith("link_"))return l.split(",").map(i=>i.trim()).every(i=>M.validateEntityId(i))?!0:(f.clipboardError(`Invalid link id format: "${l}". Paste operation cancelled.`),!1);if(N.includes(t)){let e=t;t==="assignees"?e="assignee":t==="subType"?e=g?"folderType":"taskType":t==="status"&&(e="status");const a=h[e]||[];if(a.length===0)return!0;const i=l.split(",").map(r=>r.trim()),o=[];for(const r of i){const s=a.find(c=>c.value===r||c.label===r);if(s){o.push(String(s.value));continue}const d=a.find(c=>String(c.value).toLowerCase()===r.toLowerCase()||String(c.label).toLowerCase()===r.toLowerCase());if(d){o.push(String(d.value));continue}if(t!=="assignees"){const c=t==="subType"?`${g?"folder":"task"} type`:t==="status"?"status":t;return f.clipboardError(`Invalid ${c} value: "${l}". Paste operation cancelled.`),!1}}if(t==="assignees"&&o.length===0)return f.clipboardError(`Invalid assignee value: "${l}". No matching assignees found. Paste operation cancelled.`),!1;const n=o.join(", ");if(n!==l)if(y)u[0].values[0]=n;else{const r=m%u.length,s=I%u[r].values.length;u[r].values[s]=n}return!0}if(t.startsWith("attrib_")){const e=t.replace("attrib_",""),a=$.find(i=>i.name===e);if(a){if(a.data.type==="integer"||a.data.type==="float"){const i=l.trim();if(!/^[-+]?(\d+\.?\d*|\.\d+)([eE][-+]?\d+)?$/.test(i)){const n=a.data.type==="integer"?"integer":"number";return f.clipboardError(`Invalid ${n} value: "${l}". Must be a valid ${n}. Paste operation cancelled.`),!1}if(a.data.type==="integer"){const n=parseFloat(i);if(!Number.isInteger(n))return f.clipboardError(`Invalid integer value: "${l}". Must be a whole number. Paste operation cancelled.`),!1}return!0}if(a.data.type==="string"&&a.data.enum&&a.data.enum.length>0){const i=l.split(",").map(s=>s.trim()),{validValues:o,hasInvalidValues:n}=i.reduce((s,d)=>{const c=a.data.enum.find(v=>v.value===d||v.label===d);if(c)return s.validValues.push(String(c.value)),s;const C=a.data.enum.find(v=>String(v.value).toLowerCase()===d.toLowerCase()||String(v.label).toLowerCase()===d.toLowerCase());return C?(s.validValues.push(String(C.value)),s):(s.hasInvalidValues=!0,s.validValues.push(d),s)},{validValues:[],hasInvalidValues:!1});if(n)return f.clipboardError(`Invalid ${e} value: "${l}". Must be one of the available options. Paste operation cancelled.`),!1;const r=o.join(", ");if(r!==l)if(y)u[0].values[0]=r;else{const s=m%u.length,d=I%u[s].values.length;u[s].values[d]=r}return!0}}}let p=t==="subType"?g?"folderType":"taskType":t;if(p=x.builtInFieldMappings[p]||p,!(p in h))return!0;const b=h[p];if(!Array.isArray(b)||b.length===0)return!0;const E=l.split(",").map(e=>e.trim()),{validValues:T,hasInvalidValues:L}=E.reduce((e,a)=>{const i=b.find(n=>n.value===a||n.label===a);if(i)return e.validValues.push(String(i.value)),e;const o=b.find(n=>String(n.value).toLowerCase()===a.toLowerCase()||String(n.label).toLowerCase()===a.toLowerCase());return o?(e.validValues.push(String(o.value)),e):(e.hasInvalidValues=!0,e.validValues.push(a),e)},{validValues:[],hasInvalidValues:!1});if(L){const e=p==="folderType"||p==="taskType"?`${g?"folder":"task"} type`:p;return f.clipboardError(`Invalid ${e} value: "${l}". Paste operation cancelled.`),!1}const V=T.join(", ");if(V!==l)if(y)u[0].values[0]=V;else{const e=m%u.length,a=I%u[e].values.length;u[e].values[a]=V}return!0};exports.validateClipboardData=P;
2
2
  //# sourceMappingURL=clipboardValidation.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"clipboardValidation.cjs.js","sources":["../../../../../../../src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.ts"],"sourcesContent":["import { validateEntityId } from '@shared/util'\nimport { ColumnEnums, builtInFieldMappings, ParsedClipboardData } from './clipboardTypes'\nimport { clipboardError } from './clipboardUtils'\n\n// Validate clipboard data for enum fields and handle special cases\nexport const validateClipboardData = (params: {\n colId: string\n isFolder: boolean\n pasteValue: string\n parsedData: ParsedClipboardData[]\n columnEnums: ColumnEnums\n columnReadOnly: string[]\n rowIndex: number\n colIndex: number\n isSingleCellValue: boolean\n}): boolean => {\n const {\n colId,\n isFolder,\n pasteValue,\n parsedData,\n columnEnums,\n columnReadOnly,\n rowIndex,\n colIndex,\n isSingleCellValue,\n } = params\n\n // Skip validation for empty values\n if (!pasteValue) return true\n\n // Check if the column is read-only\n if (columnReadOnly.includes(colId.replace('attrib_', ''))) {\n clipboardError(`This column is read-only: \"${colId}\". Paste operation cancelled.`)\n return false\n }\n\n // special handling for links\n if (colId.startsWith('link_')) {\n // Split entity Ids by comma\n const entityIds = pasteValue.split(',').map((v) => v.trim())\n\n // check every id is valid\n const isValid = entityIds.every((id) => validateEntityId(id))\n if (isValid) return true\n else {\n clipboardError(`Invalid link id format: \"${pasteValue}\". Paste operation cancelled.`)\n return false\n }\n }\n\n // Special handling for assignees - filter out invalid values instead of canceling\n if (colId === 'assignees') {\n // Split assignees by comma\n const assigneeValues = pasteValue.split(',').map((v) => v.trim())\n\n // Get assignee options from columnEnums\n const assigneeOptions = columnEnums['assignee'] || []\n\n // Filter to keep only valid assignees\n const validAssignees = assigneeValues.filter((v) =>\n assigneeOptions.some((opt) => opt.value === v || opt.label === v),\n )\n\n // Update the paste value in the parsed data\n if (isSingleCellValue) {\n parsedData[0].values[0] = validAssignees.join(', ')\n } else {\n const pasteRowIndex = rowIndex % parsedData.length\n const pasteColIndex = colIndex % parsedData[pasteRowIndex].values.length\n parsedData[pasteRowIndex].values[pasteColIndex] = validAssignees.join(', ')\n }\n\n return true\n }\n\n // Map subType to the actual field name\n let fieldId = colId === 'subType' ? (isFolder ? 'folderType' : 'taskType') : colId\n // Check if fieldId has a mapping to plural enum\n fieldId = builtInFieldMappings[fieldId as keyof typeof builtInFieldMappings] || fieldId\n\n // Skip validation for fields that don't have enums\n if (!(fieldId in columnEnums)) return true\n\n // Get the enum values for this field\n const enumOptions = columnEnums[fieldId as keyof typeof columnEnums]\n\n // Skip if no enum options are available\n if (!Array.isArray(enumOptions) || enumOptions.length === 0) return true\n\n // Check if the pasted value exists in the enum options\n const enumValues = pasteValue.split(',').map((v) => v.trim())\n const valueExists = enumValues.every((v) =>\n enumOptions.some((opt) => opt.value === v || opt.label === v),\n )\n\n if (!valueExists) {\n // Get a display name for the field (folderType/taskType → Type)\n const displayName =\n fieldId === 'folderType' || fieldId === 'taskType'\n ? `${isFolder ? 'folder' : 'task'} type`\n : fieldId\n\n clipboardError(`Invalid ${displayName} value: \"${pasteValue}\". Paste operation cancelled.`)\n return false\n }\n\n return true\n}\n"],"names":["validateClipboardData","params","colId","isFolder","pasteValue","parsedData","columnEnums","columnReadOnly","rowIndex","colIndex","isSingleCellValue","clipboardError","v","id","validateEntityId","assigneeValues","assigneeOptions","validAssignees","opt","pasteRowIndex","pasteColIndex","fieldId","builtInFieldMappings","enumOptions","displayName"],"mappings":"6SAKaA,EAAyBC,GAUvB,CACP,KAAA,CACJ,MAAAC,EACA,SAAAC,EACA,WAAAC,EACA,WAAAC,EACA,YAAAC,EACA,eAAAC,EACA,SAAAC,EACA,SAAAC,EACA,kBAAAC,CAAA,EACET,EAGA,GAAA,CAACG,EAAmB,MAAA,GAGxB,GAAIG,EAAe,SAASL,EAAM,QAAQ,UAAW,EAAE,CAAC,EACvCS,OAAAA,EAAAA,eAAA,8BAA8BT,CAAK,+BAA+B,EAC1E,GAIL,GAAAA,EAAM,WAAW,OAAO,EAM1B,OAJkBE,EAAW,MAAM,GAAG,EAAE,IAAKQ,GAAMA,EAAE,MAAM,EAGjC,MAAOC,GAAOC,EAAAA,iBAAiBD,CAAE,CAAC,EACxC,IAEHF,EAAAA,eAAA,4BAA4BP,CAAU,+BAA+B,EAC7E,IAKX,GAAIF,IAAU,YAAa,CAEnB,MAAAa,EAAiBX,EAAW,MAAM,GAAG,EAAE,IAAKQ,GAAMA,EAAE,MAAM,EAG1DI,EAAkBV,EAAY,UAAe,CAAC,EAG9CW,EAAiBF,EAAe,OAAQH,GAC5CI,EAAgB,KAAME,GAAQA,EAAI,QAAUN,GAAKM,EAAI,QAAUN,CAAC,CAClE,EAGA,GAAIF,EACFL,EAAW,CAAC,EAAE,OAAO,CAAC,EAAIY,EAAe,KAAK,IAAI,MAC7C,CACC,MAAAE,EAAgBX,EAAWH,EAAW,OACtCe,EAAgBX,EAAWJ,EAAWc,CAAa,EAAE,OAAO,OAClEd,EAAWc,CAAa,EAAE,OAAOC,CAAa,EAAIH,EAAe,KAAK,IAAI,CAAA,CAGrE,MAAA,EAAA,CAIT,IAAII,EAAUnB,IAAU,UAAaC,EAAW,aAAe,WAAcD,EAKzE,GAHMmB,EAAAC,EAAAA,qBAAqBD,CAA4C,GAAKA,EAG5E,EAAEA,KAAWf,GAAqB,MAAA,GAGhC,MAAAiB,EAAcjB,EAAYe,CAAmC,EAG/D,GAAA,CAAC,MAAM,QAAQE,CAAW,GAAKA,EAAY,SAAW,EAAU,MAAA,GAQpE,GAAI,CALenB,EAAW,MAAM,GAAG,EAAE,IAAKQ,GAAMA,EAAE,MAAM,EAC7B,MAAOA,GACpCW,EAAY,KAAML,GAAQA,EAAI,QAAUN,GAAKM,EAAI,QAAUN,CAAC,CAC9D,EAEkB,CAEV,MAAAY,EACJH,IAAY,cAAgBA,IAAY,WACpC,GAAGlB,EAAW,SAAW,MAAM,QAC/BkB,EAENV,OAAAA,EAAA,eAAe,WAAWa,CAAW,YAAYpB,CAAU,+BAA+B,EACnF,EAAA,CAGF,MAAA,EACT"}
1
+ {"version":3,"file":"clipboardValidation.cjs.js","sources":["../../../../../../../src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.ts"],"sourcesContent":["import { validateEntityId } from '@shared/util'\nimport { ColumnEnums, builtInFieldMappings, ParsedClipboardData } from './clipboardTypes'\nimport { clipboardError } from './clipboardUtils'\n\n// Columns that should have case-insensitive matching and value correction like assignees\nconst CASE_INSENSITIVE_COLUMNS = ['assignees', 'status', 'subType']\n\n// Validate clipboard data for enum fields and handle special cases\nexport const validateClipboardData = (params: {\n colId: string\n isFolder: boolean\n pasteValue: string\n parsedData: ParsedClipboardData[]\n columnEnums: ColumnEnums\n columnReadOnly: string[]\n rowIndex: number\n colIndex: number\n isSingleCellValue: boolean\n attribFields?: Array<{\n name: string\n data: { type: string; enum?: Array<{ value: string | number | boolean; label: string }> }\n }>\n}): boolean => {\n const {\n colId,\n isFolder,\n pasteValue,\n parsedData,\n columnEnums,\n columnReadOnly,\n rowIndex,\n colIndex,\n isSingleCellValue,\n attribFields = [],\n } = params\n\n // Skip validation for empty values\n if (!pasteValue) return true\n\n // Check if the column is read-only\n if (columnReadOnly.includes(colId.replace('attrib_', ''))) {\n clipboardError(`This column is read-only: \"${colId}\". Paste operation cancelled.`)\n return false\n }\n\n // special handling for links\n if (colId.startsWith('link_')) {\n // Split entity Ids by comma\n const entityIds = pasteValue.split(',').map((v) => v.trim())\n\n // check every id is valid\n const isValid = entityIds.every((id) => validateEntityId(id))\n if (isValid) return true\n else {\n clipboardError(`Invalid link id format: \"${pasteValue}\". Paste operation cancelled.`)\n return false\n }\n }\n\n // Special handling for columns that should have case-insensitive matching\n if (CASE_INSENSITIVE_COLUMNS.includes(colId)) {\n // Determine the enum key based on the column\n let enumKey = colId\n if (colId === 'assignees') {\n enumKey = 'assignee' // assignees uses 'assignee' enum key\n } else if (colId === 'subType') {\n enumKey = isFolder ? 'folderType' : 'taskType'\n } else if (colId === 'status') {\n enumKey = 'status'\n }\n\n // Get enum options\n const enumOptions = columnEnums[enumKey as keyof typeof columnEnums] || []\n\n if (enumOptions.length === 0) {\n // If no enum options available, skip validation\n return true\n }\n\n // Split values by comma\n const inputValues = pasteValue.split(',').map((v) => v.trim())\n const validValues: string[] = []\n\n for (const v of inputValues) {\n // First try exact match\n const exactMatch = enumOptions.find((opt) => opt.value === v || opt.label === v)\n if (exactMatch) {\n validValues.push(String(exactMatch.value))\n continue\n }\n\n // Try case-insensitive match\n const caseInsensitiveMatch = enumOptions.find(\n (opt) =>\n String(opt.value).toLowerCase() === v.toLowerCase() ||\n String(opt.label).toLowerCase() === v.toLowerCase(),\n )\n if (caseInsensitiveMatch) {\n validValues.push(String(caseInsensitiveMatch.value))\n continue\n }\n\n // For assignees, skip invalid values instead of failing\n if (colId === 'assignees') {\n // Skip invalid assignees\n } else {\n // For other columns, fail validation\n const displayName = colId === 'subType'\n ? `${isFolder ? 'folder' : 'task'} type`\n : colId === 'status'\n ? 'status'\n : colId\n clipboardError(`Invalid ${displayName} value: \"${pasteValue}\". Paste operation cancelled.`)\n return false\n }\n }\n\n // For assignees, require at least one valid value\n if (colId === 'assignees' && validValues.length === 0) {\n clipboardError(\n `Invalid assignee value: \"${pasteValue}\". No matching assignees found. Paste operation cancelled.`,\n )\n return false\n }\n\n // Update the paste value in the parsed data with corrected case\n const correctedValue = validValues.join(', ')\n\n if (correctedValue !== pasteValue) {\n if (isSingleCellValue) {\n parsedData[0].values[0] = correctedValue\n } else {\n const pasteRowIndex = rowIndex % parsedData.length\n const pasteColIndex = colIndex % parsedData[pasteRowIndex].values.length\n parsedData[pasteRowIndex].values[pasteColIndex] = correctedValue\n }\n }\n\n return true\n }\n\n // Validate attribute fields with specific type validation\n if (colId.startsWith('attrib_')) {\n const attributeName = colId.replace('attrib_', '')\n const attribute = attribFields.find((attr) => attr.name === attributeName)\n\n if (attribute) {\n // Number field validation (integer/float attributes)\n if (attribute.data.type === 'integer' || attribute.data.type === 'float') {\n // Check if the pasted value is a valid number\n const trimmedValue = pasteValue.trim()\n const isValidNumber = /^[-+]?(\\d+\\.?\\d*|\\.\\d+)([eE][-+]?\\d+)?$/.test(trimmedValue)\n\n if (!isValidNumber) {\n const fieldType = attribute.data.type === 'integer' ? 'integer' : 'number'\n clipboardError(\n `Invalid ${fieldType} value: \"${pasteValue}\". Must be a valid ${fieldType}. Paste operation cancelled.`,\n )\n return false\n }\n\n // For integer fields, check that it's actually an integer\n if (attribute.data.type === 'integer') {\n const num = parseFloat(trimmedValue)\n if (!Number.isInteger(num)) {\n clipboardError(\n `Invalid integer value: \"${pasteValue}\". Must be a whole number. Paste operation cancelled.`,\n )\n return false\n }\n }\n\n return true\n }\n\n // String enum validation for attributes with enum options\n if (\n attribute.data.type === 'string' &&\n attribute.data.enum &&\n attribute.data.enum.length > 0\n ) {\n const enumValues = pasteValue.split(',').map((v) => v.trim())\n\n // Try to match each value, with fallback to case-insensitive matching\n const { validValues, hasInvalidValues } = enumValues.reduce(\n (acc, v) => {\n // First try exact match\n const exactMatch = attribute.data.enum!.find(\n (opt) => opt.value === v || opt.label === v,\n )\n if (exactMatch) {\n acc.validValues.push(String(exactMatch.value))\n return acc\n }\n\n // Try case-insensitive match\n const caseInsensitiveMatch = attribute.data.enum!.find(\n (opt) =>\n String(opt.value).toLowerCase() === v.toLowerCase() ||\n String(opt.label).toLowerCase() === v.toLowerCase(),\n )\n if (caseInsensitiveMatch) {\n acc.validValues.push(String(caseInsensitiveMatch.value))\n return acc\n }\n\n // No match found\n acc.hasInvalidValues = true\n acc.validValues.push(v) // Keep original value for error message\n return acc\n },\n { validValues: [] as string[], hasInvalidValues: false },\n )\n\n if (hasInvalidValues) {\n clipboardError(\n `Invalid ${attributeName} value: \"${pasteValue}\". Must be one of the available options. Paste operation cancelled.`,\n )\n return false\n }\n\n // Update the paste value with corrected case if any corrections were made\n const correctedValue = validValues.join(', ')\n if (correctedValue !== pasteValue) {\n if (isSingleCellValue) {\n parsedData[0].values[0] = correctedValue\n } else {\n const pasteRowIndex = rowIndex % parsedData.length\n const pasteColIndex = colIndex % parsedData[pasteRowIndex].values.length\n parsedData[pasteRowIndex].values[pasteColIndex] = correctedValue\n }\n }\n\n return true\n }\n }\n }\n\n // Map subType to the actual field name\n let fieldId = colId === 'subType' ? (isFolder ? 'folderType' : 'taskType') : colId\n // Check if fieldId has a mapping to plural enum\n fieldId = builtInFieldMappings[fieldId as keyof typeof builtInFieldMappings] || fieldId\n\n // Skip validation for fields that don't have enums\n if (!(fieldId in columnEnums)) return true\n\n // Get the enum values for this field\n const enumOptions = columnEnums[fieldId as keyof typeof columnEnums]\n\n // Skip if no enum options are available\n if (!Array.isArray(enumOptions) || enumOptions.length === 0) return true\n\n // Check if the pasted value exists in the enum options with case-insensitive matching\n const enumValues = pasteValue.split(',').map((v) => v.trim())\n\n // Try to match each value, with fallback to case-insensitive matching\n const { validValues, hasInvalidValues } = enumValues.reduce(\n (acc, v) => {\n // First try exact match\n const exactMatch = enumOptions.find((opt) => opt.value === v || opt.label === v)\n if (exactMatch) {\n acc.validValues.push(String(exactMatch.value))\n return acc\n }\n\n // Try case-insensitive match\n const caseInsensitiveMatch = enumOptions.find(\n (opt) =>\n String(opt.value).toLowerCase() === v.toLowerCase() ||\n String(opt.label).toLowerCase() === v.toLowerCase(),\n )\n if (caseInsensitiveMatch) {\n acc.validValues.push(String(caseInsensitiveMatch.value))\n return acc\n }\n\n // No match found\n acc.hasInvalidValues = true\n acc.validValues.push(v) // Keep original value for error message\n return acc\n },\n { validValues: [] as string[], hasInvalidValues: false },\n )\n\n if (hasInvalidValues) {\n // Get a display name for the field (folderType/taskType → Type)\n const displayName =\n fieldId === 'folderType' || fieldId === 'taskType'\n ? `${isFolder ? 'folder' : 'task'} type`\n : fieldId\n\n clipboardError(`Invalid ${displayName} value: \"${pasteValue}\". Paste operation cancelled.`)\n return false\n }\n\n // Update the paste value with corrected case if any corrections were made\n const correctedValue = validValues.join(', ')\n if (correctedValue !== pasteValue) {\n if (isSingleCellValue) {\n parsedData[0].values[0] = correctedValue\n } else {\n const pasteRowIndex = rowIndex % parsedData.length\n const pasteColIndex = colIndex % parsedData[pasteRowIndex].values.length\n parsedData[pasteRowIndex].values[pasteColIndex] = correctedValue\n }\n }\n\n return true\n}\n"],"names":["CASE_INSENSITIVE_COLUMNS","validateClipboardData","params","colId","isFolder","pasteValue","parsedData","columnEnums","columnReadOnly","rowIndex","colIndex","isSingleCellValue","attribFields","clipboardError","v","id","validateEntityId","enumKey","enumOptions","inputValues","validValues","exactMatch","opt","caseInsensitiveMatch","displayName","correctedValue","pasteRowIndex","pasteColIndex","attributeName","attribute","attr","trimmedValue","fieldType","num","enumValues","hasInvalidValues","acc","fieldId","builtInFieldMappings"],"mappings":"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"}
@@ -1,46 +1,143 @@
1
1
  import "lodash";
2
2
  import "react-toastify";
3
- import { validateEntityId as g } from "../../../../util/getEntityId.es.js";
3
+ import { validateEntityId as N } from "../../../../util/getEntityId.es.js";
4
4
  import "../../../../util/pubsub.es.js";
5
- import { builtInFieldMappings as b } from "./clipboardTypes.es.js";
6
- import { clipboardError as p } from "./clipboardUtils.es.js";
7
- const C = (m) => {
5
+ import { builtInFieldMappings as M } from "./clipboardTypes.es.js";
6
+ import { clipboardError as c } from "./clipboardUtils.es.js";
7
+ const P = ["assignees", "status", "subType"], j = (w) => {
8
8
  const {
9
9
  colId: a,
10
- isFolder: c,
11
- pasteValue: i,
12
- parsedData: r,
13
- columnEnums: u,
14
- columnReadOnly: f,
15
- rowIndex: y,
16
- colIndex: v,
17
- isSingleCellValue: I
18
- } = m;
19
- if (!i) return !0;
20
- if (f.includes(a.replace("attrib_", "")))
21
- return p(`This column is read-only: "${a}". Paste operation cancelled.`), !1;
10
+ isFolder: m,
11
+ pasteValue: n,
12
+ parsedData: u,
13
+ columnEnums: h,
14
+ columnReadOnly: S,
15
+ rowIndex: I,
16
+ colIndex: V,
17
+ isSingleCellValue: y,
18
+ attribFields: $ = []
19
+ } = w;
20
+ if (!n) return !0;
21
+ if (S.includes(a.replace("attrib_", "")))
22
+ return c(`This column is read-only: "${a}". Paste operation cancelled.`), !1;
22
23
  if (a.startsWith("link_"))
23
- return i.split(",").map((l) => l.trim()).every((l) => g(l)) ? !0 : (p(`Invalid link id format: "${i}". Paste operation cancelled.`), !1);
24
- if (a === "assignees") {
25
- const t = i.split(",").map((s) => s.trim()), n = u.assignee || [], l = t.filter(
26
- (s) => n.some((o) => o.value === s || o.label === s)
27
- );
28
- if (I)
29
- r[0].values[0] = l.join(", ");
30
- else {
31
- const s = y % r.length, o = v % r[s].values.length;
32
- r[s].values[o] = l.join(", ");
24
+ return n.split(",").map((i) => i.trim()).every((i) => N(i)) ? !0 : (c(`Invalid link id format: "${n}". Paste operation cancelled.`), !1);
25
+ if (P.includes(a)) {
26
+ let t = a;
27
+ a === "assignees" ? t = "assignee" : a === "subType" ? t = m ? "folderType" : "taskType" : a === "status" && (t = "status");
28
+ const e = h[t] || [];
29
+ if (e.length === 0)
30
+ return !0;
31
+ const i = n.split(",").map((r) => r.trim()), o = [];
32
+ for (const r of i) {
33
+ const s = e.find((f) => f.value === r || f.label === r);
34
+ if (s) {
35
+ o.push(String(s.value));
36
+ continue;
37
+ }
38
+ const d = e.find(
39
+ (f) => String(f.value).toLowerCase() === r.toLowerCase() || String(f.label).toLowerCase() === r.toLowerCase()
40
+ );
41
+ if (d) {
42
+ o.push(String(d.value));
43
+ continue;
44
+ }
45
+ if (a !== "assignees") return c(`Invalid ${a === "subType" ? `${m ? "folder" : "task"} type` : a === "status" ? "status" : a} value: "${n}". Paste operation cancelled.`), !1;
33
46
  }
47
+ if (a === "assignees" && o.length === 0)
48
+ return c(
49
+ `Invalid assignee value: "${n}". No matching assignees found. Paste operation cancelled.`
50
+ ), !1;
51
+ const l = o.join(", ");
52
+ if (l !== n)
53
+ if (y)
54
+ u[0].values[0] = l;
55
+ else {
56
+ const r = I % u.length, s = V % u[r].values.length;
57
+ u[r].values[s] = l;
58
+ }
34
59
  return !0;
35
60
  }
36
- let e = a === "subType" ? c ? "folderType" : "taskType" : a;
37
- if (e = b[e] || e, !(e in u)) return !0;
38
- const d = u[e];
39
- return !Array.isArray(d) || d.length === 0 || i.split(",").map((t) => t.trim()).every(
40
- (t) => d.some((n) => n.value === t || n.label === t)
41
- ) ? !0 : (p(`Invalid ${e === "folderType" || e === "taskType" ? `${c ? "folder" : "task"} type` : e} value: "${i}". Paste operation cancelled.`), !1);
61
+ if (a.startsWith("attrib_")) {
62
+ const t = a.replace("attrib_", ""), e = $.find((i) => i.name === t);
63
+ if (e) {
64
+ if (e.data.type === "integer" || e.data.type === "float") {
65
+ const i = n.trim();
66
+ if (!/^[-+]?(\d+\.?\d*|\.\d+)([eE][-+]?\d+)?$/.test(i)) {
67
+ const l = e.data.type === "integer" ? "integer" : "number";
68
+ return c(
69
+ `Invalid ${l} value: "${n}". Must be a valid ${l}. Paste operation cancelled.`
70
+ ), !1;
71
+ }
72
+ if (e.data.type === "integer") {
73
+ const l = parseFloat(i);
74
+ if (!Number.isInteger(l))
75
+ return c(
76
+ `Invalid integer value: "${n}". Must be a whole number. Paste operation cancelled.`
77
+ ), !1;
78
+ }
79
+ return !0;
80
+ }
81
+ if (e.data.type === "string" && e.data.enum && e.data.enum.length > 0) {
82
+ const i = n.split(",").map((s) => s.trim()), { validValues: o, hasInvalidValues: l } = i.reduce(
83
+ (s, d) => {
84
+ const f = e.data.enum.find(
85
+ (v) => v.value === d || v.label === d
86
+ );
87
+ if (f)
88
+ return s.validValues.push(String(f.value)), s;
89
+ const C = e.data.enum.find(
90
+ (v) => String(v.value).toLowerCase() === d.toLowerCase() || String(v.label).toLowerCase() === d.toLowerCase()
91
+ );
92
+ return C ? (s.validValues.push(String(C.value)), s) : (s.hasInvalidValues = !0, s.validValues.push(d), s);
93
+ },
94
+ { validValues: [], hasInvalidValues: !1 }
95
+ );
96
+ if (l)
97
+ return c(
98
+ `Invalid ${t} value: "${n}". Must be one of the available options. Paste operation cancelled.`
99
+ ), !1;
100
+ const r = o.join(", ");
101
+ if (r !== n)
102
+ if (y)
103
+ u[0].values[0] = r;
104
+ else {
105
+ const s = I % u.length, d = V % u[s].values.length;
106
+ u[s].values[d] = r;
107
+ }
108
+ return !0;
109
+ }
110
+ }
111
+ }
112
+ let p = a === "subType" ? m ? "folderType" : "taskType" : a;
113
+ if (p = M[p] || p, !(p in h)) return !0;
114
+ const g = h[p];
115
+ if (!Array.isArray(g) || g.length === 0) return !0;
116
+ const L = n.split(",").map((t) => t.trim()), { validValues: T, hasInvalidValues: x } = L.reduce(
117
+ (t, e) => {
118
+ const i = g.find((l) => l.value === e || l.label === e);
119
+ if (i)
120
+ return t.validValues.push(String(i.value)), t;
121
+ const o = g.find(
122
+ (l) => String(l.value).toLowerCase() === e.toLowerCase() || String(l.label).toLowerCase() === e.toLowerCase()
123
+ );
124
+ return o ? (t.validValues.push(String(o.value)), t) : (t.hasInvalidValues = !0, t.validValues.push(e), t);
125
+ },
126
+ { validValues: [], hasInvalidValues: !1 }
127
+ );
128
+ if (x)
129
+ return c(`Invalid ${p === "folderType" || p === "taskType" ? `${m ? "folder" : "task"} type` : p} value: "${n}". Paste operation cancelled.`), !1;
130
+ const b = T.join(", ");
131
+ if (b !== n)
132
+ if (y)
133
+ u[0].values[0] = b;
134
+ else {
135
+ const t = I % u.length, e = V % u[t].values.length;
136
+ u[t].values[e] = b;
137
+ }
138
+ return !0;
42
139
  };
43
140
  export {
44
- C as validateClipboardData
141
+ j as validateClipboardData
45
142
  };
46
143
  //# sourceMappingURL=clipboardValidation.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"clipboardValidation.es.js","sources":["../../../../../../../src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.ts"],"sourcesContent":["import { validateEntityId } from '@shared/util'\nimport { ColumnEnums, builtInFieldMappings, ParsedClipboardData } from './clipboardTypes'\nimport { clipboardError } from './clipboardUtils'\n\n// Validate clipboard data for enum fields and handle special cases\nexport const validateClipboardData = (params: {\n colId: string\n isFolder: boolean\n pasteValue: string\n parsedData: ParsedClipboardData[]\n columnEnums: ColumnEnums\n columnReadOnly: string[]\n rowIndex: number\n colIndex: number\n isSingleCellValue: boolean\n}): boolean => {\n const {\n colId,\n isFolder,\n pasteValue,\n parsedData,\n columnEnums,\n columnReadOnly,\n rowIndex,\n colIndex,\n isSingleCellValue,\n } = params\n\n // Skip validation for empty values\n if (!pasteValue) return true\n\n // Check if the column is read-only\n if (columnReadOnly.includes(colId.replace('attrib_', ''))) {\n clipboardError(`This column is read-only: \"${colId}\". Paste operation cancelled.`)\n return false\n }\n\n // special handling for links\n if (colId.startsWith('link_')) {\n // Split entity Ids by comma\n const entityIds = pasteValue.split(',').map((v) => v.trim())\n\n // check every id is valid\n const isValid = entityIds.every((id) => validateEntityId(id))\n if (isValid) return true\n else {\n clipboardError(`Invalid link id format: \"${pasteValue}\". Paste operation cancelled.`)\n return false\n }\n }\n\n // Special handling for assignees - filter out invalid values instead of canceling\n if (colId === 'assignees') {\n // Split assignees by comma\n const assigneeValues = pasteValue.split(',').map((v) => v.trim())\n\n // Get assignee options from columnEnums\n const assigneeOptions = columnEnums['assignee'] || []\n\n // Filter to keep only valid assignees\n const validAssignees = assigneeValues.filter((v) =>\n assigneeOptions.some((opt) => opt.value === v || opt.label === v),\n )\n\n // Update the paste value in the parsed data\n if (isSingleCellValue) {\n parsedData[0].values[0] = validAssignees.join(', ')\n } else {\n const pasteRowIndex = rowIndex % parsedData.length\n const pasteColIndex = colIndex % parsedData[pasteRowIndex].values.length\n parsedData[pasteRowIndex].values[pasteColIndex] = validAssignees.join(', ')\n }\n\n return true\n }\n\n // Map subType to the actual field name\n let fieldId = colId === 'subType' ? (isFolder ? 'folderType' : 'taskType') : colId\n // Check if fieldId has a mapping to plural enum\n fieldId = builtInFieldMappings[fieldId as keyof typeof builtInFieldMappings] || fieldId\n\n // Skip validation for fields that don't have enums\n if (!(fieldId in columnEnums)) return true\n\n // Get the enum values for this field\n const enumOptions = columnEnums[fieldId as keyof typeof columnEnums]\n\n // Skip if no enum options are available\n if (!Array.isArray(enumOptions) || enumOptions.length === 0) return true\n\n // Check if the pasted value exists in the enum options\n const enumValues = pasteValue.split(',').map((v) => v.trim())\n const valueExists = enumValues.every((v) =>\n enumOptions.some((opt) => opt.value === v || opt.label === v),\n )\n\n if (!valueExists) {\n // Get a display name for the field (folderType/taskType → Type)\n const displayName =\n fieldId === 'folderType' || fieldId === 'taskType'\n ? `${isFolder ? 'folder' : 'task'} type`\n : fieldId\n\n clipboardError(`Invalid ${displayName} value: \"${pasteValue}\". Paste operation cancelled.`)\n return false\n }\n\n return true\n}\n"],"names":["validateClipboardData","params","colId","isFolder","pasteValue","parsedData","columnEnums","columnReadOnly","rowIndex","colIndex","isSingleCellValue","clipboardError","v","id","validateEntityId","assigneeValues","assigneeOptions","validAssignees","opt","pasteRowIndex","pasteColIndex","fieldId","builtInFieldMappings","enumOptions"],"mappings":";;;;;;AAKa,MAAAA,IAAwB,CAACC,MAUvB;AACP,QAAA;AAAA,IACJ,OAAAC;AAAA,IACA,UAAAC;AAAA,IACA,YAAAC;AAAA,IACA,YAAAC;AAAA,IACA,aAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,UAAAC;AAAA,IACA,UAAAC;AAAA,IACA,mBAAAC;AAAA,EAAA,IACET;AAGA,MAAA,CAACG,EAAmB,QAAA;AAGxB,MAAIG,EAAe,SAASL,EAAM,QAAQ,WAAW,EAAE,CAAC;AACvC,WAAAS,EAAA,8BAA8BT,CAAK,+BAA+B,GAC1E;AAIL,MAAAA,EAAM,WAAW,OAAO;AAM1B,WAJkBE,EAAW,MAAM,GAAG,EAAE,IAAI,CAACQ,MAAMA,EAAE,MAAM,EAGjC,MAAM,CAACC,MAAOC,EAAiBD,CAAE,CAAC,IACxC,MAEHF,EAAA,4BAA4BP,CAAU,+BAA+B,GAC7E;AAKX,MAAIF,MAAU,aAAa;AAEnB,UAAAa,IAAiBX,EAAW,MAAM,GAAG,EAAE,IAAI,CAACQ,MAAMA,EAAE,MAAM,GAG1DI,IAAkBV,EAAY,YAAe,CAAC,GAG9CW,IAAiBF,EAAe;AAAA,MAAO,CAACH,MAC5CI,EAAgB,KAAK,CAACE,MAAQA,EAAI,UAAUN,KAAKM,EAAI,UAAUN,CAAC;AAAA,IAClE;AAGA,QAAIF;AACF,MAAAL,EAAW,CAAC,EAAE,OAAO,CAAC,IAAIY,EAAe,KAAK,IAAI;AAAA,SAC7C;AACC,YAAAE,IAAgBX,IAAWH,EAAW,QACtCe,IAAgBX,IAAWJ,EAAWc,CAAa,EAAE,OAAO;AAClE,MAAAd,EAAWc,CAAa,EAAE,OAAOC,CAAa,IAAIH,EAAe,KAAK,IAAI;AAAA,IAAA;AAGrE,WAAA;AAAA,EAAA;AAIT,MAAII,IAAUnB,MAAU,YAAaC,IAAW,eAAe,aAAcD;AAKzE,MAHMmB,IAAAC,EAAqBD,CAA4C,KAAKA,GAG5E,EAAEA,KAAWf,GAAqB,QAAA;AAGhC,QAAAiB,IAAcjB,EAAYe,CAAmC;AAG/D,SAAA,CAAC,MAAM,QAAQE,CAAW,KAAKA,EAAY,WAAW,KAGvCnB,EAAW,MAAM,GAAG,EAAE,IAAI,CAACQ,MAAMA,EAAE,MAAM,EAC7B;AAAA,IAAM,CAACA,MACpCW,EAAY,KAAK,CAACL,MAAQA,EAAI,UAAUN,KAAKM,EAAI,UAAUN,CAAC;AAAA,EAC9D,IANoE,MAelED,EAAe,WAJbU,MAAY,gBAAgBA,MAAY,aACpC,GAAGlB,IAAW,WAAW,MAAM,UAC/BkB,CAE+B,YAAYjB,CAAU,+BAA+B,GACnF;AAIX;"}
1
+ {"version":3,"file":"clipboardValidation.es.js","sources":["../../../../../../../src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.ts"],"sourcesContent":["import { validateEntityId } from '@shared/util'\nimport { ColumnEnums, builtInFieldMappings, ParsedClipboardData } from './clipboardTypes'\nimport { clipboardError } from './clipboardUtils'\n\n// Columns that should have case-insensitive matching and value correction like assignees\nconst CASE_INSENSITIVE_COLUMNS = ['assignees', 'status', 'subType']\n\n// Validate clipboard data for enum fields and handle special cases\nexport const validateClipboardData = (params: {\n colId: string\n isFolder: boolean\n pasteValue: string\n parsedData: ParsedClipboardData[]\n columnEnums: ColumnEnums\n columnReadOnly: string[]\n rowIndex: number\n colIndex: number\n isSingleCellValue: boolean\n attribFields?: Array<{\n name: string\n data: { type: string; enum?: Array<{ value: string | number | boolean; label: string }> }\n }>\n}): boolean => {\n const {\n colId,\n isFolder,\n pasteValue,\n parsedData,\n columnEnums,\n columnReadOnly,\n rowIndex,\n colIndex,\n isSingleCellValue,\n attribFields = [],\n } = params\n\n // Skip validation for empty values\n if (!pasteValue) return true\n\n // Check if the column is read-only\n if (columnReadOnly.includes(colId.replace('attrib_', ''))) {\n clipboardError(`This column is read-only: \"${colId}\". Paste operation cancelled.`)\n return false\n }\n\n // special handling for links\n if (colId.startsWith('link_')) {\n // Split entity Ids by comma\n const entityIds = pasteValue.split(',').map((v) => v.trim())\n\n // check every id is valid\n const isValid = entityIds.every((id) => validateEntityId(id))\n if (isValid) return true\n else {\n clipboardError(`Invalid link id format: \"${pasteValue}\". Paste operation cancelled.`)\n return false\n }\n }\n\n // Special handling for columns that should have case-insensitive matching\n if (CASE_INSENSITIVE_COLUMNS.includes(colId)) {\n // Determine the enum key based on the column\n let enumKey = colId\n if (colId === 'assignees') {\n enumKey = 'assignee' // assignees uses 'assignee' enum key\n } else if (colId === 'subType') {\n enumKey = isFolder ? 'folderType' : 'taskType'\n } else if (colId === 'status') {\n enumKey = 'status'\n }\n\n // Get enum options\n const enumOptions = columnEnums[enumKey as keyof typeof columnEnums] || []\n\n if (enumOptions.length === 0) {\n // If no enum options available, skip validation\n return true\n }\n\n // Split values by comma\n const inputValues = pasteValue.split(',').map((v) => v.trim())\n const validValues: string[] = []\n\n for (const v of inputValues) {\n // First try exact match\n const exactMatch = enumOptions.find((opt) => opt.value === v || opt.label === v)\n if (exactMatch) {\n validValues.push(String(exactMatch.value))\n continue\n }\n\n // Try case-insensitive match\n const caseInsensitiveMatch = enumOptions.find(\n (opt) =>\n String(opt.value).toLowerCase() === v.toLowerCase() ||\n String(opt.label).toLowerCase() === v.toLowerCase(),\n )\n if (caseInsensitiveMatch) {\n validValues.push(String(caseInsensitiveMatch.value))\n continue\n }\n\n // For assignees, skip invalid values instead of failing\n if (colId === 'assignees') {\n // Skip invalid assignees\n } else {\n // For other columns, fail validation\n const displayName = colId === 'subType'\n ? `${isFolder ? 'folder' : 'task'} type`\n : colId === 'status'\n ? 'status'\n : colId\n clipboardError(`Invalid ${displayName} value: \"${pasteValue}\". Paste operation cancelled.`)\n return false\n }\n }\n\n // For assignees, require at least one valid value\n if (colId === 'assignees' && validValues.length === 0) {\n clipboardError(\n `Invalid assignee value: \"${pasteValue}\". No matching assignees found. Paste operation cancelled.`,\n )\n return false\n }\n\n // Update the paste value in the parsed data with corrected case\n const correctedValue = validValues.join(', ')\n\n if (correctedValue !== pasteValue) {\n if (isSingleCellValue) {\n parsedData[0].values[0] = correctedValue\n } else {\n const pasteRowIndex = rowIndex % parsedData.length\n const pasteColIndex = colIndex % parsedData[pasteRowIndex].values.length\n parsedData[pasteRowIndex].values[pasteColIndex] = correctedValue\n }\n }\n\n return true\n }\n\n // Validate attribute fields with specific type validation\n if (colId.startsWith('attrib_')) {\n const attributeName = colId.replace('attrib_', '')\n const attribute = attribFields.find((attr) => attr.name === attributeName)\n\n if (attribute) {\n // Number field validation (integer/float attributes)\n if (attribute.data.type === 'integer' || attribute.data.type === 'float') {\n // Check if the pasted value is a valid number\n const trimmedValue = pasteValue.trim()\n const isValidNumber = /^[-+]?(\\d+\\.?\\d*|\\.\\d+)([eE][-+]?\\d+)?$/.test(trimmedValue)\n\n if (!isValidNumber) {\n const fieldType = attribute.data.type === 'integer' ? 'integer' : 'number'\n clipboardError(\n `Invalid ${fieldType} value: \"${pasteValue}\". Must be a valid ${fieldType}. Paste operation cancelled.`,\n )\n return false\n }\n\n // For integer fields, check that it's actually an integer\n if (attribute.data.type === 'integer') {\n const num = parseFloat(trimmedValue)\n if (!Number.isInteger(num)) {\n clipboardError(\n `Invalid integer value: \"${pasteValue}\". Must be a whole number. Paste operation cancelled.`,\n )\n return false\n }\n }\n\n return true\n }\n\n // String enum validation for attributes with enum options\n if (\n attribute.data.type === 'string' &&\n attribute.data.enum &&\n attribute.data.enum.length > 0\n ) {\n const enumValues = pasteValue.split(',').map((v) => v.trim())\n\n // Try to match each value, with fallback to case-insensitive matching\n const { validValues, hasInvalidValues } = enumValues.reduce(\n (acc, v) => {\n // First try exact match\n const exactMatch = attribute.data.enum!.find(\n (opt) => opt.value === v || opt.label === v,\n )\n if (exactMatch) {\n acc.validValues.push(String(exactMatch.value))\n return acc\n }\n\n // Try case-insensitive match\n const caseInsensitiveMatch = attribute.data.enum!.find(\n (opt) =>\n String(opt.value).toLowerCase() === v.toLowerCase() ||\n String(opt.label).toLowerCase() === v.toLowerCase(),\n )\n if (caseInsensitiveMatch) {\n acc.validValues.push(String(caseInsensitiveMatch.value))\n return acc\n }\n\n // No match found\n acc.hasInvalidValues = true\n acc.validValues.push(v) // Keep original value for error message\n return acc\n },\n { validValues: [] as string[], hasInvalidValues: false },\n )\n\n if (hasInvalidValues) {\n clipboardError(\n `Invalid ${attributeName} value: \"${pasteValue}\". Must be one of the available options. Paste operation cancelled.`,\n )\n return false\n }\n\n // Update the paste value with corrected case if any corrections were made\n const correctedValue = validValues.join(', ')\n if (correctedValue !== pasteValue) {\n if (isSingleCellValue) {\n parsedData[0].values[0] = correctedValue\n } else {\n const pasteRowIndex = rowIndex % parsedData.length\n const pasteColIndex = colIndex % parsedData[pasteRowIndex].values.length\n parsedData[pasteRowIndex].values[pasteColIndex] = correctedValue\n }\n }\n\n return true\n }\n }\n }\n\n // Map subType to the actual field name\n let fieldId = colId === 'subType' ? (isFolder ? 'folderType' : 'taskType') : colId\n // Check if fieldId has a mapping to plural enum\n fieldId = builtInFieldMappings[fieldId as keyof typeof builtInFieldMappings] || fieldId\n\n // Skip validation for fields that don't have enums\n if (!(fieldId in columnEnums)) return true\n\n // Get the enum values for this field\n const enumOptions = columnEnums[fieldId as keyof typeof columnEnums]\n\n // Skip if no enum options are available\n if (!Array.isArray(enumOptions) || enumOptions.length === 0) return true\n\n // Check if the pasted value exists in the enum options with case-insensitive matching\n const enumValues = pasteValue.split(',').map((v) => v.trim())\n\n // Try to match each value, with fallback to case-insensitive matching\n const { validValues, hasInvalidValues } = enumValues.reduce(\n (acc, v) => {\n // First try exact match\n const exactMatch = enumOptions.find((opt) => opt.value === v || opt.label === v)\n if (exactMatch) {\n acc.validValues.push(String(exactMatch.value))\n return acc\n }\n\n // Try case-insensitive match\n const caseInsensitiveMatch = enumOptions.find(\n (opt) =>\n String(opt.value).toLowerCase() === v.toLowerCase() ||\n String(opt.label).toLowerCase() === v.toLowerCase(),\n )\n if (caseInsensitiveMatch) {\n acc.validValues.push(String(caseInsensitiveMatch.value))\n return acc\n }\n\n // No match found\n acc.hasInvalidValues = true\n acc.validValues.push(v) // Keep original value for error message\n return acc\n },\n { validValues: [] as string[], hasInvalidValues: false },\n )\n\n if (hasInvalidValues) {\n // Get a display name for the field (folderType/taskType → Type)\n const displayName =\n fieldId === 'folderType' || fieldId === 'taskType'\n ? `${isFolder ? 'folder' : 'task'} type`\n : fieldId\n\n clipboardError(`Invalid ${displayName} value: \"${pasteValue}\". Paste operation cancelled.`)\n return false\n }\n\n // Update the paste value with corrected case if any corrections were made\n const correctedValue = validValues.join(', ')\n if (correctedValue !== pasteValue) {\n if (isSingleCellValue) {\n parsedData[0].values[0] = correctedValue\n } else {\n const pasteRowIndex = rowIndex % parsedData.length\n const pasteColIndex = colIndex % parsedData[pasteRowIndex].values.length\n parsedData[pasteRowIndex].values[pasteColIndex] = correctedValue\n }\n }\n\n return true\n}\n"],"names":["CASE_INSENSITIVE_COLUMNS","validateClipboardData","params","colId","isFolder","pasteValue","parsedData","columnEnums","columnReadOnly","rowIndex","colIndex","isSingleCellValue","attribFields","clipboardError","v","id","validateEntityId","enumKey","enumOptions","inputValues","validValues","exactMatch","opt","caseInsensitiveMatch","correctedValue","pasteRowIndex","pasteColIndex","attributeName","attribute","attr","trimmedValue","fieldType","num","enumValues","hasInvalidValues","acc","fieldId","builtInFieldMappings"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";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 f=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");const m=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");const y=({projectName:u})=>{const{data:q,isSuccess:t,isFetching:s}=m.useGetSiteInfoQuery({full:!0}),{attributes:n=[]}=q||{},{data:a}=f.useGetMyProjectPermissionsQuery({projectName:u},{skip:!u}),{attrib_read:c,attrib_write:l}=a||{},{enabled:o,attributes:r}=c||{},{enabled:d,attributes:i,fields:b}=l||{};return{attribFields:n.filter(e=>!o||(r==null?void 0:r.includes(e.name))).map(e=>({...e,readOnly:d?!(i!=null&&i.includes(e.name)):!1})),writableFields:b,isSuccess:t,isFetching:s}};module.exports=y;
1
+ "use strict";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");const o=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");const f=({projectPermissions:u})=>{const{data:q,isSuccess:t,isFetching:s}=o.useGetSiteInfoQuery({full:!0}),{attributes:n=[]}=q||{},{attrib_read:a,attrib_write:l}=u||{},{enabled:c,attributes:r}=a||{},{enabled:d,attributes:i,fields:b}=l||{};return{attribFields:n.filter(e=>!c||(r==null?void 0:r.includes(e.name))).map(e=>({...e,readOnly:d?!(i!=null&&i.includes(e.name)):!1})),writableFields:b,isSuccess:t,isFetching:s}};module.exports=f;
2
2
  //# sourceMappingURL=useAttributesList.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useAttributesList.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useAttributesList.ts"],"sourcesContent":["import { useGetSiteInfoQuery, useGetMyProjectPermissionsQuery, AttributeModel } from '@shared/api'\n\nexport interface ProjectTableAttribute extends AttributeModel {\n readOnly?: boolean\n}\n\nconst useAttributeFields = ({ projectName }: { projectName: string }) => {\n const { data: info, isSuccess, isFetching } = useGetSiteInfoQuery({ full: true })\n const { attributes = [] } = info || {}\n\n const { data: projectPermissions } = useGetMyProjectPermissionsQuery(\n { projectName },\n { skip: !projectName },\n )\n const { attrib_read, attrib_write } = projectPermissions || {}\n const { enabled: attribReadEnabled, attributes: attribReadAttributes } = attrib_read || {}\n const {\n enabled: attribWriteEnabled,\n attributes: attribWriteAttributes,\n fields: writableFields,\n } = attrib_write || {}\n\n // filter out scopes and filter out attributes that do not have read access\n const attribFields: ProjectTableAttribute[] = attributes\n .filter((a) => !attribReadEnabled || attribReadAttributes?.includes(a.name))\n .map((a) => ({\n ...a,\n readOnly: attribWriteEnabled ? !attribWriteAttributes?.includes(a.name) : false,\n }))\n\n return { attribFields, writableFields, isSuccess, isFetching }\n}\n\nexport default useAttributeFields\n"],"names":["useAttributeFields","projectName","info","isSuccess","isFetching","useGetSiteInfoQuery","attributes","projectPermissions","useGetMyProjectPermissionsQuery","attrib_read","attrib_write","attribReadEnabled","attribReadAttributes","attribWriteEnabled","attribWriteAttributes","writableFields","a"],"mappings":"kwIAMA,MAAMA,EAAqB,CAAC,CAAE,YAAAC,KAA2C,CACjE,KAAA,CAAE,KAAMC,EAAM,UAAAC,EAAW,WAAAC,GAAeC,sBAAoB,CAAE,KAAM,GAAM,EAC1E,CAAE,WAAAC,EAAa,EAAG,EAAIJ,GAAQ,CAAC,EAE/B,CAAE,KAAMK,CAAA,EAAuBC,EAAA,gCACnC,CAAE,YAAAP,CAAY,EACd,CAAE,KAAM,CAACA,CAAY,CACvB,EACM,CAAE,YAAAQ,EAAa,aAAAC,CAAa,EAAIH,GAAsB,CAAC,EACvD,CAAE,QAASI,EAAmB,WAAYC,CAAqB,EAAIH,GAAe,CAAC,EACnF,CACJ,QAASI,EACT,WAAYC,EACZ,OAAQC,CACV,EAAIL,GAAgB,CAAC,EAUrB,MAAO,CAAE,aAPqCJ,EAC3C,OAAQU,GAAM,CAACL,IAAqBC,GAAA,YAAAA,EAAsB,SAASI,EAAE,MAAK,EAC1E,IAAKA,IAAO,CACX,GAAGA,EACH,SAAUH,EAAqB,EAACC,GAAA,MAAAA,EAAuB,SAASE,EAAE,OAAQ,EAAA,EAC1E,EAEmB,eAAAD,EAAgB,UAAAZ,EAAW,WAAAC,CAAW,CAC/D"}
1
+ {"version":3,"file":"useAttributesList.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useAttributesList.ts"],"sourcesContent":["import { useGetSiteInfoQuery, AttributeModel, Permissions } from '@shared/api'\n\nexport interface ProjectTableAttribute extends AttributeModel {\n readOnly?: boolean\n}\n\ninterface UseAttributeFieldsParams {\n projectPermissions?: Permissions\n}\n\nconst useAttributeFields = ({ projectPermissions }: UseAttributeFieldsParams) => {\n const { data: info, isSuccess, isFetching } = useGetSiteInfoQuery({ full: true })\n const { attributes = [] } = info || {}\n\n const { attrib_read, attrib_write } = projectPermissions || {}\n const { enabled: attribReadEnabled, attributes: attribReadAttributes } = attrib_read || {}\n const {\n enabled: attribWriteEnabled,\n attributes: attribWriteAttributes,\n fields: writableFields,\n } = attrib_write || {}\n\n // filter out scopes and filter out attributes that do not have read access\n const attribFields: ProjectTableAttribute[] = attributes\n .filter((a) => !attribReadEnabled || attribReadAttributes?.includes(a.name))\n .map((a) => ({\n ...a,\n readOnly: attribWriteEnabled ? !attribWriteAttributes?.includes(a.name) : false,\n }))\n\n return { attribFields, writableFields, isSuccess, isFetching }\n}\n\nexport default useAttributeFields\n"],"names":["useAttributeFields","projectPermissions","info","isSuccess","isFetching","useGetSiteInfoQuery","attributes","attrib_read","attrib_write","attribReadEnabled","attribReadAttributes","attribWriteEnabled","attribWriteAttributes","writableFields","a"],"mappings":"0vIAUA,MAAMA,EAAqB,CAAC,CAAE,mBAAAC,KAAmD,CACzE,KAAA,CAAE,KAAMC,EAAM,UAAAC,EAAW,WAAAC,GAAeC,sBAAoB,CAAE,KAAM,GAAM,EAC1E,CAAE,WAAAC,EAAa,EAAG,EAAIJ,GAAQ,CAAC,EAE/B,CAAE,YAAAK,EAAa,aAAAC,CAAa,EAAIP,GAAsB,CAAC,EACvD,CAAE,QAASQ,EAAmB,WAAYC,CAAqB,EAAIH,GAAe,CAAC,EACnF,CACJ,QAASI,EACT,WAAYC,EACZ,OAAQC,CACV,EAAIL,GAAgB,CAAC,EAUrB,MAAO,CAAE,aAPqCF,EAC3C,OAAQQ,GAAM,CAACL,IAAqBC,GAAA,YAAAA,EAAsB,SAASI,EAAE,MAAK,EAC1E,IAAKA,IAAO,CACX,GAAGA,EACH,SAAUH,EAAqB,EAACC,GAAA,MAAAA,EAAuB,SAASE,EAAE,OAAQ,EAAA,EAC1E,EAEmB,eAAAD,EAAgB,UAAAV,EAAW,WAAAC,CAAW,CAC/D"}
@@ -61,14 +61,14 @@ import "../../../api/queries/links/getLinks.es.js";
61
61
  import "../../../api/queries/links/getEntityLinks.es.js";
62
62
  import "../../../api/queries/overview/getOverview.es.js";
63
63
  import "../../../api/queries/overview/updateOverview.es.js";
64
- import { useGetMyProjectPermissionsQuery as b } from "../../../api/queries/permissions/getPermissions.es.js";
64
+ import "../../../api/queries/permissions/getPermissions.es.js";
65
65
  import "../../../api/queries/products/createProduct.es.js";
66
66
  import "../../../api/queries/project/getProject.es.js";
67
67
  import "../../../api/queries/project/updateProject.es.js";
68
68
  import "../../../api/queries/review/getReview.es.js";
69
69
  import "../../../api/queries/review/updateReview.es.js";
70
70
  import "../../../api/queries/share/share.es.js";
71
- import { useGetSiteInfoQuery as f } from "../../../api/queries/system/getSystem.es.js";
71
+ import { useGetSiteInfoQuery as u } from "../../../api/queries/system/getSystem.es.js";
72
72
  import "../../../api/queries/userDashboard/getUserDashboard.es.js";
73
73
  import "../../../api/queries/users/getUsers.es.js";
74
74
  import "../../../api/queries/users/updateUsers.es.js";
@@ -76,19 +76,16 @@ import "../../../api/queries/versions/updateVersions.es.js";
76
76
  import "../../../api/queries/views/getViews.es.js";
77
77
  import "../../../api/queries/views/updateViews.es.js";
78
78
  import "../../../api/queries/watchers/getWatchers.es.js";
79
- const Kt = ({ projectName: o }) => {
80
- const { data: m, isSuccess: p, isFetching: e } = f({ full: !0 }), { attributes: s = [] } = m || {}, { data: n } = b(
81
- { projectName: o },
82
- { skip: !o }
83
- ), { attrib_read: a, attrib_write: l } = n || {}, { enabled: d, attributes: i } = a || {}, {
84
- enabled: c,
79
+ const Kt = ({ projectPermissions: o }) => {
80
+ const { data: m, isSuccess: p, isFetching: e } = u({ full: !0 }), { attributes: s = [] } = m || {}, { attrib_read: a, attrib_write: n } = o || {}, { enabled: l, attributes: i } = a || {}, {
81
+ enabled: d,
85
82
  attributes: r,
86
- fields: u
87
- } = l || {};
88
- return { attribFields: s.filter((t) => !d || (i == null ? void 0 : i.includes(t.name))).map((t) => ({
83
+ fields: c
84
+ } = n || {};
85
+ return { attribFields: s.filter((t) => !l || (i == null ? void 0 : i.includes(t.name))).map((t) => ({
89
86
  ...t,
90
- readOnly: c ? !(r != null && r.includes(t.name)) : !1
91
- })), writableFields: u, isSuccess: p, isFetching: e };
87
+ readOnly: d ? !(r != null && r.includes(t.name)) : !1
88
+ })), writableFields: c, isSuccess: p, isFetching: e };
92
89
  };
93
90
  export {
94
91
  Kt as default
@@ -1 +1 @@
1
- {"version":3,"file":"useAttributesList.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useAttributesList.ts"],"sourcesContent":["import { useGetSiteInfoQuery, useGetMyProjectPermissionsQuery, AttributeModel } from '@shared/api'\n\nexport interface ProjectTableAttribute extends AttributeModel {\n readOnly?: boolean\n}\n\nconst useAttributeFields = ({ projectName }: { projectName: string }) => {\n const { data: info, isSuccess, isFetching } = useGetSiteInfoQuery({ full: true })\n const { attributes = [] } = info || {}\n\n const { data: projectPermissions } = useGetMyProjectPermissionsQuery(\n { projectName },\n { skip: !projectName },\n )\n const { attrib_read, attrib_write } = projectPermissions || {}\n const { enabled: attribReadEnabled, attributes: attribReadAttributes } = attrib_read || {}\n const {\n enabled: attribWriteEnabled,\n attributes: attribWriteAttributes,\n fields: writableFields,\n } = attrib_write || {}\n\n // filter out scopes and filter out attributes that do not have read access\n const attribFields: ProjectTableAttribute[] = attributes\n .filter((a) => !attribReadEnabled || attribReadAttributes?.includes(a.name))\n .map((a) => ({\n ...a,\n readOnly: attribWriteEnabled ? !attribWriteAttributes?.includes(a.name) : false,\n }))\n\n return { attribFields, writableFields, isSuccess, isFetching }\n}\n\nexport default useAttributeFields\n"],"names":["useAttributeFields","projectName","info","isSuccess","isFetching","useGetSiteInfoQuery","attributes","projectPermissions","useGetMyProjectPermissionsQuery","attrib_read","attrib_write","attribReadEnabled","attribReadAttributes","attribWriteEnabled","attribWriteAttributes","writableFields","a"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,MAAMA,KAAqB,CAAC,EAAE,aAAAC,QAA2C;AACjE,QAAA,EAAE,MAAMC,GAAM,WAAAC,GAAW,YAAAC,MAAeC,EAAoB,EAAE,MAAM,IAAM,GAC1E,EAAE,YAAAC,IAAa,GAAG,IAAIJ,KAAQ,CAAC,GAE/B,EAAE,MAAMK,EAAA,IAAuBC;AAAA,IACnC,EAAE,aAAAP,EAAY;AAAA,IACd,EAAE,MAAM,CAACA,EAAY;AAAA,EACvB,GACM,EAAE,aAAAQ,GAAa,cAAAC,EAAa,IAAIH,KAAsB,CAAC,GACvD,EAAE,SAASI,GAAmB,YAAYC,EAAqB,IAAIH,KAAe,CAAC,GACnF;AAAA,IACJ,SAASI;AAAA,IACT,YAAYC;AAAA,IACZ,QAAQC;AAAA,EACV,IAAIL,KAAgB,CAAC;AAUrB,SAAO,EAAE,cAPqCJ,EAC3C,OAAO,CAACU,MAAM,CAACL,MAAqBC,KAAA,gBAAAA,EAAsB,SAASI,EAAE,MAAK,EAC1E,IAAI,CAACA,OAAO;AAAA,IACX,GAAGA;AAAA,IACH,UAAUH,IAAqB,EAACC,KAAA,QAAAA,EAAuB,SAASE,EAAE,SAAQ;AAAA,EAAA,EAC1E,GAEmB,gBAAAD,GAAgB,WAAAZ,GAAW,YAAAC,EAAW;AAC/D;"}
1
+ {"version":3,"file":"useAttributesList.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useAttributesList.ts"],"sourcesContent":["import { useGetSiteInfoQuery, AttributeModel, Permissions } from '@shared/api'\n\nexport interface ProjectTableAttribute extends AttributeModel {\n readOnly?: boolean\n}\n\ninterface UseAttributeFieldsParams {\n projectPermissions?: Permissions\n}\n\nconst useAttributeFields = ({ projectPermissions }: UseAttributeFieldsParams) => {\n const { data: info, isSuccess, isFetching } = useGetSiteInfoQuery({ full: true })\n const { attributes = [] } = info || {}\n\n const { attrib_read, attrib_write } = projectPermissions || {}\n const { enabled: attribReadEnabled, attributes: attribReadAttributes } = attrib_read || {}\n const {\n enabled: attribWriteEnabled,\n attributes: attribWriteAttributes,\n fields: writableFields,\n } = attrib_write || {}\n\n // filter out scopes and filter out attributes that do not have read access\n const attribFields: ProjectTableAttribute[] = attributes\n .filter((a) => !attribReadEnabled || attribReadAttributes?.includes(a.name))\n .map((a) => ({\n ...a,\n readOnly: attribWriteEnabled ? !attribWriteAttributes?.includes(a.name) : false,\n }))\n\n return { attribFields, writableFields, isSuccess, isFetching }\n}\n\nexport default useAttributeFields\n"],"names":["useAttributeFields","projectPermissions","info","isSuccess","isFetching","useGetSiteInfoQuery","attributes","attrib_read","attrib_write","attribReadEnabled","attribReadAttributes","attribWriteEnabled","attribWriteAttributes","writableFields","a"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUA,MAAMA,KAAqB,CAAC,EAAE,oBAAAC,QAAmD;AACzE,QAAA,EAAE,MAAMC,GAAM,WAAAC,GAAW,YAAAC,MAAeC,EAAoB,EAAE,MAAM,IAAM,GAC1E,EAAE,YAAAC,IAAa,GAAG,IAAIJ,KAAQ,CAAC,GAE/B,EAAE,aAAAK,GAAa,cAAAC,EAAa,IAAIP,KAAsB,CAAC,GACvD,EAAE,SAASQ,GAAmB,YAAYC,EAAqB,IAAIH,KAAe,CAAC,GACnF;AAAA,IACJ,SAASI;AAAA,IACT,YAAYC;AAAA,IACZ,QAAQC;AAAA,EACV,IAAIL,KAAgB,CAAC;AAUrB,SAAO,EAAE,cAPqCF,EAC3C,OAAO,CAACQ,MAAM,CAACL,MAAqBC,KAAA,gBAAAA,EAAsB,SAASI,EAAE,MAAK,EAC1E,IAAI,CAACA,OAAO;AAAA,IACX,GAAGA;AAAA,IACH,UAAUH,IAAqB,EAACC,KAAA,QAAAA,EAAuB,SAASE,EAAE,SAAQ;AAAA,EAAA,EAC1E,GAEmB,gBAAAD,GAAgB,WAAAV,GAAW,YAAAC,EAAW;AAC/D;"}