From d527d0ea434f6ea911b48f86fadac29a741c96ba Mon Sep 17 00:00:00 2001 From: pixelass Date: Tue, 7 May 2024 11:14:22 +0200 Subject: [PATCH] docs: adjust homepage --- .../pages/_captain-core/client/_meta.json | 9 + .../pages/_captain-core/electron/_meta.json | 3 + .../pages/_captain-core/shared/_meta.json | 3 + .../create-captain-app/_meta.json | 4 +- homepage/pages/_captain-sdk/joy/_meta.json | 4 +- homepage/pages/_captain-sdk/react/_meta.json | 4 +- homepage/pages/_captain-sdk/theme/_meta.json | 4 +- homepage/pages/_captain-sdk/utils/_meta.json | 4 +- homepage/pages/captain-core/client.mdx | 11 + homepage/pages/captain-core/client/_meta.json | 3 + .../pages/captain-sdk/create-captain-app.mdx | 81 ++++++ homepage/pages/captain-sdk/joy.mdx | 108 ++++++++ homepage/pages/captain-sdk/react.mdx | 232 ++++++++++++++++++ homepage/pages/captain-sdk/theme.mdx | 60 +++++ homepage/pages/captain-sdk/utils.mdx | 109 ++++++++ package-lock.json | 52 ++-- package.json | 8 +- stub.md | 0 typedoc.captn-joy.json | 2 +- typedoc.captn-react.json | 2 +- typedoc.captn-theme.json | 2 +- typedoc.captn-utils.json | 2 +- typedoc.client-atoms.json | 2 +- typedoc.client-ions.json | 2 +- typedoc.client-molecules.json | 2 +- typedoc.client-organisms.json | 2 +- typedoc.create-captain-app.json | 2 +- typedoc.electron.json | 2 +- typedoc.shared.json | 2 +- 29 files changed, 680 insertions(+), 41 deletions(-) create mode 100644 homepage/pages/_captain-core/client/_meta.json create mode 100644 homepage/pages/captain-sdk/create-captain-app.mdx create mode 100644 homepage/pages/captain-sdk/joy.mdx create mode 100644 homepage/pages/captain-sdk/react.mdx create mode 100644 homepage/pages/captain-sdk/theme.mdx create mode 100644 homepage/pages/captain-sdk/utils.mdx create mode 100644 stub.md diff --git a/homepage/pages/_captain-core/client/_meta.json b/homepage/pages/_captain-core/client/_meta.json new file mode 100644 index 000000000..0424903b7 --- /dev/null +++ b/homepage/pages/_captain-core/client/_meta.json @@ -0,0 +1,9 @@ +{ + "README": { + "display": "hidden" + }, + "ions": "Ions", + "atoms": "Atoms", + "molecules": "Molecules", + "organisms": "Organisms" +} diff --git a/homepage/pages/_captain-core/electron/_meta.json b/homepage/pages/_captain-core/electron/_meta.json index 5271d3a4a..a3066118a 100644 --- a/homepage/pages/_captain-core/electron/_meta.json +++ b/homepage/pages/_captain-core/electron/_meta.json @@ -1,4 +1,7 @@ { + "README": { + "display": "hidden" + }, "classes": "Classes", "interfaces": "Interfaces" } diff --git a/homepage/pages/_captain-core/shared/_meta.json b/homepage/pages/_captain-core/shared/_meta.json index 1bc73731f..c1edd1b54 100644 --- a/homepage/pages/_captain-core/shared/_meta.json +++ b/homepage/pages/_captain-core/shared/_meta.json @@ -1,3 +1,6 @@ { + "README": { + "display": "hidden" + }, "enums": "Enums" } diff --git a/homepage/pages/_captain-sdk/create-captain-app/_meta.json b/homepage/pages/_captain-sdk/create-captain-app/_meta.json index 43f8f7a8c..0122eb31e 100644 --- a/homepage/pages/_captain-sdk/create-captain-app/_meta.json +++ b/homepage/pages/_captain-sdk/create-captain-app/_meta.json @@ -1,3 +1,5 @@ { - "README": "Overview" + "README": { + "display": "hidden" + } } diff --git a/homepage/pages/_captain-sdk/joy/_meta.json b/homepage/pages/_captain-sdk/joy/_meta.json index 43f8f7a8c..0122eb31e 100644 --- a/homepage/pages/_captain-sdk/joy/_meta.json +++ b/homepage/pages/_captain-sdk/joy/_meta.json @@ -1,3 +1,5 @@ { - "README": "Overview" + "README": { + "display": "hidden" + } } diff --git a/homepage/pages/_captain-sdk/react/_meta.json b/homepage/pages/_captain-sdk/react/_meta.json index 43f8f7a8c..0122eb31e 100644 --- a/homepage/pages/_captain-sdk/react/_meta.json +++ b/homepage/pages/_captain-sdk/react/_meta.json @@ -1,3 +1,5 @@ { - "README": "Overview" + "README": { + "display": "hidden" + } } diff --git a/homepage/pages/_captain-sdk/theme/_meta.json b/homepage/pages/_captain-sdk/theme/_meta.json index 43f8f7a8c..0122eb31e 100644 --- a/homepage/pages/_captain-sdk/theme/_meta.json +++ b/homepage/pages/_captain-sdk/theme/_meta.json @@ -1,3 +1,5 @@ { - "README": "Overview" + "README": { + "display": "hidden" + } } diff --git a/homepage/pages/_captain-sdk/utils/_meta.json b/homepage/pages/_captain-sdk/utils/_meta.json index 43f8f7a8c..0122eb31e 100644 --- a/homepage/pages/_captain-sdk/utils/_meta.json +++ b/homepage/pages/_captain-sdk/utils/_meta.json @@ -1,3 +1,5 @@ { - "README": "Overview" + "README": { + "display": "hidden" + } } diff --git a/homepage/pages/captain-core/client.mdx b/homepage/pages/captain-core/client.mdx index 3f87d202a..69780a347 100644 --- a/homepage/pages/captain-core/client.mdx +++ b/homepage/pages/captain-core/client.mdx @@ -1,9 +1,20 @@ +import { Callout } from "nextra/components"; + # Client Folder ## Overview The `client` folder contains the Next.js application that powers the front end of our application, generating a static site that delivers the core functionalities such as the dashboard, settings, downloads, and marketplace. This folder follows an extended version of Atomic Design, accommodating our unique components and state management needs. + +We proudly adopt [Brad Frost's Atomic Design](https://atomicdesign.bradfrost.com/) methodology to structure our UI components. This approach allows us to maintain a highly modular and scalable interface. Atomic Design helps us systematically arrange components into ions, atoms, molecules, and organisms, making our application robust and maintainable. We highly recommend exploring this methodology to appreciate how it benefits our design processes and enhances the developer experience. + + ## Atomic Design Extended + + +We extend the traditional Atomic Design framework by incorporating **Ions**, inspired by Brad Frost's ideas on [Extending Atomic Design](https://bradfrost.com/blog/post/extending-atomic-design/). Ions include non-renderable components like state managers and internationalization configurations, enhancing our application's architecture. + + Our implementation of atomic design incorporates: - [**Ions**](/captain-core/client/ions): Non-renderable parts such as Jotai atoms, Day.js configurations for internationalization, and internal React hooks. These components form the underlying functionalities that support state management and theming across the app. - [**Atoms**](/captain-core/client/atoms): UI components that are the foundational building blocks of our user interface, such as buttons and input fields. diff --git a/homepage/pages/captain-core/client/_meta.json b/homepage/pages/captain-core/client/_meta.json index 60b3a56ff..0424903b7 100644 --- a/homepage/pages/captain-core/client/_meta.json +++ b/homepage/pages/captain-core/client/_meta.json @@ -1,4 +1,7 @@ { + "README": { + "display": "hidden" + }, "ions": "Ions", "atoms": "Atoms", "molecules": "Molecules", diff --git a/homepage/pages/captain-sdk/create-captain-app.mdx b/homepage/pages/captain-sdk/create-captain-app.mdx new file mode 100644 index 000000000..d2acbe0bb --- /dev/null +++ b/homepage/pages/captain-sdk/create-captain-app.mdx @@ -0,0 +1,81 @@ +import { Tabs } from 'nextra/components' + +# Create Captain App + +`create-captain-app` is a command-line utility designed to streamline the process of creating applications using Captain, an Electron app framework. It enables users to generate projects from a variety of customizable templates that can be exported as static websites, supporting a wide range of web technologies. + +## Features + +- **Versatility**: Supports multiple front-end frameworks, including Next.js, Svelte, Vue.js, and basic HTML + CSS. +- **Simplicity**: Allows easy project generation with a single command, akin to `create-react-app` or `create-next-app`. +- **Template-based**: Offers a selection of templates to kick-start your project, each customizable to meet specific needs. + +## Prerequisites + +- **Node.js**: Version 20 or later must be installed on your system. +- **Git**: Required for version control. + +## Usage + +To create a new Captain application, specify the name of your app and optionally, a template URL: + + + + ```shell + npx create-captain-app@latest [app-name] [--template 'template-url'] + ``` + + + ```shell + yarn create captain-app [app-name] [--template 'template-url'] + ``` + + + ```shell + pnpm create captain-app [app-name] [--template 'template-url'] + ``` + + + +### Default Settings + +- **App Name**: If not specified, `create-captain-app` defaults to using "my-captain-app" as the project name. +- **Template**: If no template URL is provided, the default Next.js template for Captain will be used. + +### Template Selection + +Specify any GitHub repository URL hosting a Captain-compatible template to use: + + + + ```shell + npx create-captain-app@latest my-vue-app --template https://github.com/some-user/some-captain-vue-template + ``` + + + ```shell + yarn create captain-app my-vue-app --template https://github.com/some-user/some-captain-vue-template + ``` + + + ```shell + pnpm create captain-app my-vue-app --template https://github.com/some-user/some-captain-vue-template + ``` + + + + +## Creating Custom Templates + +To develop a custom template, ensure your project aligns with Captain requirements and can be exported as a static site. Consult the [default starter app](https://github.com/blib-la/captain-starter-app) for setup guidance. + +## Configuring Your Project + +After project setup, adjust the metadata in the `captain.md` file to match your project specifics. This file uses YAML frontmatter for configuration: + +- **Preserve the Default ID**: The initial `id` matches the `packageJson.name` and is uniquely set by our CLI. We recommend keeping the default settings to avoid conflicts. + +## Building Your App + +Depending on your chosen template, begin by modifying the source files. For example, our Next.js starter app features a simple random cat generator powered by Stable Diffusion XL (SDXL). + diff --git a/homepage/pages/captain-sdk/joy.mdx b/homepage/pages/captain-sdk/joy.mdx new file mode 100644 index 000000000..93abd1170 --- /dev/null +++ b/homepage/pages/captain-sdk/joy.mdx @@ -0,0 +1,108 @@ +import { Tabs } from 'nextra/components' + +# @captn/joy + +The `@captn/joy` package provides a suite of UI components and utilities that facilitate building attractive and consistent interfaces for applications within the Captain framework. Built on top of the MUI Joy library, it extends and customizes its components to fit the specific needs of Captain applications, ensuring seamless integration and enhanced user experiences. + +## Features + +- **Theme Customization**: Extends MUI Joy's theme capabilities to include custom colors and styles specific to the Captain ecosystem. +- **App Frame**: Provides a structured container for application interfaces, integrating essential UI components such as title bars. +- **Title Bar**: Customizable title bar component with window control actions (minimize, maximize, close). +- **Custom Scrollbars**: Enhances the default scrollbar appearance for a more consistent and appealing look across platforms. + +## Installation + +To add the `@captn/joy` package to your project, run the following command: + + + + ```shell + npm install @captn/joy + ``` + + + ```shell + yarn add @captn/joy + ``` + + + ```shell + pnpm add @captn/joy + ``` + + + +## Usage + +### Theme Customization + +`@captn/joy` extends MUI Joy's theme with additional colors and utility functions for more dynamic theming capabilities. + +```javascript +import { ThemeProvider } from '@captn/joy'; + +function MyApp() { + return ( + + {/* Your component tree */} + + ); +} +``` + +### App Frame and Title Bar + +Embed your application within an `AppFrame` and include a `TitleBar` to handle window controls seamlessly and display your app title. + +```tsx +import { AppFrame, TitleBar } from '@captn/joy'; + +function MyApplication() { + return ( + My Custom App}> + {/* Content of your application */} + + ); +} +``` + +### Custom Scrollbars + +Use the `CustomScrollbars` component to apply consistent scrollbars throughout your application. + +```tsx +import { CustomScrollbars } from '@captn/joy'; + +function MyScrollableComponent() { + return ( + + {/* Scrollable content here */} + + ); +} +``` + +### Required Downloads + +Use the `RequiredDownloads` to show a note about required resources that need to be downloaded. + + +```tsx +import { RequiredDownloads } from "@captn/joy/required-downloads"; + +import models from "./models.json"; + +export default function App() { + return ( +
+ + {/* Rest of the application */} +
+ ); +} +``` + +## Versioning + +We use [SemVer](http://semver.org/) for versioning. For the versions available, see the tags on this repository. diff --git a/homepage/pages/captain-sdk/react.mdx b/homepage/pages/captain-sdk/react.mdx new file mode 100644 index 000000000..bef2ac742 --- /dev/null +++ b/homepage/pages/captain-sdk/react.mdx @@ -0,0 +1,232 @@ +import { Tabs } from 'nextra/components' + +# @captn/react + +The `@captn/react` package includes a collection of React hooks that integrate with the Captain framework, simplifying common tasks such as handling actions, managing downloads, and interacting with a vector store directly from React components. + +## Features + +- **`useCaptainAction`**: Automates the execution of actions like focus, click, and type on elements based on URL parameters. +- **`useObject`**: Provides debounced object values to prevent excessive re-renders and ensure performance optimization. +- **`useRequiredDownloads`**: Manages and tracks the status of required file downloads within an application. +- **`useSDK`**: Facilitates inter-process communication (IPC) with an SDK or server backend from React components. +- **`useVectorStore`**: Enables querying and interacting with a vector store for searching and retrieving data. + +## Installation + +To add the `@captn/react` package to your project, run the following command: + + + + ```shell + npm install @captn/react + ``` + + + ```shell + yarn add @captn/react + ``` + + + ```shell + pnpm add @captn/react + ``` + + + +## Usage + +### useCaptainAction + +This hook listens for changes in the URL's `action` query parameter and executes commands on elements identified by their `data-captainid`. + +```tsx +import { useCaptainAction } from '@captn/react'; + +// Component that uses the hook +function MyComponent() { + useCaptainAction('click:submit-button'); // Automatically clicks the button with `data-captainid="submit-button"` +} +``` + +### useObject + +Debounces an object value to prevent excessive re-renders, useful for optimizing performance in components that rely on rapidly changing state. + +```tsx +import { useObject } from '@captn/react'; + +function MyComponent({ filterOptions }) { + const debouncedFilterOptions = useObject(filterOptions); + + // Use debouncedFilterOptions for further processing or API calls +} +``` + +### useRequiredDownloads + +Manages downloads specified by the application, tracking progress and completion. + +```tsx +import { useRequiredDownloads } from '@captn/react'; + +function DownloadManager({ downloads }) { + const { + isCompleted, + isDownloading, + downloadCount, + percent, + download, + } = useRequiredDownloads(downloads); + + return ( +
+ {isDownloading &&

Downloading: {percent}% completed

} + {isCompleted ?

All downloads completed!

: } +
+ ); +} +``` + +### useResettableState + +Sets a temporary state that will reset after a given delay. + +```tsx +import { useResettableState } from '@captn/react'; +function MyComponent() { + const [count, setCountTemp] = useResettableState(0, 1000); + return ( + + ); +} +``` + +### useSaveImage + +Saves an image to disk in the appropriate folder. + +```tsx +import { useSaveImage } from "@captn/react"; + +const { saved, save } = useSaveImage({ + image: 'data:image/png;base64,...', + prompt: 'A beautiful landscape', + appId: 'myAppId', +}); +if (saved) { + console.log('Image has been saved!'); +} + +// The save function can be bound to a button click as well + +``` + +### useSDK + +Enables components to communicate with an SDK or server using IPC mechanisms, handling both messages and file operations. + +```tsx +import { useSDK } from '@captn/react'; + +function App() { + const { send, readFile, writeFile } = useSDK("myAppId", { + onMessage: message => console.log("Received message:", message), + onError: error => console.error("Error:", error), + }); + + const handleFileOperations = async () => { + const filePath = await writeFile('test.txt', 'Hello SDK!', { encoding: 'utf8' }); + const content = await readFile(filePath, 'utf8'); + console.log('File content:', content); + }; + + return ( +
+ + +
+ ); +} +``` + +### useTextToImage + +Generates an image with the text-to-image pipeline of Captain. + +```tsx +import { useTextToImage } from "@captn/react"; + +function App () { + const { generate, start, stop, isRunning, isLoading, isGenerating, image } = useTextToImage("myAppId"); + + return ( +
+ + + + {isLoading &&

Loading...

} + {image && Generated from text} +
+ ); +} +``` + +### useUnload + +Sends an IPC message when a window is unloaded/closed. + +```tsx +import { useUnload } from "@captn/react"; + +function MyApp () { + useUnload('myAppId', 'logout'); + return
My Application
; +} +``` + +### useVectorStore + +Provides real-time searching capabilities within a vector store, handling query debouncing and state management. + +```tsx +import { useVectorStore } from '@captn/react'; + +function SearchComponent({ query }) { + const { data, error } = useVectorStore(query, { score_threshold: 0.5 }); + + if (error) { + return
Error: {error.message}
; + } + + return ( + + ); +} +``` + +## Versioning + +We use [SemVer](http://semver.org/) for versioning. For the versions available, see the tags on this repository. diff --git a/homepage/pages/captain-sdk/theme.mdx b/homepage/pages/captain-sdk/theme.mdx new file mode 100644 index 000000000..1995fee5f --- /dev/null +++ b/homepage/pages/captain-sdk/theme.mdx @@ -0,0 +1,60 @@ +import { Tabs } from 'nextra/components' + +# @captn/theme + +The `@captn/theme` package is a core component of the Captain framework, designed to manage and provide consistent theming across applications. This package defines a standardized set of color palettes and utility functions to manipulate these colors for various theming purposes. + +## Features + +- **Comprehensive Color Palette**: Includes a wide range of predefined color shades for primary colors such as grey, blue, teal, and more, allowing for versatile theming options. +- **Dynamic Theme Construction**: Utilizes utility functions from `@captn/utils` to mix colors and dynamically create theme variations. +- **Type Support**: Strongly typed with TypeScript for better development experience and error checking. + +## Installation + +Install `@captn/theme` using npm: + + + + ```shell + npm install @captn/theme + ``` + + + ```shell + yarn add @captn/theme + ``` + + + ```shell + pnpm add @captn/theme + ``` + + + +## Usage + +### Importing Color Palette + +You can easily import the color palette and use it within your application to maintain consistency: + +```ts +import { palette } from '@captn/theme/palette'; + +console.log(palette.blue[500]); // Outputs: '#296BFA' +``` + +### Using Mix Colors Function + +To create custom theme shades or blend between colors dynamically: + +```ts +import { background } from '@captn/theme/palette'; + +console.log(background.light.body); // Outputs a mixed color between white and grey[50] +console.log(background.dark.body); // Outputs a mixed color between black and grey[900] +``` + +## Versioning + +We use [SemVer](http://semver.org/) for versioning. For the versions available, see the tags on this repository. diff --git a/homepage/pages/captain-sdk/utils.mdx b/homepage/pages/captain-sdk/utils.mdx new file mode 100644 index 000000000..106731b58 --- /dev/null +++ b/homepage/pages/captain-sdk/utils.mdx @@ -0,0 +1,109 @@ +import { Tabs } from 'nextra/components' + +# @captn/utils + +The `@captn/utils` package is a crucial component of the Captain suite of utilities, providing essential helper functions and constants designed to facilitate application development within the Captain ecosystem. This includes handling downloads, string manipulation, color processing, and interacting with HTML elements. + + +## Features + +- **Constants Module**: Defines various constants used throughout the Captain applications, ensuring consistency across different modules. +- **String Utilities**: Includes functions for parsing action strings, constructing URIs with custom protocols, and more. +- **Color Utilities**: Provides functions for determining optimal contrast colors, calculating luminance, converting color formats, and mixing colors. +- **Action Utilities**: Facilitates performing actions on HTML elements based on unique identifiers. +- **Type Definitions**: Utilizes TypeScript for enhanced code quality and developer experience with clear interfaces and utility types. + +## Installation + +Install `@captn/utils` using npm: + + + + ```shell + npm install @captn/utils + ``` + + + ```shell + yarn add @captn/utils + ``` + + + ```shell + pnpm add @captn/utils + ``` + + + +## Usage + +### Constants + +```ts +import { ERROR_KEY, ACTION_KEY } from '@captn/utils/constants'; + +console.log(ERROR_KEY); // Outputs: 'ERROR' +console.log(ACTION_KEY); // Outputs: 'ACTION' +``` + +### String Utilities + +**Get Action Arguments** + +```ts +import { getActionArguments } from '@captn/utils/string'; + +const action = getActionArguments("click:item-id"); +console.log(action); // Outputs: { command: 'click', captainId: 'item-id', value: undefined, options: undefined } +``` + +**Local File URI Construction** + +```ts +import { localFile } from '@captn/utils/string'; + +const fileURI = localFile('/path/to/file', { localProtocol: 'file' }); +console.log(fileURI); // Outputs: 'file:///path/to/file' +``` + +### Color Utilities + +**Get Contrast Color** + +```ts +import { getContrastColor } from '@captn/utils/color'; + +const contrastColor = getContrastColor("#ffffff"); +console.log(contrastColor); // Outputs: 'black' +``` + +**Hex to RGB Conversion** + +```ts +import { hexToRGB } from '@captn/utils/color'; + +const rgb = hexToRGB("#ff0000"); +console.log(rgb); // Outputs: [255, 0, 0] +``` + +**Mix Colors** + +```ts +import { mixColors } from '@captn/utils/color'; + +const mixedColor = mixColors("#ffffff", "#000000", 0.5); +console.log(mixedColor); // Outputs: '#808080' (a shade of gray) +``` + +### Action Utilities + +```ts +import { performElementAction } from '@captn/utils/actions'; + +// Assuming an element with `data-captainid="submit-button"` exists +performElementAction("submit-button", element => element.click()); +``` + +## Versioning + +We use [SemVer](http://semver.org/) for versioning. For the versions available, see the tags on this repository. diff --git a/package-lock.json b/package-lock.json index 3d682daf8..1e18f1a43 100644 --- a/package-lock.json +++ b/package-lock.json @@ -19,10 +19,10 @@ "sharp": "0.33.2" }, "devDependencies": { - "@captn/joy": "^0.26.2", - "@captn/react": "^0.26.2", - "@captn/theme": "^0.26.2", - "@captn/utils": "^0.26.2", + "@captn/joy": "^0.27.0", + "@captn/react": "^0.27.0", + "@captn/theme": "^0.27.0", + "@captn/utils": "^0.27.0", "@commitlint/cli": "^19.3.0", "@commitlint/config-conventional": "^19.2.2", "@dnd-kit/core": "^6.1.0", @@ -2150,14 +2150,14 @@ "license": "MIT" }, "node_modules/@captn/joy": { - "version": "0.26.2", - "resolved": "https://registry.npmjs.org/@captn/joy/-/joy-0.26.2.tgz", - "integrity": "sha512-UajLBErkPQXgrFqTDVw4HR96wlkgIFtc1YA184Gq60G6byhu2y57g3TNJcH//DOou41AIRZ7rnzPK3kw5bs4ww==", + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/@captn/joy/-/joy-0.27.0.tgz", + "integrity": "sha512-KfZMqYRKRIC7wmxVRDxh7tGlGlmS3z3V2dIeRC8Rmm0/vjyDjPWF713WjaZuGytmyFy+R51cXfs5+UqE53nsRQ==", "dev": true, "dependencies": { - "@captn/react": "^0.26.2", - "@captn/theme": "^0.26.2", - "@captn/utils": "^0.26.2", + "@captn/react": "^0.27.0", + "@captn/theme": "^0.27.0", + "@captn/utils": "^0.27.0", "@mui/base": "5.0.0-beta.37", "@mui/icons-material": "5.15.11", "@mui/material": "5.15.11", @@ -2272,12 +2272,12 @@ } }, "node_modules/@captn/react": { - "version": "0.26.2", - "resolved": "https://registry.npmjs.org/@captn/react/-/react-0.26.2.tgz", - "integrity": "sha512-6mMvr5AUpD46T7dwLM5C/0e197exQcFwMNpQlGE7X5AK/3LjsZH3J/GxpMw454cM1V132FP+OOlkafCGfg4h0g==", + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/@captn/react/-/react-0.27.0.tgz", + "integrity": "sha512-wQQyDui4j/mmGZfoWCNVDtE4RyL1/7kLaS4jJB3O6+bv4M6g9F+NQfUYbk8OdH1zsrxJr9gj6bCCkfA9x+9wtw==", "dev": true, "dependencies": { - "@captn/utils": "^0.26.2", + "@captn/utils": "^0.27.0", "dot-prop": "^8.0.2", "lodash.isequal": "^4.5.0", "use-debounce": "^10.0.0", @@ -2289,12 +2289,12 @@ } }, "node_modules/@captn/theme": { - "version": "0.26.2", - "resolved": "https://registry.npmjs.org/@captn/theme/-/theme-0.26.2.tgz", - "integrity": "sha512-DiLU/4jj72TpWaKCniGdInbDjMjsSQIvXmXXqsRj0G+mOcRk/ziCrMYpvrzkJCstv61CqjP8Tw71x1LA/0Jmcw==", + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/@captn/theme/-/theme-0.27.0.tgz", + "integrity": "sha512-D77YjSNPxozpDIagVlHQWzocexJmKfYlAxOsuHpp1yM+Fu655dtADgTgpvJrxk5+Sd9eIlgxgWDAmYFqV7mPYw==", "dev": true, "dependencies": { - "@captn/utils": "^0.26.2" + "@captn/utils": "^0.27.0" }, "peerDependencies": { "@emotion/react": ">=11.11.3", @@ -2304,9 +2304,9 @@ } }, "node_modules/@captn/utils": { - "version": "0.26.2", - "resolved": "https://registry.npmjs.org/@captn/utils/-/utils-0.26.2.tgz", - "integrity": "sha512-5nB2DRTf5q01tetcYQT6XT4/lRe3a2qlY9QtcWbT921N/V6X7Q2ROs6sKj3mpJCuR9mCop45n+G2wcAUs66ktA==", + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/@captn/utils/-/utils-0.27.0.tgz", + "integrity": "sha512-HgUujOjcr1CkmtdNJM87fN6iwrAfHHymUO8IUP5KC7qe6WvEP4TqOCwN0qUt1e+KqTedH5CWxo1Qvz0rY4n0vA==", "dev": true, "dependencies": { "@qdrant/js-client-rest": "^1.8.1", @@ -10160,6 +10160,16 @@ "node": ">=20" } }, + "node_modules/create-captain-app/node_modules/@captn/utils": { + "version": "0.26.3", + "resolved": "https://registry.npmjs.org/@captn/utils/-/utils-0.26.3.tgz", + "integrity": "sha512-90AZgTdCKd6y8EXiYMAswa0Upt1KBkCd0JSTt+z/mEKzlx7iVNBH4wWvmzKXpxEYCUDBZygAgSS5S3+GpSxanA==", + "dev": true, + "dependencies": { + "@qdrant/js-client-rest": "^1.8.1", + "type-fest": "^4.14.0" + } + }, "node_modules/create-captain-app/node_modules/argparse": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", diff --git a/package.json b/package.json index 5f7f83185..dd1aaa2f2 100644 --- a/package.json +++ b/package.json @@ -57,10 +57,10 @@ "sharp": "0.33.2" }, "devDependencies": { - "@captn/joy": "^0.26.2", - "@captn/react": "^0.26.2", - "@captn/theme": "^0.26.2", - "@captn/utils": "^0.26.2", + "@captn/joy": "^0.27.0", + "@captn/react": "^0.27.0", + "@captn/theme": "^0.27.0", + "@captn/utils": "^0.27.0", "@commitlint/cli": "^19.3.0", "@commitlint/config-conventional": "^19.2.2", "@dnd-kit/core": "^6.1.0", diff --git a/stub.md b/stub.md new file mode 100644 index 000000000..e69de29bb diff --git a/typedoc.captn-joy.json b/typedoc.captn-joy.json index 48b24c31e..abc8aa1b2 100644 --- a/typedoc.captn-joy.json +++ b/typedoc.captn-joy.json @@ -10,7 +10,7 @@ "**/*.d.ts", "node_modules/@captn/joy/dist/esm/index.js" ], - "readme": "./node_modules/@captn/joy/README.md", + "readme": "./stub.md", "entryPointStrategy": "expand", "plugin": ["typedoc-plugin-markdown"], "markedOptions": { diff --git a/typedoc.captn-react.json b/typedoc.captn-react.json index 0118c6ce2..0c205f907 100644 --- a/typedoc.captn-react.json +++ b/typedoc.captn-react.json @@ -10,7 +10,7 @@ "**/*.d.ts", "node_modules/@captn/react/dist/esm/index.js" ], - "readme": "./node_modules/@captn/react/README.md", + "readme": "./stub.md", "entryPointStrategy": "expand", "plugin": ["typedoc-plugin-markdown"], "markedOptions": { diff --git a/typedoc.captn-theme.json b/typedoc.captn-theme.json index 04c763546..430379ab2 100644 --- a/typedoc.captn-theme.json +++ b/typedoc.captn-theme.json @@ -10,7 +10,7 @@ "**/*.d.ts", "node_modules/@captn/theme/dist/esm/index.js" ], - "readme": "./node_modules/@captn/theme/README.md", + "readme": "./stub.md", "entryPointStrategy": "expand", "plugin": ["typedoc-plugin-markdown"], "markedOptions": { diff --git a/typedoc.captn-utils.json b/typedoc.captn-utils.json index c158b8c44..41d54c7b3 100644 --- a/typedoc.captn-utils.json +++ b/typedoc.captn-utils.json @@ -10,7 +10,7 @@ "**/*.d.ts", "node_modules/@captn/utils/dist/esm/index.js" ], - "readme": "./node_modules/@captn/utils/README.md", + "readme": "./stub.md", "entryPointStrategy": "expand", "plugin": ["typedoc-plugin-markdown"], "markedOptions": { diff --git a/typedoc.client-atoms.json b/typedoc.client-atoms.json index c8dd03166..211dc5edc 100644 --- a/typedoc.client-atoms.json +++ b/typedoc.client-atoms.json @@ -9,7 +9,7 @@ "**/__mocks__/**", "**/*.d.ts" ], - "readme": "./src/client/atoms/README.md", + "readme": "./stub.md", "entryPointStrategy": "expand", "plugin": ["typedoc-plugin-markdown"], "markedOptions": { diff --git a/typedoc.client-ions.json b/typedoc.client-ions.json index dbc5b0a51..bf4baf09e 100644 --- a/typedoc.client-ions.json +++ b/typedoc.client-ions.json @@ -9,7 +9,7 @@ "**/__mocks__/**", "**/*.d.ts" ], - "readme": "./src/client/ions/README.md", + "readme": "./stub.md", "entryPointStrategy": "expand", "plugin": ["typedoc-plugin-markdown"], "markedOptions": { diff --git a/typedoc.client-molecules.json b/typedoc.client-molecules.json index 66c891d57..ab0dbd295 100644 --- a/typedoc.client-molecules.json +++ b/typedoc.client-molecules.json @@ -9,7 +9,7 @@ "**/__mocks__/**", "**/*.d.ts" ], - "readme": "./src/client/molecules/README.md", + "readme": "./stub.md", "entryPointStrategy": "expand", "plugin": ["typedoc-plugin-markdown"], "markedOptions": { diff --git a/typedoc.client-organisms.json b/typedoc.client-organisms.json index ab153c4c0..b4e4b480a 100644 --- a/typedoc.client-organisms.json +++ b/typedoc.client-organisms.json @@ -9,7 +9,7 @@ "**/__mocks__/**", "**/*.d.ts" ], - "readme": "./src/client/organisms/README.md", + "readme": "./stub.md", "entryPointStrategy": "expand", "plugin": ["typedoc-plugin-markdown"], "markedOptions": { diff --git a/typedoc.create-captain-app.json b/typedoc.create-captain-app.json index 3df76dcb2..aa186ea77 100644 --- a/typedoc.create-captain-app.json +++ b/typedoc.create-captain-app.json @@ -9,7 +9,7 @@ "**/__mocks__/**", "**/*.d.ts" ], - "readme": "./node_modules/create-captain-app/README.md", + "readme": "./stub.md", "entryPointStrategy": "expand", "plugin": ["typedoc-plugin-markdown"], "markedOptions": { diff --git a/typedoc.electron.json b/typedoc.electron.json index aa43be683..e523525c5 100644 --- a/typedoc.electron.json +++ b/typedoc.electron.json @@ -9,7 +9,7 @@ "**/__mocks__/**", "**/*.d.ts" ], - "readme": "./src/electron/README.md", + "readme": "./stub.md", "entryPointStrategy": "expand", "plugin": ["typedoc-plugin-markdown"], "markedOptions": { diff --git a/typedoc.shared.json b/typedoc.shared.json index ba62c9289..276332fae 100644 --- a/typedoc.shared.json +++ b/typedoc.shared.json @@ -9,7 +9,7 @@ "**/__mocks__/**", "**/*.d.ts" ], - "readme": "./src/shared/README.md", + "readme": "./stub.md", "entryPointStrategy": "expand", "plugin": ["typedoc-plugin-markdown"], "markedOptions": {