import { keyBy } from "lodash"; import React, { PropsWithChildren } 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, FeatureSnippetChoices, FeatureSnippetInfusionChoices, FeatureSnippetOption, FeatureSnippetSpells, } from "~/tools/js/CharacterSheet/components/FeatureSnippet"; import styles from "./styles.module.css"; //TODO: tools/js/CharacterSheet/components/FeatureSnipper components still need to be gradually migrated to FC interface Props extends PropsWithChildren { 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