{"version":3,"file":"disabled.test.mjs","sources":["../../../../../src/_common/test/unit/tree-v1/disabled.test.ts"],"sourcesContent":["import { describe, expect, it } from 'vitest';\nimport TreeStore from '../../../js/tree-v1/tree-store';\n\ndescribe('tree-v1 disabled children checking', () => {\n  const data = [\n    {\n      value: 'parent',\n      children: [{ value: 'enabled' }, { value: 'disabled', disabled: true }],\n    },\n  ];\n\n  it.each(['onlyLeaf', 'all', 'parentFirst'] as const)(\n    'ignores disabled children when deriving parent state in %s mode',\n    (valueMode) => {\n      const tree = new TreeStore({ checkable: true, valueMode });\n      tree.append(data);\n      const parent = tree.getNode('parent');\n      tree.setChecked(['enabled']);\n      expect(parent.isChecked()).toBe(true);\n      expect(parent.isIndeterminate()).toBe(false);\n      expect(tree.getNode('disabled').isChecked()).toBe(false);\n      tree.replaceChecked(parent.toggleChecked());\n      expect(parent.isChecked()).toBe(false);\n      expect(parent.isIndeterminate()).toBe(false);\n    }\n  );\n\n  it.each(['onlyLeaf', 'all', 'parentFirst'] as const)(\n    'does not select disabled descendants from an explicit parent value in %s mode',\n    (valueMode) => {\n      const tree = new TreeStore({ checkable: true, valueMode });\n      tree.append(data);\n      tree.setChecked(['parent']);\n      expect(tree.getNode('parent').isChecked()).toBe(true);\n      expect(tree.getNode('enabled').isChecked()).toBe(true);\n      expect(tree.getNode('disabled').isChecked()).toBe(false);\n      tree.replaceChecked(['disabled']);\n      expect(tree.getNode('disabled').isChecked()).toBe(true);\n      expect(tree.getNode('parent').isChecked()).toBe(false);\n      expect(tree.getNode('parent').isIndeterminate()).toBe(false);\n    }\n  );\n\n  it('retains explicitly selected disabled nodes when serializing parentFirst values', () => {\n    const tree = new TreeStore({ checkable: true, valueMode: 'parentFirst' });\n    tree.append(data);\n    tree.setChecked(['enabled', 'disabled']);\n    expect(tree.getChecked()).toEqual(['parent', 'disabled']);\n    tree.replaceChecked(tree.getChecked());\n    expect(tree.getNode('disabled').isChecked()).toBe(true);\n  });\n\n  it('does not select parents automatically when every child is disabled', () => {\n    const tree = new TreeStore({ checkable: true, valueMode: 'all' });\n    tree.append([{ value: 'parent', children: [{ value: 'disabled', disabled: true }] }]);\n    expect(tree.getChecked()).toEqual([]);\n    expect(tree.getNode('parent').toggleChecked()).toEqual([]);\n  });\n});\n"],"names":["describe","data","value","children","disabled","it","each","valueMode","tree","TreeStore","checkable","append","parent","getNode","setChecked","expect","isChecked","toBe","isIndeterminate","replaceChecked","toggleChecked","getChecked","toEqual"],"mappings":"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"}