What's Changed
- chore: ensure all published packages include LICENSE by @alexgrozav in #236
- docs: add Input recipe docs page and standardize doc-recipe conventions by @alexgrozav in #237
- build(dts): bundle type declarations across packages on build by @alexgrozav in #238
- docs: restructure subnav into theme sub-tabs and reorganize content by @alexgrozav in #240
- docs: disable og-image runtime endpoint (zero-runtime mode) by @alexgrozav in #242
- feat(theme): add textarea recipe (full parity with input) by @alexgrozav in #241
- feat(theme): add Checkbox, CheckboxField, and CheckboxGroup recipes by @alexgrozav in #244
- feat(theme): add Select recipe with multi-select chip support by @alexgrozav in #243
- docs: prebundle @vueuse/core, motion-v, and posthog-js in optimizeDeps by @alexgrozav in #248
- feat(theme): add Radio, RadioField, and RadioGroup recipes by @alexgrozav in #245
- feat(theme): add Avatar and AvatarGroup recipes by @alexgrozav in #249
- feat(theme): add FieldGroup recipe, consolidate field grouping by @alexgrozav in #251
- feat(theme): add fullscreen variant to modal recipes by @alexgrozav in #253
- feat(theme): add Switch recipe by @alexgrozav in #246
- chore: migrate conductor.json to conductor.toml by @alexgrozav in #255
- feat(theme): add OTP recipe with shared field surface abstraction by @alexgrozav in #252
- feat(theme): add Accordion recipe by @alexgrozav in #247
- feat(theme): add Calendar recipe by @alexgrozav in #250
- feat(theme): add Slider recipe with track, range, and thumb parts by @alexgrozav in #256
- feat(theme): add ColorPicker recipe by @alexgrozav in #254
- feat(theme): add Tabs recipe with multi-part support by @alexgrozav in #259
- feat(theme): add ContextMenu recipe and extract shared menu-surface builder by @alexgrozav in #260
- feat(theme): add Drawer recipe with shared overlay builders by @alexgrozav in #257
- feat(theme): add Sidebar recipe with 16-part navigation component by @alexgrozav in #258
- feat(theme): add Toggle and ToggleGroup recipes by @alexgrozav in #261
- feat(theme): make dark modifier theme-driven, drop media query by @alexgrozav in #262
- chore(docs): replace tsx with ts in code blocks and reorder component docs by @alexgrozav in #263
- fix(theme): use gray-50 instead of gray-100 for soft and subtle variants by @alexgrozav in #264
- ci: run integration tests only on engine/tooling changes by @alexgrozav in #265
- chore: add GitHub issue/PR templates, security policy, and code of conduct by @alexgrozav in #266
Full Changelog: https://github.com/styleframe-dev/styleframe/compare/styleframe@3.8.0...styleframe@3.9.0