hmcts / frontend Goto Github PK
View Code? Open in Web Editor NEWHMCTS Frontend contains the code you need to start building a user interface for HMCTS government services.
HMCTS Frontend contains the code you need to start building a user interface for HMCTS government services.
I wanted to pass classes to each of the menus I was using in the identity bar - so that I could hook them in js. After some searching, I realised classes isn't passed to the child macro.
FWIW, it would be good if the examples of menus used explicit classes for the js hooks - it wasn't obvious adding a class was even possible.
.hmcts-banner__message {
overflow: visible; // temp
}
Favicon should be the same too.
hmcts-header
hmcts-badge
etc
Create a Menu component (toggle menu) with links and the style is broken.
We should follow the principles in GOV.UK Frontend (but check those principles are right for us).
We need a way to document nunjucks arguments for each macro somehow.
So that it can be exposed nicely on the Design System side.
This might an arguments.md
file inside each component folder.
If that's hard then maybe just link out to the readme in github (like GOV.UK Design System)
Document icon not rendering correctly.
Currently the Identity Bar has a flat list of actions that can be presented either in a row or all behind a toggle menu.
But let's say we had 5 actions. 2 are frequently used and 3 less so. It might make sense to expose the 2 frequently used actions and hide the rest behind a menu.
PRIMARY ACTION 1 | PRIMARY ACTION 2 | MORE ACTIONS MENU
In this case we'd need a Toggle Menu to be applied to 3 of the 5 buttons.
To do this two things need to happen.
<div class="g1"><button1><button2></div><div class="g2"><button3><button4><button5></div>
new HMCTSFrontend.Menu(target g2 etc)
Add a collapsible component to allow users to gradually reveal information, whilst keeping the overall page uncluttered with information.
A typical example as shown below:
@adamsilver to write scalable efficient Javascript.
@trevorsaint to style a responsive (progressively enhanced version)
hmcts-primary-navigation__container
elementhmcts-width-container
styles onto it$hmcts-page-width
to 960 (a sensible default)$hmcts-page-width
<div class="hmcts-alert {% if params.classes %}{{ params.classes }}{% endif %}" role="status" aria-live="polite">
{%- if params.icon %}<span class="hmcts-alert__icon {% if params.icon.classes %}{{ params.icon.classes }}{% endif %}">{{ params.icon.text }}</span>{% endif %}
<span class="hmcts-alert__text">{{ params.html | safe if params.html else params.text }}</span>
</div>
Would be useful to consider different states for this. Error, success etc.
We need to create an all.js bundle using rollup (most prob) that bundles together all components into a single file.
Notes:
Explicitly set border-color
for .hmcts-banner--warning
and .hmcts-banner--success
Borders for these classes would display correctly on IE11.
I've raised a PR with this change here: #69
Show users which stage of the journey they’re at. Only use this pattern on Start and Done pages.
Follow these guidelines for this pattern:
In discovery, several services found users needed to know the stage of a service they’re at and how much more they have to do.
I've already added the majority of this.
@trevorsaint you can:
I need to revisit the progress bar and how I tackle the styling of it to ensure it works in High Contrast Mode.
(And even after this it's probably still an alpha component)
Should we cater to IE8? Or IE9+ only?
Before:
.hmcts-sub-navigation__link[aria-current] {}
After:
.hmcts-sub-navigation__link[aria-current="page"] {}
This will allow to always have aria-current in our code an only when the page is active it would assign the "page" value
{
"nunjucksDirs": ["/components"],
"sassIncludes": ["/all.scss"],
"globalAssets": ["/assets"],
"scripts": ["/vendor/jquery.js", "/all.js"]
}
Call the file: govuk-prototype-kit-hooks.json
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.