All Projects → charto → phosphor-float-area

charto / phosphor-float-area

Licence: MIT license
✊ Draggable ⚓ Dockable ↔️ Resizable ⛵ Floating 📑 Tabbed HTML5 dialogs! 🎉

Programming Languages

typescript
32286 projects
CSS
56736 projects
javascript
184084 projects - #8 most used programming language
HTML
75241 projects

Projects that are alternatives of or similar to phosphor-float-area

develop
A simple tool to help elementary OS developers to develop their own apps and widgets.
Stars: ✭ 38 (-47.22%)
Mutual labels:  widget
Sunset-hadith
Islamic app written with Kotlin, using KTOR + coroutines + flow + MVVM + Android Jetpack + Navigation component. Old version using RxJava + Retrofit + OKHttp
Stars: ✭ 26 (-63.89%)
Mutual labels:  widget
ViewPagers
When using the ViewPager widget it is not always obvious to the user that there are adjacent views they can navigate to. By implementing this widget you provide a clear indicator that there exists additional content which they can click or swipe to see.
Stars: ✭ 43 (-40.28%)
Mutual labels:  widget
floppy
🧩 Handling and maintain your UI view component easily
Stars: ✭ 55 (-23.61%)
Mutual labels:  widget
yii2-switch-widget
Bootstrap Switch Widget for Yii2
Stars: ✭ 17 (-76.39%)
Mutual labels:  widget
scriptable-widgets
A small collection of my Scriptable iOS widgets.
Stars: ✭ 35 (-51.39%)
Mutual labels:  widget
SwiftListView
Instagram style - Collection of simple & neutral list views for Swift
Stars: ✭ 17 (-76.39%)
Mutual labels:  widget
react-native-create-widget-tutorial
This is a tutorial for "React Native: How to create a home screen Widget for iOS and Android"
Stars: ✭ 67 (-6.94%)
Mutual labels:  widget
flutter-tree
Flutter tree widget
Stars: ✭ 46 (-36.11%)
Mutual labels:  widget
instagram-text-editor
An Instagram like text editor Flutter widget that helps you to change your text style.
Stars: ✭ 66 (-8.33%)
Mutual labels:  widget
infinite-carousel-flutter
Carousel in flutter. Supports infinite looping and gives control over anchor and velocity.
Stars: ✭ 24 (-66.67%)
Mutual labels:  widget
measurer
A widget that measure the size of its child.
Stars: ✭ 40 (-44.44%)
Mutual labels:  widget
sounds
Flutter plugin for sound. Audio recorder and player.
Stars: ✭ 74 (+2.78%)
Mutual labels:  widget
js-fileexplorer
A zero dependencies, customizable, pure Javascript widget for navigating, managing, uploading, and downloading files and folders or other hierarchical object structures on any modern web browser.
Stars: ✭ 124 (+72.22%)
Mutual labels:  widget
Motion-Tab-Bar
A beautiful animated flutter widget package library. The tab bar will attempt to use your current theme out of the box, however you may want to theme it.
Stars: ✭ 237 (+229.17%)
Mutual labels:  widget
fullcalendar-calendar
Web Component wrapper for FullCalendar
Stars: ✭ 21 (-70.83%)
Mutual labels:  widget
responsible-ai-toolbox
This project provides responsible AI user interfaces for Fairlearn, interpret-community, and Error Analysis, as well as foundational building blocks that they rely on.
Stars: ✭ 615 (+754.17%)
Mutual labels:  widget
ngx-widget-grid
Angular 2.x or in general ng-x module for dashboards
Stars: ✭ 65 (-9.72%)
Mutual labels:  widget
Textylic
A note taking app developed for the 22nd century
Stars: ✭ 34 (-52.78%)
Mutual labels:  widget
yii2-content-tools
ContentTools editor implementation for Yii 2
Stars: ✭ 79 (+9.72%)
Mutual labels:  widget

phosphor-float-area

Draggable, dockable, resizable, floating, tabbed Dialog and FloatArea widgets:

Screen recording

100% Virtual DOM, TypeScript, PhosphorJS based modern JavaScript goodness 🍰

dependency status npm version

Live demo

Try it now!

Alternatively, run the following commands and then open localhost:8080 to see it in action:

git clone https://github.com/charto/phosphor-float-area.git
cd phosphor-float-area
npm install
npm run prepublish
npm start

The demo uses SystemJS. Works directly from the public directory of any HTTP server. With compileOnSave (eg. atom-typescript or TypeScript for VS Code) the demo page always stays up to date while editing TypeScript source code.

Usage

  1. Install:
npm install --save phosphor-float-area
  1. Use:
import '@phosphor/dragdrop/style/index.css!';
import '@phosphor/widgets/style/index.css!';
import 'phosphor-float-area/style/index.css!';

import { Widget, DockPanel } from '@phosphor/widgets';
import { FloatArea } from 'phosphor-float-area';

const area = new FloatArea();
const dock = new DockPanel();

dock.addWidget(area);
dock.addWidget(new Widget(), { mode: 'split-left', ref: area });
dock.addWidget(new Widget(), { mode: 'split-right', ref: area });

area.addWidget(new Widget(), { placement: 'backdrop' });

Widget.attach(dock, document.body);

The addWidget method of FloatArea accepts an options object as the second argument, with the following optional members:

  • placement: string, float by default. Passing backdrop adds the widget as a non-floating backdrop, behind any floating dialogs.
  • left, top, width, height: number. Initial pixel size and placement of the floating dialog to add.

Project structure

src

TypeScript source code (git only).

style

CSS rules needed by the widgets.

dist

Compiled JavaScript (ES5) code (npm only).

test

TypeScript source code of demo application (git only).

www

Support files for demo application (git only).

bundler

Bundler and configuration autogenerator for demo application (git only).

Required for demo application to work after referencing new NPM packages in the code. Updates www/config-npm.js.

Usage:

cd bundler
npm install
npm run bundle

Afterwards, the demo will use the static bundle for faster loading. Remove dist/bundle.js to always load the latest code when developing.

License

The MIT License

Copyright (c) 2017 BusFaster Ltd

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].