import { keyBy } from "lodash"; import React from "react"; import { Snippet } from "@dndbeyond/character-components/es"; import { AbilityLookup, BaseSpell, BaseFeat, Choice, ChoiceUtils, ClassDefinitionContract, Constants, DataOriginBaseAction, DataOriginRefData, InfusionChoice, LevelScaleContract, Option, OptionUtils, RuleData, RuleDataUtils, SnippetData, CharacterTheme, } from "@dndbeyond/character-rules-engine/es"; import { Reference } from "~/components/Reference"; import FeatureSnippetActions from "~/tools/js/CharacterSheet/components/FeatureSnippet/FeatureSnippetActions"; import FeatureSnippetChoices from "~/tools/js/CharacterSheet/components/FeatureSnippet/FeatureSnippetChoices"; import FeatureSnippetInfusionChoices from "~/tools/js/CharacterSheet/components/FeatureSnippet/FeatureSnippetInfusionChoices"; import FeatureSnippetOption from "~/tools/js/CharacterSheet/components/FeatureSnippet/FeatureSnippetOption"; import FeatureSnippetSpells from "~/tools/js/CharacterSheet/components/FeatureSnippet/FeatureSnippetSpells"; import styles from "./styles.module.css"; //TODO: tools/js/CharacterSheet/components/FeatureSnipper components still need to be gradually migrated to FC interface Props { heading: React.ReactNode; dataOriginExtra?: string; extraMeta: Array; className: string; snippetData: SnippetData; ruleData: RuleData; abilityLookup: AbilityLookup; sourceId: number | null; sourcePage: number | null; spells: Array; feats: Array; actions: Array; options: Array