feat: initial project setup with implementation plan
- Add PLAN.md with 40-step checklist across 10 phases - Add CLAUDE.md with project-specific instructions - Set up nix flake with FastHTML/MonsterUI dependencies - Create Python package skeleton (src/animaltrack) - Vendor FastHTML and MonsterUI documentation - Add Docker build configuration 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
529
docs/vendor/monsterui/apilist.txt
vendored
Normal file
529
docs/vendor/monsterui/apilist.txt
vendored
Normal file
@@ -0,0 +1,529 @@
|
||||
# monsterui Module Documentation
|
||||
|
||||
## monsterui.core
|
||||
|
||||
- `class ThemeRadii(Enum)`
|
||||
Members: none, sm, md, lg
|
||||
|
||||
|
||||
- `class ThemeShadows`
|
||||
|
||||
- `class ThemeFont`
|
||||
|
||||
- `class Theme(Enum)`
|
||||
Selector to choose theme and get all headers needed for app. Includes frankenui + tailwind + daisyui + highlight.js options
|
||||
Members: slate, stone, gray, neutral, red, rose, orange, green, blue, yellow, violet, zinc
|
||||
|
||||
- `headers(self, mode, icons, daisy, highlightjs, katex, apex_charts, radii, shadows, font)`
|
||||
Create frankenui and tailwind cdns
|
||||
|
||||
- `local_headers(self, mode, static_dir, icons, daisy, highlightjs, katex, apex_charts, radii, shadows, font)`
|
||||
Create headers using local files downloaded from CDNs
|
||||
|
||||
|
||||
## monsterui.daisy
|
||||
|
||||
- `class AlertT(Enum)`
|
||||
Alert styles from DaisyUI
|
||||
Members: info, success, warning, error
|
||||
|
||||
|
||||
- `def Alert(*c, **kwargs)`
|
||||
Alert informs users about important events.
|
||||
|
||||
- `class StepsT(Enum)`
|
||||
Options for Steps
|
||||
Members: vertical, horizonal
|
||||
|
||||
|
||||
- `class StepT(Enum)`
|
||||
Step styles for LiStep
|
||||
Members: primary, secondary, accent, info, success, warning, error, neutral
|
||||
|
||||
|
||||
- `def Steps(*li, **kwargs)`
|
||||
Creates a steps container
|
||||
|
||||
- `def LiStep(*c, **kwargs)`
|
||||
Creates a step list item
|
||||
|
||||
- `class LoadingT(Enum)`
|
||||
Members: spinner, dots, ring, ball, bars, infinity, xs, sm, md, lg
|
||||
|
||||
|
||||
- `def Loading(cls, htmx_indicator, **kwargs)`
|
||||
Creates a loading animation component
|
||||
|
||||
- `class ToastHT(Enum)`
|
||||
Horizontal position for Toast
|
||||
Members: start, center, end
|
||||
|
||||
|
||||
- `class ToastVT(Enum)`
|
||||
Vertical position for Toast
|
||||
Members: top, middle, bottom
|
||||
|
||||
|
||||
## monsterui.foundations
|
||||
|
||||
> Data Structures and Utilties
|
||||
|
||||
- `def stringify(o)`
|
||||
Converts input types into strings that can be passed to FT components
|
||||
|
||||
- `class VEnum(Enum)`
|
||||
Members:
|
||||
|
||||
- `__str__(self)`
|
||||
- `__add__(self, other)`
|
||||
- `__radd__(self, other)`
|
||||
|
||||
## monsterui.franken
|
||||
|
||||
- `class TextT(Enum)`
|
||||
Text Styles from https://franken-ui.dev/docs/text
|
||||
Members: paragraph, lead, meta, gray, italic, xs, sm, lg, xl, light, normal, medium, bold, extrabold, muted, primary, secondary, success, warning, error, info, left, right, center, justify, start, end, top, middle, bottom, truncate, break_, nowrap, underline, highlight
|
||||
|
||||
|
||||
- `class TextPresets(Enum)`
|
||||
Common Typography Presets
|
||||
Members: muted_sm, muted_lg, bold_sm, bold_lg, md_weight_sm, md_weight_muted
|
||||
|
||||
|
||||
- `def CodeSpan(*c, **kwargs)`
|
||||
A CodeSpan with Styling
|
||||
|
||||
- `def CodeBlock(*c, **kwargs)`
|
||||
CodeBlock with Styling
|
||||
|
||||
- `def H1(*c, **kwargs)`
|
||||
H1 with styling and appropriate size
|
||||
|
||||
- `def H2(*c, **kwargs)`
|
||||
H2 with styling and appropriate size
|
||||
|
||||
- `def H3(*c, **kwargs)`
|
||||
H3 with styling and appropriate size
|
||||
|
||||
- `def H4(*c, **kwargs)`
|
||||
H4 with styling and appropriate size
|
||||
|
||||
- `def H5(*c, **kwargs)`
|
||||
H5 with styling and appropriate size
|
||||
|
||||
- `def H6(*c, **kwargs)`
|
||||
H6 with styling and appropriate size
|
||||
|
||||
- `def Subtitle(*c, **kwargs)`
|
||||
Styled muted_sm text designed to go under Headings and Titles
|
||||
|
||||
- `def Q(*c, **kwargs)`
|
||||
Styled quotation mark
|
||||
|
||||
- `def Em(*c, **kwargs)`
|
||||
Styled emphasis text
|
||||
|
||||
- `def Strong(*c, **kwargs)`
|
||||
Styled strong text
|
||||
|
||||
- `def I(*c, **kwargs)`
|
||||
Styled italic text
|
||||
|
||||
- `def Small(*c, **kwargs)`
|
||||
Styled small text
|
||||
|
||||
- `def Mark(*c, **kwargs)`
|
||||
Styled highlighted text
|
||||
|
||||
- `def Del(*c, **kwargs)`
|
||||
Styled deleted text
|
||||
|
||||
- `def Ins(*c, **kwargs)`
|
||||
Styled inserted text
|
||||
|
||||
- `def Sub(*c, **kwargs)`
|
||||
Styled subscript text
|
||||
|
||||
- `def Sup(*c, **kwargs)`
|
||||
Styled superscript text
|
||||
|
||||
- `def Blockquote(*c, **kwargs)`
|
||||
Blockquote with Styling
|
||||
|
||||
- `def Caption(*c, **kwargs)`
|
||||
Styled caption text
|
||||
|
||||
- `def Cite(*c, **kwargs)`
|
||||
Styled citation text
|
||||
|
||||
- `def Time(*c, **kwargs)`
|
||||
Styled time element
|
||||
|
||||
- `def Address(*c, **kwargs)`
|
||||
Styled address element
|
||||
|
||||
- `def Abbr(*c, **kwargs)`
|
||||
Styled abbreviation with dotted underline
|
||||
|
||||
- `def Dfn(*c, **kwargs)`
|
||||
Styled definition term with italic and medium weight
|
||||
|
||||
- `def Kbd(*c, **kwargs)`
|
||||
Styled keyboard input with subtle background
|
||||
|
||||
- `def Samp(*c, **kwargs)`
|
||||
Styled sample output with subtle background
|
||||
|
||||
- `def Var(*c, **kwargs)`
|
||||
Styled variable with italic monospace
|
||||
|
||||
- `def Figure(*c, **kwargs)`
|
||||
Styled figure container with card-like appearance
|
||||
|
||||
- `def Details(*c, **kwargs)`
|
||||
Styled details element
|
||||
|
||||
- `def Summary(*c, **kwargs)`
|
||||
Styled summary element
|
||||
|
||||
- `def Data(*c, **kwargs)`
|
||||
Styled data element
|
||||
|
||||
- `def Meter(*c, **kwargs)`
|
||||
Styled meter element
|
||||
|
||||
- `def S(*c, **kwargs)`
|
||||
Styled strikethrough text (different semantic meaning from Del)
|
||||
|
||||
- `def U(*c, **kwargs)`
|
||||
Styled underline (for proper names in Chinese, proper spelling etc)
|
||||
|
||||
- `def Output(*c, **kwargs)`
|
||||
Styled output element for form results
|
||||
|
||||
- `def PicSumImg(h, w, id, grayscale, blur, **kwargs)`
|
||||
Creates a placeholder image using https://picsum.photos/
|
||||
|
||||
- `def AccordionItem(title, *c)`
|
||||
Creates a single item for use within an Accordion component, handling title, content, and open state.
|
||||
|
||||
- `def Accordion(*c, **kwargs)`
|
||||
Creates a styled Accordion container using accordion component.
|
||||
|
||||
- `class ButtonT(Enum)`
|
||||
Options for styling Buttons
|
||||
Members: default, ghost, primary, secondary, destructive, text, link, xs, sm, lg, xl, icon
|
||||
|
||||
|
||||
- `def Button(*c, **kwargs)`
|
||||
Button with Styling (defaults to `submit` for form submission)
|
||||
|
||||
- `class ContainerT(Enum)`
|
||||
Max width container sizes from https://franken-ui.dev/docs/container
|
||||
Members: xs, sm, lg, xl, expand
|
||||
|
||||
|
||||
- `class BackgroundT(Enum)`
|
||||
Members: muted, primary, secondary, default
|
||||
|
||||
|
||||
- `def Container(*c, **kwargs)`
|
||||
Div to be used as a container that often wraps large sections or a page of content
|
||||
|
||||
- `def Titled(title, *c, **kwargs)`
|
||||
Creates a standard page structure for titled page. Main(Container(title, content))
|
||||
|
||||
- `class DividerT(Enum)`
|
||||
Divider Styles from https://franken-ui.dev/docs/divider
|
||||
Members: icon, sm, vertical
|
||||
|
||||
|
||||
- `def Divider(*c, **kwargs)`
|
||||
Divider with default styling and margin
|
||||
|
||||
- `def DividerSplit(*c)`
|
||||
Creates a simple horizontal line divider with configurable thickness and vertical spacing
|
||||
|
||||
- `def Article(*c, **kwargs)`
|
||||
A styled article container for blog posts or similar content
|
||||
|
||||
- `def ArticleTitle(*c, **kwargs)`
|
||||
A title component for use within an Article
|
||||
|
||||
- `def ArticleMeta(*c, **kwargs)`
|
||||
A metadata component for use within an Article showing things like date, author etc
|
||||
|
||||
- `class SectionT(Enum)`
|
||||
Section styles from https://franken-ui.dev/docs/section
|
||||
Members: default, muted, primary, secondary, xs, sm, lg, xl, remove_vertical
|
||||
|
||||
|
||||
- `def Section(*c, **kwargs)`
|
||||
Section with styling and margins
|
||||
|
||||
- `def Form(*c, **kwargs)`
|
||||
A Form with default spacing between form elements
|
||||
|
||||
- `def Fieldset(*c, **kwargs)`
|
||||
A Fieldset with default styling
|
||||
|
||||
- `def Legend(*c, **kwargs)`
|
||||
A Legend with default styling
|
||||
|
||||
- `def Input(*c, **kwargs)`
|
||||
An Input with default styling
|
||||
|
||||
- `def Radio(*c, **kwargs)`
|
||||
A Radio with default styling
|
||||
|
||||
- `def CheckboxX(*c, **kwargs)`
|
||||
A Checkbox with default styling
|
||||
|
||||
- `def Range(*c, **kwargs)`
|
||||
A Range with default styling
|
||||
|
||||
- `def TextArea(*c, **kwargs)`
|
||||
A Textarea with default styling
|
||||
|
||||
- `def Switch(*c, **kwargs)`
|
||||
A Switch with default styling
|
||||
|
||||
- `def Upload(*c, **kwargs)`
|
||||
A file upload component with default styling
|
||||
|
||||
- `def UploadZone(*c, **kwargs)`
|
||||
A file drop zone component with default styling
|
||||
|
||||
- `def FormLabel(*c, **kwargs)`
|
||||
A Label with default styling
|
||||
|
||||
- `class LabelT(Enum)`
|
||||
Members: primary, secondary, destructive
|
||||
|
||||
|
||||
- `def Label(*c, **kwargs)`
|
||||
FrankenUI labels, which look like pills
|
||||
|
||||
- `def UkFormSection(title, description, *c)`
|
||||
A form section with a title, description and optional button
|
||||
|
||||
- `def GenericLabelInput(label, lbl_cls, input_cls, container, cls, id, input_fn, **kwargs)`
|
||||
`Div(Label,Input)` component with Uk styling injected appropriately. Generally you should higher level API, such as `LabelInput` which is created for you in this library
|
||||
|
||||
- `def LabelInput(label, lbl_cls, input_cls, cls, id, **kwargs)`
|
||||
A `FormLabel` and `Input` pair that provides default spacing and links/names them based on id
|
||||
|
||||
- `def LabelRadio(label, lbl_cls, input_cls, container, cls, id, **kwargs)`
|
||||
A FormLabel and Radio pair that provides default spacing and links/names them based on id
|
||||
|
||||
- `def LabelCheckboxX(label, lbl_cls, input_cls, container, cls, id, **kwargs)`
|
||||
A FormLabel and CheckboxX pair that provides default spacing and links/names them based on id
|
||||
|
||||
- `def Options(*c)`
|
||||
Helper function to wrap things into `Option`s for use in `Select`
|
||||
|
||||
- `def Select(*option, **kwargs)`
|
||||
Creates a select dropdown with uk styling and option for adding a search box
|
||||
|
||||
- `def LabelSelect(*option, **kwargs)`
|
||||
A FormLabel and Select pair that provides default spacing and links/names them based on id
|
||||
|
||||
- `@delegates(GenericLabelInput, but=['input_fn', 'cls']) def LabelRange(label, lbl_cls, input_cls, cls, id, value, min, max, step, label_range, **kwargs)`
|
||||
A FormLabel and Range pair that provides default spacing and links/names them based on id
|
||||
|
||||
- `class AT(Enum)`
|
||||
Link styles from https://franken-ui.dev/docs/link
|
||||
Members: muted, text, reset, primary, classic
|
||||
|
||||
|
||||
- `class ListT(Enum)`
|
||||
List styles using Tailwind CSS
|
||||
Members: disc, circle, square, decimal, hyphen, bullet, divider, striped
|
||||
|
||||
|
||||
- `def ModalContainer(*c, **kwargs)`
|
||||
Creates a modal container that components go in
|
||||
|
||||
- `def ModalDialog(*c, **kwargs)`
|
||||
Creates a modal dialog
|
||||
|
||||
- `def ModalHeader(*c, **kwargs)`
|
||||
Creates a modal header
|
||||
|
||||
- `def ModalBody(*c, **kwargs)`
|
||||
Creates a modal body
|
||||
|
||||
- `def ModalFooter(*c, **kwargs)`
|
||||
Creates a modal footer
|
||||
|
||||
- `def ModalTitle(*c, **kwargs)`
|
||||
Creates a modal title
|
||||
|
||||
- `def ModalCloseButton(*c, **kwargs)`
|
||||
Creates a button that closes a modal with js
|
||||
|
||||
- `def Modal(*c, **kwargs)`
|
||||
Creates a modal with the appropriate classes to put the boilerplate in the appropriate places for you
|
||||
|
||||
- `def Placeholder(*c, **kwargs)`
|
||||
Creates a placeholder
|
||||
|
||||
- `def Progress(*c, **kwargs)`
|
||||
Creates a progress bar
|
||||
|
||||
- `def UkIcon(icon, height, width, stroke_width, cls, **kwargs)`
|
||||
Creates an icon using lucide icons
|
||||
|
||||
- `def UkIconLink(icon, height, width, stroke_width, cls, button, **kwargs)`
|
||||
Creates an icon link using lucide icons
|
||||
|
||||
- `def DiceBearAvatar(seed_name, h, w)`
|
||||
Creates an Avatar using https://dicebear.com/
|
||||
|
||||
- `def Center(*c, **kwargs)`
|
||||
Centers contents both vertically and horizontally by default
|
||||
|
||||
- `class FlexT(Enum)`
|
||||
Flexbox modifiers using Tailwind CSS
|
||||
Members: block, inline, left, center, right, between, around, stretch, top, middle, bottom, row, row_reverse, column, column_reverse, nowrap, wrap, wrap_reverse
|
||||
|
||||
|
||||
- `def Grid(*div, **kwargs)`
|
||||
Creates a responsive grid layout with smart defaults based on content
|
||||
|
||||
- `def DivFullySpaced(*c, **kwargs)`
|
||||
Creates a flex div with it's components having as much space between them as possible
|
||||
|
||||
- `def DivCentered(*c, **kwargs)`
|
||||
Creates a flex div with it's components centered in it
|
||||
|
||||
- `def DivLAligned(*c, **kwargs)`
|
||||
Creates a flex div with it's components aligned to the left
|
||||
|
||||
- `def DivRAligned(*c, **kwargs)`
|
||||
Creates a flex div with it's components aligned to the right
|
||||
|
||||
- `def DivVStacked(*c, **kwargs)`
|
||||
Creates a flex div with it's components stacked vertically
|
||||
|
||||
- `def DivHStacked(*c, **kwargs)`
|
||||
Creates a flex div with it's components stacked horizontally
|
||||
|
||||
- `class NavT(Enum)`
|
||||
Members: default, primary, secondary
|
||||
|
||||
|
||||
- `def NavContainer(*li, **kwargs)`
|
||||
Creates a navigation container (useful for creating a sidebar navigation). A Nav is a list (NavBar is something different)
|
||||
|
||||
- `def NavParentLi(*nav_container, **kwargs)`
|
||||
Creates a navigation list item with a parent nav for nesting
|
||||
|
||||
- `def NavDividerLi(*c, **kwargs)`
|
||||
Creates a navigation list item with a divider
|
||||
|
||||
- `def NavHeaderLi(*c, **kwargs)`
|
||||
Creates a navigation list item with a header
|
||||
|
||||
- `def NavSubtitle(*c, **kwargs)`
|
||||
Creates a navigation subtitle
|
||||
|
||||
- `def NavCloseLi(*c, **kwargs)`
|
||||
Creates a navigation list item with a close button
|
||||
|
||||
- `class ScrollspyT(Enum)`
|
||||
Members: underline, bold
|
||||
|
||||
|
||||
- `def NavBar(*c)`
|
||||
Creates a responsive navigation bar with mobile menu support
|
||||
|
||||
- `def SliderContainer(*c, **kwargs)`
|
||||
Creates a slider container
|
||||
|
||||
- `def SliderItems(*c, **kwargs)`
|
||||
Creates a slider items container
|
||||
|
||||
- `def SliderNav(cls, prev_cls, next_cls, **kwargs)`
|
||||
Navigation arrows for Slider component
|
||||
|
||||
- `def Slider(*c, **kwargs)`
|
||||
Creates a slider with optional navigation arrows
|
||||
|
||||
- `def DropDownNavContainer(*li, **kwargs)`
|
||||
A Nav that is part of a DropDown
|
||||
|
||||
- `def TabContainer(*li, **kwargs)`
|
||||
A TabContainer where children will be different tabs
|
||||
|
||||
- `class CardT(Enum)`
|
||||
Card styles from UIkit
|
||||
Members: default, primary, secondary, destructive, hover
|
||||
|
||||
|
||||
- `def CardTitle(*c, **kwargs)`
|
||||
Creates a card title
|
||||
|
||||
- `def CardHeader(*c, **kwargs)`
|
||||
Creates a card header
|
||||
|
||||
- `def CardBody(*c, **kwargs)`
|
||||
Creates a card body
|
||||
|
||||
- `def CardFooter(*c, **kwargs)`
|
||||
Creates a card footer
|
||||
|
||||
- `def CardContainer(*c, **kwargs)`
|
||||
Creates a card container
|
||||
|
||||
- `def Card(*c, **kwargs)`
|
||||
Creates a Card with a header, body, and footer
|
||||
|
||||
- `class TableT(Enum)`
|
||||
Members: divider, striped, hover, sm, lg, justify, middle, responsive
|
||||
|
||||
|
||||
- `def Table(*c, **kwargs)`
|
||||
Creates a table
|
||||
|
||||
- `def TableFromLists(header_data, body_data, footer_data, header_cell_render, body_cell_render, footer_cell_render, cls, sortable, **kwargs)`
|
||||
Creates a Table from a list of header data and a list of lists of body data
|
||||
|
||||
- `def TableFromDicts(header_data, body_data, footer_data, header_cell_render, body_cell_render, footer_cell_render, cls, sortable, **kwargs)`
|
||||
Creates a Table from a list of header data and a list of dicts of body data
|
||||
|
||||
- `def apply_classes(html_str, class_map, class_map_mods)`
|
||||
Apply classes to html string
|
||||
|
||||
- `class FrankenRenderer`
|
||||
Custom renderer for Franken UI that handles image paths
|
||||
|
||||
- `def __init__(self, *args, **kwargs)`
|
||||
- `def render_image(self, token)`
|
||||
Modify image paths if they're relative and self.img_dir is specified
|
||||
|
||||
|
||||
- `def render_md(md_content, class_map, class_map_mods, img_dir, renderer)`
|
||||
Renders markdown using mistletoe and lxml with custom image handling
|
||||
|
||||
- `def ThemePicker(color, radii, shadows, font, mode, cls, custom_themes)`
|
||||
Theme picker component with configurable sections
|
||||
|
||||
- `def LightboxContainer(*lightboxitem, **kwargs)`
|
||||
Lightbox container that will hold `LightboxItems`
|
||||
|
||||
- `def LightboxItem(*c, **kwargs)`
|
||||
Anchor tag with appropriate structure to go inside a `LightBoxContainer`
|
||||
|
||||
- `def ApexChart(**kws)`
|
||||
Apex chart component
|
||||
|
||||
- `def ScrollSpy(headings, target_sel, offset, nav_id, smooth_scroll, **kwargs)`
|
||||
Standalone Scrollspy nav menu, mapping heading tags from target into link
|
||||
|
||||
- `def LoaderButton(*c, **kwargs)`
|
||||
A button that displays a loading spinner when an HTMX request is in flight
|
||||
|
||||
- `def ToggleBtn(*c, **kwargs)`
|
||||
Styled toggle button component, acts like a switch
|
||||
|
||||
Reference in New Issue
Block a user