timble / kodekit-ui Goto Github PK
View Code? Open in Web Editor NEWUI kit for Web Applications
UI kit for Web Applications
The active class of the positioner should be k-is-active but is not k-is-selected. Change back to k-is-active
Remove double scrollbar becuse of overflow: auto on component wrapper. If you want an overflowing wrapper you should use k-flex-wrapper instead
Improve filter and search numberless label position
If the datepicker is loaded again we lose our custom options, so we should namespace it just like we do with tooltip, modal, etc.
.k-js-[action]
Add Bootstrap 4 grid / layout system to be used inside the different elements. Makes it possible to put stuff next to each other in an easy way
We're gonna need some sort of tabs, switcher, slider to be able to switch between content in the sidebar.
Should work with the small sidebar with user generated content / languages.
See: https://github.com/joomlatools/fileman/issues/314#issuecomment-304650173
Set UI in 4pixel grid. Normally we would choose the 8pixel grid but since our font size is 13px we're going to go for a 20px line-height.
Buttons and other elements like tabs, table rows etc should preferably be in 8pixel grid
To be able to use kodekit-ui easy inside other projects we're adding SCSS dependencies to kodekit itself instead of using bower/ node etc.
Only add z-index values when they are actually needed. In this case only add the z-index values to layout elements when the layout is transitioning. This makes sure that modals etc. inside layout elements will still render on top of backdrops that are loaded at the end of the document.
Styling for datepicker disabled
The right sidebar is not closing entirely anymore when swiping to close.
Refactor to use a jQuery plugin pattern so we can initialize as necessary
See:
Line 497 in 4738d1e
We run tabsCalculateScroll
in all resize events. However the function is only defined if $tabsScroller
has a length above.
I found this plugin:
And ran some tests:
Empty benchmark page: http://yellowlab.tools/result/elfwjldi3t
Just loading the file itself and don't do anything yet: http://yellowlab.tools/result/elfwl7gd64
Add one simple element querie: http://yellowlab.tools/result/elfwzlgvp1
Add four simple element queries: http://yellowlab.tools/result/elfwzr2n9v
We can see some very long frames that can possible result in janky / slow pages. This repo is only 2 weeks old so perhaps we should test it again later? Or ask some performance questions?
I'm not really good enough with the timeline to extensively test what kind of effect this script has on the entire page...
While working with the UI we found a couple styling improvements:
See: joomlatools/leadman#56
.k-component
container. This way the sidebar is below the toolbar if one is present. Right sidebar should never be next to the main container (next to the toolbar/titlebar etc) because the right sidebar is extra info on top of the main content.Complete markup:
<div class="k-wrapper k-js-wrapper">
<div class="k-title-bar k-js-title-bar">
Main title
</div>
<div class="k-content-wrapper">
<div class="k-sidebar-left k-js-sidebar-left">
Left sidebar
</div>
<div class="k-content k-js-content">
<div class="k-toolbar k-js-toolbar">
Toolbar
</div>
<div class="k-component-wrapper">
<form class="k-component k-js-component k-js-grid-controller" action="" method="get">
Main content
</form>
<div class="k-sidebar-right k-js-sidebar-right">
Right sidebar
</div>
</div>
</div>
</div>
</div>
Get repo ready, cleanup, to start using versions
Todo after:
Improve optionlist molecule so contentclass will only be styled inside the optionlist class item
The layout div
s can only be placed in a particular order. We can add CSS errors (outline: 10px solid red;
for example when an element is placed in a wrong order. For this we can use CSS3 selectors. .element:not(:first-child)
for example
Use the shorter k:
event prefix that is shared between all framework versions
Improve forms
Add a proper menu bar to add above your UI
The tabs container is not overflowing correctly
Check RTL styling properly
Add a demo folder to kodekit-ui to test new functionality
Initial development
Investigate the use of foundation as the base for Kodekit UI.
Resources:
As a proof of concept, try to rebuild the list example: https://www.joomlatools.com/developer/ui/examples/list in foundation.
thttps://zeptojs.com/
The idea would be to keep the UI layout as documented and stick to the color scheme, but replace the layout with a foundation grid base and foundation base blocks.
Foundation makes use of jQuery, we will need to investigate the jQuery compat issues we have in joomla and if a workaround we did with kQuery is possible for it.
More info: https://foundation.zurb.com/sites/docs/javascript.html
Loading a page using ajax pages can generate an error if the page has inline js. See: https://github.com/joomlatools/www.joomlatools.com/issues/932
position: sticky;
on <th>
in webkit is working differently from all other browsers. This makes all table heads appear 40px lower than they should.Resolve @import
declarations inside the node_modules folder using https://github.com/sass/node-sass#includepaths
With relative paths it is not possible to use this repository as a dependency using Bower or NPM.
We need to start preparing for frontend UI. The first idea was to not touch Kodekit UI until the site UI was done but since there were a few bug fixes this didn't really work.
In this ticket we can start the transformation from admin only to admin and site UI. I'll change the folder structure and prepare for both but will leave site UI out until it's ready.
This way we won't have huge merge conflicts when the site UI is ready
http://styleguide.joomlatools.com/#/section/2.6 dropdown is not working.
Create a site UI that can be used for all extensions WP and Joomla
Add login screen
Load the styled file input inside kquery so the code will run even if the JS file is loaded in the head of the page
Work on a v1.0.0 release.
<style></style>
on stopdrag instead of using style="")k-js-click-to-select
class to the <table>
[data-content]
for button content.)layout/_top.scss
.k-is-open
etc. classes to variable.badge
etc.).k-off-canvas-menu-toggle-holder
to .k-off-canvas-toggle-holder
and .k-off-canvas-menu-toggle
to .k-off-canvas-toggle
$k-btn
to $k-button
$k-variables
in mixins to unprefixed since they're local@import "molecules
etc. and import separate files in _core.scss
Variable names building:
$k-[molecule]-[modifier]-[child]-[type]-[state]-[style]: ... !default;
1. [molecule]: Name or short-name for the molecule / element you are styling
2. [modifier]: Does the molecule / element have a modifier? Place it second
3. [child]: just one level deep. distinguishing `$k-navigation-border` from `$k-naviagtion-item-border` and `$k-navigation-lin-border'
4. [type]: for example `small`, `big`, `bold`, `class` etc.
5. [state]: States like `active`, `disabled` etc.
6. [style]: Name of the CSS style for example `background-image`, `line-height`, `z-indez` etc.
// examples
// [style] (for base variables)
$k-font-weight: bold !default
// ([state])[type] (for base variables)
$k-active-class: .active !default;
// [type]-[style]
$k-small-line-height: 12px !default;
// [molecule]
$k-navigation: true !default;
// [molecule]-[style]
$k-navigation-background: white !default;
// [molecule]-[modifier]
$k-navigation-round: true !default;
// [molecule]-[modifier]-[style]
$k-navigation-round-border-radius: 4px !default;
// [molecule]-[child]-[style]
$k-navigation-item-background: white !default;
// [molecule]-[child]-[state]-[style]
$k-navigation-item-hover-background: white !default;
// [molecule]-[child]-[state]-[type]
$k-navigation-item-active-class: $k-active-class !default;
// [molecule]-[child]-[type]-[state]-[style]
$k-navigation-item-small-hover-background: grey !default;
// [molecule]-[modifier]-[child]-[type]-[state]-[style]
$k-navigation-round-item-small-hover-background: grey !default;
fileman/code/administrator/components/com_fileman/views/filelink/tmpl/upload.html.php
Create mixins for buttons so they can be used for other elements
button-default
, button-link
and button-size
Refactor the initialize logics to better support SPAs.
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.