1.0.0 • Published 5 years ago

@moki.codes/mokui-header v1.0.0

Weekly downloads
22
License
BSD-3-Clause
Repository
github
Last release
5 years ago

header

Description

header block provides header component inside the holygrail layout

Installation

yarn add @moki.codes/mokui-header

Styles

@import "@moki.codes/mokui-header/dist/mokui-theme.css"
@import "@moki.codes/mokui-header/dist/mokui-layout.css"
@import "@moki.codes/mokui-header/dist/mokui-elevation.css"
@import "@moki.codes/mokui-header/dist/mokui-animation.css"
@import "@moki.codes/mokui-header/dist/mokui-header.css"

Basic Usage

<head>
        <style>
                width: calc(var(--msp-1) * 4);
                height: var(--msp-1);
                line-height: var(--msp-1);

                background-color: var(--color-on-background);
        </style>
</head>
...
<body>
<div class="theme
            theme_msp_perfect-fifth
            theme_color_light
            layout
            layout_type_holy-grail
            elevation
            animation">
        <header class="layout__header header header_fixed elevation_depth_4">
                <div class="layout__container layout__container-fluid header__container">
                        <div class="header__action header__action_primary">
                                <svg class="header__icon">
                                        ...
                                </svg>
                        </div>
                        <div class="header__action header__brand">
                                <div class="placeholder-brand elevation elevation_depth_8"></div>
                        </div>
                        <div class="header__navigation">
                                <div class="header__action header__navigation-item">
                                        item
                                </div>
                                <div class="header__action header__navigation-item">
                                        item
                                </div>
                        </div>
                        <div class="header__action header__action_secondary">
                                <svg class="header__icon" ...>
                                        ...
                                </svg>
                        </div>
                </div>
        </header>
</div>
</body>

Modificators

namevaluedescription
fixedmakes header fixed

Variables

header defines various variables which shapes its behavior:

  • --header-height

    • defined as --layout-header-height at layout level, override --layout-header-height to change appearance
  • --header-brand-size

    • defines brand height, override to change appearance
  • --header-action-size

    • defines action height and icon width and height, override to change appearance
  • --header-navigation-size

    • defines navigation height, override to change appearance

Elements

  • container
  • action
  • icon
  • brand
  • navigation
  • navigation-item

container

container for all header elements, centers child elements vertically

action

actionable item

Modificators

namevaluedescription
primaryheaders primary action leftmost item after
brand hidden on --screen-l or above, visible
otherwise
secondaryheaders secondary action rightmost item

icon

header action's icon

brand

headers brand leftmost item

navigation

headers navigation floats left, visible on --screen-l(as defined at the theme level) or above and hidden otherwise

navigation-item

headers navigation menu item(s) floats left

Javascript

Basic Usage

import { Header } from "@moki.codes/mokui-header";

const headerElement = document.querySelector("header");
const header = Header(headerElement);

/* when done */
header.destroy();

Exports

  • Header
  • HeaderComponent
  • HeaderAdapter
  • classes
  • strings

Header

(element: Elements): HeaderComponent<HeaderAdapter<Emitter<Component<{}>>>>

Header factory is a composition of the HeaderComponent, HeaderAdapter, Emitter, Component.

HeaderComponent

<T extends HeaderAdapter<Emitter<Component>>>( o: T = {} as T ): HeaderComponent<T>

Header Component factory provides core header functionality

Methods

namedescription
setScrollTargetset scroll target to the provided EventTarget
(target: EventTarget): voidtarget
destroy():clean up routine to be called upon deleting
HeaderComponent;component

HeaderAdapter

<T extends Emitter<Component>>( o: T ): HeaderAdapter<T>

Header Adapter factory provides default adapter functionality, one can override partially or completely used by HeaderComponent.

events

nameDescription
mokui-header:action-primary-clickedheader action primary clicked
mokui-header:action-secondary-clickedheader action secondary clicked

Methods

namedescription
handleActionPrimaryClick()handler for the header__action_primary click
: voidevent, fires ACTION_PRIMARY_CLICK_EVENT event
handleActionSecondaryClick()handler for the header__action_secondary click
: voidevent, fires ACTION_SECONDARY_CLICK_EVENT event
getViewportScrollY(returns number of pixels scrolled on scroll
targetSelector: symboltargetSelector target from top of the page
): number
getHeaderHeight(): numberreturns height of the root(), (header)
): number
hasClass(name: string)returns if root(), (header) has class name
: boolean
addClass(name: string)adds class name to the element root(),
: void(header)
removeClass(name: string)removes class name to the element root(),
: void(header)

classes

namevalue
HEADER_HIDDEN: "string""header_hidden"

strings

namevalue
ACTION_PRIMARY_SELECTOR".header__action_primary"
: "string"
ACTION_PRIMARY_CLICKED_EVENT"mokui-header:action-primary-clicked"
: "string"
ACTION_SECONDARY_CLICKED_EVENT"mokui-header:action-secondary-clicked"
: "string"
1.0.0

5 years ago

0.8.5

5 years ago

0.8.4

5 years ago

0.8.3

5 years ago

0.8.2

5 years ago

0.8.1

5 years ago

0.8.0

6 years ago

0.7.0

6 years ago

0.6.0

6 years ago

0.5.0

6 years ago

0.4.3

6 years ago

0.4.2

6 years ago

0.4.1

6 years ago

0.4.0

6 years ago

0.3.1

6 years ago

0.2.2

6 years ago

0.2.1

6 years ago

0.2.0

6 years ago

0.1.2

6 years ago

0.1.1

6 years ago

0.1.0

6 years ago