carbon-design-system / ibm-products

A Carbon-powered React component library for IBM Products
https://carbon-for-ibm-products.netlify.app/
Apache License 2.0
87 stars 126 forks source link

[Feature Request]: Open CoachmarkOverlayElements for extension #5596

Open gcattan opened 3 days ago

gcattan commented 3 days ago

The problem

We want to change the solution of the CoachmarkOverlayElements at each step. As a walk me.

As discussed in slack with @elycheea and @jlongshore , the CoachmarkOverlayElements is not designed for this behavior, but rather to draw attention at a static element (not in a flow).

The solution

We don't change the design, but we allow developers to implement custom actions on click next or back, and to set the current progression of the component.

Design link

No response

Links to other materials

No response

Owner/main maintainer(s)

gcattan

Second/backup maintainer(s)

No response

Product/offering

lineage-ui

Business priority

Low Priority = release date is not dependent on fix or not upcoming

Code of Conduct

elycheea commented 3 days ago

Adding context and discussion from Slack

@jlongshore:

the beacon is rendered along side the element you are wanting to call attention to ( It’s not in the flow so it doesn’t take up space - potentially moving your layout )… and it can then have its position tuned by the positionTune props to get the beacon in just the right spot… Jumping off from one element and having it follow almost like a walkme like flow isn’t something that particular component is designed to do at the moment, happy to take feature requests - maybe it can be modified to do that, or maybe it’s a different pattern all together.

@gcattan:

May be we can find something in the middle, that does not require too much changes. Now, I am thinking that we can add a callback on the next and back button, and allow to pass the current progression as a props too.

gcattan commented 1 day ago

@elycheea probably a bit early, but do you have maybe a rough estimate for this? Let us know also if some help is needed from our part :)