magcore-theme v1.5.0
magsdk theme architecture description
All themes for magcore platform apps should contains styles for magsdk components and special class styles.
###App background
Theme should set background to body tag to specify apps background, otherwise it will be transparent.
###Components
This revision of theme architecture standard should contains styles for components:
- mag-component-panel-set
- mag-component-panel
- mag-component-modal
- mag-component-list
- mag-component-layout-list
- mag-component-radio-list
- mag-component-check-list
- mag-component-value-list
- mag-component-footer
- stb-component-button
- spa-component-button
- spa-component-scrollbar
- stb-component-scrollbar
- spa-component-checkbox
All components should be 1.*.* version.
###Variables access
Since v1.3.0 themes should contains main.json file with exported color variables, that may be used in applications code.
###Special classes
Theme should contains special classes for common things for components and developers, who wants to make they non magsdk components or styles looks like the same appearance.
.theme-focus- focus element (such as focus item, in list).theme-color-text- special text color.theme-styled-text- special styled text color.theme-styled-background- special styled background color.theme-main- main part of some component (body html node of component).theme-footer- class to separate footer from content @deprecated - use '-separator-' classes.theme-header- class to separate header from content @deprecated - use '-separator-' classes.theme-separator-top- top separator line.theme-separator-bottom- bottom separator line.theme-separator-left- left separator line.theme-separator-right- right separator line.theme-subhead-color- color of subhead text.theme-item-editable- mark some item as editable (e.g. pen icon in theme graphite).theme-item-more- mark some item as possible to interact.theme-title-color- title color.theme-additional-text- additional text color.theme-color-warning- warning color (e.g. color of warning icon).theme-color-success- success color (e.g. color of success icon).theme-color-error- error color (e.g. color of error icon).theme-icon- together with special icon class add this icon to html node as:beforepseudo element.theme-text-disabled- text that reflects disabled element state.theme-text-password- password styles for text.theme-counter- class to draw item counter.theme-h2- h2 heading.theme-border- special theme border style.theme-border-top- only top border.theme-border-bottom- only bottom border.theme-border-left- only left border.theme-border-right- only right border.theme-equalizer-animated- draw animated equalizer. Html element with this class must contain child div element
###Component dependent classes
#####Padded
All -component-list* items should have zero padding (padding:0;) by default and special class padded add paddings to items.
#####Width2x
mag-component-modal have fixed width of 20% and if you want to make your modal 40% you should add width2x class.
###Special page layouts
####Progress layout
Progress layout - is kind of typical page with big progressbar in center and some content.
It is default html structure to create page with progress layout.
.theme-progress-layout - layout container
.theme-progress-header - layout header
.theme-progress-content - page content
.theme-progressbar - add this class to `-component-scrollbar`
.theme-progressbar-value - progressbar value###Icons
List of icons:
theme-icon-rc-f1theme-icon-rc-f2theme-icon-rc-f3theme-icon-rc-f4theme-icon-plustheme-icon-rc-play-pausetheme-icon-rc-oktheme-icon-rc-infotheme-icon-rc-menutheme-icon-rc-backtheme-icon-rc-hometheme-icon-rc-vktheme-icon-rc-stoptheme-icon-rc-previoustheme-icon-rc-nexttheme-icon-rc-rewindtheme-icon-rc-forwardtheme-icon-rc-settingstheme-icon-rc-volume-uptheme-icon-rc-volume-downtheme-icon-rc-mutetheme-icon-rc-aspecttheme-icon-rc-powertheme-icon-rc-apptheme-icon-rc-tvtheme-icon-rc-refreshtheme-icon-playtheme-icon-pausetheme-icon-previoustheme-icon-nexttheme-icon-rewindtheme-icon-forwardtheme-icon-exittheme-icon-channel-minustheme-icon-channel-plustheme-icon-volumetheme-icon-piptheme-icon-mutetheme-icon-favorite-activetheme-icon-favoritetheme-icon-timeshifttheme-icon-displaytheme-icon-soundtheme-icon-aspecttheme-icon-menutheme-icon-categoriestheme-icon-equalizertheme-icon-sort-aztheme-icon-searchtheme-icon-settingstheme-icon-locktheme-icon-radiotheme-icon-radio-activetheme-icon-suntheme-icon-moontheme-icon-cloud-suntheme-icon-cloud-moontheme-icon-raintheme-icon-heavy-raintheme-icon-snowtheme-icon-cloudtheme-icon-cloud-sun-2theme-icon-equalizer-0theme-icon-equalizer-1theme-icon-equalizer-2theme-icon-equalizer-3theme-icon-equalizer-4theme-icon-uptheme-icon-downtheme-icon-warningtheme-icon-filtertheme-icon-clocktheme-icon-oktheme-icon-canceltheme-icon-genrestheme-icon-teletexttheme-icon-sublitlestheme-icon-checkboxtheme-icon-checkbox-activetheme-icon-backtheme-icon-sd-cardtheme-icon-hddtheme-icon-usbtheme-icon-networktheme-icon-upnptheme-icon-filetheme-icon-foldertheme-icon-workgrouptheme-icon-servertheme-icon-shared-foldertheme-icon-shortcuttheme-icon-audiotheme-icon-imagetheme-icon-videotheme-icon-texttheme-icon-streamtheme-icon-recordtheme-icon-dvbtheme-icon-isotheme-icon-cuetheme-icon-playlisttheme-icon-select-alltheme-icon-movetheme-icon-edittheme-icon-moretheme-icon-create-foldertheme-icon-not-allowedtheme-icon-hometheme-icon-refreshtheme-icon-internettheme-icon-lantheme-icon-stoptheme-icon-scaletheme-icon-virtual-mousetheme-icon-navigatetheme-icon-downloadtheme-icon-avatartheme-icon-monitortheme-icon-supporttheme-icon-slideshowtheme-icon-shuffletheme-icon-repeattheme-icon-rotatetheme-icon-rotate-backtheme-icon-toggletheme-icon-toggle-activetheme-icon-timezonetheme-icon-ntp-servertheme-icon-languagestheme-icon-font-sizetheme-icon-colortheme-icon-sand-clocktheme-icon-DVBtheme-icon-dvb-power-ontheme-icon-teletext-ratiotheme-icon-opacitytheme-icon-updatetheme-icon-rctheme-icon-standbytheme-icon-cleartheme-icon-reloadtheme-icon-reboottheme-icon-linkedtheme-icon-wifitheme-icon-multicasttheme-icon-interfacetheme-icon-hdmitheme-icon-screensavertheme-icon-screensaver-intervaltheme-icon-brightnesstheme-icon-brightness-standbytheme-icon-portal- 'theme-icon-beta'
- 'theme-icon-alarm-clock'
- 'theme-icon-hardware-acceleration'
####Additional icons classes:
active - add this class to set icon as active and add special color
disabled - add this class to set icon as disabled add special color
###App dependent classes
####magcore-app-tv
magcore-app-tv contains page with unique html page-proofs, so theme's, that want to support this app should contain's special classes for it.
This classes describes view of page with epg programs grid:
.theme-epg-grid-main- main part of epg grid view content.theme-epg-grid-date- epg grid date background.theme-epg-grid-hourmark- epg grid hourmark.theme-epg-grid-timeline- timeline.theme-epg-grid-timemark- epg timemark.theme-epg-grid-default- default item in grid.theme-epg-grid-played- played item in grid.theme-epg-grid-current- current item in grid.theme-epg-grid-noData- item with unknown data in grid.theme-epg-grid-focused- focused item in grid.theme-epg-grid-timeshift- item in grid with timeshift.theme-epg-grid-arrow-left- navigate arrow left.theme-epg-grid-arrow-right- navigate arrow right
Watch icons example here