Change log
Version 2.1.0
Released: not yet
New features
- Carousel plugin: Added
length
property Frontfire.delay
: Added optionalabortSignal
parameter- Added
Frontfire.isFunction
- Added
Frontfire.scrollbarWidth
andFrontfire.scrollbarHeight
- ColorPicker plugin: Added
dataColor
property and improved dark theme support - Added
Frontfire.forwardEvent
andFrontfire.unforwardEvent
- Added
Frontfire.dark
- Added
Frontfire.effectiveBackgroundColor
- DataColor: Added "b2" background colour option, making it 3 foreground and equally many background colours
- Added
DataColor.parse
andDataColor.parseGetColor
- Added
radio-group
CSS class - Form row column widths in XAML syntax
ArrayList.maxBy
andArrayList.minBy
ArrayList.sortByUseLocale
andArrayList.sortByDescendingUseLocale
ArrayList.orderByUseLocale
andArrayList.orderByDescendingUseLocale
- Modal plugin: Added
defaultButton
andflexLayout
options,--modal-margin
and--modal-padding
CSS variables, andfull-page
CSS class - Selectable plugin: Added properties to the
change
event - Selectable plugin: Added
isDropdownOpen
property andcloseDropdown
andopenDropdown
methods - Extended
F.scrollIntoView()
to support string parameters for margins to specify relative fill space - Form submit lock: added
showLoadingIndicator
parameter tolock()
method
Bugfixes
- Spinner (actually RepeatButton) is more robust when disabling a button, triggered by a bug in Firefox 119 (fixed in Firefox 124)
- Carousel plugin:
activeItem
property now really returns the element Color()
did not remove its temporary element for color name parsing- Colour picker modal did not remove its modal content element after closing the modal
- Static modal content was not initialised with the
.frontfire()
call - Selectable dropdown was opened when scrolling the page with touch input on the element
- Numeric spinner value was changed when scrolling the page with touch input on a button
- Repeat button with text content did not support touch input
- Tab page was changed when scrolling the page with touch input on a tab header
- Tree reordering of items was not possible with touch input, now dragging items is preferred over vertical scrolling
- Slider value was changed when scrolling the page along the other axis with touch input on the slider element
- Resolved warning from
F.isFirefox()
using a now deprecated feature for browser detection - Modal plugin: Enter key with Shift key does not trigger the default action anymore to allow line breaks in
<textarea>
inputs
Breaking changes
- Modal plugin: Buttons are no longer centred by default. To horizontally centre the buttons, add the
center
CSS class to the<div class="buttons">
element.
Changes
- ArrayList sorting functions have a defined behaviour for null and undefined values.
- F.modal() increases the content width automatically to avoid unnecessary line wrap when a scrollbar is shown
Frontfire.clone
: Handles content of template elements conveniently- Gallery plugin: Improved last row size handling
- Renamed
Frontfire.sleep
toFrontfire.delay
, old name kept as alias
Version 2.0.0
Released: 2023-06-04
New features
- Added
Frontfire.isChromeOS
method Frontfire.on
indicates whether this is the immediate handler invocation by setting theisImmediate
property.
Breaking changes
- Renamed
Frontfire.isMac
method toisMacOS
Changes
dark-invert
CSS class is now available for all elements to also support image stripesFrontfire.visible
property considers visible replacement elements- ColorPicker plugin: Circular hue value selection with arrow keys
- Dropdown plugin: Prevent wheel scrolling if there is nothing to scroll within the dropdown itself
- Selectable plugin: Hide invisible original
<option>
elements in the UI
Bugfixes
Frontfire.moveTo
(used by draggable; then carousel, sortable, timePicker) converted local to document coordinates, resulting in a wrong position- Dropdown opened at the wrong location when setting the
fixed
option - Link-styled buttons did not show the underlining as normal hyperlinks
Version 2.0.0-rc.2
Released: 2023-03-22
New features
- Selectable plugin: items and button are updated on value/text changes in option elements
- Dropdown plugin:
arrow
and related options, 2 new CSS variables for background and border colours,closed
event
Version 2.0.0-rc.1
Released: 2023-03-10
New features
- Carousel plugin
- Gallery plugin
- Resizable plugin
- CSS class
expanded
for initially expanded accordion items - Added styling for the
<mark>
element - ToggleSwitch can be applied to an
<input type="checkbox">
element, also automatically with thetoggle-switch
CSS class - Added
ArrayList.selectManyRecursive
method - Added
Frontfire.deleteOptions
method - Added
deinit()
methods for the ColorPicker, Progressbar, Tree and WheelScrolling plugin.
Breaking changes
- AJAX methods
F.getJSON
,F.postJSON
andF.postForm
returned Promise resolves to undefined (instead of null) on error to be able to indicate the JSON valuenull
as response - AJAX method
F.postForm
renamed toF.postFormJSON
as more AJAX methods were added - ToggleSwitch plugin method does not return a plugin instance anymore, but can convert multiple elements at once
- TreeView plugin renamed to Tree
- Layout properties
F.left
andF.top
do not set the plain CSS property of the same name anymore but the actual position of the element relative to the document. They now only accept numbers as values. The difference is when an element is in a relative-positioned parent that is not at the origin (0/0) of the document.
Breaking changes since v1
- CSS classes
gallery-center
andgallery-right
renamed tocenter
andright
- CSS class
inverted-indicator
of the carousel removed, use thedark
andnot-dark
theme classes instead - Off-canvas
offcanvasopening
,offcanvasopen
,offcanvasclosing
,offcanvasclose
events renamed toopening
,open
,closing
,close
(similar to modal) - Removed undocumented styles for
nav ul.menu
, modify the --menu-* CSS variables for that scope instead - The
dropdown()
plugin method no longer accepts the target element as first parameter. Instead, the target property must be set in the options object. This removes the last inconsistency with Frontfire UI plugin methods that now all have a single options parameter. The target can now also be specified as CSS selector string, also from a data-opt HTML attribute. - The
remove()
method of the Draggable, Resizable and Sortable plugins was renamed todeinit()
and should only be called throughF.deinit()
.
Version 2.0.0-beta.2
Released: 2023-01-05
New features
- Accordion plugin
- ColorPicker/ColorInput plugin,
F.colorPickerModal()
function - TimePicker plugin
- Allow svg icons in buttons
F.value()
function for date/time input fields accepts setting a string value instead of a Date instance- More CSS style support for elements with the
not-dark
class (little tested) - CSS class
indent
for accordion contents - Extended/added
F.scrollIntoView()
,F.scrollToTop()
andF.scrollToBottom()
Breaking changes
- Dropdown and modal color and background properties adapt to the dark theme automatically
languageOverride
options renamed tolanguage
everywhere
Breaking changes since v1
- Colour input fields are used with
<input type="text" class="color-picker">
instead of<input type="color">
- Accordion icons are enabled by default (can be hidden with the
no-icons
CSS class) and fixed (no different icon styles anymore, same as in Tree);
CSS classesplusminus
,plusminus-right
,sidearrows
,sidearrows-right
,updownarrows
andupdownarrows-right
removed
Version 2.0.0-beta.1
Released: 2022-11-13
New features since v1
- ColorPicker plugin
- Notification plugin
- ToggleSwitch plugin
- Tree plugin
- OffCanvas animation events
- Several little enhancements and new methods
Missing from v1
- Accordion (planned for beta 2 – done)
- Carousel (planned for 2.0 – done)
- ColorPicker on form field (planned for beta 2 – done)
- Gallery (planned for 2.0 – done)
- Resizable (planned for 2.0 – done)
- TimePicker (planned for beta 2 – done)
Breaking changes since v1
- Internet Explorer and Classic Edge are no longer supported (haven’t been tested lately anyway)
- jQuery calls replaced by Frontfire, mostly just use
F()
instead of$()
- Sass variables replaced by CSS variables, no need to recompile to customise
- The
data-opt
attribute syntax has changed from jQuery-parsed relaxed JSON to a new CSS-like notation. Complex values may not be supported anymore or harder to write. - CSS class
page-width
is always width-limited, for full width the classfull-page-width
must be used - Hyperlinks are underlined again (except when hovered), customise with the
--link-text-decoration
and--link-hover-text-decoration
CSS variables - CSS classes of messages (
critical
,error
,warning
,information
,success
) must be used together withmessage
- CSS class
wide
for<hr>
replaced withdouble-margin
- CSS classes
left-align
andright-align
renamed toleft
andright
- CSS classes
nowrap-require-*
replaced by combination ofnowrap
andrequire-*
- CSS class
inverted
(withloading
) removed, use dark theme instead <a>
within<div class="buttons">
is no longer a button, add thebutton
class explicitly- JavaScript
frontfire()
method with arguments indicating autostart mode must be replaced with the separateautostart()
method without arguments. - JavaScript
F.modal()
returns Promise instead of accepting a resultHandler option. - Modal and off-canvas option
cancellable
renamed tocancelable
(US spelling, as in DOM events API) - JavaScript
F.updateLastColumn()
renamed toupdateFirstLastColumn()
- The
step
ordata-step
attribute of<input type="number">
elements cannot contain values like "*10" anymore, the step factor must be specified in thedata-step-factor
attribute. - CSS class
white-margin
renamed towhite-border
- Multiple adjacent buttons in a
segmented-input
element must be grouped in an additional<span class="group">
to keep their separator lines. - CSS class
no-autostart
renamed tono-frontfire
- Dropdown method
isOpen
is now a property - Dropdown
dropdownclose
event renamed toclosing
in contexts where it is cancellable andclose
for the final event (the second one is always triggered) - Selectable methods
addChild
andremoveChild
removed, not needed anymore - Selectable event
selectionchange
renamed tochange
(as for native input fields) - Selectable option
allowEmpty
renamed torequired
(similar to HTML), now negated value - Disabled dropdown menu items need the
disabled
attribute on the<a>
child element instead of the<li>
element. - Progressbar event
valuechange
renamed tochange
- Progressbar methods
value
,valuePrefix
andvalueSuffix
are now properties - Tabs methods
activeTab
andpages
are now properties - Tabs property
activeTab
can only handle page nodes, useactiveTabIndex
to use page index numbers. - Sortable method
addChild
removed, not needed anymore - Slider event
valuechange
renamed tochange
- CSS class
dark
for<a|div class="image-overlay-text">
renamed toinvert
- Off-canvas option
push
renamed topushFactor