import React, {useContext, useState} from 'react';
import {ThemeContext} from '../contexts/contexts';
import {
ActionInput,
Button,
Card,
CardGroup,
Confirm,
Header,
Icon,
IconButton,
Label,
Loader,
Loading,
Message,
Modal,
Pagination,
Panel,
Placeholder,
Progress,
SearchBox,
Select,
Statistic,
StatisticGroup,
TabBar,
tabClassName,
Status,
Table,
TextInput,
Textarea,
Checkbox,
ThemePicker,
Toggle,
Tooltip,
toast,
} from './ui';
import {semanticColorNames} from '../themes/mantine';
/*
* A gallery of every component in the library, in the current theme.
*
* Reachable at /theme-sample and linked from Settings, so a user can see a theme
* before committing to it.
*
* EVERY new component belongs here. It is how we review the design and how we
* catch a component that only looks wrong in one of the four themes — which has
* already happened more than once.
*/
const Section = ({label, children}) => {label}
Every component in the WROLPi interface library, rendered in the {theme} theme. Switch themes here or from the navigation bar.
The same picker the Settings page uses. The navigation bar has a compact version; both read the same list of themes.
Filtered
Real colors
Images, video, PDFs, embedded pages, and the map canvas cannot read theme
tokens, so a monochrome theme remaps them with an SVG color matrix instead.
Night filters to red unless you turn it off; amber tints to match only if
you ask. Light and dark offer no filter, so both images look the same here.
Use the toggle in the theme picker above to see the difference. An
element can opt out with night-unfiltered — that is what
the right-hand copy does, which is why it is behind a click: an
unfiltered image is a bright patch, and night mode should not spring
one on you.
The level picks the size, so the type scale stays a scale: call sites choose a heading level for the document outline, never a font size.
In night mode Delete drops its fill for a dashed red outline; dashed means destructive or failed, and nothing else uses it.
Focus the field to see grouped suggestions. Arrow keys move, Enter takes the highlighted one or submits what you typed, Escape closes the list without clearing the text.
Night and amber mark the current page with a heavier border rather than a filled block, which would be a bright surface. The tab bar takes rendered children, so routing stays with the caller.
Semantic's compound shape is kept — Modal.Header, Modal.Content, Modal.Actions — so the 34 call sites written against it migrate by import.
Actions sit below the body behind a hairline, right-aligned so the confirming action lands where the eye finishes reading.
These actions are destructive and cannot be undone.
The channel Wranglerstar and its download rules will be removed.
videos/Wranglerstar/ (312 files) will not be deleted.