@vanelsas/baredom 2.6.0 → 2.7.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 (96) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/README.md +12 -41
  3. package/dist/base.js +355 -349
  4. package/dist/integrity.json +93 -93
  5. package/dist/x-alert.js +18 -19
  6. package/dist/x-avatar-group.js +10 -11
  7. package/dist/x-avatar.js +14 -14
  8. package/dist/x-badge.js +10 -11
  9. package/dist/x-bento-grid.js +5 -5
  10. package/dist/x-bento-item.js +4 -4
  11. package/dist/x-breadcrumbs.js +14 -14
  12. package/dist/x-button.js +18 -16
  13. package/dist/x-cancel-dialogue.js +17 -17
  14. package/dist/x-card.js +7 -7
  15. package/dist/x-carousel.js +34 -34
  16. package/dist/x-chart.js +46 -48
  17. package/dist/x-checkbox.js +10 -11
  18. package/dist/x-chip.js +9 -9
  19. package/dist/x-collapse.js +10 -12
  20. package/dist/x-color-picker.js +44 -45
  21. package/dist/x-combobox.js +26 -27
  22. package/dist/x-command-palette.js +26 -27
  23. package/dist/x-container.js +5 -6
  24. package/dist/x-context-menu.js +18 -18
  25. package/dist/x-copy.js +22 -22
  26. package/dist/x-currency-field.js +22 -24
  27. package/dist/x-date-picker.js +41 -42
  28. package/dist/x-divider.js +8 -9
  29. package/dist/x-drawer.js +11 -12
  30. package/dist/x-dropdown.js +10 -11
  31. package/dist/x-fieldset.js +6 -6
  32. package/dist/x-file-download.js +7 -8
  33. package/dist/x-file-upload.js +22 -25
  34. package/dist/x-form-field.js +15 -17
  35. package/dist/x-form.js +8 -10
  36. package/dist/x-gaussian-blur.js +18 -18
  37. package/dist/x-grid.js +6 -6
  38. package/dist/x-icon.js +7 -7
  39. package/dist/x-image.js +19 -19
  40. package/dist/x-kinetic-font.js +28 -29
  41. package/dist/x-kinetic-typography.js +39 -39
  42. package/dist/x-liquid-dock.js +39 -39
  43. package/dist/x-liquid-fill.js +44 -44
  44. package/dist/x-liquid-glass.js +47 -47
  45. package/dist/x-menu-item.js +9 -10
  46. package/dist/x-menu.js +11 -11
  47. package/dist/x-metaball-cursor.js +27 -27
  48. package/dist/x-modal.js +12 -13
  49. package/dist/x-morph-stack.js +38 -39
  50. package/dist/x-navbar.js +12 -13
  51. package/dist/x-neural-glow.js +32 -33
  52. package/dist/x-notification-center.js +9 -10
  53. package/dist/x-organic-divider.js +18 -19
  54. package/dist/x-organic-progress.js +37 -38
  55. package/dist/x-organic-shape.js +13 -14
  56. package/dist/x-pagination.js +16 -17
  57. package/dist/x-particle-button.js +48 -49
  58. package/dist/x-popover.js +24 -25
  59. package/dist/x-progress-circle.js +8 -9
  60. package/dist/x-progress.js +11 -11
  61. package/dist/x-radio.js +10 -12
  62. package/dist/x-ripple-effect.js +11 -11
  63. package/dist/x-scroll-parallax.js +19 -19
  64. package/dist/x-scroll-stack.js +18 -18
  65. package/dist/x-scroll-story.js +35 -35
  66. package/dist/x-scroll-timeline.js +46 -47
  67. package/dist/x-scroll.js +40 -41
  68. package/dist/x-search-field.js +15 -17
  69. package/dist/x-select.js +10 -11
  70. package/dist/x-sidebar.js +16 -16
  71. package/dist/x-skeleton-group.js +12 -14
  72. package/dist/x-skeleton.js +1 -1
  73. package/dist/x-slider.js +16 -18
  74. package/dist/x-soft-body.js +21 -21
  75. package/dist/x-spacer.js +5 -5
  76. package/dist/x-spinner.js +5 -6
  77. package/dist/x-splash.js +13 -13
  78. package/dist/x-stat.js +11 -11
  79. package/dist/x-stepper.js +15 -15
  80. package/dist/x-switch.js +9 -11
  81. package/dist/x-tab.js +7 -7
  82. package/dist/x-table-cell.js +22 -22
  83. package/dist/x-table-row.js +9 -10
  84. package/dist/x-table.js +14 -15
  85. package/dist/x-tabs.js +11 -11
  86. package/dist/x-text-area.js +19 -21
  87. package/dist/x-theme.d.ts +1 -1
  88. package/dist/x-theme.js +25 -25
  89. package/dist/x-timeline-item.js +23 -23
  90. package/dist/x-timeline.js +9 -9
  91. package/dist/x-toast.js +24 -24
  92. package/dist/x-toaster.js +8 -8
  93. package/dist/x-tooltip.js +11 -13
  94. package/dist/x-typography.js +11 -11
  95. package/dist/x-welcome-tour.js +64 -65
  96. package/package.json +181 -181
package/CHANGELOG.md CHANGED
@@ -2,6 +2,18 @@
2
2
 
3
3
  All notable changes to BareDOM will be documented in this file.
4
4
 
5
+ ## [2.7.0] - 2026-05-02
6
+
7
+ ### Changed
8
+
9
+ - **Component factory** — All 91 components now register via `component/register!`, eliminating manual `element-class` boilerplate. Shared utility modules (`baredom.utils.dom`, `baredom.utils.model`, `baredom.utils.component`) drive lifecycle wiring, property accessors, event dispatch, and attribute helpers. Net reduction of ~2 285 lines.
10
+
11
+ ### Fixed
12
+
13
+ - **x-command-palette** — Search field now correctly receives focus when the palette opens.
14
+ - **x-package.json** — Fixed export ordering and regenerated type declarations.
15
+ - **Test runner** — Fixed `classList` TypeError caused by `dom_test` cleanup removing the `cljs-test-display` root element. Suppressed x-image missing-alt warnings in test fixtures.
16
+
5
17
  ## [2.6.0] - 2026-04-30
6
18
 
7
19
  ### Added
package/README.md CHANGED
@@ -34,7 +34,7 @@ BareDOM is authored in ClojureScript and compiled to optimised, minified ES modu
34
34
 
35
35
  BareDOM has been created using Claude Code. The CLAUDE.md file is added to the repository for your convenience.
36
36
 
37
- All web components, including new, modern, and exciting ones such as x-morph-stack, x-liquid-fill, x-liquid-glass, x=soft-body, x-ripple-effect, x-scroll-parallax, x-scroll-story, x-scroll-timeline, x-kinetic-font, x-kinetic-typography, x-organic-shape, x-gaussian-blur, x-neural-glow, x-metaball-cursor, x-organic-progress, and x-particle-button, can be seen [here](https://avanelsas.github.io/baredom/)
37
+ All components can be explored in the [live demo](https://avanelsas.github.io/baredom/).
38
38
 
39
39
  ---
40
40
 
@@ -68,50 +68,18 @@ I first built the usual suspects for web components, a basis to create a UI. I t
68
68
 
69
69
  ---
70
70
 
71
- ## TypeScript
71
+ ## BareForge — Visual Page Builder
72
72
 
73
- BareDOM includes TypeScript declarations for every component. Types are auto-generated from component metadata and ship alongside the ESM files — no additional setup required.
73
+ [![GitHub](https://img.shields.io/github/stars/avanelsas/bareforge?style=social)](https://github.com/avanelsas/bareforge)
74
74
 
75
- ### What you get
75
+ [BareForge](https://github.com/avanelsas/bareforge) is a companion visual landing-page builder for BareDOM. Drag-and-drop BareDOM components onto a canvas, configure them in the inspector, and export a complete project.
76
76
 
77
- - **Typed element interfaces** extending `HTMLElement` with all properties and methods
78
- - **Typed custom events** with full `detail` payload types
79
- - **`HTMLElementTagNameMap` augmentation** so `document.querySelector('x-button')` returns `XButton`
80
- - **[Custom Elements Manifest](https://github.com/webcomponents/custom-elements-manifest)** (`custom-elements.json`) for IDE tooling and HTML intellisense
77
+ - **Drag-and-drop canvas** with snap-aware placement
78
+ - **Inspector** with type-aware editors for every BareDOM component
79
+ - **Theme editor** with all 8 BareDOM presets and per-token overrides
80
+ - **Four export modes** — CDN, bundle, ClojureScript, and JavaScript
81
81
 
82
- ### Usage
83
-
84
- ```typescript
85
- import '@vanelsas/baredom/x-button';
86
- import '@vanelsas/baredom/x-alert';
87
-
88
- // querySelector returns typed XButton
89
- const btn = document.querySelector('x-button')!;
90
- btn.disabled = true; // type-checked
91
- btn.loading = true; // autocomplete works
92
-
93
- // Event listeners have typed detail payloads
94
- btn.addEventListener('press', (e) => {
95
- console.log(e.detail.source); // string — fully typed
96
- });
97
-
98
- // Custom events on other components
99
- const alert = document.querySelector('x-alert')!;
100
- alert.addEventListener('x-alert-dismiss', (e) => {
101
- console.log(e.detail.reason); // string
102
- console.log(e.detail.type); // string
103
- });
104
-
105
- // Components with methods
106
- import '@vanelsas/baredom/x-modal';
107
- const modal = document.querySelector('x-modal')!;
108
- modal.show(); // typed method
109
- modal.hide(); // typed method
110
- ```
111
-
112
- ### IDE support
113
-
114
- The `custom-elements.json` manifest enables HTML intellisense in editors that support it. For VS Code, install the [Lit Plugin](https://marketplace.visualstudio.com/items?itemName=nicktomlin.vscode-lit-html) or the [Custom Elements Language Server](https://marketplace.visualstudio.com/items?itemName=nicktomlin.vscode-lit-html) to get attribute autocomplete and validation in HTML templates.
82
+ Try the [live editor](https://avanelsas.github.io/bareforge/) or see the [repository](https://github.com/avanelsas/bareforge) for details.
115
83
 
116
84
  ---
117
85
 
@@ -175,7 +143,10 @@ Also available via [Clojars](./docs/installation.md#clojurescript-via-clojars) a
175
143
  BareDOM components are native HTML elements. Import, register, and use them in any framework or vanilla HTML.
176
144
 
177
145
  - **JavaScript / TypeScript** — see the [JavaScript Developer Guide](./docs/javascript-guide.md)
146
+ - **TypeScript types** — see the [TypeScript Guide](./docs/typescript.md)
178
147
  - **ClojureScript** — see the [ClojureScript Guide](./docs/clojurescript-guide.md)
148
+ - **React** — see [`@vanelsas/baredom-react`](https://www.npmjs.com/package/@vanelsas/baredom-react)
149
+ - **Angular** — see [`@vanelsas/baredom-angular`](https://www.npmjs.com/package/@vanelsas/baredom-angular)
179
150
 
180
151
  ---
181
152