Repository navigation
Conversation
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The changesets fixed group keeps @javaabu/onu and @javaabu/onu-mcp together, and scripts/sync-plugin-version.mjs keeps the plugin manifest in step; the release workflow fails if it differs. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The @font-face rules move to fonts-thaana.css, imported by tailwind.css, styles.css and fonts.css. New budget: fonts-thaana.css 400 B (327 B measured). tailwind.css stays within 8.5 kB (7.97 kB) and styles.css within 4.5 kB (4.38 kB). fonts.css drops to 400 B now the font faces moved out (306 B). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Both share React context with the app, so a second copy silently disconnects them. @tanstack/react-query is a required peer, not optional as first planned: the core entry imports ApiSelect statically, so an app without the package would fail to build. The fallback QueryClient moves from a module singleton (shared across SSR requests) to each OnuProvider, or the component when there is no provider. getOnuQueryClient is gone, and invalidateApiOptions takes the client first. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Nothing in src, web or templates used it; every Onu select is built on cmdk. The primitives budget drops from 165 kB to 130 kB (124.25 kB measured). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The Chevron renders an Icon that already mirrors, so the rotate-180 on top turned the arrows back to their LTR direction. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A caller's data-slot replaced Button's, so the 44 px rule in base.css no longer matched. Button now always emits data-slot=button, and the 34 callers that named their button (27 Button, 7 InputGroupButton) use data-part. The plan listed 7; the rest had the same bug. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The module-level confirm() has no locale, so it keeps the English default; useConfirm uses the provider's. ValidationError.message is now empty when no message is given, so ValidationSummary shows form.errorSummaryTitle. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The link and embed dialogs only have URL fields, so the alt text field is the only free-text field in the editor dialogs. The dialogs are rendered by the editors, not the toolbar, so the prop goes straight there. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
New keys: listing.moveItemMenu, moveItemUp, moveItemDown, choice.switchAccountFrom, form.editValue. Removed: listing.moveUp, moveDown. listing.moveTo stays as the menu's heading. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The button is rotated 90 degrees, so a mirrored chevron pointed the wrong way along the vertical axis. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… on a span Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
useNow starts from null and ticks on mount. RelativeDate also calls useNow, so it gets the same placeholder (the exact date). PublishBox now shares useNow instead of its own Date.now() state. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
--onu-overlay keeps today's look (black at 10%) in both modes. App sidebar and the docs nav had the same hex fallbacks as _shell.ts and app-header.tsx, so they change too. figma/tokens-studio.json and the plugin are regenerated. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Replaces six copies. Tabs, Wizard, Callout, FilterPanel and PasswordInput move to the hook too, so null is no longer read as uncontrolled there. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
onChange now only means the native event. The renamed props: every date picker, map, editor, inline and repeating form control, LanguageSwitcher, ImageInput, AvatarUpload, AdditionalFilesUpload, TimePanel, useListingState, the custom filter and bulk action render props, and the map adapter shapes. PhoneInput's internal country select keeps onChange, because react-phone-number-input calls it. FileInput drops onChange(files). onReject takes an array everywhere. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
md becomes default on the four components named in the plan. AvatarUpload's keys already match UserAvatar's once that happens. NumberInput is h-8 at default with smaller stepper buttons, and TextInput gets the same size prop (h-7, h-8, h-10). Other md sizes (StatusBadge, IconText, Countdown, BottomSheet, SlideOver, ProgressBar, Hero, MapLegendSwatch) were not in the plan and are unchanged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Seven components now spread rest props and ref on their root, the multi-part components gain classNames slot maps, and asChild is added to BackToTop, ConditionalLink and LinkButton. Button keeps loadingText inside an asChild child, so SubmitButton asChild works while processing. The Definition of Done now asks for asChild only where an app may need to replace the one rendered element. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
New modules: lib/initials, lib/url, hooks/use-copy-to-clipboard, use-merged-ref, use-async-search; toArray moves to lib/utils. Root exports: toArray is removed. getInitials stays because docs/display-and-feedback/user-avatar.md documents it; the media entry's initials export is removed. normalizeUrl now returns string | null; TextInput keeps its own handling of //host and unsafe values on blur. useAsyncSearch serves Autocomplete/TagsInput, CommandPalette and PlaceSearchBox. ApiSelect does not fit: TanStack Query owns its fetching, cancelling and caching, so it keeps only the debounced value, useDebouncedValue, now in the same module with the same 300 ms default. Retry now skips the debounce at every site (it already did in PlaceSearchBox). The form's filter(Boolean) stays at the form call sites. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
LanguageSwitcher and RepeatingGroup gain defaultValue; Callout, FilterPanel and Lightbox gain defaultOpen. Lightbox open and onOpenChange are optional, and index is controlled only when passed. Uncontrolled, Lightbox tracks its own slide, so reopening resumes where it was instead of at the first slide. LanguageSwitcher without value or defaultValue still follows the provider's locale. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
CommandPalette and OverlayMenu title were only ever sr-only accessible names, so they become label with no visible change. TopNav navLabel and Tabs listLabel become label; CommandPalette minQueryLength and PlaceSearchBox/usePlaceSearchBox minLength become minChars. MapView, Carousel, ButtonGroup, Autocomplete and ApiSelect already used these names. AppSidebar navLabel is not in the plan's list and is unchanged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Delete unused keys from en and dv after checking literal and dynamic use: common.{ok,clearAll,apply,edit,view,search,remove,add,open,menu,error,success,warning,info}, overlay.openCommandPalette, chart.typeSparkline, layout.{footer,moreActions}, display.readMore, choice.{options,rating}, listing.{sortByColumn,sortDirection,sortNone,firstPage,lastPage,deletedRecords,tabWithCount,exportAs}. No candidate turned out to be reached dynamically.
Wire listing.filtersApplied through useAnnouncer in FilterPanel and listing.selectionCleared in DataTable, with tests. Drop the stale export and comment from media/index.ts.
Dhivehi: common.clear, date.clearTime and file.clearSelection now use the clear word; common.delete, editor.{deleteRow,deleteColumn,deleteTable,deleteBlock}, display.{deleteComment,deleteNote} and listing.deletePermanently use the delete word. input.signatureClear keeps its erase word.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Pure move of components/form/auth-forms.tsx into sign-in-form, register-form, forgot-password-form and reset-password-form, with the shared shell in _auth-shell. Tests split the same way. Root exports are unchanged; the auth forms docs page covers the new files. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The peer table now lives on the installation page; DEPENDENCIES.md keeps licences and links there, and docs/requirements.md links there. Media pages list the whole entry's static peers. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Compared each Props table with the component's TypeScript props and added what was missing, including the props Parts B and C added. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Point the changelog link at the package changelog, strike removed items in REQUIREMENTS, drop removed components from the Onu skill, and use the Part C names in Callout, PublishBox, FilterPanel, bulk actions and UserAvatarGroup. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
ConditionalLink, EmptyState, IconText, the unsaved changes guard and StatusBadge now describe their role, name and what a disabled or decorative state exposes. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
pnpm 12 keeps the version from packageManager in a section of pnpm-lock.yaml, and a frozen install fails if it is missing. Moving to 12.16.1 in 15ccf53 changed package.json only, so every CI job has failed at pnpm install since. It didn't show locally because an older global pnpm that switches itself to 12.16.1 doesn't check this. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
next 16.4.3 (critical RCE and high DoS, templates/nextjs). shadcn 4.23.0, a dev dependency, which moves its zod to 4.6.7. In the lockfile, within existing ranges: body-parser 2.4.0, qs 6.17.1, fast-uri 3.1.9, ip-address 10.7.5, undici 7.30.1 and 8.12.3, systeminformation 5.33.19. pnpm audit --prod is clean. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Deletes templates/ (Laravel + Inertia and Next.js) and .github/workflows/templates.yml, which only held those two jobs, along with their scripts, workspace entry, ignore rules and doc links. The Inertia and Next.js guide stays. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Fix CI: record pnpm in the lockfile, update vulnerable dependencies
Part F: Say where to branch from
Part A: Release and packaging fixes
Part B: Verified bugs
Part C: API consistency
Part D: CI and tests
Part E: Docs
Remove the starter templates and their CI jobs
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The sync script reserialised the whole file, expanding the keywords array in a way Prettier rejects. It now replaces only the version. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The bundle embeds the package version, and CI checks that it is up to date, so the release steps now rebuild it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Release v0.2.0:
devintomain. CI runs here before anything lands onmain.@javaabu/onu,@javaabu/onu-mcpand the plugin all move to 0.2.0. After this merges and CI passes onmain, the tagv0.2.0publishes to npm.🤖 Generated with Claude Code