mcpField
A
animal-island-ui-style

animal-island-ui-style

github.com/guokaigdgDesign & UI5.1k142 installsUpdated 2d ago
Repository

About animal-island-ui-style

A style guide for the animal-island-ui component library in React and TypeScript projects, with guidance for both package-based use and standalone HTML. It documents design tokens, components, and strict styling and usage rules.

Key features

  1. 01Warm palette and rounded-shape guidance
  2. 02Defines --animal-* CSS tokens
  3. 03Catalog of 40 components
  4. 04Documents prop and import rules
  5. 05Includes standalone HTML guidance

Use cases

  1. 01Use animal-island-ui in a React project
  2. 02Recreate the style in a standalone HTML page
  3. 03Style custom UI with shared design tokens

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/guokaigdg/animal-island-ui --skill animal-island-ui-style

After installing, type/animal-island-ui-stylein Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

README.md
SKILL.zh-CN.md
references/
react-project.md
standalone-html.md
references/components/
calendar.md
CountUp.md
data-display.md
date-time.md
decorative.md
feedback.md
form-controls.md
Form.md
general.md
layout.md
media.md
Notification.md
overlays.md
upload.md

Details

From the project README

animal-island-ui style

animal-island-ui is a React + TypeScript component library with an original cozy island-style design — 40 components, two runtime dependencies (naive-icons for icons, dayjs for dates), MIT License.

Source & canonical design definition: https://github.com/guokaigdg/animal-island-ui

Pick your scenario first

ScenarioEntry
React project — the animal-island-ui npm package is (or can be) installedreferences/react-project.md
Single self-contained HTML file — no npm, no bundler, React via CDN + Babel runtimereferences/standalone-html.md

Both scenarios share the component catalog and the hard rules below.

The style in one paragraph

Warm parchment backgrounds (--animal-bg), earth-brown text (never pure black), mint-teal primary accent, large-radius pill shapes (buttons and inputs are 50px pills; nothing interactive below 12px radius), 3D "game button" stacked shadow on primary buttons only, rounded Nunito + Noto Sans SC typography (body weight 500, headings 600–900), soft cubic-bezier(0.4, 0, 0.2, 1) motion over 0.15–0.35s, and a mix of geometric shapes (swallowtail ribbon Title, digit-tile Countdown) with organic ones (SVG blob-clipped Modal).

Design tokens

The packaged stylesheet declares runtime CSS custom properties on :root — prefix --animal-* — mapped from the library's compile-time tokens. Groups: primary/status colors (with hover/active/bg variants), text colors, backgrounds, borders, radii, spacing, shadows, font family/sizes, motion durations/easing, control heights.

When to use them:

Token values are deliberately not restated here. Exact definitions (every hex/px/ms): design-tokens.md. Pixel-exact per-component CSS (shadows, keyframes, clip-paths): design-system/components/.

Component catalog

Props references are grouped by category under references/components/ (props, legal values, defaults — copied from source):

CategoryComponentsReference
GeneralButton, Typewriter, Cursorgeneral.md
LayoutCard, Title, Divider, Collapse, Tabslayout.md
Form controlsInput, Switch, Checkbox, Radio, Rate, Selectform-controls.md
UploadUploadupload.md
Date & timeDatePicker, TimePickerdate-time.md
Form containerForm (+ FormItem, useForm)Form.md
OverlaysModal, Drawer, Tooltipoverlays.md
FeedbackProgress, Skeleton, BackTop, Loading, Countdown, Timefeedback.md
NotificationNotification (imperative API)Notification.md
Data displayTable, CodeBlock, Tag, Badge, Paginationdata-display.md
CalendarCalendarcalendar.md
Count-up scoreCountUpCountUp.md
MediaImage, Avatar, Carouselmedia.md
DecorativeFooter, Divider, Cursor, Typewriter, Backgrounddecorative.md

Hard rules (violations are bugs)

  1. Never invent props. Every prop must appear in the component reference (or, in an installed project, in the package's TypeScript declarations — the ground truth).
  2. Import the stylesheet exactly once at the app entry: import 'animal-island-ui/style'. Without it components render unstyled.
  3. Never use pure black (#000/#111) text or cold gray (#fafafa/#f5f5f5) backgrounds.
  4. Never use cold blue focus rings. Focus colors are yellow (#ffcc00 inputs) or the mint primary (buttons).
  5. Never give an interactive element corners sharper than 12px radius; buttons and inputs are 50px pills.
  6. The 3D pixel-stack shadow belongs to primary / danger-primary buttons only. Cards have no box-shadow. Switch has no outer shadow. Input shadow is opt-in (shadow={true}).
  7. Modal keeps its SVG blob clip-path — never a rounded rectangle. Title is a swallowtail ribbon — never a blob, pill, or plain block (Card type="title" no longer exists).
  8. Fonts are Nunito + Noto Sans SC; weight never below 400; no monospace for UI text (CodeBlock excepted).
  9. Motion uses cubic-bezier(0.4, 0, 0.2, 1) over 0.15–0.35s.
  10. Icons come from the external naive-icons package (e.g. import { FlowerIcon } from 'naive-icons') — never emoji, Unicode symbols (✓ ✕ →), hand-rolled SVG, or third-party icon libraries. Prefer naive-icons icon components over emoji everywhere you can. Cursor is the single exception: its artwork is hand-authored inline SVG because CSS cursor accepts image URLs only — leave it alone.
  11. Select is controlled-only (options + value + onChange all required). Controlled Input/Switch/Checkbox/Radio/Rate need onChange too.
  12. Prefer library components over raw HTML: no visible native <button>, <input>, <select>, checkbox/radio — wrap or use the library equivalents.
  13. Import only from the package root and animal-island-ui/style — no deep imports.
  14. Style custom elements with var(--animal-*) tokens, not hard-coded colors; never use className/style to override a component's colors, radii, or shadows.

Comments

Markdown supported