@vanelsas/baredom 3.6.0 → 3.7.1

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 (118) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/README.md +9 -2
  3. package/custom-elements.json +4136 -3936
  4. package/dist/baredom.d.ts +95 -93
  5. package/dist/base.js +603 -584
  6. package/dist/integrity.json +111 -109
  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 +39 -39
  16. package/dist/x-cancel-dialogue.js +13 -13
  17. package/dist/x-card.js +7 -7
  18. package/dist/x-carousel.js +33 -33
  19. package/dist/x-chart.js +45 -45
  20. package/dist/x-checkbox.js +1 -1
  21. package/dist/x-chip.js +1 -1
  22. package/dist/x-code.js +27 -27
  23. package/dist/x-collapse.js +9 -9
  24. package/dist/x-color-picker.js +44 -44
  25. package/dist/x-combobox.js +33 -33
  26. package/dist/x-command-palette.js +28 -28
  27. package/dist/x-confetti.js +23 -23
  28. package/dist/x-container.js +5 -5
  29. package/dist/x-context-menu.js +19 -19
  30. package/dist/x-copy.js +1 -1
  31. package/dist/x-currency-field.js +22 -22
  32. package/dist/x-date-picker.js +42 -42
  33. package/dist/x-divider.js +9 -10
  34. package/dist/x-drag-panel.d.ts +45 -0
  35. package/dist/x-drag-panel.js +36 -0
  36. package/dist/x-drawer.js +11 -11
  37. package/dist/x-drop-zone.d.ts +49 -0
  38. package/dist/x-drop-zone.js +12 -0
  39. package/dist/x-dropdown.js +12 -12
  40. package/dist/x-fieldset.js +5 -5
  41. package/dist/x-file-download.js +6 -6
  42. package/dist/x-file-upload.js +25 -25
  43. package/dist/x-floating-panel.js +23 -24
  44. package/dist/x-form-field.js +15 -15
  45. package/dist/x-form.js +10 -10
  46. package/dist/x-gaussian-blur.js +13 -13
  47. package/dist/x-grid.js +6 -6
  48. package/dist/x-i18n-provider.js +7 -7
  49. package/dist/x-i18n.js +4 -4
  50. package/dist/x-icon.js +7 -7
  51. package/dist/x-image.js +17 -17
  52. package/dist/x-kbd.js +11 -11
  53. package/dist/x-kinetic-canvas.js +24 -24
  54. package/dist/x-kinetic-font.js +25 -25
  55. package/dist/x-kinetic-typography.js +32 -32
  56. package/dist/x-liquid-dock.js +31 -31
  57. package/dist/x-liquid-fill.js +41 -41
  58. package/dist/x-liquid-glass.js +35 -35
  59. package/dist/x-menu-item.js +8 -8
  60. package/dist/x-menu.js +9 -9
  61. package/dist/x-metaball-cursor.js +23 -23
  62. package/dist/x-modal.js +12 -12
  63. package/dist/x-morph-stack.js +37 -37
  64. package/dist/x-multi-combobox.js +39 -39
  65. package/dist/x-navbar.js +14 -14
  66. package/dist/x-neural-glow.js +29 -29
  67. package/dist/x-notification-center.js +9 -9
  68. package/dist/x-organic-divider.js +17 -17
  69. package/dist/x-organic-progress.js +34 -34
  70. package/dist/x-organic-shape.js +14 -14
  71. package/dist/x-otp-input.js +21 -21
  72. package/dist/x-pagination.js +14 -14
  73. package/dist/x-particle-button.js +44 -44
  74. package/dist/x-popover.js +26 -26
  75. package/dist/x-progress-circle.js +8 -8
  76. package/dist/x-progress.js +7 -7
  77. package/dist/x-proximity-list.js +20 -20
  78. package/dist/x-radio.js +12 -12
  79. package/dist/x-range-slider.js +28 -28
  80. package/dist/x-rating.js +24 -24
  81. package/dist/x-ripple-effect.js +9 -9
  82. package/dist/x-scroll-parallax.js +17 -17
  83. package/dist/x-scroll-stack.js +16 -16
  84. package/dist/x-scroll-story.js +31 -31
  85. package/dist/x-scroll-timeline.js +46 -46
  86. package/dist/x-scroll.js +36 -36
  87. package/dist/x-search-field.js +1 -1
  88. package/dist/x-select.js +1 -1
  89. package/dist/x-sidebar.js +15 -15
  90. package/dist/x-skeleton-group.js +12 -12
  91. package/dist/x-skeleton.js +1 -1
  92. package/dist/x-slider.js +16 -16
  93. package/dist/x-soft-body.js +17 -17
  94. package/dist/x-spacer.js +4 -4
  95. package/dist/x-spinner.js +4 -4
  96. package/dist/x-splash.js +12 -12
  97. package/dist/x-split-pane.js +14 -14
  98. package/dist/x-spotlight-card.js +11 -11
  99. package/dist/x-stat.js +10 -10
  100. package/dist/x-stepper.js +13 -13
  101. package/dist/x-switch.js +11 -11
  102. package/dist/x-tab.js +6 -6
  103. package/dist/x-table-cell.js +19 -19
  104. package/dist/x-table-row.js +8 -8
  105. package/dist/x-table.d.ts +32 -32
  106. package/dist/x-table.js +13 -13
  107. package/dist/x-tabs.js +11 -11
  108. package/dist/x-text-area.js +19 -19
  109. package/dist/x-theme.js +25 -25
  110. package/dist/x-timeline-item.js +20 -20
  111. package/dist/x-timeline.js +8 -8
  112. package/dist/x-toast.js +21 -21
  113. package/dist/x-toaster.js +7 -7
  114. package/dist/x-tooltip.js +12 -12
  115. package/dist/x-trace-history.js +125 -124
  116. package/dist/x-typography.js +6 -6
  117. package/dist/x-welcome-tour.js +63 -63
  118. package/package.json +11 -1
package/CHANGELOG.md CHANGED
@@ -2,6 +2,38 @@
2
2
 
3
3
  All notable changes to BareDOM will be documented in this file.
4
4
 
5
+ ## [3.7.1] - 2026-08-12
6
+
7
+ ### Fixed
8
+
9
+ - **`x-drop-zone`** no longer animates a panel in from the top-left corner. `animate-moves` measured panels with `getBoundingClientRect`, which returns `(0,0)` inside a `display: none` subtree, so a panel captured while hidden flew in from the viewport origin once shown. The FLIP decision is now a pure `flip-delta` that returns nil when either box was measured with zero size, and nil when the panel did not move.
10
+
11
+ ## [3.7.0] - 2026-07-30
12
+
13
+ Two new components that work as a pair: a panel the user can pick up and a region that accepts it. Together they cover kanban boards, sortable lists, and any interface where something is moved from one place to another.
14
+
15
+ ### Added
16
+
17
+ - **`x-drag-panel`** — a surface the user picks up with a pointer or the keyboard, with a grip handle over a body slot. Built on pointer events rather than the HTML5 drag-and-drop API, which never fires from touch input on iOS or Android, so it works from 320px up. `grab` chooses whether the whole card is a drag target or only the handle bar; in surface mode a touch drag arms after a short press and cancels if the finger travels first, so swiping over a card still scrolls the board. Dragging toward the edge of a scrollable ancestor auto-scrolls it, resolving the vertical and horizontal scrollers independently so a board that scrolls sideways with columns that scroll down works in both axes at once. Emits `x-drag-panel-drag-start` and `x-drag-panel-drag-cancel`.
18
+
19
+ - **`x-drop-zone`** — a region that senses panels passing over it, renders an insertion caret where one would land, and reports the drop. Acceptance is declarative: `accepts` matches the panel's `kind` and `max` caps capacity, so a full or incompatible zone shows a reject cue during the hover rather than silently ignoring the drop. `animate-moves` animates children into place whenever the child list changes, which covers drop confirmations, another client's change arriving over a websocket, and filter toggles with one mechanism. Emits `x-drop-zone-enter`, `x-drop-zone-leave`, and `x-drop-zone-drop`.
20
+
21
+ ### Notes
22
+
23
+ - **Neither component moves a node.** A drop is a request, not a fact — an app may validate it locally and refuse, queue it offline, or send it to a server that reorders differently. The components sense and report; the application owns the landing. `x-drop-zone-drop` carries `{ kind, value, from, to, index, panel }`, where `value` identifies the panel and `from` / `to` are the two zones' `value`s, so a server-backed handler works entirely in opaque strings and never holds an element across a round trip. `from` is `null` when the panel came from outside any zone, distinct from `""` for a zone with no `value`, and is typed `string | null` so the check is not optional.
24
+
25
+ - **For moves that need confirming**, `zone.reserve(panel, index)` marks the in-flight window and `zone.release()` clears it. The panel renders an empty dashed footprint that keeps its box and the zone renders a reserved caret, so nothing in the layout moves until the answer arrives — every real reflow happens once, when the truth does. Nothing times out: a stalled move stays visible and keyboard-reachable rather than becoming a lost card. The underlying `pending` and `pending-index` attributes remain author-settable for apps that prefer to drive them directly.
26
+
27
+ ### Accessibility
28
+
29
+ - The full interaction is keyboard-operable, which WCAG 2.2 SC 2.5.7 (Dragging Movements) requires of any drag: <kbd>Space</kbd> picks a panel up from its handle, arrows cycle the accepting zones in document order and scroll each into view, <kbd>Enter</kbd> drops, <kbd>Esc</kbd> cancels. Pointer and keyboard produce the same `x-drop-zone-drop` detail, so a consumer handles one path rather than two.
30
+
31
+ - Focus moves to the destination zone on commit rather than riding the panel, because a confirmation re-render will often replace the panel element and focus would fall to `<body>`. Each component narrates the events it owns into a visually hidden live region; the panel's is created lazily at pickup so a fifty-card board carries no idle `aria-live` nodes. Whether a move succeeded is read back from the DOM rather than assumed, so a server that refused is announced honestly.
32
+
33
+ - Auto-scroll is deliberately **not** disabled under `prefers-reduced-motion` — it is function rather than decoration, and a board deeper than the viewport would otherwise be unusable for the people relying on that setting. The lift transition, caret pulse, and `animate-moves` all are.
34
+
35
+ - The framework adapters gain generated `x-drag-panel` and `x-drop-zone` wrappers. They version on their own cadence — see [`docs/RELEASING.md`](docs/RELEASING.md) — so releasing them is a separate step.
36
+
5
37
  ## [3.6.0] - 2026-07-27
6
38
 
7
39
  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.
package/README.md CHANGED
@@ -18,6 +18,13 @@
18
18
 
19
19
  ---
20
20
 
21
+ **Part of a set.** [BareDOM](https://github.com/avanelsas/baredom) is a comprehensive web component
22
+ library. [BareBuild](https://github.com/avanelsas/barebuild) is a small runtime that drives web
23
+ components from server state alone. [BareReplay](https://github.com/avanelsas/barereplay) is a
24
+ powerful time-travel replay debugger for BareBuild-based apps.
25
+
26
+ ---
27
+
21
28
  ## What is BareDOM?
22
29
 
23
30
  BareDOM is a library of UI components built entirely on web standards — Custom Elements v1, Shadow DOM, and ES modules. There is no framework runtime, no virtual DOM, and no JavaScript framework peer dependency. Every component is a native HTML element that you register once and use anywhere.
@@ -103,14 +110,14 @@ All adapters are auto-generated from the same Custom Elements Manifest, so addin
103
110
 
104
111
  ## Components
105
112
 
106
- **104 UI web components across 11 categories** — from foundational UI controls to morphing animations, organic effects, and scroll-driven storytelling.
113
+ **106 UI web components across 11 categories** — from foundational UI controls to morphing animations, organic effects, and scroll-driven storytelling.
107
114
 
108
115
  | Category | Count | Examples |
109
116
  |----------|------:|----------|
110
117
  | **Form** | 23 | Button · Checkbox · Slider · Combobox · OTP Input · Color Picker |
111
118
  | **Feedback** | 11 | Alert · Toast · Spinner · Progress · Skeleton · Notification Center |
112
119
  | **Navigation** | 8 | Navbar · Sidebar · Breadcrumbs · Tabs · Pagination · Menu |
113
- | **Layout** | 10 | Card · Grid · Bento Grid · Split Pane · Container · Collapse |
120
+ | **Layout** | 12 | Card · Grid · Bento Grid · Split Pane · Drag Panel · Drop Zone |
114
121
  | **Data** | 11 | Avatar · Table · Chart · Timeline · Calendar · Stat |
115
122
  | **Overlay** | 10 | Modal · Drawer · Popover · Tooltip · Floating Panel · Command Palette |
116
123
  | **Display** | 6 | Icon · Image · Typography · Code · Kbd · Spotlight Card |