@vanelsas/baredom 3.0.0 → 3.2.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 (136) hide show
  1. package/CHANGELOG.md +45 -0
  2. package/custom-elements.json +3673 -2681
  3. package/dist/baredom.d.ts +91 -86
  4. package/dist/base.js +595 -541
  5. package/dist/integrity.json +108 -103
  6. package/dist/x-alert.js +17 -16
  7. package/dist/x-avatar-group.js +9 -9
  8. package/dist/x-avatar.js +14 -14
  9. package/dist/x-badge.js +9 -9
  10. package/dist/x-bento-grid.js +5 -5
  11. package/dist/x-bento-item.js +4 -4
  12. package/dist/x-breadcrumbs.js +14 -13
  13. package/dist/x-button.js +1 -1
  14. package/dist/x-calendar.d.ts +55 -0
  15. package/dist/x-calendar.js +40 -0
  16. package/dist/x-cancel-dialogue.js +14 -13
  17. package/dist/x-card.d.ts +1 -1
  18. package/dist/x-card.js +7 -7
  19. package/dist/x-carousel.d.ts +3 -0
  20. package/dist/x-carousel.js +35 -33
  21. package/dist/x-chart.js +47 -47
  22. package/dist/x-checkbox.js +1 -1
  23. package/dist/x-chip.js +1 -1
  24. package/dist/x-code.d.ts +48 -0
  25. package/dist/x-code.js +28 -0
  26. package/dist/x-collapse.d.ts +1 -0
  27. package/dist/x-collapse.js +11 -10
  28. package/dist/x-color-picker.js +46 -45
  29. package/dist/x-combobox.d.ts +2 -0
  30. package/dist/x-combobox.js +30 -26
  31. package/dist/x-command-palette.d.ts +3 -0
  32. package/dist/x-command-palette.js +28 -26
  33. package/dist/x-confetti.js +24 -24
  34. package/dist/x-container.js +5 -6
  35. package/dist/x-context-menu.d.ts +4 -0
  36. package/dist/x-context-menu.js +20 -20
  37. package/dist/x-copy.js +1 -21
  38. package/dist/x-currency-field.d.ts +2 -0
  39. package/dist/x-currency-field.js +24 -23
  40. package/dist/x-date-picker.d.ts +3 -0
  41. package/dist/x-date-picker.js +39 -42
  42. package/dist/x-divider.js +10 -9
  43. package/dist/x-drawer.js +11 -10
  44. package/dist/x-dropdown.d.ts +3 -0
  45. package/dist/x-dropdown.js +12 -11
  46. package/dist/x-fieldset.js +6 -5
  47. package/dist/x-file-download.js +7 -7
  48. package/dist/x-file-upload.d.ts +2 -0
  49. package/dist/x-file-upload.js +23 -22
  50. package/dist/x-form-field.js +15 -15
  51. package/dist/x-form.d.ts +4 -0
  52. package/dist/x-form.js +10 -9
  53. package/dist/x-gaussian-blur.js +13 -12
  54. package/dist/x-grid.js +6 -7
  55. package/dist/x-i18n-provider.js +7 -7
  56. package/dist/x-i18n.js +4 -4
  57. package/dist/x-icon.js +7 -7
  58. package/dist/x-image.js +17 -17
  59. package/dist/x-kbd.js +16 -16
  60. package/dist/x-kinetic-canvas.js +26 -25
  61. package/dist/x-kinetic-font.js +27 -27
  62. package/dist/x-kinetic-typography.js +35 -33
  63. package/dist/x-liquid-dock.js +34 -38
  64. package/dist/x-liquid-fill.js +42 -45
  65. package/dist/x-liquid-glass.js +41 -47
  66. package/dist/x-menu-item.js +8 -8
  67. package/dist/x-menu.js +10 -11
  68. package/dist/x-metaball-cursor.js +23 -26
  69. package/dist/x-modal.js +12 -11
  70. package/dist/x-morph-stack.d.ts +4 -0
  71. package/dist/x-morph-stack.js +37 -37
  72. package/dist/x-multi-combobox.js +36 -36
  73. package/dist/x-navbar.js +15 -12
  74. package/dist/x-neural-glow.js +30 -33
  75. package/dist/x-notification-center.d.ts +2 -0
  76. package/dist/x-notification-center.js +9 -9
  77. package/dist/x-organic-divider.js +18 -17
  78. package/dist/x-organic-progress.js +35 -37
  79. package/dist/x-organic-shape.js +14 -13
  80. package/dist/x-otp-input.js +22 -22
  81. package/dist/x-pagination.js +14 -15
  82. package/dist/x-particle-button.js +51 -51
  83. package/dist/x-popover.d.ts +3 -0
  84. package/dist/x-popover.js +27 -25
  85. package/dist/x-progress-circle.d.ts +3 -0
  86. package/dist/x-progress-circle.js +9 -9
  87. package/dist/x-progress.js +8 -10
  88. package/dist/x-proximity-list.js +20 -20
  89. package/dist/x-radio.js +11 -11
  90. package/dist/x-range-slider.d.ts +51 -0
  91. package/dist/x-range-slider.js +29 -0
  92. package/dist/x-rating.d.ts +49 -0
  93. package/dist/x-rating.js +24 -0
  94. package/dist/x-ripple-effect.js +10 -11
  95. package/dist/x-scroll-parallax.js +17 -18
  96. package/dist/x-scroll-stack.js +16 -17
  97. package/dist/x-scroll-story.js +33 -34
  98. package/dist/x-scroll-timeline.js +46 -45
  99. package/dist/x-scroll.d.ts +3 -0
  100. package/dist/x-scroll.js +38 -40
  101. package/dist/x-search-field.d.ts +2 -0
  102. package/dist/x-search-field.js +1 -1
  103. package/dist/x-select.js +1 -1
  104. package/dist/x-sidebar.js +18 -17
  105. package/dist/x-skeleton-group.js +12 -12
  106. package/dist/x-skeleton.js +1 -1
  107. package/dist/x-slider.js +16 -15
  108. package/dist/x-soft-body.js +20 -22
  109. package/dist/x-spacer.js +4 -4
  110. package/dist/x-spinner.js +4 -4
  111. package/dist/x-splash.js +12 -13
  112. package/dist/x-split-pane.d.ts +44 -0
  113. package/dist/x-split-pane.js +16 -0
  114. package/dist/x-spotlight-card.js +12 -12
  115. package/dist/x-stat.js +10 -10
  116. package/dist/x-stepper.js +13 -14
  117. package/dist/x-switch.js +11 -10
  118. package/dist/x-tab.js +7 -7
  119. package/dist/x-table-cell.js +21 -20
  120. package/dist/x-table-row.js +8 -8
  121. package/dist/x-table.d.ts +32 -32
  122. package/dist/x-table.js +13 -12
  123. package/dist/x-tabs.js +11 -11
  124. package/dist/x-text-area.js +19 -19
  125. package/dist/x-theme.js +25 -25
  126. package/dist/x-timeline-item.js +20 -20
  127. package/dist/x-timeline.js +8 -8
  128. package/dist/x-toast.d.ts +1 -0
  129. package/dist/x-toast.js +22 -22
  130. package/dist/x-toaster.js +7 -8
  131. package/dist/x-tooltip.d.ts +2 -0
  132. package/dist/x-tooltip.js +12 -12
  133. package/dist/x-trace-history.js +127 -117
  134. package/dist/x-typography.js +9 -9
  135. package/dist/x-welcome-tour.js +63 -61
  136. package/package.json +29 -2
package/CHANGELOG.md CHANGED
@@ -2,6 +2,51 @@
2
2
 
3
3
  All notable changes to BareDOM will be documented in this file.
4
4
 
5
+ ## [3.2.0] - 2026-05-22
6
+
7
+ Five new components, an element-highlight feature for the `x-trace-history` dev tool, two notable bug fixes, and an internal naming-consistency cleanup.
8
+
9
+ ### Added
10
+
11
+ - **x-split-pane** — Resizable two-panel layout. A draggable divider re-proportions a `start` and an `end` panel along a horizontal or vertical axis. The divider position is a percentage held in the `position` attribute — the single source of truth — so layouts are fully serialisable and the component stays stateless. Nest panes for three or more panels.
12
+ - **x-code** — Code-display component. Reads source code from its own light-DOM text content, tokenizes it with a built-in syntax highlighter, and renders a themable code block with optional line numbers, soft-wrapping, a header bar with a copy button, and a collapsible long-snippet mode.
13
+ - **x-calendar** — Standalone, always-visible inline month calendar — a companion to `x-date-picker`. Supports single-date and date-range selection, localized weekday/month names, configurable first-day-of-week, a month/year quick-jump header, and an optional ISO week-number column. Dates are ISO 8601 strings.
14
+ - **x-range-slider** — Dual-handle, form-associated, accessible range slider. Two draggable thumbs select a numeric `[start, end]` sub-range within `[min, max]`.
15
+ - **x-rating** — Discrete, form-associated, accessible star-rating component. A row of star (or heart) icons selects a numeric rating, optionally in half-star increments; `readonly` mode displays an average rating such as `3.5`.
16
+ - **`x-trace-history` element highlight** — Selecting a record in the dock now outlines the live web component that emitted it with a magenta accent overlay. The outline tracks the target through scroll/resize, smoothly scrolls offscreen targets into view (respecting `prefers-reduced-motion`), and clears when selection clears, when the dock unmounts, or when the originating element has been disconnected since the record was emitted. `document`-tag records produce no outline. The highlight machinery emits zero trace records, and the dock remains opt-in via `?baredom-trace-history` — never shipped in production.
17
+
18
+ ### Fixed
19
+
20
+ - **x-card** — Interactive cards declared in HTML with an observed attribute set at upgrade time silently never installed their listeners, so `<x-card interactive>` never responded to clicks. `connected!`'s install guard conflated refs-init with listener-install; the install epoch now lives on its own `k-installed` field, gated independently of refs init.
21
+ - **x-modal** — `x-modal-toggle` was dispatched on every connect because the open-transition epoch started at `nil` and always differed from the initial open state. The toggle decision is now folded into the main render-pipeline epoch and gated on `(some? old-m)`.
22
+
23
+ ### Changed
24
+
25
+ - **Shared date utilities** — Date math extracted into a shared `baredom.utils.dates` namespace, consumed by `x-calendar` and `x-date-picker`.
26
+ - **Internal naming consistency** — The top-level model transformer was renamed from `derive-state` to `normalize` across 23 component model layers and their tests, so every component uses the same name. No behaviour change.
27
+ - **Dead-code removal** — Write-only instance fields (set but never read) removed from x-combobox, x-multi-combobox, x-welcome-tour, x-spotlight-card, x-stat, x-tab, and x-tabs.
28
+ - **`x-trace-history` highlight refactor** — `apply-highlight!` decomposed into a phase-list dispatcher per the `render-orchestrator` pattern; `reposition!` now clears the stale cached component id when the target has been disconnected; the reduced-motion probe caches the live `MediaQueryList` instead of re-invoking `matchMedia` on every show.
29
+ - **Angular adapter** — `@vanelsas/baredom-angular` dev dependencies bumped from Angular 17 to 21; `custom-elements.json` refreshed.
30
+ - **CI** — `check_method_api.bb` taught about the `define-method!` helper introduced by the x-modal refactor, so wrapped method installations are no longer flagged as "declared but not installed".
31
+
32
+ ## [3.1.0] - 2026-05-16
33
+
34
+ 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.
35
+
36
+ ### Changed
37
+
38
+ - **`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.
39
+ - **`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.
40
+ - **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).
41
+ - **`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.
42
+ - **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.
43
+
44
+ ### Fixed
45
+
46
+ - **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.
47
+ - **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.
48
+ - **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.
49
+
5
50
  ## [3.0.0] - 2026-05-12
6
51
 
7
52
  ### Added