@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.
- package/dist/DetailsPanel.cjs.js +1 -1
- package/dist/DetailsPanel.es.js +6 -6
- package/dist/Views.cjs.js.map +1 -1
- package/dist/Views.es.js.map +1 -1
- package/dist/api.cjs.js +1 -1
- package/dist/api.es.js +151 -153
- package/dist/components.cjs.js +1 -1
- package/dist/components.es.js +79 -86
- package/dist/components.es.js.map +1 -1
- package/dist/hooks.cjs.js +1 -1
- package/dist/hooks.es.js +8 -6
- package/dist/hooks.es.js.map +1 -1
- package/dist/index.cjs.js +1 -1
- package/dist/index.es.js +6 -6
- package/dist/node_modules/@ungap/structured-clone/esm/deserialize.cjs.js +2 -0
- package/dist/node_modules/@ungap/structured-clone/esm/deserialize.cjs.js.map +1 -0
- package/dist/node_modules/@ungap/structured-clone/esm/deserialize.es.js +63 -0
- package/dist/node_modules/@ungap/structured-clone/esm/deserialize.es.js.map +1 -0
- package/dist/node_modules/@ungap/structured-clone/esm/index.cjs.js +2 -0
- package/dist/node_modules/@ungap/structured-clone/esm/index.cjs.js.map +1 -0
- package/dist/node_modules/@ungap/structured-clone/esm/index.es.js +12 -0
- package/dist/node_modules/@ungap/structured-clone/esm/index.es.js.map +1 -0
- package/dist/node_modules/@ungap/structured-clone/esm/serialize.cjs.js +2 -0
- package/dist/node_modules/@ungap/structured-clone/esm/serialize.cjs.js.map +1 -0
- package/dist/node_modules/@ungap/structured-clone/esm/serialize.es.js +107 -0
- package/dist/node_modules/@ungap/structured-clone/esm/serialize.es.js.map +1 -0
- package/dist/node_modules/@ungap/structured-clone/esm/types.cjs.js +2 -0
- package/dist/node_modules/@ungap/structured-clone/esm/types.cjs.js.map +1 -0
- package/dist/node_modules/@ungap/structured-clone/esm/types.es.js +14 -0
- package/dist/node_modules/@ungap/structured-clone/esm/types.es.js.map +1 -0
- package/dist/node_modules/devlop/lib/default.cjs.js +2 -0
- package/dist/node_modules/devlop/lib/default.cjs.js.map +1 -0
- package/dist/node_modules/devlop/lib/default.es.js +6 -0
- package/dist/node_modules/devlop/lib/default.es.js.map +1 -0
- package/dist/node_modules/entities/dist/esm/decode-codepoint.cjs.js +2 -0
- package/dist/node_modules/entities/dist/esm/decode-codepoint.cjs.js.map +1 -0
- package/dist/node_modules/entities/dist/esm/decode-codepoint.es.js +39 -0
- package/dist/node_modules/entities/dist/esm/decode-codepoint.es.js.map +1 -0
- package/dist/node_modules/entities/dist/esm/decode.cjs.js +2 -0
- package/dist/node_modules/entities/dist/esm/decode.cjs.js.map +1 -0
- package/dist/node_modules/entities/dist/esm/decode.es.js +246 -0
- package/dist/node_modules/entities/dist/esm/decode.es.js.map +1 -0
- package/dist/node_modules/entities/dist/esm/generated/decode-data-html.cjs.js +2 -0
- package/dist/node_modules/entities/dist/esm/generated/decode-data-html.cjs.js.map +1 -0
- package/dist/node_modules/entities/dist/esm/generated/decode-data-html.es.js +8 -0
- package/dist/node_modules/entities/dist/esm/generated/decode-data-html.es.js.map +1 -0
- package/dist/node_modules/hast-util-raw/lib/index.cjs.js +2 -0
- package/dist/node_modules/hast-util-raw/lib/index.cjs.js.map +1 -0
- package/dist/node_modules/hast-util-raw/lib/index.es.js +218 -0
- package/dist/node_modules/hast-util-raw/lib/index.es.js.map +1 -0
- package/dist/node_modules/hast-util-raw/node_modules/hast-util-from-parse5/lib/index.cjs.js +2 -0
- package/dist/node_modules/hast-util-raw/node_modules/hast-util-from-parse5/lib/index.cjs.js.map +1 -0
- package/dist/node_modules/hast-util-raw/node_modules/hast-util-from-parse5/lib/index.es.js +146 -0
- package/dist/node_modules/hast-util-raw/node_modules/hast-util-from-parse5/lib/index.es.js.map +1 -0
- package/dist/node_modules/hast-util-raw/node_modules/hast-util-parse-selector/lib/index.cjs.js +2 -0
- package/dist/node_modules/hast-util-raw/node_modules/hast-util-parse-selector/lib/index.cjs.js.map +1 -0
- package/dist/node_modules/hast-util-raw/node_modules/hast-util-parse-selector/lib/index.es.js +21 -0
- package/dist/node_modules/hast-util-raw/node_modules/hast-util-parse-selector/lib/index.es.js.map +1 -0
- package/dist/node_modules/hast-util-raw/node_modules/hastscript/lib/create-h.cjs.js +2 -0
- package/dist/node_modules/hast-util-raw/node_modules/hastscript/lib/create-h.cjs.js.map +1 -0
- package/dist/node_modules/hast-util-raw/node_modules/hastscript/lib/create-h.es.js +113 -0
- package/dist/node_modules/hast-util-raw/node_modules/hastscript/lib/create-h.es.js.map +1 -0
- package/dist/node_modules/hast-util-raw/node_modules/hastscript/lib/index.cjs.js +2 -0
- package/dist/node_modules/hast-util-raw/node_modules/hastscript/lib/index.cjs.js.map +1 -0
- package/dist/node_modules/hast-util-raw/node_modules/hastscript/lib/index.es.js +9 -0
- package/dist/node_modules/hast-util-raw/node_modules/hastscript/lib/index.es.js.map +1 -0
- package/dist/node_modules/hast-util-raw/node_modules/hastscript/lib/svg-case-sensitive-tag-names.cjs.js +2 -0
- package/dist/node_modules/hast-util-raw/node_modules/hastscript/lib/svg-case-sensitive-tag-names.cjs.js.map +1 -0
- package/dist/node_modules/hast-util-raw/node_modules/hastscript/lib/svg-case-sensitive-tag-names.es.js +45 -0
- package/dist/node_modules/hast-util-raw/node_modules/hastscript/lib/svg-case-sensitive-tag-names.es.js.map +1 -0
- package/dist/node_modules/hast-util-raw/node_modules/html-void-elements/index.cjs.js +2 -0
- package/dist/node_modules/hast-util-raw/node_modules/html-void-elements/index.cjs.js.map +1 -0
- package/dist/node_modules/hast-util-raw/node_modules/html-void-elements/index.es.js +26 -0
- package/dist/node_modules/hast-util-raw/node_modules/html-void-elements/index.es.js.map +1 -0
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/common/doctype.cjs.js +2 -0
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/common/doctype.cjs.js.map +1 -0
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/common/doctype.es.js +99 -0
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/common/doctype.es.js.map +1 -0
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/common/error-codes.cjs.js +2 -0
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/common/error-codes.cjs.js.map +1 -0
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/common/error-codes.es.js +8 -0
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/common/error-codes.es.js.map +1 -0
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/common/foreign-content.cjs.js +2 -0
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/common/foreign-content.cjs.js.map +1 -0
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/common/foreign-content.es.js +211 -0
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/common/foreign-content.es.js.map +1 -0
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/common/html.cjs.js +2 -0
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/common/html.cjs.js.map +1 -0
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/common/html.es.js +251 -0
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/common/html.es.js.map +1 -0
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/common/token.cjs.js +2 -0
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/common/token.cjs.js.map +1 -0
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/common/token.es.js +15 -0
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/common/token.es.js.map +1 -0
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/common/unicode.cjs.js +2 -0
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/common/unicode.cjs.js.map +1 -0
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/common/unicode.es.js +74 -0
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/common/unicode.es.js.map +1 -0
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/parser/formatting-element-list.cjs.js +2 -0
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/parser/formatting-element-list.cjs.js.map +1 -0
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/parser/formatting-element-list.es.js +85 -0
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/parser/formatting-element-list.es.js.map +1 -0
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/parser/index.cjs.js +2 -0
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/parser/index.cjs.js.map +1 -0
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/parser/index.es.js +2272 -0
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/parser/index.es.js.map +1 -0
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/parser/open-element-stack.cjs.js +2 -0
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/parser/open-element-stack.cjs.js.map +1 -0
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/parser/open-element-stack.es.js +241 -0
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/parser/open-element-stack.es.js.map +1 -0
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/serializer/index.cjs.js +2 -0
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/serializer/index.cjs.js.map +1 -0
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/serializer/index.es.js +3 -0
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/serializer/index.es.js.map +1 -0
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/tokenizer/index.cjs.js +2 -0
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/tokenizer/index.cjs.js.map +1 -0
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/tokenizer/index.es.js +1941 -0
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/tokenizer/index.es.js.map +1 -0
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/tokenizer/preprocessor.cjs.js +2 -0
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/tokenizer/preprocessor.cjs.js.map +1 -0
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/tokenizer/preprocessor.es.js +89 -0
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/tokenizer/preprocessor.es.js.map +1 -0
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/tree-adapters/default.cjs.js +2 -0
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/tree-adapters/default.cjs.js.map +1 -0
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/tree-adapters/default.es.js +163 -0
- package/dist/node_modules/hast-util-raw/node_modules/parse5/dist/tree-adapters/default.es.js.map +1 -0
- package/dist/node_modules/hast-util-raw/node_modules/property-information/index.cjs.js +2 -0
- package/dist/node_modules/hast-util-raw/node_modules/property-information/index.cjs.js.map +1 -0
- package/dist/node_modules/hast-util-raw/node_modules/property-information/index.es.js +13 -0
- package/dist/node_modules/hast-util-raw/node_modules/property-information/index.es.js.map +1 -0
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/aria.cjs.js +2 -0
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/aria.cjs.js.map +1 -0
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/aria.es.js +62 -0
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/aria.es.js.map +1 -0
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/find.cjs.js +2 -0
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/find.cjs.js.map +1 -0
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/find.es.js +34 -0
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/find.es.js.map +1 -0
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/html.cjs.js +2 -0
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/html.cjs.js.map +1 -0
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/html.es.js +369 -0
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/html.es.js.map +1 -0
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/normalize.cjs.js +2 -0
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/normalize.cjs.js.map +1 -0
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/normalize.es.js +7 -0
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/normalize.es.js.map +1 -0
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/svg.cjs.js +2 -0
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/svg.cjs.js.map +1 -0
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/svg.es.js +567 -0
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/svg.es.js.map +1 -0
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/case-insensitive-transform.cjs.js +2 -0
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/case-insensitive-transform.cjs.js.map +1 -0
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/case-insensitive-transform.es.js +8 -0
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/case-insensitive-transform.es.js.map +1 -0
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/case-sensitive-transform.cjs.js +2 -0
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/case-sensitive-transform.cjs.js.map +1 -0
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/case-sensitive-transform.es.js +7 -0
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/case-sensitive-transform.es.js.map +1 -0
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/create.cjs.js +2 -0
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/create.cjs.js.map +1 -0
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/create.es.js +20 -0
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/create.es.js.map +1 -0
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/defined-info.cjs.js +2 -0
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/defined-info.cjs.js.map +1 -0
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/defined-info.es.js +37 -0
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/defined-info.es.js.map +1 -0
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/info.cjs.js +2 -0
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/info.cjs.js.map +1 -0
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/info.es.js +29 -0
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/info.es.js.map +1 -0
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/merge.cjs.js +2 -0
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/merge.cjs.js.map +1 -0
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/merge.es.js +11 -0
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/merge.es.js.map +1 -0
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/schema.cjs.js +2 -0
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/schema.cjs.js.map +1 -0
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/schema.es.js +22 -0
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/schema.es.js.map +1 -0
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/types.cjs.js +2 -0
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/types.cjs.js.map +1 -0
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/types.es.js +15 -0
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/util/types.es.js.map +1 -0
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/xlink.cjs.js +2 -0
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/xlink.cjs.js.map +1 -0
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/xlink.es.js +20 -0
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/xlink.es.js.map +1 -0
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/xml.cjs.js +2 -0
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/xml.cjs.js.map +1 -0
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/xml.es.js +12 -0
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/xml.es.js.map +1 -0
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/xmlns.cjs.js +2 -0
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/xmlns.cjs.js.map +1 -0
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/xmlns.es.js +12 -0
- package/dist/node_modules/hast-util-raw/node_modules/property-information/lib/xmlns.es.js.map +1 -0
- package/dist/node_modules/hast-util-raw/node_modules/vfile-location/lib/index.cjs.js +3 -0
- package/dist/node_modules/hast-util-raw/node_modules/vfile-location/lib/index.cjs.js.map +1 -0
- package/dist/node_modules/hast-util-raw/node_modules/vfile-location/lib/index.es.js +43 -0
- package/dist/node_modules/hast-util-raw/node_modules/vfile-location/lib/index.es.js.map +1 -0
- package/dist/node_modules/hast-util-to-parse5/lib/index.cjs.js +2 -0
- package/dist/node_modules/hast-util-to-parse5/lib/index.cjs.js.map +1 -0
- package/dist/node_modules/hast-util-to-parse5/lib/index.es.js +119 -0
- package/dist/node_modules/hast-util-to-parse5/lib/index.es.js.map +1 -0
- package/dist/node_modules/rehype/node_modules/unified/lib/index.cjs.js +1 -1
- package/dist/node_modules/rehype/node_modules/unified/lib/index.cjs.js.map +1 -1
- package/dist/node_modules/rehype/node_modules/unified/lib/index.es.js +1 -1
- package/dist/node_modules/rehype/node_modules/unist-util-stringify-position/lib/index.cjs.js.map +1 -0
- 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
- package/dist/node_modules/rehype/node_modules/vfile/lib/index.cjs.js +2 -0
- package/dist/node_modules/rehype/node_modules/vfile/lib/index.cjs.js.map +1 -0
- package/dist/node_modules/{vfile → rehype/node_modules/vfile}/lib/index.es.js +2 -2
- package/dist/node_modules/rehype/node_modules/vfile/lib/index.es.js.map +1 -0
- package/dist/node_modules/rehype/node_modules/vfile/lib/minpath.browser.cjs.js.map +1 -0
- package/dist/node_modules/rehype/node_modules/vfile/lib/minpath.browser.es.js.map +1 -0
- package/dist/node_modules/rehype/node_modules/vfile/lib/minproc.browser.cjs.js.map +1 -0
- package/dist/node_modules/rehype/node_modules/vfile/lib/minproc.browser.es.js.map +1 -0
- package/dist/node_modules/rehype/node_modules/vfile/lib/minurl.browser.cjs.js.map +1 -0
- package/dist/node_modules/rehype/node_modules/vfile/lib/minurl.browser.es.js.map +1 -0
- package/dist/node_modules/rehype/node_modules/vfile/lib/minurl.shared.cjs.js.map +1 -0
- package/dist/node_modules/rehype/node_modules/vfile/lib/minurl.shared.es.js.map +1 -0
- package/dist/node_modules/rehype/node_modules/vfile-message/lib/index.cjs.js.map +1 -0
- 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
- package/dist/node_modules/rehype-raw/lib/index.cjs.js +2 -0
- package/dist/node_modules/rehype-raw/lib/index.cjs.js.map +1 -0
- package/dist/node_modules/rehype-raw/lib/index.es.js +13 -0
- package/dist/node_modules/rehype-raw/lib/index.es.js.map +1 -0
- package/dist/node_modules/unist-util-is/lib/index.cjs.js +2 -0
- package/dist/node_modules/unist-util-is/lib/index.cjs.js.map +1 -0
- package/dist/node_modules/unist-util-is/lib/index.es.js +85 -0
- package/dist/node_modules/unist-util-is/lib/index.es.js.map +1 -0
- package/dist/node_modules/unist-util-position/lib/index.cjs.js +2 -0
- package/dist/node_modules/unist-util-position/lib/index.cjs.js.map +1 -0
- package/dist/node_modules/unist-util-position/lib/index.es.js +18 -0
- package/dist/node_modules/unist-util-position/lib/index.es.js.map +1 -0
- package/dist/node_modules/unist-util-visit/lib/index.cjs.js +2 -0
- package/dist/node_modules/unist-util-visit/lib/index.cjs.js.map +1 -0
- package/dist/node_modules/unist-util-visit/lib/index.es.js +17 -0
- package/dist/node_modules/unist-util-visit/lib/index.es.js.map +1 -0
- package/dist/node_modules/unist-util-visit-parents/lib/color.cjs.js +2 -0
- package/dist/node_modules/unist-util-visit-parents/lib/color.cjs.js.map +1 -0
- package/dist/node_modules/unist-util-visit-parents/lib/color.es.js +7 -0
- package/dist/node_modules/unist-util-visit-parents/lib/color.es.js.map +1 -0
- package/dist/node_modules/unist-util-visit-parents/lib/index.cjs.js +2 -0
- package/dist/node_modules/unist-util-visit-parents/lib/index.cjs.js.map +1 -0
- package/dist/node_modules/unist-util-visit-parents/lib/index.es.js +57 -0
- package/dist/node_modules/unist-util-visit-parents/lib/index.es.js.map +1 -0
- package/dist/node_modules/web-namespaces/index.cjs.js +1 -1
- package/dist/node_modules/web-namespaces/index.cjs.js.map +1 -1
- package/dist/node_modules/web-namespaces/index.es.js +8 -3
- package/dist/node_modules/web-namespaces/index.es.js.map +1 -1
- package/dist/shared/src/api/generated/entityLists.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/entityLists.es.js.map +1 -1
- package/dist/shared/src/api/generated/folders.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/folders.es.js.map +1 -1
- package/dist/shared/src/api/generated/graphql.cjs.js +5 -3
- package/dist/shared/src/api/generated/graphql.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/graphql.es.js +14 -12
- package/dist/shared/src/api/generated/graphql.es.js.map +1 -1
- package/dist/shared/src/api/generated/views.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/views.es.js.map +1 -1
- package/dist/shared/src/api/queries/entityLists/getLists.cjs.js +1 -1
- package/dist/shared/src/api/queries/entityLists/getLists.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/entityLists/getLists.es.js +117 -142
- package/dist/shared/src/api/queries/entityLists/getLists.es.js.map +1 -1
- package/dist/shared/src/api/queries/entityLists/updateLists.cjs.js +1 -1
- package/dist/shared/src/api/queries/entityLists/updateLists.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/entityLists/updateLists.es.js +95 -110
- package/dist/shared/src/api/queries/entityLists/updateLists.es.js.map +1 -1
- package/dist/shared/src/api/queries/links/getEntityLinks.cjs.js +1 -1
- package/dist/shared/src/api/queries/links/getEntityLinks.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/links/getEntityLinks.es.js +41 -40
- package/dist/shared/src/api/queries/links/getEntityLinks.es.js.map +1 -1
- package/dist/shared/src/api/queries/links/updateLinks.cjs.js +1 -1
- package/dist/shared/src/api/queries/links/updateLinks.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/links/updateLinks.es.js +164 -143
- package/dist/shared/src/api/queries/links/updateLinks.es.js.map +1 -1
- package/dist/shared/src/api/queries/users/getUsers.cjs.js +1 -1
- package/dist/shared/src/api/queries/users/getUsers.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/users/getUsers.es.js +17 -21
- package/dist/shared/src/api/queries/users/getUsers.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js +26 -37
- package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.es.js +100 -97
- package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js +6 -5
- package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js +169 -62
- package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/BorderedSection.cjs.js +48 -0
- package/dist/shared/src/components/DetailsPanelDetails/BorderedSection.cjs.js.map +1 -0
- package/dist/shared/src/components/DetailsPanelDetails/BorderedSection.es.js +87 -0
- package/dist/shared/src/components/DetailsPanelDetails/BorderedSection.es.js.map +1 -0
- package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js +2 -0
- package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js.map +1 -0
- package/dist/shared/src/components/{ListAttributeForm/ListAttributeForm.es.js → DetailsPanelDetails/DescriptionSection.es.js} +117 -105
- package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js.map +1 -0
- package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.styles.cjs.js +385 -0
- package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.styles.cjs.js.map +1 -0
- package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.styles.es.js +401 -0
- package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.styles.es.js.map +1 -0
- package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js +12 -0
- package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js.map +1 -0
- package/dist/shared/src/components/{LinksManager/LinksManagerDialog.es.js → DetailsPanelDetails/DetailsPanelDetails.es.js} +92 -91
- package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js.map +1 -0
- package/dist/shared/src/components/DetailsPanelDetails/DetailsSection.cjs.js +51 -0
- package/dist/shared/src/components/DetailsPanelDetails/DetailsSection.cjs.js.map +1 -0
- package/dist/shared/src/components/DetailsPanelDetails/DetailsSection.es.js +113 -0
- package/dist/shared/src/components/DetailsPanelDetails/DetailsSection.es.js.map +1 -0
- package/dist/shared/src/components/DetailsPanelDetails/FieldLabel.cjs.js +8 -0
- package/dist/shared/src/components/DetailsPanelDetails/FieldLabel.cjs.js.map +1 -0
- package/dist/shared/src/components/DetailsPanelDetails/FieldLabel.es.js +25 -0
- package/dist/shared/src/components/DetailsPanelDetails/FieldLabel.es.js.map +1 -0
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useDescriptionEditor.cjs.js +2 -0
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useDescriptionEditor.cjs.js.map +1 -0
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useDescriptionEditor.es.js +61 -0
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useDescriptionEditor.es.js.map +1 -0
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityData.cjs.js +2 -0
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityData.cjs.js.map +1 -0
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityData.es.js +95 -0
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityData.es.js.map +1 -0
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js +2 -0
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js.map +1 -0
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js +109 -0
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js.map +1 -0
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityFields.cjs.js +2 -0
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityFields.cjs.js.map +1 -0
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityFields.es.js +131 -0
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityFields.es.js.map +1 -0
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityFormData.cjs.js +2 -0
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityFormData.cjs.js.map +1 -0
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityFormData.es.js +64 -0
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityFormData.es.js.map +1 -0
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useMentionSystem.cjs.js +2 -0
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useMentionSystem.cjs.js.map +1 -0
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useMentionSystem.es.js +28 -0
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useMentionSystem.es.js.map +1 -0
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useQuillFormats.cjs.js +2 -0
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useQuillFormats.cjs.js.map +1 -0
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useQuillFormats.es.js +6 -0
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useQuillFormats.es.js.map +1 -0
- package/dist/shared/src/components/DetailsPanelDetails/types.cjs.js +2 -0
- package/dist/shared/src/components/DetailsPanelDetails/types.cjs.js.map +1 -0
- package/dist/shared/src/components/DetailsPanelDetails/types.es.js +37 -0
- package/dist/shared/src/components/DetailsPanelDetails/types.es.js.map +1 -0
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js +1 -1
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js.map +1 -1
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js +9 -9
- package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js +1 -1
- package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js.map +1 -1
- package/dist/shared/src/components/LinksManager/AddNewLinks.es.js +5 -5
- package/dist/shared/src/components/LinksManager/CellEditingDialog.cjs.js +8 -0
- package/dist/shared/src/components/LinksManager/CellEditingDialog.cjs.js.map +1 -0
- package/dist/shared/src/components/LinksManager/CellEditingDialog.es.js +86 -0
- package/dist/shared/src/components/LinksManager/CellEditingDialog.es.js.map +1 -0
- package/dist/shared/src/components/LinksManager/LinkManagerItem.cjs.js +1 -1
- package/dist/shared/src/components/LinksManager/LinkManagerItem.cjs.js.map +1 -1
- package/dist/shared/src/components/LinksManager/LinkManagerItem.es.js +29 -20
- package/dist/shared/src/components/LinksManager/LinkManagerItem.es.js.map +1 -1
- package/dist/shared/src/components/LinksManager/LinksManager.cjs.js +1 -1
- package/dist/shared/src/components/LinksManager/LinksManager.cjs.js.map +1 -1
- package/dist/shared/src/components/LinksManager/LinksManager.es.js +55 -43
- package/dist/shared/src/components/LinksManager/LinksManager.es.js.map +1 -1
- package/dist/shared/src/components/LinksManager/LinksManager.styled.cjs.js +42 -9
- package/dist/shared/src/components/LinksManager/LinksManager.styled.cjs.js.map +1 -1
- package/dist/shared/src/components/LinksManager/LinksManager.styled.es.js +49 -16
- package/dist/shared/src/components/LinksManager/LinksManager.styled.es.js.map +1 -1
- package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js +1 -1
- package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js.map +1 -1
- package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js +9 -9
- package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js +3 -3
- package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js.map +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackButton.es.js +5 -5
- package/dist/shared/src/components/Powerpack/PowerpackButton.es.js.map +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js.map +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js +6 -6
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +2 -2
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +26 -18
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js +1 -1
- package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js +27 -21
- package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js.map +1 -1
- package/dist/shared/src/components/QuillListStyles/QuillListStyles.cjs.js +59 -0
- package/dist/shared/src/components/QuillListStyles/QuillListStyles.cjs.js.map +1 -0
- package/dist/shared/src/components/QuillListStyles/QuillListStyles.es.js +63 -0
- package/dist/shared/src/components/QuillListStyles/QuillListStyles.es.js.map +1 -0
- package/dist/shared/src/components/RenameForm/RenameForm.cjs.js +31 -0
- package/dist/shared/src/components/RenameForm/RenameForm.cjs.js.map +1 -0
- package/dist/shared/src/components/RenameForm/RenameForm.es.js +396 -0
- package/dist/shared/src/components/RenameForm/RenameForm.es.js.map +1 -0
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +6 -6
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +6 -6
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +1 -1
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +6 -6
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +1 -1
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js.map +1 -1
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +6 -6
- package/dist/shared/src/components/StyledLink/StyledLink.cjs.js +14 -0
- package/dist/shared/src/components/StyledLink/StyledLink.cjs.js.map +1 -0
- package/dist/shared/src/components/StyledLink/StyledLink.es.js +19 -0
- package/dist/shared/src/components/StyledLink/StyledLink.es.js.map +1 -0
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js +1 -1
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js.map +1 -1
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js +6 -6
- package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +1 -1
- package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +6 -6
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +1 -1
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +6 -6
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +193 -162
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.styled.cjs.js +1 -7
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.styled.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.styled.es.js +6 -13
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.styled.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js +6 -6
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js +6 -6
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js +124 -114
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js +4 -3
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.styled.es.js +1 -0
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.styled.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.cjs.js +2 -0
- package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.cjs.js.map +1 -0
- package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.es.js +85 -0
- package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.es.js.map +1 -0
- package/dist/shared/src/containers/DetailsPanel/FeedFilters/FeedFilters.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/FeedFilters/FeedFilters.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/FeedFilters/FeedFilters.es.js +18 -18
- package/dist/shared/src/containers/DetailsPanel/FeedFilters/FeedFilters.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js +6 -6
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js +6 -6
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js +6 -6
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js +6 -6
- package/dist/shared/src/containers/Feed/components/ActivityDate.cjs.js +8 -3
- package/dist/shared/src/containers/Feed/components/ActivityDate.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityDate.es.js +21 -16
- package/dist/shared/src/containers/Feed/components/ActivityDate.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.es.js +21 -21
- package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.styled.cjs.js +37 -8
- package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.styled.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.styled.es.js +44 -14
- package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.styled.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js +2 -2
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js +58 -57
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.styled.cjs.js +7 -58
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.styled.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.styled.es.js +14 -65
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.styled.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/modules/index.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/modules/index.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/modules/index.es.js +17 -15
- package/dist/shared/src/containers/Feed/components/CommentInput/modules/index.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/quillToMarkdown.cjs.js +7 -6
- package/dist/shared/src/containers/Feed/components/CommentInput/quillToMarkdown.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/quillToMarkdown.es.js +27 -18
- package/dist/shared/src/containers/Feed/components/CommentInput/quillToMarkdown.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +53 -51
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +280 -207
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js +6 -6
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js +5 -5
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js +3 -3
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js +212 -206
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js +41 -34
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js +5 -5
- package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.es.js +130 -33
- package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js +10 -13
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js +48 -45
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js +104 -93
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js +5 -5
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js +5 -5
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js +111 -87
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js +9 -9
- package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js +9 -9
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js +5 -5
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +5 -5
- package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js +7 -7
- package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js +2 -2
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js +88 -74
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.cjs.js +2 -2
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.es.js +66 -66
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js +58 -61
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js +2 -0
- package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js +241 -0
- package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.cjs.js +8 -3
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.es.js +82 -32
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidgetInput.cjs.js +2 -2
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidgetInput.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidgetInput.es.js +79 -24
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidgetInput.es.js.map +1 -1
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +1 -1
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +6 -6
- package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js +1 -1
- package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js.map +1 -1
- package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js +109 -121
- package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js.map +1 -1
- package/dist/shared/src/containers/SimpleTable/SimpleTable.styled.cjs.js +4 -16
- package/dist/shared/src/containers/SimpleTable/SimpleTable.styled.cjs.js.map +1 -1
- package/dist/shared/src/containers/SimpleTable/SimpleTable.styled.es.js +1 -13
- package/dist/shared/src/containers/SimpleTable/SimpleTable.styled.es.js.map +1 -1
- package/dist/shared/src/containers/SimpleTable/SimpleTableRowTemplate.cjs.js +1 -1
- package/dist/shared/src/containers/SimpleTable/SimpleTableRowTemplate.cjs.js.map +1 -1
- package/dist/shared/src/containers/SimpleTable/SimpleTableRowTemplate.es.js +50 -62
- package/dist/shared/src/containers/SimpleTable/SimpleTableRowTemplate.es.js.map +1 -1
- package/dist/shared/src/context/DetailsPanelContext.cjs.js.map +1 -1
- package/dist/shared/src/context/DetailsPanelContext.es.js.map +1 -1
- package/dist/shared/src/context/PowerpackContext.cjs.js +1 -1
- package/dist/shared/src/context/PowerpackContext.cjs.js.map +1 -1
- package/dist/shared/src/context/PowerpackContext.es.js +15 -20
- package/dist/shared/src/context/PowerpackContext.es.js.map +1 -1
- package/dist/shared/src/hooks/useActionTriggers.cjs.js +1 -1
- package/dist/shared/src/hooks/useActionTriggers.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useActionTriggers.es.js +27 -32
- package/dist/shared/src/hooks/useActionTriggers.es.js.map +1 -1
- package/dist/shared/src/hooks/useTagStyling.cjs.js +2 -0
- package/dist/shared/src/hooks/useTagStyling.cjs.js.map +1 -0
- package/dist/shared/src/hooks/useTagStyling.es.js +33 -0
- package/dist/shared/src/hooks/useTagStyling.es.js.map +1 -0
- package/dist/shared/src/util/checkName.cjs.js +2 -0
- package/dist/shared/src/util/checkName.cjs.js.map +1 -0
- package/dist/shared/src/util/checkName.es.js +9 -0
- package/dist/shared/src/util/checkName.es.js.map +1 -0
- package/dist/shared/src/util/clipboardUtils.cjs.js +2 -0
- package/dist/shared/src/util/clipboardUtils.cjs.js.map +1 -0
- package/dist/shared/src/util/clipboardUtils.es.js +13 -0
- package/dist/shared/src/util/clipboardUtils.es.js.map +1 -0
- package/dist/shared/src/util/copyToClipboard.cjs.js +1 -1
- package/dist/shared/src/util/copyToClipboard.cjs.js.map +1 -1
- package/dist/shared/src/util/copyToClipboard.es.js +21 -21
- package/dist/shared/src/util/copyToClipboard.es.js.map +1 -1
- package/dist/shared/src/util/humanizeFieldName.cjs.js +2 -0
- package/dist/shared/src/util/humanizeFieldName.cjs.js.map +1 -0
- package/dist/shared/src/util/humanizeFieldName.es.js +15 -0
- package/dist/shared/src/util/humanizeFieldName.es.js.map +1 -0
- package/dist/shared/src/util/parseHtmlToPlainTextWithLinks.cjs.js +7 -0
- package/dist/shared/src/util/parseHtmlToPlainTextWithLinks.cjs.js.map +1 -0
- package/dist/shared/src/util/parseHtmlToPlainTextWithLinks.es.js +64 -0
- package/dist/shared/src/util/parseHtmlToPlainTextWithLinks.es.js.map +1 -0
- package/dist/types/api/generated/entityLists.d.ts +8 -8
- package/dist/types/api/generated/folders.d.ts +2 -0
- package/dist/types/api/generated/graphql.d.ts +20 -5
- package/dist/types/api/generated/index.d.ts +1 -0
- package/dist/types/api/generated/views.d.ts +9 -47
- package/dist/types/api/queries/entityLists/getLists.d.ts +0 -133
- package/dist/types/api/queries/entityLists/types.d.ts +1 -2
- package/dist/types/api/queries/permissions/getPermissions.d.ts +22 -22
- package/dist/types/api/queries/share/share.d.ts +1 -1
- package/dist/types/api/queries/users/getUsers.d.ts +0 -132
- package/dist/types/api/queries/users/updateUsers.d.ts +3 -3
- package/dist/types/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.d.ts +2 -4
- package/dist/types/components/DetailsPanelAttributes/components/RenderFieldWidget.d.ts +3 -0
- package/dist/types/components/DetailsPanelAttributes/index.d.ts +0 -1
- package/dist/types/components/DetailsPanelDetails/BorderedSection.d.ts +14 -0
- package/dist/types/components/DetailsPanelDetails/DescriptionSection.d.ts +10 -0
- package/dist/types/components/DetailsPanelDetails/DescriptionSection.styles.d.ts +10 -0
- package/dist/types/components/DetailsPanelDetails/DetailsPanelDetails.d.ts +6 -0
- package/dist/types/components/DetailsPanelDetails/DetailsSection.d.ts +1 -1
- package/dist/types/components/DetailsPanelDetails/FieldLabel.d.ts +11 -0
- package/dist/types/components/DetailsPanelDetails/hooks/index.d.ts +7 -0
- package/dist/types/components/DetailsPanelDetails/hooks/useDescriptionEditor.d.ts +17 -0
- package/dist/types/components/DetailsPanelDetails/hooks/useEntityData.d.ts +12 -0
- package/dist/types/components/DetailsPanelDetails/hooks/useEntityEditing.d.ts +10 -0
- package/dist/types/components/DetailsPanelDetails/hooks/useEntityFields.d.ts +16 -0
- package/dist/types/components/DetailsPanelDetails/hooks/useEntityFormData.d.ts +8 -0
- package/dist/types/components/DetailsPanelDetails/hooks/useQuillFormats.d.ts +1 -0
- package/dist/types/components/DetailsPanelDetails/index.d.ts +2 -0
- package/dist/types/components/DetailsPanelDetails/types.d.ts +20 -0
- package/dist/types/components/EnumEditor/EnumEditor.styled.d.ts +1 -1
- package/dist/types/components/LinksManager/CellEditingDialog.d.ts +8 -0
- package/dist/types/components/Powerpack/index.d.ts +0 -1
- package/dist/types/components/QuillListStyles/QuillListStyles.d.ts +5 -0
- package/dist/types/components/QuillListStyles/index.d.ts +1 -0
- package/dist/types/components/RenameForm/RenameForm.d.ts +21 -0
- package/dist/types/components/RenameForm/index.d.ts +1 -0
- package/dist/types/components/StyledLink/StyledLink.d.ts +2 -0
- package/dist/types/components/StyledLink/index.d.ts +1 -0
- package/dist/types/components/index.d.ts +2 -4
- package/dist/types/containers/Actions/ActionsDropdown/ActionsDropdown.styled.d.ts +1 -1
- package/dist/types/containers/DetailsPanel/DetailsPanel.styled.d.ts +0 -7
- package/dist/types/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.styled.d.ts +4 -4
- package/dist/types/containers/DetailsPanel/FeedContextWrapper.d.ts +19 -0
- package/dist/types/containers/Feed/components/ActivityVersions/ActivityVersions.styled.d.ts +1 -0
- package/dist/types/containers/Feed/components/CommentInput/modules/index.d.ts +2 -1
- package/dist/types/containers/ProjectTreeTable/buildTreeTableColumns.d.ts +1 -1
- package/dist/types/containers/ProjectTreeTable/context/ProjectDataContext.d.ts +2 -0
- package/dist/types/containers/ProjectTreeTable/context/clipboard/clipboardValidation.d.ts +10 -0
- package/dist/types/containers/ProjectTreeTable/hooks/useAttributesList.d.ts +5 -4
- package/dist/types/containers/ProjectTreeTable/hooks/useCellContextMenu.d.ts +1 -1
- package/dist/types/containers/ProjectTreeTable/types/table.d.ts +6 -0
- package/dist/types/containers/ProjectTreeTable/widgets/BooleanWidget.d.ts +0 -1
- package/dist/types/containers/ProjectTreeTable/widgets/CellWidget.d.ts +2 -1
- package/dist/types/containers/ProjectTreeTable/widgets/LinksWidget.d.ts +1 -0
- package/dist/types/containers/ProjectTreeTable/widgets/NameWidget.d.ts +10 -0
- package/dist/types/containers/ProjectTreeTable/widgets/TextWidget.d.ts +2 -0
- package/dist/types/containers/ProjectTreeTable/widgets/TextWidgetInput.d.ts +2 -0
- package/dist/types/containers/SimpleTable/SimpleTable.d.ts +0 -3
- package/dist/types/containers/SimpleTable/SimpleTableRowTemplate.d.ts +1 -5
- package/dist/types/containers/Views/index.d.ts +1 -4
- package/dist/types/context/DetailsPanelContext.d.ts +1 -1
- package/dist/types/context/PowerpackContext.d.ts +1 -1
- package/dist/types/hooks/index.d.ts +1 -0
- package/dist/types/hooks/useActionTriggers.d.ts +1 -1
- package/dist/types/hooks/useTagStyling.d.ts +17 -0
- package/dist/types/util/checkName.d.ts +1 -0
- package/dist/types/util/clipboardUtils.d.ts +18 -0
- package/dist/types/util/copyToClipboard.d.ts +1 -1
- package/dist/types/util/humanizeFieldName.d.ts +1 -0
- package/dist/types/util/index.d.ts +3 -0
- package/dist/types/util/parseHtmlToPlainTextWithLinks.d.ts +6 -0
- package/dist/util.cjs.js +1 -1
- package/dist/util.es.js +38 -32
- package/dist/util.es.js.map +1 -1
- package/package.json +1 -1
- package/dist/node_modules/vfile/lib/index.cjs.js +0 -2
- package/dist/node_modules/vfile/lib/index.cjs.js.map +0 -1
- package/dist/node_modules/vfile/lib/index.es.js.map +0 -1
- package/dist/node_modules/vfile/lib/minpath.browser.cjs.js.map +0 -1
- package/dist/node_modules/vfile/lib/minpath.browser.es.js.map +0 -1
- package/dist/node_modules/vfile/lib/minproc.browser.cjs.js.map +0 -1
- package/dist/node_modules/vfile/lib/minproc.browser.es.js.map +0 -1
- package/dist/node_modules/vfile/lib/minurl.browser.cjs.js.map +0 -1
- package/dist/node_modules/vfile/lib/minurl.browser.es.js.map +0 -1
- package/dist/node_modules/vfile/lib/minurl.shared.cjs.js.map +0 -1
- package/dist/node_modules/vfile/lib/minurl.shared.es.js.map +0 -1
- package/dist/node_modules/vfile/node_modules/unist-util-stringify-position/lib/index.es.js.map +0 -1
- package/dist/node_modules/vfile/node_modules/vfile-message/lib/index.es.js.map +0 -1
- package/dist/shared/src/components/AccessUser/AccessUser.cjs.js +0 -2
- package/dist/shared/src/components/AccessUser/AccessUser.cjs.js.map +0 -1
- package/dist/shared/src/components/AccessUser/AccessUser.es.js +0 -33
- package/dist/shared/src/components/AccessUser/AccessUser.es.js.map +0 -1
- package/dist/shared/src/components/AccessUser/AccessUser.styled.cjs.js +0 -42
- package/dist/shared/src/components/AccessUser/AccessUser.styled.cjs.js.map +0 -1
- package/dist/shared/src/components/AccessUser/AccessUser.styled.es.js +0 -46
- package/dist/shared/src/components/AccessUser/AccessUser.styled.es.js.map +0 -1
- package/dist/shared/src/components/DetailsMetaData/DetailsMetaData.cjs.js +0 -34
- package/dist/shared/src/components/DetailsMetaData/DetailsMetaData.cjs.js.map +0 -1
- package/dist/shared/src/components/DetailsMetaData/DetailsMetaData.es.js +0 -46
- package/dist/shared/src/components/DetailsMetaData/DetailsMetaData.es.js.map +0 -1
- package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributes.cjs.js +0 -2
- package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributes.cjs.js.map +0 -1
- package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributes.es.js +0 -287
- package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributes.es.js.map +0 -1
- package/dist/shared/src/components/LinksManager/LinksManagerDialog.cjs.js +0 -8
- package/dist/shared/src/components/LinksManager/LinksManagerDialog.cjs.js.map +0 -1
- package/dist/shared/src/components/LinksManager/LinksManagerDialog.es.js.map +0 -1
- package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js +0 -2
- package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js.map +0 -1
- package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js.map +0 -1
- package/dist/shared/src/components/ListMetaData/ListMetaData.cjs.js +0 -2
- package/dist/shared/src/components/ListMetaData/ListMetaData.cjs.js.map +0 -1
- package/dist/shared/src/components/ListMetaData/ListMetaData.es.js +0 -25
- package/dist/shared/src/components/ListMetaData/ListMetaData.es.js.map +0 -1
- package/dist/shared/src/components/Powerpack/RequiredPowerpackVersion.cjs.js +0 -9
- package/dist/shared/src/components/Powerpack/RequiredPowerpackVersion.cjs.js.map +0 -1
- package/dist/shared/src/components/Powerpack/RequiredPowerpackVersion.es.js +0 -25
- package/dist/shared/src/components/Powerpack/RequiredPowerpackVersion.es.js.map +0 -1
- package/dist/shared/src/components/ShareOptionIcon/ShareOptionIcon.cjs.js +0 -2
- package/dist/shared/src/components/ShareOptionIcon/ShareOptionIcon.cjs.js.map +0 -1
- package/dist/shared/src/components/ShareOptionIcon/ShareOptionIcon.es.js +0 -17
- package/dist/shared/src/components/ShareOptionIcon/ShareOptionIcon.es.js.map +0 -1
- package/dist/shared/src/hooks/useCustomProtocolCheck.cjs.js +0 -2
- package/dist/shared/src/hooks/useCustomProtocolCheck.cjs.js.map +0 -1
- package/dist/shared/src/hooks/useCustomProtocolCheck.es.js +0 -43
- package/dist/shared/src/hooks/useCustomProtocolCheck.es.js.map +0 -1
- package/dist/types/components/AccessUser/AccessUser.d.ts +0 -22
- package/dist/types/components/AccessUser/AccessUser.styled.d.ts +0 -1
- package/dist/types/components/AccessUser/index.d.ts +0 -1
- package/dist/types/components/DetailsMetaData/DetailsMetaData.d.ts +0 -8
- package/dist/types/components/DetailsMetaData/index.d.ts +0 -1
- package/dist/types/components/DetailsPanelAttributes/DetailsPanelAttributes.d.ts +0 -6
- package/dist/types/components/LinksManager/LinksManagerDialog.d.ts +0 -9
- package/dist/types/components/ListAttributeForm/ListAttributeForm.d.ts +0 -13
- package/dist/types/components/ListAttributeForm/index.d.ts +0 -1
- package/dist/types/components/ListMetaData/ListMetaData.d.ts +0 -8
- package/dist/types/components/ListMetaData/index.d.ts +0 -1
- package/dist/types/components/Powerpack/RequiredPowerpackVersion.d.ts +0 -5
- package/dist/types/components/ShareOptionIcon/ShareOptionIcon.d.ts +0 -10
- package/dist/types/components/ShareOptionIcon/index.d.ts +0 -2
- package/dist/types/hooks/useCustomProtocolCheck.d.ts +0 -10
- /package/dist/node_modules/{vfile → rehype}/node_modules/unist-util-stringify-position/lib/index.cjs.js +0 -0
- /package/dist/node_modules/{vfile → rehype}/node_modules/unist-util-stringify-position/lib/index.es.js +0 -0
- /package/dist/node_modules/{vfile → rehype/node_modules/vfile}/lib/minpath.browser.cjs.js +0 -0
- /package/dist/node_modules/{vfile → rehype/node_modules/vfile}/lib/minpath.browser.es.js +0 -0
- /package/dist/node_modules/{vfile → rehype/node_modules/vfile}/lib/minproc.browser.cjs.js +0 -0
- /package/dist/node_modules/{vfile → rehype/node_modules/vfile}/lib/minproc.browser.es.js +0 -0
- /package/dist/node_modules/{vfile → rehype/node_modules/vfile}/lib/minurl.browser.cjs.js +0 -0
- /package/dist/node_modules/{vfile → rehype/node_modules/vfile}/lib/minurl.browser.es.js +0 -0
- /package/dist/node_modules/{vfile → rehype/node_modules/vfile}/lib/minurl.shared.cjs.js +0 -0
- /package/dist/node_modules/{vfile → rehype/node_modules/vfile}/lib/minurl.shared.es.js +0 -0
- /package/dist/node_modules/{vfile → rehype}/node_modules/vfile-message/lib/index.cjs.js +0 -0
- /package/dist/node_modules/{vfile → rehype}/node_modules/vfile-message/lib/index.es.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProjectTreeTable.cjs.js","sources":["../../../../../src/containers/ProjectTreeTable/ProjectTreeTable.tsx"],"sourcesContent":["import { useMemo, useRef, useEffect, memo, CSSProperties, useCallback, UIEventHandler } from 'react' // Added useCallback\nimport { useVirtualizer, VirtualItem, Virtualizer } from '@tanstack/react-virtual'\n// TanStack Table imports\nimport {\n useReactTable,\n getCoreRowModel,\n getFilteredRowModel,\n getExpandedRowModel,\n filterFns,\n flexRender,\n Row,\n getSortedRowModel,\n Cell,\n Column,\n Table,\n Header,\n HeaderGroup,\n RowData,\n ExpandedState,\n} from '@tanstack/react-table'\n\n// Utility imports\nimport clsx from 'clsx'\n\n// Type imports\nimport type { TableRow } from './types/table'\n\n// Component imports\nimport buildTreeTableColumns, {\n DefaultColumns,\n TreeTableExtraColumn,\n} from './buildTreeTableColumns'\nimport * as Styled from './ProjectTreeTable.styled'\nimport { RowDragHandleCellContent, ColumnHeaderMenu } from './components'\nimport EmptyPlaceholder from '../../components/EmptyPlaceholder'\nimport HeaderActionButton from './components/HeaderActionButton'\n\n// Context imports\nimport { useCellEditing } from './context/CellEditingContext'\nimport { ROW_SELECTION_COLUMN_ID, useSelectionCellsContext } from './context/SelectionCellsContext'\nimport { ClipboardProvider } from './context/ClipboardContext'\nimport { useSelectedRowsContext } from './context/SelectedRowsContext'\nimport { useColumnSettingsContext } from './context/ColumnSettingsContext'\nimport { useMenuContext } from '../../context/MenuContext'\n\n// Hook imports\nimport useCustomColumnWidthVars from './hooks/useCustomColumnWidthVars'\nimport usePrefetchFolderTasks from './hooks/usePrefetchFolderTasks'\nimport useCellContextMenu, { HeaderLabel } from './hooks/useCellContextMenu'\nimport useColumnVirtualization from './hooks/useColumnVirtualization'\nimport useKeyboardNavigation from './hooks/useKeyboardNavigation'\n\n// EntityPickerDialog import\nimport { EntityPickerDialog } from '../EntityPickerDialog/EntityPickerDialog'\n// Move entity hook\nimport { useMoveEntities } from './hooks/useMoveEntities'\nimport { useProjectDataContext } from '@shared/containers'\n\n// Utility function imports\nimport { getCellId, parseCellId } from './utils/cellUtils'\nimport { generateLoadingRows, generateDummyAttributes } from './utils/loadingUtils'\nimport { createPortal } from 'react-dom'\nimport { Icon } from '@ynput/ayon-react-components'\nimport { AttributeEnumItem, ProjectTableAttribute, BuiltInFieldOptions } from './types'\nimport { ToggleExpandAll, useProjectTableContext } from './context/ProjectTableContext'\nimport { getEntityViewierIds, getReadOnlyLists, getTableFieldOptions } from './utils'\nimport { EntityUpdate } from './hooks/useUpdateTableData'\n\n// dnd-kit imports\nimport {\n DragOverlay,\n type UniqueIdentifier,\n // Removed: DndContext, KeyboardSensor, MouseSensor, TouchSensor, closestCenter, DragEndEvent, DragStartEvent, Active, Over, useSensor, useSensors\n} from '@dnd-kit/core'\n// import { restrictToVerticalAxis } from '@dnd-kit/modifiers'\nimport { SortableContext, verticalListSortingStrategy, useSortable } from '@dnd-kit/sortable'\nimport { CSS } from '@dnd-kit/utilities'\nimport { EDIT_TRIGGER_CLASS } from './widgets/CellWidget'\nimport { toast } from 'react-toastify'\nimport { EntityMoveData } from '@shared/context/MoveEntityContext'\nimport { useSelector } from 'react-redux'\n\ntype CellUpdate = (\n entity: Omit<EntityUpdate, 'id'>,\n config?: { selection?: string[] },\n) => Promise<void>\n\ndeclare module '@tanstack/react-table' {\n interface TableMeta<TData extends RowData> {\n options?: BuiltInFieldOptions\n readOnly?: ProjectTreeTableProps['readOnly']\n projectName?: string\n updateEntities?: CellUpdate\n toggleExpandAll?: ToggleExpandAll\n selection?: string[]\n }\n}\n\n//These are the important styles to make sticky column pinning work!\n//Apply styles like this using your CSS strategy of choice with this kind of logic to head cells, data cells, footer cells, etc.\n//View the index.css file for more needed styles such as border-collapse: separate\nconst getCommonPinningStyles = (column: Column<TableRow, unknown>): CSSProperties => {\n const isPinned = column.getIsPinned()\n const offset =\n column.id !== ROW_SELECTION_COLUMN_ID && column.id !== DRAG_HANDLE_COLUMN_ID ? -30 : 0\n\n return {\n left: isPinned === 'left' ? `${column.getStart('left') + offset}px` : undefined, // Removed offset\n right: isPinned === 'right' ? `${column.getAfter('right')}px` : undefined,\n position: isPinned ? 'sticky' : 'relative',\n width: column.getSize(),\n zIndex: isPinned ? 100 : 0,\n }\n}\n\nconst getColumnWidth = (rowId: string, columnId: string) => {\n return `calc(var(--col-${columnId}-size) * 1px)`\n}\n// test\n\nexport const DRAG_HANDLE_COLUMN_ID = 'drag-handle'\n\nexport interface ProjectTreeTableProps extends React.HTMLAttributes<HTMLDivElement> {\n scope: string\n sliceId: string\n onScrollBottom?: React.HTMLAttributes<HTMLDivElement>['onScroll']\n onOpenNew?: (type: 'folder' | 'task') => void\n readOnly?: (DefaultColumns | string)[]\n excludedColumns?: (DefaultColumns | string)[]\n extraColumns?: TreeTableExtraColumn[]\n isLoading?: boolean\n clientSorting?: boolean\n sortableRows?: boolean\n onRowReorder?: (active: UniqueIdentifier, over: UniqueIdentifier | null) => void // Adjusted type for active/over if needed, or keep as Active, Over\n dndActiveId?: UniqueIdentifier | null // Added prop\n pt?: {\n container?: React.HTMLAttributes<HTMLDivElement>\n head?: Partial<TableHeadProps>\n }\n}\n\nexport const ProjectTreeTable = ({\n scope,\n sliceId,\n onScroll,\n onScrollBottom, // when the user scrolls to the bottom of the table, this callback is called\n onOpenNew,\n readOnly,\n excludedColumns,\n extraColumns,\n isLoading: isLoadingProp,\n clientSorting = false,\n sortableRows = false,\n onRowReorder,\n dndActiveId, // Destructure new prop\n pt,\n ...props\n}: ProjectTreeTableProps) => {\n const {\n columnVisibility,\n columnPinning,\n columnOrder,\n columnSizing,\n setAllColumns,\n sorting,\n sortingOnChange,\n columnPinningOnChange,\n columnSizingOnChange,\n columnVisibilityOnChange,\n columnOrderOnChange,\n groupBy,\n } = useColumnSettingsContext()\n const isGrouping = !!groupBy\n\n const {\n projectInfo,\n tableData,\n attribFields,\n entitiesMap,\n users,\n isLoading: isLoadingData,\n error,\n isInitialized,\n expanded,\n projectName,\n updateExpanded,\n toggleExpandAll,\n showHierarchy,\n fetchNextPage,\n scopes,\n getEntityById,\n } = useProjectTableContext()\n\n const { projectName: contextProjectName, writableFields } = useProjectDataContext()\n\n const isLoading = isLoadingProp || isLoadingData\n\n const {\n statuses = [],\n folderTypes = [],\n taskTypes = [],\n tags = [],\n linkTypes = [],\n } = projectInfo || {}\n const options: BuiltInFieldOptions = useMemo(\n () =>\n getTableFieldOptions({\n users,\n statuses,\n folderTypes,\n taskTypes,\n tags,\n scopes,\n }),\n [users, statuses, folderTypes, taskTypes, scopes, tags],\n )\n\n //The virtualizer needs to know the scrollable container element\n const tableContainerRef = useRef<HTMLDivElement>(null)\n // reference of how many rows are currently rendered in the table\n const tableRowsCountRef = useRef(0)\n\n // Selection context\n const { registerGrid } = useSelectionCellsContext()\n\n // generate loading attrib and rows\n const { loadingAttrib, loadingRows } = useMemo(() => {\n // count the number of children in tbody\n const tableRowsCount = tableContainerRef.current?.querySelectorAll('tbody tr').length || 0\n const loadingAttrib = generateDummyAttributes()\n const loadingRows = generateLoadingRows(\n attribFields,\n showHierarchy && tableData.length > 0\n ? Math.min(tableRowsCount, 50)\n : groupBy\n ? Math.max(tableRowsCountRef.current, 50)\n : 50,\n )\n\n return { loadingAttrib, loadingRows }\n }, [])\n\n const showLoadingRows = !isInitialized || isLoading\n\n // Format readonly columns and attributes\n const { readOnlyColumns, readOnlyAttribs } = useMemo(\n () => getReadOnlyLists(attribFields, writableFields, readOnly),\n [attribFields, writableFields, readOnly],\n )\n\n const { selectedCells } = useSelectionCellsContext()\n const { updateEntities } = useCellEditing()\n\n const handleCellUpdate: CellUpdate = useCallback(\n async (entity, config) => {\n const { selection = [] } = config || {}\n const entitiesToUpdate: EntityUpdate[] = []\n if (!selection?.length) {\n entitiesToUpdate.push({ ...entity, id: entity.rowId })\n } else {\n // if includeSelection is true, update all the selected cells with the same columnId\n const { field, value, isAttrib, type } = entity\n for (const cellId of selectedCells) {\n const { colId, rowId } = parseCellId(cellId) || {}\n\n const entity = getEntityById(rowId || '')\n if (!entity) {\n console.warn(`Entity with ID ${rowId} not found for cell update.`)\n continue\n }\n\n if ((!colId?.includes('attrib_') || colId?.replace('attrib_', '') === field) && rowId) {\n entitiesToUpdate.push({\n field: field,\n rowId: rowId,\n id: entity.entityId,\n value: value,\n isAttrib: isAttrib,\n type: entity.entityType,\n })\n }\n }\n }\n\n if (!entitiesToUpdate.length) {\n console.warn('No entities to update, skipping updateEntities call.')\n toast.warn('No entities to update.')\n return\n }\n\n await updateEntities(entitiesToUpdate, true)\n },\n [updateEntities, getEntityById, selectedCells],\n )\n\n const columnAttribs = useMemo(\n () => (isInitialized ? attribFields : loadingAttrib),\n [attribFields, loadingAttrib, isInitialized],\n )\n const columns = useMemo(() => {\n const baseColumns = buildTreeTableColumns({\n attribs: columnAttribs,\n links: linkTypes,\n showHierarchy,\n options,\n extraColumns,\n excluded: excludedColumns,\n groupBy,\n })\n\n if (sortableRows) {\n return [\n {\n id: DRAG_HANDLE_COLUMN_ID,\n header: () => null,\n cell: () => null, // Content rendered by TableBodyRow\n size: 24,\n minSize: 24,\n maxSize: 24,\n enableResizing: false,\n enableSorting: false,\n enableHiding: false,\n enablePinning: false, // Programmatically pinned\n },\n ...baseColumns,\n ]\n }\n return baseColumns\n }, [columnAttribs, showHierarchy, options, extraColumns, excludedColumns, sortableRows])\n\n // Keep ColumnSettingsProvider's allColumns ref up to date\n useEffect(() => {\n const ids = columns.map((c) => c.id!).filter(Boolean)\n setAllColumns(ids)\n }, [columns, setAllColumns])\n\n const table = useReactTable({\n data: showLoadingRows ? loadingRows : tableData,\n columns,\n defaultColumn: {\n minSize: 50,\n size: 150,\n },\n enableRowSelection: true, //enable row selection for all rows\n getRowId: (row) => row.id,\n enableSubRowSelection: false, //disable sub row selection\n getSubRows: (row) => row.subRows,\n getRowCanExpand: () => true,\n getCoreRowModel: getCoreRowModel(),\n getFilteredRowModel: getFilteredRowModel(),\n getExpandedRowModel: getExpandedRowModel(),\n filterFromLeafRows: true,\n // EXPANDABLE\n onExpandedChange: updateExpanded,\n // SORTING\n getSortedRowModel: clientSorting ? getSortedRowModel() : undefined,\n onSortingChange: sortingOnChange,\n columnResizeMode: 'onChange',\n onColumnPinningChange: columnPinningOnChange,\n onColumnSizingChange: columnSizingOnChange,\n onColumnVisibilityChange: columnVisibilityOnChange,\n onColumnOrderChange: columnOrderOnChange,\n // @ts-ignore\n filterFns,\n state: {\n expanded,\n sorting,\n columnPinning: (() => {\n const leftPins: string[] = []\n if (sortableRows) {\n leftPins.push(DRAG_HANDLE_COLUMN_ID)\n }\n leftPins.push(ROW_SELECTION_COLUMN_ID)\n\n // Add other unique pins from context, ensuring they are not the programmatic ones\n const contextLeftPins = (columnPinning.left || []).filter(\n (id) => id !== DRAG_HANDLE_COLUMN_ID && id !== ROW_SELECTION_COLUMN_ID,\n )\n leftPins.push(...contextLeftPins)\n // Remove duplicates just in case, though filter should handle it\n const uniqueLeftPins = [...new Set(leftPins)]\n\n return {\n left: uniqueLeftPins,\n right: columnPinning.right,\n }\n })(),\n columnSizing,\n columnVisibility,\n columnOrder,\n },\n enableSorting: true,\n meta: {\n projectName,\n options,\n readOnly: readOnlyColumns,\n updateEntities: handleCellUpdate,\n toggleExpandAll,\n loadMoreTasks: fetchNextPage,\n selection: Array.from(selectedCells),\n },\n })\n\n // TODO: when there is data (like in error) then we have infinite rendering\n\n const { rows } = table.getRowModel()\n\n // update the tableRowsCountRef with the current number of rows\n useEffect(() => {\n tableRowsCountRef.current = rows.length\n }, [rows.length])\n\n // Register grid structure with selection context when rows or columns change\n useEffect(() => {\n if (!rows.length) return\n const rowIds = rows.map((row) => row.id)\n const colIds = table.getAllLeafColumns().map((col) => col.id)\n const colIdsSortedByPinning = [...colIds].sort((a, b) => {\n if (ROW_SELECTION_COLUMN_ID === b) return 1\n const colA = columnPinning.left?.includes(a) ? 0 : 1\n const colB = columnPinning.left?.includes(b) ? 0 : 1\n return colA - colB\n })\n\n registerGrid(rowIds, colIdsSortedByPinning)\n }, [rows, table.getAllLeafColumns(), columnPinning, ROW_SELECTION_COLUMN_ID, registerGrid])\n\n const visibleColumns = table.getVisibleLeafColumns()\n\n // Use the column virtualization hook\n const { columnVirtualizer, virtualPaddingLeft, virtualPaddingRight } = useColumnVirtualization({\n visibleColumns,\n tableContainerRef,\n columnPinning,\n columnSizing,\n columnOrder,\n })\n\n const columnSizeVars = useCustomColumnWidthVars(table, columnSizing)\n\n const attribByField = useMemo(() => {\n return attribFields.reduce((acc: Record<string, AttributeEnumItem[]>, attrib) => {\n if (attrib.data?.enum?.length) {\n acc[attrib.name] = attrib.data?.enum\n }\n return acc\n }, {})\n }, [attribFields])\n\n const rowOrderIds = useMemo(() => tableData.map((row) => row.id), [tableData])\n const draggedRowData = useMemo(() => {\n if (!dndActiveId || !sortableRows) return null // Use dndActiveId\n return tableData.find((r) => r.id === dndActiveId) // Use dndActiveId\n }, [dndActiveId, tableData, sortableRows])\n\n const combinedScrollHandler: UIEventHandler<HTMLDivElement> = useCallback(\n (e) => {\n // Call the original onScroll if provided\n onScroll?.(e)\n\n if (onScrollBottom) {\n const containerRefElement = e.currentTarget\n if (containerRefElement && !showHierarchy && !groupBy) {\n const { scrollHeight, scrollTop, clientHeight } = containerRefElement\n //once the user has scrolled within 500px of the bottom of the table, fetch more data if we can\n if (scrollHeight - scrollTop - clientHeight < 500 && !isLoading) {\n onScrollBottom(e)\n }\n }\n }\n },\n [onScroll, onScrollBottom, showHierarchy, groupBy, isLoading],\n )\n\n // Get move entity functions for the dialog\n const {\n isEntityPickerOpen,\n handleMoveSubmit,\n closeMoveDialog,\n movingEntities,\n handleMoveToRoot,\n getDisabledFolderIds,\n getDisabledMessage,\n } = useMoveEntities({\n projectName: contextProjectName || projectName || '',\n })\n\n const handleMoveSubmitWithExpand = (selection: string[]) => {\n handleMoveSubmit(selection)\n const folderIdToExpand = selection[0]\n\n updateExpanded((prevExpanded: ExpandedState) => {\n if (typeof prevExpanded === 'boolean') {\n if (prevExpanded) {\n return prevExpanded\n }\n return { [folderIdToExpand]: true }\n }\n\n if (prevExpanded[folderIdToExpand]) {\n return prevExpanded\n }\n\n return {\n ...prevExpanded,\n [folderIdToExpand]: true,\n }\n })\n }\n\n const tableUiContent = (\n <ClipboardProvider\n entitiesMap={entitiesMap}\n columnEnums={{ ...options, ...attribByField }}\n columnReadOnly={readOnlyAttribs}\n visibleColumns={visibleColumns}\n >\n <Styled.TableWrapper {...props}>\n <Styled.TableContainer\n ref={tableContainerRef}\n style={{ height: '100%', padding: 0 }}\n onScroll={combinedScrollHandler}\n {...pt?.container}\n className={clsx(\n 'table-container',\n {\n resizing: table.getState().columnSizingInfo.isResizingColumn,\n },\n pt?.container?.className,\n )}\n >\n <table\n style={{\n display: 'grid',\n borderCollapse: 'collapse',\n userSelect: 'none',\n ...columnSizeVars,\n width: table.getTotalSize(),\n cursor: table.getState().columnSizingInfo.isResizingColumn ? 'col-resize' : undefined,\n }}\n >\n <TableHead\n columnVirtualizer={columnVirtualizer}\n table={table}\n virtualPaddingLeft={virtualPaddingLeft}\n virtualPaddingRight={virtualPaddingRight}\n isLoading={isLoading}\n readOnlyColumns={readOnlyColumns}\n sortableRows={sortableRows}\n {...pt?.head}\n />\n <TableBody\n columnVirtualizer={columnVirtualizer}\n table={table}\n tableContainerRef={tableContainerRef}\n virtualPaddingLeft={virtualPaddingLeft}\n virtualPaddingRight={virtualPaddingRight}\n showHierarchy={showHierarchy}\n attribs={attribFields}\n onOpenNew={onOpenNew}\n rowOrderIds={rowOrderIds}\n sortableRows={sortableRows}\n error={error}\n isGrouping={isGrouping}\n />\n </table>\n </Styled.TableContainer>\n </Styled.TableWrapper>\n {/* Render EntityPickerDialog alongside table content */}\n {isEntityPickerOpen &&\n projectName &&\n movingEntities?.entities &&\n movingEntities.entities.length > 0 && (\n <EntityPickerDialog\n projectName={projectName}\n entityType=\"folder\"\n onSubmit={handleMoveSubmitWithExpand}\n onClose={closeMoveDialog}\n showMoveToRoot={movingEntities.entities.every(\n (entity: EntityMoveData) => entity.entityType === 'folder',\n )}\n onMoveToRoot={handleMoveToRoot}\n disabledIds={getDisabledFolderIds()}\n getDisabledMessage={getDisabledMessage}\n />\n )}\n </ClipboardProvider>\n )\n\n // Render DragOverlay if sortableRows and dndActiveId is present\n const dragOverlayPortal =\n sortableRows &&\n dndActiveId &&\n createPortal(\n <DragOverlay dropAnimation={null}>\n {draggedRowData\n ? (() => {\n const overlayRowInstance = table.getRowModel().rows.find((r) => r.id === dndActiveId)\n if (!overlayRowInstance) return null\n\n const tableWidth = table.getTotalSize()\n\n return (\n <table\n style={{\n width: tableWidth,\n borderCollapse: 'collapse',\n backgroundColor: 'var(--md-sys-color-surface-container-high)',\n boxShadow: '0 0 10px rgba(0,0,0,0.2)',\n ...columnSizeVars,\n }}\n >\n <tbody>\n <Styled.TR style={{ display: 'flex', userSelect: 'none' }}>\n {virtualPaddingLeft ? (\n <td style={{ display: 'flex', width: virtualPaddingLeft }} />\n ) : null}\n {columnVirtualizer.getVirtualItems().map((vc) => {\n const cell = overlayRowInstance.getVisibleCells()[vc.index]\n if (!cell) return null\n\n const cellStyleBase: CSSProperties = {\n ...getCommonPinningStyles(cell.column),\n width: getColumnWidth(overlayRowInstance.id, cell.column.id),\n display: 'flex',\n alignItems: 'center',\n height: 40,\n }\n\n if (cell.column.id === DRAG_HANDLE_COLUMN_ID) {\n return (\n <Styled.TableCell\n key={`overlay-drag-${cell.id}`}\n style={{ ...cellStyleBase, justifyContent: 'center' }}\n className={clsx(cell.column.id)}\n >\n <Icon icon=\"drag_handle\" /> {/* Static icon */}\n </Styled.TableCell>\n )\n }\n return (\n <TableCellMemo\n cell={cell}\n cellId={`overlay-${getCellId(overlayRowInstance.id, cell.column.id)}`}\n rowId={overlayRowInstance.id}\n key={`overlay-cell-${cell.id}`}\n showHierarchy={showHierarchy}\n />\n )\n })}\n {virtualPaddingRight ? (\n <td style={{ display: 'flex', width: virtualPaddingRight }} />\n ) : null}\n </Styled.TR>\n </tbody>\n </table>\n )\n })()\n : null}\n </DragOverlay>,\n document.body,\n )\n\n if (sortableRows) {\n return (\n <>\n {tableUiContent}\n {dragOverlayPortal}\n </>\n )\n } else {\n return tableUiContent\n }\n}\n\ninterface TableHeadProps extends React.HTMLAttributes<HTMLTableSectionElement> {\n columnVirtualizer: Virtualizer<HTMLDivElement, HTMLTableCellElement>\n table: Table<TableRow>\n virtualPaddingLeft: number | undefined\n virtualPaddingRight: number | undefined\n isLoading: boolean\n readOnlyColumns?: string[]\n sortableRows?: boolean\n}\n\nconst TableHead = ({\n columnVirtualizer,\n table,\n virtualPaddingLeft,\n virtualPaddingRight,\n isLoading,\n readOnlyColumns,\n sortableRows,\n ...props\n}: TableHeadProps) => {\n return (\n <Styled.TableHeader {...props}>\n {table.getHeaderGroups().map((headerGroup) => (\n <TableHeadRow\n key={headerGroup.id}\n columnVirtualizer={columnVirtualizer}\n headerGroup={headerGroup}\n virtualPaddingLeft={virtualPaddingLeft}\n virtualPaddingRight={virtualPaddingRight}\n isLoading={isLoading}\n readOnlyColumns={readOnlyColumns}\n sortableRows={sortableRows}\n />\n ))}\n </Styled.TableHeader>\n )\n}\n\ninterface TableHeadRowProps {\n columnVirtualizer: Virtualizer<HTMLDivElement, HTMLTableCellElement>\n headerGroup: HeaderGroup<TableRow>\n virtualPaddingLeft: number | undefined\n virtualPaddingRight: number | undefined\n isLoading: boolean\n readOnlyColumns?: string[]\n sortableRows?: boolean\n}\n\nconst TableHeadRow = ({\n columnVirtualizer,\n headerGroup,\n virtualPaddingLeft,\n virtualPaddingRight,\n isLoading,\n readOnlyColumns,\n sortableRows,\n}: TableHeadRowProps) => {\n const virtualColumns = columnVirtualizer.getVirtualItems()\n return (\n <Styled.ColumnHeader key={headerGroup.id} style={{ display: 'flex' }}>\n {virtualPaddingLeft ? (\n //fake empty column to the left for virtualization scroll padding\n <th style={{ display: 'flex', width: virtualPaddingLeft }} />\n ) : null}\n {virtualColumns.map((virtualColumn) => {\n const header = headerGroup.headers[virtualColumn.index]\n\n return (\n <TableHeadCell\n key={header.id}\n header={header}\n isLoading={isLoading}\n isReadOnly={readOnlyColumns?.includes(header.id)}\n canSort={header.column.getCanSort()}\n canFilter={header.column.getCanFilter()}\n canHide={header.column.getCanHide()}\n canPin={header.column.getCanPin()}\n canResize={header.column.getCanResize()}\n sortableRows={sortableRows}\n />\n )\n })}\n {virtualPaddingRight ? (\n //fake empty column to the right for virtualization scroll padding\n <th style={{ display: 'flex', width: virtualPaddingRight }} />\n ) : null}\n </Styled.ColumnHeader>\n )\n}\n\ninterface TableHeadCellProps {\n header: Header<TableRow, unknown>\n isLoading: boolean\n canSort?: boolean\n canFilter?: boolean\n canHide?: boolean\n canPin?: boolean\n canResize?: boolean\n isReadOnly?: boolean\n sortableRows?: boolean\n}\n\nconst TableHeadCell = ({\n header,\n isLoading,\n canFilter,\n canHide,\n canSort,\n canPin,\n canResize,\n isReadOnly,\n sortableRows,\n}: TableHeadCellProps) => {\n const { column } = header\n const sorting = column.getIsSorted()\n const menuId = `column-header-menu-${column.id}`\n const { menuOpen } = useMenuContext()\n const isOpen = menuOpen === menuId\n\n return (\n <Styled.HeaderCell\n className={clsx(header.id, 'shimmer-dark', {\n loading: isLoading,\n 'last-pinned-left': column.getIsPinned() === 'left' && column.getIsLastColumn('left'),\n resizing: column.getIsResizing(),\n })}\n key={header.id}\n style={{\n ...getCommonPinningStyles(column),\n width: getColumnWidth('', column.id),\n }}\n >\n {header.isPlaceholder ? null : (\n <Styled.TableCellContent className={clsx('bold', 'header')}>\n {flexRender(column.columnDef.header, header.getContext())}\n {isReadOnly && (\n <Icon icon=\"lock\" data-tooltip={'You only have permission to read this column.'} />\n )}\n\n <Styled.HeaderButtons className=\"actions\" $isOpen={isOpen}>\n {(canHide || canPin || canSort) && (\n <ColumnHeaderMenu\n className=\"header-menu\"\n header={header}\n canHide={canHide}\n canPin={canPin}\n canSort={canSort}\n isResizing={column.getIsResizing()}\n menuId={menuId}\n isOpen={isOpen}\n />\n )}\n\n {/* COLUMN SORTING */}\n {canSort && (\n <HeaderActionButton\n icon=\"sort\"\n className={clsx('sort-button', { visible: sorting })}\n style={{\n transform: sorting === 'asc' ? 'rotate(180deg) scaleX(-1)' : 'none',\n }}\n onClick={column.getToggleSortingHandler()}\n selected={!!column.getIsSorted()}\n />\n )}\n </Styled.HeaderButtons>\n {canResize && (\n <Styled.ResizedHandler\n {...{\n onDoubleClick: () => column.resetSize(),\n onMouseDown: header.getResizeHandler(),\n onTouchStart: header.getResizeHandler(),\n className: clsx('resize-handle', {\n resizing: column.getIsResizing(),\n }),\n }}\n />\n )}\n </Styled.TableCellContent>\n )}\n </Styled.HeaderCell>\n )\n}\n\ninterface TableBodyProps {\n columnVirtualizer: Virtualizer<HTMLDivElement, HTMLTableCellElement>\n table: Table<TableRow>\n tableContainerRef: React.RefObject<HTMLDivElement>\n showHierarchy: boolean\n virtualPaddingLeft: number | undefined\n virtualPaddingRight: number | undefined\n attribs: ProjectTableAttribute[]\n onOpenNew?: (type: 'folder' | 'task') => void\n rowOrderIds: UniqueIdentifier[]\n sortableRows: boolean\n error?: string\n isGrouping: boolean\n}\n\nconst TableBody = ({\n columnVirtualizer,\n table,\n tableContainerRef,\n showHierarchy,\n virtualPaddingLeft,\n virtualPaddingRight,\n attribs,\n onOpenNew,\n rowOrderIds,\n sortableRows,\n error,\n isGrouping,\n}: TableBodyProps) => {\n const headerLabels = useMemo(() => {\n const allColumns = table.getAllColumns()\n const headers = allColumns\n .map((col) => {\n const headerId = col.id\n const header = col.columnDef.header\n if (typeof header === 'string' || typeof header === 'number') {\n return { label: header, id: headerId }\n }\n return null\n })\n .filter(Boolean)\n\n return headers as HeaderLabel[]\n }, [table.getAllColumns()])\n\n const cellContextMenuHook = useCellContextMenu({ attribs, onOpenNew, headerLabels })\n\n const handleTableBodyContextMenu = cellContextMenuHook.handleTableBodyContextMenu\n\n const { handlePreFetchTasks } = usePrefetchFolderTasks()\n\n const { rows } = table.getRowModel()\n\n const rowVirtualizer = useVirtualizer<HTMLDivElement, HTMLTableRowElement>({\n count: rows.length,\n estimateSize: () => 40, //estimate row height for accurate scrollbar dragging\n getScrollElement: () => tableContainerRef.current,\n //measure dynamic row height, except in firefox because it measures table border height incorrectly\n measureElement:\n typeof window !== 'undefined' && navigator.userAgent.indexOf('Firefox') === -1\n ? (element) => element?.getBoundingClientRect().height\n : undefined,\n overscan: 5,\n })\n\n const virtualRows = rowVirtualizer.getVirtualItems()\n\n // Memoize the measureElement callback\n const measureRowElement = useCallback(\n (node: HTMLTableRowElement | null) => {\n if (node) {\n rowVirtualizer.measureElement(node)\n }\n },\n [rowVirtualizer],\n )\n\n useKeyboardNavigation()\n\n const tbodyContent = (\n <tbody\n style={{\n height: `${rowVirtualizer.getTotalSize()}px`,\n position: 'relative',\n display: 'grid',\n }}\n onContextMenu={handleTableBodyContextMenu}\n onMouseOver={(e) => {\n handlePreFetchTasks(e)\n }}\n >\n {virtualRows.map((virtualRow, i) => {\n const row = rows[virtualRow.index] as Row<TableRow>\n // Add a check for row existence to prevent potential errors if data is out of sync\n if (!row) {\n console.warn('Virtualized row data not found for index:', virtualRow.index)\n return null\n }\n return (\n <TableBodyRow\n key={row.id + i.toString()} // dnd-kit needs this key to be stable and match the id in useSortable\n row={row}\n showHierarchy={showHierarchy}\n visibleCells={row.getVisibleCells()}\n virtualColumns={columnVirtualizer.getVirtualItems()}\n paddingLeft={virtualPaddingLeft}\n paddingRight={virtualPaddingRight}\n rowRef={measureRowElement}\n dataIndex={virtualRow.index}\n offsetTop={virtualRow.start}\n sortableRows={sortableRows}\n isGrouping={isGrouping}\n />\n )\n })}\n </tbody>\n )\n\n if (error) {\n return (\n tableContainerRef.current &&\n createPortal(\n <EmptyPlaceholder message=\"No items found\" error={error} />,\n tableContainerRef.current,\n )\n )\n }\n\n if (sortableRows) {\n return (\n <SortableContext items={rowOrderIds} strategy={verticalListSortingStrategy}>\n {tbodyContent}\n </SortableContext>\n )\n } else {\n return tbodyContent\n }\n}\n\ninterface TableBodyRowProps {\n row: Row<TableRow>\n showHierarchy: boolean\n visibleCells: Cell<TableRow, unknown>[]\n virtualColumns: VirtualItem[]\n paddingLeft: number | undefined\n paddingRight: number | undefined\n rowRef: (node: HTMLTableRowElement | null) => void\n dataIndex: number\n offsetTop: number\n sortableRows: boolean\n isGrouping: boolean\n}\n\nconst TableBodyRow = ({\n row,\n showHierarchy,\n visibleCells,\n virtualColumns,\n paddingLeft,\n paddingRight,\n rowRef,\n dataIndex,\n offsetTop,\n sortableRows,\n isGrouping = false,\n}: TableBodyRowProps) => {\n const sortable = sortableRows ? useSortable({ id: row.id }) : null\n\n const combinedRef = useCallback(\n (node: HTMLTableRowElement | null) => {\n if (sortable) {\n sortable.setNodeRef(node)\n }\n // rowRef for virtualizer measurement\n // only measure if not actively being transformed by dnd-kit\n if (!(sortable && sortable.isDragging)) {\n rowRef(node)\n }\n },\n [sortable, rowRef],\n )\n\n // Attempt to combine dnd-kit transform with virtualizer's offsetTop\n const style: CSSProperties = {\n position: 'absolute', // Use absolute positioning for virtualized items\n top: offsetTop, // Position based on virtualizer's calculation (virtualRow.start)\n left: 0, // Span full width of the relative parent (tbody)\n right: 0, // Span full width\n height: 40, // Explicit height can be beneficial for absolute positioning\n zIndex: sortable && sortable.isDragging ? 0 : 1, // Ensure dragged item is above others\n display: 'flex', // Styled.TR is display:flex\n transform:\n sortable && sortable.transform ? CSS.Transform.toString(sortable.transform) : undefined, // Apply dnd-kit's transform for drag effect\n transition: sortable && sortable.transition ? sortable.transition : undefined,\n visibility: sortable && sortable.isDragging ? 'hidden' : 'visible', // Hide the row being dragged\n }\n\n return (\n <Styled.TR\n ref={combinedRef}\n data-index={dataIndex} //needed for dynamic row height measurement\n style={style}\n className={clsx({ 'group-row': row.original.group })}\n >\n {paddingLeft ? (\n //fake empty column to the left for virtualization scroll padding\n <td style={{ display: 'flex', width: paddingLeft }} />\n ) : null}\n {virtualColumns.map((vc, i) => {\n const cell = visibleCells[vc.index]\n if (!cell) return null // Should not happen in normal circumstances\n\n const cellId = getCellId(row.id, cell.column.id)\n\n if (cell.column.id === DRAG_HANDLE_COLUMN_ID) {\n return (\n <Styled.TableCell\n key={cell.id + i.toString()}\n style={{\n ...getCommonPinningStyles(cell.column),\n width: getColumnWidth(row.id, cell.column.id),\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n height: 40,\n }}\n className={clsx(cell.column.id, {\n 'last-pinned-left':\n cell.column.getIsPinned() === 'left' && cell.column.getIsLastColumn('left'),\n })}\n onMouseDown={(e) => e.stopPropagation()} // Prevent selection interference\n onMouseOver={(e) => e.stopPropagation()}\n // Removed onMouseUp stopPropagation to allow dnd-kit to handle it\n onDoubleClick={(e) => e.stopPropagation()}\n onContextMenu={(e) => {\n e.preventDefault()\n e.stopPropagation()\n }}\n >\n <RowDragHandleCellContent\n attributes={sortable?.attributes}\n listeners={sortable?.listeners}\n />\n </Styled.TableCell>\n )\n }\n return (\n <TableCellMemo\n cell={cell}\n cellId={cellId}\n rowId={row.id}\n key={cell.id + i.toString()}\n showHierarchy={showHierarchy}\n sortableRows={sortableRows}\n />\n )\n })}\n\n {paddingRight ? (\n //fake empty column to the right for virtualization scroll padding\n <td style={{ display: 'flex', width: paddingRight }} />\n ) : null}\n </Styled.TR>\n )\n}\n\ninterface TableCellProps {\n cell: Cell<TableRow, unknown>\n cellId: string\n rowId: string\n className?: string\n showHierarchy: boolean\n sortableRows?: boolean\n}\n\nconst TableCell = ({\n cell,\n rowId,\n cellId,\n className,\n showHierarchy,\n sortableRows,\n ...props\n}: TableCellProps) => {\n const { getEntityById, onOpenPlayer } = useProjectTableContext()\n\n const {\n isCellSelected,\n isCellFocused,\n startSelection,\n extendSelection,\n endSelection,\n selectCell,\n focusCell,\n getCellBorderClasses,\n clearSelection,\n selectedCells,\n } = useSelectionCellsContext()\n\n const { isRowSelected } = useSelectedRowsContext()\n\n const { isEditing, setEditingCellId } = useCellEditing()\n\n const borderClasses = getCellBorderClasses(cellId)\n\n const isPinned = cell.column.getIsPinned()\n const isLastLeftPinnedColumn = isPinned === 'left' && cell.column.getIsLastColumn('left')\n const isRowSelectionColumn = cell.column.id === ROW_SELECTION_COLUMN_ID\n const isGroup = cell.row.original.entityType === 'group'\n const isMultipleSelected = selectedCells.size > 1\n\n return (\n <Styled.TableCell\n {...props}\n tabIndex={0}\n $isLastPinned={isLastLeftPinnedColumn} // is this column the last pinned column? Custom styling for borders.\n className={clsx(\n cell.column.id,\n {\n selected: isCellSelected(cellId),\n focused: isCellFocused(cellId),\n editing: isEditing(cellId),\n 'last-pinned-left': isLastLeftPinnedColumn,\n 'selected-row': isRowSelected(rowId),\n task: cell.row.original.entityType === 'task',\n 'multiple-selected': isMultipleSelected,\n },\n className,\n ...borderClasses,\n )}\n style={{\n ...getCommonPinningStyles(cell.column),\n width: getColumnWidth(cell.row.id, cell.column.id),\n height: 40,\n }}\n onMouseDown={(e) => {\n // Only process left clicks (button 0), ignore right clicks\n if (e.button !== 0) return\n\n const target = e.target as HTMLElement\n\n // check we are not clicking on expander\n if (target.closest('.expander')) return\n\n // if we are clicking on an edit trigger, we need to start editing\n if (target.closest('.' + EDIT_TRIGGER_CLASS)) {\n if (!isCellSelected(cellId)) {\n // if the cell is not selected, select it and deselect all others\n selectCell(cellId, false, false)\n focusCell(cellId)\n }\n // start editing the cell\n setEditingCellId(cellId)\n\n return\n }\n\n // check we are not clicking in a dropdown\n if (target.closest('.options')) return\n\n // only name column can be selected for group rows\n if (isGroup && cell.column.id !== 'name') return clearSelection()\n\n const additive = e.metaKey || e.ctrlKey || isRowSelectionColumn\n if (e.shiftKey) {\n // Shift+click extends selection from anchor cell\n selectCell(cellId, additive, true) // true for range selection\n } else {\n // Normal click starts a new selection\n startSelection(cellId, additive)\n }\n }}\n onMouseOver={(e) => {\n if (e.buttons === 1) {\n // Left button is pressed during mouse move - drag selection\n extendSelection(cellId, isRowSelectionColumn)\n }\n }}\n onMouseUp={() => {\n endSelection(cellId)\n }}\n onDoubleClick={(e) => {\n // row selection on name column double click\n if (\n cell.column.id === 'name' &&\n !(e.target as HTMLElement).closest('.expander') &&\n !isGroup\n ) {\n // select the row by selecting the row-selection cell\n const rowSelectionCellId = getCellId(cell.row.id, ROW_SELECTION_COLUMN_ID)\n if (!isCellSelected(rowSelectionCellId)) {\n const additive = e.metaKey || e.ctrlKey\n selectCell(rowSelectionCellId, additive, false)\n }\n }\n // open the viewer on thumbnail double click\n if (cell.column.id === 'thumbnail') {\n if (onOpenPlayer) {\n const entity = getEntityById(cell.row.original.entityId || cell.row.id)\n if (entity) {\n const targetIds = getEntityViewierIds(entity)\n onOpenPlayer(targetIds, { quickView: true })\n }\n }\n }\n }}\n onContextMenu={(e) => {\n e.preventDefault()\n // if the cell is not selected, select it and deselect all others\n if (!isCellSelected(cellId)) {\n selectCell(cellId, false, false)\n }\n }}\n >\n {flexRender(cell.column.columnDef.cell, cell.getContext())}\n </Styled.TableCell>\n )\n}\n\nconst TableCellMemo = memo(TableCell)\n"],"names":["getCommonPinningStyles","column","isPinned","offset","ROW_SELECTION_COLUMN_ID","DRAG_HANDLE_COLUMN_ID","getColumnWidth","rowId","columnId","ProjectTreeTable","scope","sliceId","onScroll","onScrollBottom","onOpenNew","readOnly","excludedColumns","extraColumns","isLoadingProp","clientSorting","sortableRows","onRowReorder","dndActiveId","pt","props","columnVisibility","columnPinning","columnOrder","columnSizing","setAllColumns","sorting","sortingOnChange","columnPinningOnChange","columnSizingOnChange","columnVisibilityOnChange","columnOrderOnChange","groupBy","useColumnSettingsContext","isGrouping","projectInfo","tableData","attribFields","entitiesMap","users","isLoadingData","error","isInitialized","expanded","projectName","updateExpanded","toggleExpandAll","showHierarchy","fetchNextPage","scopes","getEntityById","useProjectTableContext","contextProjectName","writableFields","useProjectDataContext","isLoading","statuses","folderTypes","taskTypes","tags","linkTypes","options","useMemo","getTableFieldOptions","tableContainerRef","useRef","tableRowsCountRef","registerGrid","useSelectionCellsContext","loadingAttrib","loadingRows","tableRowsCount","_a","generateDummyAttributes","generateLoadingRows","showLoadingRows","readOnlyColumns","readOnlyAttribs","getReadOnlyLists","selectedCells","updateEntities","useCellEditing","handleCellUpdate","useCallback","entity","config","selection","entitiesToUpdate","field","value","isAttrib","type","cellId","colId","parseCellId","toast","columnAttribs","columns","baseColumns","buildTreeTableColumns","useEffect","ids","table","useReactTable","row","getCoreRowModel","getFilteredRowModel","getExpandedRowModel","getSortedRowModel","filterFns","leftPins","contextLeftPins","id","rows","rowIds","colIdsSortedByPinning","col","a","b","colA","colB","_b","visibleColumns","columnVirtualizer","virtualPaddingLeft","virtualPaddingRight","useColumnVirtualization","columnSizeVars","useCustomColumnWidthVars","attribByField","acc","attrib","_c","rowOrderIds","draggedRowData","r","combinedScrollHandler","e","containerRefElement","scrollHeight","scrollTop","clientHeight","isEntityPickerOpen","handleMoveSubmit","closeMoveDialog","movingEntities","handleMoveToRoot","getDisabledFolderIds","getDisabledMessage","useMoveEntities","handleMoveSubmitWithExpand","folderIdToExpand","prevExpanded","tableUiContent","jsxs","ClipboardProvider","jsx","Styled.TableWrapper","Styled.TableContainer","clsx","TableHead","TableBody","EntityPickerDialog","dragOverlayPortal","createPortal","DragOverlay","overlayRowInstance","tableWidth","Styled.TR","vc","cell","cellStyleBase","Styled.TableCell","Icon","TableCellMemo","getCellId","Fragment","Styled.TableHeader","headerGroup","TableHeadRow","virtualColumns","Styled.ColumnHeader","virtualColumn","header","TableHeadCell","canFilter","canHide","canSort","canPin","canResize","isReadOnly","menuId","menuOpen","useMenuContext","isOpen","Styled.HeaderCell","Styled.TableCellContent","flexRender","Styled.HeaderButtons","ColumnHeaderMenu","HeaderActionButton","Styled.ResizedHandler","attribs","headerLabels","headerId","handleTableBodyContextMenu","useCellContextMenu","handlePreFetchTasks","usePrefetchFolderTasks","rowVirtualizer","useVirtualizer","element","virtualRows","measureRowElement","node","useKeyboardNavigation","tbodyContent","virtualRow","i","TableBodyRow","EmptyPlaceholder","SortableContext","verticalListSortingStrategy","visibleCells","paddingLeft","paddingRight","rowRef","dataIndex","offsetTop","sortable","useSortable","combinedRef","style","CSS","RowDragHandleCellContent","TableCell","className","onOpenPlayer","isCellSelected","isCellFocused","startSelection","extendSelection","endSelection","selectCell","focusCell","getCellBorderClasses","clearSelection","isRowSelected","useSelectedRowsContext","isEditing","setEditingCellId","borderClasses","isLastLeftPinnedColumn","isRowSelectionColumn","isGroup","isMultipleSelected","target","EDIT_TRIGGER_CLASS","additive","rowSelectionCellId","targetIds","getEntityViewierIds","memo"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ProjectTreeTable.cjs.js","sources":["../../../../../src/containers/ProjectTreeTable/ProjectTreeTable.tsx"],"sourcesContent":["import { useMemo, useRef, useEffect, memo, CSSProperties, useCallback, UIEventHandler } from 'react' // Added useCallback\nimport { useVirtualizer, VirtualItem, Virtualizer } from '@tanstack/react-virtual'\n// TanStack Table imports\nimport {\n useReactTable,\n getCoreRowModel,\n getFilteredRowModel,\n getExpandedRowModel,\n filterFns,\n flexRender,\n Row,\n getSortedRowModel,\n Cell,\n Column,\n Table,\n Header,\n HeaderGroup,\n RowData,\n ExpandedState,\n} from '@tanstack/react-table'\n\n// Utility imports\nimport clsx from 'clsx'\n\n// Type imports\nimport type { TableRow } from './types/table'\n\n// Component imports\nimport buildTreeTableColumns, {\n DefaultColumns,\n TreeTableExtraColumn,\n} from './buildTreeTableColumns'\nimport * as Styled from './ProjectTreeTable.styled'\nimport { RowDragHandleCellContent, ColumnHeaderMenu } from './components'\nimport EmptyPlaceholder from '../../components/EmptyPlaceholder'\nimport HeaderActionButton from './components/HeaderActionButton'\n\n// Context imports\nimport { useCellEditing } from './context/CellEditingContext'\nimport { ROW_SELECTION_COLUMN_ID, useSelectionCellsContext } from './context/SelectionCellsContext'\nimport { ClipboardProvider } from './context/ClipboardContext'\nimport { useSelectedRowsContext } from './context/SelectedRowsContext'\nimport { useColumnSettingsContext } from './context/ColumnSettingsContext'\nimport { useMenuContext } from '../../context/MenuContext'\n\n// Hook imports\nimport useCustomColumnWidthVars from './hooks/useCustomColumnWidthVars'\nimport usePrefetchFolderTasks from './hooks/usePrefetchFolderTasks'\nimport useCellContextMenu, { HeaderLabel } from './hooks/useCellContextMenu'\nimport useColumnVirtualization from './hooks/useColumnVirtualization'\nimport useKeyboardNavigation from './hooks/useKeyboardNavigation'\n\n// EntityPickerDialog import\nimport { EntityPickerDialog } from '../EntityPickerDialog/EntityPickerDialog'\n// Move entity hook\nimport { useMoveEntities } from './hooks/useMoveEntities'\nimport { useProjectDataContext } from '@shared/containers'\n\n// Utility function imports\nimport { getCellId, parseCellId } from './utils/cellUtils'\nimport { generateLoadingRows, generateDummyAttributes } from './utils/loadingUtils'\nimport { createPortal } from 'react-dom'\nimport { Icon } from '@ynput/ayon-react-components'\nimport { AttributeEnumItem, ProjectTableAttribute, BuiltInFieldOptions } from './types'\nimport { ToggleExpandAll, useProjectTableContext } from './context/ProjectTableContext'\nimport { getEntityViewierIds, getReadOnlyLists, getTableFieldOptions } from './utils'\nimport { EntityUpdate } from './hooks/useUpdateTableData'\n\n// dnd-kit imports\nimport {\n DragOverlay,\n type UniqueIdentifier,\n // Removed: DndContext, KeyboardSensor, MouseSensor, TouchSensor, closestCenter, DragEndEvent, DragStartEvent, Active, Over, useSensor, useSensors\n} from '@dnd-kit/core'\n// import { restrictToVerticalAxis } from '@dnd-kit/modifiers'\nimport { SortableContext, verticalListSortingStrategy, useSortable } from '@dnd-kit/sortable'\nimport { CSS } from '@dnd-kit/utilities'\nimport { EDIT_TRIGGER_CLASS } from './widgets/CellWidget'\nimport { toast } from 'react-toastify'\nimport { EntityMoveData } from '@shared/context/MoveEntityContext'\nimport { useSelector } from 'react-redux'\n\ntype CellUpdate = (\n entity: Omit<EntityUpdate, 'id'>,\n config?: { selection?: string[] },\n) => Promise<void>\n\ndeclare module '@tanstack/react-table' {\n interface TableMeta<TData extends RowData> {\n options?: BuiltInFieldOptions\n readOnly?: ProjectTreeTableProps['readOnly']\n projectName?: string\n updateEntities?: CellUpdate\n toggleExpandAll?: ToggleExpandAll\n selection?: string[]\n }\n}\n\n//These are the important styles to make sticky column pinning work!\n//Apply styles like this using your CSS strategy of choice with this kind of logic to head cells, data cells, footer cells, etc.\n//View the index.css file for more needed styles such as border-collapse: separate\nconst getCommonPinningStyles = (column: Column<TableRow, unknown>): CSSProperties => {\n const isPinned = column.getIsPinned()\n const offset =\n column.id !== ROW_SELECTION_COLUMN_ID && column.id !== DRAG_HANDLE_COLUMN_ID ? -30 : 0\n\n return {\n left: isPinned === 'left' ? `${column.getStart('left') + offset}px` : undefined, // Removed offset\n right: isPinned === 'right' ? `${column.getAfter('right')}px` : undefined,\n position: isPinned ? 'sticky' : 'relative',\n width: column.getSize(),\n zIndex: isPinned ? 100 : 0,\n }\n}\n\nconst getColumnWidth = (rowId: string, columnId: string) => {\n return `calc(var(--col-${columnId}-size) * 1px)`\n}\n// test\n\nexport const DRAG_HANDLE_COLUMN_ID = 'drag-handle'\n\nexport interface ProjectTreeTableProps extends React.HTMLAttributes<HTMLDivElement> {\n scope: string\n sliceId: string\n onScrollBottom?: React.HTMLAttributes<HTMLDivElement>['onScroll']\n onOpenNew?: (type: 'folder' | 'task') => void\n readOnly?: (DefaultColumns | string)[]\n excludedColumns?: (DefaultColumns | string)[]\n extraColumns?: TreeTableExtraColumn[]\n isLoading?: boolean\n clientSorting?: boolean\n sortableRows?: boolean\n onRowReorder?: (active: UniqueIdentifier, over: UniqueIdentifier | null) => void // Adjusted type for active/over if needed, or keep as Active, Over\n dndActiveId?: UniqueIdentifier | null // Added prop\n pt?: {\n container?: React.HTMLAttributes<HTMLDivElement>\n head?: Partial<TableHeadProps>\n }\n}\n\nexport const ProjectTreeTable = ({\n scope,\n sliceId,\n onScroll,\n onScrollBottom, // when the user scrolls to the bottom of the table, this callback is called\n onOpenNew,\n readOnly,\n excludedColumns,\n extraColumns,\n isLoading: isLoadingProp,\n clientSorting = false,\n sortableRows = false,\n onRowReorder,\n dndActiveId, // Destructure new prop\n pt,\n ...props\n}: ProjectTreeTableProps) => {\n const {\n columnVisibility,\n columnPinning,\n columnOrder,\n columnSizing,\n setAllColumns,\n sorting,\n sortingOnChange,\n columnPinningOnChange,\n columnSizingOnChange,\n columnVisibilityOnChange,\n columnOrderOnChange,\n groupBy,\n } = useColumnSettingsContext()\n const isGrouping = !!groupBy\n\n const {\n projectInfo,\n tableData,\n attribFields,\n entitiesMap,\n users,\n isLoading: isLoadingData,\n error,\n isInitialized,\n expanded,\n projectName,\n updateExpanded,\n toggleExpandAll,\n showHierarchy,\n fetchNextPage,\n scopes,\n getEntityById,\n } = useProjectTableContext()\n\n const { projectName: contextProjectName, writableFields } = useProjectDataContext()\n\n const isLoading = isLoadingProp || isLoadingData\n\n const {\n statuses = [],\n folderTypes = [],\n taskTypes = [],\n tags = [],\n linkTypes = [],\n } = projectInfo || {}\n const options: BuiltInFieldOptions = useMemo(\n () =>\n getTableFieldOptions({\n users,\n statuses,\n folderTypes,\n taskTypes,\n tags,\n scopes,\n }),\n [users, statuses, folderTypes, taskTypes, scopes, tags],\n )\n\n //The virtualizer needs to know the scrollable container element\n const tableContainerRef = useRef<HTMLDivElement>(null)\n // reference of how many rows are currently rendered in the table\n const tableRowsCountRef = useRef(0)\n\n // Selection context\n const { registerGrid } = useSelectionCellsContext()\n\n // generate loading attrib and rows\n const { loadingAttrib, loadingRows } = useMemo(() => {\n // count the number of children in tbody\n const tableRowsCount = tableContainerRef.current?.querySelectorAll('tbody tr').length || 0\n const loadingAttrib = generateDummyAttributes()\n const loadingRows = generateLoadingRows(\n attribFields,\n showHierarchy && tableData.length > 0\n ? Math.min(tableRowsCount, 50)\n : groupBy\n ? Math.max(tableRowsCountRef.current, 50)\n : 50,\n )\n\n return { loadingAttrib, loadingRows }\n }, [])\n\n const showLoadingRows = !isInitialized || isLoading\n\n // Format readonly columns and attributes\n const { readOnlyColumns, readOnlyAttribs } = useMemo(\n () => getReadOnlyLists(attribFields, writableFields, readOnly),\n [attribFields, writableFields, readOnly],\n )\n\n const { selectedCells } = useSelectionCellsContext()\n const { updateEntities } = useCellEditing()\n\n const handleCellUpdate: CellUpdate = useCallback(\n async (entity, config) => {\n const { selection = [] } = config || {}\n const entitiesToUpdate: EntityUpdate[] = []\n if (!selection?.length) {\n entitiesToUpdate.push({ ...entity, id: entity.rowId })\n } else {\n // if includeSelection is true, update all the selected cells with the same columnId\n const { field, value, isAttrib, type } = entity\n for (const cellId of selectedCells) {\n const { colId, rowId } = parseCellId(cellId) || {}\n\n const entity = getEntityById(rowId || '')\n if (!entity) {\n console.warn(`Entity with ID ${rowId} not found for cell update.`)\n continue\n }\n\n if ((!colId?.includes('attrib_') || colId?.replace('attrib_', '') === field) && rowId) {\n entitiesToUpdate.push({\n field: field,\n rowId: rowId,\n id: entity.entityId,\n value: value,\n isAttrib: isAttrib,\n type: entity.entityType,\n })\n }\n }\n }\n\n if (!entitiesToUpdate.length) {\n console.warn('No entities to update, skipping updateEntities call.')\n toast.warn('No entities to update.')\n return\n }\n\n await updateEntities(entitiesToUpdate, true)\n },\n [updateEntities, getEntityById, selectedCells],\n )\n\n const columnAttribs = useMemo(\n () => (isInitialized ? attribFields : loadingAttrib),\n [attribFields, loadingAttrib, isInitialized],\n )\n const columns = useMemo(() => {\n const baseColumns = buildTreeTableColumns({\n attribs: columnAttribs,\n links: linkTypes,\n showHierarchy,\n options,\n extraColumns,\n excluded: excludedColumns,\n groupBy,\n })\n\n if (sortableRows) {\n return [\n {\n id: DRAG_HANDLE_COLUMN_ID,\n header: () => null,\n cell: () => null, // Content rendered by TableBodyRow\n size: 24,\n minSize: 24,\n maxSize: 24,\n enableResizing: false,\n enableSorting: false,\n enableHiding: false,\n enablePinning: false, // Programmatically pinned\n },\n ...baseColumns,\n ]\n }\n return baseColumns\n }, [columnAttribs, showHierarchy, options, extraColumns, excludedColumns, sortableRows])\n\n // Keep ColumnSettingsProvider's allColumns ref up to date\n useEffect(() => {\n const ids = columns.map((c) => c.id!).filter(Boolean)\n setAllColumns(ids)\n }, [columns, setAllColumns])\n\n const table = useReactTable({\n data: showLoadingRows ? loadingRows : tableData,\n columns,\n defaultColumn: {\n minSize: 50,\n size: 150,\n },\n enableRowSelection: true, //enable row selection for all rows\n getRowId: (row) => row.id,\n enableSubRowSelection: false, //disable sub row selection\n getSubRows: (row) => row.subRows,\n getRowCanExpand: () => true,\n getCoreRowModel: getCoreRowModel(),\n getFilteredRowModel: getFilteredRowModel(),\n getExpandedRowModel: getExpandedRowModel(),\n filterFromLeafRows: true,\n // EXPANDABLE\n onExpandedChange: updateExpanded,\n // SORTING\n getSortedRowModel: clientSorting ? getSortedRowModel() : undefined,\n onSortingChange: sortingOnChange,\n columnResizeMode: 'onChange',\n onColumnPinningChange: columnPinningOnChange,\n onColumnSizingChange: columnSizingOnChange,\n onColumnVisibilityChange: columnVisibilityOnChange,\n onColumnOrderChange: columnOrderOnChange,\n // @ts-ignore\n filterFns,\n state: {\n expanded,\n sorting,\n columnPinning: (() => {\n const leftPins: string[] = []\n if (sortableRows) {\n leftPins.push(DRAG_HANDLE_COLUMN_ID)\n }\n leftPins.push(ROW_SELECTION_COLUMN_ID)\n\n // Add other unique pins from context, ensuring they are not the programmatic ones\n const contextLeftPins = (columnPinning.left || []).filter(\n (id) => id !== DRAG_HANDLE_COLUMN_ID && id !== ROW_SELECTION_COLUMN_ID,\n )\n leftPins.push(...contextLeftPins)\n // Remove duplicates just in case, though filter should handle it\n const uniqueLeftPins = [...new Set(leftPins)]\n\n return {\n left: uniqueLeftPins,\n right: columnPinning.right,\n }\n })(),\n columnSizing,\n columnVisibility,\n columnOrder,\n },\n enableSorting: true,\n meta: {\n projectName,\n options,\n readOnly: readOnlyColumns,\n updateEntities: handleCellUpdate,\n toggleExpandAll,\n loadMoreTasks: fetchNextPage,\n selection: Array.from(selectedCells),\n },\n })\n\n // TODO: when there is data (like in error) then we have infinite rendering\n\n const { rows } = table.getRowModel()\n\n // update the tableRowsCountRef with the current number of rows\n useEffect(() => {\n tableRowsCountRef.current = rows.length\n }, [rows.length])\n\n // Register grid structure with selection context when rows or columns change\n useEffect(() => {\n if (!rows.length) return\n const rowIds = rows.map((row) => row.id)\n const colIds = table.getAllLeafColumns().map((col) => col.id)\n const colIdsSortedByPinning = [...colIds].sort((a, b) => {\n if (ROW_SELECTION_COLUMN_ID === b) return 1\n const colA = columnPinning.left?.includes(a) ? 0 : 1\n const colB = columnPinning.left?.includes(b) ? 0 : 1\n return colA - colB\n })\n\n registerGrid(rowIds, colIdsSortedByPinning)\n }, [rows, table.getAllLeafColumns(), columnPinning, ROW_SELECTION_COLUMN_ID, registerGrid])\n\n const visibleColumns = table.getVisibleLeafColumns()\n\n // Use the column virtualization hook\n const { columnVirtualizer, virtualPaddingLeft, virtualPaddingRight } = useColumnVirtualization({\n visibleColumns,\n tableContainerRef,\n columnPinning,\n columnSizing,\n columnOrder,\n })\n\n const columnSizeVars = useCustomColumnWidthVars(table, columnSizing)\n\n const attribByField = useMemo(() => {\n return attribFields.reduce((acc: Record<string, AttributeEnumItem[]>, attrib) => {\n if (attrib.data?.enum?.length) {\n acc[attrib.name] = attrib.data?.enum\n }\n return acc\n }, {})\n }, [attribFields])\n\n const rowOrderIds = useMemo(() => tableData.map((row) => row.id), [tableData])\n const draggedRowData = useMemo(() => {\n if (!dndActiveId || !sortableRows) return null // Use dndActiveId\n return tableData.find((r) => r.id === dndActiveId) // Use dndActiveId\n }, [dndActiveId, tableData, sortableRows])\n\n const combinedScrollHandler: UIEventHandler<HTMLDivElement> = useCallback(\n (e) => {\n // Call the original onScroll if provided\n onScroll?.(e)\n\n if (onScrollBottom) {\n const containerRefElement = e.currentTarget\n if (containerRefElement && !showHierarchy && !groupBy) {\n const { scrollHeight, scrollTop, clientHeight } = containerRefElement\n //once the user has scrolled within 500px of the bottom of the table, fetch more data if we can\n if (scrollHeight - scrollTop - clientHeight < 500 && !isLoading) {\n onScrollBottom(e)\n }\n }\n }\n },\n [onScroll, onScrollBottom, showHierarchy, groupBy, isLoading],\n )\n\n // Get move entity functions for the dialog\n const {\n isEntityPickerOpen,\n handleMoveSubmit,\n closeMoveDialog,\n movingEntities,\n handleMoveToRoot,\n getDisabledFolderIds,\n getDisabledMessage,\n } = useMoveEntities({\n projectName: contextProjectName || projectName || '',\n })\n\n const handleMoveSubmitWithExpand = (selection: string[]) => {\n handleMoveSubmit(selection)\n const folderIdToExpand = selection[0]\n\n updateExpanded((prevExpanded: ExpandedState) => {\n if (typeof prevExpanded === 'boolean') {\n if (prevExpanded) {\n return prevExpanded\n }\n return { [folderIdToExpand]: true }\n }\n\n if (prevExpanded[folderIdToExpand]) {\n return prevExpanded\n }\n\n return {\n ...prevExpanded,\n [folderIdToExpand]: true,\n }\n })\n }\n\n const tableUiContent = (\n <ClipboardProvider\n entitiesMap={entitiesMap}\n columnEnums={{ ...options, ...attribByField }}\n columnReadOnly={readOnlyAttribs}\n visibleColumns={visibleColumns}\n >\n <Styled.TableWrapper {...props}>\n <Styled.TableContainer\n ref={tableContainerRef}\n style={{ height: '100%', padding: 0 }}\n onScroll={combinedScrollHandler}\n {...pt?.container}\n className={clsx(\n 'table-container',\n {\n resizing: table.getState().columnSizingInfo.isResizingColumn,\n },\n pt?.container?.className,\n )}\n >\n <table\n style={{\n display: 'grid',\n borderCollapse: 'collapse',\n userSelect: 'none',\n ...columnSizeVars,\n width: table.getTotalSize(),\n cursor: table.getState().columnSizingInfo.isResizingColumn ? 'col-resize' : undefined,\n }}\n >\n <TableHead\n columnVirtualizer={columnVirtualizer}\n table={table}\n virtualPaddingLeft={virtualPaddingLeft}\n virtualPaddingRight={virtualPaddingRight}\n isLoading={isLoading}\n readOnlyColumns={readOnlyColumns}\n sortableRows={sortableRows}\n {...pt?.head}\n />\n <TableBody\n columnVirtualizer={columnVirtualizer}\n table={table}\n tableContainerRef={tableContainerRef}\n virtualPaddingLeft={virtualPaddingLeft}\n virtualPaddingRight={virtualPaddingRight}\n showHierarchy={showHierarchy}\n attribs={attribFields}\n onOpenNew={onOpenNew}\n rowOrderIds={rowOrderIds}\n sortableRows={sortableRows}\n error={error}\n isGrouping={isGrouping}\n />\n </table>\n </Styled.TableContainer>\n </Styled.TableWrapper>\n {/* Render EntityPickerDialog alongside table content */}\n {isEntityPickerOpen &&\n projectName &&\n movingEntities?.entities &&\n movingEntities.entities.length > 0 && (\n <EntityPickerDialog\n projectName={projectName}\n entityType=\"folder\"\n onSubmit={handleMoveSubmitWithExpand}\n onClose={closeMoveDialog}\n showMoveToRoot={movingEntities.entities.every(\n (entity: EntityMoveData) => entity.entityType === 'folder',\n )}\n onMoveToRoot={handleMoveToRoot}\n disabledIds={getDisabledFolderIds()}\n getDisabledMessage={getDisabledMessage}\n />\n )}\n </ClipboardProvider>\n )\n\n // Render DragOverlay if sortableRows and dndActiveId is present\n const dragOverlayPortal =\n sortableRows &&\n dndActiveId &&\n createPortal(\n <DragOverlay dropAnimation={null}>\n {draggedRowData\n ? (() => {\n const overlayRowInstance = table.getRowModel().rows.find((r) => r.id === dndActiveId)\n if (!overlayRowInstance) return null\n\n const tableWidth = table.getTotalSize()\n\n return (\n <table\n style={{\n width: tableWidth,\n borderCollapse: 'collapse',\n backgroundColor: 'var(--md-sys-color-surface-container-high)',\n boxShadow: '0 0 10px rgba(0,0,0,0.2)',\n ...columnSizeVars,\n }}\n >\n <tbody>\n <Styled.TR style={{ display: 'flex', userSelect: 'none' }}>\n {virtualPaddingLeft ? (\n <td style={{ display: 'flex', width: virtualPaddingLeft }} />\n ) : null}\n {columnVirtualizer.getVirtualItems().map((vc) => {\n const cell = overlayRowInstance.getVisibleCells()[vc.index]\n if (!cell) return null\n\n const cellStyleBase: CSSProperties = {\n ...getCommonPinningStyles(cell.column),\n width: getColumnWidth(overlayRowInstance.id, cell.column.id),\n display: 'flex',\n alignItems: 'center',\n height: 40,\n }\n\n if (cell.column.id === DRAG_HANDLE_COLUMN_ID) {\n return (\n <Styled.TableCell\n key={`overlay-drag-${cell.id}`}\n style={{ ...cellStyleBase, justifyContent: 'center' }}\n className={clsx(cell.column.id)}\n >\n <Icon icon=\"drag_handle\" /> {/* Static icon */}\n </Styled.TableCell>\n )\n }\n return (\n <TableCellMemo\n cell={cell}\n cellId={`overlay-${getCellId(overlayRowInstance.id, cell.column.id)}`}\n rowId={overlayRowInstance.id}\n key={`overlay-cell-${cell.id}`}\n showHierarchy={showHierarchy}\n />\n )\n })}\n {virtualPaddingRight ? (\n <td style={{ display: 'flex', width: virtualPaddingRight }} />\n ) : null}\n </Styled.TR>\n </tbody>\n </table>\n )\n })()\n : null}\n </DragOverlay>,\n document.body,\n )\n\n if (sortableRows) {\n return (\n <>\n {tableUiContent}\n {dragOverlayPortal}\n </>\n )\n } else {\n return tableUiContent\n }\n}\n\ninterface TableHeadProps extends React.HTMLAttributes<HTMLTableSectionElement> {\n columnVirtualizer: Virtualizer<HTMLDivElement, HTMLTableCellElement>\n table: Table<TableRow>\n virtualPaddingLeft: number | undefined\n virtualPaddingRight: number | undefined\n isLoading: boolean\n readOnlyColumns?: string[]\n sortableRows?: boolean\n}\n\nconst TableHead = ({\n columnVirtualizer,\n table,\n virtualPaddingLeft,\n virtualPaddingRight,\n isLoading,\n readOnlyColumns,\n sortableRows,\n ...props\n}: TableHeadProps) => {\n return (\n <Styled.TableHeader {...props}>\n {table.getHeaderGroups().map((headerGroup) => (\n <TableHeadRow\n key={headerGroup.id}\n columnVirtualizer={columnVirtualizer}\n headerGroup={headerGroup}\n virtualPaddingLeft={virtualPaddingLeft}\n virtualPaddingRight={virtualPaddingRight}\n isLoading={isLoading}\n readOnlyColumns={readOnlyColumns}\n sortableRows={sortableRows}\n />\n ))}\n </Styled.TableHeader>\n )\n}\n\ninterface TableHeadRowProps {\n columnVirtualizer: Virtualizer<HTMLDivElement, HTMLTableCellElement>\n headerGroup: HeaderGroup<TableRow>\n virtualPaddingLeft: number | undefined\n virtualPaddingRight: number | undefined\n isLoading: boolean\n readOnlyColumns?: string[]\n sortableRows?: boolean\n}\n\nconst TableHeadRow = ({\n columnVirtualizer,\n headerGroup,\n virtualPaddingLeft,\n virtualPaddingRight,\n isLoading,\n readOnlyColumns,\n sortableRows,\n}: TableHeadRowProps) => {\n const virtualColumns = columnVirtualizer.getVirtualItems()\n return (\n <Styled.ColumnHeader key={headerGroup.id} style={{ display: 'flex' }}>\n {virtualPaddingLeft ? (\n //fake empty column to the left for virtualization scroll padding\n <th style={{ display: 'flex', width: virtualPaddingLeft }} />\n ) : null}\n {virtualColumns.map((virtualColumn) => {\n const header = headerGroup.headers[virtualColumn.index]\n\n return (\n <TableHeadCell\n key={header.id}\n header={header}\n isLoading={isLoading}\n isReadOnly={readOnlyColumns?.includes(header.id)}\n canSort={header.column.getCanSort()}\n canFilter={header.column.getCanFilter()}\n canHide={header.column.getCanHide()}\n canPin={header.column.getCanPin()}\n canResize={header.column.getCanResize()}\n sortableRows={sortableRows}\n />\n )\n })}\n {virtualPaddingRight ? (\n //fake empty column to the right for virtualization scroll padding\n <th style={{ display: 'flex', width: virtualPaddingRight }} />\n ) : null}\n </Styled.ColumnHeader>\n )\n}\n\ninterface TableHeadCellProps {\n header: Header<TableRow, unknown>\n isLoading: boolean\n canSort?: boolean\n canFilter?: boolean\n canHide?: boolean\n canPin?: boolean\n canResize?: boolean\n isReadOnly?: boolean\n sortableRows?: boolean\n}\n\nconst TableHeadCell = ({\n header,\n isLoading,\n canFilter,\n canHide,\n canSort,\n canPin,\n canResize,\n isReadOnly,\n sortableRows,\n}: TableHeadCellProps) => {\n const { column } = header\n const sorting = column.getIsSorted()\n const menuId = `column-header-menu-${column.id}`\n const { menuOpen } = useMenuContext()\n const isOpen = menuOpen === menuId\n\n return (\n <Styled.HeaderCell\n className={clsx(header.id, 'shimmer-dark', {\n loading: isLoading,\n 'last-pinned-left': column.getIsPinned() === 'left' && column.getIsLastColumn('left'),\n resizing: column.getIsResizing(),\n })}\n key={header.id}\n style={{\n ...getCommonPinningStyles(column),\n width: getColumnWidth('', column.id),\n }}\n >\n {header.isPlaceholder ? null : (\n <Styled.TableCellContent className={clsx('bold', 'header')}>\n {flexRender(column.columnDef.header, header.getContext())}\n {isReadOnly && (\n <Icon icon=\"lock\" data-tooltip={'You only have permission to read this column.'} />\n )}\n\n <Styled.HeaderButtons className=\"actions\" $isOpen={isOpen}>\n {(canHide || canPin || canSort) && (\n <ColumnHeaderMenu\n className=\"header-menu\"\n header={header}\n canHide={canHide}\n canPin={canPin}\n canSort={canSort}\n isResizing={column.getIsResizing()}\n menuId={menuId}\n isOpen={isOpen}\n />\n )}\n\n {/* COLUMN SORTING */}\n {canSort && (\n <HeaderActionButton\n icon=\"sort\"\n className={clsx('sort-button', { visible: sorting })}\n style={{\n transform: sorting === 'asc' ? 'rotate(180deg) scaleX(-1)' : 'none',\n }}\n onClick={column.getToggleSortingHandler()}\n selected={!!column.getIsSorted()}\n />\n )}\n </Styled.HeaderButtons>\n {canResize && (\n <Styled.ResizedHandler\n {...{\n onDoubleClick: () => column.resetSize(),\n onMouseDown: header.getResizeHandler(),\n onTouchStart: header.getResizeHandler(),\n className: clsx('resize-handle', {\n resizing: column.getIsResizing(),\n }),\n }}\n />\n )}\n </Styled.TableCellContent>\n )}\n </Styled.HeaderCell>\n )\n}\n\ninterface TableBodyProps {\n columnVirtualizer: Virtualizer<HTMLDivElement, HTMLTableCellElement>\n table: Table<TableRow>\n tableContainerRef: React.RefObject<HTMLDivElement>\n showHierarchy: boolean\n virtualPaddingLeft: number | undefined\n virtualPaddingRight: number | undefined\n attribs: ProjectTableAttribute[]\n onOpenNew?: (type: 'folder' | 'task') => void\n rowOrderIds: UniqueIdentifier[]\n sortableRows: boolean\n error?: string\n isGrouping: boolean\n}\n\nconst TableBody = ({\n columnVirtualizer,\n table,\n tableContainerRef,\n showHierarchy,\n virtualPaddingLeft,\n virtualPaddingRight,\n attribs,\n onOpenNew,\n rowOrderIds,\n sortableRows,\n error,\n isGrouping,\n}: TableBodyProps) => {\n const headerLabels = useMemo(() => {\n const allColumns = table.getAllColumns()\n const headers = allColumns\n .map((col) => {\n const headerId = col.id\n const header = col.columnDef.header\n if (typeof header === 'string' || typeof header === 'number') {\n return { label: header, id: headerId }\n }\n return null\n })\n .filter(Boolean)\n\n return headers as HeaderLabel[]\n }, [table.getAllColumns()])\n\n const cellContextMenuHook = useCellContextMenu({ attribs, onOpenNew, headerLabels })\n\n const handleTableBodyContextMenu = cellContextMenuHook.handleTableBodyContextMenu\n\n const { handlePreFetchTasks } = usePrefetchFolderTasks()\n\n const { rows } = table.getRowModel()\n\n const rowVirtualizer = useVirtualizer<HTMLDivElement, HTMLTableRowElement>({\n count: rows.length,\n estimateSize: () => 40, //estimate row height for accurate scrollbar dragging\n getScrollElement: () => tableContainerRef.current,\n //measure dynamic row height, except in firefox because it measures table border height incorrectly\n measureElement:\n typeof window !== 'undefined' && navigator.userAgent.indexOf('Firefox') === -1\n ? (element) => element?.getBoundingClientRect().height\n : undefined,\n overscan: 5,\n })\n\n const virtualRows = rowVirtualizer.getVirtualItems()\n\n // Memoize the measureElement callback\n const measureRowElement = useCallback(\n (node: HTMLTableRowElement | null) => {\n if (node) {\n rowVirtualizer.measureElement(node)\n }\n },\n [rowVirtualizer],\n )\n\n useKeyboardNavigation()\n\n const tbodyContent = (\n <tbody\n style={{\n height: `${rowVirtualizer.getTotalSize()}px`,\n position: 'relative',\n display: 'grid',\n }}\n onContextMenu={handleTableBodyContextMenu}\n onMouseOver={(e) => {\n handlePreFetchTasks(e)\n }}\n >\n {virtualRows.map((virtualRow, i) => {\n const row = rows[virtualRow.index] as Row<TableRow>\n // Add a check for row existence to prevent potential errors if data is out of sync\n if (!row) {\n console.warn('Virtualized row data not found for index:', virtualRow.index)\n return null\n }\n return (\n <TableBodyRow\n key={row.id + i.toString()} // dnd-kit needs this key to be stable and match the id in useSortable\n row={row}\n showHierarchy={showHierarchy}\n visibleCells={row.getVisibleCells()}\n virtualColumns={columnVirtualizer.getVirtualItems()}\n paddingLeft={virtualPaddingLeft}\n paddingRight={virtualPaddingRight}\n rowRef={measureRowElement}\n dataIndex={virtualRow.index}\n offsetTop={virtualRow.start}\n sortableRows={sortableRows}\n isGrouping={isGrouping}\n />\n )\n })}\n </tbody>\n )\n\n if (error) {\n return (\n tableContainerRef.current &&\n createPortal(\n <EmptyPlaceholder message=\"No items found\" error={error} />,\n tableContainerRef.current,\n )\n )\n }\n\n if (sortableRows) {\n return (\n <SortableContext items={rowOrderIds} strategy={verticalListSortingStrategy}>\n {tbodyContent}\n </SortableContext>\n )\n } else {\n return tbodyContent\n }\n}\n\ninterface TableBodyRowProps {\n row: Row<TableRow>\n showHierarchy: boolean\n visibleCells: Cell<TableRow, unknown>[]\n virtualColumns: VirtualItem[]\n paddingLeft: number | undefined\n paddingRight: number | undefined\n rowRef: (node: HTMLTableRowElement | null) => void\n dataIndex: number\n offsetTop: number\n sortableRows: boolean\n isGrouping: boolean\n}\n\nconst TableBodyRow = ({\n row,\n showHierarchy,\n visibleCells,\n virtualColumns,\n paddingLeft,\n paddingRight,\n rowRef,\n dataIndex,\n offsetTop,\n sortableRows,\n isGrouping = false,\n}: TableBodyRowProps) => {\n const sortable = sortableRows ? useSortable({ id: row.id }) : null\n\n const combinedRef = useCallback(\n (node: HTMLTableRowElement | null) => {\n if (sortable) {\n sortable.setNodeRef(node)\n }\n // rowRef for virtualizer measurement\n // only measure if not actively being transformed by dnd-kit\n if (!(sortable && sortable.isDragging)) {\n rowRef(node)\n }\n },\n [sortable, rowRef],\n )\n\n // Attempt to combine dnd-kit transform with virtualizer's offsetTop\n const style: CSSProperties = {\n position: 'absolute', // Use absolute positioning for virtualized items\n top: offsetTop, // Position based on virtualizer's calculation (virtualRow.start)\n left: 0, // Span full width of the relative parent (tbody)\n right: 0, // Span full width\n height: 40, // Explicit height can be beneficial for absolute positioning\n zIndex: sortable && sortable.isDragging ? 0 : 1, // Ensure dragged item is above others\n display: 'flex', // Styled.TR is display:flex\n transform:\n sortable && sortable.transform ? CSS.Transform.toString(sortable.transform) : undefined, // Apply dnd-kit's transform for drag effect\n transition: sortable && sortable.transition ? sortable.transition : undefined,\n visibility: sortable && sortable.isDragging ? 'hidden' : 'visible', // Hide the row being dragged\n }\n\n return (\n <Styled.TR\n ref={combinedRef}\n data-index={dataIndex} //needed for dynamic row height measurement\n style={style}\n className={clsx({ 'group-row': row.original.group })}\n >\n {paddingLeft ? (\n //fake empty column to the left for virtualization scroll padding\n <td style={{ display: 'flex', width: paddingLeft }} />\n ) : null}\n {virtualColumns.map((vc, i) => {\n const cell = visibleCells[vc.index]\n if (!cell) return null // Should not happen in normal circumstances\n\n const cellId = getCellId(row.id, cell.column.id)\n\n if (cell.column.id === DRAG_HANDLE_COLUMN_ID) {\n return (\n <Styled.TableCell\n key={cell.id + i.toString()}\n style={{\n ...getCommonPinningStyles(cell.column),\n width: getColumnWidth(row.id, cell.column.id),\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n height: 40,\n pointerEvents: 'all',\n cursor: 'grab',\n }}\n className={clsx(cell.column.id, {\n 'last-pinned-left':\n cell.column.getIsPinned() === 'left' && cell.column.getIsLastColumn('left'),\n })}\n onMouseDown={(e) => e.stopPropagation()} // Prevent selection interference\n onMouseOver={(e) => e.stopPropagation()}\n // Removed onMouseUp stopPropagation to allow dnd-kit to handle it\n onDoubleClick={(e) => e.stopPropagation()}\n onContextMenu={(e) => {\n e.preventDefault()\n e.stopPropagation()\n }}\n >\n <RowDragHandleCellContent\n attributes={sortable?.attributes}\n listeners={sortable?.listeners}\n />\n </Styled.TableCell>\n )\n }\n return (\n <TableCellMemo\n cell={cell}\n cellId={cellId}\n rowId={row.id}\n key={cell.id + i.toString()}\n showHierarchy={showHierarchy}\n sortableRows={sortableRows}\n />\n )\n })}\n\n {paddingRight ? (\n //fake empty column to the right for virtualization scroll padding\n <td style={{ display: 'flex', width: paddingRight }} />\n ) : null}\n </Styled.TR>\n )\n}\n\ninterface TableCellProps {\n cell: Cell<TableRow, unknown>\n cellId: string\n rowId: string\n className?: string\n showHierarchy: boolean\n sortableRows?: boolean\n}\n\nconst TableCell = ({\n cell,\n rowId,\n cellId,\n className,\n showHierarchy,\n sortableRows,\n ...props\n}: TableCellProps) => {\n const { getEntityById, onOpenPlayer } = useProjectTableContext()\n\n const {\n isCellSelected,\n isCellFocused,\n startSelection,\n extendSelection,\n endSelection,\n selectCell,\n focusCell,\n getCellBorderClasses,\n clearSelection,\n selectedCells,\n } = useSelectionCellsContext()\n\n const { isRowSelected } = useSelectedRowsContext()\n\n const { isEditing, setEditingCellId } = useCellEditing()\n\n const borderClasses = getCellBorderClasses(cellId)\n\n const isPinned = cell.column.getIsPinned()\n const isLastLeftPinnedColumn = isPinned === 'left' && cell.column.getIsLastColumn('left')\n const isRowSelectionColumn = cell.column.id === ROW_SELECTION_COLUMN_ID\n const isGroup = cell.row.original.entityType === 'group'\n const isMultipleSelected = selectedCells.size > 1\n\n return (\n <Styled.TableCell\n {...props}\n tabIndex={0}\n $isLastPinned={isLastLeftPinnedColumn} // is this column the last pinned column? Custom styling for borders.\n className={clsx(\n cell.column.id,\n {\n selected: isCellSelected(cellId),\n focused: isCellFocused(cellId),\n editing: isEditing(cellId),\n 'last-pinned-left': isLastLeftPinnedColumn,\n 'selected-row': isRowSelected(rowId),\n task: cell.row.original.entityType === 'task',\n 'multiple-selected': isMultipleSelected,\n },\n className,\n ...borderClasses,\n )}\n style={{\n ...getCommonPinningStyles(cell.column),\n width: getColumnWidth(cell.row.id, cell.column.id),\n height: 40,\n }}\n onMouseDown={(e) => {\n // Only process left clicks (button 0), ignore right clicks\n if (e.button !== 0) return\n\n const target = e.target as HTMLElement\n\n // check we are not clicking on expander\n if (target.closest('.expander')) return\n\n // if we are clicking on an edit trigger, we need to start editing\n if (target.closest('.' + EDIT_TRIGGER_CLASS)) {\n if (!isCellSelected(cellId)) {\n // if the cell is not selected, select it and deselect all others\n selectCell(cellId, false, false)\n focusCell(cellId)\n }\n // start editing the cell\n setEditingCellId(cellId)\n\n return\n }\n\n // check we are not clicking in a dropdown\n if (target.closest('.options')) return\n\n // only name column can be selected for group rows\n if (isGroup && cell.column.id !== 'name') return clearSelection()\n\n const additive = e.metaKey || e.ctrlKey || isRowSelectionColumn\n if (e.shiftKey) {\n // Shift+click extends selection from anchor cell\n selectCell(cellId, additive, true) // true for range selection\n } else {\n // Normal click starts a new selection\n startSelection(cellId, additive)\n }\n }}\n onMouseOver={(e) => {\n if (e.buttons === 1) {\n // Left button is pressed during mouse move - drag selection\n extendSelection(cellId, isRowSelectionColumn)\n }\n }}\n onMouseUp={() => {\n endSelection(cellId)\n }}\n onDoubleClick={(e) => {\n // row selection on name column double click\n if (\n cell.column.id === 'name' &&\n !(e.target as HTMLElement).closest('.expander') &&\n !isGroup\n ) {\n // select the row by selecting the row-selection cell\n const rowSelectionCellId = getCellId(cell.row.id, ROW_SELECTION_COLUMN_ID)\n if (!isCellSelected(rowSelectionCellId)) {\n const additive = e.metaKey || e.ctrlKey\n selectCell(rowSelectionCellId, additive, false)\n }\n }\n // open the viewer on thumbnail double click\n if (cell.column.id === 'thumbnail') {\n if (onOpenPlayer) {\n const entity = getEntityById(cell.row.original.entityId || cell.row.id)\n if (entity) {\n const targetIds = getEntityViewierIds(entity)\n onOpenPlayer(targetIds, { quickView: true })\n }\n }\n }\n }}\n onContextMenu={(e) => {\n e.preventDefault()\n // if the cell is not selected, select it and deselect all others\n if (!isCellSelected(cellId)) {\n selectCell(cellId, false, false)\n }\n }}\n >\n {flexRender(cell.column.columnDef.cell, cell.getContext())}\n </Styled.TableCell>\n )\n}\n\nconst TableCellMemo = memo(TableCell)\n"],"names":["getCommonPinningStyles","column","isPinned","offset","ROW_SELECTION_COLUMN_ID","DRAG_HANDLE_COLUMN_ID","getColumnWidth","rowId","columnId","ProjectTreeTable","scope","sliceId","onScroll","onScrollBottom","onOpenNew","readOnly","excludedColumns","extraColumns","isLoadingProp","clientSorting","sortableRows","onRowReorder","dndActiveId","pt","props","columnVisibility","columnPinning","columnOrder","columnSizing","setAllColumns","sorting","sortingOnChange","columnPinningOnChange","columnSizingOnChange","columnVisibilityOnChange","columnOrderOnChange","groupBy","useColumnSettingsContext","isGrouping","projectInfo","tableData","attribFields","entitiesMap","users","isLoadingData","error","isInitialized","expanded","projectName","updateExpanded","toggleExpandAll","showHierarchy","fetchNextPage","scopes","getEntityById","useProjectTableContext","contextProjectName","writableFields","useProjectDataContext","isLoading","statuses","folderTypes","taskTypes","tags","linkTypes","options","useMemo","getTableFieldOptions","tableContainerRef","useRef","tableRowsCountRef","registerGrid","useSelectionCellsContext","loadingAttrib","loadingRows","tableRowsCount","_a","generateDummyAttributes","generateLoadingRows","showLoadingRows","readOnlyColumns","readOnlyAttribs","getReadOnlyLists","selectedCells","updateEntities","useCellEditing","handleCellUpdate","useCallback","entity","config","selection","entitiesToUpdate","field","value","isAttrib","type","cellId","colId","parseCellId","toast","columnAttribs","columns","baseColumns","buildTreeTableColumns","useEffect","ids","table","useReactTable","row","getCoreRowModel","getFilteredRowModel","getExpandedRowModel","getSortedRowModel","filterFns","leftPins","contextLeftPins","id","rows","rowIds","colIdsSortedByPinning","col","a","b","colA","colB","_b","visibleColumns","columnVirtualizer","virtualPaddingLeft","virtualPaddingRight","useColumnVirtualization","columnSizeVars","useCustomColumnWidthVars","attribByField","acc","attrib","_c","rowOrderIds","draggedRowData","r","combinedScrollHandler","e","containerRefElement","scrollHeight","scrollTop","clientHeight","isEntityPickerOpen","handleMoveSubmit","closeMoveDialog","movingEntities","handleMoveToRoot","getDisabledFolderIds","getDisabledMessage","useMoveEntities","handleMoveSubmitWithExpand","folderIdToExpand","prevExpanded","tableUiContent","jsxs","ClipboardProvider","jsx","Styled.TableWrapper","Styled.TableContainer","clsx","TableHead","TableBody","EntityPickerDialog","dragOverlayPortal","createPortal","DragOverlay","overlayRowInstance","tableWidth","Styled.TR","vc","cell","cellStyleBase","Styled.TableCell","Icon","TableCellMemo","getCellId","Fragment","Styled.TableHeader","headerGroup","TableHeadRow","virtualColumns","Styled.ColumnHeader","virtualColumn","header","TableHeadCell","canFilter","canHide","canSort","canPin","canResize","isReadOnly","menuId","menuOpen","useMenuContext","isOpen","Styled.HeaderCell","Styled.TableCellContent","flexRender","Styled.HeaderButtons","ColumnHeaderMenu","HeaderActionButton","Styled.ResizedHandler","attribs","headerLabels","headerId","handleTableBodyContextMenu","useCellContextMenu","handlePreFetchTasks","usePrefetchFolderTasks","rowVirtualizer","useVirtualizer","element","virtualRows","measureRowElement","node","useKeyboardNavigation","tbodyContent","virtualRow","i","TableBodyRow","EmptyPlaceholder","SortableContext","verticalListSortingStrategy","visibleCells","paddingLeft","paddingRight","rowRef","dataIndex","offsetTop","sortable","useSortable","combinedRef","style","CSS","RowDragHandleCellContent","TableCell","className","onOpenPlayer","isCellSelected","isCellFocused","startSelection","extendSelection","endSelection","selectCell","focusCell","getCellBorderClasses","clearSelection","isRowSelected","useSelectedRowsContext","isEditing","setEditingCellId","borderClasses","isLastLeftPinnedColumn","isRowSelectionColumn","isGroup","isMultipleSelected","target","EDIT_TRIGGER_CLASS","additive","rowSelectionCellId","targetIds","getEntityViewierIds","memo"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { j as o } from "../../../../_virtual/jsx-runtime.es.js";
|
|
2
|
-
import { memo as ue, useMemo as v, useRef as Nt, useCallback as Z, useEffect as
|
|
2
|
+
import { memo as ue, useMemo as v, useRef as Nt, useCallback as Z, useEffect as dt } from "react";
|
|
3
3
|
import { useVirtualizer as ce } from "@tanstack/react-virtual";
|
|
4
4
|
import { flexRender as Ot, useReactTable as ge, filterFns as fe, getSortedRowModel as he, getExpandedRowModel as Ce, getFilteredRowModel as ye, getCoreRowModel as xe } from "@tanstack/react-table";
|
|
5
5
|
import D from "clsx";
|
|
@@ -189,13 +189,14 @@ import "../../components/SimpleFormDialog/SimpleFormDialog.es.js";
|
|
|
189
189
|
import "../../components/EntityPath/EntityPath.styled.es.js";
|
|
190
190
|
import "../../components/EntityPath/SegmentProvider.es.js";
|
|
191
191
|
import "../../components/DetailsPanelAttributes/DetailsPanelAttributesEditor.es.js";
|
|
192
|
+
import "../../components/DetailsPanelDetails/DetailsPanelDetails.es.js";
|
|
193
|
+
import "../../components/DetailsPanelDetails/FieldLabel.es.js";
|
|
192
194
|
import "../../components/Watchers/Watchers.es.js";
|
|
193
195
|
import "../../components/ProjectTableSettings/ProjectTableSettings.es.js";
|
|
194
196
|
import "../../components/Powerpack/PowerpackButton.es.js";
|
|
195
197
|
import "../../components/Powerpack/PricingLink.es.js";
|
|
196
198
|
import "../../components/Powerpack/PowerpackDialog.styled.es.js";
|
|
197
199
|
import "../../components/Powerpack/CTAButton.es.js";
|
|
198
|
-
import "../../components/Powerpack/RequiredPowerpackVersion.es.js";
|
|
199
200
|
import "../../components/SettingsPanel/SettingsPanel.es.js";
|
|
200
201
|
import "../../components/SettingsPanel/SettingsPanelItemTemplate.es.js";
|
|
201
202
|
import "../../components/AttributeEditor/components/MinMaxField.es.js";
|
|
@@ -208,9 +209,8 @@ import "../../components/Feedback/FeedbackContext.es.js";
|
|
|
208
209
|
import "../../components/Feedback/SupportBubble.es.js";
|
|
209
210
|
import "../../components/Chips/Chips.es.js";
|
|
210
211
|
import "../../components/LinksManager/LinksManager.styled.es.js";
|
|
211
|
-
import "../../components/
|
|
212
|
-
import "../../components/
|
|
213
|
-
import "../../components/LinksManager/LinksManagerDialog.es.js";
|
|
212
|
+
import "../../components/StyledLink/StyledLink.es.js";
|
|
213
|
+
import "../../components/LinksManager/CellEditingDialog.es.js";
|
|
214
214
|
import "../DetailsPanel/DetailsPanel.styled.es.js";
|
|
215
215
|
import "../DetailsPanel/FeedFilters/FeedFilters.styled.es.js";
|
|
216
216
|
import "../DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.styled.es.js";
|
|
@@ -247,7 +247,7 @@ const tt = (t) => {
|
|
|
247
247
|
extraColumns: S,
|
|
248
248
|
isLoading: R,
|
|
249
249
|
clientSorting: i = !1,
|
|
250
|
-
sortableRows:
|
|
250
|
+
sortableRows: d = !1,
|
|
251
251
|
onRowReorder: s,
|
|
252
252
|
dndActiveId: j,
|
|
253
253
|
// Destructure new prop
|
|
@@ -303,34 +303,34 @@ const tt = (t) => {
|
|
|
303
303
|
[ft, bt, wt, St, Ct, Rt]
|
|
304
304
|
), q = Nt(null), jt = Nt(0), { registerGrid: Tt } = ut(), { loadingAttrib: Mt, loadingRows: Yt } = v(() => {
|
|
305
305
|
var r;
|
|
306
|
-
const e = ((r = q.current) == null ? void 0 : r.querySelectorAll("tbody tr").length) || 0,
|
|
306
|
+
const e = ((r = q.current) == null ? void 0 : r.querySelectorAll("tbody tr").length) || 0, p = Ke(), l = Ue(
|
|
307
307
|
w,
|
|
308
308
|
O && C.length > 0 ? Math.min(e, 50) : N ? Math.max(jt.current, 50) : 50
|
|
309
309
|
);
|
|
310
|
-
return { loadingAttrib:
|
|
310
|
+
return { loadingAttrib: p, loadingRows: l };
|
|
311
311
|
}, []), Jt = !it || U, { readOnlyColumns: zt, readOnlyAttribs: Qt } = v(
|
|
312
312
|
() => qe(w, xt, g),
|
|
313
313
|
[w, xt, g]
|
|
314
314
|
), { selectedCells: nt } = ut(), { updateEntities: It } = kt(), Zt = Z(
|
|
315
|
-
async (e,
|
|
316
|
-
const { selection: l = [] } =
|
|
315
|
+
async (e, p) => {
|
|
316
|
+
const { selection: l = [] } = p || {}, r = [];
|
|
317
317
|
if (!(l != null && l.length))
|
|
318
318
|
r.push({ ...e, id: e.rowId });
|
|
319
319
|
else {
|
|
320
320
|
const { field: z, value: lt, isAttrib: mt, type: at } = e;
|
|
321
321
|
for (const J of nt) {
|
|
322
|
-
const { colId: B, rowId: Q } = Xe(J) || {},
|
|
323
|
-
if (!
|
|
322
|
+
const { colId: B, rowId: Q } = Xe(J) || {}, pt = yt(Q || "");
|
|
323
|
+
if (!pt) {
|
|
324
324
|
console.warn(`Entity with ID ${Q} not found for cell update.`);
|
|
325
325
|
continue;
|
|
326
326
|
}
|
|
327
327
|
(!(B != null && B.includes("attrib_")) || (B == null ? void 0 : B.replace("attrib_", "")) === z) && Q && r.push({
|
|
328
328
|
field: z,
|
|
329
329
|
rowId: Q,
|
|
330
|
-
id:
|
|
330
|
+
id: pt.entityId,
|
|
331
331
|
value: lt,
|
|
332
332
|
isAttrib: mt,
|
|
333
|
-
type:
|
|
333
|
+
type: pt.entityType
|
|
334
334
|
});
|
|
335
335
|
}
|
|
336
336
|
}
|
|
@@ -354,7 +354,7 @@ const tt = (t) => {
|
|
|
354
354
|
excluded: x,
|
|
355
355
|
groupBy: N
|
|
356
356
|
});
|
|
357
|
-
return
|
|
357
|
+
return d ? [
|
|
358
358
|
{
|
|
359
359
|
id: $,
|
|
360
360
|
header: () => null,
|
|
@@ -371,9 +371,9 @@ const tt = (t) => {
|
|
|
371
371
|
},
|
|
372
372
|
...e
|
|
373
373
|
] : e;
|
|
374
|
-
}, [Pt, O, W, S, x,
|
|
375
|
-
|
|
376
|
-
const e = rt.map((
|
|
374
|
+
}, [Pt, O, W, S, x, d]);
|
|
375
|
+
dt(() => {
|
|
376
|
+
const e = rt.map((p) => p.id).filter(Boolean);
|
|
377
377
|
k(e);
|
|
378
378
|
}, [rt, k]);
|
|
379
379
|
const M = ge({
|
|
@@ -411,11 +411,11 @@ const tt = (t) => {
|
|
|
411
411
|
sorting: A,
|
|
412
412
|
columnPinning: (() => {
|
|
413
413
|
const e = [];
|
|
414
|
-
|
|
415
|
-
const
|
|
414
|
+
d && e.push($), e.push(H);
|
|
415
|
+
const p = (m.left || []).filter(
|
|
416
416
|
(r) => r !== $ && r !== H
|
|
417
417
|
);
|
|
418
|
-
return e.push(...
|
|
418
|
+
return e.push(...p), {
|
|
419
419
|
left: [...new Set(e)],
|
|
420
420
|
right: m.right
|
|
421
421
|
};
|
|
@@ -435,9 +435,9 @@ const tt = (t) => {
|
|
|
435
435
|
selection: Array.from(nt)
|
|
436
436
|
}
|
|
437
437
|
}), { rows: _ } = M.getRowModel();
|
|
438
|
-
|
|
438
|
+
dt(() => {
|
|
439
439
|
jt.current = _.length;
|
|
440
|
-
}, [_.length]),
|
|
440
|
+
}, [_.length]), dt(() => {
|
|
441
441
|
if (!_.length) return;
|
|
442
442
|
const e = _.map((r) => r.id), l = [...M.getAllLeafColumns().map((r) => r.id)].sort((r, z) => {
|
|
443
443
|
var at, J;
|
|
@@ -453,15 +453,15 @@ const tt = (t) => {
|
|
|
453
453
|
columnPinning: m,
|
|
454
454
|
columnSizing: h,
|
|
455
455
|
columnOrder: I
|
|
456
|
-
}), Dt = ke(M, h), te = v(() => w.reduce((e,
|
|
456
|
+
}), Dt = ke(M, h), te = v(() => w.reduce((e, p) => {
|
|
457
457
|
var l, r, z;
|
|
458
|
-
return (r = (l =
|
|
459
|
-
}, {}), [w]), ee = v(() => C.map((e) => e.id), [C]), oe = v(() => !j || !
|
|
458
|
+
return (r = (l = p.data) == null ? void 0 : l.enum) != null && r.length && (e[p.name] = (z = p.data) == null ? void 0 : z.enum), e;
|
|
459
|
+
}, {}), [w]), ee = v(() => C.map((e) => e.id), [C]), oe = v(() => !j || !d ? null : C.find((e) => e.id === j), [j, C, d]), ie = Z(
|
|
460
460
|
(e) => {
|
|
461
461
|
if (n == null || n(e), c) {
|
|
462
|
-
const
|
|
463
|
-
if (
|
|
464
|
-
const { scrollHeight: l, scrollTop: r, clientHeight: z } =
|
|
462
|
+
const p = e.currentTarget;
|
|
463
|
+
if (p && !O && !N) {
|
|
464
|
+
const { scrollHeight: l, scrollTop: r, clientHeight: z } = p;
|
|
465
465
|
l - r - z < 500 && !U && c(e);
|
|
466
466
|
}
|
|
467
467
|
}
|
|
@@ -477,12 +477,12 @@ const tt = (t) => {
|
|
|
477
477
|
getDisabledMessage: ae
|
|
478
478
|
} = _e({
|
|
479
479
|
projectName: qt || K || ""
|
|
480
|
-
}),
|
|
480
|
+
}), pe = (e) => {
|
|
481
481
|
re(e);
|
|
482
|
-
const
|
|
483
|
-
ht((l) => typeof l == "boolean" ? l || { [
|
|
482
|
+
const p = e[0];
|
|
483
|
+
ht((l) => typeof l == "boolean" ? l || { [p]: !0 } : l[p] ? l : {
|
|
484
484
|
...l,
|
|
485
|
-
[
|
|
485
|
+
[p]: !0
|
|
486
486
|
});
|
|
487
487
|
}, Et = /* @__PURE__ */ o.jsxs(
|
|
488
488
|
Le,
|
|
@@ -527,7 +527,7 @@ const tt = (t) => {
|
|
|
527
527
|
virtualPaddingRight: Y,
|
|
528
528
|
isLoading: U,
|
|
529
529
|
readOnlyColumns: zt,
|
|
530
|
-
sortableRows:
|
|
530
|
+
sortableRows: d,
|
|
531
531
|
...f == null ? void 0 : f.head
|
|
532
532
|
}
|
|
533
533
|
),
|
|
@@ -543,7 +543,7 @@ const tt = (t) => {
|
|
|
543
543
|
attribs: w,
|
|
544
544
|
onOpenNew: y,
|
|
545
545
|
rowOrderIds: ee,
|
|
546
|
-
sortableRows:
|
|
546
|
+
sortableRows: d,
|
|
547
547
|
error: Gt,
|
|
548
548
|
isGrouping: ot
|
|
549
549
|
}
|
|
@@ -558,7 +558,7 @@ const tt = (t) => {
|
|
|
558
558
|
{
|
|
559
559
|
projectName: K,
|
|
560
560
|
entityType: "folder",
|
|
561
|
-
onSubmit:
|
|
561
|
+
onSubmit: pe,
|
|
562
562
|
onClose: se,
|
|
563
563
|
showMoveToRoot: G.entities.every(
|
|
564
564
|
(e) => e.entityType === "folder"
|
|
@@ -570,16 +570,16 @@ const tt = (t) => {
|
|
|
570
570
|
)
|
|
571
571
|
]
|
|
572
572
|
}
|
|
573
|
-
),
|
|
573
|
+
), de = d && j && Vt(
|
|
574
574
|
/* @__PURE__ */ o.jsx(Ze, { dropAnimation: null, children: oe ? (() => {
|
|
575
575
|
const e = M.getRowModel().rows.find((l) => l.id === j);
|
|
576
576
|
if (!e) return null;
|
|
577
|
-
const
|
|
577
|
+
const p = M.getTotalSize();
|
|
578
578
|
return /* @__PURE__ */ o.jsx(
|
|
579
579
|
"table",
|
|
580
580
|
{
|
|
581
581
|
style: {
|
|
582
|
-
width:
|
|
582
|
+
width: p,
|
|
583
583
|
borderCollapse: "collapse",
|
|
584
584
|
backgroundColor: "var(--md-sys-color-surface-container-high)",
|
|
585
585
|
boxShadow: "0 0 10px rgba(0,0,0,0.2)",
|
|
@@ -626,9 +626,9 @@ const tt = (t) => {
|
|
|
626
626
|
})() : null }),
|
|
627
627
|
document.body
|
|
628
628
|
);
|
|
629
|
-
return
|
|
629
|
+
return d ? /* @__PURE__ */ o.jsxs(o.Fragment, { children: [
|
|
630
630
|
Et,
|
|
631
|
-
|
|
631
|
+
de
|
|
632
632
|
] }) : Et;
|
|
633
633
|
}, no = ({
|
|
634
634
|
columnVirtualizer: t,
|
|
@@ -700,7 +700,7 @@ const tt = (t) => {
|
|
|
700
700
|
isReadOnly: S,
|
|
701
701
|
sortableRows: R
|
|
702
702
|
}) => {
|
|
703
|
-
const { column: i } = t,
|
|
703
|
+
const { column: i } = t, d = i.getIsSorted(), s = `column-header-menu-${i.id}`, { menuOpen: j } = He(), f = j === s;
|
|
704
704
|
return /* @__PURE__ */ o.jsx(
|
|
705
705
|
Te,
|
|
706
706
|
{
|
|
@@ -734,9 +734,9 @@ const tt = (t) => {
|
|
|
734
734
|
Pe,
|
|
735
735
|
{
|
|
736
736
|
icon: "sort",
|
|
737
|
-
className: D("sort-button", { visible:
|
|
737
|
+
className: D("sort-button", { visible: d }),
|
|
738
738
|
style: {
|
|
739
|
-
transform:
|
|
739
|
+
transform: d === "asc" ? "rotate(180deg) scaleX(-1)" : "none"
|
|
740
740
|
},
|
|
741
741
|
onClick: i.getToggleSortingHandler(),
|
|
742
742
|
selected: !!i.getIsSorted()
|
|
@@ -769,7 +769,7 @@ const tt = (t) => {
|
|
|
769
769
|
onOpenNew: S,
|
|
770
770
|
rowOrderIds: R,
|
|
771
771
|
sortableRows: i,
|
|
772
|
-
error:
|
|
772
|
+
error: d,
|
|
773
773
|
isGrouping: s
|
|
774
774
|
}) => {
|
|
775
775
|
const j = v(() => a.getAllColumns().map((P) => {
|
|
@@ -824,8 +824,8 @@ const tt = (t) => {
|
|
|
824
824
|
})
|
|
825
825
|
}
|
|
826
826
|
);
|
|
827
|
-
return
|
|
828
|
-
/* @__PURE__ */ o.jsx(Ee, { message: "No items found", error:
|
|
827
|
+
return d ? n.current && Vt(
|
|
828
|
+
/* @__PURE__ */ o.jsx(Ee, { message: "No items found", error: d }),
|
|
829
829
|
n.current
|
|
830
830
|
) : i ? /* @__PURE__ */ o.jsx(to, { items: R, strategy: eo, children: A }) : A;
|
|
831
831
|
}, mo = ({
|
|
@@ -839,7 +839,7 @@ const tt = (t) => {
|
|
|
839
839
|
dataIndex: S,
|
|
840
840
|
offsetTop: R,
|
|
841
841
|
sortableRows: i,
|
|
842
|
-
isGrouping:
|
|
842
|
+
isGrouping: d = !1
|
|
843
843
|
}) => {
|
|
844
844
|
const s = i ? oo({ id: t.id }) : null, j = Z(
|
|
845
845
|
(T) => {
|
|
@@ -892,7 +892,9 @@ const tt = (t) => {
|
|
|
892
892
|
display: "flex",
|
|
893
893
|
alignItems: "center",
|
|
894
894
|
justifyContent: "center",
|
|
895
|
-
height: 40
|
|
895
|
+
height: 40,
|
|
896
|
+
pointerEvents: "all",
|
|
897
|
+
cursor: "grab"
|
|
896
898
|
},
|
|
897
899
|
className: D(m.column.id, {
|
|
898
900
|
"last-pinned-left": m.column.getIsPinned() === "left" && m.column.getIsLastColumn("left")
|
|
@@ -942,7 +944,7 @@ const tt = (t) => {
|
|
|
942
944
|
}) => {
|
|
943
945
|
const { getEntityById: S, onOpenPlayer: R } = Ft(), {
|
|
944
946
|
isCellSelected: i,
|
|
945
|
-
isCellFocused:
|
|
947
|
+
isCellFocused: d,
|
|
946
948
|
startSelection: s,
|
|
947
949
|
extendSelection: j,
|
|
948
950
|
endSelection: f,
|
|
@@ -962,7 +964,7 @@ const tt = (t) => {
|
|
|
962
964
|
t.column.id,
|
|
963
965
|
{
|
|
964
966
|
selected: i(n),
|
|
965
|
-
focused:
|
|
967
|
+
focused: d(n),
|
|
966
968
|
editing: A(n),
|
|
967
969
|
"last-pinned-left": F,
|
|
968
970
|
"selected-row": k(a),
|