Skip to content

Changelog

All notable changes to Catnip packages.

Versioning

Catnip follows Semantic Versioning:

  • Major — Breaking changes
  • Minor — New features, backward compatible
  • Patch — Bug fixes

Releases are managed via Changesets. Packages are published to the Signicat GitLab npm registry.

Canonical history — Release notes for every publishable package are maintained on this page first. Some packages also ship a CHANGELOG.md in their npm tarball for convenience; after pnpm changeset, update this document when you cut a release, and keep any per-package file in sync when it exists.


@signicat/catnip-components

0.0.36

  • CatnipDialog — New catnip-dialog modal component with native <dialog> semantics, prop- or slot-based header/footer sections, CatnipButton footer actions, backdrop click/blur options, focus trap, Escape handling, focus restoration, and catalogue/playground docs.
  • CatnipDialog — Dismissal actions are fully controlled: close requests emit close-dialog and update:isOpen=false, then wait for the consumer to set isOpen=false before removing the dialog.
  • CatnipDialog — Uses the browser's native showModal() focus containment by default and keeps the custom Tab focus trap only for the non-modal fallback path.
  • CatnipDialogclosable=false now blocks Escape and backdrop dismissal; generated close and enabled cancel buttons remain explicit dismissal routes.
  • Docs — Dialog live preview opens through a demo button, keeps the isOpen control synchronized after internal dismissal, preserves explicit false values for default-enabled booleans such as showCloseButton, and leaves submit dismissal decisions to the consumer.

0.0.35

  • Release — Version bump for publish. No component API changes vs 0.0.34.

0.0.34

  • CatnipInputFile — New catnip-input-file drag-and-drop upload field with horizontal/vertical layouts, M/L sizes, inline danger presentation, native file input, form association, and a files slot for composing catnip-file-item rows.
  • CatnipInputFile — Drop-zone copy is configurable via props and named slots (uploadLink, dragDrop, acceptHint, dragActive, errorTitle, errorHint).
  • CatnipFileItem — New catnip-file-item row component for a single uploaded or processed file (ready, inProgress, done, warning, danger statuses; download, delete, cancel, retry, and dismiss actions; optional progress bar).
  • Docs — File Input and File Item catalogue pages, playground configuration, and sidebar entries.
  • Docs — Split Button playground composition example with full keyboard navigation for consumer-rendered catnip-list menus (arrows, Home/End, Enter/Space, Escape, typeahead).

0.0.33

  • CatnipRangeInput — New catnip-range-input field component with native range semantics, shared field label/supporting-text patterns, M/L Figma-aligned sizes, optional min/max labels, hover/focus/drag value tooltip, alwaysShowValueTooltip, exact-value input, form association, docs, and playground support.
  • CatnipRangeInputmin, max, and step normalize the selected value consistently across pointer, keyboard, and exact-value input interactions. Endpoint labels fall back to the current min / max values unless custom minLabel / maxLabel text is provided.
  • CatnipRangeInput — Validation copy remains consumer-owned: pass dynamic messages through supportingText and drive intent from the consumer. Danger/warning/success state is reflected in supporting text and the optional value input; the slider track and thumb remain neutral/primary.
  • Docs — Range Input catalogue pages and live playground configuration keep min, max, step, and modelValue synchronized.

0.0.32

  • Dependencies — Version alignment with @signicat/catnip-design-tokens@0.1.6 and @signicat/catnip-css@0.0.12. No component source changes.

0.0.30

  • CatnipRadio & CatnipRadioGroup — New radio and radio-group components (field label, options API, per-row validation, form association).
  • FieldSupportingText — Supporting-text lines can include an icon via the { text, icon?, intent? } object shape (used by Checkbox, Checklist, Radio, and RadioGroup).
  • CatnipCheckbox, CatnipToggle, CatnipRadio — Avoid false missing-label warnings on first paint (initialAssumeHasContent for default slot detection).
  • CatnipCheckbox — CheckboxControl hover selector fix and danger-state token alignment.

0.0.31

  • Dependencies — Fix published dependency pins to @signicat/catnip-assets@0.0.11 ( countries/flags/svg export), @signicat/catnip-css@0.0.11, and @signicat/catnip-icons@0.0.14. Resolves npm hoisting @signicat/catnip-assets@0.0.10 when upgrading css without a direct assets dependency. No component source changes.

0.0.29

  • CatnipDropdown — Opt-in select-all row for multi-select dropdowns (checkbox, indeterminate state, toggles visible enabled rows; with filterable, applies to filtered rows only).
  • CatnipInputDate — Restore show-actions for panel Clear / Submit row (independent of show-time).

0.0.28

  • CatnipSplitButton — New catnip-split-button dual-action control: main button (click) plus suffix trigger (suffix-click) for consumer-rendered related action surfaces. Includes controlled open selected styling, default inactive/active suffix chevrons with suffixInactiveIcon / suffixActiveIcon slots, aria-controls / aria-haspopup hooks, appearances primary, secondary, ghost; sizes s, m, l; intent default / danger; loading and disabled states; docs and playground.
  • CatnipButton — Figma token alignment for utility appearance (hover/active borders, disabled background/content tokens, pressed background token).
  • CatnipChip — Figma token alignment for selected, selectable, and removable states (hover/pressed/focus, explicit heights per size, remove-button styling).
  • CatnipInput — Focus rings for primary and danger intents use existing border-*-focus tokens; warning and success keep content-*-strong for focus rings.
  • CatnipDropdownOption — Fix infinite syncRegistry() retry when an option is mounted outside catnip-dropdown (DEV warning instead).

0.0.27

  • Breakingcatnip-illustration / CatnipIllustration renamed to catnip-graphic / CatnipGraphic. CSS variables --catnip-illustration-*--catnip-graphic-*; prop-key export CATNIP_ILLUSTRATION_PROP_KEYSCATNIP_GRAPHIC_PROP_KEYS. Docs moved from /components/illustration to /components/graphic.
  • CatnipInputPhone — New catnip-input-phone field component with country picker, preloaded country flags from @signicat/catnip-assets, browser-locale country defaulting, +-prefixed paste splitting, compact JSON form serialization, locale strings, test selectors, docs, and playground support.
  • CatnipInputDate — Range mode shows From / To segment labels above each trigger (override via startLabel / endLabel props or slots). Range placeholders use display-format hints instead of role names.
  • CatnipChecklist — New catnip-checklist field control (options + modelValue, label, supporting text, role="group").
  • CatnipCheckbox — Visual alignment with Figma (radius, spacing, label weight, disabled/read-only checked states, hit target). Optional supporting-text below the option row for per-option errors; group label/copy remains on catnip-checklist.
  • CatnipInputDate — New catnip-input-date field component for single dates, date/time, and date ranges. Values stay canonical (YYYY-MM-DD or YYYY-MM-DDTHH:mm) while visible text can be changed with Day.js-style display formats. Includes floating calendar panel, range preview states, year selection, range-only maxRangeDays, optional inline clear button, optional Clear / Submit actions, locale strings, test selectors, docs, playground, and form-element registration.
  • CatnipListItem — Fix leading and trailing slot forwarding on the public catnip-list-item custom element by detecting named host slots before rendering the internal row slot templates.

0.0.26

  • CatnipDropdown — New catnip-dropdown field component with teleported list panel, single/multi selection, keyboard navigation, and slot-first customization. Supply options via the options prop (plain { value, label, … } rows) or <catnip-dropdown-option> child elements (rich slots); options takes precedence when both are present. Multi-select displayMode: value, chips, count; overflow via maxVisibleChips. Filterable lists support built-in label search (filterable, filterLocally) or parent-controlled filtering.
  • CatnipCheckbox — New catnip-checkbox form control (sizes m / l, checked, indeterminate, disabled, read-only, danger). Shared CheckboxControl primitive also powers multi-select rows in catnip-dropdown lists.
  • CatnipFieldLabel — New public catnip-field-label custom element for labelling custom controls (native elements, third-party widgets). Same API as the label row embedded in Input, Number Input, and Chip Input; composite inputs unchanged.
  • CatnipInputChip — Draft line API: default embedded catnip-input uses internal draft with setDraftValue() (set/reset) and optional update:draftValue (observe). draftValue prop is ignored on the default path. draftInput slot: parent binds .draftValue; Add commits that value; parent clears after update:modelValue. catnipInput applies to the default draft input only.
  • Testingpnpm run test in @signicat/catnip-components (Vitest) for dropdown value, entries, registry, filter keyboard, and listbox helpers.

0.0.25

  • CatnipInputNumber — Fix stepper + / not incrementing past the first step when the field is focused (blur-before-click on nested stepper buttons; stale modelValue from the parent resetting the value). Stepper clicks use @mousedown.capture.prevent to keep focus on the input; ignore stale parent null while a numeric value is active; commit blur from the live input value.
  • DocsComponentPlayground fixes modelValue sync for catnip-input-number: bridge pending value through prop sync, avoid re-applying config null over a live value, set host .modelValue before removing the attribute.

0.0.24

  • CatnipButton (breaking) — Rename prop hierarchyappearance with values primary, secondary, ghost, and tertiary. Rename shapepurpose with values main (was rounded) and utility (was squared). Rename intent value neutraldefault. Former tertiary (label-only) styling is now ghost; tertiary is utility-only and uses a neutral subtle fill (no border in default states).
  • CatnipButtonappearance="tertiary" with purpose="main" coerces to primary (dev warning). intent="danger" is only supported with appearance primary or ghost; other combinations coerce to primary + danger (dev warning). size="xs" requires purpose="utility"; otherwise renders as s (dev warning).
  • CatnipButton — New selected prop (purpose="utility" only; ignored otherwise with dev warning). Sets aria-pressed="true" and catnip-button--selected. Primary selected: strong-pressed fill with on-primary text. Secondary, ghost, and tertiary selected: primary subtle fill, primary strong border, primary strong text.
  • CatnipButton — Tertiary utility styles aligned with Figma: background-neutral-subtle / -hover / -pressed, focus ring without inset border, disabled background-disabled-subtler + content-disabled-strong.
  • CatnipInputChip (breaking) — Rename from Tag Input: custom element catnip-input-chip (was catnip-input-tag), component CatnipInputChip, props minChips / maxChips / maxVisibleChips (was minTags / maxTags / maxVisibleTags), locale keys inputChip.*, test selector chips, export CATNIP_INPUT_CHIP_PROP_KEYS (was CATNIP_INPUT_TAG_PROP_KEYS). Docs catalogue path input-chip.
  • CatnipInputNumber — Stepper buttons use appearance="tertiary" and purpose="utility" (was hierarchy="tertiary").
  • CatnipInputChip — Show-more / show-less controls use appearance="ghost" (was tertiary).
  • Docs — Button overview, specs, and playground updated for appearance, purpose, intent, selected, and utility constraints. Chip Input docs and cross-links updated for the rename.

0.0.23

  • CatnipInputNumber — New catnip-input-number custom element for a single numeric value with trailing / + steppers (CatnipButton, tertiary). modelValue is number | null (empty field → null; placeholder is display-only). min / max clamp on commit; step (default 1) drives steppers, Arrow Up / Arrow Down, and max fractional precision (e.g. 0.01 → two decimals, rounded on blur and after stepping). Optional digit grouping via separateAt, separator (,**, **.**, space), and **decimalSeparator**; grouping applies on blur and after steppers while the emitted value stays unformatted. **role="spinbutton"** with **aria-valuenow** / **min** / **max**; stepper labels from locales **inputNumber.decrement** / **inputNumber.increment**. Same integrated label and supporting-text patterns as **CatnipInput** (**label**, **label.action**, **label.suffix** slots). Test selectors: **root**, **control**, **decrementButton**, **incrementButton**, **supportingText`.
  • Helpers — New numberFormat module (formatGroupedNumber, parseGroupedNumber, clampNumber, getDecimalPlacesFromStep, etc.) shared by CatnipInputNumber display and parsing.
  • CatnipInputChip — Draft-input configuration forwards through a nested catnipInput prop (for example .catnipInput="{ placeholder: 'Add a tag', leftIcon: 'search', showClearButton: true }"). The tag reserves modelValue, type, hideLabel, name, and supportingText on the embedded input so chips, Add, supporting text, and the draft line stay aligned. size, intent, disabled, readonly, and required stay top-level.
  • CatnipInputChip — Add-button configuration forwards through a nested addButton prop (same pattern as catnipInput). The tag reserves type, disabled, and size; everything else on CatnipButtonProps (hierarchy, shape, leftIcon, rightIcon, intent, ariaLabel, loading, name, value, form, autofocus, testSelectors) forwards as-is, plus a synthetic label for the button's visible text.
  • Prop-key exports — Every CE component now exports a CATNIP_<NAME>_PROP_KEYS array from its *.types.ts (built from defaultProps): CATNIP_BUTTON_PROP_KEYS, CATNIP_INPUT_PROP_KEYS (full label + control surface; CATNIP_INPUT_CONTROL_PROP_KEYS still ships for draft-only forwarding), CATNIP_INPUT_NUMBER_PROP_KEYS, CATNIP_INPUT_TAG_PROP_KEYS, CATNIP_CHIP_PROP_KEYS, CATNIP_ICON_PROP_KEYS, CATNIP_LINK_PROP_KEYS, CATNIP_TOGGLE_PROP_KEYS, CATNIP_TOOLTIP_PROP_KEYS, CATNIP_DIVIDER_PROP_KEYS, CATNIP_TABS_PROP_KEYS, CATNIP_ILLUSTRATION_PROP_KEYS, CATNIP_SPINNER_PROP_KEYS. Pair with mergeProps for composed-parent forwarding.
  • CatnipInputChipmaxVisibleTags collapses long chip lists behind a tertiary Show n more button; expanded view shows Show less. Labels come from new locales inputChip.showMore (with {count} placeholder) and inputChip.showLess and are overridable via show-more-tags-label / show-less-tags-label.
  • CatnipInput / CatnipInputChip — Label row exposes label, label.action, and label.suffix slots, matching the <child>.<slot> namespace convention used for nested forwarding.
  • CatnipInputChip — Draft-input slots forward as catnipInput.leftIconSlot / catnipInput.rightIconSlot (same namespace as the prop).
  • CatnipChip (breaking) — Icon slots renamed leadingIconSlotleftIconSlot and trailingIconSlotrightIconSlot to match CatnipButton. Default-slot warn no longer relies on a setTimeout(100); uses nextTick + a direct assignedNodes read.
  • Test selectorstestSelectors type widened from Record<string, string> | string to a recursive TestSelectorTree | string; existing flat selector maps keep working. Composed hosts may forward a child’s testSelectors via a nested object (for example { catnipInput: { leftAdornment: 'x' } } on catnip-input-chip). New asForwardedSelectors(value) helper from useTestSelectors: string{ root: string }, object → as-is.
  • CatnipInputChip — Test-selector keys extended with addButton, showMoreButton, showLessButton, and catnipInput. addButton / showMoreButton / showLessButton accept either a string shorthand or a full CatnipButton selectors object; catnipInput is forwarded as the embedded <catnip-input>’s own testSelectors and deep-merged with that component’s defaults.
  • Composables — New useCeSlots (renamed from useCeSlotPresence) collects useTrackedNamedSlots, useHostNamedSlotPresence (host-light-DOM MutationObserver), useDefaultSlotContentPresence, and useDefaultSlotJoinedText. Replaces ad-hoc slotchange wiring across CatnipButton, CatnipChip, CatnipToggle, and CatnipTooltip, and fixes a memory leak / flicker in CatnipInputChip that came from conditionally-rendered slots feeding useSlots().
  • Helpers — New generic mergeProps<T>(source, overrides, keys, { guardedKeys }) replaces catnipFieldLabelBind / catnipInputControlBind. Components export their own prop-key lists (FIELD_LABEL_PROP_KEYS / FIELD_LABEL_GUARDED_KEYS, CATNIP_INPUT_CONTROL_PROP_KEYS) so call-sites stay flat.
  • Internal restructure — Renamed under src/components/_internal/: CatnipField/Field/, CatnipFieldLabel/FieldLabel/, CatnipFieldSupportingText/FieldSupportingText/. FieldLabel detects action / suffix through reactive useSlots() (parents conditionally render the named templates), so the old @slotchange + hasActionSlot dance is gone.
  • Docs — New Inputs overview groups shared Input, Number Input, and Chip Input behaviour. Catalogue docs and playground for catnip-input-number (overview, specs, guidelines). Component API → Test selectors adds a Multiple subcomponents of the same type subsection covering role-based keys, repeated children, and nested forwarding; Input, Number Input, Chip Input, Tabs, Configuration, Inputs overview, and Contributing cross-link to it.
  • Docs build — New apps/docs/scripts/clean-dist.js runs before pnpm run prebuild in apps/docs so stale playground assets are cleared on rebuild.

0.0.22

  • Design tokens — Focus-visible box-shadow stacks use --catnip-shadow-focus-default / --catnip-shadow-focus-danger. CatnipTooltip / CatnipTabs portaled surfaces use --catnip-shadow-elevation-3.
  • Colors — Invalid --catnip-color-content-disabled-disabled replaced with --catnip-color-content-on-disabled on CatnipButton; disabled primary background uses --catnip-color-background-disabled-stronger.

0.0.21

  • Dependencies — Uses @signicat/catnip-design-tokens@0.1.5 and @signicat/catnip-css@0.0.9 from the workspace (shadow tokens and shadow utility variables). No source changes under src/ vs 0.0.20.

0.0.20

  • Patch release; no changes under src/ vs 0.0.19 (republish / version alignment).

0.0.19

  • CatnipButton:host([disabled]) sets cursor: not-allowed and pointer-events: none so the custom element matches disabled native-button behavior.

0.0.18

  • CatnipTooltip — optional show-on-focus / showOnFocus (default true). When trigger="hover" and set to false, the tooltip follows hover only (pointer leave hides it even if the anchor stays focused). Tooltip specs updated.

0.0.17

  • CatnipTooltip — new size="s" (compact padding, --catnip-font-paragraph-s, smaller arrow). size options are s, m, l.

0.0.16

  • CatnipTooltip (breaking)alignment accepts start, center, and end only (replaces near, middle, and far). Default center. Values map to floating cross-axis placement relative to the anchor.
  • CatnipTooltip — default maxWidth is 320px; pass an empty string to drop the cap.
  • CatnipTooltip:host line-height: 0 so inherited page line-height does not stretch the custom element’s box around small triggers.

0.0.15

  • Shared styles — Removed custom ::-webkit-scrollbar rules; :host default text color uses --catnip-color-content-neutral-strongest (with hex fallback).
  • Dependencies@signicat/catnip-design-tokens@0.1.3 (base space scale source file renamed to space.json; emitted --catnip-space-* unchanged).

0.0.14

  • CatnipButton — semantic danger styling uses --catnip-color-*-danger-* CSS variables (renamed from *-negative-*) to match @signicat/catnip-design-tokens@0.1.2.
  • Playground — vanilla demo text color fallback updated to the danger token name.

0.0.13

  • CatnipTabs (breaking) — tabs are buttons only; href removed from items and menu rows (legacy href keys in JSON are ignored when normalizing). Use @update:modelValue and your router for SPA-style navigation and URLs. role="tablist" when there is at least one item.
  • CatnipTabs — optional menu on a tab (dropdown rows); dismiss via VueUse onClickOutside; testSelectors extended with tab, menuTrigger, menuRow (plus existing menu); Escape and post-selection focus return to the menu trigger; trailing chevron rotates when the menu is open; aria-haspopup="menu" on the menu trigger.
  • CatnipTooltip — outside-click close uses VueUse onClickOutside instead of a manual document pointerdown listener.
  • Dependencies — removed unused click-outside-vue3.
  • Docs — tabs page and playgrounds aligned with button-only tabs; component catalogue tabs navigate with VitePress useRouter().go.

0.0.12

  • CatnipLink — optional underline prop (false removes underline; useful for card-style or icon-only links).
  • Styling — SCSS across components uses Catnip design token CSS variables with semantic-first hex fallbacks (buttons, chip, link, divider, spinner, illustration, toggle, tooltip, shared scrollbar helpers).
  • Charts — default Chart.js colors resolved from @signicat/catnip-design-tokens/js.
  • Docs — package CHANGELOG.md; audit notes in COLOR_TOKEN_AUDIT.md.
  • Uses @signicat/catnip-design-tokens from the workspace (CSS variables and optional /js color constants, e.g. for charts).

0.0.11

  • CatnipSelect — behaviour updates.
  • CatnipButton — SCSS adjustments.
  • CatnipChip — types, docs, playground, and catalogue/registry alignment.
  • CatnipToggle — small bugfix.
  • Manifest — custom-elements manifest updates for downstream tooling (including React wrappers).
  • Picks up @signicat/catnip-css@0.0.5 and @signicat/catnip-design-tokens@0.1.0.

0.0.10

  • CatnipTogglecatnip-toggle switch (form-associated, model-value / update:modelValue); reset + tick-filled icons; transparent thumb; 1px inset from track border; removed separate change event.
  • CatnipLinkcatnip-link component and docs.
  • Docs / playground — ComponentPlayground two-way modelValue for toggle; full icon list for button (and icon) demos.
  • Picks up @signicat/catnip-assets@0.0.8 and @signicat/catnip-icons@0.0.11 (SVG updates).

0.0.9

  • CatnipChip (catnip-chip) — removable or selectable chip; sizes xsl; leading icon prop and leftIconSlot / default / rightIconSlot; remove event in removable mode; testSelectors; remove button aria-label uses default-slot text (including wrapped elements).
  • CatnipButtoncatnipButtonEvents dropped from type exports (docs metadata only); use native click on the element.

0.0.8

  • Breaking — Removed @signicat/catnip-components/standalone from npm. The IIFE catnip-components.standalone.js is built with pnpm run build:standalone and omitted from package.json files; use static/CDN hosting (CI still builds it for GCS). Smaller npm install for bundler-based apps.
  • Build — ES/UMD treat @signicat/catnip-assets/illustrations/svg and @signicat/catnip-icons/svg as external so illustration and icon lazy chunks stay in those packages instead of being copied into components/dist.
  • CatnipIllustration — illustrations and pictograms under illustrations/ (e.g. pictograms/…); appearance via design tokens / CSS on the host; loadIllustration(name); optional width / height (0 = derive from viewBox); --catnip-illustration-* / --catnip-pictogram-accent
  • Removed CatnipPictogram — use catnip-illustration with pictograms/… names instead
  • CatnipDivider — horizontal/vertical divider with size, shape, variant, and testSelectors
  • Web Components with ElementInternals form integration

0.0.7

  • Monorepo — Storybook removed (apps/storybook, *.stories.js, docs embed). Interactive examples use VitePress ComponentPlayground and /playground only.

0.0.6

  • testSelectors prop — Override data-test attributes for testing. Use useTestSelectors composable; defaults per component in Test Selectors docs
  • Standalone bundle — CDN consumers get Vue bundled; no need to import Vue separately
  • Vue peer dependency — Vue moved from dependencies to peerDependencies (^3.5.0) to avoid duplicate runtime in Vue apps
  • SSR fix_setAttr override re-runs type conversion on every attribute change, fixing post-mount setAttribute for SSR
  • Dynamic icon import — Icons loaded via dynamic import
  • Standalone build — Playground excluded from standalone bundle; improved assetFileNames typing
  • Documentation — Slots and Test Selectors sections in component docs; Props table shows type (not options); Options column for enumerated props

0.0.5

  • VitePress docs integration
  • Component docs updates

0.0.4

  • CatnipButton, CatnipIcon, CatnipSpinner, CatnipTooltip
  • Style injection via adoptedStyleSheets
  • Automatic type conversion for props

@signicat/catnip-design-tokens

0.1.6

  • Typography — Code presets (--catnip-font-code-*, CatnipFontCode*, .catnip-font-code-*) use a monospace stack via new --catnip-font-family-code (was Inter via --catnip-font-family-default).

0.1.5

  • Shadows (breaking vs. 0.1.4) — Elevation names and variables use elevation-1elevation-4 (--catnip-shadow-elevation-1, CatnipShadowElevation1, …) instead of zero-padded elevation-01.
  • Docs — Package README shadow section; design-tokens CHANGELOG.md in the npm tarball.

0.1.4

  • Shadow tokens — New semantic/shadow.json: elevation-1elevation-4, focus-default, focus-danger, shipped as --catnip-shadow-* and CatnipShadow* JS exports (values aligned with Figma).

0.1.3

  • Source layout — Renamed src/tokens/base/spacing.jsonspace.json for the base space scale. The space token tree and generated --catnip-space-* CSS variables and JS exports are unchanged.

0.1.2

  • Semantic colors (breaking) — Aligned with Figma Light/Dark exports: negativedanger, positivesuccess, noticewarning in token paths (CSS variables and JS exports).
  • content.on.disabled — Replaces the old content.disabled.disabled slot; background.disabled.subtler, background.neutral.strong, border.primary.focus, and border.danger.focus added.
  • data — Light chart colors updated to match Figma; dark theme now defines data tokens instead of inheriting light values.
  • DocsSemantic colors and design-tokens README updated for the new naming and data dark overrides.

0.1.1

  • TypeScript — Generated default.d.ts / dark.d.ts for JS token exports; package types and conditional exports so subpath imports resolve for editors and tsc.

0.1.0

  • Restructured semantic tokens (consolidated semantic/color and semantic/color.dark); removed superseded semantic token sources.
  • Refreshed base color, spacing, border, and shadow inputs; streamlined typography JSON and expanded font-related tokens.
  • Token build pipeline updates (including typography build).

0.0.8

  • Base and semantic tokens
  • Light and dark themes
  • CSS variables and JS exports

@signicat/catnip-css

0.0.12

  • Dependencies — Rebuilt dist/styles.css with @signicat/catnip-design-tokens@0.1.6 (code typography uses --catnip-font-family-code).

0.0.11

  • Dependencies — Version alignment with @signicat/catnip-assets@0.0.11 and @signicat/catnip-icons@0.0.14.

0.0.10

  • Patch release; dependency alignment with @signicat/catnip-assets@0.0.10 and @signicat/catnip-icons@0.0.13.

0.0.9

  • Shadow utilities.catnip-shadow--* and legacy .shadow--* use --catnip-shadow-elevation-* and --catnip-shadow-focus-* from @signicat/catnip-design-tokens. .shadow--popup-modal fixed to use design-token variables (no --catnip-box-shadow-pop-up).
  • DocsCHANGELOG.md in the npm tarball.

0.0.8

  • Patch release; no changes under packages/css/styles/ vs 0.0.7 (republish / version alignment).

0.0.7

  • Patch release; no changes under packages/css/styles/ vs 0.0.6 (republish / version alignment).

0.0.6

  • Rebuilt dist/styles.css so :root includes the full --catnip-space-* scale from @signicat/catnip-design-tokens (spacing utilities depend on these variables).

0.0.5

  • Semantic typography and spacing SCSS (and optional backwards-compatibility layer) aligned with @signicat/catnip-design-tokens@0.1.0.

@signicat/catnip-components-react

0.0.36

  • CatnipDialog — Generated React wrapper for catnip-dialog (regenerated from the custom-elements manifest).
  • Dependencies — Version alignment with @signicat/catnip-components@0.0.36.

0.0.35

  • Dependencies — Version alignment with @signicat/catnip-components@0.0.35.

0.0.34

  • CatnipInputFile & CatnipFileItem — Generated React wrappers for catnip-input-file and catnip-file-item (regenerated from the custom-elements manifest).
  • Dependencies — Version alignment with @signicat/catnip-components@0.0.34.

0.0.33

  • CatnipRangeInput — Generated React wrapper for catnip-range-input (regenerated from the custom-elements manifest).
  • Dependencies — Version alignment with @signicat/catnip-components@0.0.33.

0.0.32

  • Dependencies — Version alignment with @signicat/catnip-components@0.0.32.

0.0.31

  • Dependencies — Version alignment with @signicat/catnip-components@0.0.31.

0.0.30

  • Dependencies — Version alignment with @signicat/catnip-components@0.0.30 and updated custom element wrappers.

0.0.28

  • CatnipSplitButton — Generated React wrapper for catnip-split-button (regenerated from the custom-elements manifest).
  • Dependencies — Version alignment with @signicat/catnip-components@0.0.28.

0.0.27

  • Dependencies — Version alignment with @signicat/catnip-components@0.0.27.

0.0.26

  • CatnipDropdown / CatnipCheckbox — Generated React wrappers for catnip-dropdown, catnip-dropdown-option, and catnip-checkbox (regenerated from the custom-elements manifest).
  • Dependencies — Version alignment with @signicat/catnip-components@0.0.26.

0.0.25

  • Dependencies — Version alignment with @signicat/catnip-components@0.0.25.

0.0.24

  • CatnipInputChip — Generated CatnipInputChip wrapper replaces CatnipInputTag (catnip-input-chip element).
  • CatnipButton — React props reflect appearance, purpose, intent (default / danger), and selected (wrappers regenerated from the updated custom-elements manifest).
  • Dependencies — Version alignment with @signicat/catnip-components@0.0.24.

0.0.23

  • CatnipInputNumber — Generated CatnipInputNumber React wrapper (same catnip-input-number element and events as other inputs).
  • Dependencies — Version alignment with @signicat/catnip-components@0.0.23 (wrappers regenerated from the updated custom-elements manifest).

0.0.22

  • Versioning@signicat/catnip-components-react now uses the same version as @signicat/catnip-components (install both at 0.0.22). Wrapper code unchanged vs 0.0.5.

0.0.5

  • Dependencies — Version alignment with @signicat/catnip-components@0.0.22 (no wrapper API changes). Superseded for install naming by 0.0.22.

0.0.4

  • Dependencies — Version alignment with @signicat/catnip-components@0.0.21 (no wrapper API changes).

0.0.3

  • Patch release for version alignment with @signicat/catnip-components@0.0.20 (no wrapper API changes).

0.0.2

  • Generated React wrappers from the custom-elements manifest, createCatnipForwardRef runtime, build verification, local playground, and docs (installation and usage).
  • Depends on @signicat/catnip-components@0.0.17.

@signicat/catnip-assets

0.0.11

  • Countries — Public @signicat/catnip-assets/countries export with typed country metadata and @signicat/catnip-assets/countries/flags/svg lazy flag loaders, including aggregate loadCountryFlags() preloading.
  • Icons — 7 new icons: draw, hourglass, keyboard, no-category, signature-level-changes, validation, and workflow-changes.
  • Illustrations — Hero illustration hero/mint.

0.0.10

  • Icons — 35 new icons added: address-book, admin-settings, business, calendar-changes, code-off, code-on, delete-forever, demote-admin-role, e-signing, encrypted, focus, front-camera, infinity, metadata-changes, missed-deadline, nfc-chip, nfc-chip-circle, page-approved, private-message, remove-key, remove-user, rename, restore, save-contact, sealing, signature-collection, signature-with-custom-purpose, sim-card, star-filled, swap, switch-account, toggle, transfer-ownership, user-waiting, and zip-file.

0.0.9

  • Iconscut.svg, paste.svg, and scissors.svg added (clipboard-style actions).

0.0.8

  • Iconstick-filled.svg inset scaled to match reset.svg optical margin; close-filled.svg added (toggle / future use).

0.0.7

  • SVG mapsillustrations-load.mjs + illustration-chunks/** with loadIllustration(name); pictograms use keys under illustrations/pictograms/ (e.g. pictograms/folder)
  • Illustrations — single src/illustrations/ tree (products/, hero/, signicat-logos/, pictograms/, …); kebab-case keys under products/
  • Removed — top-level src/pictograms/ and @signicat/catnip-assets/pictograms/svg (loadPictogram / pictogram-chunks); use illustrations/pictograms/ and illustrations/svg only
  • BreakingloadIllustration(theme, name)loadIllustration(name); removed illustrationNamesLight, illustrationNamesDark, and CatnipIllustrationTheme
  • Hero and other illustration SVGs use lowercase kebab-case filenames where names have multiple words (aligned with pictogram naming)
  • Docs — assets overview and Illustration component; pictograms documented under Pictograms

@signicat/catnip-icons

0.0.14

  • Icons — 7 new icons: draw, hourglass, keyboard, no-category, signature-level-changes, validation, and workflow-changes. Rebuilt font + lazy SVG chunks from @signicat/catnip-assets@0.0.11.

0.0.13

  • Icons — 35 new icons: address-book, admin-settings, business, calendar-changes, code-off, code-on, delete-forever, demote-admin-role, e-signing, encrypted, focus, front-camera, infinity, metadata-changes, missed-deadline, nfc-chip, nfc-chip-circle, page-approved, private-message, remove-key, remove-user, rename, restore, save-contact, sealing, signature-collection, signature-with-custom-purpose, sim-card, star-filled, swap, switch-account, toggle, transfer-ownership, user-waiting, and zip-file. Rebuilt font + lazy SVG chunks from @signicat/catnip-assets@0.0.10.

0.0.12

  • Patch release; no changes vs 0.0.11 in icon sources or build output (republish / version alignment).

0.0.11

  • Rebuilt font + lazy SVG chunks from @signicat/catnip-assets@0.0.8 (includes close-filled, updated tick-filled).

0.0.10

  • Icon webfont and SVG map
  • iconNames export for component use

Catnip Design System by Signicat