{"version":3,"file":"Tree.module.mjs","names":[],"sources":["../../../src/components/Tree/Tree.module.css"],"sourcesContent":[":where([data-tree-root]) {\n  --level-offset: var(--mantine-spacing-lg);\n  --tree-line-width: rem(1px);\n  --tree-line-color: var(--mantine-color-default-border);\n}\n\n.root {\n  margin: 0;\n  padding: 0;\n  user-select: none;\n}\n\n.subtree {\n  margin: 0;\n  padding: 0;\n}\n\n.node {\n  cursor: pointer;\n  list-style: none;\n  margin: 0;\n  padding: 0;\n  outline: 0;\n\n  &:focus-visible {\n    > .label {\n      outline: 2px solid var(--mantine-primary-color-filled);\n      outline-offset: 2px;\n    }\n  }\n}\n\n.label {\n  position: relative;\n  padding-inline-start: var(--label-offset);\n\n  &:where([data-selected]) {\n    @mixin where-light {\n      background-color: var(--mantine-color-gray-1);\n    }\n\n    @mixin where-dark {\n      background-color: var(--mantine-color-dark-5);\n    }\n  }\n\n  &:where([data-dragging]) {\n    opacity: 0.4;\n  }\n\n  &:where([data-drag-over='before'])::before {\n    content: '';\n    position: absolute;\n    top: -1px;\n    inset-inline-start: var(--label-offset, 0);\n    inset-inline-end: 0;\n    height: 2px;\n    background-color: var(--mantine-primary-color-filled);\n    pointer-events: none;\n    z-index: 1;\n  }\n\n  &:where([data-drag-over='after'])::after {\n    content: '';\n    position: absolute;\n    bottom: -1px;\n    inset-inline-start: var(--label-offset, 0);\n    inset-inline-end: 0;\n    height: 2px;\n    background-color: var(--mantine-primary-color-filled);\n    pointer-events: none;\n    z-index: 1;\n  }\n\n  &:where([data-drag-over='inside']) {\n    background-color: var(--mantine-primary-color-light);\n  }\n}\n\n:where([data-with-lines]) {\n  .node {\n    position: relative;\n  }\n\n  /* Horizontal connector at the node's own level — applies to both nested and flat layouts */\n  .node:not([data-level='1'])::before {\n    content: '';\n    position: absolute;\n    top: rem(12px);\n    inset-inline-start: calc(var(--label-offset) - var(--level-offset) / 2);\n    width: calc(var(--level-offset) / 2);\n    height: 0;\n    border-top: var(--tree-line-width) solid var(--tree-line-color);\n    pointer-events: none;\n    z-index: 1;\n  }\n\n  /* Vertical line for nested layout (regular Tree): the line spans the parent <li>'s\n     full height — including descendants — so ancestor columns stay continuous. */\n  .subtree > .node {\n    &::after {\n      content: '';\n      position: absolute;\n      top: 0;\n      bottom: 0;\n      inset-inline-start: calc(var(--label-offset) - var(--level-offset) / 2);\n      width: 0;\n      border-inline-start: var(--tree-line-width) solid var(--tree-line-color);\n      pointer-events: none;\n      z-index: 1;\n    }\n\n    &:last-child::after {\n      bottom: auto;\n      height: rem(12px);\n    }\n  }\n\n  .node:where([data-dragging]) {\n    &::before,\n    &::after {\n      display: none;\n    }\n\n    .flatLine {\n      display: none;\n    }\n  }\n}\n\n/* Vertical line markers rendered as DOM children by `FlatTreeNode` for flat layouts\n   (e.g. virtualized trees) where ::after on a single node can't span ancestor rows.\n   Each marker is positioned at column `--flat-line-column` and is only visible\n   inside a `[data-with-lines]` tree. */\n.flatLine {\n  position: absolute;\n  top: 0;\n  bottom: 0;\n  width: 0;\n  inset-inline-start: calc((var(--flat-line-column) - 1.5) * var(--level-offset));\n  border-inline-start: var(--tree-line-width) solid var(--tree-line-color);\n  pointer-events: none;\n  z-index: 1;\n  display: none;\n}\n\n:where([data-with-lines]) .flatLine {\n  display: block;\n}\n\n.flatLineClosing {\n  bottom: auto;\n  height: rem(12px);\n}\n"],"mappings":""}