frutjam 2.2.4 → 2.2.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. package/README.github.md +7 -2
  2. package/dist/base/reboot/object.js +1 -1
  3. package/dist/base.css +63 -3
  4. package/dist/components/accordion.css +2 -2
  5. package/dist/components/alert.css +2 -2
  6. package/dist/components/avatar.css +2 -2
  7. package/dist/components/badge.css +2 -2
  8. package/dist/components/breadcrumb.css +1 -1
  9. package/dist/components/button.css +3 -3
  10. package/dist/components/card.css +2 -2
  11. package/dist/components/carousel.css +1 -1
  12. package/dist/components/chat.css +1 -1
  13. package/dist/components/checkbox.css +2 -2
  14. package/dist/components/collapsible/object.js +1 -1
  15. package/dist/components/collapsible.css +2 -2
  16. package/dist/components/combobox/object.js +1 -1
  17. package/dist/components/combobox.css +2 -2
  18. package/dist/components/countdown.css +2 -2
  19. package/dist/components/diff.css +2 -2
  20. package/dist/components/divider.css +1 -1
  21. package/dist/components/drawer/object.js +1 -1
  22. package/dist/components/drawer.css +2 -2
  23. package/dist/components/footer.css +2 -2
  24. package/dist/components/header/object.js +1 -1
  25. package/dist/components/header.css +2 -2
  26. package/dist/components/hero.css +2 -2
  27. package/dist/components/indicator.css +1 -1
  28. package/dist/components/input.css +2 -2
  29. package/dist/components/join.css +2 -2
  30. package/dist/components/kbd.css +2 -2
  31. package/dist/components/link.css +1 -1
  32. package/dist/components/loading.css +2 -2
  33. package/dist/components/marquee.css +1 -1
  34. package/dist/components/mask.css +2 -2
  35. package/dist/components/menu.css +2 -2
  36. package/dist/components/modal.css +2 -2
  37. package/dist/components/navbar.css +1 -1
  38. package/dist/components/popover.css +2 -2
  39. package/dist/components/progress.css +2 -2
  40. package/dist/components/radial-progress.css +2 -2
  41. package/dist/components/radio.css +2 -2
  42. package/dist/components/range.css +2 -2
  43. package/dist/components/rating.css +2 -2
  44. package/dist/components/select.css +2 -2
  45. package/dist/components/sidebar.css +2 -2
  46. package/dist/components/skeleton.css +2 -2
  47. package/dist/components/stat.css +2 -2
  48. package/dist/components/status.css +1 -1
  49. package/dist/components/steps.css +1 -1
  50. package/dist/components/surface.css +2 -2
  51. package/dist/components/swap/object.js +1 -1
  52. package/dist/components/swap.css +2 -2
  53. package/dist/components/table.css +2 -2
  54. package/dist/components/tabs.css +2 -2
  55. package/dist/components/tag.css +2 -2
  56. package/dist/components/textarea.css +2 -2
  57. package/dist/components/timeline.css +1 -1
  58. package/dist/components/toast.css +1 -1
  59. package/dist/components/toggle.css +2 -2
  60. package/dist/components/tooltip/object.js +1 -1
  61. package/dist/components/tooltip.css +2 -2
  62. package/dist/frutjam.min.css +64 -4
  63. package/dist/plugin.js +4 -4
  64. package/dist/themes/darkberry.css +1 -1
  65. package/dist/themes/snowberry.css +1 -1
  66. package/dist/utilities/headings.css +2 -2
  67. package/dist/utilities/para.css +2 -2
  68. package/dist/utilities/typography.css +1 -1
  69. package/dist/utilities/wrapper.css +1 -1
  70. package/package.json +4 -4
  71. package/packages/js/combobox.js +5 -5
@@ -1,2 +1,2 @@
1
- /*! frutjam v2.2.4 (c) 2026 Nezanuha | Released under the MIT License | https://frutjam.com */
1
+ /*! frutjam v2.2.6 (c) 2026 Nezanuha | Released under the MIT License | https://frutjam.com */
2
2
  @layer theme{:is([data-theme=darkberry],[data-theme=dark]){--scheme-color:dark;--border-radius:0.25rem;--color-base:oklch(10.889% 0.00301 17.398);--color-on-base:oklch(98% 0.01 270);--color-neutral:oklch(85% 0 0);--color-on-neutral:oklch(20% 0 0);--color-primary:oklch(66.385% 0.18368 285.592);--color-on-primary:oklch(10% 0.01 270);--color-secondary:oklch(65% 0.18 220);--color-on-secondary:oklch(10% 0.01 220);--color-accent:oklch(75% 0.18 50);--color-on-accent:oklch(10% 0.01 50);--color-info:oklch(91.67% .077 205.04);--color-on-info:oklch(10% 0.01 250);--color-success:oklch(65% 0.18 140);--color-on-success:oklch(10% 0.01 140);--color-warning:oklch(75% 0.20 85);--color-on-warning:oklch(10% 0.01 85);--color-error:oklch(60% 0.22 30);--color-on-error:oklch(10% 0.01 30)}}
@@ -1,2 +1,2 @@
1
- /*! frutjam v2.2.4 (c) 2026 Nezanuha | Released under the MIT License | https://frutjam.com */
1
+ /*! frutjam v2.2.6 (c) 2026 Nezanuha | Released under the MIT License | https://frutjam.com */
2
2
  @layer theme{:is([data-theme=snowberry],[data-theme=light]),:root:not([data-theme]){--scheme-color:light;--border-radius:0.25rem;--color-base:oklch(1 0 0);--color-on-base:oklch(0.22 0 0);--color-neutral:oklch(0.15 0 0);--color-on-neutral:oklch(1 0 0);--color-primary:oklch(51.1% 0.262 276.966);--color-on-primary:oklch(96.2% 0.018 272.314);--color-secondary:oklch(0.591 0.293 322.896);--color-on-secondary:oklch(1 0 0);--color-accent:oklch(0.541 0.281 293.009);--color-on-accent:oklch(1 0 0);--color-info:oklch(0.685 0.169 237.323);--color-on-info:oklch(0.15 0 0);--color-success:oklch(0.792 0.209 151.711);--color-on-success:oklch(0.15 0 0);--color-warning:oklch(0.852 0.199 91.936);--color-on-warning:oklch(0.15 0 0);--color-error:oklch(0.577 0.245 27.325);--color-on-error:oklch(1 0 0)}}
@@ -1,2 +1,2 @@
1
- /*! frutjam v2.2.4 (c) 2026 Nezanuha | Released under the MIT License | https://frutjam.com */
2
- /*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */.heading-2xl{--heading-size:1rem;--heading-size:1.5rem}.heading-2xl,.heading-3xl{color:var(--color-on-base);font-weight:700;text-wrap-style:balance;font-size:var(--heading-size);line-height:1.15}.heading-3xl{--heading-size:1rem;--heading-size:1.875rem}.heading-4xl{--heading-size:1rem;--heading-size:2.25rem}.heading-4xl,.heading-5xl{color:var(--color-on-base);font-weight:700;text-wrap-style:balance;font-size:var(--heading-size);line-height:1.15}.heading-5xl{--heading-size:1rem;--heading-size:3rem}.heading-6xl{--heading-size:1rem;--heading-size:3.75rem}.heading-6xl,.heading-7xl{color:var(--color-on-base);font-weight:700;text-wrap-style:balance;font-size:var(--heading-size);line-height:1.15}.heading-7xl{--heading-size:1rem;--heading-size:4.5rem}.heading-8xl{--heading-size:1rem;--heading-size:6rem}.heading-8xl,.heading-9xl{color:var(--color-on-base);font-weight:700;text-wrap-style:balance;font-size:var(--heading-size);line-height:1.15}.heading-9xl{--heading-size:1rem;--heading-size:8rem}.heading-lg{--heading-size:1rem;--heading-size:1.125rem}.heading-lg,.heading-md{color:var(--color-on-base);font-weight:700;text-wrap-style:balance;font-size:var(--heading-size);line-height:1.15}.heading-md{--heading-size:1rem}.heading-sm{--heading-size:1rem;--heading-size:0.875rem}.heading-sm,.heading-xl{color:var(--color-on-base);font-weight:700;text-wrap-style:balance;font-size:var(--heading-size);line-height:1.15}.heading-xl{--heading-size:1rem;--heading-size:1.25rem}.heading-xs{--heading-size:1rem;--heading-size:0.75rem}.heading,.heading-xs{color:var(--color-on-base);font-weight:700;text-wrap-style:balance;font-size:var(--heading-size);line-height:1.15}.heading{--heading-size:1rem}
1
+ /*! frutjam v2.2.6 (c) 2026 Nezanuha | Released under the MIT License | https://frutjam.com */
2
+ /*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */.heading-2xl{--heading-size:1rem;--heading-size:1.5rem}.heading-2xl,.heading-3xl{color:var(--color-on-base);font-weight:700;text-wrap-style:balance;font-size:var(--heading-size);line-height:1.15}.heading-3xl{--heading-size:1rem;--heading-size:1.875rem}.heading-4xl{--heading-size:1rem;--heading-size:2.25rem}.heading-4xl,.heading-5xl{color:var(--color-on-base);font-weight:700;text-wrap-style:balance;font-size:var(--heading-size);line-height:1.15}.heading-5xl{--heading-size:1rem;--heading-size:3rem}.heading-6xl{--heading-size:1rem;--heading-size:3.75rem}.heading-6xl,.heading-7xl{color:var(--color-on-base);font-weight:700;text-wrap-style:balance;font-size:var(--heading-size);line-height:1.15}.heading-7xl{--heading-size:1rem;--heading-size:4.5rem}.heading-8xl{--heading-size:1rem;--heading-size:6rem}.heading-8xl,.heading-9xl{color:var(--color-on-base);font-weight:700;text-wrap-style:balance;font-size:var(--heading-size);line-height:1.15}.heading-9xl{--heading-size:1rem;--heading-size:8rem}.heading-lg{--heading-size:1rem;--heading-size:1.125rem}.heading-lg,.heading-md{color:var(--color-on-base);font-weight:700;text-wrap-style:balance;font-size:var(--heading-size);line-height:1.15}.heading-md,.heading-sm{--heading-size:1rem}.heading-sm{--heading-size:0.875rem}.heading-sm,.heading-xl{color:var(--color-on-base);font-weight:700;text-wrap-style:balance;font-size:var(--heading-size);line-height:1.15}.heading-xl{--heading-size:1rem;--heading-size:1.25rem}.heading-xs{--heading-size:1rem;--heading-size:0.75rem}.heading,.heading-xs{color:var(--color-on-base);font-weight:700;text-wrap-style:balance;font-size:var(--heading-size);line-height:1.15}.heading{--heading-size:1rem}
@@ -1,2 +1,2 @@
1
- /*! frutjam v2.2.4 (c) 2026 Nezanuha | Released under the MIT License | https://frutjam.com */
2
- /*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */.para-2xl{font-size:var(--text-base);font-size:var(--text-2xl)}.para-2xl,.para-3xl{text-wrap-style:pretty;line-height:1.6}.para-3xl{font-size:var(--text-base);font-size:var(--text-3xl)}.para-4xl{font-size:var(--text-base);font-size:var(--text-4xl)}.para-4xl,.para-5xl{text-wrap-style:pretty;line-height:1.6}.para-5xl{font-size:var(--text-base);font-size:var(--text-5xl)}.para-6xl{font-size:var(--text-base);font-size:var(--text-6xl)}.para-6xl,.para-7xl{text-wrap-style:pretty;line-height:1.6}.para-7xl{font-size:var(--text-base);font-size:var(--text-7xl)}.para-8xl{font-size:var(--text-base);font-size:var(--text-8xl)}.para-8xl,.para-9xl{text-wrap-style:pretty;line-height:1.6}.para-9xl{font-size:var(--text-base);font-size:var(--text-9xl)}.para-lg{font-size:var(--text-base);font-size:var(--text-lg)}.para-lg,.para-md{text-wrap-style:pretty;line-height:1.6}.para-md{font-size:var(--text-base)}.para-sm{font-size:var(--text-base);font-size:var(--text-sm)}.para-sm,.para-xl{text-wrap-style:pretty;line-height:1.6}.para-xl{font-size:var(--text-base);font-size:var(--text-xl)}.para-xs{font-size:var(--text-base);font-size:var(--text-xs)}.para,.para-xs{text-wrap-style:pretty;line-height:1.6}.para{font-size:var(--text-base)}
1
+ /*! frutjam v2.2.6 (c) 2026 Nezanuha | Released under the MIT License | https://frutjam.com */
2
+ /*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */.para-2xl{font-size:var(--text-base);font-size:var(--text-2xl)}.para-2xl,.para-3xl{text-wrap-style:pretty;line-height:1.6}.para-3xl{font-size:var(--text-base);font-size:var(--text-3xl)}.para-4xl{font-size:var(--text-base);font-size:var(--text-4xl)}.para-4xl,.para-5xl{text-wrap-style:pretty;line-height:1.6}.para-5xl{font-size:var(--text-base);font-size:var(--text-5xl)}.para-6xl{font-size:var(--text-base);font-size:var(--text-6xl)}.para-6xl,.para-7xl{text-wrap-style:pretty;line-height:1.6}.para-7xl{font-size:var(--text-base);font-size:var(--text-7xl)}.para-8xl{font-size:var(--text-base);font-size:var(--text-8xl)}.para-8xl,.para-9xl{text-wrap-style:pretty;line-height:1.6}.para-9xl{font-size:var(--text-base);font-size:var(--text-9xl)}.para-lg{font-size:var(--text-base);font-size:var(--text-lg)}.para-lg,.para-md{text-wrap-style:pretty;line-height:1.6}.para-md,.para-sm{font-size:var(--text-base)}.para-sm{font-size:var(--text-sm)}.para-sm,.para-xl{text-wrap-style:pretty;line-height:1.6}.para-xl{font-size:var(--text-base);font-size:var(--text-xl)}.para-xs{font-size:var(--text-base);font-size:var(--text-xs)}.para,.para-xs{text-wrap-style:pretty;line-height:1.6}.para{font-size:var(--text-base)}
@@ -1,2 +1,2 @@
1
- /*! frutjam v2.2.4 (c) 2026 Nezanuha | Released under the MIT License | https://frutjam.com */
1
+ /*! frutjam v2.2.6 (c) 2026 Nezanuha | Released under the MIT License | https://frutjam.com */
2
2
  .prose-frutjam{--tw-prose-body:var(--color-body);--tw-prose-headings:var(--color-on-base);--tw-prose-lead:var(--color-on-neutral);--tw-prose-bold:var(--color-on-base);--tw-prose-links:var(--color-primary);--tw-prose-counters:var(--color-neutral);--tw-prose-bullets:var(--color-neutral);--tw-prose-hr:var(--color-base-soft);--tw-prose-quotes:var(--color-on-base);--tw-prose-quote-borders:var(--color-primary);--tw-prose-code:var(--color-on-base);--tw-prose-pre-code:var(--color-on-base);--tw-prose-pre-bg:var(--color-base-soft);--tw-prose-th-borders:var(--color-base-soft);--tw-prose-td-borders:var(--color-base-soft);--tw-prose-captions:var(--color-on-neutral);--tw-prose-kbd:var(--color-body);--tw-prose-invert-body:var(--color-on-neutral);--tw-prose-invert-headings:var(--color-on-base);--tw-prose-invert-links:var(--color-primary)}
@@ -1,2 +1,2 @@
1
- /*! frutjam v2.2.4 (c) 2026 Nezanuha | Released under the MIT License | https://frutjam.com */
1
+ /*! frutjam v2.2.6 (c) 2026 Nezanuha | Released under the MIT License | https://frutjam.com */
2
2
  /*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */.wrapper-full{width:100%;max-width:100%;box-sizing:border-box;margin-inline:auto;padding-inline:1rem;@media (width >= 40rem){padding-inline:2rem}@media (width >= 64rem){padding-inline:4rem}}.wrapper-2xl{box-sizing:border-box;max-width:1536px;margin-inline:auto;padding-inline:1rem;@media (width >= 40rem){padding-inline:2rem}@media (width >= 64rem){padding-inline:4rem}}.wrapper-lg{box-sizing:border-box;max-width:1024px;margin-inline:auto;padding-inline:1rem;@media (width >= 40rem){padding-inline:2rem}@media (width >= 64rem){padding-inline:4rem}}.wrapper-md{box-sizing:border-box;max-width:768px;margin-inline:auto;padding-inline:1rem;@media (width >= 40rem){padding-inline:2rem}@media (width >= 64rem){padding-inline:4rem}}.wrapper-sm{box-sizing:border-box;max-width:640px;margin-inline:auto;padding-inline:1rem;@media (width >= 40rem){padding-inline:2rem}@media (width >= 64rem){padding-inline:4rem}}.wrapper-xl{box-sizing:border-box;max-width:1280px;margin-inline:auto;padding-inline:1rem;@media (width >= 40rem){padding-inline:2rem}@media (width >= 64rem){padding-inline:4rem}}.wrapper-xs{box-sizing:border-box;max-width:320px;margin-inline:auto;padding-inline:1rem;@media (width >= 40rem){padding-inline:2rem}@media (width >= 64rem){padding-inline:4rem}}.wrapper{box-sizing:border-box;margin-inline:auto;padding-inline:1rem;@media (width >= 40rem){padding-inline:2rem}@media (width >= 64rem){padding-inline:4rem}}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "frutjam",
3
- "version": "2.2.4",
3
+ "version": "2.2.6",
4
4
  "description": "CSS-only Tailwind CSS v4 component library. 65+ accessible UI components, zero JavaScript, WCAG AA guaranteed. Free MCP server for AI editors included.",
5
5
  "type": "module",
6
6
  "exports": {
@@ -94,9 +94,9 @@
94
94
  },
95
95
  "devDependencies": {
96
96
  "@tailwindcss/postcss": "^4.3.3",
97
- "autoprefixer": "^10.5.4",
98
- "cssnano": "^8.0.2",
99
- "postcss": "^8.5.19",
97
+ "autoprefixer": "^10.6.1",
98
+ "cssnano": "^9.0.4",
99
+ "postcss": "^8.5.28",
100
100
  "postcss-js": "^5.1.0",
101
101
  "rimraf": "^6.1.3",
102
102
  "tailwindcss": "^4.3.3"
@@ -6,7 +6,7 @@ export function createCombobox(el) {
6
6
 
7
7
  const uid = ++_comboboxIdCounter
8
8
  const listbox = el.querySelector('[role="listbox"]') ?? el.querySelector('.combobox-dropdown') ?? (() => {
9
- const found = el.querySelector('.combobox-option, [role="option"]')
9
+ const found = el.querySelector('.combobox-item, [role="option"]')
10
10
  return found ? found.parentElement : null
11
11
  })()
12
12
 
@@ -18,7 +18,7 @@ export function createCombobox(el) {
18
18
  if (!input.getAttribute('aria-autocomplete')) input.setAttribute('aria-autocomplete', 'list')
19
19
  }
20
20
 
21
- const allOptions = () => Array.from(el.querySelectorAll('[role="option"], .combobox-option'))
21
+ const allOptions = () => Array.from(el.querySelectorAll('[role="option"], .combobox-item'))
22
22
  const visibleOptions = () => allOptions().filter((o) => !o.hidden)
23
23
 
24
24
  function open() {
@@ -46,11 +46,11 @@ export function createCombobox(el) {
46
46
  function highlight(index) {
47
47
  const opts = visibleOptions()
48
48
  opts.forEach((o, i) => {
49
- o.classList.remove('combobox-option-active')
49
+ o.classList.remove('combobox-item-active')
50
50
  if (!o.id) o.id = `fj-combobox-option-${uid}-${i}`
51
51
  })
52
52
  if (index >= 0 && opts[index]) {
53
- opts[index].classList.add('combobox-option-active')
53
+ opts[index].classList.add('combobox-item-active')
54
54
  opts[index].scrollIntoView({ block: 'nearest' })
55
55
  input?.setAttribute('aria-activedescendant', opts[index].id)
56
56
  } else {
@@ -88,7 +88,7 @@ export function createCombobox(el) {
88
88
  })
89
89
 
90
90
  el.addEventListener('click', (e) => {
91
- const opt = e.target.closest('[role="option"], .combobox-option')
91
+ const opt = e.target.closest('[role="option"], .combobox-item')
92
92
  if (opt) { select(opt); return }
93
93
  if (e.target === input) open()
94
94
  })