This repository was archived by the owner on May 18, 2021. It is now read-only.
Releases: katalyst/ornament
Releases · katalyst/ornament
v2.3.2
Changes
- a2hs now supports seperate non-action elements to show so you can provide additional content around the add to homescreen action
- Drilldown is now categorised as a navigation component
- Restyled Drilldown defaults to look like the page navigation styles
- Improved example of custom drilldown in documentation
- Added warning to top of modal styleguide page noting the react dependancy
- Carousels can now not render any navigation by adding
data-carousel-no-nav
to the container - Carousels can now have a "counter" navigation style by setting the value of
data-carousel-nav
to "counter" - Carousels now default position of navigation to "bottom" and removed the need for the custom
data-carousel-nav
elements when just using dots - Added styling and example of a card with a carousel instead of an image
- Video and youtube modals now automatically ratio size to 16x9, which can be customised with a new
ratio
prop
Fixes
- Added missing modal layout in generated styleguide controller
- Removed
perspective
from drilldown to fix blurriness in chrome, this means that any 3d transforms will no longer look 3d by default - Allowed Drilldown container to be a
nav
element - Stopped
form-enhanced
from running against hidden input fields to fix issues with cocoon remove actions - Removed npm
tiny-slider
for now and implemented custom version that implments Pull Request 361 to fix reponsive issues with carousel of cards, once that pull request is approved and released we can switch back to npm version - Removed default lazyload setting on carousel as it doesn't appear to be working correctly
v2.3.1
- Removed console.log spam from
ShadowScroller
- Fixed the
navigation--item-description
element being rendered in the navigation renderer when the description was empty - Converted menu-with-more inline styles from
inline-block
toinline-flex
to fix compilation issues - Fixed incorrect docs for menu with more renderer example
- Removed chapter navigation from homepage
v2.3.0
Rails UJS integration
There are functions that both Ornament and RailsUJS have built to get around the old dependancy that both had on jQuery.
Rather than both building out functionality and doubling up on code, Ornament will start moving toward using RailsUJS' functions rather than providing our own.
This will make RailsUJS a hard dependancy.
Layout changes
- Merged
application
andglobal
layouts, removing theglobal
layout - Rebuilt default page layout in flexbox columns
- Added
page_fullwidth
yield to remove alllayout--main
andlayout--container
code from around the page content - Re-ordered yields
- Switched to overlay tray by default
- Added
root_path
link around header text - Added year reference in footer
- Added placeholder
koi_render_navigation
in mobile tray - Added sample navigation code with placeholder
koi_render_navigation
- Added
#top
anchor point
Documentation Changes
- Added autogenerating table of contents to top of documentation pages
Modal rebuild
- Removed
magnific-popup
and relatedlightbox.js/.css
files, rebuilt modals in react usingreact-modal
- Removed the
Shadowable
JS utility in favour of a reactShadowScroller
component
Seo rebuild
- Added new
meta
rails helper to make setting lots of meta tags easier - Rebuilt the SEO partial to use the
meta
helper, added support for much more specific settings for things like twitter and facebook if they need to be different from the generic global stuff e.g. you can now setfacebook_title
for a facebook-specific title,twitter_title
for a twitter-specific title andtitle
for the page title tag - Using app name as default site name rather than Ornament Styleguide
Changes
- Added
-b 0.0.0.0
to procfile so it can be accessed via network by default - Added
coloured-headings
mixin to highlight headings in the normalcontent
aspect, disabled by default - Added
aria-label
to variousnav
elements throughout styleguide - Removed unnecessary
role='navigation'
on somenav
elements - Added a jQuery-less
cocoon.js
alternative, present invendor.js
, disabled by default - Disabled jQuery by default along with any remaining components that require jQuery. These are considered opt-in and deprecated
- Added docs for a2hs
- Added base response in service worker to allow enhanced PWA banner and enhanced add2hs on Chrome for Android
- Disabled the native appinstallbanner call via
beforeinstallprompt
when a2hs UI is disabled - this means there is no app install prompt of any kind by default. Developers can either enable the call inregister-service-worker.js
or build a UI for it. - Added support for
{passive: true}
event listeners inOrnament.U.bindOnce($element, "scroll", func, { passive: true });
- Added jQuery-esque selector shorthand
Ornament.$()
Ornament.triggerEvent
first argument is now optional, if left out will be triggered ondocument
- Navigation now has
selected
styling along with samples - Navigation focus styles only show for keyboard users
- Navigation child menus appear when focused on parent links when not using toggles, as a keyboard user, in browsers that support
focus-within
- Navigation now supports descriptions
- Added page navigation implementation example using the ornament simple-navigation renderer
disable-mouse-outline
now also removes the outline on touch as well as mouse interaction
Fixes
- Fixed
Ornament.Data
documentation on drilldown page - Fixed
embed.js
youtube helper argument order - Fixed
TrayOverlay
not closing when clicking on the background overlay on touch devices - Fixed
TrayOverlay
being always hidden
v2.2.1
Changes
- Added
$PORT
flag to the procfile, so when running with foreman you can specify portforeman start -f Procfile.dev -p 4000
- Added
if Rails.env.development?
conditionals to the styleguide paths - Removed responsive gutters from spang
- Added ability to independentaly set X and Y gutters in Spang
- Added abilty to turn X and Y gutters gutters in Spang off using
false
keyword - Added left and right arrows to
Ornament.U.keyCodes
OrnamentNavRenderer
now includesdata-navigation-level
attribute on all buttons and linksOrnamentNavRenderer
now wraps all button and link content in spans- Added support for third-level fly out menus in both
navigation.scss
for styling andsimple-navigation.js
for keyboard access - Lightened up the base styling for navigation, made arrows smaller by default
- Added
split_parents
option toOrnamentNavRenderer
for instances where parents are links but still need togglable child menus - Added
Carousel
option,autoplayVideos
to autoplay videos when transitioning to them in the carousel. Disabled by default and undocumented
Fixes
- Removed the
hello_world
route generated by React on Rails - Fixed
slide.js
not respecting parent container dimensions - Fixed crash when using
drilldown
merge option - Fixed
drilldown
skipping every second link when generating new list - Fixed
menu-with-more
crashing on load - Fixed
carousel
not initialising properly after the 2.8 update
v2.2.0
Major Changes
- Moved all ornament assets to webpacker instead of sprockets
sass-rails
anduglifier
gems are no longer required, instead they (and some other vendor dependencies) are installed via webpacker / yarn- Added
react_on_rails
andforeman
dependancies
v2.1.1
Changes
- Updated Rails in test/dummy app to 5.2
- Replaced
jquery_ujs
withrails-ujs
- Removed
lightbox-rails-confirm
component now that jquery_ujs has been removed - Added basic structured data block to the
seo
partial along with a yield to customise as needed
v2.1.0
Dependancy changes
- Significant push to remove jQuery as a dependancy
- Replaced tooltips with tippy and a light integration wrapper
- Replaced fotorama with tiny-slider
- Due to some of the component rewrites there are several features lacking in this build of Ornament, that we will endevour to bring back in future builds. These are being tracked in the Ornament board.
Changes
- Removed the legacy tabs solution and implemented a new simple tab solution that piggy-backs off of toggle instead.
- Added a couple of jQuery polyfill functions namespaced to
Ornament.$
for getting parent elementsOrnament.$.nodeIndex(element);
Ornament.$.remove(element);
Ornament.$.parent(element, matcher);
Ornament.$.parentWithClass(element, classRequired);
Ornament.$.parentWithAttribute(element, attributeRequired);
- Added
Ornament.slide
functions to replace jQuery slideUp/slideDownOrnament.slideUp(element, timing, callback);
Ornament.slideDown(element, timing, callback);
Ornament.slide(element, timing, direction, callback);
Ornament.Data
is a global element data storage to replace$(element).data()
, it comes withOrnament.Data.get(element, key)
andOrnament.Data.set(element, key, value)
Ornament.U.bindOnce
can now accept multiple event names, eg.Ornament.U.bindOnce(element, "click focus blur", doTheThing);
- Removed jQuery option in
Ornament.U.findData
- Added
Ornament.U.delegateBindOnce(wrapper, target, eventName, functionName, opposite?)
as a way to bind an event via a wrapping element. This can be used as a replacement for delegated jQuery events - Added
Ornament.U.bodyScrollToElement(element)
for scrolling to an element rather than a scroll position - Replaced
data-ornament-icons
and relatedOrnament.icons
namespace with specific icons objectOrnicons
- New utility,
Ornament.U.keyCodes
for common keycode mapping, eg.if(event.keyCode === Ornament.U.keyCodes.up) { doUpMethod() }
- Added polyfill for
element.closest
- Added polyfill for
Promise
- Added polyfill for
fetch
andAbortController
Fixes
- Fixed simple navigation renderer applying
data-navigation-parent
to all top-level links even if they don't have children - Fixed some es6 in
ornament/utilities/app-height-variable.js
v2.0.6
Changes
- Added docs to navigation on how to register the custom renderer
- Updated docs for jQuery UI 6.0.1 and updated theme file to use new assets
- Added a link to the previous version of the theme file for legacy implementations
- Removed initial focus on drilldowns on creation, reimplemented as an opt-in attribute
data-drilldown-focus
in case it's ever needed. Focus is still managed after moving through the drilldown regardless of the attribute
Fixes
- Fixed styleguide example navigation not being generated
v2.0.5
Styleguide redesign
Continuing the redesign, the navigation has been restructured to make browsing concepts easier:
- Navigation concepts are grouped together, including menu with more, simple navigation renderer and the tray navigations
- Layout concepts like seo partial, flash messages and left/right yields are all grouped together with new docs for things like building a basic view, image optimisations, modal routes
- Form docs have been broken out in to several pages along with showjs
- General clean up of unused views and attempting to make things easier to find
Changes
- Removed px sizing from
button.scss
andbutton-mixins.scss
- Added
app-height-variable
component as a replacement for100vh
- More info, can be used as eitherheight: var(--app-height)
or@include app-height
in SCSS. - Renamed
TrayNav
toPushTray
and updated docs - Added
OverlayNav
component for an alternate mobile tray navigation, this is the navigation used in the styleguide - Added
layouts/modal.html.erb
for easily rendering an action in the modal template - Added
dismiss
component - Added "External link: " at the front of generic external link event tracking categories, this will be omitted if providing a custom category
- Added
-auto-orient
command to theoptimised_jpg
rails helper - Re-organised helpers and created two new helpers to seperate concerns a little bit,
ornament_svg_helper
andornament_styleguide_helper
- Added
lazysizes
as an out-of-the-box vendor lib to allow for easy lazyloading - Added
axios
replace$.ajax/$.get
when not using jQuery - Added
url-search-params
polyfill for the URLSearchParams API - Added basic event API
Ornament.triggerEvent(element, eventName)
as a replacement for$(element).trigger(eventName);
- Added
basic: true
option to simple-navigation renderer - Added initial documentation for page navigation
Fixes
- Added
views/service_worker
to generator - Removed old
service_worker.js
so it doesn't conflict with the new generated service worker - Fixed service worker controller not being accessible in the test/dummy app
- Fixed
lastModifiedDate
not being a date object in Safari for the image uploader component - Improved
drilldown
component compatability withbutton
andspan
parents
v2.0.4
Styleguide redesign
- New filterable navigation on the left hand side using keywords to identify links of interest, eg. "modal" will find the lightbox docs
- Press "F" to focus on the filter input for quick-filtering action
Lib updates
- Changed to jQuery 3 by default
- Updated
underscore
to v1.9.1 - Updated
what-input
to v5.1.1 - Updated
priority-nav
to v1.0.13 - Updated
jquery-ui-timepicker-addon
to v1.6.3 - Updated
clipboard.js
to v2.0.0 - Moved
youtube-wmode
out of libs and in to polyfills and moved the include down with the other IE8 polyfills - Removed the
menu-aim
lib and associated component stylesheets as it was no longer being used - Removed
prevent-overscroll.js
lib asoverscroll-behavior
is now a CSS spec
Changes
- Added
section
component for dividing full-width sectional content, applied as a replacement forlightbox--section
and applied to thecontainer
docs - Renamed
utilities/flex.scss
toutilities/flex-mixins.scss
- Added default sans-serif font-sizing and light blue link colouring to 500.html page
- Added
maintenance.html
template to public folder based on the 500 page - Removed
views/errors/500
to avoid confusion, the 500 page shouldn't be served by rails and should be entirely static - Added Rails Caching to icon partial rendering
- Added
service_worker
controller and routes for a dynamically generated webmanifest with staging/development flags in the app name. - Added placeholder
service-worker.js
- Removed a bunch of countries from the
form
country select element as it was causing encoding errors when deploying - Added
simple-navigation
as a gem dependancy - Merged docs for
sidebar_left
andsidebar_right
with proper code samples
Fixes
- Fixed styleguide copy buttons attempting to submit forms, very problematic on the form documentation page
- Removed double includes of
flexible-input
- Fixed minor style issues with
page__with-sidebar-right
- Fixed duplicate docs for
spacing-*
classes - Fixed outdated panel class on the
flex mixins
page - Added code samples to drilldown docs