diff --git a/.changeset/button-ghost.md b/.changeset/button-ghost.md new file mode 100644 index 000000000..1c051183d --- /dev/null +++ b/.changeset/button-ghost.md @@ -0,0 +1,5 @@ +--- +"@tabler/core": minor +--- + +Added `.btn-ghost` button variant with transparent background and hover effects. diff --git a/.changeset/icon-stroke-width.md b/.changeset/icon-stroke-width.md new file mode 100644 index 000000000..0cae0ffb8 --- /dev/null +++ b/.changeset/icon-stroke-width.md @@ -0,0 +1,5 @@ +--- +"@tabler/core": patch +--- + +Updated `stroke-width` for `.icon-sm` from `1` to `1.5` for better visibility. diff --git a/.changeset/onboarding-page.md b/.changeset/onboarding-page.md new file mode 100644 index 000000000..764d309d3 --- /dev/null +++ b/.changeset/onboarding-page.md @@ -0,0 +1,5 @@ +--- +"@tabler/preview": minor +--- + +Added new onboarding page with progress indicator and navigation layout. diff --git a/.changeset/progress-background.md b/.changeset/progress-background.md new file mode 100644 index 000000000..d6a7ae295 --- /dev/null +++ b/.changeset/progress-background.md @@ -0,0 +1,6 @@ +--- +"@tabler/core": minor +"@tabler/preview": minor +--- + +Added Progress Background component with text labels and value display. diff --git a/.changeset/progress-sizes.md b/.changeset/progress-sizes.md new file mode 100644 index 000000000..09d38a1ed --- /dev/null +++ b/.changeset/progress-sizes.md @@ -0,0 +1,5 @@ +--- +"@tabler/core": minor +--- + +Added large and extra-large sizes for progress component (`.progress-lg`, `.progress-xl`). diff --git a/.changeset/progress-steps.md b/.changeset/progress-steps.md new file mode 100644 index 000000000..79c696c39 --- /dev/null +++ b/.changeset/progress-steps.md @@ -0,0 +1,6 @@ +--- +"@tabler/core": minor +"@tabler/preview": minor +--- + +Added Progress Steps component for step-by-step navigation indicators. diff --git a/.changeset/progress-transitions.md b/.changeset/progress-transitions.md new file mode 100644 index 000000000..243218bab --- /dev/null +++ b/.changeset/progress-transitions.md @@ -0,0 +1,5 @@ +--- +"@tabler/core": patch +--- + +Added smooth transitions for progress bar width and background color changes. diff --git a/.changeset/skip-link-accessibility.md b/.changeset/skip-link-accessibility.md new file mode 100644 index 000000000..c4754b1e0 --- /dev/null +++ b/.changeset/skip-link-accessibility.md @@ -0,0 +1,5 @@ +--- +"@tabler/core": patch +--- + +Updated skip-link to use `visually-hidden` class for better accessibility. diff --git a/.changeset/trending-icons.md b/.changeset/trending-icons.md new file mode 100644 index 000000000..289c979a7 --- /dev/null +++ b/.changeset/trending-icons.md @@ -0,0 +1,6 @@ +--- +"@tabler/core": patch +"@tabler/preview": patch +--- + +Updated trending component to use `arrow-up`/`arrow-down` icons instead of `trending-up`/`trending-down`. diff --git a/.cursor/rules/changelog.mdc b/.cursor/rules/changelog.mdc new file mode 100644 index 000000000..8683b978d --- /dev/null +++ b/.cursor/rules/changelog.mdc @@ -0,0 +1,100 @@ +--- +description: Cursor Rules for Tabler Changesets +globs: +alwaysApply: true +--- + + +### File Structure + +- Each change must be in a separate changeset file in `.changeset/` directory +- Use descriptive kebab-case filenames (e.g., `progress-sizes.md`, `button-ghost.md`) +- Follow the standard changeset format with frontmatter and description + +### Change Description Format + +- **One sentence per changeset** - keep descriptions concise and focused +- Use **backticks for code elements**: classes (`.btn-ghost`), properties (`stroke-width`), values (`1.5`), icons (`arrow-up`) +- Start with action verbs: "Added", "Updated", "Fixed", "Removed" +- Be specific about what was changed + +### Version Bump Guidelines + +- **Major**: Breaking changes, complete rewrites +- **Minor**: New features, new components, new pages, significant enhancements +- **Patch**: Bug fixes, small improvements, style updates, accessibility fixes + +### Package Selection + +- `"@tabler/core"`: Changes to SCSS, core functionality, CSS classes +- `"@tabler/preview"`: New pages, demo updates, preview-specific changes +- `"@tabler/docs"`: Documentation updates +- Use multiple packages when change affects multiple areas + +### Examples + +#### New Feature (Minor) + +```md +--- +"@tabler/core": minor +"@tabler/preview": minor +--- + +Added Progress Steps component for step-by-step navigation indicators. +``` + +#### Bug Fix (Patch) + +```md +--- +"@tabler/core": patch +--- + +Updated `stroke-width` for `.icon-sm` from `1` to `1.5` for better visibility. +``` + +#### New Page (Minor) + +```md +--- +"@tabler/preview": minor +--- + +Added new onboarding page with progress indicator and navigation layout. +``` + +#### Style Enhancement (Patch) + +```md +--- +"@tabler/core": patch +--- + +Added smooth transitions for progress bar width and background color changes. +``` + +### Code Formatting Rules + +- Class names: `.btn-ghost`, `.progress-lg`, `.icon-sm` +- CSS properties: `stroke-width`, `background-color`, `width` +- Values: `1.5`, `transparent`, `100%` +- Icon names: `arrow-up`, `arrow-down`, `trending-up` +- HTML attributes: `aria-label`, `role`, `data-*` +- JavaScript functions: `addEventListener()`, `querySelector()` + +### Common Patterns + +- **Component additions**: "Added [ComponentName] component for [purpose]" +- **Size variants**: "Added [size] size variant for [component] (`.class-size`)" +- **Style fixes**: "Fixed [issue] in [component/element]" +- **Icon updates**: "Updated [component] to use `new-icon` instead of `old-icon`" +- **Accessibility**: "Improved accessibility by [specific change]" + +### Commit Message Format + +Use English for commit messages following conventional commit format when possible: + +- `feat: add progress steps component` +- `fix: update icon stroke width for better visibility` +- `style: add smooth transitions to progress bars` \ No newline at end of file diff --git a/core/scss/_variables.scss b/core/scss/_variables.scss index 506169967..39c2659ca 100644 --- a/core/scss/_variables.scss +++ b/core/scss/_variables.scss @@ -675,7 +675,7 @@ $card-border-color: var(--#{$prefix}border-color-translucent) !default; $card-border-radius: var(--#{$prefix}border-radius-lg) !default; $card-spacer-x: 1.25rem !default; -$card-spacer-y: 1rem !default; +$card-spacer-y: 1.25rem !default; $card-cap-bg: var(--#{$prefix}bg-surface-tertiary) !default; $card-cap-color: inherit !default; diff --git a/core/scss/ui/_buttons.scss b/core/scss/ui/_buttons.scss index eb339b018..f9c5b6bcf 100644 --- a/core/scss/ui/_buttons.scss +++ b/core/scss/ui/_buttons.scss @@ -24,7 +24,6 @@ position: relative; min-width: calc((var(--#{$prefix}btn-line-height) * 1) + (var(--#{$prefix}btn-padding-y) * 2) + (var(--#{$prefix}btn-border-width) * 2)); min-height: calc((var(--#{$prefix}btn-line-height) * 1) + (var(--#{$prefix}btn-padding-y) * 2) + (var(--#{$prefix}btn-border-width) * 2)); - .icon { width: var(--#{$prefix}btn-icon-size); @@ -115,6 +114,15 @@ --#{$prefix}btn-disabled-border-color: var(--#{$prefix}#{$color}); } + .btn-ghost { + --#{$prefix}btn-bg: transparent; + --#{$prefix}btn-border-color: transparent; + --#{$prefix}btn-box-shadow: none; + --#{$prefix}btn-hover-bg: var(--#{$prefix}bg-surface-secondary); + --#{$prefix}btn-hover-border-color: transparent; + --#{$prefix}btn-hover-color: var(--#{$prefix}body-color); + } + .btn-ghost-#{$color}, .btn-ghost.btn-#{$color} { --#{$prefix}btn-color: var(--#{$prefix}#{$color}); @@ -187,7 +195,7 @@ .icon { margin: calc(-1 * var(--#{$prefix}btn-padding-x)); } - //[BUG] btn-sm and btn-xl with an icon looks broken + //[BUG] btn-sm and btn-xl with an icon looks broken //issue #2470 fixed min-width: calc(var(--#{$prefix}btn-icon-size) + (var(--#{$prefix}btn-padding-x) * 2)); min-height: calc(var(--#{$prefix}btn-icon-size) + (var(--#{$prefix}btn-padding-y) * 2)); diff --git a/core/scss/ui/_icons.scss b/core/scss/ui/_icons.scss index f236afc2c..f34c245ab 100644 --- a/core/scss/ui/_icons.scss +++ b/core/scss/ui/_icons.scss @@ -37,7 +37,7 @@ // .icon-sm { --#{$prefix}icon-size: 1rem; - stroke-width: 1; + stroke-width: 1.5; } .icon-md { diff --git a/core/scss/ui/_progress.scss b/core/scss/ui/_progress.scss index 49fcaf2bf..f8936daae 100644 --- a/core/scss/ui/_progress.scss +++ b/core/scss/ui/_progress.scss @@ -42,11 +42,20 @@ Progress height: .25rem; } +.progress-lg { + height: .75rem; +} + +.progress-xl { + height: 1rem; +} + /** Progress bar */ .progress-bar { height: 100%; + @include transition(width $transition-time, background $transition-time); } .progress-bar-indeterminate { @@ -104,4 +113,32 @@ Progressbg font-weight: var(--#{$prefix}font-weight-medium); margin-left: auto; padding-left: 2rem; +} + +/** +Progress steps + */ +.progress-steps { + display: flex; + flex-wrap: nowrap; + width: 100%; + padding: 0; + margin: 0; + list-style: none; + gap: .25rem; +} + +.progress-steps-item { + flex: 1 1 0; + min-height: .25rem; + margin-top: 0; + color: inherit; + text-align: center; + cursor: default; + background-color: var(--tblr-border-color); + border-radius: var(--#{$prefix}border-radius-pill); + + @at-root a#{&} { + cursor: pointer; + } } \ No newline at end of file diff --git a/core/scss/ui/forms/_form-selectgroup.scss b/core/scss/ui/forms/_form-selectgroup.scss index f49939c6d..02aa143aa 100644 --- a/core/scss/ui/forms/_form-selectgroup.scss +++ b/core/scss/ui/forms/_form-selectgroup.scss @@ -3,11 +3,12 @@ Select group */ .form-selectgroup { display: inline-flex; - margin: 0 -.5rem -.5rem 0; + margin: 0; flex-wrap: wrap; + gap: 0.5rem; .form-selectgroup-item { - margin: 0 .5rem .5rem 0; + margin: 0; } } diff --git a/docs/content/ui/components/progress.md b/docs/content/ui/components/progress.md index 1e20cf58e..c8ebc1be7 100644 --- a/docs/content/ui/components/progress.md +++ b/docs/content/ui/components/progress.md @@ -170,40 +170,10 @@ By using a progress bar component as a background element, designers can create Thanks to this you can create a nice looking statistics section: {% capture html -%} -