Releases: base-angewandte/base-ui-components
Releases · base-angewandte/base-ui-components
4.0.0 (2024-11-11)
3.1.2 (2024-01-03)
Fixed
- BaseAdvancedSearch: add missing documentation for new filter type
chipssingle - BaseAdvancedSearch: fix default defaultFilter used if prop not set immediately
- BaseAdvancedSearch: include new type
chipssinglein filter validation
3.1.1 (2023-10-02)
Added
- BaseEntrySelector: add new prop
showOptionsRowto allow for removing this element completely
Fixed
- BaseChipsInput: single select higher than multiselect
- saveguard i18n term function against key not being provided
3.1.0 (2023-09-05)
Added
- BaseAdvancedSearch, BaseAdvancedSearchRow: new filter config option
subsetsto indicate filter relations - BaseDateInput, BaseFormFieldCreator: add
date_month_yearoption to BaseDateInput - BaseEntrySelector: make search field element optional
- BaseIcon: add new icon 'institution'
- BaseMenuEntry, BaseMenuList, BaseEntrySelector: new slots
text-content/entry-text-contentandright-side-elements/entry-right-side-elements - added new component BaseBreadCrumbs
Changed
- BaseDateInput: improve ResizeObserver usage and disconnect unneeded observers
Fixed
- BaseAdvancedSearch: loader set true on option select
- BaseAdvancedSearchRow: filter columns overflowing filter container
- BaseDropDown, BaseOptions, BasePagination: add debounce to component resizeObservers
- BaseEntrySelector: 'select none' visibility incorrect
- BaseEntrySelector: add missing background in selection mode without thumbnails
- BaseEntrySelector: amount of selected entries by 'select all' button incorrect
- BaseForm, BaseFormFieldCreator: field type number initial field value not set correctly
- BaseForm, BaseFormFieldCreator: input field slots not working for group fields
- BaseForm, BaseFormFieldCreator: use nested
dropDownListsto allow for identical field names in field groups - BaseForm: form group field drop downs shifted to the left
- BaseForm: margin of BaseToggle is not fitting all use cases
- BaseFormFieldCreator:
showLabelset viafieldPropsis not working (if false) - styleguide: link base-ui-icons.svg instead of copy
3.0.0
⚠ BREAKING CHANGE
- switch from rollup.js and Vue CLI to Vite as build and development tool.
In course of that, the build configuration was changed in a way that components don't need to be added as plugins viaVue.useanymore but can just be registered as regular components again. See Readme for further details on how to add components to a project. - BaseImageBox: Renaming of slots 'footerLeft' and 'footer' to 'footer-left', 'footer-right'.
- BaseMediaPreview: removing the deprecated component - use BaseMediaCarousel instead.
Added
- BaseIcon: add new icon 'people-filled'.
Changed
- switch from rollup.js and Vue CLI to Vite as build and development tool.
- styleguide: implement new styleguide with VuePress instead of Vue Styleguidist.
- BaseImageBox: rename footer slots
- update and rename
npm publishpipeline - add "exports" field to package.json.
- BaseCarousel, BaseMediaCarousel: update swiper from v6 to v9
- BaseCarousel, BaseMediaCarousel: load swiper api only when component is mounted
- BaseCarousel, BaseMediaCarousel: fix swiper init and use the native browser lazy loading feature for images
- BaseMap: import leaflet and related plugins async
- BaseChip: use BaseIcon component for remove icon
Removed
- BaseMediaPreview: remove deprecated component, use BaseMediaCarousel instead.
- remove obsolete update-package-exports build script.
- remove obsolete test setup and jest.config.
Fixed
- BaseTextList: avoid separators for chip rendered links
- BaseBoxButton: built in plus icon not centered
- BaseMediaCarousel: no activeIndex on swiper hide
- styleguide: replace placeimg with picsum example images, since placeimg API not available anymore from June 2023.
- BaseEditControl: styleguide error with
editModedone - BaseForm: demo not working
- BaseMediaCarousel, BaseCarousel: clarify property descriptions
- BaseExpandList: avoid text glitches with class 'supportive-text'
- BaseToolTip: fix property type
v2.0.6
Added
- BaseForm, BaseFormFieldCreator: handle new x-attributes for input fields
- BaseInput: add/handle new properties for input fields type text/number
- BaseForm: adding optional header element settable by new
x-attrsfieldform_group_titleand new proprenderHeaderAs - BaseForm: allow to set fieldProps per actual input field for repeatable fields
- BaseFormGroup: new wrapper component for BaseForm added
Removed
- BaseDatePanel: hide component due to accessibility issues
Fixed
- BaseBoxTooltip: also change icon color on focus and active
- BaseCarousel: error if href missing in carousel list item
- BaseCheckmark: previous changes due to eslint errors now implemented correctly
- BaseDateInput: remove keyboard event again added due to linter error
- BaseDropDown: improve accessibility and existing problems with it
- BaseForm: fix input field slot implementation
- BaseForm: truly center plus icon of repeatable fields
- BaseFormGroups: add missing index.js file for build
- BaseHlsVideo, BaseMediaCarousel: accessibility improvements based on vuejs-accessibility
- BaseInput, BaseChipsInput, BaseMapLocations: improve and fix accessibility changes
- BaseSwitchButton: fixing label input linting error
v2.0.4
Features
- BaseForm: add compact view for field-groups.
Improvements
- BaseProgressBar: display error message below progress bar.
- Decrease size of x in remove.svg to remove visual effect of it appearing larger than other icons.
Bugfixes
- Fixing base-ui-icons path for styleguide on github pages.
v2.0.3
Features
- BaseCarousel: add 'clicked' event to be able to manually trigger action on box click.
Improvements
- BaseCarousel: improve documentation, removing unnecessary properties from example data.
Bugfixes
- BaseForm: wrong default object for fieldProps, boolean field needs default value, improve adding of fieldProps to field properties.
- BaseChipsBelow: remove leftover test code.
- BaseInput / BaseSearch: prevent scaling of X remove icon.
v2.0.0
Breaking Changes
- Icons are now exchangeable and are loaded from a svg-sprite. A default sprite is shipped with the components, however the file
base-ui-icons.svg(or a custom sprite with the icons that are used in your project, named like the icons listed in
BaseIcon) must explicitly be copied to the front-end projectpublicorstatic(NuxtJS) folder in order for icons to be displayed.
Also some icons were renamed:sheet-empty-->file-objectsheet-plus-->add-new-object
- Removed deprecated component
BaseUploadBar, please use improved component BaseProgessBar instead. - BaseResultBoxSection: functionality was heavily refactored, including new dragging functionality and hiding options behind an 'Edit' button.
- Removed props because obsolete due to functionality changes:
optionButtonText,actionButtonText,cancelText,action - Also
eventswere added, removed or renamed in the process, except forsubmit-action - Button text and icon for activating/closing edit mode can be configured with
optionsButtonTextandoptionsButtonIcon, respectively - Option buttons are now configurable via
actionButtonsConfig, so if standard button elements should be used this can be used instead of theoption-buttonsslot. - Edit mode can be set from outside with boolean
editMode, as candraggable. entryListcan now be handled viav-modelshowActionButtonBox-->showActionButtonBoxes: since not one single action is active at the time but all actions may be triggered, so all buttons should be shown- The
.syncmodifier may now be used onselectedList. entryTypeused for getting thei18nstring was removed and the 'Select All/None' text needs to be set viaselectOptionsText.usePaginationanduseExpandModeas distinct props instead of determining pagination use and expand mode use viamaxRowsandmaxShowMoreRowsvalue set, respectively.- Slots were renamed from kebab-case to camel-case.
- Removed props because obsolete due to functionality changes:
- BaseOptions: was also quite heavily refactored:
- Boolean prop
alwaysShowOptionsButtonwas removed and replaced withuseOptionsButtonOnwith the available options 'always', 'never' and 'mobile'. showAfterOptionsInlinewas removed and replaced byshowAfterOptionsBelow, thereby reversing the setting and making the display of slotafterOptionsbelow the default behaviour.buttonTextwas renamed tooptionsButtonTextto clarify purpose and now takes an array of object instead of a string with separate options for options hidden and options visible state.- Options displayed can now be configured via prop
optionsConfigif slot is not used. - Options button icon is also configurable via
optionsButtonIcon, taking an object with separate values for options visible and options hidden state. - Event
options-togglewas renamed toupdate:show-optionsto emit to parent when options button is triggered. Can now be used with the.syncmodifier. - New event
option-triggeredemits an event to the parent when an option button set viaoptionsConfigis triggered with theoptionsConfigobject in question provided as event value.
- Boolean prop
- BaseExpandRow:
- Prop
label-->title. - Removed default string 'Label' for prop
title(formerlabel).
- Prop
- BaseBox: improve prop naming
boxType-->renderElementAs. - BaseMap: added support for multiple locations.
latLongprop is now an array and was renamed tomarker. Also numerous new props were added for improved configurability. - BaseAutocompleteInput: the component was refactored to reuse existing components like BaseInput and BaseDropDownList and to unify events and slots with other input components.
- Event
selectedwas renamed tofetch-drop-down-entries. - Event
autocompletewas renamed toinput. - As for other components props
identifierPropertyNameandlabelPropertyNameare replacingobjectProp. - Many additional props to improve usage and unify with other input elements.
- Event
- The
propsobjectPropandidentifierused to specify the relevant
properties in a passed object were replaced and unified across all components withlabelPropertyNameorvaluePropertyName(depending on how the value is used) and
identifierPropertyNamerespectively. - BaseMultilineTextInput:
- No
defaultslot anymore but unification with other input components (see Features). - Event
text-inputremoved and usinginputinstead to unify with other input components.
- No
- BaseImageBox:
boxSizedefault values changed toauto. - BaseChipsBelow:
- Up to now the data property
roleswas hardcoded in the component - now all references toroleswas removed and propadditionalPropertyNamenow allows a custom property to be chosen as value for the additional chips input field. - Also props
roleOptionsandrolesPlaceholderwere renamed to
additionalPropOptionsandadditionalPropPlaceholderrespectively. - Event
list-changewas renamed toselected-changedto harmonize it with other chips input components. valuePropertyNamewas renamed tolabelPropertyNameto better reflect the use of the variable.identifierPropertyNameandlabelPropertyName(formervaluePropertyName) default string value was changed from emtpy string to 'id' and 'label' respectively.
- Up to now the data property
- BaseMenuList: rename misleading prop name
selectedtoselectActive. - BaseChipsInput:
- Removed events
show-drop-downandhide-drop-down. - Remove prop
chipsInlinethat was replaced bydisplayChipsInlineto clarify purpose previously. - Event
selectedwas renamed toselected-changed.
- Removed events
- BaseDropDownList: remove default text string 'No options available' for prop
dropDownNoOptionsInfo. - Numerous internal CSS classes were renamed to fit the general naming structure. This should not be of any concern if you are just using the components in your project but in case you are targeting any of these classes directly, things might break.
Features and Improvements
- New components:
- BaseAdvancedSearch: a component to allow for all kind of searches, fulltext, controlled vocabulary, autocomplete, dates with the help of filters.
- BaseEntrySelector: A component to select options from a list, including search, options and pagination elements.
- BaseMapLocations: a component using BaseMap for displaying locations on a map, a list of addresses and allows for interactions between both.
- BaseExpandList: render a list in with sublists in expandable containers.
- BaseEditControl: header with control buttons for edit mode functionality.
- BaseImage: component to render an image and optional lazy loading.
- BaseMediaCarousel: Component allowing sliding through images, audio, video (currently only hls format) and files.
- BaseLink: component to render different kind of links.
- BaseToolTip: a tooltip box.
- BaseUploadPopUp: pop up component for upload functionality.
- All form input components (e.g. BaseInput) received additional
propsfor handling errors/invalid input and disabled state:
disabled,invalid,errorMessage,showErrorIcon,clearable. These properties can also be conveyed via BaseFormFieldCreator and BaseForm respectively,
either directly for all input fields (clearable,showErrorIcon) or for individual fields viafieldProps(required,invalid,errorMessage). - Form input components received
slotsfor additional customization possibilities:label-addition,pre-input-field,input-field-addition-before,input-field-inline-before,input-field-addition-after,post-input-field,error-icon,remove-icon,below-input.
For a demonstration see [BaseChipsInputField](https://base-angewandte.github.io/ba...