From af5af66c70ea9c20627be360850d53b5baddc326 Mon Sep 17 00:00:00 2001 From: Prozilla Date: Wed, 17 Jul 2024 20:16:25 +0200 Subject: [PATCH] Deployed build to GitHub Pages --- docs/404.html | 2 +- docs/about/features.html | 2 +- docs/about/introduction.html | 2 +- .../guides_getting-started.md.CBpuTHJh.js | 45 +++++ ...guides_getting-started.md.CBpuTHJh.lean.js | 1 + ...eference_apps_browser_index.md.C0Yb0wwO.js | 26 +++ ...nce_apps_browser_index.md.C0Yb0wwO.lean.js | 1 + ...rence_apps_calculator_index.md.BgeDjB_n.js | 23 +++ ..._apps_calculator_index.md.BgeDjB_n.lean.js | 1 + ...ce_apps_file-explorer_index.md.B_s9faJX.js | 52 ++++++ ...ps_file-explorer_index.md.B_s9faJX.lean.js | 1 + ...erence_apps_logic-sim_index.md.OHMnQX22.js | 23 +++ ...e_apps_logic-sim_index.md.OHMnQX22.lean.js | 1 + ...nce_apps_media-viewer_index.md.BhlO3DHC.js | 26 +++ ...pps_media-viewer_index.md.BhlO3DHC.lean.js | 1 + ...ference_apps_settings_index.md.DI0n2h7P.js | 27 +++ ...ce_apps_settings_index.md.DI0n2h7P.lean.js | 1 + ...ference_apps_terminal_index.md.BuYp3kDn.js | 32 ++++ ...ce_apps_terminal_index.md.BuYp3kDn.lean.js | 1 + ...ence_apps_text-editor_index.md.gfaelM5g.js | 39 ++++ ...apps_text-editor_index.md.gfaelM5g.lean.js | 1 + .../reference_configuration.md.D4UHtUuX.js | 36 ++++ ...eference_configuration.md.D4UHtUuX.lean.js | 1 + ...rence_core_classes_apps_app.md.B4Yql9iV.js | 7 + ..._core_classes_apps_app.md.B4Yql9iV.lean.js | 1 + ..._classes_system_apps-config.md.CG-VE_iy.js | 1 + ...ses_system_apps-config.md.CG-VE_iy.lean.js | 1 + ...asses_system_desktop-config.md.DhmPUHtp.js | 4 + ..._system_desktop-config.md.DhmPUHtp.lean.js | 1 + ..._classes_system_misc-config.md.BjnwAICu.js | 1 + ...ses_system_misc-config.md.BjnwAICu.lean.js | 1 + ...lasses_system_modals-config.md.amu4y4LB.js | 4 + ...s_system_modals-config.md.amu4y4LB.lean.js | 1 + ...asses_system_taskbar-config.md.BFudoLpJ.js | 1 + ..._system_taskbar-config.md.BFudoLpJ.lean.js | 1 + ...sses_system_tracking-config.md.BzW8cNLR.js | 4 + ...system_tracking-config.md.BzW8cNLR.lean.js | 1 + ...asses_system_windows-config.md.BUF5pzHj.js | 5 + ..._system_windows-config.md.BUF5pzHj.lean.js | 1 + ..._core_classes_utils_vector2.md.C_nIHtrH.js | 7 + ..._classes_utils_vector2.md.C_nIHtrH.lean.js | 1 + ...erence_core_constants_index.md.CzxQnFb7.js | 6 + ...e_core_constants_index.md.CzxQnFb7.lean.js | 1 + ...erence_core_functions_array.md.DvusJMqS.js | 1 + ...e_core_functions_array.md.DvusJMqS.lean.js | 1 + ...ence_core_functions_browser.md.BFhqtB6x.js | 5 + ...core_functions_browser.md.BFhqtB6x.lean.js | 1 + ...ference_core_functions_date.md.DdYnYDMY.js | 1 + ...ce_core_functions_date.md.DdYnYDMY.lean.js | 1 + ...ference_core_functions_math.md.Yo-5z7gX.js | 1 + ...ce_core_functions_math.md.Yo-5z7gX.lean.js | 1 + .../reference_core_index.md.BMiTSHuz.js | 133 ++++++++++++++ .../reference_core_index.md.BMiTSHuz.lean.js | 1 + docs/assets/reference_packages.md.DTz6i29q.js | 1 + .../reference_packages.md.DTz6i29q.lean.js | 1 + ...reference_prozilla-os_index.md.Db0f391m.js | 133 ++++++++++++++ ...ence_prozilla-os_index.md.Db0f391m.lean.js | 1 + .../reference_shared_index.md.DBcbmjzG.js | 10 + ...reference_shared_index.md.DBcbmjzG.lean.js | 1 + ...eference_skins_classes_skin.md.DTITK6qR.js | 31 ++++ ...nce_skins_classes_skin.md.DTITK6qR.lean.js | 1 + .../reference_skins_index.md.4dl5CFcj.js | 3 + .../reference_skins_index.md.4dl5CFcj.lean.js | 1 + docs/guides/custom-app.html | 2 +- docs/guides/getting-started.html | 6 +- docs/hashmap.json | 2 +- docs/index.html | 2 +- docs/reference/apps/browser/index.html | 65 +++++++ docs/reference/apps/calculator/index.html | 62 +++++++ docs/reference/apps/file-explorer/index.html | 91 +++++++++ docs/reference/apps/logic-sim/index.html | 62 +++++++ docs/reference/apps/media-viewer/index.html | 65 +++++++ docs/reference/apps/settings/index.html | 66 +++++++ docs/reference/apps/terminal/index.html | 71 ++++++++ docs/reference/apps/text-editor/index.html | 78 ++++++++ docs/reference/configuration.html | 8 +- docs/reference/core/classes/apps/app.html | 46 +++++ .../core/classes/system/apps-config.html | 42 +++++ .../core/classes/system/desktop-config.html | 43 +++++ .../core/classes/system/misc-config.html | 42 +++++ .../core/classes/system/modals-config.html | 43 +++++ .../core/classes/system/taskbar-config.html | 42 +++++ .../core/classes/system/tracking-config.html | 43 +++++ .../core/classes/system/windows-config.html | 44 +++++ .../reference/core/classes/utils/vector2.html | 46 +++++ docs/reference/core/constants/index.html | 45 +++++ docs/reference/core/functions/array.html | 40 ++++ docs/reference/core/functions/browser.html | 44 +++++ docs/reference/core/functions/date.html | 40 ++++ docs/reference/core/functions/math.html | 40 ++++ docs/reference/core/index.html | 172 ++++++++++++++++++ docs/reference/glossary.html | 4 +- docs/reference/packages.html | 6 +- docs/reference/prozilla-os/index.html | 172 ++++++++++++++++++ docs/reference/shared/index.html | 49 +++++ docs/reference/skins/classes/skin.html | 70 +++++++ docs/reference/skins/index.html | 42 +++++ docs/sitemap.xml | 2 +- 98 files changed, 2402 insertions(+), 19 deletions(-) create mode 100644 docs/assets/guides_getting-started.md.CBpuTHJh.js create mode 100644 docs/assets/guides_getting-started.md.CBpuTHJh.lean.js create mode 100644 docs/assets/reference_apps_browser_index.md.C0Yb0wwO.js create mode 100644 docs/assets/reference_apps_browser_index.md.C0Yb0wwO.lean.js create mode 100644 docs/assets/reference_apps_calculator_index.md.BgeDjB_n.js create mode 100644 docs/assets/reference_apps_calculator_index.md.BgeDjB_n.lean.js create mode 100644 docs/assets/reference_apps_file-explorer_index.md.B_s9faJX.js create mode 100644 docs/assets/reference_apps_file-explorer_index.md.B_s9faJX.lean.js create mode 100644 docs/assets/reference_apps_logic-sim_index.md.OHMnQX22.js create mode 100644 docs/assets/reference_apps_logic-sim_index.md.OHMnQX22.lean.js create mode 100644 docs/assets/reference_apps_media-viewer_index.md.BhlO3DHC.js create mode 100644 docs/assets/reference_apps_media-viewer_index.md.BhlO3DHC.lean.js create mode 100644 docs/assets/reference_apps_settings_index.md.DI0n2h7P.js create mode 100644 docs/assets/reference_apps_settings_index.md.DI0n2h7P.lean.js create mode 100644 docs/assets/reference_apps_terminal_index.md.BuYp3kDn.js create mode 100644 docs/assets/reference_apps_terminal_index.md.BuYp3kDn.lean.js create mode 100644 docs/assets/reference_apps_text-editor_index.md.gfaelM5g.js create mode 100644 docs/assets/reference_apps_text-editor_index.md.gfaelM5g.lean.js create mode 100644 docs/assets/reference_configuration.md.D4UHtUuX.js create mode 100644 docs/assets/reference_configuration.md.D4UHtUuX.lean.js create mode 100644 docs/assets/reference_core_classes_apps_app.md.B4Yql9iV.js create mode 100644 docs/assets/reference_core_classes_apps_app.md.B4Yql9iV.lean.js create mode 100644 docs/assets/reference_core_classes_system_apps-config.md.CG-VE_iy.js create mode 100644 docs/assets/reference_core_classes_system_apps-config.md.CG-VE_iy.lean.js create mode 100644 docs/assets/reference_core_classes_system_desktop-config.md.DhmPUHtp.js create mode 100644 docs/assets/reference_core_classes_system_desktop-config.md.DhmPUHtp.lean.js create mode 100644 docs/assets/reference_core_classes_system_misc-config.md.BjnwAICu.js create mode 100644 docs/assets/reference_core_classes_system_misc-config.md.BjnwAICu.lean.js create mode 100644 docs/assets/reference_core_classes_system_modals-config.md.amu4y4LB.js create mode 100644 docs/assets/reference_core_classes_system_modals-config.md.amu4y4LB.lean.js create mode 100644 docs/assets/reference_core_classes_system_taskbar-config.md.BFudoLpJ.js create mode 100644 docs/assets/reference_core_classes_system_taskbar-config.md.BFudoLpJ.lean.js create mode 100644 docs/assets/reference_core_classes_system_tracking-config.md.BzW8cNLR.js create mode 100644 docs/assets/reference_core_classes_system_tracking-config.md.BzW8cNLR.lean.js create mode 100644 docs/assets/reference_core_classes_system_windows-config.md.BUF5pzHj.js create mode 100644 docs/assets/reference_core_classes_system_windows-config.md.BUF5pzHj.lean.js create mode 100644 docs/assets/reference_core_classes_utils_vector2.md.C_nIHtrH.js create mode 100644 docs/assets/reference_core_classes_utils_vector2.md.C_nIHtrH.lean.js create mode 100644 docs/assets/reference_core_constants_index.md.CzxQnFb7.js create mode 100644 docs/assets/reference_core_constants_index.md.CzxQnFb7.lean.js create mode 100644 docs/assets/reference_core_functions_array.md.DvusJMqS.js create mode 100644 docs/assets/reference_core_functions_array.md.DvusJMqS.lean.js create mode 100644 docs/assets/reference_core_functions_browser.md.BFhqtB6x.js create mode 100644 docs/assets/reference_core_functions_browser.md.BFhqtB6x.lean.js create mode 100644 docs/assets/reference_core_functions_date.md.DdYnYDMY.js create mode 100644 docs/assets/reference_core_functions_date.md.DdYnYDMY.lean.js create mode 100644 docs/assets/reference_core_functions_math.md.Yo-5z7gX.js create mode 100644 docs/assets/reference_core_functions_math.md.Yo-5z7gX.lean.js create mode 100644 docs/assets/reference_core_index.md.BMiTSHuz.js create mode 100644 docs/assets/reference_core_index.md.BMiTSHuz.lean.js create mode 100644 docs/assets/reference_packages.md.DTz6i29q.js create mode 100644 docs/assets/reference_packages.md.DTz6i29q.lean.js create mode 100644 docs/assets/reference_prozilla-os_index.md.Db0f391m.js create mode 100644 docs/assets/reference_prozilla-os_index.md.Db0f391m.lean.js create mode 100644 docs/assets/reference_shared_index.md.DBcbmjzG.js create mode 100644 docs/assets/reference_shared_index.md.DBcbmjzG.lean.js create mode 100644 docs/assets/reference_skins_classes_skin.md.DTITK6qR.js create mode 100644 docs/assets/reference_skins_classes_skin.md.DTITK6qR.lean.js create mode 100644 docs/assets/reference_skins_index.md.4dl5CFcj.js create mode 100644 docs/assets/reference_skins_index.md.4dl5CFcj.lean.js create mode 100644 docs/reference/apps/browser/index.html create mode 100644 docs/reference/apps/calculator/index.html create mode 100644 docs/reference/apps/file-explorer/index.html create mode 100644 docs/reference/apps/logic-sim/index.html create mode 100644 docs/reference/apps/media-viewer/index.html create mode 100644 docs/reference/apps/settings/index.html create mode 100644 docs/reference/apps/terminal/index.html create mode 100644 docs/reference/apps/text-editor/index.html create mode 100644 docs/reference/core/classes/apps/app.html create mode 100644 docs/reference/core/classes/system/apps-config.html create mode 100644 docs/reference/core/classes/system/desktop-config.html create mode 100644 docs/reference/core/classes/system/misc-config.html create mode 100644 docs/reference/core/classes/system/modals-config.html create mode 100644 docs/reference/core/classes/system/taskbar-config.html create mode 100644 docs/reference/core/classes/system/tracking-config.html create mode 100644 docs/reference/core/classes/system/windows-config.html create mode 100644 docs/reference/core/classes/utils/vector2.html create mode 100644 docs/reference/core/constants/index.html create mode 100644 docs/reference/core/functions/array.html create mode 100644 docs/reference/core/functions/browser.html create mode 100644 docs/reference/core/functions/date.html create mode 100644 docs/reference/core/functions/math.html create mode 100644 docs/reference/core/index.html create mode 100644 docs/reference/prozilla-os/index.html create mode 100644 docs/reference/shared/index.html create mode 100644 docs/reference/skins/classes/skin.html create mode 100644 docs/reference/skins/index.html diff --git a/docs/404.html b/docs/404.html index 8fe51e56..d379457b 100644 --- a/docs/404.html +++ b/docs/404.html @@ -19,7 +19,7 @@
- + \ No newline at end of file diff --git a/docs/about/features.html b/docs/about/features.html index 73cc8e21..663a759e 100644 --- a/docs/about/features.html +++ b/docs/about/features.html @@ -34,7 +34,7 @@
Skip to content

Features

ProzillaOS comes with a ton of features that you can tailor to suit your specific needs. Here is a quick overview:

System

  • Customizable taskbar with a home menu, search menu, pinned apps and utilities
  • Customizable desktop with icons, accompanied by custom wallpapers
  • Virtual drive that can handle files, folders, symbolic links, as well as read from external sources
    • Storage system that stores and loads the virtual drive from local storage

Applications

  • Resizable and draggable windows, with dynamic titles, for displaying and interacting with apps, which adapts to the user's screen resolution
  • Native and web-view applications
    • File explorer that interacts with virtual drive and allows user to browse the source code on the website itself
    • Terminal with custom linux-inspired commands
    • Settings application for customizing appearance, managing apps and managing virtual drive
    • Text editor app that can read and write files as well as render markdown files
    • Other applications like a calculator, minigames, image viewer, browser, etc.
  • Standalone system that allows each app to have its own dedicated page in an isolated view, which is also indexable by search engines
  • URL params that trigger an app to open with optional arguments

Interactions

  • Modals that can be used as context menus, header menus, file selectors, dialog boxes, etc.
  • Advanced actions system, for easily assembling different menus that can handle dropdowns, selections, toggles, shortcuts, etc.

Assets

  • Custom wallpapers made in Figma
  • Custom icons made in Figma inspired by Font Awesome
  • Custom color palette

Built by Prozilla

- + \ No newline at end of file diff --git a/docs/about/introduction.html b/docs/about/introduction.html index 49bffbc4..63488915 100644 --- a/docs/about/introduction.html +++ b/docs/about/introduction.html @@ -34,7 +34,7 @@
Skip to content

Introduction


ProzillaOS

About

ProzillaOS is a web-based operating system inspired by Ubuntu Linux and Windows made with React by Prozilla. It's a virtual desktop environment that mimics a real operating system and runs entirely in the browser.

Screenshot of ProzillaOS

Open-source

ProzillaOS was made using React, Vite and TypeScript. The source code is hosted on GitHub. You can contribute by finding bugs and suggesting features via GitHub issues.

Support ProzillaOS

If you want me to continue developing ProzillaOS and adding awesome features, consider supporting this project via ko-fi.com/prozilla.

Built by Prozilla

- + \ No newline at end of file diff --git a/docs/assets/guides_getting-started.md.CBpuTHJh.js b/docs/assets/guides_getting-started.md.CBpuTHJh.js new file mode 100644 index 00000000..c1db1346 --- /dev/null +++ b/docs/assets/guides_getting-started.md.CBpuTHJh.js @@ -0,0 +1,45 @@ +import{_ as s,c as i,o as a,a2 as t}from"./chunks/framework.DDEYgRcT.js";const E=JSON.parse('{"title":"Getting started","description":"","frontmatter":{"outline":"deep","head":[["meta",{"name":"og:title","content":"Getting started | ProzillaOS Docs"}],["meta",{"name":"twitter:title","content":"Getting started | ProzillaOS Docs"}],["meta",{"name":"og:description","content":"Documentation for ProzillaOS and its packages."}],["meta",{"name":"twitter:description","content":"Documentation for ProzillaOS and its packages."}],["link",{"rel":"canonical","href":"https://os.prozilla.dev/docs/guides/getting-started"}],["meta",{"name":"og:url","content":"https://os.prozilla.dev/docs/guides/getting-started"}],["meta",{"name":"twitter:url","content":"https://os.prozilla.dev/docs/guides/getting-started"}],["meta",{"name":"og:locale","content":"en_US"}],["meta",{"name":"og:image","content":"https://os.prozilla.dev/docs/prozilla-os-title-banner.png"}],["meta",{"name":"twitter:image","content":"https://os.prozilla.dev/docs/prozilla-os-title-banner.png"}],["meta",{"name":"og:type","content":"website"}],["meta",{"name":"twitter:card","content":"summary_large_image"}]]},"headers":[],"relativePath":"guides/getting-started.md","filePath":"guides/getting-started.md"}'),n={name:"guides/getting-started.md"},e=t(`

Getting started

Prerequisites

This guide assumes you have already set up a basic React project with TypeScript. To learn more about how to set up a React project, check out the official React documentation. The React documentation also has a guide on how to start using TypeScript in your React project.

Installation

There are multiple ways to install ProzillaOS. The simplest way is to install the bundle package prozilla-os, which contains the core functionality as well as all standard applications.

bash
$ npm install prozilla-os
bash
$ yarn add prozilla-os
bash
$ pnpm add prozilla-os
bash
$ bun add prozilla-os

Alternatively, you can install the @prozilla-os/core package, which only contains the core functionality, and install the apps manually or create custom apps.

bash
$ npm install @prozilla-os/core
bash
$ yarn add @prozilla-os/core
bash
$ pnpm add @prozilla-os/core
bash
$ bun add @prozilla-os/core

Installing apps

Install apps by running the command below. Replace [app] with the id of the app you want to install.

bash
$ npm install @prozilla-os/[app]
bash
$ yarn add @prozilla-os/[app]
bash
$ pnpm add @prozilla-os/[app]
bash
$ bun add @prozilla-os/[app]

Usage

Your entry file should look something like this:

tsx
// index.tsx
+
+import React from "react";
+import ReactDOM from "react-dom/client";
+import { App } from "./App.tsx";
+
+const root = ReactDOM.createRoot(document.getElementById("root") as HTMLElement);
+root.render(<React.StrictMode><App/></React.StrictMode>);

Change your <App> component to:

tsx
// App.tsx
+
+import { Desktop, ModalsView, ProzillaOS, Taskbar, WindowsView } from "prozilla-os";
+
+export function App(): ReactElement {
+	return <ProzillaOS
+		systemName={"Example"}
+		tagLine={"Powered by ProzillaOS"}
+		config={{
+			// Configuration
+		}}
+	>
+		<Taskbar/>
+		<WindowsView/>
+		<ModalsView/>
+		<Desktop/>
+	</ProzillaOS>;
+}

Replace "Example" with a system name of your choosing and "Power by ProzillaOS" by your tag line/short description.

If you don't want a taskbar/desktop/modal in your project, you can leave those components out. Unless you don't want to be able to open applications in your project, you will need to keep the <WindowsView> component.

CAUTION

Depending on how you installed ProzillaOS, your import statement will look slightly different. Make sure you are importing from the correct package that you installed previously.

Using apps

To start using applications in your project, use the appsConfig class to add a list of apps to your configuration.

tsx
<ProzillaOS
+	{/* Other props */}
+	config={{
+		apps: new appsConfig({
+			apps: [
+				// Applications go here
+			]
+		})
+	}}
+>

Example

Here is an example that shows you how to add the fileExplorer app:

tsx
import { fileExplorer } from "prozilla-os"
tsx
<ProzillaOS
+	{/* Other props */}
+	config={{
+		apps: new appsConfig({
+			apps: [
+				fileExplorer.setName("Files")
+					.setDescription("Browse and manage your virtual files on ProzillaOS.")
+					.setIconUrl("/assets/apps/icons/file-explorer.svg")
+			]
+		})
+	}}
+>

TIP

Move your configurations to separate files to make them more readable and keep a better overview of your different configurations. You can then import these configurations into your App.tsx file and use them as values for the config prop of the <ProzillaOS> component.

Once that's done, go ahead and start your project and open it in your browser to check it out. Congratulations, you've made your own operating system inside the browser!

Community

If you have questions or need help, reach out to the community on Discord.

`,30),l=[e];function p(h,k,o,r,d,g){return a(),i("div",null,l)}const y=s(n,[["render",p]]);export{E as __pageData,y as default}; diff --git a/docs/assets/guides_getting-started.md.CBpuTHJh.lean.js b/docs/assets/guides_getting-started.md.CBpuTHJh.lean.js new file mode 100644 index 00000000..540d2f19 --- /dev/null +++ b/docs/assets/guides_getting-started.md.CBpuTHJh.lean.js @@ -0,0 +1 @@ +import{_ as s,c as i,o as a,a2 as t}from"./chunks/framework.DDEYgRcT.js";const E=JSON.parse('{"title":"Getting started","description":"","frontmatter":{"outline":"deep","head":[["meta",{"name":"og:title","content":"Getting started | ProzillaOS Docs"}],["meta",{"name":"twitter:title","content":"Getting started | ProzillaOS Docs"}],["meta",{"name":"og:description","content":"Documentation for ProzillaOS and its packages."}],["meta",{"name":"twitter:description","content":"Documentation for ProzillaOS and its packages."}],["link",{"rel":"canonical","href":"https://os.prozilla.dev/docs/guides/getting-started"}],["meta",{"name":"og:url","content":"https://os.prozilla.dev/docs/guides/getting-started"}],["meta",{"name":"twitter:url","content":"https://os.prozilla.dev/docs/guides/getting-started"}],["meta",{"name":"og:locale","content":"en_US"}],["meta",{"name":"og:image","content":"https://os.prozilla.dev/docs/prozilla-os-title-banner.png"}],["meta",{"name":"twitter:image","content":"https://os.prozilla.dev/docs/prozilla-os-title-banner.png"}],["meta",{"name":"og:type","content":"website"}],["meta",{"name":"twitter:card","content":"summary_large_image"}]]},"headers":[],"relativePath":"guides/getting-started.md","filePath":"guides/getting-started.md"}'),n={name:"guides/getting-started.md"},e=t("",30),l=[e];function p(h,k,o,r,d,g){return a(),i("div",null,l)}const y=s(n,[["render",p]]);export{E as __pageData,y as default}; diff --git a/docs/assets/reference_apps_browser_index.md.C0Yb0wwO.js b/docs/assets/reference_apps_browser_index.md.C0Yb0wwO.js new file mode 100644 index 00000000..5ba59c97 --- /dev/null +++ b/docs/assets/reference_apps_browser_index.md.C0Yb0wwO.js @@ -0,0 +1,26 @@ +import{_ as s,c as i,o as a,a2 as n}from"./chunks/framework.DDEYgRcT.js";const E=JSON.parse('{"title":"@prozilla-os/browser","description":"","frontmatter":{"outline":"deep","head":[["meta",{"name":"og:title","content":"@prozilla-os/browser | ProzillaOS Docs"}],["meta",{"name":"twitter:title","content":"@prozilla-os/browser | ProzillaOS Docs"}],["meta",{"name":"og:description","content":"Documentation for ProzillaOS and its packages."}],["meta",{"name":"twitter:description","content":"Documentation for ProzillaOS and its packages."}],["link",{"rel":"canonical","href":"https://os.prozilla.dev/docs/reference/apps/browser/"}],["meta",{"name":"og:url","content":"https://os.prozilla.dev/docs/reference/apps/browser/"}],["meta",{"name":"twitter:url","content":"https://os.prozilla.dev/docs/reference/apps/browser/"}],["meta",{"name":"og:locale","content":"en_US"}],["meta",{"name":"og:image","content":"https://os.prozilla.dev/docs/prozilla-os-title-banner.png"}],["meta",{"name":"twitter:image","content":"https://os.prozilla.dev/docs/prozilla-os-title-banner.png"}],["meta",{"name":"og:type","content":"website"}],["meta",{"name":"twitter:card","content":"summary_large_image"}]]},"headers":[],"relativePath":"reference/apps/browser/index.md","filePath":"reference/apps/browser/index.md"}'),e={name:"reference/apps/browser/index.md"},t=n(`

@prozilla-os/browser

About

@prozilla-os/browser is a ProzillaOS application for browsing the internet.

Installation

@prozilla-os/core is required to run this application.

sh
$ npm install @prozilla-os/core @prozilla-os/browser
+$ yarn add @prozilla-os/core @prozilla-os/browser
+$ pnpm add @prozilla-os/core @prozilla-os/browser

Usage

Basic setup

tsx
import { Desktop, ModalsView, ProzillaOS, Taskbar, WindowsView, AppsConfig } from "@prozilla-os/core";
+import { browser } from "@prozilla-os/browser";
+
+function App() {
+  return (
+    <ProzillaOS
+      systemName="Example"
+      tagLine="Powered by ProzillaOS"
+      config={{
+        apps: new AppsConfig({
+          apps: [ browser ]
+        })
+      }}
+    >
+      <Taskbar/>
+      <WindowsView/>
+      <ModalsView/>
+      <Desktop/>
+    </ProzillaOS>
+  );
+}

Window options

tsx
/**
+ * URL to open
+ */
+url: string;
`,13),l=[t];function p(r,h,o,k,d,c){return a(),i("div",null,l)}const F=s(e,[["render",p]]);export{E as __pageData,F as default}; diff --git a/docs/assets/reference_apps_browser_index.md.C0Yb0wwO.lean.js b/docs/assets/reference_apps_browser_index.md.C0Yb0wwO.lean.js new file mode 100644 index 00000000..a3694cbe --- /dev/null +++ b/docs/assets/reference_apps_browser_index.md.C0Yb0wwO.lean.js @@ -0,0 +1 @@ +import{_ as s,c as i,o as a,a2 as n}from"./chunks/framework.DDEYgRcT.js";const E=JSON.parse('{"title":"@prozilla-os/browser","description":"","frontmatter":{"outline":"deep","head":[["meta",{"name":"og:title","content":"@prozilla-os/browser | ProzillaOS Docs"}],["meta",{"name":"twitter:title","content":"@prozilla-os/browser | ProzillaOS Docs"}],["meta",{"name":"og:description","content":"Documentation for ProzillaOS and its packages."}],["meta",{"name":"twitter:description","content":"Documentation for ProzillaOS and its packages."}],["link",{"rel":"canonical","href":"https://os.prozilla.dev/docs/reference/apps/browser/"}],["meta",{"name":"og:url","content":"https://os.prozilla.dev/docs/reference/apps/browser/"}],["meta",{"name":"twitter:url","content":"https://os.prozilla.dev/docs/reference/apps/browser/"}],["meta",{"name":"og:locale","content":"en_US"}],["meta",{"name":"og:image","content":"https://os.prozilla.dev/docs/prozilla-os-title-banner.png"}],["meta",{"name":"twitter:image","content":"https://os.prozilla.dev/docs/prozilla-os-title-banner.png"}],["meta",{"name":"og:type","content":"website"}],["meta",{"name":"twitter:card","content":"summary_large_image"}]]},"headers":[],"relativePath":"reference/apps/browser/index.md","filePath":"reference/apps/browser/index.md"}'),e={name:"reference/apps/browser/index.md"},t=n("",13),l=[t];function p(r,h,o,k,d,c){return a(),i("div",null,l)}const F=s(e,[["render",p]]);export{E as __pageData,F as default}; diff --git a/docs/assets/reference_apps_calculator_index.md.BgeDjB_n.js b/docs/assets/reference_apps_calculator_index.md.BgeDjB_n.js new file mode 100644 index 00000000..4b9112c1 --- /dev/null +++ b/docs/assets/reference_apps_calculator_index.md.BgeDjB_n.js @@ -0,0 +1,23 @@ +import{_ as s,c as a,o as i,a2 as l}from"./chunks/framework.DDEYgRcT.js";const g=JSON.parse('{"title":"@prozilla-os/calculator","description":"","frontmatter":{"outline":"deep","head":[["meta",{"name":"og:title","content":"@prozilla-os/calculator | ProzillaOS Docs"}],["meta",{"name":"twitter:title","content":"@prozilla-os/calculator | ProzillaOS Docs"}],["meta",{"name":"og:description","content":"Documentation for ProzillaOS and its packages."}],["meta",{"name":"twitter:description","content":"Documentation for ProzillaOS and its packages."}],["link",{"rel":"canonical","href":"https://os.prozilla.dev/docs/reference/apps/calculator/"}],["meta",{"name":"og:url","content":"https://os.prozilla.dev/docs/reference/apps/calculator/"}],["meta",{"name":"twitter:url","content":"https://os.prozilla.dev/docs/reference/apps/calculator/"}],["meta",{"name":"og:locale","content":"en_US"}],["meta",{"name":"og:image","content":"https://os.prozilla.dev/docs/prozilla-os-title-banner.png"}],["meta",{"name":"twitter:image","content":"https://os.prozilla.dev/docs/prozilla-os-title-banner.png"}],["meta",{"name":"og:type","content":"website"}],["meta",{"name":"twitter:card","content":"summary_large_image"}]]},"headers":[],"relativePath":"reference/apps/calculator/index.md","filePath":"reference/apps/calculator/index.md"}'),t={name:"reference/apps/calculator/index.md"},n=l(`

@prozilla-os/calculator

About

@prozilla-os/calculator is a ProzillaOS application for making basic calculations.

Installation

@prozilla-os/core is required to run this application.

sh
$ npm install @prozilla-os/core @prozilla-os/calculator
+$ yarn add @prozilla-os/core @prozilla-os/calculator
+$ pnpm add @prozilla-os/core @prozilla-os/calculator

Usage

Basic setup

tsx
import { Desktop, ModalsView, ProzillaOS, Taskbar, WindowsView, AppsConfig } from "@prozilla-os/core";
+import { calculator } from "@prozilla-os/calculator";
+
+function App() {
+  return (
+    <ProzillaOS
+      systemName="Example"
+      tagLine="Powered by ProzillaOS"
+      config={{
+        apps: new AppsConfig({
+          apps: [ calculator ]
+        })
+      }}
+    >
+      <Taskbar/>
+      <WindowsView/>
+      <ModalsView/>
+      <Desktop/>
+    </ProzillaOS>
+  );
+}
`,11),e=[n];function p(r,h,o,k,c,d){return i(),a("div",null,e)}const F=s(t,[["render",p]]);export{g as __pageData,F as default}; diff --git a/docs/assets/reference_apps_calculator_index.md.BgeDjB_n.lean.js b/docs/assets/reference_apps_calculator_index.md.BgeDjB_n.lean.js new file mode 100644 index 00000000..4302331d --- /dev/null +++ b/docs/assets/reference_apps_calculator_index.md.BgeDjB_n.lean.js @@ -0,0 +1 @@ +import{_ as s,c as a,o as i,a2 as l}from"./chunks/framework.DDEYgRcT.js";const g=JSON.parse('{"title":"@prozilla-os/calculator","description":"","frontmatter":{"outline":"deep","head":[["meta",{"name":"og:title","content":"@prozilla-os/calculator | ProzillaOS Docs"}],["meta",{"name":"twitter:title","content":"@prozilla-os/calculator | ProzillaOS Docs"}],["meta",{"name":"og:description","content":"Documentation for ProzillaOS and its packages."}],["meta",{"name":"twitter:description","content":"Documentation for ProzillaOS and its packages."}],["link",{"rel":"canonical","href":"https://os.prozilla.dev/docs/reference/apps/calculator/"}],["meta",{"name":"og:url","content":"https://os.prozilla.dev/docs/reference/apps/calculator/"}],["meta",{"name":"twitter:url","content":"https://os.prozilla.dev/docs/reference/apps/calculator/"}],["meta",{"name":"og:locale","content":"en_US"}],["meta",{"name":"og:image","content":"https://os.prozilla.dev/docs/prozilla-os-title-banner.png"}],["meta",{"name":"twitter:image","content":"https://os.prozilla.dev/docs/prozilla-os-title-banner.png"}],["meta",{"name":"og:type","content":"website"}],["meta",{"name":"twitter:card","content":"summary_large_image"}]]},"headers":[],"relativePath":"reference/apps/calculator/index.md","filePath":"reference/apps/calculator/index.md"}'),t={name:"reference/apps/calculator/index.md"},n=l("",11),e=[n];function p(r,h,o,k,c,d){return i(),a("div",null,e)}const F=s(t,[["render",p]]);export{g as __pageData,F as default}; diff --git a/docs/assets/reference_apps_file-explorer_index.md.B_s9faJX.js b/docs/assets/reference_apps_file-explorer_index.md.B_s9faJX.js new file mode 100644 index 00000000..72883f63 --- /dev/null +++ b/docs/assets/reference_apps_file-explorer_index.md.B_s9faJX.js @@ -0,0 +1,52 @@ +import{_ as s,c as i,o as a,a2 as n}from"./chunks/framework.DDEYgRcT.js";const E=JSON.parse('{"title":"@prozilla-os/file-explorer","description":"","frontmatter":{"outline":"deep","head":[["meta",{"name":"og:title","content":"@prozilla-os/file-explorer | ProzillaOS Docs"}],["meta",{"name":"twitter:title","content":"@prozilla-os/file-explorer | ProzillaOS Docs"}],["meta",{"name":"og:description","content":"Documentation for ProzillaOS and its packages."}],["meta",{"name":"twitter:description","content":"Documentation for ProzillaOS and its packages."}],["link",{"rel":"canonical","href":"https://os.prozilla.dev/docs/reference/apps/file-explorer/"}],["meta",{"name":"og:url","content":"https://os.prozilla.dev/docs/reference/apps/file-explorer/"}],["meta",{"name":"twitter:url","content":"https://os.prozilla.dev/docs/reference/apps/file-explorer/"}],["meta",{"name":"og:locale","content":"en_US"}],["meta",{"name":"og:image","content":"https://os.prozilla.dev/docs/prozilla-os-title-banner.png"}],["meta",{"name":"twitter:image","content":"https://os.prozilla.dev/docs/prozilla-os-title-banner.png"}],["meta",{"name":"og:type","content":"website"}],["meta",{"name":"twitter:card","content":"summary_large_image"}]]},"headers":[],"relativePath":"reference/apps/file-explorer/index.md","filePath":"reference/apps/file-explorer/index.md"}'),l={name:"reference/apps/file-explorer/index.md"},e=n(`

@prozilla-os/file-explorer

About

@prozilla-os/file-explorer is a standard ProzillaOS application for browsing files.

Installation

@prozilla-os/core is required to run this application.

sh
$ npm install @prozilla-os/core @prozilla-os/file-explorer
+$ yarn add @prozilla-os/core @prozilla-os/file-explorer
+$ pnpm add @prozilla-os/core @prozilla-os/file-explorer

Usage

Basic setup

tsx
import { Desktop, ModalsView, ProzillaOS, Taskbar, WindowsView, AppsConfig } from "@prozilla-os/core";
+import { fileExplorer } from "@prozilla-os/file-explorer";
+
+function App() {
+  return (
+    <ProzillaOS
+      systemName="Example"
+      tagLine="Powered by ProzillaOS"
+      config={{
+        apps: new AppsConfig({
+          apps: [ fileExplorer ]
+        })
+      }}
+    >
+      <Taskbar/>
+      <WindowsView/>
+      <ModalsView/>
+      <Desktop/>
+    </ProzillaOS>
+  );
+}

Window options

tsx
/**
+ * Initial path that the app will open
+ * @default "~" - Home directory
+ */
+path: string;
+
+/**
+ * Defines in which mode the application is running
+ * 0: None
+ * 1: Single
+ * 2: Multiple
+ * @default 0
+ */
+selectorMode: number;
+
+/**
+ * Footer component that will be displayed when \`selectorMode\` != 0
+ * Can be used to display a list of selected files for example
+ */
+Footer: React.FC;
+
+/**
+ * Gets called each time the selection changes if \`selectorMode\` != 0
+ */
+onSelectionChange: (params: OnSelectionChangeParams) => void;
+
+/**
+ * Gets called when the selection is finished if \`selectorMode\` != 0
+ */
+onSelectionFinish: Function;
`,13),t=[e];function p(h,k,r,o,d,c){return a(),i("div",null,t)}const y=s(l,[["render",p]]);export{E as __pageData,y as default}; diff --git a/docs/assets/reference_apps_file-explorer_index.md.B_s9faJX.lean.js b/docs/assets/reference_apps_file-explorer_index.md.B_s9faJX.lean.js new file mode 100644 index 00000000..f11fe009 --- /dev/null +++ b/docs/assets/reference_apps_file-explorer_index.md.B_s9faJX.lean.js @@ -0,0 +1 @@ +import{_ as s,c as i,o as a,a2 as n}from"./chunks/framework.DDEYgRcT.js";const E=JSON.parse('{"title":"@prozilla-os/file-explorer","description":"","frontmatter":{"outline":"deep","head":[["meta",{"name":"og:title","content":"@prozilla-os/file-explorer | ProzillaOS Docs"}],["meta",{"name":"twitter:title","content":"@prozilla-os/file-explorer | ProzillaOS Docs"}],["meta",{"name":"og:description","content":"Documentation for ProzillaOS and its packages."}],["meta",{"name":"twitter:description","content":"Documentation for ProzillaOS and its packages."}],["link",{"rel":"canonical","href":"https://os.prozilla.dev/docs/reference/apps/file-explorer/"}],["meta",{"name":"og:url","content":"https://os.prozilla.dev/docs/reference/apps/file-explorer/"}],["meta",{"name":"twitter:url","content":"https://os.prozilla.dev/docs/reference/apps/file-explorer/"}],["meta",{"name":"og:locale","content":"en_US"}],["meta",{"name":"og:image","content":"https://os.prozilla.dev/docs/prozilla-os-title-banner.png"}],["meta",{"name":"twitter:image","content":"https://os.prozilla.dev/docs/prozilla-os-title-banner.png"}],["meta",{"name":"og:type","content":"website"}],["meta",{"name":"twitter:card","content":"summary_large_image"}]]},"headers":[],"relativePath":"reference/apps/file-explorer/index.md","filePath":"reference/apps/file-explorer/index.md"}'),l={name:"reference/apps/file-explorer/index.md"},e=n("",13),t=[e];function p(h,k,r,o,d,c){return a(),i("div",null,t)}const y=s(l,[["render",p]]);export{E as __pageData,y as default}; diff --git a/docs/assets/reference_apps_logic-sim_index.md.OHMnQX22.js b/docs/assets/reference_apps_logic-sim_index.md.OHMnQX22.js new file mode 100644 index 00000000..520bdd65 --- /dev/null +++ b/docs/assets/reference_apps_logic-sim_index.md.OHMnQX22.js @@ -0,0 +1,23 @@ +import{_ as s,c as i,o as a,a2 as l}from"./chunks/framework.DDEYgRcT.js";const E=JSON.parse('{"title":"@prozilla-os/logic-sim","description":"","frontmatter":{"outline":"deep","head":[["meta",{"name":"og:title","content":"@prozilla-os/logic-sim | ProzillaOS Docs"}],["meta",{"name":"twitter:title","content":"@prozilla-os/logic-sim | ProzillaOS Docs"}],["meta",{"name":"og:description","content":"Documentation for ProzillaOS and its packages."}],["meta",{"name":"twitter:description","content":"Documentation for ProzillaOS and its packages."}],["link",{"rel":"canonical","href":"https://os.prozilla.dev/docs/reference/apps/logic-sim/"}],["meta",{"name":"og:url","content":"https://os.prozilla.dev/docs/reference/apps/logic-sim/"}],["meta",{"name":"twitter:url","content":"https://os.prozilla.dev/docs/reference/apps/logic-sim/"}],["meta",{"name":"og:locale","content":"en_US"}],["meta",{"name":"og:image","content":"https://os.prozilla.dev/docs/prozilla-os-title-banner.png"}],["meta",{"name":"twitter:image","content":"https://os.prozilla.dev/docs/prozilla-os-title-banner.png"}],["meta",{"name":"og:type","content":"website"}],["meta",{"name":"twitter:card","content":"summary_large_image"}]]},"headers":[],"relativePath":"reference/apps/logic-sim/index.md","filePath":"reference/apps/logic-sim/index.md"}'),n={name:"reference/apps/logic-sim/index.md"},t=l(`

@prozilla-os/logic-sim

About

@prozilla-os/logic-sim is a ProzillaOS application for simulating digital logic. Inspired by Digital Logic Sim by Sebastian Lague.

Installation

@prozilla-os/core is required to run this application.

sh
$ npm install @prozilla-os/core @prozilla-os/logic-sim
+$ yarn add @prozilla-os/core @prozilla-os/logic-sim
+$ pnpm add @prozilla-os/core @prozilla-os/logic-sim

Usage

Basic setup

tsx
import { Desktop, ModalsView, ProzillaOS, Taskbar, WindowsView, AppsConfig } from "@prozilla-os/core";
+import { logicSim } from "@prozilla-os/logic-sim";
+
+function App() {
+  return (
+    <ProzillaOS
+      systemName="Example"
+      tagLine="Powered by ProzillaOS"
+      config={{
+        apps: new AppsConfig({
+          apps: [ logicSim ]
+        })
+      }}
+    >
+      <Taskbar/>
+      <WindowsView/>
+      <ModalsView/>
+      <Desktop/>
+    </ProzillaOS>
+  );
+}
`,11),e=[t];function p(h,r,o,k,c,d){return a(),i("div",null,e)}const m=s(n,[["render",p]]);export{E as __pageData,m as default}; diff --git a/docs/assets/reference_apps_logic-sim_index.md.OHMnQX22.lean.js b/docs/assets/reference_apps_logic-sim_index.md.OHMnQX22.lean.js new file mode 100644 index 00000000..cb56062d --- /dev/null +++ b/docs/assets/reference_apps_logic-sim_index.md.OHMnQX22.lean.js @@ -0,0 +1 @@ +import{_ as s,c as i,o as a,a2 as l}from"./chunks/framework.DDEYgRcT.js";const E=JSON.parse('{"title":"@prozilla-os/logic-sim","description":"","frontmatter":{"outline":"deep","head":[["meta",{"name":"og:title","content":"@prozilla-os/logic-sim | ProzillaOS Docs"}],["meta",{"name":"twitter:title","content":"@prozilla-os/logic-sim | ProzillaOS Docs"}],["meta",{"name":"og:description","content":"Documentation for ProzillaOS and its packages."}],["meta",{"name":"twitter:description","content":"Documentation for ProzillaOS and its packages."}],["link",{"rel":"canonical","href":"https://os.prozilla.dev/docs/reference/apps/logic-sim/"}],["meta",{"name":"og:url","content":"https://os.prozilla.dev/docs/reference/apps/logic-sim/"}],["meta",{"name":"twitter:url","content":"https://os.prozilla.dev/docs/reference/apps/logic-sim/"}],["meta",{"name":"og:locale","content":"en_US"}],["meta",{"name":"og:image","content":"https://os.prozilla.dev/docs/prozilla-os-title-banner.png"}],["meta",{"name":"twitter:image","content":"https://os.prozilla.dev/docs/prozilla-os-title-banner.png"}],["meta",{"name":"og:type","content":"website"}],["meta",{"name":"twitter:card","content":"summary_large_image"}]]},"headers":[],"relativePath":"reference/apps/logic-sim/index.md","filePath":"reference/apps/logic-sim/index.md"}'),n={name:"reference/apps/logic-sim/index.md"},t=l("",11),e=[t];function p(h,r,o,k,c,d){return a(),i("div",null,e)}const m=s(n,[["render",p]]);export{E as __pageData,m as default}; diff --git a/docs/assets/reference_apps_media-viewer_index.md.BhlO3DHC.js b/docs/assets/reference_apps_media-viewer_index.md.BhlO3DHC.js new file mode 100644 index 00000000..0886dc97 --- /dev/null +++ b/docs/assets/reference_apps_media-viewer_index.md.BhlO3DHC.js @@ -0,0 +1,26 @@ +import{_ as s,c as i,o as a,a2 as e}from"./chunks/framework.DDEYgRcT.js";const E=JSON.parse('{"title":"@prozilla-os/media-viewer","description":"","frontmatter":{"outline":"deep","head":[["meta",{"name":"og:title","content":"@prozilla-os/media-viewer | ProzillaOS Docs"}],["meta",{"name":"twitter:title","content":"@prozilla-os/media-viewer | ProzillaOS Docs"}],["meta",{"name":"og:description","content":"Documentation for ProzillaOS and its packages."}],["meta",{"name":"twitter:description","content":"Documentation for ProzillaOS and its packages."}],["link",{"rel":"canonical","href":"https://os.prozilla.dev/docs/reference/apps/media-viewer/"}],["meta",{"name":"og:url","content":"https://os.prozilla.dev/docs/reference/apps/media-viewer/"}],["meta",{"name":"twitter:url","content":"https://os.prozilla.dev/docs/reference/apps/media-viewer/"}],["meta",{"name":"og:locale","content":"en_US"}],["meta",{"name":"og:image","content":"https://os.prozilla.dev/docs/prozilla-os-title-banner.png"}],["meta",{"name":"twitter:image","content":"https://os.prozilla.dev/docs/prozilla-os-title-banner.png"}],["meta",{"name":"og:type","content":"website"}],["meta",{"name":"twitter:card","content":"summary_large_image"}]]},"headers":[],"relativePath":"reference/apps/media-viewer/index.md","filePath":"reference/apps/media-viewer/index.md"}'),n={name:"reference/apps/media-viewer/index.md"},t=e(`

@prozilla-os/media-viewer

About

@prozilla-os/media-viewer is a ProzillaOS application for viewing different kinds of media.

Installation

@prozilla-os/core is required to run this application.

sh
$ npm install @prozilla-os/core @prozilla-os/media-viewer
+$ yarn add @prozilla-os/core @prozilla-os/media-viewer
+$ pnpm add @prozilla-os/core @prozilla-os/media-viewer

Usage

Basic setup

tsx
import { Desktop, ModalsView, ProzillaOS, Taskbar, WindowsView, AppsConfig } from "@prozilla-os/core";
+import { mediaViewer } from "@prozilla-os/media-viewer";
+
+function App() {
+  return (
+    <ProzillaOS
+      systemName="Example"
+      tagLine="Powered by ProzillaOS"
+      config={{
+        apps: new AppsConfig({
+          apps: [ mediaViewer ]
+        })
+      }}
+    >
+      <Taskbar/>
+      <WindowsView/>
+      <ModalsView/>
+      <Desktop/>
+    </ProzillaOS>
+  );
+}

Window options

tsx
/**
+ * A virtual file containing media to open
+ */
+file: VirtualFile;
`,13),l=[t];function p(h,r,k,o,d,c){return a(),i("div",null,l)}const m=s(n,[["render",p]]);export{E as __pageData,m as default}; diff --git a/docs/assets/reference_apps_media-viewer_index.md.BhlO3DHC.lean.js b/docs/assets/reference_apps_media-viewer_index.md.BhlO3DHC.lean.js new file mode 100644 index 00000000..70b09131 --- /dev/null +++ b/docs/assets/reference_apps_media-viewer_index.md.BhlO3DHC.lean.js @@ -0,0 +1 @@ +import{_ as s,c as i,o as a,a2 as e}from"./chunks/framework.DDEYgRcT.js";const E=JSON.parse('{"title":"@prozilla-os/media-viewer","description":"","frontmatter":{"outline":"deep","head":[["meta",{"name":"og:title","content":"@prozilla-os/media-viewer | ProzillaOS Docs"}],["meta",{"name":"twitter:title","content":"@prozilla-os/media-viewer | ProzillaOS Docs"}],["meta",{"name":"og:description","content":"Documentation for ProzillaOS and its packages."}],["meta",{"name":"twitter:description","content":"Documentation for ProzillaOS and its packages."}],["link",{"rel":"canonical","href":"https://os.prozilla.dev/docs/reference/apps/media-viewer/"}],["meta",{"name":"og:url","content":"https://os.prozilla.dev/docs/reference/apps/media-viewer/"}],["meta",{"name":"twitter:url","content":"https://os.prozilla.dev/docs/reference/apps/media-viewer/"}],["meta",{"name":"og:locale","content":"en_US"}],["meta",{"name":"og:image","content":"https://os.prozilla.dev/docs/prozilla-os-title-banner.png"}],["meta",{"name":"twitter:image","content":"https://os.prozilla.dev/docs/prozilla-os-title-banner.png"}],["meta",{"name":"og:type","content":"website"}],["meta",{"name":"twitter:card","content":"summary_large_image"}]]},"headers":[],"relativePath":"reference/apps/media-viewer/index.md","filePath":"reference/apps/media-viewer/index.md"}'),n={name:"reference/apps/media-viewer/index.md"},t=e("",13),l=[t];function p(h,r,k,o,d,c){return a(),i("div",null,l)}const m=s(n,[["render",p]]);export{E as __pageData,m as default}; diff --git a/docs/assets/reference_apps_settings_index.md.DI0n2h7P.js b/docs/assets/reference_apps_settings_index.md.DI0n2h7P.js new file mode 100644 index 00000000..9947c17b --- /dev/null +++ b/docs/assets/reference_apps_settings_index.md.DI0n2h7P.js @@ -0,0 +1,27 @@ +import{_ as s,c as i,o as a,a2 as n}from"./chunks/framework.DDEYgRcT.js";const E=JSON.parse('{"title":"@prozilla-os/settings","description":"","frontmatter":{"outline":"deep","head":[["meta",{"name":"og:title","content":"@prozilla-os/settings | ProzillaOS Docs"}],["meta",{"name":"twitter:title","content":"@prozilla-os/settings | ProzillaOS Docs"}],["meta",{"name":"og:description","content":"Documentation for ProzillaOS and its packages."}],["meta",{"name":"twitter:description","content":"Documentation for ProzillaOS and its packages."}],["link",{"rel":"canonical","href":"https://os.prozilla.dev/docs/reference/apps/settings/"}],["meta",{"name":"og:url","content":"https://os.prozilla.dev/docs/reference/apps/settings/"}],["meta",{"name":"twitter:url","content":"https://os.prozilla.dev/docs/reference/apps/settings/"}],["meta",{"name":"og:locale","content":"en_US"}],["meta",{"name":"og:image","content":"https://os.prozilla.dev/docs/prozilla-os-title-banner.png"}],["meta",{"name":"twitter:image","content":"https://os.prozilla.dev/docs/prozilla-os-title-banner.png"}],["meta",{"name":"og:type","content":"website"}],["meta",{"name":"twitter:card","content":"summary_large_image"}]]},"headers":[],"relativePath":"reference/apps/settings/index.md","filePath":"reference/apps/settings/index.md"}'),t={name:"reference/apps/settings/index.md"},e=n(`

@prozilla-os/settings

About

@prozilla-os/settings is a ProzillaOS application for configuring settings.

Installation

@prozilla-os/core is required to run this application.

sh
$ npm install @prozilla-os/core @prozilla-os/settings
+$ yarn add @prozilla-os/core @prozilla-os/settings
+$ pnpm add @prozilla-os/core @prozilla-os/settings

Usage

Basic setup

tsx
import { Desktop, ModalsView, ProzillaOS, Taskbar, WindowsView, AppsConfig } from "@prozilla-os/core";
+import { settings } from "@prozilla-os/settings";
+
+function App() {
+  return (
+    <ProzillaOS
+      systemName="Example"
+      tagLine="Powered by ProzillaOS"
+      config={{
+        apps: new AppsConfig({
+          apps: [ settings ]
+        })
+      }}
+    >
+      <Taskbar/>
+      <WindowsView/>
+      <ModalsView/>
+      <Desktop/>
+    </ProzillaOS>
+  );
+}

Window options

tsx
/**
+ * Initial tab to open
+ * @default 0
+ */
+tab: number;
`,13),l=[e];function p(h,r,k,o,d,g){return a(),i("div",null,l)}const F=s(t,[["render",p]]);export{E as __pageData,F as default}; diff --git a/docs/assets/reference_apps_settings_index.md.DI0n2h7P.lean.js b/docs/assets/reference_apps_settings_index.md.DI0n2h7P.lean.js new file mode 100644 index 00000000..e3d61e6b --- /dev/null +++ b/docs/assets/reference_apps_settings_index.md.DI0n2h7P.lean.js @@ -0,0 +1 @@ +import{_ as s,c as i,o as a,a2 as n}from"./chunks/framework.DDEYgRcT.js";const E=JSON.parse('{"title":"@prozilla-os/settings","description":"","frontmatter":{"outline":"deep","head":[["meta",{"name":"og:title","content":"@prozilla-os/settings | ProzillaOS Docs"}],["meta",{"name":"twitter:title","content":"@prozilla-os/settings | ProzillaOS Docs"}],["meta",{"name":"og:description","content":"Documentation for ProzillaOS and its packages."}],["meta",{"name":"twitter:description","content":"Documentation for ProzillaOS and its packages."}],["link",{"rel":"canonical","href":"https://os.prozilla.dev/docs/reference/apps/settings/"}],["meta",{"name":"og:url","content":"https://os.prozilla.dev/docs/reference/apps/settings/"}],["meta",{"name":"twitter:url","content":"https://os.prozilla.dev/docs/reference/apps/settings/"}],["meta",{"name":"og:locale","content":"en_US"}],["meta",{"name":"og:image","content":"https://os.prozilla.dev/docs/prozilla-os-title-banner.png"}],["meta",{"name":"twitter:image","content":"https://os.prozilla.dev/docs/prozilla-os-title-banner.png"}],["meta",{"name":"og:type","content":"website"}],["meta",{"name":"twitter:card","content":"summary_large_image"}]]},"headers":[],"relativePath":"reference/apps/settings/index.md","filePath":"reference/apps/settings/index.md"}'),t={name:"reference/apps/settings/index.md"},e=n("",13),l=[e];function p(h,r,k,o,d,g){return a(),i("div",null,l)}const F=s(t,[["render",p]]);export{E as __pageData,F as default}; diff --git a/docs/assets/reference_apps_terminal_index.md.BuYp3kDn.js b/docs/assets/reference_apps_terminal_index.md.BuYp3kDn.js new file mode 100644 index 00000000..a14e145a --- /dev/null +++ b/docs/assets/reference_apps_terminal_index.md.BuYp3kDn.js @@ -0,0 +1,32 @@ +import{_ as s,c as i,o as a,a2 as n}from"./chunks/framework.DDEYgRcT.js";const E=JSON.parse('{"title":"@prozilla-os/terminal","description":"","frontmatter":{"outline":"deep","head":[["meta",{"name":"og:title","content":"@prozilla-os/terminal | ProzillaOS Docs"}],["meta",{"name":"twitter:title","content":"@prozilla-os/terminal | ProzillaOS Docs"}],["meta",{"name":"og:description","content":"Documentation for ProzillaOS and its packages."}],["meta",{"name":"twitter:description","content":"Documentation for ProzillaOS and its packages."}],["link",{"rel":"canonical","href":"https://os.prozilla.dev/docs/reference/apps/terminal/"}],["meta",{"name":"og:url","content":"https://os.prozilla.dev/docs/reference/apps/terminal/"}],["meta",{"name":"twitter:url","content":"https://os.prozilla.dev/docs/reference/apps/terminal/"}],["meta",{"name":"og:locale","content":"en_US"}],["meta",{"name":"og:image","content":"https://os.prozilla.dev/docs/prozilla-os-title-banner.png"}],["meta",{"name":"twitter:image","content":"https://os.prozilla.dev/docs/prozilla-os-title-banner.png"}],["meta",{"name":"og:type","content":"website"}],["meta",{"name":"twitter:card","content":"summary_large_image"}]]},"headers":[],"relativePath":"reference/apps/terminal/index.md","filePath":"reference/apps/terminal/index.md"}'),l={name:"reference/apps/terminal/index.md"},t=n(`

@prozilla-os/terminal

About

@prozilla-os/terminal is a terminal/shell application for ProzillaOS.

Installation

@prozilla-os/core is required to run this application.

sh
$ npm install @prozilla-os/core @prozilla-os/terminal
+$ yarn add @prozilla-os/core @prozilla-os/terminal
+$ pnpm add @prozilla-os/core @prozilla-os/terminal

Usage

Basic setup

tsx
import { Desktop, ModalsView, ProzillaOS, Taskbar, WindowsView, AppsConfig } from "@prozilla-os/core";
+import { terminal } from "@prozilla-os/terminal";
+
+function App() {
+  return (
+    <ProzillaOS
+      systemName="Example"
+      tagLine="Powered by ProzillaOS"
+      config={{
+        apps: new AppsConfig({
+          apps: [ terminal ]
+        })
+      }}
+    >
+      <Taskbar/>
+      <WindowsView/>
+      <ModalsView/>
+      <Desktop/>
+    </ProzillaOS>
+  );
+}

Window options

tsx
/**
+ * Initial path that the app will open
+ * @default "~" - Home directory
+ */
+path: string;
+
+/**
+ * Initial input
+ */
+input: string;
`,13),e=[t];function p(h,r,k,o,d,c){return a(),i("div",null,e)}const F=s(l,[["render",p]]);export{E as __pageData,F as default}; diff --git a/docs/assets/reference_apps_terminal_index.md.BuYp3kDn.lean.js b/docs/assets/reference_apps_terminal_index.md.BuYp3kDn.lean.js new file mode 100644 index 00000000..e6b93594 --- /dev/null +++ b/docs/assets/reference_apps_terminal_index.md.BuYp3kDn.lean.js @@ -0,0 +1 @@ +import{_ as s,c as i,o as a,a2 as n}from"./chunks/framework.DDEYgRcT.js";const E=JSON.parse('{"title":"@prozilla-os/terminal","description":"","frontmatter":{"outline":"deep","head":[["meta",{"name":"og:title","content":"@prozilla-os/terminal | ProzillaOS Docs"}],["meta",{"name":"twitter:title","content":"@prozilla-os/terminal | ProzillaOS Docs"}],["meta",{"name":"og:description","content":"Documentation for ProzillaOS and its packages."}],["meta",{"name":"twitter:description","content":"Documentation for ProzillaOS and its packages."}],["link",{"rel":"canonical","href":"https://os.prozilla.dev/docs/reference/apps/terminal/"}],["meta",{"name":"og:url","content":"https://os.prozilla.dev/docs/reference/apps/terminal/"}],["meta",{"name":"twitter:url","content":"https://os.prozilla.dev/docs/reference/apps/terminal/"}],["meta",{"name":"og:locale","content":"en_US"}],["meta",{"name":"og:image","content":"https://os.prozilla.dev/docs/prozilla-os-title-banner.png"}],["meta",{"name":"twitter:image","content":"https://os.prozilla.dev/docs/prozilla-os-title-banner.png"}],["meta",{"name":"og:type","content":"website"}],["meta",{"name":"twitter:card","content":"summary_large_image"}]]},"headers":[],"relativePath":"reference/apps/terminal/index.md","filePath":"reference/apps/terminal/index.md"}'),l={name:"reference/apps/terminal/index.md"},t=n("",13),e=[t];function p(h,r,k,o,d,c){return a(),i("div",null,e)}const F=s(l,[["render",p]]);export{E as __pageData,F as default}; diff --git a/docs/assets/reference_apps_text-editor_index.md.gfaelM5g.js b/docs/assets/reference_apps_text-editor_index.md.gfaelM5g.js new file mode 100644 index 00000000..de1628ca --- /dev/null +++ b/docs/assets/reference_apps_text-editor_index.md.gfaelM5g.js @@ -0,0 +1,39 @@ +import{_ as s,c as i,o as a,a2 as t}from"./chunks/framework.DDEYgRcT.js";const E=JSON.parse('{"title":"@prozilla-os/text-editor","description":"","frontmatter":{"outline":"deep","head":[["meta",{"name":"og:title","content":"@prozilla-os/text-editor | ProzillaOS Docs"}],["meta",{"name":"twitter:title","content":"@prozilla-os/text-editor | ProzillaOS Docs"}],["meta",{"name":"og:description","content":"Documentation for ProzillaOS and its packages."}],["meta",{"name":"twitter:description","content":"Documentation for ProzillaOS and its packages."}],["link",{"rel":"canonical","href":"https://os.prozilla.dev/docs/reference/apps/text-editor/"}],["meta",{"name":"og:url","content":"https://os.prozilla.dev/docs/reference/apps/text-editor/"}],["meta",{"name":"twitter:url","content":"https://os.prozilla.dev/docs/reference/apps/text-editor/"}],["meta",{"name":"og:locale","content":"en_US"}],["meta",{"name":"og:image","content":"https://os.prozilla.dev/docs/prozilla-os-title-banner.png"}],["meta",{"name":"twitter:image","content":"https://os.prozilla.dev/docs/prozilla-os-title-banner.png"}],["meta",{"name":"og:type","content":"website"}],["meta",{"name":"twitter:card","content":"summary_large_image"}]]},"headers":[],"relativePath":"reference/apps/text-editor/index.md","filePath":"reference/apps/text-editor/index.md"}'),n={name:"reference/apps/text-editor/index.md"},e=t(`

@prozilla-os/text-editor

About

@prozilla-os/text-editor is a text editor application for ProzillaOS.

Installation

@prozilla-os/core is required to run this application.

sh
$ npm install @prozilla-os/core @prozilla-os/text-editor
+$ yarn add @prozilla-os/core @prozilla-os/text-editor
+$ pnpm add @prozilla-os/core @prozilla-os/text-editor

Usage

Basic setup

tsx
import { Desktop, ModalsView, ProzillaOS, Taskbar, WindowsView, AppsConfig } from "@prozilla-os/core";
+import { textEditor } from "@prozilla-os/text-editor";
+
+function App() {
+  return (
+    <ProzillaOS
+      systemName="Example"
+      tagLine="Powered by ProzillaOS"
+      config={{
+        apps: new AppsConfig({
+          apps: [ textEditor ]
+        })
+      }}
+    >
+      <Taskbar/>
+      <WindowsView/>
+      <ModalsView/>
+      <Desktop/>
+    </ProzillaOS>
+  );
+}

Window options

tsx
/**
+ * Initial path that the app will open
+ * @default "~" - Home directory
+ */
+path: string;
+
+/**
+ * Virtual file to open the app with
+ */
+file: VirtualFile;
+
+/**
+ * Mode in which to run the app
+ * "view" - Renders markdown files and renders syntax highlighting of other file formats, disables text editing
+ * "edit" - Raw text editor
+ */
+mode: "view" | "edit";
`,13),l=[e];function p(h,r,k,o,d,c){return a(),i("div",null,l)}const y=s(n,[["render",p]]);export{E as __pageData,y as default}; diff --git a/docs/assets/reference_apps_text-editor_index.md.gfaelM5g.lean.js b/docs/assets/reference_apps_text-editor_index.md.gfaelM5g.lean.js new file mode 100644 index 00000000..c0f042be --- /dev/null +++ b/docs/assets/reference_apps_text-editor_index.md.gfaelM5g.lean.js @@ -0,0 +1 @@ +import{_ as s,c as i,o as a,a2 as t}from"./chunks/framework.DDEYgRcT.js";const E=JSON.parse('{"title":"@prozilla-os/text-editor","description":"","frontmatter":{"outline":"deep","head":[["meta",{"name":"og:title","content":"@prozilla-os/text-editor | ProzillaOS Docs"}],["meta",{"name":"twitter:title","content":"@prozilla-os/text-editor | ProzillaOS Docs"}],["meta",{"name":"og:description","content":"Documentation for ProzillaOS and its packages."}],["meta",{"name":"twitter:description","content":"Documentation for ProzillaOS and its packages."}],["link",{"rel":"canonical","href":"https://os.prozilla.dev/docs/reference/apps/text-editor/"}],["meta",{"name":"og:url","content":"https://os.prozilla.dev/docs/reference/apps/text-editor/"}],["meta",{"name":"twitter:url","content":"https://os.prozilla.dev/docs/reference/apps/text-editor/"}],["meta",{"name":"og:locale","content":"en_US"}],["meta",{"name":"og:image","content":"https://os.prozilla.dev/docs/prozilla-os-title-banner.png"}],["meta",{"name":"twitter:image","content":"https://os.prozilla.dev/docs/prozilla-os-title-banner.png"}],["meta",{"name":"og:type","content":"website"}],["meta",{"name":"twitter:card","content":"summary_large_image"}]]},"headers":[],"relativePath":"reference/apps/text-editor/index.md","filePath":"reference/apps/text-editor/index.md"}'),n={name:"reference/apps/text-editor/index.md"},e=t("",13),l=[e];function p(h,r,k,o,d,c){return a(),i("div",null,l)}const y=s(n,[["render",p]]);export{E as __pageData,y as default}; diff --git a/docs/assets/reference_configuration.md.D4UHtUuX.js b/docs/assets/reference_configuration.md.D4UHtUuX.js new file mode 100644 index 00000000..459ad594 --- /dev/null +++ b/docs/assets/reference_configuration.md.D4UHtUuX.js @@ -0,0 +1,36 @@ +import{_ as s,c as i,o as a,a2 as n}from"./chunks/framework.DDEYgRcT.js";const c=JSON.parse('{"title":"Configuration","description":"","frontmatter":{"outline":"deep","head":[["meta",{"name":"og:title","content":"Configuration | ProzillaOS Docs"}],["meta",{"name":"twitter:title","content":"Configuration | ProzillaOS Docs"}],["meta",{"name":"og:description","content":"Documentation for ProzillaOS and its packages."}],["meta",{"name":"twitter:description","content":"Documentation for ProzillaOS and its packages."}],["link",{"rel":"canonical","href":"https://os.prozilla.dev/docs/reference/configuration"}],["meta",{"name":"og:url","content":"https://os.prozilla.dev/docs/reference/configuration"}],["meta",{"name":"twitter:url","content":"https://os.prozilla.dev/docs/reference/configuration"}],["meta",{"name":"og:locale","content":"en_US"}],["meta",{"name":"og:image","content":"https://os.prozilla.dev/docs/prozilla-os-title-banner.png"}],["meta",{"name":"twitter:image","content":"https://os.prozilla.dev/docs/prozilla-os-title-banner.png"}],["meta",{"name":"og:type","content":"website"}],["meta",{"name":"twitter:card","content":"summary_large_image"}]]},"headers":[],"relativePath":"reference/configuration.md","filePath":"reference/configuration.md"}'),t={name:"reference/configuration.md"},e=n(`

Configuration

To configure ProzillaOS, pass the following properties inside to the config prop on the <ProzillaOS> component.

<ProzillaOS> props

systemName

Name of the system

tagLine

Tag line or short description of the system

skin

Configurations for assets, stylesheets and other visual elements

config

Configurations for functional elements and features

ts
interface ConfigOptions {
+	apps?: AppsConfig;
+	desktop?: DesktopConfig;
+	misc?: MiscConfig;
+	modals?: ModalsConfig;
+	taskbar?: TaskbarConfig;
+	tracking?: TrackingConfig;
+	windows?: WindowsConfig;
+}

References

Example

tsx
<ProzillaOS
+	systemName={"ProzillaOS"}
+	tagLine={"Web-based Operating System"}
+	skin={new Skin({
+		defaultWallpaper: "/assets/wallpapers/abstract-mesh-gradient-orange-red-purple.png"
+	})}
+	config={{
+		apps: new AppsConfig({
+			apps: [
+				fileExplorer.setName("Files")
+					.setDescription("Browse and manage your virtual files on ProzillaOS.")
+					.setIconUrl("/assets/apps/icons/file-explorer.svg"),
+				terminal.setName("Commands")
+					.setDescription("A command line tool inspired by the Unix shell that runs entirely in your browser using ProzillaOS. Allows you to interact and manipulate the virtual drive and run silly commands.")
+					.setIconUrl("/assets/apps/icons/terminal.svg"),
+				settings.setName("Settings")
+					.setDescription(\`Configure ProzillaOS's settings and customize your experience.\`)
+					.setIconUrl("/assets/apps/icons/settings.svg"),
+			],
+		}),
+		desktop: new DesktopConfig({
+			defaultWallpaper: "/assets/wallpapers/abstract-mesh-gradient-orange-red-purple.png"
+		}),
+		taskbar: new TaskbarConfig({
+			height: 48
+		}),
+	}}
+>
`,19),l=[e];function p(h,k,r,o,E,g){return a(),i("div",null,l)}const y=s(t,[["render",p]]);export{c as __pageData,y as default}; diff --git a/docs/assets/reference_configuration.md.D4UHtUuX.lean.js b/docs/assets/reference_configuration.md.D4UHtUuX.lean.js new file mode 100644 index 00000000..110b452e --- /dev/null +++ b/docs/assets/reference_configuration.md.D4UHtUuX.lean.js @@ -0,0 +1 @@ +import{_ as s,c as i,o as a,a2 as n}from"./chunks/framework.DDEYgRcT.js";const c=JSON.parse('{"title":"Configuration","description":"","frontmatter":{"outline":"deep","head":[["meta",{"name":"og:title","content":"Configuration | ProzillaOS Docs"}],["meta",{"name":"twitter:title","content":"Configuration | ProzillaOS Docs"}],["meta",{"name":"og:description","content":"Documentation for ProzillaOS and its packages."}],["meta",{"name":"twitter:description","content":"Documentation for ProzillaOS and its packages."}],["link",{"rel":"canonical","href":"https://os.prozilla.dev/docs/reference/configuration"}],["meta",{"name":"og:url","content":"https://os.prozilla.dev/docs/reference/configuration"}],["meta",{"name":"twitter:url","content":"https://os.prozilla.dev/docs/reference/configuration"}],["meta",{"name":"og:locale","content":"en_US"}],["meta",{"name":"og:image","content":"https://os.prozilla.dev/docs/prozilla-os-title-banner.png"}],["meta",{"name":"twitter:image","content":"https://os.prozilla.dev/docs/prozilla-os-title-banner.png"}],["meta",{"name":"og:type","content":"website"}],["meta",{"name":"twitter:card","content":"summary_large_image"}]]},"headers":[],"relativePath":"reference/configuration.md","filePath":"reference/configuration.md"}'),t={name:"reference/configuration.md"},e=n("",19),l=[e];function p(h,k,r,o,E,g){return a(),i("div",null,l)}const y=s(t,[["render",p]]);export{c as __pageData,y as default}; diff --git a/docs/assets/reference_core_classes_apps_app.md.B4Yql9iV.js b/docs/assets/reference_core_classes_apps_app.md.B4Yql9iV.js new file mode 100644 index 00000000..e6e4a206 --- /dev/null +++ b/docs/assets/reference_core_classes_apps_app.md.B4Yql9iV.js @@ -0,0 +1,7 @@ +import{_ as s,c as i,j as e,t as n,a as t,a2 as o,o as l}from"./chunks/framework.DDEYgRcT.js";const y=JSON.parse('{"title":"Class App","description":"An application that can be run by ProzillaOS","frontmatter":{"outline":"deep","description":"An application that can be run by ProzillaOS","package":"@prozilla-os/core","head":[["meta",{"name":"og:title","content":"Class App | ProzillaOS Docs"}],["meta",{"name":"twitter:title","content":"Class App | ProzillaOS Docs"}],["meta",{"name":"og:description","content":"An application that can be run by ProzillaOS"}],["meta",{"name":"twitter:description","content":"An application that can be run by ProzillaOS"}],["link",{"rel":"canonical","href":"https://os.prozilla.dev/docs/reference/core/classes/apps/app"}],["meta",{"name":"og:url","content":"https://os.prozilla.dev/docs/reference/core/classes/apps/app"}],["meta",{"name":"twitter:url","content":"https://os.prozilla.dev/docs/reference/core/classes/apps/app"}],["meta",{"name":"og:locale","content":"en_US"}],["meta",{"name":"og:image","content":"https://os.prozilla.dev/docs/prozilla-os-title-banner.png"}],["meta",{"name":"twitter:image","content":"https://os.prozilla.dev/docs/prozilla-os-title-banner.png"}],["meta",{"name":"og:type","content":"website"}],["meta",{"name":"twitter:card","content":"summary_large_image"}]]},"headers":[],"relativePath":"reference/core/classes/apps/app.md","filePath":"reference/core/classes/apps/app.md"}'),r={name:"reference/core/classes/apps/app.md"},p=e("h1",{id:"class-app",tabindex:"-1"},[t("Class "),e("a",{href:"https://github.com/prozilla-os/ProzillaOS/blob/main/packages/core/src/features/system/configs/app.tsx",target:"_blank",rel:"noreferrer"},[e("code",null,"App")]),t(),e("a",{class:"header-anchor",href:"#class-app","aria-label":'Permalink to "Class [`App`](https://github.com/prozilla-os/ProzillaOS/blob/main/packages/core/src/features/system/configs/app.tsx)"'},"​")],-1),c=o(`

Applications can be installed by adding them to the apps array in AppsConfig

Type parameters

<AppProps extends WindowProps = WindowProps>

Constructor

new App(name, id, windowContent, windowOptions)

Parameters


name

id

windowContent

windowOptions

ts
interface WindowOptions {
+	size?: Vector2;
+	[key: string]: unknown;
+}

References

Properties

name

The display name of this application

id

The unique ID of this application

WARNING

Every app must have a unique ID that only contains lower case letters (a-z), numbers (0-9) and dashes (-).

windowContent

React component that renders this app inside a window when the app is running

windowOptions

Default options that get passed to the windowContent component

ts
interface WindowOptions {
+	size?: Vector2;
+	[key: string]: unknown;
+}

References

description

Description of this application

iconUrl

URL of the icon of this application

role

Defines what parts of the OS this app is responsible for and how it can be used by other apps

associatedExtensions

An array of file extensions that this application is used to open and read

pinnedByDefault

Determines whether the app is pinned by default

launchAtStartup

Determines whether the app is launched at startup

Methods

setName(name)

Set the display name of this application

setDescription(description)

Set the description of this application

setIconUrl(iconUrl)

Set the URL of the icon of this application

setRole(role)

Set the role of this application

setAssociatedExtensions(extensions)

Set the associated extensions of this application

setPinnedByDefault(pinnedByDefault)

Changes whether this application is pinned by default or not

setLaunchAtStartup(launchAtStartup)

Changes whether this application is launched at startup or not

WindowContent(props)

Renders the app as a React component

`,76);function d(a,h,u,g,k,m){return l(),i("div",null,[p,e("p",null,n(a.$frontmatter.description),1),c])}const f=s(r,[["render",d]]);export{y as __pageData,f as default}; diff --git a/docs/assets/reference_core_classes_apps_app.md.B4Yql9iV.lean.js b/docs/assets/reference_core_classes_apps_app.md.B4Yql9iV.lean.js new file mode 100644 index 00000000..83bffe92 --- /dev/null +++ b/docs/assets/reference_core_classes_apps_app.md.B4Yql9iV.lean.js @@ -0,0 +1 @@ +import{_ as s,c as i,j as e,t as n,a as t,a2 as o,o as l}from"./chunks/framework.DDEYgRcT.js";const y=JSON.parse('{"title":"Class App","description":"An application that can be run by ProzillaOS","frontmatter":{"outline":"deep","description":"An application that can be run by ProzillaOS","package":"@prozilla-os/core","head":[["meta",{"name":"og:title","content":"Class App | ProzillaOS Docs"}],["meta",{"name":"twitter:title","content":"Class App | ProzillaOS Docs"}],["meta",{"name":"og:description","content":"An application that can be run by ProzillaOS"}],["meta",{"name":"twitter:description","content":"An application that can be run by ProzillaOS"}],["link",{"rel":"canonical","href":"https://os.prozilla.dev/docs/reference/core/classes/apps/app"}],["meta",{"name":"og:url","content":"https://os.prozilla.dev/docs/reference/core/classes/apps/app"}],["meta",{"name":"twitter:url","content":"https://os.prozilla.dev/docs/reference/core/classes/apps/app"}],["meta",{"name":"og:locale","content":"en_US"}],["meta",{"name":"og:image","content":"https://os.prozilla.dev/docs/prozilla-os-title-banner.png"}],["meta",{"name":"twitter:image","content":"https://os.prozilla.dev/docs/prozilla-os-title-banner.png"}],["meta",{"name":"og:type","content":"website"}],["meta",{"name":"twitter:card","content":"summary_large_image"}]]},"headers":[],"relativePath":"reference/core/classes/apps/app.md","filePath":"reference/core/classes/apps/app.md"}'),r={name:"reference/core/classes/apps/app.md"},p=e("h1",{id:"class-app",tabindex:"-1"},[t("Class "),e("a",{href:"https://github.com/prozilla-os/ProzillaOS/blob/main/packages/core/src/features/system/configs/app.tsx",target:"_blank",rel:"noreferrer"},[e("code",null,"App")]),t(),e("a",{class:"header-anchor",href:"#class-app","aria-label":'Permalink to "Class [`App`](https://github.com/prozilla-os/ProzillaOS/blob/main/packages/core/src/features/system/configs/app.tsx)"'},"​")],-1),c=o("",76);function d(a,h,u,g,k,m){return l(),i("div",null,[p,e("p",null,n(a.$frontmatter.description),1),c])}const f=s(r,[["render",d]]);export{y as __pageData,f as default}; diff --git a/docs/assets/reference_core_classes_system_apps-config.md.CG-VE_iy.js b/docs/assets/reference_core_classes_system_apps-config.md.CG-VE_iy.js new file mode 100644 index 00000000..8e1a1384 --- /dev/null +++ b/docs/assets/reference_core_classes_system_apps-config.md.CG-VE_iy.js @@ -0,0 +1 @@ +import{_ as e,c as a,o as s,a2 as t}from"./chunks/framework.DDEYgRcT.js";const f=JSON.parse('{"title":"Class AppsConfig","description":"","frontmatter":{"outline":"deep","package":"@prozilla-os/core","head":[["meta",{"name":"og:title","content":"Class AppsConfig | ProzillaOS Docs"}],["meta",{"name":"twitter:title","content":"Class AppsConfig | ProzillaOS Docs"}],["meta",{"name":"og:description","content":"Documentation for ProzillaOS and its packages."}],["meta",{"name":"twitter:description","content":"Documentation for ProzillaOS and its packages."}],["link",{"rel":"canonical","href":"https://os.prozilla.dev/docs/reference/core/classes/system/apps-config"}],["meta",{"name":"og:url","content":"https://os.prozilla.dev/docs/reference/core/classes/system/apps-config"}],["meta",{"name":"twitter:url","content":"https://os.prozilla.dev/docs/reference/core/classes/system/apps-config"}],["meta",{"name":"og:locale","content":"en_US"}],["meta",{"name":"og:image","content":"https://os.prozilla.dev/docs/prozilla-os-title-banner.png"}],["meta",{"name":"twitter:image","content":"https://os.prozilla.dev/docs/prozilla-os-title-banner.png"}],["meta",{"name":"og:type","content":"website"}],["meta",{"name":"twitter:card","content":"summary_large_image"}]]},"headers":[],"relativePath":"reference/core/classes/system/apps-config.md","filePath":"reference/core/classes/system/apps-config.md"}'),o={name:"reference/core/classes/system/apps-config.md"},i=t('

Class AppsConfig

Constructor

new AppsConfig(options)

Parameters


options

ts
interface AppsConfigOptions {\n	apps?: App[];\n}

References

Properties

apps

An array of applications

',13),n=[i];function r(p,l,c,h,d,m){return s(),a("div",null,n)}const u=e(o,[["render",r]]);export{f as __pageData,u as default}; diff --git a/docs/assets/reference_core_classes_system_apps-config.md.CG-VE_iy.lean.js b/docs/assets/reference_core_classes_system_apps-config.md.CG-VE_iy.lean.js new file mode 100644 index 00000000..56de906e --- /dev/null +++ b/docs/assets/reference_core_classes_system_apps-config.md.CG-VE_iy.lean.js @@ -0,0 +1 @@ +import{_ as e,c as a,o as s,a2 as t}from"./chunks/framework.DDEYgRcT.js";const f=JSON.parse('{"title":"Class AppsConfig","description":"","frontmatter":{"outline":"deep","package":"@prozilla-os/core","head":[["meta",{"name":"og:title","content":"Class AppsConfig | ProzillaOS Docs"}],["meta",{"name":"twitter:title","content":"Class AppsConfig | ProzillaOS Docs"}],["meta",{"name":"og:description","content":"Documentation for ProzillaOS and its packages."}],["meta",{"name":"twitter:description","content":"Documentation for ProzillaOS and its packages."}],["link",{"rel":"canonical","href":"https://os.prozilla.dev/docs/reference/core/classes/system/apps-config"}],["meta",{"name":"og:url","content":"https://os.prozilla.dev/docs/reference/core/classes/system/apps-config"}],["meta",{"name":"twitter:url","content":"https://os.prozilla.dev/docs/reference/core/classes/system/apps-config"}],["meta",{"name":"og:locale","content":"en_US"}],["meta",{"name":"og:image","content":"https://os.prozilla.dev/docs/prozilla-os-title-banner.png"}],["meta",{"name":"twitter:image","content":"https://os.prozilla.dev/docs/prozilla-os-title-banner.png"}],["meta",{"name":"og:type","content":"website"}],["meta",{"name":"twitter:card","content":"summary_large_image"}]]},"headers":[],"relativePath":"reference/core/classes/system/apps-config.md","filePath":"reference/core/classes/system/apps-config.md"}'),o={name:"reference/core/classes/system/apps-config.md"},i=t("",13),n=[i];function r(p,l,c,h,d,m){return s(),a("div",null,n)}const u=e(o,[["render",r]]);export{f as __pageData,u as default}; diff --git a/docs/assets/reference_core_classes_system_desktop-config.md.DhmPUHtp.js b/docs/assets/reference_core_classes_system_desktop-config.md.DhmPUHtp.js new file mode 100644 index 00000000..f56cfee0 --- /dev/null +++ b/docs/assets/reference_core_classes_system_desktop-config.md.DhmPUHtp.js @@ -0,0 +1,4 @@ +import{_ as t,c as e,o as s,a2 as a}from"./chunks/framework.DDEYgRcT.js";const f=JSON.parse('{"title":"Class DesktopConfig","description":"","frontmatter":{"outline":"deep","package":"@prozilla-os/core","head":[["meta",{"name":"og:title","content":"Class DesktopConfig | ProzillaOS Docs"}],["meta",{"name":"twitter:title","content":"Class DesktopConfig | ProzillaOS Docs"}],["meta",{"name":"og:description","content":"Documentation for ProzillaOS and its packages."}],["meta",{"name":"twitter:description","content":"Documentation for ProzillaOS and its packages."}],["link",{"rel":"canonical","href":"https://os.prozilla.dev/docs/reference/core/classes/system/desktop-config"}],["meta",{"name":"og:url","content":"https://os.prozilla.dev/docs/reference/core/classes/system/desktop-config"}],["meta",{"name":"twitter:url","content":"https://os.prozilla.dev/docs/reference/core/classes/system/desktop-config"}],["meta",{"name":"og:locale","content":"en_US"}],["meta",{"name":"og:image","content":"https://os.prozilla.dev/docs/prozilla-os-title-banner.png"}],["meta",{"name":"twitter:image","content":"https://os.prozilla.dev/docs/prozilla-os-title-banner.png"}],["meta",{"name":"og:type","content":"website"}],["meta",{"name":"twitter:card","content":"summary_large_image"}]]},"headers":[],"relativePath":"reference/core/classes/system/desktop-config.md","filePath":"reference/core/classes/system/desktop-config.md"}'),i={name:"reference/core/classes/system/desktop-config.md"},o=a(`

Class DesktopConfig

Constructor

new DesktopConfig(options)

Parameters


options

ts
interface DesktopConfigOptions {
+	defaultIconSize?: 0 | 1 | 2;
+	defaultIconDirection?: 0 | 1;
+}

Properties

defaultIconSize

The default size of the desktop icons

ValueDescription
0Small
1Medium
2Large

defaultIconDirection

The default direction of the desktop icons

ValueDescription
0Vertical
1Horizontal
`,17),n=[o];function r(l,c,d,p,h,k){return s(),e("div",null,n)}const m=t(i,[["render",r]]);export{f as __pageData,m as default}; diff --git a/docs/assets/reference_core_classes_system_desktop-config.md.DhmPUHtp.lean.js b/docs/assets/reference_core_classes_system_desktop-config.md.DhmPUHtp.lean.js new file mode 100644 index 00000000..70bc1975 --- /dev/null +++ b/docs/assets/reference_core_classes_system_desktop-config.md.DhmPUHtp.lean.js @@ -0,0 +1 @@ +import{_ as t,c as e,o as s,a2 as a}from"./chunks/framework.DDEYgRcT.js";const f=JSON.parse('{"title":"Class DesktopConfig","description":"","frontmatter":{"outline":"deep","package":"@prozilla-os/core","head":[["meta",{"name":"og:title","content":"Class DesktopConfig | ProzillaOS Docs"}],["meta",{"name":"twitter:title","content":"Class DesktopConfig | ProzillaOS Docs"}],["meta",{"name":"og:description","content":"Documentation for ProzillaOS and its packages."}],["meta",{"name":"twitter:description","content":"Documentation for ProzillaOS and its packages."}],["link",{"rel":"canonical","href":"https://os.prozilla.dev/docs/reference/core/classes/system/desktop-config"}],["meta",{"name":"og:url","content":"https://os.prozilla.dev/docs/reference/core/classes/system/desktop-config"}],["meta",{"name":"twitter:url","content":"https://os.prozilla.dev/docs/reference/core/classes/system/desktop-config"}],["meta",{"name":"og:locale","content":"en_US"}],["meta",{"name":"og:image","content":"https://os.prozilla.dev/docs/prozilla-os-title-banner.png"}],["meta",{"name":"twitter:image","content":"https://os.prozilla.dev/docs/prozilla-os-title-banner.png"}],["meta",{"name":"og:type","content":"website"}],["meta",{"name":"twitter:card","content":"summary_large_image"}]]},"headers":[],"relativePath":"reference/core/classes/system/desktop-config.md","filePath":"reference/core/classes/system/desktop-config.md"}'),i={name:"reference/core/classes/system/desktop-config.md"},o=a("",17),n=[o];function r(l,c,d,p,h,k){return s(),e("div",null,n)}const m=t(i,[["render",r]]);export{f as __pageData,m as default}; diff --git a/docs/assets/reference_core_classes_system_misc-config.md.BjnwAICu.js b/docs/assets/reference_core_classes_system_misc-config.md.BjnwAICu.js new file mode 100644 index 00000000..58798d47 --- /dev/null +++ b/docs/assets/reference_core_classes_system_misc-config.md.BjnwAICu.js @@ -0,0 +1 @@ +import{_ as e,c as s,o as a,a2 as t}from"./chunks/framework.DDEYgRcT.js";const u=JSON.parse('{"title":"Class MiscConfig","description":"","frontmatter":{"outline":"deep","package":"@prozilla-os/core","head":[["meta",{"name":"og:title","content":"Class MiscConfig | ProzillaOS Docs"}],["meta",{"name":"twitter:title","content":"Class MiscConfig | ProzillaOS Docs"}],["meta",{"name":"og:description","content":"Documentation for ProzillaOS and its packages."}],["meta",{"name":"twitter:description","content":"Documentation for ProzillaOS and its packages."}],["link",{"rel":"canonical","href":"https://os.prozilla.dev/docs/reference/core/classes/system/misc-config"}],["meta",{"name":"og:url","content":"https://os.prozilla.dev/docs/reference/core/classes/system/misc-config"}],["meta",{"name":"twitter:url","content":"https://os.prozilla.dev/docs/reference/core/classes/system/misc-config"}],["meta",{"name":"og:locale","content":"en_US"}],["meta",{"name":"og:image","content":"https://os.prozilla.dev/docs/prozilla-os-title-banner.png"}],["meta",{"name":"twitter:image","content":"https://os.prozilla.dev/docs/prozilla-os-title-banner.png"}],["meta",{"name":"og:type","content":"website"}],["meta",{"name":"twitter:card","content":"summary_large_image"}]]},"headers":[],"relativePath":"reference/core/classes/system/misc-config.md","filePath":"reference/core/classes/system/misc-config.md"}'),i={name:"reference/core/classes/system/misc-config.md"},o=t('

Class MiscConfig

Constructor

new MiscConfig(options)

Parameters


options

ts
interface MiscConfigOptions {\n	doubleClickDelay?: number;\n}

Properties

doubleClickDelay

The maximum time between two clicks for those clicks to register as a double click in milliseconds

NOTE

Also applies to touch devices.

',13),n=[o];function c(l,r,p,d,h,m){return a(),s("div",null,n)}const k=e(i,[["render",c]]);export{u as __pageData,k as default}; diff --git a/docs/assets/reference_core_classes_system_misc-config.md.BjnwAICu.lean.js b/docs/assets/reference_core_classes_system_misc-config.md.BjnwAICu.lean.js new file mode 100644 index 00000000..b2ba0499 --- /dev/null +++ b/docs/assets/reference_core_classes_system_misc-config.md.BjnwAICu.lean.js @@ -0,0 +1 @@ +import{_ as e,c as s,o as a,a2 as t}from"./chunks/framework.DDEYgRcT.js";const u=JSON.parse('{"title":"Class MiscConfig","description":"","frontmatter":{"outline":"deep","package":"@prozilla-os/core","head":[["meta",{"name":"og:title","content":"Class MiscConfig | ProzillaOS Docs"}],["meta",{"name":"twitter:title","content":"Class MiscConfig | ProzillaOS Docs"}],["meta",{"name":"og:description","content":"Documentation for ProzillaOS and its packages."}],["meta",{"name":"twitter:description","content":"Documentation for ProzillaOS and its packages."}],["link",{"rel":"canonical","href":"https://os.prozilla.dev/docs/reference/core/classes/system/misc-config"}],["meta",{"name":"og:url","content":"https://os.prozilla.dev/docs/reference/core/classes/system/misc-config"}],["meta",{"name":"twitter:url","content":"https://os.prozilla.dev/docs/reference/core/classes/system/misc-config"}],["meta",{"name":"og:locale","content":"en_US"}],["meta",{"name":"og:image","content":"https://os.prozilla.dev/docs/prozilla-os-title-banner.png"}],["meta",{"name":"twitter:image","content":"https://os.prozilla.dev/docs/prozilla-os-title-banner.png"}],["meta",{"name":"og:type","content":"website"}],["meta",{"name":"twitter:card","content":"summary_large_image"}]]},"headers":[],"relativePath":"reference/core/classes/system/misc-config.md","filePath":"reference/core/classes/system/misc-config.md"}'),i={name:"reference/core/classes/system/misc-config.md"},o=t("",13),n=[o];function c(l,r,p,d,h,m){return a(),s("div",null,n)}const k=e(i,[["render",c]]);export{u as __pageData,k as default}; diff --git a/docs/assets/reference_core_classes_system_modals-config.md.amu4y4LB.js b/docs/assets/reference_core_classes_system_modals-config.md.amu4y4LB.js new file mode 100644 index 00000000..0ba49295 --- /dev/null +++ b/docs/assets/reference_core_classes_system_modals-config.md.amu4y4LB.js @@ -0,0 +1,4 @@ +import{_ as e,c as a,o as s,a2 as t}from"./chunks/framework.DDEYgRcT.js";const m=JSON.parse('{"title":"Class ModalsConfig","description":"","frontmatter":{"outline":"deep","package":"@prozilla-os/core","head":[["meta",{"name":"og:title","content":"Class ModalsConfig | ProzillaOS Docs"}],["meta",{"name":"twitter:title","content":"Class ModalsConfig | ProzillaOS Docs"}],["meta",{"name":"og:description","content":"Documentation for ProzillaOS and its packages."}],["meta",{"name":"twitter:description","content":"Documentation for ProzillaOS and its packages."}],["link",{"rel":"canonical","href":"https://os.prozilla.dev/docs/reference/core/classes/system/modals-config"}],["meta",{"name":"og:url","content":"https://os.prozilla.dev/docs/reference/core/classes/system/modals-config"}],["meta",{"name":"twitter:url","content":"https://os.prozilla.dev/docs/reference/core/classes/system/modals-config"}],["meta",{"name":"og:locale","content":"en_US"}],["meta",{"name":"og:image","content":"https://os.prozilla.dev/docs/prozilla-os-title-banner.png"}],["meta",{"name":"twitter:image","content":"https://os.prozilla.dev/docs/prozilla-os-title-banner.png"}],["meta",{"name":"og:type","content":"website"}],["meta",{"name":"twitter:card","content":"summary_large_image"}]]},"headers":[],"relativePath":"reference/core/classes/system/modals-config.md","filePath":"reference/core/classes/system/modals-config.md"}'),o={name:"reference/core/classes/system/modals-config.md"},i=t(`

Class ModalsConfig

Constructor

new ModalsConfig(options)

Parameters


options

ts
interface ModalsConfigOptions {
+	defaultDialogSize?: Vector2;
+	defaultFileSelectorSize?: Vector2;
+}

References

Properties

defaultDialogSize

Default size of a dialog box

defaultFileSelectorSize

Default size of a file selector

`,16),l=[i];function r(n,c,d,p,h,g){return s(),a("div",null,l)}const u=e(o,[["render",r]]);export{m as __pageData,u as default}; diff --git a/docs/assets/reference_core_classes_system_modals-config.md.amu4y4LB.lean.js b/docs/assets/reference_core_classes_system_modals-config.md.amu4y4LB.lean.js new file mode 100644 index 00000000..23e2df41 --- /dev/null +++ b/docs/assets/reference_core_classes_system_modals-config.md.amu4y4LB.lean.js @@ -0,0 +1 @@ +import{_ as e,c as a,o as s,a2 as t}from"./chunks/framework.DDEYgRcT.js";const m=JSON.parse('{"title":"Class ModalsConfig","description":"","frontmatter":{"outline":"deep","package":"@prozilla-os/core","head":[["meta",{"name":"og:title","content":"Class ModalsConfig | ProzillaOS Docs"}],["meta",{"name":"twitter:title","content":"Class ModalsConfig | ProzillaOS Docs"}],["meta",{"name":"og:description","content":"Documentation for ProzillaOS and its packages."}],["meta",{"name":"twitter:description","content":"Documentation for ProzillaOS and its packages."}],["link",{"rel":"canonical","href":"https://os.prozilla.dev/docs/reference/core/classes/system/modals-config"}],["meta",{"name":"og:url","content":"https://os.prozilla.dev/docs/reference/core/classes/system/modals-config"}],["meta",{"name":"twitter:url","content":"https://os.prozilla.dev/docs/reference/core/classes/system/modals-config"}],["meta",{"name":"og:locale","content":"en_US"}],["meta",{"name":"og:image","content":"https://os.prozilla.dev/docs/prozilla-os-title-banner.png"}],["meta",{"name":"twitter:image","content":"https://os.prozilla.dev/docs/prozilla-os-title-banner.png"}],["meta",{"name":"og:type","content":"website"}],["meta",{"name":"twitter:card","content":"summary_large_image"}]]},"headers":[],"relativePath":"reference/core/classes/system/modals-config.md","filePath":"reference/core/classes/system/modals-config.md"}'),o={name:"reference/core/classes/system/modals-config.md"},i=t("",16),l=[i];function r(n,c,d,p,h,g){return s(),a("div",null,l)}const u=e(o,[["render",r]]);export{m as __pageData,u as default}; diff --git a/docs/assets/reference_core_classes_system_taskbar-config.md.BFudoLpJ.js b/docs/assets/reference_core_classes_system_taskbar-config.md.BFudoLpJ.js new file mode 100644 index 00000000..73315534 --- /dev/null +++ b/docs/assets/reference_core_classes_system_taskbar-config.md.BFudoLpJ.js @@ -0,0 +1 @@ +import{_ as a,c as e,o as t,a2 as s}from"./chunks/framework.DDEYgRcT.js";const m=JSON.parse('{"title":"Class TaskbarConfig","description":"","frontmatter":{"outline":"deep","package":"@prozilla-os/core","head":[["meta",{"name":"og:title","content":"Class TaskbarConfig | ProzillaOS Docs"}],["meta",{"name":"twitter:title","content":"Class TaskbarConfig | ProzillaOS Docs"}],["meta",{"name":"og:description","content":"Documentation for ProzillaOS and its packages."}],["meta",{"name":"twitter:description","content":"Documentation for ProzillaOS and its packages."}],["link",{"rel":"canonical","href":"https://os.prozilla.dev/docs/reference/core/classes/system/taskbar-config"}],["meta",{"name":"og:url","content":"https://os.prozilla.dev/docs/reference/core/classes/system/taskbar-config"}],["meta",{"name":"twitter:url","content":"https://os.prozilla.dev/docs/reference/core/classes/system/taskbar-config"}],["meta",{"name":"og:locale","content":"en_US"}],["meta",{"name":"og:image","content":"https://os.prozilla.dev/docs/prozilla-os-title-banner.png"}],["meta",{"name":"twitter:image","content":"https://os.prozilla.dev/docs/prozilla-os-title-banner.png"}],["meta",{"name":"og:type","content":"website"}],["meta",{"name":"twitter:card","content":"summary_large_image"}]]},"headers":[],"relativePath":"reference/core/classes/system/taskbar-config.md","filePath":"reference/core/classes/system/taskbar-config.md"}'),o={name:"reference/core/classes/system/taskbar-config.md"},i=s('

Class TaskbarConfig

Constructor

new TaskbarConfig(options)

Parameters


options

ts
interface TaskbarConfigOptions {\n	height?: number;\n}

Properties

height

Height of the taskbar in CSS pixels

',12),r=[i];function n(l,c,p,h,d,g){return t(),e("div",null,r)}const b=a(o,[["render",n]]);export{m as __pageData,b as default}; diff --git a/docs/assets/reference_core_classes_system_taskbar-config.md.BFudoLpJ.lean.js b/docs/assets/reference_core_classes_system_taskbar-config.md.BFudoLpJ.lean.js new file mode 100644 index 00000000..b57913e6 --- /dev/null +++ b/docs/assets/reference_core_classes_system_taskbar-config.md.BFudoLpJ.lean.js @@ -0,0 +1 @@ +import{_ as a,c as e,o as t,a2 as s}from"./chunks/framework.DDEYgRcT.js";const m=JSON.parse('{"title":"Class TaskbarConfig","description":"","frontmatter":{"outline":"deep","package":"@prozilla-os/core","head":[["meta",{"name":"og:title","content":"Class TaskbarConfig | ProzillaOS Docs"}],["meta",{"name":"twitter:title","content":"Class TaskbarConfig | ProzillaOS Docs"}],["meta",{"name":"og:description","content":"Documentation for ProzillaOS and its packages."}],["meta",{"name":"twitter:description","content":"Documentation for ProzillaOS and its packages."}],["link",{"rel":"canonical","href":"https://os.prozilla.dev/docs/reference/core/classes/system/taskbar-config"}],["meta",{"name":"og:url","content":"https://os.prozilla.dev/docs/reference/core/classes/system/taskbar-config"}],["meta",{"name":"twitter:url","content":"https://os.prozilla.dev/docs/reference/core/classes/system/taskbar-config"}],["meta",{"name":"og:locale","content":"en_US"}],["meta",{"name":"og:image","content":"https://os.prozilla.dev/docs/prozilla-os-title-banner.png"}],["meta",{"name":"twitter:image","content":"https://os.prozilla.dev/docs/prozilla-os-title-banner.png"}],["meta",{"name":"og:type","content":"website"}],["meta",{"name":"twitter:card","content":"summary_large_image"}]]},"headers":[],"relativePath":"reference/core/classes/system/taskbar-config.md","filePath":"reference/core/classes/system/taskbar-config.md"}'),o={name:"reference/core/classes/system/taskbar-config.md"},i=s("",12),r=[i];function n(l,c,p,h,d,g){return t(),e("div",null,r)}const b=a(o,[["render",n]]);export{m as __pageData,b as default}; diff --git a/docs/assets/reference_core_classes_system_tracking-config.md.BzW8cNLR.js b/docs/assets/reference_core_classes_system_tracking-config.md.BzW8cNLR.js new file mode 100644 index 00000000..81a1253c --- /dev/null +++ b/docs/assets/reference_core_classes_system_tracking-config.md.BzW8cNLR.js @@ -0,0 +1,4 @@ +import{_ as e,c as a,o as t,a2 as s}from"./chunks/framework.DDEYgRcT.js";const m=JSON.parse('{"title":"Class TrackingConfig","description":"","frontmatter":{"outline":"deep","package":"@prozilla-os/core","head":[["meta",{"name":"og:title","content":"Class TrackingConfig | ProzillaOS Docs"}],["meta",{"name":"twitter:title","content":"Class TrackingConfig | ProzillaOS Docs"}],["meta",{"name":"og:description","content":"Documentation for ProzillaOS and its packages."}],["meta",{"name":"twitter:description","content":"Documentation for ProzillaOS and its packages."}],["link",{"rel":"canonical","href":"https://os.prozilla.dev/docs/reference/core/classes/system/tracking-config"}],["meta",{"name":"og:url","content":"https://os.prozilla.dev/docs/reference/core/classes/system/tracking-config"}],["meta",{"name":"twitter:url","content":"https://os.prozilla.dev/docs/reference/core/classes/system/tracking-config"}],["meta",{"name":"og:locale","content":"en_US"}],["meta",{"name":"og:image","content":"https://os.prozilla.dev/docs/prozilla-os-title-banner.png"}],["meta",{"name":"twitter:image","content":"https://os.prozilla.dev/docs/prozilla-os-title-banner.png"}],["meta",{"name":"og:type","content":"website"}],["meta",{"name":"twitter:card","content":"summary_large_image"}]]},"headers":[],"relativePath":"reference/core/classes/system/tracking-config.md","filePath":"reference/core/classes/system/tracking-config.md"}'),i={name:"reference/core/classes/system/tracking-config.md"},n=s(`

Class TrackingConfig

Constructor

new TrackingConfig(options)

Parameters


options

ts
interface TrackingConfigOptions {
+	enabled?: boolean;
+	GAMeasurementId?: string;
+}

Properties

enabled

Determines whether tracking is enabled

GAMeasurementId

Google Analytics measurement ID

WARNING

This option is required if you want to enable tracking. The tracking feature currently only supports tracking via Google Analytics.

`,16),o=[n];function r(l,c,p,g,h,d){return t(),a("div",null,o)}const u=e(i,[["render",r]]);export{m as __pageData,u as default}; diff --git a/docs/assets/reference_core_classes_system_tracking-config.md.BzW8cNLR.lean.js b/docs/assets/reference_core_classes_system_tracking-config.md.BzW8cNLR.lean.js new file mode 100644 index 00000000..15a2b9a9 --- /dev/null +++ b/docs/assets/reference_core_classes_system_tracking-config.md.BzW8cNLR.lean.js @@ -0,0 +1 @@ +import{_ as e,c as a,o as t,a2 as s}from"./chunks/framework.DDEYgRcT.js";const m=JSON.parse('{"title":"Class TrackingConfig","description":"","frontmatter":{"outline":"deep","package":"@prozilla-os/core","head":[["meta",{"name":"og:title","content":"Class TrackingConfig | ProzillaOS Docs"}],["meta",{"name":"twitter:title","content":"Class TrackingConfig | ProzillaOS Docs"}],["meta",{"name":"og:description","content":"Documentation for ProzillaOS and its packages."}],["meta",{"name":"twitter:description","content":"Documentation for ProzillaOS and its packages."}],["link",{"rel":"canonical","href":"https://os.prozilla.dev/docs/reference/core/classes/system/tracking-config"}],["meta",{"name":"og:url","content":"https://os.prozilla.dev/docs/reference/core/classes/system/tracking-config"}],["meta",{"name":"twitter:url","content":"https://os.prozilla.dev/docs/reference/core/classes/system/tracking-config"}],["meta",{"name":"og:locale","content":"en_US"}],["meta",{"name":"og:image","content":"https://os.prozilla.dev/docs/prozilla-os-title-banner.png"}],["meta",{"name":"twitter:image","content":"https://os.prozilla.dev/docs/prozilla-os-title-banner.png"}],["meta",{"name":"og:type","content":"website"}],["meta",{"name":"twitter:card","content":"summary_large_image"}]]},"headers":[],"relativePath":"reference/core/classes/system/tracking-config.md","filePath":"reference/core/classes/system/tracking-config.md"}'),i={name:"reference/core/classes/system/tracking-config.md"},n=s("",16),o=[n];function r(l,c,p,g,h,d){return t(),a("div",null,o)}const u=e(i,[["render",r]]);export{m as __pageData,u as default}; diff --git a/docs/assets/reference_core_classes_system_windows-config.md.BUF5pzHj.js b/docs/assets/reference_core_classes_system_windows-config.md.BUF5pzHj.js new file mode 100644 index 00000000..ec891666 --- /dev/null +++ b/docs/assets/reference_core_classes_system_windows-config.md.BUF5pzHj.js @@ -0,0 +1,5 @@ +import{_ as e,c as s,o as a,a2 as t}from"./chunks/framework.DDEYgRcT.js";const k=JSON.parse('{"title":"Class WindowsConfig","description":"","frontmatter":{"outline":"deep","package":"@prozilla-os/core","head":[["meta",{"name":"og:title","content":"Class WindowsConfig | ProzillaOS Docs"}],["meta",{"name":"twitter:title","content":"Class WindowsConfig | ProzillaOS Docs"}],["meta",{"name":"og:description","content":"Documentation for ProzillaOS and its packages."}],["meta",{"name":"twitter:description","content":"Documentation for ProzillaOS and its packages."}],["link",{"rel":"canonical","href":"https://os.prozilla.dev/docs/reference/core/classes/system/windows-config"}],["meta",{"name":"og:url","content":"https://os.prozilla.dev/docs/reference/core/classes/system/windows-config"}],["meta",{"name":"twitter:url","content":"https://os.prozilla.dev/docs/reference/core/classes/system/windows-config"}],["meta",{"name":"og:locale","content":"en_US"}],["meta",{"name":"og:image","content":"https://os.prozilla.dev/docs/prozilla-os-title-banner.png"}],["meta",{"name":"twitter:image","content":"https://os.prozilla.dev/docs/prozilla-os-title-banner.png"}],["meta",{"name":"og:type","content":"website"}],["meta",{"name":"twitter:card","content":"summary_large_image"}]]},"headers":[],"relativePath":"reference/core/classes/system/windows-config.md","filePath":"reference/core/classes/system/windows-config.md"}'),i={name:"reference/core/classes/system/windows-config.md"},n=t(`

Class WindowsConfig

Constructor

new WindowsConfig(options)

Parameters


options

ts
interface WindowsConfigOptions {
+	screenMargin?: number;
+	titleSeparator?: string;
+	minScreenSize?: Vector2;
+}

References

Properties

screenMargin

The margin in CSS pixels that windows will keep between them and the edges of the screen on smaller devices

titleSeparator

A string that is placed between different parts of a window title

minScreenSize

If the user's screen is smaller than these values, windows will always be maximized

WARNING

Keep these values as low as possible, as this limits some functionality of the OS on devices with certain screen sizes.

`,20),o=[n];function r(l,c,p,d,h,g){return a(),s("div",null,o)}const u=e(i,[["render",r]]);export{k as __pageData,u as default}; diff --git a/docs/assets/reference_core_classes_system_windows-config.md.BUF5pzHj.lean.js b/docs/assets/reference_core_classes_system_windows-config.md.BUF5pzHj.lean.js new file mode 100644 index 00000000..4d519a6c --- /dev/null +++ b/docs/assets/reference_core_classes_system_windows-config.md.BUF5pzHj.lean.js @@ -0,0 +1 @@ +import{_ as e,c as s,o as a,a2 as t}from"./chunks/framework.DDEYgRcT.js";const k=JSON.parse('{"title":"Class WindowsConfig","description":"","frontmatter":{"outline":"deep","package":"@prozilla-os/core","head":[["meta",{"name":"og:title","content":"Class WindowsConfig | ProzillaOS Docs"}],["meta",{"name":"twitter:title","content":"Class WindowsConfig | ProzillaOS Docs"}],["meta",{"name":"og:description","content":"Documentation for ProzillaOS and its packages."}],["meta",{"name":"twitter:description","content":"Documentation for ProzillaOS and its packages."}],["link",{"rel":"canonical","href":"https://os.prozilla.dev/docs/reference/core/classes/system/windows-config"}],["meta",{"name":"og:url","content":"https://os.prozilla.dev/docs/reference/core/classes/system/windows-config"}],["meta",{"name":"twitter:url","content":"https://os.prozilla.dev/docs/reference/core/classes/system/windows-config"}],["meta",{"name":"og:locale","content":"en_US"}],["meta",{"name":"og:image","content":"https://os.prozilla.dev/docs/prozilla-os-title-banner.png"}],["meta",{"name":"twitter:image","content":"https://os.prozilla.dev/docs/prozilla-os-title-banner.png"}],["meta",{"name":"og:type","content":"website"}],["meta",{"name":"twitter:card","content":"summary_large_image"}]]},"headers":[],"relativePath":"reference/core/classes/system/windows-config.md","filePath":"reference/core/classes/system/windows-config.md"}'),i={name:"reference/core/classes/system/windows-config.md"},n=t("",20),o=[n];function r(l,c,p,d,h,g){return a(),s("div",null,o)}const u=e(i,[["render",r]]);export{k as __pageData,u as default}; diff --git a/docs/assets/reference_core_classes_utils_vector2.md.C_nIHtrH.js b/docs/assets/reference_core_classes_utils_vector2.md.C_nIHtrH.js new file mode 100644 index 00000000..8a7c249e --- /dev/null +++ b/docs/assets/reference_core_classes_utils_vector2.md.C_nIHtrH.js @@ -0,0 +1,7 @@ +import{_ as a,c as o,j as e,t as r,a as t,a2 as l,o as i}from"./chunks/framework.DDEYgRcT.js";const v=JSON.parse('{"title":"Class Vector2","description":"A 2-dimensional vector, set of coordinates or dimensions","frontmatter":{"outline":"deep","description":"A 2-dimensional vector, set of coordinates or dimensions","package":"@prozilla-os/core","head":[["meta",{"name":"og:title","content":"Class Vector2 | ProzillaOS Docs"}],["meta",{"name":"twitter:title","content":"Class Vector2 | ProzillaOS Docs"}],["meta",{"name":"og:description","content":"A 2-dimensional vector, set of coordinates or dimensions"}],["meta",{"name":"twitter:description","content":"A 2-dimensional vector, set of coordinates or dimensions"}],["link",{"rel":"canonical","href":"https://os.prozilla.dev/docs/reference/core/classes/utils/vector2"}],["meta",{"name":"og:url","content":"https://os.prozilla.dev/docs/reference/core/classes/utils/vector2"}],["meta",{"name":"twitter:url","content":"https://os.prozilla.dev/docs/reference/core/classes/utils/vector2"}],["meta",{"name":"og:locale","content":"en_US"}],["meta",{"name":"og:image","content":"https://os.prozilla.dev/docs/prozilla-os-title-banner.png"}],["meta",{"name":"twitter:image","content":"https://os.prozilla.dev/docs/prozilla-os-title-banner.png"}],["meta",{"name":"og:type","content":"website"}],["meta",{"name":"twitter:card","content":"summary_large_image"}]]},"headers":[],"relativePath":"reference/core/classes/utils/vector2.md","filePath":"reference/core/classes/utils/vector2.md"}'),n={name:"reference/core/classes/utils/vector2.md"},c=e("h1",{id:"class-vector2",tabindex:"-1"},[t("Class "),e("a",{href:"https://github.com/prozilla-os/ProzillaOS/blob/main/packages/core/src/features/math/vector2.ts",target:"_blank",rel:"noreferrer"},[e("code",null,"Vector2")]),t(),e("a",{class:"header-anchor",href:"#class-vector2","aria-label":'Permalink to "Class [`Vector2`](https://github.com/prozilla-os/ProzillaOS/blob/main/packages/core/src/features/math/vector2.ts)"'},"​")],-1),d=l(`

Constructor

new Vector2(x, y)

Parameters


x

y

Examples

ts
new Vector2(2, 4)
+// Result: Vector2(2, 4)
+
+new Vector2(3)
+// Result: Vector2(3, 3)

Properties

x

y

ZERO

Returns a vector with each value set to zero

clone

Returns a clone of this vector

Methods

round()

Round the values of this vector to whole numbers

Details

getDistance(x, y)

Get the distance between this vector and another

Details

getDistance(vector2)

Get the distance between this vector and another

Details

add(vector2A, vector2B)

Add two vectors together

Details

subtract(vector2A, vector2B)

Subtract two vectors

Details

scale(vector2, scalar)

Scale a vector

Details

magnitude(vector2)

Get the magnitude of a vector

Details

normalize(vector2)

Normalize a vector

Details

sqrDistance (vector2A, vector2B)

Get the square distance between two vectors

Details

lerp(vector2A, vector2B, t)

Lerp between two vectors

Details
`,52);function u(s,h,g,p,m,k){return i(),o("div",null,[c,e("p",null,r(s.$frontmatter.description),1),d])}const y=a(n,[["render",u]]);export{v as __pageData,y as default}; diff --git a/docs/assets/reference_core_classes_utils_vector2.md.C_nIHtrH.lean.js b/docs/assets/reference_core_classes_utils_vector2.md.C_nIHtrH.lean.js new file mode 100644 index 00000000..d407b240 --- /dev/null +++ b/docs/assets/reference_core_classes_utils_vector2.md.C_nIHtrH.lean.js @@ -0,0 +1 @@ +import{_ as a,c as o,j as e,t as r,a as t,a2 as l,o as i}from"./chunks/framework.DDEYgRcT.js";const v=JSON.parse('{"title":"Class Vector2","description":"A 2-dimensional vector, set of coordinates or dimensions","frontmatter":{"outline":"deep","description":"A 2-dimensional vector, set of coordinates or dimensions","package":"@prozilla-os/core","head":[["meta",{"name":"og:title","content":"Class Vector2 | ProzillaOS Docs"}],["meta",{"name":"twitter:title","content":"Class Vector2 | ProzillaOS Docs"}],["meta",{"name":"og:description","content":"A 2-dimensional vector, set of coordinates or dimensions"}],["meta",{"name":"twitter:description","content":"A 2-dimensional vector, set of coordinates or dimensions"}],["link",{"rel":"canonical","href":"https://os.prozilla.dev/docs/reference/core/classes/utils/vector2"}],["meta",{"name":"og:url","content":"https://os.prozilla.dev/docs/reference/core/classes/utils/vector2"}],["meta",{"name":"twitter:url","content":"https://os.prozilla.dev/docs/reference/core/classes/utils/vector2"}],["meta",{"name":"og:locale","content":"en_US"}],["meta",{"name":"og:image","content":"https://os.prozilla.dev/docs/prozilla-os-title-banner.png"}],["meta",{"name":"twitter:image","content":"https://os.prozilla.dev/docs/prozilla-os-title-banner.png"}],["meta",{"name":"og:type","content":"website"}],["meta",{"name":"twitter:card","content":"summary_large_image"}]]},"headers":[],"relativePath":"reference/core/classes/utils/vector2.md","filePath":"reference/core/classes/utils/vector2.md"}'),n={name:"reference/core/classes/utils/vector2.md"},c=e("h1",{id:"class-vector2",tabindex:"-1"},[t("Class "),e("a",{href:"https://github.com/prozilla-os/ProzillaOS/blob/main/packages/core/src/features/math/vector2.ts",target:"_blank",rel:"noreferrer"},[e("code",null,"Vector2")]),t(),e("a",{class:"header-anchor",href:"#class-vector2","aria-label":'Permalink to "Class [`Vector2`](https://github.com/prozilla-os/ProzillaOS/blob/main/packages/core/src/features/math/vector2.ts)"'},"​")],-1),d=l("",52);function u(s,h,g,p,m,k){return i(),o("div",null,[c,e("p",null,r(s.$frontmatter.description),1),d])}const y=a(n,[["render",u]]);export{v as __pageData,y as default}; diff --git a/docs/assets/reference_core_constants_index.md.CzxQnFb7.js b/docs/assets/reference_core_constants_index.md.CzxQnFb7.js new file mode 100644 index 00000000..c5d304a1 --- /dev/null +++ b/docs/assets/reference_core_constants_index.md.CzxQnFb7.js @@ -0,0 +1,6 @@ +import{_ as t,c as e,j as s,t as i,a as n,a2 as r,o as l}from"./chunks/framework.DDEYgRcT.js";const y=JSON.parse('{"title":"Constants","description":"Constants for ProzillaOS","frontmatter":{"outline":"deep","description":"Constants for ProzillaOS","package":"@prozilla-os/core","head":[["meta",{"name":"og:title","content":"Constants | ProzillaOS Docs"}],["meta",{"name":"twitter:title","content":"Constants | ProzillaOS Docs"}],["meta",{"name":"og:description","content":"Constants for ProzillaOS"}],["meta",{"name":"twitter:description","content":"Constants for ProzillaOS"}],["link",{"rel":"canonical","href":"https://os.prozilla.dev/docs/reference/core/constants/"}],["meta",{"name":"og:url","content":"https://os.prozilla.dev/docs/reference/core/constants/"}],["meta",{"name":"twitter:url","content":"https://os.prozilla.dev/docs/reference/core/constants/"}],["meta",{"name":"og:locale","content":"en_US"}],["meta",{"name":"og:image","content":"https://os.prozilla.dev/docs/prozilla-os-title-banner.png"}],["meta",{"name":"twitter:image","content":"https://os.prozilla.dev/docs/prozilla-os-title-banner.png"}],["meta",{"name":"og:type","content":"website"}],["meta",{"name":"twitter:card","content":"summary_large_image"}]]},"headers":[],"relativePath":"reference/core/constants/index.md","filePath":"reference/core/constants/index.md"}'),o={name:"reference/core/constants/index.md"},h=s("h1",{id:"constants",tabindex:"-1"},[n("Constants "),s("a",{class:"header-anchor",href:"#constants","aria-label":'Permalink to "Constants"'},"​")],-1),c=r(`

Utility

ANSI

Ansi codes for coloring and decorating ansi text

ts
interface Ansi {
+	fg: Record<number, string>; // Foreground colors
+	bg: Record<number, string>; // Background colors
+	decoration: Record<number, string>;
+	reset: string;
+};

Virtual drive

CODE_EXTENSIONS

An array of file extensions for code-related files

IMAGE_EXTENSIONS

An array of file extensions for image files

Themes

THEMES

A map that transforms theme ids into theme names

`,19);function p(a,d,k,g,m,E){return l(),e("div",null,[h,s("p",null,i(a.$frontmatter.description),1),c])}const f=t(o,[["render",p]]);export{y as __pageData,f as default}; diff --git a/docs/assets/reference_core_constants_index.md.CzxQnFb7.lean.js b/docs/assets/reference_core_constants_index.md.CzxQnFb7.lean.js new file mode 100644 index 00000000..cb4c072f --- /dev/null +++ b/docs/assets/reference_core_constants_index.md.CzxQnFb7.lean.js @@ -0,0 +1 @@ +import{_ as t,c as e,j as s,t as i,a as n,a2 as r,o as l}from"./chunks/framework.DDEYgRcT.js";const y=JSON.parse('{"title":"Constants","description":"Constants for ProzillaOS","frontmatter":{"outline":"deep","description":"Constants for ProzillaOS","package":"@prozilla-os/core","head":[["meta",{"name":"og:title","content":"Constants | ProzillaOS Docs"}],["meta",{"name":"twitter:title","content":"Constants | ProzillaOS Docs"}],["meta",{"name":"og:description","content":"Constants for ProzillaOS"}],["meta",{"name":"twitter:description","content":"Constants for ProzillaOS"}],["link",{"rel":"canonical","href":"https://os.prozilla.dev/docs/reference/core/constants/"}],["meta",{"name":"og:url","content":"https://os.prozilla.dev/docs/reference/core/constants/"}],["meta",{"name":"twitter:url","content":"https://os.prozilla.dev/docs/reference/core/constants/"}],["meta",{"name":"og:locale","content":"en_US"}],["meta",{"name":"og:image","content":"https://os.prozilla.dev/docs/prozilla-os-title-banner.png"}],["meta",{"name":"twitter:image","content":"https://os.prozilla.dev/docs/prozilla-os-title-banner.png"}],["meta",{"name":"og:type","content":"website"}],["meta",{"name":"twitter:card","content":"summary_large_image"}]]},"headers":[],"relativePath":"reference/core/constants/index.md","filePath":"reference/core/constants/index.md"}'),o={name:"reference/core/constants/index.md"},h=s("h1",{id:"constants",tabindex:"-1"},[n("Constants "),s("a",{class:"header-anchor",href:"#constants","aria-label":'Permalink to "Constants"'},"​")],-1),c=r("",19);function p(a,d,k,g,m,E){return l(),e("div",null,[h,s("p",null,i(a.$frontmatter.description),1),c])}const f=t(o,[["render",p]]);export{y as __pageData,f as default}; diff --git a/docs/assets/reference_core_functions_array.md.DvusJMqS.js b/docs/assets/reference_core_functions_array.md.DvusJMqS.js new file mode 100644 index 00000000..b3be40d3 --- /dev/null +++ b/docs/assets/reference_core_functions_array.md.DvusJMqS.js @@ -0,0 +1 @@ +import{_ as a,c as t,j as r,t as o,a as n,a2 as s,o as l}from"./chunks/framework.DDEYgRcT.js";const _=JSON.parse('{"title":"Array functions","description":"Functions related to arrays","frontmatter":{"outline":"deep","description":"Functions related to arrays","package":"@prozilla-os/core","head":[["meta",{"name":"og:title","content":"Array functions | ProzillaOS Docs"}],["meta",{"name":"twitter:title","content":"Array functions | ProzillaOS Docs"}],["meta",{"name":"og:description","content":"Functions related to arrays"}],["meta",{"name":"twitter:description","content":"Functions related to arrays"}],["link",{"rel":"canonical","href":"https://os.prozilla.dev/docs/reference/core/functions/array"}],["meta",{"name":"og:url","content":"https://os.prozilla.dev/docs/reference/core/functions/array"}],["meta",{"name":"twitter:url","content":"https://os.prozilla.dev/docs/reference/core/functions/array"}],["meta",{"name":"og:locale","content":"en_US"}],["meta",{"name":"og:image","content":"https://os.prozilla.dev/docs/prozilla-os-title-banner.png"}],["meta",{"name":"twitter:image","content":"https://os.prozilla.dev/docs/prozilla-os-title-banner.png"}],["meta",{"name":"og:type","content":"website"}],["meta",{"name":"twitter:card","content":"summary_large_image"}]]},"headers":[],"relativePath":"reference/core/functions/array.md","filePath":"reference/core/functions/array.md"}'),i={name:"reference/core/functions/array.md"},c=r("h1",{id:"array-functions",tabindex:"-1"},[n("Array functions "),r("a",{class:"header-anchor",href:"#array-functions","aria-label":'Permalink to "Array functions"'},"​")],-1),m=s('

removeFromArray(item, array)

Remove an item from an array

Details

randomFromArray(array)

Get a random item from an array

Details

removeDuplicatesFromArray(array)

Removes all duplicate items from an array and returns the array

Details
',10);function d(e,u,y,p,g,f){return l(),t("div",null,[c,r("p",null,o(e.$frontmatter.description),1),m])}const T=a(i,[["render",d]]);export{_ as __pageData,T as default}; diff --git a/docs/assets/reference_core_functions_array.md.DvusJMqS.lean.js b/docs/assets/reference_core_functions_array.md.DvusJMqS.lean.js new file mode 100644 index 00000000..32b8af30 --- /dev/null +++ b/docs/assets/reference_core_functions_array.md.DvusJMqS.lean.js @@ -0,0 +1 @@ +import{_ as a,c as t,j as r,t as o,a as n,a2 as s,o as l}from"./chunks/framework.DDEYgRcT.js";const _=JSON.parse('{"title":"Array functions","description":"Functions related to arrays","frontmatter":{"outline":"deep","description":"Functions related to arrays","package":"@prozilla-os/core","head":[["meta",{"name":"og:title","content":"Array functions | ProzillaOS Docs"}],["meta",{"name":"twitter:title","content":"Array functions | ProzillaOS Docs"}],["meta",{"name":"og:description","content":"Functions related to arrays"}],["meta",{"name":"twitter:description","content":"Functions related to arrays"}],["link",{"rel":"canonical","href":"https://os.prozilla.dev/docs/reference/core/functions/array"}],["meta",{"name":"og:url","content":"https://os.prozilla.dev/docs/reference/core/functions/array"}],["meta",{"name":"twitter:url","content":"https://os.prozilla.dev/docs/reference/core/functions/array"}],["meta",{"name":"og:locale","content":"en_US"}],["meta",{"name":"og:image","content":"https://os.prozilla.dev/docs/prozilla-os-title-banner.png"}],["meta",{"name":"twitter:image","content":"https://os.prozilla.dev/docs/prozilla-os-title-banner.png"}],["meta",{"name":"og:type","content":"website"}],["meta",{"name":"twitter:card","content":"summary_large_image"}]]},"headers":[],"relativePath":"reference/core/functions/array.md","filePath":"reference/core/functions/array.md"}'),i={name:"reference/core/functions/array.md"},c=r("h1",{id:"array-functions",tabindex:"-1"},[n("Array functions "),r("a",{class:"header-anchor",href:"#array-functions","aria-label":'Permalink to "Array functions"'},"​")],-1),m=s("",10);function d(e,u,y,p,g,f){return l(),t("div",null,[c,r("p",null,o(e.$frontmatter.description),1),m])}const T=a(i,[["render",d]]);export{_ as __pageData,T as default}; diff --git a/docs/assets/reference_core_functions_browser.md.BFhqtB6x.js b/docs/assets/reference_core_functions_browser.md.BFhqtB6x.js new file mode 100644 index 00000000..e906d53a --- /dev/null +++ b/docs/assets/reference_core_functions_browser.md.BFhqtB6x.js @@ -0,0 +1,5 @@ +import{_ as s,c as r,j as e,t as o,a as i,a2 as l,o as a}from"./chunks/framework.DDEYgRcT.js";const y=JSON.parse('{"title":"Browser functions","description":"Functions related to the browser","frontmatter":{"outline":"deep","description":"Functions related to the browser","package":"@prozilla-os/core","head":[["meta",{"name":"og:title","content":"Browser functions | ProzillaOS Docs"}],["meta",{"name":"twitter:title","content":"Browser functions | ProzillaOS Docs"}],["meta",{"name":"og:description","content":"Functions related to the browser"}],["meta",{"name":"twitter:description","content":"Functions related to the browser"}],["link",{"rel":"canonical","href":"https://os.prozilla.dev/docs/reference/core/functions/browser"}],["meta",{"name":"og:url","content":"https://os.prozilla.dev/docs/reference/core/functions/browser"}],["meta",{"name":"twitter:url","content":"https://os.prozilla.dev/docs/reference/core/functions/browser"}],["meta",{"name":"og:locale","content":"en_US"}],["meta",{"name":"og:image","content":"https://os.prozilla.dev/docs/prozilla-os-title-banner.png"}],["meta",{"name":"twitter:image","content":"https://os.prozilla.dev/docs/prozilla-os-title-banner.png"}],["meta",{"name":"og:type","content":"website"}],["meta",{"name":"twitter:card","content":"summary_large_image"}]]},"headers":[],"relativePath":"reference/core/functions/browser.md","filePath":"reference/core/functions/browser.md"}'),n={name:"reference/core/functions/browser.md"},c=e("h1",{id:"browser-functions",tabindex:"-1"},[i("Browser functions "),e("a",{class:"header-anchor",href:"#browser-functions","aria-label":'Permalink to "Browser functions"'},"​")],-1),u=l(`

closeViewport(requireConfirmation, name)

Simulate closing the viewport by opening a blank page

Details

reloadViewport()

Reload the viewport

isValidUrl(string)

Validate a URL string

Details

setViewportTitle(title)

Change the viewport title by changing meta tags and document title

Details

setViewportIcon(url)

Change the viewport icon by changing meta tags

Details

getViewportParams()

Get the current viewport parameters/search queries

Details

generateUrl(options)

Generate a system URL based on some options

Details
ts
interface GenerateUrlOptions {
+	appId?: string;
+	fullscreen?: boolean;
+	standalone?: boolean;
+}

openUrl(url, target)

Open a URL in an optional target or the current window

Details

removeUrlProtocol(url)

Remove the protocol from a URL string

Details

copyToClipboard(string, onSuccess, onFail)

Copy text to the user's clipboard

Details
`,30);function p(t,d,g,h,m,k){return a(),r("div",null,[c,e("p",null,o(t.$frontmatter.description),1),u])}const f=s(n,[["render",p]]);export{y as __pageData,f as default}; diff --git a/docs/assets/reference_core_functions_browser.md.BFhqtB6x.lean.js b/docs/assets/reference_core_functions_browser.md.BFhqtB6x.lean.js new file mode 100644 index 00000000..5a23d355 --- /dev/null +++ b/docs/assets/reference_core_functions_browser.md.BFhqtB6x.lean.js @@ -0,0 +1 @@ +import{_ as s,c as r,j as e,t as o,a as i,a2 as l,o as a}from"./chunks/framework.DDEYgRcT.js";const y=JSON.parse('{"title":"Browser functions","description":"Functions related to the browser","frontmatter":{"outline":"deep","description":"Functions related to the browser","package":"@prozilla-os/core","head":[["meta",{"name":"og:title","content":"Browser functions | ProzillaOS Docs"}],["meta",{"name":"twitter:title","content":"Browser functions | ProzillaOS Docs"}],["meta",{"name":"og:description","content":"Functions related to the browser"}],["meta",{"name":"twitter:description","content":"Functions related to the browser"}],["link",{"rel":"canonical","href":"https://os.prozilla.dev/docs/reference/core/functions/browser"}],["meta",{"name":"og:url","content":"https://os.prozilla.dev/docs/reference/core/functions/browser"}],["meta",{"name":"twitter:url","content":"https://os.prozilla.dev/docs/reference/core/functions/browser"}],["meta",{"name":"og:locale","content":"en_US"}],["meta",{"name":"og:image","content":"https://os.prozilla.dev/docs/prozilla-os-title-banner.png"}],["meta",{"name":"twitter:image","content":"https://os.prozilla.dev/docs/prozilla-os-title-banner.png"}],["meta",{"name":"og:type","content":"website"}],["meta",{"name":"twitter:card","content":"summary_large_image"}]]},"headers":[],"relativePath":"reference/core/functions/browser.md","filePath":"reference/core/functions/browser.md"}'),n={name:"reference/core/functions/browser.md"},c=e("h1",{id:"browser-functions",tabindex:"-1"},[i("Browser functions "),e("a",{class:"header-anchor",href:"#browser-functions","aria-label":'Permalink to "Browser functions"'},"​")],-1),u=l("",30);function p(t,d,g,h,m,k){return a(),r("div",null,[c,e("p",null,o(t.$frontmatter.description),1),u])}const f=s(n,[["render",p]]);export{y as __pageData,f as default}; diff --git a/docs/assets/reference_core_functions_date.md.DdYnYDMY.js b/docs/assets/reference_core_functions_date.md.DdYnYDMY.js new file mode 100644 index 00000000..4c549be3 --- /dev/null +++ b/docs/assets/reference_core_functions_date.md.DdYnYDMY.js @@ -0,0 +1 @@ +import{_ as o,c as a,j as e,t as n,a as l,a2 as i,o as r}from"./chunks/framework.DDEYgRcT.js";const x=JSON.parse('{"title":"Date functions","description":"Functions related to dates and time","frontmatter":{"outline":"deep","description":"Functions related to dates and time","package":"@prozilla-os/core","head":[["meta",{"name":"og:title","content":"Date functions | ProzillaOS Docs"}],["meta",{"name":"twitter:title","content":"Date functions | ProzillaOS Docs"}],["meta",{"name":"og:description","content":"Functions related to dates and time"}],["meta",{"name":"twitter:description","content":"Functions related to dates and time"}],["link",{"rel":"canonical","href":"https://os.prozilla.dev/docs/reference/core/functions/date"}],["meta",{"name":"og:url","content":"https://os.prozilla.dev/docs/reference/core/functions/date"}],["meta",{"name":"twitter:url","content":"https://os.prozilla.dev/docs/reference/core/functions/date"}],["meta",{"name":"og:locale","content":"en_US"}],["meta",{"name":"og:image","content":"https://os.prozilla.dev/docs/prozilla-os-title-banner.png"}],["meta",{"name":"twitter:image","content":"https://os.prozilla.dev/docs/prozilla-os-title-banner.png"}],["meta",{"name":"og:type","content":"website"}],["meta",{"name":"twitter:card","content":"summary_large_image"}]]},"headers":[],"relativePath":"reference/core/functions/date.md","filePath":"reference/core/functions/date.md"}'),s={name:"reference/core/functions/date.md"},c=e("h1",{id:"date-functions",tabindex:"-1"},[l("Date functions "),e("a",{class:"header-anchor",href:"#date-functions","aria-label":'Permalink to "Date functions"'},"​")],-1),m=i('

formatTime(time, maxLength, allowAffixes)

Format a time

Details

formatRelativeTime(date, maxLength, allowAffixes)

Format a time relative to now

Details
',7);function d(t,u,g,f,p,h){return r(),a("div",null,[c,e("p",null,n(t.$frontmatter.description),1),m])}const T=o(s,[["render",d]]);export{x as __pageData,T as default}; diff --git a/docs/assets/reference_core_functions_date.md.DdYnYDMY.lean.js b/docs/assets/reference_core_functions_date.md.DdYnYDMY.lean.js new file mode 100644 index 00000000..37d0bf48 --- /dev/null +++ b/docs/assets/reference_core_functions_date.md.DdYnYDMY.lean.js @@ -0,0 +1 @@ +import{_ as o,c as a,j as e,t as n,a as l,a2 as i,o as r}from"./chunks/framework.DDEYgRcT.js";const x=JSON.parse('{"title":"Date functions","description":"Functions related to dates and time","frontmatter":{"outline":"deep","description":"Functions related to dates and time","package":"@prozilla-os/core","head":[["meta",{"name":"og:title","content":"Date functions | ProzillaOS Docs"}],["meta",{"name":"twitter:title","content":"Date functions | ProzillaOS Docs"}],["meta",{"name":"og:description","content":"Functions related to dates and time"}],["meta",{"name":"twitter:description","content":"Functions related to dates and time"}],["link",{"rel":"canonical","href":"https://os.prozilla.dev/docs/reference/core/functions/date"}],["meta",{"name":"og:url","content":"https://os.prozilla.dev/docs/reference/core/functions/date"}],["meta",{"name":"twitter:url","content":"https://os.prozilla.dev/docs/reference/core/functions/date"}],["meta",{"name":"og:locale","content":"en_US"}],["meta",{"name":"og:image","content":"https://os.prozilla.dev/docs/prozilla-os-title-banner.png"}],["meta",{"name":"twitter:image","content":"https://os.prozilla.dev/docs/prozilla-os-title-banner.png"}],["meta",{"name":"og:type","content":"website"}],["meta",{"name":"twitter:card","content":"summary_large_image"}]]},"headers":[],"relativePath":"reference/core/functions/date.md","filePath":"reference/core/functions/date.md"}'),s={name:"reference/core/functions/date.md"},c=e("h1",{id:"date-functions",tabindex:"-1"},[l("Date functions "),e("a",{class:"header-anchor",href:"#date-functions","aria-label":'Permalink to "Date functions"'},"​")],-1),m=i("",7);function d(t,u,g,f,p,h){return r(),a("div",null,[c,e("p",null,n(t.$frontmatter.description),1),m])}const T=o(s,[["render",d]]);export{x as __pageData,T as default}; diff --git a/docs/assets/reference_core_functions_math.md.Yo-5z7gX.js b/docs/assets/reference_core_functions_math.md.Yo-5z7gX.js new file mode 100644 index 00000000..620842f3 --- /dev/null +++ b/docs/assets/reference_core_functions_math.md.Yo-5z7gX.js @@ -0,0 +1 @@ +import{_ as a,c as n,j as e,t as o,a as r,a2 as l,o as i}from"./chunks/framework.DDEYgRcT.js";const _=JSON.parse('{"title":"Math functions","description":"Functions related to math","frontmatter":{"outline":"deep","description":"Functions related to math","package":"@prozilla-os/core","head":[["meta",{"name":"og:title","content":"Math functions | ProzillaOS Docs"}],["meta",{"name":"twitter:title","content":"Math functions | ProzillaOS Docs"}],["meta",{"name":"og:description","content":"Functions related to math"}],["meta",{"name":"twitter:description","content":"Functions related to math"}],["link",{"rel":"canonical","href":"https://os.prozilla.dev/docs/reference/core/functions/math"}],["meta",{"name":"og:url","content":"https://os.prozilla.dev/docs/reference/core/functions/math"}],["meta",{"name":"twitter:url","content":"https://os.prozilla.dev/docs/reference/core/functions/math"}],["meta",{"name":"og:locale","content":"en_US"}],["meta",{"name":"og:image","content":"https://os.prozilla.dev/docs/prozilla-os-title-banner.png"}],["meta",{"name":"twitter:image","content":"https://os.prozilla.dev/docs/prozilla-os-title-banner.png"}],["meta",{"name":"og:type","content":"website"}],["meta",{"name":"twitter:card","content":"summary_large_image"}]]},"headers":[],"relativePath":"reference/core/functions/math.md","filePath":"reference/core/functions/math.md"}'),s={name:"reference/core/functions/math.md"},c=e("h1",{id:"math-functions",tabindex:"-1"},[r("Math functions "),e("a",{class:"header-anchor",href:"#math-functions","aria-label":'Permalink to "Math functions"'},"​")],-1),m=l('

clamp(value, min, max)

Clamp a value between a min and a max value

Details

randomRange(min, max)

Get a random number in a range between a min and a max value

Details

round(value, precision)

Round a number off to a certain amount of digits after the comma

Details
',10);function u(t,d,g,p,h,f){return i(),n("div",null,[c,e("p",null,o(t.$frontmatter.description),1),m])}const v=a(s,[["render",u]]);export{_ as __pageData,v as default}; diff --git a/docs/assets/reference_core_functions_math.md.Yo-5z7gX.lean.js b/docs/assets/reference_core_functions_math.md.Yo-5z7gX.lean.js new file mode 100644 index 00000000..baac0a53 --- /dev/null +++ b/docs/assets/reference_core_functions_math.md.Yo-5z7gX.lean.js @@ -0,0 +1 @@ +import{_ as a,c as n,j as e,t as o,a as r,a2 as l,o as i}from"./chunks/framework.DDEYgRcT.js";const _=JSON.parse('{"title":"Math functions","description":"Functions related to math","frontmatter":{"outline":"deep","description":"Functions related to math","package":"@prozilla-os/core","head":[["meta",{"name":"og:title","content":"Math functions | ProzillaOS Docs"}],["meta",{"name":"twitter:title","content":"Math functions | ProzillaOS Docs"}],["meta",{"name":"og:description","content":"Functions related to math"}],["meta",{"name":"twitter:description","content":"Functions related to math"}],["link",{"rel":"canonical","href":"https://os.prozilla.dev/docs/reference/core/functions/math"}],["meta",{"name":"og:url","content":"https://os.prozilla.dev/docs/reference/core/functions/math"}],["meta",{"name":"twitter:url","content":"https://os.prozilla.dev/docs/reference/core/functions/math"}],["meta",{"name":"og:locale","content":"en_US"}],["meta",{"name":"og:image","content":"https://os.prozilla.dev/docs/prozilla-os-title-banner.png"}],["meta",{"name":"twitter:image","content":"https://os.prozilla.dev/docs/prozilla-os-title-banner.png"}],["meta",{"name":"og:type","content":"website"}],["meta",{"name":"twitter:card","content":"summary_large_image"}]]},"headers":[],"relativePath":"reference/core/functions/math.md","filePath":"reference/core/functions/math.md"}'),s={name:"reference/core/functions/math.md"},c=e("h1",{id:"math-functions",tabindex:"-1"},[r("Math functions "),e("a",{class:"header-anchor",href:"#math-functions","aria-label":'Permalink to "Math functions"'},"​")],-1),m=l("",10);function u(t,d,g,p,h,f){return i(),n("div",null,[c,e("p",null,o(t.$frontmatter.description),1),m])}const v=a(s,[["render",u]]);export{_ as __pageData,v as default}; diff --git a/docs/assets/reference_core_index.md.BMiTSHuz.js b/docs/assets/reference_core_index.md.BMiTSHuz.js new file mode 100644 index 00000000..2cdc9aff --- /dev/null +++ b/docs/assets/reference_core_index.md.BMiTSHuz.js @@ -0,0 +1,133 @@ +import{_ as s,c as i,o as a,a2 as n}from"./chunks/framework.DDEYgRcT.js";const F=JSON.parse('{"title":"@prozilla-os/core","description":"","frontmatter":{"outline":"deep","head":[["meta",{"name":"og:title","content":"@prozilla-os/core | ProzillaOS Docs"}],["meta",{"name":"twitter:title","content":"@prozilla-os/core | ProzillaOS Docs"}],["meta",{"name":"og:description","content":"Documentation for ProzillaOS and its packages."}],["meta",{"name":"twitter:description","content":"Documentation for ProzillaOS and its packages."}],["link",{"rel":"canonical","href":"https://os.prozilla.dev/docs/reference/core/"}],["meta",{"name":"og:url","content":"https://os.prozilla.dev/docs/reference/core/"}],["meta",{"name":"twitter:url","content":"https://os.prozilla.dev/docs/reference/core/"}],["meta",{"name":"og:locale","content":"en_US"}],["meta",{"name":"og:image","content":"https://os.prozilla.dev/docs/prozilla-os-title-banner.png"}],["meta",{"name":"twitter:image","content":"https://os.prozilla.dev/docs/prozilla-os-title-banner.png"}],["meta",{"name":"og:type","content":"website"}],["meta",{"name":"twitter:card","content":"summary_large_image"}]]},"headers":[],"relativePath":"reference/core/index.md","filePath":"reference/core/index.md"}'),l={name:"reference/core/index.md"},h=n(`

@prozilla-os/core

About

@prozilla-os/core is a React Vite component library written in TypeScript for building web-based operating systems, made by Prozilla.

Installation

sh
$ npm install @prozilla-os/core
+$ yarn add @prozilla-os/core
+$ pnpm add @prozilla-os/core

Usage

Basic setup

tsx
import { Desktop, ModalsView, ProzillaOS, Taskbar, WindowsView } from "@prozilla-os/core";
+
+function App() {
+  return (
+    <ProzillaOS systemName="Example" tagLine="Powered by ProzillaOS">
+      <Taskbar/>
+      <WindowsView/>
+      <ModalsView/>
+      <Desktop/>
+    </ProzillaOS>
+  );
+}

Configuration

tsx
interface ProzillaOSProps {
+
+  systemName: string,
+
+  tagLine: string,
+
+  skin: new Skin({
+
+    appIcons: Record<number, string> | undefined,
+
+	appNames: Record<number, string> | undefined,
+
+	wallpapers: string[],
+
+	defaultWallpaper: string,
+
+	fileIcons: {
+		generic: string;
+		info: string | undefined;
+		text: string | undefined;
+		code: string | undefined;
+	},
+
+	folderIcons: {
+		generic: string;
+		images: string | undefined;
+		text: string | undefined;
+		link: string | undefined;
+	},
+
+	loadStyleSheet: () => void | undefined
+
+  })
+
+  config: {
+    apps: new AppsConfig({
+
+      apps: App[]
+
+    }),
+    desktop: new DesktopConfig({
+
+      /**
+       * @default 1
+       */
+      defaultIconSize: 0 | 1 | 2,
+
+      /**
+       * 0: vertical, 1: horizontal
+       * @default 0
+       * */
+      defaultIconDirection: 0 | 1
+
+    }),
+	misc: new MiscConfig({
+
+      /**
+	   * @default 250
+	   */
+	  doubleClickDelay: number
+
+	})
+    modals: new ModalsConfig({
+
+      /**
+       * Default size of a dialog box
+       * @default new Vector2(400, 200)
+       */
+      defaultDialogSize: Vector2,
+
+      /**
+       * Default size of a file selector
+       * @default new Vector2(700, 400)
+       */
+      defaultFileSelectorSize: Vector2
+
+    }),
+    taskbar: new TaskbarConfig({
+
+      /**
+       * Height of the taskbar in CSS pixels
+       * @default 3 * 16
+       */
+      height: number
+
+    }),
+    tracking: new TrackingConfig({
+
+      /**
+       * Enable tracking
+       * @default true
+      */
+      enabled: boolean,
+
+      /** Google Analytics measurement ID */
+      GAMeasurementId: string
+
+    }),
+    windows: new WindowsConfig({
+
+      /**
+       * @default 32
+       */
+      screenMargin: number,
+
+      /**
+       * @default "-"
+       */
+      titleSeparator: string,
+
+      /**
+       * If the user's screen is smaller than these values, windows will always be maximized
+       * @default new Vector2(350, 350)
+       */
+      minScreenSize: Vector2
+
+    })
+  }
+
+}
`,13),p=[h];function t(k,e,r,d,g,E){return a(),i("div",null,p)}const c=s(l,[["render",t]]);export{F as __pageData,c as default}; diff --git a/docs/assets/reference_core_index.md.BMiTSHuz.lean.js b/docs/assets/reference_core_index.md.BMiTSHuz.lean.js new file mode 100644 index 00000000..aa187152 --- /dev/null +++ b/docs/assets/reference_core_index.md.BMiTSHuz.lean.js @@ -0,0 +1 @@ +import{_ as s,c as i,o as a,a2 as n}from"./chunks/framework.DDEYgRcT.js";const F=JSON.parse('{"title":"@prozilla-os/core","description":"","frontmatter":{"outline":"deep","head":[["meta",{"name":"og:title","content":"@prozilla-os/core | ProzillaOS Docs"}],["meta",{"name":"twitter:title","content":"@prozilla-os/core | ProzillaOS Docs"}],["meta",{"name":"og:description","content":"Documentation for ProzillaOS and its packages."}],["meta",{"name":"twitter:description","content":"Documentation for ProzillaOS and its packages."}],["link",{"rel":"canonical","href":"https://os.prozilla.dev/docs/reference/core/"}],["meta",{"name":"og:url","content":"https://os.prozilla.dev/docs/reference/core/"}],["meta",{"name":"twitter:url","content":"https://os.prozilla.dev/docs/reference/core/"}],["meta",{"name":"og:locale","content":"en_US"}],["meta",{"name":"og:image","content":"https://os.prozilla.dev/docs/prozilla-os-title-banner.png"}],["meta",{"name":"twitter:image","content":"https://os.prozilla.dev/docs/prozilla-os-title-banner.png"}],["meta",{"name":"og:type","content":"website"}],["meta",{"name":"twitter:card","content":"summary_large_image"}]]},"headers":[],"relativePath":"reference/core/index.md","filePath":"reference/core/index.md"}'),l={name:"reference/core/index.md"},h=n("",13),p=[h];function t(k,e,r,d,g,E){return a(),i("div",null,p)}const c=s(l,[["render",t]]);export{F as __pageData,c as default}; diff --git a/docs/assets/reference_packages.md.DTz6i29q.js b/docs/assets/reference_packages.md.DTz6i29q.js new file mode 100644 index 00000000..82f9664e --- /dev/null +++ b/docs/assets/reference_packages.md.DTz6i29q.js @@ -0,0 +1 @@ +import{_ as a,c as e,o,a2 as t}from"./chunks/framework.DDEYgRcT.js";const g=JSON.parse('{"title":"Packages","description":"","frontmatter":{"outline":"deep","head":[["meta",{"name":"og:title","content":"Packages | ProzillaOS Docs"}],["meta",{"name":"twitter:title","content":"Packages | ProzillaOS Docs"}],["meta",{"name":"og:description","content":"Documentation for ProzillaOS and its packages."}],["meta",{"name":"twitter:description","content":"Documentation for ProzillaOS and its packages."}],["link",{"rel":"canonical","href":"https://os.prozilla.dev/docs/reference/packages"}],["meta",{"name":"og:url","content":"https://os.prozilla.dev/docs/reference/packages"}],["meta",{"name":"twitter:url","content":"https://os.prozilla.dev/docs/reference/packages"}],["meta",{"name":"og:locale","content":"en_US"}],["meta",{"name":"og:image","content":"https://os.prozilla.dev/docs/prozilla-os-title-banner.png"}],["meta",{"name":"twitter:image","content":"https://os.prozilla.dev/docs/prozilla-os-title-banner.png"}],["meta",{"name":"og:type","content":"website"}],["meta",{"name":"twitter:card","content":"summary_large_image"}]]},"headers":[],"relativePath":"reference/packages.md","filePath":"reference/packages.md"}'),i={name:"reference/packages.md"},l=t('

Packages

These packages are different modules of ProzillaOS that can be installed separately or via the bundle package prozilla-os.

Libraries

Standard applications

Non-standard applications

',8),r=[l];function s(n,c,p,d,h,m){return o(),e("div",null,r)}const u=a(i,[["render",s]]);export{g as __pageData,u as default}; diff --git a/docs/assets/reference_packages.md.DTz6i29q.lean.js b/docs/assets/reference_packages.md.DTz6i29q.lean.js new file mode 100644 index 00000000..9233a13d --- /dev/null +++ b/docs/assets/reference_packages.md.DTz6i29q.lean.js @@ -0,0 +1 @@ +import{_ as a,c as e,o,a2 as t}from"./chunks/framework.DDEYgRcT.js";const g=JSON.parse('{"title":"Packages","description":"","frontmatter":{"outline":"deep","head":[["meta",{"name":"og:title","content":"Packages | ProzillaOS Docs"}],["meta",{"name":"twitter:title","content":"Packages | ProzillaOS Docs"}],["meta",{"name":"og:description","content":"Documentation for ProzillaOS and its packages."}],["meta",{"name":"twitter:description","content":"Documentation for ProzillaOS and its packages."}],["link",{"rel":"canonical","href":"https://os.prozilla.dev/docs/reference/packages"}],["meta",{"name":"og:url","content":"https://os.prozilla.dev/docs/reference/packages"}],["meta",{"name":"twitter:url","content":"https://os.prozilla.dev/docs/reference/packages"}],["meta",{"name":"og:locale","content":"en_US"}],["meta",{"name":"og:image","content":"https://os.prozilla.dev/docs/prozilla-os-title-banner.png"}],["meta",{"name":"twitter:image","content":"https://os.prozilla.dev/docs/prozilla-os-title-banner.png"}],["meta",{"name":"og:type","content":"website"}],["meta",{"name":"twitter:card","content":"summary_large_image"}]]},"headers":[],"relativePath":"reference/packages.md","filePath":"reference/packages.md"}'),i={name:"reference/packages.md"},l=t("",8),r=[l];function s(n,c,p,d,h,m){return o(),e("div",null,r)}const u=a(i,[["render",s]]);export{g as __pageData,u as default}; diff --git a/docs/assets/reference_prozilla-os_index.md.Db0f391m.js b/docs/assets/reference_prozilla-os_index.md.Db0f391m.js new file mode 100644 index 00000000..110c262a --- /dev/null +++ b/docs/assets/reference_prozilla-os_index.md.Db0f391m.js @@ -0,0 +1,133 @@ +import{_ as s,c as i,o as a,a2 as n}from"./chunks/framework.DDEYgRcT.js";const E=JSON.parse('{"title":"prozilla-os","description":"","frontmatter":{"outline":"deep","head":[["meta",{"name":"og:title","content":"prozilla-os | ProzillaOS Docs"}],["meta",{"name":"twitter:title","content":"prozilla-os | ProzillaOS Docs"}],["meta",{"name":"og:description","content":"Documentation for ProzillaOS and its packages."}],["meta",{"name":"twitter:description","content":"Documentation for ProzillaOS and its packages."}],["link",{"rel":"canonical","href":"https://os.prozilla.dev/docs/reference/prozilla-os/"}],["meta",{"name":"og:url","content":"https://os.prozilla.dev/docs/reference/prozilla-os/"}],["meta",{"name":"twitter:url","content":"https://os.prozilla.dev/docs/reference/prozilla-os/"}],["meta",{"name":"og:locale","content":"en_US"}],["meta",{"name":"og:image","content":"https://os.prozilla.dev/docs/prozilla-os-title-banner.png"}],["meta",{"name":"twitter:image","content":"https://os.prozilla.dev/docs/prozilla-os-title-banner.png"}],["meta",{"name":"og:type","content":"website"}],["meta",{"name":"twitter:card","content":"summary_large_image"}]]},"headers":[],"relativePath":"reference/prozilla-os/index.md","filePath":"reference/prozilla-os/index.md"}'),l={name:"reference/prozilla-os/index.md"},p=n(`

prozilla-os

About

prozilla-os is a React Vite component library written in TypeScript for building web-based operating systems, made by Prozilla. This package combines multiple other packages for easy access to different ProzillaOS features. You can also download these packages separately instead.

Live demo: os.prozilla.dev - [(source)][website-source]

Installation

sh
$ npm install prozilla-os
+$ yarn add prozilla-os
+$ pnpm add prozilla-os

Packages

prozilla-os combines the following packages into one:

Usage

For more information about the in-depth usage of each package, check out the links in the section above.

Basic setup

tsx
import { Desktop, ModalsView, ProzillaOS, Taskbar, WindowsView } from "prozilla-os";
+
+function App() {
+  return (
+    <ProzillaOS systemName="Example" tagLine="Powered by ProzillaOS">
+      <Taskbar/>
+      <WindowsView/>
+      <ModalsView/>
+      <Desktop/>
+    </ProzillaOS>
+  );
+}

Configuration

tsx
interface ProzillaOSProps {
+
+  systemName: string,
+
+  tagLine: string,
+
+  skin: new Skin({
+
+    appIcons: Record<number, string> | undefined,
+
+	appNames: Record<number, string> | undefined,
+
+	wallpapers: string[],
+
+	defaultWallpaper: string,
+
+	fileIcons: {
+		generic: string;
+		info: string | undefined;
+		text: string | undefined;
+		code: string | undefined;
+	},
+
+	folderIcons: {
+		generic: string;
+		images: string | undefined;
+		text: string | undefined;
+		link: string | undefined;
+	},
+
+	loadStyleSheet: () => void | undefined
+
+  })
+
+  config: {
+    apps: new AppsConfig({
+
+      apps: App[]
+
+    }),
+    desktop: new DesktopConfig({
+
+      /**
+       * @default 1
+       */
+      defaultIconSize: 0 | 1 | 2,
+
+      /**
+       * 0: vertical, 1: horizontal
+       * @default 0
+       * */
+      defaultIconDirection: 0 | 1
+
+    }),
+	misc: new MiscConfig({
+
+      /**
+	   * @default 250
+	   */
+	  doubleClickDelay: number
+
+	})
+    modals: new ModalsConfig({
+
+      /**
+       * Default size of a dialog box
+       * @default new Vector2(400, 200)
+       */
+      defaultDialogSize: Vector2,
+
+      /**
+       * Default size of a file selector
+       * @default new Vector2(700, 400)
+       */
+      defaultFileSelectorSize: Vector2
+
+    }),
+    taskbar: new TaskbarConfig({
+
+      /**
+       * Height of the taskbar in CSS pixels
+       * @default 3 * 16
+       */
+      height: number
+
+    }),
+    tracking: new TrackingConfig({
+
+      /**
+       * Enable tracking
+       * @default true
+      */
+      enabled: boolean,
+
+      /** Google Analytics measurement ID */
+      GAMeasurementId: string
+
+    }),
+    windows: new WindowsConfig({
+
+      /**
+       * @default 32
+       */
+      screenMargin: number,
+
+      /**
+       * @default "-"
+       */
+      titleSeparator: string,
+
+      /**
+       * If the user's screen is smaller than these values, windows will always be maximized
+       * @default new Vector2(350, 350)
+       */
+      minScreenSize: Vector2
+
+    })
+  }
+
+}

[docs]: [docs]: https://os.prozilla.dev/docs/reference/prozilla-os [website-source]: https://github.com/prozilla-os/ProzillaOS [github]: https://github.com/prozilla-os/ProzillaOS/tree/main/packages/prozilla-os [npm]: https://www.npmjs.com/package/prozilla-os [discord]: https://discord.gg/JwbyQP4tdz [ko-fi]: https://ko-fi.com/prozilla [core]: https://www.npmjs.com/package/@prozilla-os/core [file-explorer]: https://www.npmjs.com/package/@prozilla-os/file-explorer [terminal]: https://www.npmjs.com/package/@prozilla-os/terminal [text-editor]: https://www.npmjs.com/package/@prozilla-os/text-editor [settings]: https://www.npmjs.com/package/@prozilla-os/settings [media-viewer]: https://www.npmjs.com/package/@prozilla-os/media-viewer [browser]: https://www.npmjs.com/package/@prozilla-os/browser [calculator]: https://www.npmjs.com/package/@prozilla-os/calculator

`,19),t=[p];function e(h,k,r,d,o,g){return a(),i("div",null,t)}const y=s(l,[["render",e]]);export{E as __pageData,y as default}; diff --git a/docs/assets/reference_prozilla-os_index.md.Db0f391m.lean.js b/docs/assets/reference_prozilla-os_index.md.Db0f391m.lean.js new file mode 100644 index 00000000..c39ac90f --- /dev/null +++ b/docs/assets/reference_prozilla-os_index.md.Db0f391m.lean.js @@ -0,0 +1 @@ +import{_ as s,c as i,o as a,a2 as n}from"./chunks/framework.DDEYgRcT.js";const E=JSON.parse('{"title":"prozilla-os","description":"","frontmatter":{"outline":"deep","head":[["meta",{"name":"og:title","content":"prozilla-os | ProzillaOS Docs"}],["meta",{"name":"twitter:title","content":"prozilla-os | ProzillaOS Docs"}],["meta",{"name":"og:description","content":"Documentation for ProzillaOS and its packages."}],["meta",{"name":"twitter:description","content":"Documentation for ProzillaOS and its packages."}],["link",{"rel":"canonical","href":"https://os.prozilla.dev/docs/reference/prozilla-os/"}],["meta",{"name":"og:url","content":"https://os.prozilla.dev/docs/reference/prozilla-os/"}],["meta",{"name":"twitter:url","content":"https://os.prozilla.dev/docs/reference/prozilla-os/"}],["meta",{"name":"og:locale","content":"en_US"}],["meta",{"name":"og:image","content":"https://os.prozilla.dev/docs/prozilla-os-title-banner.png"}],["meta",{"name":"twitter:image","content":"https://os.prozilla.dev/docs/prozilla-os-title-banner.png"}],["meta",{"name":"og:type","content":"website"}],["meta",{"name":"twitter:card","content":"summary_large_image"}]]},"headers":[],"relativePath":"reference/prozilla-os/index.md","filePath":"reference/prozilla-os/index.md"}'),l={name:"reference/prozilla-os/index.md"},p=n("",19),t=[p];function e(h,k,r,d,o,g){return a(),i("div",null,t)}const y=s(l,[["render",e]]);export{E as __pageData,y as default}; diff --git a/docs/assets/reference_shared_index.md.DBcbmjzG.js b/docs/assets/reference_shared_index.md.DBcbmjzG.js new file mode 100644 index 00000000..fa82e7ef --- /dev/null +++ b/docs/assets/reference_shared_index.md.DBcbmjzG.js @@ -0,0 +1,10 @@ +import{_ as a,c as s,o as i,a2 as e}from"./chunks/framework.DDEYgRcT.js";const m=JSON.parse('{"title":"@prozilla-os/shared","description":"","frontmatter":{"outline":"deep","head":[["meta",{"name":"og:title","content":"@prozilla-os/shared | ProzillaOS Docs"}],["meta",{"name":"twitter:title","content":"@prozilla-os/shared | ProzillaOS Docs"}],["meta",{"name":"og:description","content":"Documentation for ProzillaOS and its packages."}],["meta",{"name":"twitter:description","content":"Documentation for ProzillaOS and its packages."}],["link",{"rel":"canonical","href":"https://os.prozilla.dev/docs/reference/shared/"}],["meta",{"name":"og:url","content":"https://os.prozilla.dev/docs/reference/shared/"}],["meta",{"name":"twitter:url","content":"https://os.prozilla.dev/docs/reference/shared/"}],["meta",{"name":"og:locale","content":"en_US"}],["meta",{"name":"og:image","content":"https://os.prozilla.dev/docs/prozilla-os-title-banner.png"}],["meta",{"name":"twitter:image","content":"https://os.prozilla.dev/docs/prozilla-os-title-banner.png"}],["meta",{"name":"og:type","content":"website"}],["meta",{"name":"twitter:card","content":"summary_large_image"}]]},"headers":[],"relativePath":"reference/shared/index.md","filePath":"reference/shared/index.md"}'),t={name:"reference/shared/index.md"},n=e(`

@prozilla-os/shared

About

@prozilla-os/shared is a library of shared utility functions for ProzillaOS packages.

Installation

sh
$ npm install @prozilla-os/shared
+$ yarn add @prozilla-os/shared
+$ pnpm add @prozilla-os/shared

Usage

appViteConfig(basePath, entryPath)

Helper function for creating Vite configurations for ProzillaOS apps.

Params

Example

tsx
// vite.config.ts
+
+import { defineConfig } from "vite";
+import { appViteConfig } from "@prozilla-os/shared";
+
+export default defineConfig({
+	...appViteConfig(__dirname, "src/main.ts")
+});

[docs]: [docs]: https://os.prozilla.dev/docs/reference/shared [github]: https://github.com/prozilla-os/ProzillaOS/tree/main/packages/shared [npm]: https://www.npmjs.com/package/@prozilla-os/shared [discord]: https://discord.gg/JwbyQP4tdz [ko-fi]: https://ko-fi.com/prozilla

`,15),l=[n];function r(o,h,p,d,c,k){return i(),s("div",null,l)}const f=a(t,[["render",r]]);export{m as __pageData,f as default}; diff --git a/docs/assets/reference_shared_index.md.DBcbmjzG.lean.js b/docs/assets/reference_shared_index.md.DBcbmjzG.lean.js new file mode 100644 index 00000000..d7e41604 --- /dev/null +++ b/docs/assets/reference_shared_index.md.DBcbmjzG.lean.js @@ -0,0 +1 @@ +import{_ as a,c as s,o as i,a2 as e}from"./chunks/framework.DDEYgRcT.js";const m=JSON.parse('{"title":"@prozilla-os/shared","description":"","frontmatter":{"outline":"deep","head":[["meta",{"name":"og:title","content":"@prozilla-os/shared | ProzillaOS Docs"}],["meta",{"name":"twitter:title","content":"@prozilla-os/shared | ProzillaOS Docs"}],["meta",{"name":"og:description","content":"Documentation for ProzillaOS and its packages."}],["meta",{"name":"twitter:description","content":"Documentation for ProzillaOS and its packages."}],["link",{"rel":"canonical","href":"https://os.prozilla.dev/docs/reference/shared/"}],["meta",{"name":"og:url","content":"https://os.prozilla.dev/docs/reference/shared/"}],["meta",{"name":"twitter:url","content":"https://os.prozilla.dev/docs/reference/shared/"}],["meta",{"name":"og:locale","content":"en_US"}],["meta",{"name":"og:image","content":"https://os.prozilla.dev/docs/prozilla-os-title-banner.png"}],["meta",{"name":"twitter:image","content":"https://os.prozilla.dev/docs/prozilla-os-title-banner.png"}],["meta",{"name":"og:type","content":"website"}],["meta",{"name":"twitter:card","content":"summary_large_image"}]]},"headers":[],"relativePath":"reference/shared/index.md","filePath":"reference/shared/index.md"}'),t={name:"reference/shared/index.md"},n=e("",15),l=[n];function r(o,h,p,d,c,k){return i(),s("div",null,l)}const f=a(t,[["render",r]]);export{m as __pageData,f as default}; diff --git a/docs/assets/reference_skins_classes_skin.md.DTITK6qR.js b/docs/assets/reference_skins_classes_skin.md.DTITK6qR.js new file mode 100644 index 00000000..e96ee808 --- /dev/null +++ b/docs/assets/reference_skins_classes_skin.md.DTITK6qR.js @@ -0,0 +1,31 @@ +import{_ as n,c as t,j as s,t as e,a as i,a2 as l,o as p,a4 as h,a5 as k}from"./chunks/framework.DDEYgRcT.js";const f=JSON.parse('{"title":"Class Skin","description":"Change the look and feel of ProzillaOS","frontmatter":{"outline":"deep","description":"Change the look and feel of ProzillaOS","package":"@prozilla-os/skins","head":[["meta",{"name":"og:title","content":"Class Skin | ProzillaOS Docs"}],["meta",{"name":"twitter:title","content":"Class Skin | ProzillaOS Docs"}],["meta",{"name":"og:description","content":"Change the look and feel of ProzillaOS"}],["meta",{"name":"twitter:description","content":"Change the look and feel of ProzillaOS"}],["link",{"rel":"canonical","href":"https://os.prozilla.dev/docs/reference/skins/classes/skin"}],["meta",{"name":"og:url","content":"https://os.prozilla.dev/docs/reference/skins/classes/skin"}],["meta",{"name":"twitter:url","content":"https://os.prozilla.dev/docs/reference/skins/classes/skin"}],["meta",{"name":"og:locale","content":"en_US"}],["meta",{"name":"og:image","content":"https://os.prozilla.dev/docs/prozilla-os-title-banner.png"}],["meta",{"name":"twitter:image","content":"https://os.prozilla.dev/docs/prozilla-os-title-banner.png"}],["meta",{"name":"og:type","content":"website"}],["meta",{"name":"twitter:card","content":"summary_large_image"}]]},"headers":[],"relativePath":"reference/skins/classes/skin.md","filePath":"reference/skins/classes/skin.md"}'),r={name:"reference/skins/classes/skin.md"},o=s("h1",{id:"class-skin",tabindex:"-1"},[i("Class "),s("a",{href:"https://github.com/prozilla-os/ProzillaOS/blob/main/packages/skins/src/core/skin.ts",target:"_blank",rel:"noreferrer"},[s("code",null,"Skin")]),i(),s("a",{class:"header-anchor",href:"#class-skin","aria-label":'Permalink to "Class [`Skin`](https://github.com/prozilla-os/ProzillaOS/blob/main/packages/skins/src/core/skin.ts)"'},"​")],-1),d=l(`

Constructor

new Skin(options)

Parameters


options

ts
interface SkinOptions {
+	appIcons?: Record<number, string>;
+	appNames?: Record<number, string>;
+	wallpapers: string[];
+	defaultWallpaper: string;
+	fileIcons: {
+		generic: string;
+		info?: string;
+		text?: string;
+		code?: string;
+	};
+	folderIcons: {
+		generic: string;
+		images?: string;
+		text?: string;
+		link?: string;
+	};
+	loadStyleSheet?: () => void;
+}

Properties

appIcons

Replacements for app icons based on app id

appNames

Replacements for app names based on app id

wallpapers

Array of URLs of wallpaper images

defaultWallpaper

URL of default wallpaper image

fileIcons

URLs of icons for types of files

ts
interface FileIcons {
+	generic: string;
+	info?: string;
+	text?: string;
+	code?: string;
+}

Default

Default file icons

folderIcons

URLs of icons for types of folders

ts
interface FolderIcons {
+	generic: string;
+	images?: string;
+	text?: string;
+	link?: string;
+}

Default

Default folder icons

loadStyleSheet

Function that dynamically imports style sheet

Instances

macOsSkin

A skin inspired by the macOS interface

minimalSkin

A minimalistic skin with monochrome icons

`,40);function c(a,g,E,y,F,u){return p(),t("div",null,[o,s("p",null,e(a.$frontmatter.description),1),d])}const b=n(r,[["render",c]]);export{f as __pageData,b as default}; diff --git a/docs/assets/reference_skins_classes_skin.md.DTITK6qR.lean.js b/docs/assets/reference_skins_classes_skin.md.DTITK6qR.lean.js new file mode 100644 index 00000000..b6ad7417 --- /dev/null +++ b/docs/assets/reference_skins_classes_skin.md.DTITK6qR.lean.js @@ -0,0 +1 @@ +import{_ as n,c as t,j as s,t as e,a as i,a2 as l,o as p,a4 as h,a5 as k}from"./chunks/framework.DDEYgRcT.js";const f=JSON.parse('{"title":"Class Skin","description":"Change the look and feel of ProzillaOS","frontmatter":{"outline":"deep","description":"Change the look and feel of ProzillaOS","package":"@prozilla-os/skins","head":[["meta",{"name":"og:title","content":"Class Skin | ProzillaOS Docs"}],["meta",{"name":"twitter:title","content":"Class Skin | ProzillaOS Docs"}],["meta",{"name":"og:description","content":"Change the look and feel of ProzillaOS"}],["meta",{"name":"twitter:description","content":"Change the look and feel of ProzillaOS"}],["link",{"rel":"canonical","href":"https://os.prozilla.dev/docs/reference/skins/classes/skin"}],["meta",{"name":"og:url","content":"https://os.prozilla.dev/docs/reference/skins/classes/skin"}],["meta",{"name":"twitter:url","content":"https://os.prozilla.dev/docs/reference/skins/classes/skin"}],["meta",{"name":"og:locale","content":"en_US"}],["meta",{"name":"og:image","content":"https://os.prozilla.dev/docs/prozilla-os-title-banner.png"}],["meta",{"name":"twitter:image","content":"https://os.prozilla.dev/docs/prozilla-os-title-banner.png"}],["meta",{"name":"og:type","content":"website"}],["meta",{"name":"twitter:card","content":"summary_large_image"}]]},"headers":[],"relativePath":"reference/skins/classes/skin.md","filePath":"reference/skins/classes/skin.md"}'),r={name:"reference/skins/classes/skin.md"},o=s("h1",{id:"class-skin",tabindex:"-1"},[i("Class "),s("a",{href:"https://github.com/prozilla-os/ProzillaOS/blob/main/packages/skins/src/core/skin.ts",target:"_blank",rel:"noreferrer"},[s("code",null,"Skin")]),i(),s("a",{class:"header-anchor",href:"#class-skin","aria-label":'Permalink to "Class [`Skin`](https://github.com/prozilla-os/ProzillaOS/blob/main/packages/skins/src/core/skin.ts)"'},"​")],-1),d=l("",40);function c(a,g,E,y,F,u){return p(),t("div",null,[o,s("p",null,e(a.$frontmatter.description),1),d])}const b=n(r,[["render",c]]);export{f as __pageData,b as default}; diff --git a/docs/assets/reference_skins_index.md.4dl5CFcj.js b/docs/assets/reference_skins_index.md.4dl5CFcj.js new file mode 100644 index 00000000..a22acb08 --- /dev/null +++ b/docs/assets/reference_skins_index.md.4dl5CFcj.js @@ -0,0 +1,3 @@ +import{_ as a,c as e,o as s,a2 as i}from"./chunks/framework.DDEYgRcT.js";const g=JSON.parse('{"title":"@prozilla-os/skins","description":"","frontmatter":{"outline":"deep","head":[["meta",{"name":"og:title","content":"@prozilla-os/skins | ProzillaOS Docs"}],["meta",{"name":"twitter:title","content":"@prozilla-os/skins | ProzillaOS Docs"}],["meta",{"name":"og:description","content":"Documentation for ProzillaOS and its packages."}],["meta",{"name":"twitter:description","content":"Documentation for ProzillaOS and its packages."}],["link",{"rel":"canonical","href":"https://os.prozilla.dev/docs/reference/skins/"}],["meta",{"name":"og:url","content":"https://os.prozilla.dev/docs/reference/skins/"}],["meta",{"name":"twitter:url","content":"https://os.prozilla.dev/docs/reference/skins/"}],["meta",{"name":"og:locale","content":"en_US"}],["meta",{"name":"og:image","content":"https://os.prozilla.dev/docs/prozilla-os-title-banner.png"}],["meta",{"name":"twitter:image","content":"https://os.prozilla.dev/docs/prozilla-os-title-banner.png"}],["meta",{"name":"og:type","content":"website"}],["meta",{"name":"twitter:card","content":"summary_large_image"}]]},"headers":[],"relativePath":"reference/skins/index.md","filePath":"reference/skins/index.md"}'),t={name:"reference/skins/index.md"},n=i(`

@prozilla-os/skins

About

@prozilla-os/skins is a React library that contains skins for ProzillaOS.

Installation

sh
$ npm install @prozilla-os/skins
+$ yarn add @prozilla-os/skins
+$ pnpm add @prozilla-os/skins
`,7),l=[n];function r(o,p,h,c,k,d){return s(),e("div",null,l)}const f=a(t,[["render",r]]);export{g as __pageData,f as default}; diff --git a/docs/assets/reference_skins_index.md.4dl5CFcj.lean.js b/docs/assets/reference_skins_index.md.4dl5CFcj.lean.js new file mode 100644 index 00000000..a99c554b --- /dev/null +++ b/docs/assets/reference_skins_index.md.4dl5CFcj.lean.js @@ -0,0 +1 @@ +import{_ as a,c as e,o as s,a2 as i}from"./chunks/framework.DDEYgRcT.js";const g=JSON.parse('{"title":"@prozilla-os/skins","description":"","frontmatter":{"outline":"deep","head":[["meta",{"name":"og:title","content":"@prozilla-os/skins | ProzillaOS Docs"}],["meta",{"name":"twitter:title","content":"@prozilla-os/skins | ProzillaOS Docs"}],["meta",{"name":"og:description","content":"Documentation for ProzillaOS and its packages."}],["meta",{"name":"twitter:description","content":"Documentation for ProzillaOS and its packages."}],["link",{"rel":"canonical","href":"https://os.prozilla.dev/docs/reference/skins/"}],["meta",{"name":"og:url","content":"https://os.prozilla.dev/docs/reference/skins/"}],["meta",{"name":"twitter:url","content":"https://os.prozilla.dev/docs/reference/skins/"}],["meta",{"name":"og:locale","content":"en_US"}],["meta",{"name":"og:image","content":"https://os.prozilla.dev/docs/prozilla-os-title-banner.png"}],["meta",{"name":"twitter:image","content":"https://os.prozilla.dev/docs/prozilla-os-title-banner.png"}],["meta",{"name":"og:type","content":"website"}],["meta",{"name":"twitter:card","content":"summary_large_image"}]]},"headers":[],"relativePath":"reference/skins/index.md","filePath":"reference/skins/index.md"}'),t={name:"reference/skins/index.md"},n=i("",7),l=[n];function r(o,p,h,c,k,d){return s(),e("div",null,l)}const f=a(t,[["render",r]]);export{g as __pageData,f as default}; diff --git a/docs/guides/custom-app.html b/docs/guides/custom-app.html index ef1f3808..2fdcd29a 100644 --- a/docs/guides/custom-app.html +++ b/docs/guides/custom-app.html @@ -34,7 +34,7 @@
Skip to content

Built by Prozilla

- + \ No newline at end of file diff --git a/docs/guides/getting-started.html b/docs/guides/getting-started.html index cfe75a9d..f69c1edd 100644 --- a/docs/guides/getting-started.html +++ b/docs/guides/getting-started.html @@ -12,7 +12,7 @@ - + @@ -33,7 +33,7 @@ -
Skip to content

Getting started

Prerequisites

This guide assumes you have already set up a basic React project with TypeScript. To learn more about how to set up a React project, check out the official React documentation. The React documentation also has a guide on how to start using TypeScript in your React project.

Installation

There are multiple ways to install ProzillaOS. The simplest way is to install the bundle package prozilla-os, which contains the core functionality as well as all standard applications.

bash
$ npm install prozilla-os
bash
$ yarn add prozilla-os
bash
$ pnpm add prozilla-os
bash
$ bun add prozilla-os

Alternatively, you can install the @prozilla-os/core package, which only contains the core functionality, and install the apps manually or create custom apps.

bash
$ npm install @prozilla-os/core
bash
$ yarn add @prozilla-os/core
bash
$ pnpm add @prozilla-os/core
bash
$ bun add @prozilla-os/core

Installing apps

Install apps by running the command below. Replace [app] with the id of the app you want to install.

bash
$ npm install @prozilla-os/[app]
bash
$ yarn add @prozilla-os/[app]
bash
$ pnpm add @prozilla-os/[app]
bash
$ bun add @prozilla-os/[app]

Usage

Your entry file should look something like this:

tsx
// index.tsx
+    
Skip to content

Getting started

Prerequisites

This guide assumes you have already set up a basic React project with TypeScript. To learn more about how to set up a React project, check out the official React documentation. The React documentation also has a guide on how to start using TypeScript in your React project.

Installation

There are multiple ways to install ProzillaOS. The simplest way is to install the bundle package prozilla-os, which contains the core functionality as well as all standard applications.

bash
$ npm install prozilla-os
bash
$ yarn add prozilla-os
bash
$ pnpm add prozilla-os
bash
$ bun add prozilla-os

Alternatively, you can install the @prozilla-os/core package, which only contains the core functionality, and install the apps manually or create custom apps.

bash
$ npm install @prozilla-os/core
bash
$ yarn add @prozilla-os/core
bash
$ pnpm add @prozilla-os/core
bash
$ bun add @prozilla-os/core

Installing apps

Install apps by running the command below. Replace [app] with the id of the app you want to install.

bash
$ npm install @prozilla-os/[app]
bash
$ yarn add @prozilla-os/[app]
bash
$ pnpm add @prozilla-os/[app]
bash
$ bun add @prozilla-os/[app]

Usage

Your entry file should look something like this:

tsx
// index.tsx
 
 import React from "react";
 import ReactDOM from "react-dom/client";
@@ -78,7 +78,7 @@
 		})
 	}}
 >

TIP

Move your configurations to separate files to make them more readable and keep a better overview of your different configurations. You can then import these configurations into your App.tsx file and use them as values for the config prop of the <ProzillaOS> component.

Once that's done, go ahead and start your project and open it in your browser to check it out. Congratulations, you've made your own operating system inside the browser!

Community

If you have questions or need help, reach out to the community on Discord.

Built by Prozilla

- + \ No newline at end of file diff --git a/docs/hashmap.json b/docs/hashmap.json index 3e8f44b5..15c8bb6a 100644 --- a/docs/hashmap.json +++ b/docs/hashmap.json @@ -1 +1 @@ -{"about_features.md":"DSrmUjed","about_introduction.md":"Cv-mRJ5n","reference_packages.md":"CrigA5Yq","reference_classes_apps_app.md":"0v-PAWce","index.md":"DCdNPK5-","reference_classes_system_tracking-config.md":"PTXBmhVv","reference_functions_browser.md":"DfCAKYFp","reference_configuration.md":"CpBAIMON","guides_getting-started.md":"DcO1rEYH","reference_functions_date.md":"BdP30USt","guides_custom-app.md":"C-86RC4r","reference_functions_array.md":"BoqPMhaL","reference_classes_system_misc-config.md":"DgfSkgC-","reference_classes_system_windows-config.md":"DVXGZT1u","reference_classes_system_desktop-config.md":"BmVK9zom","reference_constants_index.md":"DPBtaIIs","reference_classes_system_apps-config.md":"DPKa0E1b","reference_classes_system_modals-config.md":"DJqkaJ6z","reference_classes_skins_skin.md":"BYvSJuy6","reference_classes_system_taskbar-config.md":"Tyzk-pvw","reference_classes_utils_vector2.md":"Bm0ICFTM","reference_glossary.md":"DmPYOUfC","reference_functions_math.md":"7e2_IS-x"} +{"guides_custom-app.md":"C-86RC4r","reference_core_classes_system_tracking-config.md":"BzW8cNLR","reference_core_classes_system_desktop-config.md":"DhmPUHtp","reference_core_classes_apps_app.md":"B4Yql9iV","reference_apps_text-editor_index.md":"gfaelM5g","reference_core_functions_browser.md":"BFhqtB6x","reference_apps_settings_index.md":"DI0n2h7P","reference_configuration.md":"D4UHtUuX","about_features.md":"DSrmUjed","reference_skins_classes_skin.md":"DTITK6qR","reference_core_functions_date.md":"DdYnYDMY","reference_core_classes_system_taskbar-config.md":"BFudoLpJ","reference_glossary.md":"DmPYOUfC","reference_apps_media-viewer_index.md":"BhlO3DHC","reference_apps_terminal_index.md":"BuYp3kDn","reference_core_classes_system_misc-config.md":"BjnwAICu","reference_core_classes_system_modals-config.md":"amu4y4LB","about_introduction.md":"Cv-mRJ5n","reference_packages.md":"DTz6i29q","reference_core_functions_math.md":"Yo-5z7gX","reference_core_classes_utils_vector2.md":"C_nIHtrH","reference_apps_file-explorer_index.md":"B_s9faJX","reference_shared_index.md":"DBcbmjzG","reference_core_index.md":"BMiTSHuz","reference_core_constants_index.md":"CzxQnFb7","reference_skins_index.md":"4dl5CFcj","reference_prozilla-os_index.md":"Db0f391m","guides_getting-started.md":"CBpuTHJh","reference_core_classes_system_apps-config.md":"CG-VE_iy","reference_apps_logic-sim_index.md":"OHMnQX22","reference_apps_browser_index.md":"C0Yb0wwO","reference_apps_calculator_index.md":"BgeDjB_n","reference_core_classes_system_windows-config.md":"BUF5pzHj","index.md":"DCdNPK5-","reference_core_functions_array.md":"DvusJMqS"} diff --git a/docs/index.html b/docs/index.html index e9b03192..1e6851c4 100644 --- a/docs/index.html +++ b/docs/index.html @@ -34,7 +34,7 @@
Skip to content

ProzillaOS

Web-based operating system

A highly customizable and feature-rich desktop environment inside your browser

Developer

Built by Prozilla

- + \ No newline at end of file diff --git a/docs/reference/apps/browser/index.html b/docs/reference/apps/browser/index.html new file mode 100644 index 00000000..9512f884 --- /dev/null +++ b/docs/reference/apps/browser/index.html @@ -0,0 +1,65 @@ + + + + + + @prozilla-os/browser | ProzillaOS Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Skip to content

@prozilla-os/browser

About

@prozilla-os/browser is a ProzillaOS application for browsing the internet.

Installation

@prozilla-os/core is required to run this application.

sh
$ npm install @prozilla-os/core @prozilla-os/browser
+$ yarn add @prozilla-os/core @prozilla-os/browser
+$ pnpm add @prozilla-os/core @prozilla-os/browser

Usage

Basic setup

tsx
import { Desktop, ModalsView, ProzillaOS, Taskbar, WindowsView, AppsConfig } from "@prozilla-os/core";
+import { browser } from "@prozilla-os/browser";
+
+function App() {
+  return (
+    <ProzillaOS
+      systemName="Example"
+      tagLine="Powered by ProzillaOS"
+      config={{
+        apps: new AppsConfig({
+          apps: [ browser ]
+        })
+      }}
+    >
+      <Taskbar/>
+      <WindowsView/>
+      <ModalsView/>
+      <Desktop/>
+    </ProzillaOS>
+  );
+}

Window options

tsx
/**
+ * URL to open
+ */
+url: string;

Built by Prozilla

+ + + + \ No newline at end of file diff --git a/docs/reference/apps/calculator/index.html b/docs/reference/apps/calculator/index.html new file mode 100644 index 00000000..3259b433 --- /dev/null +++ b/docs/reference/apps/calculator/index.html @@ -0,0 +1,62 @@ + + + + + + @prozilla-os/calculator | ProzillaOS Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Skip to content

@prozilla-os/calculator

About

@prozilla-os/calculator is a ProzillaOS application for making basic calculations.

Installation

@prozilla-os/core is required to run this application.

sh
$ npm install @prozilla-os/core @prozilla-os/calculator
+$ yarn add @prozilla-os/core @prozilla-os/calculator
+$ pnpm add @prozilla-os/core @prozilla-os/calculator

Usage

Basic setup

tsx
import { Desktop, ModalsView, ProzillaOS, Taskbar, WindowsView, AppsConfig } from "@prozilla-os/core";
+import { calculator } from "@prozilla-os/calculator";
+
+function App() {
+  return (
+    <ProzillaOS
+      systemName="Example"
+      tagLine="Powered by ProzillaOS"
+      config={{
+        apps: new AppsConfig({
+          apps: [ calculator ]
+        })
+      }}
+    >
+      <Taskbar/>
+      <WindowsView/>
+      <ModalsView/>
+      <Desktop/>
+    </ProzillaOS>
+  );
+}

Built by Prozilla

+ + + + \ No newline at end of file diff --git a/docs/reference/apps/file-explorer/index.html b/docs/reference/apps/file-explorer/index.html new file mode 100644 index 00000000..74f769ea --- /dev/null +++ b/docs/reference/apps/file-explorer/index.html @@ -0,0 +1,91 @@ + + + + + + @prozilla-os/file-explorer | ProzillaOS Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Skip to content

@prozilla-os/file-explorer

About

@prozilla-os/file-explorer is a standard ProzillaOS application for browsing files.

Installation

@prozilla-os/core is required to run this application.

sh
$ npm install @prozilla-os/core @prozilla-os/file-explorer
+$ yarn add @prozilla-os/core @prozilla-os/file-explorer
+$ pnpm add @prozilla-os/core @prozilla-os/file-explorer

Usage

Basic setup

tsx
import { Desktop, ModalsView, ProzillaOS, Taskbar, WindowsView, AppsConfig } from "@prozilla-os/core";
+import { fileExplorer } from "@prozilla-os/file-explorer";
+
+function App() {
+  return (
+    <ProzillaOS
+      systemName="Example"
+      tagLine="Powered by ProzillaOS"
+      config={{
+        apps: new AppsConfig({
+          apps: [ fileExplorer ]
+        })
+      }}
+    >
+      <Taskbar/>
+      <WindowsView/>
+      <ModalsView/>
+      <Desktop/>
+    </ProzillaOS>
+  );
+}

Window options

tsx
/**
+ * Initial path that the app will open
+ * @default "~" - Home directory
+ */
+path: string;
+
+/**
+ * Defines in which mode the application is running
+ * 0: None
+ * 1: Single
+ * 2: Multiple
+ * @default 0
+ */
+selectorMode: number;
+
+/**
+ * Footer component that will be displayed when `selectorMode` != 0
+ * Can be used to display a list of selected files for example
+ */
+Footer: React.FC;
+
+/**
+ * Gets called each time the selection changes if `selectorMode` != 0
+ */
+onSelectionChange: (params: OnSelectionChangeParams) => void;
+
+/**
+ * Gets called when the selection is finished if `selectorMode` != 0
+ */
+onSelectionFinish: Function;

Built by Prozilla

+ + + + \ No newline at end of file diff --git a/docs/reference/apps/logic-sim/index.html b/docs/reference/apps/logic-sim/index.html new file mode 100644 index 00000000..874cd69f --- /dev/null +++ b/docs/reference/apps/logic-sim/index.html @@ -0,0 +1,62 @@ + + + + + + @prozilla-os/logic-sim | ProzillaOS Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Skip to content

@prozilla-os/logic-sim

About

@prozilla-os/logic-sim is a ProzillaOS application for simulating digital logic. Inspired by Digital Logic Sim by Sebastian Lague.

Installation

@prozilla-os/core is required to run this application.

sh
$ npm install @prozilla-os/core @prozilla-os/logic-sim
+$ yarn add @prozilla-os/core @prozilla-os/logic-sim
+$ pnpm add @prozilla-os/core @prozilla-os/logic-sim

Usage

Basic setup

tsx
import { Desktop, ModalsView, ProzillaOS, Taskbar, WindowsView, AppsConfig } from "@prozilla-os/core";
+import { logicSim } from "@prozilla-os/logic-sim";
+
+function App() {
+  return (
+    <ProzillaOS
+      systemName="Example"
+      tagLine="Powered by ProzillaOS"
+      config={{
+        apps: new AppsConfig({
+          apps: [ logicSim ]
+        })
+      }}
+    >
+      <Taskbar/>
+      <WindowsView/>
+      <ModalsView/>
+      <Desktop/>
+    </ProzillaOS>
+  );
+}

Built by Prozilla

+ + + + \ No newline at end of file diff --git a/docs/reference/apps/media-viewer/index.html b/docs/reference/apps/media-viewer/index.html new file mode 100644 index 00000000..4c4870b4 --- /dev/null +++ b/docs/reference/apps/media-viewer/index.html @@ -0,0 +1,65 @@ + + + + + + @prozilla-os/media-viewer | ProzillaOS Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Skip to content

@prozilla-os/media-viewer

About

@prozilla-os/media-viewer is a ProzillaOS application for viewing different kinds of media.

Installation

@prozilla-os/core is required to run this application.

sh
$ npm install @prozilla-os/core @prozilla-os/media-viewer
+$ yarn add @prozilla-os/core @prozilla-os/media-viewer
+$ pnpm add @prozilla-os/core @prozilla-os/media-viewer

Usage

Basic setup

tsx
import { Desktop, ModalsView, ProzillaOS, Taskbar, WindowsView, AppsConfig } from "@prozilla-os/core";
+import { mediaViewer } from "@prozilla-os/media-viewer";
+
+function App() {
+  return (
+    <ProzillaOS
+      systemName="Example"
+      tagLine="Powered by ProzillaOS"
+      config={{
+        apps: new AppsConfig({
+          apps: [ mediaViewer ]
+        })
+      }}
+    >
+      <Taskbar/>
+      <WindowsView/>
+      <ModalsView/>
+      <Desktop/>
+    </ProzillaOS>
+  );
+}

Window options

tsx
/**
+ * A virtual file containing media to open
+ */
+file: VirtualFile;

Built by Prozilla

+ + + + \ No newline at end of file diff --git a/docs/reference/apps/settings/index.html b/docs/reference/apps/settings/index.html new file mode 100644 index 00000000..619a583d --- /dev/null +++ b/docs/reference/apps/settings/index.html @@ -0,0 +1,66 @@ + + + + + + @prozilla-os/settings | ProzillaOS Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Skip to content

@prozilla-os/settings

About

@prozilla-os/settings is a ProzillaOS application for configuring settings.

Installation

@prozilla-os/core is required to run this application.

sh
$ npm install @prozilla-os/core @prozilla-os/settings
+$ yarn add @prozilla-os/core @prozilla-os/settings
+$ pnpm add @prozilla-os/core @prozilla-os/settings

Usage

Basic setup

tsx
import { Desktop, ModalsView, ProzillaOS, Taskbar, WindowsView, AppsConfig } from "@prozilla-os/core";
+import { settings } from "@prozilla-os/settings";
+
+function App() {
+  return (
+    <ProzillaOS
+      systemName="Example"
+      tagLine="Powered by ProzillaOS"
+      config={{
+        apps: new AppsConfig({
+          apps: [ settings ]
+        })
+      }}
+    >
+      <Taskbar/>
+      <WindowsView/>
+      <ModalsView/>
+      <Desktop/>
+    </ProzillaOS>
+  );
+}

Window options

tsx
/**
+ * Initial tab to open
+ * @default 0
+ */
+tab: number;

Built by Prozilla

+ + + + \ No newline at end of file diff --git a/docs/reference/apps/terminal/index.html b/docs/reference/apps/terminal/index.html new file mode 100644 index 00000000..b3610b5d --- /dev/null +++ b/docs/reference/apps/terminal/index.html @@ -0,0 +1,71 @@ + + + + + + @prozilla-os/terminal | ProzillaOS Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Skip to content

@prozilla-os/terminal

About

@prozilla-os/terminal is a terminal/shell application for ProzillaOS.

Installation

@prozilla-os/core is required to run this application.

sh
$ npm install @prozilla-os/core @prozilla-os/terminal
+$ yarn add @prozilla-os/core @prozilla-os/terminal
+$ pnpm add @prozilla-os/core @prozilla-os/terminal

Usage

Basic setup

tsx
import { Desktop, ModalsView, ProzillaOS, Taskbar, WindowsView, AppsConfig } from "@prozilla-os/core";
+import { terminal } from "@prozilla-os/terminal";
+
+function App() {
+  return (
+    <ProzillaOS
+      systemName="Example"
+      tagLine="Powered by ProzillaOS"
+      config={{
+        apps: new AppsConfig({
+          apps: [ terminal ]
+        })
+      }}
+    >
+      <Taskbar/>
+      <WindowsView/>
+      <ModalsView/>
+      <Desktop/>
+    </ProzillaOS>
+  );
+}

Window options

tsx
/**
+ * Initial path that the app will open
+ * @default "~" - Home directory
+ */
+path: string;
+
+/**
+ * Initial input
+ */
+input: string;

Built by Prozilla

+ + + + \ No newline at end of file diff --git a/docs/reference/apps/text-editor/index.html b/docs/reference/apps/text-editor/index.html new file mode 100644 index 00000000..c87c0cdc --- /dev/null +++ b/docs/reference/apps/text-editor/index.html @@ -0,0 +1,78 @@ + + + + + + @prozilla-os/text-editor | ProzillaOS Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Skip to content

@prozilla-os/text-editor

About

@prozilla-os/text-editor is a text editor application for ProzillaOS.

Installation

@prozilla-os/core is required to run this application.

sh
$ npm install @prozilla-os/core @prozilla-os/text-editor
+$ yarn add @prozilla-os/core @prozilla-os/text-editor
+$ pnpm add @prozilla-os/core @prozilla-os/text-editor

Usage

Basic setup

tsx
import { Desktop, ModalsView, ProzillaOS, Taskbar, WindowsView, AppsConfig } from "@prozilla-os/core";
+import { textEditor } from "@prozilla-os/text-editor";
+
+function App() {
+  return (
+    <ProzillaOS
+      systemName="Example"
+      tagLine="Powered by ProzillaOS"
+      config={{
+        apps: new AppsConfig({
+          apps: [ textEditor ]
+        })
+      }}
+    >
+      <Taskbar/>
+      <WindowsView/>
+      <ModalsView/>
+      <Desktop/>
+    </ProzillaOS>
+  );
+}

Window options

tsx
/**
+ * Initial path that the app will open
+ * @default "~" - Home directory
+ */
+path: string;
+
+/**
+ * Virtual file to open the app with
+ */
+file: VirtualFile;
+
+/**
+ * Mode in which to run the app
+ * "view" - Renders markdown files and renders syntax highlighting of other file formats, disables text editing
+ * "edit" - Raw text editor
+ */
+mode: "view" | "edit";

Built by Prozilla

+ + + + \ No newline at end of file diff --git a/docs/reference/configuration.html b/docs/reference/configuration.html index 13dac48c..8283e16f 100644 --- a/docs/reference/configuration.html +++ b/docs/reference/configuration.html @@ -12,7 +12,7 @@ - + @@ -33,7 +33,7 @@ -
Skip to content

Configuration

To configure ProzillaOS, pass the following properties inside to the config prop on the <ProzillaOS> component.

<ProzillaOS> props

systemName

Name of the system

  • Optional
  • Type: string
  • Default: "ProzillaOS"

tagLine

Tag line or short description of the system

  • Optional
  • Type: string
  • Default: "Web-based Operating System"

skin

Configurations for assets, stylesheets and other visual elements

  • Optional
  • Type: Skin
  • Default: new Skin()

config

Configurations for functional elements and features

  • Optional
  • Type: ConfigOptions
ts
interface ConfigOptions {
+    
Skip to content

Configuration

To configure ProzillaOS, pass the following properties inside to the config prop on the <ProzillaOS> component.

<ProzillaOS> props

systemName

Name of the system

  • Optional
  • Type: string
  • Default: "ProzillaOS"

tagLine

Tag line or short description of the system

  • Optional
  • Type: string
  • Default: "Web-based Operating System"

skin

Configurations for assets, stylesheets and other visual elements

  • Optional
  • Type: Skin
  • Default: new Skin()

config

Configurations for functional elements and features

  • Optional
  • Type: ConfigOptions
ts
interface ConfigOptions {
 	apps?: AppsConfig;
 	desktop?: DesktopConfig;
 	misc?: MiscConfig;
@@ -41,7 +41,7 @@
 	taskbar?: TaskbarConfig;
 	tracking?: TrackingConfig;
 	windows?: WindowsConfig;
-}

Example

tsx
<ProzillaOS
+}

Example

tsx
<ProzillaOS
 	systemName={"ProzillaOS"}
 	tagLine={"Web-based Operating System"}
 	skin={new Skin({
@@ -69,7 +69,7 @@
 		}),
 	}}
 >

Built by Prozilla

- + \ No newline at end of file diff --git a/docs/reference/core/classes/apps/app.html b/docs/reference/core/classes/apps/app.html new file mode 100644 index 00000000..9a7ec423 --- /dev/null +++ b/docs/reference/core/classes/apps/app.html @@ -0,0 +1,46 @@ + + + + + + Class App | ProzillaOS Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Skip to content

Class App

An application that can be run by ProzillaOS

Applications can be installed by adding them to the apps array in AppsConfig

Type parameters

<AppProps extends WindowProps = WindowProps>

Constructor

new App(name, id, windowContent, windowOptions)

Parameters


name

  • Type: string

id

  • Type: string

windowContent

  • Type: React.FC<AppProps>

windowOptions

  • Optional
  • Type: WindowOptions
ts
interface WindowOptions {
+	size?: Vector2;
+	[key: string]: unknown;
+}

References

Properties

name

The display name of this application

  • Type: string
  • Default: "App"

id

The unique ID of this application

  • Type: string
  • Default: "app"

WARNING

Every app must have a unique ID that only contains lower case letters (a-z), numbers (0-9) and dashes (-).

windowContent

React component that renders this app inside a window when the app is running

  • Type: React.FC<AppProps>

windowOptions

Default options that get passed to the windowContent component

  • Type: WindowOptions
ts
interface WindowOptions {
+	size?: Vector2;
+	[key: string]: unknown;
+}

References

description

Description of this application

  • Type: string | null

iconUrl

URL of the icon of this application

  • Type: string | null

role

Defines what parts of the OS this app is responsible for and how it can be used by other apps

  • Type: string | null

associatedExtensions

An array of file extensions that this application is used to open and read

  • Type: string | null

pinnedByDefault

Determines whether the app is pinned by default

  • Type: boolean
  • Default: true

launchAtStartup

Determines whether the app is launched at startup

  • Type: boolean
  • Default: false

Methods

setName(name)

Set the display name of this application

  • Parameters
    • name
      • Type: string
  • Returns
    • Type: this

setDescription(description)

Set the description of this application

  • Parameters
    • description
      • Type: string
  • Returns
    • Type: this

setIconUrl(iconUrl)

Set the URL of the icon of this application

  • Parameters
    • iconUrl
      • Type: string | null
  • Returns
    • Type: this

setRole(role)

Set the role of this application

  • Parameters
    • role
      • Type: string | null
  • Returns
    • Type: this

setAssociatedExtensions(extensions)

Set the associated extensions of this application

  • Parameters
    • extensions
      • Type: string[] | null
  • Returns
    • Type: this

setPinnedByDefault(pinnedByDefault)

Changes whether this application is pinned by default or not

  • Parameters
    • pinnedByDefault
      • Type: boolean
  • Returns
    • Type: this

setLaunchAtStartup(launchAtStartup)

Changes whether this application is launched at startup or not

  • Parameters
    • launchAtStartup
      • Type: boolean
  • Returns
    • Type: this

WindowContent(props)

Renders the app as a React component

  • Parameters
    • props
      • Type: AppProps
  • Returns
    • Type: React.ReactElement

Built by Prozilla

+ + + + \ No newline at end of file diff --git a/docs/reference/core/classes/system/apps-config.html b/docs/reference/core/classes/system/apps-config.html new file mode 100644 index 00000000..6cb73dcf --- /dev/null +++ b/docs/reference/core/classes/system/apps-config.html @@ -0,0 +1,42 @@ + + + + + + Class AppsConfig | ProzillaOS Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Skip to content

Class AppsConfig

Constructor

new AppsConfig(options)

Parameters


options

  • Optional
  • Type: AppsConfigOptions
ts
interface AppsConfigOptions {
+	apps?: App[];
+}

References

Properties

apps

An array of applications

Built by Prozilla

+ + + + \ No newline at end of file diff --git a/docs/reference/core/classes/system/desktop-config.html b/docs/reference/core/classes/system/desktop-config.html new file mode 100644 index 00000000..c0141211 --- /dev/null +++ b/docs/reference/core/classes/system/desktop-config.html @@ -0,0 +1,43 @@ + + + + + + Class DesktopConfig | ProzillaOS Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Skip to content

Class DesktopConfig

Constructor

new DesktopConfig(options)

Parameters


options

  • Optional
  • Type: DesktopConfigOptions
ts
interface DesktopConfigOptions {
+	defaultIconSize?: 0 | 1 | 2;
+	defaultIconDirection?: 0 | 1;
+}

Properties

defaultIconSize

The default size of the desktop icons

ValueDescription
0Small
1Medium
2Large
  • Type: 0 | 1 | 2
  • Default: 1 (Medium)

defaultIconDirection

The default direction of the desktop icons

ValueDescription
0Vertical
1Horizontal
  • Type: 0 | 1
  • Default: 0 (Vertical)

Built by Prozilla

+ + + + \ No newline at end of file diff --git a/docs/reference/core/classes/system/misc-config.html b/docs/reference/core/classes/system/misc-config.html new file mode 100644 index 00000000..2cdbbd86 --- /dev/null +++ b/docs/reference/core/classes/system/misc-config.html @@ -0,0 +1,42 @@ + + + + + + Class MiscConfig | ProzillaOS Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Skip to content

Class MiscConfig

Constructor

new MiscConfig(options)

Parameters


options

  • Optional
  • Type: MiscConfigOptions
ts
interface MiscConfigOptions {
+	doubleClickDelay?: number;
+}

Properties

doubleClickDelay

The maximum time between two clicks for those clicks to register as a double click in milliseconds

  • Type: number
  • Default: 250

NOTE

Also applies to touch devices.

Built by Prozilla

+ + + + \ No newline at end of file diff --git a/docs/reference/core/classes/system/modals-config.html b/docs/reference/core/classes/system/modals-config.html new file mode 100644 index 00000000..68b65d5e --- /dev/null +++ b/docs/reference/core/classes/system/modals-config.html @@ -0,0 +1,43 @@ + + + + + + Class ModalsConfig | ProzillaOS Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Skip to content

Class ModalsConfig

Constructor

new ModalsConfig(options)

Parameters


options

  • Optional
  • Type: ModalsConfigOptions
ts
interface ModalsConfigOptions {
+	defaultDialogSize?: Vector2;
+	defaultFileSelectorSize?: Vector2;
+}

References

Properties

defaultDialogSize

Default size of a dialog box

  • Type: Vector2
  • Default: new Vector2(400, 200)

defaultFileSelectorSize

Default size of a file selector

  • Type: Vector2
  • Default: new Vector2(700, 400)

Built by Prozilla

+ + + + \ No newline at end of file diff --git a/docs/reference/core/classes/system/taskbar-config.html b/docs/reference/core/classes/system/taskbar-config.html new file mode 100644 index 00000000..3b577a86 --- /dev/null +++ b/docs/reference/core/classes/system/taskbar-config.html @@ -0,0 +1,42 @@ + + + + + + Class TaskbarConfig | ProzillaOS Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Skip to content

Class TaskbarConfig

Constructor

new TaskbarConfig(options)

Parameters


options

  • Optional
  • Type: TaskbarConfigOptions
ts
interface TaskbarConfigOptions {
+	height?: number;
+}

Properties

height

Height of the taskbar in CSS pixels

  • Type: number
  • Default: 48

Built by Prozilla

+ + + + \ No newline at end of file diff --git a/docs/reference/core/classes/system/tracking-config.html b/docs/reference/core/classes/system/tracking-config.html new file mode 100644 index 00000000..206c1849 --- /dev/null +++ b/docs/reference/core/classes/system/tracking-config.html @@ -0,0 +1,43 @@ + + + + + + Class TrackingConfig | ProzillaOS Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Skip to content

Class TrackingConfig

Constructor

new TrackingConfig(options)

Parameters


options

  • Optional
  • Type: TrackingConfigOptions
ts
interface TrackingConfigOptions {
+	enabled?: boolean;
+	GAMeasurementId?: string;
+}

Properties

enabled

Determines whether tracking is enabled

  • Type: boolean
  • Default: true

GAMeasurementId

Google Analytics measurement ID

  • Type: string

WARNING

This option is required if you want to enable tracking. The tracking feature currently only supports tracking via Google Analytics.

Built by Prozilla

+ + + + \ No newline at end of file diff --git a/docs/reference/core/classes/system/windows-config.html b/docs/reference/core/classes/system/windows-config.html new file mode 100644 index 00000000..1f3893d2 --- /dev/null +++ b/docs/reference/core/classes/system/windows-config.html @@ -0,0 +1,44 @@ + + + + + + Class WindowsConfig | ProzillaOS Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Skip to content

Class WindowsConfig

Constructor

new WindowsConfig(options)

Parameters


options

  • Optional
  • Type: WindowsConfigOptions
ts
interface WindowsConfigOptions {
+	screenMargin?: number;
+	titleSeparator?: string;
+	minScreenSize?: Vector2;
+}

References

Properties

screenMargin

The margin in CSS pixels that windows will keep between them and the edges of the screen on smaller devices

  • Type: number
  • Default: 32

titleSeparator

A string that is placed between different parts of a window title

  • Type: string
  • Default: "-"

minScreenSize

If the user's screen is smaller than these values, windows will always be maximized

  • Type: Vector2
  • Default: new Vector2(350, 350)

WARNING

Keep these values as low as possible, as this limits some functionality of the OS on devices with certain screen sizes.

Built by Prozilla

+ + + + \ No newline at end of file diff --git a/docs/reference/core/classes/utils/vector2.html b/docs/reference/core/classes/utils/vector2.html new file mode 100644 index 00000000..723481ae --- /dev/null +++ b/docs/reference/core/classes/utils/vector2.html @@ -0,0 +1,46 @@ + + + + + + Class Vector2 | ProzillaOS Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Skip to content

Class Vector2

A 2-dimensional vector, set of coordinates or dimensions

Constructor

new Vector2(x, y)

Parameters


x

  • Type: number

y

  • Optional
  • Type: number

Examples

ts
new Vector2(2, 4)
+// Result: Vector2(2, 4)
+
+new Vector2(3)
+// Result: Vector2(3, 3)

Properties

x

  • Type: number

y

  • Type: number

ZERO

Returns a vector with each value set to zero

  • Static

  • Type: Vector2

  • Example

    ts
    Vector2.ZERO
    +// Result: Vector2(0, 0)

clone

Returns a clone of this vector

  • Type: Vector2

Methods

round()

Round the values of this vector to whole numbers

Details
  • Returns

    • Type: this
  • Example

    ts
    new Vector2(3.6, 1.3).round()
    +// Result: Vector2(4, 1)

getDistance(x, y)

Get the distance between this vector and another

Details
  • Parameters
    • x
      • Type: number
    • y
      • Type: number
  • Returns
    • Type: number

getDistance(vector2)

Get the distance between this vector and another

Details
  • Parameters
    • vector2
      • Type: Vector2
  • Returns
    • Type: number

add(vector2A, vector2B)

Add two vectors together

Details
  • Static
  • Parameters
    • vector2A
      • Type: Vector2
    • vector2B
      • Type: Vector2
  • Returns
    • Type: Vector2

subtract(vector2A, vector2B)

Subtract two vectors

Details
  • Static
  • Parameters
    • vector2A
      • Type: Vector2
    • vector2B
      • Type: Vector2
  • Returns
    • Type: Vector2

scale(vector2, scalar)

Scale a vector

Details
  • Static
  • Parameters
    • vector2
      • Type: Vector2
    • scalar
      • Type: number
  • Returns
    • Type: Vector2

magnitude(vector2)

Get the magnitude of a vector

Details
  • Static
  • Parameters
    • vector2
      • Type: Vector2
  • Returns
    • Type: number

normalize(vector2)

Normalize a vector

Details
  • Static
  • Parameters
    • vector2
      • Type: Vector2
  • Returns
    • Type: Vector2

sqrDistance (vector2A, vector2B)

Get the square distance between two vectors

Details
  • Static
  • Parameters
    • vector2A
      • Type: Vector2
    • vector2B
      • Type: Vector2
  • Returns
    • Type: number

lerp(vector2A, vector2B, t)

Lerp between two vectors

Details
  • Static
  • Parameters
    • vector2A
      • Type: Vector2
    • vector2B
      • Type: Vector2
    • t
      • Type: number
  • Returns
    • Type: Vector2

Built by Prozilla

+ + + + \ No newline at end of file diff --git a/docs/reference/core/constants/index.html b/docs/reference/core/constants/index.html new file mode 100644 index 00000000..40ae9dc4 --- /dev/null +++ b/docs/reference/core/constants/index.html @@ -0,0 +1,45 @@ + + + + + + Constants | ProzillaOS Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Skip to content

Constants

Constants for ProzillaOS

Utility

ANSI

Ansi codes for coloring and decorating ansi text

  • Type: Ansi
ts
interface Ansi {
+	fg: Record<number, string>; // Foreground colors
+	bg: Record<number, string>; // Background colors
+	decoration: Record<number, string>;
+	reset: string;
+};

Virtual drive

CODE_EXTENSIONS

An array of file extensions for code-related files

  • Type: string[]

IMAGE_EXTENSIONS

An array of file extensions for image files

  • Type: string[]

Themes

THEMES

A map that transforms theme ids into theme names

  • Type: Record<number, string | null>

Built by Prozilla

+ + + + \ No newline at end of file diff --git a/docs/reference/core/functions/array.html b/docs/reference/core/functions/array.html new file mode 100644 index 00000000..cb2b6ac6 --- /dev/null +++ b/docs/reference/core/functions/array.html @@ -0,0 +1,40 @@ + + + + + + Array functions | ProzillaOS Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Skip to content

Array functions

Functions related to arrays

removeFromArray(item, array)

Remove an item from an array

Details
  • Type parameters: <ItemType>
  • Parameters
    • item - Item to remove from the array
      • Type: ItemType
    • array
      • Type: ItemType[]

randomFromArray(array)

Get a random item from an array

Details
  • Type parameters: <ItemType>
  • Parameters
    • array
      • Type: ItemType[]
  • Returns
    • Type: ItemType

removeDuplicatesFromArray(array)

Removes all duplicate items from an array and returns the array

Details
  • Type parameters: <ItemType>
  • Parameters
    • array
      • Type: ItemType[]
  • Returns
    • Type: ItemType[]

Built by Prozilla

+ + + + \ No newline at end of file diff --git a/docs/reference/core/functions/browser.html b/docs/reference/core/functions/browser.html new file mode 100644 index 00000000..9dbb0b50 --- /dev/null +++ b/docs/reference/core/functions/browser.html @@ -0,0 +1,44 @@ + + + + + + Browser functions | ProzillaOS Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Skip to content

Browser functions

Functions related to the browser

closeViewport(requireConfirmation, name)

Simulate closing the viewport by opening a blank page

Details
  • Parameters
    • requireConfirmation - Whether to ask the user for confirmation before closing
      • Type: boolean | undefined
      • Default: false
    • name - Name of the system
      • Type: string

reloadViewport()

Reload the viewport

isValidUrl(string)

Validate a URL string

Details
  • Parameters
    • string - Input string
      • Type: string
  • Returns
    • Type: boolean

setViewportTitle(title)

Change the viewport title by changing meta tags and document title

Details
  • Parameters
    • title - Viewport title
      • Type: string

setViewportIcon(url)

Change the viewport icon by changing meta tags

Details
  • Parameters
    • url - URL of the viewport icon
      • Type: string

getViewportParams()

Get the current viewport parameters/search queries

Details
  • Returns
    • Type: Record<string, string>

generateUrl(options)

Generate a system URL based on some options

Details
  • Parameters
    • options
      • Type: GenerateUrlOptions
  • Returns - The generated URL
    • Type: string
ts
interface GenerateUrlOptions {
+	appId?: string;
+	fullscreen?: boolean;
+	standalone?: boolean;
+}

openUrl(url, target)

Open a URL in an optional target or the current window

Details
  • Parameters
    • url
      • Type: string
    • target
      • Optional
      • Type: React.HTMLAttributeAnchorTarget

removeUrlProtocol(url)

Remove the protocol from a URL string

Details
  • Parameters
    • url
      • Type: string
  • Returns - URL without protocol
    • Type: string

copyToClipboard(string, onSuccess, onFail)

Copy text to the user's clipboard

Details
  • Parameters
    • string
      • Type: string
    • onSuccess
      • Type: Function
    • onFail
      • Type: Function

Built by Prozilla

+ + + + \ No newline at end of file diff --git a/docs/reference/core/functions/date.html b/docs/reference/core/functions/date.html new file mode 100644 index 00000000..b2f8cd51 --- /dev/null +++ b/docs/reference/core/functions/date.html @@ -0,0 +1,40 @@ + + + + + + Date functions | ProzillaOS Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Skip to content

Date functions

Functions related to dates and time

formatTime(time, maxLength, allowAffixes)

Format a time

Details
  • Parameters
    • time - Time in milliseconds (negative number represents time in the past)
      • Type: number
    • maxLength - The maximum amount of units, e.g.: 3 => years, months, days
      • Type: number | undefined
      • Default: 3
    • allowAffixes - Allow "... ago" or "in ..."
      • Type: boolean
  • Returns
    • Type: string

formatRelativeTime(date, maxLength, allowAffixes)

Format a time relative to now

Details
  • Parameters
    • date
      • Type: Date
    • maxLength - The maximum amount of units, e.g.: 3 => years, months, days
      • Type: number | undefined
      • Default: 3
    • allowAffixes - Allow "... ago" or "in ..."
      • Type: boolean
  • Returns
    • Type: string

Built by Prozilla

+ + + + \ No newline at end of file diff --git a/docs/reference/core/functions/math.html b/docs/reference/core/functions/math.html new file mode 100644 index 00000000..9ec77b83 --- /dev/null +++ b/docs/reference/core/functions/math.html @@ -0,0 +1,40 @@ + + + + + + Math functions | ProzillaOS Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Skip to content

Math functions

Functions related to math

clamp(value, min, max)

Clamp a value between a min and a max value

Details
  • Parameters
    • value
      • Type: number
    • min
      • Type: number
    • max
      • Type: number
  • Returns
    • Type: number

randomRange(min, max)

Get a random number in a range between a min and a max value

Details
  • Parameters
    • min
      • Type: number
    • max
      • Type: number
  • Returns
    • Type: number

round(value, precision)

Round a number off to a certain amount of digits after the comma

Details
  • Parameters
    • value - Initial value
      • Type: number
    • precision - Maximum amount of digits allowed after the comma
      • Type: number
  • Returns - Rounded value
    • Type: number

Built by Prozilla

+ + + + \ No newline at end of file diff --git a/docs/reference/core/index.html b/docs/reference/core/index.html new file mode 100644 index 00000000..00733e66 --- /dev/null +++ b/docs/reference/core/index.html @@ -0,0 +1,172 @@ + + + + + + @prozilla-os/core | ProzillaOS Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Skip to content

@prozilla-os/core

About

@prozilla-os/core is a React Vite component library written in TypeScript for building web-based operating systems, made by Prozilla.

Installation

sh
$ npm install @prozilla-os/core
+$ yarn add @prozilla-os/core
+$ pnpm add @prozilla-os/core

Usage

Basic setup

tsx
import { Desktop, ModalsView, ProzillaOS, Taskbar, WindowsView } from "@prozilla-os/core";
+
+function App() {
+  return (
+    <ProzillaOS systemName="Example" tagLine="Powered by ProzillaOS">
+      <Taskbar/>
+      <WindowsView/>
+      <ModalsView/>
+      <Desktop/>
+    </ProzillaOS>
+  );
+}

Configuration

tsx
interface ProzillaOSProps {
+
+  systemName: string,
+
+  tagLine: string,
+
+  skin: new Skin({
+
+    appIcons: Record<number, string> | undefined,
+
+	appNames: Record<number, string> | undefined,
+
+	wallpapers: string[],
+
+	defaultWallpaper: string,
+
+	fileIcons: {
+		generic: string;
+		info: string | undefined;
+		text: string | undefined;
+		code: string | undefined;
+	},
+
+	folderIcons: {
+		generic: string;
+		images: string | undefined;
+		text: string | undefined;
+		link: string | undefined;
+	},
+
+	loadStyleSheet: () => void | undefined
+
+  })
+
+  config: {
+    apps: new AppsConfig({
+
+      apps: App[]
+
+    }),
+    desktop: new DesktopConfig({
+
+      /**
+       * @default 1
+       */
+      defaultIconSize: 0 | 1 | 2,
+
+      /**
+       * 0: vertical, 1: horizontal
+       * @default 0
+       * */
+      defaultIconDirection: 0 | 1
+
+    }),
+	misc: new MiscConfig({
+
+      /**
+	   * @default 250
+	   */
+	  doubleClickDelay: number
+
+	})
+    modals: new ModalsConfig({
+
+      /**
+       * Default size of a dialog box
+       * @default new Vector2(400, 200)
+       */
+      defaultDialogSize: Vector2,
+
+      /**
+       * Default size of a file selector
+       * @default new Vector2(700, 400)
+       */
+      defaultFileSelectorSize: Vector2
+
+    }),
+    taskbar: new TaskbarConfig({
+
+      /**
+       * Height of the taskbar in CSS pixels
+       * @default 3 * 16
+       */
+      height: number
+
+    }),
+    tracking: new TrackingConfig({
+
+      /**
+       * Enable tracking
+       * @default true
+      */
+      enabled: boolean,
+
+      /** Google Analytics measurement ID */
+      GAMeasurementId: string
+
+    }),
+    windows: new WindowsConfig({
+
+      /**
+       * @default 32
+       */
+      screenMargin: number,
+
+      /**
+       * @default "-"
+       */
+      titleSeparator: string,
+
+      /**
+       * If the user's screen is smaller than these values, windows will always be maximized
+       * @default new Vector2(350, 350)
+       */
+      minScreenSize: Vector2
+
+    })
+  }
+
+}

Built by Prozilla

+ + + + \ No newline at end of file diff --git a/docs/reference/glossary.html b/docs/reference/glossary.html index b8158643..86e5daee 100644 --- a/docs/reference/glossary.html +++ b/docs/reference/glossary.html @@ -33,8 +33,8 @@ -
Skip to content

Built by Prozilla

- + + \ No newline at end of file diff --git a/docs/reference/packages.html b/docs/reference/packages.html index e5eecfa3..e91ff755 100644 --- a/docs/reference/packages.html +++ b/docs/reference/packages.html @@ -12,7 +12,7 @@ - + @@ -33,8 +33,8 @@ -
Skip to content

Packages

These packages are different modules of ProzillaOS that can be installed separately or via the bundle package prozilla-os.

Main

Standard applications

Non-standard applications

Built by Prozilla

- +
Skip to content

Packages

These packages are different modules of ProzillaOS that can be installed separately or via the bundle package prozilla-os.

Libraries

Standard applications

Non-standard applications

Built by Prozilla

+ \ No newline at end of file diff --git a/docs/reference/prozilla-os/index.html b/docs/reference/prozilla-os/index.html new file mode 100644 index 00000000..946a2e65 --- /dev/null +++ b/docs/reference/prozilla-os/index.html @@ -0,0 +1,172 @@ + + + + + + prozilla-os | ProzillaOS Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Skip to content

prozilla-os

About

prozilla-os is a React Vite component library written in TypeScript for building web-based operating systems, made by Prozilla. This package combines multiple other packages for easy access to different ProzillaOS features. You can also download these packages separately instead.

Live demo: os.prozilla.dev - [(source)][website-source]

Installation

sh
$ npm install prozilla-os
+$ yarn add prozilla-os
+$ pnpm add prozilla-os

Packages

prozilla-os combines the following packages into one:

  • [@prozilla-os/core][core] - Core functionality, React components and hooks
  • [@prozilla-os/file-explorer][file-explorer] - File explorer app
  • [@prozilla-os/terminal][terminal] - Terminal/shell app
  • [@prozilla-os/text-editor][text-editor] - Text editor app
  • [@prozilla-os/settings][settings] - Settings app
  • [@prozilla-os/media-viewer][media-viewer] - Media viewer app
  • [@prozilla-os/browser][browser] - Browser app
  • [@prozilla-os/calculator][calculator] - Calculator app

Usage

For more information about the in-depth usage of each package, check out the links in the section above.

Basic setup

tsx
import { Desktop, ModalsView, ProzillaOS, Taskbar, WindowsView } from "prozilla-os";
+
+function App() {
+  return (
+    <ProzillaOS systemName="Example" tagLine="Powered by ProzillaOS">
+      <Taskbar/>
+      <WindowsView/>
+      <ModalsView/>
+      <Desktop/>
+    </ProzillaOS>
+  );
+}

Configuration

tsx
interface ProzillaOSProps {
+
+  systemName: string,
+
+  tagLine: string,
+
+  skin: new Skin({
+
+    appIcons: Record<number, string> | undefined,
+
+	appNames: Record<number, string> | undefined,
+
+	wallpapers: string[],
+
+	defaultWallpaper: string,
+
+	fileIcons: {
+		generic: string;
+		info: string | undefined;
+		text: string | undefined;
+		code: string | undefined;
+	},
+
+	folderIcons: {
+		generic: string;
+		images: string | undefined;
+		text: string | undefined;
+		link: string | undefined;
+	},
+
+	loadStyleSheet: () => void | undefined
+
+  })
+
+  config: {
+    apps: new AppsConfig({
+
+      apps: App[]
+
+    }),
+    desktop: new DesktopConfig({
+
+      /**
+       * @default 1
+       */
+      defaultIconSize: 0 | 1 | 2,
+
+      /**
+       * 0: vertical, 1: horizontal
+       * @default 0
+       * */
+      defaultIconDirection: 0 | 1
+
+    }),
+	misc: new MiscConfig({
+
+      /**
+	   * @default 250
+	   */
+	  doubleClickDelay: number
+
+	})
+    modals: new ModalsConfig({
+
+      /**
+       * Default size of a dialog box
+       * @default new Vector2(400, 200)
+       */
+      defaultDialogSize: Vector2,
+
+      /**
+       * Default size of a file selector
+       * @default new Vector2(700, 400)
+       */
+      defaultFileSelectorSize: Vector2
+
+    }),
+    taskbar: new TaskbarConfig({
+
+      /**
+       * Height of the taskbar in CSS pixels
+       * @default 3 * 16
+       */
+      height: number
+
+    }),
+    tracking: new TrackingConfig({
+
+      /**
+       * Enable tracking
+       * @default true
+      */
+      enabled: boolean,
+
+      /** Google Analytics measurement ID */
+      GAMeasurementId: string
+
+    }),
+    windows: new WindowsConfig({
+
+      /**
+       * @default 32
+       */
+      screenMargin: number,
+
+      /**
+       * @default "-"
+       */
+      titleSeparator: string,
+
+      /**
+       * If the user's screen is smaller than these values, windows will always be maximized
+       * @default new Vector2(350, 350)
+       */
+      minScreenSize: Vector2
+
+    })
+  }
+
+}
  • Demo
  • [Docs][docs]
  • [GitHub][github]
  • [npm][npm]
  • [Discord][discord]
  • [Ko-fi][ko-fi]

[docs]: [docs]: https://os.prozilla.dev/docs/reference/prozilla-os [website-source]: https://github.com/prozilla-os/ProzillaOS [github]: https://github.com/prozilla-os/ProzillaOS/tree/main/packages/prozilla-os [npm]: https://www.npmjs.com/package/prozilla-os [discord]: https://discord.gg/JwbyQP4tdz [ko-fi]: https://ko-fi.com/prozilla [core]: https://www.npmjs.com/package/@prozilla-os/core [file-explorer]: https://www.npmjs.com/package/@prozilla-os/file-explorer [terminal]: https://www.npmjs.com/package/@prozilla-os/terminal [text-editor]: https://www.npmjs.com/package/@prozilla-os/text-editor [settings]: https://www.npmjs.com/package/@prozilla-os/settings [media-viewer]: https://www.npmjs.com/package/@prozilla-os/media-viewer [browser]: https://www.npmjs.com/package/@prozilla-os/browser [calculator]: https://www.npmjs.com/package/@prozilla-os/calculator

Built by Prozilla

+ + + + \ No newline at end of file diff --git a/docs/reference/shared/index.html b/docs/reference/shared/index.html new file mode 100644 index 00000000..cad94b55 --- /dev/null +++ b/docs/reference/shared/index.html @@ -0,0 +1,49 @@ + + + + + + @prozilla-os/shared | ProzillaOS Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Skip to content

@prozilla-os/shared

About

@prozilla-os/shared is a library of shared utility functions for ProzillaOS packages.

Installation

sh
$ npm install @prozilla-os/shared
+$ yarn add @prozilla-os/shared
+$ pnpm add @prozilla-os/shared

Usage

appViteConfig(basePath, entryPath)

Helper function for creating Vite configurations for ProzillaOS apps.

Params

  • basePath (string) - Path of base directory
  • entryPath (string) - Path of library entry

Example

tsx
// vite.config.ts
+
+import { defineConfig } from "vite";
+import { appViteConfig } from "@prozilla-os/shared";
+
+export default defineConfig({
+	...appViteConfig(__dirname, "src/main.ts")
+});
  • Demo
  • [Docs][docs]
  • [GitHub][github]
  • [npm][npm]
  • [Discord][discord]
  • [Ko-fi][ko-fi]

[docs]: [docs]: https://os.prozilla.dev/docs/reference/shared [github]: https://github.com/prozilla-os/ProzillaOS/tree/main/packages/shared [npm]: https://www.npmjs.com/package/@prozilla-os/shared [discord]: https://discord.gg/JwbyQP4tdz [ko-fi]: https://ko-fi.com/prozilla

Built by Prozilla

+ + + + \ No newline at end of file diff --git a/docs/reference/skins/classes/skin.html b/docs/reference/skins/classes/skin.html new file mode 100644 index 00000000..af9f98a5 --- /dev/null +++ b/docs/reference/skins/classes/skin.html @@ -0,0 +1,70 @@ + + + + + + Class Skin | ProzillaOS Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Skip to content

Class Skin

Change the look and feel of ProzillaOS

Constructor

new Skin(options)

Parameters


options

  • Optional
  • Type: SkinOptions
ts
interface SkinOptions {
+	appIcons?: Record<number, string>;
+	appNames?: Record<number, string>;
+	wallpapers: string[];
+	defaultWallpaper: string;
+	fileIcons: {
+		generic: string;
+		info?: string;
+		text?: string;
+		code?: string;
+	};
+	folderIcons: {
+		generic: string;
+		images?: string;
+		text?: string;
+		link?: string;
+	};
+	loadStyleSheet?: () => void;
+}

Properties

appIcons

Replacements for app icons based on app id

  • Type: { [key: string]: string }

appNames

Replacements for app names based on app id

  • Type: { [key: string]: string }

wallpapers

Array of URLs of wallpaper images

  • Type: string[]

defaultWallpaper

URL of default wallpaper image

  • Type: string
  • Default: "https://os.prozilla.dev/assets/wallpapers/vibrant-wallpaper-blue-purple-red.png"Default wallpaper

fileIcons

URLs of icons for types of files

  • Type: FileIcons
ts
interface FileIcons {
+	generic: string;
+	info?: string;
+	text?: string;
+	code?: string;
+}

Default

Default file icons

folderIcons

URLs of icons for types of folders

  • Type: FolderIcons
ts
interface FolderIcons {
+	generic: string;
+	images?: string;
+	text?: string;
+	link?: string;
+}

Default

Default folder icons

loadStyleSheet

Function that dynamically imports style sheet

  • Type: () => void

  • Example

    ts
    function loadStyleSheet() {
    +	import("../styles/skins/macOs.css");
    +}

Instances

macOsSkin

A skin inspired by the macOS interface

minimalSkin

A minimalistic skin with monochrome icons

Built by Prozilla

+ + + + \ No newline at end of file diff --git a/docs/reference/skins/index.html b/docs/reference/skins/index.html new file mode 100644 index 00000000..d765fed5 --- /dev/null +++ b/docs/reference/skins/index.html @@ -0,0 +1,42 @@ + + + + + + @prozilla-os/skins | ProzillaOS Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Skip to content

@prozilla-os/skins

About

@prozilla-os/skins is a React library that contains skins for ProzillaOS.

Installation

sh
$ npm install @prozilla-os/skins
+$ yarn add @prozilla-os/skins
+$ pnpm add @prozilla-os/skins

Built by Prozilla

+ + + + \ No newline at end of file diff --git a/docs/sitemap.xml b/docs/sitemap.xml index c73a7b76..494bfe78 100644 --- a/docs/sitemap.xml +++ b/docs/sitemap.xml @@ -1 +1 @@ -https://os.prozilla.dev/docs/about/featureshttps://os.prozilla.dev/docs/about/introductionhttps://os.prozilla.dev/docs/guides/custom-apphttps://os.prozilla.dev/docs/guides/getting-startedhttps://os.prozilla.dev/docs/https://os.prozilla.dev/docs/reference/classes/apps/apphttps://os.prozilla.dev/docs/reference/classes/skins/skinhttps://os.prozilla.dev/docs/reference/classes/system/apps-confighttps://os.prozilla.dev/docs/reference/classes/system/desktop-confighttps://os.prozilla.dev/docs/reference/classes/system/misc-confighttps://os.prozilla.dev/docs/reference/classes/system/modals-confighttps://os.prozilla.dev/docs/reference/classes/system/taskbar-confighttps://os.prozilla.dev/docs/reference/classes/system/tracking-confighttps://os.prozilla.dev/docs/reference/classes/system/windows-confighttps://os.prozilla.dev/docs/reference/classes/utils/vector2https://os.prozilla.dev/docs/reference/configurationhttps://os.prozilla.dev/docs/reference/constants/https://os.prozilla.dev/docs/reference/functions/arrayhttps://os.prozilla.dev/docs/reference/functions/browserhttps://os.prozilla.dev/docs/reference/functions/datehttps://os.prozilla.dev/docs/reference/functions/mathhttps://os.prozilla.dev/docs/reference/glossaryhttps://os.prozilla.dev/docs/reference/packages \ No newline at end of file +https://os.prozilla.dev/docs/about/featureshttps://os.prozilla.dev/docs/about/introductionhttps://os.prozilla.dev/docs/guides/custom-apphttps://os.prozilla.dev/docs/guides/getting-startedhttps://os.prozilla.dev/docs/https://os.prozilla.dev/docs/reference/apps/browser/https://os.prozilla.dev/docs/reference/apps/calculator/https://os.prozilla.dev/docs/reference/apps/file-explorer/https://os.prozilla.dev/docs/reference/apps/logic-sim/https://os.prozilla.dev/docs/reference/apps/media-viewer/https://os.prozilla.dev/docs/reference/apps/settings/https://os.prozilla.dev/docs/reference/apps/terminal/https://os.prozilla.dev/docs/reference/apps/text-editor/https://os.prozilla.dev/docs/reference/configurationhttps://os.prozilla.dev/docs/reference/core/classes/apps/apphttps://os.prozilla.dev/docs/reference/core/classes/system/apps-confighttps://os.prozilla.dev/docs/reference/core/classes/system/desktop-confighttps://os.prozilla.dev/docs/reference/core/classes/system/misc-confighttps://os.prozilla.dev/docs/reference/core/classes/system/modals-confighttps://os.prozilla.dev/docs/reference/core/classes/system/taskbar-confighttps://os.prozilla.dev/docs/reference/core/classes/system/tracking-confighttps://os.prozilla.dev/docs/reference/core/classes/system/windows-confighttps://os.prozilla.dev/docs/reference/core/classes/utils/vector2https://os.prozilla.dev/docs/reference/core/constants/https://os.prozilla.dev/docs/reference/core/functions/arrayhttps://os.prozilla.dev/docs/reference/core/functions/browserhttps://os.prozilla.dev/docs/reference/core/functions/datehttps://os.prozilla.dev/docs/reference/core/functions/mathhttps://os.prozilla.dev/docs/reference/core/https://os.prozilla.dev/docs/reference/glossaryhttps://os.prozilla.dev/docs/reference/packageshttps://os.prozilla.dev/docs/reference/prozilla-os/https://os.prozilla.dev/docs/reference/shared/https://os.prozilla.dev/docs/reference/skins/classes/skinhttps://os.prozilla.dev/docs/reference/skins/ \ No newline at end of file