selection-list: Fixitem-rendererproducing invalid hiccupselection-list: Fix:parts {:label {...}}map overrides losing label text
selection-list: Fix inner render function not re-reading updated args, causing model changes to be ignored. #363
- Full
:parts&:themesupport for most components (excludingpopover,v-tableandsimple-v-table). input-text: added:throbberpart.
popover: Now supports passing:popoveras a hiccup with a single map argument, as opposed to positional named args. Positional named args still work. However, if the hiccup has no args at all, thenpopoverwill "inject" its special args in the form of a map.
single-dropdown::free-text?functionality restored
tag-dropdown: added:max-heightparameter with reasonable default for dropdown menutable-filter: improvedtag-dropdownsizing defaults within filter interface
alert-box,alert-list,checkbox: full support for:parts&:theme
Improved cljdocs: https://cljdoc.org/d/re-com/re-com/2.28.3
table-filter: New UI component for creating filters for tabular dataselection-list::only-buttonand:show-counterpropstag-dropdown::only-buttonand:show-counterprops- Turned
nested-v-gridinto the one and onlynested-grid(deleted the oldnested-grid). nested-grid::show-zebra-stripes?propnested-grid::sticky-child?,:sticky-topand:sticky-leftpropsinput-text: now can accept a single map argumentinput-password: now can accept a single map argumentinput-textarea: now can accept a single map argument
daterange: Fix daterange availability in re-com public APIp: no longer shows a "bad-attribute" error (caused by re-com internals)error-modal: fixed text wrapping in code blocks- Fixed missing cljdocs - https://cljdoc.org/d/re-com/re-com/2.28.0
tree-select-dropdownfix missing:counterpartnested-v-grid: only allow vectors for:column-tree&:row-tree
*-tabs: Restored old behavior of the:styleprop (it applies to an inner part, not the wrapper).
vertical-pill-tabs: made them actually vertical, not horizontal
- Documentation for parts & themes in the re-com demo
*-tabscomponents: full support for:partsand:theme
*-tabscomponents: changed some of the "re-com-*" class names to be more standard
- More developer docs, in
/docs tree-select-dropdown: full:partssupport for the:counterpart.
- Deleted leiningen. Replaced with tools.build
dropdown::offset-xand:offset-y(number) props.
dropdown: made:style&:attrprops apply only to the wrapper part, not the anchor-wrapper.tree-select-dropdown: made:style&:attrprops apply only to the wrapper part, not the dropdown-anchor-wrapper.
alert-box: Fix styling derived from the:alert-typeprop. #351 @cerr0s-loanpro
- All components can accept a vector of strings as their
:classargument. Nested vectors work, as well (they get flattened). tree-select-dropdown: Added:change-on-blur?prop
nested-grid: Fixed crash when exporting
nested-grid: Renamed :header-spacer to :corner-headernested-grid: Use available flex cross-size (don't shrink to 0)
nested-grid: Add:on-export-corner-headerprop.popover: Add :optimize-position? propdropdown: Add :chosen-single parttree-select: When multiple items with the same id are selected, the anchor label now only shows one.nested-grid: Add :on-init-export-fnpopover-content-wrapper: Added:optimize-position?prop.
dropdown: Now uses fixed positioning to position the body
popover: was missing code to apply quite a number of :parts overrides, for both :style and :attrnested-grid: Fix ellipsis overflow for row-headerserror-modal: Fix react errors when x-button is mounted
- Argument validation now gives a warning when you use a camel-cased prop key.
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-gridalt-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-pathand: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-gridis 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-valuefunction by default.nested-grid-:on-export-column-headernow accepts a:column-pathprop (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:alignkey for column-specs.
nested-grid- resizing columns works again (without rendering every cell).
single-dropdown-:drop-directionprop. Overrides any behavior which would position the body dynamically.:upor:abovepositions the body above the anchor,:down,:dnor:belowpositions it below.nested-grid- optional:align-column&:align-column-headerkeys for column-specs.
single-dropdown-:can-drop-above?now works again.
dropdown- New:show-backdrop? prop. Defaults tonil.
dropdown- The:backdroppart 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-:partscan now target the:anchor-labelpart.datepicker-dropdown- Added an optional:date-cellargument. This is one of the new "part" arguments, acceping a string, a hiccup or a reagent component function.
-
dropdown- Removed:line-heightstyle from the theme.:line-heightwas 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.:widthapplies to both anchor and body, while:heightapplies only to the body. You can override this behavior for specific parts using:anchor-width,:anchor-height,:body-widthand:body-height.
dropdown-:height,:body-height&:body-widthprops
- New
error-modalcomponent (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-fnto:on-export-row-label-fn.
tree-select-dropdown- Fixed a runtime error when:expanded-groupsis 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:labelpart (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-footerprops.`
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:modelas 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.ednanddeps.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-tablefixed performance drop when scrolling through sorted rows.
simple-v-table-:on-export,:export-button-rendererand:show-export-button?
tree-select-:partsprop should work now. (#335)
simple-v-table- Shift-click multiple columns to sort hierarchically.
simple-v-tablecolumn headers now are now :vertical-align "center"
simple-v-tablecolumn headers now :align correctly. Also, :vertical-align now only affects cells, not headers.
- Replace deprecated
r/dom-nodewith ref callbacks. (#329, #334) Thanks RolT for PR.
- Cleanup & fixes for the new tree-select component.
- Tree-select component (alpha)
- Change colour of
:focusoutline on non-native components such asbuttonandsingle-dropdown simple-v-tablesortable column icons now only appear on hover. Requires copying updatedre-com.cssto 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/atmacro availability via:referso you can now simply do:
(:require
[re-com.core :refer [at]])- Fix
re-com.core/atmacro eliding (i.e. return nil) in production builds. - Fix logging of source urls in validation errors or
stack-spywhen nore-com.config/root-url-for-compiler-outputClosure 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-dropdownexception. Regression in 2.13.0.
When upgrading any app to use this version, please update the following:
re-com.csscss/material-design-iconic-font.min.cssfonts/Material-Design-Iconic-Font.eotfonts/Material-Design-Iconic-Font.svgfonts/Material-Design-Iconic-Font.ttffonts/Material-Design-Iconic-Font.wofffonts/Material-Design-Iconic-Font.woff2
- Add new debugging features, including the new
:srcparameter. 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-bykey. - Add new arguments to
[tag-dropdown]including:required?,:min-width,:max-width,:abbrev-fnand: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 thedatepickernavigation 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:availabletorc-datepicker-selectabledisabledtorc-datepicker-disabledofftorc-datepicker-unselectable(for unselectable days) orrc-datepicker-out-of-focus(for days not in the current month)selectedtorc-datepicker-selectedtodaytorc-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.debugis false). [datepicker]week number calculation with arbitrary:start-of-weekargument. See #159[tag-dropdown]popover alignment is now centered under the component, rather than off to the left.- Fix the
disabled? truestate styling of[tag-dropdown] - Fix the
disabled? truestate styling of[datepicker] [alert-list]no longer ignores individual alert:styleargument. 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 embedboxesetc). Breaking Because of the change in HTML elements used, your custom CSS selectors targettingpelements will have to be changed to targetspan.rc-p.
- Breaking
- Removed the
tag-dropdownarguments:tag-width,:tag-height,:tag-compand: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? trueto 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-rendererarg ofsimple-v-tableto:column-header-renderer:max-table-widtharg ofv-tableandsimple-v-tableto:max-width:scroll-cols-into-viewarg ofv-tableto:scroll-cols-into-view:col-header-rendererarg ofv-tableto:column-header-renderer:col-header-heightarg ofv-tableto:column-header-height:col-header-selection-fnarg ofv-tableto:column-header-selection-fn:partsargs that match:v-table-*to:*(in other words, removev-table-):partsargs that match:*-col-*to:*-column-*:id-fnarg has been renamed:key-fnand its default has been changed from:idtonil. 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-partsarg ofv-tableto: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
:valigninsimple-v-table:columnsspecification to:vertical-alignto match the associated CSS property. Fix the documentation and demos of the same. -
:attr-partsarg ofv-tablehas been removed. You need to incorporate it into the:partsarg. 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
:modelderef 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.miscns. Replaced byre-com.checkbox,re-com.input-text,re-com.radio-button,re-com.slider,re-com.progress-barandre-com.slider. If you requirere-com.miscdirectly 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
:partsargument 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-tableandsimple-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-changetoinput-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-nameinstead ofcomponent-pathwhich has been removed upstream. - Use
reagent.dom/dom-nodeinstead of deprecatedreagent.core/dom-node.
- Default index for
lein dev-autoHTTP server is nowindex_dev.htmlinstead 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