Skip to content

refactor(docs): Improve Api tables and add missing snapshots#139

Merged
michaelcozzolino merged 6 commits into2.xfrom
refactor/components-api-tables
Mar 8, 2026
Merged

refactor(docs): Improve Api tables and add missing snapshots#139
michaelcozzolino merged 6 commits into2.xfrom
refactor/components-api-tables

Conversation

@michaelcozzolino
Copy link
Owner

@michaelcozzolino michaelcozzolino commented Mar 8, 2026

Summary by CodeRabbit

  • New Features

    • Added a "Required" indicator column to the Props API documentation table to highlight mandatory properties.
    • Enhanced API names with clickable links to relevant declarations for improved navigation.
  • Style

    • Updated color scheme in API documentation tables for better visual hierarchy and readability.

@cloudflare-workers-and-pages
Copy link

cloudflare-workers-and-pages bot commented Mar 8, 2026

Deploying flyonui-vue-v3 with  Cloudflare Pages  Cloudflare Pages

Latest commit: 213bc45
Status: ✅  Deploy successful!
Preview URL: https://5b77cf66.flyonui-vue-v3.pages.dev
Branch Preview URL: https://refactor-components-api-tabl.flyonui-vue-v3.pages.dev

View logs

@michaelcozzolino michaelcozzolino marked this pull request as ready for review March 8, 2026 22:37
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Mar 8, 2026

Walkthrough

This pull request introduces a new Vue component LinkableApiName that conditionally renders a link or plain text for API property and slot names based on available declarations. The component is integrated into PropsApi.vue and SlotsApi.vue, replacing plain text name rendering. Both files receive updated styling for name, description, type, and value columns using a more consistent color palette. PropsApi.vue adds a Required column to display property requirements. Additionally, the Playwright configuration increases the webServer timeout from 120 seconds to 600 seconds.

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately reflects the main changes: refactoring API table components (LinkableApiName, PropsApi, SlotsApi improvements) and configuration adjustments.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
  • 📝 Generate docstrings (stacked PR)
  • 📝 Generate docstrings (commit on current branch)
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch refactor/components-api-tables

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 and usage tips.

@cloudflare-workers-and-pages
Copy link

Deploying flyonui-vue with  Cloudflare Pages  Cloudflare Pages

Latest commit: 213bc45
Status: ✅  Deploy successful!
Preview URL: https://431425d9.flyonui-vue.pages.dev
Branch Preview URL: https://refactor-components-api-tabl.flyonui-vue.pages.dev

View logs

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (2)
packages/docs/Api/UI/PropsApi.vue (1)

49-51: Consider using visual indicators instead of raw boolean text.

prop.required is a boolean, so this will display as "TRUE" or "FALSE" (uppercased). For better UX readability, consider using a checkmark/cross icon or a more user-friendly label like "Yes"/"No".

💡 Optional: Use conditional rendering for friendlier display
 <FoTableColumn class="font-mono font-semibold text-error uppercase">
-    {{ prop.required }}
+    {{ prop.required ? 'Yes' : 'No' }}
 </FoTableColumn>

Or consider using icons for a cleaner visual representation.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@packages/docs/Api/UI/PropsApi.vue` around lines 49 - 51, The template
currently renders the boolean prop.required directly inside <FoTableColumn>,
producing "TRUE"/"FALSE" text; change this to conditional rendering inside the
FoTableColumn in PropsApi.vue (e.g., use a checkmark or "Yes"/"No" for true and
a cross or "No" for false) so the value is presented as a friendly visual
indicator; update the FoTableColumn that references prop.required to render an
icon or localized label based on prop.required instead of the raw boolean.
packages/docs/playwright.config.ts (1)

18-18: Consider documenting the reason for the 5x timeout increase.

The timeout increase from 120s to 600s (10 minutes) is substantial. While this may be necessary for longer local builds, it could also mask slow build issues. Consider adding a comment explaining why 10 minutes is needed, which helps future maintainers understand if this can be reduced.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@packages/docs/playwright.config.ts` at line 18, Add a short inline comment
next to the Playwright config timeout setting (the timeout property in
playwright.config.ts where "timeout: 600 * 1000,") explaining why the value was
increased to 600000 ms (10 minutes), e.g., referencing longer local build/CI
steps or flakiness that required a 5x increase and any ticket/issue/PR number or
benchmark that justifies it so future maintainers can assess whether it can be
reduced.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Nitpick comments:
In `@packages/docs/Api/UI/PropsApi.vue`:
- Around line 49-51: The template currently renders the boolean prop.required
directly inside <FoTableColumn>, producing "TRUE"/"FALSE" text; change this to
conditional rendering inside the FoTableColumn in PropsApi.vue (e.g., use a
checkmark or "Yes"/"No" for true and a cross or "No" for false) so the value is
presented as a friendly visual indicator; update the FoTableColumn that
references prop.required to render an icon or localized label based on
prop.required instead of the raw boolean.

In `@packages/docs/playwright.config.ts`:
- Line 18: Add a short inline comment next to the Playwright config timeout
setting (the timeout property in playwright.config.ts where "timeout: 600 *
1000,") explaining why the value was increased to 600000 ms (10 minutes), e.g.,
referencing longer local build/CI steps or flakiness that required a 5x increase
and any ticket/issue/PR number or benchmark that justifies it so future
maintainers can assess whether it can be reduced.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: cba7b0d8-0684-43b5-b6eb-71a72fff5419

📥 Commits

Reviewing files that changed from the base of the PR and between fb10a4d and 213bc45.

⛔ Files ignored due to path filters (80)
  • packages/docs/tests/EndToEnd/Docs.browser.spec.ts-snapshots/components-alert-FoAlert-props-chromium-linux.png is excluded by !**/*.png
  • packages/docs/tests/EndToEnd/Docs.browser.spec.ts-snapshots/components-alert-FoAlert-slots-chromium-linux.png is excluded by !**/*.png
  • packages/docs/tests/EndToEnd/Docs.browser.spec.ts-snapshots/components-avatar-FoAvatar-props-chromium-linux.png is excluded by !**/*.png
  • packages/docs/tests/EndToEnd/Docs.browser.spec.ts-snapshots/components-avatar-FoAvatar-slots-chromium-linux.png is excluded by !**/*.png
  • packages/docs/tests/EndToEnd/Docs.browser.spec.ts-snapshots/components-avatar-FoAvatarGroup-props-chromium-linux.png is excluded by !**/*.png
  • packages/docs/tests/EndToEnd/Docs.browser.spec.ts-snapshots/components-avatar-FoAvatarGroup-slots-chromium-linux.png is excluded by !**/*.png
  • packages/docs/tests/EndToEnd/Docs.browser.spec.ts-snapshots/components-badge-FoBadge-props-chromium-linux.png is excluded by !**/*.png
  • packages/docs/tests/EndToEnd/Docs.browser.spec.ts-snapshots/components-badge-FoBadge-slots-chromium-linux.png is excluded by !**/*.png
  • packages/docs/tests/EndToEnd/Docs.browser.spec.ts-snapshots/components-badge-FoDotStyleBadge-props-chromium-linux.png is excluded by !**/*.png
  • packages/docs/tests/EndToEnd/Docs.browser.spec.ts-snapshots/components-badge-FoDotStyleBadge-slots-chromium-linux.png is excluded by !**/*.png
  • packages/docs/tests/EndToEnd/Docs.browser.spec.ts-snapshots/components-button-FoButton-props-chromium-linux.png is excluded by !**/*.png
  • packages/docs/tests/EndToEnd/Docs.browser.spec.ts-snapshots/components-button-FoButton-slots-chromium-linux.png is excluded by !**/*.png
  • packages/docs/tests/EndToEnd/Docs.browser.spec.ts-snapshots/components-button-FoLoadingButton-props-chromium-linux.png is excluded by !**/*.png
  • packages/docs/tests/EndToEnd/Docs.browser.spec.ts-snapshots/components-button-FoLoadingButton-slots-chromium-linux.png is excluded by !**/*.png
  • packages/docs/tests/EndToEnd/Docs.browser.spec.ts-snapshots/components-button-FoSocialButton-props-chromium-linux.png is excluded by !**/*.png
  • packages/docs/tests/EndToEnd/Docs.browser.spec.ts-snapshots/components-diff-FoDiff-slots-chromium-linux.png is excluded by !**/*.png
  • packages/docs/tests/EndToEnd/Docs.browser.spec.ts-snapshots/components-list-group-FoListGroup-props-chromium-linux.png is excluded by !**/*.png
  • packages/docs/tests/EndToEnd/Docs.browser.spec.ts-snapshots/components-list-group-FoListGroup-slots-chromium-linux.png is excluded by !**/*.png
  • packages/docs/tests/EndToEnd/Docs.browser.spec.ts-snapshots/components-list-group-FoListGroupItem-slots-chromium-linux.png is excluded by !**/*.png
  • packages/docs/tests/EndToEnd/Docs.browser.spec.ts-snapshots/components-loading-FoLoading-props-chromium-linux.png is excluded by !**/*.png
  • packages/docs/tests/EndToEnd/Docs.browser.spec.ts-snapshots/components-radial-progress-FoRadialProgress-props-chromium-linux.png is excluded by !**/*.png
  • packages/docs/tests/EndToEnd/Docs.browser.spec.ts-snapshots/components-radial-progress-FoRadialProgress-slots-chromium-linux.png is excluded by !**/*.png
  • packages/docs/tests/EndToEnd/Docs.browser.spec.ts-snapshots/components-skeleton-FoSkeleton-props-chromium-linux.png is excluded by !**/*.png
  • packages/docs/tests/EndToEnd/Docs.browser.spec.ts-snapshots/components-stats-FoStat-slots-chromium-linux.png is excluded by !**/*.png
  • packages/docs/tests/EndToEnd/Docs.browser.spec.ts-snapshots/components-stats-FoStatDescription-slots-chromium-linux.png is excluded by !**/*.png
  • packages/docs/tests/EndToEnd/Docs.browser.spec.ts-snapshots/components-stats-FoStatTitle-slots-chromium-linux.png is excluded by !**/*.png
  • packages/docs/tests/EndToEnd/Docs.browser.spec.ts-snapshots/components-stats-FoStatValue-slots-chromium-linux.png is excluded by !**/*.png
  • packages/docs/tests/EndToEnd/Docs.browser.spec.ts-snapshots/components-stats-FoStats-slots-chromium-linux.png is excluded by !**/*.png
  • packages/docs/tests/EndToEnd/Docs.browser.spec.ts-snapshots/components-status-FoStatus-props-chromium-linux.png is excluded by !**/*.png
  • packages/docs/tests/EndToEnd/Docs.browser.spec.ts-snapshots/components-status-FoStatus-slots-chromium-linux.png is excluded by !**/*.png
  • packages/docs/tests/EndToEnd/Docs.browser.spec.ts-snapshots/components-swap-FoSwap-slots-chromium-linux.png is excluded by !**/*.png
  • packages/docs/tests/EndToEnd/Docs.browser.spec.ts-snapshots/content-block-quote-FoBlockQuote-props-chromium-linux.png is excluded by !**/*.png
  • packages/docs/tests/EndToEnd/Docs.browser.spec.ts-snapshots/content-block-quote-FoBlockQuote-slots-chromium-linux.png is excluded by !**/*.png
  • packages/docs/tests/EndToEnd/Docs.browser.spec.ts-snapshots/content-divider-FoDivider-props-chromium-linux.png is excluded by !**/*.png
  • packages/docs/tests/EndToEnd/Docs.browser.spec.ts-snapshots/content-divider-FoDivider-slots-chromium-linux.png is excluded by !**/*.png
  • packages/docs/tests/EndToEnd/Docs.browser.spec.ts-snapshots/content-heading-FoHeading-props-chromium-linux.png is excluded by !**/*.png
  • packages/docs/tests/EndToEnd/Docs.browser.spec.ts-snapshots/content-heading-FoHeading-slots-chromium-linux.png is excluded by !**/*.png
  • packages/docs/tests/EndToEnd/Docs.browser.spec.ts-snapshots/content-keyboard-FoKeyboard-slots-chromium-linux.png is excluded by !**/*.png
  • packages/docs/tests/EndToEnd/Docs.browser.spec.ts-snapshots/content-link-FoLink-props-chromium-linux.png is excluded by !**/*.png
  • packages/docs/tests/EndToEnd/Docs.browser.spec.ts-snapshots/content-link-FoLink-slots-chromium-linux.png is excluded by !**/*.png
  • packages/docs/tests/EndToEnd/Docs.browser.spec.ts-snapshots/forms-checkbox-FoCheckbox-slots-chromium-linux.png is excluded by !**/*.png
  • packages/docs/tests/EndToEnd/Docs.browser.spec.ts-snapshots/forms-checkbox-FoCheckboxGroup-slots-chromium-linux.png is excluded by !**/*.png
  • packages/docs/tests/EndToEnd/Docs.browser.spec.ts-snapshots/forms-input-file-FoInputFile-props-chromium-linux.png is excluded by !**/*.png
  • packages/docs/tests/EndToEnd/Docs.browser.spec.ts-snapshots/forms-input-text-FoInputText-props-chromium-linux.png is excluded by !**/*.png
  • packages/docs/tests/EndToEnd/Docs.browser.spec.ts-snapshots/forms-input-text-FoInputText-slots-chromium-linux.png is excluded by !**/*.png
  • packages/docs/tests/EndToEnd/Docs.browser.spec.ts-snapshots/forms-join-FoJoin-slots-chromium-linux.png is excluded by !**/*.png
  • packages/docs/tests/EndToEnd/Docs.browser.spec.ts-snapshots/forms-radio-FoImageRadio-props-chromium-linux.png is excluded by !**/*.png
  • packages/docs/tests/EndToEnd/Docs.browser.spec.ts-snapshots/forms-radio-FoRadio-props-chromium-linux.png is excluded by !**/*.png
  • packages/docs/tests/EndToEnd/Docs.browser.spec.ts-snapshots/forms-range-FoRange-props-chromium-linux.png is excluded by !**/*.png
  • packages/docs/tests/EndToEnd/Docs.browser.spec.ts-snapshots/forms-range-FoRange-slots-chromium-linux.png is excluded by !**/*.png
  • packages/docs/tests/EndToEnd/Docs.browser.spec.ts-snapshots/forms-select-FoDatalist-props-chromium-linux.png is excluded by !**/*.png
  • packages/docs/tests/EndToEnd/Docs.browser.spec.ts-snapshots/forms-select-FoSelect-props-chromium-linux.png is excluded by !**/*.png
  • packages/docs/tests/EndToEnd/Docs.browser.spec.ts-snapshots/forms-switch-FoSwitch-props-chromium-linux.png is excluded by !**/*.png
  • packages/docs/tests/EndToEnd/Docs.browser.spec.ts-snapshots/forms-switch-FoSwitchGroup-slots-chromium-linux.png is excluded by !**/*.png
  • packages/docs/tests/EndToEnd/Docs.browser.spec.ts-snapshots/forms-textarea-FoTextarea-props-chromium-linux.png is excluded by !**/*.png
  • packages/docs/tests/EndToEnd/Docs.browser.spec.ts-snapshots/navigations-menu-FoMenu-props-chromium-linux.png is excluded by !**/*.png
  • packages/docs/tests/EndToEnd/Docs.browser.spec.ts-snapshots/navigations-menu-FoMenu-slots-chromium-linux.png is excluded by !**/*.png
  • packages/docs/tests/EndToEnd/Docs.browser.spec.ts-snapshots/navigations-menu-FoMenuItem-slots-chromium-linux.png is excluded by !**/*.png
  • packages/docs/tests/EndToEnd/Docs.browser.spec.ts-snapshots/navigations-pagination-FoPagination-props-chromium-linux.png is excluded by !**/*.png
  • packages/docs/tests/EndToEnd/Docs.browser.spec.ts-snapshots/navigations-tabs-FoTab-slots-chromium-linux.png is excluded by !**/*.png
  • packages/docs/tests/EndToEnd/Docs.browser.spec.ts-snapshots/navigations-tabs-FoTabContent-slots-chromium-linux.png is excluded by !**/*.png
  • packages/docs/tests/EndToEnd/Docs.browser.spec.ts-snapshots/navigations-tabs-FoTabs-slots-chromium-linux.png is excluded by !**/*.png
  • packages/docs/tests/EndToEnd/Docs.browser.spec.ts-snapshots/overlays-modal-FoModal-props-chromium-linux.png is excluded by !**/*.png
  • packages/docs/tests/EndToEnd/Docs.browser.spec.ts-snapshots/overlays-modal-FoModal-slots-chromium-linux.png is excluded by !**/*.png
  • packages/docs/tests/EndToEnd/Docs.browser.spec.ts-snapshots/overlays-modal-FoModalTitle-slots-chromium-linux.png is excluded by !**/*.png
  • packages/docs/tests/EndToEnd/Docs.browser.spec.ts-snapshots/overlays-popover-FoPopover-props-chromium-linux.png is excluded by !**/*.png
  • packages/docs/tests/EndToEnd/Docs.browser.spec.ts-snapshots/overlays-popover-FoPopover-slots-chromium-linux.png is excluded by !**/*.png
  • packages/docs/tests/EndToEnd/Docs.browser.spec.ts-snapshots/overlays-tooltip-FoTooltip-props-chromium-linux.png is excluded by !**/*.png
  • packages/docs/tests/EndToEnd/Docs.browser.spec.ts-snapshots/overlays-tooltip-FoTooltip-slots-chromium-linux.png is excluded by !**/*.png
  • packages/docs/tests/EndToEnd/Docs.browser.spec.ts-snapshots/tables-data-table-FoDataTable-props-chromium-linux.png is excluded by !**/*.png
  • packages/docs/tests/EndToEnd/Docs.browser.spec.ts-snapshots/tables-data-table-FoDataTable-slots-chromium-linux.png is excluded by !**/*.png
  • packages/docs/tests/EndToEnd/Docs.browser.spec.ts-snapshots/tables-table-FoTable-props-chromium-linux.png is excluded by !**/*.png
  • packages/docs/tests/EndToEnd/Docs.browser.spec.ts-snapshots/tables-table-FoTable-slots-chromium-linux.png is excluded by !**/*.png
  • packages/docs/tests/EndToEnd/Docs.browser.spec.ts-snapshots/tables-table-FoTableBody-slots-chromium-linux.png is excluded by !**/*.png
  • packages/docs/tests/EndToEnd/Docs.browser.spec.ts-snapshots/tables-table-FoTableColumn-props-chromium-linux.png is excluded by !**/*.png
  • packages/docs/tests/EndToEnd/Docs.browser.spec.ts-snapshots/tables-table-FoTableColumn-slots-chromium-linux.png is excluded by !**/*.png
  • packages/docs/tests/EndToEnd/Docs.browser.spec.ts-snapshots/tables-table-FoTableHead-slots-chromium-linux.png is excluded by !**/*.png
  • packages/docs/tests/EndToEnd/Docs.browser.spec.ts-snapshots/tables-table-FoTableHeader-props-chromium-linux.png is excluded by !**/*.png
  • packages/docs/tests/EndToEnd/Docs.browser.spec.ts-snapshots/tables-table-FoTableHeader-slots-chromium-linux.png is excluded by !**/*.png
  • packages/docs/tests/EndToEnd/Docs.browser.spec.ts-snapshots/tables-table-FoTableRow-slots-chromium-linux.png is excluded by !**/*.png
📒 Files selected for processing (4)
  • packages/docs/Api/UI/LinkableApiName.vue
  • packages/docs/Api/UI/PropsApi.vue
  • packages/docs/Api/UI/SlotsApi.vue
  • packages/docs/playwright.config.ts

@michaelcozzolino michaelcozzolino merged commit 4a24e4a into 2.x Mar 8, 2026
7 checks passed
@michaelcozzolino michaelcozzolino deleted the refactor/components-api-tables branch March 8, 2026 22:42
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