Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
57 commits
Select commit Hold shift + click to select a range
0a5597f
:bug: Fixed a bug where ticker component displayed target time not ta…
hayleigh-dot-dev Dec 23, 2024
98c609a
:recycle: Schedule an animation tick whenever the duration changes.
hayleigh-dot-dev Dec 23, 2024
0f051ac
:recycle: Remove 'use_x' attributes, increase default space scale.
hayleigh-dot-dev Dec 23, 2024
69e7d21
:art: Remove hr resets.
hayleigh-dot-dev Dec 23, 2024
cb6f5f5
:recycle: Rename 'main' element to 'element' in each component.
hayleigh-dot-dev Jan 8, 2025
f313aeb
:construction:
hayleigh-dot-dev Jul 19, 2025
f334a54
:fire: Blank slate.
hayleigh-dot-dev Jul 19, 2025
dd09d6e
:see_no_evil: Gitignore fable build artifacts.
hayleigh-dot-dev Aug 15, 2025
2539e41
:sparkles: Create a module for interacting with the dom and its nodes.
hayleigh-dot-dev Aug 15, 2025
148b7ee
:sparkles: Create a flexible one-time password input.
hayleigh-dot-dev Aug 15, 2025
90c105e
:sparkles: Create an entry module to register any components in one go.
hayleigh-dot-dev Aug 15, 2025
8c1fda9
:wrench: Add dom module to list of internal modules.
hayleigh-dot-dev Aug 15, 2025
e71b97a
:see_no_evil: Gitignore fable styles.
hayleigh-dot-dev Aug 15, 2025
7896d59
:wrench: Update deps.
hayleigh-dot-dev Aug 15, 2025
cfc8e8b
:camera_flash: Create fable stories for otp input.
hayleigh-dot-dev Aug 15, 2025
7344791
:wrench: Create tailwind entry for fable.
hayleigh-dot-dev Aug 15, 2025
c232744
:bug: Fixed a bug attempting to reassign const 'observer'.
hayleigh-dot-dev Aug 15, 2025
4586ab7
✨ Allow mixing digits and letters in OTP
fruno-bulax Aug 16, 2025
2afb2c6
fixup! ✨ Allow mixing digits and letters in OTP
fruno-bulax Aug 18, 2025
d6f4bb9
🔀 Merge pull request #24 from frunobulax-the-poodle/feat/otp-filter
hayleigh-dot-dev Aug 18, 2025
fceb79b
:wrench: Use published version of lustre.
hayleigh-dot-dev Aug 23, 2025
a16f89d
:sparkles: Implement <lustre-ui-menu /> component.
hayleigh-dot-dev Sep 2, 2025
884cc9a
:wrench: Configure internal directories.
hayleigh-dot-dev Sep 2, 2025
40e1f83
:alembic: Add stories for menu component.
hayleigh-dot-dev Sep 2, 2025
8570602
:construction:
hayleigh-dot-dev Dec 17, 2025
4fa9347
:fire: Nuke old stuff.
hayleigh-dot-dev Jan 10, 2026
29b6879
:fire: Remove test dir.
hayleigh-dot-dev Jan 10, 2026
c82a2b6
:wrench: Update deps.
hayleigh-dot-dev Jan 10, 2026
4f78a5a
:sparkles: Create utils for working with the dom.
hayleigh-dot-dev Jan 10, 2026
09d0034
:sparkles: Create a simple random id generator.
hayleigh-dot-dev Jan 10, 2026
615faf6
:sparkles: Create a 'Prop' type to abstract over controlled/uncontrol…
hayleigh-dot-dev Jan 10, 2026
975a583
:sparkles: Implement accordion component.
hayleigh-dot-dev Jan 10, 2026
cb972de
:construction: Add some basic accordion stories.
hayleigh-dot-dev Jan 10, 2026
5ca29ac
:memo: Add checklist of components to finish.
hayleigh-dot-dev Jan 10, 2026
864ea1f
:recycle: Remove redundant id.
hayleigh-dot-dev Jan 20, 2026
2341a17
:recycle: Prefix type names with 'Accordion' for clearer display in t…
hayleigh-dot-dev Jan 23, 2026
9f4b90f
:recycle: Spring cleaning.
hayleigh-dot-dev Jan 23, 2026
49ddb78
:memo: Document element tag names.
hayleigh-dot-dev Jan 23, 2026
8fb984a
:recycle: Add labels to accordion.item call.
hayleigh-dot-dev Jan 25, 2026
3be78da
:memo: Document HTML tags and default 'display'.
hayleigh-dot-dev Jan 25, 2026
15bdecf
:sparkles: Add tabs component.
hayleigh-dot-dev Jan 25, 2026
b707649
:sparkles: Add stories for tabs component.
hayleigh-dot-dev Jan 25, 2026
62fcb53
:sparkles: Add more utilities for working with components.
hayleigh-dot-dev Jan 25, 2026
0ca7158
:recycle: 'prop.touch' always sets touched to true.
hayleigh-dot-dev Jan 25, 2026
cd263d3
:recycle: Prefix generated ids with 'lustre-'.
hayleigh-dot-dev Jan 25, 2026
38228cc
:memo: Update checklist.
hayleigh-dot-dev Jan 25, 2026
86a236e
:sparkles: Add 'loop' attribute for tabs and tabslist.
hayleigh-dot-dev Jan 25, 2026
c5c1248
:recycle: Accordion trigger now handles clicks/keydowns directly.
hayleigh-dot-dev Feb 28, 2026
5bd8ccb
:recycle: Remove 'echo'.
hayleigh-dot-dev Feb 28, 2026
785caf5
:recycle: Tabs trigger now handles clicks/keydowns directly.
hayleigh-dot-dev Feb 28, 2026
207f954
:sparkles: Add ffi functions to prevent/stop propagation directly on …
hayleigh-dot-dev Feb 28, 2026
f947e30
:memo: Add docs category/sorting script to tabs module.
hayleigh-dot-dev Feb 28, 2026
b9c8603
:sparkles: Add toggle component.
hayleigh-dot-dev Mar 5, 2026
3393924
:sparkles: Add WIP tooltip component.
hayleigh-dot-dev Mar 10, 2026
be860f3
:wrench: Update deps.
hayleigh-dot-dev Mar 10, 2026
d3ff023
:bug: Fix a bug where accordion root tried to register all components.
hayleigh-dot-dev Mar 10, 2026
8b66e84
:bug: Fix a bug where toggle root tried to register group component.
hayleigh-dot-dev Mar 10, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 8 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,11 @@
build
erl_crash.dump
node_modules
example/index.html
example/priv

src/lustre_ui.css

priv/static/lustre_ui_storybook.*

#Added automatically by Lustre Dev Tools
/.lustre
/dist
18 changes: 18 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,24 @@ gleam add lustre_ui@1.0.0-rc.1
Ensure the required CSS is rendered in your apps by serving the stylesheet found
in the `priv/static` directory of this package!

## Usage

In order for lustre/ui to work correctly you need to do two things:

1. Include the lustre/ui stylesheet in your app. This can be found in the
`priv/static` directory for _this package_ and can either be served by your
backend (in case of a full stack application) or copied or otherwise included
from `build/packages/lustre_ui/priv/static` in your frontend application.

2. Construct a theme from the `lustre/ui/theme` module and render the dynamic
style element by calling `theme.to_style` or wrapping your application's view
function using `theme.inject`.

**Both** of these steps must be done in order for the components to render
correctly. The base stylesheet includes the necessary CSS rules and classes for
every component, and your theme defines the design tokens and CSS variables used
by those components.

## Support

Lustre is mostly built by just me, [Hayleigh](https://github.com/hayleigh-dot-dev),
Expand Down
505 changes: 0 additions & 505 deletions assets/diagram-alert.svg

This file was deleted.

40 changes: 0 additions & 40 deletions birdie_snapshots/tween_in_back.accepted

This file was deleted.

40 changes: 0 additions & 40 deletions birdie_snapshots/tween_in_bounce.accepted

This file was deleted.

40 changes: 0 additions & 40 deletions birdie_snapshots/tween_in_circ.accepted

This file was deleted.

40 changes: 0 additions & 40 deletions birdie_snapshots/tween_in_cubic.accepted

This file was deleted.

40 changes: 0 additions & 40 deletions birdie_snapshots/tween_in_elastic.accepted

This file was deleted.

40 changes: 0 additions & 40 deletions birdie_snapshots/tween_in_expo.accepted

This file was deleted.

40 changes: 0 additions & 40 deletions birdie_snapshots/tween_in_out_back.accepted

This file was deleted.

40 changes: 0 additions & 40 deletions birdie_snapshots/tween_in_out_bounce.accepted

This file was deleted.

Loading