Skip to content

Commit c7f08ce

Browse files
avanelsasclaude
andauthored
Release v0.7.0 (#61)
Incorporate BareDOM 3.2.0 and cut release 0.7.0. Five new components onboarded into the palette, inspector metadata, events, and slots: - x-split-pane (resizable two-panel layout container) - x-code (syntax-highlighted code display) - x-calendar (inline month calendar) - x-range-slider (dual-handle range slider) - x-rating (star / heart rating input) BareDOM bumped 3.1.0 -> 3.2.0 in deps.edn and meta/versions.cljs (lockstep). Version bumped 0.6.1 -> 0.7.0; CHANGELOG [Unreleased] block promoted. Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent e21e904 commit c7f08ce

11 files changed

Lines changed: 161 additions & 17 deletions

File tree

CHANGELOG.md

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,31 @@ possible" — I won't promise API stability until `1.0.0` lands.
1010

1111
Nothing yet.
1212

13+
## [0.7.0] — 2026-05-22
14+
15+
### Added
16+
17+
- **Five new BareDOM 3.2.0 components.** `x-split-pane` (resizable
18+
two-panel layout), `x-code` (syntax-highlighted code display),
19+
`x-calendar` (inline month calendar), `x-range-slider` (dual-handle
20+
range slider), and `x-rating` (star / heart rating input) now appear
21+
in the palette with curated inspector metadata — enum, boolean, and
22+
numeric property kinds rather than the raw-attribute fallback.
23+
`x-split-pane` is a multi-slot container (`start` / `end` panels);
24+
the other four are leaves. All five are interactive and surface
25+
their DOM events in the inspector's Events section.
26+
27+
### Changed
28+
29+
- **BareDOM 3.1.0 → 3.2.0.** Upstream adds the five components above,
30+
an element-highlight feature for the `x-trace-history` dev tool, two
31+
bug fixes (`x-card` interactive listeners, `x-modal` open toggle),
32+
and a shared `baredom.utils.dates` namespace. Bareforge's edits are
33+
the lockstep version bumps in `deps.edn` and
34+
`src/bareforge/meta/versions.cljs` plus the scaffolded component
35+
metadata. Release notes:
36+
https://github.com/avanelsas/baredom/releases/tag/v3.2.0
37+
1338
## [0.6.1] — 2026-05-16
1439

1540
### Changed

deps.edn

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
:deps {org.clojure/clojure {:mvn/version "1.12.0"}
33
org.clojure/clojurescript {:mvn/version "1.11.132"}
44
thheller/shadow-cljs {:mvn/version "2.28.18"}
5-
com.github.avanelsas/baredom {:mvn/version "3.1.0"}
5+
com.github.avanelsas/baredom {:mvn/version "3.2.0"}
66
;; test.check is required only by property tests under
77
;; test/bareforge/**/*_property_test.cljs. Closure Advanced
88
;; doesn't include namespaces no production code requires,

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "bareforge",
3-
"version": "0.6.1",
3+
"version": "0.7.0",
44
"private": true,
55
"description": "Visual landing-page builder for BareDOM",
66
"scripts": {

src/bareforge/meta/augment.cljs

Lines changed: 92 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1932,6 +1932,92 @@
19321932
{:name "size" :kind :string-short}
19331933
{:name "static" :kind :string-short}]})
19341934

1935+
(def ^:private x-split-pane
1936+
{:category :layout
1937+
:label "Split pane"
1938+
:properties
1939+
[{:name "orientation" :kind :enum :choices ["horizontal" "vertical"]
1940+
:default "horizontal"}
1941+
{:name "position" :kind :number}
1942+
{:name "min-start" :kind :number}
1943+
{:name "min-end" :kind :number}
1944+
{:name "disabled" :kind :boolean :default false}
1945+
{:name "divider-label" :kind :string-short}]})
1946+
1947+
(def ^:private x-code
1948+
{:category :text
1949+
:label "Code"
1950+
:properties
1951+
[{:name "language" :kind :enum :choices ["text" "js" "json" "css" "html"]
1952+
:default "text"}
1953+
{:name "filename" :kind :string-short}
1954+
{:name "show-copy" :kind :boolean :default false}
1955+
{:name "line-numbers" :kind :boolean :default false}
1956+
{:name "wrap" :kind :boolean :default false}
1957+
{:name "max-lines" :kind :number}
1958+
{:name "expanded" :kind :boolean :default false}
1959+
{:name "code" :kind :string-long}]})
1960+
1961+
(def ^:private x-calendar
1962+
{:category :form
1963+
:label "Calendar"
1964+
:properties
1965+
[{:name "mode" :kind :enum :choices ["single" "range"] :default "single"}
1966+
{:name "value" :kind :string-short}
1967+
{:name "start" :kind :string-short}
1968+
{:name "end" :kind :string-short}
1969+
{:name "min" :kind :string-short}
1970+
{:name "max" :kind :string-short}
1971+
{:name "disabled-dates" :kind :string-short}
1972+
{:name "first-day-of-week" :kind :enum
1973+
:choices ["sunday" "monday" "tuesday" "wednesday"
1974+
"thursday" "friday" "saturday"]
1975+
:default "sunday"}
1976+
{:name "locale" :kind :string-short}
1977+
{:name "month" :kind :string-short}
1978+
{:name "show-week-numbers" :kind :boolean :default false}
1979+
{:name "disabled" :kind :boolean :default false}
1980+
{:name "range-allow-same-day" :kind :boolean :default false}
1981+
{:name "auto-swap" :kind :boolean :default false}]})
1982+
1983+
(def ^:private x-range-slider
1984+
{:category :form
1985+
:label "Range slider"
1986+
:properties
1987+
[{:name "start" :kind :number}
1988+
{:name "end" :kind :number}
1989+
{:name "min" :kind :number}
1990+
{:name "max" :kind :number}
1991+
{:name "step" :kind :number}
1992+
{:name "min-gap" :kind :number}
1993+
{:name "disabled" :kind :boolean :default false}
1994+
{:name "readonly" :kind :boolean :default false}
1995+
{:name "name" :kind :string-short}
1996+
{:name "label" :kind :string-short}
1997+
{:name "show-value" :kind :boolean :default false}
1998+
{:name "size" :kind :enum :choices ["sm" "md" "lg"] :default "md"}
1999+
{:name "aria-label" :kind :string-short}
2000+
{:name "aria-labelledby" :kind :string-short}
2001+
{:name "aria-describedby" :kind :string-short}]})
2002+
2003+
(def ^:private x-rating
2004+
{:category :form
2005+
:label "Rating"
2006+
:properties
2007+
[{:name "value" :kind :number}
2008+
{:name "max" :kind :number}
2009+
{:name "precision" :kind :enum :choices ["full" "half"] :default "full"}
2010+
{:name "shape" :kind :enum :choices ["star" "heart"] :default "star"}
2011+
{:name "allow-clear" :kind :boolean :default false}
2012+
{:name "disabled" :kind :boolean :default false}
2013+
{:name "readonly" :kind :boolean :default false}
2014+
{:name "name" :kind :string-short}
2015+
{:name "label" :kind :string-short}
2016+
{:name "size" :kind :enum :choices ["sm" "md" "lg"] :default "md"}
2017+
{:name "aria-label" :kind :string-short}
2018+
{:name "aria-labelledby" :kind :string-short}
2019+
{:name "aria-describedby" :kind :string-short}]})
2020+
19352021
(def augment
19362022
"{tag-name → augmentation-map}. Hand-curated. Omissions are intentional —
19372023
tags not present here fall through to the raw-attribute inspector."
@@ -2032,4 +2118,9 @@
20322118
"x-kbd" x-kbd
20332119
"x-otp-input" x-otp-input
20342120
"x-proximity-list" x-proximity-list
2035-
"x-spotlight-card" x-spotlight-card})
2121+
"x-spotlight-card" x-spotlight-card
2122+
"x-split-pane" x-split-pane
2123+
"x-code" x-code
2124+
"x-calendar" x-calendar
2125+
"x-range-slider" x-range-slider
2126+
"x-rating" x-rating})

src/bareforge/meta/categories.cljs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,12 @@
127127
"x-kbd" :text
128128
"x-otp-input" :form
129129
"x-proximity-list" :navigation
130-
"x-spotlight-card" :layout})
130+
"x-spotlight-card" :layout
131+
"x-split-pane" :layout
132+
"x-code" :text
133+
"x-calendar" :form
134+
"x-range-slider" :form
135+
"x-rating" :form})
131136

132137
(defn category-for
133138
"Return the category keyword for `tag`, or `:other` when unknown."

src/bareforge/meta/events.cljs

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,16 @@
3131
"x-i18n-provider" ["x-i18n-loading" "x-i18n-change" "x-i18n-error"]
3232
"x-confetti" ["x-confetti-fire" "x-confetti-end"]
3333
"x-otp-input" ["x-otp-input-input" "x-otp-input-change" "x-otp-input-complete"]
34-
"x-proximity-list" ["x-proximity-list-select"]})
34+
"x-proximity-list" ["x-proximity-list-select"]
35+
"x-split-pane" ["x-split-pane-resize" "x-split-pane-resize-end"]
36+
"x-code" ["x-code-copy" "x-code-toggle"]
37+
"x-calendar" ["x-calendar-change" "x-calendar-navigate"]
38+
"x-range-slider" ["x-range-slider-change-request"
39+
"x-range-slider-input"
40+
"x-range-slider-change"]
41+
"x-rating" ["x-rating-change-request"
42+
"x-rating-change"
43+
"x-rating-hover"]})
3544

3645
(defn events-for
3746
"Return the vector of supported event names for `tag`, or nil."

src/bareforge/meta/public_api.cljs

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,14 @@
2323
[baredom.components.x-bento-item.model :as x-bento-item]
2424
[baredom.components.x-breadcrumbs.model :as x-breadcrumbs]
2525
[baredom.components.x-button.model :as x-button]
26+
[baredom.components.x-calendar.model :as x-calendar]
2627
[baredom.components.x-cancel-dialogue.model :as x-cancel-dialogue]
2728
[baredom.components.x-card.model :as x-card]
2829
[baredom.components.x-carousel.model :as x-carousel]
2930
[baredom.components.x-chart.model :as x-chart]
3031
[baredom.components.x-checkbox.model :as x-checkbox]
3132
[baredom.components.x-chip.model :as x-chip]
33+
[baredom.components.x-code.model :as x-code]
3234
[baredom.components.x-collapse.model :as x-collapse]
3335
[baredom.components.x-color-picker.model :as x-color-picker]
3436
[baredom.components.x-combobox.model :as x-combobox]
@@ -80,6 +82,8 @@
8082
[baredom.components.x-progress-circle.model :as x-progress-circle]
8183
[baredom.components.x-proximity-list.model :as x-proximity-list]
8284
[baredom.components.x-radio.model :as x-radio]
85+
[baredom.components.x-range-slider.model :as x-range-slider]
86+
[baredom.components.x-rating.model :as x-rating]
8387
[baredom.components.x-ripple-effect.model :as x-ripple-effect]
8488
[baredom.components.x-scroll.model :as x-scroll]
8589
[baredom.components.x-scroll-parallax.model :as x-scroll-parallax]
@@ -96,6 +100,7 @@
96100
[baredom.components.x-spacer.model :as x-spacer]
97101
[baredom.components.x-spinner.model :as x-spinner]
98102
[baredom.components.x-splash.model :as x-splash]
103+
[baredom.components.x-split-pane.model :as x-split-pane]
99104
[baredom.components.x-spotlight-card.model :as x-spotlight-card]
100105
[baredom.components.x-stat.model :as x-stat]
101106
[baredom.components.x-stepper.model :as x-stepper]
@@ -136,12 +141,14 @@
136141
x-bento-item/tag-name (api x-bento-item/tag-name x-bento-item/property-api x-bento-item/observed-attributes)
137142
x-breadcrumbs/tag-name (api x-breadcrumbs/tag-name x-breadcrumbs/property-api x-breadcrumbs/observed-attributes)
138143
x-button/tag-name (api x-button/tag-name x-button/property-api x-button/observed-attributes)
144+
x-calendar/tag-name (api x-calendar/tag-name x-calendar/property-api x-calendar/observed-attributes)
139145
x-cancel-dialogue/tag-name (api x-cancel-dialogue/tag-name x-cancel-dialogue/property-api x-cancel-dialogue/observed-attributes)
140146
x-card/tag-name (api x-card/tag-name x-card/property-api x-card/observed-attributes)
141147
x-carousel/tag-name (api x-carousel/tag-name x-carousel/property-api x-carousel/observed-attributes)
142148
x-chart/tag-name (api x-chart/tag-name x-chart/property-api x-chart/observed-attributes)
143149
x-checkbox/tag-name (api x-checkbox/tag-name x-checkbox/property-api x-checkbox/observed-attributes)
144150
x-chip/tag-name (api x-chip/tag-name x-chip/property-api x-chip/observed-attributes)
151+
x-code/tag-name (api x-code/tag-name x-code/property-api x-code/observed-attributes)
145152
x-collapse/tag-name (api x-collapse/tag-name x-collapse/property-api x-collapse/observed-attributes)
146153
x-color-picker/tag-name (api x-color-picker/tag-name x-color-picker/property-api x-color-picker/observed-attributes)
147154
x-combobox/tag-name (api x-combobox/tag-name x-combobox/property-api x-combobox/observed-attributes)
@@ -193,6 +200,8 @@
193200
x-progress-circle/tag-name (api x-progress-circle/tag-name x-progress-circle/property-api x-progress-circle/observed-attributes)
194201
x-proximity-list/tag-name (api x-proximity-list/tag-name x-proximity-list/property-api x-proximity-list/observed-attributes)
195202
x-radio/tag-name (api x-radio/tag-name x-radio/property-api x-radio/observed-attributes)
203+
x-range-slider/tag-name (api x-range-slider/tag-name x-range-slider/property-api x-range-slider/observed-attributes)
204+
x-rating/tag-name (api x-rating/tag-name x-rating/property-api x-rating/observed-attributes)
196205
x-ripple-effect/tag-name (api x-ripple-effect/tag-name x-ripple-effect/property-api x-ripple-effect/observed-attributes)
197206
x-scroll/tag-name (api x-scroll/tag-name x-scroll/property-api x-scroll/observed-attributes)
198207
x-scroll-parallax/tag-name (api x-scroll-parallax/tag-name x-scroll-parallax/property-api x-scroll-parallax/observed-attributes)
@@ -209,6 +218,7 @@
209218
x-spacer/tag-name (api x-spacer/tag-name x-spacer/property-api x-spacer/observed-attributes)
210219
x-spinner/tag-name (api x-spinner/tag-name x-spinner/property-api x-spinner/observed-attributes)
211220
x-splash/tag-name (api x-splash/tag-name x-splash/property-api x-splash/observed-attributes)
221+
x-split-pane/tag-name (api x-split-pane/tag-name x-split-pane/property-api x-split-pane/observed-attributes)
212222
x-spotlight-card/tag-name (api x-spotlight-card/tag-name x-spotlight-card/property-api x-spotlight-card/observed-attributes)
213223
x-stat/tag-name (api x-stat/tag-name x-stat/property-api x-stat/observed-attributes)
214224
x-stepper/tag-name (api x-stepper/tag-name x-stepper/property-api x-stepper/observed-attributes)

src/bareforge/meta/slots.cljs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,10 @@
2828
"x-grid"
2929
[{:name "default" :label "Items" :multiple? true}]
3030

31+
"x-split-pane"
32+
[{:name "start" :label "Start panel" :multiple? true}
33+
{:name "end" :label "End panel" :multiple? true}]
34+
3135
"x-navbar"
3236
[{:name "brand" :label "Brand" :multiple? false}
3337
{:name "start" :label "Start" :multiple? true}

src/bareforge/meta/versions.cljs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,4 +16,4 @@
1616
Bareforge-emitted artefact: CDN URL in HTML export, vendored jar
1717
path in bundle export, `deps.edn` inside an exported CLJS project.
1818
Keep in lockstep with `deps.edn`'s BareDOM entry."
19-
"3.1.0")
19+
"3.2.0")

test/bareforge/meta/registry_test.cljs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,11 @@
77
[bareforge.meta.slots :as sl]))
88

99
(def expected-tag-count
10-
"BareDOM 2.9.0 exposes 99 components hand-curated into Bareforge
11-
(2.8.0's 94 + x-confetti, x-kbd, x-otp-input, x-proximity-list,
12-
x-spotlight-card). Bumping this number is intentional — it documents
10+
"BareDOM 3.2.0 exposes 104 components hand-curated into Bareforge
11+
(3.1.0's 99 + x-split-pane, x-code, x-calendar, x-range-slider,
12+
x-rating). Bumping this number is intentional — it documents
1313
a version bump in the public-api require list."
14-
99)
14+
104)
1515

1616
(deftest api-map-has-expected-tag-count
1717
(is (= expected-tag-count (count pa/api-map))

0 commit comments

Comments
 (0)