Releases: genexuslabs/chameleon-controls-library
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-popover
was 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-popover
when 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
popoverClosed
event.
Thereason
property 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 === true
andmode === "manual"
. -
"escape-key"
: The popover is being closed because the user pressed the "Escape" key when usingcloseOnClickOutside === true
andmode === "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
popoverClosed
event.
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
show
property is changed tofalse
externally. -
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
v6.20.0
Chameleon 6.20.0 (2025-08-08)
Category | Change |
---|---|
[ch-dialog][ch-popover] Fix Safari bugs where components using the ch-dialog or ch-popover would not display correctly by @ncamera in #542 |
|
[ch-chat] Fixed the send-input style when displaying custom content by @ncamera in #543 |
|
[ch-chat] Add support to render the contentBefore and contentAfter sections in the messages by @ncamera in #544 |
Full Changelog: v6.19.0...v6.20.0
v6.19.0
Chameleon 6.19.0 (2025-08-07)
Category | Change |
---|---|
[ch-chat] Rename "stop-generating-anwser" button to "stop-response" and rename the generatingResponse property to waitingResponse by @ncamera in #540 |
|
[ch-chat] Add more options to customize the content of the send-container element and add support to replace the send button with the stop-response button by @ncamera in #541 |
Important changes in the ch-chat
component
-
The
stopGeneratingAnwser
button is now calledstopResponse
button. -
The send button is now replaced with the stop-response button by default.
-
Added the
sendContainerLayout
property to support changing the position of the send and stop-response buttons of thech-chat
's send-container part. There are four positions for distributing elements in thesend-container
:sendContainerBefore
: Before the contents of thesend-container
part.sendInputBefore
: Before the contents of thesend-input
part.sendInputAfter
: After the contents of thesend-input
part.sendContainerAfter
: After the contents of thesend-container
part.
At each position you can specify reserved elements, such as the
send-button
andstop-response-button
, but can also be specified non-reserved elements, which will be projected as content slots.If the reserved
stop-response-button
element is not specified anywhere, the send button will be replaced with the stop-response button whenwaitingResponse = true
and thestopResponse
callback is specified.If the
send-button
is not specified in any position, it won't be rendered in thech-chat
.For example, if you define:
const sendContainerLayout: ChatSendContainerLayout = { sendInputBefore: ["attach-files-button"], sendInputAfter: ["send-button"] }
You will have to put
slot="attach-files-button"
as follows (but not thesend-button
as this is a reserved element that is rendered internally by thech-chat
):<ch-chat sendContainerLayout={sendContainerLayout} > <button slot="attach-files-button" type="button"> ... </button> </ch-chat>
The following diagram shows a visual example of the
ch-chat
's layout with this new property: -
Added the following parts:
-
send-container-before
: The container for the elements of thesendContainerLayout.sendContainerBefore
position. -
send-input-before
: The container for the elements of thesendContainerLayout.sendInputBefore
position. -
send-input-after
: The container for the elements of thesendContainerLayout.sendInputAfter
position. -
send-container-after
: The container for the elements of thesendContainerLayout.sendContainerAfter
position.
-
Breaking changes
-
[ch-chat]
ThestopGeneratingAnswer
callback has been renamed tostopResponse
. -
[ch-chat]
TheaccessibleName.stopGeneratingAnswerButton
translation has been renamed toaccessibleName.stopResponseButton
. -
[ch-chat]
Thetext.stopGeneratingAnswerButton
translation has been renamed totext.stopResponseButton
. -
[ch-chat]
The"stop-generating-answer-button"
part has been renamed to"stop-response-button"
. -
[ch-chat]
ThegeneratingResponse
property has been renamed towaitingResponse
. -
[ch-chat]
Removed thesend-input-wrapper
part. -
[ch-chat]
Now, by default the send button is replaced with the stop-response button, ifwaitingReponse === true
and thestopResponse
callback is defined. If we want to keep separated those two buttons under the previous conditions, the position for thestop-response-button
must be specified in thesendContainerLayout
property. -
[ch-chat]
Removed the default translationtext.stopResponseButton
, becase now by default the send button is replaced with the stop-response button, ifwaitingReponse === true
and thestopResponse
callback is defined. -
[ch-chat]
Removed theshowSendInputAdditionalContentBefore
andshowSendInputAdditionalContentAfter
properties. To add custom content in thesend-input
part, thesendInputBefore
and/orsendInputAfter
members of thesendContainerLayout
property must be specified. This new way to customize thesend-input
content allow us to have a better control of the DOM order (which is important for the accessibility).
Full Changelog: v6.18.1...v6.19.0