Changelog
1.16.23
- Fixed an issue with
CodeEditor
,Input
,Select
,Textarea
components where they would bubble up Enter keypresses when confirming composition using IME input - Fixed
UploadDropzone
error messages to properly distinguish between wrong file types and multiple files. - Update
RadioGroup
to accept newRadioItem
type that also accepts an arbitraryComponentInstance
as the label.
1.16.17
- Fixed a regression where outside updates to a
Variable
connected toSlider
would not be reflected in the slider's value
1.16.16
- Fixed an issue where
Slider
would malfunction when dynamically its domain/step so that its current value falls outside of a valid step. Internal implementation now usesreact-aria-components
- Added
thumb_labels
prop toSlider
to allow for custom labels for the slider's thumbs displayed when using input alternative
1.16.12
- Internal: re-export
@codemirror
packages to solve duplication of CM dependencies across UMD bundles
1.16.6
- Added a new improved
UiCodeEditor
implementation into this package directly, superseding the old@darajs/ui-code-editor
package.
1.16.5
- Fixed
UploadDropzone
componentresolver
field type hinting.
1.16.2
- Fixed an issue where
cai_causal_graph
'sNode
wasn't serialized inVisualEdgeEncoder
component.
1.16.1
- Fixed an issue where
AccordionItem
wouldn't serialize its children properly
1.15.4
- Fixed an issue where
Slider
component would not raise on invalid domain values where step was inferred.
1.15.3
- Fixed an issue where
Plotly
component would shrink to zero width in a vertical flex container withalign-items
set to any value other thanstretch
1.14.8
- Clarified
Variable
usage in the docs of some components.
1.14.3
- Added the
language
prop to theCodeEditor
component to allow for setting the language of the code editor.
1.14.0
- Fixed an issue where
Plotly
's figure nativeheight
andwidth
were not obeyed by component.
1.13.1
- Fixed an issue where
Table
would sometimes convert timestamps in seconds as if they were in milliseconds. - Fixed an issue where
CheckboxGroup
could not have anundefined
value. - Fixed an issue where
Plotly
in some cases would not pick up colors from dara theme by default.
1.12.3
- Fixed an issue where
Table
filters and column sorting would not work correctly due to a prefix in column names.
1.12.2
- Fixed an issue where
Table
cells would not render due to/schema
GET request failing.
1.12.1
- Fixed invisible boolean values in
Table
cells. Table
now automatically renders all index columns from the DataFrame and expands hierarchical columns.
1.11.5
- Visual tweaks to
Chat
component.
1.11.4
- Updated
Code
component to support copy to clipboard functionality. - Updated
Code
component default themes. - Updated
Code
component to display current language.
1.10.6
- Increased performance for initial render of
CausalGraphViewer
by up to 2x - Increased performance when updating large graphs in
CausalGraphViewer
by up to 50x
1.10.4
- Fixed an issue where
Input
of type number would returnNaN
instead ofNone
within actions.
1.10.3
- Fixed an issue where
onchange
would not fire forInput
andTextarea
components in some cases - Fixed and issue where the nodes could escape their containers in grouping layouts.
1.10.0
- Added support for grouping layout in
FcoseLayout
andSpringLayout
. It allows for nodes to be placed on groups/clusters which can be collapsed/expanded in order to simplify large graphs to the user whilst still allowing them to see the full picture.
1.9.5
- Increased performance of various
Select
andDatepicker
components in large lists by up to 485x. - Fixed a crash when
selected_items=None
was passed toSelect(multiselect=True, ...)
.
1.9.4
- Revert: "Remove redundant
None
properties when serializing components to JSON". This will be brought back in a future minor release
1.9.3
- Allow components to receive
None
as one of theirchildren
- Remove redundant
None
properties when serializing components to JSON - Fix an issue where
Select
component would error out in few rare cases
1.9.2
- Fixed an issue with
Card
where its content would render with zero height in some scenarios due to a missingflex-grow
property. - Clarified docs for
CausalGraphViewer
'seditor_mode
prop. - Fixed an issue where the
CausalGraphViewer
would error if the graph was empty in some cases - Added a new 'Save as Image' button to the
CausalGraphViewer
UI to download the currently displayed graph pane as a high-resolution PNG image. - Fixed an issue where
value
ofSelect(multiselect=True, ...)
value would not be displayed even when it's outside the items list.
1.8.6
- Fixed an issue where
Chat
button looked off centre on different base font size apps. - Fixed an issue where if parent hugged content
NodeHierarchyBuilder
would always scroll. - Fixed an issue where
CausalGraphViewer
'sFcoseLayout
would crash when an array of array of nodes was passed to tiers which included a node that did not exist on the graph. - Fixed an issue where other
Select
component types would degrade performance with large number of items (multiselect=True
has been fixed in v1.8.3).
1.8.5
- Internal (JS): Updated
Markdown
to usedara-ui
's component. - Updating default theme for
Bokeh
andPlotly
so that background is transparent by default. Chat
component button is now attached to the container it was added in instead of the page. This means it is now possible to add multiple chat components in a page.
1.8.3
CausalGraphViewer
now only recalculates its layout on resize of the graph window if the graph is not in focus.- Fixed an issue where
Select(..., multiselect=True)
would cause excessive rerenders and degrade performance when then number of items in the select was large.
1.8.2
- Fix type of
default_legends
inCausalGraphViewer
andVisualEdgeEncoder
to reflect that it does not acceptNone
. - Fixed an issue where empty
Chat
component caused an error due to having undefined length.
1.8.1
Chat
component now shows the user who has written a messageChat
component now displays its messages content asMarkdown
.- It is now possible to add a callback to your configuration for when a message is sent in
Chat
component, an example can be found below:
from dara.core.configuration import ConfigurationBuilder
from dara.components.smart.chat import NewMessageBody, ChatConfig
def example_callback(payload: NewMessageBody):
print('New message received!')
print(payload)
config = ConfigurationBuilder()
config.add_configuration(ChatConfig(on_new_message=example_callback))
1.8.0
- In
Chat
messages, changedtimestamp
prop to be divided into twocreated_at
andupdated_at
. - Added "(edited)" indicator to the messages which have been edited in the
Chat
component. Chat
will now send a message whenEnter
is pressed by the user.Chat
now shows a disabled state for theSend
button if the message to be sent is empty.
1.7.7
- Fixed an issue where if
EditorMode
was not defined edges were always added as undirected. - Fixed an issue where graph rendering would enter an infinite loop and cause crashes in some circumstances.
1.7.6
- Fixed an issue where if a word was too long, such as in an url, the
Chat
message would overflow instead of wrap. - Fixed an issue where in
Chat
component if a newline character was added to a comment, on subsequent reloads it would show '/n' in the message.
1.7.5
- Added new
Chat
component. It can be added to any page to display a chat interface where users can add comments about their apps. - Fixed an issue with
NumericInput
where one could not enter decimal numbers ending in 0. - Fixed an issue where one was not able to type a negative number in
NumericInput
unless they started with the number before adding the sign. - Graph layout is now recalculated after every resize of the graph window detected, preventing scenarios where the initially computed layout is not optimal for the new window size due to a sudden graph pane resize
- Zooming the graph with mousewheel is now disabled by default and requires first focusing the graph by clicking on it. This is to prevent accidental zooming when scrolling through the page. The previous behaviour can be restored by setting
require_focus_to_zoom
prop to False. - Fixed issues with graph viewer tooltip appearing even over parts of the graph which are not currently visible on the screen.
- Updated so that
TimeSeriesCausalGraph
now only adds to layers nodes which have at least one other node with the samevariable_name
. - Updated so that is
PlanarLayout
is chosen we do not add the tiers forTimeSeriesCausalGraph
. - Fixed an issue where one could not add nodes to a
TimeSeriesCausalGraph
.
1.7.2
- Internal (JS):
UploadDropzone
now usesRequestExtras
to pass additional headers to the upload request. UploadDropzone
now hasenable_paste
prop to conditionally activate paste functionality, allowing for more customizable behavior. By default, pasting text directly into theUploadDropzone
is now disabled, requiring explicit activation via theenable_paste
prop.
1.7.0
- Added a new prop
default_legends
toCausalGraphViewer
andVisualEdgeEncoder
which allows the user to update the default legends that appear for eacheditor_mode
. - Improved typing of
additional_legends
, and added the ability to add nodes as a legend item.
1.6.4
- Backported Internal (JS):
UploadDropzone
now usesRequestExtras
to pass additional headers to the upload request. - Backported
UploadDropzone
now hasenable_paste
prop to conditionally activate paste functionality, allowing for more customizable behavior. By default, pasting text directly into theUploadDropzone
is now disabled, requiring explicit activation via theenable_paste
prop.
1.6.2
- Added
zeroline
default color toPlotly
theme.
1.6.0
Graphs
- Added support for tiered layout in
FcoseLayout
,PlanarLayout
,SpringLayout
andMarketingLayout
. It allows for nodes to be placed on tiers following some hierarchy and to further define requirements of nodes positions within that tier. - If
TimeSeriesCausalGraph
object is passed toCausalGraphViewer
and no tiers are defines, it will usetime_lag
andvariable_name
to define theorder_nodes_by
andgroup
respectively. - Added
simultaneous_edge_node_selection
toCausalGraphViewer
, when set to True, the selected node will not be reset when an edge is chosen and vice versa. - Added
layering_algorithm
prop toPlanarLayout
. This allows users to choose betweenLayeringAlgorithm.SIMPLEX
andLayeringAlgorithm.LONGEST_PATH
for the layering step of the d3-dag sugyiama algorithm.
Plotting
- Set
Bokeh
defaultmin-height
andmin-width
to350px
.
Common
- Renamed:
align-items
toalign
inGrid.Column
to be more consistent with other layout components. - Added
justify
andalign
shortcut props toCard
,Modal
,Form
,Grid
,Grid.Row
,Grid.Column
. - Fixed an issue where if setting an initial number value to
Select
and it had a list ofItem
s, then the value showed was the number instead of the corresponding label to that value. - Fixed an issue where if selecting the start or end date in a
Datepicker
always resulted in the user selecting the whole range instead of the selected input. Button
text now usesblue1
color.
1.5.2
- Fixed an issue where dragging nodes too quickly in
CausalGraphViewer
would cause the node drag to stop working - Fixed an issue where
Soft Directed
edge was not shown in the legend ofVisualEdgeEncoder
1.5.1
- Updated plotting palettes to support 1 or 2 colors as well as 3+.
1.5.0
- Fixed an issue where
Anchor
andImage
component would not handle relative links correctly when ran in an app with a custom base URL (e.g. in an iframe). - Fixed an issue where
CausalGraphViewer
did not accept adict
of aCausalGraph
. - Added support for
cai_causal_graph.causal_graph.Skeleton
inCausalGraphViewer
.
1.4.6
- Updated
EdgeConstraintType
to comply to0.3.0
ofcai-causal-graph
. EdgeEncoder
now supportsSOFT_DIRECTED
edge constraint types, displaying a different arrow with a semi-circle tipCausalGraphViewer
components now properly includesource
anddestination
fields in edge data output as serialized node data rather than their identifiers- Updated so that if no
editor_mode
is passed toCausalGraphViewer
, then it checks if graph is DAG, if soeditor_mode
defaults toEditorMode.DEFAULT
, else defaults toEditorMode.PAG
. However ifgraph_layout
isPlanarLayout
then it will always be set toEditorMode.DEFAULT
1.4.5
- Changed
Plotly
defaultmin-height
to be350px
. - Changed default font-sizes for
Bokeh
andPlotly
components to use16px
for title, and14px
for axis labels, legends and tooltips. - Reduced default
Plotly
margins. Update default tooltip background color to be grey. - Fixed an issue where if
RadioGroup
had avalue
of an emptyVariable
that thatVariable
would not update.
1.4.4
- Fixed an issue where Plotly could have a jittery behaviour on Notebooks.
- Added a default
min-height
of200px
forPlotly
, this can be overwritten by setting themin_height
prop or by passingraw_css
. - Fixed an issue where Plotly's hover did not use the correct font.
1.4.2
- Fixed an issue where
Input
of type number displayed zero instead of null when null value was set.
1.4.1
- Fixed issue where in some cases if
Input
of type number value variable was update outside the component, the value would not show.
1.4.0
- Added support for displaying a
value
inSelect
that may not be part of theitems
list.
1.3.2
- Fixed an issue where
Table
would always overflow - Fixed an issue where
NaN
was not handled inInput
withtype=number
- Fixed an issue where one could not set
margin
toText
component - Fixed an issue where
Input
withtype='number'
width could not be changed. - Fixed an issue where
Input
withtype='number'
overflowed when hovered. - Fixed an issue where
Input
withtype='number'
did not take full space available to it. - Fixed an issue where
Datepicker
could be overlapped by other components in a horizontal container. - Fixed an issue where
Select
's (withmultiselect=True
) input took too much space
1.2.3
- Backported Fixed an issue where
Table
would always overflow - Backported Fixed an issue where
NaN
was not handled inInput
withtype=number
- Backported Fixed an issue where one could not set
margin
toText
component - Backported Fixed an issue where
Input
withtype='number'
width could not be changed. - Backported Fixed an issue where
Input
withtype='number'
overflowed when hovered. - Backported Fixed an issue where
Input
withtype='number'
did not take full space available to it. - Backported Fixed an issue where
Datepicker
could be overlapped by other components in a horizontal container. - Backported Fixed an issue where
Select
's (withmultiselect=True
) input took too much space
1.1.10
- Internal:
parseLayoutDefinition
andGraphLayoutDefinition
are now exposed on js sideCausalGraph
object can now accept extras.
1.1.9
- Fixed an issue where
Table
search bar was hidden by the table itself - Fixed an issue where
Datepicker
in controlled mode would sometimes end up in an infinite loop. - Fixed an issue where
Datepicker
if range was given did not show end year in the select. - Fixed an issue where
Table
column resizing would not affect cell width.
1.1.8
- Fixed an issue where
Table
did not return the correct index row when sorted - Fixed an issue where
Table
selection was not persistent. This can now be achieved by passing aVariable
toselected_indices
with thepersist_value=True
flag
1.1.7
- Internal: store upload resolvers in a separate registry
1.0.1
- Fixed an issue where
Switch
would not be aligned by default with other components - Fixed an issue where
Select
did not acceptitems
containing aDerivedVariable
with a list of strings.
1.0.0-a.1
- Initial release