-
-
Notifications
You must be signed in to change notification settings - Fork 163
doc(BTooltip): Parity pass #2762
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
Warning Rate limit exceeded@dwgray has exceeded the limit for the number of commits or files that can be reviewed per hour. Please wait 1 minutes and 13 seconds before requesting another review. ⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. 📒 Files selected for processing (3)
WalkthroughCentralizes popover/tooltip prop and emit metadata into new shared helpers, updates popover docs data to use them, adds a tooltip data module, introduces many tooltip demo components, rewrites tooltip docs and migration notes, and includes minor popover demo/template tweaks and small docs/formatting edits. Changes
Sequence Diagram(s)sequenceDiagram
autonumber
actor Reader as Docs User
participant Page as Tooltip Docs Page
participant Data as apps/docs/.../tooltip.data.ts
participant Shared as apps/docs/.../popover-shared.ts
participant Demos as demo components
Reader->>Page: Open Tooltip docs
Page->>Data: import/load ComponentReference
Data->>Shared: popoverSharedProps("tooltip")
Shared-->>Data: PropRecord
Data->>Shared: popoverSharedEmits("tooltip")
Shared-->>Data: EmitRecord
Data-->>Page: ComponentReference (props/emits/slots/styleSpec)
Page->>Demos: embed demo components (Tooltip*.vue)
Page-->>Reader: Render docs & demos
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Assessment against linked issues
Assessment against linked issues: Out-of-scope changes
Possibly related PRs
Suggested reviewers
Poem
✨ Finishing Touches🧪 Generate unit tests
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. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. CodeRabbit Commands (Invoked using PR/Issue comments)Type Other keywords and placeholders
CodeRabbit Configuration File (
|
commit: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 6
🧹 Nitpick comments (11)
apps/docs/src/utils/popover-shared.ts (1)
73-73
: Fix typo in description."scrool" should be "scroll".
- 'Disables automatic closing on click outside or scrool out of view. Overrides `close-on-hide`' + 'Disables automatic closing on click outside or scroll out of view. Overrides `close-on-hide`'apps/docs/src/docs/components/demo/TooltipStyles.vue (1)
3-3
: Consider removing unnecessary flex container.Since there's only one tooltip in this demo, the
d-flex gap-2
classes are unnecessary and could be simplified to just adiv
or removed entirely.- <div class="d-flex gap-2"> + <div>apps/docs/src/docs/components/demo/TooltipVariant.vue (1)
3-3
: Consider removing unnecessary flex container.Similar to other single-tooltip demos, the
d-flex gap-2
classes are unnecessary since there's only one tooltip element.- <div class="d-flex gap-2"> + <div>apps/docs/src/docs/components/demo/TooltipContent.vue (1)
4-4
: Fix typo in tooltip title.There's a spelling error: "Tootip" should be "Tooltip".
- <BTooltip title="Tootip Title via Property"> + <BTooltip title="Tooltip Title via Property">apps/docs/src/docs/components/demo/TooltipPositioning.vue (1)
82-84
: Fix formatting of closing tags.The closing tags are formatted inconsistently. Consider improving readability.
- </BCol></BRow - ></BContainer - > + </BCol> + </BRow> + </BContainer>apps/docs/src/docs/components/demo/TooltipCloseOnHide.vue (1)
30-34
: Consider the DOM query selector robustness.The hardcoded selector
'#app > nav'
works for the current documentation site structure but could be brittle if the navigation markup changes. For a demo component, this is probably acceptable, but consider if a more resilient approach might be beneficial.apps/docs/src/docs/migration-guide.md (1)
802-803
: Fix missing comma for better readability.The sentence would read more clearly with a comma after "default".
-`BTooltip` is noninteractive by default unlike in BootstrapVue. This provides for a smoother user +`BTooltip` is noninteractive by default, unlike in BootstrapVue. This provides for a smoother userapps/docs/src/docs/components/tooltip.md (4)
21-23
: Fix repeated “tootlip/Tootlips” misspellingsSpelling errors undermine professionalism and hurt search indexing.
- Tootlips rely on the 3rd party library ... - ... where in the DOM the tootlip is rendered. + Tooltips rely on the 3rd-party library … + … where in the DOM the tooltip is rendered.
78-78
: Minor wording tweak for clarity“… when the mouse is over it or focus is in it …”
Replace “in” with “on” or “within” for idiomatic English:
- … when the mouse is over it or focus is in it … + … when the mouse is over it or focus is within it …
35-35
: Use the correct abbreviation “i.e.”- A string with querySelector. (ie. '#toolbar > div:first-child') + A string with querySelector (i.e. `#toolbar > div:first-child`)
110-111
: Spelling & wording in custom-class section
tootlip
→tooltip
- Remove extraneous “to”
-Custom classes can be applied to the tootlip using the `title-class` prop and to or `body-class` prop +Custom classes can be applied to the tooltip using the `title-class` or `body-class` prop
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (22)
apps/docs/src/data/components/popover.data.ts
(2 hunks)apps/docs/src/data/components/tooltip.data.ts
(1 hunks)apps/docs/src/docs/components/demo/PopoverExposed.vue
(1 hunks)apps/docs/src/docs/components/demo/PopoverOverview.vue
(1 hunks)apps/docs/src/docs/components/demo/PopoverStyles.vue
(0 hunks)apps/docs/src/docs/components/demo/TooltipCloseOnHide.vue
(1 hunks)apps/docs/src/docs/components/demo/TooltipContent.vue
(1 hunks)apps/docs/src/docs/components/demo/TooltipCustomClass.vue
(1 hunks)apps/docs/src/docs/components/demo/TooltipExposed.vue
(1 hunks)apps/docs/src/docs/components/demo/TooltipInteractive.vue
(1 hunks)apps/docs/src/docs/components/demo/TooltipModel.vue
(1 hunks)apps/docs/src/docs/components/demo/TooltipOverview.vue
(1 hunks)apps/docs/src/docs/components/demo/TooltipPositioning.vue
(1 hunks)apps/docs/src/docs/components/demo/TooltipStartOpen.vue
(1 hunks)apps/docs/src/docs/components/demo/TooltipStyles.vue
(1 hunks)apps/docs/src/docs/components/demo/TooltipTriggers.vue
(1 hunks)apps/docs/src/docs/components/demo/TooltipVariant.vue
(1 hunks)apps/docs/src/docs/components/popover.md
(4 hunks)apps/docs/src/docs/components/tooltip.md
(1 hunks)apps/docs/src/docs/migration-guide.md
(2 hunks)apps/docs/src/utils/index.ts
(1 hunks)apps/docs/src/utils/popover-shared.ts
(1 hunks)
💤 Files with no reviewable changes (1)
- apps/docs/src/docs/components/demo/PopoverStyles.vue
🧰 Additional context used
🧠 Learnings (21)
📓 Common learnings
Learnt from: dwgray
PR: bootstrap-vue-next/bootstrap-vue-next#2701
File: apps/docs/src/docs/migration-guide.md:630-632
Timestamp: 2025-05-23T23:58:07.165Z
Learning: The `<NotYetImplemented/>` component in the bootstrap-vue-next documentation automatically renders text indicating "Not Yet Implemented", so additional explanatory text about features not being implemented is redundant when this component is used.
Learnt from: xvaara
PR: bootstrap-vue-next/bootstrap-vue-next#2701
File: apps/docs/src/docs/migration-guide.md:622-626
Timestamp: 2025-06-05T11:43:10.793Z
Learning: In migration guides, links to the old/previous version's documentation (like bootstrap-vue.org) are appropriate and helpful when explaining deprecated features, as they provide users with reference points for what they're migrating from.
Learnt from: xvaara
PR: bootstrap-vue-next/bootstrap-vue-next#2425
File: packages/bootstrap-vue-next/src/plugins/popoverController/index.ts:138-140
Timestamp: 2025-04-28T22:48:46.738Z
Learning: In bootstrap-vue-next, `PopoverOrchestratorParam` includes an `id` field of type `ControllerKey` through inheritance from base types. This field is declared in the `BvControllerOptions` interface and propagated through the type hierarchy.
apps/docs/src/docs/components/demo/PopoverOverview.vue (4)
Learnt from: xvaara
PR: bootstrap-vue-next/bootstrap-vue-next#2425
File: packages/bootstrap-vue-next/src/plugins/popoverController/index.ts:138-140
Timestamp: 2025-04-28T22:48:46.738Z
Learning: In bootstrap-vue-next, `PopoverOrchestratorParam` includes an `id` field of type `ControllerKey` through inheritance from base types. This field is declared in the `BvControllerOptions` interface and propagated through the type hierarchy.
Learnt from: xvaara
PR: bootstrap-vue-next/bootstrap-vue-next#2716
File: packages/bootstrap-vue-next/src/components/BTabs/BTabs.vue:425-430
Timestamp: 2025-05-28T07:32:45.658Z
Learning: In BTabs component (packages/bootstrap-vue-next/src/components/BTabs/BTabs.vue), the activeIndex synchronization within sortTabs() is necessary and correct. When sorting tabs by DOM position, indices change, so activeIndex must be updated immediately to maintain consistency with activeId. This is not an unwanted side effect but a required consequence of the sorting operation.
Learnt from: xvaara
PR: bootstrap-vue-next/bootstrap-vue-next#2716
File: packages/bootstrap-vue-next/src/components/BTabs/BTabs.vue:240-261
Timestamp: 2025-05-28T07:01:55.095Z
Learning: In BTabs component (packages/bootstrap-vue-next/src/components/BTabs/BTabs.vue), the complex initialization logic with updateInitialActiveIndex and updateInitialActiveId flags is necessary for SSR compatibility. Tab initialization cannot be deferred to mounted lifecycle because tabs must be available for server-side rendering of the initial HTML state.
Learnt from: dwgray
PR: bootstrap-vue-next/bootstrap-vue-next#2701
File: apps/docs/src/docs/migration-guide.md:630-632
Timestamp: 2025-05-23T23:58:07.165Z
Learning: The `<NotYetImplemented/>` component in the bootstrap-vue-next documentation automatically renders text indicating "Not Yet Implemented", so additional explanatory text about features not being implemented is redundant when this component is used.
apps/docs/src/docs/components/demo/TooltipContent.vue (1)
Learnt from: dwgray
PR: bootstrap-vue-next/bootstrap-vue-next#2701
File: apps/docs/src/docs/migration-guide.md:630-632
Timestamp: 2025-05-23T23:58:07.165Z
Learning: The `<NotYetImplemented/>` component in the bootstrap-vue-next documentation automatically renders text indicating "Not Yet Implemented", so additional explanatory text about features not being implemented is redundant when this component is used.
apps/docs/src/docs/components/demo/TooltipStyles.vue (2)
Learnt from: dwgray
PR: bootstrap-vue-next/bootstrap-vue-next#2701
File: apps/docs/src/docs/migration-guide.md:630-632
Timestamp: 2025-05-23T23:58:07.165Z
Learning: The `<NotYetImplemented/>` component in the bootstrap-vue-next documentation automatically renders text indicating "Not Yet Implemented", so additional explanatory text about features not being implemented is redundant when this component is used.
Learnt from: unstoppablecarl
PR: bootstrap-vue-next/bootstrap-vue-next#2671
File: packages/bootstrap-vue-next/src/components/BToast/_toast.scss:1-3
Timestamp: 2025-04-27T17:30:42.045Z
Learning: In global SCSS files for bootstrap-vue-next, `:deep()` combinator should not be used as it only works in Vue's scoped style blocks. Standard CSS/SCSS selectors should be used instead.
apps/docs/src/docs/components/popover.md (5)
Learnt from: xvaara
PR: bootstrap-vue-next/bootstrap-vue-next#2425
File: packages/bootstrap-vue-next/src/plugins/popoverController/index.ts:138-140
Timestamp: 2025-04-28T22:48:46.738Z
Learning: In bootstrap-vue-next, `PopoverOrchestratorParam` includes an `id` field of type `ControllerKey` through inheritance from base types. This field is declared in the `BvControllerOptions` interface and propagated through the type hierarchy.
Learnt from: xvaara
PR: bootstrap-vue-next/bootstrap-vue-next#2701
File: apps/docs/src/docs/migration-guide.md:622-626
Timestamp: 2025-06-05T11:43:10.793Z
Learning: In migration guides, links to the old/previous version's documentation (like bootstrap-vue.org) are appropriate and helpful when explaining deprecated features, as they provide users with reference points for what they're migrating from.
Learnt from: dwgray
PR: bootstrap-vue-next/bootstrap-vue-next#2701
File: apps/docs/src/docs/migration-guide.md:630-632
Timestamp: 2025-05-23T23:58:07.165Z
Learning: The `<NotYetImplemented/>` component in the bootstrap-vue-next documentation automatically renders text indicating "Not Yet Implemented", so additional explanatory text about features not being implemented is redundant when this component is used.
Learnt from: xvaara
PR: bootstrap-vue-next/bootstrap-vue-next#2716
File: packages/bootstrap-vue-next/src/components/BTabs/BTabs.vue:240-261
Timestamp: 2025-05-28T07:01:55.095Z
Learning: In BTabs component (packages/bootstrap-vue-next/src/components/BTabs/BTabs.vue), the complex initialization logic with updateInitialActiveIndex and updateInitialActiveId flags is necessary for SSR compatibility. Tab initialization cannot be deferred to mounted lifecycle because tabs must be available for server-side rendering of the initial HTML state.
Learnt from: unstoppablecarl
PR: bootstrap-vue-next/bootstrap-vue-next#2671
File: packages/bootstrap-vue-next/src/components/BToast/_toast.scss:1-3
Timestamp: 2025-04-27T17:30:42.045Z
Learning: In global SCSS files for bootstrap-vue-next, `:deep()` combinator should not be used as it only works in Vue's scoped style blocks. Standard CSS/SCSS selectors should be used instead.
apps/docs/src/docs/components/demo/PopoverExposed.vue (8)
Learnt from: xvaara
PR: bootstrap-vue-next/bootstrap-vue-next#2425
File: packages/bootstrap-vue-next/src/plugins/popoverController/index.ts:138-140
Timestamp: 2025-04-28T22:48:46.738Z
Learning: In bootstrap-vue-next, `PopoverOrchestratorParam` includes an `id` field of type `ControllerKey` through inheritance from base types. This field is declared in the `BvControllerOptions` interface and propagated through the type hierarchy.
Learnt from: dwgray
PR: bootstrap-vue-next/bootstrap-vue-next#2701
File: apps/docs/src/docs/migration-guide.md:630-632
Timestamp: 2025-05-23T23:58:07.165Z
Learning: The `<NotYetImplemented/>` component in the bootstrap-vue-next documentation automatically renders text indicating "Not Yet Implemented", so additional explanatory text about features not being implemented is redundant when this component is used.
Learnt from: unstoppablecarl
PR: bootstrap-vue-next/bootstrap-vue-next#2671
File: packages/bootstrap-vue-next/src/components/BToast/_toast.scss:1-3
Timestamp: 2025-04-27T17:30:42.045Z
Learning: In global SCSS files for bootstrap-vue-next, `:deep()` combinator should not be used as it only works in Vue's scoped style blocks. Standard CSS/SCSS selectors should be used instead.
Learnt from: xvaara
PR: bootstrap-vue-next/bootstrap-vue-next#2701
File: apps/docs/src/docs/migration-guide.md:622-626
Timestamp: 2025-06-05T11:43:10.793Z
Learning: In migration guides, links to the old/previous version's documentation (like bootstrap-vue.org) are appropriate and helpful when explaining deprecated features, as they provide users with reference points for what they're migrating from.
Learnt from: xvaara
PR: bootstrap-vue-next/bootstrap-vue-next#2716
File: packages/bootstrap-vue-next/src/components/BTabs/BTabs.vue:240-261
Timestamp: 2025-05-28T07:01:55.095Z
Learning: In BTabs component (packages/bootstrap-vue-next/src/components/BTabs/BTabs.vue), the complex initialization logic with updateInitialActiveIndex and updateInitialActiveId flags is necessary for SSR compatibility. Tab initialization cannot be deferred to mounted lifecycle because tabs must be available for server-side rendering of the initial HTML state.
Learnt from: xvaara
PR: bootstrap-vue-next/bootstrap-vue-next#2716
File: packages/bootstrap-vue-next/src/components/BTabs/BTabs.vue:425-430
Timestamp: 2025-05-28T07:32:45.658Z
Learning: In BTabs component (packages/bootstrap-vue-next/src/components/BTabs/BTabs.vue), the activeIndex synchronization within sortTabs() is necessary and correct. When sorting tabs by DOM position, indices change, so activeIndex must be updated immediately to maintain consistency with activeId. This is not an unwanted side effect but a required consequence of the sorting operation.
Learnt from: xvaara
PR: bootstrap-vue-next/bootstrap-vue-next#2716
File: packages/bootstrap-vue-next/src/components/BTabs/BTabs.vue:384-404
Timestamp: 2025-05-28T07:57:19.915Z
Learning: In BTabs component (packages/bootstrap-vue-next/src/components/BTabs/BTabs.vue), the activeIndex and activeId watchers are intentionally designed with separation of concerns: activeIndex watcher handles activate-tab event emission and complex validation logic, while activeId watcher is kept simple for synchronization between activeId and activeIndex values only.
Learnt from: VividLemon
PR: bootstrap-vue-next/bootstrap-vue-next#2691
File: packages/bootstrap-vue-next/src/composables/useBLinkHelper.ts:85-86
Timestamp: 2025-05-26T17:28:35.902Z
Learning: In the `useBLinkTagResolver` function in `packages/bootstrap-vue-next/src/composables/useBLinkHelper.ts`, the `routerComponentName` parameter is required and typed as `MaybeRefOrGetter<string>`, ensuring it cannot be undefined.
apps/docs/src/docs/components/demo/TooltipInteractive.vue (2)
Learnt from: dwgray
PR: bootstrap-vue-next/bootstrap-vue-next#2701
File: apps/docs/src/docs/migration-guide.md:630-632
Timestamp: 2025-05-23T23:58:07.165Z
Learning: The `<NotYetImplemented/>` component in the bootstrap-vue-next documentation automatically renders text indicating "Not Yet Implemented", so additional explanatory text about features not being implemented is redundant when this component is used.
Learnt from: xvaara
PR: bootstrap-vue-next/bootstrap-vue-next#2716
File: packages/bootstrap-vue-next/src/components/BTabs/BTabs.vue:240-261
Timestamp: 2025-05-28T07:01:55.095Z
Learning: In BTabs component (packages/bootstrap-vue-next/src/components/BTabs/BTabs.vue), the complex initialization logic with updateInitialActiveIndex and updateInitialActiveId flags is necessary for SSR compatibility. Tab initialization cannot be deferred to mounted lifecycle because tabs must be available for server-side rendering of the initial HTML state.
apps/docs/src/docs/components/demo/TooltipVariant.vue (1)
Learnt from: dwgray
PR: bootstrap-vue-next/bootstrap-vue-next#2701
File: apps/docs/src/docs/migration-guide.md:630-632
Timestamp: 2025-05-23T23:58:07.165Z
Learning: The `<NotYetImplemented/>` component in the bootstrap-vue-next documentation automatically renders text indicating "Not Yet Implemented", so additional explanatory text about features not being implemented is redundant when this component is used.
apps/docs/src/docs/components/demo/TooltipCustomClass.vue (1)
Learnt from: dwgray
PR: bootstrap-vue-next/bootstrap-vue-next#2701
File: apps/docs/src/docs/migration-guide.md:630-632
Timestamp: 2025-05-23T23:58:07.165Z
Learning: The `<NotYetImplemented/>` component in the bootstrap-vue-next documentation automatically renders text indicating "Not Yet Implemented", so additional explanatory text about features not being implemented is redundant when this component is used.
apps/docs/src/docs/components/demo/TooltipStartOpen.vue (1)
Learnt from: dwgray
PR: bootstrap-vue-next/bootstrap-vue-next#2701
File: apps/docs/src/docs/migration-guide.md:630-632
Timestamp: 2025-05-23T23:58:07.165Z
Learning: The `<NotYetImplemented/>` component in the bootstrap-vue-next documentation automatically renders text indicating "Not Yet Implemented", so additional explanatory text about features not being implemented is redundant when this component is used.
apps/docs/src/docs/components/demo/TooltipTriggers.vue (1)
Learnt from: dwgray
PR: bootstrap-vue-next/bootstrap-vue-next#2701
File: apps/docs/src/docs/migration-guide.md:630-632
Timestamp: 2025-05-23T23:58:07.165Z
Learning: The `<NotYetImplemented/>` component in the bootstrap-vue-next documentation automatically renders text indicating "Not Yet Implemented", so additional explanatory text about features not being implemented is redundant when this component is used.
apps/docs/src/data/components/tooltip.data.ts (4)
Learnt from: xvaara
PR: bootstrap-vue-next/bootstrap-vue-next#2425
File: packages/bootstrap-vue-next/src/plugins/popoverController/index.ts:138-140
Timestamp: 2025-04-28T22:48:46.738Z
Learning: In bootstrap-vue-next, `PopoverOrchestratorParam` includes an `id` field of type `ControllerKey` through inheritance from base types. This field is declared in the `BvControllerOptions` interface and propagated through the type hierarchy.
Learnt from: dwgray
PR: bootstrap-vue-next/bootstrap-vue-next#2701
File: apps/docs/src/docs/migration-guide.md:630-632
Timestamp: 2025-05-23T23:58:07.165Z
Learning: The `<NotYetImplemented/>` component in the bootstrap-vue-next documentation automatically renders text indicating "Not Yet Implemented", so additional explanatory text about features not being implemented is redundant when this component is used.
Learnt from: VividLemon
PR: bootstrap-vue-next/bootstrap-vue-next#2691
File: packages/bootstrap-vue-next/src/composables/useBLinkHelper.ts:85-86
Timestamp: 2025-05-26T17:28:35.902Z
Learning: In the `useBLinkTagResolver` function in `packages/bootstrap-vue-next/src/composables/useBLinkHelper.ts`, the `routerComponentName` parameter is required and typed as `MaybeRefOrGetter<string>`, ensuring it cannot be undefined.
Learnt from: xvaara
PR: bootstrap-vue-next/bootstrap-vue-next#2716
File: packages/bootstrap-vue-next/src/components/BTabs/BTabs.vue:240-261
Timestamp: 2025-05-28T07:01:55.095Z
Learning: In BTabs component (packages/bootstrap-vue-next/src/components/BTabs/BTabs.vue), the complex initialization logic with updateInitialActiveIndex and updateInitialActiveId flags is necessary for SSR compatibility. Tab initialization cannot be deferred to mounted lifecycle because tabs must be available for server-side rendering of the initial HTML state.
apps/docs/src/data/components/popover.data.ts (6)
Learnt from: xvaara
PR: bootstrap-vue-next/bootstrap-vue-next#2425
File: packages/bootstrap-vue-next/src/plugins/popoverController/index.ts:138-140
Timestamp: 2025-04-28T22:48:46.738Z
Learning: In bootstrap-vue-next, `PopoverOrchestratorParam` includes an `id` field of type `ControllerKey` through inheritance from base types. This field is declared in the `BvControllerOptions` interface and propagated through the type hierarchy.
Learnt from: dwgray
PR: bootstrap-vue-next/bootstrap-vue-next#2669
File: apps/docs/src/data/components/table.data.ts:334-336
Timestamp: 2025-04-24T20:35:48.629Z
Learning: The generic type parameter for table items should use the singular form `Item` rather than the plural `Items` to improve readability and follow TypeScript conventions. This change would primarily affect two files: `packages/bootstrap-vue-next/src/types/ComponentProps.ts` and `apps/docs/src/data/components/table.data.ts`.
Learnt from: VividLemon
PR: bootstrap-vue-next/bootstrap-vue-next#2691
File: packages/bootstrap-vue-next/src/composables/useBLinkHelper.ts:85-86
Timestamp: 2025-05-26T17:28:35.902Z
Learning: In the `useBLinkTagResolver` function in `packages/bootstrap-vue-next/src/composables/useBLinkHelper.ts`, the `routerComponentName` parameter is required and typed as `MaybeRefOrGetter<string>`, ensuring it cannot be undefined.
Learnt from: dwgray
PR: bootstrap-vue-next/bootstrap-vue-next#2701
File: apps/docs/src/docs/migration-guide.md:630-632
Timestamp: 2025-05-23T23:58:07.165Z
Learning: The `<NotYetImplemented/>` component in the bootstrap-vue-next documentation automatically renders text indicating "Not Yet Implemented", so additional explanatory text about features not being implemented is redundant when this component is used.
Learnt from: unstoppablecarl
PR: bootstrap-vue-next/bootstrap-vue-next#2671
File: packages/bootstrap-vue-next/src/components/BToast/_toast.scss:1-3
Timestamp: 2025-04-27T17:30:42.045Z
Learning: In global SCSS files for bootstrap-vue-next, `:deep()` combinator should not be used as it only works in Vue's scoped style blocks. Standard CSS/SCSS selectors should be used instead.
Learnt from: xvaara
PR: bootstrap-vue-next/bootstrap-vue-next#2716
File: packages/bootstrap-vue-next/src/components/BTabs/BTabs.vue:240-261
Timestamp: 2025-05-28T07:01:55.095Z
Learning: In BTabs component (packages/bootstrap-vue-next/src/components/BTabs/BTabs.vue), the complex initialization logic with updateInitialActiveIndex and updateInitialActiveId flags is necessary for SSR compatibility. Tab initialization cannot be deferred to mounted lifecycle because tabs must be available for server-side rendering of the initial HTML state.
apps/docs/src/docs/components/demo/TooltipModel.vue (2)
Learnt from: dwgray
PR: bootstrap-vue-next/bootstrap-vue-next#2701
File: apps/docs/src/docs/migration-guide.md:630-632
Timestamp: 2025-05-23T23:58:07.165Z
Learning: The `<NotYetImplemented/>` component in the bootstrap-vue-next documentation automatically renders text indicating "Not Yet Implemented", so additional explanatory text about features not being implemented is redundant when this component is used.
Learnt from: xvaara
PR: bootstrap-vue-next/bootstrap-vue-next#2716
File: packages/bootstrap-vue-next/src/components/BTabs/BTabs.vue:240-261
Timestamp: 2025-05-28T07:01:55.095Z
Learning: In BTabs component (packages/bootstrap-vue-next/src/components/BTabs/BTabs.vue), the complex initialization logic with updateInitialActiveIndex and updateInitialActiveId flags is necessary for SSR compatibility. Tab initialization cannot be deferred to mounted lifecycle because tabs must be available for server-side rendering of the initial HTML state.
apps/docs/src/docs/components/demo/TooltipOverview.vue (2)
Learnt from: dwgray
PR: bootstrap-vue-next/bootstrap-vue-next#2701
File: apps/docs/src/docs/migration-guide.md:630-632
Timestamp: 2025-05-23T23:58:07.165Z
Learning: The `<NotYetImplemented/>` component in the bootstrap-vue-next documentation automatically renders text indicating "Not Yet Implemented", so additional explanatory text about features not being implemented is redundant when this component is used.
Learnt from: xvaara
PR: bootstrap-vue-next/bootstrap-vue-next#2701
File: apps/docs/src/docs/migration-guide.md:622-626
Timestamp: 2025-06-05T11:43:10.793Z
Learning: In migration guides, links to the old/previous version's documentation (like bootstrap-vue.org) are appropriate and helpful when explaining deprecated features, as they provide users with reference points for what they're migrating from.
apps/docs/src/docs/components/demo/TooltipPositioning.vue (2)
Learnt from: dwgray
PR: bootstrap-vue-next/bootstrap-vue-next#2701
File: apps/docs/src/docs/migration-guide.md:630-632
Timestamp: 2025-05-23T23:58:07.165Z
Learning: The `<NotYetImplemented/>` component in the bootstrap-vue-next documentation automatically renders text indicating "Not Yet Implemented", so additional explanatory text about features not being implemented is redundant when this component is used.
Learnt from: xvaara
PR: bootstrap-vue-next/bootstrap-vue-next#2716
File: packages/bootstrap-vue-next/src/components/BTabs/BTabs.vue:240-261
Timestamp: 2025-05-28T07:01:55.095Z
Learning: In BTabs component (packages/bootstrap-vue-next/src/components/BTabs/BTabs.vue), the complex initialization logic with updateInitialActiveIndex and updateInitialActiveId flags is necessary for SSR compatibility. Tab initialization cannot be deferred to mounted lifecycle because tabs must be available for server-side rendering of the initial HTML state.
apps/docs/src/docs/components/demo/TooltipCloseOnHide.vue (3)
Learnt from: dwgray
PR: bootstrap-vue-next/bootstrap-vue-next#2701
File: apps/docs/src/docs/migration-guide.md:630-632
Timestamp: 2025-05-23T23:58:07.165Z
Learning: The `<NotYetImplemented/>` component in the bootstrap-vue-next documentation automatically renders text indicating "Not Yet Implemented", so additional explanatory text about features not being implemented is redundant when this component is used.
Learnt from: xvaara
PR: bootstrap-vue-next/bootstrap-vue-next#2716
File: packages/bootstrap-vue-next/src/components/BTabs/BTabs.vue:240-261
Timestamp: 2025-05-28T07:01:55.095Z
Learning: In BTabs component (packages/bootstrap-vue-next/src/components/BTabs/BTabs.vue), the complex initialization logic with updateInitialActiveIndex and updateInitialActiveId flags is necessary for SSR compatibility. Tab initialization cannot be deferred to mounted lifecycle because tabs must be available for server-side rendering of the initial HTML state.
Learnt from: xvaara
PR: bootstrap-vue-next/bootstrap-vue-next#2716
File: packages/bootstrap-vue-next/src/components/BTabs/BTabs.vue:384-404
Timestamp: 2025-05-28T07:57:19.915Z
Learning: In BTabs component (packages/bootstrap-vue-next/src/components/BTabs/BTabs.vue), the activeIndex and activeId watchers are intentionally designed with separation of concerns: activeIndex watcher handles activate-tab event emission and complex validation logic, while activeId watcher is kept simple for synchronization between activeId and activeIndex values only.
apps/docs/src/docs/components/demo/TooltipExposed.vue (4)
Learnt from: dwgray
PR: bootstrap-vue-next/bootstrap-vue-next#2701
File: apps/docs/src/docs/migration-guide.md:630-632
Timestamp: 2025-05-23T23:58:07.165Z
Learning: The `<NotYetImplemented/>` component in the bootstrap-vue-next documentation automatically renders text indicating "Not Yet Implemented", so additional explanatory text about features not being implemented is redundant when this component is used.
Learnt from: xvaara
PR: bootstrap-vue-next/bootstrap-vue-next#2425
File: packages/bootstrap-vue-next/src/plugins/popoverController/index.ts:138-140
Timestamp: 2025-04-28T22:48:46.738Z
Learning: In bootstrap-vue-next, `PopoverOrchestratorParam` includes an `id` field of type `ControllerKey` through inheritance from base types. This field is declared in the `BvControllerOptions` interface and propagated through the type hierarchy.
Learnt from: xvaara
PR: bootstrap-vue-next/bootstrap-vue-next#2716
File: packages/bootstrap-vue-next/src/components/BTabs/BTabs.vue:240-261
Timestamp: 2025-05-28T07:01:55.095Z
Learning: In BTabs component (packages/bootstrap-vue-next/src/components/BTabs/BTabs.vue), the complex initialization logic with updateInitialActiveIndex and updateInitialActiveId flags is necessary for SSR compatibility. Tab initialization cannot be deferred to mounted lifecycle because tabs must be available for server-side rendering of the initial HTML state.
Learnt from: xvaara
PR: bootstrap-vue-next/bootstrap-vue-next#2716
File: packages/bootstrap-vue-next/src/components/BTabs/BTabs.vue:384-404
Timestamp: 2025-05-28T07:57:19.915Z
Learning: In BTabs component (packages/bootstrap-vue-next/src/components/BTabs/BTabs.vue), the activeIndex and activeId watchers are intentionally designed with separation of concerns: activeIndex watcher handles activate-tab event emission and complex validation logic, while activeId watcher is kept simple for synchronization between activeId and activeIndex values only.
apps/docs/src/docs/migration-guide.md (7)
Learnt from: xvaara
PR: bootstrap-vue-next/bootstrap-vue-next#2701
File: apps/docs/src/docs/migration-guide.md:622-626
Timestamp: 2025-06-05T11:43:10.793Z
Learning: In migration guides, links to the old/previous version's documentation (like bootstrap-vue.org) are appropriate and helpful when explaining deprecated features, as they provide users with reference points for what they're migrating from.
Learnt from: dwgray
PR: bootstrap-vue-next/bootstrap-vue-next#2701
File: apps/docs/src/docs/migration-guide.md:630-632
Timestamp: 2025-05-23T23:58:07.165Z
Learning: The `<NotYetImplemented/>` component in the bootstrap-vue-next documentation automatically renders text indicating "Not Yet Implemented", so additional explanatory text about features not being implemented is redundant when this component is used.
Learnt from: xvaara
PR: bootstrap-vue-next/bootstrap-vue-next#2425
File: packages/bootstrap-vue-next/src/plugins/popoverController/index.ts:138-140
Timestamp: 2025-04-28T22:48:46.738Z
Learning: In bootstrap-vue-next, `PopoverOrchestratorParam` includes an `id` field of type `ControllerKey` through inheritance from base types. This field is declared in the `BvControllerOptions` interface and propagated through the type hierarchy.
Learnt from: dwgray
PR: bootstrap-vue-next/bootstrap-vue-next#2669
File: apps/docs/src/data/components/table.data.ts:334-336
Timestamp: 2025-04-24T20:35:48.629Z
Learning: The generic type parameter for table items should use the singular form `Item` rather than the plural `Items` to improve readability and follow TypeScript conventions. This change would primarily affect two files: `packages/bootstrap-vue-next/src/types/ComponentProps.ts` and `apps/docs/src/data/components/table.data.ts`.
Learnt from: xvaara
PR: bootstrap-vue-next/bootstrap-vue-next#2716
File: packages/bootstrap-vue-next/src/components/BTabs/BTabs.vue:384-404
Timestamp: 2025-05-28T07:57:19.915Z
Learning: In BTabs component (packages/bootstrap-vue-next/src/components/BTabs/BTabs.vue), the activeIndex and activeId watchers are intentionally designed with separation of concerns: activeIndex watcher handles activate-tab event emission and complex validation logic, while activeId watcher is kept simple for synchronization between activeId and activeIndex values only.
Learnt from: xvaara
PR: bootstrap-vue-next/bootstrap-vue-next#2716
File: packages/bootstrap-vue-next/src/components/BTabs/BTabs.vue:240-261
Timestamp: 2025-05-28T07:01:55.095Z
Learning: In BTabs component (packages/bootstrap-vue-next/src/components/BTabs/BTabs.vue), the complex initialization logic with updateInitialActiveIndex and updateInitialActiveId flags is necessary for SSR compatibility. Tab initialization cannot be deferred to mounted lifecycle because tabs must be available for server-side rendering of the initial HTML state.
Learnt from: unstoppablecarl
PR: bootstrap-vue-next/bootstrap-vue-next#2671
File: packages/bootstrap-vue-next/src/components/BToast/_toast.scss:1-3
Timestamp: 2025-04-27T17:30:42.045Z
Learning: In global SCSS files for bootstrap-vue-next, `:deep()` combinator should not be used as it only works in Vue's scoped style blocks. Standard CSS/SCSS selectors should be used instead.
apps/docs/src/utils/popover-shared.ts (3)
Learnt from: xvaara
PR: bootstrap-vue-next/bootstrap-vue-next#2425
File: packages/bootstrap-vue-next/src/plugins/popoverController/index.ts:138-140
Timestamp: 2025-04-28T22:48:46.738Z
Learning: In bootstrap-vue-next, `PopoverOrchestratorParam` includes an `id` field of type `ControllerKey` through inheritance from base types. This field is declared in the `BvControllerOptions` interface and propagated through the type hierarchy.
Learnt from: dwgray
PR: bootstrap-vue-next/bootstrap-vue-next#2701
File: apps/docs/src/docs/migration-guide.md:630-632
Timestamp: 2025-05-23T23:58:07.165Z
Learning: The `<NotYetImplemented/>` component in the bootstrap-vue-next documentation automatically renders text indicating "Not Yet Implemented", so additional explanatory text about features not being implemented is redundant when this component is used.
Learnt from: dwgray
PR: bootstrap-vue-next/bootstrap-vue-next#2669
File: apps/docs/src/data/components/table.data.ts:334-336
Timestamp: 2025-04-24T20:35:48.629Z
Learning: The generic type parameter for table items should use the singular form `Item` rather than the plural `Items` to improve readability and follow TypeScript conventions. This change would primarily affect two files: `packages/bootstrap-vue-next/src/types/ComponentProps.ts` and `apps/docs/src/data/components/table.data.ts`.
apps/docs/src/docs/components/tooltip.md (5)
Learnt from: dwgray
PR: bootstrap-vue-next/bootstrap-vue-next#2701
File: apps/docs/src/docs/migration-guide.md:630-632
Timestamp: 2025-05-23T23:58:07.165Z
Learning: The `<NotYetImplemented/>` component in the bootstrap-vue-next documentation automatically renders text indicating "Not Yet Implemented", so additional explanatory text about features not being implemented is redundant when this component is used.
Learnt from: xvaara
PR: bootstrap-vue-next/bootstrap-vue-next#2701
File: apps/docs/src/docs/migration-guide.md:622-626
Timestamp: 2025-06-05T11:43:10.793Z
Learning: In migration guides, links to the old/previous version's documentation (like bootstrap-vue.org) are appropriate and helpful when explaining deprecated features, as they provide users with reference points for what they're migrating from.
Learnt from: xvaara
PR: bootstrap-vue-next/bootstrap-vue-next#2716
File: packages/bootstrap-vue-next/src/components/BTabs/BTabs.vue:240-261
Timestamp: 2025-05-28T07:01:55.095Z
Learning: In BTabs component (packages/bootstrap-vue-next/src/components/BTabs/BTabs.vue), the complex initialization logic with updateInitialActiveIndex and updateInitialActiveId flags is necessary for SSR compatibility. Tab initialization cannot be deferred to mounted lifecycle because tabs must be available for server-side rendering of the initial HTML state.
Learnt from: xvaara
PR: bootstrap-vue-next/bootstrap-vue-next#2425
File: packages/bootstrap-vue-next/src/plugins/popoverController/index.ts:138-140
Timestamp: 2025-04-28T22:48:46.738Z
Learning: In bootstrap-vue-next, `PopoverOrchestratorParam` includes an `id` field of type `ControllerKey` through inheritance from base types. This field is declared in the `BvControllerOptions` interface and propagated through the type hierarchy.
Learnt from: xvaara
PR: bootstrap-vue-next/bootstrap-vue-next#2716
File: packages/bootstrap-vue-next/src/components/BTabs/BTabs.vue:384-404
Timestamp: 2025-05-28T07:57:19.915Z
Learning: In BTabs component (packages/bootstrap-vue-next/src/components/BTabs/BTabs.vue), the activeIndex and activeId watchers are intentionally designed with separation of concerns: activeIndex watcher handles activate-tab event emission and complex validation logic, while activeId watcher is kept simple for synchronization between activeId and activeIndex values only.
🧬 Code Graph Analysis (1)
apps/docs/src/utils/popover-shared.ts (3)
apps/docs/src/utils/index.ts (5)
popoverSharedProps
(10-10)showHideProps
(8-8)pick
(4-4)buildCommonProps
(3-3)popoverSharedEmits
(10-10)packages/bootstrap-vue-next/src/types/ComponentProps.ts (1)
BTooltipProps
(1324-1326)apps/docs/src/types/index.ts (2)
PropertyReference
(13-18)EmitArgReference
(5-5)
🪛 LanguageTool
apps/docs/src/docs/migration-guide.md
[uncategorized] ~802-~802: Possible missing comma found.
Context: ... prop. BTooltip
is noninteractive by default unlike in BootstrapVue. This provides f...
(AI_HYDRA_LEO_MISSING_COMMA)
apps/docs/src/docs/components/tooltip.md
[uncategorized] ~25-~25: Possible missing comma found.
Context: ...d. Set the inline
prop to improve the positioning see the [Floating UI docs](https://floa...
(AI_HYDRA_LEO_MISSING_COMMA)
[uncategorized] ~35-~35: The abbreviation “i.e.” (= that is) requires two periods.
Context: ...ponent) - A string with querySelector. (ie. '#toolbar > div:first-child') - A refer...
(I_E)
[uncategorized] ~78-~78: The preposition “on” seems more likely in this position than the preposition “in”.
Context: ...n when the mouse is over it or focus is in it, allowing users to interact with its...
(AI_EN_LECTOR_REPLACEMENT_PREPOSITION_IN_ON)
[uncategorized] ~97-~97: Possible missing comma found.
Context: ...er can be set via the title
or body
props or the title
and default
slots. <<...
(AI_HYDRA_LEO_MISSING_COMMA)
[uncategorized] ~104-~104: Possible missing comma found.
Context: ...recedence over the body
and default
slots and the slots (as always) take preceden...
(AI_HYDRA_LEO_MISSING_COMMA)
⏰ Context from checks skipped due to timeout of 90000ms (1)
- GitHub Check: build
🔇 Additional comments (25)
apps/docs/src/utils/popover-shared.ts (2)
17-160
: LGTM on comprehensive prop definitions.The shared props object provides thorough coverage of popover/tooltip functionality with detailed descriptions and proper typing. The dynamic string replacement approach is clever for component-specific documentation.
160-160
: I’m digging into the prop‐type definitions to confirm whetherBTooltipProps
aligns withBvnComponentProps['BPopover']
. Let’s extract their declarations:#!/bin/bash # Find tooltip/popover prop interfaces or type aliases rg 'interface BTooltipProps' -A5 rg 'type BTooltipProps' -A5 rg 'interface BPopoverProps' -A5 rg 'type BPopoverProps' -A5 rg 'interface BvnComponentProps' -A5 rg 'type BvnComponentProps' -A5apps/docs/src/utils/index.ts (1)
10-10
: LGTM on the export additions.The new exports follow the existing pattern and properly expose the shared utilities for use in other parts of the documentation system.
apps/docs/src/docs/components/demo/PopoverOverview.vue (1)
15-22
: LGTM on the element reordering.The reordering of the BButton with v-b-popover directive doesn't affect functionality and likely improves the visual flow of the demo.
apps/docs/src/docs/components/demo/PopoverExposed.vue (1)
42-42
: LGTM on the import change.Changing from a type-only import to the actual component import is necessary for the component to function properly. The direct import path from
bootstrap-vue-next/components/BPopover
is appropriate for this use case.apps/docs/src/docs/components/popover.md (4)
7-8
: LGTM on the composable clarification.Adding the "composable" label clarifies the nature of
usePopoverController
and improves documentation clarity.
18-18
: LGTM on the URL correction.Correcting the floating-ui URL from
/docs
to/
ensures users reach the correct documentation.
58-58
: LGTM on removing redundant phrase.Removing "by default" improves the sentence flow without losing meaning.
89-89
: LGTM on the directive link correction.Correcting the link from
/docs/directives/popover
to/docs/directives/bpopover
ensures proper navigation to the directive documentation.apps/docs/src/docs/components/demo/TooltipStyles.vue (1)
4-11
: CSS custom properties usage looks good.The demonstration of styling tooltips with CSS custom properties is clear and follows Bootstrap's CSS variable conventions properly. The tooltip content with HTML markup is also appropriate for showing rich content support.
apps/docs/src/docs/components/demo/TooltipStartOpen.vue (1)
1-10
: Clean implementation of the show prop demo.The component correctly demonstrates how to use the
show
prop to display a tooltip immediately on load. The implementation is clear and follows proper Vue template conventions.apps/docs/src/docs/components/demo/TooltipVariant.vue (1)
4-11
: Good demonstration of title-class prop.The use of
title-class="text-bg-danger"
effectively demonstrates how to style tooltip variants. The combination with thetitle
prop shows a clean way to apply Bootstrap utility classes to tooltips.apps/docs/src/docs/components/demo/TooltipInteractive.vue (1)
1-16
: Excellent demonstration of interactive tooltips.The component effectively showcases the
interactive
prop functionality with a practical example. The counter implementation is clean, and the TypeScript setup is appropriate. The flex layout is justified here since it spaces the counter and button elements within the tooltip.apps/docs/src/docs/components/demo/TooltipContent.vue (1)
3-16
: Great comparison of content delivery methods.The side-by-side demonstration of title prop vs. slot content is educational and clearly shows the difference between simple text and rich HTML content capabilities. The flex layout is appropriate for displaying two tooltips together.
apps/docs/src/docs/components/demo/TooltipCustomClass.vue (1)
1-28
: LGTM! Clean demonstration of custom tooltip classes.The component effectively showcases both
body-class
andtitle-class
props with clear examples. The template structure is well-organized and follows Vue SFC best practices.apps/docs/src/docs/components/demo/TooltipTriggers.vue (1)
1-23
: LGTM! Effective demonstration of tooltip triggers.The component clearly shows the difference between default trigger behavior and click-triggered tooltips. The implementation is clean and follows consistent patterns.
apps/docs/src/docs/components/demo/TooltipOverview.vue (1)
1-17
: Excellent overview of tooltip usage patterns.Apart from the typos, this component effectively demonstrates the three main ways to use tooltips: scoped slots, target prop, and directive. This provides valuable reference material for users.
apps/docs/src/docs/components/demo/TooltipModel.vue (1)
1-29
: LGTM! Excellent demonstration of tooltip v-model binding.The component effectively showcases how to control tooltip visibility programmatically using v-model. The implementation follows Vue 3 Composition API best practices with a clean, minimal script setup and intuitive user interaction.
apps/docs/src/docs/components/demo/TooltipPositioning.vue (1)
1-86
: Excellent comprehensive positioning demo.This component provides a complete reference for all tooltip placement options using a well-organized grid layout. The systematic approach makes it easy for users to understand all available positioning choices.
apps/docs/src/data/components/tooltip.data.ts (1)
1-41
: LGTM! Well-structured component metadata.The tooltip metadata correctly uses the shared utility pattern and properly defines the tooltip-specific
interactive
prop. The structure follows established conventions and TypeScript usage is appropriate.apps/docs/src/data/components/popover.data.ts (2)
1-2
: LGTM! Good refactoring to use shared utilities.The import changes properly bring in the shared utility functions for consistent prop and emit definitions.
11-13
: LGTM! Effective consolidation using shared utilities.The refactoring to use
popoverSharedProps
andpopoverSharedEmits
reduces duplication and improves maintainability while preserving the same functionality.apps/docs/src/docs/components/demo/TooltipExposed.vue (1)
1-48
: LGTM! Well-implemented demo component.The component correctly demonstrates programmatic tooltip control using Vue 3 Composition API. Good use of optional chaining for safe method calls and proper ref typing with
InstanceType<typeof BTooltip>
.apps/docs/src/docs/components/demo/TooltipCloseOnHide.vue (1)
1-35
: LGTM! Good demonstration of close-on-hide functionality.The component effectively shows how boundary padding works with navigation elements. The reactive computation for
navHeight
is well-implemented.apps/docs/src/docs/migration-guide.md (1)
802-834
: LGTM! Comprehensive and well-structured migration documentation.The BTooltip migration section thoroughly covers all the major API changes, deprecated props, and behavioral differences. The documentation will be very helpful for users migrating from BootstrapVue.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
♻️ Duplicate comments (1)
apps/docs/src/docs/components/tooltip.md (1)
5-7
: Still-broken composable link & wording
The directive typo is fixed, but this sentence still mixes tooltip/popover terminology and the link remains malformed.-or [`v-b-tooltip`](/docs/directives/btooltip) directive. Popovers can also be created and programmatically controlled via the composable -[`usePopoverController`](<(/docs/composables/useTooltipController)>) +or [`v-b-tooltip`](/docs/directives/btooltip) directive. Tooltips can also be programmatically controlled via the composable +[`useTooltipController`](/docs/composables/useTooltipController)
🧹 Nitpick comments (5)
apps/docs/src/docs/components/tooltip.md (5)
15-21
: Replace “popover” with “tooltip” & correct prop names
The overview section is for tooltips, so using “popover component” is confusing. Also, the prop ishideMargin
(camel-case) and “non-interactive” needs a hyphen.-Things to know when using the popover component: +Things to know when using the tooltip component: - - HideMargin is 0 + - `hideMargin` is `0` - - Tooltips are noninteractive by default. + - Tooltips are non-interactive by default.
25-25
: Missing comma after introductory clause-...the positioning see the [Floating UI docs]... +...the positioning, see the [Floating UI docs]...
90-93
: Tooltip-specific phrasingSince this doc is about tooltips, “popover visibility” may confuse readers.
-To take finer control of popover visibility, you can use the ... +To take finer control of tooltip visibility, you can use the ...
95-99
: Replace “popover” with “tooltip”-The title and body content of a popover can be set via the ... +The content of a tooltip can be set via the ...
120-121
: Incorrect component name in reactive note-...can be changed while the popover is open. +...can be changed while the tooltip is open.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (10)
apps/docs/src/docs/components/demo/TooltipContent.vue
(1 hunks)apps/docs/src/docs/components/demo/TooltipOverview.vue
(1 hunks)apps/docs/src/docs/components/demo/TooltipPositioning.vue
(1 hunks)apps/docs/src/docs/components/demo/TooltipStyles.vue
(1 hunks)apps/docs/src/docs/components/demo/TooltipVariant.vue
(1 hunks)apps/docs/src/docs/components/form-input.md
(1 hunks)apps/docs/src/docs/components/popover.md
(6 hunks)apps/docs/src/docs/components/tooltip.md
(1 hunks)apps/docs/src/docs/migration-guide.md
(2 hunks)apps/docs/src/utils/popover-shared.ts
(1 hunks)
✅ Files skipped from review due to trivial changes (1)
- apps/docs/src/docs/components/form-input.md
🚧 Files skipped from review as they are similar to previous changes (8)
- apps/docs/src/docs/components/demo/TooltipStyles.vue
- apps/docs/src/docs/components/demo/TooltipContent.vue
- apps/docs/src/docs/components/demo/TooltipVariant.vue
- apps/docs/src/docs/components/demo/TooltipOverview.vue
- apps/docs/src/docs/components/demo/TooltipPositioning.vue
- apps/docs/src/docs/components/popover.md
- apps/docs/src/docs/migration-guide.md
- apps/docs/src/utils/popover-shared.ts
🧰 Additional context used
🧠 Learnings (2)
📓 Common learnings
Learnt from: dwgray
PR: bootstrap-vue-next/bootstrap-vue-next#2701
File: apps/docs/src/docs/migration-guide.md:630-632
Timestamp: 2025-05-23T23:58:07.165Z
Learning: The `<NotYetImplemented/>` component in the bootstrap-vue-next documentation automatically renders text indicating "Not Yet Implemented", so additional explanatory text about features not being implemented is redundant when this component is used.
Learnt from: xvaara
PR: bootstrap-vue-next/bootstrap-vue-next#2701
File: apps/docs/src/docs/migration-guide.md:622-626
Timestamp: 2025-06-05T11:43:10.793Z
Learning: In migration guides, links to the old/previous version's documentation (like bootstrap-vue.org) are appropriate and helpful when explaining deprecated features, as they provide users with reference points for what they're migrating from.
Learnt from: xvaara
PR: bootstrap-vue-next/bootstrap-vue-next#2425
File: packages/bootstrap-vue-next/src/plugins/popoverController/index.ts:138-140
Timestamp: 2025-04-28T22:48:46.738Z
Learning: In bootstrap-vue-next, `PopoverOrchestratorParam` includes an `id` field of type `ControllerKey` through inheritance from base types. This field is declared in the `BvControllerOptions` interface and propagated through the type hierarchy.
apps/docs/src/docs/components/tooltip.md (6)
Learnt from: dwgray
PR: bootstrap-vue-next/bootstrap-vue-next#2701
File: apps/docs/src/docs/migration-guide.md:630-632
Timestamp: 2025-05-23T23:58:07.165Z
Learning: The `<NotYetImplemented/>` component in the bootstrap-vue-next documentation automatically renders text indicating "Not Yet Implemented", so additional explanatory text about features not being implemented is redundant when this component is used.
Learnt from: xvaara
PR: bootstrap-vue-next/bootstrap-vue-next#2701
File: apps/docs/src/docs/migration-guide.md:622-626
Timestamp: 2025-06-05T11:43:10.793Z
Learning: In migration guides, links to the old/previous version's documentation (like bootstrap-vue.org) are appropriate and helpful when explaining deprecated features, as they provide users with reference points for what they're migrating from.
Learnt from: xvaara
PR: bootstrap-vue-next/bootstrap-vue-next#2425
File: packages/bootstrap-vue-next/src/plugins/popoverController/index.ts:138-140
Timestamp: 2025-04-28T22:48:46.738Z
Learning: In bootstrap-vue-next, `PopoverOrchestratorParam` includes an `id` field of type `ControllerKey` through inheritance from base types. This field is declared in the `BvControllerOptions` interface and propagated through the type hierarchy.
Learnt from: dwgray
PR: bootstrap-vue-next/bootstrap-vue-next#2669
File: apps/docs/src/data/components/table.data.ts:334-336
Timestamp: 2025-04-24T20:35:48.629Z
Learning: The generic type parameter for table items should use the singular form `Item` rather than the plural `Items` to improve readability and follow TypeScript conventions. This change would primarily affect two files: `packages/bootstrap-vue-next/src/types/ComponentProps.ts` and `apps/docs/src/data/components/table.data.ts`.
Learnt from: xvaara
PR: bootstrap-vue-next/bootstrap-vue-next#2716
File: packages/bootstrap-vue-next/src/components/BTabs/BTabs.vue:240-261
Timestamp: 2025-05-28T07:01:55.095Z
Learning: In BTabs component (packages/bootstrap-vue-next/src/components/BTabs/BTabs.vue), the complex initialization logic with updateInitialActiveIndex and updateInitialActiveId flags is necessary for SSR compatibility. Tab initialization cannot be deferred to mounted lifecycle because tabs must be available for server-side rendering of the initial HTML state.
Learnt from: xvaara
PR: bootstrap-vue-next/bootstrap-vue-next#2716
File: packages/bootstrap-vue-next/src/components/BTabs/BTabs.vue:384-404
Timestamp: 2025-05-28T07:57:19.915Z
Learning: In BTabs component (packages/bootstrap-vue-next/src/components/BTabs/BTabs.vue), the activeIndex and activeId watchers are intentionally designed with separation of concerns: activeIndex watcher handles activate-tab event emission and complex validation logic, while activeId watcher is kept simple for synchronization between activeId and activeIndex values only.
🪛 LanguageTool
apps/docs/src/docs/components/tooltip.md
[uncategorized] ~25-~25: Possible missing comma found.
Context: ...d. Set the inline
prop to improve the positioning see the [Floating UI docs](https://floa...
(AI_HYDRA_LEO_MISSING_COMMA)
[uncategorized] ~97-~97: Possible missing comma found.
Context: ...er can be set via the title
or body
props or the title
and default
slots. <<...
(AI_HYDRA_LEO_MISSING_COMMA)
[uncategorized] ~104-~104: Possible missing comma found.
Context: ...recedence over the body
and default
slots and the slots (as always) take preceden...
(AI_HYDRA_LEO_MISSING_COMMA)
⏰ Context from checks skipped due to timeout of 90000ms (1)
- GitHub Check: build
🔇 Additional comments (1)
apps/docs/src/docs/components/tooltip.md (1)
67-70
: Placement list looks good – conventions now correct
top-start
/top-end
etc. match floating-ui nomenclature.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
♻️ Duplicate comments (1)
apps/docs/src/docs/components/tooltip.md (1)
5-7
: Fix wrong link, extra brackets & copy-paste error
The directive typo was fixed, but the following issues remain:
- Text still says “Popovers” although the context is tooltips.
- The markdown link is malformed (
<(/docs/composables/useTooltipController)>
).- It points to a non-existent Tooltip controller; the correct composable is
usePopoverController
.-or [`v-b-tooltip`](/docs/directives/btooltip) directive. Popovers can also be created and programmatically controlled via the composable -[`usePopoverController`](<(/docs/composables/useTooltipController)>) +or [`v-b-tooltip`](/docs/directives/btooltip) directive. Tooltips can also be programmatically controlled via the composable +[`usePopoverController`](/docs/composables/usePopoverController)
🧹 Nitpick comments (1)
apps/docs/src/docs/components/tooltip.md (1)
100-103
: Minor wording & comma nits for readability-Unlike [popover content](/docs/components/popover#content) which has a separate title and body, tooltips only -have one place to place content. The `title` prop and slot take precedence over the `body` and `default` -slots and the slots (as always) take precedence over the props. +Unlike [popover content](/docs/components/popover#content), which has separate title and body areas, tooltips only +have a single content area. The `title` prop and slot take precedence over the `body` and `default` +slots, and the slots (as always) take precedence over the props.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
apps/docs/src/docs/components/tooltip.md
(1 hunks)
🧰 Additional context used
🧠 Learnings (2)
📓 Common learnings
Learnt from: dwgray
PR: bootstrap-vue-next/bootstrap-vue-next#2762
File: apps/docs/src/docs/components/tooltip.md:0-0
Timestamp: 2025-06-26T19:46:19.297Z
Learning: BTooltip is a very thin wrapper around BPopover in bootstrap-vue-next. There is no separate `useTooltipController` composable - the `usePopoverController` composable can be used to programmatically control both popovers and tooltips.
Learnt from: dwgray
PR: bootstrap-vue-next/bootstrap-vue-next#2701
File: apps/docs/src/docs/migration-guide.md:630-632
Timestamp: 2025-05-23T23:58:07.165Z
Learning: The `<NotYetImplemented/>` component in the bootstrap-vue-next documentation automatically renders text indicating "Not Yet Implemented", so additional explanatory text about features not being implemented is redundant when this component is used.
Learnt from: xvaara
PR: bootstrap-vue-next/bootstrap-vue-next#2701
File: apps/docs/src/docs/migration-guide.md:622-626
Timestamp: 2025-06-05T11:43:10.793Z
Learning: In migration guides, links to the old/previous version's documentation (like bootstrap-vue.org) are appropriate and helpful when explaining deprecated features, as they provide users with reference points for what they're migrating from.
Learnt from: xvaara
PR: bootstrap-vue-next/bootstrap-vue-next#2425
File: packages/bootstrap-vue-next/src/plugins/popoverController/index.ts:138-140
Timestamp: 2025-04-28T22:48:46.738Z
Learning: In bootstrap-vue-next, `PopoverOrchestratorParam` includes an `id` field of type `ControllerKey` through inheritance from base types. This field is declared in the `BvControllerOptions` interface and propagated through the type hierarchy.
apps/docs/src/docs/components/tooltip.md (8)
Learnt from: dwgray
PR: bootstrap-vue-next/bootstrap-vue-next#2762
File: apps/docs/src/docs/components/tooltip.md:0-0
Timestamp: 2025-06-26T19:46:19.297Z
Learning: BTooltip is a very thin wrapper around BPopover in bootstrap-vue-next. There is no separate `useTooltipController` composable - the `usePopoverController` composable can be used to programmatically control both popovers and tooltips.
Learnt from: dwgray
PR: bootstrap-vue-next/bootstrap-vue-next#2701
File: apps/docs/src/docs/migration-guide.md:630-632
Timestamp: 2025-05-23T23:58:07.165Z
Learning: The `<NotYetImplemented/>` component in the bootstrap-vue-next documentation automatically renders text indicating "Not Yet Implemented", so additional explanatory text about features not being implemented is redundant when this component is used.
Learnt from: xvaara
PR: bootstrap-vue-next/bootstrap-vue-next#2701
File: apps/docs/src/docs/migration-guide.md:622-626
Timestamp: 2025-06-05T11:43:10.793Z
Learning: In migration guides, links to the old/previous version's documentation (like bootstrap-vue.org) are appropriate and helpful when explaining deprecated features, as they provide users with reference points for what they're migrating from.
Learnt from: xvaara
PR: bootstrap-vue-next/bootstrap-vue-next#2425
File: packages/bootstrap-vue-next/src/plugins/popoverController/index.ts:138-140
Timestamp: 2025-04-28T22:48:46.738Z
Learning: In bootstrap-vue-next, `PopoverOrchestratorParam` includes an `id` field of type `ControllerKey` through inheritance from base types. This field is declared in the `BvControllerOptions` interface and propagated through the type hierarchy.
Learnt from: dwgray
PR: bootstrap-vue-next/bootstrap-vue-next#2669
File: apps/docs/src/data/components/table.data.ts:334-336
Timestamp: 2025-04-24T20:35:48.629Z
Learning: The generic type parameter for table items should use the singular form `Item` rather than the plural `Items` to improve readability and follow TypeScript conventions. This change would primarily affect two files: `packages/bootstrap-vue-next/src/types/ComponentProps.ts` and `apps/docs/src/data/components/table.data.ts`.
Learnt from: VividLemon
PR: bootstrap-vue-next/bootstrap-vue-next#2691
File: packages/bootstrap-vue-next/src/composables/useBLinkHelper.ts:85-86
Timestamp: 2025-05-26T17:28:35.902Z
Learning: In the `useBLinkTagResolver` function in `packages/bootstrap-vue-next/src/composables/useBLinkHelper.ts`, the `routerComponentName` parameter is required and typed as `MaybeRefOrGetter<string>`, ensuring it cannot be undefined.
Learnt from: xvaara
PR: bootstrap-vue-next/bootstrap-vue-next#2716
File: packages/bootstrap-vue-next/src/components/BTabs/BTabs.vue:240-261
Timestamp: 2025-05-28T07:01:55.095Z
Learning: In BTabs component (packages/bootstrap-vue-next/src/components/BTabs/BTabs.vue), the complex initialization logic with updateInitialActiveIndex and updateInitialActiveId flags is necessary for SSR compatibility. Tab initialization cannot be deferred to mounted lifecycle because tabs must be available for server-side rendering of the initial HTML state.
Learnt from: xvaara
PR: bootstrap-vue-next/bootstrap-vue-next#2716
File: packages/bootstrap-vue-next/src/components/BTabs/BTabs.vue:384-404
Timestamp: 2025-05-28T07:57:19.915Z
Learning: In BTabs component (packages/bootstrap-vue-next/src/components/BTabs/BTabs.vue), the activeIndex and activeId watchers are intentionally designed with separation of concerns: activeIndex watcher handles activate-tab event emission and complex validation logic, while activeId watcher is kept simple for synchronization between activeId and activeIndex values only.
🪛 LanguageTool
apps/docs/src/docs/components/tooltip.md
[uncategorized] ~97-~97: Possible missing comma found.
Context: ...ip can be set via the title
or body
props or the title
or default
slots. :::...
(AI_HYDRA_LEO_MISSING_COMMA)
[uncategorized] ~102-~102: Possible missing comma found.
Context: ...recedence over the body
and default
slots and the slots (as always) take preceden...
(AI_HYDRA_LEO_MISSING_COMMA)
⏰ Context from checks skipped due to timeout of 90000ms (1)
- GitHub Check: build
🔇 Additional comments (1)
apps/docs/src/docs/components/tooltip.md (1)
17-21
: ```shell
#!/usr/bin/env bash
set -e1. Locate the tooltip markdown file
echo "🔍 Finding tooltip.md..."
MD_FILE=$(fd --ignore-case --type f tooltip.md | head -n1)
echo "Markdown file: $MD_FILE"2. Show the first 30 lines of the markdown for context
echo "🔍 Showing top of the markdown:"
sed -n '1,30p' "$MD_FILE"3. Find all component files with “Tooltip” in their names
echo "🔍 Listing component files named Tooltip:"
fd --ignore-case --type f tooltip4. For each Tooltip component file, print the first 50 lines
for f in $(fd --ignore-case --type f tooltip); do
echo "---- File: $f ----"
sed -n '1,50p' "$f"
done5. Search codebase for margin-related props in Tooltip
echo "🔍 Searching for margin-related props in code:"
rg -C2 'margin' -g '.ts' || true</details> </blockquote></details> </details> <!-- This is an auto-generated comment by CodeRabbit for review status -->
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
♻️ Duplicate comments (1)
apps/docs/src/docs/components/tooltip.md (1)
5-7
: Malformed link & wrong composable name still presentThe anchor is wrapped in the odd
<( … )>
construct and it points to the non-existentuseTooltipController
.
This was raised earlier but has not been applied.-or [`v-b-tooltip`](/docs/directives/btooltip) directive. Tooltips can also be created and programmatically controlled via the composable -[`usePopoverController`](<(/docs/composables/useTooltipController)>) +or [`v-b-tooltip`](/docs/directives/btooltip) directive. Tooltips can also be created and programmatically controlled via the composable +[`usePopoverController`](/docs/composables/usePopoverController)
🧹 Nitpick comments (2)
apps/docs/src/docs/components/tooltip.md (2)
17-20
: Typo:kideMargin
→hideMargin
(or the correct prop name)
kideMargin
isn’t a documented prop; it looks like a simple misspelling.- - kideMargin is 0 + - hideMargin is 0Double-check the actual prop name in
BPopover
to avoid confusing users.
97-103
: Missing commas make the sentence hard to parseTwo quick punctuation tweaks improve readability.
-The content of a tooltip can be set via the `title` or `body` props or the `title` -or `default` slots. +The content of a tooltip can be set via the `title` or `body` props, or the `title` +or `default` slots. @@ -... over the `body` and `default` slots and the slots (as always) take precedence ... +... over the `body` and `default` slots, and the slots (as always) take precedence ...
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
apps/docs/src/docs/components/tooltip.md
(1 hunks)
🧰 Additional context used
🧠 Learnings (2)
📓 Common learnings
Learnt from: dwgray
PR: bootstrap-vue-next/bootstrap-vue-next#2762
File: apps/docs/src/docs/components/tooltip.md:0-0
Timestamp: 2025-06-26T19:46:19.297Z
Learning: BTooltip is a very thin wrapper around BPopover in bootstrap-vue-next. There is no separate `useTooltipController` composable - the `usePopoverController` composable can be used to programmatically control both popovers and tooltips.
Learnt from: dwgray
PR: bootstrap-vue-next/bootstrap-vue-next#2701
File: apps/docs/src/docs/migration-guide.md:630-632
Timestamp: 2025-05-23T23:58:07.165Z
Learning: The `<NotYetImplemented/>` component in the bootstrap-vue-next documentation automatically renders text indicating "Not Yet Implemented", so additional explanatory text about features not being implemented is redundant when this component is used.
Learnt from: xvaara
PR: bootstrap-vue-next/bootstrap-vue-next#2701
File: apps/docs/src/docs/migration-guide.md:622-626
Timestamp: 2025-06-05T11:43:10.793Z
Learning: In migration guides, links to the old/previous version's documentation (like bootstrap-vue.org) are appropriate and helpful when explaining deprecated features, as they provide users with reference points for what they're migrating from.
Learnt from: xvaara
PR: bootstrap-vue-next/bootstrap-vue-next#2425
File: packages/bootstrap-vue-next/src/plugins/popoverController/index.ts:138-140
Timestamp: 2025-04-28T22:48:46.738Z
Learning: In bootstrap-vue-next, `PopoverOrchestratorParam` includes an `id` field of type `ControllerKey` through inheritance from base types. This field is declared in the `BvControllerOptions` interface and propagated through the type hierarchy.
apps/docs/src/docs/components/tooltip.md (8)
Learnt from: dwgray
PR: bootstrap-vue-next/bootstrap-vue-next#2762
File: apps/docs/src/docs/components/tooltip.md:0-0
Timestamp: 2025-06-26T19:46:19.297Z
Learning: BTooltip is a very thin wrapper around BPopover in bootstrap-vue-next. There is no separate `useTooltipController` composable - the `usePopoverController` composable can be used to programmatically control both popovers and tooltips.
Learnt from: dwgray
PR: bootstrap-vue-next/bootstrap-vue-next#2701
File: apps/docs/src/docs/migration-guide.md:630-632
Timestamp: 2025-05-23T23:58:07.165Z
Learning: The `<NotYetImplemented/>` component in the bootstrap-vue-next documentation automatically renders text indicating "Not Yet Implemented", so additional explanatory text about features not being implemented is redundant when this component is used.
Learnt from: xvaara
PR: bootstrap-vue-next/bootstrap-vue-next#2701
File: apps/docs/src/docs/migration-guide.md:622-626
Timestamp: 2025-06-05T11:43:10.793Z
Learning: In migration guides, links to the old/previous version's documentation (like bootstrap-vue.org) are appropriate and helpful when explaining deprecated features, as they provide users with reference points for what they're migrating from.
Learnt from: xvaara
PR: bootstrap-vue-next/bootstrap-vue-next#2425
File: packages/bootstrap-vue-next/src/plugins/popoverController/index.ts:138-140
Timestamp: 2025-04-28T22:48:46.738Z
Learning: In bootstrap-vue-next, `PopoverOrchestratorParam` includes an `id` field of type `ControllerKey` through inheritance from base types. This field is declared in the `BvControllerOptions` interface and propagated through the type hierarchy.
Learnt from: dwgray
PR: bootstrap-vue-next/bootstrap-vue-next#2669
File: apps/docs/src/data/components/table.data.ts:334-336
Timestamp: 2025-04-24T20:35:48.629Z
Learning: The generic type parameter for table items should use the singular form `Item` rather than the plural `Items` to improve readability and follow TypeScript conventions. This change would primarily affect two files: `packages/bootstrap-vue-next/src/types/ComponentProps.ts` and `apps/docs/src/data/components/table.data.ts`.
Learnt from: VividLemon
PR: bootstrap-vue-next/bootstrap-vue-next#2691
File: packages/bootstrap-vue-next/src/composables/useBLinkHelper.ts:85-86
Timestamp: 2025-05-26T17:28:35.902Z
Learning: In the `useBLinkTagResolver` function in `packages/bootstrap-vue-next/src/composables/useBLinkHelper.ts`, the `routerComponentName` parameter is required and typed as `MaybeRefOrGetter<string>`, ensuring it cannot be undefined.
Learnt from: xvaara
PR: bootstrap-vue-next/bootstrap-vue-next#2716
File: packages/bootstrap-vue-next/src/components/BTabs/BTabs.vue:240-261
Timestamp: 2025-05-28T07:01:55.095Z
Learning: In BTabs component (packages/bootstrap-vue-next/src/components/BTabs/BTabs.vue), the complex initialization logic with updateInitialActiveIndex and updateInitialActiveId flags is necessary for SSR compatibility. Tab initialization cannot be deferred to mounted lifecycle because tabs must be available for server-side rendering of the initial HTML state.
Learnt from: xvaara
PR: bootstrap-vue-next/bootstrap-vue-next#2716
File: packages/bootstrap-vue-next/src/components/BTabs/BTabs.vue:384-404
Timestamp: 2025-05-28T07:57:19.915Z
Learning: In BTabs component (packages/bootstrap-vue-next/src/components/BTabs/BTabs.vue), the activeIndex and activeId watchers are intentionally designed with separation of concerns: activeIndex watcher handles activate-tab event emission and complex validation logic, while activeId watcher is kept simple for synchronization between activeId and activeIndex values only.
🪛 LanguageTool
apps/docs/src/docs/components/tooltip.md
[uncategorized] ~97-~97: Possible missing comma found.
Context: ...ip can be set via the title
or body
props or the title
or default
slots. :::...
(AI_HYDRA_LEO_MISSING_COMMA)
[uncategorized] ~102-~102: Possible missing comma found.
Context: ...recedence over the body
and default
slots and the slots (as always) take preceden...
(AI_HYDRA_LEO_MISSING_COMMA)
⏰ Context from checks skipped due to timeout of 90000ms (1)
- GitHub Check: build
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
♻️ Duplicate comments (1)
apps/docs/src/docs/components/tooltip.md (1)
5-7
: Fix incorrect composable link & stray brackets
usePopoverController
is the correct composable, but the link still points touseTooltipController
and is wrapped in an extra<( … )>
pair.-or [`v-b-tooltip`](/docs/directives/btooltip) directive. Tooltips can also be created and programmatically controlled via the composable -[`usePopoverController`](<(/docs/composables/useTooltipController)>) +or [`v-b-tooltip`](/docs/directives/btooltip) directive. Tooltips can also be created and programmatically controlled via the composable +[`usePopoverController`](/docs/composables/usePopoverController)
🧹 Nitpick comments (2)
apps/docs/src/docs/components/tooltip.md (2)
67-70
: Ensure wording matches the updated placement listYou removed the obsolete
*-left
/*-right
values—good—but line 69 still starts a new sentence with “options” after the comma, which reads awkwardly.- options `auto`, `auto-start` and `auto-end`. +plus the auto-placement options `auto`, `auto-start`, and `auto-end`.
97-104
: Add missing commas for readabilityTwo compound sentences are missing commas after the first clause.
-The content of a tooltip can be set via the `title` or `body` props or the `title` -or `default` slots. +The content of a tooltip can be set via the `title` or `body` props, or the `title` +or `default` slots. @@ -have one place to place content. The `title` prop and slot take precedence over the `body` and `default` -slots and the slots (as always) take precedence over the props. +have one place to place content. The `title` prop and slot take precedence over the `body` and `default` +slots, and the slots (as always) take precedence over the props.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (2)
apps/docs/src/docs/components/popover.md
(6 hunks)apps/docs/src/docs/components/tooltip.md
(1 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
- apps/docs/src/docs/components/popover.md
🧰 Additional context used
🧠 Learnings (2)
📓 Common learnings
Learnt from: dwgray
PR: bootstrap-vue-next/bootstrap-vue-next#2762
File: apps/docs/src/docs/components/tooltip.md:0-0
Timestamp: 2025-06-26T19:46:19.333Z
Learning: BTooltip is a very thin wrapper around BPopover in bootstrap-vue-next. There is no separate `useTooltipController` composable - the `usePopoverController` composable can be used to programmatically control both popovers and tooltips.
Learnt from: dwgray
PR: bootstrap-vue-next/bootstrap-vue-next#2701
File: apps/docs/src/docs/migration-guide.md:630-632
Timestamp: 2025-05-23T23:58:07.165Z
Learning: The `<NotYetImplemented/>` component in the bootstrap-vue-next documentation automatically renders text indicating "Not Yet Implemented", so additional explanatory text about features not being implemented is redundant when this component is used.
Learnt from: xvaara
PR: bootstrap-vue-next/bootstrap-vue-next#2701
File: apps/docs/src/docs/migration-guide.md:622-626
Timestamp: 2025-06-05T11:43:10.793Z
Learning: In migration guides, links to the old/previous version's documentation (like bootstrap-vue.org) are appropriate and helpful when explaining deprecated features, as they provide users with reference points for what they're migrating from.
Learnt from: xvaara
PR: bootstrap-vue-next/bootstrap-vue-next#2425
File: packages/bootstrap-vue-next/src/plugins/popoverController/index.ts:138-140
Timestamp: 2025-04-28T22:48:46.738Z
Learning: In bootstrap-vue-next, `PopoverOrchestratorParam` includes an `id` field of type `ControllerKey` through inheritance from base types. This field is declared in the `BvControllerOptions` interface and propagated through the type hierarchy.
apps/docs/src/docs/components/tooltip.md (8)
Learnt from: dwgray
PR: bootstrap-vue-next/bootstrap-vue-next#2762
File: apps/docs/src/docs/components/tooltip.md:0-0
Timestamp: 2025-06-26T19:46:19.333Z
Learning: BTooltip is a very thin wrapper around BPopover in bootstrap-vue-next. There is no separate `useTooltipController` composable - the `usePopoverController` composable can be used to programmatically control both popovers and tooltips.
Learnt from: dwgray
PR: bootstrap-vue-next/bootstrap-vue-next#2701
File: apps/docs/src/docs/migration-guide.md:630-632
Timestamp: 2025-05-23T23:58:07.165Z
Learning: The `<NotYetImplemented/>` component in the bootstrap-vue-next documentation automatically renders text indicating "Not Yet Implemented", so additional explanatory text about features not being implemented is redundant when this component is used.
Learnt from: xvaara
PR: bootstrap-vue-next/bootstrap-vue-next#2701
File: apps/docs/src/docs/migration-guide.md:622-626
Timestamp: 2025-06-05T11:43:10.793Z
Learning: In migration guides, links to the old/previous version's documentation (like bootstrap-vue.org) are appropriate and helpful when explaining deprecated features, as they provide users with reference points for what they're migrating from.
Learnt from: xvaara
PR: bootstrap-vue-next/bootstrap-vue-next#2425
File: packages/bootstrap-vue-next/src/plugins/popoverController/index.ts:138-140
Timestamp: 2025-04-28T22:48:46.738Z
Learning: In bootstrap-vue-next, `PopoverOrchestratorParam` includes an `id` field of type `ControllerKey` through inheritance from base types. This field is declared in the `BvControllerOptions` interface and propagated through the type hierarchy.
Learnt from: dwgray
PR: bootstrap-vue-next/bootstrap-vue-next#2669
File: apps/docs/src/data/components/table.data.ts:334-336
Timestamp: 2025-04-24T20:35:48.629Z
Learning: The generic type parameter for table items should use the singular form `Item` rather than the plural `Items` to improve readability and follow TypeScript conventions. This change would primarily affect two files: `packages/bootstrap-vue-next/src/types/ComponentProps.ts` and `apps/docs/src/data/components/table.data.ts`.
Learnt from: VividLemon
PR: bootstrap-vue-next/bootstrap-vue-next#2691
File: packages/bootstrap-vue-next/src/composables/useBLinkHelper.ts:85-86
Timestamp: 2025-05-26T17:28:35.902Z
Learning: In the `useBLinkTagResolver` function in `packages/bootstrap-vue-next/src/composables/useBLinkHelper.ts`, the `routerComponentName` parameter is required and typed as `MaybeRefOrGetter<string>`, ensuring it cannot be undefined.
Learnt from: xvaara
PR: bootstrap-vue-next/bootstrap-vue-next#2716
File: packages/bootstrap-vue-next/src/components/BTabs/BTabs.vue:240-261
Timestamp: 2025-05-28T07:01:55.095Z
Learning: In BTabs component (packages/bootstrap-vue-next/src/components/BTabs/BTabs.vue), the complex initialization logic with updateInitialActiveIndex and updateInitialActiveId flags is necessary for SSR compatibility. Tab initialization cannot be deferred to mounted lifecycle because tabs must be available for server-side rendering of the initial HTML state.
Learnt from: xvaara
PR: bootstrap-vue-next/bootstrap-vue-next#2716
File: packages/bootstrap-vue-next/src/components/BTabs/BTabs.vue:384-404
Timestamp: 2025-05-28T07:57:19.915Z
Learning: In BTabs component (packages/bootstrap-vue-next/src/components/BTabs/BTabs.vue), the activeIndex and activeId watchers are intentionally designed with separation of concerns: activeIndex watcher handles activate-tab event emission and complex validation logic, while activeId watcher is kept simple for synchronization between activeId and activeIndex values only.
🪛 LanguageTool
apps/docs/src/docs/components/tooltip.md
[uncategorized] ~97-~97: Possible missing comma found.
Context: ...ip can be set via the title
or body
props or the title
or default
slots. :::...
(AI_HYDRA_LEO_MISSING_COMMA)
[uncategorized] ~102-~102: Possible missing comma found.
Context: ...recedence over the body
and default
slots and the slots (as always) take preceden...
(AI_HYDRA_LEO_MISSING_COMMA)
⏰ Context from checks skipped due to timeout of 90000ms (1)
- GitHub Check: build
This PR is stale because it has been open for 45 days with no activity. It will not be auto-closed |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
♻️ Duplicate comments (2)
apps/docs/src/docs/components/tooltip.md (2)
5-7
: Fix grammar and directive link path (likely 404 on case-sensitive hosts)
- Grammar: "an interactive element or components" → "an interactive element or component".
- Link: Directive route segment should be lowercase to match docs routing (see prior discussion). Also, "created and programmatically controlled" is awkward here.
Apply this diff:
-Easily add tooltips to an interactive element or components via the `<BTooltip>` component -or [`v-b-tooltip`](/docs/directives/BTooltip) directive. Tooltips can also be created and programmatically controlled via the composable +Easily add tooltips to an interactive element or component via the `<BTooltip>` component +or [`v-b-tooltip`](/docs/directives/btooltip) directive. Tooltips can also be programmatically controlled via the composable [`usePopoverController`](/docs/composables/usePopoverController)Run this to verify the correct directive doc path:
#!/bin/bash # Inspect directive docs files to confirm actual route casing/slug fd -a -t f -H 'apps/docs/src/docs/directives/*tooltip*.md' || true rg -n -C2 '/docs/directives/' apps/docs/src/docs | rg -n 'btooltip|BTooltip' || true
122-123
: Directive link path casing should be lowercaseAlign this link with the directive route used elsewhere; uppercase may break on case-sensitive hosting.
Apply this diff:
-Refer to the [tooltip directive](/docs/directives/BTooltip) docs on applying custom +Refer to the [tooltip directive](/docs/directives/btooltip) docs on applying customYou can reuse the earlier script to confirm the correct slug exists.
🧹 Nitpick comments (10)
packages/bootstrap-vue-next/src/components/BModal/BModal.vue (3)
387-389
: Keep docs-only PRs scoped; revert the unrelated runtime change in BModalThis PR is described as documentation-only, but this formatting change touches runtime code. Please revert or move to a separate PR to keep the scope clean and avoid accidental churn.
387-388
: Fix lint/style: avoid newline after the property keyESLint/Prettier are likely flagging the newline after the colon (see static analysis hint). Put
true
on the same line as the key.Apply this diff:
- [`stack-inverse-position-${(activeModalCount?.value ?? 1) - 1 - (activePosition?.value ?? 0)}`]: - true, + [`stack-inverse-position-${(activeModalCount?.value ?? 1) - 1 - (activePosition?.value ?? 0)}`]: true,
387-389
: Confirm activeModalCount cannot be 0 to avoid negative class suffixIf
activeModalCount.value
is 0 (not nullish), the suffix becomes-1 - position
, yielding a class likestack-inverse-position--1
. If that state is possible, consider clamping the value to avoid negative class names.Optional tweak:
- [`stack-inverse-position-${(activeModalCount?.value ?? 1) - 1 - (activePosition?.value ?? 0)}`]: true, + [`stack-inverse-position-${Math.max((activeModalCount?.value ?? 1) - 1 - (activePosition?.value ?? 0), 0)}`]: true,Or coerce count to at least 1 via
Math.max(activeModalCount?.value ?? 1, 1)
.Can you confirm whether
activeModalCount
is guaranteed to be >= 1 when this code runs? If not, we should clamp.apps/docs/src/utils/popover-shared.ts (1)
197-253
: Address TODO comments for production readiness.The shared emits definition is well-structured, but there are several TODO comments indicating missing descriptions for BvTriggerableEvent arguments (Lines 204, 213, 222, 232). Consider adding these descriptions to complete the documentation.
Do you want me to help generate appropriate descriptions for the BvTriggerableEvent arguments in the emit definitions?
apps/docs/src/docs/components/tooltip.md (6)
29-33
: Remove redundant sentence about the target propYou already introduce the target and say “can be any of the following,” then repeat it. Drop the duplicated line.
Apply this diff:
-The `target` prop may be any of the following:
35-35
: Use “e.g.” instead of “i.e.” for an example and fix punctuationThis is providing an example, not an equivalence.
Apply this diff:
-- A string with querySelector. (i.e. '#toolbar > div:first-child') +- A string with a query selector (e.g., '#toolbar > div:first-child')
21-22
: Hyphenate “third‑party”Doc polish: preferred style is “third-party”.
Apply this diff:
-- Tooltips rely on the 3rd party library [floating-ui](https://floating-ui.com/) for positioning. +- Tooltips rely on the third-party library [floating-ui](https://floating-ui.com/) for positioning.
90-94
: Prefer “Alternatively” over “Alternately”Minor wording polish.
Apply this diff:
-To take finer control of tooltip visibility, you can use the [useToggle](/docs/composables/useToggle) or +To take finer control of tooltip visibility, you can use the [useToggle](/docs/composables/useToggle) or [usePopoverController](/docs/composables/usePopoverController). Alternately, you can set the `manual` prop +and use the [`v-model`](#programmatic-control-via-v-model) or + [exposed functions](#exposed-functions) to control visibility. + +Alternatively, you can set the `manual` prop and use the [`v-model`](#programmatic-control-via-v-model) or +[exposed functions](#exposed-functions) to control visibility.If you’d rather not duplicate the sentence, change “Alternately” in-place instead:
-Alternately, you can set the `manual` prop +Alternatively, you can set the `manual` prop
125-127
: Capitalize framework and technology namesUse “Bootstrap 5 CSS variables”.
Apply this diff:
-For finer control, use the bootstrap 5 css variables to apply styles directly. +For finer control, use the Bootstrap 5 CSS variables to apply styles directly.
152-154
: End the lead-in sentence with a colonReads better before the demo snippet.
Apply this diff:
-These are accessed through the [template ref](https://vuejs.org/guide/essentials/template-refs.html#template-refs) +These are accessed through the [template ref](https://vuejs.org/guide/essentials/template-refs.html#template-refs):
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
💡 Knowledge Base configuration:
- MCP integration is disabled by default for public repositories
- Jira integration is disabled by default for public repositories
- Linear integration is disabled by default for public repositories
You can enable these sources in your CodeRabbit configuration.
📒 Files selected for processing (10)
apps/docs/src/data/components/popover.data.ts
(1 hunks)apps/docs/src/data/components/tooltip.data.ts
(1 hunks)apps/docs/src/docs/components/form-input.md
(1 hunks)apps/docs/src/docs/components/popover.md
(4 hunks)apps/docs/src/docs/components/tooltip.md
(1 hunks)apps/docs/src/docs/migration-guide.md
(1 hunks)apps/docs/src/utils/popover-shared.ts
(1 hunks)packages/bootstrap-vue-next/CHANGELOG.md
(1 hunks)packages/bootstrap-vue-next/src/components/BModal/BModal.vue
(1 hunks)packages/nuxt/CHANGELOG.md
(1 hunks)
🚧 Files skipped from review as they are similar to previous changes (2)
- apps/docs/src/data/components/popover.data.ts
- apps/docs/src/docs/components/form-input.md
🧰 Additional context used
🧠 Learnings (7)
📓 Common learnings
Learnt from: dwgray
PR: bootstrap-vue-next/bootstrap-vue-next#2762
File: apps/docs/src/docs/components/tooltip.md:0-0
Timestamp: 2025-06-26T19:46:19.333Z
Learning: BTooltip is a very thin wrapper around BPopover in bootstrap-vue-next. There is no separate `useTooltipController` composable - the `usePopoverController` composable can be used to programmatically control both popovers and tooltips.
📚 Learning: 2025-06-26T19:46:19.333Z
Learnt from: dwgray
PR: bootstrap-vue-next/bootstrap-vue-next#2762
File: apps/docs/src/docs/components/tooltip.md:0-0
Timestamp: 2025-06-26T19:46:19.333Z
Learning: BTooltip is a very thin wrapper around BPopover in bootstrap-vue-next. There is no separate `useTooltipController` composable - the `usePopoverController` composable can be used to programmatically control both popovers and tooltips.
Applied to files:
apps/docs/src/data/components/tooltip.data.ts
apps/docs/src/docs/components/tooltip.md
apps/docs/src/docs/components/popover.md
apps/docs/src/docs/migration-guide.md
📚 Learning: 2025-04-28T22:48:46.738Z
Learnt from: xvaara
PR: bootstrap-vue-next/bootstrap-vue-next#2425
File: packages/bootstrap-vue-next/src/plugins/popoverController/index.ts:138-140
Timestamp: 2025-04-28T22:48:46.738Z
Learning: In bootstrap-vue-next, `PopoverOrchestratorParam` includes an `id` field of type `ControllerKey` through inheritance from base types. This field is declared in the `BvControllerOptions` interface and propagated through the type hierarchy.
Applied to files:
apps/docs/src/data/components/tooltip.data.ts
apps/docs/src/utils/popover-shared.ts
apps/docs/src/docs/components/popover.md
📚 Learning: 2025-06-05T11:43:10.793Z
Learnt from: xvaara
PR: bootstrap-vue-next/bootstrap-vue-next#2701
File: apps/docs/src/docs/migration-guide.md:622-626
Timestamp: 2025-06-05T11:43:10.793Z
Learning: In migration guides, links to the old/previous version's documentation (like bootstrap-vue.org) are appropriate and helpful when explaining deprecated features, as they provide users with reference points for what they're migrating from.
Applied to files:
apps/docs/src/docs/migration-guide.md
📚 Learning: 2025-05-23T23:58:07.165Z
Learnt from: dwgray
PR: bootstrap-vue-next/bootstrap-vue-next#2701
File: apps/docs/src/docs/migration-guide.md:630-632
Timestamp: 2025-05-23T23:58:07.165Z
Learning: The `<NotYetImplemented/>` component in the bootstrap-vue-next documentation automatically renders text indicating "Not Yet Implemented", so additional explanatory text about features not being implemented is redundant when this component is used.
Applied to files:
apps/docs/src/docs/migration-guide.md
📚 Learning: 2025-08-19T14:23:46.746Z
Learnt from: xvaara
PR: bootstrap-vue-next/bootstrap-vue-next#2732
File: packages/bootstrap-vue-next/CHANGELOG.md:35-41
Timestamp: 2025-08-19T14:23:46.746Z
Learning: In the bootstrap-vue-next repository, CHANGELOG.md files (e.g., packages/bootstrap-vue-next/CHANGELOG.md) are autogenerated and should be ignored in reviews; do not propose edits for them.
Applied to files:
packages/bootstrap-vue-next/CHANGELOG.md
📚 Learning: 2025-05-28T07:01:55.095Z
Learnt from: xvaara
PR: bootstrap-vue-next/bootstrap-vue-next#2716
File: packages/bootstrap-vue-next/src/components/BTabs/BTabs.vue:240-261
Timestamp: 2025-05-28T07:01:55.095Z
Learning: In BTabs component (packages/bootstrap-vue-next/src/components/BTabs/BTabs.vue), the complex initialization logic with updateInitialActiveIndex and updateInitialActiveId flags is necessary for SSR compatibility. Tab initialization cannot be deferred to mounted lifecycle because tabs must be available for server-side rendering of the initial HTML state.
Applied to files:
packages/bootstrap-vue-next/CHANGELOG.md
🧬 Code Graph Analysis (2)
apps/docs/src/data/components/tooltip.data.ts (5)
apps/docs/src/types/index.ts (4)
ComponentReference
(59-74)PropRecord
(17-17)EmitRecord
(30-30)SlotRecord
(44-44)apps/docs/src/utils/popover-shared.ts (2)
popoverSharedProps
(7-15)popoverSharedEmits
(172-195)packages/bootstrap-vue-next/src/types/ComponentProps.ts (1)
BTooltipProps
(1328-1330)packages/bootstrap-vue-next/src/types/ComponentEmits.ts (1)
BTooltipEmits
(153-153)packages/bootstrap-vue-next/src/types/ComponentSlots.ts (1)
BTooltipSlots
(658-658)
apps/docs/src/utils/popover-shared.ts (4)
apps/docs/src/types/index.ts (4)
PropRecord
(17-17)PropReference
(5-10)EmitRecord
(30-30)EmitReference
(26-29)packages/bootstrap-vue-next/src/types/ComponentProps.ts (1)
BPopoverProps
(1290-1326)packages/bootstrap-vue-next/src/utils/object.ts (1)
pick
(20-33)packages/bootstrap-vue-next/src/types/ComponentEmits.ts (2)
BPopoverEmits
(35-40)showHideEmits
(4-15)
🪛 LanguageTool
apps/docs/src/docs/components/tooltip.md
[grammar] ~5-~5: There might be a mistake here.
Context: ...omponents via the <BTooltip>
component or [v-b-tooltip
](/docs/directives/BToo...
(QB_NEW_EN)
[grammar] ~20-~20: There might be a mistake here.
Context: ...Tooltips are non-interactive by default. - Tooltips rely on the 3rd party library [...
(QB_NEW_EN)
[grammar] ~29-~29: There might be a mistake here.
Context: ... will trigger the tooltip. The target is specified via the target
slot or prop,...
(QB_NEW_EN)
[grammar] ~35-~35: There might be a mistake here.
Context: ...tor. (i.e. '#toolbar > div:first-child') - A reference (ref) to an HTMLElement
or...
(QB_NEW_EN)
[grammar] ~42-~42: There might be a mistake here.
Context: ...>,
, etc., while
SVGElementrefers to
` or supported child ele...
(QB_NEW_EN)
[grammar] ~52-~52: There might be a mistake here.
Context: ...ts for keyboard users. In addition, most assistive technologies currently do not ...
(QB_NEW_EN)
[grammar] ~55-~55: There might be a mistake here.
Context: ...for your tooltip, as this will make your tooltips _impossible to trigger for keyb...
(QB_NEW_EN)
[grammar] ~61-~61: There might be a mistake here.
Context: ...ound, you’ll want to trigger the tooltip from a wrapper <div>
or <span>
, idea...
(QB_NEW_EN)
[grammar] ~62-~62: There might be a mistake here.
Context: ...oard-focusable using tabindex="0"
, and override the pointer-events
on the dis...
(QB_NEW_EN)
[grammar] ~67-~67: There might be a mistake here.
Context: ...ntprop:
top,
top-start,
top-end,
bottom,
bottom-start,
bottom-end`, ...
(QB_NEW_EN)
[grammar] ~68-~68: There might be a mistake here.
Context: ...ht,
right-start, and
right-end` from [@floating-ui/vue](https://floating-ui.c...
(QB_NEW_EN)
[grammar] ~85-~85: There might be a mistake here.
Context: ...and make the tooltip show and hide based on click
events, set the click
prop ...
(QB_NEW_EN)
[grammar] ~91-~91: There might be a mistake here.
Context: ...ternately, you can set the manual
prop and use the [v-model
](#programmatic-co...
(QB_NEW_EN)
[grammar] ~92-~92: There might be a mistake here.
Context: ...`](#programmatic-control-via-v-model) or exposed functions ...
(QB_NEW_EN)
[grammar] ~97-~97: There might be a mistake here.
Context: ... title
or body
props, or the title
or default
slots. ::: info NOTE Unlik...
(QB_NEW_EN)
[grammar] ~100-~100: There might be a mistake here.
Context: ...itleor
default` slots. ::: info NOTE Unlike [popover content](/docs/component...
(QB_NEW_EN)
[grammar] ~101-~101: There might be a mistake here.
Context: ...a separate title and body, tooltips only have one location to place the content. ...
(QB_NEW_EN)
[grammar] ~110-~110: There might be a mistake here.
Context: ... title-class
prop or body-class
prop (depending on which prop or slot you use...
(QB_NEW_EN)
[grammar] ~115-~115: There might be a mistake here.
Context: ....com/docs/5.3/helpers/color-background/) utilities to change the variant of the t...
(QB_NEW_EN)
[grammar] ~122-~122: There might be a mistake here.
Context: ...ctives/BTooltip) docs on applying custom classes to the directive version. For f...
(QB_NEW_EN)
[grammar] ~131-~131: There might be a mistake here.
Context: ...etting it to true will show the tooltip, while setting it to false will hide the ...
(QB_NEW_EN)
[grammar] ~145-~145: There might be a mistake here.
Context: ...w. The boundary
and boundary-padding
props can be used to control what's cons...
(QB_NEW_EN)
[grammar] ~152-~152: There might be a mistake here.
Context: ...ipulation of the state of the component. These are accessed through the [template...
(QB_NEW_EN)
apps/docs/src/docs/components/popover.md
[grammar] ~32-~32: There might be a mistake here.
Context: ...tor. (i.e. '#toolbar > div:first-child') - A reference (ref) to an HTMLElement
or...
(QB_NEW_EN)
[grammar] ~46-~46: There might be a mistake here.
Context: ...ntprop:
top,
top-start,
top-end,
bottom,
bottom-start,
bottom-end`, ...
(QB_NEW_EN)
apps/docs/src/docs/migration-guide.md
[grammar] ~866-~866: There might be a mistake here.
Context: ... floating-ui to handle placement. The ability for th...
(QB_NEW_EN)
[grammar] ~871-~871: There might be a mistake here.
Context: ... use to manage popovers has changed. See [our documentation](/docs/components/pop...
(QB_NEW_EN)
[grammar] ~872-~872: There might be a mistake here.
Context: ... floating-ui for details. The variant
prop has bee...
(QB_NEW_EN)
[grammar] ~876-~876: There might be a mistake here.
Context: ...nts/tooltip#custom-classes-and-variants) for details. The disabled
prop and [P...
(QB_NEW_EN)
[grammar] ~881-~881: There might be a mistake here.
Context: ... to disable BootstrapVueNext's automatic trigger handling and if your own code sh...
(QB_NEW_EN)
[grammar] ~882-~882: There might be a mistake here.
Context: ...s well. If you believe that implementing full parity with the BootstrapVue featur...
(QB_NEW_EN)
🪛 markdownlint-cli2 (0.17.2)
packages/bootstrap-vue-next/CHANGELOG.md
16-16: Multiple headings with the same content
(MD024, no-duplicate-heading)
22-22: Multiple headings with the same content
(MD024, no-duplicate-heading)
28-28: Multiple headings with the same content
(MD024, no-duplicate-heading)
33-33: Multiple headings with the same content
(MD024, no-duplicate-heading)
45-45: Multiple headings with the same content
(MD024, no-duplicate-heading)
60-60: Multiple headings with the same content
(MD024, no-duplicate-heading)
67-67: Multiple headings with the same content
(MD024, no-duplicate-heading)
80-80: Multiple headings with the same content
(MD024, no-duplicate-heading)
89-89: Multiple headings with the same content
(MD024, no-duplicate-heading)
packages/nuxt/CHANGELOG.md
19-19: Multiple headings with the same content
(MD024, no-duplicate-heading)
23-23: Multiple headings with the same content
(MD024, no-duplicate-heading)
33-33: Multiple headings with the same content
(MD024, no-duplicate-heading)
37-37: Multiple headings with the same content
(MD024, no-duplicate-heading)
47-47: Multiple headings with the same content
(MD024, no-duplicate-heading)
51-51: Multiple headings with the same content
(MD024, no-duplicate-heading)
61-61: Multiple headings with the same content
(MD024, no-duplicate-heading)
65-65: Multiple headings with the same content
(MD024, no-duplicate-heading)
75-75: Multiple headings with the same content
(MD024, no-duplicate-heading)
79-79: Multiple headings with the same content
(MD024, no-duplicate-heading)
93-93: Multiple headings with the same content
(MD024, no-duplicate-heading)
🪛 GitHub Check: test-lint
packages/bootstrap-vue-next/src/components/BModal/BModal.vue
[warning] 387-387:
Delete ⏎···
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
- GitHub Check: build
🔇 Additional comments (12)
packages/bootstrap-vue-next/CHANGELOG.md (1)
7-12
: Changelog is autogenerated; formatting-only changes — no action neededPer project convention, this CHANGELOG is autogenerated and not meant for hand edits or detailed review. The changes here are just bullet-style formatting and don’t affect code or documentation semantics. Also safe to ignore markdownlint “duplicate heading” warnings for this file type.
LGTM to proceed.
Also applies to: 18-18, 24-41
packages/nuxt/CHANGELOG.md (1)
7-99
: LGTM! Formatting standardization looks good.The changes consistently replace asterisk-based bullets (
*
) with dash-based bullets (-
) throughout the changelog entries. This standardization improves consistency across the changelog format.apps/docs/src/docs/components/popover.md (4)
6-8
: LGTM! Documentation improvements enhance clarity.The changes correctly update the documentation to reflect the composable-based approach for programmatic control. The link to
usePopoverController
provides users with the proper reference for programmatic popover management.
18-19
: LGTM! Documentation updates align with current implementation.The changes appropriately:
- Update the Floating UI link to the current domain
- Clarify that
teleportTo
defaults toundefined
(removing Nuxt-specific guidance)These changes make the documentation more accurate and universally applicable.
32-32
: LGTM! Minor typographical correction.The change from "ie." to "i.e." follows proper Latin abbreviation formatting.
46-46
: LGTM! Placement options updated correctly.The change from
top-left
/top-right
totop-start
/top-end
aligns with Bootstrap 5's directional naming conventions that use logical properties (start
/end
) instead of physical directions (left
/right
).apps/docs/src/docs/migration-guide.md (1)
857-889
: LGTM! Comprehensive BTooltip migration information.The migration notes provide excellent coverage of the changes from BootstrapVue to BootstrapVueNext for tooltips:
- Clearly explains the noninteractive default behavior change
- Documents all deprecated props with their replacements
- Provides proper links to relevant documentation sections
- Explains the new trigger system and references to
usePopoverController
- Notes the timing and placement default changes
This gives users clear guidance for migrating their tooltip implementations.
apps/docs/src/utils/popover-shared.ts (3)
1-15
: LGTM! Clean implementation of shared props utility.The function correctly:
- Uses
structuredClone
for proper deep cloning- Performs placeholder substitution for
{component}
in descriptions- Maintains proper TypeScript typing with the return type
17-170
: LGTM! Comprehensive shared props definition.The
sharedProps
object provides a thorough set of popover-related properties with:
- Accurate type definitions and default values
- Descriptive documentation with component placeholders
- Proper integration of existing utilities (
showHideProps
,buildCommonProps
)- Appropriate use of the
satisfies
operator for type safety
172-195
: LGTM! Robust emit handling with nested placeholder replacement.The function properly handles:
- Deep cloning of the emits structure
- Placeholder replacement in both descriptions and nested arg descriptions
- Correct TypeScript typing for the return value
apps/docs/src/data/components/tooltip.data.ts (1)
12-45
: LGTM! Well-structured tooltip data configuration.The implementation effectively:
- Uses the shared popover utilities for consistency
- Adds tooltip-specific props (like
interactive
)- Properly maps BPopover to tooltip functionality via BTooltip.vue
- Maintains correct TypeScript constraints with
satisfies
clauses- Uses appropriate CSS selector targeting for both tooltip and popover styles
The approach of extending shared popover functionality with tooltip-specific properties is clean and maintainable.
apps/docs/src/docs/components/tooltip.md (1)
67-71
: Correct use of start/end placement names — LGTMThe switch to
*-start
/*-end
matches Floating UI and Bootstrap v5 conventions.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
🧹 Nitpick comments (13)
apps/docs/src/docs/components/tooltip.md (13)
17-21
: Tighten wording; brand/style nits (“third‑party”, brand case)Minor editorial tweaks to align with our docs style and brand naming.
- Tooltips rely on the 3rd party library [floating-ui](https://floating-ui.com/) for positioning. + - Tooltips rely on the third‑party library [Floating UI](https://floating-ui.com/) for positioning.
29-33
: Reduce repetition: merge “target” explanation with prop intro“The target is … specified via slot or prop … The target prop may be …” repeats itself. Merge into one concise paragraph.
-The target is the _trigger_ element (or component) that will trigger the tooltip. The target is -specified via the `target` slot or prop, and can be any of the following: - -The `target` prop may be any of the following: +The target is the _trigger_ element (or component) that will trigger the tooltip. It can be +specified via the `target` slot or the `target` prop. When using the prop, it may be any of the following:
35-38
: Clarify selector wording; fix “i.e.” vs “e.g.”“querySelector” is an API, whereas here we accept any CSS selector string. Also use “e.g.” for examples.
-- A string with querySelector. (i.e. '#toolbar > div:first-child') +- A CSS selector string (e.g., '#toolbar > div:first-child')
40-45
: Minor wording tweak for SVG phrasingReads better and is slightly more precise.
-`HTMLElement` refers to standard HTML elements such as `<div>`, `<button>`, etc., while `SVGElement` -refers to `<svg>` or supported child elements of SVGs. +`HTMLElement` refers to standard HTML elements such as `<div>`, `<button>`, etc., while `SVGElement` +refers to `<svg>` or supported SVG child elements.
47-57
: Accessibility: add reference to WAI‑ARIA tooltip patternGood guidance here. Add an authoritative reference for readers who want deeper a11y context.
tooltips _impossible to trigger for keyboard-only users_. + +For additional accessibility guidance, see the +[WAI‑ARIA Authoring Practices: Tooltip Pattern](https://www.w3.org/WAI/ARIA/apg/patterns/tooltip/).
58-64
: Disabled elements: add actionable tipConsider adding a concrete pointer-events hint for typical disabled-button cases so users don’t get stuck.
from a wrapper `<div>` or `<span>`, ideally made keyboard-focusable using `tabindex="0"`, and -override the `pointer-events` on the disabled element. +override the `pointer-events` on the disabled element (e.g., `.btn[disabled]{ pointer-events: none; }` on the button and `pointer-events: auto` on the wrapper as needed).
67-71
: Placement phrasing and targeted docs linkWe pull placements from Floating UI; adjust phrasing and link directly to the placement docs.
-`right`, `right-start`, and `right-end` from -[@floating-ui/vue](https://floating-ui.com/) plus three [auto placement](https://floating-ui.com/docs/autoplacement) +`right`, `right-start`, and `right-end` as defined by +[Floating UI](https://floating-ui.com/docs/computePosition#placement), plus three [auto placement](https://floating-ui.com/docs/autoplacement)
78-79
: Format prop name as codeSmall readability polish.
-`BTooltip` has an interactive prop, which allows you to set the tooltip to be interactive. This means that the tooltip will remain open when the mouse is over it or focus is within it, allowing users to interact with its content. +`BTooltip` has an `interactive` prop, which allows you to set the tooltip to be interactive. This means that the tooltip will remain open when the mouse is over it or focus is within it, allowing users to interact with its content.
90-94
: “Alternately” → “Alternatively”Minor language polish; also clarify sentence flow.
-To take finer control of tooltip visibility, you can use the [useToggle](/docs/composables/useToggle) or -[usePopoverController](/docs/composables/usePopoverController). Alternately, you can set the `manual` prop +To take finer control of tooltip visibility, you can use [useToggle](/docs/composables/useToggle) or +[usePopoverController](/docs/composables/usePopoverController). Alternatively, you can set the `manual` prop and use the [`v-model`](#programmatic-control-via-v-model) or [exposed functions](#exposed-functions) to control visibility.
97-104
: Clarify “body” prop/slot semantics for tooltipsSince tooltips render a single content area, clarify that
body
/default
are supported for API parity but map to the same content region. This helps prevent confusion for users migrating from Popover.have one location to place the content. The `title` prop and slot take precedence over the `body` and `default` slot, and the slots (as always) take precedence over the props. +For API parity, `body` (prop/slot) is accepted but renders in the same single content area as `title`/`default`.
125-127
: Capitalize “Bootstrap 5 CSS variables” and link to referenceDocs style and discoverability improvement.
-For finer control, use the bootstrap 5 css variables to apply styles directly. +For finer control, use Bootstrap 5 CSS variables to apply styles directly (see +[the variables reference](https://getbootstrap.com/docs/5.3/customize/css-variables/)).
131-133
: Format boolean values as codeTiny readability improvement.
-You can manually control the visibility of a tooltip via the v-model. Setting it to true will show the tooltip, -while setting it to false will hide the tooltip. +You can manually control the visibility of a tooltip via the v-model. Setting it to `true` will show the tooltip, +while setting it to `false` will hide the tooltip.
142-147
: Cross-reference Floating UI “hide” behaviorAdd pointer to underlying behavior to help advanced users tune
boundary
/clipping logic.when the target is scrolled out of view. The `boundary` and `boundary-padding` props can be used to control what's considered clipping. +See Floating UI’s [hide middleware](https://floating-ui.com/docs/hide) and +[detectOverflow options](https://floating-ui.com/docs/detectOverflow) for details on clipping behavior.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
💡 Knowledge Base configuration:
- MCP integration is disabled by default for public repositories
- Jira integration is disabled by default for public repositories
- Linear integration is disabled by default for public repositories
You can enable these sources in your CodeRabbit configuration.
📒 Files selected for processing (1)
apps/docs/src/docs/components/tooltip.md
(1 hunks)
🧰 Additional context used
🧠 Learnings (2)
📓 Common learnings
Learnt from: dwgray
PR: bootstrap-vue-next/bootstrap-vue-next#2762
File: apps/docs/src/docs/components/tooltip.md:0-0
Timestamp: 2025-06-26T19:46:19.333Z
Learning: BTooltip is a very thin wrapper around BPopover in bootstrap-vue-next. There is no separate `useTooltipController` composable - the `usePopoverController` composable can be used to programmatically control both popovers and tooltips.
📚 Learning: 2025-06-26T19:46:19.333Z
Learnt from: dwgray
PR: bootstrap-vue-next/bootstrap-vue-next#2762
File: apps/docs/src/docs/components/tooltip.md:0-0
Timestamp: 2025-06-26T19:46:19.333Z
Learning: BTooltip is a very thin wrapper around BPopover in bootstrap-vue-next. There is no separate `useTooltipController` composable - the `usePopoverController` composable can be used to programmatically control both popovers and tooltips.
Applied to files:
apps/docs/src/docs/components/tooltip.md
🪛 LanguageTool
apps/docs/src/docs/components/tooltip.md
[grammar] ~20-~20: There might be a mistake here.
Context: ...Tooltips are non-interactive by default. - Tooltips rely on the 3rd party library [...
(QB_NEW_EN)
[grammar] ~29-~29: There might be a mistake here.
Context: ... will trigger the tooltip. The target is specified via the target
slot or prop,...
(QB_NEW_EN)
[grammar] ~35-~35: There might be a mistake here.
Context: ...tor. (i.e. '#toolbar > div:first-child') - A reference (ref) to an HTMLElement
or...
(QB_NEW_EN)
[grammar] ~42-~42: There might be a mistake here.
Context: ...>,
, etc., while
SVGElementrefers to
` or supported child ele...
(QB_NEW_EN)
[grammar] ~52-~52: There might be a mistake here.
Context: ...ts for keyboard users. In addition, most assistive technologies currently do not ...
(QB_NEW_EN)
[grammar] ~55-~55: There might be a mistake here.
Context: ...for your tooltip, as this will make your tooltips _impossible to trigger for keyb...
(QB_NEW_EN)
[grammar] ~61-~61: There might be a mistake here.
Context: ...ound, you’ll want to trigger the tooltip from a wrapper <div>
or <span>
, idea...
(QB_NEW_EN)
[grammar] ~62-~62: There might be a mistake here.
Context: ...oard-focusable using tabindex="0"
, and override the pointer-events
on the dis...
(QB_NEW_EN)
[grammar] ~67-~67: There might be a mistake here.
Context: ...ntprop:
top,
top-start,
top-end,
bottom,
bottom-start,
bottom-end`, ...
(QB_NEW_EN)
[grammar] ~68-~68: There might be a mistake here.
Context: ...ht,
right-start, and
right-end` from [@floating-ui/vue](https://floating-ui.c...
(QB_NEW_EN)
[grammar] ~85-~85: There might be a mistake here.
Context: ...and make the tooltip show and hide based on click
events, set the click
prop ...
(QB_NEW_EN)
[grammar] ~91-~91: There might be a mistake here.
Context: ...ternately, you can set the manual
prop and use the [v-model
](#programmatic-co...
(QB_NEW_EN)
[grammar] ~92-~92: There might be a mistake here.
Context: ...`](#programmatic-control-via-v-model) or exposed functions ...
(QB_NEW_EN)
[grammar] ~97-~97: There might be a mistake here.
Context: ... title
or body
props, or the title
or default
slots. ::: info NOTE Unlik...
(QB_NEW_EN)
[grammar] ~100-~100: There might be a mistake here.
Context: ...itleor
default` slots. ::: info NOTE Unlike [popover content](/docs/component...
(QB_NEW_EN)
[grammar] ~101-~101: There might be a mistake here.
Context: ...a separate title and body, tooltips only have one location to place the content. ...
(QB_NEW_EN)
[grammar] ~110-~110: There might be a mistake here.
Context: ... title-class
prop or body-class
prop (depending on which prop or slot you use...
(QB_NEW_EN)
[grammar] ~115-~115: There might be a mistake here.
Context: ....com/docs/5.3/helpers/color-background/) utilities to change the variant of the t...
(QB_NEW_EN)
[grammar] ~122-~122: There might be a mistake here.
Context: ...ctives/btooltip) docs on applying custom classes to the directive version. For f...
(QB_NEW_EN)
[grammar] ~131-~131: There might be a mistake here.
Context: ...etting it to true will show the tooltip, while setting it to false will hide the ...
(QB_NEW_EN)
[grammar] ~145-~145: There might be a mistake here.
Context: ...w. The boundary
and boundary-padding
props can be used to control what's cons...
(QB_NEW_EN)
[grammar] ~152-~152: There might be a mistake here.
Context: ...ipulation of the state of the component. These are accessed through the [template...
(QB_NEW_EN)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
- GitHub Check: build
🔇 Additional comments (2)
apps/docs/src/docs/components/tooltip.md (2)
5-8
: Correct composable and link (matches design: tooltips use Popover controller)The usePopoverController reference is correct per our architecture (BTooltip is a thin wrapper over BPopover). Thanks for fixing the earlier malformed link and keeping parity with Popover control APIs.
84-87
: No changes needed:click
boolean prop is supported
Theclick
prop is indeed exposed as a boolean on both<BTooltip>
and<BPopover>
, as shown in the demos (e.g.apps/docs/src/docs/components/demo/TooltipCloseOnHide.vue
andapps/docs/src/docs/components/demo/PopoverTriggers.vue
). The wording “set theclick
prop totrue
” is accurate.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
♻️ Duplicate comments (1)
apps/docs/src/docs/components/tooltip.md (1)
159-166
: Fix import:tooltip.data.ts
uses a default export, not a named exportUsing
{data}
will be undefined at runtime. Switch to default import.Apply:
-<script lang="ts"> -import {data} from '../../data/components/tooltip.data' +<script lang="ts"> +import data from '../../data/components/tooltip.data' export default { setup() { return {data} } }
🧹 Nitpick comments (3)
apps/docs/src/docs/components/tooltip.md (3)
21-21
: Style nit: “third-party”Minor docs polish: prefer “third-party” over “3rd party”.
Apply:
- - Tooltips rely on the 3rd party library [floating-ui](https://floating-ui.com/) for positioning. + - Tooltips rely on the third-party library [floating-ui](https://floating-ui.com/) for positioning.
29-33
: Remove duplication in Target descriptionLines 29–31 already introduce valid target forms; line 32 repeats the intro and narrows it to the prop, which reads redundant/confusing alongside the slot mention. Simplify to one intro.
Apply:
-The target is the _trigger_ element (or component) that will trigger the tooltip. The target is -specified via the `target` slot or prop, and can be any of the following: - -The `target` prop may be any of the following: +The target is the _trigger_ element (or component) that will trigger the tooltip. Specify it via the `target` slot or prop. If using the prop, it may be any of the following:
110-121
: Clarify which class hook applies to BTooltipBTooltip inherits both
title-class
andbody-class
from BPopover, but in tooltip mode only one is used depending on how you supply content:
- When using the
title
prop or#title
slot, apply your CSS via thetitle-class
prop.- When using the default slot (or
body
content), apply your CSS via thebody-class
prop.Please update
apps/docs/src/docs/components/tooltip.md
(around lines 110–121) to explicitly map each prop to its corresponding usage.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
💡 Knowledge Base configuration:
- MCP integration is disabled by default for public repositories
- Jira integration is disabled by default for public repositories
- Linear integration is disabled by default for public repositories
You can enable these sources in your CodeRabbit configuration.
📒 Files selected for processing (1)
apps/docs/src/docs/components/tooltip.md
(1 hunks)
🧰 Additional context used
🧠 Learnings (2)
📓 Common learnings
Learnt from: dwgray
PR: bootstrap-vue-next/bootstrap-vue-next#2762
File: apps/docs/src/docs/components/tooltip.md:0-0
Timestamp: 2025-06-26T19:46:19.333Z
Learning: BTooltip is a very thin wrapper around BPopover in bootstrap-vue-next. There is no separate `useTooltipController` composable - the `usePopoverController` composable can be used to programmatically control both popovers and tooltips.
📚 Learning: 2025-06-26T19:46:19.333Z
Learnt from: dwgray
PR: bootstrap-vue-next/bootstrap-vue-next#2762
File: apps/docs/src/docs/components/tooltip.md:0-0
Timestamp: 2025-06-26T19:46:19.333Z
Learning: BTooltip is a very thin wrapper around BPopover in bootstrap-vue-next. There is no separate `useTooltipController` composable - the `usePopoverController` composable can be used to programmatically control both popovers and tooltips.
Applied to files:
apps/docs/src/docs/components/tooltip.md
🪛 LanguageTool
apps/docs/src/docs/components/tooltip.md
[grammar] ~20-~20: There might be a mistake here.
Context: ...Tooltips are non-interactive by default. - Tooltips rely on the 3rd party library [...
(QB_NEW_EN)
[grammar] ~29-~29: There might be a mistake here.
Context: ... will trigger the tooltip. The target is specified via the target
slot or prop,...
(QB_NEW_EN)
[grammar] ~35-~35: There might be a mistake here.
Context: ...tor. (i.e. '#toolbar > div:first-child') - A reference (ref) to an HTMLElement
or...
(QB_NEW_EN)
[grammar] ~42-~42: There might be a mistake here.
Context: ...>,
, etc., while
SVGElementrefers to
` or supported child ele...
(QB_NEW_EN)
[grammar] ~52-~52: There might be a mistake here.
Context: ...ts for keyboard users. In addition, most assistive technologies currently do not ...
(QB_NEW_EN)
[grammar] ~55-~55: There might be a mistake here.
Context: ...for your tooltip, as this will make your tooltips _impossible to trigger for keyb...
(QB_NEW_EN)
[grammar] ~61-~61: There might be a mistake here.
Context: ...ound, you’ll want to trigger the tooltip from a wrapper <div>
or <span>
, idea...
(QB_NEW_EN)
[grammar] ~62-~62: There might be a mistake here.
Context: ...oard-focusable using tabindex="0"
, and override the pointer-events
on the dis...
(QB_NEW_EN)
[grammar] ~67-~67: There might be a mistake here.
Context: ...ntprop:
top,
top-start,
top-end,
bottom,
bottom-start,
bottom-end`, ...
(QB_NEW_EN)
[grammar] ~68-~68: There might be a mistake here.
Context: ...ht,
right-start, and
right-end` from [@floating-ui/vue](https://floating-ui.c...
(QB_NEW_EN)
[grammar] ~85-~85: There might be a mistake here.
Context: ...and make the tooltip show and hide based on click
events, set the click
prop ...
(QB_NEW_EN)
[grammar] ~91-~91: There might be a mistake here.
Context: ...ternately, you can set the manual
prop and use the [v-model
](#programmatic-co...
(QB_NEW_EN)
[grammar] ~92-~92: There might be a mistake here.
Context: ...`](#programmatic-control-via-v-model) or exposed functions ...
(QB_NEW_EN)
[grammar] ~97-~97: There might be a mistake here.
Context: ... title
or body
props, or the title
or default
slots. ::: info NOTE Unlik...
(QB_NEW_EN)
[grammar] ~100-~100: There might be a mistake here.
Context: ...itleor
default` slots. ::: info NOTE Unlike [popover content](/docs/component...
(QB_NEW_EN)
[grammar] ~101-~101: There might be a mistake here.
Context: ...a separate title and body, tooltips only have one location to place the content. ...
(QB_NEW_EN)
[grammar] ~110-~110: There might be a mistake here.
Context: ... title-class
prop or body-class
prop (depending on which prop or slot you use...
(QB_NEW_EN)
[grammar] ~115-~115: There might be a mistake here.
Context: ....com/docs/5.3/helpers/color-background/) utilities to change the variant of the t...
(QB_NEW_EN)
[grammar] ~122-~122: There might be a mistake here.
Context: ...ctives/BTooltip) docs on applying custom classes to the directive version. For f...
(QB_NEW_EN)
[grammar] ~131-~131: There might be a mistake here.
Context: ...etting it to true will show the tooltip, while setting it to false will hide the ...
(QB_NEW_EN)
[grammar] ~145-~145: There might be a mistake here.
Context: ...w. The boundary
and boundary-padding
props can be used to control what's cons...
(QB_NEW_EN)
[grammar] ~152-~152: There might be a mistake here.
Context: ...ipulation of the state of the component. These are accessed through the [template...
(QB_NEW_EN)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
- GitHub Check: build
🔇 Additional comments (6)
apps/docs/src/docs/components/tooltip.md (6)
5-8
: Correct controller reference (usePopoverController) — good catchReferencing
usePopoverController
for programmatic control is correct since BTooltip is a thin wrapper over BPopover and shares the controller. This aligns with our prior learnings.
67-71
: Correct placement names (start/end) — looks goodThe placements correctly use
*-start
/*-end
(not*-left
/*-right
), matching Floating UI and Bootstrap v5 conventions.
97-104
: Content API Verification Complete
Thebody
prop is included inpopoverSharedProps
(lines 30–34 inpopover-shared.ts
) and is thus exposed onBTooltip
. Thetitle
anddefault
slots are also defined intooltip.data.ts
. No changes to the documented API are required.
84-87
: Docs correctly reference theclick
boolean prop
Theclick
prop is defined in apps/docs/src/utils/popover-shared.ts (type: boolean, default: false) and is inherited by BTooltip. No changes required.
6-6
: Ignore directive doc link casing suggestionThe directive docs routes use the file name casing (e.g.
/docs/directives/BTooltip
,/docs/directives/BPopover
, etc.), which matches the generated routes and existing links across the docs. Converting these to lowercase would break navigation. No changes are needed.Likely an incorrect or invalid review comment.
131-139
: Tooltip initial visibility prop and v-model usage are correctThe
show
prop is defined inshowHideProps
to trigger an initial render animation, and the default v-model key ismodelValue
(with theupdate:model-value
emit). The examples in tooltip.md correctly demonstrate using
v-model
for reactive visibilityshow
for initial open-on-mountNo changes needed.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
♻️ Duplicate comments (1)
apps/docs/src/docs/components/tooltip.md (1)
159-161
: Fix import:tooltip.data.ts
exports a default, not a nameddata
Using a named import will cause a runtime error in the docs page.
-<script setup lang="ts"> -import {data} from '../../data/components/tooltip.data' +<script setup lang="ts"> +import data from '../../data/components/tooltip.data'
🧹 Nitpick comments (6)
apps/docs/src/docs/components/tooltip.md (4)
29-36
: Remove redundant “target” lead-in sentenceThe two consecutive lines introduce the same list twice; tighten to a single introduction for clarity.
-The target is the _trigger_ element (or component) that will trigger the tooltip. The target is -specified via the `target` slot or prop, and can be any of the following: - -The `target` prop may be any of the following: +The target is the _trigger_ element (or component) specified via the `target` slot or prop. It may be any of the following:
34-36
: Minor grammar: “querySelector” example formattingUse “i.e.” without the preceding period and keep it inline with the sentence.
-- A string with querySelector. (i.e. '#toolbar > div:first-child') +- A string with a query selector (i.e. '#toolbar > div:first-child')
90-94
: Prefer “Alternatively” and streamline phrasingMinor wording/grammar improvements.
-To take finer control of tooltip visibility, you can use the [useToggle](/docs/composables/useToggle) or -[usePopoverController](/docs/composables/usePopoverController). Alternately, you can set the `manual` prop -and use the [`v-model`](#programmatic-control-via-v-model) or -[exposed functions](#exposed-functions) to control visibility. +To take finer control of tooltip visibility, you can use [useToggle](/docs/composables/useToggle) or +[usePopoverController](/docs/composables/usePopoverController). Alternatively, set the `manual` prop and use +[`v-model`](#programmatic-control-via-v-model) or the [exposed functions](#exposed-functions) to control visibility.
90-94
: Ensuremanual
prop appears in the API table (tooltip.data.ts)We reference
manual
here; confirm the ComponentReference data includes it (via shared popover props). If missing, add it so the docs and API table are consistent.apps/docs/src/docs/components/popover.md (2)
31-33
: Minor grammar: “querySelector” example formattingMatch the same nit fix as in tooltip docs for consistency and clarity.
-- A string with querySelector. (i.e. '#toolbar > div:first-child') +- A string with a query selector (i.e. '#toolbar > div:first-child')
22-22
: Minor grammar: add comma in inline positioning sentenceSmall readability tweak.
-When triggered from hyperlinks that span multiple lines, popovers will be centered. Set the `inline` prop to improve the positioning see the [Floating UI docs](https://floating-ui.com/docs/inline) for details. +When triggered from hyperlinks that span multiple lines, popovers will be centered. Set the `inline` prop to improve positioning, see the [Floating UI docs](https://floating-ui.com/docs/inline) for details.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
💡 Knowledge Base configuration:
- MCP integration is disabled by default for public repositories
- Jira integration is disabled by default for public repositories
- Linear integration is disabled by default for public repositories
You can enable these sources in your CodeRabbit configuration.
📒 Files selected for processing (2)
apps/docs/src/docs/components/popover.md
(5 hunks)apps/docs/src/docs/components/tooltip.md
(1 hunks)
🧰 Additional context used
🧠 Learnings (3)
📓 Common learnings
Learnt from: dwgray
PR: bootstrap-vue-next/bootstrap-vue-next#2762
File: apps/docs/src/docs/components/tooltip.md:0-0
Timestamp: 2025-06-26T19:46:19.333Z
Learning: BTooltip is a very thin wrapper around BPopover in bootstrap-vue-next. There is no separate `useTooltipController` composable - the `usePopoverController` composable can be used to programmatically control both popovers and tooltips.
📚 Learning: 2025-06-26T19:46:19.333Z
Learnt from: dwgray
PR: bootstrap-vue-next/bootstrap-vue-next#2762
File: apps/docs/src/docs/components/tooltip.md:0-0
Timestamp: 2025-06-26T19:46:19.333Z
Learning: BTooltip is a very thin wrapper around BPopover in bootstrap-vue-next. There is no separate `useTooltipController` composable - the `usePopoverController` composable can be used to programmatically control both popovers and tooltips.
Applied to files:
apps/docs/src/docs/components/tooltip.md
apps/docs/src/docs/components/popover.md
📚 Learning: 2025-04-28T22:48:46.738Z
Learnt from: xvaara
PR: bootstrap-vue-next/bootstrap-vue-next#2425
File: packages/bootstrap-vue-next/src/plugins/popoverController/index.ts:138-140
Timestamp: 2025-04-28T22:48:46.738Z
Learning: In bootstrap-vue-next, `PopoverOrchestratorParam` includes an `id` field of type `ControllerKey` through inheritance from base types. This field is declared in the `BvControllerOptions` interface and propagated through the type hierarchy.
Applied to files:
apps/docs/src/docs/components/popover.md
🪛 LanguageTool
apps/docs/src/docs/components/tooltip.md
[grammar] ~20-~20: There might be a mistake here.
Context: ...Tooltips are non-interactive by default. - Tooltips rely on the 3rd party library [...
(QB_NEW_EN)
[grammar] ~29-~29: There might be a mistake here.
Context: ... will trigger the tooltip. The target is specified via the target
slot or prop,...
(QB_NEW_EN)
[grammar] ~35-~35: There might be a mistake here.
Context: ...tor. (i.e. '#toolbar > div:first-child') - A reference (ref) to an HTMLElement
or...
(QB_NEW_EN)
[grammar] ~42-~42: There might be a mistake here.
Context: ...>,
, etc., while
SVGElementrefers to
` or supported child ele...
(QB_NEW_EN)
[grammar] ~52-~52: There might be a mistake here.
Context: ...ts for keyboard users. In addition, most assistive technologies currently do not ...
(QB_NEW_EN)
[grammar] ~55-~55: There might be a mistake here.
Context: ...for your tooltip, as this will make your tooltips _impossible to trigger for keyb...
(QB_NEW_EN)
[grammar] ~61-~61: There might be a mistake here.
Context: ...ound, you’ll want to trigger the tooltip from a wrapper <div>
or <span>
, idea...
(QB_NEW_EN)
[grammar] ~62-~62: There might be a mistake here.
Context: ...oard-focusable using tabindex="0"
, and override the pointer-events
on the dis...
(QB_NEW_EN)
[grammar] ~67-~67: There might be a mistake here.
Context: ...ntprop:
top,
top-start,
top-end,
bottom,
bottom-start,
bottom-end`, ...
(QB_NEW_EN)
[grammar] ~68-~68: There might be a mistake here.
Context: ...ht,
right-start, and
right-end` from [@floating-ui/vue](https://floating-ui.c...
(QB_NEW_EN)
[grammar] ~85-~85: There might be a mistake here.
Context: ...and make the tooltip show and hide based on click
events, set the click
prop ...
(QB_NEW_EN)
[grammar] ~91-~91: There might be a mistake here.
Context: ...ternately, you can set the manual
prop and use the [v-model
](#programmatic-co...
(QB_NEW_EN)
[grammar] ~92-~92: There might be a mistake here.
Context: ...`](#programmatic-control-via-v-model) or exposed functions ...
(QB_NEW_EN)
[grammar] ~97-~97: There might be a mistake here.
Context: ... title
or body
props, or the title
or default
slots. ::: info NOTE Unlik...
(QB_NEW_EN)
[grammar] ~100-~100: There might be a mistake here.
Context: ...itleor
default` slots. ::: info NOTE Unlike [popover content](/docs/component...
(QB_NEW_EN)
[grammar] ~101-~101: There might be a mistake here.
Context: ...a separate title and body, tooltips only have one location to place the content. ...
(QB_NEW_EN)
[grammar] ~110-~110: There might be a mistake here.
Context: ... title-class
prop or body-class
prop (depending on which prop or slot you use...
(QB_NEW_EN)
[grammar] ~115-~115: There might be a mistake here.
Context: ....com/docs/5.3/helpers/color-background/) utilities to change the variant of the t...
(QB_NEW_EN)
[grammar] ~122-~122: There might be a mistake here.
Context: ...ctives/BTooltip) docs on applying custom classes to the directive version. For f...
(QB_NEW_EN)
[grammar] ~131-~131: There might be a mistake here.
Context: ...etting it to true will show the tooltip, while setting it to false will hide the ...
(QB_NEW_EN)
[grammar] ~145-~145: There might be a mistake here.
Context: ...w. The boundary
and boundary-padding
props can be used to control what's cons...
(QB_NEW_EN)
[grammar] ~152-~152: There might be a mistake here.
Context: ...ipulation of the state of the component. These are accessed through the [template...
(QB_NEW_EN)
apps/docs/src/docs/components/popover.md
[grammar] ~32-~32: There might be a mistake here.
Context: ...tor. (i.e. '#toolbar > div:first-child') - A reference (ref) to an HTMLElement
or...
(QB_NEW_EN)
[grammar] ~46-~46: There might be a mistake here.
Context: ...ntprop:
top,
top-start,
top-end,
bottom,
bottom-start,
bottom-end`, ...
(QB_NEW_EN)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
- GitHub Check: build
🔇 Additional comments (4)
apps/docs/src/docs/components/tooltip.md (1)
5-7
: Directive link and controller reference look correct
- Typo from prior revision is resolved (
v-b-tooltip
), and link now points to usePopoverController per product decision that no separate tooltip controller exists.apps/docs/src/docs/components/popover.md (3)
7-9
: LGTM on controller mentionClear directive link and correct composable path for programmatic control.
18-19
: Teleport default guidance and floating-ui link look goodAccurately reflects current defaults and library reference.
46-49
: Placement values correctly use start/end (not left/right)Accurate with floating-ui and Bootstrap v5 semantics.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
♻️ Duplicate comments (1)
apps/docs/src/docs/components/popover.md (1)
141-143
: VitePress data loading: named import is correctThe named import import {data} from '../../data/components/popover.data' matches VitePress’s .data.ts build-time data loading behavior. Leaving as-is is correct.
🧹 Nitpick comments (1)
apps/docs/src/docs/components/popover.md (1)
32-32
: Tighten wording: use “query selector string” and e.g.Minor copyedit to improve clarity and fix the i.e./e.g. usage.
-- A string with querySelector. (i.e. '#toolbar > div:first-child') +- A query selector string (e.g., '#toolbar > div:first-child')
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
💡 Knowledge Base configuration:
- MCP integration is disabled by default for public repositories
- Jira integration is disabled by default for public repositories
- Linear integration is disabled by default for public repositories
You can enable these sources in your CodeRabbit configuration.
📒 Files selected for processing (2)
apps/docs/src/docs/components/popover.md
(5 hunks)apps/docs/src/docs/migration-guide.md
(1 hunks)
🧰 Additional context used
🧠 Learnings (9)
📓 Common learnings
Learnt from: dwgray
PR: bootstrap-vue-next/bootstrap-vue-next#2762
File: apps/docs/src/docs/components/tooltip.md:90-94
Timestamp: 2025-08-19T23:30:07.034Z
Learning: In bootstrap-vue-next docs, tooltip.data.ts uses popoverSharedProps('popover') to define props, which includes the 'manual' prop through the shared props structure from popover-shared.ts. The manual prop is available in BTooltip documentation through this prop spreading/inheritance mechanism.
Learnt from: dwgray
PR: bootstrap-vue-next/bootstrap-vue-next#2762
File: apps/docs/src/docs/components/tooltip.md:90-94
Timestamp: 2025-08-19T23:30:07.034Z
Learning: In bootstrap-vue-next docs, tooltip.data.ts uses popoverSharedProps('tooltip') to define props, which includes the 'manual' prop through the shared props structure from popover-shared.ts. The manual prop is available in BTooltip documentation through this inheritance mechanism.
📚 Learning: 2025-08-19T23:30:07.034Z
Learnt from: dwgray
PR: bootstrap-vue-next/bootstrap-vue-next#2762
File: apps/docs/src/docs/components/tooltip.md:90-94
Timestamp: 2025-08-19T23:30:07.034Z
Learning: In bootstrap-vue-next docs, tooltip.data.ts uses popoverSharedProps('popover') to define props, which includes the 'manual' prop through the shared props structure from popover-shared.ts. The manual prop is available in BTooltip documentation through this prop spreading/inheritance mechanism.
Applied to files:
apps/docs/src/docs/components/popover.md
apps/docs/src/docs/migration-guide.md
📚 Learning: 2025-08-19T23:30:07.034Z
Learnt from: dwgray
PR: bootstrap-vue-next/bootstrap-vue-next#2762
File: apps/docs/src/docs/components/tooltip.md:90-94
Timestamp: 2025-08-19T23:30:07.034Z
Learning: In bootstrap-vue-next docs, tooltip.data.ts uses popoverSharedProps('tooltip') to define props, which includes the 'manual' prop through the shared props structure from popover-shared.ts. The manual prop is available in BTooltip documentation through this inheritance mechanism.
Applied to files:
apps/docs/src/docs/components/popover.md
apps/docs/src/docs/migration-guide.md
📚 Learning: 2025-06-26T19:46:19.333Z
Learnt from: dwgray
PR: bootstrap-vue-next/bootstrap-vue-next#2762
File: apps/docs/src/docs/components/tooltip.md:0-0
Timestamp: 2025-06-26T19:46:19.333Z
Learning: BTooltip is a very thin wrapper around BPopover in bootstrap-vue-next. There is no separate `useTooltipController` composable - the `usePopoverController` composable can be used to programmatically control both popovers and tooltips.
Applied to files:
apps/docs/src/docs/components/popover.md
apps/docs/src/docs/migration-guide.md
📚 Learning: 2025-08-19T23:25:20.631Z
Learnt from: dwgray
PR: bootstrap-vue-next/bootstrap-vue-next#2762
File: apps/docs/src/docs/components/popover.md:141-143
Timestamp: 2025-08-19T23:25:20.631Z
Learning: In VitePress projects, .data.ts files use build-time data loading where the file exports a `load()` function, and VitePress makes the loaded data available as a named export `{data}`. The correct import syntax is `import {data} from './file.data'`, not a default import.
Applied to files:
apps/docs/src/docs/components/popover.md
📚 Learning: 2025-08-19T23:30:52.865Z
Learnt from: dwgray
PR: bootstrap-vue-next/bootstrap-vue-next#2762
File: apps/docs/src/docs/components/tooltip.md:0-0
Timestamp: 2025-08-19T23:30:52.865Z
Learning: VitePress .data.ts files use build-time data loading where the file exports a default object with a load() function, and VitePress processes this at build time to make the loaded data available as a named export {data}. The correct import syntax is `import {data} from './file.data'`, not a default import, even though the .data.ts file itself uses export default.
Applied to files:
apps/docs/src/docs/components/popover.md
📚 Learning: 2025-04-28T22:48:46.738Z
Learnt from: xvaara
PR: bootstrap-vue-next/bootstrap-vue-next#2425
File: packages/bootstrap-vue-next/src/plugins/popoverController/index.ts:138-140
Timestamp: 2025-04-28T22:48:46.738Z
Learning: In bootstrap-vue-next, `PopoverOrchestratorParam` includes an `id` field of type `ControllerKey` through inheritance from base types. This field is declared in the `BvControllerOptions` interface and propagated through the type hierarchy.
Applied to files:
apps/docs/src/docs/components/popover.md
📚 Learning: 2025-06-05T11:43:10.793Z
Learnt from: xvaara
PR: bootstrap-vue-next/bootstrap-vue-next#2701
File: apps/docs/src/docs/migration-guide.md:622-626
Timestamp: 2025-06-05T11:43:10.793Z
Learning: In migration guides, links to the old/previous version's documentation (like bootstrap-vue.org) are appropriate and helpful when explaining deprecated features, as they provide users with reference points for what they're migrating from.
Applied to files:
apps/docs/src/docs/migration-guide.md
📚 Learning: 2025-05-23T23:58:07.165Z
Learnt from: dwgray
PR: bootstrap-vue-next/bootstrap-vue-next#2701
File: apps/docs/src/docs/migration-guide.md:630-632
Timestamp: 2025-05-23T23:58:07.165Z
Learning: The `<NotYetImplemented/>` component in the bootstrap-vue-next documentation automatically renders text indicating "Not Yet Implemented", so additional explanatory text about features not being implemented is redundant when this component is used.
Applied to files:
apps/docs/src/docs/migration-guide.md
🪛 LanguageTool
apps/docs/src/docs/components/popover.md
[grammar] ~32-~32: There might be a mistake here.
Context: ...tor. (i.e. '#toolbar > div:first-child') - A reference (ref) to an HTMLElement
or...
(QB_NEW_EN)
[grammar] ~46-~46: There might be a mistake here.
Context: ...ntprop:
top,
top-start,
top-end,
bottom,
bottom-start,
bottom-end`, ...
(QB_NEW_EN)
apps/docs/src/docs/migration-guide.md
[grammar] ~868-~868: There might be a mistake here.
Context: ... floating-ui to handle placement. The ability for th...
(QB_NEW_EN)
[grammar] ~873-~873: There might be a mistake here.
Context: ... use to manage popovers has changed. See [our documentation](/docs/components/pop...
(QB_NEW_EN)
[grammar] ~874-~874: There might be a mistake here.
Context: ... floating-ui for details. The variant
prop has bee...
(QB_NEW_EN)
[grammar] ~878-~878: There might be a mistake here.
Context: ...nts/tooltip#custom-classes-and-variants) for details. The disabled
prop and [P...
(QB_NEW_EN)
[grammar] ~883-~883: There might be a mistake here.
Context: ... to disable BootstrapVueNext's automatic trigger handling and if your own code sh...
(QB_NEW_EN)
[grammar] ~884-~884: There might be a mistake here.
Context: ...s well. If you believe that implementing full parity with the BootstrapVue featur...
(QB_NEW_EN)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
- GitHub Check: build
🔇 Additional comments (3)
apps/docs/src/docs/components/popover.md (3)
7-8
: Good call-out to programmatic control via composableReferencing usePopoverController here improves discoverability for devs needing imperative control.
18-19
: Teleport guidance and default are clearCalling out teleportTo/teleportDisabled with an explicit default (undefined) is helpful and Nuxt-agnostic. LGTM.
46-49
: Placement list and terminology look consistent with Floating UIThe switch to start/end variants and inclusion of auto placements is accurate. No issues.
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
♻️ Duplicate comments (2)
apps/docs/src/docs/migration-guide.md (2)
859-867
: Tooltip: terminology fixes and correct links — looks goodThe switch to “tooltip” terminology, the
teleportTo
replacement forcontainer
, and the custom-class → body-class/title-class notes with the correct tooltip docs link are on point.
873-880
: Trigger behavior: correct cross-link to tooltip triggersThe link now points to /components/tooltip#triggers (not popover), which resolves the earlier confusion. Wording is clear.
🧹 Nitpick comments (4)
apps/docs/src/docs/migration-guide.md (4)
887-887
: Clarify delay semantics and add periodMinor clarity/punctuation tweak: explicitly say “for both show and hide,” and end with a period.
-`delay` now defaults to 0 rather than 50ms +`delay` now defaults to 0 for both show and hide, rather than 50ms.
889-889
: Punctuation nit: add terminal periodStay consistent with sentence punctuation.
-The default for `placement` is now `top` rather than `right` +The default for `placement` is now `top` rather than `right`.
726-726
: Popover section referencesusePopover
but Tooltip usesusePopoverController
— align for consistencyElsewhere (including this tooltip block) you reference
usePopoverController
as the programmatic alternative. Consider updating the popover section to match.-`$root` events are deprecated. See [usePopover](/docs/composables/usePopover) as an alternative. +`$root` events are deprecated. See [usePopoverController](/docs/composables/usePopoverController) as an alternative.
881-886
: Manual mode guidance is accurate; clarify programmatic control pathI’ve verified that the
manual
prop is indeed exposed for BTooltip viapopoverSharedProps('popover')
inapps/docs/src/data/components/tooltip.data.ts
, and that the migration guide already links tousePopoverController
. To make it even clearer how to control visibility programmatically, consider the following small tweak inapps/docs/src/docs/migration-guide.md
around line 884:- Use `manual=true` to disable BootstrapVueNext’s automatic trigger handling. If your application shows the tooltip programmatically, disable those automatic triggers as well. + Use `manual=true` to disable BootstrapVueNext’s automatic trigger handling. When showing or hiding programmatically (via `v-model` or `usePopoverController`), disable automatic triggers as well.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
💡 Knowledge Base configuration:
- MCP integration is disabled by default for public repositories
- Jira integration is disabled by default for public repositories
- Linear integration is disabled by default for public repositories
You can enable these sources in your CodeRabbit configuration.
📒 Files selected for processing (1)
apps/docs/src/docs/migration-guide.md
(1 hunks)
🧰 Additional context used
🧠 Learnings (6)
📓 Common learnings
Learnt from: dwgray
PR: bootstrap-vue-next/bootstrap-vue-next#2762
File: apps/docs/src/docs/components/tooltip.md:90-94
Timestamp: 2025-08-19T23:30:07.034Z
Learning: In bootstrap-vue-next docs, tooltip.data.ts uses popoverSharedProps('popover') to define props, which includes the 'manual' prop through the shared props structure from popover-shared.ts. The manual prop is available in BTooltip documentation through this prop spreading/inheritance mechanism.
Learnt from: dwgray
PR: bootstrap-vue-next/bootstrap-vue-next#2762
File: apps/docs/src/docs/components/tooltip.md:90-94
Timestamp: 2025-08-19T23:30:07.034Z
Learning: In bootstrap-vue-next docs, tooltip.data.ts uses popoverSharedProps('tooltip') to define props, which includes the 'manual' prop through the shared props structure from popover-shared.ts. The manual prop is available in BTooltip documentation through this inheritance mechanism.
📚 Learning: 2025-08-19T23:30:07.034Z
Learnt from: dwgray
PR: bootstrap-vue-next/bootstrap-vue-next#2762
File: apps/docs/src/docs/components/tooltip.md:90-94
Timestamp: 2025-08-19T23:30:07.034Z
Learning: In bootstrap-vue-next docs, tooltip.data.ts uses popoverSharedProps('popover') to define props, which includes the 'manual' prop through the shared props structure from popover-shared.ts. The manual prop is available in BTooltip documentation through this prop spreading/inheritance mechanism.
Applied to files:
apps/docs/src/docs/migration-guide.md
📚 Learning: 2025-08-19T23:30:07.034Z
Learnt from: dwgray
PR: bootstrap-vue-next/bootstrap-vue-next#2762
File: apps/docs/src/docs/components/tooltip.md:90-94
Timestamp: 2025-08-19T23:30:07.034Z
Learning: In bootstrap-vue-next docs, tooltip.data.ts uses popoverSharedProps('tooltip') to define props, which includes the 'manual' prop through the shared props structure from popover-shared.ts. The manual prop is available in BTooltip documentation through this inheritance mechanism.
Applied to files:
apps/docs/src/docs/migration-guide.md
📚 Learning: 2025-06-26T19:46:19.333Z
Learnt from: dwgray
PR: bootstrap-vue-next/bootstrap-vue-next#2762
File: apps/docs/src/docs/components/tooltip.md:0-0
Timestamp: 2025-06-26T19:46:19.333Z
Learning: BTooltip is a very thin wrapper around BPopover in bootstrap-vue-next. There is no separate `useTooltipController` composable - the `usePopoverController` composable can be used to programmatically control both popovers and tooltips.
Applied to files:
apps/docs/src/docs/migration-guide.md
📚 Learning: 2025-06-05T11:43:10.793Z
Learnt from: xvaara
PR: bootstrap-vue-next/bootstrap-vue-next#2701
File: apps/docs/src/docs/migration-guide.md:622-626
Timestamp: 2025-06-05T11:43:10.793Z
Learning: In migration guides, links to the old/previous version's documentation (like bootstrap-vue.org) are appropriate and helpful when explaining deprecated features, as they provide users with reference points for what they're migrating from.
Applied to files:
apps/docs/src/docs/migration-guide.md
📚 Learning: 2025-05-23T23:58:07.165Z
Learnt from: dwgray
PR: bootstrap-vue-next/bootstrap-vue-next#2701
File: apps/docs/src/docs/migration-guide.md:630-632
Timestamp: 2025-05-23T23:58:07.165Z
Learning: The `<NotYetImplemented/>` component in the bootstrap-vue-next documentation automatically renders text indicating "Not Yet Implemented", so additional explanatory text about features not being implemented is redundant when this component is used.
Applied to files:
apps/docs/src/docs/migration-guide.md
🪛 LanguageTool
apps/docs/src/docs/migration-guide.md
[grammar] ~868-~868: There might be a mistake here.
Context: ... Floating UI to handle placement. The ability for th...
(QB_NEW_EN)
[grammar] ~873-~873: There might be a mistake here.
Context: ...e tooltips and popovers has changed. See [our documentation](/docs/components/too...
(QB_NEW_EN)
[grammar] ~874-~874: There might be a mistake here.
Context: ... Floating UI for details. The variant
prop has bee...
(QB_NEW_EN)
[grammar] ~878-~878: There might be a mistake here.
Context: ...nts/tooltip#custom-classes-and-variants) for details. The disabled
prop and [P...
(QB_NEW_EN)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
- GitHub Check: build
🔇 Additional comments (2)
apps/docs/src/docs/migration-guide.md (2)
868-872
: Deprecations read clearly
- “fallback-placement” deprecation with “Floating UI” capitalization
- Deprecating function-valued
target
Both are concise and accurate.
891-891
: Correct composable referenced — goodLinking to
usePopoverController
for $root-event replacement aligns with the current composable strategy and with tooltip/popover unification.
Describe the PR
BPopover
component referenceThis fixes #2101
Small replication
n/a
PR checklist
What kind of change does this PR introduce? (check at least one)
fix(...)
feat(...)
fix(...)
docs(...)
The PR fulfills these requirements:
CHANGELOG
is generated from these messages, and determines the next version type. Pull requests that do not follow conventional commits or do not have an override will be deniedSummary by CodeRabbit
New Features
Documentation
Refactor