A React library for a settings UI similar to that of Chrome.
⚠️ We ship this as part of our product, but search has not made it to production yet. In addition, we may make visual changes over time. For now, the only documentation is the code and the storybook stories.
You can play around with the disorganized stories.
yarn install
yarn dev
npm install @sillsdev/config-r
Use src/stories/bloom.stories.tsx as the canonical reference for alpha18 API usage. The current codebase enforces several structural rules and new props; the fastest path is to align your code with those patterns.
ConfigrPanechildren must beConfigrPageorConfigrAreaelements only. Wrap groups of pages inConfigrAreato get the left-nav section headings.ConfigrPagenow requirespageKeyand throws if it is missing. Keep these keys stable and unique within a pane.ConfigrPagechildren are restricted toConfigrGroup,ConfigrForEach, orConfigrStatic. Move any custom layout intoConfigrGroupor wrap text/UI-only blocks inConfigrStatic.ConfigrForEachnow uses a render signature of(pathPrefix, index) => ReactNode; build full Formik paths from the prefix (see the languages loop in the story).ConfigrSelectoptions accept numbers or{ label, value, description }objects; descriptions become tooltips.- Override/locking behavior is standardized: most controls accept
overrideValue+overrideDescription;ConfigrBooleanaddslockedandimmediateEffect. ConfigrInputcovers standard text, number, and email fields. Text inputs wrap visually by default; use the custom input variants only for genuinely custom editors whose UI is not just a styled text field.ConfigrPaneadds UI props likeshowAppBar,showSearch,showJson,themeOverrides, andinitiallySelectedTopLevelPageKey.


