Skip to content

Large rework - #9

Open
maxkurze1 wants to merge 3 commits into
Smile-SA:mainfrom
maxkurze1:main
Open

Large rework#9
maxkurze1 wants to merge 3 commits into
Smile-SA:mainfrom
maxkurze1:main

Conversation

@maxkurze1

@maxkurze1 maxkurze1 commented Jul 1, 2026

Copy link
Copy Markdown

Hey Tony (@tonai),

I quite like your progress bar component, thanks for your work. However, it was missing a bunch of options for my use case. Now, unfortunately, when implementing these features it just happened that I went from one to next without cleanly separating them into atomic commits. As a result, this PR probably contains way too much stuff at once and is a hell to review, I am honestly sorry about that. Nevertheless, I would still like to see these changes merged and prevent the maintenance of multiple forks (once it is merged I am also happy to help maintain your repo)

Alright about the features:

new options

option description
emptyFirst makes the bar start at exactly 0%
fillLast makes the bar end at exactly 100%
clicks makes the bar progress with every click - in comparison to the previous behavior, the bar still looks identical but has additional intermediate steps
disable when the bar should be disabled - previously it was hardcoded to "cover" and "end" layouts - now that is the default but may be configured
print I updated the print-mode-check + made the bars compatible with export-mode in the first place + added an option to enable/disable printing the bar
fade I moved the gradient also into an optional feature

Besides those changes I also moved the marker-visuals into separate components which are embedded through a slot. This enables users to define their own markers + enables the library to support multiple marker types out of the box

Lastly, I also added a scale option that configures whether each slide should get the same progress-portion or if it should be distributed based on the number of clicks (which represents the actual progress of my presentations much closer)

Unfortunately some of these changes are breaking changes. Specifically, the default

<Progress />

now needs to be replaced by

<Progress fade>
  <template #marker="args"><MarkersShapes v-bind="args" nested /></template>
</Progress>

to achieve the same result.

Please tell me what you think of these changes and what would be necessary to get them merged. I am happy to help.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant