• `` helper no longer adds value attribute
  • Main navigation no longer adds the `icon` attribute to nav items
  • Added ability for attributeParser to accept a ‘tag’ argument
  • Base version of labels are no longer immutable


  • Mobile navigation is no longer draggable
  • Android (mobile) removed excess spacing
  • Animation of loading spinner in Chrome and added fallback for IE8
  • Datatables now respond correctly when displaying a large number of columns



  • Added styles for FilterBar component, implemented first by Continuum CXM
  • Loading spinner can now be centered with the .centered class


  • Removed some Sass nesting involved in generating the different width options for Pulsar form helpers. This fixes issues where the styles used by Continuum CMS were being created incorrectly because we wrap them in the #pulsar ID.


  • Fixed issues preventing JavaScript tests from running correctly on Travis
  • make now installs Ansible, which should allow Vagrant to be installed and set up correctly



  • select and select2 inputs now have consistent disabled styling, mainly achieved by removing default browser styling from basic selects
  • and form.select2 options can now be disabled individually through the new nested option syntax
  • form.choice inputs can now be disabled individually


  • Disabled form.colour inputs can no longer be updated by the colour picker



  • Fix settings layout pattern issues in IE9



  • Added new form.color helper which adds an integrated colourpicker


  • Primary navigation can now use an image for its icon, meaning we can use Continuum branding to link to integrated products



  • Tab view component now includes util.html.twig so that util.caret is made available to CMS views needing it for the actions dropdown menu



  • Table rows can now be sorted if the table has the .is-sortable class (developers will still need to hook in their own ajax to the sortable methods, documentation to follow)
  • Table rows can now be styled with co__mmon state classes


  • Helpers, Views and Components have been tested with the WebAIM WAVE accessibility testing tool and all errors resolved
  • Fixed the presentation of outline badge state variations (used in progress list component)
  • Label state variations have been refactored to use the state loop
  • Lightened up the light state colour variations to suit table rows
  • Progress list component no longer breaks at narrow viewports
  • Changed position of sidebar help text when in responsive (blue) mode so that long titles don't get too close to the close icon
  • Base button variations should use darker grey shade so that naked buttons are consistent with regular text


  • Dropdowns should no longer disappear when escape is pressed, when the prototype library is also present within a UI



  • Add styles for version number within 'Greeter' component
  • Badge text colours are now immutable


  • Grunt sass task should correctly compress CSS output for /dist tasks
  • Change location of footer padding to remove black gap at the bottom of the sign-in UI


  • Updated moment library due to newly foind vulnerability
  • Scss-lint now allows shorthand properties with 4 items



  • Issue where some UIs were not scrollable
  • Issue where primary navigation could be scrolled off screen on touch devices
  • Removed incorrect 1px offset from the primary navigation
  • Buttons with the btn--white class now have correct colours
  • Disabled link buttons now have correct styling
  • Link buttons no longer have incorrect type attribute
  • Flash messages no longer have incorrect 1px offset in some browsers


  • Primary navigation now closes when clicked outside the element
  • Added Wraith dependencies to the make file


  • Removed old unused\/redundant styles and JS
  • Moved richer list styles into deprecated stylesheet



  • Restored Pulsar styling on email, url and tel inputs
  • Flash message no longer has a 1px 'gap' on the left edge
  • Checkbox and Radio inputs now have their outline restored on iOS & Mobile Safari
  • Small form groups no longer constrain the size of help text to the input's width


  • Button styles have been refactored to make the visual variations more robust, with more visual regression tests
  • Outline buttons now support all normal button states


  • Moved symfony/yaml dependency to require-dev in Composer to stop Continuum software having issues with conflicting versions
  • Pulsar's development grunt task now starts Browsersync to ease cross browser/device testing
  • Snyk dependency vulnerability check no longer runs on local npm test runs, but still runs as part of Travis builds


  • New Components and layouts for new Filters user interface coming to Continuum CXM (video to follow)
  • New Changing Pulsar tabs can now fire an optional pushState event to update the browser address bar without a page refresh. See the tabbed layout documentation for more information
  • New Added a .box--naked variant of .box to allow a visually unboxed area to sit underneath a boxed area and maintain the same padding
  • Fixed Button groups no longer have unwanted right border on the last button in the group
  • Fixed .is-new styling now works as expected
  • Fixed Default styled buttons (grey) now correctly apply disabled styles if required
  • Fixed Remove icons within labels now choose the best text colour based on the label colour to maintain AA contrast requirements
  • Fixed Naked buttons now have appropriate disabled styling (lighter text and banned cursor on hover)
  • Fixed State classes (line .has-success etc) are now immutable and unable to be (easily) overridden
  • Fixed Disabled button styles are now immutable
  • Fixed .bottomless utility class is now immutable
  • Maintenance Restored blank Proxima Nova related files, this may give you a git error when checking out older branches, see this wiki article for details of how to fix
  • Maintenance Added missing test fixtures for html.flash helper
  • Maintenance Added Hound integration to run javascript/scss linters against new pull requests
  • Maintenance Added integration to test dependencies for vulnerabilities, will be run as part of local npm test and also as part of Travis builds
  • Maintenance Remove git pre-commit hook and grunt task to speed up commits to the pulsar repository, you may need to manually remove your local .git/hooks/pre-commit file


  • Maintenance Update symfony/yaml dependency version to keep Continuum CMS happy


  • Fixed Restore ability for Toggle switch helper to accept class option


  • Fixed Fix breaking change in Twig 1.25 which prevented relative paths from being used in the filesystem loader


  • Fixed Button groups should now have the correct border colours between buttons
  • Fixed Symfony/yaml dependency no longer conflicts with the version required by Continuum CMS


You might like to know that we updated a large section of the Pulsar documentation to add live code examples with Codepen, especially all the HTML and Form helpers. The browser statistics have also been improved and now each browser shows what % usage it has vs all browsers.

  • New We've added visual regression testing to Pulsar's test suite, things like Pulsar's helpers can be checked to try avoid situations where unintended css changes leak through to other areas of the framework. See the testing documentation for more information.
  • New Slider component, ready for the upcoming installation improvements to Continuum CMS

  • New Google result component, used to show how certain content and metadata would appear in a search result. Uses exact sizes, spacings and colours from Google's stylesheet.

  • New Box component, shown above as the grey box containing the google result, used to increase contrast of an element without using a panel, which are too dark for cases like this
  • Improved Media helper can now use an icon instead of an image, as well as the ability to customise the text colour of the icon
  • Improved Icon helper can now have their colours specified by the icon_colour option
  • Fixed Tooltip functionality has been restored (javascript function names have changed from tooltip to tooltips, if you have any custom code triggering tooltips you will need to change it
  • Fixed Toolbar dropdown menus no longer appear off-screen at smaller screen widths

  • Improved Select2 heights now match regular select elements


  • New The favicon/browser title can now be badged with the number of outstanding tasks for an admin, see the favicon docs for more information
  • Fixed Guidance popovers in modals are now visible and their scroll behaviour is constrained to the modal rather than body
  • Improved Form actions should now align properly with form groups
  • Improved Appended and prepended buttons now look more like buttons, making it more obvious that they're clickable, this depends on your passing an append_type

form group buttons

  • Improved Guidance popovers now accept an optional guidance-container attribute to control what element to constrain scroll behaviour to
  • Maintenance Lexicon example now includes the main js bundle at the bottom of the scripts, rather than in teh head (It will be upto Continuum teams to implement this change if they want to)


  • New Added print specific utility classes for showing/hiding things on print
  • Improved Fields with appended/prepended icons and buttons are now responsive and respect form__group width modifiers
  • Fixed Uploader alignment issues
  • Maintenance Removed PhantomCSS library


Re-release due to certain fixes missing from last release.


[Issues and Pull Requests]

New icons!

We've updated the FontAwesome version from 3 to 4 which adds tons of new icons!

We've made this change backwards compatible, so there's no change to make to hard coded <i> tags, and of course the html.icon helper has been updated, although there's one small change to make in your pulsar.scss file to support the new icons.

Replace your existing FA includes with:

// Font awesome

$fa-font-path: '../libs/font-awesome/fonts';

$fa-css-prefix: 'icon';

@import 'deprecated.icons';

@import '../libs/font-awesome/scss/font-awesome';

See the new icons at

  • Improved html.icon can now accept a mime type instead of an icon name and return the relevant file type icon. Neat huh?

  • Improved html.panel can now cope with the absence of an icon and/or title, making them more versatile

  • Improved html.loading spinner now uses a span instead of a div, making it play a little more nicely in certain layouts


  • New 281 Added the jQuery UI 'sortable' library

  • Fixed 278 Datatable rows are now selectable in FF/IE11

  • Fixed 274 Tooltips now have a solid black background in IE8

  • Improved 269 Button and label colours are now immutable, so they can't be accidentally overridden and maintain WCAG AA compliance


  • Fixed 263 Removed unwanted duplicate margins on modal form elements

  • Improved 267 table-row__actions are no longer greyed out if row has is-disabled


  • Fixed 259 Stopped font-awesome's css file from being excluded via the new .gitattributes file as this was causing build issues with CXM

  • Improved 258 Button background and label colours are now immutable, which is a fancy way of saying we slapped some !important attributes on there so that the colours can't be overridden.


Good news everyone!

We've added a .gitattributes file to the Pulsar repository which will reduce the size of the repo when installed into a Continuum product via Composer. Add the --prefer-dist option to your command line task for the leaner, meaner Pulsar package.

  • New 246 helper for media objects

  • New 244 New toolbar element to display links to Continuum user manuals

  • Improved 256 Inline (tabbed) navigation links can now be disabled

  • Improved 254 Datatables pagination is now styled the same as regular Pulsar tables

  • Improved 253 Datatables now automatically displays the no results message if the table contains no rows

  • Fixed 251 Datatables headers now display the pointer (hand) cursor on hover

  • Fixed 248 Datatables pagination and number of results are more appropriately positioned on mobile devices

  • Fixed 247 Datatables no longer have a border on mobile devices

  • Fixed 243 Allow integer 0 values as attributes


  • Fixed 240 Pagination component is now correctly aligned under tables using new styles (does not apply to datatable pagination)

  • New .u-no-wrap and .u-word-break immutable utility classes, @extend them at your pleasure!


  • New Countdown helper, which lets you easily add a dynamic countdown timer. You'll need to be using the PulsarUIComponent for this.

  • New #220 Labels can now have removable: true to display a remove icon at the end fo the label, ready for you to wire up your own javascript

  • New Larger size variation of labels with .label--large

  • Improved Table styles have been cleaned up, .table--datagrid has been deprecated and the new .table styles will take control

  • Improved #236 Horizontal spacing of inline navigation has been tidied up

  • Fixed #234 Flash messages no longer sit on top of content at widths <992px

  • Fixed #230 Select2 dropdowns are now properly visible when used in a modal

  • Fixed #219 form.select2 help blocks now have same spacing as regular


  • New #206 Choice blocks can now hide their inputs

  • New #210 Add ability for form.create to create a hidden input with the value of options.nonce

  • New #211 Breadcrumb helper 🍞

  • Improved #201 Allow more aspects of the base template to be overridden

  • Improved Breadcrumbs and page titles were far too close together for our liking, we've told them to move away a little, and keep the bedroom door open

  • Fixed #7 Primary navigation can now be scrolled if it exceeds the viewport height

  • Fixed Regression with datagrid tables where hidden titles for responsive mode became visible at all times

  • Maintenance Updated Pulsar's datatables example to use the select and buttons plugins now that tableTools has been retired


  • New Add JavaScript ports of Pulsar extensions and macros

  • Improved Increase vertical whitespace to align help block text


  • New Add Sass linter to implement and enforce code conventions, we'll be increasing the linter's scope as time goes on

  • New Add new outline button variant for calls to action within html.panels

  • Fixed #182 Improve styling of file input state variations

  • Fixed #181 Stop toggle switch labels from inheriting state modified text colour


  • New You can now add guidance popovers to form helpers to provide extra information to users

  • Improved File inputs and toggle-switches look better when used with a state modifier (like has-error)

  • Improved Checked choice block inputs now have correct styling on page load

  • Fixed Sass errors regarding missing classes when attempting to @extend things when compiling on Jenkins


  • New Block-list helper for creating, um, block lists...

  • Fixed #184 Flash messages should no longer be all black in IE8

  • Improved Sprinkled a bit of flexbox over the form.choice block variant so that they look a lot nicer when labels wrap to multiple lines

  • Maintenance Removed restricted version lock of node-sass added in 6.1.0


  • Fixed Notifications indicator no longer appears off-canvas if the CMS site switcher and/or the administrator name is really short

  • Improved radio_inline, checkbox_inline and choice form helpers now add classes to the input when using 'bare': true. This behaviour will be rolled out to all helpers that can use bare in the near future


  • New Notifications component for Continuum products to display product updates

  • Improved #164 Form helpers can now accept an errors option to display error or validation messages appropriately

  • Improved Form helper error messages are now illustrated with an icon to avoid relying on colour alone

  • Fixed #163 First required field in a form with no actions bar no longer crops the tooltip

  • Fixed #166 Fixed issue with grunt-sass throwing a segmentation fault error by locking to a previous version of node-sass

  • Maintenance Lock npm packages to specific versions instead of latest to fix breaking change with release of grunt 1.0.1


  • New Block variant for form.choice helper radios/checkboxes

  • Improved #150 Datatables can now use the datatables--fixed modifier for fixed layout

  • Fixed #150 Buttons in main toolbar (user menu, site switcher etc) have been restyled to be more consistently aligned in Twig and non-Twig UIs

  • Fixed #145 Buttons in table footer rows (or any rows, really) are now aligned properly

  • Fixed #140 Inputs with appended or prepended content are now lighter in shade, and aligned correctly

  • Fixed #142 Toggle switches no longer alter their internal icon position at narrow viewport widths

  • Fixed #133 Improved text contrast of info flash messages

  • Maintenance — Minor UI tweaks for CMS Friendly URLs UI


  • Fixed#130 Links within tables should be properly styled when the table is hovered over

  • Fixed#132 Dropdown buttons can now have classes passed to either the wrapper, or the button element


  • FixedPanels with lots of content should now only show scrollbars when the contents exceed the container


  • BREAKING — Some javascript files have been moved from js/ into js/libs/ to facilitate testing and code coverage. This will break Continuum's browserify grunt tasks until the paths in their version of Pulsar's index.js are updated (view change)

  • NewStatus indicator component, for... um... indicating status...

  • New — Added a Toggle Switch helper for toggle style checkboxes

  • NewNotifications component in preparation for adding cross-platform product updates within CMS/CXM/XFP

  • New — Added an implementation of the common Media object

  • New — Breadcrumb styles to suit legacy Continuum UIs

  • Newget_constant() twig function to be used instead of constant(), which allows sensible fallbacks rather than breaking views if a constant isn't defined

  • New — Added Google Play store badge to service images directory

  • ImprovedBlock lists can now have a header and/or a footer

  • Fixed#126 Button groups now use correct border colours when using state variations (--success etc)

  • Fixed#116 Classes added to dropdown buttons are now added to the button, rather than the container

  • Fixed#115 Block lists now only use a hover effect when the block list item is a link

  • Fixed#103 Toggle Switches now use the pointer cursor, making them look more clickable

  • Fixed#107 Piano lists now scroll their contents properly when their internal height exceeds the viewport

  • Fixed#56 Links and close icons within Flash messages now use the correct colour based on their state variation

  • Maintenance — Yeah, code coverage is at 100% for Pulsar's PHP and JavaScript. Big woop. Wanna fight about it?

  • Maintenance — Lightened up the grey used by colour(border) after some projector testing

  • Maintenance — Remove old v1 helpers

  • Maintenance — Removed jquery-toggles dependency


  • New — The GitHub releases page now contains a file containing the built version of Pulsar, for anyone wanting to use Pulsar in a non-composer environment

  • New — Help Text Component, docs to follow

  • New — Layout grid using the Susy framework, it's early days for this so sorry, but docs to follow again!

  • Improved — Loads of general UI tweaks all over the place, far too many to mention here, take a look through the changes in pull request #71 if you're that interested

  • Improved — The no-js class is now removed if javascript is present

  • Fixed — Datatables component should no longer break the grunt browserify task

  • Fixed — Fixed an issue where the select2 dropdown was hidden on mobile

  • Fixed — Main navigation links have been given back their funky hover effect, we're not quite sure when it went missing, but it's back

  • Fixed — The height of file inputs got screwy in certain browsers, we un-screwy'd it. (technical term), file inputs had a bit of a styling update in general, they look much nicer now

  • Fixed — IE8 no longer hides content if the window height is short

  • Fixed — Checkboxes and Radios are no longer comically large in IE9

  • Deprecated — Our media query mixins have stopped trying to support mobile responsive design in IE8 now that we've downgraded it to 'functional' but if you're using a mobile phone that has IE8 on it, please let us know, we'd love to see it!

  • Deprecated — Fragment identifiers (#f00) can no longer be supplied to the tabbed layout helpers through the src attribute, it has to be via href

  • Maintenance Speed up Travis builds by caching dependencies

  • Maintenance Removed the default argument values from form helpers, as they keeps starting fights with Twig.js

  • Maintenance Regenerate product favicons


  • Improved — Table rows can now have the is-disabled class to make the rows look disabled

  • ImprovedProgress lists can now use a mixture of elements as the steps, so some can be links and some could be divs, for example

  • Fixed#67 Tab helper now treats the href attribute how the documentation always said it should work

  • Fixed#58 Long form control labels now wrap nicely

  • Fixed#38 Added a grunt-bless task for the IE stylesheets to make sure they don't exceed the selector limit (CMS/XFP/CXM should have their own implementation of this in their own gruntfile)

  • Fixed#45 Disabled pagination links now use a lighter grey thanks to the new color(text, disabled) alias in the base colour palette

  • Fixed#44 Form.end() helper now spaces buttons correctly instead of having them side by side

    • Fixed#4 Naked buttons can now have disabled states
  • Maintenance — Deprecated old filters component that was never used in anger


  • NewPiano list user interface

  • Newform.choice helper, displayed as a question with multiple answers, each of which has it's own label and can allow either singular (checkboxes) or multiple (radios) choice. Also cleverly switches to a select2 when there's too many options ✨

  • Improved#13 Inline tab navigation elements can now use full or relative URLs as their src attribute

  • Improved#30 Disabled form fields now use a lighter shade of gray, they're not as in-yo-face anymore

  • Fixed#22 Validation error with the main navigation caused by a missing </ul> element. After a brief search it was found behind the fridge

  • Fixed#35 Pulsar's twig extensions no longer warn about using deprecated getGlobals methods

  • Fixed#34 IE8 now vertically aligns the text within form inputs consistently

  • Fixed#32 Modals now have a semi-transparent background in IE8 instead of solid black


  • Breaking — Pulsar has been moved into a public GitHub repository and Toran Proxy has been updated, so products should automatically begin to use the new location, feature branches that were known to be 'in the wild' have been published on GitHub, if any were missed just shout up and we'll publish them

  • Breaking — Proxima Nova font files have been removed from the main Pulsar repository and now live in the pulsar-fonts repository

  • New — PHPUnit test cases for form & html helpers

  • Improved — form.create helper now supports PATCH and DELETE methods

  • Improved#8 form.checkbox_inline helper should no longer allow clicking outside of the label to toggle the input

  • Fixed#9 html.button helper should correctly space classes when link type used


  • New — Continuum branded favicons and markup files for CMS, XFP, CXM and CP

  • Newhtml.actions_menu helper to simplify adding the actions menu to your UIs

  • NewPulsarUIComponent javascript component to allow common Pulsar interactions (and related tests) to be distributed as part of the Pulsar bundle, given that Continuum products implement their own index.js and main.js

  • Improved — elements can now be disabled by adding 'disabled': true instead of requiring a specific class, this is consistent with how form input helpers work. aria-disabled="true" and .is-disabled classes are added automatically, which is nice

  • Improved — Most form helpers (those with inputs) now accept the 'required': true option, which will display a visual indicator that the field is required, as well as adding the required and aria-required="true" attributes

  • Improved — New actionsbar template blocks to reduce the amount of actionsbar markup duplication in each view

  • Fixed — Multiple instances of the masterswitch UI should no longer interfere with each other

  • Fixed — Primary navigation labels that wrap two lines (like 'Social Media') no longer break their container

  • Fixed — package no longer throws error with Browserify since we moved to the NPM version instead of Bower

  • no longer prevents empty strings from being used as <option value="">

  • Fixed — Tooltips can be added to disabled buttons in the form.end helper through a wrapping div element

  • Fixed — Using 'method': put with form.create helper now automatically includes the hidden _method input, just like the documentation promises it does, but we accidentally deleted it a while ago. I blame Git

  • Fixed — Disabled buttons should now use the best text colour (white or black) based on their disabled backgroud colour, not their active background colour


  • New — Twig constant_defined function to allow views to validate whether a constant exists without throwing errors when used with strict_variabes mode

  • Improved — Disabled button text labels are now chosen by the pick-best-color function

  • Improved — Contrast of hover states for secondary navigation items has been increased

  • Fixed — Navigation component should no longer break the back button if multiple menu items are chosen but a secondary item is not navigated to

  • Fixed — Various issues with how the sticky footer responds at various breakpoints and interacts with the new navigation component

  • Fixed — Secondary navigation items that wrap onto two lines should have a smaller line height so they're easier to read

  • Fixed — Flash messages should now be visible in IE8

  • Fixed — IE8 falls back to Helvetica/Arial font stack rather than just Arial


  • Update Jadu branding assets with new Jadu and Continuum brandmarks

  • Fixed — Greeter component no longer displays Jadu logomark


  • Brand new Pulsar design featuring a fresh, mobile-first layout and updated colour palette to reflect new Jadu branding

  • Jadu brandmarks and logomarks updated

  • Primary navigation has moved from the top, to the left hand side

  • Tab navigation has been moved to mobile-friendly horizontal tabs

  • New Colours are defined in a core palette and accessed through the color() sass function

  • New Simple message component styling based on Continuum CXM's messaging

  • New Tabbed navigation links can now use a href instead of src and be plain ol' links to other UIs

  • Tab panes have been moved further away from the inline navigation

  • Pulsar example layouts no longer have duplicated flash-container elements

  • v2 macros no longer use _self to reference other macros within the same file as the behaviour is depracated in Twig 2.0, related macros now use import _self as foo

  • Locked the datatables-responsive plugin to 1.0.7 as the most recent version requires further changes in Pulsar which will be done later


  • New form.content helper to allow paragraphs of text to be placed in the normal flow of a form

  • Default badge colour should no longer be too dark after recent colour changes

  • Datagrid outlines should now match the surrounding tabs


  • Increased contrast of monochrome colour palette to improve visibility of elements when the control centre is viewed on a projector or over a citrix connection

  • Browsers and devices documentation updated to include intercom statistics

  • form.textarea fields now respect the rows attribute, if you've left random large values in your code that weren't being used before, they're about to blow up.

  • In helpers, boolean attributes with a false value are no longer treated as truthy and won't result in the key being inserted into the HTML. So passing something like { 'checked': false } will mean the checked attribute is not present (handy when you're using holding the var in a value

  • The MasterswitchComponent now enable/disables the UI based on whether the checkbox has the checked attribute or not

  • Added styles for no results UI pattern


  • New Ajaxy tabs! It's now possible for multiple tab links to point to a single tab content pane for you to do fancy javascripty/ajaxy things to. It's also possible to add extra data attributes to the tab links

  • Separated off the select2 changes introduced in 3.9 into a separate PulsarFormController

  • Improved the layout of elements generated by the checkbox_inline and radio_inline helpers

  • Create /v2 version of tabs helper which prevents duplicate tab sources from creating duplicate tab panes in the markup

  • Removed a sneaky unwanted / causing the button_group helper to have an incorrect self-closing element. There's a slim possibility that fixing this bug may break layouts somewhere, but it's unlikely... I hope...


  • New FlashMessageComponent for triggering flash messages with javascript

  • Breaking Flash messages now require a container div, see the flash documentation for the classes required

  • The colours used for state classes like .has-error, .has-success etc have been lightened and the underlying Sass has been tidied up


  • Improved rendering of Proxima Nova Light font on Windows browsers, particularly Firefox. You can now read the words, which comes in handy.

  • Naked buttons in button groups no longer have border effects between buttons


  • Breaking Changed some javascript files to use PascalCase, make sure your browserify index/main files point to the new filename otherwise Jenkins builds will break due to filesystem case sensitivity.

  • Created Jenkins build jobs for Pulsar for any products that can't/don't use Composer (like Neutron), there's a new grunt build job which is used by Jenkins to populate the /dist directory

  • form.select2() helper can now include HTML within the option labels, avoid <blink> and <marquee>, please

  • Loading spinners can be positioned alongside elements, this is a hardcoded position at the moment and will be improved to support the different width classes for selects

  • form.end() now uses a 1px top border instead of a 4px one

  • The form.hidden() helper was removed by a b0rked merge, it's been re-added


  • New form.select2() helper for creating a select element with the select2 plugin

  • New form.hidden() helper for creating hidden inputs

  • Tabs should now use the active param to specify which tab is open on load, there's a lovely new chunk of tabs documentation too

  • Disabled buttons should now display their naked states correctly (ooh err!)

  • You can now specify PUT as the form.create() method which does some funky stuff behind the scenes

  • form.textarea() helper no longer includes rogue tabs in the value

  • Flash messages (using v2 helper) no longer remove body content when dismissing

  • Twig helper attributes with 'foo': '0' should be passed to markup as foo="0"

  • TabsExtension now returns the first tab ID if no specific tab is requested

  • Update vide plugin to v0.3.7

  • Update grunt-autoprefixer to remove warning messages in grunt watch task

  • Fix .gitignore issue causing all /css directories to be ignored, not just the one at the root


  • Lock Twig dependency to ^1.18


  • form.create helper now uses .form as the main form class. The .form--horizontal class has now been deprecated, but has been mapped to .form for the time being to avoid breaking things

  • Datagrid helpers also made available under /v2 namespace (no changes required to helper syntax)

  • Flash messages should now show their close icon by default again

  • Removed the horrific validation styles that leaked in from a change required by Q


  • New .modal--large variation when you need MASSIVE MODAAALS (like the 2SV sidebar videos)

  • Modal content is now detached and reattached (surgically) when you close a modal. This is mainly to prevent any embedded videos from playing in the background when you close a modal

  • Form styles have been rewritten to improve responsiveness; Markup and classes remain the same

  • Added a masterswitch pattern example to the lexicon

  • Galaxy video for Sign-in UI has been re-rendered at half the filesize. This fixes the spectacularly annoying tab-switching issue with Chrome over HTTPS

  • Tabs no longer switch if the toggles have the .disabled class (like inside a disabled masterswitch)

  • Pulsar Vagrant machine now runs apt-get update as part of provisioning

  • Sign-in UI no longer has a white flash before the galaxy image has loaded, it's now a black flash. (Black Flash would be an awesome superhero)

  • Removed default styling from fieldsets

  • Form helpers should now use the id attribute as the <label for=""> attribute instead of as an id attribute on the parent form__group wrapper

  • Fixed issue where form.submit helper wasn’t passing classes into the markup


  • Removed the /docs from the Pulsar repository, these are now all on GitBook. I’d put a link to it, but you’re already there

  • New Button interaction component which, for now, disables all form submit buttons when clicked to stop click-happy people submitting a form multiple times

  • Made modal buttons align left instead of on the right, this is a good change in order to make forms more readable, but will cause existing modal buttons used with Pulsar 2.x to be ordered incorrectly until you change the source order. Sorry!

  • Added the Svgeezy SVG fallback for <img> elements for older browsers

  • The post-merge git hook now also runs browserify so both Sass and JS are recompiled every time you pull from the remote repo

  • Fixed a perfect storm of interconnected issues which caused a world of pain in IE8. IE9.js has been switched out in preference of Selectivizr

  • Also switched to a Jadu fork of Selectivizr to get respond.js working again

  • Added disabled states to all buttons variations, disabled buttons now look disabled, which is handy

  • Fixed an issue with form.create() where the method was output twice output twice

  • Flash messages in modal windows should no longer float above the content, we glued those suckers down

  • Progress list arrows now show properly in IE8, it’s a pretty dirty fix, but it works


  • ERMAHGHERD Docs have been moved over to GitBook! This may be the last release of pulsar which has /docs, there’s still a load of stuff to document, but this is now the main source of documentation for Pulsar and it’s completely public. Hi everyone!

  • New 'Masterswitch' javascript module which allows you to disable an entire section of the UI until the switch is thrown. Shouting "IT'S ALIIIIVE!!" is optional, but recommended

  • New .progress-list component, is it a progress bar? is it a list? it’s both!

  • New Horizontal .block-list variation

  • We’ve added a couple of utility classes for fine-tuning your layout, namely .double-top, which doubles the top margin and .bottomless which removes the default bottom margin for an element. We’ve not yet needed to add a .topless class, but it sounds like fun

  • Stopped the form.end() helper moaning when Twig runs with strict_variables

  • Fixed issue where attributes with empty values (like checked="") were still included in the markup. As much as we’re optimists, having all checkboxes checked all the time wasn’t ideal

  • Added new tab-sidebar component so that we can add instructions/guidance to a tabbed UI

  • State colours are now contained in a funky Sass map which means you can loop over this map to create state variations for your components. See _components.icons.scss for an example

  • That reminds me, there’s a new standout icon component that snuck into this release, not sure if it’ll stay yet though...

  • Flattened the sass directory structure, now when you view a sass file in an editor you’ll know what type of file it is, handy huh?


  • Switch to using Browserify instead of RequireJS, not just for t'laugh, it's just better

  • Slimmed down the main javascript package to the essential components that the majority of Pulsar UIs will need


  • Removed use of sudo from makefile

  • Dumping php server functions from gruntfile in favour of Vagrant, we've just got more in common

  • Standardised colour variable use for badges, labels and buttons

  • Added a missing comma, mistakes like that crash space shuttles!


  • New html.panel component

  • New html.label_group component

  • Rewrote all helpers to remove the need for named arguments, now everyone gets along nicely

  • Made all helpers compatibile with Twig’s strict_variables mode

  • Added an AttributesParser Twig extension to simplify how html element attributes are passed around inside macros

  • Added new excludes and only array filters for Twig, be a bit more bossy about what your arrays do

  • Switch to the official twigphp/twig repository instead of jadu/twig which was a fork of fabpot/twig (did you follow all that?)

  • Went through the 12 step programme and removed the Bourbon dependency from Sass

  • Remixed the state colours (success, error etc) to meet WCAG 2.0 AA guidelines for contrast ratios, you can now read the text, which is nice

  • Made buttons look pretty (buttons used to use Bourbon’s button styling, eww)

  • Updated popover styling to make them a bit sharper and standouty (totally a word)

  • Added Vagrant hawtness for running the Pulsar development environment in a VM like the cool kids


  • Add Summernote WYSIWYG editor example


  • Add MatchMedia library

  • Add Dan's background-size polyfill

  • Make mobile menu only show if there are tab items present to display



This release marks a significant step in Pulsar-UI's lifecycle and merges a lot of the work and lessons learned into the Pulsar core. There are some changes will will break backwards compatibility with older versions of Pulsar-UI so increments the major version number to 2.0.0

The full extent of changes this introduces are too many to include here (we're talking over 6 months of work), but here's the best bits:

  • Start a changelog!

  • Make product/quantum branch the new HEAD of develop and master

  • [BREAKING] Stop creating /dist package as part of build step. Products like JaduCMS and Quantum are now responsible for compiling their own Sass/JS

  • [BREAKING] Change pulsar.scss to include examples of how to include product specific styles and variables and have them included in the compiled CSS

  • Responsive toolbar & primary navigation

  • Change to how toolbar heights are calculated to allow it to respond better on smaller viewports

  • Add Quantum's 'Choice Matrix' form element

  • Update html.button_group() helper to support classes and attributes

  • Remove hover highlight on invalid form fields when used in a modal

  • General clean up of gruntfile, removing some out of date build tasks

  • Prevent select elements using Proxima Nova, which was causing garbled characters in Chrome (known issue)

  • Force Webkit browsers to use SVG fonts


This version was the last version to provide a pre-compiled set of CSS files, while it's been used in development for a couple of products and modules, it is not believed to have been used in production, however, the Quantum branch of 1.0.16 made significant changes and was used in production and was chosen to become the new master branch.

There is no changelog history before this point apart from the Git commit log.

results matching ""

    No results matching ""