Skip to content

Dev - #3

Merged
RhenCloud merged 18 commits into
mainfrom
dev
Oct 5, 2026
Merged

Dev#3
RhenCloud merged 18 commits into
mainfrom
dev

Conversation

@RhenCloud

@RhenCloud RhenCloud commented Oct 5, 2026 •

Copy link
Copy Markdown
Member

This change is Reviewable

Consolidate language metadata into a single registry with grammar loaders, load shiki grammars on demand with retryable failures, and keep the initial bundle free of grammar code.

Add an accessible scroll region with live copy announcements, gutter-based line numbers, collapse animation with reduced-motion support, and a scroll-aware fade for max-height limits.

Replace the removed languageIcons module with languages.ts and cover the registry and component contracts with vitest.
Stop stripping CodeBlock chrome in DocExample so example panels match the built-in component look (border, shadow, radius), expand them by default, and infer ts for module-style snippets.

Replace the hand-written code panels in the code-group and resizable-panel demos with CodeBlock.

Playground-only change; no consumer-visible package output.
Point the playground at packages/ui/src during nuxt dev via vite aliases and a source-loaded Nuxt module, with ssr.noExternal so the server shares the same module graph. The module now probes for ../index.ts when resolving the library entry, keeping dist behavior intact for published consumers.

Drop the ^build prerequisite from the turbo dev task and scope the root dev script to the playground. bun run dev now starts in about 13 seconds and library edits hot-update the playground directly. Production builds and generate still consume dist unchanged.
Use an inline formatting box with overflow-wrap:anywhere and cloned box decorations so long values wrap inside narrow containers without an oversized background fragment.

Add a component contract test and a patch Changeset for the consumer-visible responsive fix.
Keep node:fs external for the Nuxt module entry so its existsSync probe remains a native Node import instead of a browser stub in dist.
@coderabbitai

coderabbitai Bot commented Oct 5, 2026 •

Copy link
Copy Markdown

Important

Review skipped

Too many files!

This PR contains 264 files, which is 164 over the limit of 100.

To get a review, reduce the PR to 100 files or fewer by splitting it into smaller PRs or changing its base branch.

Upgrade to a paid plan to raise the limit.

This review couldn't start because sufficient usage credits or metered capacity aren't available. Add credits or update usage-based reviews in the billing tab, then retry.

⚙️ Run configuration
  • Configuration used: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: b9c7f876-c9c8-4054-97de-1c49f98c1321
📥 Commits

Reviewing files that changed from the base of the PR and between 44618c8 and db980c9.

⛔ Files ignored due to path filters (1)
  • bun.lock is excluded by !**/*.lock
📒 Files selected for processing (264)
  • .changeset/bright-docs-primitives.md
  • .changeset/calm-containers-toggle.md
  • .changeset/calm-markdown-renderer.md
  • .changeset/calm-shiki-pipeline.md
  • .changeset/config.json
  • .changeset/fair-inline-code-wraps.md
  • .changeset/green-search-inputs.md
  • .changeset/lazy-code-blocks-improve.md
  • AGENTS.md
  • apps/playground/app.vue
  • apps/playground/components/DocApiTable.vue
  • apps/playground/components/DocExample.vue
  • apps/playground/components/DocFooter.vue
  • apps/playground/components/DocPageHeader.vue
  • apps/playground/components/DocPageNav.vue
  • apps/playground/nuxt.config.ts
  • apps/playground/package.json
  • apps/playground/pages/components/accordion.vue
  • apps/playground/pages/components/alert-dialog.vue
  • apps/playground/pages/components/anchor-heading.vue
  • apps/playground/pages/components/app-shell.vue
  • apps/playground/pages/components/aspect-ratio.vue
  • apps/playground/pages/components/avatar.vue
  • apps/playground/pages/components/badge.vue
  • apps/playground/pages/components/banner.vue
  • apps/playground/pages/components/breadcrumb.vue
  • apps/playground/pages/components/button.vue
  • apps/playground/pages/components/callout.vue
  • apps/playground/pages/components/card.vue
  • apps/playground/pages/components/checkbox.vue
  • apps/playground/pages/components/code-block.vue
  • apps/playground/pages/components/code-group.vue
  • apps/playground/pages/components/collapsible.vue
  • apps/playground/pages/components/colors.vue
  • apps/playground/pages/components/combobox.vue
  • apps/playground/pages/components/command-palette.vue
  • apps/playground/pages/components/container.vue
  • apps/playground/pages/components/context-menu.vue
  • apps/playground/pages/components/data-table.vue
  • apps/playground/pages/components/date-picker.vue
  • apps/playground/pages/components/dialog.vue
  • apps/playground/pages/components/dropdown-menu.vue
  • apps/playground/pages/components/editable.vue
  • apps/playground/pages/components/empty-state.vue
  • apps/playground/pages/components/field.vue
  • apps/playground/pages/components/file-upload.vue
  • apps/playground/pages/components/footer.vue
  • apps/playground/pages/components/hero.vue
  • apps/playground/pages/components/hover-card.vue
  • apps/playground/pages/components/icon.vue
  • apps/playground/pages/components/inline-code.vue
  • apps/playground/pages/components/input.vue
  • apps/playground/pages/components/kbd.vue
  • apps/playground/pages/components/label.vue
  • apps/playground/pages/components/locale.vue
  • apps/playground/pages/components/markdown.vue
  • apps/playground/pages/components/multi-select.vue
  • apps/playground/pages/components/nav-tree.vue
  • apps/playground/pages/components/navbar.vue
  • apps/playground/pages/components/navigation-menu.vue
  • apps/playground/pages/components/number-field.vue
  • apps/playground/pages/components/pagination.vue
  • apps/playground/pages/components/pin-input.vue
  • apps/playground/pages/components/popover.vue
  • apps/playground/pages/components/prev-next.vue
  • apps/playground/pages/components/progress.vue
  • apps/playground/pages/components/radio-group.vue
  • apps/playground/pages/components/rating.vue
  • apps/playground/pages/components/resizable-panel.vue
  • apps/playground/pages/components/scroll-area.vue
  • apps/playground/pages/components/search-input.vue
  • apps/playground/pages/components/section.vue
  • apps/playground/pages/components/select.vue
  • apps/playground/pages/components/separator.vue
  • apps/playground/pages/components/sheet.vue
  • apps/playground/pages/components/skeleton.vue
  • apps/playground/pages/components/slider.vue
  • apps/playground/pages/components/spinner.vue
  • apps/playground/pages/components/stepper.vue
  • apps/playground/pages/components/steps.vue
  • apps/playground/pages/components/switch.vue
  • apps/playground/pages/components/tabs.vue
  • apps/playground/pages/components/tag-input.vue
  • apps/playground/pages/components/textarea.vue
  • apps/playground/pages/components/theme-toggle.vue
  • apps/playground/pages/components/timeline.vue
  • apps/playground/pages/components/toast.vue
  • apps/playground/pages/components/toc.vue
  • apps/playground/pages/components/toggle.vue
  • apps/playground/pages/components/toolbar.vue
  • apps/playground/pages/components/tooltip.vue
  • apps/playground/pages/components/tree-view.vue
  • apps/playground/pages/components/visually-hidden.vue
  • apps/playground/pages/index.vue
  • apps/playground/src/style.css
  • apps/playground/utils/catalog.ts
  • package.json
  • packages/ui/package.json
  • packages/ui/src/components/accordion/index.ts
  • packages/ui/src/components/alert-dialog/index.ts
  • packages/ui/src/components/anchor-heading/index.ts
  • packages/ui/src/components/anchor-heading/types.ts
  • packages/ui/src/components/api-table/ApiTable.vue
  • packages/ui/src/components/api-table/apiTable.test.ts
  • packages/ui/src/components/api-table/index.ts
  • packages/ui/src/components/api-table/types.ts
  • packages/ui/src/components/app-shell/index.ts
  • packages/ui/src/components/aspect-ratio/index.ts
  • packages/ui/src/components/avatar/index.ts
  • packages/ui/src/components/badge/index.ts
  • packages/ui/src/components/banner/index.ts
  • packages/ui/src/components/breadcrumb/index.ts
  • packages/ui/src/components/button/index.ts
  • packages/ui/src/components/callout/callout.test.ts
  • packages/ui/src/components/callout/index.ts
  • packages/ui/src/components/callout/types.ts
  • packages/ui/src/components/card/index.ts
  • packages/ui/src/components/checkbox/index.ts
  • packages/ui/src/components/code-block/CodeBlock.vue
  • packages/ui/src/components/code-block/codeBlock.test.ts
  • packages/ui/src/components/code-block/highlighter.test.ts
  • packages/ui/src/components/code-block/highlighter.ts
  • packages/ui/src/components/code-block/index.ts
  • packages/ui/src/components/code-block/languageIcons.test.ts
  • packages/ui/src/components/code-block/languageIcons.ts
  • packages/ui/src/components/code-block/languages.test.ts
  • packages/ui/src/components/code-block/languages.ts
  • packages/ui/src/components/code-block/types.ts
  • packages/ui/src/components/code-group/index.ts
  • packages/ui/src/components/code-group/types.ts
  • packages/ui/src/components/collapsible/index.ts
  • packages/ui/src/components/combobox/index.ts
  • packages/ui/src/components/combobox/types.ts
  • packages/ui/src/components/command-palette/CommandPalette.vue
  • packages/ui/src/components/command-palette/commandMatcher.test.ts
  • packages/ui/src/components/command-palette/commandMatcher.ts
  • packages/ui/src/components/command-palette/index.ts
  • packages/ui/src/components/command-palette/types.ts
  • packages/ui/src/components/component-example/ComponentExample.vue
  • packages/ui/src/components/component-example/componentExample.test.ts
  • packages/ui/src/components/component-example/index.ts
  • packages/ui/src/components/component-example/types.ts
  • packages/ui/src/components/container/Container.vue
  • packages/ui/src/components/container/container.test.ts
  • packages/ui/src/components/container/index.ts
  • packages/ui/src/components/container/types.ts
  • packages/ui/src/components/context-menu/index.ts
  • packages/ui/src/components/date-picker/dateUtils.test.ts
  • packages/ui/src/components/date-picker/dateUtils.ts
  • packages/ui/src/components/date-picker/index.ts
  • packages/ui/src/components/dialog/index.ts
  • packages/ui/src/components/dropdown/index.ts
  • packages/ui/src/components/editable/index.ts
  • packages/ui/src/components/empty/index.ts
  • packages/ui/src/components/field/index.ts
  • packages/ui/src/components/file-upload/index.ts
  • packages/ui/src/components/file-upload/types.ts
  • packages/ui/src/components/footer/footer.test.ts
  • packages/ui/src/components/footer/index.ts
  • packages/ui/src/components/footer/types.ts
  • packages/ui/src/components/form/index.ts
  • packages/ui/src/components/hero/hero.test.ts
  • packages/ui/src/components/hero/index.ts
  • packages/ui/src/components/hero/types.ts
  • packages/ui/src/components/hover-card/index.ts
  • packages/ui/src/components/icon/icon.test.ts
  • packages/ui/src/components/icon/index.ts
  • packages/ui/src/components/icon/lucideResolver.ts
  • packages/ui/src/components/icon/registry.test.ts
  • packages/ui/src/components/icon/registry.ts
  • packages/ui/src/components/icon/types.ts
  • packages/ui/src/components/inline-code/InlineCode.vue
  • packages/ui/src/components/inline-code/index.ts
  • packages/ui/src/components/inline-code/inlineCode.test.ts
  • packages/ui/src/components/inline-code/types.ts
  • packages/ui/src/components/input/index.ts
  • packages/ui/src/components/kbd/index.ts
  • packages/ui/src/components/label/index.ts
  • packages/ui/src/components/multi-select/index.ts
  • packages/ui/src/components/multi-select/types.ts
  • packages/ui/src/components/nav-tree/NavTree.vue
  • packages/ui/src/components/nav-tree/index.ts
  • packages/ui/src/components/nav-tree/types.ts
  • packages/ui/src/components/navbar/index.ts
  • packages/ui/src/components/navbar/navbar.test.ts
  • packages/ui/src/components/navbar/types.ts
  • packages/ui/src/components/navigation-menu/index.ts
  • packages/ui/src/components/number-field/index.ts
  • packages/ui/src/components/page-header/PageHeader.vue
  • packages/ui/src/components/page-header/index.ts
  • packages/ui/src/components/page-header/pageHeader.test.ts
  • packages/ui/src/components/page-header/types.ts
  • packages/ui/src/components/pagination/index.ts
  • packages/ui/src/components/pin-input/index.ts
  • packages/ui/src/components/popover/index.ts
  • packages/ui/src/components/prev-next/index.ts
  • packages/ui/src/components/prev-next/types.ts
  • packages/ui/src/components/progress/index.ts
  • packages/ui/src/components/radio/index.ts
  • packages/ui/src/components/rating/index.ts
  • packages/ui/src/components/resizable-panel/index.ts
  • packages/ui/src/components/scroll-area/index.ts
  • packages/ui/src/components/search-input/SearchInput.vue
  • packages/ui/src/components/search-input/index.ts
  • packages/ui/src/components/search-input/searchInput.test.ts
  • packages/ui/src/components/search-input/types.ts
  • packages/ui/src/components/section/Section.vue
  • packages/ui/src/components/section/index.ts
  • packages/ui/src/components/section/section.test.ts
  • packages/ui/src/components/section/types.ts
  • packages/ui/src/components/select/index.ts
  • packages/ui/src/components/separator/index.ts
  • packages/ui/src/components/sheet/index.ts
  • packages/ui/src/components/skeleton/index.ts
  • packages/ui/src/components/slider/index.ts
  • packages/ui/src/components/spinner/index.ts
  • packages/ui/src/components/stepper/index.ts
  • packages/ui/src/components/steps/index.ts
  • packages/ui/src/components/steps/types.ts
  • packages/ui/src/components/switch/index.ts
  • packages/ui/src/components/table/index.ts
  • packages/ui/src/components/table/types.ts
  • packages/ui/src/components/tabs/index.ts
  • packages/ui/src/components/tag-input/TagInput.vue
  • packages/ui/src/components/tag-input/index.ts
  • packages/ui/src/components/textarea/index.ts
  • packages/ui/src/components/theme-toggle/ThemeToggle.vue
  • packages/ui/src/components/theme-toggle/index.ts
  • packages/ui/src/components/theme-toggle/themeToggle.test.ts
  • packages/ui/src/components/theme-toggle/types.ts
  • packages/ui/src/components/timeline/index.ts
  • packages/ui/src/components/timeline/types.ts
  • packages/ui/src/components/toast/index.ts
  • packages/ui/src/components/toast/useToast.ts
  • packages/ui/src/components/toc/index.ts
  • packages/ui/src/components/toc/types.ts
  • packages/ui/src/components/toggle-group/index.ts
  • packages/ui/src/components/toggle/index.ts
  • packages/ui/src/components/toolbar/index.ts
  • packages/ui/src/components/tooltip/index.ts
  • packages/ui/src/components/tree-view/index.ts
  • packages/ui/src/components/tree-view/types.ts
  • packages/ui/src/components/visually-hidden/index.ts
  • packages/ui/src/composables/useTheme.ts
  • packages/ui/src/env.d.ts
  • packages/ui/src/icons/index.ts
  • packages/ui/src/index.ts
  • packages/ui/src/locale/index.ts
  • packages/ui/src/locale/locale.test.ts
  • packages/ui/src/locale/messages.ts
  • packages/ui/src/markdown/MarkdownRenderer.vue
  • packages/ui/src/markdown/compile.test.ts
  • packages/ui/src/markdown/compile.ts
  • packages/ui/src/markdown/index.ts
  • packages/ui/src/markdown/markdownRenderer.test.ts
  • packages/ui/src/markdown/types.ts
  • packages/ui/src/nuxt/index.ts
  • packages/ui/src/nuxt/types.ts
  • packages/ui/src/theme.css
  • packages/ui/src/utils/cn.test.ts
  • packages/ui/src/utils/theme.ts
  • packages/ui/src/utils/themeScript.ts
  • packages/ui/vite.config.ts
  • turbo.json

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

  • Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Oct 5, 2026 •

Copy link
Copy Markdown

Deploying ui with  Cloudflare Pages  Cloudflare Pages

Latest commit: db980c9
Status: ✅  Deploy successful!
Preview URL: https://bf33d741.ui-2zm.pages.dev
Branch Preview URL: https://dev.ui-2zm.pages.dev

View logs

@RhenCloud
RhenCloud merged commit 3754ee6 into main Oct 5, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant