@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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProjectTreeTable.es.js","sources":["../../../../../src/containers/ProjectTreeTable/ProjectTreeTable.tsx"],"sourcesContent":["import { useMemo, useRef, useEffect, memo, CSSProperties } from 'react'\nimport { useVirtualizer, VirtualItem, Virtualizer } from '@tanstack/react-virtual'\n// TanStack Table imports\nimport {\n useReactTable,\n getCoreRowModel,\n getFilteredRowModel,\n getExpandedRowModel,\n filterFns,\n flexRender,\n Row,\n getSortedRowModel,\n Cell,\n Column,\n Table,\n Header,\n HeaderGroup,\n RowData,\n} from '@tanstack/react-table'\n\n// Utility imports\nimport clsx from 'clsx'\n\n// Type imports\nimport type { TableRow } from './types/table'\n\n// Component imports\nimport buildTreeTableColumns, {\n BuildTreeTableColumnsProps,\n DefaultColumns,\n TreeTableExtraColumn,\n} from './buildTreeTableColumns'\nimport * as Styled from './ProjectTreeTable.styled'\nimport HeaderActionButton from './components/HeaderActionButton'\nimport EmptyPlaceholder from '../../components/EmptyPlaceholder'\n\n// Context imports\nimport { useCellEditing } from './context/CellEditingContext'\nimport { ROW_SELECTION_COLUMN_ID, useSelectionCellsContext } from './context/SelectionCellsContext'\nimport { ClipboardProvider } from './context/ClipboardContext'\nimport { useSelectedRowsContext } from './context/SelectedRowsContext'\nimport { useColumnSettingsContext } from './context/ColumnSettingsContext'\n\n// Hook imports\nimport useCustomColumnWidthVars from './hooks/useCustomColumnWidthVars'\nimport usePrefetchFolderTasks from './hooks/usePrefetchFolderTasks'\nimport useCellContextMenu from './hooks/useCellContextMenu'\nimport useColumnVirtualization from './hooks/useColumnVirtualization'\nimport useKeyboardNavigation from './hooks/useKeyboardNavigation'\n\n// Utility function imports\nimport { getCellId } from './utils/cellUtils'\nimport { generateLoadingRows, generateDummyAttributes } from './utils/loadingUtils'\nimport { createPortal } from 'react-dom'\nimport { Icon } from '@ynput/ayon-react-components'\nimport { AttributeEnumItem, ProjectTableAttribute, BuiltInFieldOptions } from './types'\nimport { ToggleExpandAll, useProjectTableContext } from './context/ProjectTableContext'\nimport { getReadOnlyLists, getTableFieldOptions } from './utils'\nimport { UpdateTableEntities } from './hooks/useUpdateTableData'\n\ndeclare module '@tanstack/react-table' {\n interface TableMeta<TData extends RowData> {\n options: BuiltInFieldOptions\n readOnly: ProjectTreeTableProps['readOnly']\n projectName: string\n updateEntities: UpdateTableEntities\n toggleExpandAll: ToggleExpandAll\n }\n}\n\n//These are the important styles to make sticky column pinning work!\n//Apply styles like this using your CSS strategy of choice with this kind of logic to head cells, data cells, footer cells, etc.\n//View the index.css file for more needed styles such as border-collapse: separate\nconst getCommonPinningStyles = (column: Column<TableRow, unknown>): CSSProperties => {\n const isPinned = column.getIsPinned()\n\n return {\n left: isPinned === 'left' ? `${column.getStart('left')}px` : undefined,\n right: isPinned === 'right' ? `${column.getAfter('right')}px` : undefined,\n position: isPinned ? 'sticky' : 'relative',\n width: column.getSize(),\n zIndex: isPinned ? 100 : 0,\n }\n}\n\nexport interface ProjectTreeTableProps extends React.HTMLAttributes<HTMLDivElement> {\n scope: string\n sliceId: string\n fetchMoreOnBottomReached: (element: HTMLDivElement | null) => void\n onOpenNew?: (type: 'folder' | 'task') => void\n readOnly?: (DefaultColumns | string)[]\n excludedColumns?: (DefaultColumns | string)[]\n extraColumns?: TreeTableExtraColumn[]\n pt?: {\n container?: React.HTMLAttributes<HTMLDivElement>\n head?: Partial<TableHeadProps>\n }\n}\n\nexport const ProjectTreeTable = ({\n scope,\n sliceId,\n fetchMoreOnBottomReached,\n onOpenNew,\n readOnly,\n excludedColumns,\n extraColumns,\n pt,\n ...props\n}: ProjectTreeTableProps) => {\n const {\n columnVisibility,\n columnVisibilityUpdater,\n columnPinning,\n columnPinningUpdater,\n columnOrder,\n columnOrderUpdater,\n columnSizing,\n columnSizingUpdater,\n } = useColumnSettingsContext()\n\n const {\n projectInfo,\n tableData,\n attribFields,\n entitiesMap,\n users,\n isLoading,\n isInitialized,\n expanded,\n projectName,\n updateExpanded,\n toggleExpandAll,\n sorting,\n updateSorting,\n showHierarchy,\n } = useProjectTableContext()\n\n const { statuses = [], folderTypes = [], taskTypes = [], tags = [] } = projectInfo || {}\n const options: BuiltInFieldOptions = useMemo(\n () =>\n getTableFieldOptions({\n users,\n statuses,\n folderTypes,\n taskTypes,\n tags,\n }),\n [users, statuses, folderTypes, taskTypes],\n )\n\n //The virtualizer needs to know the scrollable container element\n const tableContainerRef = useRef<HTMLDivElement>(null)\n\n // Selection context\n const { registerGrid } = useSelectionCellsContext()\n\n //a check on mount and after a fetch to see if the table is already scrolled to the bottom and immediately needs to fetch more data\n useEffect(() => {\n fetchMoreOnBottomReached(tableContainerRef.current)\n }, [fetchMoreOnBottomReached])\n\n // generate loading attrib and rows\n const { loadingAttrib, loadingRows } = useMemo(() => {\n // count the number of children in tbody\n const tableRowsCount = tableContainerRef.current?.querySelectorAll('tbody tr').length || 0\n const loadingAttrib = generateDummyAttributes()\n const loadingRows = generateLoadingRows(\n attribFields,\n showHierarchy && tableData.length > 0 ? Math.min(tableRowsCount, 50) : 50,\n )\n return { loadingAttrib, loadingRows }\n }, [attribFields, tableData, showHierarchy, tableContainerRef.current])\n\n const showLoadingRows = !isInitialized || isLoading\n\n // Format readonly columns and attributes\n const { readOnlyColumns, readOnlyAttribs } = useMemo(\n () => getReadOnlyLists(attribFields, readOnly),\n [attribFields, readOnly],\n )\n\n const { updateEntities } = useCellEditing()\n\n const columnAttribs = useMemo(\n () => (isInitialized ? attribFields : loadingAttrib),\n [attribFields, loadingAttrib, isInitialized],\n )\n const columns = useMemo(\n () =>\n buildTreeTableColumns({\n attribs: columnAttribs,\n showHierarchy,\n options,\n extraColumns,\n excluded: excludedColumns,\n }),\n [columnAttribs, showHierarchy, options, extraColumns, excludedColumns],\n )\n\n const table = useReactTable({\n data: showLoadingRows ? loadingRows : tableData,\n columns,\n defaultColumn: {\n minSize: 50,\n size: 150,\n },\n enableRowSelection: true, //enable row selection for all rows\n getRowId: (row) => row.id,\n enableSubRowSelection: false, //disable sub row selection\n getSubRows: (row) => row.subRows,\n getRowCanExpand: () => true,\n getCoreRowModel: getCoreRowModel(),\n getFilteredRowModel: getFilteredRowModel(),\n getExpandedRowModel: getExpandedRowModel(),\n filterFromLeafRows: true,\n // EXPANDABLE\n onExpandedChange: updateExpanded,\n // SORTING\n getSortedRowModel: getSortedRowModel(),\n onSortingChange: updateSorting,\n columnResizeMode: 'onChange',\n onColumnPinningChange: columnPinningUpdater,\n onColumnSizingChange: columnSizingUpdater,\n onColumnVisibilityChange: columnVisibilityUpdater,\n onColumnOrderChange: columnOrderUpdater,\n // @ts-ignore\n filterFns,\n state: {\n expanded,\n sorting,\n columnPinning: {\n left: [ROW_SELECTION_COLUMN_ID, ...(columnPinning.left || [])],\n right: columnPinning.right,\n },\n columnSizing,\n columnVisibility,\n columnOrder,\n },\n enableSorting: true,\n meta: {\n projectName,\n options,\n readOnly: readOnlyColumns,\n updateEntities,\n toggleExpandAll,\n },\n })\n\n const { rows } = table.getRowModel()\n\n // Register grid structure with selection context when rows or columns change\n useEffect(() => {\n const rowIds = rows.map((row) => row.id)\n const colIds = table.getAllLeafColumns().map((col) => col.id)\n const colIdsSortedByPinning = [...colIds].sort((a, b) => {\n if (ROW_SELECTION_COLUMN_ID === b) return 1\n const colA = columnPinning.left?.includes(a) ? 0 : 1\n const colB = columnPinning.left?.includes(b) ? 0 : 1\n return colA - colB\n })\n\n registerGrid(rowIds, colIdsSortedByPinning)\n }, [rows, table.getAllLeafColumns(), columnPinning, ROW_SELECTION_COLUMN_ID, registerGrid])\n\n const visibleColumns = table.getVisibleLeafColumns()\n\n // Use the column virtualization hook\n const { columnVirtualizer, virtualPaddingLeft, virtualPaddingRight } = useColumnVirtualization({\n visibleColumns,\n tableContainerRef,\n columnPinning,\n })\n\n const columnSizeVars = useCustomColumnWidthVars(table, columnSizing)\n\n const attribByField = useMemo(() => {\n return attribFields.reduce((acc: Record<string, AttributeEnumItem[]>, attrib) => {\n if (attrib.data?.enum?.length) {\n acc[attrib.name] = attrib.data?.enum\n }\n return acc\n }, {})\n }, [attribFields])\n\n return (\n <ClipboardProvider\n entitiesMap={entitiesMap}\n columnEnums={{ ...options, ...attribByField }}\n columnReadOnly={readOnlyAttribs}\n >\n <Styled.TableWrapper {...props}>\n <Styled.TableContainer\n ref={tableContainerRef}\n style={{ height: '100%', padding: 0 }}\n onScroll={(e) => fetchMoreOnBottomReached(e.currentTarget)}\n {...pt?.container}\n className={clsx('table-container', pt?.container?.className)}\n >\n <table\n style={{\n display: 'grid',\n borderCollapse: 'collapse',\n userSelect: 'none',\n ...columnSizeVars,\n width: table.getTotalSize(),\n }}\n >\n <TableHead\n columnVirtualizer={columnVirtualizer}\n table={table}\n virtualPaddingLeft={virtualPaddingLeft}\n virtualPaddingRight={virtualPaddingRight}\n isLoading={isLoading}\n readOnlyColumns={readOnlyColumns}\n {...pt?.head}\n />\n <TableBody\n columnVirtualizer={columnVirtualizer}\n table={table}\n tableContainerRef={tableContainerRef}\n virtualPaddingLeft={virtualPaddingLeft}\n virtualPaddingRight={virtualPaddingRight}\n showHierarchy={showHierarchy}\n attribs={attribFields}\n onOpenNew={onOpenNew}\n />\n </table>\n </Styled.TableContainer>\n </Styled.TableWrapper>\n </ClipboardProvider>\n )\n}\n\ninterface TableHeadProps extends React.HTMLAttributes<HTMLTableSectionElement> {\n columnVirtualizer: Virtualizer<HTMLDivElement, HTMLTableCellElement>\n table: Table<TableRow>\n virtualPaddingLeft: number | undefined\n virtualPaddingRight: number | undefined\n isLoading: boolean\n readOnlyColumns?: string[]\n}\n\nconst TableHead = ({\n columnVirtualizer,\n table,\n virtualPaddingLeft,\n virtualPaddingRight,\n isLoading,\n readOnlyColumns,\n ...props\n}: TableHeadProps) => {\n return (\n <Styled.TableHeader {...props}>\n {table.getHeaderGroups().map((headerGroup) => (\n <TableHeadRow\n key={headerGroup.id}\n columnVirtualizer={columnVirtualizer}\n headerGroup={headerGroup}\n virtualPaddingLeft={virtualPaddingLeft}\n virtualPaddingRight={virtualPaddingRight}\n isLoading={isLoading}\n readOnlyColumns={readOnlyColumns}\n />\n ))}\n </Styled.TableHeader>\n )\n}\n\ninterface TableHeadRowProps {\n columnVirtualizer: Virtualizer<HTMLDivElement, HTMLTableCellElement>\n headerGroup: HeaderGroup<TableRow>\n virtualPaddingLeft: number | undefined\n virtualPaddingRight: number | undefined\n isLoading: boolean\n readOnlyColumns?: string[]\n}\n\nconst TableHeadRow = ({\n columnVirtualizer,\n headerGroup,\n virtualPaddingLeft,\n virtualPaddingRight,\n isLoading,\n readOnlyColumns,\n}: TableHeadRowProps) => {\n const virtualColumns = columnVirtualizer.getVirtualItems()\n return (\n <Styled.ColumnHeader key={headerGroup.id} style={{ display: 'flex' }}>\n {virtualPaddingLeft ? (\n //fake empty column to the left for virtualization scroll padding\n <th style={{ display: 'flex', width: virtualPaddingLeft }} />\n ) : null}\n {virtualColumns.map((virtualColumn) => {\n const header = headerGroup.headers[virtualColumn.index]\n\n return (\n <TableHeadCell\n key={header.id}\n header={header}\n isLoading={isLoading}\n isReadOnly={readOnlyColumns?.includes(header.id)}\n canSort={header.column.getCanSort()}\n canFilter={header.column.getCanFilter()}\n canHide={header.column.getCanHide()}\n canPin={header.column.getCanPin()}\n canResize={header.column.getCanResize()}\n />\n )\n })}\n {virtualPaddingRight ? (\n //fake empty column to the right for virtualization scroll padding\n <th style={{ display: 'flex', width: virtualPaddingRight }} />\n ) : null}\n </Styled.ColumnHeader>\n )\n}\n\ninterface TableHeadCellProps {\n header: Header<TableRow, unknown>\n isLoading: boolean\n canSort?: boolean\n canFilter?: boolean\n canHide?: boolean\n canPin?: boolean\n canResize?: boolean\n isReadOnly?: boolean\n}\n\nconst TableHeadCell = ({\n header,\n isLoading,\n canFilter,\n canHide,\n canSort,\n canPin,\n canResize,\n isReadOnly,\n}: TableHeadCellProps) => {\n const { column } = header\n\n return (\n <Styled.HeaderCell\n className={clsx(header.id, 'shimmer-dark', {\n loading: isLoading,\n 'last-pinned-left': column.getIsPinned() === 'left' && column.getIsLastColumn('left'),\n })}\n key={header.id}\n style={{\n ...getCommonPinningStyles(column),\n width: `calc(var(--header-${header?.id}-size) * 1px)`,\n }}\n >\n {header.isPlaceholder ? null : (\n <Styled.TableCellContent className={clsx('bold')}>\n {flexRender(column.columnDef.header, header.getContext())}\n {isReadOnly && (\n <Icon icon=\"lock\" data-tooltip={'You only have permission to read this column.'} />\n )}\n\n <Styled.HeaderButtons className=\"actions\">\n {/* COLUMN HIDING */}\n {canHide && (\n <HeaderActionButton\n icon=\"visibility_off\"\n selected={!column.getIsVisible()}\n onClick={column.getToggleVisibilityHandler()}\n />\n )}\n {/* COLUMN PINNING */}\n {canPin && (\n <HeaderActionButton\n icon=\"push_pin\"\n selected={header.column.getIsPinned() === 'left'}\n onClick={() => {\n if (header.column.getIsPinned() === 'left') {\n header.column.pin(false)\n } else {\n header.column.pin('left')\n }\n }}\n />\n )}\n\n {/* COLUMN SORTING */}\n {canSort && (\n <HeaderActionButton\n icon={'sort'}\n style={{\n transform: (column.getIsSorted() as string) === 'asc' ? 'scaleY(-1)' : undefined,\n }}\n onClick={column.getToggleSortingHandler()}\n selected={!!column.getIsSorted()}\n />\n )}\n </Styled.HeaderButtons>\n {canResize && (\n <Styled.ResizedHandler\n {...{\n onDoubleClick: () => column.resetSize(),\n onMouseDown: header.getResizeHandler(),\n onTouchStart: header.getResizeHandler(),\n className: clsx('resize-handle', {\n resizing: column.getIsResizing(),\n }),\n }}\n />\n )}\n </Styled.TableCellContent>\n )}\n </Styled.HeaderCell>\n )\n}\n\ninterface TableBodyProps {\n columnVirtualizer: Virtualizer<HTMLDivElement, HTMLTableCellElement>\n table: Table<TableRow>\n tableContainerRef: React.RefObject<HTMLDivElement>\n showHierarchy: boolean\n virtualPaddingLeft: number | undefined\n virtualPaddingRight: number | undefined\n attribs: ProjectTableAttribute[]\n onOpenNew?: (type: 'folder' | 'task') => void\n}\n\nconst TableBody = ({\n columnVirtualizer,\n table,\n tableContainerRef,\n showHierarchy,\n virtualPaddingLeft,\n virtualPaddingRight,\n attribs,\n onOpenNew,\n}: TableBodyProps) => {\n const { handleTableBodyContextMenu } = useCellContextMenu({ attribs, onOpenNew })\n\n const { handlePreFetchTasks } = usePrefetchFolderTasks()\n\n const { rows } = table.getRowModel()\n\n const rowVirtualizer = useVirtualizer<HTMLDivElement, HTMLTableRowElement>({\n count: rows.length,\n estimateSize: () => (showHierarchy ? 36 : 40), //estimate row height for accurate scrollbar dragging\n getScrollElement: () => tableContainerRef.current,\n //measure dynamic row height, except in firefox because it measures table border height incorrectly\n measureElement:\n typeof window !== 'undefined' && navigator.userAgent.indexOf('Firefox') === -1\n ? (element) => element?.getBoundingClientRect().height\n : undefined,\n overscan: 5,\n })\n\n const virtualRows = rowVirtualizer.getVirtualItems()\n\n useKeyboardNavigation()\n\n return virtualRows.length ? (\n <tbody\n style={{\n height: `${rowVirtualizer.getTotalSize()}px`,\n position: 'relative',\n display: 'grid',\n }}\n onContextMenu={handleTableBodyContextMenu}\n onMouseOver={(e) => {\n handlePreFetchTasks(e)\n }}\n >\n {virtualRows.map((virtualRow) => {\n const row = rows[virtualRow.index] as Row<TableRow>\n return (\n <TableBodyRow\n key={row.id}\n columnVirtualizer={columnVirtualizer}\n row={row}\n rowVirtualizer={rowVirtualizer}\n virtualPaddingLeft={virtualPaddingLeft}\n virtualPaddingRight={virtualPaddingRight}\n virtualRow={virtualRow}\n showHierarchy={showHierarchy}\n />\n )\n })}\n </tbody>\n ) : (\n tableContainerRef.current &&\n createPortal(<EmptyPlaceholder message=\"No items found\" />, tableContainerRef.current)\n )\n}\n\ninterface TableBodyRowProps {\n columnVirtualizer: Virtualizer<HTMLDivElement, HTMLTableCellElement>\n row: Row<TableRow>\n rowVirtualizer: Virtualizer<HTMLDivElement, HTMLTableRowElement>\n virtualPaddingLeft: number | undefined\n virtualPaddingRight: number | undefined\n virtualRow: VirtualItem\n showHierarchy: boolean\n}\n\nconst TableBodyRow = ({\n columnVirtualizer,\n row,\n rowVirtualizer,\n virtualPaddingLeft,\n virtualPaddingRight,\n virtualRow,\n showHierarchy,\n}: TableBodyRowProps) => {\n // We should do this so that we don't re-render every time anything in projectTableContext changes\n const visibleCells = row.getVisibleCells()\n const virtualColumns = columnVirtualizer.getVirtualItems()\n\n return (\n <Styled.TR\n data-index={virtualRow.index} //needed for dynamic row height measurement\n ref={(node) => rowVirtualizer.measureElement(node)} //measure dynamic row height\n key={row.id}\n style={{\n transform: `translateY(${virtualRow.start}px)`, //this should always be a `style` as it changes on scroll\n }}\n >\n {virtualPaddingLeft ? (\n //fake empty column to the left for virtualization scroll padding\n <td style={{ display: 'flex', width: virtualPaddingLeft }} />\n ) : null}\n {virtualColumns.map((vc) => {\n const cell = visibleCells[vc.index]\n const cellId = getCellId(row.id, cell.column.id)\n return (\n <TableCellMemo\n cell={cell}\n cellId={cellId}\n rowId={row.id}\n key={cell.id}\n showHierarchy={showHierarchy}\n />\n )\n })}\n\n {virtualPaddingRight ? (\n //fake empty column to the right for virtualization scroll padding\n <td style={{ display: 'flex', width: virtualPaddingRight }} />\n ) : null}\n </Styled.TR>\n )\n}\n\ninterface TableCellProps {\n cell: Cell<TableRow, unknown>\n cellId: string\n rowId: string\n className?: string\n showHierarchy: boolean\n}\n\nconst TableCell = ({ cell, rowId, cellId, className, showHierarchy, ...props }: TableCellProps) => {\n const {\n isCellSelected,\n isCellFocused,\n startSelection,\n extendSelection,\n endSelection,\n selectCell,\n getCellBorderClasses,\n } = useSelectionCellsContext()\n\n const { isRowSelected } = useSelectedRowsContext()\n\n const { isEditing } = useCellEditing()\n\n const borderClasses = getCellBorderClasses(cellId)\n\n const isPinned = cell.column.getIsPinned()\n const isLastLeftPinnedColumn = isPinned === 'left' && cell.column.getIsLastColumn('left')\n const isRowSelectionColumn = cell.column.id === ROW_SELECTION_COLUMN_ID\n\n return (\n <Styled.TableCell\n {...props}\n tabIndex={0}\n key={cell.id}\n $isLastPinned={isLastLeftPinnedColumn} // is this column the last pinned column? Custom styling for borders.\n className={clsx(\n cell.column.id,\n {\n selected: isCellSelected(cellId),\n focused: isCellFocused(cellId),\n editing: isEditing(cellId),\n 'last-pinned-left': isLastLeftPinnedColumn,\n 'selected-row': isRowSelected(rowId),\n task: cell.row.original.entityType === 'task',\n },\n className,\n ...borderClasses,\n )}\n style={{\n ...getCommonPinningStyles(cell.column),\n width: `calc(var(--col-${cell.column.id}-size) * 1px)`,\n height: showHierarchy ? 36 : 40,\n }}\n onMouseDown={(e) => {\n // Only process left clicks (button 0), ignore right clicks\n if (e.button !== 0) return\n\n // check we are not clicking on expander\n if ((e.target as HTMLElement).closest('.expander')) return\n const additive = e.metaKey || e.ctrlKey || isRowSelectionColumn\n if (e.shiftKey) {\n // Shift+click extends selection from anchor cell\n selectCell(cellId, additive, true) // true for range selection\n } else {\n // Normal click starts a new selection\n startSelection(cellId, additive)\n }\n }}\n onMouseOver={(e) => {\n if (e.buttons === 1) {\n // Left button is pressed during mouse move - drag selection\n extendSelection(cellId, isRowSelectionColumn)\n }\n }}\n onMouseUp={() => {\n endSelection(cellId)\n }}\n onDoubleClick={(e) => {\n if (cell.column.id === 'name') {\n // select the row by selecting the row-selection cell\n const rowSelectionCellId = getCellId(cell.row.id, ROW_SELECTION_COLUMN_ID)\n if (!isCellSelected(rowSelectionCellId)) {\n const additive = e.metaKey || e.ctrlKey\n selectCell(rowSelectionCellId, additive, false)\n }\n }\n }}\n onContextMenu={(e) => {\n e.preventDefault()\n // if the cell is not selected, select it and deselect all others\n if (!isCellSelected(cellId)) {\n selectCell(cellId, false, false)\n }\n }}\n >\n {flexRender(cell.column.columnDef.cell, cell.getContext())}\n </Styled.TableCell>\n )\n}\n\nconst TableCellMemo = memo(TableCell)\n"],"names":["_a","loadingAttrib","loadingRows","jsx","Styled.TableWrapper","Styled.TableContainer","jsxs","Styled.TableHeader","Styled.ColumnHeader","Styled.HeaderCell","Styled.TableCellContent","Styled.HeaderButtons","Styled.ResizedHandler","Styled.TR","Styled.TableCell"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ProjectTreeTable.es.js","sources":["../../../../../src/containers/ProjectTreeTable/ProjectTreeTable.tsx"],"sourcesContent":["import { useMemo, useRef, useEffect, memo, CSSProperties, useState, useCallback } from 'react' // Added useCallback\nimport { useVirtualizer, VirtualItem, Virtualizer } from '@tanstack/react-virtual'\n// TanStack Table imports\nimport {\n useReactTable,\n getCoreRowModel,\n getFilteredRowModel,\n getExpandedRowModel,\n filterFns,\n flexRender,\n Row,\n getSortedRowModel,\n Cell,\n Column,\n Table,\n Header,\n HeaderGroup,\n RowData,\n} from '@tanstack/react-table'\n\n// Utility imports\nimport clsx from 'clsx'\n\n// Type imports\nimport type { TableRow } from './types/table'\n\n// Component imports\nimport buildTreeTableColumns, {\n DefaultColumns,\n TreeTableExtraColumn,\n} from './buildTreeTableColumns'\nimport * as Styled from './ProjectTreeTable.styled'\nimport HeaderActionButton from './components/HeaderActionButton'\nimport RowDragHandleCellContent from './components/RowDragHandleCellContent' // Added import\nimport EmptyPlaceholder from '../../components/EmptyPlaceholder'\n\n// Context imports\nimport { useCellEditing } from './context/CellEditingContext'\nimport { ROW_SELECTION_COLUMN_ID, useSelectionCellsContext } from './context/SelectionCellsContext'\nimport { ClipboardProvider } from './context/ClipboardContext'\nimport { useSelectedRowsContext } from './context/SelectedRowsContext'\nimport { useColumnSettingsContext } from './context/ColumnSettingsContext'\n\n// Hook imports\nimport useCustomColumnWidthVars from './hooks/useCustomColumnWidthVars'\nimport usePrefetchFolderTasks from './hooks/usePrefetchFolderTasks'\nimport useCellContextMenu from './hooks/useCellContextMenu'\nimport useColumnVirtualization from './hooks/useColumnVirtualization'\nimport useKeyboardNavigation from './hooks/useKeyboardNavigation'\n\n// Utility function imports\nimport { getCellId } from './utils/cellUtils'\nimport { generateLoadingRows, generateDummyAttributes } from './utils/loadingUtils'\nimport { createPortal } from 'react-dom'\nimport { Icon } from '@ynput/ayon-react-components'\nimport { AttributeEnumItem, ProjectTableAttribute, BuiltInFieldOptions } from './types'\nimport { ToggleExpandAll, useProjectTableContext } from './context/ProjectTableContext'\nimport { getReadOnlyLists, getTableFieldOptions } from './utils'\nimport { UpdateTableEntities } from './hooks/useUpdateTableData'\n\n// dnd-kit imports\nimport {\n DragOverlay,\n type UniqueIdentifier,\n // Removed: DndContext, KeyboardSensor, MouseSensor, TouchSensor, closestCenter, DragEndEvent, DragStartEvent, Active, Over, useSensor, useSensors\n} from '@dnd-kit/core'\n// import { restrictToVerticalAxis } from '@dnd-kit/modifiers'\nimport { SortableContext, verticalListSortingStrategy, useSortable } from '@dnd-kit/sortable'\nimport { CSS } from '@dnd-kit/utilities'\n\ndeclare module '@tanstack/react-table' {\n interface TableMeta<TData extends RowData> {\n options?: BuiltInFieldOptions\n readOnly?: ProjectTreeTableProps['readOnly']\n projectName?: string\n updateEntities?: UpdateTableEntities\n toggleExpandAll?: ToggleExpandAll\n }\n}\n\n//These are the important styles to make sticky column pinning work!\n//Apply styles like this using your CSS strategy of choice with this kind of logic to head cells, data cells, footer cells, etc.\n//View the index.css file for more needed styles such as border-collapse: separate\nconst getCommonPinningStyles = (\n column: Column<TableRow, unknown>,\n isSortable?: boolean,\n): CSSProperties => {\n const isPinned = column.getIsPinned()\n const offset =\n column.id !== ROW_SELECTION_COLUMN_ID && column.id !== DRAG_HANDLE_COLUMN_ID && isSortable\n ? -30\n : 0\n\n return {\n left: isPinned === 'left' ? `${column.getStart('left') + offset}px` : undefined, // Removed offset\n right: isPinned === 'right' ? `${column.getAfter('right')}px` : undefined,\n position: isPinned ? 'sticky' : 'relative',\n width: column.getSize(),\n zIndex: isPinned ? 100 : 0,\n }\n}\n\nexport const DRAG_HANDLE_COLUMN_ID = 'drag-handle'\n\nexport interface ProjectTreeTableProps extends React.HTMLAttributes<HTMLDivElement> {\n scope: string\n sliceId: string\n fetchMoreOnBottomReached: (element: HTMLDivElement | null) => void\n onOpenNew?: (type: 'folder' | 'task') => void\n readOnly?: (DefaultColumns | string)[]\n excludedColumns?: (DefaultColumns | string)[]\n extraColumns?: TreeTableExtraColumn[]\n isLoading?: boolean\n clientSorting?: boolean\n sortableRows?: boolean\n onRowReorder?: (active: UniqueIdentifier, over: UniqueIdentifier | null) => void // Adjusted type for active/over if needed, or keep as Active, Over\n dndActiveId?: UniqueIdentifier | null // Added prop\n pt?: {\n container?: React.HTMLAttributes<HTMLDivElement>\n head?: Partial<TableHeadProps>\n }\n}\n\nexport const ProjectTreeTable = ({\n scope,\n sliceId,\n fetchMoreOnBottomReached,\n onOpenNew,\n readOnly,\n excludedColumns,\n extraColumns,\n isLoading: isLoadingProp,\n clientSorting = false,\n sortableRows = false,\n onRowReorder,\n dndActiveId, // Destructure new prop\n pt,\n ...props\n}: ProjectTreeTableProps) => {\n const {\n columnVisibility,\n columnVisibilityUpdater,\n columnPinning,\n columnPinningUpdater,\n columnOrder,\n columnOrderUpdater,\n columnSizing,\n columnSizingUpdater,\n } = useColumnSettingsContext()\n\n const {\n projectInfo,\n tableData,\n attribFields,\n entitiesMap,\n users,\n isLoading: isLoadingData,\n isInitialized,\n expanded,\n projectName,\n updateExpanded,\n toggleExpandAll,\n sorting,\n updateSorting,\n showHierarchy,\n } = useProjectTableContext()\n\n const isLoading = isLoadingProp || isLoadingData\n\n const { statuses = [], folderTypes = [], taskTypes = [], tags = [] } = projectInfo || {}\n const options: BuiltInFieldOptions = useMemo(\n () =>\n getTableFieldOptions({\n users,\n statuses,\n folderTypes,\n taskTypes,\n tags,\n }),\n [users, statuses, folderTypes, taskTypes],\n )\n\n //The virtualizer needs to know the scrollable container element\n const tableContainerRef = useRef<HTMLDivElement>(null)\n\n // Selection context\n const { registerGrid } = useSelectionCellsContext()\n\n //a check on mount and after a fetch to see if the table is already scrolled to the bottom and immediately needs to fetch more data\n useEffect(() => {\n fetchMoreOnBottomReached(tableContainerRef.current)\n }, [fetchMoreOnBottomReached])\n\n // generate loading attrib and rows\n const { loadingAttrib, loadingRows } = useMemo(() => {\n // count the number of children in tbody\n const tableRowsCount = tableContainerRef.current?.querySelectorAll('tbody tr').length || 0\n const loadingAttrib = generateDummyAttributes()\n const loadingRows = generateLoadingRows(\n attribFields,\n showHierarchy && tableData.length > 0 ? Math.min(tableRowsCount, 50) : 50,\n )\n return { loadingAttrib, loadingRows }\n }, [attribFields, tableData, showHierarchy, tableContainerRef.current])\n\n const showLoadingRows = !isInitialized || isLoading\n\n // Format readonly columns and attributes\n const { readOnlyColumns, readOnlyAttribs } = useMemo(\n () => getReadOnlyLists(attribFields, readOnly),\n [attribFields, readOnly],\n )\n\n const { updateEntities } = useCellEditing()\n\n const columnAttribs = useMemo(\n () => (isInitialized ? attribFields : loadingAttrib),\n [attribFields, loadingAttrib, isInitialized],\n )\n const columns = useMemo(() => {\n const baseColumns = buildTreeTableColumns({\n attribs: columnAttribs,\n showHierarchy,\n options,\n extraColumns,\n excluded: excludedColumns,\n })\n\n if (sortableRows) {\n return [\n {\n id: DRAG_HANDLE_COLUMN_ID,\n header: () => null,\n cell: () => null, // Content rendered by TableBodyRow\n size: 24,\n minSize: 24,\n maxSize: 24,\n enableResizing: false,\n enableSorting: false,\n enableHiding: false,\n enablePinning: false, // Programmatically pinned\n },\n ...baseColumns,\n ]\n }\n return baseColumns\n }, [columnAttribs, showHierarchy, options, extraColumns, excludedColumns, sortableRows])\n\n const table = useReactTable({\n data: showLoadingRows ? loadingRows : tableData,\n columns,\n defaultColumn: {\n minSize: 50,\n size: 150,\n },\n enableRowSelection: true, //enable row selection for all rows\n getRowId: (row) => row.id,\n enableSubRowSelection: false, //disable sub row selection\n getSubRows: (row) => row.subRows,\n getRowCanExpand: () => true,\n getCoreRowModel: getCoreRowModel(),\n getFilteredRowModel: getFilteredRowModel(),\n getExpandedRowModel: getExpandedRowModel(),\n filterFromLeafRows: true,\n // EXPANDABLE\n onExpandedChange: updateExpanded,\n // SORTING\n getSortedRowModel: clientSorting ? getSortedRowModel() : undefined,\n onSortingChange: updateSorting,\n columnResizeMode: 'onChange',\n onColumnPinningChange: columnPinningUpdater,\n onColumnSizingChange: columnSizingUpdater,\n onColumnVisibilityChange: columnVisibilityUpdater,\n onColumnOrderChange: columnOrderUpdater,\n // @ts-ignore\n filterFns,\n state: {\n expanded,\n sorting,\n columnPinning: (() => {\n const leftPins: string[] = []\n if (sortableRows) {\n leftPins.push(DRAG_HANDLE_COLUMN_ID)\n }\n leftPins.push(ROW_SELECTION_COLUMN_ID)\n\n // Add other unique pins from context, ensuring they are not the programmatic ones\n const contextLeftPins = (columnPinning.left || []).filter(\n (id) => id !== DRAG_HANDLE_COLUMN_ID && id !== ROW_SELECTION_COLUMN_ID,\n )\n leftPins.push(...contextLeftPins)\n // Remove duplicates just in case, though filter should handle it\n const uniqueLeftPins = [...new Set(leftPins)]\n\n return {\n left: uniqueLeftPins,\n right: columnPinning.right,\n }\n })(),\n columnSizing,\n columnVisibility,\n columnOrder,\n },\n enableSorting: true,\n meta: {\n projectName,\n options,\n readOnly: readOnlyColumns,\n updateEntities,\n toggleExpandAll,\n },\n })\n\n const { rows } = table.getRowModel()\n\n // Register grid structure with selection context when rows or columns change\n useEffect(() => {\n const rowIds = rows.map((row) => row.id)\n const colIds = table.getAllLeafColumns().map((col) => col.id)\n const colIdsSortedByPinning = [...colIds].sort((a, b) => {\n if (ROW_SELECTION_COLUMN_ID === b) return 1\n const colA = columnPinning.left?.includes(a) ? 0 : 1\n const colB = columnPinning.left?.includes(b) ? 0 : 1\n return colA - colB\n })\n\n registerGrid(rowIds, colIdsSortedByPinning)\n }, [rows, table.getAllLeafColumns(), columnPinning, ROW_SELECTION_COLUMN_ID, registerGrid])\n\n const visibleColumns = table.getVisibleLeafColumns()\n\n // Use the column virtualization hook\n const { columnVirtualizer, virtualPaddingLeft, virtualPaddingRight } = useColumnVirtualization({\n visibleColumns,\n tableContainerRef,\n columnPinning,\n })\n\n const columnSizeVars = useCustomColumnWidthVars(table, columnSizing)\n\n const attribByField = useMemo(() => {\n return attribFields.reduce((acc: Record<string, AttributeEnumItem[]>, attrib) => {\n if (attrib.data?.enum?.length) {\n acc[attrib.name] = attrib.data?.enum\n }\n return acc\n }, {})\n }, [attribFields])\n\n const rowOrderIds = useMemo(() => tableData.map((row) => row.id), [tableData])\n const draggedRowData = useMemo(() => {\n if (!dndActiveId || !sortableRows) return null // Use dndActiveId\n return tableData.find((r) => r.id === dndActiveId) // Use dndActiveId\n }, [dndActiveId, tableData, sortableRows])\n\n const tableUiContent = (\n <ClipboardProvider\n entitiesMap={entitiesMap}\n columnEnums={{ ...options, ...attribByField }}\n columnReadOnly={readOnlyAttribs}\n >\n <Styled.TableWrapper {...props}>\n <Styled.TableContainer\n ref={tableContainerRef}\n style={{ height: '100%', padding: 0 }}\n onScroll={(e) => fetchMoreOnBottomReached(e.currentTarget)}\n {...pt?.container}\n className={clsx('table-container', pt?.container?.className)}\n >\n <table\n style={{\n display: 'grid',\n borderCollapse: 'collapse',\n userSelect: 'none',\n ...columnSizeVars,\n width: table.getTotalSize(),\n }}\n >\n <TableHead\n columnVirtualizer={columnVirtualizer}\n table={table}\n virtualPaddingLeft={virtualPaddingLeft}\n virtualPaddingRight={virtualPaddingRight}\n isLoading={isLoading}\n readOnlyColumns={readOnlyColumns}\n sortableRows={sortableRows}\n {...pt?.head}\n />\n <TableBody\n columnVirtualizer={columnVirtualizer}\n table={table}\n tableContainerRef={tableContainerRef}\n virtualPaddingLeft={virtualPaddingLeft}\n virtualPaddingRight={virtualPaddingRight}\n showHierarchy={showHierarchy}\n attribs={attribFields}\n onOpenNew={onOpenNew}\n rowOrderIds={rowOrderIds}\n sortableRows={sortableRows}\n />\n </table>\n </Styled.TableContainer>\n </Styled.TableWrapper>\n </ClipboardProvider>\n )\n\n // Render DragOverlay if sortableRows and dndActiveId is present\n const dragOverlayPortal =\n sortableRows &&\n dndActiveId &&\n createPortal(\n <DragOverlay dropAnimation={null}>\n {draggedRowData\n ? (() => {\n const overlayRowInstance = table.getRowModel().rows.find((r) => r.id === dndActiveId)\n if (!overlayRowInstance) return null\n\n const tableWidth = table.getTotalSize()\n\n return (\n <table\n style={{\n width: tableWidth,\n borderCollapse: 'collapse',\n backgroundColor: 'var(--md-sys-color-surface-container-high)',\n boxShadow: '0 0 10px rgba(0,0,0,0.2)',\n ...columnSizeVars,\n }}\n >\n <tbody>\n <Styled.TR style={{ display: 'flex', userSelect: 'none' }}>\n {virtualPaddingLeft ? (\n <td style={{ display: 'flex', width: virtualPaddingLeft }} />\n ) : null}\n {columnVirtualizer.getVirtualItems().map((vc) => {\n const cell = overlayRowInstance.getVisibleCells()[vc.index]\n if (!cell) return null\n\n const cellStyleBase: CSSProperties = {\n ...getCommonPinningStyles(cell.column, true),\n width: `calc(var(--col-${cell.column.id}-size) * 1px)`,\n display: 'flex',\n alignItems: 'center',\n height: 40,\n }\n\n if (cell.column.id === DRAG_HANDLE_COLUMN_ID) {\n return (\n <Styled.TableCell\n key={`overlay-drag-${cell.id}`}\n style={{ ...cellStyleBase, justifyContent: 'center' }}\n className={clsx(cell.column.id)}\n >\n <Icon icon=\"drag_handle\" /> {/* Static icon */}\n </Styled.TableCell>\n )\n }\n return (\n <TableCellMemo\n cell={cell}\n cellId={`overlay-${getCellId(overlayRowInstance.id, cell.column.id)}`}\n rowId={overlayRowInstance.id}\n key={`overlay-cell-${cell.id}`}\n showHierarchy={showHierarchy}\n />\n )\n })}\n {virtualPaddingRight ? (\n <td style={{ display: 'flex', width: virtualPaddingRight }} />\n ) : null}\n </Styled.TR>\n </tbody>\n </table>\n )\n })()\n : null}\n </DragOverlay>,\n document.body,\n )\n\n if (sortableRows) {\n return (\n <>\n {tableUiContent}\n {dragOverlayPortal}\n </>\n )\n } else {\n return tableUiContent\n }\n}\n\ninterface TableHeadProps extends React.HTMLAttributes<HTMLTableSectionElement> {\n columnVirtualizer: Virtualizer<HTMLDivElement, HTMLTableCellElement>\n table: Table<TableRow>\n virtualPaddingLeft: number | undefined\n virtualPaddingRight: number | undefined\n isLoading: boolean\n readOnlyColumns?: string[]\n sortableRows?: boolean\n}\n\nconst TableHead = ({\n columnVirtualizer,\n table,\n virtualPaddingLeft,\n virtualPaddingRight,\n isLoading,\n readOnlyColumns,\n sortableRows,\n ...props\n}: TableHeadProps) => {\n return (\n <Styled.TableHeader {...props}>\n {table.getHeaderGroups().map((headerGroup) => (\n <TableHeadRow\n key={headerGroup.id}\n columnVirtualizer={columnVirtualizer}\n headerGroup={headerGroup}\n virtualPaddingLeft={virtualPaddingLeft}\n virtualPaddingRight={virtualPaddingRight}\n isLoading={isLoading}\n readOnlyColumns={readOnlyColumns}\n sortableRows={sortableRows}\n />\n ))}\n </Styled.TableHeader>\n )\n}\n\ninterface TableHeadRowProps {\n columnVirtualizer: Virtualizer<HTMLDivElement, HTMLTableCellElement>\n headerGroup: HeaderGroup<TableRow>\n virtualPaddingLeft: number | undefined\n virtualPaddingRight: number | undefined\n isLoading: boolean\n readOnlyColumns?: string[]\n sortableRows?: boolean\n}\n\nconst TableHeadRow = ({\n columnVirtualizer,\n headerGroup,\n virtualPaddingLeft,\n virtualPaddingRight,\n isLoading,\n readOnlyColumns,\n sortableRows,\n}: TableHeadRowProps) => {\n const virtualColumns = columnVirtualizer.getVirtualItems()\n return (\n <Styled.ColumnHeader key={headerGroup.id} style={{ display: 'flex' }}>\n {virtualPaddingLeft ? (\n //fake empty column to the left for virtualization scroll padding\n <th style={{ display: 'flex', width: virtualPaddingLeft }} />\n ) : null}\n {virtualColumns.map((virtualColumn) => {\n const header = headerGroup.headers[virtualColumn.index]\n\n return (\n <TableHeadCell\n key={header.id}\n header={header}\n isLoading={isLoading}\n isReadOnly={readOnlyColumns?.includes(header.id)}\n canSort={header.column.getCanSort()}\n canFilter={header.column.getCanFilter()}\n canHide={header.column.getCanHide()}\n canPin={header.column.getCanPin()}\n canResize={header.column.getCanResize()}\n sortableRows={sortableRows}\n />\n )\n })}\n {virtualPaddingRight ? (\n //fake empty column to the right for virtualization scroll padding\n <th style={{ display: 'flex', width: virtualPaddingRight }} />\n ) : null}\n </Styled.ColumnHeader>\n )\n}\n\ninterface TableHeadCellProps {\n header: Header<TableRow, unknown>\n isLoading: boolean\n canSort?: boolean\n canFilter?: boolean\n canHide?: boolean\n canPin?: boolean\n canResize?: boolean\n isReadOnly?: boolean\n sortableRows?: boolean\n}\n\nconst TableHeadCell = ({\n header,\n isLoading,\n canFilter,\n canHide,\n canSort,\n canPin,\n canResize,\n isReadOnly,\n sortableRows,\n}: TableHeadCellProps) => {\n const { column } = header\n\n return (\n <Styled.HeaderCell\n className={clsx(header.id, 'shimmer-dark', {\n loading: isLoading,\n 'last-pinned-left': column.getIsPinned() === 'left' && column.getIsLastColumn('left'),\n })}\n key={header.id}\n style={{\n ...getCommonPinningStyles(column, sortableRows),\n width: `calc(var(--header-${header?.id}-size) * 1px)`,\n }}\n >\n {header.isPlaceholder ? null : (\n <Styled.TableCellContent className={clsx('bold')}>\n {flexRender(column.columnDef.header, header.getContext())}\n {isReadOnly && (\n <Icon icon=\"lock\" data-tooltip={'You only have permission to read this column.'} />\n )}\n\n <Styled.HeaderButtons className=\"actions\">\n {/* COLUMN HIDING */}\n {canHide && (\n <HeaderActionButton\n icon=\"visibility_off\"\n selected={!column.getIsVisible()}\n onClick={column.getToggleVisibilityHandler()}\n />\n )}\n {/* COLUMN PINNING */}\n {canPin && (\n <HeaderActionButton\n icon=\"push_pin\"\n selected={header.column.getIsPinned() === 'left'}\n onClick={() => {\n if (header.column.getIsPinned() === 'left') {\n header.column.pin(false)\n } else {\n header.column.pin('left')\n }\n }}\n />\n )}\n\n {/* COLUMN SORTING */}\n {canSort && (\n <HeaderActionButton\n icon={'sort'}\n style={{\n transform: (column.getIsSorted() as string) === 'asc' ? 'scaleY(-1)' : undefined,\n }}\n onClick={column.getToggleSortingHandler()}\n selected={!!column.getIsSorted()}\n />\n )}\n </Styled.HeaderButtons>\n {canResize && (\n <Styled.ResizedHandler\n {...{\n onDoubleClick: () => column.resetSize(),\n onMouseDown: header.getResizeHandler(),\n onTouchStart: header.getResizeHandler(),\n className: clsx('resize-handle', {\n resizing: column.getIsResizing(),\n }),\n }}\n />\n )}\n </Styled.TableCellContent>\n )}\n </Styled.HeaderCell>\n )\n}\n\ninterface TableBodyProps {\n columnVirtualizer: Virtualizer<HTMLDivElement, HTMLTableCellElement>\n table: Table<TableRow>\n tableContainerRef: React.RefObject<HTMLDivElement>\n showHierarchy: boolean\n virtualPaddingLeft: number | undefined\n virtualPaddingRight: number | undefined\n attribs: ProjectTableAttribute[]\n onOpenNew?: (type: 'folder' | 'task') => void\n rowOrderIds: UniqueIdentifier[]\n sortableRows: boolean\n}\n\nconst TableBody = ({\n columnVirtualizer,\n table,\n tableContainerRef,\n showHierarchy,\n virtualPaddingLeft,\n virtualPaddingRight,\n attribs,\n onOpenNew,\n rowOrderIds,\n sortableRows,\n}: TableBodyProps) => {\n const { handleTableBodyContextMenu } = useCellContextMenu({ attribs, onOpenNew })\n\n const { handlePreFetchTasks } = usePrefetchFolderTasks()\n\n const { rows } = table.getRowModel()\n\n const rowVirtualizer = useVirtualizer<HTMLDivElement, HTMLTableRowElement>({\n count: rows.length,\n estimateSize: () => 40, //estimate row height for accurate scrollbar dragging\n getScrollElement: () => tableContainerRef.current,\n //measure dynamic row height, except in firefox because it measures table border height incorrectly\n measureElement:\n typeof window !== 'undefined' && navigator.userAgent.indexOf('Firefox') === -1\n ? (element) => element?.getBoundingClientRect().height\n : undefined,\n overscan: 5,\n })\n\n const virtualRows = rowVirtualizer.getVirtualItems()\n\n // Memoize the measureElement callback\n const measureRowElement = useCallback(\n (node: HTMLTableRowElement | null) => {\n if (node) {\n rowVirtualizer.measureElement(node)\n }\n },\n [rowVirtualizer],\n )\n\n useKeyboardNavigation()\n\n const tbodyContent = (\n <tbody\n style={{\n height: `${rowVirtualizer.getTotalSize()}px`,\n position: 'relative',\n display: 'grid',\n }}\n onContextMenu={handleTableBodyContextMenu}\n onMouseOver={(e) => {\n handlePreFetchTasks(e)\n }}\n >\n {virtualRows.map((virtualRow) => {\n const row = rows[virtualRow.index] as Row<TableRow>\n // Add a check for row existence to prevent potential errors if data is out of sync\n if (!row) {\n console.warn('Virtualized row data not found for index:', virtualRow.index)\n return null\n }\n return (\n <TableBodyRow\n key={row.id} // dnd-kit needs this key to be stable and match the id in useSortable\n row={row}\n showHierarchy={showHierarchy}\n visibleCells={row.getVisibleCells()}\n virtualColumns={columnVirtualizer.getVirtualItems()}\n paddingLeft={virtualPaddingLeft}\n paddingRight={virtualPaddingRight}\n rowRef={measureRowElement}\n dataIndex={virtualRow.index}\n offsetTop={virtualRow.start}\n sortableRows={sortableRows}\n />\n )\n })}\n </tbody>\n )\n\n if (!virtualRows.length) {\n return (\n tableContainerRef.current &&\n createPortal(<EmptyPlaceholder message=\"No items found\" />, tableContainerRef.current)\n )\n }\n\n if (sortableRows) {\n return (\n <SortableContext items={rowOrderIds} strategy={verticalListSortingStrategy}>\n {tbodyContent}\n </SortableContext>\n )\n } else {\n return tbodyContent\n }\n}\n\ninterface TableBodyRowProps {\n row: Row<TableRow>\n showHierarchy: boolean\n visibleCells: Cell<TableRow, unknown>[]\n virtualColumns: VirtualItem[]\n paddingLeft: number | undefined\n paddingRight: number | undefined\n rowRef: (node: HTMLTableRowElement | null) => void\n dataIndex: number\n offsetTop: number\n sortableRows: boolean\n}\n\nconst TableBodyRow = ({\n row,\n showHierarchy,\n visibleCells,\n virtualColumns,\n paddingLeft,\n paddingRight,\n rowRef,\n dataIndex,\n offsetTop,\n sortableRows,\n}: TableBodyRowProps) => {\n const sortable = sortableRows ? useSortable({ id: row.id }) : null\n\n const combinedRef = useCallback(\n (node: HTMLTableRowElement | null) => {\n if (sortable) {\n sortable.setNodeRef(node)\n }\n // rowRef for virtualizer measurement\n // only measure if not actively being transformed by dnd-kit\n if (!(sortable && sortable.isDragging)) {\n rowRef(node)\n }\n },\n [sortable, rowRef],\n )\n\n // Attempt to combine dnd-kit transform with virtualizer's offsetTop\n const style: CSSProperties = {\n position: 'absolute', // Use absolute positioning for virtualized items\n top: offsetTop, // Position based on virtualizer's calculation (virtualRow.start)\n left: 0, // Span full width of the relative parent (tbody)\n right: 0, // Span full width\n height: 40, // Explicit height can be beneficial for absolute positioning\n zIndex: sortable && sortable.isDragging ? 0 : 1, // Ensure dragged item is above others\n display: 'flex', // Styled.TR is display:flex\n transform:\n sortable && sortable.transform ? CSS.Transform.toString(sortable.transform) : undefined, // Apply dnd-kit's transform for drag effect\n transition: sortable && sortable.transition ? sortable.transition : undefined,\n visibility: sortable && sortable.isDragging ? 'hidden' : 'visible', // Hide the row being dragged\n }\n\n return (\n <Styled.TR\n ref={combinedRef}\n data-index={dataIndex} //needed for dynamic row height measurement\n style={style}\n >\n {paddingLeft ? (\n //fake empty column to the left for virtualization scroll padding\n <td style={{ display: 'flex', width: paddingLeft }} />\n ) : null}\n {virtualColumns.map((vc) => {\n const cell = visibleCells[vc.index]\n if (!cell) return null // Should not happen in normal circumstances\n\n const cellId = getCellId(row.id, cell.column.id)\n\n if (cell.column.id === DRAG_HANDLE_COLUMN_ID) {\n return (\n <Styled.TableCell\n key={cell.id}\n style={{\n ...getCommonPinningStyles(cell.column, sortableRows),\n width: `calc(var(--col-${cell.column.id}-size) * 1px)`,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n height: 40,\n }}\n className={clsx(cell.column.id, {\n 'last-pinned-left':\n cell.column.getIsPinned() === 'left' && cell.column.getIsLastColumn('left'),\n })}\n onMouseDown={(e) => e.stopPropagation()} // Prevent selection interference\n onMouseOver={(e) => e.stopPropagation()}\n // Removed onMouseUp stopPropagation to allow dnd-kit to handle it\n onDoubleClick={(e) => e.stopPropagation()}\n onContextMenu={(e) => {\n e.preventDefault()\n e.stopPropagation()\n }}\n >\n <RowDragHandleCellContent\n attributes={sortable?.attributes}\n listeners={sortable?.listeners}\n />\n </Styled.TableCell>\n )\n }\n return (\n <TableCellMemo\n cell={cell}\n cellId={cellId}\n rowId={row.id}\n key={cell.id}\n showHierarchy={showHierarchy}\n sortableRows={sortableRows}\n />\n )\n })}\n\n {paddingRight ? (\n //fake empty column to the right for virtualization scroll padding\n <td style={{ display: 'flex', width: paddingRight }} />\n ) : null}\n </Styled.TR>\n )\n}\n\ninterface TableCellProps {\n cell: Cell<TableRow, unknown>\n cellId: string\n rowId: string\n className?: string\n showHierarchy: boolean\n sortableRows?: boolean\n}\n\nconst TableCell = ({\n cell,\n rowId,\n cellId,\n className,\n showHierarchy,\n sortableRows,\n ...props\n}: TableCellProps) => {\n const {\n isCellSelected,\n isCellFocused,\n startSelection,\n extendSelection,\n endSelection,\n selectCell,\n getCellBorderClasses,\n } = useSelectionCellsContext()\n\n const { isRowSelected } = useSelectedRowsContext()\n\n const { isEditing } = useCellEditing()\n\n const borderClasses = getCellBorderClasses(cellId)\n\n const isPinned = cell.column.getIsPinned()\n const isLastLeftPinnedColumn = isPinned === 'left' && cell.column.getIsLastColumn('left')\n const isRowSelectionColumn = cell.column.id === ROW_SELECTION_COLUMN_ID\n\n return (\n <Styled.TableCell\n {...props}\n tabIndex={0}\n key={cell.id}\n $isLastPinned={isLastLeftPinnedColumn} // is this column the last pinned column? Custom styling for borders.\n className={clsx(\n cell.column.id,\n {\n selected: isCellSelected(cellId),\n focused: isCellFocused(cellId),\n editing: isEditing(cellId),\n 'last-pinned-left': isLastLeftPinnedColumn,\n 'selected-row': isRowSelected(rowId),\n task: cell.row.original.entityType === 'task',\n },\n className,\n ...borderClasses,\n )}\n style={{\n ...getCommonPinningStyles(cell.column, sortableRows),\n width: `calc(var(--col-${cell.column.id}-size) * 1px)`,\n height: 40,\n }}\n onMouseDown={(e) => {\n // Only process left clicks (button 0), ignore right clicks\n if (e.button !== 0) return\n\n // check we are not clicking on expander\n if ((e.target as HTMLElement).closest('.expander')) return\n const additive = e.metaKey || e.ctrlKey || isRowSelectionColumn\n if (e.shiftKey) {\n // Shift+click extends selection from anchor cell\n selectCell(cellId, additive, true) // true for range selection\n } else {\n // Normal click starts a new selection\n startSelection(cellId, additive)\n }\n }}\n onMouseOver={(e) => {\n if (e.buttons === 1) {\n // Left button is pressed during mouse move - drag selection\n extendSelection(cellId, isRowSelectionColumn)\n }\n }}\n onMouseUp={() => {\n endSelection(cellId)\n }}\n onDoubleClick={(e) => {\n if (cell.column.id === 'name') {\n // select the row by selecting the row-selection cell\n const rowSelectionCellId = getCellId(cell.row.id, ROW_SELECTION_COLUMN_ID)\n if (!isCellSelected(rowSelectionCellId)) {\n const additive = e.metaKey || e.ctrlKey\n selectCell(rowSelectionCellId, additive, false)\n }\n }\n }}\n onContextMenu={(e) => {\n e.preventDefault()\n // if the cell is not selected, select it and deselect all others\n if (!isCellSelected(cellId)) {\n selectCell(cellId, false, false)\n }\n }}\n >\n {flexRender(cell.column.columnDef.cell, cell.getContext())}\n </Styled.TableCell>\n )\n}\n\nconst TableCellMemo = memo(TableCell)\n"],"names":["_a","loadingAttrib","loadingRows","jsx","Styled.TableWrapper","Styled.TableContainer","jsxs","Styled.TR","Styled.TableCell","Fragment","Styled.TableHeader","Styled.ColumnHeader","Styled.HeaderCell","Styled.TableCellContent","Styled.HeaderButtons","Styled.ResizedHandler"],"mappings":"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"}
|
|
@@ -10,12 +10,28 @@ const getDefaultShadow = (isLastPinned) => {
|
|
|
10
10
|
const defaultShadowLastPinned = `inset -2px -1px 0 0 var(--md-sys-color-surface-container), inset 1px 0 0 0 var(--md-sys-color-surface-container)`;
|
|
11
11
|
return isLastPinned ? defaultShadowLastPinned : defaultShadow;
|
|
12
12
|
};
|
|
13
|
+
const DRAG_HANDLE_CLASS = "drag-handle";
|
|
13
14
|
const TR = styled.tr`
|
|
14
15
|
display: flex;
|
|
15
16
|
position: absolute;
|
|
16
17
|
width: 100%;
|
|
18
|
+
|
|
19
|
+
&:hover {
|
|
20
|
+
// When the row (TR) is hovered...
|
|
21
|
+
// Target the button inside the drag handle cell to make it visible at 50% opacity.
|
|
22
|
+
// This uses a more specific selector by including 'td' to ensure it correctly targets the cell.
|
|
23
|
+
td.${DRAG_HANDLE_CLASS} button {
|
|
24
|
+
opacity: 0.5;
|
|
25
|
+
visibility: visible;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
// When the row (TR) is hovered AND the button inside drag handle cell is also hovered...
|
|
29
|
+
// Make the button 100% opacity. This selector is more specific and will override the above.
|
|
30
|
+
td.${DRAG_HANDLE_CLASS} button:hover {
|
|
31
|
+
opacity: 1;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
17
34
|
`;
|
|
18
|
-
const cellMinWidth = 50;
|
|
19
35
|
const TableCellContent = styled.div`
|
|
20
36
|
display: flex;
|
|
21
37
|
align-items: center;
|
|
@@ -27,7 +43,6 @@ const TableCellContent = styled.div`
|
|
|
27
43
|
user-select: none;
|
|
28
44
|
padding-right: 0;
|
|
29
45
|
|
|
30
|
-
min-width: ${cellMinWidth}px;
|
|
31
46
|
&.bold {
|
|
32
47
|
font-weight: 600;
|
|
33
48
|
}
|
|
@@ -74,7 +89,6 @@ const HeaderCell = styled.th`
|
|
|
74
89
|
display: flex;
|
|
75
90
|
align-items: center;
|
|
76
91
|
min-height: fit-content;
|
|
77
|
-
min-width: ${cellMinWidth}px;
|
|
78
92
|
|
|
79
93
|
&:hover {
|
|
80
94
|
.resize-handle {
|
|
@@ -118,9 +132,29 @@ const HeaderButtons = styled.div`
|
|
|
118
132
|
const TableCell = styled.td`
|
|
119
133
|
position: relative;
|
|
120
134
|
box-shadow: ${getDefaultShadow(false)};
|
|
121
|
-
min-width: ${cellMinWidth}px;
|
|
122
135
|
background-color: var(--md-sys-color-surface-container-low);
|
|
123
136
|
|
|
137
|
+
&.${DRAG_HANDLE_CLASS} {
|
|
138
|
+
// Styles for the button inside the drag handle cell
|
|
139
|
+
button {
|
|
140
|
+
opacity: 0; // Default: hidden
|
|
141
|
+
visibility: hidden;
|
|
142
|
+
transition: opacity 0.2s ease, visibility 0.2s ease;
|
|
143
|
+
// Base appearance styles (cursor, border, background, etc.)
|
|
144
|
+
// are primarily handled by inline styles in RowDragHandleCellContent.tsx.
|
|
145
|
+
// Add any necessary overrides or defaults here if needed.
|
|
146
|
+
// For example, ensuring the button itself doesn't interfere with cell styling:
|
|
147
|
+
background: transparent;
|
|
148
|
+
border: none;
|
|
149
|
+
padding: 0;
|
|
150
|
+
display: flex;
|
|
151
|
+
align-items: center;
|
|
152
|
+
justify-content: center;
|
|
153
|
+
width: 100%;
|
|
154
|
+
height: 100%;
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
|
|
124
158
|
&.task {
|
|
125
159
|
background-color: hsl(216 15% 11.5% / 1);
|
|
126
160
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProjectTreeTable.styled.cjs.js","sources":["../../../../../src/containers/ProjectTreeTable/ProjectTreeTable.styled.ts"],"sourcesContent":["import styled from 'styled-components'\n\n// Create shadow mixins to make combinations work properly\nconst topShadow = `inset 0 1px 0 0 var(--md-sys-color-primary)`\nconst rightShadow = `inset -1px 0 0 0 var(--md-sys-color-primary)`\nconst bottomShadow = `inset 0 -1px 0 0 var(--md-sys-color-primary)`\nconst leftShadow = `inset 1px 0 0 0 var(--md-sys-color-primary)`\n\nconst getDefaultShadow = (isLastPinned: boolean) => {\n const defaultShadow = `inset 1px -1px 0 0 var(--md-sys-color-surface-container)`\n const defaultShadowLastPinned = `inset -2px -1px 0 0 var(--md-sys-color-surface-container), inset 1px 0 0 0 var(--md-sys-color-surface-container)`\n return isLastPinned ? defaultShadowLastPinned : defaultShadow\n}\n\nexport const TR = styled.tr`\n display: flex;\n position: absolute;\n width: 100%;\n`\n\nconst cellMinWidth = 50\n\nexport const TableCellContent = styled.div`\n display: flex;\n align-items: center;\n gap: var(--base-gap-small);\n height: 100%;\n width: 100%;\n padding: 0px 8px;\n border-radius: var(--border-radius-m);\n user-select: none;\n padding-right: 0;\n\n min-width: ${cellMinWidth}px;\n &.bold {\n font-weight: 600;\n }\n\n &.loading {\n margin: 0px 5px;\n padding: 0 !important;\n width: calc(100% - 10px);\n height: 28px;\n margin-top: 3px;\n\n &:not(.hierarchy) {\n height: 32px;\n }\n }\n\n &:focus-visible {\n outline: none;\n }\n`\n\nexport const ResizedHandler = styled.div`\n position: absolute;\n right: -1px;\n top: 0;\n bottom: 0;\n width: 6px;\n cursor: col-resize;\n background-color: var(--md-sys-color-surface-container-high);\n\n opacity: 0;\n\n &.resizing {\n background-color: var(--md-sys-color-primary);\n opacity: 1;\n }\n`\n\nexport const ColumnHeader = styled.tr`\n background-color: var(--md-sys-color-surface-container-low);\n`\n\nexport const HeaderCell = styled.th`\n position: relative;\n background-color: var(--md-sys-color-surface-container-lowest);\n box-shadow: inset 1px -1px 0 0 var(--md-sys-color-surface-container);\n display: flex;\n align-items: center;\n min-height: fit-content;\n min-width: ${cellMinWidth}px;\n\n &:hover {\n .resize-handle {\n opacity: 1;\n }\n }\n\n /* show action button */\n &:hover {\n .action {\n display: flex;\n }\n }\n\n /* Styling for the last pinned left column */\n &.last-pinned-left {\n box-shadow: inset 1px -1px 0 0 var(--md-sys-color-surface-container),\n inset -2px 0 0 0 var(--md-sys-color-surface-container);\n }\n\n /* special styles for the left selection column */\n &.__row_selection__ {\n min-width: unset;\n width: 20px !important;\n\n .actions {\n display: none;\n }\n }\n`\n\nexport const HeaderButtons = styled.div`\n display: flex;\n gap: var(--base-gap-small);\n\n position: absolute;\n z-index: 10;\n right: 8px;\n top: 50%;\n transform: translateY(-50%);\n`\n\ntype TableCellProps = {\n $isLastPinned?: boolean\n}\n\nexport const TableCell = styled.td<TableCellProps>`\n position: relative;\n box-shadow: ${getDefaultShadow(false)};\n min-width: ${cellMinWidth}px;\n background-color: var(--md-sys-color-surface-container-low);\n\n &.task {\n background-color: hsl(216 15% 11.5% / 1);\n }\n\n &.selected-row {\n background-color: var(--md-sys-color-surface-container-high);\n }\n\n &.selected {\n background-color: var(--md-sys-color-secondary-container);\n position: relative;\n z-index: 1;\n }\n\n /* remove default focus style */\n &:focus-visible {\n outline: none;\n }\n\n /* Styling for the last pinned left column */\n /* extra border on the right */\n &.last-pinned-left {\n box-shadow: inset 1px -1px 0 0 var(--md-sys-color-surface-container),\n inset -2px 0 0 0 var(--md-sys-color-surface-container);\n }\n\n /* Shadow combinations - single side */\n &.shadow-top:not(.shadow-right):not(.shadow-bottom):not(.shadow-left) {\n box-shadow: ${topShadow}, ${({ $isLastPinned }) => getDefaultShadow($isLastPinned || false)};\n }\n\n &.shadow-right:not(.shadow-top):not(.shadow-bottom):not(.shadow-left) {\n box-shadow: ${rightShadow}, ${({ $isLastPinned }) => getDefaultShadow($isLastPinned || false)};\n }\n\n &.shadow-bottom:not(.shadow-top):not(.shadow-right):not(.shadow-left) {\n box-shadow: ${bottomShadow}, ${({ $isLastPinned }) => getDefaultShadow($isLastPinned || false)};\n }\n\n &.shadow-left:not(.shadow-top):not(.shadow-right):not(.shadow-bottom) {\n box-shadow: ${leftShadow}, ${({ $isLastPinned }) => getDefaultShadow($isLastPinned || false)};\n }\n\n /* Two sides */\n &.shadow-top.shadow-right:not(.shadow-bottom):not(.shadow-left) {\n box-shadow: ${topShadow}, ${rightShadow},\n ${({ $isLastPinned }) => getDefaultShadow($isLastPinned || false)};\n }\n\n &.shadow-top.shadow-bottom:not(.shadow-right):not(.shadow-left) {\n box-shadow: ${topShadow}, ${bottomShadow},\n ${({ $isLastPinned }) => getDefaultShadow($isLastPinned || false)};\n }\n\n &.shadow-top.shadow-left:not(.shadow-right):not(.shadow-bottom) {\n box-shadow: ${topShadow}, ${leftShadow},\n ${({ $isLastPinned }) => getDefaultShadow($isLastPinned || false)};\n }\n\n &.shadow-right.shadow-bottom:not(.shadow-top):not(.shadow-left) {\n box-shadow: ${rightShadow}, ${bottomShadow},\n ${({ $isLastPinned }) => getDefaultShadow($isLastPinned || false)};\n }\n\n &.shadow-right.shadow-left:not(.shadow-top):not(.shadow-bottom) {\n box-shadow: ${rightShadow}, ${leftShadow},\n ${({ $isLastPinned }) => getDefaultShadow($isLastPinned || false)};\n }\n\n &.shadow-bottom.shadow-left:not(.shadow-top):not(.shadow-right) {\n box-shadow: ${bottomShadow}, ${leftShadow},\n ${({ $isLastPinned }) => getDefaultShadow($isLastPinned || false)};\n }\n\n /* Three sides */\n &.shadow-top.shadow-right.shadow-bottom:not(.shadow-left) {\n box-shadow: ${topShadow}, ${rightShadow}, ${bottomShadow},\n ${({ $isLastPinned }) => getDefaultShadow($isLastPinned || false)};\n }\n\n &.shadow-top.shadow-right.shadow-left:not(.shadow-bottom) {\n box-shadow: ${topShadow}, ${rightShadow}, ${leftShadow},\n ${({ $isLastPinned }) => getDefaultShadow($isLastPinned || false)};\n }\n\n &.shadow-top.shadow-bottom.shadow-left:not(.shadow-right) {\n box-shadow: ${topShadow}, ${bottomShadow}, ${leftShadow},\n ${({ $isLastPinned }) => getDefaultShadow($isLastPinned || false)};\n }\n\n &.shadow-right.shadow-bottom.shadow-left:not(.shadow-top) {\n box-shadow: ${rightShadow}, ${bottomShadow}, ${leftShadow},\n ${({ $isLastPinned }) => getDefaultShadow($isLastPinned || false)};\n }\n\n /* All four sides */\n &.shadow-top.shadow-right.shadow-bottom.shadow-left {\n box-shadow: ${topShadow}, ${rightShadow}, ${bottomShadow}, ${leftShadow},\n ${({ $isLastPinned }) => getDefaultShadow($isLastPinned || false)};\n }\n\n /* Focus styling */\n &.focused {\n position: relative;\n z-index: 2;\n }\n\n /* Use pseudo-element for focused outline to avoid box-shadow conflicts */\n &.focused::after {\n content: '';\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n border: 2px solid var(--md-sys-color-primary);\n pointer-events: none;\n }\n\n &.editing {\n z-index: 10 !important;\n /* light border around the outside */\n &::before {\n content: '';\n position: absolute;\n inset: 2px;\n border: 2px solid var(--md-sys-color-surface-container-low);\n }\n }\n\n /* special styles for selection bar cells */\n &.__row_selection__ {\n width: 20px !important;\n min-width: unset;\n\n &.selected {\n background-color: var(--md-sys-color-primary-container) !important;\n box-shadow: none !important;\n /* reveal the check mark */\n [icon='check'] {\n display: block;\n }\n }\n }\n`\n\nexport const TableHeader = styled.thead`\n display: grid !important;\n position: sticky;\n top: 0;\n min-height: 34px;\n z-index: 10;\n background-color: var(--md-sys-color-surface-container-lowest);\n`\n\nexport const TableWrapper = styled.div`\n overflow: hidden;\n position: absolute;\n inset: 0;\n border-radius: var(--border-radius-m);\n\n background-color: var(--md-sys-color-surface-container-low);\n`\n\nexport const TableContainer = styled.div`\n display: flex;\n\n height: 100%;\n width: 100%;\n overflow: auto;\n padding: 4px;\n padding-top: 0;\n\n &.isLoading {\n overflow: hidden;\n }\n\n table {\n height: fit-content;\n width: 100%;\n display: grid;\n }\n\n thead {\n display: none;\n }\n\n tbody {\n position: relative;\n display: grid;\n }\n\n td {\n height: 34px;\n padding: 1px 0px;\n width: 100%;\n }\n`\n"],"names":[],"mappings":";;;AAGA,MAAM,YAAY;AAClB,MAAM,cAAc;AACpB,MAAM,eAAe;AACrB,MAAM,aAAa;AAEnB,MAAM,mBAAmB,CAAC,iBAA0B;AAClD,QAAM,gBAAgB;AACtB,QAAM,0BAA0B;AAChC,SAAO,eAAe,0BAA0B;AAClD;AAEO,MAAM,KAAK,OAAO;AAAA;AAAA;AAAA;AAAA;AAMzB,MAAM,eAAe;AAEd,MAAM,mBAAmB,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,eAWxB,YAAY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAsBpB,MAAM,iBAAiB,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAiB9B,MAAM,eAAe,OAAO;AAAA;AAAA;AAI5B,MAAM,aAAa,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,eAOlB,YAAY;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;AAAA;AAAA;AAAA;AAgCpB,MAAM,gBAAgB,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAe7B,MAAM,YAAY,OAAO;AAAA;AAAA,gBAEhB,iBAAiB,KAAK,CAAC;AAAA,eACxB,YAAY;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;AAAA;AAAA;AAAA;AAAA,kBA+BT,SAAS,KAAK,CAAC,EAAE,cAAoB,MAAA,iBAAiB,iBAAiB,KAAK,CAAC;AAAA;AAAA;AAAA;AAAA,kBAI7E,WAAW,KAAK,CAAC,EAAE,cAAoB,MAAA,iBAAiB,iBAAiB,KAAK,CAAC;AAAA;AAAA;AAAA;AAAA,kBAI/E,YAAY,KAAK,CAAC,EAAE,cAAoB,MAAA,iBAAiB,iBAAiB,KAAK,CAAC;AAAA;AAAA;AAAA;AAAA,kBAIhF,UAAU,KAAK,CAAC,EAAE,cAAoB,MAAA,iBAAiB,iBAAiB,KAAK,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA,kBAK9E,SAAS,KAAK,WAAW;AAAA,QACnC,CAAC,EAAE,oBAAoB,iBAAiB,iBAAiB,KAAK,CAAC;AAAA;AAAA;AAAA;AAAA,kBAIrD,SAAS,KAAK,YAAY;AAAA,QACpC,CAAC,EAAE,oBAAoB,iBAAiB,iBAAiB,KAAK,CAAC;AAAA;AAAA;AAAA;AAAA,kBAIrD,SAAS,KAAK,UAAU;AAAA,QAClC,CAAC,EAAE,oBAAoB,iBAAiB,iBAAiB,KAAK,CAAC;AAAA;AAAA;AAAA;AAAA,kBAIrD,WAAW,KAAK,YAAY;AAAA,QACtC,CAAC,EAAE,oBAAoB,iBAAiB,iBAAiB,KAAK,CAAC;AAAA;AAAA;AAAA;AAAA,kBAIrD,WAAW,KAAK,UAAU;AAAA,QACpC,CAAC,EAAE,oBAAoB,iBAAiB,iBAAiB,KAAK,CAAC;AAAA;AAAA;AAAA;AAAA,kBAIrD,YAAY,KAAK,UAAU;AAAA,QACrC,CAAC,EAAE,oBAAoB,iBAAiB,iBAAiB,KAAK,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA,kBAKrD,SAAS,KAAK,WAAW,KAAK,YAAY;AAAA,QACpD,CAAC,EAAE,oBAAoB,iBAAiB,iBAAiB,KAAK,CAAC;AAAA;AAAA;AAAA;AAAA,kBAIrD,SAAS,KAAK,WAAW,KAAK,UAAU;AAAA,QAClD,CAAC,EAAE,oBAAoB,iBAAiB,iBAAiB,KAAK,CAAC;AAAA;AAAA;AAAA;AAAA,kBAIrD,SAAS,KAAK,YAAY,KAAK,UAAU;AAAA,QACnD,CAAC,EAAE,oBAAoB,iBAAiB,iBAAiB,KAAK,CAAC;AAAA;AAAA;AAAA;AAAA,kBAIrD,WAAW,KAAK,YAAY,KAAK,UAAU;AAAA,QACrD,CAAC,EAAE,oBAAoB,iBAAiB,iBAAiB,KAAK,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA,kBAKrD,SAAS,KAAK,WAAW,KAAK,YAAY,KAAK,UAAU;AAAA,QACnE,CAAC,EAAE,oBAAoB,iBAAiB,iBAAiB,KAAK,CAAC;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;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAgDhE,MAAM,cAAc,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAS3B,MAAM,eAAe,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAS5B,MAAM,iBAAiB,OAAO;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;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;;;;;;;;;"}
|
|
1
|
+
{"version":3,"file":"ProjectTreeTable.styled.cjs.js","sources":["../../../../../src/containers/ProjectTreeTable/ProjectTreeTable.styled.ts"],"sourcesContent":["import styled from 'styled-components'\n\n// Create shadow mixins to make combinations work properly\nconst topShadow = `inset 0 1px 0 0 var(--md-sys-color-primary)`\nconst rightShadow = `inset -1px 0 0 0 var(--md-sys-color-primary)`\nconst bottomShadow = `inset 0 -1px 0 0 var(--md-sys-color-primary)`\nconst leftShadow = `inset 1px 0 0 0 var(--md-sys-color-primary)`\n\nconst getDefaultShadow = (isLastPinned: boolean) => {\n const defaultShadow = `inset 1px -1px 0 0 var(--md-sys-color-surface-container)`\n const defaultShadowLastPinned = `inset -2px -1px 0 0 var(--md-sys-color-surface-container), inset 1px 0 0 0 var(--md-sys-color-surface-container)`\n return isLastPinned ? defaultShadowLastPinned : defaultShadow\n}\n\n// Use the known string literal for DRAG_HANDLE_COLUMN_ID to avoid import complexities here\nconst DRAG_HANDLE_CLASS = 'drag-handle'\n\nexport const TR = styled.tr`\n display: flex;\n position: absolute;\n width: 100%;\n\n &:hover {\n // When the row (TR) is hovered...\n // Target the button inside the drag handle cell to make it visible at 50% opacity.\n // This uses a more specific selector by including 'td' to ensure it correctly targets the cell.\n td.${DRAG_HANDLE_CLASS} button {\n opacity: 0.5;\n visibility: visible;\n }\n\n // When the row (TR) is hovered AND the button inside drag handle cell is also hovered...\n // Make the button 100% opacity. This selector is more specific and will override the above.\n td.${DRAG_HANDLE_CLASS} button:hover {\n opacity: 1;\n }\n }\n`\n\nexport const TableCellContent = styled.div`\n display: flex;\n align-items: center;\n gap: var(--base-gap-small);\n height: 100%;\n width: 100%;\n padding: 0px 8px;\n border-radius: var(--border-radius-m);\n user-select: none;\n padding-right: 0;\n\n &.bold {\n font-weight: 600;\n }\n\n &.loading {\n margin: 0px 5px;\n padding: 0 !important;\n width: calc(100% - 10px);\n height: 28px;\n margin-top: 3px;\n\n &:not(.hierarchy) {\n height: 32px;\n }\n }\n\n &:focus-visible {\n outline: none;\n }\n`\n\nexport const ResizedHandler = styled.div`\n position: absolute;\n right: -1px;\n top: 0;\n bottom: 0;\n width: 6px;\n cursor: col-resize;\n background-color: var(--md-sys-color-surface-container-high);\n\n opacity: 0;\n\n &.resizing {\n background-color: var(--md-sys-color-primary);\n opacity: 1;\n }\n`\n\nexport const ColumnHeader = styled.tr`\n background-color: var(--md-sys-color-surface-container-low);\n`\n\nexport const HeaderCell = styled.th`\n position: relative;\n background-color: var(--md-sys-color-surface-container-lowest);\n box-shadow: inset 1px -1px 0 0 var(--md-sys-color-surface-container);\n display: flex;\n align-items: center;\n min-height: fit-content;\n\n &:hover {\n .resize-handle {\n opacity: 1;\n }\n }\n\n /* show action button */\n &:hover {\n .action {\n display: flex;\n }\n }\n\n /* Styling for the last pinned left column */\n &.last-pinned-left {\n box-shadow: inset 1px -1px 0 0 var(--md-sys-color-surface-container),\n inset -2px 0 0 0 var(--md-sys-color-surface-container);\n }\n\n /* special styles for the left selection column */\n &.__row_selection__ {\n min-width: unset;\n width: 20px !important;\n\n .actions {\n display: none;\n }\n }\n`\n\nexport const HeaderButtons = styled.div`\n display: flex;\n gap: var(--base-gap-small);\n\n position: absolute;\n z-index: 10;\n right: 8px;\n top: 50%;\n transform: translateY(-50%);\n`\n\ntype TableCellProps = {\n $isLastPinned?: boolean\n}\n\nexport const TableCell = styled.td<TableCellProps>`\n position: relative;\n box-shadow: ${getDefaultShadow(false)};\n background-color: var(--md-sys-color-surface-container-low);\n\n &.${DRAG_HANDLE_CLASS} {\n // Styles for the button inside the drag handle cell\n button {\n opacity: 0; // Default: hidden\n visibility: hidden;\n transition: opacity 0.2s ease, visibility 0.2s ease;\n // Base appearance styles (cursor, border, background, etc.)\n // are primarily handled by inline styles in RowDragHandleCellContent.tsx.\n // Add any necessary overrides or defaults here if needed.\n // For example, ensuring the button itself doesn't interfere with cell styling:\n background: transparent;\n border: none;\n padding: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: 100%;\n }\n }\n\n &.task {\n background-color: hsl(216 15% 11.5% / 1);\n }\n\n &.selected-row {\n background-color: var(--md-sys-color-surface-container-high);\n }\n\n &.selected {\n background-color: var(--md-sys-color-secondary-container);\n position: relative;\n z-index: 1;\n }\n\n /* remove default focus style */\n &:focus-visible {\n outline: none;\n }\n\n /* Styling for the last pinned left column */\n /* extra border on the right */\n &.last-pinned-left {\n box-shadow: inset 1px -1px 0 0 var(--md-sys-color-surface-container),\n inset -2px 0 0 0 var(--md-sys-color-surface-container);\n }\n\n /* Shadow combinations - single side */\n &.shadow-top:not(.shadow-right):not(.shadow-bottom):not(.shadow-left) {\n box-shadow: ${topShadow}, ${({ $isLastPinned }) => getDefaultShadow($isLastPinned || false)};\n }\n\n &.shadow-right:not(.shadow-top):not(.shadow-bottom):not(.shadow-left) {\n box-shadow: ${rightShadow}, ${({ $isLastPinned }) => getDefaultShadow($isLastPinned || false)};\n }\n\n &.shadow-bottom:not(.shadow-top):not(.shadow-right):not(.shadow-left) {\n box-shadow: ${bottomShadow}, ${({ $isLastPinned }) => getDefaultShadow($isLastPinned || false)};\n }\n\n &.shadow-left:not(.shadow-top):not(.shadow-right):not(.shadow-bottom) {\n box-shadow: ${leftShadow}, ${({ $isLastPinned }) => getDefaultShadow($isLastPinned || false)};\n }\n\n /* Two sides */\n &.shadow-top.shadow-right:not(.shadow-bottom):not(.shadow-left) {\n box-shadow: ${topShadow}, ${rightShadow},\n ${({ $isLastPinned }) => getDefaultShadow($isLastPinned || false)};\n }\n\n &.shadow-top.shadow-bottom:not(.shadow-right):not(.shadow-left) {\n box-shadow: ${topShadow}, ${bottomShadow},\n ${({ $isLastPinned }) => getDefaultShadow($isLastPinned || false)};\n }\n\n &.shadow-top.shadow-left:not(.shadow-right):not(.shadow-bottom) {\n box-shadow: ${topShadow}, ${leftShadow},\n ${({ $isLastPinned }) => getDefaultShadow($isLastPinned || false)};\n }\n\n &.shadow-right.shadow-bottom:not(.shadow-top):not(.shadow-left) {\n box-shadow: ${rightShadow}, ${bottomShadow},\n ${({ $isLastPinned }) => getDefaultShadow($isLastPinned || false)};\n }\n\n &.shadow-right.shadow-left:not(.shadow-top):not(.shadow-bottom) {\n box-shadow: ${rightShadow}, ${leftShadow},\n ${({ $isLastPinned }) => getDefaultShadow($isLastPinned || false)};\n }\n\n &.shadow-bottom.shadow-left:not(.shadow-top):not(.shadow-right) {\n box-shadow: ${bottomShadow}, ${leftShadow},\n ${({ $isLastPinned }) => getDefaultShadow($isLastPinned || false)};\n }\n\n /* Three sides */\n &.shadow-top.shadow-right.shadow-bottom:not(.shadow-left) {\n box-shadow: ${topShadow}, ${rightShadow}, ${bottomShadow},\n ${({ $isLastPinned }) => getDefaultShadow($isLastPinned || false)};\n }\n\n &.shadow-top.shadow-right.shadow-left:not(.shadow-bottom) {\n box-shadow: ${topShadow}, ${rightShadow}, ${leftShadow},\n ${({ $isLastPinned }) => getDefaultShadow($isLastPinned || false)};\n }\n\n &.shadow-top.shadow-bottom.shadow-left:not(.shadow-right) {\n box-shadow: ${topShadow}, ${bottomShadow}, ${leftShadow},\n ${({ $isLastPinned }) => getDefaultShadow($isLastPinned || false)};\n }\n\n &.shadow-right.shadow-bottom.shadow-left:not(.shadow-top) {\n box-shadow: ${rightShadow}, ${bottomShadow}, ${leftShadow},\n ${({ $isLastPinned }) => getDefaultShadow($isLastPinned || false)};\n }\n\n /* All four sides */\n &.shadow-top.shadow-right.shadow-bottom.shadow-left {\n box-shadow: ${topShadow}, ${rightShadow}, ${bottomShadow}, ${leftShadow},\n ${({ $isLastPinned }) => getDefaultShadow($isLastPinned || false)};\n }\n\n /* Focus styling */\n &.focused {\n position: relative;\n z-index: 2;\n }\n\n /* Use pseudo-element for focused outline to avoid box-shadow conflicts */\n &.focused::after {\n content: '';\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n border: 2px solid var(--md-sys-color-primary);\n pointer-events: none;\n }\n\n &.editing {\n z-index: 10 !important;\n /* light border around the outside */\n &::before {\n content: '';\n position: absolute;\n inset: 2px;\n border: 2px solid var(--md-sys-color-surface-container-low);\n }\n }\n\n /* special styles for selection bar cells */\n &.__row_selection__ {\n width: 20px !important;\n min-width: unset;\n\n &.selected {\n background-color: var(--md-sys-color-primary-container) !important;\n box-shadow: none !important;\n /* reveal the check mark */\n [icon='check'] {\n display: block;\n }\n }\n }\n`\n\nexport const TableHeader = styled.thead`\n display: grid !important;\n position: sticky;\n top: 0;\n min-height: 34px;\n z-index: 10;\n background-color: var(--md-sys-color-surface-container-lowest);\n`\n\nexport const TableWrapper = styled.div`\n overflow: hidden;\n position: absolute;\n inset: 0;\n border-radius: var(--border-radius-m);\n\n background-color: var(--md-sys-color-surface-container-low);\n`\n\nexport const TableContainer = styled.div`\n display: flex;\n\n height: 100%;\n width: 100%;\n overflow: auto;\n padding: 4px;\n padding-top: 0;\n\n &.isLoading {\n overflow: hidden;\n }\n\n table {\n height: fit-content;\n width: 100%;\n display: grid;\n }\n\n thead {\n display: none;\n }\n\n tbody {\n position: relative;\n display: grid;\n }\n\n td {\n height: 34px;\n padding: 1px 0px;\n width: 100%;\n }\n`\n"],"names":[],"mappings":"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"}
|
|
@@ -8,12 +8,28 @@ const getDefaultShadow = (isLastPinned) => {
|
|
|
8
8
|
const defaultShadowLastPinned = `inset -2px -1px 0 0 var(--md-sys-color-surface-container), inset 1px 0 0 0 var(--md-sys-color-surface-container)`;
|
|
9
9
|
return isLastPinned ? defaultShadowLastPinned : defaultShadow;
|
|
10
10
|
};
|
|
11
|
+
const DRAG_HANDLE_CLASS = "drag-handle";
|
|
11
12
|
const TR = styled.tr`
|
|
12
13
|
display: flex;
|
|
13
14
|
position: absolute;
|
|
14
15
|
width: 100%;
|
|
16
|
+
|
|
17
|
+
&:hover {
|
|
18
|
+
// When the row (TR) is hovered...
|
|
19
|
+
// Target the button inside the drag handle cell to make it visible at 50% opacity.
|
|
20
|
+
// This uses a more specific selector by including 'td' to ensure it correctly targets the cell.
|
|
21
|
+
td.${DRAG_HANDLE_CLASS} button {
|
|
22
|
+
opacity: 0.5;
|
|
23
|
+
visibility: visible;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
// When the row (TR) is hovered AND the button inside drag handle cell is also hovered...
|
|
27
|
+
// Make the button 100% opacity. This selector is more specific and will override the above.
|
|
28
|
+
td.${DRAG_HANDLE_CLASS} button:hover {
|
|
29
|
+
opacity: 1;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
15
32
|
`;
|
|
16
|
-
const cellMinWidth = 50;
|
|
17
33
|
const TableCellContent = styled.div`
|
|
18
34
|
display: flex;
|
|
19
35
|
align-items: center;
|
|
@@ -25,7 +41,6 @@ const TableCellContent = styled.div`
|
|
|
25
41
|
user-select: none;
|
|
26
42
|
padding-right: 0;
|
|
27
43
|
|
|
28
|
-
min-width: ${cellMinWidth}px;
|
|
29
44
|
&.bold {
|
|
30
45
|
font-weight: 600;
|
|
31
46
|
}
|
|
@@ -72,7 +87,6 @@ const HeaderCell = styled.th`
|
|
|
72
87
|
display: flex;
|
|
73
88
|
align-items: center;
|
|
74
89
|
min-height: fit-content;
|
|
75
|
-
min-width: ${cellMinWidth}px;
|
|
76
90
|
|
|
77
91
|
&:hover {
|
|
78
92
|
.resize-handle {
|
|
@@ -116,9 +130,29 @@ const HeaderButtons = styled.div`
|
|
|
116
130
|
const TableCell = styled.td`
|
|
117
131
|
position: relative;
|
|
118
132
|
box-shadow: ${getDefaultShadow(false)};
|
|
119
|
-
min-width: ${cellMinWidth}px;
|
|
120
133
|
background-color: var(--md-sys-color-surface-container-low);
|
|
121
134
|
|
|
135
|
+
&.${DRAG_HANDLE_CLASS} {
|
|
136
|
+
// Styles for the button inside the drag handle cell
|
|
137
|
+
button {
|
|
138
|
+
opacity: 0; // Default: hidden
|
|
139
|
+
visibility: hidden;
|
|
140
|
+
transition: opacity 0.2s ease, visibility 0.2s ease;
|
|
141
|
+
// Base appearance styles (cursor, border, background, etc.)
|
|
142
|
+
// are primarily handled by inline styles in RowDragHandleCellContent.tsx.
|
|
143
|
+
// Add any necessary overrides or defaults here if needed.
|
|
144
|
+
// For example, ensuring the button itself doesn't interfere with cell styling:
|
|
145
|
+
background: transparent;
|
|
146
|
+
border: none;
|
|
147
|
+
padding: 0;
|
|
148
|
+
display: flex;
|
|
149
|
+
align-items: center;
|
|
150
|
+
justify-content: center;
|
|
151
|
+
width: 100%;
|
|
152
|
+
height: 100%;
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
|
|
122
156
|
&.task {
|
|
123
157
|
background-color: hsl(216 15% 11.5% / 1);
|
|
124
158
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProjectTreeTable.styled.es.js","sources":["../../../../../src/containers/ProjectTreeTable/ProjectTreeTable.styled.ts"],"sourcesContent":["import styled from 'styled-components'\n\n// Create shadow mixins to make combinations work properly\nconst topShadow = `inset 0 1px 0 0 var(--md-sys-color-primary)`\nconst rightShadow = `inset -1px 0 0 0 var(--md-sys-color-primary)`\nconst bottomShadow = `inset 0 -1px 0 0 var(--md-sys-color-primary)`\nconst leftShadow = `inset 1px 0 0 0 var(--md-sys-color-primary)`\n\nconst getDefaultShadow = (isLastPinned: boolean) => {\n const defaultShadow = `inset 1px -1px 0 0 var(--md-sys-color-surface-container)`\n const defaultShadowLastPinned = `inset -2px -1px 0 0 var(--md-sys-color-surface-container), inset 1px 0 0 0 var(--md-sys-color-surface-container)`\n return isLastPinned ? defaultShadowLastPinned : defaultShadow\n}\n\nexport const TR = styled.tr`\n display: flex;\n position: absolute;\n width: 100%;\n`\n\nconst cellMinWidth = 50\n\nexport const TableCellContent = styled.div`\n display: flex;\n align-items: center;\n gap: var(--base-gap-small);\n height: 100%;\n width: 100%;\n padding: 0px 8px;\n border-radius: var(--border-radius-m);\n user-select: none;\n padding-right: 0;\n\n min-width: ${cellMinWidth}px;\n &.bold {\n font-weight: 600;\n }\n\n &.loading {\n margin: 0px 5px;\n padding: 0 !important;\n width: calc(100% - 10px);\n height: 28px;\n margin-top: 3px;\n\n &:not(.hierarchy) {\n height: 32px;\n }\n }\n\n &:focus-visible {\n outline: none;\n }\n`\n\nexport const ResizedHandler = styled.div`\n position: absolute;\n right: -1px;\n top: 0;\n bottom: 0;\n width: 6px;\n cursor: col-resize;\n background-color: var(--md-sys-color-surface-container-high);\n\n opacity: 0;\n\n &.resizing {\n background-color: var(--md-sys-color-primary);\n opacity: 1;\n }\n`\n\nexport const ColumnHeader = styled.tr`\n background-color: var(--md-sys-color-surface-container-low);\n`\n\nexport const HeaderCell = styled.th`\n position: relative;\n background-color: var(--md-sys-color-surface-container-lowest);\n box-shadow: inset 1px -1px 0 0 var(--md-sys-color-surface-container);\n display: flex;\n align-items: center;\n min-height: fit-content;\n min-width: ${cellMinWidth}px;\n\n &:hover {\n .resize-handle {\n opacity: 1;\n }\n }\n\n /* show action button */\n &:hover {\n .action {\n display: flex;\n }\n }\n\n /* Styling for the last pinned left column */\n &.last-pinned-left {\n box-shadow: inset 1px -1px 0 0 var(--md-sys-color-surface-container),\n inset -2px 0 0 0 var(--md-sys-color-surface-container);\n }\n\n /* special styles for the left selection column */\n &.__row_selection__ {\n min-width: unset;\n width: 20px !important;\n\n .actions {\n display: none;\n }\n }\n`\n\nexport const HeaderButtons = styled.div`\n display: flex;\n gap: var(--base-gap-small);\n\n position: absolute;\n z-index: 10;\n right: 8px;\n top: 50%;\n transform: translateY(-50%);\n`\n\ntype TableCellProps = {\n $isLastPinned?: boolean\n}\n\nexport const TableCell = styled.td<TableCellProps>`\n position: relative;\n box-shadow: ${getDefaultShadow(false)};\n min-width: ${cellMinWidth}px;\n background-color: var(--md-sys-color-surface-container-low);\n\n &.task {\n background-color: hsl(216 15% 11.5% / 1);\n }\n\n &.selected-row {\n background-color: var(--md-sys-color-surface-container-high);\n }\n\n &.selected {\n background-color: var(--md-sys-color-secondary-container);\n position: relative;\n z-index: 1;\n }\n\n /* remove default focus style */\n &:focus-visible {\n outline: none;\n }\n\n /* Styling for the last pinned left column */\n /* extra border on the right */\n &.last-pinned-left {\n box-shadow: inset 1px -1px 0 0 var(--md-sys-color-surface-container),\n inset -2px 0 0 0 var(--md-sys-color-surface-container);\n }\n\n /* Shadow combinations - single side */\n &.shadow-top:not(.shadow-right):not(.shadow-bottom):not(.shadow-left) {\n box-shadow: ${topShadow}, ${({ $isLastPinned }) => getDefaultShadow($isLastPinned || false)};\n }\n\n &.shadow-right:not(.shadow-top):not(.shadow-bottom):not(.shadow-left) {\n box-shadow: ${rightShadow}, ${({ $isLastPinned }) => getDefaultShadow($isLastPinned || false)};\n }\n\n &.shadow-bottom:not(.shadow-top):not(.shadow-right):not(.shadow-left) {\n box-shadow: ${bottomShadow}, ${({ $isLastPinned }) => getDefaultShadow($isLastPinned || false)};\n }\n\n &.shadow-left:not(.shadow-top):not(.shadow-right):not(.shadow-bottom) {\n box-shadow: ${leftShadow}, ${({ $isLastPinned }) => getDefaultShadow($isLastPinned || false)};\n }\n\n /* Two sides */\n &.shadow-top.shadow-right:not(.shadow-bottom):not(.shadow-left) {\n box-shadow: ${topShadow}, ${rightShadow},\n ${({ $isLastPinned }) => getDefaultShadow($isLastPinned || false)};\n }\n\n &.shadow-top.shadow-bottom:not(.shadow-right):not(.shadow-left) {\n box-shadow: ${topShadow}, ${bottomShadow},\n ${({ $isLastPinned }) => getDefaultShadow($isLastPinned || false)};\n }\n\n &.shadow-top.shadow-left:not(.shadow-right):not(.shadow-bottom) {\n box-shadow: ${topShadow}, ${leftShadow},\n ${({ $isLastPinned }) => getDefaultShadow($isLastPinned || false)};\n }\n\n &.shadow-right.shadow-bottom:not(.shadow-top):not(.shadow-left) {\n box-shadow: ${rightShadow}, ${bottomShadow},\n ${({ $isLastPinned }) => getDefaultShadow($isLastPinned || false)};\n }\n\n &.shadow-right.shadow-left:not(.shadow-top):not(.shadow-bottom) {\n box-shadow: ${rightShadow}, ${leftShadow},\n ${({ $isLastPinned }) => getDefaultShadow($isLastPinned || false)};\n }\n\n &.shadow-bottom.shadow-left:not(.shadow-top):not(.shadow-right) {\n box-shadow: ${bottomShadow}, ${leftShadow},\n ${({ $isLastPinned }) => getDefaultShadow($isLastPinned || false)};\n }\n\n /* Three sides */\n &.shadow-top.shadow-right.shadow-bottom:not(.shadow-left) {\n box-shadow: ${topShadow}, ${rightShadow}, ${bottomShadow},\n ${({ $isLastPinned }) => getDefaultShadow($isLastPinned || false)};\n }\n\n &.shadow-top.shadow-right.shadow-left:not(.shadow-bottom) {\n box-shadow: ${topShadow}, ${rightShadow}, ${leftShadow},\n ${({ $isLastPinned }) => getDefaultShadow($isLastPinned || false)};\n }\n\n &.shadow-top.shadow-bottom.shadow-left:not(.shadow-right) {\n box-shadow: ${topShadow}, ${bottomShadow}, ${leftShadow},\n ${({ $isLastPinned }) => getDefaultShadow($isLastPinned || false)};\n }\n\n &.shadow-right.shadow-bottom.shadow-left:not(.shadow-top) {\n box-shadow: ${rightShadow}, ${bottomShadow}, ${leftShadow},\n ${({ $isLastPinned }) => getDefaultShadow($isLastPinned || false)};\n }\n\n /* All four sides */\n &.shadow-top.shadow-right.shadow-bottom.shadow-left {\n box-shadow: ${topShadow}, ${rightShadow}, ${bottomShadow}, ${leftShadow},\n ${({ $isLastPinned }) => getDefaultShadow($isLastPinned || false)};\n }\n\n /* Focus styling */\n &.focused {\n position: relative;\n z-index: 2;\n }\n\n /* Use pseudo-element for focused outline to avoid box-shadow conflicts */\n &.focused::after {\n content: '';\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n border: 2px solid var(--md-sys-color-primary);\n pointer-events: none;\n }\n\n &.editing {\n z-index: 10 !important;\n /* light border around the outside */\n &::before {\n content: '';\n position: absolute;\n inset: 2px;\n border: 2px solid var(--md-sys-color-surface-container-low);\n }\n }\n\n /* special styles for selection bar cells */\n &.__row_selection__ {\n width: 20px !important;\n min-width: unset;\n\n &.selected {\n background-color: var(--md-sys-color-primary-container) !important;\n box-shadow: none !important;\n /* reveal the check mark */\n [icon='check'] {\n display: block;\n }\n }\n }\n`\n\nexport const TableHeader = styled.thead`\n display: grid !important;\n position: sticky;\n top: 0;\n min-height: 34px;\n z-index: 10;\n background-color: var(--md-sys-color-surface-container-lowest);\n`\n\nexport const TableWrapper = styled.div`\n overflow: hidden;\n position: absolute;\n inset: 0;\n border-radius: var(--border-radius-m);\n\n background-color: var(--md-sys-color-surface-container-low);\n`\n\nexport const TableContainer = styled.div`\n display: flex;\n\n height: 100%;\n width: 100%;\n overflow: auto;\n padding: 4px;\n padding-top: 0;\n\n &.isLoading {\n overflow: hidden;\n }\n\n table {\n height: fit-content;\n width: 100%;\n display: grid;\n }\n\n thead {\n display: none;\n }\n\n tbody {\n position: relative;\n display: grid;\n }\n\n td {\n height: 34px;\n padding: 1px 0px;\n width: 100%;\n }\n`\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ProjectTreeTable.styled.es.js","sources":["../../../../../src/containers/ProjectTreeTable/ProjectTreeTable.styled.ts"],"sourcesContent":["import styled from 'styled-components'\n\n// Create shadow mixins to make combinations work properly\nconst topShadow = `inset 0 1px 0 0 var(--md-sys-color-primary)`\nconst rightShadow = `inset -1px 0 0 0 var(--md-sys-color-primary)`\nconst bottomShadow = `inset 0 -1px 0 0 var(--md-sys-color-primary)`\nconst leftShadow = `inset 1px 0 0 0 var(--md-sys-color-primary)`\n\nconst getDefaultShadow = (isLastPinned: boolean) => {\n const defaultShadow = `inset 1px -1px 0 0 var(--md-sys-color-surface-container)`\n const defaultShadowLastPinned = `inset -2px -1px 0 0 var(--md-sys-color-surface-container), inset 1px 0 0 0 var(--md-sys-color-surface-container)`\n return isLastPinned ? defaultShadowLastPinned : defaultShadow\n}\n\n// Use the known string literal for DRAG_HANDLE_COLUMN_ID to avoid import complexities here\nconst DRAG_HANDLE_CLASS = 'drag-handle'\n\nexport const TR = styled.tr`\n display: flex;\n position: absolute;\n width: 100%;\n\n &:hover {\n // When the row (TR) is hovered...\n // Target the button inside the drag handle cell to make it visible at 50% opacity.\n // This uses a more specific selector by including 'td' to ensure it correctly targets the cell.\n td.${DRAG_HANDLE_CLASS} button {\n opacity: 0.5;\n visibility: visible;\n }\n\n // When the row (TR) is hovered AND the button inside drag handle cell is also hovered...\n // Make the button 100% opacity. This selector is more specific and will override the above.\n td.${DRAG_HANDLE_CLASS} button:hover {\n opacity: 1;\n }\n }\n`\n\nexport const TableCellContent = styled.div`\n display: flex;\n align-items: center;\n gap: var(--base-gap-small);\n height: 100%;\n width: 100%;\n padding: 0px 8px;\n border-radius: var(--border-radius-m);\n user-select: none;\n padding-right: 0;\n\n &.bold {\n font-weight: 600;\n }\n\n &.loading {\n margin: 0px 5px;\n padding: 0 !important;\n width: calc(100% - 10px);\n height: 28px;\n margin-top: 3px;\n\n &:not(.hierarchy) {\n height: 32px;\n }\n }\n\n &:focus-visible {\n outline: none;\n }\n`\n\nexport const ResizedHandler = styled.div`\n position: absolute;\n right: -1px;\n top: 0;\n bottom: 0;\n width: 6px;\n cursor: col-resize;\n background-color: var(--md-sys-color-surface-container-high);\n\n opacity: 0;\n\n &.resizing {\n background-color: var(--md-sys-color-primary);\n opacity: 1;\n }\n`\n\nexport const ColumnHeader = styled.tr`\n background-color: var(--md-sys-color-surface-container-low);\n`\n\nexport const HeaderCell = styled.th`\n position: relative;\n background-color: var(--md-sys-color-surface-container-lowest);\n box-shadow: inset 1px -1px 0 0 var(--md-sys-color-surface-container);\n display: flex;\n align-items: center;\n min-height: fit-content;\n\n &:hover {\n .resize-handle {\n opacity: 1;\n }\n }\n\n /* show action button */\n &:hover {\n .action {\n display: flex;\n }\n }\n\n /* Styling for the last pinned left column */\n &.last-pinned-left {\n box-shadow: inset 1px -1px 0 0 var(--md-sys-color-surface-container),\n inset -2px 0 0 0 var(--md-sys-color-surface-container);\n }\n\n /* special styles for the left selection column */\n &.__row_selection__ {\n min-width: unset;\n width: 20px !important;\n\n .actions {\n display: none;\n }\n }\n`\n\nexport const HeaderButtons = styled.div`\n display: flex;\n gap: var(--base-gap-small);\n\n position: absolute;\n z-index: 10;\n right: 8px;\n top: 50%;\n transform: translateY(-50%);\n`\n\ntype TableCellProps = {\n $isLastPinned?: boolean\n}\n\nexport const TableCell = styled.td<TableCellProps>`\n position: relative;\n box-shadow: ${getDefaultShadow(false)};\n background-color: var(--md-sys-color-surface-container-low);\n\n &.${DRAG_HANDLE_CLASS} {\n // Styles for the button inside the drag handle cell\n button {\n opacity: 0; // Default: hidden\n visibility: hidden;\n transition: opacity 0.2s ease, visibility 0.2s ease;\n // Base appearance styles (cursor, border, background, etc.)\n // are primarily handled by inline styles in RowDragHandleCellContent.tsx.\n // Add any necessary overrides or defaults here if needed.\n // For example, ensuring the button itself doesn't interfere with cell styling:\n background: transparent;\n border: none;\n padding: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: 100%;\n }\n }\n\n &.task {\n background-color: hsl(216 15% 11.5% / 1);\n }\n\n &.selected-row {\n background-color: var(--md-sys-color-surface-container-high);\n }\n\n &.selected {\n background-color: var(--md-sys-color-secondary-container);\n position: relative;\n z-index: 1;\n }\n\n /* remove default focus style */\n &:focus-visible {\n outline: none;\n }\n\n /* Styling for the last pinned left column */\n /* extra border on the right */\n &.last-pinned-left {\n box-shadow: inset 1px -1px 0 0 var(--md-sys-color-surface-container),\n inset -2px 0 0 0 var(--md-sys-color-surface-container);\n }\n\n /* Shadow combinations - single side */\n &.shadow-top:not(.shadow-right):not(.shadow-bottom):not(.shadow-left) {\n box-shadow: ${topShadow}, ${({ $isLastPinned }) => getDefaultShadow($isLastPinned || false)};\n }\n\n &.shadow-right:not(.shadow-top):not(.shadow-bottom):not(.shadow-left) {\n box-shadow: ${rightShadow}, ${({ $isLastPinned }) => getDefaultShadow($isLastPinned || false)};\n }\n\n &.shadow-bottom:not(.shadow-top):not(.shadow-right):not(.shadow-left) {\n box-shadow: ${bottomShadow}, ${({ $isLastPinned }) => getDefaultShadow($isLastPinned || false)};\n }\n\n &.shadow-left:not(.shadow-top):not(.shadow-right):not(.shadow-bottom) {\n box-shadow: ${leftShadow}, ${({ $isLastPinned }) => getDefaultShadow($isLastPinned || false)};\n }\n\n /* Two sides */\n &.shadow-top.shadow-right:not(.shadow-bottom):not(.shadow-left) {\n box-shadow: ${topShadow}, ${rightShadow},\n ${({ $isLastPinned }) => getDefaultShadow($isLastPinned || false)};\n }\n\n &.shadow-top.shadow-bottom:not(.shadow-right):not(.shadow-left) {\n box-shadow: ${topShadow}, ${bottomShadow},\n ${({ $isLastPinned }) => getDefaultShadow($isLastPinned || false)};\n }\n\n &.shadow-top.shadow-left:not(.shadow-right):not(.shadow-bottom) {\n box-shadow: ${topShadow}, ${leftShadow},\n ${({ $isLastPinned }) => getDefaultShadow($isLastPinned || false)};\n }\n\n &.shadow-right.shadow-bottom:not(.shadow-top):not(.shadow-left) {\n box-shadow: ${rightShadow}, ${bottomShadow},\n ${({ $isLastPinned }) => getDefaultShadow($isLastPinned || false)};\n }\n\n &.shadow-right.shadow-left:not(.shadow-top):not(.shadow-bottom) {\n box-shadow: ${rightShadow}, ${leftShadow},\n ${({ $isLastPinned }) => getDefaultShadow($isLastPinned || false)};\n }\n\n &.shadow-bottom.shadow-left:not(.shadow-top):not(.shadow-right) {\n box-shadow: ${bottomShadow}, ${leftShadow},\n ${({ $isLastPinned }) => getDefaultShadow($isLastPinned || false)};\n }\n\n /* Three sides */\n &.shadow-top.shadow-right.shadow-bottom:not(.shadow-left) {\n box-shadow: ${topShadow}, ${rightShadow}, ${bottomShadow},\n ${({ $isLastPinned }) => getDefaultShadow($isLastPinned || false)};\n }\n\n &.shadow-top.shadow-right.shadow-left:not(.shadow-bottom) {\n box-shadow: ${topShadow}, ${rightShadow}, ${leftShadow},\n ${({ $isLastPinned }) => getDefaultShadow($isLastPinned || false)};\n }\n\n &.shadow-top.shadow-bottom.shadow-left:not(.shadow-right) {\n box-shadow: ${topShadow}, ${bottomShadow}, ${leftShadow},\n ${({ $isLastPinned }) => getDefaultShadow($isLastPinned || false)};\n }\n\n &.shadow-right.shadow-bottom.shadow-left:not(.shadow-top) {\n box-shadow: ${rightShadow}, ${bottomShadow}, ${leftShadow},\n ${({ $isLastPinned }) => getDefaultShadow($isLastPinned || false)};\n }\n\n /* All four sides */\n &.shadow-top.shadow-right.shadow-bottom.shadow-left {\n box-shadow: ${topShadow}, ${rightShadow}, ${bottomShadow}, ${leftShadow},\n ${({ $isLastPinned }) => getDefaultShadow($isLastPinned || false)};\n }\n\n /* Focus styling */\n &.focused {\n position: relative;\n z-index: 2;\n }\n\n /* Use pseudo-element for focused outline to avoid box-shadow conflicts */\n &.focused::after {\n content: '';\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n border: 2px solid var(--md-sys-color-primary);\n pointer-events: none;\n }\n\n &.editing {\n z-index: 10 !important;\n /* light border around the outside */\n &::before {\n content: '';\n position: absolute;\n inset: 2px;\n border: 2px solid var(--md-sys-color-surface-container-low);\n }\n }\n\n /* special styles for selection bar cells */\n &.__row_selection__ {\n width: 20px !important;\n min-width: unset;\n\n &.selected {\n background-color: var(--md-sys-color-primary-container) !important;\n box-shadow: none !important;\n /* reveal the check mark */\n [icon='check'] {\n display: block;\n }\n }\n }\n`\n\nexport const TableHeader = styled.thead`\n display: grid !important;\n position: sticky;\n top: 0;\n min-height: 34px;\n z-index: 10;\n background-color: var(--md-sys-color-surface-container-lowest);\n`\n\nexport const TableWrapper = styled.div`\n overflow: hidden;\n position: absolute;\n inset: 0;\n border-radius: var(--border-radius-m);\n\n background-color: var(--md-sys-color-surface-container-low);\n`\n\nexport const TableContainer = styled.div`\n display: flex;\n\n height: 100%;\n width: 100%;\n overflow: auto;\n padding: 4px;\n padding-top: 0;\n\n &.isLoading {\n overflow: hidden;\n }\n\n table {\n height: fit-content;\n width: 100%;\n display: grid;\n }\n\n thead {\n display: none;\n }\n\n tbody {\n position: relative;\n display: grid;\n }\n\n td {\n height: 34px;\n padding: 1px 0px;\n width: 100%;\n }\n`\n"],"names":[],"mappings":"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"}
|