Changelog
1.16.23
- Fixed an issue with
CodeEditor,Input,Select,Textareacomponents where they would bubble up Enter keypresses when confirming composition using IME input - Fixed
UploadDropzoneerror messages to properly distinguish between wrong file types and multiple files. - Update
RadioGroupto accept newRadioItemtype that also accepts an arbitraryComponentInstanceas the label.
1.16.17
- Fixed a regression where outside updates to a
Variableconnected toSliderwould not be reflected in the slider's value
1.16.16
- Fixed an issue where
Sliderwould 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_labelsprop toSliderto allow for custom labels for the slider's thumbs displayed when using input alternative
1.16.12
- Internal: re-export
@codemirrorpackages to solve duplication of CM dependencies across UMD bundles
1.16.6
- Added a new improved
UiCodeEditorimplementation into this package directly, superseding the old@darajs/ui-code-editorpackage.
1.16.5
- Fixed
UploadDropzonecomponentresolverfield type hinting.
1.16.2
- Fixed an issue where
cai_causal_graph'sNodewasn't serialized inVisualEdgeEncodercomponent.
1.16.1
- Fixed an issue where
AccordionItemwouldn't serialize its children properly
1.15.4
- Fixed an issue where
Slidercomponent would not raise on invalid domain values where step was inferred.
1.15.3
- Fixed an issue where
Plotlycomponent would shrink to zero width in a vertical flex container withalign-itemsset to any value other thanstretch
1.14.8
- Clarified
Variableusage in the docs of some components.
1.14.3
- Added the
languageprop to theCodeEditorcomponent to allow for setting the language of the code editor.
1.14.0
- Fixed an issue where
Plotly's figure nativeheightandwidthwere not obeyed by component.
1.13.1
- Fixed an issue where
Tablewould sometimes convert timestamps in seconds as if they were in milliseconds. - Fixed an issue where
CheckboxGroupcould not have anundefinedvalue. - Fixed an issue where
Plotlyin some cases would not pick up colors from dara theme by default.
1.12.3
- Fixed an issue where
Tablefilters and column sorting would not work correctly due to a prefix in column names.
1.12.2
- Fixed an issue where
Tablecells would not render due to/schemaGET request failing.
1.12.1
- Fixed invisible boolean values in
Tablecells. Tablenow automatically renders all index columns from the DataFrame and expands hierarchical columns.
1.11.5
- Visual tweaks to
Chatcomponent.
1.11.4
- Updated
Codecomponent to support copy to clipboard functionality. - Updated
Codecomponent default themes. - Updated
Codecomponent to display current language.
1.10.6
- Increased performance for initial render of
CausalGraphViewerby up to 2x - Increased performance when updating large graphs in
CausalGraphViewerby up to 50x
1.10.4
- Fixed an issue where
Inputof type number would returnNaNinstead ofNonewithin actions.
1.10.3
- Fixed an issue where
onchangewould not fire forInputandTextareacomponents 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
FcoseLayoutandSpringLayout. 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
SelectandDatepickercomponents in large lists by up to 485x. - Fixed a crash when
selected_items=Nonewas passed toSelect(multiselect=True, ...).
1.9.4
- Revert: "Remove redundant
Noneproperties when serializing components to JSON". This will be brought back in a future minor release
1.9.3
- Allow components to receive
Noneas one of theirchildren - Remove redundant
Noneproperties when serializing components to JSON - Fix an issue where
Selectcomponent would error out in few rare cases
1.9.2
- Fixed an issue with
Cardwhere its content would render with zero height in some scenarios due to a missingflex-growproperty. - Clarified docs for
CausalGraphViewer'seditor_modeprop. - Fixed an issue where the
CausalGraphViewerwould error if the graph was empty in some cases - Added a new 'Save as Image' button to the
CausalGraphViewerUI to download the currently displayed graph pane as a high-resolution PNG image. - Fixed an issue where
valueofSelect(multiselect=True, ...)value would not be displayed even when it's outside the items list.
1.8.6
- Fixed an issue where
Chatbutton looked off centre on different base font size apps. - Fixed an issue where if parent hugged content
NodeHierarchyBuilderwould always scroll. - Fixed an issue where
CausalGraphViewer'sFcoseLayoutwould 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
Selectcomponent types would degrade performance with large number of items (multiselect=Truehas been fixed in v1.8.3).
1.8.5
- Internal (JS): Updated
Markdownto usedara-ui's component. - Updating default theme for
BokehandPlotlyso that background is transparent by default. Chatcomponent 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
CausalGraphViewernow 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_legendsinCausalGraphViewerandVisualEdgeEncoderto reflect that it does not acceptNone. - Fixed an issue where empty
Chatcomponent caused an error due to having undefined length.
1.8.1
Chatcomponent now shows the user who has written a messageChatcomponent now displays its messages content asMarkdown.- It is now possible to add a callback to your configuration for when a message is sent in
Chatcomponent, 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
Chatmessages, changedtimestampprop to be divided into twocreated_atandupdated_at. - Added "(edited)" indicator to the messages which have been edited in the
Chatcomponent. Chatwill now send a message whenEnteris pressed by the user.Chatnow shows a disabled state for theSendbutton if the message to be sent is empty.
1.7.7
- Fixed an issue where if
EditorModewas 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
Chatmessage would overflow instead of wrap. - Fixed an issue where in
Chatcomponent if a newline character was added to a comment, on subsequent reloads it would show '/n' in the message.
1.7.5
- Added new
Chatcomponent. It can be added to any page to display a chat interface where users can add comments about their apps. - Fixed an issue with
NumericInputwhere one could not enter decimal numbers ending in 0. - Fixed an issue where one was not able to type a negative number in
NumericInputunless 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_zoomprop 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
TimeSeriesCausalGraphnow only adds to layers nodes which have at least one other node with the samevariable_name. - Updated so that is
PlanarLayoutis 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):
UploadDropzonenow usesRequestExtrasto pass additional headers to the upload request. UploadDropzonenow hasenable_pasteprop to conditionally activate paste functionality, allowing for more customizable behavior. By default, pasting text directly into theUploadDropzoneis now disabled, requiring explicit activation via theenable_pasteprop.
1.7.0
- Added a new prop
default_legendstoCausalGraphViewerandVisualEdgeEncoderwhich 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):
UploadDropzonenow usesRequestExtrasto pass additional headers to the upload request. - Backported
UploadDropzonenow hasenable_pasteprop to conditionally activate paste functionality, allowing for more customizable behavior. By default, pasting text directly into theUploadDropzoneis now disabled, requiring explicit activation via theenable_pasteprop.
1.6.2
- Added
zerolinedefault color toPlotlytheme.
1.6.0
Graphs
- Added support for tiered layout in
FcoseLayout,PlanarLayout,SpringLayoutandMarketingLayout. It allows for nodes to be placed on tiers following some hierarchy and to further define requirements of nodes positions within that tier. - If
TimeSeriesCausalGraphobject is passed toCausalGraphViewerand no tiers are defines, it will usetime_lagandvariable_nameto define theorder_nodes_byandgrouprespectively. - Added
simultaneous_edge_node_selectiontoCausalGraphViewer, when set to True, the selected node will not be reset when an edge is chosen and vice versa. - Added
layering_algorithmprop toPlanarLayout. This allows users to choose betweenLayeringAlgorithm.SIMPLEXandLayeringAlgorithm.LONGEST_PATHfor the layering step of the d3-dag sugyiama algorithm.
Plotting
- Set
Bokehdefaultmin-heightandmin-widthto350px.
Common
- Renamed:
align-itemstoaligninGrid.Columnto be more consistent with other layout components. - Added
justifyandalignshortcut props toCard,Modal,Form,Grid,Grid.Row,Grid.Column. - Fixed an issue where if setting an initial number value to
Selectand it had a list ofItems, 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
Datepickeralways resulted in the user selecting the whole range instead of the selected input. Buttontext now usesblue1color.
1.5.2
- Fixed an issue where dragging nodes too quickly in
CausalGraphViewerwould cause the node drag to stop working - Fixed an issue where
Soft Directededge 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
AnchorandImagecomponent 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
CausalGraphViewerdid not accept adictof aCausalGraph. - Added support for
cai_causal_graph.causal_graph.SkeletoninCausalGraphViewer.
1.4.6
- Updated
EdgeConstraintTypeto comply to0.3.0ofcai-causal-graph. EdgeEncodernow supportsSOFT_DIRECTEDedge constraint types, displaying a different arrow with a semi-circle tipCausalGraphViewercomponents now properly includesourceanddestinationfields in edge data output as serialized node data rather than their identifiers- Updated so that if no
editor_modeis passed toCausalGraphViewer, then it checks if graph is DAG, if soeditor_modedefaults toEditorMode.DEFAULT, else defaults toEditorMode.PAG. However ifgraph_layoutisPlanarLayoutthen it will always be set toEditorMode.DEFAULT
1.4.5
- Changed
Plotlydefaultmin-heightto be350px. - Changed default font-sizes for
BokehandPlotlycomponents to use16pxfor title, and14pxfor axis labels, legends and tooltips. - Reduced default
Plotlymargins. Update default tooltip background color to be grey. - Fixed an issue where if
RadioGrouphad avalueof an emptyVariablethat thatVariablewould not update.
1.4.4
- Fixed an issue where Plotly could have a jittery behaviour on Notebooks.
- Added a default
min-heightof200pxforPlotly, this can be overwritten by setting themin_heightprop or by passingraw_css. - Fixed an issue where Plotly's hover did not use the correct font.
1.4.2
- Fixed an issue where
Inputof type number displayed zero instead of null when null value was set.
1.4.1
- Fixed issue where in some cases if
Inputof type number value variable was update outside the component, the value would not show.
1.4.0
- Added support for displaying a
valueinSelectthat may not be part of theitemslist.
1.3.2
- Fixed an issue where
Tablewould always overflow - Fixed an issue where
NaNwas not handled inInputwithtype=number - Fixed an issue where one could not set
margintoTextcomponent - Fixed an issue where
Inputwithtype='number'width could not be changed. - Fixed an issue where
Inputwithtype='number'overflowed when hovered. - Fixed an issue where
Inputwithtype='number'did not take full space available to it. - Fixed an issue where
Datepickercould 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
Tablewould always overflow - Backported Fixed an issue where
NaNwas not handled inInputwithtype=number - Backported Fixed an issue where one could not set
margintoTextcomponent - Backported Fixed an issue where
Inputwithtype='number'width could not be changed. - Backported Fixed an issue where
Inputwithtype='number'overflowed when hovered. - Backported Fixed an issue where
Inputwithtype='number'did not take full space available to it. - Backported Fixed an issue where
Datepickercould 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:
parseLayoutDefinitionandGraphLayoutDefinitionare now exposed on js sideCausalGraphobject can now accept extras.
1.1.9
- Fixed an issue where
Tablesearch bar was hidden by the table itself - Fixed an issue where
Datepickerin controlled mode would sometimes end up in an infinite loop. - Fixed an issue where
Datepickerif range was given did not show end year in the select. - Fixed an issue where
Tablecolumn resizing would not affect cell width.
1.1.8
- Fixed an issue where
Tabledid not return the correct index row when sorted - Fixed an issue where
Tableselection was not persistent. This can now be achieved by passing aVariabletoselected_indiceswith thepersist_value=Trueflag
1.1.7
- Internal: store upload resolvers in a separate registry
1.0.1
- Fixed an issue where
Switchwould not be aligned by default with other components - Fixed an issue where
Selectdid not acceptitemscontaining aDerivedVariablewith a list of strings.
1.0.0-a.1
- Initial release