Skip to content

docs(console): correct the ResizablePanelGroup prop and declare every fragment block under apps/console/docs - #7425

Merged
os-project-manager merged 2 commits into
mainfrom
claude/issue-7282-console-docs-fragment-markers
Sep 3, 2026
Merged

os-project-manager merged 2 commits into
mainfrom
claude/issue-7282-console-docs-fragment-markers

Conversation

@os-project-manager

@os-project-manager os-project-manager commented Sep 3, 2026 •

Copy link
Copy Markdown
Collaborator

Fixes #7282

Step 1 of maintainer ruling D on #6600 (decision batch #8, 2026-09-02, verbatim 「同意」): fix the content first, then move the documentation gates' roots. No gate script is touched and no gate root moves — that is #6600's step 2, which this unblocks.

Step 1 — is UI_IMPROVEMENT_PROPOSAL.md still live?

Verdict: live. The fix branch was taken, not retirement. The evidence, recorded either way as the dispatch requires:

For liveness

  • Inbound reference. apps/console/README.md:134 links it from the app's "Documentation" table — one of the four documents listed there, alongside the repo ROADMAP and two content/docs guides.
  • Its subject is live code. The Metadata Inspector it proposes to improve exists today as packages/app-shell/src/views/MetadataInspector.tsx (useMetadataInspector, MetadataPanel), and the console consumes it at apps/console/src/preview-gallery.tsx:51,110 via getMetadataInspector.
  • The API it teaches is current. ResizablePanelGroup is a real export of @object-ui/components (packages/components/src/ui/resizable.tsx:44), pinned by packages/components/src/__tests__/resizable-orientation.test.tsx:52 and called in-tree at packages/components/src/custom/navigation-overlay.tsx:519.
  • The tree is deliberately gated. objectui#4938 bought apps/*/docs/** into check-doc-links, and scripts/__tests__/check-doc-links.test.ts:1507 names this exact path when pinning that.

Against (recorded, and not decisive)

Neither strand is decisive: an unrevised design proposal is not thereby dead, its subject is demonstrably live, and it is linked from the app's own documentation index. Retirement would have deleted a linked document to close a one-word prop defect. Per the dispatch, anything short of decisive goes to the fix branch.

Step 1 — the defect

Section 3.1 taught ResizablePanelGroup with a direction="horizontal" prop. The exported component takes orientation. A reader copying the block got TS2322 on its first prop. Corrected in place; nothing else in that block changed.

Step 2 — fragment markers

Ten blocks now carry check-doc-snippet-types.mjs's per-block doc-snippet: fragment declaration (HTML-comment spelling, the one the gate's FRAGMENT_MARKER_EXAMPLES gives for .md), each with a written reason naming the identifiers the excerpt leaves to its host. No UNGATED_DOCS entry was added — the ruling rejects whole-file exemptions.

Re-derived census (the card's numbers were measured earlier; these are this tree's)

Measured on bf244f400 with the gate's own scanFences and compileSnippets:

blocks
ts / tsx blocks under apps/*/docs/** 14
red before this change 11 (2 syntax + 9 semantic)
of those, defects in what the prose claims 1 (the TS2322)
of those, excerpt fragments 10
already green 3

Exactly matching the card's 14/11. Per document: UI_IMPROVEMENT_PROPOSAL.md 12 blocks (9 red), error-tracking.md 2 blocks (2 red), deployment.md 0 blocks.

The three already-green blocks are deliberately left undeclared. They are the design-token lists under "Visual Design Specs" (background:, title:, panel: …), which parse as labelled statements and compile clean. Declaring them would assert they cannot compile — false — and would remove three blocks from real semantic coverage. See "Out of scope" below.

The card's three source references were verified exact on the base this branch was cut from: resizable.tsx:44, resizable-orientation.test.tsx:52 and navigation-overlay.tsx:519.

Acceptance — the ruling's own criterion

A scratch harness imports the gate's exported functions and replays analyze()'s glue over apps/*/docs/** instead of content/docs. Nothing in the repo is modified. All four controls held:

resolution   '@object-ui/types' resolved to packages/types/dist/index.d.ts
sentinel     produced 1 diagnostic (TS2305)
positive     produced 0 diagnostics
undeclared   '@floating-ui/react-dom' produced 1 diagnostic (TS2307)

Scanned 3 document(s): 3 covered (2 of them hold a ts/tsx block), 0 ungated.
Covered blocks: 14 - 4 to compile, 10 declared fragment(s).
Syntax phase:   every block parsed, so every one of them reached the semantic phase.
Semantic phase: 4 of 4 block(s) judged, 0 failed.

check:doc-snippets reports 0 failed for this tree. That is #6600 step 2's precondition.

Reverse verification

Predicted direction stated before running: red on both legs. The fix was committed first, so each leg restores from HEAD; each mutation was proven on disk by counting the injected and removed text, and each restore proven by hash equality with the HEAD blob plus an empty git diff HEAD.

  • Leg A — revert the fix (orientation= back to direction=): red, 1 failed, TS2322 on that block. The green is caused by this change.
  • Leg B — plant a wrong prop (orientationX=): red, 1 failed, and TypeScript's own diagnostic ends "Did you mean 'orientation'?". The block's props are genuinely excess-checked, so accepting orientation is a real judgement rather than a widened any.
  • Restored control: 4 of 4 judged, 0 failed; tree byte-identical to HEAD.

Gates run — union at 3b067b9b0, clean tree

Each exit code captured before any pipe; each verdict quoted from the gate's own line.

gate exit verdict
pnpm docs:check-links 0 Links are valid across 17 scan roots.
pnpm check:doc-snippets 0 Every covered documentation snippet compiles against the built types. (417 of 417 judged, 0 failed)
pnpm check:doc-types 0 Every documented component type is registered.
pnpm check:doc-fences 0 every TypeScript block in 224 document(s) is fenced ts/tsx/typescript
pnpm check:control-bytes 0 OK (6111 tracked text files)
check-changeset-presence.mjs 0 no changeset is owed
check-changeset-no-major.mjs 0 No changeset declares a major bump.
scratch apps/*/docs run 0 4 of 4 judged, 0 failed

check:doc-snippets first returned exit 2 — PRECONDITION NOT MET, the gate's "could not run" code, not a documents verdict. Its own --build-filter closure (25 packages) was built and it was re-run; the 0 above is that run.

Follow-up commit 56fab342e changes two tokens of changeset prose and nothing else (git diff --stat 3b067b9b0 HEAD = 1 file, 1 insertion, 1 deletion). At the reviewer's direction the full union was not re-run for it; pnpm check:control-bytes (exit 0) and check-changeset-presence.mjs (exit 0) were, on the new head.

pnpm lint is a repo-wide scan CI owns. The narrowing here is a measurement, not a skip: eslint's own config resolution reports all three changed files as File ignored because no matching configuration was supplied (0 errors, --format json), the flat config carries no .md matcher, and the diff adds no config, no files pattern and no source file — so no untouched file's verdict can move.

Step 3 — changeset

Empty-frontmatter form, declaring "no release".

⚠️ The grading's premise for that form does not hold, and the form is still right. The grading said to confirm apps/console is private: true. It is not — @object-ui/console has no private key and is a published member of the 40-package fixed group at 17.6.0. The declaration instead rests on a verified fact: apps/console/docs/** is not in the package's files (dist, plugin.ts, plugin.js, plugin.d.ts, README.md), so no published artifact moves. check-changeset-presence.mjs agrees independently — it reports no changeset owed for this range.

Out of scope — declined, not done

🤖 Generated with Claude Code

https://claude.ai/code/session_01EMrWaQw3XS5DxTHxp4yRyC

…ragment blocks (objectui#7282)

`UI_IMPROVEMENT_PROPOSAL.md` section 3.1 taught `<ResizablePanelGroup
direction="horizontal">`. The exported component takes `orientation`
(`packages/components/src/ui/resizable.tsx:44`, pinned by
`resizable-orientation.test.tsx` and used in-tree at
`navigation-overlay.tsx:520`), so a reader who copied the guide got a
TS2322 on its first prop.

The other ten red `ts` / `tsx` blocks under `apps/console/docs/**` are
excerpt fragments, not defects. Each now carries
`check-doc-snippet-types.mjs`'s per-block fragment declaration with a
written reason naming the identifiers the excerpt leaves to its host. No
`UNGATED_DOCS` entry was added: the 2026-09-02 ruling on objectui#6600
rejects whole-file exemptions.

Re-derived census on this tree: 14 ts/tsx blocks, 11 red (2 syntax, 9
semantic) before this change, 0 after. The three blocks left undeclared
are the design-token lists in "Visual Design Specs", which compile as
labelled statements and so are not fragments.

This is objectui#6600's step 1. No gate script is touched and no gate
root moves; that is #6600's step 2, which this unblocks.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EMrWaQw3XS5DxTHxp4yRyC
@github-actions github-actions Bot added the apps label Sep 3, 2026
@github-actions

github-actions Bot commented Sep 3, 2026

Copy link
Copy Markdown
Contributor

✅ Console Performance Budget

Metric Value Budget
Eager closure (gzip, 48 chunks) 3178.3 KB 3191.4 KB
Main entry chunk (gzip) 143.2 KB 350 KB
Entry file index-DUp49asL.js —
Status PASS —

The eager closure is every chunk the entry reaches through static imports — what the browser fetches and parses before the app renders. The entry chunk on its own is a small fraction of it.


📦 Bundle Size Report

Package Size Gzipped
app-shell (consoleActionDispatch.js) 0.20KB 0.19KB
app-shell (index.js) 15.67KB 5.75KB
app-shell (runtime-config.js) 20.68KB 7.36KB
app-shell (types.js) 0.01KB 0.04KB
app-shell (urlParams.js) 10.06KB 3.86KB
auth (ActiveOrganizationStorage.js) 25.05KB 9.16KB
auth (AuthContext.js) 0.31KB 0.24KB
auth (AuthGuard.js) 2.07KB 1.00KB
auth (AuthProvider.js) 40.18KB 10.59KB
auth (AuthShell.js) 3.49KB 1.40KB
auth (ForgotPasswordForm.js) 12.21KB 3.45KB
auth (LoginForm.js) 18.15KB 5.39KB
auth (PreviewBanner.js) 0.90KB 0.50KB
auth (RegisterForm.js) 6.65KB 2.22KB
auth (SocialSignInButtons.js) 9.61KB 3.89KB
auth (UserMenu.js) 3.41KB 1.23KB
auth (auth-gate-events.js) 1.29KB 0.66KB
auth (authStyles.js) 5.04KB 1.72KB
auth (createAuthClient.js) 40.21KB 10.80KB
auth (createAuthenticatedFetch.js) 8.46KB 3.43KB
auth (index.js) 3.19KB 1.44KB
auth (invitation-status.js) 1.22KB 0.70KB
auth (org-roles.js) 6.66KB 2.78KB
auth (phone-identifier.js) 1.11KB 0.66KB
auth (types.js) 0.59KB 0.35KB
auth (useAuth.js) 5.30KB 1.02KB
auth (useWorkspaceAdminStatus.js) 5.13KB 2.35KB
collaboration (CommentThread.js) 26.08KB 7.56KB
collaboration (LiveCursors.js) 3.17KB 1.27KB
collaboration (PresenceAvatars.js) 6.49KB 2.64KB
collaboration (PresenceProvider.js) 2.79KB 1.13KB
collaboration (index.js) 1.68KB 0.73KB
collaboration (useCollaborationTranslation.js) 6.05KB 2.52KB
collaboration (useCommentSearch.js) 1.98KB 0.88KB
collaboration (useConflictResolution.js) 7.75KB 1.86KB
collaboration (useMentionNotifications.js) 1.81KB 0.68KB
collaboration (usePresence.js) 6.33KB 1.84KB
collaboration (useRealtimeSubscription.js) 7.91KB 2.01KB
components (index.js) 514.87KB 117.50KB
core (index.js) 5.80KB 2.32KB
create-plugin (index.js) 10.08KB 3.26KB
data-objectstack (index.js) 178.20KB 49.60KB
fields (index.js) 244.08KB 61.71KB
i18n (LocalizationContext.js) 1.76KB 0.96KB
i18n (currency.js) 1.22KB 0.64KB
i18n (fallbackInterpolation.js) 6.25KB 2.77KB
i18n (i18n.js) 4.28KB 1.75KB
i18n (index.js) 3.44KB 1.39KB
i18n (pickLocalized.js) 7.62KB 3.26KB
i18n (provider.js) 26.89KB 9.04KB
i18n (useDisplayLocale.js) 2.85KB 1.45KB
i18n (useObjectLabel.js) 33.40KB 8.71KB
i18n (useSafeTranslation.js) 5.60KB 2.33KB
layout (index.js) 38.98KB 10.98KB
mobile (MobileProvider.js) 0.92KB 0.49KB
mobile (ResponsiveContainer.js) 0.94KB 0.38KB
mobile (breakpoints.js) 1.51KB 0.70KB
mobile (createOfflineDataSource.js) 5.61KB 1.75KB
mobile (index.js) 1.55KB 0.62KB
mobile (offlineQueue.js) 3.91KB 1.35KB
mobile (pwa.js) 0.97KB 0.49KB
mobile (serviceWorker.js) 1.48KB 0.62KB
mobile (serviceWorkerSource.js) 3.41KB 1.48KB
mobile (useBreakpoint.js) 1.54KB 0.65KB
mobile (useGesture.js) 6.96KB 1.98KB
mobile (useOfflineSync.js) 1.99KB 0.72KB
mobile (usePullToRefresh.js) 2.53KB 0.85KB
mobile (useResponsive.js) 0.72KB 0.42KB
mobile (useResponsiveConfig.js) 1.37KB 0.63KB
mobile (useSpecGesture.js) 4.32KB 1.64KB
mobile (useTouchTarget.js) 1.01KB 0.54KB
permissions (MePermissionsProvider.js) 11.71KB 4.29KB
permissions (PermissionContext.js) 0.31KB 0.25KB
permissions (PermissionGuard.js) 0.89KB 0.45KB
permissions (PermissionProvider.js) 6.24KB 2.16KB
permissions (discardProofCache.js) 1.04KB 0.55KB
permissions (evaluator.js) 5.12KB 1.74KB
permissions (index.js) 0.93KB 0.41KB
permissions (store.js) 0.91KB 0.42KB
permissions (useFieldPermissions.js) 1.28KB 0.53KB
permissions (usePermissions.js) 4.83KB 2.27KB
plugin-ai (index.js) 15.75KB 3.80KB
plugin-calendar (index.js) 47.00KB 12.97KB
plugin-charts (index.js) 70.31KB 19.55KB
plugin-chatbot (index.js) 196.19KB 46.43KB
plugin-dashboard (index.js) 132.63KB 34.56KB
plugin-designer (index.js) 212.87KB 43.19KB
plugin-detail (index.js) 251.20KB 64.18KB
plugin-editor (index.js) 2.46KB 1.10KB
plugin-form (index.js) 132.87KB 32.66KB
plugin-gantt (index.js) 167.03KB 40.87KB
plugin-grid (index.js) 209.10KB 56.65KB
plugin-kanban (index.js) 53.21KB 14.66KB
plugin-list (index.js) 113.51KB 27.67KB
plugin-map (index.js) 20.20KB 6.66KB
plugin-markdown (index.js) 13.72KB 4.69KB
plugin-report (index.js) 43.51KB 11.94KB
plugin-timeline (index.js) 30.21KB 8.66KB
plugin-tree (index.js) 8.98KB 3.08KB
plugin-view (index.js) 85.90KB 21.12KB
providers (DataSourceProvider.js) 0.75KB 0.39KB
providers (MetadataProvider.js) 1.37KB 0.59KB
providers (ThemeProvider.js) 1.90KB 0.85KB
providers (UploadProvider.js) 11.66KB 3.50KB
providers (index.js) 0.45KB 0.23KB
providers (types.js) 0.01KB 0.04KB
react-runtime (index.js) 5.62KB 2.34KB
react (LazyPluginLoader.js) 4.47KB 1.63KB
react (SchemaRenderer.js) 81.07KB 26.86KB
react (data-invalidation.js) 5.05KB 2.08KB
react (index.js) 3.11KB 1.48KB
react (schema-input.js) 2.32KB 1.24KB
react (spec-input.js) 0.20KB 0.18KB
sdui-parser (codegen.js) 5.41KB 2.34KB
sdui-parser (dashboard-widget-options.js) 3.08KB 1.30KB
sdui-parser (index.js) 4.93KB 2.24KB
sdui-parser (input-type.js) 2.84KB 1.40KB
sdui-parser (parse.js) 20.57KB 5.88KB
sdui-parser (provenance.js) 3.66KB 1.82KB
sdui-parser (types.js) 0.28KB 0.23KB
sdui-parser (validate.js) 10.35KB 3.60KB
types (ai.js) 0.20KB 0.17KB
types (api-types.js) 0.20KB 0.18KB
types (app.js) 2.87KB 0.99KB
types (base.js) 0.20KB 0.18KB
types (blocks.js) 0.20KB 0.18KB
types (complex.js) 2.74KB 1.41KB
types (crud.js) 0.20KB 0.18KB
types (dashboard-filter-alias.js) 6.23KB 2.74KB
types (data-display.js) 3.75KB 1.85KB
types (data-protocol.js) 0.20KB 0.19KB
types (data.js) 0.20KB 0.18KB
types (designer.js) 1.85KB 0.85KB
types (disclosure.js) 0.20KB 0.18KB
types (error-code.js) 1.54KB 0.88KB
types (feedback.js) 0.20KB 0.18KB
types (field-types.js) 0.20KB 0.18KB
types (form.js) 0.20KB 0.18KB
types (http-inflight.js) 8.87KB 3.73KB
types (http-retry.js) 4.32KB 2.02KB
types (icon-key-migration.js) 4.26KB 1.63KB
types (index.js) 4.74KB 2.25KB
types (layout.js) 0.20KB 0.18KB
types (managed-by.js) 0.19KB 0.18KB
types (mobile.js) 2.59KB 1.31KB
types (navigation.js) 0.20KB 0.18KB
types (objectql.js) 0.20KB 0.18KB
types (overlay.js) 0.20KB 0.18KB
types (permissions.js) 0.20KB 0.18KB
types (plugin-scope.js) 0.20KB 0.18KB
types (record-components.js) 0.20KB 0.19KB
types (record-semantics.js) 1.28KB 0.67KB
types (registry.js) 0.20KB 0.18KB
types (reports.js) 0.20KB 0.18KB
types (spec-report.js) 5.05KB 1.93KB
types (spec-ui-namespace.js) 0.20KB 0.19KB
types (system-fields.js) 3.33KB 1.54KB
types (theme.js) 6.28KB 2.87KB
types (ui-action.js) 8.11KB 3.32KB
types (views.js) 0.20KB 0.18KB
types (widget.js) 0.20KB 0.18KB

Size Limits

  • ✅ Core packages should be < 50KB gzipped
  • ✅ Component packages should be < 100KB gzipped
  • ⚠️ Plugin packages should be < 150KB gzipped

…(objectui#7282)

The changeset cited `navigation-overlay.tsx:520` for the in-tree
`ResizablePanelGroup` call site and framed it as drift from the card's
`:519`. There was no drift — the card was right. Measured with `git grep
-n` at the base this branch was cut from:

  bf244f4:packages/components/src/custom/navigation-overlay.tsx:519:
        <ResizablePanelGroup orientation="horizontal" ...>

`:520` is the child `ResizablePanel`, not the group. The original figure
came from counting off a `sed` line range by hand instead of asking
`grep -n`, which is the whole reason to ask `grep -n`.

This also corrects the same wrong reference in the message of 3b067b9,
which cannot be amended now that the branch is pushed (no force-push).
`resizable.tsx:44` and `resizable-orientation.test.tsx:52` were verified
exact and are unchanged.

No documentation content, no fragment marker, no census figure moves.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EMrWaQw3XS5DxTHxp4yRyC
@github-actions

github-actions Bot commented Sep 3, 2026

Copy link
Copy Markdown
Contributor

✅ Console Performance Budget

Metric Value Budget
Eager closure (gzip, 48 chunks) 3178.3 KB 3191.4 KB
Main entry chunk (gzip) 143.2 KB 350 KB
Entry file index-DUp49asL.js —
Status PASS —

The eager closure is every chunk the entry reaches through static imports — what the browser fetches and parses before the app renders. The entry chunk on its own is a small fraction of it.


📦 Bundle Size Report

Package Size Gzipped
app-shell (consoleActionDispatch.js) 0.20KB 0.19KB
app-shell (index.js) 15.67KB 5.75KB
app-shell (runtime-config.js) 20.68KB 7.36KB
app-shell (types.js) 0.01KB 0.04KB
app-shell (urlParams.js) 10.06KB 3.86KB
auth (ActiveOrganizationStorage.js) 25.05KB 9.16KB
auth (AuthContext.js) 0.31KB 0.24KB
auth (AuthGuard.js) 2.07KB 1.00KB
auth (AuthProvider.js) 40.18KB 10.59KB
auth (AuthShell.js) 3.49KB 1.40KB
auth (ForgotPasswordForm.js) 12.21KB 3.45KB
auth (LoginForm.js) 18.15KB 5.39KB
auth (PreviewBanner.js) 0.90KB 0.50KB
auth (RegisterForm.js) 6.65KB 2.22KB
auth (SocialSignInButtons.js) 9.61KB 3.89KB
auth (UserMenu.js) 3.41KB 1.23KB
auth (auth-gate-events.js) 1.29KB 0.66KB
auth (authStyles.js) 5.04KB 1.72KB
auth (createAuthClient.js) 40.21KB 10.80KB
auth (createAuthenticatedFetch.js) 8.46KB 3.43KB
auth (index.js) 3.19KB 1.44KB
auth (invitation-status.js) 1.22KB 0.70KB
auth (org-roles.js) 6.66KB 2.78KB
auth (phone-identifier.js) 1.11KB 0.66KB
auth (types.js) 0.59KB 0.35KB
auth (useAuth.js) 5.30KB 1.02KB
auth (useWorkspaceAdminStatus.js) 5.13KB 2.35KB
collaboration (CommentThread.js) 26.08KB 7.56KB
collaboration (LiveCursors.js) 3.17KB 1.27KB
collaboration (PresenceAvatars.js) 6.49KB 2.64KB
collaboration (PresenceProvider.js) 2.79KB 1.13KB
collaboration (index.js) 1.68KB 0.73KB
collaboration (useCollaborationTranslation.js) 6.05KB 2.52KB
collaboration (useCommentSearch.js) 1.98KB 0.88KB
collaboration (useConflictResolution.js) 7.75KB 1.86KB
collaboration (useMentionNotifications.js) 1.81KB 0.68KB
collaboration (usePresence.js) 6.33KB 1.84KB
collaboration (useRealtimeSubscription.js) 7.91KB 2.01KB
components (index.js) 514.87KB 117.50KB
core (index.js) 5.80KB 2.32KB
create-plugin (index.js) 10.08KB 3.26KB
data-objectstack (index.js) 178.20KB 49.60KB
fields (index.js) 244.08KB 61.71KB
i18n (LocalizationContext.js) 1.76KB 0.96KB
i18n (currency.js) 1.22KB 0.64KB
i18n (fallbackInterpolation.js) 6.25KB 2.77KB
i18n (i18n.js) 4.28KB 1.75KB
i18n (index.js) 3.44KB 1.39KB
i18n (pickLocalized.js) 7.62KB 3.26KB
i18n (provider.js) 26.89KB 9.04KB
i18n (useDisplayLocale.js) 2.85KB 1.45KB
i18n (useObjectLabel.js) 33.40KB 8.71KB
i18n (useSafeTranslation.js) 5.60KB 2.33KB
layout (index.js) 38.98KB 10.98KB
mobile (MobileProvider.js) 0.92KB 0.49KB
mobile (ResponsiveContainer.js) 0.94KB 0.38KB
mobile (breakpoints.js) 1.51KB 0.70KB
mobile (createOfflineDataSource.js) 5.61KB 1.75KB
mobile (index.js) 1.55KB 0.62KB
mobile (offlineQueue.js) 3.91KB 1.35KB
mobile (pwa.js) 0.97KB 0.49KB
mobile (serviceWorker.js) 1.48KB 0.62KB
mobile (serviceWorkerSource.js) 3.41KB 1.48KB
mobile (useBreakpoint.js) 1.54KB 0.65KB
mobile (useGesture.js) 6.96KB 1.98KB
mobile (useOfflineSync.js) 1.99KB 0.72KB
mobile (usePullToRefresh.js) 2.53KB 0.85KB
mobile (useResponsive.js) 0.72KB 0.42KB
mobile (useResponsiveConfig.js) 1.37KB 0.63KB
mobile (useSpecGesture.js) 4.32KB 1.64KB
mobile (useTouchTarget.js) 1.01KB 0.54KB
permissions (MePermissionsProvider.js) 11.71KB 4.29KB
permissions (PermissionContext.js) 0.31KB 0.25KB
permissions (PermissionGuard.js) 0.89KB 0.45KB
permissions (PermissionProvider.js) 6.24KB 2.16KB
permissions (discardProofCache.js) 1.04KB 0.55KB
permissions (evaluator.js) 5.12KB 1.74KB
permissions (index.js) 0.93KB 0.41KB
permissions (store.js) 0.91KB 0.42KB
permissions (useFieldPermissions.js) 1.28KB 0.53KB
permissions (usePermissions.js) 4.83KB 2.27KB
plugin-ai (index.js) 15.75KB 3.80KB
plugin-calendar (index.js) 47.00KB 12.97KB
plugin-charts (index.js) 70.31KB 19.55KB
plugin-chatbot (index.js) 196.19KB 46.43KB
plugin-dashboard (index.js) 132.63KB 34.56KB
plugin-designer (index.js) 212.87KB 43.19KB
plugin-detail (index.js) 251.20KB 64.18KB
plugin-editor (index.js) 2.46KB 1.10KB
plugin-form (index.js) 132.87KB 32.66KB
plugin-gantt (index.js) 167.03KB 40.87KB
plugin-grid (index.js) 209.10KB 56.65KB
plugin-kanban (index.js) 53.21KB 14.66KB
plugin-list (index.js) 113.51KB 27.67KB
plugin-map (index.js) 20.20KB 6.66KB
plugin-markdown (index.js) 13.72KB 4.69KB
plugin-report (index.js) 43.51KB 11.94KB
plugin-timeline (index.js) 30.21KB 8.66KB
plugin-tree (index.js) 8.98KB 3.08KB
plugin-view (index.js) 85.90KB 21.12KB
providers (DataSourceProvider.js) 0.75KB 0.39KB
providers (MetadataProvider.js) 1.37KB 0.59KB
providers (ThemeProvider.js) 1.90KB 0.85KB
providers (UploadProvider.js) 11.66KB 3.50KB
providers (index.js) 0.45KB 0.23KB
providers (types.js) 0.01KB 0.04KB
react-runtime (index.js) 5.62KB 2.34KB
react (LazyPluginLoader.js) 4.47KB 1.63KB
react (SchemaRenderer.js) 81.07KB 26.86KB
react (data-invalidation.js) 5.05KB 2.08KB
react (index.js) 3.11KB 1.48KB
react (schema-input.js) 2.32KB 1.24KB
react (spec-input.js) 0.20KB 0.18KB
sdui-parser (codegen.js) 5.41KB 2.34KB
sdui-parser (dashboard-widget-options.js) 3.08KB 1.30KB
sdui-parser (index.js) 4.93KB 2.24KB
sdui-parser (input-type.js) 2.84KB 1.40KB
sdui-parser (parse.js) 20.57KB 5.88KB
sdui-parser (provenance.js) 3.66KB 1.82KB
sdui-parser (types.js) 0.28KB 0.23KB
sdui-parser (validate.js) 10.35KB 3.60KB
types (ai.js) 0.20KB 0.17KB
types (api-types.js) 0.20KB 0.18KB
types (app.js) 2.87KB 0.99KB
types (base.js) 0.20KB 0.18KB
types (blocks.js) 0.20KB 0.18KB
types (complex.js) 2.74KB 1.41KB
types (crud.js) 0.20KB 0.18KB
types (dashboard-filter-alias.js) 6.23KB 2.74KB
types (data-display.js) 3.75KB 1.85KB
types (data-protocol.js) 0.20KB 0.19KB
types (data.js) 0.20KB 0.18KB
types (designer.js) 1.85KB 0.85KB
types (disclosure.js) 0.20KB 0.18KB
types (error-code.js) 1.54KB 0.88KB
types (feedback.js) 0.20KB 0.18KB
types (field-types.js) 0.20KB 0.18KB
types (form.js) 0.20KB 0.18KB
types (http-inflight.js) 8.87KB 3.73KB
types (http-retry.js) 4.32KB 2.02KB
types (icon-key-migration.js) 4.26KB 1.63KB
types (index.js) 4.74KB 2.25KB
types (layout.js) 0.20KB 0.18KB
types (managed-by.js) 0.19KB 0.18KB
types (mobile.js) 2.59KB 1.31KB
types (navigation.js) 0.20KB 0.18KB
types (objectql.js) 0.20KB 0.18KB
types (overlay.js) 0.20KB 0.18KB
types (permissions.js) 0.20KB 0.18KB
types (plugin-scope.js) 0.20KB 0.18KB
types (record-components.js) 0.20KB 0.19KB
types (record-semantics.js) 1.28KB 0.67KB
types (registry.js) 0.20KB 0.18KB
types (reports.js) 0.20KB 0.18KB
types (spec-report.js) 5.05KB 1.93KB
types (spec-ui-namespace.js) 0.20KB 0.19KB
types (system-fields.js) 3.33KB 1.54KB
types (theme.js) 6.28KB 2.87KB
types (ui-action.js) 8.11KB 3.32KB
types (views.js) 0.20KB 0.18KB
types (widget.js) 0.20KB 0.18KB

Size Limits

  • ✅ Core packages should be < 50KB gzipped
  • ✅ Component packages should be < 100KB gzipped
  • ⚠️ Plugin packages should be < 150KB gzipped

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

apps/console/docs/UI_IMPROVEMENT_PROPOSAL.md:167 documents a direction prop on ResizablePanelGroup — the exported component takes orientation

2 participants