@liketysplit/react-luna 0.1.6 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +20 -0
- package/dist/components/index.d.ts +1 -0
- package/dist/components/luna-avatar/LunaAvatar.d.ts +11 -0
- package/dist/components/luna-avatar/LunaAvatar.props.d.ts +10 -0
- package/dist/components/luna-avatar/index.d.ts +2 -0
- package/dist/components/luna-date-input/LunaDateInput.d.ts +1 -1
- package/dist/index.js +1449 -1328
- package/dist/style.css +1 -1
- package/dist/theme/types.d.ts +16 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -3,11 +3,18 @@
|
|
|
3
3
|
Statement
|
|
4
4
|
@liketysplit/react-luna is a self-sufficient React component library designed to be a durable foundation for personal applications. It targets a clean, lunar aesthetic with a default light and dark theme that can be overridden at the project level after installation.
|
|
5
5
|
|
|
6
|
+
Current direction:
|
|
7
|
+
- treat themeability as a first-class requirement
|
|
8
|
+
- use `LunaButton` as the baseline contract example for primitive quality
|
|
9
|
+
- keep primitives durable enough that downstream projects can make the library feel like their own
|
|
10
|
+
|
|
6
11
|
Goals
|
|
7
12
|
- Provide a complete set of reusable UI primitives and layouts.
|
|
8
13
|
- Keep the library independent from third-party UI frameworks.
|
|
9
14
|
- Ship a default Lunar theme with light and dark variants.
|
|
10
15
|
- Allow downstream projects to override theme tokens and component styling.
|
|
16
|
+
- Harden component contracts before broadening surface area.
|
|
17
|
+
- Keep Storybook, tests, and public docs aligned with meaningful component changes.
|
|
11
18
|
|
|
12
19
|
Non-goals
|
|
13
20
|
- Depending on external UI component libraries.
|
|
@@ -16,12 +23,25 @@ Design Approach
|
|
|
16
23
|
- Theme tokens first, component styles derived from tokens.
|
|
17
24
|
- Accessible defaults and consistent spacing/typography scales.
|
|
18
25
|
- Clear layering of primitives, composites, and templates.
|
|
26
|
+
- Primitive contracts should be small, explicit, and durable.
|
|
27
|
+
- `LunaButton` is the proving ground for contract quality and theme extensibility.
|
|
19
28
|
|
|
20
29
|
Tooling
|
|
21
30
|
- React for component implementation.
|
|
22
31
|
- Storybook for interactive component exploration and configuration.
|
|
23
32
|
- Changesets for package versioning and release notes.
|
|
24
33
|
|
|
34
|
+
Working Model
|
|
35
|
+
- Use GitHub Issues as the active backlog.
|
|
36
|
+
- Keep repository docs aligned with the actual issue and milestone direction.
|
|
37
|
+
- Treat implementation, Storybook, tests, and docs as one delivery slice when behavior changes.
|
|
38
|
+
|
|
39
|
+
Roadmap Shape
|
|
40
|
+
- `docs/ROADMAP.md` records the release-shape north star.
|
|
41
|
+
- `0.0.x` is for building the needed component base.
|
|
42
|
+
- `0.x.x` is for hardening the library.
|
|
43
|
+
- `1.1.x` is for building a real app with the library and correcting flaws found through actual use.
|
|
44
|
+
|
|
25
45
|
Release Flow
|
|
26
46
|
- Add a changeset with `npm run changeset` for any package change that should affect the published version.
|
|
27
47
|
- Merge to `main`.
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import "./LunaAvatar.css";
|
|
3
|
+
export declare const LunaAvatar: React.ForwardRefExoticComponent<Omit<React.HTMLAttributes<HTMLElement>, "children" | "color"> & {
|
|
4
|
+
as?: React.ElementType;
|
|
5
|
+
src?: string;
|
|
6
|
+
alt?: string;
|
|
7
|
+
name?: string;
|
|
8
|
+
initials?: string;
|
|
9
|
+
fallback?: React.ReactNode;
|
|
10
|
+
size?: string;
|
|
11
|
+
} & React.RefAttributes<HTMLElement>>;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type React from "react";
|
|
2
|
+
export type LunaAvatarProps = Omit<React.HTMLAttributes<HTMLElement>, "children" | "color"> & {
|
|
3
|
+
as?: React.ElementType;
|
|
4
|
+
src?: string;
|
|
5
|
+
alt?: string;
|
|
6
|
+
name?: string;
|
|
7
|
+
initials?: string;
|
|
8
|
+
fallback?: React.ReactNode;
|
|
9
|
+
size?: string;
|
|
10
|
+
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import "./LunaDateInput.css";
|
|
3
|
-
export declare const LunaDateInput: React.ForwardRefExoticComponent<Omit<React.InputHTMLAttributes<HTMLInputElement>, "size" | "
|
|
3
|
+
export declare const LunaDateInput: React.ForwardRefExoticComponent<Omit<React.InputHTMLAttributes<HTMLInputElement>, "size" | "prefix" | "type"> & {
|
|
4
4
|
label?: React.ReactNode;
|
|
5
5
|
externalLabel?: boolean;
|
|
6
6
|
helpText?: React.ReactNode;
|