@vanelsas/baredom 2.9.0 → 3.1.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 (128) hide show
  1. package/CHANGELOG.md +35 -0
  2. package/README.md +1 -1
  3. package/custom-elements.json +3393 -2954
  4. package/dist/baredom.d.ts +106 -86
  5. package/dist/base.js +550 -455
  6. package/dist/integrity.json +103 -102
  7. package/dist/x-alert.js +16 -17
  8. package/dist/x-avatar-group.js +9 -9
  9. package/dist/x-avatar.js +14 -15
  10. package/dist/x-badge.js +9 -9
  11. package/dist/x-bento-grid.js +5 -5
  12. package/dist/x-bento-item.js +4 -4
  13. package/dist/x-breadcrumbs.js +14 -13
  14. package/dist/x-button.js +1 -17
  15. package/dist/x-cancel-dialogue.js +14 -13
  16. package/dist/x-card.d.ts +1 -1
  17. package/dist/x-card.js +7 -7
  18. package/dist/x-carousel.d.ts +3 -0
  19. package/dist/x-carousel.js +35 -33
  20. package/dist/x-chart.js +47 -47
  21. package/dist/x-checkbox.js +1 -11
  22. package/dist/x-chip.js +1 -1
  23. package/dist/x-collapse.d.ts +1 -0
  24. package/dist/x-collapse.js +11 -10
  25. package/dist/x-color-picker.js +46 -45
  26. package/dist/x-combobox.d.ts +2 -0
  27. package/dist/x-combobox.js +30 -26
  28. package/dist/x-command-palette.d.ts +3 -0
  29. package/dist/x-command-palette.js +28 -26
  30. package/dist/x-confetti.js +24 -22
  31. package/dist/x-container.js +5 -5
  32. package/dist/x-context-menu.d.ts +4 -0
  33. package/dist/x-context-menu.js +21 -20
  34. package/dist/x-copy.js +20 -20
  35. package/dist/x-currency-field.d.ts +2 -0
  36. package/dist/x-currency-field.js +24 -23
  37. package/dist/x-date-picker.d.ts +3 -0
  38. package/dist/x-date-picker.js +42 -42
  39. package/dist/x-divider.js +10 -9
  40. package/dist/x-drawer.js +11 -10
  41. package/dist/x-dropdown.d.ts +3 -0
  42. package/dist/x-dropdown.js +12 -11
  43. package/dist/x-fieldset.js +6 -5
  44. package/dist/x-file-download.js +7 -7
  45. package/dist/x-file-upload.d.ts +2 -0
  46. package/dist/x-file-upload.js +23 -22
  47. package/dist/x-form-field.js +15 -15
  48. package/dist/x-form.d.ts +4 -0
  49. package/dist/x-form.js +10 -9
  50. package/dist/x-gaussian-blur.js +13 -12
  51. package/dist/x-grid.js +6 -6
  52. package/dist/x-i18n-provider.js +7 -7
  53. package/dist/x-i18n.js +4 -4
  54. package/dist/x-icon.js +7 -7
  55. package/dist/x-image.js +17 -18
  56. package/dist/x-kbd.js +16 -16
  57. package/dist/x-kinetic-canvas.js +26 -25
  58. package/dist/x-kinetic-font.js +27 -27
  59. package/dist/x-kinetic-typography.js +35 -33
  60. package/dist/x-liquid-dock.js +34 -38
  61. package/dist/x-liquid-fill.js +42 -45
  62. package/dist/x-liquid-glass.js +41 -47
  63. package/dist/x-menu-item.js +8 -8
  64. package/dist/x-menu.js +10 -10
  65. package/dist/x-metaball-cursor.js +23 -26
  66. package/dist/x-modal.js +12 -11
  67. package/dist/x-morph-stack.d.ts +4 -0
  68. package/dist/x-morph-stack.js +37 -38
  69. package/dist/x-multi-combobox.js +36 -36
  70. package/dist/x-navbar.js +15 -12
  71. package/dist/x-neural-glow.js +30 -33
  72. package/dist/x-notification-center.d.ts +2 -0
  73. package/dist/x-notification-center.js +9 -9
  74. package/dist/x-organic-divider.js +18 -17
  75. package/dist/x-organic-progress.js +35 -37
  76. package/dist/x-organic-shape.js +14 -13
  77. package/dist/x-otp-input.js +22 -22
  78. package/dist/x-pagination.js +14 -15
  79. package/dist/x-particle-button.js +51 -51
  80. package/dist/x-popover.d.ts +3 -0
  81. package/dist/x-popover.js +27 -26
  82. package/dist/x-progress-circle.d.ts +3 -0
  83. package/dist/x-progress-circle.js +9 -9
  84. package/dist/x-progress.js +8 -10
  85. package/dist/x-proximity-list.js +20 -19
  86. package/dist/x-radio.js +11 -11
  87. package/dist/x-ripple-effect.js +10 -11
  88. package/dist/x-scroll-parallax.js +17 -18
  89. package/dist/x-scroll-stack.js +16 -17
  90. package/dist/x-scroll-story.js +33 -34
  91. package/dist/x-scroll-timeline.js +46 -45
  92. package/dist/x-scroll.d.ts +3 -0
  93. package/dist/x-scroll.js +38 -40
  94. package/dist/x-search-field.d.ts +2 -0
  95. package/dist/x-search-field.js +1 -15
  96. package/dist/x-select.js +1 -11
  97. package/dist/x-sidebar.js +18 -17
  98. package/dist/x-skeleton-group.js +12 -12
  99. package/dist/x-skeleton.js +1 -1
  100. package/dist/x-slider.js +16 -15
  101. package/dist/x-soft-body.js +20 -22
  102. package/dist/x-spacer.js +4 -4
  103. package/dist/x-spinner.js +4 -4
  104. package/dist/x-splash.js +12 -13
  105. package/dist/x-spotlight-card.js +12 -12
  106. package/dist/x-stat.js +10 -10
  107. package/dist/x-stepper.js +13 -14
  108. package/dist/x-switch.js +11 -10
  109. package/dist/x-tab.js +6 -6
  110. package/dist/x-table-cell.js +21 -20
  111. package/dist/x-table-row.js +8 -8
  112. package/dist/x-table.d.ts +32 -32
  113. package/dist/x-table.js +13 -12
  114. package/dist/x-tabs.js +11 -11
  115. package/dist/x-text-area.js +19 -19
  116. package/dist/x-theme.js +25 -25
  117. package/dist/x-timeline-item.js +20 -21
  118. package/dist/x-timeline.js +8 -8
  119. package/dist/x-toast.d.ts +1 -0
  120. package/dist/x-toast.js +22 -23
  121. package/dist/x-toaster.js +7 -8
  122. package/dist/x-tooltip.d.ts +2 -0
  123. package/dist/x-tooltip.js +12 -12
  124. package/dist/x-trace-history.d.ts +242 -0
  125. package/dist/x-trace-history.js +121 -0
  126. package/dist/x-typography.js +9 -9
  127. package/dist/x-welcome-tour.js +63 -60
  128. package/package.json +9 -2
package/CHANGELOG.md CHANGED
@@ -2,6 +2,41 @@
2
2
 
3
3
  All notable changes to BareDOM will be documented in this file.
4
4
 
5
+ ## [3.1.0] - 2026-05-16
6
+
7
+ A full-library audit cycle against the `x-icon` golden sample (PRs #222–#231). All 99 components now conform to the Hickey-level architecture standard documented in `CLAUDE.md`. No public API or behavioural changes.
8
+
9
+ ### Changed
10
+
11
+ - **`x-trace-history` recorder noise reduction** — rAF hot paths in x-kinetic-canvas, x-ripple-effect, x-scroll-parallax, x-scroll-stack, and x-particle-button now consistently route per-frame writes (`k-raf`, `k-last-frame`, `k-time` animation bookkeeping; per-frame attribute updates inside `animate!` loops) through `du/setv-untraced!` / `du/set-attr-untraced!`. The recorder no longer drowns in 60×/sec writes that carry no diagnostic value.
12
+ - **`property-api` metadata consistency** — `:reflects-attribute` entries added across x-progress-circle, x-stepper, x-splash, x-table-cell, x-table-row, x-theme, x-timeline, x-timeline-item, and x-toaster. The React and Angular code generators (`generate_react.bb` / `generate_angular.bb`) and `metadata.bb` now see a complete property-to-attribute contract for every component.
13
+ - **Render-pipeline decomposition** — oversized `apply-model!` / `init-dom!` / `make-shadow!` / `create-shadow!` / `start-transition!` / `build-refs!` functions split into named phase helpers across 10 components (x-button, x-dropdown, x-navbar, x-toast, x-select, x-kinetic-font, x-kinetic-typography, x-morph-stack, x-avatar-group, x-combobox).
14
+ - **`du`-discipline sweep** — cleared 41 `gobj/get|set` calls on host elements in x-sidebar plus stray hits in x-radio. Broadened `scripts/check_du_discipline.bb` twice (to catch the `instance` host-variable name and the multi-line `(defn- make-el [tag] …)` shim) so the patterns can't regress in CI.
15
+ - **Pipeline canonicalisation** — x-select moved its change-guard into `update-from-attrs!` and adopted the canonical `[el m]` `apply-model!` signature. x-card's `event-schema` switched to the canonical `{event-symbol {:detail {…}}}` shape. x-radio decomposed `try-select!` into named phase helpers.
16
+
17
+ ### Fixed
18
+
19
+ - **x-progress-circle** — `variant`, `size`, and `label` are now exposed as JS properties. They were observed attributes without corresponding property installations, so `el.variant = "primary"` was a silent no-op.
20
+ - **x-collapse** — `read-model` now routes through `model/normalize`. It was reconstructing the view-model inline and duplicating the duration-ms parsing/clamping logic the model layer already provides.
21
+ - **x-date-picker** — Removed a forbidden multi-line `(defn- make-el [tag] …)` shim that the CI regex was missing; 13 call sites inlined to `.createElement js/document` directly.
22
+
23
+ ## [3.0.0] - 2026-05-12
24
+
25
+ ### Added
26
+
27
+ - **x-trace-history** — A time-travel debugger for BareDOM components. Records every CustomEvent, attribute mutation, instance-field write, and lifecycle callback as plain JS records with a stable schema. Floating dock with cross-instance lanes, scrubber, synchronous cause→effect causality DAG view, heatmap density rendering for animation-heavy lanes, full-text search across recorded values, bounded recording sessions, and JSON export/import. Ships as a separate ESM module (`@vanelsas/baredom/x-trace-history`) activated by `?baredom-trace-history` URL param or `window.BAREDOM_TRACE_HISTORY = true` — zero overhead when off. TypeScript declarations (`TraceRecord` discriminated union + `window.BareDOM.traceHistory` console API) included. See [`docs/x-trace-history.md`](docs/x-trace-history.md) and [`docs/x-trace-history-schema.md`](docs/x-trace-history-schema.md).
28
+ - **Standalone trace viewer** — `public/viewer.html` deployed alongside the demo site for sharing recorded traces. Drag-drop a `.trace.json` file or pass `?trace=<base64>` to load a trace into the dock.
29
+ - **Adapter integration tests** — React (`adapters/react/test-app/`) and Angular (`adapters/angular/test-app/`) test-apps now exercise the trace-history dock end-to-end, with dev-tool guidance added to each adapter's README and main doc.
30
+ - **Dispatch + lifecycle hook points** — `baredom.utils.dom` and `baredom.utils.component` expose `*trace-hook*` / `*lifecycle-hook*` extension atoms gating instrumentation of every CustomEvent dispatch, attribute mutation, instance-field write, and lifecycle callback. One nil-check cost when no recorder is installed.
31
+
32
+ ### Fixed
33
+
34
+ - **x-select** — Slotted `<option selected>` default no longer gets stomped on render when the host has no `value` attribute. An explicit `value` attribute still overrides the slotted default.
35
+
36
+ ### Changed
37
+
38
+ - **Tooling** — Sibling demo build outputs (`bare-demo/public/js/`, `bare-html/js/`, etc.), the Angular CLI cache, and the clj-kondo cache are now correctly gitignored. Adapter test-app `package-lock.json` files are tracked for reproducible smoke-test installs.
39
+
5
40
  ## [2.9.0] - 2026-05-09
6
41
 
7
42
  ### Added
package/README.md CHANGED
@@ -244,7 +244,7 @@ BareDOM components are native HTML elements. Import, register, and use them in a
244
244
 
245
245
  ## Design Principles
246
246
 
247
- **Stateless.** No `atom`, no signal, no reactive state container lives inside a component. Every render is a pure function of the current attributes and properties. Debugging a component means inspecting attributes in DevTools — no hidden state to hunt for.
247
+ **Stateless.** No `atom`, no signal, no reactive state container lives inside a component. Every render is a pure function of the current attributes and properties. Debugging a component means inspecting attributes in DevTools — no hidden state to hunt for. For deeper investigations, the optional [`x-trace-history`](./docs/x-trace-history.md) dev tool ships as a separate ESM module and records every dispatch, attribute change, and lifecycle callback as a navigable timeline with cause→effect chains. Load it with `<script type="module" src="…/x-trace-history.js">` and activate via `?baredom-trace-history`; zero cost when the flag is absent.
248
248
 
249
249
  **Standards-only.** BareDOM relies on Custom Elements v1, Shadow DOM v1, and ES modules — all natively supported in modern browsers. There are no polyfills required and no proprietary APIs to learn.
250
250