Fos

screenshot of Fos
html

Web Components to turn your web app into a fake operating system

Overview

FOS (Fake Operating System) is a set of web components that allow you to turn your web app into a fake operating system. It provides a fun and creative way to create web apps with an operating system-like interface. FOS includes components such as a desktop, icons, windows, bars, menus, and panels, which can be customized using CSS.

Features

  • fos-desktop: A wrapper for all the icons, bars, and windows. It has a custom attribute iconOffset to offset the start position of the icons.
  • fos-icon: An icon component that is draggable by default. It moves on a grid of 8 x 8 pixels. It has a custom attribute fixed to prevent the icon from being dragged.
  • fos-window: A window application component where you can write HTML directly inside of it. It can also contain more complex components such as fos-bar, fos-menu, fos-menu-item, and fos-panel. It has a custom attribute title to set the title displayed on top of the window.
  • fos-bar: A wrapper for the menu. It can be placed on top or bottom of fos-desktop or fos-window. It has a custom attribute position to set the position of the bar (top or bottom).
  • fos-menu: A menu component that is only visible when clicked. It houses fos-menu-item components.
  • fos-menu-item: Items of a menu component. It controls a fos-panel.
  • fos-panel: A wrapper for your content. You can write your HTML inside of it and call it by clicking on a fos-menu-item. New components can be added later on.
html
HTML

HTML templates are pre-designed and pre-built web pages that can be customized and used as a basis for building websites. They often include common elements such as headers, footers, menus, and content sections, and can be easily edited using HTML and CSS to fit specific branding and content needs.

web-components
Web Components

Web components provide a way to create reusable, encapsulated UI components using standard web technologies such as HTML, CSS, and JavaScript. They allow developers to create complex UI components that can be easily shared across multiple projects and frameworks. Web components are built using four main specifications: Custom Elements, Shadow DOM, HTML Templates, and ES Modules.