Releases: genexuslabs/chameleon-controls-library
[2025-11-24] Chameleon v6.28.0
Chameleon v6.28.0
| Category | Change |
|---|---|
Add ch-color-picker component by @jonatan-reto in #564 |
|
| Improve docs for LLMs by @ncamera in #571 | |
[ch-combo-box-render] Fix rare infinite scroll loop when rendering a large number of items by @ncamera in #572 |
New ch-color-picker component
A comprehensive color picker component that combines multiple color selection methods to support various color formats.
Features
The ch-color-picker component includes:
- Modular controls that can be shown/hidden via props
- 2D color field integration (with
ch-color-fieldcomponent) - Hue slider for hue adjustment
- Alpha/transparency slider for opacity control
- Color format selector for HEX, RGB, HSL, and HSV formats (with
ch-combo-box-rendercomponent) - Current color preview with transparency pattern support
- Customizable color palette for quick color selection
- Configurable control order via the
orderprop - Form integration with form-associated custom elements
⚠️ Breaking changes
- Modified the Color Variant HSV value type from array to string format.
-
Before:
hsv: [360, 100, 50](array format) -
After:
hsv: "hsv(360, 100%, 50%)"(string format) -
Use the new utility functions
fromHsvStringToHsvColor()andfromHsvColorToString()to convert between formats -
This change will improve consistency with other color formats (hex, rgb, hsl) which are all string-based
-
Full Changelog: v6.27.0...v6.28.0
[2025-11-11] Chameleon v6.27.0
Chameleon v6.27.0
| Category | Change |
|---|---|
[ch-chat][ch-markdown-viewer] Add support for rendering mathematical formulas using the new ch-math-viewer component by @ncamera in #568 |
|
[ch-markdown-viewer] Improve the parser for mathematical delimiters by @ncamera in #569 |
Mathematical rendering support for the ch-chat and ch-markdown-viewer components
-
Added the
ch-math-viewercomponent to render mathematical formulas by using KaTeX.-
To use this component, you must include the necessary custom fonts in your project. These custom fonts are located in the
node_modules/@genexus/chameleon-controls-library/dist/assets/fontsfolder. -
To declare the font-faces of these custom fonts in your project, you must use the
math-viewer-font-facesmixin located in thenode_modules/@genexus/chameleon-controls-library/dist/assets/scss/math-viewer-font-face.scssfolder.
-
-
The
ch-chatandch-markdown-viewercomponents now automatically detect when it is necessary to render a mathematical formula when using the syntax:-
$ formula $ -
$$ formula $$ -
\( formula \) -
\[ formula \]
If no formulas are detected, the JS for the
ch-math-vieweris not downloaded to save resources. -
Full Changelog: v6.26.0...v6.27.0
v6.26.0
Chameleon 6.26.0 (2025-10-30)
| Category | Change |
|---|---|
Add ch-color-field component by @jonatan-reto in #557 |
|
[ch-dialog] Fix dialog content not streching to the available size by @ncamera in #565 |
New ch-color-field component
This component is a 2D color picker built with a canvas and marker, allowing users to select colors visually using both mouse and keyboard. It has the following features:
- Interactive canvas displaying saturation and brightness gradients.
- Keyboard and screen reader accessibility.
- Support for HSV, RGB, RGBA, HSL, HSLA and HEX color models.
- Internationalized labels and messages.
Full Changelog: v6.25.0...v6.26.0
v6.25.0
Chameleon 6.25.0 (2025-10-15)
| Category | Change |
|---|---|
[ch-popover] Fix issues related with the positioning of the popover by @ncamera in #562 |
Improvements in the ch-popover component
-
Use the viewport size, instead of the whole document size to properly position the popover.
When the document has scrollbars, thech-popoverwas not positioned correctly because the entire document size was used instead of the viewport size. -
Properly calculate the
ch-popover's max size.
We were always using the max size of the CSS custom vars if they were defined. -
Add support to re-position the
ch-popoverwhen the browser's window is resized. -
Add support to close the popover if it is no longer visible.
-
Add support to know the reason of the
popoverClosedevent.
Thereasonproperty of the event provides more information about the cause of the closing:-
"click-outside": The popover is being closed because the user clicked outside the popover when usingcloseOnClickOutside === trueandmode === "manual". -
"escape-key": The popover is being closed because the user pressed the "Escape" key when usingcloseOnClickOutside === trueandmode === "manual". -
"popover-no-longer-visible": The popover is being closed because it is no longer visible. -
"toggle": The popover is being closed by the native toggle behavior of popover. It can be produced by the user clicking theactionElement, pressing the "Enter" or "Space" keys on theactionElement, pressing the "Escape" key or other. Used whenmode === "auto".
-
-
Avoid emitting duplicated
popoverClosedevent.
This fixes emitting the duplicated event in the following scenarios:-
The "Escape" key is pressed in
mode === "manual". -
The user clicks outside the popover in
mode === "manual". -
The
showproperty is changed tofalseexternally. -
The user scrolls the window and the popover is no longer visible.
-
Full Changelog: v6.24.0...v6.25.0
v6.24.0
Chameleon 6.24.0 (2025-10-15)
| Category | Change |
|---|---|
[ch-tabular-grid] Add showLines property (placeholder, no effect yet) by @bsastregx in #559 |
|
| Mark more external dependencies for "lit" and "open-wc" by @ncamera in #560 | |
[ch-sidebar] Add support for specifying the position of the expand button with the expandButtonPosition property by @ncamera in #561 |
Full Changelog: v6.23.0...v6.24.0
v6.23.0
Chameleon 6.23.0 (2025-10-13)
| Category | Change |
|---|---|
[ch-action-list-render] Rename references to "tree" component on the readme.md, and remove unused waitDropProcessing state variable by @bsastregx in #556 |
|
| Mark "lit" dependency as external to optimize bundle size and avoid issues when mixing Lit dependencies by @ncamera in #551 |
Breaking changes
From now on, a build tool (like Vite, Rollup, Rolldown, ESBuild, Webpack, Turbopack, etc.) with a package manager (like npm, yarn, pnpm, bun, etc.) must be used to run Chameleon.
Full Changelog: v6.22.1...v6.23.0
v6.22.1
v6.22.0
Chameleon 6.22.0 (2025-09-11)
| Category | Change |
|---|---|
[ch-markdown-viewer] Fixed ch-markdown-viewer crash when rendering values like "\n\n" or "\r\n" by @ncamera in #552 |
|
[ch-popover] Fixed positionTry not working when using inlineSizeMatch/blockSizeMatch with "action-element-as-minimum" by @ncamera in #554 |
|
[ch-combo-box-render] Added support to customize the max size of the popover and fixed ch-popover not enforcing maximum sizes by @ncamera in #553 |
Full Changelog: v6.21.0...v6.22.0
v6.21.0
Chameleon 6.21.0 (2025-09-11)
| Category | Change |
|---|---|
[ch-tab-render] Add support to apply ellipsis when the caption of the tab overflows the max-inline-size of the container by @ncamera in #549 |
|
[ch-combo-box-render] Expand the combo-box with the ArrowUp/ArrowDown keys when the popover is closed by @ncamera in #550 |
Full Changelog: v6.20.1...v6.21.0
v6.20.1
Chameleon 6.20.1 (2025-08-11)
| Category | Change |
|---|---|
[ch-combo-box-render] Don't update the combo-box's displayed value when changing the active descendant by @ncamera in #545 |
|
[ch-combo-box-render] Don't update the current value when closing with click outside or Escape key by @ncamera in #546 |
|
[ch-combo-box-render] Fix for focus not returning to the ch-combo-box-render when closing it with the Escape, Enter, or Tab keys by @ncamera in #547 |
|
[ch-combo-box-render] Add support to open and select/close the ch-combo-box-render with the NumpadEnter key by @ncamera in #548 |
Full Changelog: v6.20.0...v6.20.1