@vanelsas/baredom 3.4.0 → 3.6.0

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 (132) hide show
  1. package/CHANGELOG.md +39 -0
  2. package/README.md +2 -2
  3. package/custom-elements.json +4494 -3575
  4. package/dist/baredom.d.ts +93 -92
  5. package/dist/base.js +486 -480
  6. package/dist/integrity.json +109 -108
  7. package/dist/x-alert.js +17 -17
  8. package/dist/x-avatar-group.js +9 -9
  9. package/dist/x-avatar.js +14 -14
  10. package/dist/x-badge.js +8 -8
  11. package/dist/x-bento-grid.js +5 -5
  12. package/dist/x-bento-item.js +4 -4
  13. package/dist/x-breadcrumbs.js +13 -13
  14. package/dist/x-button.js +1 -1
  15. package/dist/x-calendar.js +34 -34
  16. package/dist/x-cancel-dialogue.js +13 -13
  17. package/dist/x-card.js +7 -7
  18. package/dist/x-carousel.js +32 -32
  19. package/dist/x-chart.js +44 -44
  20. package/dist/x-checkbox.d.ts +11 -4
  21. package/dist/x-checkbox.js +1 -1
  22. package/dist/x-chip.js +1 -1
  23. package/dist/x-code.js +25 -25
  24. package/dist/x-collapse.js +8 -8
  25. package/dist/x-color-picker.d.ts +7 -0
  26. package/dist/x-color-picker.js +44 -44
  27. package/dist/x-combobox.d.ts +12 -5
  28. package/dist/x-combobox.js +31 -30
  29. package/dist/x-command-palette.js +28 -28
  30. package/dist/x-confetti.js +23 -23
  31. package/dist/x-container.js +3 -3
  32. package/dist/x-context-menu.js +20 -20
  33. package/dist/x-copy.js +1 -1
  34. package/dist/x-currency-field.d.ts +5 -0
  35. package/dist/x-currency-field.js +22 -22
  36. package/dist/x-date-picker.d.ts +7 -0
  37. package/dist/x-date-picker.js +40 -39
  38. package/dist/x-divider.js +10 -10
  39. package/dist/x-drawer.js +10 -10
  40. package/dist/x-dropdown.js +12 -12
  41. package/dist/x-fieldset.js +5 -5
  42. package/dist/x-file-download.js +5 -5
  43. package/dist/x-file-upload.d.ts +10 -5
  44. package/dist/x-file-upload.js +19 -16
  45. package/dist/x-floating-panel.d.ts +50 -0
  46. package/dist/x-floating-panel.js +25 -0
  47. package/dist/x-form-field.d.ts +7 -0
  48. package/dist/x-form-field.js +13 -12
  49. package/dist/x-form.js +10 -10
  50. package/dist/x-gaussian-blur.js +12 -12
  51. package/dist/x-grid.js +6 -6
  52. package/dist/x-i18n-provider.js +6 -6
  53. package/dist/x-i18n.js +4 -4
  54. package/dist/x-icon.js +7 -7
  55. package/dist/x-image.js +17 -17
  56. package/dist/x-kbd.js +11 -11
  57. package/dist/x-kinetic-canvas.js +24 -24
  58. package/dist/x-kinetic-font.js +22 -22
  59. package/dist/x-kinetic-typography.js +33 -33
  60. package/dist/x-liquid-dock.js +31 -31
  61. package/dist/x-liquid-fill.js +40 -40
  62. package/dist/x-liquid-glass.js +28 -28
  63. package/dist/x-menu-item.js +6 -6
  64. package/dist/x-menu.js +7 -7
  65. package/dist/x-metaball-cursor.js +21 -21
  66. package/dist/x-modal.js +10 -10
  67. package/dist/x-morph-stack.js +37 -37
  68. package/dist/x-multi-combobox.d.ts +7 -0
  69. package/dist/x-multi-combobox.js +37 -37
  70. package/dist/x-navbar.js +12 -12
  71. package/dist/x-neural-glow.js +23 -23
  72. package/dist/x-notification-center.js +9 -9
  73. package/dist/x-organic-divider.js +15 -15
  74. package/dist/x-organic-progress.js +33 -33
  75. package/dist/x-organic-shape.js +7 -7
  76. package/dist/x-otp-input.d.ts +5 -0
  77. package/dist/x-otp-input.js +21 -21
  78. package/dist/x-pagination.js +11 -11
  79. package/dist/x-particle-button.js +43 -43
  80. package/dist/x-popover.js +25 -25
  81. package/dist/x-progress-circle.js +7 -7
  82. package/dist/x-progress.js +7 -7
  83. package/dist/x-proximity-list.js +20 -20
  84. package/dist/x-radio.d.ts +10 -3
  85. package/dist/x-radio.js +12 -11
  86. package/dist/x-range-slider.d.ts +7 -0
  87. package/dist/x-range-slider.js +28 -28
  88. package/dist/x-rating.d.ts +7 -0
  89. package/dist/x-rating.js +21 -20
  90. package/dist/x-ripple-effect.js +8 -8
  91. package/dist/x-scroll-parallax.js +17 -17
  92. package/dist/x-scroll-stack.js +15 -15
  93. package/dist/x-scroll-story.js +29 -29
  94. package/dist/x-scroll-timeline.js +45 -45
  95. package/dist/x-scroll.js +33 -33
  96. package/dist/x-search-field.d.ts +9 -4
  97. package/dist/x-search-field.js +1 -1
  98. package/dist/x-select.d.ts +9 -2
  99. package/dist/x-select.js +1 -1
  100. package/dist/x-sidebar.js +14 -14
  101. package/dist/x-skeleton-group.js +12 -12
  102. package/dist/x-skeleton.js +1 -1
  103. package/dist/x-slider.d.ts +7 -0
  104. package/dist/x-slider.js +16 -15
  105. package/dist/x-soft-body.js +15 -15
  106. package/dist/x-spacer.js +4 -4
  107. package/dist/x-spinner.js +3 -3
  108. package/dist/x-splash.js +11 -11
  109. package/dist/x-split-pane.js +14 -14
  110. package/dist/x-spotlight-card.js +12 -12
  111. package/dist/x-stat.js +10 -10
  112. package/dist/x-stepper.js +13 -13
  113. package/dist/x-switch.d.ts +10 -3
  114. package/dist/x-switch.js +11 -10
  115. package/dist/x-tab.js +6 -6
  116. package/dist/x-table-cell.js +16 -16
  117. package/dist/x-table-row.js +8 -8
  118. package/dist/x-table.d.ts +32 -32
  119. package/dist/x-table.js +12 -12
  120. package/dist/x-tabs.js +10 -10
  121. package/dist/x-text-area.d.ts +7 -0
  122. package/dist/x-text-area.js +18 -18
  123. package/dist/x-theme.js +23 -23
  124. package/dist/x-timeline-item.js +20 -20
  125. package/dist/x-timeline.js +8 -8
  126. package/dist/x-toast.js +22 -22
  127. package/dist/x-toaster.js +6 -6
  128. package/dist/x-tooltip.js +12 -12
  129. package/dist/x-trace-history.js +103 -103
  130. package/dist/x-typography.js +5 -5
  131. package/dist/x-welcome-tour.js +62 -62
  132. package/package.json +6 -1
package/CHANGELOG.md CHANGED
@@ -2,6 +2,45 @@
2
2
 
3
3
  All notable changes to BareDOM will be documented in this file.
4
4
 
5
+ ## [3.6.0] - 2026-07-27
6
+
7
+ One new component: a floating, draggable container for inspectors, tool palettes, mini-players, and any persistent surface the user should be able to move out of the way.
8
+
9
+ ### Added
10
+
11
+ - **`x-floating-panel`** — a non-modal container that floats above page content at a viewport-fixed position and is repositioned by dragging its handle bar or, when the handle has focus, with the arrow keys. Position lives in the `x` / `y` attributes, so a panel renders where you declared it on first paint with no measure-then-place flash, and clamping keeps the handle reachable whenever the panel opens, connects, moves, or the viewport resizes — a panel parked off-screen is pulled back rather than stranded. Optional `closable` (close button plus `Escape`), `resizable` (native CSS resize grip on the body), `focus-on-open` (off by default, so an ambient panel never steals focus from what the user is typing in), and `step` for arrow-key distance. Emits `x-floating-panel-toggle`, a cancelable `x-floating-panel-dismiss-request`, and `x-floating-panel-move` on drag end and keyboard nudge — never per animation frame.
12
+
13
+ ### Accessibility
14
+
15
+ - The handle bar is keyboard-operable, which WCAG 2.2 SC 2.5.7 (Dragging Movements) requires of any drag interaction. It is focusable and carries `aria-roledescription="Drag handle"` plus `aria-keyshortcuts`, because the handle is moved rather than activated and a bare `role="button"` would promise an activation that never happens. The panel is a non-modal `role="dialog"` with no focus trap, always accessibly named from the `header` slot or the `label` attribute.
16
+
17
+ ### Notes
18
+
19
+ - Interactive content in the `header` slot can opt out of the drag surface with `data-no-drag`; the built-in close button is excluded automatically.
20
+ - The framework adapters gain a generated `x-floating-panel` wrapper. They version on their own cadence — see [`docs/RELEASING.md`](docs/RELEASING.md) — so releasing them is a separate step.
21
+
22
+ ## [3.5.0] - 2026-07-24
23
+
24
+ Form-associated components gain the instance-level validation API they were missing, and two form-control bugs are fixed: emptying an `x-date-picker` input now clears the committed date, and a form reset now clears validation errors.
25
+
26
+ ### Added
27
+
28
+ - **The native validation API on all 17 form-associated components** — read-only `validity`, `validationMessage`, `willValidate`, `form` and `labels`, plus `checkValidity()` and `reportValidity()`. `ElementInternals` never mirrors these onto the host element, so only `x-search-field`, `x-currency-field`, `x-otp-input` and `x-file-upload` exposed any of it (the two methods), and every other control could be validated only by attempting a submit. `x-checkbox`, `x-color-picker`, `x-combobox`, `x-date-picker`, `x-form-field`, `x-multi-combobox`, `x-radio`, `x-range-slider`, `x-rating`, `x-select`, `x-slider`, `x-switch` and `x-text-area` now expose the full surface, and the four above are extended to match.
29
+
30
+ ### Fixed
31
+
32
+ - **`x-date-picker` ignored a cleared input.** Deleting the text and committing it (blur, `Enter`, or `commit()`) left the previous date committed and repainted the old text — there was no way to clear the field from the keyboard. It now clears the value through the same cancelable `x-date-picker-change-request` path a normal commit uses, reports empty strings in the change detail (`{ value: "" }`, or `{ start: "", end: "" }` in range mode), and resets the range step so a half-picked range cannot complete against a start that no longer exists. Committing a blank input when nothing is committed stays a no-op.
33
+ - **`form.reset()` left stale validation errors.** Reset cleared the value but not the `error` attribute, so the inline message, `data-invalid`, `aria-invalid` and the `customError` flag survived it on `x-date-picker`, `x-select`, `x-combobox`, `x-multi-combobox`, `x-form-field` and `x-text-area`. All six now drop the attribute on reset.
34
+
35
+ ### Changed — internal
36
+
37
+ - **`forms/install-validity-api!`** (new, in `baredom.utils.forms`) is the single implementation of the validation surface; the four components that hand-rolled `checkValidity` / `reportValidity` are migrated onto it. The five read-only members are declared in each `property-api` as `:readonly true` — the framework adapters skip them and the generated declarations mark them `readonly` — and the two methods in `method-api`.
38
+ - Twelve validity assertions across five test suites sat behind a `(when (.-validity el) …)` guard that was never true, and an input-commit regression test dispatched an event the component never listens for. All of them now genuinely run, alongside a new cross-component suite covering the surface on all 17 tags.
39
+
40
+ ### Notes
41
+
42
+ - No adapter release accompanies this one: the new members are read-only, so the generated wrappers filter them out and the adapter packages are functionally unchanged.
43
+
5
44
  ## [3.4.0] - 2026-07-22
6
45
 
7
46
  The four popup-selection form controls — `x-select`, `x-date-picker`, `x-combobox`, and `x-multi-combobox` — become **real form controls**: they display inline validation errors and participate in native `<form>` submission and constraint validation via `ElementInternals`. Two internal refactors extract the resulting form-control policy into one shared, unit-tested place.
package/README.md CHANGED
@@ -103,7 +103,7 @@ All adapters are auto-generated from the same Custom Elements Manifest, so addin
103
103
 
104
104
  ## Components
105
105
 
106
- **103 UI web components across 11 categories** — from foundational UI controls to morphing animations, organic effects, and scroll-driven storytelling.
106
+ **104 UI web components across 11 categories** — from foundational UI controls to morphing animations, organic effects, and scroll-driven storytelling.
107
107
 
108
108
  | Category | Count | Examples |
109
109
  |----------|------:|----------|
@@ -112,7 +112,7 @@ All adapters are auto-generated from the same Custom Elements Manifest, so addin
112
112
  | **Navigation** | 8 | Navbar · Sidebar · Breadcrumbs · Tabs · Pagination · Menu |
113
113
  | **Layout** | 10 | Card · Grid · Bento Grid · Split Pane · Container · Collapse |
114
114
  | **Data** | 11 | Avatar · Table · Chart · Timeline · Calendar · Stat |
115
- | **Overlay** | 9 | Modal · Drawer · Popover · Tooltip · Welcome Tour · Command Palette |
115
+ | **Overlay** | 10 | Modal · Drawer · Popover · Tooltip · Floating Panel · Command Palette |
116
116
  | **Display** | 6 | Icon · Image · Typography · Code · Kbd · Spotlight Card |
117
117
  | **Animation** | 6 | Kinetic Canvas · Kinetic Typography · Morph Stack · Soft Body · Splash |
118
118
  | **Effects** | 12 | Liquid Glass · Confetti · Neural Glow · Metaball Cursor · Organic Shape |