candystore

Common widgets

Usage no npm install needed!

<script type="module">
  import candystore from 'https://cdn.skypack.dev/candystore';
</script>

README

Candystore

Common widgets

Wiki

Reference

Npm package

Candystore implements a highly reusable set of fundamental widgets. They build on top of shoeshine' Widget class, observing classical OOP imposed by troop, and the document-oriented model of bookworm. Some Candystore widgets also rely on transport-level features of poodle.

The purpose of Candystore is to provide the building blocks of front end applications' view-controller layer.

Candystore is agnostic about how the widgets will be used and displayed, and thus have no styling (CSS) beyond what is necessary for them to function. (Eg. a button should have a pointer cursor.)

Supported widgets

Inheritance chart

Basic widgets

  • Label, HtmlLabel, DataLabel, ItemDataLabel
  • Link, DataLink
  • Button, TextButton
  • Input, TextInput, DataTextInput, PasswordInput
  • Image, DataImage
  • DynamicImage, DataDynamicImage

Composite widgets

  • List, DataList
  • Form, FormField
  • Flow
  • Page

Dropdowns

  • Dropdown, DataDropdown
  • DropdownButton, DataDropdownButton

Widget behaviors:

  • Popup, AlignedPopup,
  • BinaryStateful, Disableable, Highlightable, Expandable
  • EntityWidget, FieldBound,
  • Option, OptionList
  • DataListItem

Widget utilities:

  • HotKeyWatcher
  • ResizeWatcher

IE9

In order for Candystore and its dependencies to work on IE9, make sure that the browser operates in 'IE9 standards' document mode, by (conditionally) adding <!doctype html> and <meta http-equiv="X-UA-Compatible" content="IE=Edge"> to the application html.

IE versions lower than 9 are not supported.