@ynput/ayon-frontend-shared 0.2.6 → 0.2.9
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 +4 -0
- package/dist/DetailsPanel.cjs.js.map +1 -1
- package/dist/DetailsPanel.es.js +4 -0
- package/dist/DetailsPanel.es.js.map +1 -1
- package/dist/ProjectTreeTable.cjs.js +11 -0
- package/dist/ProjectTreeTable.cjs.js.map +1 -1
- package/dist/ProjectTreeTable.es.js +12 -1
- package/dist/ProjectTreeTable.es.js.map +1 -1
- package/dist/_virtual/index.cjs10.js +5 -3
- package/dist/_virtual/index.cjs10.js.map +1 -1
- package/dist/_virtual/index.cjs4.js +4 -4
- package/dist/_virtual/index.cjs5.js +5 -3
- package/dist/_virtual/index.cjs5.js.map +1 -1
- package/dist/_virtual/index.cjs6.js +3 -5
- package/dist/_virtual/index.cjs6.js.map +1 -1
- package/dist/_virtual/index.cjs7.js +3 -5
- package/dist/_virtual/index.cjs7.js.map +1 -1
- package/dist/_virtual/index.cjs8.js +4 -4
- package/dist/_virtual/index.cjs9.js +4 -4
- package/dist/_virtual/index.es10.js +5 -2
- package/dist/_virtual/index.es10.js.map +1 -1
- package/dist/_virtual/index.es4.js +4 -4
- package/dist/_virtual/index.es5.js +5 -2
- package/dist/_virtual/index.es5.js.map +1 -1
- package/dist/_virtual/index.es6.js +2 -5
- package/dist/_virtual/index.es6.js.map +1 -1
- package/dist/_virtual/index.es7.js +2 -5
- package/dist/_virtual/index.es7.js.map +1 -1
- package/dist/_virtual/index.es8.js +4 -4
- package/dist/_virtual/index.es9.js +4 -4
- package/dist/api.cjs.js +5 -0
- package/dist/api.cjs.js.map +1 -1
- package/dist/api.es.js +6 -1
- package/dist/api.es.js.map +1 -1
- package/dist/context.cjs.js +6 -0
- package/dist/context.cjs.js.map +1 -1
- package/dist/context.es.js +6 -0
- package/dist/context.es.js.map +1 -1
- package/dist/hooks.cjs.js +2 -0
- package/dist/hooks.cjs.js.map +1 -1
- package/dist/hooks.es.js +3 -1
- package/dist/hooks.es.js.map +1 -1
- package/dist/index.cjs.js +4 -0
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.es.js +4 -0
- package/dist/index.es.js.map +1 -1
- package/dist/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.cjs.js +1 -1
- package/dist/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.cjs.js.map +1 -1
- package/dist/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.es.js +1 -1
- package/dist/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.es.js.map +1 -1
- package/dist/node_modules/@reduxjs/toolkit/dist/query/rtk-query.modern.cjs.js +12 -12
- package/dist/node_modules/@reduxjs/toolkit/dist/query/rtk-query.modern.cjs.js.map +1 -1
- package/dist/node_modules/@reduxjs/toolkit/dist/query/rtk-query.modern.es.js +12 -12
- package/dist/node_modules/@reduxjs/toolkit/dist/query/rtk-query.modern.es.js.map +1 -1
- package/dist/node_modules/decode-named-character-reference/index.dom.cjs.js +7 -3
- package/dist/node_modules/decode-named-character-reference/index.dom.cjs.js.map +1 -1
- package/dist/node_modules/decode-named-character-reference/index.dom.es.js +7 -3
- package/dist/node_modules/decode-named-character-reference/index.dom.es.js.map +1 -1
- package/dist/node_modules/graphql/language/visitor.cjs.js +1 -4
- package/dist/node_modules/graphql/language/visitor.cjs.js.map +1 -1
- package/dist/node_modules/graphql/language/visitor.es.js +1 -4
- package/dist/node_modules/graphql/language/visitor.es.js.map +1 -1
- package/dist/node_modules/match-sorter/dist/match-sorter.esm.cjs.js +18 -12
- package/dist/node_modules/match-sorter/dist/match-sorter.esm.cjs.js.map +1 -1
- package/dist/node_modules/match-sorter/dist/match-sorter.esm.es.js +18 -12
- package/dist/node_modules/match-sorter/dist/match-sorter.esm.es.js.map +1 -1
- package/dist/node_modules/parse-entities/lib/index.cjs.js +26 -24
- package/dist/node_modules/parse-entities/lib/index.cjs.js.map +1 -1
- package/dist/node_modules/parse-entities/lib/index.es.js +26 -24
- package/dist/node_modules/parse-entities/lib/index.es.js.map +1 -1
- package/dist/node_modules/parse-numeric-range/index.cjs.js +1 -1
- package/dist/node_modules/parse-numeric-range/index.es.js +1 -1
- package/dist/node_modules/react-intersection-observer/{index.cjs.js → dist/index.cjs.js} +4 -10
- package/dist/node_modules/react-intersection-observer/dist/index.cjs.js.map +1 -0
- package/dist/node_modules/react-intersection-observer/{index.es.js → dist/index.es.js} +4 -10
- package/dist/node_modules/react-intersection-observer/dist/index.es.js.map +1 -0
- package/dist/node_modules/refractor/lang/abap.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/abap.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/abnf.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/abnf.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/actionscript.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/actionscript.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/ada.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/ada.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/agda.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/agda.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/al.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/al.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/antlr4.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/antlr4.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/apacheconf.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/apacheconf.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/apex.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/apex.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/apl.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/apl.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/applescript.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/applescript.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/aql.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/aql.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/arduino.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/arduino.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/arff.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/arff.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/armasm.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/armasm.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/arturo.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/arturo.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/asciidoc.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/asciidoc.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/asm6502.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/asm6502.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/asmatmel.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/asmatmel.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/aspnet.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/aspnet.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/autohotkey.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/autohotkey.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/autoit.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/autoit.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/avisynth.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/avisynth.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/avro-idl.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/avro-idl.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/awk.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/awk.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/bash.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/bash.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/basic.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/basic.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/batch.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/batch.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/bbcode.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/bbcode.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/bbj.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/bbj.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/bicep.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/bicep.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/birb.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/birb.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/bison.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/bison.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/bnf.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/bnf.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/bqn.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/bqn.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/brainfuck.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/brainfuck.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/brightscript.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/brightscript.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/bro.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/bro.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/bsl.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/bsl.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/c.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/c.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/cfscript.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/cfscript.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/chaiscript.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/chaiscript.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/cil.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/cil.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/cilkc.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/cilkc.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/cilkcpp.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/cilkcpp.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/clike.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/clike.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/clojure.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/clojure.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/cmake.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/cmake.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/cobol.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/cobol.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/coffeescript.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/coffeescript.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/concurnas.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/concurnas.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/cooklang.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/cooklang.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/coq.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/coq.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/cpp.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/cpp.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/crystal.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/crystal.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/csharp.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/csharp.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/cshtml.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/cshtml.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/csp.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/csp.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/css-extras.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/css-extras.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/css.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/css.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/csv.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/csv.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/cue.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/cue.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/cypher.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/cypher.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/d.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/d.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/dart.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/dart.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/dataweave.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/dataweave.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/dax.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/dax.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/dhall.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/dhall.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/diff.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/diff.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/django.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/django.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/dns-zone-file.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/dns-zone-file.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/docker.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/docker.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/dot.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/dot.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/ebnf.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/ebnf.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/editorconfig.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/editorconfig.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/eiffel.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/eiffel.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/ejs.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/ejs.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/elixir.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/elixir.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/elm.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/elm.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/erb.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/erb.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/erlang.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/erlang.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/etlua.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/etlua.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/excel-formula.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/excel-formula.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/factor.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/factor.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/false.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/false.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/firestore-security-rules.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/firestore-security-rules.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/flow.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/flow.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/fortran.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/fortran.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/fsharp.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/fsharp.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/ftl.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/ftl.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/gap.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/gap.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/gcode.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/gcode.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/gdscript.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/gdscript.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/gedcom.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/gedcom.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/gettext.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/gettext.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/gherkin.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/gherkin.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/git.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/git.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/glsl.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/glsl.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/gml.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/gml.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/gn.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/gn.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/go-module.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/go-module.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/go.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/go.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/gradle.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/gradle.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/graphql.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/graphql.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/groovy.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/groovy.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/haml.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/haml.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/handlebars.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/handlebars.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/haskell.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/haskell.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/haxe.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/haxe.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/hcl.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/hcl.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/hlsl.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/hlsl.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/hoon.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/hoon.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/hpkp.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/hpkp.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/hsts.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/hsts.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/http.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/http.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/ichigojam.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/ichigojam.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/icon.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/icon.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/icu-message-format.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/icu-message-format.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/idris.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/idris.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/iecst.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/iecst.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/ignore.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/ignore.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/inform7.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/inform7.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/ini.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/ini.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/io.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/io.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/j.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/j.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/java.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/java.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/javadoc.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/javadoc.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/javadoclike.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/javadoclike.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/javascript.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/javascript.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/javastacktrace.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/javastacktrace.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/jexl.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/jexl.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/jolie.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/jolie.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/jq.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/jq.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/js-extras.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/js-extras.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/js-templates.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/js-templates.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/jsdoc.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/jsdoc.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/json.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/json.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/json5.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/json5.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/jsonp.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/jsonp.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/jsstacktrace.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/jsstacktrace.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/jsx.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/jsx.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/julia.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/julia.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/keepalived.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/keepalived.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/keyman.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/keyman.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/kotlin.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/kotlin.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/kumir.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/kumir.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/kusto.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/kusto.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/latex.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/latex.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/latte.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/latte.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/less.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/less.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/lilypond.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/lilypond.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/linker-script.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/linker-script.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/liquid.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/liquid.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/lisp.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/lisp.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/livescript.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/livescript.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/llvm.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/llvm.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/log.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/log.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/lolcode.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/lolcode.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/lua.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/lua.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/magma.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/magma.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/makefile.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/makefile.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/markdown.cjs.js +6 -4
- package/dist/node_modules/refractor/lang/markdown.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/markdown.es.js +6 -4
- package/dist/node_modules/refractor/lang/markdown.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/markup-templating.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/markup-templating.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/markup.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/markup.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/mata.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/mata.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/matlab.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/matlab.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/maxscript.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/maxscript.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/mel.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/mel.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/mermaid.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/mermaid.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/metafont.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/metafont.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/mizar.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/mizar.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/mongodb.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/mongodb.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/monkey.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/monkey.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/moonscript.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/moonscript.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/n1ql.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/n1ql.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/n4js.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/n4js.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/nand2tetris-hdl.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/nand2tetris-hdl.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/naniscript.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/naniscript.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/nasm.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/nasm.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/neon.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/neon.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/nevod.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/nevod.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/nginx.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/nginx.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/nim.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/nim.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/nix.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/nix.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/nsis.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/nsis.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/objectivec.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/objectivec.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/ocaml.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/ocaml.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/odin.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/odin.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/opencl.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/opencl.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/openqasm.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/openqasm.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/oz.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/oz.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/parigp.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/parigp.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/parser.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/parser.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/pascal.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/pascal.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/pascaligo.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/pascaligo.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/pcaxis.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/pcaxis.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/peoplecode.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/peoplecode.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/perl.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/perl.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/php-extras.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/php-extras.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/php.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/php.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/phpdoc.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/phpdoc.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/plant-uml.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/plant-uml.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/plsql.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/plsql.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/powerquery.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/powerquery.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/powershell.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/powershell.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/processing.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/processing.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/prolog.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/prolog.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/promql.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/promql.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/properties.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/properties.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/protobuf.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/protobuf.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/psl.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/psl.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/pug.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/pug.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/puppet.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/puppet.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/pure.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/pure.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/purebasic.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/purebasic.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/purescript.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/purescript.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/python.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/python.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/q.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/q.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/qml.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/qml.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/qore.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/qore.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/qsharp.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/qsharp.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/r.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/r.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/racket.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/racket.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/reason.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/reason.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/regex.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/regex.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/rego.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/rego.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/renpy.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/renpy.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/rescript.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/rescript.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/rest.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/rest.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/rip.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/rip.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/roboconf.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/roboconf.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/robotframework.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/robotframework.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/ruby.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/ruby.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/rust.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/rust.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/sas.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/sas.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/sass.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/sass.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/scala.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/scala.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/scheme.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/scheme.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/scss.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/scss.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/shell-session.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/shell-session.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/smali.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/smali.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/smalltalk.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/smalltalk.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/smarty.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/smarty.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/sml.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/sml.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/solidity.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/solidity.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/solution-file.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/solution-file.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/soy.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/soy.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/sparql.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/sparql.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/splunk-spl.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/splunk-spl.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/sqf.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/sqf.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/sql.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/sql.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/squirrel.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/squirrel.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/stan.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/stan.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/stata.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/stata.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/stylus.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/stylus.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/supercollider.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/supercollider.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/swift.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/swift.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/systemd.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/systemd.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/t4-cs.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/t4-cs.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/t4-templating.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/t4-templating.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/t4-vb.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/t4-vb.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/tap.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/tap.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/tcl.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/tcl.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/textile.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/textile.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/toml.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/toml.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/tremor.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/tremor.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/tsx.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/tsx.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/tt2.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/tt2.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/turtle.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/turtle.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/twig.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/twig.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/typescript.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/typescript.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/typoscript.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/typoscript.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/unrealscript.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/unrealscript.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/uorazor.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/uorazor.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/uri.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/uri.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/v.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/v.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/vala.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/vala.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/vbnet.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/vbnet.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/velocity.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/velocity.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/verilog.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/verilog.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/vhdl.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/vhdl.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/vim.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/vim.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/visual-basic.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/visual-basic.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/warpscript.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/warpscript.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/wasm.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/wasm.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/web-idl.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/web-idl.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/wgsl.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/wgsl.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/wiki.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/wiki.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/wolfram.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/wolfram.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/wren.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/wren.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/xeora.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/xeora.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/xml-doc.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/xml-doc.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/xojo.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/xojo.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/xquery.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/xquery.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/yaml.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/yaml.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/yang.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/yang.es.js.map +1 -1
- package/dist/node_modules/refractor/lang/zig.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lang/zig.es.js.map +1 -1
- package/dist/node_modules/refractor/lib/all.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lib/all.es.js.map +1 -1
- package/dist/node_modules/refractor/lib/common.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lib/common.es.js.map +1 -1
- package/dist/node_modules/refractor/lib/core.cjs.js +10 -10
- package/dist/node_modules/refractor/lib/core.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lib/core.es.js +10 -10
- package/dist/node_modules/refractor/lib/core.es.js.map +1 -1
- package/dist/node_modules/refractor/lib/prism-core.cjs.js +6 -3
- package/dist/node_modules/refractor/lib/prism-core.cjs.js.map +1 -1
- package/dist/node_modules/refractor/lib/prism-core.es.js +6 -3
- package/dist/node_modules/refractor/lib/prism-core.es.js.map +1 -1
- package/dist/node_modules/rehype/node_modules/unified/lib/index.cjs.js +2 -2
- package/dist/node_modules/rehype/node_modules/unified/lib/index.es.js +2 -2
- package/dist/node_modules/rehype-parse/lib/index.cjs.js +1 -1
- package/dist/node_modules/rehype-parse/lib/index.es.js +1 -1
- package/dist/node_modules/rehype-prism-plus/dist/index.es.cjs.js +1 -1
- package/dist/node_modules/rehype-prism-plus/dist/index.es.es.js +1 -1
- package/dist/node_modules/remove-accents/index.cjs.js +1 -1
- package/dist/node_modules/remove-accents/index.es.js +1 -1
- package/dist/node_modules/vfile/lib/index.cjs.js +1 -1
- package/dist/node_modules/vfile/lib/index.es.js +1 -1
- package/dist/shared/src/api/generated/graphql.cjs.js +6 -2
- package/dist/shared/src/api/generated/graphql.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/graphql.es.js +6 -2
- package/dist/shared/src/api/generated/graphql.es.js.map +1 -1
- package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js +1 -0
- package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js +1 -0
- package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js.map +1 -1
- package/dist/shared/src/api/queries/entities/updateEntity.cjs.js +1 -0
- package/dist/shared/src/api/queries/entities/updateEntity.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/entities/updateEntity.es.js +1 -0
- package/dist/shared/src/api/queries/entities/updateEntity.es.js.map +1 -1
- package/dist/shared/src/api/queries/entityLists/getLists.cjs.js +6 -4
- package/dist/shared/src/api/queries/entityLists/getLists.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/entityLists/getLists.es.js +6 -4
- package/dist/shared/src/api/queries/entityLists/getLists.es.js.map +1 -1
- package/dist/shared/src/api/queries/entityLists/updateLists.cjs.js +65 -1
- package/dist/shared/src/api/queries/entityLists/updateLists.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/entityLists/updateLists.es.js +65 -1
- package/dist/shared/src/api/queries/entityLists/updateLists.es.js.map +1 -1
- package/dist/shared/src/api/queries/overview/updateOverview.cjs.js +1 -0
- package/dist/shared/src/api/queries/overview/updateOverview.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/overview/updateOverview.es.js +1 -0
- package/dist/shared/src/api/queries/overview/updateOverview.es.js.map +1 -1
- package/dist/shared/src/api/queries/permissions/getPermissions.cjs.js +52 -0
- package/dist/shared/src/api/queries/permissions/getPermissions.cjs.js.map +1 -0
- package/dist/shared/src/api/queries/permissions/getPermissions.es.js +52 -0
- package/dist/shared/src/api/queries/permissions/getPermissions.es.js.map +1 -0
- package/dist/shared/src/api/queries/users/getUsers.cjs.js +1 -5
- package/dist/shared/src/api/queries/users/getUsers.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/users/getUsers.es.js +1 -5
- package/dist/shared/src/api/queries/users/getUsers.es.js.map +1 -1
- package/dist/shared/src/api/queries/users/updateUsers.cjs.js +22 -14
- package/dist/shared/src/api/queries/users/updateUsers.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/users/updateUsers.es.js +22 -14
- package/dist/shared/src/api/queries/users/updateUsers.es.js.map +1 -1
- package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js +1 -0
- package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js +1 -0
- package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributes.cjs.js +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributes.es.js +1 -1
- package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js +2 -0
- package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js.map +1 -1
- package/dist/shared/src/components/EntityPath/SegmentProvider.es.js +2 -0
- package/dist/shared/src/components/EntityPath/SegmentProvider.es.js.map +1 -1
- package/dist/shared/src/components/EntityThumbnailUploader/EntityThumbnailUploader.cjs.js +4 -0
- package/dist/shared/src/components/EntityThumbnailUploader/EntityThumbnailUploader.cjs.js.map +1 -1
- package/dist/shared/src/components/EntityThumbnailUploader/EntityThumbnailUploader.es.js +4 -0
- package/dist/shared/src/components/EntityThumbnailUploader/EntityThumbnailUploader.es.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +5 -0
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +5 -0
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.cjs.js +1 -0
- package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.es.js +1 -0
- package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +4 -0
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +4 -0
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +4 -0
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +4 -0
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +4 -0
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +4 -0
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
- package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js +2 -0
- package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js.map +1 -1
- package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js +2 -0
- package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js.map +1 -1
- package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js +6 -0
- package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js.map +1 -1
- package/dist/shared/src/components/Thumbnail/StackedThumbnails.es.js +6 -0
- package/dist/shared/src/components/Thumbnail/StackedThumbnails.es.js.map +1 -1
- package/dist/shared/src/components/Thumbnail/Thumbnail.styled.cjs.js +2 -7
- package/dist/shared/src/components/Thumbnail/Thumbnail.styled.cjs.js.map +1 -1
- package/dist/shared/src/components/Thumbnail/Thumbnail.styled.es.js +2 -7
- package/dist/shared/src/components/Thumbnail/Thumbnail.styled.es.js.map +1 -1
- package/dist/shared/src/components/Watchers/Watchers.cjs.js +1 -0
- package/dist/shared/src/components/Watchers/Watchers.cjs.js.map +1 -1
- package/dist/shared/src/components/Watchers/Watchers.es.js +1 -0
- package/dist/shared/src/components/Watchers/Watchers.es.js.map +1 -1
- package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +4 -0
- package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +4 -0
- package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
- package/dist/shared/src/containers/Actions/ActionIcon.cjs.js +1 -1
- package/dist/shared/src/containers/Actions/ActionIcon.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/ActionIcon.es.js +1 -1
- package/dist/shared/src/containers/Actions/ActionIcon.es.js.map +1 -1
- package/dist/shared/src/containers/Actions/Actions.cjs.js +18 -10
- package/dist/shared/src/containers/Actions/Actions.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/Actions.es.js +18 -10
- package/dist/shared/src/containers/Actions/Actions.es.js.map +1 -1
- package/dist/shared/src/containers/Actions/ActionsDropdown/ActionsDropdown.cjs.js +2 -2
- package/dist/shared/src/containers/Actions/ActionsDropdown/ActionsDropdown.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/ActionsDropdown/ActionsDropdown.es.js +2 -2
- package/dist/shared/src/containers/Actions/ActionsDropdown/ActionsDropdown.es.js.map +1 -1
- package/dist/shared/src/containers/Actions/ActionsDropdown/ActionsDropdown.styled.cjs.js +4 -0
- package/dist/shared/src/containers/Actions/ActionsDropdown/ActionsDropdown.styled.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/ActionsDropdown/ActionsDropdown.styled.es.js +4 -0
- package/dist/shared/src/containers/Actions/ActionsDropdown/ActionsDropdown.styled.es.js.map +1 -1
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +4 -0
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +4 -0
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +4 -0
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +4 -0
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js +4 -0
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js +4 -0
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js +4 -0
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js +4 -0
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js +13 -3
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js +13 -3
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js +3 -0
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js +3 -0
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/FeedWrapper.cjs.js +2 -0
- package/dist/shared/src/containers/DetailsPanel/FeedWrapper.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/FeedWrapper.es.js +2 -0
- package/dist/shared/src/containers/DetailsPanel/FeedWrapper.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js +1 -0
- package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js +1 -0
- package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/Feed.cjs.js +3 -1
- package/dist/shared/src/containers/Feed/Feed.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/Feed.es.js +3 -1
- package/dist/shared/src/containers/Feed/Feed.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.cjs.js +2 -0
- 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 +2 -0
- package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.cjs.js +2 -0
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.es.js +2 -0
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.cjs.js +2 -0
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.es.js +2 -0
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js +2 -0
- package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js +2 -0
- package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js +3 -0
- package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/context/FeedContext.es.js +3 -0
- package/dist/shared/src/containers/Feed/context/FeedContext.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js +1 -0
- package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js +1 -0
- package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +278 -54
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +280 -56
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.cjs.js +38 -4
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.es.js +38 -4
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +49 -21
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +49 -21
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/RowDragHandleCellContent.cjs.js +33 -0
- package/dist/shared/src/containers/ProjectTreeTable/components/RowDragHandleCellContent.cjs.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/components/RowDragHandleCellContent.es.js +34 -0
- package/dist/shared/src/containers/ProjectTreeTable/components/RowDragHandleCellContent.es.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsContext.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js +116 -0
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js +116 -0
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsContext.cjs.js +2 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsContext.es.js +2 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsContext.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js +84 -0
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js +85 -0
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useOverviewTable.cjs.js +0 -36
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useOverviewTable.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useOverviewTable.es.js +0 -36
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useOverviewTable.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/clientFilterToQueryFilter.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/clientFilterToQueryFilter.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/clientFilterToQueryFilter.es.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/clientFilterToQueryFilter.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.cjs.js +3 -2
- package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.es.js +3 -2
- package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.es.js.map +1 -1
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +4 -0
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +4 -0
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js.map +1 -1
- package/dist/shared/src/context/AddonContext.cjs.js +18 -0
- package/dist/shared/src/context/AddonContext.cjs.js.map +1 -0
- package/dist/shared/src/context/AddonContext.es.js +18 -0
- package/dist/shared/src/context/AddonContext.es.js.map +1 -0
- package/dist/shared/src/context/AddonProjectContext.cjs.js +91 -0
- package/dist/shared/src/context/AddonProjectContext.cjs.js.map +1 -0
- package/dist/shared/src/context/AddonProjectContext.es.js +91 -0
- package/dist/shared/src/context/AddonProjectContext.es.js.map +1 -0
- package/dist/shared/src/context/DetailsPanelContext.cjs.js +3 -1
- package/dist/shared/src/context/DetailsPanelContext.cjs.js.map +1 -1
- package/dist/shared/src/context/DetailsPanelContext.es.js +3 -1
- package/dist/shared/src/context/DetailsPanelContext.es.js.map +1 -1
- package/dist/shared/src/context/RemoteModulesContext.cjs.js +1 -0
- package/dist/shared/src/context/RemoteModulesContext.cjs.js.map +1 -1
- package/dist/shared/src/context/RemoteModulesContext.es.js +1 -0
- package/dist/shared/src/context/RemoteModulesContext.es.js.map +1 -1
- package/dist/shared/src/hooks/useActionTriggers.cjs.js +7 -6
- package/dist/shared/src/hooks/useActionTriggers.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useActionTriggers.es.js +7 -6
- package/dist/shared/src/hooks/useActionTriggers.es.js.map +1 -1
- package/dist/shared/src/hooks/useEntityUpdate.cjs.js +3 -0
- package/dist/shared/src/hooks/useEntityUpdate.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useEntityUpdate.es.js +3 -0
- package/dist/shared/src/hooks/useEntityUpdate.es.js.map +1 -1
- package/dist/shared/src/hooks/useLoadModule.cjs.js +19 -4
- package/dist/shared/src/hooks/useLoadModule.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useLoadModule.es.js +19 -4
- package/dist/shared/src/hooks/useLoadModule.es.js.map +1 -1
- package/dist/shared/src/hooks/useScopedStatuses.cjs.js +1 -0
- package/dist/shared/src/hooks/useScopedStatuses.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useScopedStatuses.es.js +1 -0
- package/dist/shared/src/hooks/useScopedStatuses.es.js.map +1 -1
- package/dist/shared/src/hooks/useUserProjectConfig.cjs.js +108 -0
- package/dist/shared/src/hooks/useUserProjectConfig.cjs.js.map +1 -0
- package/dist/shared/src/hooks/useUserProjectConfig.es.js +108 -0
- package/dist/shared/src/hooks/useUserProjectConfig.es.js.map +1 -0
- package/dist/types/SimpleTable/SimpleTable.d.ts +9 -2
- package/dist/types/SimpleTable/SimpleTableRowTemplate.d.ts +7 -0
- package/dist/types/SimpleTable/context/SimpleTableContext.d.ts +7 -5
- package/dist/types/api/generated/graphql.d.ts +11 -4
- package/dist/types/api/queries/entityLists/getLists.d.ts +2 -1
- package/dist/types/api/queries/entityLists/types.d.ts +1 -0
- package/dist/types/api/queries/index.d.ts +1 -0
- package/dist/types/api/queries/permissions/getPermissions.d.ts +294 -0
- package/dist/types/api/queries/permissions/index.d.ts +1 -0
- package/dist/types/api/queries/users/getUsers.d.ts +0 -1
- package/dist/types/containers/Actions/Actions.d.ts +5 -3
- package/dist/types/containers/ProjectTreeTable/ProjectTreeTable.d.ts +14 -6
- package/dist/types/containers/ProjectTreeTable/components/RowDragHandleCellContent.d.ts +5 -0
- package/dist/types/containers/ProjectTreeTable/context/ColumnSettingsContext.d.ts +1 -1
- package/dist/types/containers/ProjectTreeTable/context/ProjectDataContext.d.ts +22 -0
- package/dist/types/containers/ProjectTreeTable/context/index.d.ts +1 -0
- package/dist/types/containers/ProjectTreeTable/hooks/useAttributesList.d.ts +12 -0
- package/dist/types/containers/ProjectTreeTable/index.d.ts +1 -0
- package/dist/types/containers/ProjectTreeTable/widgets/ThumbnailWidget.d.ts +1 -1
- package/dist/types/context/AddonContext.d.ts +18 -0
- package/dist/types/context/AddonProjectContext.d.ts +28 -0
- package/dist/types/context/DetailsPanelContext.d.ts +7 -2
- package/dist/types/context/index.d.ts +2 -0
- package/dist/types/hooks/index.d.ts +1 -0
- package/dist/types/hooks/useActionTriggers.d.ts +6 -1
- package/dist/types/hooks/useLoadModule.d.ts +1 -0
- package/dist/types/hooks/useUserProjectConfig.d.ts +13 -0
- package/package.json +1 -1
- package/dist/node_modules/react-intersection-observer/index.cjs.js.map +0 -1
- package/dist/node_modules/react-intersection-observer/index.es.js.map +0 -1
|
@@ -70,6 +70,7 @@ import "../../api/queries/userDashboard/getUserDashboard.es.js";
|
|
|
70
70
|
import "../../api/queries/users/getUsers.es.js";
|
|
71
71
|
import "../../api/queries/users/updateUsers.es.js";
|
|
72
72
|
import "../../api/queries/watchers/getWatchers.es.js";
|
|
73
|
+
import "../../api/queries/permissions/getPermissions.es.js";
|
|
73
74
|
import "@dnd-kit/core";
|
|
74
75
|
import "@dnd-kit/sortable";
|
|
75
76
|
import "../../components/ReviewablesList/ReviewablesList.styled.es.js";
|
|
@@ -86,6 +87,8 @@ import "../../context/SettingsPanelContext.es.js";
|
|
|
86
87
|
import "../../context/pip/PiPProvider.es.js";
|
|
87
88
|
import "react-dom";
|
|
88
89
|
import "../../context/pip/PiPWrapper.es.js";
|
|
90
|
+
import "../../context/AddonProjectContext.es.js";
|
|
91
|
+
import "../../context/AddonContext.es.js";
|
|
89
92
|
import "../../components/ReviewableCard/ReviewableCard.es.js";
|
|
90
93
|
import "../../components/ReviewableProgressCard/ReviewableProgressCard.styled.es.js";
|
|
91
94
|
import "../../components/FileThumbnail/FileThumbnail.es.js";
|
|
@@ -128,6 +131,7 @@ import "../ProjectTreeTable/context/ColumnSettingsContext.es.js";
|
|
|
128
131
|
import "../ProjectTreeTable/context/CellEditingContext.es.js";
|
|
129
132
|
import "../ProjectTreeTable/context/ClipboardContext.es.js";
|
|
130
133
|
import "../ProjectTreeTable/context/ProjectTableSelectionContext.es.js";
|
|
134
|
+
import "../ProjectTreeTable/context/ProjectDataContext.es.js";
|
|
131
135
|
import "@tanstack/react-table";
|
|
132
136
|
import "../ProjectTreeTable/widgets/CollapsedWidget.es.js";
|
|
133
137
|
import "../ProjectTreeTable/widgets/DateWidget.es.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionConfigDialog.es.js","sources":["../../../../../src/containers/Actions/ActionConfigDialog.tsx"],"sourcesContent":["import { useMemo } from 'react'\nimport { toast } from 'react-toastify'\nimport { SimpleFormDialog } from '@shared/components'\nimport type { SimpleFormValueDict } from '@shared/components'\n\nimport { useGetActionConfigQuery, useSetActionConfigMutation } from '@shared/api'\nimport type { ActionContext, BaseActionManifest } from '@shared/api'\n\ntype ConfigData = Record<string, any>\n\ninterface ActionConfigDialogProps {\n action: BaseActionManifest\n context: ActionContext\n onClose: () => void\n}\n\ninterface ActionConfigRequestQueryParams {\n addonName: string\n addonVersion: string\n variant?: string\n identifier: string\n}\n\nexport const ActionConfigDialog = ({ action, onClose, context }: ActionConfigDialogProps) => {\n const requestParams: ActionConfigRequestQueryParams | null =\n useMemo<ActionConfigRequestQueryParams | null>(() => {\n if (!action) return null\n if (!(action.addonName && action.addonVersion)) return null // this should never happen\n return {\n addonName: action.addonName,\n addonVersion: action.addonVersion,\n variant: action.variant,\n identifier: action.identifier,\n }\n }, [action])\n\n const [configureAction] = useSetActionConfigMutation()\n\n // make typescript happily unknowing about the type\n // because even if we pass skip, arguments are still required in the right type. that's cursed\n const qp: any = { actionConfig: context, ...(requestParams || {}) }\n const { data: initValues } = useGetActionConfigQuery(qp, { skip: !requestParams })\n\n // it would be sooo cool if i could do this BEFORE the query and ommit that\n // qp thing, but i can't. because it would change the hook order. ffs\n if (!(initValues && action?.configFields && action && requestParams)) {\n return null\n }\n\n const handleSubmit = async (data: ConfigData) => {\n try {\n await configureAction({\n actionConfig: { ...context, value: data },\n ...requestParams,\n }).unwrap()\n onClose()\n } catch (error) {\n console.warn('Error configuring action', error)\n toast.error('Unable to set the action configuration')\n }\n }\n\n return (\n <SimpleFormDialog\n isOpen\n title={`Configure action ${action.label}`}\n fields={action.configFields}\n values={initValues as SimpleFormValueDict}\n onClose={onClose}\n onSubmit={handleSubmit}\n submitLabel=\"Save action config\"\n cancelLabel=\"Cancel\"\n submitIcon=\"check\"\n cancelIcon=\"close\"\n />\n )\n}\n"],"names":["jsx"],"mappings":"
|
|
1
|
+
{"version":3,"file":"ActionConfigDialog.es.js","sources":["../../../../../src/containers/Actions/ActionConfigDialog.tsx"],"sourcesContent":["import { useMemo } from 'react'\nimport { toast } from 'react-toastify'\nimport { SimpleFormDialog } from '@shared/components'\nimport type { SimpleFormValueDict } from '@shared/components'\n\nimport { useGetActionConfigQuery, useSetActionConfigMutation } from '@shared/api'\nimport type { ActionContext, BaseActionManifest } from '@shared/api'\n\ntype ConfigData = Record<string, any>\n\ninterface ActionConfigDialogProps {\n action: BaseActionManifest\n context: ActionContext\n onClose: () => void\n}\n\ninterface ActionConfigRequestQueryParams {\n addonName: string\n addonVersion: string\n variant?: string\n identifier: string\n}\n\nexport const ActionConfigDialog = ({ action, onClose, context }: ActionConfigDialogProps) => {\n const requestParams: ActionConfigRequestQueryParams | null =\n useMemo<ActionConfigRequestQueryParams | null>(() => {\n if (!action) return null\n if (!(action.addonName && action.addonVersion)) return null // this should never happen\n return {\n addonName: action.addonName,\n addonVersion: action.addonVersion,\n variant: action.variant,\n identifier: action.identifier,\n }\n }, [action])\n\n const [configureAction] = useSetActionConfigMutation()\n\n // make typescript happily unknowing about the type\n // because even if we pass skip, arguments are still required in the right type. that's cursed\n const qp: any = { actionConfig: context, ...(requestParams || {}) }\n const { data: initValues } = useGetActionConfigQuery(qp, { skip: !requestParams })\n\n // it would be sooo cool if i could do this BEFORE the query and ommit that\n // qp thing, but i can't. because it would change the hook order. ffs\n if (!(initValues && action?.configFields && action && requestParams)) {\n return null\n }\n\n const handleSubmit = async (data: ConfigData) => {\n try {\n await configureAction({\n actionConfig: { ...context, value: data },\n ...requestParams,\n }).unwrap()\n onClose()\n } catch (error) {\n console.warn('Error configuring action', error)\n toast.error('Unable to set the action configuration')\n }\n }\n\n return (\n <SimpleFormDialog\n isOpen\n title={`Configure action ${action.label}`}\n fields={action.configFields}\n values={initValues as SimpleFormValueDict}\n onClose={onClose}\n onSubmit={handleSubmit}\n submitLabel=\"Save action config\"\n cancelLabel=\"Cancel\"\n submitIcon=\"check\"\n cancelIcon=\"close\"\n />\n )\n}\n"],"names":["jsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuBO,MAAM,qBAAqB,CAAC,EAAE,QAAQ,SAAS,cAAuC;AACrF,QAAA,gBACJ,QAA+C,MAAM;AAC/C,QAAA,CAAC,OAAe,QAAA;AACpB,QAAI,EAAE,OAAO,aAAa,OAAO,cAAsB,QAAA;AAChD,WAAA;AAAA,MACL,WAAW,OAAO;AAAA,MAClB,cAAc,OAAO;AAAA,MACrB,SAAS,OAAO;AAAA,MAChB,YAAY,OAAO;AAAA,IACrB;AAAA,EAAA,GACC,CAAC,MAAM,CAAC;AAEP,QAAA,CAAC,eAAe,IAAI,2BAA2B;AAIrD,QAAM,KAAU,EAAE,cAAc,SAAS,GAAI,iBAAiB,CAAA,EAAI;AAC5D,QAAA,EAAE,MAAM,eAAe,wBAAwB,IAAI,EAAE,MAAM,CAAC,eAAe;AAIjF,MAAI,EAAE,eAAc,iCAAQ,iBAAgB,UAAU,gBAAgB;AAC7D,WAAA;AAAA,EAAA;AAGH,QAAA,eAAe,OAAO,SAAqB;AAC3C,QAAA;AACF,YAAM,gBAAgB;AAAA,QACpB,cAAc,EAAE,GAAG,SAAS,OAAO,KAAK;AAAA,QACxC,GAAG;AAAA,MACJ,CAAA,EAAE,OAAO;AACF,cAAA;AAAA,aACD,OAAO;AACN,cAAA,KAAK,4BAA4B,KAAK;AAC9C,YAAM,MAAM,wCAAwC;AAAA,IAAA;AAAA,EAExD;AAGE,SAAAA,kCAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,QAAM;AAAA,MACN,OAAO,oBAAoB,OAAO,KAAK;AAAA,MACvC,QAAQ,OAAO;AAAA,MACf,QAAQ;AAAA,MACR;AAAA,MACA,UAAU;AAAA,MACV,aAAY;AAAA,MACZ,aAAY;AAAA,MACZ,YAAW;AAAA,MACX,YAAW;AAAA,IAAA;AAAA,EACb;AAEJ;"}
|
|
@@ -23,7 +23,7 @@ const ActionIcon = ({ icon, isExecuting }) => {
|
|
|
23
23
|
} else if ((icon == null ? void 0 : icon.type) === "url") {
|
|
24
24
|
component = /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx("img", { src: icon.url, title: "Action" });
|
|
25
25
|
} else {
|
|
26
|
-
component = /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx(ayonReactComponents.Icon, { icon: "
|
|
26
|
+
component = /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx(ayonReactComponents.Icon, { icon: "category" });
|
|
27
27
|
}
|
|
28
28
|
return component;
|
|
29
29
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionIcon.cjs.js","sources":["../../../../../src/containers/Actions/ActionIcon.tsx"],"sourcesContent":["import { IconModel } from '@shared/api'\nimport { Icon } from '@ynput/ayon-react-components'\nimport { FC } from 'react'\nimport styled, { keyframes } from 'styled-components'\n\nconst spinning = keyframes`\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(360deg);\n }\n`\n\nconst SpinningIcon = styled(Icon)`\n .icon {\n animation: ${spinning} 1s linear infinite;\n }\n`\n\ninterface ActionIconProps {\n icon: IconModel | undefined\n isExecuting?: boolean\n}\n\nconst ActionIcon: FC<ActionIconProps> = ({ icon, isExecuting }) => {\n let component\n\n if (isExecuting) component = <SpinningIcon icon=\"sync\" />\n else if (icon?.type === 'material-symbols' && icon?.name) {\n component = <Icon icon={icon.name} style={{ color: icon.color }} />\n } else if (icon?.type === 'url') {\n component = <img src={icon.url} title=\"Action\" />\n } else {\n component = <Icon icon=\"
|
|
1
|
+
{"version":3,"file":"ActionIcon.cjs.js","sources":["../../../../../src/containers/Actions/ActionIcon.tsx"],"sourcesContent":["import { IconModel } from '@shared/api'\nimport { Icon } from '@ynput/ayon-react-components'\nimport { FC } from 'react'\nimport styled, { keyframes } from 'styled-components'\n\nconst spinning = keyframes`\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(360deg);\n }\n`\n\nconst SpinningIcon = styled(Icon)`\n .icon {\n animation: ${spinning} 1s linear infinite;\n }\n`\n\ninterface ActionIconProps {\n icon: IconModel | undefined\n isExecuting?: boolean\n}\n\nconst ActionIcon: FC<ActionIconProps> = ({ icon, isExecuting }) => {\n let component\n\n if (isExecuting) component = <SpinningIcon icon=\"sync\" />\n else if (icon?.type === 'material-symbols' && icon?.name) {\n component = <Icon icon={icon.name} style={{ color: icon.color }} />\n } else if (icon?.type === 'url') {\n component = <img src={icon.url} title=\"Action\" />\n } else {\n component = <Icon icon=\"category\" />\n }\n\n return component\n}\n\nexport default ActionIcon\n"],"names":["keyframes","Icon","jsx"],"mappings":";;;;AAKA,MAAM,WAAWA,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASjB,MAAM,eAAe,OAAOC,wBAAI;AAAA;AAAA,iBAEf,QAAQ;AAAA;AAAA;AASzB,MAAM,aAAkC,CAAC,EAAE,MAAM,kBAAkB;AAC7D,MAAA;AAEJ,MAAI,YAAa,aAAaC,2BAAA,kBAAA,IAAA,cAAA,EAAa,MAAK,QAAO;AAAA,YAC9C,6BAAM,UAAS,uBAAsB,6BAAM,OAAM;AAC5C,gBAAAA,2BAAA,kBAAA,IAACD,0BAAK,EAAA,MAAM,KAAK,MAAM,OAAO,EAAE,OAAO,KAAK,MAAS,EAAA,CAAA;AAAA,EAAA,YACxD,6BAAM,UAAS,OAAO;AAC/B,iEAAa,OAAI,EAAA,KAAK,KAAK,KAAK,OAAM,UAAS;AAAA,EAAA,OAC1C;AACO,gBAAAC,2BAAAA,kBAAAA,IAACD,oBAAAA,MAAK,EAAA,MAAK,WAAW,CAAA;AAAA,EAAA;AAG7B,SAAA;AACT;;"}
|
|
@@ -22,7 +22,7 @@ const ActionIcon = ({ icon, isExecuting }) => {
|
|
|
22
22
|
} else if ((icon == null ? void 0 : icon.type) === "url") {
|
|
23
23
|
component = /* @__PURE__ */ jsxRuntimeExports.jsx("img", { src: icon.url, title: "Action" });
|
|
24
24
|
} else {
|
|
25
|
-
component = /* @__PURE__ */ jsxRuntimeExports.jsx(Icon, { icon: "
|
|
25
|
+
component = /* @__PURE__ */ jsxRuntimeExports.jsx(Icon, { icon: "category" });
|
|
26
26
|
}
|
|
27
27
|
return component;
|
|
28
28
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionIcon.es.js","sources":["../../../../../src/containers/Actions/ActionIcon.tsx"],"sourcesContent":["import { IconModel } from '@shared/api'\nimport { Icon } from '@ynput/ayon-react-components'\nimport { FC } from 'react'\nimport styled, { keyframes } from 'styled-components'\n\nconst spinning = keyframes`\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(360deg);\n }\n`\n\nconst SpinningIcon = styled(Icon)`\n .icon {\n animation: ${spinning} 1s linear infinite;\n }\n`\n\ninterface ActionIconProps {\n icon: IconModel | undefined\n isExecuting?: boolean\n}\n\nconst ActionIcon: FC<ActionIconProps> = ({ icon, isExecuting }) => {\n let component\n\n if (isExecuting) component = <SpinningIcon icon=\"sync\" />\n else if (icon?.type === 'material-symbols' && icon?.name) {\n component = <Icon icon={icon.name} style={{ color: icon.color }} />\n } else if (icon?.type === 'url') {\n component = <img src={icon.url} title=\"Action\" />\n } else {\n component = <Icon icon=\"
|
|
1
|
+
{"version":3,"file":"ActionIcon.es.js","sources":["../../../../../src/containers/Actions/ActionIcon.tsx"],"sourcesContent":["import { IconModel } from '@shared/api'\nimport { Icon } from '@ynput/ayon-react-components'\nimport { FC } from 'react'\nimport styled, { keyframes } from 'styled-components'\n\nconst spinning = keyframes`\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(360deg);\n }\n`\n\nconst SpinningIcon = styled(Icon)`\n .icon {\n animation: ${spinning} 1s linear infinite;\n }\n`\n\ninterface ActionIconProps {\n icon: IconModel | undefined\n isExecuting?: boolean\n}\n\nconst ActionIcon: FC<ActionIconProps> = ({ icon, isExecuting }) => {\n let component\n\n if (isExecuting) component = <SpinningIcon icon=\"sync\" />\n else if (icon?.type === 'material-symbols' && icon?.name) {\n component = <Icon icon={icon.name} style={{ color: icon.color }} />\n } else if (icon?.type === 'url') {\n component = <img src={icon.url} title=\"Action\" />\n } else {\n component = <Icon icon=\"category\" />\n }\n\n return component\n}\n\nexport default ActionIcon\n"],"names":["jsx"],"mappings":";;;AAKA,MAAM,WAAW;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASjB,MAAM,eAAe,OAAO,IAAI;AAAA;AAAA,iBAEf,QAAQ;AAAA;AAAA;AASzB,MAAM,aAAkC,CAAC,EAAE,MAAM,kBAAkB;AAC7D,MAAA;AAEJ,MAAI,YAAa,aAAaA,kCAAA,IAAA,cAAA,EAAa,MAAK,QAAO;AAAA,YAC9C,6BAAM,UAAS,uBAAsB,6BAAM,OAAM;AAC5C,gBAAAA,kCAAA,IAAC,MAAK,EAAA,MAAM,KAAK,MAAM,OAAO,EAAE,OAAO,KAAK,MAAS,EAAA,CAAA;AAAA,EAAA,YACxD,6BAAM,UAAS,OAAO;AAC/B,sDAAa,OAAI,EAAA,KAAK,KAAK,KAAK,OAAM,UAAS;AAAA,EAAA,OAC1C;AACO,gBAAAA,kCAAAA,IAAC,MAAK,EAAA,MAAK,WAAW,CAAA;AAAA,EAAA;AAG7B,SAAA;AACT;"}
|
|
@@ -69,6 +69,7 @@ require("../../api/queries/userDashboard/getUserDashboard.cjs.js");
|
|
|
69
69
|
require("../../api/queries/users/getUsers.cjs.js");
|
|
70
70
|
require("../../api/queries/users/updateUsers.cjs.js");
|
|
71
71
|
require("../../api/queries/watchers/getWatchers.cjs.js");
|
|
72
|
+
require("../../api/queries/permissions/getPermissions.cjs.js");
|
|
72
73
|
const ActionsDropdown = require("./ActionsDropdown/ActionsDropdown.cjs.js");
|
|
73
74
|
const ActionIcon = require("./ActionIcon.cjs.js");
|
|
74
75
|
require("../../context/RemoteModulesContext.cjs.js");
|
|
@@ -81,6 +82,8 @@ require("../../context/SettingsPanelContext.cjs.js");
|
|
|
81
82
|
require("../../context/pip/PiPProvider.cjs.js");
|
|
82
83
|
require("react-dom");
|
|
83
84
|
require("../../context/pip/PiPWrapper.cjs.js");
|
|
85
|
+
require("../../context/AddonProjectContext.cjs.js");
|
|
86
|
+
require("../../context/AddonContext.cjs.js");
|
|
84
87
|
const useActionTriggers = require("../../hooks/useActionTriggers.cjs.js");
|
|
85
88
|
const ActionConfigDialog = require("./ActionConfigDialog.cjs.js");
|
|
86
89
|
const InteractiveActionDialog = require("./InteractiveActionDialog.cjs.js");
|
|
@@ -95,9 +98,13 @@ const Actions = ({
|
|
|
95
98
|
entities,
|
|
96
99
|
entityType,
|
|
97
100
|
entitySubTypes,
|
|
98
|
-
isLoadingEntity
|
|
101
|
+
isLoadingEntity,
|
|
102
|
+
searchParams,
|
|
103
|
+
featuredCount = 2,
|
|
104
|
+
onNavigate,
|
|
105
|
+
onSetSearchParams
|
|
99
106
|
}) => {
|
|
100
|
-
const { handleActionPayload } = useActionTriggers.useActionTriggers();
|
|
107
|
+
const { handleActionPayload } = useActionTriggers.useActionTriggers({ onNavigate, onSetSearchParams, searchParams });
|
|
101
108
|
const [actionBeingConfigured, setActionBeingConfigured] = React.useState(null);
|
|
102
109
|
const [interactiveForm, setInteractiveForm] = React.useState(null);
|
|
103
110
|
const context = React.useMemo(() => {
|
|
@@ -173,15 +180,14 @@ const Actions = ({
|
|
|
173
180
|
}
|
|
174
181
|
return options;
|
|
175
182
|
}, [groupedActions, unorderedCategories, categoryOrder]);
|
|
176
|
-
const featuredNumber = 2;
|
|
177
183
|
const featuredActions = React.useMemo(() => {
|
|
178
|
-
let tempFeaturedActions = actions.filter((action) => action.featured).sort((a, b) => (a.order || 0) - (b.order || 0)).slice(0,
|
|
179
|
-
if (tempFeaturedActions.length <
|
|
184
|
+
let tempFeaturedActions = actions.filter((action) => action.featured).sort((a, b) => (a.order || 0) - (b.order || 0)).slice(0, featuredCount);
|
|
185
|
+
if (tempFeaturedActions.length < featuredCount) {
|
|
180
186
|
categories.forEach((category) => {
|
|
181
|
-
if (tempFeaturedActions.length >=
|
|
187
|
+
if (tempFeaturedActions.length >= featuredCount) return;
|
|
182
188
|
const actions2 = groupedActions[category];
|
|
183
189
|
if (!actions2 || !actions2.length) return;
|
|
184
|
-
for (let i = tempFeaturedActions.length; i <
|
|
190
|
+
for (let i = tempFeaturedActions.length; i < featuredCount; i++) {
|
|
185
191
|
const action = actions2[i];
|
|
186
192
|
if (!action) break;
|
|
187
193
|
if (!action.icon) continue;
|
|
@@ -263,7 +269,10 @@ const Actions = ({
|
|
|
263
269
|
const handleSubmitInteractiveForm = async (identifier, formData) => {
|
|
264
270
|
handleExecuteAction(identifier, null, formData);
|
|
265
271
|
};
|
|
266
|
-
const loadingActions =
|
|
272
|
+
const loadingActions = React.useMemo(
|
|
273
|
+
() => Array(featuredCount).fill(placeholder),
|
|
274
|
+
[featuredCount, placeholder]
|
|
275
|
+
);
|
|
267
276
|
const isLoading = isFetchingActions || isLoadingEntity;
|
|
268
277
|
const featuredActionsToDisplay = isLoading ? loadingActions : featuredActions;
|
|
269
278
|
return /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsxs(Actions_styled.Actions, { className: "actions", children: [
|
|
@@ -272,7 +281,6 @@ const Actions = ({
|
|
|
272
281
|
{
|
|
273
282
|
className: clsx("action", {
|
|
274
283
|
loading: isLoading,
|
|
275
|
-
// @ts-expect-error
|
|
276
284
|
isPlaceholder: action.isPlaceholder
|
|
277
285
|
}),
|
|
278
286
|
"data-tooltip": action.groupLabel ? action.groupLabel + " " + action.label : action.label,
|
|
@@ -286,7 +294,7 @@ const Actions = ({
|
|
|
286
294
|
ActionsDropdown.ActionsDropdown,
|
|
287
295
|
{
|
|
288
296
|
options: dropdownOptions,
|
|
289
|
-
isLoading,
|
|
297
|
+
isLoading: isLoading && featuredCount > 0,
|
|
290
298
|
onAction: handleExecuteAction,
|
|
291
299
|
onConfig: handleConfigureAction
|
|
292
300
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Actions.cjs.js","sources":["../../../../../src/containers/Actions/Actions.tsx"],"sourcesContent":["import * as Styled from './Actions.styled'\nimport { MouseEvent, useState } from 'react'\nimport clsx from 'clsx'\nimport { toast } from 'react-toastify'\nimport { useMemo, useEffect } from 'react'\nimport { ActionContext, useExecuteActionMutation, useGetActionsFromContextQuery } from '@shared/api'\nimport { ActionsDropdown } from './ActionsDropdown'\nimport ActionIcon from './ActionIcon'\nimport { useActionTriggers } from '@shared/hooks'\nimport { ActionConfigDialog } from './ActionConfigDialog'\nimport { InteractiveActionDialog, InteractiveForm } from './InteractiveActionDialog'\n\nconst placeholder = {\n identifier: 'placeholder',\n label: 'Featured action slot',\n isPlaceholder: true,\n icon: { type: 'material-symbols', name: 'sync' },\n groupLabel: '',\n}\n\ntype ActionsProps = {\n entities: { id: string; projectName: string; entitySubType?: string }[]\n entityType: ActionContext['entityType']\n entitySubTypes?: string[]\n isLoadingEntity: boolean\n}\n\nexport const Actions = ({\n entities,\n entityType,\n entitySubTypes,\n isLoadingEntity,\n}: ActionsProps) => {\n // special triggers the actions can make to perform stuff on the client\n const { handleActionPayload } = useActionTriggers()\n const [actionBeingConfigured, setActionBeingConfigured] = useState<any>(null)\n const [interactiveForm, setInteractiveForm] = useState<any>(null)\n\n const context: ActionContext | null = useMemo(() => {\n if (!entities.length) return null\n if (!entities[0].projectName) return null\n\n // get a list of unique entity subtypes from loaded data\n const entitySubtypesLoaded = entities\n .filter((entity) => entity.entitySubType)\n .map((entity) => entity.entitySubType as string)\n .filter((value, index, self) => self.indexOf(value) === index && value)\n\n // try and use the passed in entitySubTypes, if not use the loaded ones\n const entitySubTypesToUse = entitySubTypes?.length ? entitySubTypes : entitySubtypesLoaded\n\n // all types except version/representation should have subtypes\n if (\n !entitySubTypesToUse?.length &&\n entityType !== 'version' &&\n entityType !== 'representation'\n ) {\n console.warn('No entity subtypes found')\n return null\n }\n\n return {\n projectName: entities[0].projectName,\n entityType: entityType,\n entityIds: entities.map((entity) => entity.id),\n entitySubtypes: entitySubTypesToUse,\n }\n }, [entities, entityType])\n\n useEffect(() => {\n setInteractiveForm(null)\n }, [context])\n\n const { data, isFetching: isFetchingActions } = useGetActionsFromContextQuery(\n { mode: 'simple', actionContext: context as ActionContext },\n { skip: !context },\n )\n\n const actions = data?.actions || []\n\n const categoryOrder = ['application', 'admin', 'workflow']\n // group actions by category\n // sort by hardcoded category, this will changing the future\n const groupedActions = useMemo(() => {\n // Step 1: Group actions by category\n const grouped = actions.reduce((acc: { [key: string]: any[] }, action) => {\n const category = action.category || 'uncategorized'\n if (!acc[category]) {\n acc[category] = []\n }\n acc[category].push(action)\n return acc\n }, {})\n\n // Step 5: Return the ordered groups\n return grouped\n }, [actions])\n\n // get categories that don't have a specific order (not in categoryOrder)\n // then sort them alphabetically\n const unorderedCategories = useMemo(\n () => [\n ...new Set(\n Object.keys(groupedActions)\n .filter((category) => !categoryOrder.includes(category))\n .sort((a, b) => a.localeCompare(b)),\n ),\n ],\n [groupedActions],\n )\n\n const categories = [...categoryOrder, ...unorderedCategories]\n\n // create the options for the dropdown, each category is separated by a divider and a title\n // for the divider we will use a custom dropdown item template\n const dropdownOptions = useMemo(() => {\n const options = []\n\n categories.forEach((category) => {\n if (!groupedActions[category] || !groupedActions[category].length) return\n\n options.push({\n label: category,\n header: true,\n value: category,\n disabled: true,\n })\n\n const groupOptions = groupedActions[category].map((action) => ({\n value: action.identifier,\n label: action.groupLabel ? action.groupLabel + ' ' + action.label : action.label,\n icon: action.icon,\n hasConfig: !!action.configFields,\n }))\n\n options.push(...groupOptions)\n })\n\n // if no actions, add placeholder\n if (!options.length) {\n options.push({\n label: 'No actions available',\n value: 'no-actions',\n disabled: true,\n header: true,\n })\n }\n\n return options\n }, [groupedActions, unorderedCategories, categoryOrder])\n\n const featuredNumber = 2\n\n const featuredActions = useMemo(() => {\n // Filter and sort to get initial featured actions\n let tempFeaturedActions = actions\n .filter((action) => action.featured)\n .sort((a, b) => (a.order || 0) - (b.order || 0))\n .slice(0, featuredNumber)\n\n // Check if we need to add more actions to reach featuredNumber\n if (tempFeaturedActions.length < featuredNumber) {\n categories.forEach((category) => {\n if (tempFeaturedActions.length >= featuredNumber) return\n const actions = groupedActions[category]\n if (!actions || !actions.length) return\n\n for (let i = tempFeaturedActions.length; i < featuredNumber; i++) {\n const action = actions[i]\n if (!action) break\n if (!action.icon) continue\n tempFeaturedActions.push(action)\n }\n })\n }\n\n return tempFeaturedActions\n }, [actions, groupedActions, placeholder])\n\n const [executeAction, { isLoading: isLoadingExecution, originalArgs }] =\n useExecuteActionMutation()\n const executingAction = isLoadingExecution && originalArgs?.identifier\n\n const handleExecuteAction = async (\n identifier: string,\n e?: MouseEvent<HTMLElement> | null,\n formData?: InteractiveForm,\n ) => {\n e?.preventDefault()\n const action = actions.find((option) => option.identifier === identifier)\n\n if (!action) {\n toast.error('Action not found')\n console.warn('Action not found', identifier)\n return\n }\n\n const params = {\n addonName: action.addonName as string,\n addonVersion: action.addonVersion as string,\n variant: action.variant,\n identifier: action.identifier,\n }\n\n const actionContext = { ...context }\n if (formData) {\n actionContext.formData = formData\n }\n\n let response = null\n\n try {\n response = await executeAction({ actionContext, ...params }).unwrap()\n } catch (error: any) {\n console.error('Error executing action', error)\n toast.error(error?.data?.detail || 'Error executing action')\n return\n }\n\n try {\n // Toast the message if it is available\n if (response?.message) {\n if (response?.success) {\n toast.success(response.message, { autoClose: 2000 })\n } else {\n toast.error(response.message, { autoClose: 2000 })\n }\n }\n\n // Even if response?.success is false, we still want to handle the payload\n // as it may contain useful information - complex error messages in form,\n // redirect to another page etc. If the action just needs to abort,\n // it raises exception instead of returning a response with success: false\n\n // Use the new hook to handle payload\n if (response?.payload) {\n if (response.type === 'form') {\n // action requests additional information from the user.\n // we show a dialog with the form and when the user submits it we call the action again\n\n // It probably does not make sense to move to the useActionTriggers hook\n // as it need contexts and the dialog\n const intf = {\n identifier,\n // @ts-expect-error\n title: response.payload['title'],\n // @ts-expect-error\n fields: response.payload['fields'],\n // @ts-expect-error\n submitLabel: response.payload['submit_label'],\n // @ts-expect-error\n cancelLabel: response.payload['cancel_label'],\n // @ts-expect-error\n submitIcon: response.payload['submit_icon'],\n // @ts-expect-error\n cancelIcon: response.payload['cancel_icon'],\n }\n setInteractiveForm(intf)\n } else {\n handleActionPayload(response.type as string, response.payload)\n }\n }\n } catch (error) {\n // got response, but failed to process it\n console.warn('Error during action response processing', error)\n toast.error('Error occured during action processing')\n }\n }\n\n const handleConfigureAction = (identifier: string) => {\n const action = actions.find((data) => data.identifier === identifier)\n if (!action) return\n setActionBeingConfigured(action)\n }\n\n const handleSubmitInteractiveForm = async (identifier: string, formData: InteractiveForm) => {\n handleExecuteAction(identifier, null, formData)\n }\n\n const loadingActions = [placeholder, placeholder, placeholder]\n\n const isLoading = isFetchingActions || isLoadingEntity\n const featuredActionsToDisplay = isLoading ? loadingActions : featuredActions\n\n return (\n <Styled.Actions className=\"actions\">\n {featuredActionsToDisplay.map((action, i) => (\n <Styled.FeaturedAction\n key={action.identifier + '-' + i}\n className={clsx('action', {\n loading: isLoading,\n // @ts-expect-error\n isPlaceholder: action.isPlaceholder,\n })}\n data-tooltip={action.groupLabel ? action.groupLabel + ' ' + action.label : action.label}\n // @ts-expect-error\n disabled={action.isPlaceholder}\n onClick={(e) => handleExecuteAction(action.identifier, e)}\n >\n {/* @ts-ignore */}\n <ActionIcon icon={action.icon} isExecuting={executingAction === action.identifier} />\n </Styled.FeaturedAction>\n ))}\n <ActionsDropdown\n options={dropdownOptions}\n isLoading={isLoading}\n onAction={handleExecuteAction}\n onConfig={handleConfigureAction}\n />\n <ActionConfigDialog\n action={actionBeingConfigured}\n // @ts-expect-error\n context={context}\n onClose={() => setActionBeingConfigured(null)}\n />\n <InteractiveActionDialog\n interactiveForm={interactiveForm}\n onClose={() => setInteractiveForm(null)}\n // @ts-expect-error\n onSubmit={handleSubmitInteractiveForm}\n />\n </Styled.Actions>\n )\n}\n"],"names":["useActionTriggers","useState","useMemo","useEffect","useGetActionsFromContextQuery","actions","useExecuteActionMutation","toast","data","jsxs","Styled.Actions","jsx","Styled.FeaturedAction","ActionsDropdown","ActionConfigDialog","InteractiveActionDialog"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Actions.cjs.js","sources":["../../../../../src/containers/Actions/Actions.tsx"],"sourcesContent":["import * as Styled from './Actions.styled'\nimport { MouseEvent, useState } from 'react'\nimport clsx from 'clsx'\nimport { toast } from 'react-toastify'\nimport { useMemo, useEffect } from 'react'\nimport { ActionContext, useExecuteActionMutation, useGetActionsFromContextQuery } from '@shared/api'\nimport { ActionsDropdown } from './ActionsDropdown'\nimport ActionIcon from './ActionIcon'\nimport { ActionTriggersProps, useActionTriggers } from '@shared/hooks'\nimport { ActionConfigDialog } from './ActionConfigDialog'\nimport { InteractiveActionDialog, InteractiveForm } from './InteractiveActionDialog'\n\nconst placeholder = {\n identifier: 'placeholder',\n label: 'Featured action slot',\n isPlaceholder: true,\n icon: { type: 'material-symbols', name: 'sync' },\n groupLabel: '',\n}\n\ninterface ActionsProps extends ActionTriggersProps {\n entities: { id: string; projectName: string; entitySubType?: string }[]\n entityType: ActionContext['entityType']\n entitySubTypes?: string[]\n isLoadingEntity: boolean\n featuredCount?: number\n}\n\nexport const Actions = ({\n entities,\n entityType,\n entitySubTypes,\n isLoadingEntity,\n searchParams,\n featuredCount = 2,\n onNavigate,\n onSetSearchParams,\n}: ActionsProps) => {\n // special triggers the actions can make to perform stuff on the client\n const { handleActionPayload } = useActionTriggers({ onNavigate, onSetSearchParams, searchParams })\n const [actionBeingConfigured, setActionBeingConfigured] = useState<any>(null)\n const [interactiveForm, setInteractiveForm] = useState<any>(null)\n\n const context: ActionContext | null = useMemo(() => {\n if (!entities.length) return null\n if (!entities[0].projectName) return null\n\n // get a list of unique entity subtypes from loaded data\n const entitySubtypesLoaded = entities\n .filter((entity) => entity.entitySubType)\n .map((entity) => entity.entitySubType as string)\n .filter((value, index, self) => self.indexOf(value) === index && value)\n\n // try and use the passed in entitySubTypes, if not use the loaded ones\n const entitySubTypesToUse = entitySubTypes?.length ? entitySubTypes : entitySubtypesLoaded\n\n // all types except version/representation should have subtypes\n if (\n !entitySubTypesToUse?.length &&\n entityType !== 'version' &&\n entityType !== 'representation'\n ) {\n console.warn('No entity subtypes found')\n return null\n }\n\n return {\n projectName: entities[0].projectName,\n entityType: entityType,\n entityIds: entities.map((entity) => entity.id),\n entitySubtypes: entitySubTypesToUse,\n }\n }, [entities, entityType])\n\n useEffect(() => {\n setInteractiveForm(null)\n }, [context])\n\n const { data, isFetching: isFetchingActions } = useGetActionsFromContextQuery(\n { mode: 'simple', actionContext: context as ActionContext },\n { skip: !context },\n )\n\n const actions = data?.actions || []\n\n const categoryOrder = ['application', 'admin', 'workflow']\n // group actions by category\n // sort by hardcoded category, this will changing the future\n const groupedActions = useMemo(() => {\n // Step 1: Group actions by category\n const grouped = actions.reduce((acc: { [key: string]: any[] }, action) => {\n const category = action.category || 'uncategorized'\n if (!acc[category]) {\n acc[category] = []\n }\n acc[category].push(action)\n return acc\n }, {})\n\n // Step 5: Return the ordered groups\n return grouped\n }, [actions])\n\n // get categories that don't have a specific order (not in categoryOrder)\n // then sort them alphabetically\n const unorderedCategories = useMemo(\n () => [\n ...new Set(\n Object.keys(groupedActions)\n .filter((category) => !categoryOrder.includes(category))\n .sort((a, b) => a.localeCompare(b)),\n ),\n ],\n [groupedActions],\n )\n\n const categories = [...categoryOrder, ...unorderedCategories]\n\n // create the options for the dropdown, each category is separated by a divider and a title\n // for the divider we will use a custom dropdown item template\n const dropdownOptions = useMemo(() => {\n const options = []\n\n categories.forEach((category) => {\n if (!groupedActions[category] || !groupedActions[category].length) return\n\n options.push({\n label: category,\n header: true,\n value: category,\n disabled: true,\n })\n\n const groupOptions = groupedActions[category].map((action) => ({\n value: action.identifier,\n label: action.groupLabel ? action.groupLabel + ' ' + action.label : action.label,\n icon: action.icon,\n hasConfig: !!action.configFields,\n }))\n\n options.push(...groupOptions)\n })\n\n // if no actions, add placeholder\n if (!options.length) {\n options.push({\n label: 'No actions available',\n value: 'no-actions',\n disabled: true,\n header: true,\n })\n }\n\n return options\n }, [groupedActions, unorderedCategories, categoryOrder])\n\n const featuredActions = useMemo(() => {\n // Filter and sort to get initial featured actions\n let tempFeaturedActions = actions\n .filter((action) => action.featured)\n .sort((a, b) => (a.order || 0) - (b.order || 0))\n .slice(0, featuredCount)\n\n // Check if we need to add more actions to reach featuredCount\n if (tempFeaturedActions.length < featuredCount) {\n categories.forEach((category) => {\n if (tempFeaturedActions.length >= featuredCount) return\n const actions = groupedActions[category]\n if (!actions || !actions.length) return\n\n for (let i = tempFeaturedActions.length; i < featuredCount; i++) {\n const action = actions[i]\n if (!action) break\n if (!action.icon) continue\n tempFeaturedActions.push(action)\n }\n })\n }\n\n return tempFeaturedActions\n }, [actions, groupedActions, placeholder])\n\n const [executeAction, { isLoading: isLoadingExecution, originalArgs }] =\n useExecuteActionMutation()\n const executingAction = isLoadingExecution && originalArgs?.identifier\n\n const handleExecuteAction = async (\n identifier: string,\n e?: MouseEvent<HTMLElement> | null,\n formData?: InteractiveForm,\n ) => {\n e?.preventDefault()\n const action = actions.find((option) => option.identifier === identifier)\n\n if (!action) {\n toast.error('Action not found')\n console.warn('Action not found', identifier)\n return\n }\n\n const params = {\n addonName: action.addonName as string,\n addonVersion: action.addonVersion as string,\n variant: action.variant,\n identifier: action.identifier,\n }\n\n const actionContext = { ...context }\n if (formData) {\n actionContext.formData = formData\n }\n\n let response = null\n\n try {\n response = await executeAction({ actionContext, ...params }).unwrap()\n } catch (error: any) {\n console.error('Error executing action', error)\n toast.error(error?.data?.detail || 'Error executing action')\n return\n }\n\n try {\n // Toast the message if it is available\n if (response?.message) {\n if (response?.success) {\n toast.success(response.message, { autoClose: 2000 })\n } else {\n toast.error(response.message, { autoClose: 2000 })\n }\n }\n\n // Even if response?.success is false, we still want to handle the payload\n // as it may contain useful information - complex error messages in form,\n // redirect to another page etc. If the action just needs to abort,\n // it raises exception instead of returning a response with success: false\n\n // Use the new hook to handle payload\n if (response?.payload) {\n if (response.type === 'form') {\n // action requests additional information from the user.\n // we show a dialog with the form and when the user submits it we call the action again\n\n // It probably does not make sense to move to the useActionTriggers hook\n // as it need contexts and the dialog\n const intf = {\n identifier,\n // @ts-expect-error\n title: response.payload['title'],\n // @ts-expect-error\n fields: response.payload['fields'],\n // @ts-expect-error\n submitLabel: response.payload['submit_label'],\n // @ts-expect-error\n cancelLabel: response.payload['cancel_label'],\n // @ts-expect-error\n submitIcon: response.payload['submit_icon'],\n // @ts-expect-error\n cancelIcon: response.payload['cancel_icon'],\n }\n setInteractiveForm(intf)\n } else {\n handleActionPayload(response.type as string, response.payload)\n }\n }\n } catch (error) {\n // got response, but failed to process it\n console.warn('Error during action response processing', error)\n toast.error('Error occured during action processing')\n }\n }\n\n const handleConfigureAction = (identifier: string) => {\n const action = actions.find((data) => data.identifier === identifier)\n if (!action) return\n setActionBeingConfigured(action)\n }\n\n const handleSubmitInteractiveForm = async (identifier: string, formData: InteractiveForm) => {\n handleExecuteAction(identifier, null, formData)\n }\n\n const loadingActions = useMemo(\n () => Array(featuredCount).fill(placeholder),\n [featuredCount, placeholder],\n )\n\n const isLoading = isFetchingActions || isLoadingEntity\n const featuredActionsToDisplay = isLoading ? loadingActions : featuredActions\n\n return (\n <Styled.Actions className=\"actions\">\n {featuredActionsToDisplay.map((action, i) => (\n <Styled.FeaturedAction\n key={action.identifier + '-' + i}\n className={clsx('action', {\n loading: isLoading,\n isPlaceholder: action.isPlaceholder,\n })}\n data-tooltip={action.groupLabel ? action.groupLabel + ' ' + action.label : action.label}\n disabled={action.isPlaceholder}\n onClick={(e) => handleExecuteAction(action.identifier, e)}\n >\n {/* @ts-ignore */}\n <ActionIcon icon={action.icon} isExecuting={executingAction === action.identifier} />\n </Styled.FeaturedAction>\n ))}\n <ActionsDropdown\n options={dropdownOptions}\n isLoading={isLoading && featuredCount > 0}\n onAction={handleExecuteAction}\n onConfig={handleConfigureAction}\n />\n <ActionConfigDialog\n action={actionBeingConfigured}\n // @ts-expect-error\n context={context}\n onClose={() => setActionBeingConfigured(null)}\n />\n <InteractiveActionDialog\n interactiveForm={interactiveForm}\n onClose={() => setInteractiveForm(null)}\n // @ts-expect-error\n onSubmit={handleSubmitInteractiveForm}\n />\n </Styled.Actions>\n )\n}\n"],"names":["useActionTriggers","useState","useMemo","useEffect","useGetActionsFromContextQuery","actions","useExecuteActionMutation","toast","data","jsxs","Styled.Actions","jsx","Styled.FeaturedAction","ActionsDropdown","ActionConfigDialog","InteractiveActionDialog"],"mappings":"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"}
|
|
@@ -67,6 +67,7 @@ import "../../api/queries/userDashboard/getUserDashboard.es.js";
|
|
|
67
67
|
import "../../api/queries/users/getUsers.es.js";
|
|
68
68
|
import "../../api/queries/users/updateUsers.es.js";
|
|
69
69
|
import "../../api/queries/watchers/getWatchers.es.js";
|
|
70
|
+
import "../../api/queries/permissions/getPermissions.es.js";
|
|
70
71
|
import { ActionsDropdown } from "./ActionsDropdown/ActionsDropdown.es.js";
|
|
71
72
|
import ActionIcon from "./ActionIcon.es.js";
|
|
72
73
|
import "../../context/RemoteModulesContext.es.js";
|
|
@@ -79,6 +80,8 @@ import "../../context/SettingsPanelContext.es.js";
|
|
|
79
80
|
import "../../context/pip/PiPProvider.es.js";
|
|
80
81
|
import "react-dom";
|
|
81
82
|
import "../../context/pip/PiPWrapper.es.js";
|
|
83
|
+
import "../../context/AddonProjectContext.es.js";
|
|
84
|
+
import "../../context/AddonContext.es.js";
|
|
82
85
|
import { useActionTriggers } from "../../hooks/useActionTriggers.es.js";
|
|
83
86
|
import { ActionConfigDialog } from "./ActionConfigDialog.es.js";
|
|
84
87
|
import { InteractiveActionDialog } from "./InteractiveActionDialog.es.js";
|
|
@@ -93,9 +96,13 @@ const Actions = ({
|
|
|
93
96
|
entities,
|
|
94
97
|
entityType,
|
|
95
98
|
entitySubTypes,
|
|
96
|
-
isLoadingEntity
|
|
99
|
+
isLoadingEntity,
|
|
100
|
+
searchParams,
|
|
101
|
+
featuredCount = 2,
|
|
102
|
+
onNavigate,
|
|
103
|
+
onSetSearchParams
|
|
97
104
|
}) => {
|
|
98
|
-
const { handleActionPayload } = useActionTriggers();
|
|
105
|
+
const { handleActionPayload } = useActionTriggers({ onNavigate, onSetSearchParams, searchParams });
|
|
99
106
|
const [actionBeingConfigured, setActionBeingConfigured] = useState(null);
|
|
100
107
|
const [interactiveForm, setInteractiveForm] = useState(null);
|
|
101
108
|
const context = useMemo(() => {
|
|
@@ -171,15 +178,14 @@ const Actions = ({
|
|
|
171
178
|
}
|
|
172
179
|
return options;
|
|
173
180
|
}, [groupedActions, unorderedCategories, categoryOrder]);
|
|
174
|
-
const featuredNumber = 2;
|
|
175
181
|
const featuredActions = useMemo(() => {
|
|
176
|
-
let tempFeaturedActions = actions.filter((action) => action.featured).sort((a, b) => (a.order || 0) - (b.order || 0)).slice(0,
|
|
177
|
-
if (tempFeaturedActions.length <
|
|
182
|
+
let tempFeaturedActions = actions.filter((action) => action.featured).sort((a, b) => (a.order || 0) - (b.order || 0)).slice(0, featuredCount);
|
|
183
|
+
if (tempFeaturedActions.length < featuredCount) {
|
|
178
184
|
categories.forEach((category) => {
|
|
179
|
-
if (tempFeaturedActions.length >=
|
|
185
|
+
if (tempFeaturedActions.length >= featuredCount) return;
|
|
180
186
|
const actions2 = groupedActions[category];
|
|
181
187
|
if (!actions2 || !actions2.length) return;
|
|
182
|
-
for (let i = tempFeaturedActions.length; i <
|
|
188
|
+
for (let i = tempFeaturedActions.length; i < featuredCount; i++) {
|
|
183
189
|
const action = actions2[i];
|
|
184
190
|
if (!action) break;
|
|
185
191
|
if (!action.icon) continue;
|
|
@@ -261,7 +267,10 @@ const Actions = ({
|
|
|
261
267
|
const handleSubmitInteractiveForm = async (identifier, formData) => {
|
|
262
268
|
handleExecuteAction(identifier, null, formData);
|
|
263
269
|
};
|
|
264
|
-
const loadingActions =
|
|
270
|
+
const loadingActions = useMemo(
|
|
271
|
+
() => Array(featuredCount).fill(placeholder),
|
|
272
|
+
[featuredCount, placeholder]
|
|
273
|
+
);
|
|
265
274
|
const isLoading = isFetchingActions || isLoadingEntity;
|
|
266
275
|
const featuredActionsToDisplay = isLoading ? loadingActions : featuredActions;
|
|
267
276
|
return /* @__PURE__ */ jsxRuntimeExports.jsxs(Actions$1, { className: "actions", children: [
|
|
@@ -270,7 +279,6 @@ const Actions = ({
|
|
|
270
279
|
{
|
|
271
280
|
className: clsx("action", {
|
|
272
281
|
loading: isLoading,
|
|
273
|
-
// @ts-expect-error
|
|
274
282
|
isPlaceholder: action.isPlaceholder
|
|
275
283
|
}),
|
|
276
284
|
"data-tooltip": action.groupLabel ? action.groupLabel + " " + action.label : action.label,
|
|
@@ -284,7 +292,7 @@ const Actions = ({
|
|
|
284
292
|
ActionsDropdown,
|
|
285
293
|
{
|
|
286
294
|
options: dropdownOptions,
|
|
287
|
-
isLoading,
|
|
295
|
+
isLoading: isLoading && featuredCount > 0,
|
|
288
296
|
onAction: handleExecuteAction,
|
|
289
297
|
onConfig: handleConfigureAction
|
|
290
298
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Actions.es.js","sources":["../../../../../src/containers/Actions/Actions.tsx"],"sourcesContent":["import * as Styled from './Actions.styled'\nimport { MouseEvent, useState } from 'react'\nimport clsx from 'clsx'\nimport { toast } from 'react-toastify'\nimport { useMemo, useEffect } from 'react'\nimport { ActionContext, useExecuteActionMutation, useGetActionsFromContextQuery } from '@shared/api'\nimport { ActionsDropdown } from './ActionsDropdown'\nimport ActionIcon from './ActionIcon'\nimport { useActionTriggers } from '@shared/hooks'\nimport { ActionConfigDialog } from './ActionConfigDialog'\nimport { InteractiveActionDialog, InteractiveForm } from './InteractiveActionDialog'\n\nconst placeholder = {\n identifier: 'placeholder',\n label: 'Featured action slot',\n isPlaceholder: true,\n icon: { type: 'material-symbols', name: 'sync' },\n groupLabel: '',\n}\n\ntype ActionsProps = {\n entities: { id: string; projectName: string; entitySubType?: string }[]\n entityType: ActionContext['entityType']\n entitySubTypes?: string[]\n isLoadingEntity: boolean\n}\n\nexport const Actions = ({\n entities,\n entityType,\n entitySubTypes,\n isLoadingEntity,\n}: ActionsProps) => {\n // special triggers the actions can make to perform stuff on the client\n const { handleActionPayload } = useActionTriggers()\n const [actionBeingConfigured, setActionBeingConfigured] = useState<any>(null)\n const [interactiveForm, setInteractiveForm] = useState<any>(null)\n\n const context: ActionContext | null = useMemo(() => {\n if (!entities.length) return null\n if (!entities[0].projectName) return null\n\n // get a list of unique entity subtypes from loaded data\n const entitySubtypesLoaded = entities\n .filter((entity) => entity.entitySubType)\n .map((entity) => entity.entitySubType as string)\n .filter((value, index, self) => self.indexOf(value) === index && value)\n\n // try and use the passed in entitySubTypes, if not use the loaded ones\n const entitySubTypesToUse = entitySubTypes?.length ? entitySubTypes : entitySubtypesLoaded\n\n // all types except version/representation should have subtypes\n if (\n !entitySubTypesToUse?.length &&\n entityType !== 'version' &&\n entityType !== 'representation'\n ) {\n console.warn('No entity subtypes found')\n return null\n }\n\n return {\n projectName: entities[0].projectName,\n entityType: entityType,\n entityIds: entities.map((entity) => entity.id),\n entitySubtypes: entitySubTypesToUse,\n }\n }, [entities, entityType])\n\n useEffect(() => {\n setInteractiveForm(null)\n }, [context])\n\n const { data, isFetching: isFetchingActions } = useGetActionsFromContextQuery(\n { mode: 'simple', actionContext: context as ActionContext },\n { skip: !context },\n )\n\n const actions = data?.actions || []\n\n const categoryOrder = ['application', 'admin', 'workflow']\n // group actions by category\n // sort by hardcoded category, this will changing the future\n const groupedActions = useMemo(() => {\n // Step 1: Group actions by category\n const grouped = actions.reduce((acc: { [key: string]: any[] }, action) => {\n const category = action.category || 'uncategorized'\n if (!acc[category]) {\n acc[category] = []\n }\n acc[category].push(action)\n return acc\n }, {})\n\n // Step 5: Return the ordered groups\n return grouped\n }, [actions])\n\n // get categories that don't have a specific order (not in categoryOrder)\n // then sort them alphabetically\n const unorderedCategories = useMemo(\n () => [\n ...new Set(\n Object.keys(groupedActions)\n .filter((category) => !categoryOrder.includes(category))\n .sort((a, b) => a.localeCompare(b)),\n ),\n ],\n [groupedActions],\n )\n\n const categories = [...categoryOrder, ...unorderedCategories]\n\n // create the options for the dropdown, each category is separated by a divider and a title\n // for the divider we will use a custom dropdown item template\n const dropdownOptions = useMemo(() => {\n const options = []\n\n categories.forEach((category) => {\n if (!groupedActions[category] || !groupedActions[category].length) return\n\n options.push({\n label: category,\n header: true,\n value: category,\n disabled: true,\n })\n\n const groupOptions = groupedActions[category].map((action) => ({\n value: action.identifier,\n label: action.groupLabel ? action.groupLabel + ' ' + action.label : action.label,\n icon: action.icon,\n hasConfig: !!action.configFields,\n }))\n\n options.push(...groupOptions)\n })\n\n // if no actions, add placeholder\n if (!options.length) {\n options.push({\n label: 'No actions available',\n value: 'no-actions',\n disabled: true,\n header: true,\n })\n }\n\n return options\n }, [groupedActions, unorderedCategories, categoryOrder])\n\n const featuredNumber = 2\n\n const featuredActions = useMemo(() => {\n // Filter and sort to get initial featured actions\n let tempFeaturedActions = actions\n .filter((action) => action.featured)\n .sort((a, b) => (a.order || 0) - (b.order || 0))\n .slice(0, featuredNumber)\n\n // Check if we need to add more actions to reach featuredNumber\n if (tempFeaturedActions.length < featuredNumber) {\n categories.forEach((category) => {\n if (tempFeaturedActions.length >= featuredNumber) return\n const actions = groupedActions[category]\n if (!actions || !actions.length) return\n\n for (let i = tempFeaturedActions.length; i < featuredNumber; i++) {\n const action = actions[i]\n if (!action) break\n if (!action.icon) continue\n tempFeaturedActions.push(action)\n }\n })\n }\n\n return tempFeaturedActions\n }, [actions, groupedActions, placeholder])\n\n const [executeAction, { isLoading: isLoadingExecution, originalArgs }] =\n useExecuteActionMutation()\n const executingAction = isLoadingExecution && originalArgs?.identifier\n\n const handleExecuteAction = async (\n identifier: string,\n e?: MouseEvent<HTMLElement> | null,\n formData?: InteractiveForm,\n ) => {\n e?.preventDefault()\n const action = actions.find((option) => option.identifier === identifier)\n\n if (!action) {\n toast.error('Action not found')\n console.warn('Action not found', identifier)\n return\n }\n\n const params = {\n addonName: action.addonName as string,\n addonVersion: action.addonVersion as string,\n variant: action.variant,\n identifier: action.identifier,\n }\n\n const actionContext = { ...context }\n if (formData) {\n actionContext.formData = formData\n }\n\n let response = null\n\n try {\n response = await executeAction({ actionContext, ...params }).unwrap()\n } catch (error: any) {\n console.error('Error executing action', error)\n toast.error(error?.data?.detail || 'Error executing action')\n return\n }\n\n try {\n // Toast the message if it is available\n if (response?.message) {\n if (response?.success) {\n toast.success(response.message, { autoClose: 2000 })\n } else {\n toast.error(response.message, { autoClose: 2000 })\n }\n }\n\n // Even if response?.success is false, we still want to handle the payload\n // as it may contain useful information - complex error messages in form,\n // redirect to another page etc. If the action just needs to abort,\n // it raises exception instead of returning a response with success: false\n\n // Use the new hook to handle payload\n if (response?.payload) {\n if (response.type === 'form') {\n // action requests additional information from the user.\n // we show a dialog with the form and when the user submits it we call the action again\n\n // It probably does not make sense to move to the useActionTriggers hook\n // as it need contexts and the dialog\n const intf = {\n identifier,\n // @ts-expect-error\n title: response.payload['title'],\n // @ts-expect-error\n fields: response.payload['fields'],\n // @ts-expect-error\n submitLabel: response.payload['submit_label'],\n // @ts-expect-error\n cancelLabel: response.payload['cancel_label'],\n // @ts-expect-error\n submitIcon: response.payload['submit_icon'],\n // @ts-expect-error\n cancelIcon: response.payload['cancel_icon'],\n }\n setInteractiveForm(intf)\n } else {\n handleActionPayload(response.type as string, response.payload)\n }\n }\n } catch (error) {\n // got response, but failed to process it\n console.warn('Error during action response processing', error)\n toast.error('Error occured during action processing')\n }\n }\n\n const handleConfigureAction = (identifier: string) => {\n const action = actions.find((data) => data.identifier === identifier)\n if (!action) return\n setActionBeingConfigured(action)\n }\n\n const handleSubmitInteractiveForm = async (identifier: string, formData: InteractiveForm) => {\n handleExecuteAction(identifier, null, formData)\n }\n\n const loadingActions = [placeholder, placeholder, placeholder]\n\n const isLoading = isFetchingActions || isLoadingEntity\n const featuredActionsToDisplay = isLoading ? loadingActions : featuredActions\n\n return (\n <Styled.Actions className=\"actions\">\n {featuredActionsToDisplay.map((action, i) => (\n <Styled.FeaturedAction\n key={action.identifier + '-' + i}\n className={clsx('action', {\n loading: isLoading,\n // @ts-expect-error\n isPlaceholder: action.isPlaceholder,\n })}\n data-tooltip={action.groupLabel ? action.groupLabel + ' ' + action.label : action.label}\n // @ts-expect-error\n disabled={action.isPlaceholder}\n onClick={(e) => handleExecuteAction(action.identifier, e)}\n >\n {/* @ts-ignore */}\n <ActionIcon icon={action.icon} isExecuting={executingAction === action.identifier} />\n </Styled.FeaturedAction>\n ))}\n <ActionsDropdown\n options={dropdownOptions}\n isLoading={isLoading}\n onAction={handleExecuteAction}\n onConfig={handleConfigureAction}\n />\n <ActionConfigDialog\n action={actionBeingConfigured}\n // @ts-expect-error\n context={context}\n onClose={() => setActionBeingConfigured(null)}\n />\n <InteractiveActionDialog\n interactiveForm={interactiveForm}\n onClose={() => setInteractiveForm(null)}\n // @ts-expect-error\n onSubmit={handleSubmitInteractiveForm}\n />\n </Styled.Actions>\n )\n}\n"],"names":["actions","data","jsxs","Styled.Actions","jsx","Styled.FeaturedAction"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Actions.es.js","sources":["../../../../../src/containers/Actions/Actions.tsx"],"sourcesContent":["import * as Styled from './Actions.styled'\nimport { MouseEvent, useState } from 'react'\nimport clsx from 'clsx'\nimport { toast } from 'react-toastify'\nimport { useMemo, useEffect } from 'react'\nimport { ActionContext, useExecuteActionMutation, useGetActionsFromContextQuery } from '@shared/api'\nimport { ActionsDropdown } from './ActionsDropdown'\nimport ActionIcon from './ActionIcon'\nimport { ActionTriggersProps, useActionTriggers } from '@shared/hooks'\nimport { ActionConfigDialog } from './ActionConfigDialog'\nimport { InteractiveActionDialog, InteractiveForm } from './InteractiveActionDialog'\n\nconst placeholder = {\n identifier: 'placeholder',\n label: 'Featured action slot',\n isPlaceholder: true,\n icon: { type: 'material-symbols', name: 'sync' },\n groupLabel: '',\n}\n\ninterface ActionsProps extends ActionTriggersProps {\n entities: { id: string; projectName: string; entitySubType?: string }[]\n entityType: ActionContext['entityType']\n entitySubTypes?: string[]\n isLoadingEntity: boolean\n featuredCount?: number\n}\n\nexport const Actions = ({\n entities,\n entityType,\n entitySubTypes,\n isLoadingEntity,\n searchParams,\n featuredCount = 2,\n onNavigate,\n onSetSearchParams,\n}: ActionsProps) => {\n // special triggers the actions can make to perform stuff on the client\n const { handleActionPayload } = useActionTriggers({ onNavigate, onSetSearchParams, searchParams })\n const [actionBeingConfigured, setActionBeingConfigured] = useState<any>(null)\n const [interactiveForm, setInteractiveForm] = useState<any>(null)\n\n const context: ActionContext | null = useMemo(() => {\n if (!entities.length) return null\n if (!entities[0].projectName) return null\n\n // get a list of unique entity subtypes from loaded data\n const entitySubtypesLoaded = entities\n .filter((entity) => entity.entitySubType)\n .map((entity) => entity.entitySubType as string)\n .filter((value, index, self) => self.indexOf(value) === index && value)\n\n // try and use the passed in entitySubTypes, if not use the loaded ones\n const entitySubTypesToUse = entitySubTypes?.length ? entitySubTypes : entitySubtypesLoaded\n\n // all types except version/representation should have subtypes\n if (\n !entitySubTypesToUse?.length &&\n entityType !== 'version' &&\n entityType !== 'representation'\n ) {\n console.warn('No entity subtypes found')\n return null\n }\n\n return {\n projectName: entities[0].projectName,\n entityType: entityType,\n entityIds: entities.map((entity) => entity.id),\n entitySubtypes: entitySubTypesToUse,\n }\n }, [entities, entityType])\n\n useEffect(() => {\n setInteractiveForm(null)\n }, [context])\n\n const { data, isFetching: isFetchingActions } = useGetActionsFromContextQuery(\n { mode: 'simple', actionContext: context as ActionContext },\n { skip: !context },\n )\n\n const actions = data?.actions || []\n\n const categoryOrder = ['application', 'admin', 'workflow']\n // group actions by category\n // sort by hardcoded category, this will changing the future\n const groupedActions = useMemo(() => {\n // Step 1: Group actions by category\n const grouped = actions.reduce((acc: { [key: string]: any[] }, action) => {\n const category = action.category || 'uncategorized'\n if (!acc[category]) {\n acc[category] = []\n }\n acc[category].push(action)\n return acc\n }, {})\n\n // Step 5: Return the ordered groups\n return grouped\n }, [actions])\n\n // get categories that don't have a specific order (not in categoryOrder)\n // then sort them alphabetically\n const unorderedCategories = useMemo(\n () => [\n ...new Set(\n Object.keys(groupedActions)\n .filter((category) => !categoryOrder.includes(category))\n .sort((a, b) => a.localeCompare(b)),\n ),\n ],\n [groupedActions],\n )\n\n const categories = [...categoryOrder, ...unorderedCategories]\n\n // create the options for the dropdown, each category is separated by a divider and a title\n // for the divider we will use a custom dropdown item template\n const dropdownOptions = useMemo(() => {\n const options = []\n\n categories.forEach((category) => {\n if (!groupedActions[category] || !groupedActions[category].length) return\n\n options.push({\n label: category,\n header: true,\n value: category,\n disabled: true,\n })\n\n const groupOptions = groupedActions[category].map((action) => ({\n value: action.identifier,\n label: action.groupLabel ? action.groupLabel + ' ' + action.label : action.label,\n icon: action.icon,\n hasConfig: !!action.configFields,\n }))\n\n options.push(...groupOptions)\n })\n\n // if no actions, add placeholder\n if (!options.length) {\n options.push({\n label: 'No actions available',\n value: 'no-actions',\n disabled: true,\n header: true,\n })\n }\n\n return options\n }, [groupedActions, unorderedCategories, categoryOrder])\n\n const featuredActions = useMemo(() => {\n // Filter and sort to get initial featured actions\n let tempFeaturedActions = actions\n .filter((action) => action.featured)\n .sort((a, b) => (a.order || 0) - (b.order || 0))\n .slice(0, featuredCount)\n\n // Check if we need to add more actions to reach featuredCount\n if (tempFeaturedActions.length < featuredCount) {\n categories.forEach((category) => {\n if (tempFeaturedActions.length >= featuredCount) return\n const actions = groupedActions[category]\n if (!actions || !actions.length) return\n\n for (let i = tempFeaturedActions.length; i < featuredCount; i++) {\n const action = actions[i]\n if (!action) break\n if (!action.icon) continue\n tempFeaturedActions.push(action)\n }\n })\n }\n\n return tempFeaturedActions\n }, [actions, groupedActions, placeholder])\n\n const [executeAction, { isLoading: isLoadingExecution, originalArgs }] =\n useExecuteActionMutation()\n const executingAction = isLoadingExecution && originalArgs?.identifier\n\n const handleExecuteAction = async (\n identifier: string,\n e?: MouseEvent<HTMLElement> | null,\n formData?: InteractiveForm,\n ) => {\n e?.preventDefault()\n const action = actions.find((option) => option.identifier === identifier)\n\n if (!action) {\n toast.error('Action not found')\n console.warn('Action not found', identifier)\n return\n }\n\n const params = {\n addonName: action.addonName as string,\n addonVersion: action.addonVersion as string,\n variant: action.variant,\n identifier: action.identifier,\n }\n\n const actionContext = { ...context }\n if (formData) {\n actionContext.formData = formData\n }\n\n let response = null\n\n try {\n response = await executeAction({ actionContext, ...params }).unwrap()\n } catch (error: any) {\n console.error('Error executing action', error)\n toast.error(error?.data?.detail || 'Error executing action')\n return\n }\n\n try {\n // Toast the message if it is available\n if (response?.message) {\n if (response?.success) {\n toast.success(response.message, { autoClose: 2000 })\n } else {\n toast.error(response.message, { autoClose: 2000 })\n }\n }\n\n // Even if response?.success is false, we still want to handle the payload\n // as it may contain useful information - complex error messages in form,\n // redirect to another page etc. If the action just needs to abort,\n // it raises exception instead of returning a response with success: false\n\n // Use the new hook to handle payload\n if (response?.payload) {\n if (response.type === 'form') {\n // action requests additional information from the user.\n // we show a dialog with the form and when the user submits it we call the action again\n\n // It probably does not make sense to move to the useActionTriggers hook\n // as it need contexts and the dialog\n const intf = {\n identifier,\n // @ts-expect-error\n title: response.payload['title'],\n // @ts-expect-error\n fields: response.payload['fields'],\n // @ts-expect-error\n submitLabel: response.payload['submit_label'],\n // @ts-expect-error\n cancelLabel: response.payload['cancel_label'],\n // @ts-expect-error\n submitIcon: response.payload['submit_icon'],\n // @ts-expect-error\n cancelIcon: response.payload['cancel_icon'],\n }\n setInteractiveForm(intf)\n } else {\n handleActionPayload(response.type as string, response.payload)\n }\n }\n } catch (error) {\n // got response, but failed to process it\n console.warn('Error during action response processing', error)\n toast.error('Error occured during action processing')\n }\n }\n\n const handleConfigureAction = (identifier: string) => {\n const action = actions.find((data) => data.identifier === identifier)\n if (!action) return\n setActionBeingConfigured(action)\n }\n\n const handleSubmitInteractiveForm = async (identifier: string, formData: InteractiveForm) => {\n handleExecuteAction(identifier, null, formData)\n }\n\n const loadingActions = useMemo(\n () => Array(featuredCount).fill(placeholder),\n [featuredCount, placeholder],\n )\n\n const isLoading = isFetchingActions || isLoadingEntity\n const featuredActionsToDisplay = isLoading ? loadingActions : featuredActions\n\n return (\n <Styled.Actions className=\"actions\">\n {featuredActionsToDisplay.map((action, i) => (\n <Styled.FeaturedAction\n key={action.identifier + '-' + i}\n className={clsx('action', {\n loading: isLoading,\n isPlaceholder: action.isPlaceholder,\n })}\n data-tooltip={action.groupLabel ? action.groupLabel + ' ' + action.label : action.label}\n disabled={action.isPlaceholder}\n onClick={(e) => handleExecuteAction(action.identifier, e)}\n >\n {/* @ts-ignore */}\n <ActionIcon icon={action.icon} isExecuting={executingAction === action.identifier} />\n </Styled.FeaturedAction>\n ))}\n <ActionsDropdown\n options={dropdownOptions}\n isLoading={isLoading && featuredCount > 0}\n onAction={handleExecuteAction}\n onConfig={handleConfigureAction}\n />\n <ActionConfigDialog\n action={actionBeingConfigured}\n // @ts-expect-error\n context={context}\n onClose={() => setActionBeingConfigured(null)}\n />\n <InteractiveActionDialog\n interactiveForm={interactiveForm}\n onClose={() => setInteractiveForm(null)}\n // @ts-expect-error\n onSubmit={handleSubmitInteractiveForm}\n />\n </Styled.Actions>\n )\n}\n"],"names":["actions","data","jsxs","Styled.Actions","jsx","Styled.FeaturedAction"],"mappings":"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"}
|
|
@@ -79,9 +79,9 @@ const ActionsDropdown = ({
|
|
|
79
79
|
value: [],
|
|
80
80
|
placeholder: "",
|
|
81
81
|
itemTemplate: (option) => /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx(ActionsDropdownItem, { ...option, onConfig: handleConfigClick }),
|
|
82
|
-
valueTemplate: () => /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx(ayonReactComponents.DefaultValueTemplate, { placeholder: "", value: [] }),
|
|
82
|
+
valueTemplate: () => /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx(ayonReactComponents.DefaultValueTemplate, { placeholder: "", value: [], dropIcon: "category" }),
|
|
83
83
|
onChange: (v) => onAction(v[0]),
|
|
84
|
-
buttonProps: { ["data-tooltip"]: "
|
|
84
|
+
buttonProps: { ["data-tooltip"]: "Actions", ["data-tooltip-delay"]: 0 }
|
|
85
85
|
}
|
|
86
86
|
);
|
|
87
87
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionsDropdown.cjs.js","sources":["../../../../../../src/containers/Actions/ActionsDropdown/ActionsDropdown.tsx"],"sourcesContent":["import { DefaultValueTemplate, Button, Spacer, DropdownRef } from '@ynput/ayon-react-components'\nimport { DropdownHeader, DropdownItem, StyledDropdown } from './ActionsDropdown.styled'\nimport clsx from 'clsx'\nimport { useRef } from 'react'\nimport { upperFirst } from 'lodash'\nimport ActionIcon from '../ActionIcon'\nimport styled from 'styled-components'\nimport { IconModel } from '@shared/api'\n\nconst ActionItemContainer = styled.div`\n display: flex;\n flex-direction: row;\n width: 100%;\n gap: 4px;\n\n // use visibility instead of display, so dropdown adjusts its width\n button {\n display: flex;\n visibility: hidden;\n }\n\n &:hover,\n &:focus-within {\n button {\n visibility: visible;\n }\n }\n`\n\ntype ActionsDropdownItemProps = {\n value: string\n label: string\n icon?: IconModel\n header?: boolean\n hasConfig?: boolean\n onConfig?: (value: string) => void\n}\n\nexport const ActionsDropdownItem = ({\n value,\n label,\n icon,\n header,\n hasConfig,\n onConfig,\n}: ActionsDropdownItemProps) => {\n if (header) return <DropdownHeader>{upperFirst(label)}</DropdownHeader>\n\n const handleConfig = (e: any) => {\n onConfig?.(value)\n e.stopPropagation()\n e.preventDefault()\n }\n\n return (\n <DropdownItem>\n <ActionItemContainer>\n <ActionIcon icon={icon} />\n <span>{label}</span>\n <Spacer />\n {hasConfig && (\n <Button\n onClick={handleConfig}\n icon=\"settings_applications\"\n tabIndex={-1}\n style={{ background: 'none', padding: 0 }}\n />\n )}\n </ActionItemContainer>\n </DropdownItem>\n )\n}\n\nexport type ActionsDropdownProps = {\n options: ActionsDropdownItemProps[]\n isLoading?: boolean\n onAction: (value: string) => void\n onConfig: (e: any) => void\n}\n\nexport const ActionsDropdown = ({\n options,\n isLoading,\n onAction,\n onConfig,\n}: ActionsDropdownProps) => {\n const dropdownRef = useRef<DropdownRef>(null)\n\n const handleConfigClick = (e: any) => {\n dropdownRef.current?.close()\n onConfig(e)\n }\n\n return (\n <StyledDropdown\n ref={dropdownRef}\n disabled={isLoading}\n className={clsx('more', { loading: isLoading })}\n options={options}\n maxOptionsShown={100}\n value={[]}\n placeholder=\"\"\n itemTemplate={(option) => <ActionsDropdownItem {...option} onConfig={handleConfigClick} />}\n valueTemplate={() => <DefaultValueTemplate placeholder=\"\" value={[]} />}\n onChange={(v) => onAction(v[0])}\n // @ts-expect-error\n buttonProps={{ ['data-tooltip']: '
|
|
1
|
+
{"version":3,"file":"ActionsDropdown.cjs.js","sources":["../../../../../../src/containers/Actions/ActionsDropdown/ActionsDropdown.tsx"],"sourcesContent":["import { DefaultValueTemplate, Button, Spacer, DropdownRef } from '@ynput/ayon-react-components'\nimport { DropdownHeader, DropdownItem, StyledDropdown } from './ActionsDropdown.styled'\nimport clsx from 'clsx'\nimport { useRef } from 'react'\nimport { upperFirst } from 'lodash'\nimport ActionIcon from '../ActionIcon'\nimport styled from 'styled-components'\nimport { IconModel } from '@shared/api'\n\nconst ActionItemContainer = styled.div`\n display: flex;\n flex-direction: row;\n width: 100%;\n gap: 4px;\n\n // use visibility instead of display, so dropdown adjusts its width\n button {\n display: flex;\n visibility: hidden;\n }\n\n &:hover,\n &:focus-within {\n button {\n visibility: visible;\n }\n }\n`\n\ntype ActionsDropdownItemProps = {\n value: string\n label: string\n icon?: IconModel\n header?: boolean\n hasConfig?: boolean\n onConfig?: (value: string) => void\n}\n\nexport const ActionsDropdownItem = ({\n value,\n label,\n icon,\n header,\n hasConfig,\n onConfig,\n}: ActionsDropdownItemProps) => {\n if (header) return <DropdownHeader>{upperFirst(label)}</DropdownHeader>\n\n const handleConfig = (e: any) => {\n onConfig?.(value)\n e.stopPropagation()\n e.preventDefault()\n }\n\n return (\n <DropdownItem>\n <ActionItemContainer>\n <ActionIcon icon={icon} />\n <span>{label}</span>\n <Spacer />\n {hasConfig && (\n <Button\n onClick={handleConfig}\n icon=\"settings_applications\"\n tabIndex={-1}\n style={{ background: 'none', padding: 0 }}\n />\n )}\n </ActionItemContainer>\n </DropdownItem>\n )\n}\n\nexport type ActionsDropdownProps = {\n options: ActionsDropdownItemProps[]\n isLoading?: boolean\n onAction: (value: string) => void\n onConfig: (e: any) => void\n}\n\nexport const ActionsDropdown = ({\n options,\n isLoading,\n onAction,\n onConfig,\n}: ActionsDropdownProps) => {\n const dropdownRef = useRef<DropdownRef>(null)\n\n const handleConfigClick = (e: any) => {\n dropdownRef.current?.close()\n onConfig(e)\n }\n\n return (\n <StyledDropdown\n ref={dropdownRef}\n disabled={isLoading}\n className={clsx('more', { loading: isLoading })}\n options={options}\n maxOptionsShown={100}\n value={[]}\n placeholder=\"\"\n itemTemplate={(option) => <ActionsDropdownItem {...option} onConfig={handleConfigClick} />}\n valueTemplate={() => <DefaultValueTemplate placeholder=\"\" value={[]} dropIcon={'category'} />}\n onChange={(v) => onAction(v[0])}\n // @ts-expect-error\n buttonProps={{ ['data-tooltip']: 'Actions', ['data-tooltip-delay']: 0 }}\n />\n )\n}\n"],"names":["jsx","DropdownHeader","upperFirst","DropdownItem","jsxs","Spacer","Button","useRef","StyledDropdown","DefaultValueTemplate"],"mappings":";;;;;;;;;;AASA,MAAM,sBAAsB,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA6B5B,MAAM,sBAAsB,CAAC;AAAA,EAClC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAgC;AAC9B,MAAI,OAAe,QAAAA,2BAAAA,kBAAAA,IAACC,uBAAgB,gBAAA,EAAA,UAAAC,OAAA,WAAW,KAAK,GAAE;AAEhD,QAAA,eAAe,CAAC,MAAW;AAC/B,yCAAW;AACX,MAAE,gBAAgB;AAClB,MAAE,eAAe;AAAA,EACnB;AAGE,SAAAF,2BAAAA,kBAAAA,IAACG,uBAAAA,cACC,EAAA,UAAAC,2BAAAA,kBAAAA,KAAC,qBACC,EAAA,UAAA;AAAA,IAAAJ,iDAAC,cAAW,MAAY;AAAA,IACxBA,2BAAAA,kBAAAA,IAAC,UAAM,UAAM,MAAA,CAAA;AAAA,qDACZK,oBAAO,QAAA,EAAA;AAAA,IACP,aACCL,2BAAA,kBAAA;AAAA,MAACM,oBAAA;AAAA,MAAA;AAAA,QACC,SAAS;AAAA,QACT,MAAK;AAAA,QACL,UAAU;AAAA,QACV,OAAO,EAAE,YAAY,QAAQ,SAAS,EAAE;AAAA,MAAA;AAAA,IAAA;AAAA,EAC1C,EAAA,CAEJ,EACF,CAAA;AAEJ;AASO,MAAM,kBAAkB,CAAC;AAAA,EAC9B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAA4B;AACpB,QAAA,cAAcC,aAAoB,IAAI;AAEtC,QAAA,oBAAoB,CAAC,MAAW;;AACpC,sBAAY,YAAZ,mBAAqB;AACrB,aAAS,CAAC;AAAA,EACZ;AAGE,SAAAP,2BAAA,kBAAA;AAAA,IAACQ,uBAAA;AAAA,IAAA;AAAA,MACC,KAAK;AAAA,MACL,UAAU;AAAA,MACV,WAAW,KAAK,QAAQ,EAAE,SAAS,WAAW;AAAA,MAC9C;AAAA,MACA,iBAAiB;AAAA,MACjB,OAAO,CAAC;AAAA,MACR,aAAY;AAAA,MACZ,cAAc,CAAC,WAAWR,iDAAC,uBAAqB,GAAG,QAAQ,UAAU,mBAAmB;AAAA,MACxF,eAAe,MAAMA,2BAAAA,kBAAAA,IAACS,oBAAqB,sBAAA,EAAA,aAAY,IAAG,OAAO,CAAI,GAAA,UAAU,YAAY;AAAA,MAC3F,UAAU,CAAC,MAAM,SAAS,EAAE,CAAC,CAAC;AAAA,MAE9B,aAAa,EAAE,CAAC,cAAc,GAAG,WAAW,CAAC,oBAAoB,GAAG,EAAE;AAAA,IAAA;AAAA,EACxE;AAEJ;;;"}
|
|
@@ -77,9 +77,9 @@ const ActionsDropdown = ({
|
|
|
77
77
|
value: [],
|
|
78
78
|
placeholder: "",
|
|
79
79
|
itemTemplate: (option) => /* @__PURE__ */ jsxRuntimeExports.jsx(ActionsDropdownItem, { ...option, onConfig: handleConfigClick }),
|
|
80
|
-
valueTemplate: () => /* @__PURE__ */ jsxRuntimeExports.jsx(DefaultValueTemplate, { placeholder: "", value: [] }),
|
|
80
|
+
valueTemplate: () => /* @__PURE__ */ jsxRuntimeExports.jsx(DefaultValueTemplate, { placeholder: "", value: [], dropIcon: "category" }),
|
|
81
81
|
onChange: (v) => onAction(v[0]),
|
|
82
|
-
buttonProps: { ["data-tooltip"]: "
|
|
82
|
+
buttonProps: { ["data-tooltip"]: "Actions", ["data-tooltip-delay"]: 0 }
|
|
83
83
|
}
|
|
84
84
|
);
|
|
85
85
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionsDropdown.es.js","sources":["../../../../../../src/containers/Actions/ActionsDropdown/ActionsDropdown.tsx"],"sourcesContent":["import { DefaultValueTemplate, Button, Spacer, DropdownRef } from '@ynput/ayon-react-components'\nimport { DropdownHeader, DropdownItem, StyledDropdown } from './ActionsDropdown.styled'\nimport clsx from 'clsx'\nimport { useRef } from 'react'\nimport { upperFirst } from 'lodash'\nimport ActionIcon from '../ActionIcon'\nimport styled from 'styled-components'\nimport { IconModel } from '@shared/api'\n\nconst ActionItemContainer = styled.div`\n display: flex;\n flex-direction: row;\n width: 100%;\n gap: 4px;\n\n // use visibility instead of display, so dropdown adjusts its width\n button {\n display: flex;\n visibility: hidden;\n }\n\n &:hover,\n &:focus-within {\n button {\n visibility: visible;\n }\n }\n`\n\ntype ActionsDropdownItemProps = {\n value: string\n label: string\n icon?: IconModel\n header?: boolean\n hasConfig?: boolean\n onConfig?: (value: string) => void\n}\n\nexport const ActionsDropdownItem = ({\n value,\n label,\n icon,\n header,\n hasConfig,\n onConfig,\n}: ActionsDropdownItemProps) => {\n if (header) return <DropdownHeader>{upperFirst(label)}</DropdownHeader>\n\n const handleConfig = (e: any) => {\n onConfig?.(value)\n e.stopPropagation()\n e.preventDefault()\n }\n\n return (\n <DropdownItem>\n <ActionItemContainer>\n <ActionIcon icon={icon} />\n <span>{label}</span>\n <Spacer />\n {hasConfig && (\n <Button\n onClick={handleConfig}\n icon=\"settings_applications\"\n tabIndex={-1}\n style={{ background: 'none', padding: 0 }}\n />\n )}\n </ActionItemContainer>\n </DropdownItem>\n )\n}\n\nexport type ActionsDropdownProps = {\n options: ActionsDropdownItemProps[]\n isLoading?: boolean\n onAction: (value: string) => void\n onConfig: (e: any) => void\n}\n\nexport const ActionsDropdown = ({\n options,\n isLoading,\n onAction,\n onConfig,\n}: ActionsDropdownProps) => {\n const dropdownRef = useRef<DropdownRef>(null)\n\n const handleConfigClick = (e: any) => {\n dropdownRef.current?.close()\n onConfig(e)\n }\n\n return (\n <StyledDropdown\n ref={dropdownRef}\n disabled={isLoading}\n className={clsx('more', { loading: isLoading })}\n options={options}\n maxOptionsShown={100}\n value={[]}\n placeholder=\"\"\n itemTemplate={(option) => <ActionsDropdownItem {...option} onConfig={handleConfigClick} />}\n valueTemplate={() => <DefaultValueTemplate placeholder=\"\" value={[]} />}\n onChange={(v) => onAction(v[0])}\n // @ts-expect-error\n buttonProps={{ ['data-tooltip']: '
|
|
1
|
+
{"version":3,"file":"ActionsDropdown.es.js","sources":["../../../../../../src/containers/Actions/ActionsDropdown/ActionsDropdown.tsx"],"sourcesContent":["import { DefaultValueTemplate, Button, Spacer, DropdownRef } from '@ynput/ayon-react-components'\nimport { DropdownHeader, DropdownItem, StyledDropdown } from './ActionsDropdown.styled'\nimport clsx from 'clsx'\nimport { useRef } from 'react'\nimport { upperFirst } from 'lodash'\nimport ActionIcon from '../ActionIcon'\nimport styled from 'styled-components'\nimport { IconModel } from '@shared/api'\n\nconst ActionItemContainer = styled.div`\n display: flex;\n flex-direction: row;\n width: 100%;\n gap: 4px;\n\n // use visibility instead of display, so dropdown adjusts its width\n button {\n display: flex;\n visibility: hidden;\n }\n\n &:hover,\n &:focus-within {\n button {\n visibility: visible;\n }\n }\n`\n\ntype ActionsDropdownItemProps = {\n value: string\n label: string\n icon?: IconModel\n header?: boolean\n hasConfig?: boolean\n onConfig?: (value: string) => void\n}\n\nexport const ActionsDropdownItem = ({\n value,\n label,\n icon,\n header,\n hasConfig,\n onConfig,\n}: ActionsDropdownItemProps) => {\n if (header) return <DropdownHeader>{upperFirst(label)}</DropdownHeader>\n\n const handleConfig = (e: any) => {\n onConfig?.(value)\n e.stopPropagation()\n e.preventDefault()\n }\n\n return (\n <DropdownItem>\n <ActionItemContainer>\n <ActionIcon icon={icon} />\n <span>{label}</span>\n <Spacer />\n {hasConfig && (\n <Button\n onClick={handleConfig}\n icon=\"settings_applications\"\n tabIndex={-1}\n style={{ background: 'none', padding: 0 }}\n />\n )}\n </ActionItemContainer>\n </DropdownItem>\n )\n}\n\nexport type ActionsDropdownProps = {\n options: ActionsDropdownItemProps[]\n isLoading?: boolean\n onAction: (value: string) => void\n onConfig: (e: any) => void\n}\n\nexport const ActionsDropdown = ({\n options,\n isLoading,\n onAction,\n onConfig,\n}: ActionsDropdownProps) => {\n const dropdownRef = useRef<DropdownRef>(null)\n\n const handleConfigClick = (e: any) => {\n dropdownRef.current?.close()\n onConfig(e)\n }\n\n return (\n <StyledDropdown\n ref={dropdownRef}\n disabled={isLoading}\n className={clsx('more', { loading: isLoading })}\n options={options}\n maxOptionsShown={100}\n value={[]}\n placeholder=\"\"\n itemTemplate={(option) => <ActionsDropdownItem {...option} onConfig={handleConfigClick} />}\n valueTemplate={() => <DefaultValueTemplate placeholder=\"\" value={[]} dropIcon={'category'} />}\n onChange={(v) => onAction(v[0])}\n // @ts-expect-error\n buttonProps={{ ['data-tooltip']: 'Actions', ['data-tooltip-delay']: 0 }}\n />\n )\n}\n"],"names":["jsx","jsxs"],"mappings":";;;;;;;;AASA,MAAM,sBAAsB,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA6B5B,MAAM,sBAAsB,CAAC;AAAA,EAClC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAgC;AAC9B,MAAI,OAAe,QAAAA,kCAAAA,IAAC,gBAAgB,EAAA,UAAA,WAAW,KAAK,GAAE;AAEhD,QAAA,eAAe,CAAC,MAAW;AAC/B,yCAAW;AACX,MAAE,gBAAgB;AAClB,MAAE,eAAe;AAAA,EACnB;AAGE,SAAAA,kCAAAA,IAAC,cACC,EAAA,UAAAC,kCAAAA,KAAC,qBACC,EAAA,UAAA;AAAA,IAAAD,sCAAC,cAAW,MAAY;AAAA,IACxBA,kCAAAA,IAAC,UAAM,UAAM,MAAA,CAAA;AAAA,0CACZ,QAAO,EAAA;AAAA,IACP,aACCA,kCAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,SAAS;AAAA,QACT,MAAK;AAAA,QACL,UAAU;AAAA,QACV,OAAO,EAAE,YAAY,QAAQ,SAAS,EAAE;AAAA,MAAA;AAAA,IAAA;AAAA,EAC1C,EAAA,CAEJ,EACF,CAAA;AAEJ;AASO,MAAM,kBAAkB,CAAC;AAAA,EAC9B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAA4B;AACpB,QAAA,cAAc,OAAoB,IAAI;AAEtC,QAAA,oBAAoB,CAAC,MAAW;;AACpC,sBAAY,YAAZ,mBAAqB;AACrB,aAAS,CAAC;AAAA,EACZ;AAGE,SAAAA,kCAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAK;AAAA,MACL,UAAU;AAAA,MACV,WAAW,KAAK,QAAQ,EAAE,SAAS,WAAW;AAAA,MAC9C;AAAA,MACA,iBAAiB;AAAA,MACjB,OAAO,CAAC;AAAA,MACR,aAAY;AAAA,MACZ,cAAc,CAAC,WAAWA,sCAAC,uBAAqB,GAAG,QAAQ,UAAU,mBAAmB;AAAA,MACxF,eAAe,MAAMA,kCAAAA,IAAC,sBAAqB,EAAA,aAAY,IAAG,OAAO,CAAI,GAAA,UAAU,YAAY;AAAA,MAC3F,UAAU,CAAC,MAAM,SAAS,EAAE,CAAC,CAAC;AAAA,MAE9B,aAAa,EAAE,CAAC,cAAc,GAAG,WAAW,CAAC,oBAAoB,GAAG,EAAE;AAAA,IAAA;AAAA,EACxE;AAEJ;"}
|
package/dist/shared/src/containers/Actions/ActionsDropdown/ActionsDropdown.styled.cjs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionsDropdown.styled.cjs.js","sources":["../../../../../../src/containers/Actions/ActionsDropdown/ActionsDropdown.styled.ts"],"sourcesContent":["import { Dropdown } from '@ynput/ayon-react-components'\nimport styled from 'styled-components'\n\nexport const StyledDropdown = styled(Dropdown)`\n height: unset;\n button {\n background-color: var(--md-sys-color-surface-container-highest);\n min-height: 32px;\n & > div {\n padding: 0;\n border: 0;\n padding: 0 6px;\n gap: 0;\n }\n * {\n opacity: 1 !important;\n }\n\n .icon {\n vertical-align: middle;\n }\n\n &:hover {\n background-color: var(--md-sys-color-surface-container-highest-hover);\n }\n }\n`\n\nexport const DropdownItem = styled.div`\n display: flex;\n gap: var(--base-gap-large);\n\n padding: 6px;\n padding-right: 12px;\n\n img {\n width: 20px;\n height: 20px;\n object-fit: contain;\n }\n`\n\nexport const DropdownHeader = styled.div`\n color: var(--md-sys-color-outline);\n padding: 4px 6px;\n`\n"],"names":["Dropdown"],"mappings":";;;;AAGa,MAAA,iBAAiB,OAAOA,4BAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;
|
|
1
|
+
{"version":3,"file":"ActionsDropdown.styled.cjs.js","sources":["../../../../../../src/containers/Actions/ActionsDropdown/ActionsDropdown.styled.ts"],"sourcesContent":["import { Dropdown } from '@ynput/ayon-react-components'\nimport styled from 'styled-components'\n\nexport const StyledDropdown = styled(Dropdown)`\n height: unset;\n button {\n background-color: var(--md-sys-color-surface-container-highest);\n min-height: 32px;\n & > div {\n padding: 0;\n border: 0;\n padding: 0 6px;\n gap: 0;\n }\n * {\n opacity: 1 !important;\n }\n\n .icon {\n vertical-align: middle;\n }\n\n &:hover {\n background-color: var(--md-sys-color-surface-container-highest-hover);\n }\n }\n\n &.loading {\n border-radius: 4px;\n }\n`\n\nexport const DropdownItem = styled.div`\n display: flex;\n gap: var(--base-gap-large);\n\n padding: 6px;\n padding-right: 12px;\n\n img {\n width: 20px;\n height: 20px;\n object-fit: contain;\n }\n`\n\nexport const DropdownHeader = styled.div`\n color: var(--md-sys-color-outline);\n padding: 4px 6px;\n`\n"],"names":["Dropdown"],"mappings":";;;;AAGa,MAAA,iBAAiB,OAAOA,4BAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA6BtC,MAAM,eAAe,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAc5B,MAAM,iBAAiB,OAAO;AAAA;AAAA;AAAA;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionsDropdown.styled.es.js","sources":["../../../../../../src/containers/Actions/ActionsDropdown/ActionsDropdown.styled.ts"],"sourcesContent":["import { Dropdown } from '@ynput/ayon-react-components'\nimport styled from 'styled-components'\n\nexport const StyledDropdown = styled(Dropdown)`\n height: unset;\n button {\n background-color: var(--md-sys-color-surface-container-highest);\n min-height: 32px;\n & > div {\n padding: 0;\n border: 0;\n padding: 0 6px;\n gap: 0;\n }\n * {\n opacity: 1 !important;\n }\n\n .icon {\n vertical-align: middle;\n }\n\n &:hover {\n background-color: var(--md-sys-color-surface-container-highest-hover);\n }\n }\n`\n\nexport const DropdownItem = styled.div`\n display: flex;\n gap: var(--base-gap-large);\n\n padding: 6px;\n padding-right: 12px;\n\n img {\n width: 20px;\n height: 20px;\n object-fit: contain;\n }\n`\n\nexport const DropdownHeader = styled.div`\n color: var(--md-sys-color-outline);\n padding: 4px 6px;\n`\n"],"names":[],"mappings":";;AAGa,MAAA,iBAAiB,OAAO,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;
|
|
1
|
+
{"version":3,"file":"ActionsDropdown.styled.es.js","sources":["../../../../../../src/containers/Actions/ActionsDropdown/ActionsDropdown.styled.ts"],"sourcesContent":["import { Dropdown } from '@ynput/ayon-react-components'\nimport styled from 'styled-components'\n\nexport const StyledDropdown = styled(Dropdown)`\n height: unset;\n button {\n background-color: var(--md-sys-color-surface-container-highest);\n min-height: 32px;\n & > div {\n padding: 0;\n border: 0;\n padding: 0 6px;\n gap: 0;\n }\n * {\n opacity: 1 !important;\n }\n\n .icon {\n vertical-align: middle;\n }\n\n &:hover {\n background-color: var(--md-sys-color-surface-container-highest-hover);\n }\n }\n\n &.loading {\n border-radius: 4px;\n }\n`\n\nexport const DropdownItem = styled.div`\n display: flex;\n gap: var(--base-gap-large);\n\n padding: 6px;\n padding-right: 12px;\n\n img {\n width: 20px;\n height: 20px;\n object-fit: contain;\n }\n`\n\nexport const DropdownHeader = styled.div`\n color: var(--md-sys-color-outline);\n padding: 4px 6px;\n`\n"],"names":[],"mappings":";;AAGa,MAAA,iBAAiB,OAAO,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA6BtC,MAAM,eAAe,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAc5B,MAAM,iBAAiB,OAAO;AAAA;AAAA;AAAA;"}
|
|
@@ -71,6 +71,7 @@ require("../../api/queries/userDashboard/getUserDashboard.cjs.js");
|
|
|
71
71
|
require("../../api/queries/users/getUsers.cjs.js");
|
|
72
72
|
require("../../api/queries/users/updateUsers.cjs.js");
|
|
73
73
|
require("../../api/queries/watchers/getWatchers.cjs.js");
|
|
74
|
+
require("../../api/queries/permissions/getPermissions.cjs.js");
|
|
74
75
|
require("react");
|
|
75
76
|
require("@dnd-kit/core");
|
|
76
77
|
require("@dnd-kit/sortable");
|
|
@@ -88,6 +89,8 @@ require("../../context/SettingsPanelContext.cjs.js");
|
|
|
88
89
|
require("../../context/pip/PiPProvider.cjs.js");
|
|
89
90
|
require("react-dom");
|
|
90
91
|
require("../../context/pip/PiPWrapper.cjs.js");
|
|
92
|
+
require("../../context/AddonProjectContext.cjs.js");
|
|
93
|
+
require("../../context/AddonContext.cjs.js");
|
|
91
94
|
require("../../components/ReviewableCard/ReviewableCard.cjs.js");
|
|
92
95
|
require("../../components/ReviewableProgressCard/ReviewableProgressCard.styled.cjs.js");
|
|
93
96
|
require("../../components/FileThumbnail/FileThumbnail.cjs.js");
|
|
@@ -130,6 +133,7 @@ require("../ProjectTreeTable/context/ColumnSettingsContext.cjs.js");
|
|
|
130
133
|
require("../ProjectTreeTable/context/CellEditingContext.cjs.js");
|
|
131
134
|
require("../ProjectTreeTable/context/ClipboardContext.cjs.js");
|
|
132
135
|
require("../ProjectTreeTable/context/ProjectTableSelectionContext.cjs.js");
|
|
136
|
+
require("../ProjectTreeTable/context/ProjectDataContext.cjs.js");
|
|
133
137
|
require("@tanstack/react-table");
|
|
134
138
|
require("../ProjectTreeTable/widgets/CollapsedWidget.cjs.js");
|
|
135
139
|
require("../ProjectTreeTable/widgets/DateWidget.cjs.js");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InteractiveActionDialog.cjs.js","sources":["../../../../../src/containers/Actions/InteractiveActionDialog.tsx"],"sourcesContent":["import { SimpleFormDialog } from '@shared/components'\nimport type { SimpleFormField } from '@shared/api'\n\nexport interface InteractiveForm {\n identifier: string\n title: string\n fields: SimpleFormField[]\n submitLabel?: string\n cancelLabel?: string\n submitIcon?: string\n cancelIcon?: string\n}\n\nexport interface InteractiveActionDialogProps {\n interactiveForm: InteractiveForm | null\n onClose: () => void\n onSubmit: (identifier: string, formData: Record<string, any>) => void\n}\n\nexport const InteractiveActionDialog = ({\n interactiveForm,\n onClose,\n onSubmit,\n}: InteractiveActionDialogProps) => {\n if (!interactiveForm) return null\n\n const handleSubmit = (formData: Record<string, any>) => {\n onSubmit(interactiveForm.identifier, formData)\n onClose()\n }\n\n return (\n <SimpleFormDialog\n isOpen\n title={`${interactiveForm.title}`}\n fields={interactiveForm.fields}\n submitLabel={interactiveForm.submitLabel}\n cancelLabel={interactiveForm.cancelLabel}\n submitIcon={interactiveForm.submitIcon}\n cancelIcon={interactiveForm.cancelIcon}\n onClose={onClose}\n onSubmit={handleSubmit}\n />\n )\n}\n"],"names":["jsx","SimpleFormDialog"],"mappings":"
|
|
1
|
+
{"version":3,"file":"InteractiveActionDialog.cjs.js","sources":["../../../../../src/containers/Actions/InteractiveActionDialog.tsx"],"sourcesContent":["import { SimpleFormDialog } from '@shared/components'\nimport type { SimpleFormField } from '@shared/api'\n\nexport interface InteractiveForm {\n identifier: string\n title: string\n fields: SimpleFormField[]\n submitLabel?: string\n cancelLabel?: string\n submitIcon?: string\n cancelIcon?: string\n}\n\nexport interface InteractiveActionDialogProps {\n interactiveForm: InteractiveForm | null\n onClose: () => void\n onSubmit: (identifier: string, formData: Record<string, any>) => void\n}\n\nexport const InteractiveActionDialog = ({\n interactiveForm,\n onClose,\n onSubmit,\n}: InteractiveActionDialogProps) => {\n if (!interactiveForm) return null\n\n const handleSubmit = (formData: Record<string, any>) => {\n onSubmit(interactiveForm.identifier, formData)\n onClose()\n }\n\n return (\n <SimpleFormDialog\n isOpen\n title={`${interactiveForm.title}`}\n fields={interactiveForm.fields}\n submitLabel={interactiveForm.submitLabel}\n cancelLabel={interactiveForm.cancelLabel}\n submitIcon={interactiveForm.submitIcon}\n cancelIcon={interactiveForm.cancelIcon}\n onClose={onClose}\n onSubmit={handleSubmit}\n />\n )\n}\n"],"names":["jsx","SimpleFormDialog"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmBO,MAAM,0BAA0B,CAAC;AAAA,EACtC;AAAA,EACA;AAAA,EACA;AACF,MAAoC;AAC9B,MAAA,CAAC,gBAAwB,QAAA;AAEvB,QAAA,eAAe,CAAC,aAAkC;AAC7C,aAAA,gBAAgB,YAAY,QAAQ;AACrC,YAAA;AAAA,EACV;AAGE,SAAAA,2BAAA,kBAAA;AAAA,IAACC,iBAAA;AAAA,IAAA;AAAA,MACC,QAAM;AAAA,MACN,OAAO,GAAG,gBAAgB,KAAK;AAAA,MAC/B,QAAQ,gBAAgB;AAAA,MACxB,aAAa,gBAAgB;AAAA,MAC7B,aAAa,gBAAgB;AAAA,MAC7B,YAAY,gBAAgB;AAAA,MAC5B,YAAY,gBAAgB;AAAA,MAC5B;AAAA,MACA,UAAU;AAAA,IAAA;AAAA,EACZ;AAEJ;;"}
|