Committed but unreleased changes are put here, at the top. Older releases are detailed chronologically below.
popover-content-wrapper
: Added:optimize-position?
prop.
nested-grid
: Adjust flex-child style & internal layering
nested-grid
: Fixed overflow behavior when behaving as a flex item.nested-grid
: Fixed:remove-empty-column-space?
and:remove-empty-row-space?
props
nested-grid
: Fixed sticky-top of row-headers when export-button is hidden
nested-grid
: restored missing style for the cell-wrapper part
nested-grid
alt-key debugging actually uses the alt-key (not ctrl).
- New closure-define,
re-com.config/debug-parts?
(boolean): overrides goog.DEBUG to enable some debug features. Currently, this only affects nested-grid. You can alt-click any cell to log its props. - New closure-define,
re-com.config/log-format
(string): how to log. Options:- "js": js console (default)
- "pr-str" plain-text, pr-str
- "pretty" plain-text, pprint
nested-grid
- Fix:show-export-button?
prop.nested-grid
- Fix alignment when declared in column-headernested-grid
- Fix sticky-top when:sticky?
is true
nested-grid
- alt-click a cell while in DEBUG mode to print its:column-path
and:row-path
.
single-dropdown
- No longer aligns itself at the beginning of a flex container (i.e., removed ``align-self: flex-start`).nested-grid
- Row-header labels are now sticky within their grid areas.
nested-grid
-:sticky?
prop
nested-grid
is now a flex item, taking up as much vertical and horizontal space as possible.
nested-grid
-:remove-empty-row-space?
and:remove-empty-column-space?
props.
nested-grid
- Improved scroll performance with large grids
nested-grid
- now maximizes its vertical flex space by default.
- Reverted
tree-select-dropdown
. Identical to 2.21.25.
tree-select-dropdown
- Dynamic sizing WIP.
nested-grid
- Export button stays mounted, even when:show-export-button?
is off. This is useful when automating the export behavior by targeting the button with a click event.nested-grid
- Exports now make use of the:cell-value
function by default.nested-grid
-:on-export-column-header
now accepts a:column-path
prop (same for:on-export-row-header
).
tree-select-dropdown
- Renamed most of the parts (still unstable).
nested-grid
- Fixed missing cell borders- Fixed parts system not working in some alpha components.
nested-grid
-:theme-cells?
prop, useful to optimize render performance.
nested-grid
- Optimized performance.
nested-grid
- Header grid sizes are more correct.
nested-grid
- nested headers render correctly again.
nested-grid
- More parts, better themeing supportnested-grid
- optional:align
key for column-specs.
nested-grid
- resizing columns works again (without rendering every cell).
single-dropdown
-:drop-direction
prop. Overrides any behavior which would position the body dynamically.:up
or:above
positions the body above the anchor,:down
,:dn
or:below
positions it below.nested-grid
- optional:align-column
&:align-column-header
keys for column-specs.
single-dropdown
-:can-drop-above?
now works again.
dropdown
- New:show-backdrop
? prop. Defaults tonil
.
dropdown
- The:backdrop
part is now purely visual. Clicking outside the anchor or body still closes the dropdown. Instead of:backdrop
, a global event handler now handles this behavior.
datepicker-dropdown
-:parts
can now target the:anchor-label
part.datepicker-dropdown
- Added an optional:date-cell
argument. This is one of the new "part" arguments, acceping a string, a hiccup or a reagent component function.
-
dropdown
- Removed:line-height
style from the theme.:line-height
was left-over from old bootstrap css. Bootstrap used it to achieve a semblance of vertical centering of text in the anchor. Since we use a re-com box, we can do vertical centering in a nicer way. -
dropdown
- More consistent handling of width/height props.:width
applies to both anchor and body, while:height
applies only to the body. You can override this behavior for specific parts using:anchor-width
,:anchor-height
,:body-width
and:body-height
.
dropdown
-:height
,:body-height
&:body-width
props
- New
error-modal
component (alpha).
dropdown
- Always drops down when not clipping. Before, this component would choose a body position closest to the vertical center of the viewport. Now, it chooses a position below the anchor, unless that would cause the body to clip.simple-v-table
- Renamed:row-export-fn
to:on-export-row-label-fn
.
tree-select-dropdown
- Fixed a runtime error when:expanded-groups
is not passed.
tree-select-dropdown
- Now the anchor label uses a:span
, and doesn't underline on hover.
tree-select-dropdown
- Tweaked styling, expanded the:label
part (alpha).
tree-select-dropdown
- Added:on-group-expand
,:expanded-groups
&:show-only-button?
props.
tree-select-dropdown
- Added:required?
,:show-reset-button?
,:on-reset
,:body-header
&:body-footer
props.`
single-dropdown
- Fixed disabled style. Now disabled dropdowns appear greyed-out again.tree-select
- Fixed expander buttons not showing up in some browsers. Now they use svg, not unicode chars.single-dropdown
- Adjusted triangle indicator. Now uses svg, not a sprite.
tree-select
- Fixed non-responsive behavior when passing:model
as value, (not a reagent/atom).
simple-v-table
- Removed default header-labels, since they show up badly in existing apps. (#340)
- Crash when declaring :sort-by for simple-v-table headers in top-left section
- Invisible icons & broken execution in simple-v-table headers (#339)
- New tooling, using
bb.edn
anddeps.edn
.
nested-grid
(alpha) - new component for multidimensional tabular data viewing.dropdown
(alpha) - generic dropdown component.:theme
(alpha) - a general solution for themeing components.
popover-tooltip
- added a prop for the color of each status.
v-table
,simple-v-table
fixed performance drop when scrolling through sorted rows.
simple-v-table
-:on-export
,:export-button-renderer
and:show-export-button?
tree-select
-:parts
prop should work now. (#335)
simple-v-table
- Shift-click multiple columns to sort hierarchically.
simple-v-table
column headers now are now :vertical-align "center"
simple-v-table
column headers now :align correctly. Also, :vertical-align now only affects cells, not headers.
- Replace deprecated
r/dom-node
with ref callbacks. (#329, #334) Thanks RolT for PR.
- Cleanup & fixes for the new tree-select component.
- Tree-select component (alpha)
- Change colour of
:focus
outline on non-native components such asbutton
andsingle-dropdown
simple-v-table
sortable column icons now only appear on hover. Requires copying updatedre-com.css
to your project.
- Add parts to tag-dropdown for internal selection-list
- Add simple-v-table striped? argument
- Expose tag-dropdown/text-tag via re-com.core/text-tag
- :disabled? prop for tabs & tab pickers (#331)
- :filter-fn prop for multi-select (#304)
- Selected tabs & radio buttons no longer trigger their on-change handler (#333)
- Use alert-circle for input-text error state, not spinner (#325)
- Stop using deprecated keycodes. This fixes some edge cases with keyboard layouts. (#197)
- Props which are non-reactive atoms are now caught in validation. (#291)
- Fix
re-com.core/at
macro availability via:refer
so you can now simply do:
(:require
[re-com.core :refer [at]])
- Fix
re-com.core/at
macro eliding (i.e. return nil) in production builds. - Fix logging of source urls in validation errors or
stack-spy
when nore-com.config/root-url-for-compiler-output
Closure Define is provided in the compiler configuration; i.e. do not log the URL as missing the required information to create a valid URL.
- Fix
datepicker-dropdown
exception. Regression in 2.13.0.
When upgrading any app to use this version, please update the following:
re-com.css
css/material-design-iconic-font.min.css
fonts/Material-Design-Iconic-Font.eot
fonts/Material-Design-Iconic-Font.svg
fonts/Material-Design-Iconic-Font.ttf
fonts/Material-Design-Iconic-Font.woff
fonts/Material-Design-Iconic-Font.woff2
- Add new debugging features, including the new
:src
parameter. The debug page explains more. Note: where previously parameter validation errors raised exceptions, now components instead draw themselves as a red, placeholder box, and write error information to the devtools console. This is a gentler, more informative approach - exceptions are too jarring and result in a blizzard of confusing React stack traces in the console. - Add a new compiler configuration
re-com.config/root-url-for-compiler-output
. The config page explains more. - Add column sorting feature to
[simple-v-table]
. Column specifications can now, optionally include a:sort-by
key. - Add new arguments to
[tag-dropdown]
including:required?
,:min-width
,:max-width
,:abbrev-fn
and:abbrev-characters
. - Add the argument
:split-is-px?
to[splitter]
. See #178 - Add year navigation buttons to
[datepicker]
. See #109 Breaking the HTML structure for thedatepicker
navigation section was changed and certain CSS classes have been renamed/changed. If you have custom CSS selectors targeting these parts, you'll need to edit as follows:available
torc-datepicker-selectable
disabled
torc-datepicker-disabled
off
torc-datepicker-unselectable
(for unselectable days) orrc-datepicker-out-of-focus
(for days not in the current month)selected
torc-datepicker-selected
today
torc-datepicker-today
.
- Previously, the argument and parts description data structures (for each component) were incorrectly included into production builds. This is now fixed.
(i.e. when
js/GOOG.debug
is false). [datepicker]
week number calculation with arbitrary:start-of-week
argument. See #159[tag-dropdown]
popover alignment is now centered under the component, rather than off to the left.- Fix the
disabled? true
state styling of[tag-dropdown]
- Fix the
disabled? true
state styling of[datepicker]
[alert-list]
no longer ignores individual alert:style
argument. See #83
[text/p]
is now an alias to[text/p-span]
. Externally this means no change. But interally, it is implemented using[:span]
instead of[:p]
(allowing you to embedboxes
etc). Breaking Because of the change in HTML elements used, your custom CSS selectors targettingp
elements will have to be changed to targetspan.rc-p
.
- Breaking
- Removed the
tag-dropdown
arguments:tag-width
,:tag-height
,:tag-comp
and:on-tag-click
. To fix, remove use of these arguments from your code. - Changed default of
:unselect-buttons?
tofalse
, if you want to maintain the old behaviour then add:unselect-buttons? true
to the arguments passed to the component.
- Removed the
Both of these components are still Alpha
. Iterative improvements have continued
causing some breaking changes.
- Breaking:
-
Argument renames. This will break any CLJS code that pass the arguments to the components. To fix, change the arg to use the new name:
:header-renderer
arg ofsimple-v-table
to:column-header-renderer
:max-table-width
arg ofv-table
andsimple-v-table
to:max-width
:scroll-cols-into-view
arg ofv-table
to:scroll-cols-into-view
:col-header-renderer
arg ofv-table
to:column-header-renderer
:col-header-height
arg ofv-table
to:column-header-height
:col-header-selection-fn
arg ofv-table
to:column-header-selection-fn
:parts
args that match:v-table-*
to:*
(in other words, removev-table-
):parts
args that match:*-col-*
to:*-column-*
:id-fn
arg has been renamed:key-fn
and its default has been changed from:id
tonil
. If you leave it blank or pass nil, it will use the row's internally generated 0-based row-index instead of :key-fn:style-parts
arg ofv-table
to:parts
- Then wrap any style maps in a map with a key of
:style
. For example::style-parts {:v-table {:background-color "lightgrey"}} ;; becomes... :parts {:wrapper {:style {:background-color "lightgrey"}}} ;; notice, the above also included a :v-table => :wrapper conversion
- Then wrap any style maps in a map with a key of
-
Rename
:valign
insimple-v-table
:columns
specification to:vertical-align
to match the associated CSS property. Fix the documentation and demos of the same. -
:attr-parts
arg ofv-table
has been removed. You need to incorporate it into the:parts
arg. For example::attr-parts {:v-table-top-left {:on-click (handler-fn ...)}} ;; becomes... :parts {:top-left {:attr {:on-click (handler-fn ...)}}} ;; notice, the above also included a :v-table-top-left => :top-left conversion
-
- Fix v-table as
:model
deref was broken in last release. - Fix
[multi-select]
and[selection-list]
scrolling whendisabled?
- Fix
[datepicker]
styling of disabled/unselectable vs days out of the current month
- Breaking
- Remove
re-com.misc
ns. Replaced byre-com.checkbox
,re-com.input-text
,re-com.radio-button
,re-com.slider
,re-com.progress-bar
andre-com.slider
. If you requirere-com.misc
directly in your code, instead of using the aliases inre-com.core
, then you will need to change that to the appropriate new namespace reference(s).
- Remove
- Add
:parts
argument to all components that are constructed from a hierarchy of elements. See 'Parts' section of component pages at https://re-com.day8.com.au/. - Add
multi-select
. See https://re-com.day8.com.au/#/multi-select. - Add
v-table
andsimple-v-table
. See https://re-com.day8.com.au/#/v-table and https://re-com.day8.com.au/#/simple-v-table. - Add
tag-dropdown
. See https://re-com.day8.com.au/#/tag-dropdown. - Add optional 2-arity variant of
on-change
toinput-text
. Fixes #219.
- Improved
disabled?
styling of many components.
- Change popover-anchor-wrapper to allow the use of values in
showing?
. See #153
- Add 15 new attributes and 1 fix to single-dropdown. See #202
- Add datepicker i18n and ability to set its width. See #201
- Add :on-alter to input-text-base. See #200
- Add tooltip to horizontal-bar-tabs & :validate?. See #199
- Remove reset! of external-model in input-text-base event handlers. Fixes #219 Caused regression of #187. Fixed in 2.11.0.
- Fix consistency of
disabled?
arg - Fix CSS comment syntax. See #222.
- Fix typeahead not taking external changes into account. See #206
- Upgrade ClojureScript to 1.10.773
- Upgrade shadow-cljs to 2.10.19
- Upgrade core.async to 1.3.610
- Fix Reagent deprecation warning
- Fix #212 - Warning/future error in React 16 (also improved the tab-index demo)
- Fix bug where single-dropdown was optimistically updating the model and ignoring any model validation/changes made by the caller (same bug was fixed in input-text a while back: commit ebad92bc)
- Fix invalid markup in dropdown async demo
- Fix "validateDOMNesting(...): div cannot appear as a descendant of p" warning in info-button demo
- Fix #185. Also added other new html attributes and new css styles
- Remove ^:const references as this compile error was appearing in the demo: thheller/shadow-cljs#708
- Fix potential 'Cannot find local Karma!' error on GitHub Actions
- Upgrade reagent to 0.10.0
- Use
reagent.impl.component/component-name
instead ofcomponent-path
which has been removed upstream. - Use
reagent.dom/dom-node
instead of deprecatedreagent.core/dom-node
.
- Default index for
lein dev-auto
HTTP server is nowindex_dev.html
instead of a 404 error. Thanks to @mmower's report on Clojurians.
- Upgrade reagent to 0.9.1
- Upgrade shadow-cljs to 2.8.80
- Upgrade ClojureScript to 1.10.597
- Upgrade karma to 4.4.1
- Upgrade org.clojure/core.async to 0.7.559
- Upgrade binaryage/devtools to 1.0.0
- Fix typeahead does not take external model changes into account anymore. See #205.
- Migrate to shadow-cljs and lein-shadow